←2009-02 2009-03 2009-04→ ↑2009 ↑all
2009-03-01
00:00:03 <ehird> #ifdef LNR
00:00:05 <ehird> are the parts that do that
00:00:11 <Random832> what if it modifies the cell it loops on?
00:00:23 * Random832 wasn't sure because of that
00:00:24 <ehird> as long as it has balanced < and > and does no IO, you can reduce it trivially
00:01:30 <oerjan> "trivially" may be a bit strong
00:01:46 <ehird> everything is trivial apart from uncomputable things
00:02:12 <oerjan> also, who killed the wiki again?
00:03:27 <oerjan> it always comes back when i complain here
00:05:15 <ais523> <invalid_user_name> What do you mean "even GNU"? GNU is the anti-unix, and have always gone 100% exactly the opposite of unix standards.
00:07:48 <ehird> ais523: it's FUD but it's not totally off..
00:08:14 <ais523> well, even the name claims not to be UNIX
00:08:28 <ais523> it's UNIX-compatible, but does seem to like doing things differently, I'm not sure if that's good or bad
00:08:33 <ais523> in fact, I suspect it's just different
00:10:03 <Random832> what exactly does GNU do differently that you can't find being done three or more different ways across all things that are called unix?
00:10:03 -!- Mony has quit ("Quit").
00:10:33 <ehird> oerjan:
00:10:34 <ais523> Random832: adding more features than the UNIX things normally have
00:10:34 <ehird> # foo.x().y();;
00:10:35 <ehird> Error: This expression has type unit but is here used with type ('a, 'b) foo
00:10:41 <ehird> so, yeah, that syntax doesn't work :(
00:10:43 <ais523> many people who admire UNIX don't like bloat
00:10:57 <Random832> such as...?
00:11:03 <ehird> Random832: ls --help
00:11:16 <ehird> compare to
00:11:17 <ehird> usage: ls [-ABCFGHLPRSTWabcdefghiklmnopqrstuwx1] [file ...]
00:11:22 <ehird> heck, true --help
00:11:24 <ehird> echo --help
00:11:27 <ehird> the list is endless
00:11:37 <Random832> that's uniformity
00:11:48 <ehird> look at their _output_
00:11:48 <Random832> (the one place that behavior violates standards is yes --help)
00:11:51 <ehird> that's bloat
00:11:54 <ehird> also, no, echo --help too
00:12:08 <Random832> no, echo isn't guaranteed to echo back if it's passed an argument beginning with a hyphen
00:12:28 <Random832> (and isn't echo a shell builtin anyway?)
00:12:44 <ais523> Random832: it's a shell builtin but also a program
00:12:54 <ais523> you can deliberately use the non-builtin version by writing /bin/echo
00:12:56 <Random832> yeah, but you can't invoke the program with just "echo"
00:13:06 <Random832> and i don't think /bin/... is guaranteed by the unix standard
00:13:28 <Random832> ("command echo" might be - i'd have to look it up)
00:14:41 <Random832> whatever. BSD is unix and their echo uses -n
00:14:50 <ehird> er, echo -n is standard UNIX
00:15:13 <Random832> http://www.opengroup.org/onlinepubs/007908799/xcu/echo.html
00:15:13 <ehird> http://www.sixwordstories.net/
00:15:29 <ehird> Random832: plan9 supports -n; so it's UNIXy enough for me
00:15:53 <Random832> yeah, well, that just means that violating the unix standard in minor ways is a unix tradition
00:22:00 -!- oerjan has quit ("leaving").
00:34:26 -!- ais523 has quit (Remote closed the connection).
01:14:03 -!- oerjan has joined.
01:32:25 -!- GreaseMonkey has joined.
01:35:38 -!- kerlo has quit (Remote closed the connection).
01:38:02 -!- kerlo has joined.
01:38:38 -!- Asztal has quit (Remote closed the connection).
01:38:43 -!- Asztal has joined.
02:08:08 <Sgeo> How TF was this one discovered? http://www.mezzacotta.net/archive.php?date=-5679392-11-17
02:09:05 <kerlo> What do you mean by "discovered"?
02:09:24 <oerjan> randomly, of course
02:09:31 <oerjan> and this time it's no joke :)
02:09:57 -!- comex has quit ("Caught sigterm, terminating...").
02:10:10 -!- comex has joined.
02:10:38 <oerjan> kerlo: it's the oldest entry in mezzacotta's hall of fame
02:11:02 <oerjan> of course traffic was higher in those days. recently the hall of fame doesn't even update daily.
02:11:21 <oerjan> so there were more people to search for it. :)
02:11:36 <oerjan> (or :/ if you look at the current state)
02:12:42 <oerjan> of course if you want to help, just hit the random or best bakes page and vote
02:13:54 <oerjan> DMM explained on forum hall of fame requires >= 50 voters and >= 80% bakedness
02:15:27 <kerlo> Hmm. I think I've suddenly figured out why most of these aren't funny.
02:15:30 <oerjan> the problem appears to be no. voters, as the whole left side > 80%
02:16:37 <oerjan> (the right side lists doesn't seem to exclude hall of fame members)
02:16:44 <oerjan> *don't
02:17:04 <oerjan> kerlo: because they're random?
02:17:13 <kerlo> Yes.
02:22:20 <oerjan> also of course even the things that _were_ funny the first time around tend to be repeated
02:22:32 <oerjan> until they no longer are
02:25:22 * oerjan votes on the upper right list too, since he's there
02:29:12 -!- Random832 has quit (Read error: 110 (Connection timed out)).
03:18:30 -!- CakeProphet has joined.
03:32:20 -!- GreaseMonkey has quit ("Client Excited").
06:07:05 -!- mikkeCA has joined.
06:07:13 -!- mikkeCA has left (?).
06:10:02 -!- Sgeo has quit ("Leaving").
06:52:08 <Asztal> wow, someone decided to go the extra mile with the extra-www thing:
06:52:10 <Asztal> http://www.www.www.www.www.www.www.www.www.www.www.www.www.www.www.www.www.m.trainingpacks.co.uk/
06:52:39 <Asztal> ok, it's just parked :(
06:53:12 <Asztal> damn wildcard dns. wonder why it shows with so many wwws in my search result though.
06:54:06 <oerjan> because someone linked to it that way?
06:55:12 <Asztal> yeah, but... still odd (there's many different ones, too)
07:09:10 <MizardX> echo -a ---
07:09:15 <MizardX> /
07:33:50 -!- olsner has joined.
07:35:48 -!- MigoMipo has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:28:12 <AnMaster> hi
09:28:51 <AnMaster> hi oerjan
09:28:52 <oerjan> !y
09:28:59 <AnMaster> eh?
09:29:18 <AnMaster> <MizardX> echo -a ---
09:29:20 <AnMaster> hm?
09:29:31 <AnMaster> that could be hard with echo
09:29:41 -!- kar8nga has joined.
09:29:43 <MizardX> {MizardX} /
09:29:43 <AnMaster> if you want to echo something beginning with - I mean
09:29:45 <oerjan> ja+seWuV !y
09:30:24 <AnMaster> oerjan, Base64?
09:30:43 <oerjan> ||e +e +ou
09:30:59 <AnMaster> MizardX, if you do want to echo (in shell) something starting with - I would recommend using printf instead. Like printf "%s" "-whatever"
09:31:00 <AnMaster> in bash
09:31:09 <AnMaster> think that is POSIX though
09:31:10 <AnMaster> not sure
09:31:32 <AnMaster> oerjan, ...
09:31:59 <oerjan> i would have assumed there was some option you could just put first
09:32:16 <AnMaster> oerjan, for echo? don't think so
09:32:28 <AnMaster> well
09:32:37 <AnMaster> depends on what exactly
09:32:41 <AnMaster> -a will print -a
09:32:46 <AnMaster> -e you can't start with
09:32:56 <AnMaster> syntax is: echo [-neE] [arg ...]
09:33:08 <AnMaster> arg can't start with -n -e or -E
09:33:29 <AnMaster> oerjan, the actual rules are rather complex
09:33:43 <AnMaster> $ echo '-e a'
09:33:43 <AnMaster> -e a
09:33:46 <AnMaster> $ echo '-eE'
09:33:48 <AnMaster>
09:34:06 <AnMaster> (no space really there, but can't send empty line on irc)
09:34:15 <AnMaster> $ echo -- '-eE'
09:34:15 <AnMaster> -- -eE
09:34:42 <oklopol> okokokokokokokokoko
09:35:12 <psygnisfive> oko!
09:35:20 <oklopol> ;)
09:35:26 <psygnisfive> ;*
09:46:54 <AnMaster> Happy Australian Mailman day!
09:47:11 <AnMaster> actually not Australian, more like US one
09:48:45 <fizzie> Well, that's for bash's echo. POSIX echo says about options: "The echo utility shall not recognize the '--' argument ...; '--' shall be recognized as a string operand. Implementations shall not support any options."
09:50:08 <fizzie> Specifically it says about the string operans: "If any operand is -n, it shall be treated as a string, not an option." And the escape sequences should be recognized by default.
09:50:15 <fizzie> No-one seems to be doing echo like that, though.
09:53:12 <AnMaster> true
09:53:13 <oerjan> ^echo hi
09:53:15 <fungot> hi hi
09:53:22 <AnMaster> fizzie, bash have some option to do it iirc
09:53:30 <AnMaster> either compile time or shopt/set
09:53:33 <AnMaster> forgot
09:53:38 <AnMaster> forgot which*
09:54:06 <fizzie> SunOS 5.10 echo(1):
09:54:10 <fizzie> "sh's echo, ksh's echo, and /usr/bin/echo understand the back-slashed escape characters, except that sh's echo does not understand \a as the alert character. In addition, ksh's echo does not have an -n option. sh's echo and /usr/bin/echo have an -n option if the SYSV3 environment variable is set.
09:54:17 <fizzie> csh's echo and /usr/ucb/echo, on the other hand, have an -n option, but do not understand the back-slashed escape characters. sh and ksh determine whether /usr/ucb/echo is found first in the PATH and, if so, they adapt the behavior of the echo builtin to match /usr/ucb/echo".
09:54:21 <fizzie> Echoing is surprisingly complicated.
09:54:42 <AnMaster> heh
09:54:46 <AnMaster> at least on sunos yes
09:55:03 <AnMaster> what about solaris? iirc sunos is rather old
09:55:12 <fizzie> SunOS 5.10 == Solaris 10.
09:55:24 <AnMaster> ah
09:56:04 <fizzie> I guess officially I shouldn't say "SunOS" at all, it's just that the page footer of the man page says "SunOS 5.10 Last change: 17 Jul 2006 1".
09:56:15 <AnMaster> heh
09:56:27 <oerjan> ^ul ((Ultrix )S:^):^
09:56:27 <fungot> Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ultrix Ul ...too much output!
09:57:09 * oerjan suddenly wonders why he did that.
09:57:11 <AnMaster> ^ul (::^):^
09:57:12 <fungot> ...too much stack!
09:57:21 <AnMaster> oerjan, I wonder too
09:57:36 <AnMaster> fizzie, what instructions in STRN does fungot use?
09:57:37 <fungot> AnMaster: i'd have hope only if terry gilliam directed it. then write the traditional examples; hello world, factorial, you say sure, why not?
09:58:07 <oerjan> the monty python bot!
09:58:41 <AnMaster> "you say sure" is a "traditional example"?
09:59:22 <fizzie> AnMaster: Hmm. I think at least A, C, F, G, L, N, P, S and V; but maybe not all of them very frequently.
09:59:36 <AnMaster> fizzie ah I recently improved N performance
10:00:29 <AnMaster> when does IWC update now again? wasn't it 11:00?
10:00:45 <AnMaster> or was it 12:00?
10:00:53 <AnMaster> oerjan, ^
10:01:19 <oerjan> 11:08 or 11:11
10:01:26 <oerjan> or thereabouts
10:01:40 <AnMaster> oerjan, someone not using ntp?
10:01:56 <oerjan> no, i just don't quite remember
10:02:07 <AnMaster> strange point of time
10:02:09 <oerjan> 11:11
10:02:25 <oerjan> "at 03:11 Pacific Time, if you're curious - and no, no reason"
10:02:40 <AnMaster> oerjan, where? I did look at faq just a moment ago...
10:02:50 <AnMaster> oh I missed it...
10:02:52 <AnMaster> duh
10:04:14 <fizzie> N is called a number of times for each IRC message (because L with longer-than-the-string-itself argument wasn't so well-defined), but I don't think that's a performance-critical code path. In fact I don't think the whole bot is very performance-critical, since even the babble-generator response time is quite reasonable. The underload interp uses N in almost every instruction (sometimes twice), so there it might help.
10:04:41 <AnMaster> mhm
10:05:31 <AnMaster> fizzie, it also slightly altered how N works on empty stack (still following the spec though, but that doesn't mean much for RCS fingerprints...)
10:06:02 <AnMaster> since now it doesn't actually pop the string at all, just scan the stack and push the length
10:07:15 <AnMaster> a few other instructions that popped strings are also faster now thanks to stack_pop_string returning string length (thus avoiding a call to strlen())
10:08:05 <AnMaster> also I don't recommend using STRN on any data that doesn't fit in an unsigned byte for now, I have plans to fix that soon (long standing issue this)
10:08:55 <AnMaster> I mean, avoid out of byte-range values in the cells you operate on with STRN
10:09:23 <fizzie> I don't think my strings have any strange values, since it's mostly just IRC inputs/outputs anyway.
10:10:12 <AnMaster> it is possible with some values popped strings may contain more than one 0 byte due to the conversion from int32_t*/int64_t* to unsigned char*
10:10:17 <AnMaster> atm
10:10:31 <AnMaster> I'm writing a fungecell string library atm to avoid this
10:11:16 <AnMaster> fizzie, btw have you ever looked at the glibc strlen()? It does some crazy stuff
10:11:28 <AnMaster> like scanning the string one word at a time
10:12:02 <fizzie> Actually, I think I've seen something like that in some bit-tricks page. I don't think I've specifically looked at glibc strlen, though.
10:12:42 <fizzie> ARM has some opcodes to help dealing with "32-bit word which is actually part of a string of octets" data, IIRC.
10:13:55 <AnMaster> heh
10:14:16 <AnMaster> fizzie, glibc was doing some weird masking tricks and such
10:14:41 <AnMaster> http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/string/strlen.c?rev=1.1.2.1&content-type=text/plain&cvsroot=glibc
10:15:06 <fizzie> Actually I think it was the SuperH arch and not ARM that I was remembering.
10:16:02 <AnMaster> fizzie, it seems strange, with false positives...
10:17:28 <AnMaster> it could have been done even better in asm (strlen that is)
10:19:03 <AnMaster> fizzie, which is actually done for x86:
10:19:05 <AnMaster> http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/i386/strlen.c?rev=1.8&content-type=text/plain&cvsroot=glibc
10:20:04 <fizzie> Yes, it was SuperH. There's at least CMP/STR which is true (well, sets T flag to 1) when two registers have at least one equivalent byte; so 0x11223344 and 0x00220000 would compare to true. It can be used to do strlen like that by using 0 as the other operand; that way it does "set T if there's a null byte in this word".
10:21:05 <AnMaster> http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/x86_64/strlen.S?rev=1.2&content-type=text/plain&cvsroot=glibc
10:21:37 <AnMaster> fizzie, if glibc supports superh then it is probably there
10:22:12 <AnMaster> http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/sh/strlen.S?rev=1.3&content-type=text/plain&cvsroot=glibc <-- maybe sh is superh?
10:22:24 <fizzie> Yes, I just found that.
10:23:08 <fizzie> mov #0, r3 ... cmp/str r3, r1; looks like they do it like that.
10:23:57 <fizzie> "bf/s 2b" does a delayed branch, so it actually executes that "add #4, r2" under it before branching.
10:24:20 <AnMaster> fizzie, well it isn't odd that strlen() is optimised...
10:25:33 -!- oerjan has quit ("Wait, IFPOD has net access?").
10:31:42 <AnMaster> fizzie, http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/x86_64/memcpy.S?rev=1.4.2.3&content-type=text/plain&cvsroot=glibc is crazy
10:32:39 <fizzie> Heh, that's quite a lot of code for different-sized memory blocks.
10:32:45 <AnMaster> indeed
10:34:09 <AnMaster> http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/x86_64/memset.S?rev=1.2.2.7&content-type=text/plain&cvsroot=glibc
10:34:10 <AnMaster> wth
10:34:13 <AnMaster> what is all that
10:34:17 <AnMaster> .quad L(Got0), L(P1Q0), L(P2Q0), L(P3Q0)
10:34:17 <AnMaster> .quad L(P4Q0), L(P5Q0), L(P6Q0), L(P7Q0)
10:34:17 <AnMaster> for
10:35:04 <AnMaster> this meset is a lot of unrolled loops it seems
10:36:22 <AnMaster> and SSE stuff
10:38:29 -!- lifthrasiir has joined.
10:39:52 <fizzie> Kernel's arch/x86/lib/memset_64.S is a lot simpler. I don't think I happen to have a copy of gcc sources, but doesn't it also have builtin memset?
10:40:04 <AnMaster> fizzie, hm...
10:40:43 <AnMaster> fizzie, those __builtins in gcc are crazier iirc, they expand to inline asm optimised for this specific usage case
10:40:52 <AnMaster> most of the time
10:40:59 <AnMaster> sometimes they end up in libgcc.so.1 instead
10:42:14 <AnMaster> glibc's memset need to check for alignment, while the builtin gcc memset at least sometimes could avoid that
10:44:00 <AnMaster> fizzie, also sometimes a loop could be even more effective: auto vectorisation and auto parallelisation
10:44:13 <AnMaster> don't know if gcc supports the latter yet
10:44:17 <AnMaster> icc does
10:46:41 -!- Judofyr has joined.
11:02:25 -!- FireFly has joined.
11:39:03 -!- BeholdMyGlory has joined.
11:47:27 -!- Hiato has joined.
11:47:39 -!- Hiato has quit (Client Quit).
11:55:57 -!- FireFly has quit ("---").
12:07:12 -!- kar8nga has quit (Remote closed the connection).
12:13:18 -!- BeholdMyGlory has quit (Remote closed the connection).
12:17:26 -!- BeholdMyGlory has joined.
12:32:58 -!- kar8nga has joined.
13:00:36 -!- kar8nga has quit (Remote closed the connection).
13:49:02 <AnMaster> I just found that http://www.google.com/codesearch is actually useful heh
13:50:02 <AnMaster> even better than grepping in a local copy in fact...
13:59:16 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
14:00:55 -!- Judofyr has joined.
14:12:25 -!- ais523 has joined.
14:26:26 <AnMaster> ais523, there?
14:26:34 <ais523> yes
14:26:44 <AnMaster> is this well defined behaviour or not: ip->delta = (fungeVector) { ip->delta.y, -ip->delta.x };
14:26:51 <AnMaster> I'm swapping x and y
14:26:55 <ais523> that's well-defined
14:27:07 <AnMaster> ais523, really? it won't end up reading after writing part or such?
14:27:37 <ais523> there's a general rule that you can't read and write the same variable between sequence points, but there's an exception
14:27:40 <ais523> and you hit the exception
14:27:40 -!- Judofyr has quit (Connection timed out).
14:27:46 <AnMaster> ais523, oh what is this exception?
14:27:53 <ais523> the exception is that you are allowed to if the read is necessary to calculate what's being written
14:28:02 <ais523> i.e. that the new value depends on the old value
14:28:18 <ais523> it's why statements like i = i + 1; are legal
14:28:19 <AnMaster> oh you mean like i = i+2 ?
14:28:23 <AnMaster> right
14:28:28 <AnMaster> ais523, but does this apply in this case?
14:28:33 <ais523> yes, it does
14:28:33 <AnMaster> considering it is part of the struct
14:28:37 <AnMaster> hm ok
14:31:34 -!- Judofyr has joined.
14:33:13 <AnMaster> ais523, what if I have different pointer that alias each other
14:33:17 <AnMaster> is it will defined then too?
14:33:27 <AnMaster> same data type of course
14:35:49 <AnMaster> ais523, ?
14:35:59 <AnMaster> no ping reply.... guess he timed out
14:37:19 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
14:42:44 -!- ais523 has joined.
14:50:30 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
14:53:55 <ehird> AnMaster:
14:54:04 <ehird> echo -n '-n
14:54:05 <ehird> '
14:54:25 <AnMaster> ehird, nice one
14:54:45 <ehird> brb, /cycling to get client synced up with names list
14:54:45 -!- ehird has left (?).
14:54:46 <AnMaster> echo -n $'-n\n'
14:54:48 -!- ehird has joined.
14:54:49 <AnMaster> echo -n $'-n\n'
14:54:52 <AnMaster> that should work too
14:54:53 <ehird> hmm
14:54:57 <ehird> ais523 has joined (n=ais523@147.188.254.121)
14:54:57 <ehird> 14:50 3 has left (Read error: 104 (Connection reset by peer))
14:54:59 <ehird> ok, that's a bug
14:55:08 <AnMaster> err
14:55:09 <AnMaster> what?
14:55:14 <ehird> it's meant to be ais523 has left
14:55:19 <AnMaster> he quit
14:55:20 <ehird> my bouncer-quicklog-timestamp-regex is fscked up
14:55:22 <AnMaster> due to read error
14:55:24 <AnMaster> not left
14:55:30 <ehird> my bouncer-quicklog-timestamp-regex is fscked up
14:55:31 <AnMaster> * ais523 has quit (Read error: 104 (Connection reset by peer))
14:55:31 <AnMaster> * ais523 (n=ais523@147.188.254.121) has joined #esoteric
14:55:31 <AnMaster> * ais523 has quit (Read error: 104 (Connection reset by peer))
14:55:34 <AnMaster> ah
14:55:34 <AnMaster> right
14:55:36 <ehird> yes, it should say left IRC
14:55:42 <ehird> which is what limechat says for quit
14:55:50 <ehird> and also, um, ais523, not 3
14:55:52 * ehird fixes
14:55:55 <AnMaster> indeed
14:56:07 <ehird> elsif body =~ /^([^ ])+ has left(?: IRC)? \(#{BOUNCER_TIME_REGEXP}(.+)\)$/
14:56:11 <ehird> where BOUNCER_TIME_REGEXP = /\[(\d\d:\d\d):\d\d\] /
14:56:14 <ehird> wonder what the issue is
14:56:50 <AnMaster> what regex flavour?
14:57:02 <ehird> Ruby :P
14:57:07 <ehird> it's perl-esque
14:57:10 <ehird> with some python stuff
14:57:20 <ehird> I think 1.9 uses oniguruma
14:57:28 <ehird> http://www.geocities.jp/kosako3/oniguruma/
14:57:47 <AnMaster> geocities...
14:57:55 <ehird> it's common in japan
14:58:08 <ehird> they all use a weird hosted blog software called hatena diary, too
14:58:22 <AnMaster> really? makes me think of 1997 websites..
14:58:46 <ehird> japan's internetscape is weird :P
14:59:02 <ehird> ha, I was right, if you go to the root of that guy's homepage
14:59:03 <ehird> http://d.hatena.ne.jp/kkos/
14:59:04 <ehird> hatena diary
14:59:56 <AnMaster> that is a different url...
15:00:08 <ehird> http://www.geocities.jp/kosako3/
15:00:10 <ehird> links to that url
15:00:17 <ehird> hatena diary is a hosted service
15:00:19 <ehird> (it's on their site)
15:00:29 <ehird> every japanese programmer uses it, I swear
15:00:44 <AnMaster> k
15:01:00 <ehird> anyway hm maybe it is not ?:
15:01:06 <AnMaster> so why is it "weird"?
15:01:19 <AnMaster> I mean http://d.hatena.ne.jp/kkos/ doesn't look very weird
15:01:29 <AnMaster> slightly wordpressy in fact
15:01:39 <ehird> AnMaster: i just mean
15:01:42 <ehird> the general landscape of japan's internet
15:01:46 <AnMaster> ah right
15:01:47 <ehird> geocities is common and not retro at all
15:01:56 <ehird> everyone under the sun uses one odd blog service
15:02:50 <ehird> (?:re)
15:02:51 <ehird> Makes re into a group without generating backreferences.
15:02:54 <ehird> —pickaxe
15:02:56 <ehird> hm, so that is right
15:03:14 <ehird> ohh
15:03:18 <ehird> hm no
15:04:40 <ehird> well let's hope that workd
15:04:42 <ehird> worked
15:05:04 -!- ais523 has joined.
15:06:13 <AnMaster> <AnMaster> ais523, what if I have different pointer that alias each other
15:06:13 <AnMaster> <AnMaster> is it will defined then too?
15:06:17 <AnMaster> ais523, I guess "no"
15:07:07 <ais523> I don't think you have guarantees with aliasing
15:07:14 <ais523> not sure
15:07:17 <ehird> hi ais523
15:07:18 <AnMaster> hm
15:07:22 <ehird> you found a bug!
15:07:50 <ais523> you definitely don't if they're marked restrict, not sure about the unrestricted case
15:07:50 <ais523> and hi ehird
15:07:50 <ais523> also, which bug?
15:08:07 <AnMaster> ehird, ask for oerjan's fly swatter, fly swatters tend to work ok on most bugs too
15:08:29 <ehird> ais523: you came up as 'HH:MM 3 left (...)'
15:08:35 <ehird> instead of 'HH:MM ais523 left IRC (...)'
15:08:38 <ehird> due to a regex bug
15:09:05 <AnMaster> ehird, so what is the corrected regex?
15:09:15 <ehird> elsif body =~ /^([^ ])+ has left( IRC)? \(#{BOUNCER_TIME_REGEXP}(.+)\)$/
15:09:18 <ehird> I am not certain it will work
15:10:04 <AnMaster> ehird, some regex flavours allows naming the regex groups
15:10:16 <ehird> not ruby's unfortunately
15:10:56 <AnMaster> ehird, then I would not use "( IRC)?" but rather two different regexes, one for IRC and one without IRC
15:11:16 <ehird> that's duplication
15:11:18 <AnMaster> doesn't the numbers change if there is any " IRC" to match?
15:11:24 <ehird> no
15:11:24 <AnMaster> isn't any*
15:11:27 <ehird> it just becomes nil
15:11:31 <ehird> which stringifies to ""
15:11:57 <AnMaster> ehird, hm so how does it work in groups like: (a([a-z]+))*
15:12:07 <AnMaster> which number does the inner group get ;P
15:12:11 <ehird> 2.
15:12:19 <AnMaster> ehird, and if it repeats ?
15:12:33 <AnMaster> like:
15:12:45 <ehird> you can't repeat groups
15:12:48 <ehird> irb(main):001:0> "aaa" =~ /(a)+/
15:12:48 <ehird> => 0
15:12:49 <ehird> irb(main):002:0> $1
15:12:51 <ehird> => "a"
15:12:53 <ehird> irb(main):003:0> $2
15:12:55 <ehird> => nil
15:12:57 <AnMaster> (a([0-9]+) ?)* a0238 a32a84
15:12:57 <ehird> same in most regex flavours
15:13:08 <AnMaster> ehird, iirc some flavours allows repeating
15:13:11 <ehird> well you can repeat them
15:13:15 <ehird> you just don't get the group
15:13:25 <AnMaster> I mean, so you *do* get the group
15:13:46 <ehird> ais523: do many people use ocaml's OOP?
15:13:49 <ehird> I haven't seen it used once
15:14:03 <AnMaster> ehird, anyway the right way to solve this is writing a lexer of course
15:14:06 <ehird> hmm, i just saw it
15:14:08 <ehird> first time
15:14:13 <ehird> AnMaster: har har
15:14:19 <AnMaster> also why are you parsing elsif body =~ /^([^ ])+ has left( IRC)? \(#{BOUNCER_TIME_REGEXP}(.+)\)$/ instead of parsing the raw messages from the bouncer?
15:14:33 <ais523> I don't know
15:14:33 <ais523> I'm not exactly an OCaml expert...
15:14:37 <AnMaster> I guess they would be a lot easier to match
15:14:42 <ehird> AnMaster: because I can't get to that
15:14:49 <ehird> by the time it gets parsed into the timestamp, it's parsed the rest
15:14:57 <ehird> this is in Log#new
15:15:01 <ehird> ais523: kay :P
15:15:09 <AnMaster> ehird, even xchat allows that... and xchat's scripting support sucks
15:15:19 <AnMaster> of course ERC manages it fine
15:15:22 <ehird> yes, I _can_ do it
15:15:26 <ehird> but it's not supported
15:15:29 <ehird> well, it is
15:15:31 <ehird> look
15:15:33 <ehird> this way is simpler
15:15:33 <AnMaster> err
15:15:35 <AnMaster> k
15:15:40 <ehird> and I'd prefer not to mess with the direct messages from my bouncer
15:15:45 <ehird> just how they're displayed & logged
15:15:51 <ehird> this isn't a script
15:15:54 <ehird> I'm just modifying LimeChat
15:16:01 <ehird> (/Applications/LimeChat.app/Contents/Resources/log.rb)
15:16:03 <AnMaster> hm ok
15:16:18 <AnMaster> ehird, so when you upgrade LimeChat you have to do it all again?
15:16:26 <AnMaster> fun
15:16:27 <AnMaster> :P
15:16:33 <ehird> I didn't have to change or remove any lines
15:16:34 <ehird> just add a few
15:16:53 <AnMaster> even so. Using existing scripting hooks tends to be better when possible
15:16:55 <ehird> they only depend on @nick, @line_type, @body and @time
15:17:00 <ehird> AnMaster: there isn't any. also, it took 5 minutes.
15:17:12 <ehird> a script would probably require extra cruft to hook into that.
15:17:12 <AnMaster> of course there is a raw hook I can use for almost everything in ERC...
15:17:22 <ehird> does ERC make you toast in the morning
15:17:30 <ehird> ERC ERC ERC ERC ERC PSOX PSOX PSOX PSOX PSOX
15:17:32 <AnMaster> ehird, no, why would it be in ERC?
15:17:37 <AnMaster> M-x toast
15:17:41 <ehird> why would ERC be in emacs, a text editor
15:17:50 <AnMaster> ehird, why would doctor be in emacs
15:18:20 <AnMaster> ehird, emacs isn't just a text editor. It is an IDE.
15:18:50 <ehird> why would ERC be in emacs, an integrated development environment
15:18:56 <AnMaster> Integrated Digital Environment
15:18:59 <AnMaster> ...
15:18:59 <ehird> answer: emacs is a bloated pos
15:19:13 <AnMaster> I didn't restrict myself to Development...
15:19:40 <AnMaster> ehird, also what about freenode access? Very important for development
15:20:29 <AnMaster> idea: hooks that allows you to connect to freenode and join the correct channel based on current buffer mode
15:20:36 <AnMaster> like ##c or #python or such
15:20:47 <AnMaster> ehird, what do you think?
15:20:54 <AnMaster> and ais523 too ^
15:21:21 <ais523> AnMaster: ridiculous
15:21:25 <ais523> but I like it anyway
15:21:46 <AnMaster> ais523, well I could write a elisp script for it I guess
15:21:54 <AnMaster> but I'm too lazy
15:23:27 <ehird> AnMaster:
15:23:31 <AnMaster> yes?
15:23:40 <ehird> <AnMaster> Integrated Digital Environment
15:23:42 <ehird> <AnMaster> I didn't restrict myself to Development...
15:23:44 <ehird> http://xkcd.com/169/
15:23:52 * AnMaster looks
15:24:51 <AnMaster> ehird, I forgot how that joke was supposed to make sense
15:25:24 <AnMaster> $ grep -E 'gry$' /usr/share/dict/words
15:25:24 <AnMaster> aggry
15:25:24 <AnMaster> ahungry
15:25:24 <AnMaster> angry
15:25:24 <AnMaster> anhungry
15:25:24 <AnMaster> hungry
15:25:26 <AnMaster> unangry
15:25:28 <AnMaster> hm
15:25:39 <AnMaster> anhungry?
15:25:40 <AnMaster> wth is that
15:26:01 <ais523> and "meagry" is meant to be the third
15:28:05 <AnMaster> ais523, the answer in xkcd still doesn't make sense
15:28:09 <AnMaster> no matter how I read it
15:34:25 <ehird> aha, ocaml message calls are #
15:34:26 <ehird> not .
15:35:21 <AnMaster> fun
15:35:35 <ehird> dunno if you can call methods on aclass though
15:35:36 <ehird> hm
15:39:15 -!- oerjan has joined.
15:39:55 <AnMaster> hi oerjan e
15:39:56 <AnMaster> err
15:39:58 <AnMaster> hi oerjan*
15:40:55 <oerjan> ^ul (oerja)S((n)S:^):^
15:40:56 <fungot> oerjannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ...too much output!
15:48:08 -!- jix has joined.
15:51:40 <oerjan> <AnMaster> ais523, the answer in xkcd still doesn't make sense
15:51:55 <oerjan> the point is that the teller _botched_ the joke
15:51:59 <AnMaster> aha
15:53:09 <oerjan> also, that it's a well-known joke that is botched as often as not, leading to people actually thinking there should be a third word ending in -gry
15:53:46 <oerjan> and that people who botch jokes that badly deserve to have their hands cut off ;/
15:56:36 <kerlo> My /usr/share/dict/words only has angry and hungry.
15:56:57 <kerlo> And by "my", I mean someone else's.
15:57:15 <kerlo> Mine also only has angry and hungry.
15:57:20 <AnMaster> #include_next <limits.h>
15:57:22 <AnMaster> wth is that?
15:57:26 <AnMaster> found in internal GCC headers
15:57:28 <ais523> AnMaster: it's system headers
15:57:35 <ais523> they're allowed to do weird nonstandard things
15:57:39 <AnMaster> ais523, non-standard thing yeah
15:57:46 <AnMaster> ais523, but what does it mean?
15:57:50 <ais523> I think that it tells gcc to include the limits.h that's found in the search path after this limits.h
15:57:51 <AnMaster> you worked on GCC...
15:57:55 <ais523> as in, include the second choice
15:58:05 <AnMaster> that's strange
15:58:07 <AnMaster> the file is syslimits.h
15:58:10 <AnMaster> not limits.h
15:58:31 <AnMaster> there is a limits.h there too though
15:58:42 <AnMaster> so I guess "not in this directory" rather
15:59:49 <AnMaster> ais523, I'm also pretty sure I saw #add_system somewhere to add a system include path.. might not have been in GCC
16:01:17 <MizardX> ^ul ((.)S)((X)S::^)((d)S::^)((r)S::^)((a)S::^)((z)S::^)((i)S::^)((M)S::^)^
16:01:17 <fungot> Miiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ...too much output!
16:02:44 <ehird> hmm, okay, I think I've figured out ocaml's object sysem
16:02:56 <ehird> main problem with obj-c s that everything is ('a option), i.e. any object can be nil
16:02:59 <ehird> which is irritating for this
16:03:21 <ehird> wonder if gen_bridge_metadata can analyse that
16:06:41 * ehird digs through 3415 lines of automatically generated xml
16:09:19 <ais523> this game I installed yesterday has a Brainfuck-based level
16:09:41 <ais523> it has levels based on all sorts of things, it seems there must be someone who knows brainfuck who submitted a level
16:11:27 <ehird> what game?
16:11:32 <ais523> Enigma
16:11:39 <ehird> ha, I guessed Enigma
16:11:42 <ehird> i love that game
16:11:45 <ais523> you know it?
16:11:48 <ehird> yep
16:11:58 <ehird> i think it's the first game I played on linux, years ago
16:12:10 <ais523> level 103 in the Enigma 1.00 new pack
16:13:10 <ehird> I'll reinstall it
16:13:48 -!- jix_ has joined.
16:14:51 <ehird> ais523: 1.00 not 1.01?
16:15:12 <ais523> yes
16:15:22 <ais523> there's a 1.01 new pack too, but the BF level is in the 1.00 pack
16:15:27 <ehird> ah
16:15:57 <ehird> <method type='v24@0:4@8@12@16@20' selector='parser:foundExternalEntityDeclarationWithName:publicID:systemID:'/>
16:16:01 <ehird> ^ most helpful xml evar
16:17:35 <ehird> print 23
16:17:35 <ehird> genius
16:18:12 <ehird> hmm
16:18:15 <ehird> wow, this will be hard :D
16:19:00 <ehird> ais523: it actually interprets the BF..
16:20:02 <ais523> yes
16:20:42 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
16:20:42 <ehird> #113 is evil
16:20:58 <ais523> oh, most of them are evil
16:21:15 <ais523> but yes, #113 has several layers of evil
16:22:54 <ais523> I'm not very good at Enigma
16:23:00 <ais523> I think it should have more easier levels for me to feel good about
16:23:10 <ehird> that was pretty much my thoughts when I played it
16:23:15 <ais523> also, I don't really have the concentration to solve most of the harder puzzle levels
16:23:17 <ehird> I'm good at the Meditation levels, but that's it
16:23:29 <ais523> nor the dexterity to solve most of the harder dexterity levels
16:24:19 <ais523> by the way, some of the levels can be solved very quickly by moving very fast at random rather than trying to be intelligent
16:24:32 <ehird> haha
16:24:55 <kerlo> "No Meditation" is an interesting level.
16:25:14 <kerlo> Can Enigma be controlled with a joystick?
16:25:20 <ehird> check the options
16:25:29 <ais523> no idea
16:25:34 <ais523> kerlo: you know it too?
16:25:37 <ais523> wow, it really gets around
16:25:37 <kerlo> Yep.
16:26:18 * kerlo apt-gets Enigma
16:26:19 <ehird> anmaster knows it too
16:26:21 <oklopol> hard puzzle levels?
16:26:24 <ehird> oklopol: yes.
16:26:27 * oklopol is intrigued
16:26:30 <ehird> you control a ball with your mouse.
16:26:35 <ehird> and you have to.. stuff.
16:26:41 <ehird> the basic ones are just matching up colour things.
16:26:45 <ehird> but it gets a lot harder.
16:26:56 <ehird> oklopol: http://www.nongnu.org/enigma/
16:26:58 <AnMaster> <ehird> anmaster knows it too <-- yes enigma is nice
16:27:06 <ehird> also, I propose we designate Enigma as the official game of #esoteric
16:27:09 <ehird> considering this
16:27:12 <AnMaster> err no
16:27:13 <kerlo> I think I know it from its inclusion in a certain Linux distribution.
16:27:21 <AnMaster> ehird, simutrans?
16:27:26 <ehird> wit
16:27:26 <ehird> wut
16:27:28 <AnMaster> iirc GregorR also play it
16:27:51 <AnMaster> ehird, also what about freeciv?
16:27:56 <AnMaster> don't you love it?
16:27:58 <ehird> no.
16:28:02 <AnMaster> I do
16:28:07 <AnMaster> the action!
16:28:10 <ehird> also, give evidence that a lot of #esoteric like simutrans or freeciv and I'll reconsider
16:28:16 <AnMaster> ehird, and both ais523 and me plays nethack
16:28:17 <ehird> but enigma is esoteric and we have a lot of people here liking it
16:28:20 <AnMaster> + it is geeky
16:28:23 <kerlo> Ooh, now I have to apt-get freeciv as well.
16:28:24 <ehird> that's two people
16:28:33 <ehird> we have 4 for enigma, atm, + maybe oklopol
16:28:52 <AnMaster> I'm against enigma, I haven't actually played it for about 2 months
16:28:53 <oklopol> we'll see.
16:28:57 <AnMaster> may be due to all the SIGSEGV
16:28:59 <AnMaster> ...
16:29:05 <kerlo> Huh. Do I want SDL or GTK?
16:29:07 <AnMaster> it manages to crash randomly
16:29:10 <ehird> kerlo: sdl.
16:29:19 <AnMaster> kerlo, they are two different things...
16:29:30 <AnMaster> it makes no sense to replace them with each other
16:29:30 <ehird> thanks AnMaster, I'm sure we'd never have guessed
16:29:43 <ehird> presumably there's freeciv-{sdl,gtk}
16:29:43 <kerlo> There's an SDL version and a GTK version.
16:29:44 <ehird> duh
16:30:00 <AnMaster> ehird, one is a GUI toolkit, the other is a media library. sure some feature may be common, but most aren't
16:30:14 <ehird> sigh
16:30:18 <AnMaster> for example sdl-sound? Nothing like it in gtk iirc
16:30:20 <ehird> learn to read, please...
16:30:24 <AnMaster> yes
16:30:30 <AnMaster> and I said: That makes no sense
16:30:37 <ais523> kerlo: it's unlikely to make a whole lot of difference
16:30:41 <ehird> 16:29 kerlo: There's an SDL version and a GTK version.
16:30:43 <AnMaster> even if it is like that it still makes no sense
16:30:43 <ehird> OF THE GAME
16:30:47 <ehird> OF THE GAME YOU IDIOT! Aaaargh
16:30:49 <ais523> AnMaster: obviously it's referring to which toolkit is used to render the graphics
16:30:50 <ehird> of course it makes sense!!
16:30:56 <AnMaster> ehird, no
16:30:59 <AnMaster> sure there is
16:31:01 <ais523> because SDL and GTK might be different things
16:31:02 <kerlo> Finally, I must install NetHack.
16:31:03 <AnMaster> but it doesn't make sense
16:31:10 <AnMaster> hm
16:31:11 <ais523> but what they both have in common is that they can both be used to render graphics
16:31:12 <ehird> yes it does
16:31:25 <kerlo> Oh great, now there are four of them.
16:31:28 <AnMaster> kerlo, flightgear (flight simulator, no shooting, just very geeky)
16:31:31 <AnMaster> I use it
16:31:43 <ehird> flight simulators are the epitome of boring
16:31:46 <kerlo> X11, qt, LISP, or console?
16:31:47 <AnMaster> but I doubt anyone without a high end GPU would like it
16:31:53 <ehird> kerlo: nethack: console
16:31:56 <ais523> not qt, it's broken
16:31:58 <AnMaster> kerlo, lisp? nethack-lisp? No!
16:32:02 <ehird> ...
16:32:02 <AnMaster> console is best
16:32:03 <ehird> no wait
16:32:03 <ais523> not lisp as that only works with the emacs nethack client
16:32:03 <ehird> YES
16:32:05 <ehird> nethack lisp
16:32:07 -!- jix has quit (Read error: 113 (No route to host)).
16:32:07 <ehird> that sounds-
16:32:09 <ehird> ais523: oh.
16:32:12 <ehird> i was getting _all excited_
16:32:15 <AnMaster> ehird, nethack-el
16:32:19 <AnMaster> I heard about that
16:32:22 <AnMaster> but never "lisp"
16:32:24 <ais523> installing x11 installs both the graphical and console versions
16:32:25 <kerlo> Does the X11 one include everything the console one does?
16:32:26 <AnMaster> that is like very different
16:32:27 <ais523> or you can just install console
16:32:31 <ehird> kerlo: X11 one is useless
16:32:34 <ehird> so just install console
16:32:40 <kerlo> I'm going with X11. :-P
16:32:40 <ais523> the graphical one isn't all that good, thoguh
16:32:50 <AnMaster> indeed
16:32:50 <ehird> graphical nethack is stupid
16:32:52 <ehird> defeats the point
16:32:57 <ehird> kerlo: you're just wasting diskspace
16:33:04 <AnMaster> text based nethack == more realism
16:33:09 <AnMaster> even if it sounds strange
16:33:22 <AnMaster> but they should start with unicode
16:33:40 <ehird> unihack
16:33:49 <ehird> unihack-lisp
16:33:51 <kerlo> How many kilobytes am I wasting?
16:33:52 <AnMaster> btw plain nethack is not good, you need to menucolor patch IMO
16:34:02 <ais523> AnMaster: nobody /needs/ menucolors
16:34:02 <ehird> plain nethack is fine yo.
16:34:03 <AnMaster> even nao has it
16:34:07 <ais523> people just get used to it
16:34:13 <ais523> AnMaster: what do you mean "even NAO"
16:34:24 <ais523> why are you assuming that NAO is less patched than the average?
16:34:31 <AnMaster> ais523, there are lots of nice patches that NAO lacks iirc
16:34:45 <ehird> fuck nethack patches
16:34:48 <ehird> i hate wimpmodes :P
16:34:54 <AnMaster> ehird, not wimpmode
16:35:04 <AnMaster> there are patches making it harder too
16:35:52 <kerlo> apt-get install oh-and-patch-it-for-me-while-youre-at-it
16:35:56 <AnMaster> hm freedroid-rpg? needs a decent GPU as well as CPU
16:35:57 <ehird> making nethack harder is ... like. .. um ... making the holocaust more horrific.
16:36:09 <AnMaster> ehird, more awesome you mean
16:36:12 <AnMaster> and less boring
16:36:17 <ais523> ehird: NetHack isn't all that hard
16:36:21 <ehird> making the holocaust more awesome?
16:36:22 <AnMaster> I mean. nethack is too easy
16:36:22 <ehird> hmm. yes.
16:36:27 <AnMaster> slashem...
16:36:28 <ehird> the holocaust was pretty boring
16:36:28 <ehird> I agree
16:36:37 <ais523> AnMaster: actually, Spork is more interesting in terms of "hard"
16:36:45 <ais523> Spork has more consistent difficulty than vanilla
16:36:48 <ais523> slashem's more "more"
16:36:58 <AnMaster> ais523, true. slashem is quite unbalanced. for example val in slashem is too easy
16:36:59 <ais523> it's a game full of all sorts of random interesting stuff
16:37:29 -!- tombom has joined.
16:37:42 <AnMaster> ais523, there is some other one... now what was the name
16:38:06 <AnMaster> not a nethack clone, other rougelike
16:38:13 <AnMaster> and not angband or moria or such
16:38:39 <AnMaster> ah yes... dungeon crawl stone soup
16:38:45 <AnMaster> http://crawl-ref.sourceforge.net/
16:38:48 <AnMaster> quite nice
16:38:57 <AnMaster> but way harder
16:39:01 <ais523> crawl's rather different to nethack
16:39:10 <ais523> it's more about combat, whereas the combat's secondary in nethack
16:39:10 <AnMaster> ais523, I would still say it is a rougelike
16:39:16 <AnMaster> but yeah
16:39:19 <ais523> well, yes it's a roguelike
16:39:31 <ais523> but crawl and nethack are sort-of opposite ends of the roguelike spectrum
16:39:39 <AnMaster> ais523, tell that to all those damn newts that show up when you have 1 hitpoints in nethack :P
16:39:49 <ais523> AnMaster: just tell them "Elbereth"
16:39:55 <AnMaster> ais523, well true
16:39:57 <kerlo> Okay. What happens when your desktop has a remote window, you click the close button, and it asks you whether you want to force quit the application?
16:40:01 <AnMaster> ais523, also stop spoiling it...
16:40:03 <AnMaster> for others
16:40:18 <ais523> AnMaster: that isn't a spoiler, it's in the manual
16:40:30 <ais523> you can't seriously claim that things in the manual are spoilers!
16:40:41 <AnMaster> ais523, what manual...
16:40:55 <AnMaster> ais523, anyway the E word helps against most stuff (everything? isn't there some exception for @?)
16:41:27 <ais523> not everything
16:41:33 <AnMaster> indeed
16:41:34 <ais523> but telling you what it didn't would be a spoiler
16:41:38 <AnMaster> yes
16:41:43 <kerlo> Does X11 have a way to tell the system a client is on to kill the client?
16:41:45 <ais523> and the manual's the guidebook, it should come with every nethack distribution
16:42:00 <AnMaster> kerlo, what do you mean?
16:42:45 <kerlo> Well, I had a window open from a remote server, and a window opened offering me to "force quit" it.
16:43:01 <AnMaster> ais523, ah. I rather stuff you get from the oracle when asking for large and not having the money
16:43:03 <AnMaster> ;P
16:43:06 <AnMaster> bbiab food
16:43:28 <kerlo> I don't remember whether the force quit window was local or remote, but I think it was local.
16:44:45 <ehird> ais523: #180 is fun
16:44:59 <ehird> it's random
16:45:04 <ehird> ly generated
16:47:59 * kerlo notes that ehird isn't talking about xkcd #180
16:52:18 * kerlo notes that the Enigma options say nothing about a joystick
16:54:55 * kerlo notes that the joystick doesn't do anything in Enigma
16:57:12 <oklopol> err
16:57:13 <oklopol> so
16:57:18 <oklopol> when does it get interesting?
16:57:29 <oklopol> i did 21 first levels
16:57:46 <ais523> the tutorial's just designed to teach you the game
16:58:01 <ais523> but any of the other puzzle packs get insanely difficult on average from about the third puzzle onwards
16:58:13 <oklopol> "the tutorial"? "puzzle packs"? i see, i see
16:58:17 <oklopol> okay
16:58:18 <oklopol> i see
16:58:21 <oklopol> let's try one of them
16:58:33 <ais523> do the BF puzzle, if you like
16:58:40 <ais523> that's insanely hard for most people but should be easy for esolangers
16:58:41 <oklopol> where
16:58:58 <ais523> puzzle #103 in the Enigma 1.00 new pack
17:02:01 <oklopol> okay so
17:02:19 <oklopol> that was interesting, technically, yes, but i mean something that's interesting to play
17:02:33 <ehird> just pick levels at random
17:02:35 <ehird> you'll find something
17:03:03 <oklopol> could you just tell me a hard level?
17:03:28 <ehird> nope.
17:03:31 <ehird> hf
17:03:48 <oklopol> err
17:03:48 <oklopol> k
17:04:03 <oerjan> gnrt
17:04:05 <ais523> let me look for one that I remember as being particularly hard
17:04:14 <oklopol> well. motion was not fun, but mostly just because of my pad.
17:04:22 <oklopol> well okay
17:04:38 <ais523> #38 in Enigma 1.01 new
17:04:45 <oklopol> okay let's see
17:04:52 <ais523> that's one of the dexterity-based puzzles
17:04:58 <ais523> let me look for a hard intelligence-based one too
17:05:11 <ehird> ocaml is awesome.
17:05:16 <ehird> best language evar.
17:05:21 <ehird> hmm, tf
17:05:26 <ehird> enigma changes my colour profile
17:05:59 <AnMaster> <ais523> #38 in Enigma 1.01 new
17:06:01 <AnMaster> err
17:06:06 <AnMaster> 1.01 isn't very new
17:06:09 <ehird> ...
17:06:12 <ehird> the name of the pack
17:06:14 <ehird> is 1.01 new
17:06:15 <ais523> "Enigma 1.01 new" is the name of the puzzle pack
17:06:23 <AnMaster> ah right those
17:06:57 <ehird> oh god THAT #38
17:06:58 <ehird> fuck no
17:06:59 <AnMaster> you mean "DownDown"?
17:07:12 <ais523> I'll suggest 58 in Enigma 1.00 new for an intelligence-based puzzle
17:07:16 <ais523> ehird: well he asked for a hard one
17:07:17 <ais523> AnMaster: yes
17:07:20 * AnMaster hasn't solved it..
17:07:36 <AnMaster> wasn't it the one where you get crushed?
17:07:42 <ais523> yes
17:07:48 <ais523> it's a pure speed and memory puzzle
17:07:52 <ais523> but I'm nowhere near fast enough
17:07:59 <AnMaster> ais523, white contrast?
17:08:22 <ais523> #102 in Enigma 1.00 new also looks like a pretty hard puzzly puzzle
17:08:57 <AnMaster> ais523, have you solved 58 in Enigma 1.00 new (white contrast)?
17:09:25 <ais523> no
17:09:34 <ais523> AnMaster: I only started playing yesterday, I haven't done very many...
17:09:52 <ehird> #90 in 1.00...
17:09:54 <AnMaster> that 102 (Keystone) I solved on easy
17:09:54 <AnMaster> btw
17:09:55 <ehird> unsolvable
17:09:56 <ehird> right?
17:10:06 <AnMaster> ehird, #90 in which pack?
17:10:10 <ehird> "in 1.00"
17:10:10 <AnMaster> oh 1.0
17:10:11 <ais523> ehird: I haven't figured that one at all
17:10:17 <ehird> it says par 3 seconds
17:10:19 <ais523> and I don't know if it's unsolvable or not
17:10:20 <ehird> and top 1 second
17:10:20 <AnMaster> ehird, thought it was "in 1.00 seconds"?
17:10:22 <ehird> so it must be trivial
17:10:24 <ais523> maybe I'll look at the source
17:10:25 <ehird> but I can't see how
17:10:53 <AnMaster> ehird, yes since when I mouse over it in the level selection list enigma segfaults
17:10:56 <AnMaster> so yes unsolvable
17:11:08 <AnMaster> at least for me
17:11:14 <ais523> ehird: look at the ratings
17:11:17 <ais523> knowledge: 5
17:11:22 <ehird> ?
17:11:25 <ais523> that means there's something really obscure but standard on the level
17:11:30 <ais523> puzzles have difficulty ratings
17:11:31 <ehird> where are the ratings
17:11:36 <oklopol> ais523: i don't think i can do that without a mouse
17:11:38 <ais523> pause the game and select level info
17:11:47 <ais523> oklopol: I can't do it even with a mouse
17:12:00 <oklopol> how do i pause?
17:12:01 <ehird> "Difficulty: 26".
17:12:03 <ehird> Ouch.
17:12:06 <ehird> oklopol: esc
17:12:16 <ehird> ais523: some of the ground looks differen
17:12:16 <ehird> t
17:12:17 <ehird> sparkly
17:12:19 <AnMaster> oh
17:12:19 <ehird> or cracked
17:12:21 <AnMaster> duh
17:12:21 <ehird> or sth
17:12:23 <AnMaster> simple
17:12:25 <ehird> don't
17:12:26 <ehird> explain
17:12:27 <ehird> it
17:12:29 <ais523> ehird: I noticed
17:12:42 <AnMaster> ehird, see the two papers there
17:12:43 <AnMaster> read them
17:12:48 <ehird> yes, I have
17:12:51 <AnMaster> then adjust system time
17:12:52 <ehird> but did you hear what i said?
17:12:54 <ehird> stop spoiling it for us
17:12:56 <ehird> hey, look
17:12:58 <AnMaster> ah
17:13:02 <ehird> not only can AnMaster not read, he's an ass.
17:13:05 <ehird> woo.
17:13:06 <AnMaster> ehird, I missed the line "don't"
17:13:09 <AnMaster> I saw
17:13:12 <AnMaster> <ehird> explain
17:13:12 <AnMaster> <ehird> it
17:13:15 <AnMaster> not "don't"
17:13:20 <AnMaster> would have helped on same line
17:13:21 <ais523> I wondered if it was something like that, but didn't want to mess with NTP to check
17:13:23 <ehird> i forgot you have 2 lines of scrollbars,
17:13:24 <AnMaster> like
17:13:26 <AnMaster> if
17:13:27 <AnMaster> you
17:13:27 <ehird> *scrollback
17:13:30 <ehird> i feel for you.
17:13:30 <AnMaster> didn't
17:13:32 <AnMaster> write
17:13:32 <AnMaster> like
17:13:32 <AnMaster> this
17:13:37 <AnMaster> but rather like this
17:13:39 <ehird> a
17:13:39 <ehird> a
17:13:40 <ehird> a
17:13:42 <ehird> a
17:13:44 <ehird> a
17:13:45 <ais523> ehird: writing one word a line does make what you say rather hard to read...
17:13:46 <ehird> a
17:13:53 <AnMaster> ais523, exactly
17:14:03 <ehird> ais523: i was being annoying so people paid attention because reading it was harder, and thus the don't would be noticed.
17:14:09 <AnMaster> ais523, I just checked level source
17:14:26 <ais523> ehird: I tend not to read people talking like that at all
17:14:30 <ais523> it hits my mental spam filters
17:14:36 <ehird> ais523: you must have fun talking to comex
17:14:37 <oklopol> "one more and you won't get this hammer if you don't need it anynmore!" <<< for some unknown reason the texts are in finnish, what does this mean?
17:14:54 <ais523> oklopol: it means that someone's translated the game into finnish
17:15:01 <AnMaster> oklopol, export LC_ALL=C enigma
17:15:06 <ehird> he's on windows.
17:15:11 <ehird> i assume you have realised this by now.
17:15:29 <AnMaster> oklopol, also it says "one more and you won't get the hammer until you don't need it any more"
17:15:41 <oklopol> ah
17:15:45 <AnMaster> so it means you either got to move it some other way or solve it without that hammer
17:15:45 <oklopol> hmm
17:15:53 <oklopol> i don't want your tips
17:15:54 <AnMaster> oklopol, just change the language. No idea how on windows
17:15:58 <oklopol> i want the text
17:16:12 <AnMaster> now this is great...
17:16:16 <AnMaster> if I run engima under gdb
17:16:19 <AnMaster> it doesn't segfault
17:16:20 <AnMaster> yay
17:16:40 <AnMaster> oklopol, remove the translation file?
17:17:05 -!- Judofyr has quit (Remote closed the connection).
17:17:29 <ehird> camlp4 is awesome
17:17:31 <AnMaster> hm
17:17:39 <AnMaster> it doesn't use gettext...
17:17:40 <AnMaster> ehird, ?
17:17:45 <AnMaster> where is that level
17:17:48 <ehird> ocaml extension that lets you do macros
17:17:51 <ehird> lisp-style
17:17:51 <AnMaster> ah..
17:17:56 <AnMaster> cool
17:18:03 <AnMaster> how does it work for ocaml though?
17:18:11 <AnMaster> iirc ocaml isn't based on writing a parse tree
17:18:12 <ehird> by parsing ocaml and rewriting the ast
17:18:18 <AnMaster> ah I see
17:18:28 <ehird> http://en.wikipedia.org/wiki/Camlp4
17:18:29 <ehird> see the example
17:18:35 <ehird> http://en.wikipedia.org/wiki/Camlp4#Example
17:19:07 <AnMaster> argh at engimas levels
17:19:15 <AnMaster> xml with embedded lua
17:19:18 <AnMaster> could it be worse?
17:19:28 <ehird> json with embedded python
17:19:36 <ehird> imagine the indentation!
17:19:39 <AnMaster> ehird, does that even work?
17:19:42 <AnMaster> yeah exactly
17:19:48 <ehird> sure, you just have to do \n if ...
17:19:49 <ais523> AnMaster: actually, it's XML with two languages embedded in it
17:19:51 <ais523> one of which is Lua
17:19:51 <ehird> in the string literals
17:20:01 <ais523> and the other which is a level description lang that's unique to Enigma
17:20:10 <AnMaster> ais523, oh?
17:20:22 <AnMaster> ais523, back when I first tried engima levels were pure lua
17:20:38 <AnMaster> also what is this special language
17:20:49 <AnMaster> ehird, I have written python like that in gdb more than once
17:21:01 <ehird> s-expressions with embedded lisp
17:21:02 <ehird> ... wait ...
17:21:05 <AnMaster> PyRun_SimpleString("import ...")
17:21:11 <AnMaster> ehird, hahah
17:21:29 <AnMaster> also camel case AND underscore sucks
17:21:38 <AnMaster> I mean... decide, don't mix
17:21:45 <ehird> it makes sense sometimes
17:21:48 <ehird> Module_FunctionName
17:21:53 <AnMaster> well ok
17:21:54 <ehird> as opposed to ModuleFunctionName
17:22:00 <ehird> in that case, PyRun is a section of the interpreter
17:22:01 <AnMaster> ehird, I prefer module_function_name
17:22:13 <ehird> i didn't ask what you preferred
17:22:16 <AnMaster> true
17:22:44 <ehird> heh, ocaml overcommits too
17:22:51 <ehird> 2.57GB virtual memory usage on all my ocaml instances
17:22:55 <ehird> & ocaml-using programs
17:22:55 <AnMaster> ais523, wait this special engima language...
17:23:04 <ais523> AnMaster: read the documentation
17:23:08 <AnMaster> ais523, is it like in /usr/share/games/enigma/levels/enigma_microban/mic_101.xml ?
17:23:09 <ais523> it just describes what objects are where
17:23:17 <AnMaster> It looks like it
17:23:23 <AnMaster> <el:luamain>
17:23:24 <AnMaster> ?
17:23:33 <AnMaster> hm
17:23:40 <AnMaster> nah
17:23:42 <AnMaster> that is lua
17:23:45 <ehird> is there a version of top(1)
17:23:49 <ehird> that sorts by disk activity?
17:23:50 <AnMaster> very non-lua looky
17:23:56 <ehird> something's klunking my disk
17:23:57 <AnMaster> ehird, on Linux?
17:24:03 <AnMaster> I don't know about OS X
17:24:03 <ehird> linux/bsd/osx.
17:24:22 <AnMaster> ehird, well iirc you need some sort of kernel patch to do it on linux
17:24:28 <AnMaster> and on bsd there is some tool for it
17:24:32 <AnMaster> not top-style
17:24:38 <AnMaster> but similar
17:24:48 <ehird> well, that's really helpful of you.
17:24:50 <AnMaster> forgot the name
17:24:52 <AnMaster> iostat?
17:25:06 <ehird> disk0 cpu load average
17:25:06 <ehird> KB/t tps MB/s us sy id 1m 5m 15m
17:25:07 <ehird> 15.04 4 0.07 7 3 90 0.52 0.50 0.39
17:25:11 <ehird> i want to know what -processes- is doing it
17:25:13 <AnMaster> ehird, check man page
17:25:14 <AnMaster> ...
17:25:17 <AnMaster> iirc
17:25:20 <ehird> anyway, they stopped
17:25:22 <AnMaster> bbiab phone
17:30:26 <AnMaster> back
17:31:31 <oklopol> okay beat 58 with better time than ...ideal time?
17:31:56 <oklopol> (that was kinda trivial.)
17:32:15 <ehird> you beat the world record?
17:32:46 <oklopol> err i kinda doubt it
17:32:50 <oklopol> but
17:33:06 <oklopol> it says something about "ideal time", i don't know the english term.
17:33:32 <oklopol> my time 2:03
17:33:35 <oklopol> world record :43
17:33:44 <oklopol> hmm
17:33:49 <oklopol> maybe i should try beating that.
17:34:00 <ehird> ideal time = par
17:34:16 <ais523> oklopol: try ]102
17:34:18 <ais523> *#102
17:34:56 <oklopol> ehird: ah yes
17:35:15 <oklopol> and i can't beat that with this mouse it seems, at least with my current technique
17:35:23 <oklopol> ais523: same pack?
17:35:27 * oklopol tries
17:35:27 <ais523> yes
17:41:37 <ehird> http://muaddibspace.blogspot.com/2009/03/how-to-halve-number.html
17:41:44 <ehird> Halving a number in N easy steps.
17:42:24 <ehird> [[
17:42:24 <ehird> The international community cannot appreciate enough that an age old question that drove many mathematicians mad or into private and financial ruin has finally been solved. Trivia tell us that even Ramanujan failed to solve the famous "halving a number" problem and still in 2002 Faltings is quoted with the remark "currently no one has an idea how to attack it and I strongly believe that any solution will provide profound new insights".
17:42:28 <ehird> While the correctness of the proof is still debated number theorists all over the world feel inspired to solve the next harder problem: finding the third of a number.
17:42:31 <ehird> ]]
17:42:33 <ehird> -- reddit comment
17:43:00 <ais523> <HaakonS> today is actually wednesday in finland
17:43:04 <ais523> can someone confirm or deny?
17:43:25 <oerjan> i can confirm that
17:43:26 <ehird> oklopol: quick we need information
17:43:33 <ehird> oerjan: you are a finn? OMG.
17:43:34 <oerjan> wait, did you mean truthfully?
17:43:39 <ais523> yes
17:43:51 -!- jix_ has quit ("...").
17:44:09 <oklopol> yeah this is Special Wednesday
17:44:50 <MizardX> ^ul (X)(d)(r)(a)(z)(i)(M)(()(:S)(!~*^:a~^))(~:^a~:*a~*~a~*a~^**a~a~*~a~*~a*^~^):a~^
17:44:50 <fungot> MiizzzzaaaaaaaarrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...out of stack!
17:44:56 <oklopol> haha
17:45:12 <oklopol> so i solve the puzzle, and get stuck because there's a tiny extra puzzle too :D
17:45:16 <oklopol> \o/
17:45:28 <ehird> mizzle to the izzle to tah ard to tha ex
17:45:46 <oerjan> ehird: i say those guys are too clever by half
17:45:55 <ais523> MizardX: that's a neat little program
17:46:55 <MizardX> Though I don't know how to stop the iteration. See I ran out of stack.
17:47:11 <ehird> hmm
17:47:19 <ehird> i'm thinking about linked lists in unlambda again
17:47:22 <ehird> what you clearly need is fold
17:47:26 <ehird> fold can implement map and iteration
17:47:31 <ehird> so, the list has to be:
17:47:39 <ehird> (func)(list of a b c)^
17:47:40 <ehird> ->
17:47:48 <ehird> err
17:47:52 <ehird> (func)x(list of a b c)^
17:47:59 <AnMaster> <oklopol> it says something about "ideal time", i don't know the english term.
17:48:01 <AnMaster> par
17:48:02 <AnMaster> I think
17:48:03 <ehird> c x func b func a func
17:48:04 <ehird> or whatever
17:48:06 <AnMaster> bad translation
17:48:07 <ehird> AnMaster: too late.
17:48:09 <oklopol> AnMaster: ehird already told me
17:48:10 <ehird> i told him hours ago.
17:48:12 <AnMaster> ah ok
17:48:15 <AnMaster> hours?
17:48:25 <AnMaster> he said that like 15 minutes ago
17:48:27 <oklopol> yes, he told me exactly 2 hours, 46 minutes ago
17:48:32 <oerjan> ehird: except that is at least O(n) for everything, even head and tail
17:48:43 <oklopol> AnMaster: yes, but he just reminded me he had already told me.
17:48:53 <AnMaster> k
17:49:02 <ehird> oerjan: so what, it's underload :P
17:49:20 <oerjan> er you said unlambda
17:50:00 <ehird> errr right
17:50:01 <ehird> sorry
17:50:02 <ehird> i meant underload
17:52:44 <AnMaster> <ehird> http://muaddibspace.blogspot.com/2009/03/how-to-halve-number.html <-- written in some theorem proving language?
17:52:53 <AnMaster> which one
17:52:55 <ehird> Coq.
17:52:59 <AnMaster> ah
17:53:00 <ehird> It's for theorem masturbation.
17:53:04 <ehird> http://instantrimshot.com/
17:53:18 <AnMaster> flash missing
17:53:22 <AnMaster> :P
17:53:24 <ehird> just imagine it.
17:53:26 <ehird> In your head.
17:53:52 <AnMaster> ehird, well I know how a rimshot on a drum sounds...
17:54:03 <ehird> You have to imagine the button.
17:54:07 <ehird> Imagine yourself clicking the button.
17:54:18 <AnMaster> what button?
17:54:35 <ehird> The big red one.
17:54:42 <AnMaster> k... where?
17:54:51 <ehird> in your head.
17:55:05 <AnMaster> I have a big red button in my head?
17:55:07 <AnMaster> no
17:55:23 <oklopol> ais523: okay that was trivial
17:55:33 <oklopol> i just failed a few times, in very weird ways
17:55:52 <oklopol> (somehow managed to drop the magic stone just when i was about to solve it, or it just vanished :D)
17:56:13 <AnMaster> oklopol, level and pack?
17:56:23 <oklopol> err was it 103
17:56:41 <AnMaster> yay enigma crashed under gdb...
17:56:43 <AnMaster> lets see
17:56:48 <AnMaster> question marks
17:56:49 <AnMaster> fck
17:56:58 <AnMaster> the backtrace is two frames with question marks
17:57:01 <ais523> oklopol: #197 doesn't look insanely hard, but it does look insanely time-consuming
17:57:02 <AnMaster> so corrupted stack
17:57:02 <oklopol> anyway, if there are any actually hard levels, feel free to tell me, those two were trivial (the one with the swapping stones was pretty interesting though)
17:57:12 <AnMaster> oklopol, in which pack...
17:57:39 <ais523> #20 in Enigma 1.00 I can't figure out what you have to do at all
17:57:44 <ais523> so I don't know if it's hard or easy
17:57:46 <oklopol> ais523: well i don't really have the time even for this, i just want to see if there's anything actually hard
17:57:54 <oklopol> i mean you did say the levels get insanely hard
17:58:06 <ais523> oklopol: you're just much better at them than I am
17:58:08 <AnMaster> oh print 23?
17:58:11 <AnMaster> if you are in 1.0
17:58:13 <AnMaster> yeah
17:58:13 <oklopol> i mean i can't even solve the rubik's cube, so if i can solve a level, it can't be that hard :|
17:58:14 <AnMaster> trivial
17:58:16 <AnMaster> bf :)
17:58:25 -!- Hiato has joined.
17:58:32 <oklopol> ais523: i can try
17:58:46 <AnMaster> oklopol, I solved print 23 in 21 seconds
17:59:01 <AnMaster> better than par
17:59:21 <oklopol> well good for you, i don't use my mousepad all that fast.
17:59:42 <AnMaster> <ais523> #20 in Enigma 1.00 I can't figure out what you have to do at all <-- it says I solved it, must have been long ago... no idea how I did it
17:59:45 <oerjan> oklopol: i guess you're just not much good at group work
17:59:56 <AnMaster> I can't figure it out now
18:00:09 <oklopol> oerjan: hmm?
18:00:21 <oklopol> i know the basics of group theory
18:00:43 <oerjan> well then rubik's cube should be simple ;)
18:00:51 <oklopol> :)
18:00:56 <oklopol> ohh!
18:01:24 <oklopol> ah! permutations are a group
18:01:28 <ais523> ah, I just did #20, I figured what had to be done
18:01:38 <oklopol> ais523: damn, i haven't even started yet
18:01:39 <AnMaster> ais523, I solved it before, I don't remember
18:01:41 * oklopol starts
18:01:46 <AnMaster> ais523, tell me in /query...
18:01:51 <ais523> that's a knowledge puzzle
18:04:18 <ehird> hmm
18:04:23 <ehird> oh
18:06:43 <ehird> wow ocaml sucks at strings
18:07:07 <AnMaster> oh?
18:07:19 <ehird> yeah, there's not even a string-replace function
18:08:00 <ais523> ehird: OCaml isn't Perl, nor does it remotely try to be
18:08:11 <ehird> i know
18:08:16 <ehird> but every language has a basic string-replace.
18:08:34 <AnMaster> ehird, can't you write one iterating over the string?
18:08:45 <AnMaster> ehird, also not every language
18:08:45 <ehird> aha! ocaml batteries included to the rescue
18:08:49 <AnMaster> for example bf doesn't have it
18:08:55 <oklopol> #20 doesn't seem to make much sense
18:08:56 <ehird> AnMaster: 1) yes, but I don't want to 2) stop being so damn trivial
18:09:04 <oklopol> does it make sense but i'm just not seeing it?
18:09:15 <AnMaster> oklopol, it is possible to solve
18:09:20 <ais523> I solved it just now
18:09:20 <oklopol> of course it is
18:09:22 <ehird> val replace : str:string -> sub:string -> by:string -> bool * string
18:09:22 <ehird> replace ~str ~sub ~by returns a tuple constisting of a boolean and a string where the first occurrence of the string sub within str has been replaced by the string by. The boolean is true if a subtitution has taken place.
18:09:23 <oklopol> that's not what i asked
18:09:27 <ehird> ^___________________^
18:09:29 <ais523> as for whether it makes sense, there are a couple of subtle clues
18:09:30 <ehird> I mean, yay.
18:09:34 <oklopol> hmm
18:09:38 <AnMaster> oklopol, it does make sense when you know what to do
18:09:39 <oklopol> well i'll look for them
18:09:43 <AnMaster> ais523, oh?
18:09:45 <AnMaster> hm
18:09:46 <AnMaster> ok
18:11:31 -!- Judofyr has joined.
18:13:36 <oklopol> ais523: can you tell me the clues in pm?
18:13:41 <oklopol> i solved it
18:13:47 <oklopol> but i'm still not seeing wtf that was about
18:21:02 <oklopol> okay i'm gonna go read, will read logs for level tips
18:33:47 <ehird> hmm
18:33:52 <MizardX> if (?)(value)(func)^ produces (value2) then
18:33:53 <MizardX> (?)...(?)(?)(value)(func)(a~a*~a*~a*^a~a*~a*^:a~a*~a*~a*^^a~a*~a*^:^):^
18:33:53 <MizardX> produces
18:33:53 <MizardX> (?)...(?)(value2)(func)(a~a*~a*~a*^a~a*~a*^:a~a*~a*~a*^^a~a*~a*^:^):^
18:33:58 <ehird> MizardX: zwut
18:34:04 <MizardX> fold
18:34:10 <ehird> o
18:34:15 <ehird> but , how do you store elements in that list
18:34:23 <ehird> also that's kind of verbose per list
18:34:47 <AnMaster> it's underload, what did you expect?
18:34:53 <AnMaster> ais523, any progress on Feather?
18:34:58 <ais523> AnMaster: no, RL-busy
18:35:13 <AnMaster> ais523, ok, how goes that VHDL stuff?
18:35:29 <ais523> AnMaster: that's finished, I'm focusing on my OCaml project now
18:36:03 <AnMaster> ais523, so how did the VHDL stuff end? as you planned?
18:36:08 <AnMaster> I don't think you told me
18:36:18 <AnMaster> also what are you doing in ocaml?
18:36:29 <ais523> the VHDL stuff ended as intended
18:36:32 <ais523> and I got 95% for that module
18:36:43 <AnMaster> I guess that is good?
18:36:47 <ais523> and the OCaml stuff is the imperative -> functional -> behavioural -> hardware compile chain
18:36:54 <AnMaster> behavioural?
18:37:01 <ais523> AnMaster: VHDL-style
18:37:05 <AnMaster> ah
18:37:12 <ais523> but I'm working on some technicalities on the functional stage of the chain
18:37:12 <AnMaster> ais523, so this builds on the previous work?
18:37:16 <AnMaster> to add some more stuff?
18:37:34 <ais523> no, it's completely separate
18:37:38 <AnMaster> oh I see
18:37:44 <ais523> and in fact uses Verilog not VHDL
18:37:47 <AnMaster> ais523, you won't reuse anything then?
18:37:49 <ais523> but I'm not working on that bit
18:37:58 <ais523> AnMaster: no, that's actually against university rules for some reason
18:38:02 <AnMaster> heh
18:38:06 <ais523> but reusing wouldn't help, they're utterly different projects
18:38:12 <AnMaster> ais523, didn't the other project do mostly the same?
18:38:18 <AnMaster> compile to vhdl
18:38:20 <ais523> err, no
18:38:25 <ais523> the other project was me writing in VHDL
18:38:29 <AnMaster> ah
18:38:36 <AnMaster> ais523, then I confused them
18:38:44 <ais523> easy to do
18:38:57 <AnMaster> so what exactly then did you write in VHDL?
18:38:59 <ais523> I mean, you don't have to deal with an insane door most days...
18:39:09 <AnMaster> true
18:39:20 <ais523> AnMaster: a hardware self-routing packet-switching fabric for fixed packet lengths
18:39:22 <AnMaster> such door conditions can cause a lot of stress.
18:39:29 <AnMaster> talk about outlawing them
18:39:42 <AnMaster> zero tolerance
18:40:03 <AnMaster> (is that last one a Swedishism?)
18:40:11 <ais523> no, it's used in loads of languages
18:40:15 <AnMaster> ah
18:40:15 <ais523> pretty common in English too
18:40:18 <AnMaster> k
18:40:32 <AnMaster> ais523, it still sounds like politician talk
18:40:36 <AnMaster> at least in Swedish
18:41:41 <ehird> it is politician talk
18:41:56 <ehird> or rather, crazy pseudo-fascist politician talk. by which I mean, umm, all of them.
18:42:18 <AnMaster> heh
18:42:34 <ehird> (HOW CAN YOU TELL MY POLITICAL LEANINGS BY WHAT IM WRITING??????????????)
18:42:59 <AnMaster> ehird, Left wing?
18:43:06 <ehird> that was a reference to a bash.org quote
18:43:18 <AnMaster> ehird, oh? which one?
18:43:18 <oerjan> he's on reddit, must be libertarian :D
18:43:24 <ehird> oerjan: oh god no
18:43:31 <AnMaster> oerjan, hm. Not socialist?
18:43:31 <ehird> AnMaster: dunno, couldn't find it with google
18:43:39 <ehird> s/MY POLITICAL LEANINGS/IM 13/
18:43:43 <ehird> was the original
18:44:05 <AnMaster> ehird, because you said you were 13...
18:44:10 <AnMaster> that is why
18:44:15 <oerjan> pretty hard i'd say
18:44:22 <ehird> please tell me you're misinterpreting on purpose, AnMaster
18:44:30 <AnMaster> ehird, correct.
18:44:48 <ais523> ehird: was that a general sanity pleading, or just an IRP command?
18:44:55 <ehird> both.
18:45:03 <ehird> the latter enables the former
18:45:33 <AnMaster> however, from your writing I would otherwise have guessed maybe 15 years now. Your writing a year ago? 13 NOMADS...
18:45:34 <oerjan> PLEASE IGNORE THIS COMMAND
18:45:50 <ehird> AnMaster: hey, I still enjoy a good monad every once in a whil
18:45:51 <ehird> e
18:46:00 <ehird> also, the average age people think I am is around 20
18:46:05 <AnMaster> ehird, yes but you write it monad
18:46:18 <ehird> no no nomads are a type of monad
18:46:23 <ehird> they are the most ninjarist of all monads.
18:46:28 <ehird> they have an additional operation
18:46:31 <AnMaster> ehird, well yes you know a lot more than many of your age. I mean a 13 year old programming in haskell isn't common
18:46:45 <ehird> ninja : m (m (m a -> a) -> m (m a)) -> flip out and kill people
18:46:49 <ehird> s/:/::/
18:47:06 <AnMaster> but sometimes you act a bit silly which gives it away. Have to talk to you a lot before it is noticeable
18:47:18 <AnMaster> ehird, do you act as grown up outside IRC btw?
18:47:21 <ehird> old people never act silly
18:47:22 <ehird> just ask oerjan
18:47:32 <ais523> ehird: what's your definition of "old"?
18:47:35 <AnMaster> ehird, when they do they do it differently
18:47:41 <ehird> ais523: anything older than me
18:47:41 <oerjan> indeed, it's hormonally impossible
18:47:59 <ais523> oh, I act silly sometimes, just normally in RL rather than on the internet
18:48:03 <ehird> AnMaster: i'm much the same, except about a million times more shy
18:48:13 <AnMaster> ehird, You. Shy?
18:48:14 <AnMaster> wth
18:48:15 <ais523> ais523 is so much saner and more respectable than Alex Smith..
18:48:19 <ehird> yeah go figure right
18:48:23 <AnMaster> ais523, hah
18:48:30 <ehird> ais523: that's some reversal
18:48:50 <AnMaster> indeed
18:48:53 <oerjan> oerjan and Ørjan Johansen are both completely bonkers, alas
18:49:06 <ehird> AnMaster: me outside is a laugh, i take the optimal path to avoid people
18:49:08 <AnMaster> oerjan, ouch.
18:49:33 <ais523> oerjan: you have more published papers than me, though
18:49:40 <AnMaster> ehird, actually I often did that too.. Slightly less so nowdays.
18:49:58 <ehird> AnMaster: people's eyes seeing you, even in the corner, erodes your skin.
18:50:00 <ehird> true fact.
18:50:02 <AnMaster> oerjan, You are Norwegian... *ducks*
18:50:21 <AnMaster> ehird, really?
18:50:23 <AnMaster> I see
18:50:26 <ehird> yes.
18:50:44 <ehird> "PHP stopped being php when they turned off short-tags by default. It has got too enterprisy. We need need a new fresh PHP."
18:50:47 <AnMaster> ehird, so you act like a normal teenager then :P
18:50:48 <ehird> haahahhaahaahahahhahaahahhhhhhahhahahahahahaha
18:50:57 <ais523> PHP used shorttags?
18:50:57 <AnMaster> short-tags?
18:51:01 <AnMaster> like
18:51:02 <ehird> <? ... ?>
18:51:04 <AnMaster> </>?
18:51:05 <ais523> oh
18:51:05 <ehird> vs <?php ... ?>
18:51:07 <ehird> XDDD
18:51:08 <AnMaster> ah
18:51:09 <ais523> I was so hoping it was </.
18:51:11 <ais523> * </>
18:51:14 <AnMaster> me too
18:51:19 <ehird> AnMaster: yes, except without the General Mishmash Cloud of Random Acquaintences common to teenagers
18:51:32 <AnMaster> ehird, yeah I never had that either
18:51:41 <AnMaster> ehird, looks like we are similar ;)
18:51:45 <AnMaster> *shudder*
18:51:47 <ais523> actually, one of my lecturers here specifically warned me about norwegians
18:51:59 <AnMaster> ais523, really? on what grounds?
18:52:06 <ais523> he told me and everyone else in my year to never allow norwegians to con us into eating raw fish
18:52:13 <ehird> norwegians, muslins, what's the difference?
18:52:14 <AnMaster> ah
18:52:20 * oerjan cackles evilly
18:52:24 <ais523> apparently he was the victim of such a scheme in the past
18:52:25 <oerjan> wait, raw?
18:52:31 <AnMaster> hm
18:52:37 <AnMaster> lutfisk isn't raw is it?
18:52:38 <ehird> ais523: IT'S CALLED LUTEFISK STUPID
18:52:42 <AnMaster> horrible yes but not raw
18:52:48 <ehird> :p
18:53:08 <ehird> ugh, just thinking about lutefisk kills me
18:53:09 <oerjan> does dried cod count as raw?
18:53:12 <AnMaster> ais523, yeah I guess he was badly damaged for life from it
18:53:18 <ehird> how can you eat that stuff
18:53:46 <AnMaster> ehird, Sweden has surströmming as well as lutfisk.... No idea how anyone can eat either
18:54:03 * oerjan thinks eating dried cod brings out his inner dog
18:54:04 <AnMaster> in Sweden it is mostly old people who eat it, those who grew up with it
18:54:04 <ehird> british food may be boring as hell, but it's not fish in lye
18:54:17 <ehird> and for that i salute i
18:54:18 <ehird> t
18:54:27 <AnMaster> ehird, your cakes are very dry iirc
18:54:30 <AnMaster> at least some of them
18:54:45 <AnMaster> true that is not as bad as fish in lye
18:54:47 <ehird> AnMaster: apparently britain is the only place that has a lot of biscuits
18:54:49 <ehird> confirm/deny?
18:55:02 <ehird> i mean like digestive biscuits and stuff.
18:55:07 <AnMaster> ehird, well, not sure.. We have a lot of biscuits here.
18:55:12 <ehird> http://en.wikipedia.org/wiki/File:Digestive_biscuits.jpg
18:55:13 <ehird> this kind of thing
18:55:16 <AnMaster> cookies?
18:55:19 <ehird> sort of
18:55:26 * AnMaster waits for firefox to load
18:55:49 <AnMaster> ehird, on the other hand, US/UK culture got everywhere nowdays
18:55:59 <ehird> true
18:56:03 <AnMaster> cultural imperialism
18:56:15 <AnMaster> so I don't know
18:56:22 <AnMaster> maybe once it was true
18:56:35 <AnMaster> but nowdays I know such stuff is rather common here too
18:57:22 <AnMaster> ehird, + my mother rather likes some English food
18:57:26 <AnMaster> like scones
18:57:49 <ehird> scones are nice
18:58:09 <AnMaster> so I may have experienced more than average English food
18:58:17 <AnMaster> ehird, yeah
18:58:21 <ais523> everyone likes scones, or ought to
18:58:25 <ehird> hwh
18:58:26 <ehird> *heh
18:58:33 <ehird> it should be a law
18:58:33 <AnMaster> ais523, with whipped cream.
18:58:35 <ais523> but they're traditionally very upper-class
18:58:39 <ehird> "Everyone SHALL like scones."
18:58:44 <AnMaster> ais523, oh?
18:58:46 <AnMaster> really?
18:58:51 <ehird> meh, that's traditionally
18:58:57 <ehird> scones aren't exactly an uncommon thing
18:59:00 <ais523> yep, the traditions tend not to match reality
18:59:07 <AnMaster> indeed
18:59:07 <ais523> it's not like they're expensive or anything
18:59:25 <AnMaster> true
19:15:16 <ais523> ehird: eso-std.org has been squatted, by the way
19:15:25 <ehird> really?
19:15:25 <ais523> and parked
19:15:26 <ehird> awesome :D
19:15:32 <ais523> it's full of links about STDs
19:15:36 <ehird> ais523: and also ISO standards
19:15:39 <ehird> they've got it to a T
19:15:56 <ehird> ais523: this is good, think how much money they're wastign registering names like that :P
19:16:03 <ais523> not enough :(
19:16:08 <ehird> ah, hm
19:16:10 <ehird> This domain has expired
19:16:11 <ehird> It will be deleted in the next few days. If you are the owner of this domain, you still have a chance to renew it.
19:16:17 <ehird> i can actually renew it now from mydomain
19:16:22 <ehird> so they're just milking it before deleting it
19:16:26 <ehird> it hasn't been squatted by a third party
19:16:27 <ais523> oh, they must be using the 5-day park thing
19:16:28 <ehird> just my registrar...
19:16:36 <ais523> where you can register a domain for 5 days without paying
19:16:40 <ais523> I'm not entirely sure why it exists
19:16:42 <ehird> heh
19:16:58 <ais523> its only use seems to have been for parking and squatting
19:17:17 <ehird> anyway, I doubt it'll be squatted in a few days
19:17:46 <GregorR> Squatters watch domain name expiration logs, they usually squat within 10-15 minutes of a record expiring.
19:18:02 <MizardX> A bug in the previous fold. Here is a corrected example:
19:18:02 <MizardX> ^ul (X)(d)(r)(a)(z)(i)(M)((:S)(!))(:^~:*a~a*a~a*~a*^~^*^)(a~a*~a*~a*^a~a*~a*^:a~a*~a*~a*^a~a*~a*^^a~a*~a*^:^):^
19:18:03 <fungot> MiizzzzaaaaaaaarrrrrrrrrrrrrrrrddddddddddddddddddddddddddddddddXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...out of stack!
19:18:24 -!- BeholdMyGlory has quit (Remote closed the connection).
19:18:34 <ehird> MizardX: termination = (), maybe
19:18:34 <ehird> ?
19:18:39 <ehird> also
19:18:42 <ais523> ehird: no way to detect that
19:18:46 <ehird> that doesn't help, you need a list to be atomic on the stack
19:19:23 <ais523> for Underload, the easiest list format I know of is ((1)((2)((3)((4)((5)())))))
19:19:34 <ehird> and how do you process that?
19:19:42 <ais523> Underlambda's going to have commands to manipulate lists of the form ((1)(2)(3)(4)(5))
19:19:45 <ehird> you can't detect end of list, certainly
19:19:47 <ais523> and you process it using ^ and !
19:19:58 <ehird> uh huh
19:20:00 <ais523> and you can detect end of list
19:20:02 <ehird> how
19:20:07 <ais523> an empty list is ()
19:20:15 <ais523> that pushes 0 items onto the stack
19:20:15 -!- FireFly has joined.
19:20:25 <ais523> a nonempty list always pushes exactly 2 items onto the stack
19:20:35 <FireFly> Back
19:20:55 <ais523> so you can do ^!!^, and either the first or third stack element runs
19:21:18 <ais523> (the basic definition is, a list pushes its car and its cdr onto the stack, nil pushes nothing)
19:21:56 <ehird> ... that doesn't help if your list items aren't executable.
19:22:06 <ais523> yes it does
19:22:24 <ais523> A list containing just x is ((x)())
19:22:35 <ais523> so the contents of the first paren are never executed
19:22:40 <ais523> they're just popped
19:22:45 <ais523> *the paren containing the x
19:22:47 <ehird> hmm
19:22:55 <ehird> how could you map?
19:23:19 <ais523> you have to loop over the elements of the list
19:23:36 <ais523> it's not trivial to write, but it doesn't come out excessively complex
19:25:19 <MizardX> I developed a meta-language while writing the fold: A ("append") = ~a*, P ("prepend") = ~a~*, W ("wrap") = a, E ("exec") = ^ ... so bubbling up the nth element on the stack becomes: WA{n-2}E
19:25:58 <MizardX> wait... WA{n-2}E was reverse the top n elements
19:26:15 <MizardX> WPPPPAE was bring to top
19:27:06 -!- ais523 has quit (Read error: 60 (Operation timed out)).
19:29:05 <MizardX> (x)(y)(z)(w)WPPAE -> (x)(y)(z)((w))PPAE -> (x)(y)((z)(w))AE -> (x)((y)(z)(w))AE -> ((y)(z)(w)(x))E -> (y)(z)(w)(x)
19:29:44 <MizardX> fold is (?)...(?)(?)(value)(func)(WAAAEWAAE:WAAAEWAAEEWAAE:^):^
19:30:44 <ehird> http://vimeo.com/1715318 <-- this video is awesome, especially the bit around half way through (don't skip to it, it'll spoil it)
19:40:52 <MizardX> Last picture looked like a fetus
19:44:34 -!- GregorR has quit ("Leaving").
19:45:03 -!- oerjan has quit ("Sneep!").
19:45:07 -!- BeholdMyGlory has joined.
19:56:24 <oklopol> MizardX: i'm pretty sure that was the point
19:56:32 <oklopol> didn't you follow the story at all :|
19:56:37 <ehird> hahaha
20:01:46 <ehird> sweet, ocaml 3.11 has comprehensions
20:01:47 <ehird> [? i*i | i <- 1 -- 100 ; i mod 2 = 0]
20:16:04 <bsmntbombdood> OH SNAP
20:16:10 <bsmntbombdood> that's so new and innovative
20:16:42 <ehird> all you ever do is bitch, bsmntbombdood
20:16:48 <bsmntbombdood> yep
20:16:55 <bsmntbombdood> at least i'm dependable
20:16:57 <ehird> i think you want #bitch
20:18:13 <bsmntbombdood> no one there
20:18:20 <ehird> no, you are there
20:18:24 <ehird> you can listen to yourself.
20:24:37 <ehird> 09:45:34 <ehird> AnMaster: you know what continuations are right?
20:24:37 <ehird> 09:45:47 <AnMaster> ehird, I think I know, if they are what I think
20:24:38 <ehird> 09:45:52 <AnMaster> ie, anonymous method
20:24:40 <ehird> 09:45:58 <AnMaster> that can be passed around
20:25:21 <AnMaster> ehird, that must have been ages ago
20:25:30 <oklopol> um it was this morning
20:25:30 <ehird> 2008-03-31
20:25:36 <AnMaster> oklopol, no
20:25:38 <ehird> oklopol: XD
20:25:40 <AnMaster> ehird, yeah ages ago
20:25:43 <ehird> AnMaster: it's oklopol
20:25:44 <ehird> he was kidding
20:25:54 <AnMaster> yes and I ignore that fact
20:25:57 <oklopol> US ADULTS NEVER KID
20:26:02 <ehird> yeah you're 20
20:26:03 <ehird> ancient
20:26:16 <oklopol> we just lie
20:31:14 -!- Hiato has quit ("Leaving.").
21:05:22 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
21:31:00 -!- kar8nga has joined.
21:31:36 <psygnisfive> dark rum, or single malt scotch?
21:31:46 <bsmntbombdood> i don't like rum
21:31:52 <bsmntbombdood> so scotch
21:31:55 <bsmntbombdood> but i prefer bourbon
21:33:55 <ehird> water</hadtobedone>
21:34:16 <bsmntbombdood> hey guys i need a new computer
21:34:18 <bsmntbombdood> what should i get?
21:34:26 <ehird> raw transisitors
21:34:44 <ehird> *transistors
21:45:00 -!- Judofyr has quit (Remote closed the connection).
21:59:22 -!- GregorR has joined.
22:02:08 -!- tombom has quit ("Peace and Protection 4.22.2").
22:15:35 <ehird> http://twitter.com/mrxtothaz/status/1266000157 <- Xzibit attempts own meme, fails.
22:23:26 -!- GregorR has quit ("Leaving").
22:34:21 -!- kar8nga has quit (Connection timed out).
22:39:53 -!- GregorR has joined.
22:49:31 -!- DH__ has joined.
22:50:24 -!- DH__ has left (?).
23:44:04 <kerlo> I also need a new computer. What should I get?
23:47:42 <ehird> transistors
23:47:50 <Slereah> An analytical engine
23:57:51 <bsmntbombdood> ...
23:58:55 <bsmntbombdood> i need 2-4 cores, 4-8gb memory, 1-2 tb of disk (to be raid1ed), no need for video
23:59:07 <ehird> transistors
23:59:20 <ehird> also I am doubting you _need_ all that, just _want_.
23:59:59 <bsmntbombdood> ...
2009-03-02
00:03:28 <ehird> ..................
00:19:43 <olsner> wanting is just another kind of need
01:24:08 -!- olsner has quit ("Leaving").
01:34:34 -!- FireyFly has joined.
01:36:36 -!- FireFly has quit (Nick collision from services.).
01:36:40 -!- FireyFly has changed nick to FireFly.
01:52:29 -!- AnMaster has quit (Connection timed out).
02:01:58 <comex> well, at least you're trying to be nice to goethe
02:07:47 -!- BeholdMyGlory has quit (Remote closed the connection).
02:13:11 -!- rodgort has quit (brown.freenode.net irc.freenode.net).
02:13:11 -!- Robdgreat has quit (brown.freenode.net irc.freenode.net).
02:13:19 -!- Robdgreat has joined.
02:13:19 -!- rodgort has joined.
02:13:53 -!- AnMaster has joined.
02:28:59 -!- FireFly has quit ("Later").
04:05:04 -!- MizardX- has joined.
04:05:04 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
04:06:03 -!- MizardX has joined.
04:07:08 -!- MizardX- has quit (Read error: 104 (Connection reset by peer)).
04:23:46 -!- GreaseMonkey has joined.
05:03:11 -!- poiuy_qwert has joined.
05:26:56 -!- GreaseMonkey has changed nick to QuirkyMonkey.
06:07:30 <GregorR> "want" is to "need" as "theory" is to "fact" ... once you start getting technical, they're all the same :P
06:10:56 -!- psygnisfive has quit (Remote closed the connection).
06:50:49 -!- QuirkyMonkey has changed nick to GreaseMonkey.
06:53:06 -!- poiuy_qwert has quit.
07:16:07 -!- psygnisfive has joined.
07:48:22 -!- jix has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:10 -!- MigoMipo has joined.
08:29:48 -!- tombom has joined.
08:38:33 -!- jix has quit ("Computer has gone to sleep").
08:40:13 -!- jix has joined.
08:45:54 -!- jix has quit ("...").
09:15:01 -!- GreaseMonkey has quit ("Client Excited").
09:26:28 <MizardX> >>> print hex(id(257))
09:26:30 <MizardX> 0xb713d8
09:26:32 <MizardX> >>> print hex(id(258))
09:26:34 <MizardX> 0xb713d8
09:26:36 <MizardX> >>> 257 is 258
09:26:38 <MizardX> False
09:27:48 <MizardX> >>> print hex(id(257)),hex(id(258))
09:27:48 <MizardX> 0xb713d8 0xb713cc
09:30:17 <MizardX> -5 to 256 is cached. The rest is subject to garbage collection and reallocation.
09:31:34 <bsmntbombdood> so?
09:32:19 <MizardX> To speed up calculation, store every number to be used in some collection. :)
09:54:45 -!- DH__ has joined.
09:55:27 -!- DH__ has left (?).
09:55:35 -!- DH__ has joined.
10:07:02 <AnMaster> http://www.makelinux.net/kernel_map
10:07:05 <AnMaster> cool
11:35:29 -!- FireFly has joined.
12:01:16 -!- BeholdMyGlory has joined.
12:41:45 -!- ais523 has joined.
13:51:13 -!- MizardX has quit ("Bittifying").
14:01:28 <ehird> 02:01 comex: well, at least you're trying to be nice to goethe
14:01:32 <ehird> itym /query ehird
14:02:11 <ehird> AnMaster: nice page apart from the "ISRAEL IS AWESOME" link in the bottom right.
14:02:19 <AnMaster> ehird, indeed
14:02:28 <AnMaster> ehird, I didn't notice that link before btw
14:02:43 <AnMaster> I was so busy looking at the interesting map
14:02:54 <ehird> i should put like, a link supporting pedophillia in the corner of all my highly interesting technical documents
14:03:01 <ehird> then nobody will criticize any part apart from that one
14:03:14 <AnMaster> hah
14:04:26 <ehird> http://linuxdriver.co.il/israel/hamas_and_press <- hamas are evil, black and wear green headbands.
14:04:28 <ehird> ic
14:04:41 <ehird> also, their children are shaped like elongated eggs
14:07:58 <ehird> hi ais523
14:08:29 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
14:09:20 -!- Judofyr has joined.
14:09:27 -!- KingOfKarlsruhe has joined.
14:20:43 <ehird> AnMaster: http://www.linuxjournal.com/content/linuxdna-supercharges-linux-intel-cc-compiler
14:22:40 <AnMaster> ehird, AMD here
14:22:53 <ehird> doesn't icc work for amd?
14:22:59 <AnMaster> ehird, yeah but it is slower than gcc
14:23:01 <AnMaster> on amd
14:23:02 <ehird> ah
14:23:18 <AnMaster> ehird, it isn't like Intel have any interest in making it good on amd...
14:23:22 <ehird> true
14:23:27 <ehird> AnMaster: that's pretty bad, since gcc is one of the slowest compilers...
14:24:07 <AnMaster> ehird, slowest as in compile time or generating slow code? Or both?
14:24:12 <ehird> latter
14:24:22 <ehird> although gcc(1)'s execution time is pretty dismal, I don't know how that compares to others
14:24:34 <AnMaster> ehird, iirc clang is a lot faster.
14:24:41 <AnMaster> but of course it is far from ready yet
14:24:44 <ehird> yes, clang(1) is faster
14:24:49 <AnMaster> tcc is way way faster btw...
14:24:58 <AnMaster> but it only does basic constant folding iirc
14:25:00 <ehird> but, gcc's generated code pales in comparison to the vast majority of other compilers, iirc
14:25:04 <ehird> (mostly commercial)
14:25:07 <AnMaster> ehird, true
14:25:20 <AnMaster> it is a bit better in recent versions however
14:25:43 <AnMaster> I mean, compare GCC 3.4 to GCC 4.3 for example...
14:25:57 <ehird> I only have 4.0.1
14:26:12 <ehird> because that's what comes with Apple's latest devtools, and I could upgrade it manually but I wouldn't get apple's mods
14:26:28 <ehird> and I don't feel like finding out if it'd break something
14:26:46 <AnMaster> I have 3.4.6, 4.1.2, 4.2.1, 4.3.<whatever the latest is on archlinux>
14:26:56 <ehird> AnMaster: incidentally, I experienced an insanely bad bug in my gcc yesterday
14:26:59 <ehird> as in major breakage
14:27:08 <ehird> maybe if I give you a console log you can explain it?
14:27:10 <ehird> it's very simple
14:27:10 <AnMaster> I mean, only archlinux would make a compiler hit stable a few days after it was released...
14:27:20 <AnMaster> ehird, sure
14:27:22 <AnMaster> tell me
14:27:30 <AnMaster> and file a bug after checking the last gcc ;)
14:27:34 <AnMaster> 4.0.1 is kind of old
14:27:41 <ehird> it's almost certainly not a gcc bug
14:28:04 <AnMaster> ehird, also llvm-gcc uses apple mods. llvm-gcc is on 4.2.1 currently iirc
14:28:35 <ehird> apple have heavily invested in llvm so I'm not surprised
14:28:39 <AnMaster> indeed
14:28:49 <AnMaster> ehird, so what is this bug you hit?
14:28:53 <ehird> AnMaster: http://pastie.org/404648.txt?key=kjkf82sgtymwyt44eapphq
14:29:00 <ehird> warning: your eyes will pop out in shock at the WTFiness
14:29:02 <AnMaster> key?
14:29:04 <AnMaster> huh
14:29:17 <ehird> oh, I set it as a private paste so it doesn't show up in the recent pastes list
14:29:35 <AnMaster> hm
14:29:43 <ehird> AnMaster: but yeah, surely the cpp can't be THAT horrifically broken?!?!
14:29:50 <AnMaster> err
14:29:57 <AnMaster> ehird, something is wrong yes.
14:30:07 <ehird> terribly wrong..
14:30:12 <AnMaster> maybe (haven't checked) cpp standalone defaults to --traditional or something?
14:30:21 <ehird> what's the opposite of --traditional?
14:30:34 <ehird> also, this works on a recent version of gcc/linux, so I doubt that
14:30:48 <AnMaster> ehird, don't know, and don't remember if the exact option name was that. Was just trying to come up with a hypothesis
14:31:01 * AnMaster checks man page now
14:31:32 <ehird> yeah I looked
14:31:37 <ehird> but couldn't find anything relevant
14:31:50 <ehird> the person who tested it on linux thinks it's apple shipping a broken gcc
14:31:59 <ehird> but I find it hard to believe their gcc team is that incompetent
14:32:15 <AnMaster> ehird, my cpp does it correctly
14:32:19 <AnMaster> 4.1.2
14:32:21 * ehird nod.
14:32:29 <AnMaster> $ cpp --version
14:32:29 <AnMaster> cpp (GCC) 4.1.2 20070214 ( (gdc 0.24, using dmd 1.020)) (Gentoo 4.1.2 p1.1)
14:32:36 <ehird> ...
14:32:38 <ehird> that's your gdc cpp
14:32:40 <ehird> ? lol
14:32:43 <AnMaster> ehird, no
14:32:48 <ehird> "( (gdc 0.24, using dmd 1.020))"
14:32:54 <AnMaster> ehird, the same version string is appeneded to all of gcc
14:32:55 <AnMaster> -_-
14:32:57 <ehird> ah
14:33:00 <AnMaster> extremely stupid yes
14:33:03 <ehird> AnMaster: you're meant to install gdc separately :P
14:33:21 <AnMaster> ehird, hm? Just turned on the d useflag for GCC
14:33:28 <ehird> right, that's wrong
14:33:35 <ehird> you're meant to have a separate gcc called gdc
14:33:46 <AnMaster> ehird, I do, but all are built at once
14:33:47 <AnMaster> it seems
14:33:51 <AnMaster> *shrug*
14:33:51 <ehird> weird
14:34:27 <AnMaster> ehird, I mean it builds g++, gcc, gfortan, gdc, whatever-the-objc-one-is-called
14:34:44 <AnMaster> --enable-languages=c,c++,d,objc,treelang,fortran
14:34:49 <ehird> mm
14:34:49 <AnMaster> according to gcc -v
14:34:56 <ehird> oh well, gdc is obsolete anyway
14:35:11 <AnMaster> ehird, yeah, so is this gcc and your mom :P
14:35:33 <ehird> except that's literally; the creator of the d language has said about as much and the last release was in 2070
14:35:35 <ehird> *2007
14:35:57 <AnMaster> +/- 63 years
14:36:17 <ehird> quite
14:37:40 <AnMaster> btw, did you know gdb includes large part of binutils in the source tarball?
14:37:52 <ehird> no, but I am not surprised.
14:38:21 <AnMaster> ehird, and that gcc has it's own modified copy of libtool included?
14:38:25 <ehird> wow, #macosx is so pointless to be in. it's all random chatter about bullshit and cannabis, and not one bit of os x talk
14:38:29 <AnMaster> for internal use during building
14:38:43 <ehird> i know this because I left it on when going to sleep so I have a full nightsworth of logs.
14:38:55 <ehird> AnMaster: O_O
14:39:05 <AnMaster> ehird, well, that is because everything just works on OS X, so they have nothing else to talk about ;P
14:39:23 <ehird> ha
14:40:35 <AnMaster> ehird, oh and that gcc use autoconf but not automake.
14:40:48 <ehird> that's not surprising
14:40:58 <ehird> gcc's fucked up enough that automake would probably be impossible
14:41:14 <AnMaster> yeah
14:41:27 <ehird> it's enough to make kernighan disown C...
14:41:30 <AnMaster> ehird, actually some parts of it use automake
14:42:03 <AnMaster> libjava, libstdc++ and a few other
14:42:07 <AnMaster> but nost most parts
14:42:18 <ehird> which reminds me that I was going to write an article on how to kern Han characters and sign it Brian W Kerninghan
14:42:45 <AnMaster> ehird, that pun is too bad even for me to say it...
14:42:49 <ehird> :)
14:43:05 <AnMaster> err that was not grammatically correct, was it?
14:43:52 <ehird> i think it might be technically correc
14:43:52 <ehird> t
14:43:55 <ehird> but it was very awkawrd
14:43:56 <ehird> *awkward
14:44:04 <ehird> 'that pun is too bad for me to even say it' would be more idiomatic
14:44:08 <ehird> and yes, I know that's less logic
14:44:08 <ehird> al
14:44:33 <AnMaster> err that wouldn't be the same
14:44:38 <ehird> it is
14:44:54 <ehird> it's one of the most ridiculous idioms
14:45:06 <AnMaster> the first one implied it was so bad it was even worse than my bad jokes :P
14:45:12 <ehird> so does mine
14:45:22 <ehird> it's just an unintuitive idiom
14:45:54 <AnMaster> hmm ok... it *seems* to mean that it is so bad that I would never say it (and not implying in any way that I make bad jokes)
14:46:13 <ehird> well
14:46:24 <ehird> AnMaster: try 'that pun is too bad for even me to say it'
14:46:35 <AnMaster> hm ok
14:49:22 <fizzie> Even pun, that too bad is, for me to say it is. Even.
14:49:40 <fizzie> I hope I didn't miss any words.
14:50:25 <ehird> pun bad too is me say even for
14:51:32 <AnMaster> ehird, another cool thing: valgrind itself doesn't use system libc, but has it's own one that it uses internally. And then I'm not talking about redirecting malloc() and such...
14:51:36 <Asztal^_^> the original, "that pun is too bad even for me to say it...", seemed fine to me
14:51:46 <ehird> AnMaster: O_O
14:51:54 <ehird> Asztal^_^: 'even for me to' is bad
14:52:01 <AnMaster> ehird, iirc it can't use system libc since it need to do stuff before libc is loaded
15:05:23 <fizzie> aaabdeeefhiimnnooooprsstttttuvy. Now the letters are more ordered.
15:05:23 <AnMaster> ehird, for more info see docs/internals/why-no-libc.txt in the valgrind source tarball
15:05:23 <ehird> i'd use valgrind if it supported my platform
15:05:23 <AnMaster> ehird, yeah, but porting valgrind isn't easy
15:05:23 <AnMaster> considering it does all sort of strange tricks
15:05:23 <ehird> mm
15:05:23 <fizzie> Darwin/x86 is marked "high" in valgrind's "porting plans" priority table. Dated Feb 1, 2007. Lacking suitably interested people, I guess.
15:05:23 <ehird> Heh
15:05:23 <AnMaster> ehird, maybe you could help!
15:05:23 <ehird> AnMaster: I'm not too hot on the internal details of Darwin/Mach
15:05:23 <AnMaster> true
15:05:24 <AnMaster> ehird, hm it would probably be harder than porting to other *nix on x86 since you can't reuse the ELF stuff even
15:05:24 <ehird> yes
15:05:24 <AnMaster> doesn't valgrind work on freebsd iirc?
15:05:24 <ehird> i think so
15:05:24 <AnMaster> though iirc it works better on linux
15:05:24 <ehird> it still saddens me that we even need tools like valgrind, being able to leak memory shouldn't be something you can do by accident...
15:05:24 <fizzie> On the other hand: "There are experimental ppc32/darwin and x86/FreeBSD ports for Valgrind 2.X. They could be made to work with 3.X with some effort."
15:05:24 <AnMaster> ehird, or use uninitialised variables?
15:05:24 <ehird> I've followed a "with some effort" pointer before, fizzie. That way lies madness.
15:05:24 <AnMaster> or have tread race conditions
15:05:24 <AnMaster> thread*
15:05:24 <ehird> AnMaster: what the fuck is an uninitialized variable anyway
15:05:24 <ehird> variables store a value
15:05:24 <ehird> from a theoretical point of view, an uninitialized variable is just ridiculous
15:05:24 <AnMaster> ehird, in C it is like this: int foo(int bar) { int quux; return quux + bar; }
15:05:24 <ehird> yes, well, that's C for you
15:05:24 <ehird> i presume it made sense in the 70s
15:05:24 <AnMaster> ehird, true. Valgrind is for languages like C and C++
15:05:24 <ehird> and gets() also made sense in the 70s...
15:05:24 <AnMaster> which are still used
15:05:24 <AnMaster> ehird, no way gets() made sense even back then
15:05:24 <ehird> sure it did
15:05:24 <AnMaster> explain please...
15:05:24 <ehird> if you didn't listen to the program when it told you to enter up to 30 characters you got fired
15:05:28 <ehird> because your job was to operate the programs
15:05:32 <AnMaster> hah
15:05:44 <ehird> there weren't any malicious users
15:05:47 <ehird> it's like trying to break your toaster
15:05:50 <ehird> you can do it, but who does
15:06:13 <AnMaster> if they were network connected I'm sure we would have lots of toaster hackers...
15:06:25 <ehird> now THAT'S some criminal activity I could get into
15:06:28 <AnMaster> because then you can break someone else' toaster...
15:06:39 <ehird> "i pwnt ur toaster"
15:06:46 <ehird> "now it burnz all your bread. and ur hand."
15:06:46 <AnMaster> someone else's?
15:06:48 <AnMaster> or what
15:06:49 <ehird> "HAHAHAHAHAHA"
15:07:13 <fizzie> I'm sure spammers would hack toasters to burn viagra ads to all bread.
15:07:32 <ehird> should just burn the viagra into the bread.
15:07:32 <AnMaster> fizzie, you got a dangerous mind...
15:07:41 <ehird> "Now you've had a sneak peek, why not buy some more?"
15:07:50 <AnMaster> -_-
15:07:56 <AnMaster> anyway.
15:08:01 <AnMaster> "someone else's"?
15:08:03 <ehird> AnMaster: I'm more worried about the unholy scramjet-equipped cyborg pigeons, an abomination against nature.
15:08:06 <AnMaster> or how do you say that...
15:08:08 <ehird> someone else's is valid syntax.
15:08:19 <AnMaster> ehird, really? it looks very weird
15:08:25 <ehird> not to me
15:08:28 <AnMaster> hm
15:08:33 <ehird> what looks odd to be is omitting the s after s'
15:08:33 <fizzie> SEP field is the Somebody Else's Problem field.
15:08:42 <AnMaster> ehird, true that looks worse
15:08:50 <ehird> my brain doesn't mentally parse the invisible s
15:08:58 <AnMaster> ehird, but trying saying it out loud?
15:09:02 <AnMaster> with the s
15:09:02 <ehird> yet most style guides recommend it
15:09:05 <ehird> AnMaster: sure, you repeat the s
15:09:09 <ehird> "Joneses"
15:09:17 <fizzie> Come to think of it, I haven't seen any programmable-image toasters, just boring fixed-image ones. Certainly in 2009 it should be possible to read toast-pictures from an USB stick or something.
15:09:22 <AnMaster> ehird, sure, but to me it seems weird after "else"
15:09:29 <ehird> shrug
15:09:36 <AnMaster> which isn't a noun or pronoun (sp?).
15:09:37 <ehird> "elseses"
15:09:49 <ehird> also, it's a (pronoun*)
15:09:54 <fizzie> Elsifs.
15:09:56 <ehird> pointer dereferencing is implicit
15:10:10 <AnMaster> also scramjet is fun...
15:10:30 <ehird> "Things you should know: the Illuminati is run by reptilian astral entities known throughout history as Djinn, Nagas, Sheti, Angels/Demons, Dragons, Drucul etc. that rule the higher echelons of Freemasonry and do foul sex&torture rituals usually with young children getting eaten. They'll probably stage terror attacks soon, then will come an American union(WW3 too) & a staged alien invasion w/Draconian-saviours! Get storable food, support Stewart Swerd
15:10:31 <ehird> low, Alex Jones, Dr.Deagle & David Icke!"
15:10:33 <ehird> — Youtube
15:10:38 <ehird> Thanks for the info.
15:10:51 <AnMaster> how much shorter travel time for Europe-US could you get with a scramjet aircraft?
15:10:55 <AnMaster> compared to a Concorde or such
15:11:01 <ehird> AnMaster: scramjet cyborg pigeon?
15:11:05 <ehird> they travel faster than light.
15:11:16 <ehird> before you start talkin' physics, they're an abomination against nature, remember?
15:11:18 <AnMaster> ehird, not those, I mean a scramjet aircraft
15:11:24 <ehird> oh. those are boring.
15:11:32 <AnMaster> ehird, still they are quite fast
15:11:53 <AnMaster> anyway scramjet cyborg pigeon aren't an abomination against nature. unholy scramjet-equipped cyborg pigeons are
15:11:59 <AnMaster> there is a important difference there
15:12:19 <AnMaster> scramjet cyborg pigeon are just dead.
15:12:43 <AnMaster> pigeons*
15:12:46 <ehird> 15:08 ehird: AnMaster: I'm more worried about the unholy scramjet-equipped cyborg pigeons, an abomination against nature.
15:12:47 <ehird> i said unholy
15:12:53 <AnMaster> ehird, <ehird> AnMaster: scramjet cyborg pigeon?
15:12:55 <AnMaster> not there
15:12:55 <AnMaster> :P
15:13:03 <ehird> sure, but I missed the abomination part too
15:13:13 <AnMaster> <ehird> before you start talkin' physics, they're an abomination against nature, remember?
15:13:22 <AnMaster> that implied they were
15:13:22 <ehird> and i said unholy before
15:13:36 <AnMaster> ehird, ah so you just forgot a word then there
15:13:39 <AnMaster> right
15:14:35 <fizzie> Hmm, this "introduction to AI" course programming-assignment/AI-tournament thing is proving to be rather popular this year too. 36 groups already registered.
15:15:02 <ehird> fizzie: wait, finns doing AI? shit. shit. robot invasion soon.
15:15:09 <ehird> stealing food and securing house ->
15:15:54 <AnMaster> ehird, you sould like Randall...
15:16:11 <ehird> we share common safety instincts
15:16:42 <AnMaster> ehird, well in his case it is those velicoraptors or whatever the name was.
15:16:46 <fizzie> We already had this tournament thing last year, and all we got was a couple of Java classes that play a board game. Your fears might be exaggerationary.
15:17:01 <ehird> fizzie: but _oklopol_ might be in this one.
15:17:03 <fizzie> Calicoraptors. They are more tasteful.
15:17:04 <ehird> do you see?
15:17:11 <AnMaster> <fizzie> Calicoraptors. They are more tasteful. <-- ?
15:18:30 <fizzie> I was partially referring to the (according to WP) US term for this cat-colorization: http://en.wikipedia.org/wiki/File:Tortie-flame.jpg -- but you can interpret it as you like.
15:19:57 <fizzie> I'm not sure what to make of the summary. It says "Tortoiseshell Cat. -- tortoiseshells have no white fur" but the cat in question does have some white. Unless it's just an overexposed photo, but I don't think so.
15:21:36 <fizzie> http://zem.fi/~fis/abominations.txt -- my 'cut'-based approach for separating the speaker's nickname didn't really understand a CTCP ACTIONy comment, but on the other hand it looks much more hilarious that way.
15:22:04 <ehird> :DDD
15:22:17 -!- oerjan has joined.
15:23:00 <fizzie> ehird: You are the undisputed abomination-leader, though.
15:23:15 <oerjan> wait, what?
15:23:19 <ehird> I abomin all the time.
15:23:25 <ehird> oerjan: http://zem.fi/~fis/abominations.txt.
15:23:26 <ehird> A happy accident.
15:24:23 <AnMaster> oerjan, Hello
15:24:24 <oerjan> oh well.
15:24:35 <oerjan> hi there
15:24:51 <AnMaster> oerjan, read IWC?
15:25:03 <ehird> x_x
15:25:18 <AnMaster> ehird, I was asking first this time... That is much better
15:25:26 <oerjan> AYEEEH
15:26:42 <oerjan> i see kyros's logic is impeccable as usual
15:27:33 <AnMaster> indeed a good summary of what I was going to say
15:27:55 <oerjan> also a good summary of the annotation, i see
15:28:15 <oerjan> well, given a certain leap in logic
15:28:24 <oerjan> er, i mean
15:28:38 <oerjan> it stands to reason that's also a good summary of the annotation.
15:28:52 <AnMaster> er
15:28:54 <AnMaster> what?
15:29:33 <oerjan> i think you really need to work on your logic :D
15:31:22 <AnMaster> it stands to reason that I don't
15:32:12 <ehird> X = it stands to reason that X.
15:32:12 <oerjan> well then we agree
15:32:14 <ehird> In X.
15:32:58 <oerjan> ehird: it stands to reason that you have not understood today's IWC.
15:32:59 <AnMaster> ehird, X therefore Y, Y therefore X
15:33:35 <AnMaster> it stands to reason that it stands to reason
15:33:57 <ehird> '??җ??Ati???ը?k?֣?"H9?[Ä>??\GF?4?<$F?`
15:33:57 <ehird> y`W???׃??
15:33:58 <ehird> ??r%??3?hD?????T?????4?U?Ž5`?$?9aAEY?3c??jl¨jWq?? G??=?JL???49W?,户??͎x?k??m@5s????]??C?ʪBɊ׌?b5\??I??kNfK?
15:34:01 <ehird> lI???
15:34:03 <ehird> ~??ސ˺??R=??J?!s?u??(]I$[?"h`f??S????X* ?0≞?]%??CGL???ϼJ??݅?n?5?E'E?????'
15:34:06 <ehird> Gc?'?(?J˿X???L???OLY?W?™T??V?R$D*?8g??89f??Z?#u?YAs ?JydZWǵ"?3??-?\?"???
15:34:07 <oerjan> hm mezzacotta hall of fame is picking up again
15:34:09 <AnMaster> don't dump binary data on irc...
15:34:09 <ehird> o&?#!v???>?~?ڑ?n? ?|<=??G????:[}???????????4'Rnl???G??l?UrbfV??Xqɘ????,?wb?u?Iv???o???`#J???#?N?.?DS»q?,u0???F?h"????(F?6?ރ????i?????;???????L?3?>?
15:34:12 <AnMaster> ehird, stop it
15:34:13 <ehird> V???[Y?ރ0o?f
15:34:15 <ehird> ...stands to reason.
15:34:16 <ehird> I meant to put that before but failed.
15:34:17 <AnMaster> ah
15:34:21 <ehird> Oh honestly, get yourself a decent client :P
15:34:28 <ehird> Surely it could filter out garbage?
15:34:28 <oerjan> i assume that contains some unicode
15:34:33 <AnMaster> ehird, actually it did
15:34:34 <ehird> also, that's longer than I intended.
15:34:39 <AnMaster> but it was still spammy
15:34:42 <ehird> my terminal font is smaller, see
15:35:31 <AnMaster> ehird, fun thing to annoy users with default irssi settings: /exec -o echo -e \\007
15:35:39 <AnMaster> adjust for your client syntax
15:35:45 <AnMaster> :P
15:36:04 <AnMaster> don't know if +c filters that
15:36:08 <ehird> that'd be a nice flooding script
15:36:11 <AnMaster> +c filters colours and bold and such
15:36:19 <ehird> just tack a bunch of \\007s on to your regular flood message
15:36:24 <AnMaster> ehird, did your client beep?
15:36:28 <ehird> no
15:36:31 <AnMaster> good
15:36:33 <oerjan> <kerlo> I also need a new computer. What should I get?
15:36:35 <ehird> but it's a gui one
15:36:41 <ehird> so it's unlikely to react to terminal codes
15:36:41 <AnMaster> ehird, mine filters it
15:36:47 -!- oklopol has quit (Connection reset by peer).
15:36:50 <ehird> +c filters all non-printable-unicode
15:36:51 <oerjan> a black hole. that should have maximal information density.
15:36:51 <ehird> I think
15:36:54 <ehird> well, apart from things like \1
15:37:00 <AnMaster> ehird, hm certain mirc versions *did* beep on \007 iirc
15:37:11 <AnMaster> also \\007 is just to escape it to echo...
15:37:16 <AnMaster> (and bash)
15:37:29 <ehird> well, mirc emulates a terminal pretty much
15:37:35 <ehird> including the select-is-copy behaviour
15:37:53 <AnMaster> ehird, +c doesn't. I saw a box saying [0722] in what you pasted above. Which is not printable
15:38:06 <ehird> Hm.
15:38:17 <ehird> ab
15:38:22 <ehird> See anything there?
15:38:25 <ehird> I guess \7 isn't copyable./
15:38:26 <AnMaster> yes: ab
15:38:30 <ehird> har har
15:38:50 <oerjan> <GregorR> "want" is to "need" as "theory" is to "fact" ... once you start getting technical, they're all the same :P
15:38:53 <AnMaster> and no, byte 7 isn't copyable
15:39:13 <AnMaster> err that was ambiguous
15:39:14 <oerjan> necessity is the mother of death, as i might say more often.
15:39:15 <AnMaster> anwyay
15:39:16 <AnMaster> anyway*
15:40:52 <ehird> <GregorR> "want" is to "need" as "theory" is to "fact" ... once you start getting technical, they're all the same :P
15:41:01 <ehird> that kind of thinking is unscientific and ultimately destructive
15:41:17 <oerjan> <ehird> also, their children are shaped like elongated eggs
15:41:21 <oerjan> but are they kosher?
15:41:39 <ehird> oh lawd
15:41:52 <oerjan> maybe not put the israelis on that idea
15:43:00 * oerjan has no clue whether that is grammatical
15:45:45 <ehird> think so
15:46:10 <oerjan> <ehird> wow, #macosx is so pointless to be in. it's all random chatter about bullshit and cannabis, and not one bit of os x talk
15:46:22 <ehird> let me guess, you're going to
15:46:26 <ehird> take "bullshit" literally
15:46:30 <ehird> c/d
15:46:31 <oerjan> maybe it means cannabis in some foreign language
15:46:39 <oerjan> WRONG!
15:46:46 <ehird> Ah yes, the veritable "Macosx plant".
15:46:49 <oerjan> er what's c/d?
15:46:53 <ehird> confirm/deny
15:47:15 <oerjan> yay, i managed to comply without understanding
15:49:32 <oerjan> 07:05:47 <ehird> it's like trying to break your toaster
15:49:32 <oerjan> 07:05:50 <ehird> you can do it, but who does
15:49:39 <oerjan> your children, obviously.
15:50:58 <oerjan> <ehird> AnMaster: I'm more worried about the unholy scramjet-equipped cyborg pigeons, an abomination against nature.
15:51:13 <oerjan> well the question here is whether scramjets can evolve...
15:51:49 <oerjan> might want to go via a dragon stage...
15:53:41 <oerjan> <ehird> my brain doesn't mentally parse the invisible
15:53:44 <oerjan> mine neither
15:53:51 <ehird> X_X
16:00:19 <oerjan> and that concludes my logreading. you should now be safe for a while, at least unless you say anything.
16:07:50 <ski__> anything.
16:09:51 <oerjan> you may or may not now still be safe. anyhow, food.
16:10:31 -!- ehird has set topic: Ⱒ GLAGOLITIC CAPITAL LETTER SPIDERY HA | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
16:16:19 <AnMaster> ...
16:16:24 <AnMaster> ehird, what are you trying to do?
16:16:30 <oerjan> my reaction exactly
16:16:35 <AnMaster> I see [2C22] in that topic
16:16:36 <ehird> what, it's a GLAGOLITIC CAPITAL LETTER SPIDERY HA.
16:16:38 <ehird> what did I do wrong?
16:16:43 <AnMaster> meaning you used some control code
16:16:47 <ehird> http://benfry.com/wp/wp-content/uploads/2008/05/spidery-170x205.png
16:16:47 <oerjan> oh
16:16:49 <ehird> no.
16:16:54 <ehird> it's a GLAGOLITIC CAPITAL LETTER SPIDERY HA.
16:17:00 <AnMaster> * ehird has changed the topic to: [2C22] GLAGOLITIC CAPITAL LETTER SPIDERY HA | http://tunes.org/~nef/logs/esoteric/?C=N;O=D
16:17:02 <ehird> the character that mocks you.
16:17:17 <ehird> AnMaster: control char / unicode learn2differenciate
16:17:34 <Asztal^_^> not http://www.inference.phy.cam.ac.uk/cjb/glagolitic.png ?
16:17:38 <ehird> *differentiate
16:17:40 <AnMaster> ehird, does any font have the complete unicode?
16:17:42 <ehird> Asztal^_^: no.
16:17:44 <ehird> AnMaster: code2000.
16:18:11 <AnMaster> ehird, is that symbol some phonetic one btw?
16:18:15 <AnMaster> it looks like it could be
16:18:23 <oerjan> hm that looks like the kind of letter you wouldn't like to meet in a dark alley
16:18:24 <ehird> it's glagolitic whatever that is
16:18:29 <AnMaster> k
16:18:34 <ehird> http://en.wikipedia.org/wiki/Glagolitic_alphabet
16:18:49 -!- Judofyr has quit (Remote closed the connection).
16:18:55 <AnMaster> oh I see
16:22:03 * ehird has conversation with human-that-fails-turing-test
16:22:23 <ehird> (http://www.satisfice.com/blog/archives/199)
16:24:03 <ski__> hm .. is there any voynich glyphs in unicode ?
16:24:13 <ehird> ski__: don't think so
16:24:15 <ehird> would be nice
16:24:19 <ehird> ask the conscript peeps?
16:25:08 <ehird> I'm going to tell this person I own the website I'm on
16:25:14 <ehird> Wonder how he'll react.
16:26:09 <ehird> No response. I guess this ain't covered in the script.
16:26:32 <ehird> "I am sorry but it is owned by somebody else. :) How may I help you today?"
16:26:36 <ehird> Time to be enraged!
16:28:04 <ehird> "Just to verify, do you own Webgreeter.com?"
16:28:08 <ehird> Like hell I do!
16:30:17 <ehird> I clicked away and lost the window :(
16:45:15 -!- Judofyr has joined.
16:52:43 -!- Hiato has joined.
16:53:59 -!- Jophish has joined.
17:13:01 <AnMaster> ski__, voynich?
17:13:28 <ehird> voynich manuscript
17:13:31 <ski__> <http://en.wikipedia.org/wiki/Voynich_manuscript>
17:13:34 <ehird> http://en.wikipedia.org/wiki/Voynich_manuscript
17:13:36 <AnMaster> ah
17:13:37 <ehird> snap
17:15:53 <AnMaster> afk for a few hours (out of town)
17:22:02 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
17:23:14 -!- FireFly has quit (Read error: 110 (Connection timed out)).
17:28:00 -!- BeholdMyGlory has quit (Remote closed the connection).
17:31:13 -!- DH__ has quit (Read error: 113 (No route to host)).
17:31:58 -!- BeholdMyGlory has joined.
17:37:33 -!- FireFly has joined.
18:46:42 -!- sebbu2 has joined.
18:59:08 -!- Judofyr_ has joined.
19:01:56 -!- sebbu has quit (Connection timed out).
19:06:00 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:06:30 -!- Judofyr has quit (Read error: 60 (Operation timed out)).
19:08:02 -!- oerjan has quit ("leaving").
19:16:35 -!- poiuy_qwert has joined.
19:20:24 -!- MizardX has joined.
19:22:27 <ehird> 10:17:39 <ehird> #define LintSucksSoGodDamnMuch (void)printf
19:22:29 <ehird> xD
19:22:31 <ehird> i am funny.
19:26:10 -!- olsner has joined.
19:29:58 -!- Impomatic has joined.
19:44:01 -!- kar8nga has joined.
19:49:10 -!- Hiato has quit (Connection timed out).
20:09:28 <Jophish> I'm having a bit of trouble implementing a Modulo operator in brainfuck
20:09:39 <Jophish> would anybody be able to point me to am example?
20:10:59 <ehird> it's on the wiki
20:11:04 <ehird> lemme find it
20:11:09 <Jophish> oh great
20:11:14 <Jophish> thanks very much
20:11:18 <ehird> Jophish: http://esolangs.org/wiki/Brainfuck_algorithms#Divmod_algorithm
20:11:28 <ehird> does division too but should be easy to hack to your needs
20:11:53 <Jophish> sure
20:11:59 <Jophish> This is a livesaver!
20:12:11 -!- jix has joined.
20:12:14 <Jophish> I have been doing some stupidly long algorithm for this
20:12:26 <tombom> what, is this for your misson-critical application at work or something
20:12:37 <ehird> Jophish: :)
20:12:38 <ehird> tombom: haha
20:12:49 <ehird> he programs airplane flight systems in bf
20:13:31 <Jophish> how did you find out?
20:13:42 <tombom> it's stable!
20:14:03 <Jophish> one of the resons I chose it. plus it is very portable
20:14:10 <Jophish> what's not to like!
20:14:42 <ehird> :D
20:20:35 -!- Judofyr has joined.
20:22:55 <Jophish> hmm, having this short algorithm makes it much harder to form my code into a funny shape
20:25:54 -!- poiuy_qwert has quit.
20:30:32 -!- BeholdMyGlory has quit (Remote closed the connection).
20:30:49 -!- BeholdMyGlory has joined.
20:31:05 -!- BeholdMyGlory has quit (Remote closed the connection).
20:33:03 -!- BeholdMyGlory has joined.
20:36:03 -!- FireFly has quit (Nick collision from services.).
20:38:58 -!- Judofyr_ has quit (Read error: 110 (Connection timed out)).
20:47:54 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
20:57:39 <ehird> http://imgur.com/1977 oh god yes
20:57:43 <ehird> mm
20:59:57 -!- GreaseMonkey has joined.
21:10:11 <Impomatic> Hmmm...
21:21:19 <Impomatic> I've just about finished implementing a minimal Forth in Redcode. 36 Forth words in 85 Redcode instructions.
21:21:55 <ehird> neat!
21:21:59 <ehird> can we see? :)
21:22:14 <ehird> also, how do you run redcode things like that?
21:22:20 <ehird> can pmars run 'standalone' programs?
21:22:43 <Impomatic> I'm using exmars streams, which has extra opcodes for i/o
21:22:56 <Impomatic> ARES also has i/o, but implemented differently
21:23:14 <ehird> Ah...
21:24:06 <Impomatic> But with a few macros, it'd be possible to make them equivalent. It's possible to check which mars a program is being run in.
21:25:16 <Impomatic> I had to make a few compromises though :-( E.g. rename a few words + -> plus, * -> times, etc
21:25:21 <ehird> http://www.macosiphone.co.cc/ <- macintosh system 7 on an iphone :-|
21:25:24 <ehird> Impomatic: aw, why?
21:30:39 <Impomatic> ehird: because I'm implementing using macros, which have a limited character set
21:30:59 <ehird> ok
22:09:57 -!- tombom has quit ("Peace and Protection 4.22.2").
22:22:20 <kerlo> "What is the area of the largest rectangle that can be inscribed in the ellipse 4x^2 + 9y^2 = 36?"
22:23:06 <kerlo> My method: Note that 4x^2 + 9y^2 = 36 is actually a circle. Do the obvious. Note that it's an ellipse instead.
22:23:06 <ehird> 7
22:24:58 <kerlo> No, the number after 7.
22:25:09 <kerlo> I assume you took that from A013655.
22:25:23 -!- Impomatic has quit ("mov.i #1,1").
22:27:06 -!- BeholdMyGlory has quit (Remote closed the connection).
22:31:15 -!- BeholdMyGlory has joined.
22:46:48 -!- jix has quit ("...").
22:49:44 <ehird> kerlo: xD
23:00:01 -!- Ilari_ has joined.
23:03:38 -!- comexk has joined.
23:03:51 -!- sebbu has joined.
23:05:11 -!- sebbu has quit (brown.freenode.net irc.freenode.net).
23:05:13 -!- Asztal has quit (brown.freenode.net irc.freenode.net).
23:05:13 -!- bsmntbombdood has quit (brown.freenode.net irc.freenode.net).
23:05:13 -!- Jophish has quit (brown.freenode.net irc.freenode.net).
23:05:14 -!- kerlo has quit (brown.freenode.net irc.freenode.net).
23:05:15 -!- lament has quit (brown.freenode.net irc.freenode.net).
23:05:17 -!- comexk has quit (brown.freenode.net irc.freenode.net).
23:05:17 -!- lifthrasiir has quit (brown.freenode.net irc.freenode.net).
23:05:19 -!- GreaseMonkey has quit (brown.freenode.net irc.freenode.net).
23:05:19 -!- olsner has quit (brown.freenode.net irc.freenode.net).
23:05:19 -!- MizardX has quit (brown.freenode.net irc.freenode.net).
23:05:19 -!- fungot has quit (brown.freenode.net irc.freenode.net).
23:05:19 -!- fizzie has quit (brown.freenode.net irc.freenode.net).
23:05:19 -!- Deewiant has quit (brown.freenode.net irc.freenode.net).
23:05:23 -!- ski__ has quit (brown.freenode.net irc.freenode.net).
23:05:52 -!- sebbu has joined.
23:05:52 -!- comexk has joined.
23:05:52 -!- GreaseMonkey has joined.
23:05:52 -!- olsner has joined.
23:05:52 -!- MizardX has joined.
23:05:52 -!- Jophish has joined.
23:05:52 -!- lifthrasiir has joined.
23:05:52 -!- Asztal has joined.
23:05:52 -!- kerlo has joined.
23:05:52 -!- lament has joined.
23:05:52 -!- bsmntbombdood has joined.
23:05:52 -!- fungot has joined.
23:05:52 -!- fizzie has joined.
23:05:52 -!- Deewiant has joined.
23:05:52 -!- ski__ has joined.
23:07:35 -!- SimonRC_ has joined.
23:10:01 -!- oklopol has joined.
23:10:09 <oklopol> how you doing
23:10:52 <ehird> "The main contender, ReiserFS, dropped out of the race because its creator decided to pursue other interests"
23:10:53 <ehird> XDD
23:10:55 <ehird> oklopol: fine kthx u
23:12:33 <oklopol> well, i failed my first exam
23:12:41 <oklopol> so i had to change my life philosophy
23:12:50 <oklopol> which took a while, thus the offline time
23:13:09 <oklopol> (nah i was just too lazy to open a new server window)
23:13:20 <ehird> oklopol: wait did u rly failers :|
23:13:39 -!- olsner has quit ("Leaving").
23:13:51 <oklopol> well.
23:13:59 <oklopol> depends on the definition of failing
23:14:04 <oklopol> by my definition yes
23:14:11 <ehird> oklopol: so you got 99%?
23:14:24 <fizzie> 4. (3) fail, go bad, give way, die, give out, conk out, go, break, break down -- (stop operating or functioning; "The engine finally went"; "The car died on the road"; "The bus we travelled in broke down on the way to town"; "The coffee maker broke"; "The engine failed on the way to town"; "her eyesight went after the accident")
23:14:43 <fizzie> oklopol: Did your exam CONK OUT?
23:16:03 <oklopol> well i couldn't integrate sqrt(x^2 + 1) without using the formulas we were given, mainly because i got tired halfway through; anyway resulted in me almost tearing the paper in half and leaving, i then removed the whole answer to the exercise, and did another question instead, managed to remember a definition wrong and proved the wrong thing.
23:16:20 <oklopol> s/exercise/question
23:16:48 -!- GreaseMonkey has quit ("Client Excited").
23:16:58 <oklopol> so at least they should give me a zero from that, so at max i can get 75%, which as a grade would be like 3/5
23:17:02 <oklopol> well
23:17:07 <oklopol> that's pretty much a fail by any definition
23:17:26 <fizzie> It's not a fail by the "0 grade equals fail" definition, which in some sense is the official one.
23:17:41 <oklopol> well, true, i didn't fail the course
23:17:54 <ehird> oklopol: 75% isn't bad.
23:18:00 <fizzie> Fail the battle, not the war.
23:18:01 <ehird> by which i mean that's pretty damn good.
23:18:03 <ehird> :P
23:18:11 <oklopol> umm no it's my first non 5/5
23:18:19 <oklopol> so it's very bad.
23:19:05 <ehird> oklopol, just
23:19:06 <ehird> shut up
23:19:06 <ehird> :
23:19:08 <ehird> P
23:19:18 <oklopol> anyway if i fail more of these exams i have piled up here, i will probably stop caring about my grades completely
23:19:19 <oklopol> i mean
23:19:39 <oklopol> if i try my best, and it just isn't good enough.
23:19:43 <oklopol> that's
23:19:45 <oklopol> you know
23:19:47 <oklopol> depressing.
23:20:07 <ehird> yeah 75% is practically earth shattering failure
23:20:09 <oklopol> ehird: heh, that's what people keep telling me, i don't understand why :D
23:20:11 <ehird> you should just go home man
23:20:16 <ehird> and like
23:20:17 <fizzie> We've got some people here who do the whole "non-perfection == not acceptable" thing re grading, but personally I've never really seen the point.
23:20:18 <ehird> kill yourself
23:20:31 <oklopol> ehird: it's a shattering failure considering how much i did for the course.
23:20:41 <ehird> hahahaha oklopol you amuse me.
23:20:49 <oklopol> :)
23:21:10 <fizzie> See, you have a budding career as an ehird-amuser there.
23:21:21 <ehird> YES
23:21:27 <ehird> i'll give you food!
23:21:30 <oklopol> fizzie: no point, just an arbitrary goal.
23:21:52 <fizzie> Why can't this web-based study-result-browsamator compute grade point averages? Silly. It can in the PDF reports, but not in the web interface.
23:21:57 <ehird> oklopol: soooo ... don't do it again?
23:21:57 <oklopol> something i decided to do that isn't all that destructive
23:21:59 -!- comex has quit (Connection timed out).
23:22:00 <ehird> pretty simple
23:22:10 <ehird> if it was like 50% i'd understand
23:22:15 <ehird> but it's not going to happen again now is it :P
23:22:16 <fizzie> Maybe "averaging" is such a computationally intensive algorithm they can only do it offline.
23:22:41 <oklopol> ehird: 50%? you won't pass the course with a 50%
23:22:43 <fizzie> In most of our exams 50 % of points is the line between 0 and 1.
23:22:52 <fizzie> Approximately, anyway.
23:22:57 <ehird> oklopol: thus, I said, if it was 50% i'd understand.
23:23:00 <oklopol> well okay you will usually pass it with exactly that, as fizzie pointed out
23:23:07 <ehird> but it's not, it's 75%.
23:23:21 <fizzie> Why is this PDF report in Swedish? I don't get it.
23:23:41 <oklopol> no one gets swedish
23:24:22 <ehird> no one is swedish
23:24:26 * oklopol wished ais here
23:24:29 <oklopol> *wishes
23:26:07 <fizzie> Personally I only get a a-failure-am-I feeling out of grades that are <3. (Less than three, not a-heart-symbol.)
23:26:45 <fizzie> And I've got some of those too, which is why I don't like looking at these reports.
23:26:56 <oklopol> fizzie: anyway the point is pretty much just that after you get 5/5 from your first 6 or so exams, it's easy to go "hey, maybe i could get a 5/5 from EVERYTHING", and the obsession begins.
23:27:10 <fizzie> Yes, I guess it could go like that.
23:27:41 <oklopol> i did a few courses during high school tho, didn't really study for them, so i have a few 3's already
23:27:52 -!- sebbu2 has quit (Connection timed out).
23:27:59 <ehird> oklopol: all(5/5)-1 isn't too bad either though is it huh.
23:28:00 <oklopol> (average was 5/5 already when i started though)
23:28:05 <ehird> okay i understand it's not pretty
23:28:08 <ehird> i kinda sympathize there
23:29:02 -!- SimonRC has quit (Connection refused).
23:29:26 <oklopol> aesthetics are important. i love looking at numbers.
23:29:45 <ehird> oklopol: okay, make a pattern out of your grades
23:29:46 <ehird> liek
23:29:50 <oklopol> :)
23:29:55 <ehird> 5 5 5 5 3 4 4 5 4 3 3 4 5
23:29:57 <ehird> i dunno
23:30:04 <lament> 333333333333333333333333333
23:30:16 <oklopol> lament: is that pi?
23:30:19 -!- Ilari has quit (Connection timed out).
23:30:20 <ehird> 5 5 5 5 5 4 4 4 4 3 3 3 2 2 1
23:30:21 <lament> yes.
23:30:31 <oklopol> lament: i remember seeing it somewhere
23:30:38 -!- Ilari_ has changed nick to Ilari.
23:30:45 <oklopol> how did euler's constant go then?
23:30:52 <oklopol> the same with 2's?
23:31:21 <lament> no
23:31:25 <lament> it's more complicated
23:31:29 <ehird> also how is that pi
23:31:35 <lament> 2718171817181718171817181718171817181718171817 etc
23:31:53 <oklopol> right right
23:32:00 <lament> crap, that's wrong
23:32:13 <lament> 27182818281828182818281828
23:32:22 <oklopol> ah yes
23:32:27 <oklopol> :P
23:32:46 <oklopol> how dare you make my randomness funny!
23:36:22 -!- Sgeo has joined.
23:37:03 -!- Jophish has quit (Read error: 60 (Operation timed out)).
23:54:36 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
2009-03-03
00:04:52 -!- evenant has quit.
00:11:59 <ehird> 11:25:59 <ais523> but autoconf noticed that youre system didn't need that, and commented out the line
00:12:00 <ehird> 11:26:05 <ais523> s/youre/you're/
00:12:51 <Sgeo> Four words four words!
00:14:45 <oklopol> :D
00:14:52 <Sgeo> oklopol, OOTS fan?
00:15:09 <oklopol> object oriented transsexuality
00:15:11 <oklopol> yes
00:15:33 <oklopol> but err is it some rpg kinda thing?
00:15:51 <oklopol> i think i've heard my friends talk about something very close to that
00:16:19 <oklopol> ah order of the stick
00:16:24 <oklopol> do you mean the comic or the game?
00:16:36 <oklopol> probably the first one. i've read very little of it.
00:18:01 <Sgeo> Comic
00:18:40 <oklopol> i've read a few random ones, it's not really for me.
00:20:55 <oklopol> i don't really follow any comics, i just occasionally accidentally read whole comics because i just keep pressing next until they run out
00:26:06 <oklopol> why isn't my body symmetric
00:31:54 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
00:33:01 -!- oklopol has joined.
00:44:20 -!- Judofyr_ has joined.
00:49:22 -!- BeholdMyGlory has quit (Remote closed the connection).
00:50:42 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
01:39:45 -!- Sgeo_ has joined.
01:39:45 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
02:47:35 -!- poiuy_qwert has joined.
03:46:32 <kerlo> Hi, friendly programmers. How would I turn the Haskell expression (all (`elem` ['a'..'z'])) into Python?
04:19:58 <poiuy_qwert> i know python, if you explain what that does i can give you the equivalent
04:22:41 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
04:22:57 <poiuy_qwert> kerlo
04:23:38 <kerlo> That checks that all characters in a string are not before 'a' and not after 'z'.
04:23:55 <kerlo> s/not/neither/; s/and not/nor/
04:24:11 <Slereah> What does it return, a boolean?
04:24:37 <Slereah> In python that would be stuff not in ['a'..'z'], IIRC
04:24:45 <kerlo> A boolean, yes.
04:24:53 <Slereah> Just look up the "in" operator in python
04:25:16 <kerlo> I take it ['a'..'z'] iz the same thing as 'abcdefghijklmnopqrstuvwxyz'.
04:25:48 -!- bsmntbombdood has joined.
04:25:57 <Slereah> Yes, though I forgot the exact syntax.
04:26:01 <Slereah> It's been a while
04:27:14 <poiuy_qwert> [c for c in yourString if ord(c) in "acdefghijklmopqrstuvwyz"]
04:27:26 <Slereah> wat
04:27:35 <kerlo> string.lowercase, I guess.
04:27:37 <poiuy_qwert> sorry
04:28:02 <poiuy_qwert> if yourString == ''.join([c for c in yourString if ord(c) in "acdefghijklmopqrstuvwyz"])
04:28:41 <kerlo> I'm not filtering out all non-lowercase-letter characters...
04:28:51 <poiuy_qwert> good point
04:29:21 <kerlo> I refuse to use a language other than Python!
04:29:36 <Slereah> Then totally use not in
04:29:40 <kerlo> I don't really know anything other than Python and Haskell, and the Glasgow Haskell Compiler doesn't work where I want it to.
04:29:47 <kerlo> Oh, you said not in.
04:30:18 <kerlo> >>> 'foo' not in string.lowercase
04:30:19 <kerlo> True
04:30:23 <poiuy_qwert> import re; isonlyletters = re.compile('[^a-zA-Z]'); if isonlyletters.match(yourString):
04:30:32 <kerlo> That comes across as wrong.
04:30:48 <Slereah> The operator not in is defined to have the inverse true value of in.
04:31:01 <kerlo> Well, then, not in isn't helping.
04:31:01 <Slereah> The operators in and not in test for collection membership. x in s evaluates to true if x is a member of the collection s, and false otherwise
04:31:17 <Slereah> Is it not?
04:31:27 <kerlo> Using regexes is kind of ugly, but oh well.
04:32:03 <kerlo> import re; nice = re.compile('[a-z]{2-8}'); print nice.match(yourString)
04:32:17 <kerlo> Will that be True if and only if yourString is 2-8 letters a-z?
04:32:53 <poiuy_qwert> yeah, but not including A-Z
04:33:01 <kerlo> You know what? I'm just going to do something else entirely. :-P
04:33:10 <poiuy_qwert> you need to add re.I as second parameter or add A-Z in the [] too
04:33:13 <kerlo> Attempt to do everything; if some exception is thrown, undo everything.
04:34:14 <kerlo> Sound like a plan?
04:34:37 <poiuy_qwert> go ahaid
04:34:47 <kerlo> I mean, I'm going to check for failure anyway.
05:12:29 -!- Sgeo_ has quit ("Leaving").
05:19:34 -!- GreaseMonkey has joined.
07:55:08 -!- tombom has joined.
07:56:14 -!- tombom_ has joined.
07:56:14 -!- tombom_ has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:16 -!- Jophish has joined.
08:47:24 -!- Jophish has quit (Connection timed out).
09:09:13 -!- GreaseMonkey has quit ("Client Excited").
09:28:34 -!- poiuy_qwert has quit (Remote closed the connection).
09:41:42 -!- tombom has quit (Read error: 104 (Connection reset by peer)).
09:41:45 -!- tombom_ has joined.
09:55:02 -!- tombom_ has quit (Remote closed the connection).
09:55:05 -!- tombom has joined.
10:02:53 <fizzie> A rather unusual job: http://www.f-secure.com/weblog/archives/00001618.html
10:03:13 <fizzie> Note how altruistic they are: "We also do quite a bit of manual research. We *suffer* so your kids don't."
10:13:49 <oklopol> :P
11:15:28 <oklopol> <nooga> have you seen the photo of the ultimate nerd? <<< no, i haven't
11:17:16 <oklopol> <Keymaker> if someone knows any good befunge interpreter <<< i hear this cfunge thing is pretty cool
11:25:44 -!- ais523 has joined.
11:51:06 <AnMaster> oklopol, thanks
11:52:43 <AnMaster> ais523, hi
11:53:20 <ais523> hi
11:53:22 <AnMaster> question: what is the exact issue with threaded intercal and external C code
11:53:32 <AnMaster> I might have an idea how to solve it
11:53:41 <AnMaster> but it depends very much on what the exact issue is
11:54:17 <ais523> AnMaster: the problem is that threaded intercal relies on program flow always being inside main
11:54:29 <ais523> and it uses setjmp/longjmp to record where in main() it's got to
11:54:36 <AnMaster> ais523, hm... but surely it will sometimes call stuff like putchar or printf?
11:54:48 <ais523> yep
11:54:54 <ais523> but that's inside a statement, and statements are atomic
11:54:58 <ais523> between statements it's always in main()
11:55:05 <ais523> within a statement it can call whatever it likes
11:55:25 <AnMaster> ais523, would it be possible to mark it to always interact with the first main thread or something like that?
11:55:31 <AnMaster> and other threads being pure intercal
11:55:54 <AnMaster> ais523, considering you could have pure C threads that never return but run in the background iirc
11:56:11 <ais523> cooperative multithreading
11:56:16 <AnMaster> true
11:56:27 <AnMaster> ais523, a global interpreter lock then?
11:56:29 <AnMaster> :)
11:56:31 <AnMaster> nah
11:56:31 <ais523> and the real problem is that each thread has a separate NEXT stack
11:56:37 <ais523> which corresponds to a different call stack in C
11:56:50 <AnMaster> ais523, setcontext/getcontext?
11:56:56 <ais523> so they effectively have to be different threads, or different processes, in the C code if you're mixing threading models
11:57:00 <ais523> I do have an idea on how to solve it
11:57:04 <AnMaster> oh?
11:57:34 <AnMaster> ais523, my idea was to make it so only one intercal thread interacted with C. But maybe that won't work.
11:58:10 <AnMaster> not the way you describe the issue
11:58:16 <ais523> which would be INTERCAL thread = C process
11:58:26 <AnMaster> hm
11:58:46 <AnMaster> ais523, you mean you have OS level threads in ick?
11:58:56 <AnMaster> as the solution
11:59:00 <ais523> not at the moment, but the only way to do C + threaded INTERCAL seems to be to use them
11:59:03 <AnMaster> then how would you sync them
11:59:05 <ais523> and OS level processes, not threads
11:59:11 <AnMaster> ais523, what about setcontext/getcontext?
11:59:12 <ais523> and synched using mutexes and other such constructs
11:59:56 <AnMaster> ais523, separate processes would sure mess up IFFI.
12:00:08 <ais523> well, yes
12:00:14 <ais523> but I tend to document such restrictions
12:00:17 <AnMaster> yeah
12:00:20 <ais523> and work out insane solutions to them later
12:00:50 <AnMaster> ais523, cfunge even uses unlocked stdio when possible to reduce overhead... Definitely not thread safe
12:01:03 <ais523> thread-safe != process-safe
12:01:11 <AnMaster> nor process safe
12:01:21 <ais523> part of the reason to use processes not threads is that pretty much nothing's shared between INTERCAL threads
12:01:32 <AnMaster> oh btw cfunge now has an option to use fully buffered stdout, reducing time on mycology when not redirecting to /dev/null by about 20%
12:01:33 <ais523> only abstention status is shared
12:02:01 <AnMaster> for /dev/null about 1-2% due to also using a larger buffer
12:02:35 <AnMaster> ais523, hm what about scheduling? isn't it documented to be on a round robin basis? or is that "may change in future"?
12:03:50 <AnMaster> ais523, hm I believe cfunge could be partly made thread safe though, without locks...
12:04:18 <ais523> AnMaster: the documentation's more fun than round-robin
12:04:22 <AnMaster> 1) only funge space + a few other bits of global state are shared between funge threads...
12:04:26 <ais523> it's documented as "will not get out of synch by more than one command"
12:04:31 <AnMaster> 2) funge space could use CAS for the static area
12:04:35 <ais523> which round-robin fulfils, but which could be fulfilled in other ways too
12:04:57 <AnMaster> yeah that is messy...
12:05:26 <AnMaster> ais523, is that command == one statement?
12:05:49 <AnMaster> or some sub-statement thing?
12:06:09 <ais523> one command is meant to == one statement
12:06:11 <AnMaster> ah
12:06:22 <ais523> although WHILE messes it up quite badly, I'm not sure if I've documented that
12:07:13 <AnMaster> FILE, REFC, SOCK, SCKE and a few other would need locks btw... In core only funge space and creating/destroying threads...
12:07:19 <AnMaster> but funge threads are round robin
12:07:22 <AnMaster> so pointless
12:07:45 <AnMaster> nah, not even going to try to make cfunge thread safe
12:07:55 <AnMaster> or multi-process safe
12:08:24 <AnMaster> (well it is, doesn't use shared memory or such, but then stuff like funge space isn't shared. separate instances)
12:12:01 <AnMaster> blergh this sucks. Was profiling a program. Turns out that most time is spent in one of the functions with shortest time / call. And there are enough 1594330251 calls to it.
12:12:15 <AnMaster> + there is no simple way to make it faster...
12:12:24 <ais523> in that case, change your algorithm so it's called less
12:12:35 <ais523> that was my solution in a similar profiling situation
12:12:50 <AnMaster> ais523, called from lots of different places in the code. And large code base
12:13:05 <AnMaster> (crossfire-server)
12:16:28 <AnMaster> actually there seems to be a tiny bit of thing that could help here...
12:38:39 <oklopol> unhello.
12:38:42 <oklopol> ->
12:43:14 <fizzie> When leaving, always remember to unhello any helloes you might have said when entering a conversation, otherwise the channel might run out of resources.
12:44:02 <ais523> fizzie: what OS are you using? All modern OSs restore helloes to the common pool when a client quits on a connection to an IRC server running there...
12:44:31 <fizzie> I still think it's good manners to explicitly unhello.
12:44:54 <ais523> presumably that's why his became so popular instead, they're automatically deallocated when they go out of scope
13:00:23 <AnMaster> heh
13:01:01 <AnMaster> urgh, profiling data so large that gprof takes over 2 minutes to load it... wth
13:01:45 -!- Mony has joined.
13:02:36 <ais523> 2 minutes?
13:02:46 <ais523> when profiling Perl, it often takes 10 minutes to half an hour to process all the details
13:02:49 <Mony> plop
13:04:21 <Slereah> Hey Mona
13:04:35 <Mony> je suis pas Mona Lisa ok >_<
13:05:47 <AnMaster> ais523, really?
13:05:47 <AnMaster> wow
13:05:59 * ais523 vaguely wonders if a Mony / Slearah conversation here would be in English or French
13:06:05 <AnMaster> ais523, I would have expected it to be a lot faster
13:06:12 <Slereah> But when I say Mona, I mean Mona from 2ch.
13:06:40 -!- Asztal has quit (brown.freenode.net irc.freenode.net).
13:06:58 -!- Asztal has joined.
13:09:21 <Mony> [14:06] * ais523 vaguely wonders if a Mony / Slearah conversation here would be in English or French <-- maybe in frenglish
13:10:27 <AnMaster> hm
13:24:21 <ehird> so
13:24:26 <ais523> so what?
13:24:34 <ais523> sorry, couldn't resist
13:24:38 <ehird> three things
13:24:39 <ehird> "We *suffer* so your kids don't."
13:24:42 <ehird> excellent job.
13:24:45 <ehird> 04:29 kerlo: I don't really know anything other than Python and Haskell, and the Glasgow Haskell Compiler doesn't work where I want it to.
13:24:47 <ehird> that explains a lot.
13:24:50 <ehird> and
13:24:55 <ehird> I'm probably going to implement INTERCAL.
13:25:01 <ais523> yay at the last one
13:25:09 <ais523> the INTERCAL market could do with a new compiler to drive innovatoin
13:25:11 <ais523> *innovation
13:25:18 <Slereah> Market.
13:25:25 <Slereah> Tons of people buy INTERCAL.
13:25:28 <ais523> what version do you plan to implement first? INTERCAL-72? something custom? something compatible with one of the existing compilers?
13:25:37 <ehird> probably INTERCAL-72 with my own tweaks
13:25:44 <Slereah> What I would totally buy is the original INTERCAL compiler on punchcards.
13:25:44 <ehird> for example, I'm probably going to change the error messages a bit
13:25:49 <ehird> but the actual generated code should behave properly
13:25:54 <Slereah> I could frame it or something
13:26:01 <ehird> ais523: i have plenty of good ideas: compiler options in the filesize, for instance.
13:26:03 -!- jix has joined.
13:26:36 <ais523> ehird: filesize? that's ingenious, I was planning to put it in the last-modified time
13:26:40 <ais523> but filesize is probably more portable
13:26:51 <ehird> exactly
13:26:55 <ehird> portability is key!
13:27:11 <ehird> oh, I also want to include an INTERCAL IDE
13:27:17 <ehird> and I have a seriously perverse way of doing it
13:27:20 <ais523> I wanted to write an INTERCAL IDE, too
13:27:22 <ais523> I have plans
13:27:26 <ehird> hard on me, hard for the user
13:27:37 <ais523> involving an entirely new sort of highlighting that isn't syntax highlighting but is just as useful
13:27:47 <ais523> actually, I should implement that seriously, it might be useful for other languages too
13:27:52 <ais523> also, I was going to add unlockable content
13:28:05 <ais523> because I was trying to think "what's the most ridiculous thing I can put in an IDE", and unlockable content was it
13:28:12 <ehird> ais523: let's put it this way: the non-OS X distribution will be a qemu running linux that boots right into GNUStep and starts the ide
13:28:22 <ehird> then it communicates with your filesystem & INTERCAL with a socket
13:28:30 <ehird> (you have to manually start intercal with the interfacing program)
13:28:52 <ais523> how does it act on OS X?
13:29:00 <ais523> we can combine our ideas, they aren't incompatible so far
13:29:31 <ehird> ais523: on OS X, it acts like a windows application circa win95, ported to OS X (badly)
13:29:36 <ehird> except it was originally written for OS X
13:29:39 <ais523> ok
13:29:47 <ais523> what graphics toolset?
13:30:16 <ais523> I suggest X11 plus Athena widgets
13:30:23 <ais523> but designed in such a way it nevertheless only works on OS X
13:30:25 <ehird> ais523: I was planning on using an unholy blend of Cocoa and Carbon — Carbon so that I could make native controls behave completely unlike normal
13:30:36 <fizzie> Ooh, I like the "unlockable content in an IDE" thing. "You have to grind at the project settings dialog before you unlock version control integration."
13:30:40 <ehird> haha
13:30:49 <ehird> ais523: my plans are mostly interface-wise, so yours will blend well with mine
13:31:17 <ehird> ais523: I was planning to do the hyper-detailed status bar of files as a bunch of unfocused windows aligned below in a grid; if you move one, it snaps back, if you resize one, it snaps back, if you focus it, it focues the text
13:31:23 <ehird> if you move the file window, they tag along dozily
13:31:29 <ehird> but if you move one over another, they swap places
13:31:37 <ehird> (like a toolbar rearrangement dialog)
13:32:29 <ais523> anyway, my revolutionary highlighting idea is repetition highlighting
13:32:42 <ehird> heh, clever
13:32:54 <ehird> the agile junkies would love that (because they'd try and stop it happening)
13:33:07 <ais523> I haven't worked out all the details, but things are highlighted according to how much of the surrounded code was repeated, and how many times the locality had been repeated
13:33:18 <ais523> that would have saved me a couple of days in one project I did
13:33:32 <ais523> trying to track down a bug which was due to accidentally pasting in the first half of a table of contents twice
13:33:37 <ais523> *constants
13:34:21 <ehird> ais523: do you think people would actually use it with the silly vmware distribution? :D
13:34:30 <ais523> at least one person would
13:34:36 <ehird> you?
13:34:36 <ais523> but preferably qemu, I've got that installed already
13:34:40 <ais523> yes, me
13:34:42 <ais523> to try it out
13:34:44 <ehird> possibly qemu
13:34:47 <ehird> iirc vmware is faster
13:34:48 <ais523> but lots of other people would have a look though
13:34:50 <ehird> and also, it can share the FS
13:34:51 <ehird> without a socket
13:35:01 <ais523> actually, I suggest you just distribute it as a bootable .iso
13:35:18 <ais523> that nonetheless only boots inside a virtualiser
13:35:18 <ehird> ais523: I think it's funny when a native distribution ends up being a wrapper against an emulator of some kind
13:35:22 <ehird> for example, Google Earth on linux uses Wine
13:35:28 <ehird> (yes yes wine isn't an emulator)
13:35:56 <ais523> well, even linking against a compatibility library is amusing
13:36:06 <ehird> ais523: I was going to call it IDE: INTERCAL Destruction Enabler
13:36:17 <ehird> or perhaps Defenestration
13:36:21 <ehird> INTERCAL Defenestration Enabler
13:36:42 <ais523> I had a great name for it, but I can't remember what it was
13:39:04 <ehird> I had an excellent name for my compiler yesterday but I forgot it
13:39:26 <ais523> does it end "ick"?
13:39:33 <ehird> oh, wait
13:39:38 <ehird> I was going to call the compiler eww(1)
13:39:51 <ehird> or perhaps ugh(10
13:39:53 <ehird> *1)
13:39:54 <ais523> a break with tradition, that's an INTERCAL tradition in itself
13:39:59 <ehird> exactly!
13:40:05 <ehird> ais523: I'm going to have a custom license, just to infuriate debian
13:40:11 <ais523> surely you should break with tradition by not breaking with tradition, though?
13:40:16 <ehird> it'll be contradictory, but also have clauses on how to resolve contradictions
13:40:20 <ais523> also, make it one that's GPL-compatible at least in case I need to steal code
13:40:32 <ehird> ais523: it should basically come down to the MIT license
13:40:36 <ais523> ok
13:40:42 <ais523> actually, even better:
13:40:45 <ehird> i was also going to have an EULA
13:40:59 <ehird> which basically required the user to be insane to use the program, or at least to pretend to be insane while interacting with it
13:41:10 <ehird> but the EULA presenter would be written in intercal
13:41:13 <ais523> add a clause stating that all advertising to do with the distribution must mention and thank the Regents of the University of California, although mention that they don't endorse your code
13:41:17 <ehird> so first it'd compile the compiler, with the eula bit off
13:41:22 <ehird> which will only compile the eula
13:41:26 <ehird> it'll compile the eula, run it
13:41:26 <ais523> also, I'd just reject the EULA
13:41:29 <ais523> and use the code anyway
13:41:31 <ehird> then the eula will flip the bit on the compiler
13:41:42 <ehird> ais523: I'd make sure it doesn't actually impose any obligations
13:41:46 <ehird> also, you'd have to manually hex edit the file
13:41:49 <ais523> it will presumably be open-source, I should be able to edit out the EULA
13:41:51 <ehird> and find out which bit to change
13:42:36 <ais523> why would that require hex-editing, anyway?
13:42:39 <AnMaster> ehird, why would qemu be needed for this IDE btw?
13:42:43 <ais523> besides, most EULAs can be modified using strings
13:42:56 <ehird> AnMaster: because it'd require gnustep, and also modify stuff in /etc and the like
13:43:16 <AnMaster> very insane and not really in an intercal-y way
13:43:20 <AnMaster> intercaly*
13:43:32 <ais523> AnMaster: anything sufficiently different from expectations is intercally
13:43:36 <AnMaster> hm
13:43:43 <ais523> people are starting to form certain expectations about INTERCAL, we need to shock them out of it
13:43:43 <ehird> requiring qemu to run an IDE that looks like a windows 95 application ported to OS X ported to GNUStep sounds sufficiently intercal to me
13:43:45 <ehird> in a modern way, that is
13:43:54 <ehird> it's applying the principles of INTERCAL to a modern age.
13:43:56 <ehird> or something.
13:44:13 <AnMaster> ehird, that is too post-modern
13:44:25 <AnMaster> oooh. post-intercal?
13:44:35 <ehird> no, post-modern would be the compiler starting qemu, opening the IDE, which runs a preloader, and then opens vi on the host
13:45:45 <ehird> ais523: how do you think an INTERCAL repl would work?
13:46:02 <ais523> each line you write is appended to a program that accumulates lines
13:46:10 <ehird> that's just boring
13:46:17 <ais523> then it runs the whole thing, repeating input that you gave on previous runs, and not printing output that it printed on previous runs
13:46:27 <ais523> so you can do a COME FROM or whatever and modify what you wrote on previous lines of the REPL
13:46:34 <ais523> it sounds boring, but it drives me mad thinking about the implications
13:47:32 <ais523> the best bits of INTERCAL are the bits that look innocent
13:47:51 <ehird> anyway, my plan is to announce the new compiler's first working release to alt.lang.intercal on april 2nd, having never talked about it outside of here previously
13:47:57 <ehird> "just when you thought the releases were over..."
13:48:09 <ais523> sounds good, I'll try to keep it secret in the meantime
13:48:31 <ehird> I wonder if anyone else wrote an INTERCAL compiler while being unable to code INTERCAL?
13:48:36 <ehird> actually, probably most of them
13:48:41 <ehird> certainly the princeton one
13:48:50 <ais523> are you planning to write a compiler or an interp?
13:48:56 <ais523> and at least the princeton people wrote syslib.i
13:48:59 <ehird> ais523: neo-interpilerism
13:49:08 <ais523> it had a couple of bugs, but they at least tried
13:49:44 <ehird> what does the clc in clcintercal stand for?
13:49:45 <ehird> the author?
13:49:51 <ais523> yep, it's his initials
13:50:29 <ehird> maybe i'll call mine CLWNPA
13:51:16 <ehird> oh, I also intend to have an object system based on Conscientious objectors
13:53:04 <ehird> how does that work? Beats me.
13:54:25 <ehird> Huh.
13:54:25 <ehird> http://www.catb.org/~esr/intercal/nelson.html
13:54:33 <ehird> Ted Nelson, the Xanadu kook, comments on COME FORM.
14:03:25 -!- M0ny has joined.
14:04:48 <ehird> I think I'll have an Evil Wrangler.
14:04:55 <ehird> Instead of ghc's Evil Mangler.
14:05:05 <ehird> It will be written in Illiterate Perl, which is Perl with the keywords changed to chavspeak.
14:05:16 <ehird> The Illiterate->Regular Perl translator will be written in a new variant of Literate Perl.
14:05:26 <ehird> So you need to translate the translator so you can translate the wrangler.
14:05:29 <ehird> Ahem. Xzibit?
14:07:06 <ehird> Oh look, qt 4.5 is out.
14:07:22 <ehird> "The latest version of Webkit is now integrated with the toolkit"
14:07:23 <ehird> Nice.
14:08:23 <ehird> http://tinyarro.ws/ <- This is stupid, IDN is flaky and a lot of software will explode on contact with the unicode.
14:09:06 <ais523> I thought the point of it was so you could make software explode on contact with unicode
14:09:14 <ehird> no, it's meant to be serious
14:09:20 <ehird> also, good freaking luck linking to that IRL
14:09:24 <ehird> which is a major use for tiny urls
14:09:27 <ais523> yes
14:09:47 <ais523> they mentioned getting around the Twitter byte limit, but that doesn't work, it's a byte limit not a character limit...
14:10:04 <ehird> yeah, twitter is written in Ruby, and they expect unicode awareness? :P
14:10:24 <ehird> it's not hard to get a one byte domain if you really want too, per previous discussions here
14:10:26 <ais523> is Ruby Unicode-aware?
14:10:41 <ehird> ais523: ruby 1.9 can do unicode, before that: nope.
14:10:50 <ehird> well, there was half-baked hacky support for it, but it broke most things.
14:11:07 <ehird> ais523: it had excellent SIJS support, though
14:11:26 <ehird> (the main reason for no unicode is basically that all the users were japanese for the majority of its lifetime)
14:12:34 <ehird> ais523: hey, a link to TAEB on proggit!
14:12:41 <ais523> yes, I know
14:12:50 <ais523> that's what persuaded paxed to finally fix the exploit
14:12:59 <ais523> although he's keeping the nature of the fix secret for the time being
14:13:08 <ais523> it's not actually about TAEB itself, just the article was posted on the TAEB blog
14:13:26 <ehird> do nethack devs get some sort of perverse enjoyment out of secrecy?
14:13:40 <ais523> probably not
14:13:48 <ais523> but we suspect it's a security-through-obscurity fix
14:14:03 <ehird> lawl.
14:14:31 <ehird> "You can verify this by typing "nethack" into two separate terminals, then quickly hitting enter in each"
14:14:42 <ehird> or, y'know, spawn two `screen`s with nethack in simultaneously via the shell
14:14:45 <ehird> :P
14:14:56 <ehird> instead of trying to perfect your 1337 alt-tab-enter skillz
14:15:41 <ehird> "paxed, one of the admins of nethack.alt.org, patched nethack to use a truly random seed so that this specific exploit can no longer be used on that server."
14:15:44 <ehird> please say hotbits
14:17:22 <ais523> actually, the huge hoohah was that it was patched to use a seed from /dev/urandom, but it was cracked anyway
14:17:32 <ais523> there are people brute-forcing the seed from the random numbers observed in-game
14:17:32 <ehird> hahaha
14:17:58 <ais523> apparently that's the exploit that paxed recently fixed, nobody's sure how yet
14:19:02 <ehird> ais523: funny thing:
14:19:07 <ehird> twitter's 140 byte limit comes from SMS
14:19:16 <ehird> do you think you can enter these links over SMS? :P
14:19:22 <ehird> pretty silly overall
14:19:31 <ais523> I have no idea how to type unicode on a mobile phone
14:19:40 <ais523> apart from the characters that are on the iterated-through lits
14:19:42 <ais523> *lists
14:19:46 <ehird> you can't
14:19:48 <ais523> I don't particularly care to try, either
14:19:50 <ehird> well, on a regular phone
14:19:59 <ehird> on an iphone you could probably hack up something to do it
14:20:04 <ehird> or any other programmable phone
14:21:51 -!- Mony has quit (Read error: 110 (Connection timed out)).
14:22:59 -!- M0ny has changed nick to Mony.
14:27:37 <ais523> re the topic: is GLAGOLITIC CAPITAL LETTER SPIDERY HA actually in Unicode?
14:27:39 <ais523> it isn't in my font
14:27:41 <ehird> yep
14:27:44 <ehird> here's what it looks like:
14:27:54 <ehird> http://benfry.com/wp/wp-content/uploads/2008/05/spidery-170x205.png
14:28:03 <ehird> as you can tell, it is a spidery creature that laughs at you.
14:29:55 <ehird> hmm, starting an intercal compiler is hard
14:30:02 <ehird> all of the standard test programs are implementation specific...
14:30:21 <ais523> syslib.i is a standard test program and not implementation specific
14:30:41 <ais523> but then, you need some way to drive it to run
14:30:44 <ehird> but it doesn't -do- anything that you can perceive :P
14:30:47 <ais523> what do you mean by standard test programs, anyway?
14:30:55 <ehird> things like hello world, cat, etc
14:31:02 <ais523> pit/tests in C-INTERCAL has quite a few test programs, many of which aren't implementation-specific
14:31:04 <ehird> basic trivial programs that you make work with your implementation as a first step
14:31:20 <ais523> the reason that things like hello world and cat are specific is that you need extensions to INTERCAL-72 just to be able to write them
14:31:30 <ehird> yes
14:35:03 <ais523> what do you plan to ignorret as?
14:35:17 <ais523> I'd love an INTERCAL compiler that somehow manages to find a legit reason to return 42, or something
14:35:21 * ehird scurries to find out what ignorret is <_<
14:35:49 <ais523> wow, the first Google hit is acutally relevant
14:35:56 <ehird> yes, but useless
14:36:03 <ais523> and none of the others are relevant
14:36:09 <ais523> basically, ignorret's a simple INTERCAL test program
14:36:12 * ehird downloads ick
14:36:17 <ais523> that manages to give a different result on each of the main implementatinos
14:36:20 <ais523> *implementations
14:36:20 <ehird> ah
14:36:30 <ehird> where is it?
14:36:40 <ais523> pit/tests/ignorret.i
14:36:50 <ais523> see, the first google result /wasn't/ entirely useless
14:36:56 <ehird> :P
14:37:20 <ehird> ais523: I stare at blank incomprehension at ignorret.{i,doc}. I'm gonna have a hard time, aren't I?
14:37:31 <ais523> yes
14:38:16 <ais523> that particular interaction was never defined in INTERCAL-72
14:38:24 <ais523> so reading the docs won't help either
14:38:29 <ehird> Heck, I'd be happy to understand the individual parts.
14:38:34 <ais523> presumably, this is why all the major interps ended up returning different answers
14:38:49 <ais523> anyway, the first line should be pretty self-explanatory
14:38:58 <ais523> as should the third, and the sixth
14:39:01 <ehird> Yes, if I knew what IGNORE and RETRIEVE were.
14:39:11 <ehird> STASH is that weird stack thing, right?
14:39:12 <ais523> IGNORE makes a variable read-only
14:39:22 <ais523> as in, writes to it silently fail
14:39:33 <ais523> STASH and RETRIEVE push and pop a variable on its own stack
14:39:42 <ais523> each variable has a stash stack, STASH pushes it and RETRIEVE pops it
14:40:03 <ais523> the point of contention is what happens to the read-only status when the stack of the variable it refers to is pushed or popped
14:40:04 <ehird> okay, so what is .1 after DO STASH .1?
14:40:10 <ais523> it's a variable name
14:40:16 <ehird> what is its value, I mean
14:40:39 <ais523> 1
14:40:46 <ehird> ah, wait
14:40:47 <ehird> ais523: so
14:40:48 <ais523> STASH doesn't modify a variable's value
14:40:53 <ehird> .1 = {1}, stack = {}
14:40:54 <ehird> .1 = {1}, stack = {1}
14:40:55 <ehird> then
14:40:58 <ehird> if you write 2 to .1
14:41:01 <ehird> .1 = {2}, stack = {1}
14:41:03 <ehird> then retrieve
14:41:04 <ais523> yes
14:41:05 <ehird> .1 = {1}, stack = {}
14:41:13 <ehird> right, that's simple enough
14:41:16 <ais523> yep
14:41:19 <ais523> except there's an ignore line
14:41:25 <ehird> yes, I'll get to that
14:41:26 <ehird> DO .1 <- #1
14:41:27 <ehird> DO STASH .1
14:41:28 <ehird> DO .1 <- #2
14:41:30 <ehird> .1 = {2}, {1}
14:41:34 <ehird> I assume that's uncontroversial
14:41:36 <ais523> yep
14:42:07 <ehird> ais523: okay, and retrieve boils down to "DO .N <- popped value"
14:42:12 <ais523> yes
14:42:15 <ehird> so, the retrieve after the ignore,
14:42:23 <ehird> makes .1 = {2}, {}
14:42:31 <ais523> because .1 is read-only?
14:42:35 <ais523> that's the J-INTERCAL interpretation
14:42:35 <ehird> exactly
14:42:41 <ehird> then, it's still ignored, so writing #3 to .1 does nothing
14:42:47 <ais523> yep
14:42:55 <ehird> so the output is 2, 2, 2
14:43:02 <ais523> well, just 2,2
14:43:08 <ais523> there's only two READ OUT statements there
14:43:10 <ehird> oh, right
14:43:19 <ais523> the CLC-INTERCAL interpretation is this:
14:43:25 <ehird> actually
14:43:25 <ehird> ais523:
14:43:29 <ehird> that'/s the C-INTERCAL interpretation
14:43:32 <ehird> from .doc
14:43:46 <ais523> oh, yes
14:43:49 <ais523> sorry
14:43:51 <ais523> misremembered
14:43:57 <ehird> The
14:43:57 <ehird> ignorance status is stashed along with the variable itself
14:43:58 <ehird> hmm
14:44:06 <ais523> CLC-INTERCAL stashes metadata
14:44:09 <ehird> ais523: does the standard say STASH stashes a variable or the variable's value?
14:44:19 <ehird> if it says value, mine's right, if it says something more encompassing, CLC-INTERCAL is right
14:44:41 <ais523> "The values are left intact, and copies thereof are saved for later retrieval by (what else?) the RETRIEVE statement (see section 4.4.6)."
14:44:51 <ehird> ok, it's values
14:44:58 <ehird> I'd say CLC-INTERCAL is objectively wrong there, then
14:45:04 <ehird> since the metadata is absolutely not part of the value
14:45:16 <ais523> well, INTERCAL evolves over time
14:45:24 <ais523> I'd say CLC-INTERCAL's interpretation is an extension
14:45:25 <ehird> true
14:45:27 <ais523> that makes STASH more useful
14:45:33 <ehird> yes, that's the thing
14:45:33 <ais523> J-INTERCAL's behaviour is probably just wrong
14:45:41 <ehird> J-INTERCAL sucks, as far as I can tell
14:45:52 <ais523> J-INTERCAL isn't as advanced as either of the others
14:46:48 <ehird> anyway, I was imagining ignorret would be some highly-gnarly evil program
14:46:56 <ehird> :P
14:47:02 <ais523> nope, the simple ones are more fun
14:47:08 <ais523> it's even portable to different bases
14:47:12 <ehird> ha
14:49:14 <ehird> ais523: anyway, I'd probably go with CLC-INTERCAL in practic
14:49:14 <ehird> e
14:49:17 <ehird> since it'd be more useful
14:49:22 <ehird> although...
14:49:26 <ais523> well, CLC-INTERCAL has a lot more metadata to stash
14:49:28 <ehird> ais523: does IGNORE make the variable or the variable's value immutable?
14:49:45 <ais523> C-INTERCAL's solution is to stash all the metadata that CLC-INTERCAL invented, but not metadata invented elsewhere
14:49:54 <ais523> ehird: there's no difference in standard INTERCAL-72
14:50:05 <ehird> there is, the stash stack :P
14:50:06 <ehird> but I mean
14:50:08 <ais523> "The statement DO IGNORE list causes all subsequent statements to have no effect upon variables and/or arrays named in list"
14:50:14 <ehird> ok, well
14:50:22 <ehird> having an effect on the stash stack counts as an effect on variables
14:50:31 <ehird> so, the RETRRIEVEs do nothing
14:50:34 <ehird> in strict intercal-72
14:50:35 <ais523> actually, it wouldn't be beyond the bounds of possibility that it would be impossible to STASH or RETRIEVE an ignored variable
14:50:42 <ehird> yes
14:50:47 <ehird> that's the literal reading of IGNORE
14:51:07 <ehird> ais523: funnily the output would be 2, 2
14:51:09 <ehird> just like C-INTERCAL
14:51:21 <ehird> maybe ignorret should be updated to handle that possibility...?
14:52:11 <ais523> it will be now you've brought that up
14:52:38 <ais523> it'll make the program slightly more complicated, but may as well test the interactions
14:53:01 <ais523> anyway, people are always making new observations about the INTERCAL standard
14:53:16 <ais523> I know that sorear, when he was writing the vim syntax highlight file for INTERCAL, concluded that whitespace was allowed inside keywords
14:53:34 <ais523> although I'm not sure on what basis, and all implementations I know of ban whitespace in that particular location
14:53:35 <ehird> ha
14:54:03 <ehird> i've been thinking about unhelpful helpers
14:54:04 -!- Judofyr_ has quit (Read error: 131 (Connection reset by peer)).
14:54:14 <ehird> syntactic sugar and the like that looks really useful, but works in such a horrid way that it's hell to use
14:54:33 <ais523> Release 0.27 (by Alex Smith) 22 Dec 2007 | 1. Joris Huizer pointed out that the manual nowhere says that a GIVE UP line can't be abstained from by line number.
14:54:35 <ehird> for example, a string literal syntax that packs N 9-bit characters per array element, where N is the successive elements of the fibonacci sequence
14:54:43 <ais523> it only took 35 years to catch that particular weirdness of the spec
14:54:46 <ais523> I'm sure that ther are others
14:54:47 <ehird> heh
14:55:06 <ais523> C-INTERCAL corrects for that now, AFAIR the other impls didn't bother
14:55:06 <ehird> ais523: thoughts about that string literal syntax? hmm, maybe even make how it's packed depend on the string content...
14:55:28 <ais523> the obvious thing to do is have a start-string marker but no end-string marker
14:55:33 <ais523> and end the string at the next thing that looks like a statement
14:55:47 <ais523> surprisingly, CLC-INTERCAL would parse that just fine, C-INTERCAL might have more trouble
14:56:58 <ais523> it would certainly be an interesting fix to the escaping problem
14:59:07 <ehird> heh
14:59:54 <ais523> and the start-string marker would presumably be a keyword
14:59:56 <ais523> rather than punctuation
15:00:01 <ehird> ais523: why not overload "?
15:00:04 * ehird cackles
15:00:19 <ais523> that would depend on the syntax
15:00:23 <ehird> not alternating "/' either, " is always the one overloaded
15:08:38 <ehird> ais523: do you think CLWNPA is a good name? (Pronounced "interrcall", with a short a).
15:08:45 -!- Asztal has quit (brown.freenode.net irc.freenode.net).
15:08:46 <ais523> yes, I do
15:08:59 -!- Asztal has joined.
15:17:16 -!- ais523 has quit ("relunching. Why am I eating twice as much as normal nowadays?").
15:23:52 <ehird> "The Clang project is an effort to build a set of new 'LLVM native' front-end technologies for the LLVM optimizer and code generator. While Clang is not included in the LLVM 2.5 release, it is continuing to make major strides forward in all areas. Its C and Objective-C parsing and code generation support is now very solid. For example, it is capable of successfully building many real-world applications for X86-32 and X86-64, including the FreeBSD kernel
15:23:54 <ehird> and gcc 4.2."
15:23:56 <ehird> AnMaster: maybe clang _is_ ready.
15:24:07 <AnMaster> ehird, oh?
15:24:16 <AnMaster> I looked at the status page for it recently
15:24:16 <ehird> well, to a degree
15:24:28 <ehird> compiling gcc is an impressive achivement
15:24:34 <AnMaster> ehird, it can handle most of C but not very much C++ yet
15:24:42 <AnMaster> ehird, without or without bootstrapping?
15:24:53 <ehird> AnMaster: 1. does that matter for C programs? 2. not sure
15:25:09 <AnMaster> ehird, no it doesn't matter for C programs. But their goal is C++
15:25:20 -!- Slereah has quit.
15:25:26 <ehird> True. But you said that clang wasn't ready for C
15:25:39 <AnMaster> when?
15:25:40 <ehird> Maybe I'll try clang for the next thing I write in C
15:25:49 -!- Slereah has joined.
15:25:50 <AnMaster> ehird, also I said it was almost ready iirc
15:26:04 <AnMaster> since last I tested it (1-2 months ago) it could almost handle cfunge
15:26:06 <ehird> AnMaster: yesterday or so, you said clang wasn't ready when I mentioned it
15:26:09 <AnMaster> just one thing it failed at
15:26:13 <ehird> what?
15:26:22 <AnMaster> hm?
15:26:28 <AnMaster> oh you mean what it failed at?
15:26:34 <ehird> yes
15:26:38 <AnMaster> right. stuff like:
15:26:50 <AnMaster> static struct mystruct foo = { .a = blah }
15:26:54 <AnMaster> C99
15:27:05 <AnMaster> that is, the ".a = " bit is C99
15:27:17 <AnMaster> but maybe it can handle that now
15:27:25 <AnMaster> I don't know
15:27:38 <AnMaster> bbiab
15:27:40 <AnMaster> (food)
15:27:41 <ehird> ah
15:27:44 <ehird> well that's rather trivial
15:32:53 -!- impomatic has joined.
15:33:09 <impomatic> Hi :-)
15:33:31 <ehird> hi
15:33:33 <oklopol> hi
15:33:44 <AnMaster> ehird, iirc some developer said it wasn't _that_ trivial back then
15:34:12 <oklopol> couldn't you just translate it in the other initialization syntax and use the existing system
15:34:29 <AnMaster> oklopol, you would need to fill in values in some places
15:35:16 -!- Hiato has joined.
15:35:22 <AnMaster> what is struct mystruct is: { char z[32]; int a; void *b; struct anotherstruct c; union blergh whatever; }
15:35:24 <oklopol> that's a trivial problem
15:35:42 -!- Asztal has quit (brown.freenode.net irc.freenode.net).
15:36:09 <AnMaster> oklopol, also using this special syntax is the only way you can initialise anything but the first member of an union like that
15:36:21 <AnMaster> sure you could do myunion.foo = 2; or such in code
15:36:29 <AnMaster> oklopol, so you can't always translate
15:36:35 <AnMaster> especially not for unions
15:37:03 -!- Asztal has joined.
15:37:11 <AnMaster> oklopol, so I'd say it is "simple" rather than "trivial"
15:37:17 <AnMaster> to add support
15:37:23 -!- oerjan has joined.
15:37:30 <AnMaster> oerjan, IWC
15:37:31 <AnMaster> err
15:37:33 <AnMaster> I mean
15:37:34 <AnMaster> hi!
15:37:36 <oklopol> well yes, that may be true.
15:37:41 <oerjan> fnord
15:37:50 <AnMaster> oerjan, dronf
15:38:08 <AnMaster> that is a float version of the math.h dron() I guess...
15:40:18 <oerjan> determine random obnoxious number
15:41:02 <AnMaster> oerjan, yeah
15:41:18 <ehird> hey, didn't psygnisfive say he goes to stony brook university?
15:41:58 <AnMaster> ehird, think it was him yes
15:42:00 <AnMaster> not 100% sure
15:42:30 <ehird> cool, just noticed slava akhmechet (of defmacro.org) does too
15:47:45 -!- ais523 has joined.
15:48:14 <ais523> wb me
15:48:14 <oerjan> hi ais523
15:48:19 <ais523> hi oerjan
15:53:23 <oerjan> <kerlo> My method: Note that 4x^2 + 9y^2 = 36 is actually a circle. Do the obvious. Note that it's an ellipse instead.
15:53:27 <oerjan> erm...
15:53:32 <oerjan> i don't think so
15:53:48 <ais523> 4x^2 + 9y^2 = 36 is an ellipse
15:54:01 <oerjan> it's not a circle
15:54:29 <ais523> I think kerlo's method is to make an incorrect assumpsion, see where it breaks down, and find out what the correct alternative is instead
15:54:55 <oerjan> although it _would_ still work by rescaling if you can show that the largest rectangle inscribed in an ellipse is necessary parallel to the axes
15:55:10 <oerjan> which it probably is
15:55:58 <oerjan> in fact if this is an ordinary calculus test they're probably assuming that's obvious
15:56:13 <ehird> ais523: can you provide some rhyme/reason to this WTF: http://pastie.org/404648.txt?key=kjkf82sgtymwyt44eapphq
15:56:17 <oerjan> (or geometry)
15:56:57 <AnMaster> ais523, I already did it, by testing on gcc 4.1.2 and not seeing that behaviour that ehird just described. Thus implying a bug. But why I wonder...
15:57:30 <ehird> I tracked down a bug that I thought was in a package to this... Crazy... I can't believe this is common to all OS X gcc users...
15:58:02 <oerjan> An omg.c was compiled // in two slightly different ways // the result was eerily wild // But just don't ask me what it says
15:58:23 <AnMaster> ehird, well most programs don't use cpp directly. They just call cc
15:58:37 <AnMaster> only program using cpp directly I can think of atm is ick
15:59:18 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:59:21 -!- impomatic has quit ("mov.i #1,1").
15:59:24 <oerjan> ehird: rhyme enough for you?
15:59:32 <ehird> AnMaster: ocaml
15:59:35 <ehird> using cpp preprocessor
15:59:51 <AnMaster> ehird, ok. That makes it two that I can think of
15:59:56 <AnMaster> btw why does ocaml do that?
16:00:03 -!- ais523 has joined.
16:00:14 <AnMaster> ais523, what did you miss?
16:00:25 <AnMaster> the question? and/or my comment to it?
16:00:27 <oerjan> *sigh* no respect for poetry even when they are _asking_ for it :(
16:00:43 <AnMaster> oerjan, yeah, horrible isn't it
16:01:00 <AnMaster> oerjan, what meter did that poetry use?
16:01:10 <AnMaster> if any
16:01:10 <ais523> AnMaster: both
16:01:10 <ais523> also, what did oerjan say?
16:01:16 <AnMaster> <ehird> ais523: can you provide some rhyme/reason to this WTF: http://pastie.org/404648.txt?key=kjkf82sgtymwyt44eapphq
16:01:18 <ais523> actually, I'll logread it, I haven't done that in a while
16:01:19 <oerjan> no idea what it's called
16:01:19 <ehird> AnMaster: the package used ocaml
16:01:20 <AnMaster> <AnMaster> ais523, I already did it, by testing on gcc 4.1.2 and not seeing that behaviour that ehird just described. Thus implying a bug. But why I wonder...
16:01:21 <ehird> err
16:01:23 <AnMaster> <oerjan> An omg.c was compiled // in two slightly different ways // the result was eerily wild // But just don't ask me what it says
16:01:24 <ehird> ocaml lets you specify a preprocessor
16:01:28 <ais523> AnMaster: I saw that
16:01:32 <ehird> for... preprocessing
16:01:36 <ehird> and this package used cpp for tha
16:01:36 <ehird> t
16:01:40 <AnMaster> ais523, you didn't answer ehird's question
16:01:46 <AnMaster> as far as we saw
16:01:52 <ais523> yes I did, presumably the reply was never sent
16:02:00 <AnMaster> <AnMaster> as far as we saw
16:02:03 <AnMaster> <ais523> yes I did, presumably the reply was never sent
16:02:11 <AnMaster> thank you Cpt. Obvious
16:02:13 <ais523> [16:02] <AnMaster> <AnMaster> as far as we saw
16:02:13 <oerjan> the . is supposed to be silent, btw
16:02:14 <ais523> [16:02] <AnMaster> <ais523> yes I did, presumably the reply was never sent
16:02:27 <ehird> ais523: I didn't see the answer?
16:02:27 <AnMaster> ais523, here it was over 6 second difference...
16:03:43 <oerjan> <ehird> "The main contender, ReiserFS, dropped out of the race because its creator decided to pursue other interests"
16:03:47 <oerjan> AAAAAAAAAAAAAA
16:04:07 <oerjan> never gets old, that
16:04:11 <oerjan> then neither did his wife
16:04:40 <AnMaster> oerjan, when is that quote from?
16:04:59 <oerjan> 15:10:52 yesterday
16:05:02 <ehird> AnMaster: http://www.defmacro.org/ramblings/relational.html I believe I linked it
16:05:09 <oerjan> (clog time)
16:05:14 <AnMaster> hm
16:05:19 <AnMaster> and what was ehird quoting?
16:05:22 <ehird> http://www.defmacro.org/ramblings/relational.html
16:05:39 <AnMaster> ah
16:06:07 <AnMaster> ehird, yeah when != what. So first time you said it, it wasn't a relevant answer ;P
16:06:22 <AnMaster> err s/what/where/
16:06:52 <oerjan> AnMaster: where must you be so picky about interrogative pronouns?
16:07:25 -!- ais523_ has joined.
16:07:42 <ehird> wb
16:07:45 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
16:07:48 <ais523_> argh, it still didn't show up
16:08:05 <ehird> ais523_: any ideas?
16:08:28 <ais523_> ehird: your results don't happen on my machine either, so it's probably a glitch specific to your version of gcc
16:08:32 <oerjan> <oklopol> well, i failed my first exam
16:08:33 <ais523_> SPL #0, <-1
16:08:36 <oerjan> *GASP*
16:08:40 <ais523_> ah, finally
16:08:43 <oerjan> group hug!
16:08:50 <ais523_> I was trying to prevent impomatic's quit message overwriting the lgos
16:08:52 <ehird> ais523_: but it's -apple-distributed-. surely they would have done some BASIC TESTS?!
16:08:52 <ais523_> *logs
16:09:02 <ais523_> ehird: that's kind-of obscure, rather than a basic test
16:09:05 <ehird> oerjan: he got 75%
16:09:09 <ais523_> besides, apple-distributed programs have been known to screw up
16:09:09 <ehird> ais523_: ## is not obscure!!
16:09:16 -!- FireFly has joined.
16:09:17 <ehird> ## is insanely common...
16:09:19 <ais523_> ehird: I mean, cpp vs. gcc -E
16:09:26 <ais523_> they probably tested with gcc -E not cpp
16:09:27 <oklopol> i don't know what i got, i just reasoned i couldn't get *more than* 75%.
16:09:28 -!- ais523_ has changed nick to ais523.
16:09:32 <ehird> retardzz
16:09:35 <ehird> gah
16:09:41 <ehird> but I can't compile tons of programs like this
16:09:44 <ais523> Apple famously messed up the packaging of Perl recently
16:09:47 <ais523> it was on Slashdot
16:09:51 <ehird> ah yes
16:10:08 <oerjan> oklopol: you are aware this may not be the definition of "fail" most human beings use, right?
16:10:10 * ais523 hopes that imp gate was written correctly
16:10:16 <ais523> I don't know redcode all that wel...
16:10:20 <ais523> *well
16:10:34 <oklopol> oerjan: yes, but that's very irrelevant
16:10:47 <AnMaster> oerjan, IWC was weird today. Had to read the forum to understand it
16:10:54 <oklopol> you fail when you need to lower your bar
16:11:09 <ais523> well, my bar's in different places in different subjects
16:11:19 <oerjan> AnMaster: oh i remembered the similar one from when head death _entered_, so i compared them
16:11:22 <ais523> I consider the bare pass mark of 50% excellent in some of my project management modules
16:11:27 <oerjan> and indeed they seem to fit
16:11:32 <oklopol> heh.
16:11:38 <ais523> I got 49% on my last piece of coursework on that, it's averaged with another that I've done but hasn't been marked yet
16:12:23 <oklopol> (i sometimes consider a 5/5 a fail if many ppl get it... but i guess i have to admit *that's* pretty stupid)
16:12:39 <ais523> how can full marks possibly be a fail?
16:12:56 <ais523> actually, I was really annoyed when I got 99% on one technology exam I did at school
16:13:03 <ais523> because I could have got 101% if only I hadn't got two questions wrong
16:13:11 <ehird> give it 110%
16:13:18 <ais523> and apart from in A-levels where it's trivial, scoring above 100 is quite an achivement
16:13:28 <oklopol> ais523: well you know if many people get the best possible grade, i'm not well above average!
16:15:50 <oklopol> i recently had this exam where 10/20 didn't show up, 5 failed, 3 got a 1/5, one got a four and i got a five
16:15:50 <AnMaster> <oerjan> AnMaster: oh i remembered the similar one from when head death _entered_, so i compared them <-- didn't do that until after I checked forum
16:16:03 <oklopol> and i was like WTF HOW CAN THIS GUY GET JUST ONE LESS THAN ME
16:16:17 <oklopol> and then i called a psychiatrist and was put away
16:16:23 <AnMaster> oerjan, I still don't see where money got into it
16:16:40 <oklopol> head death
16:16:47 <oerjan> AnMaster: i haven't checked the forum, i have changed to only checking it every few days, it's faster if i do it in more bulk
16:17:09 <AnMaster> <ais523> because I could have got 101% if only I hadn't got two questions wrong <-- wait. How many % is all of it...
16:17:31 <ehird> AnMaster: it's for "bonus questions"
16:17:33 <ehird> i.e.
16:17:34 <AnMaster> ah
16:17:35 <AnMaster> still
16:17:37 <ais523> AnMaster: 100, but I got a bonus mark on one of the questions
16:17:40 <ehird> "Blah blah blah. For bonus marks, tell us why green is purple."
16:17:54 <AnMaster> ehird, is green purple?
16:17:59 <ais523> there wasn't an explicit bonus question there, but the teacher was so impressed with my answer to one of the questions that I got a bonus mark anyway
16:17:59 <ehird> yes.
16:18:00 <oerjan> AnMaster: oh well head death asks what he owes doesn't he
16:18:04 <AnMaster> ehird, why?
16:18:13 <ehird> don't question your elders.
16:18:23 <AnMaster> ehird, err. you are younger than me
16:18:31 <AnMaster> oerjan, ah hm true
16:18:49 <ehird> DON'T QUESTION YOUR ELDERS.
16:18:58 <AnMaster> ais523, and how did you manage to impress the teacher like that?
16:19:09 <ais523> I can't remember, it was ages ago
16:19:11 <ehird> by writing a good answer?
16:19:13 <ehird> JUST THEORIZIN'
16:19:18 <AnMaster> ehird, well duh...
16:19:49 <oerjan> AnMaster: by being smarter than the teacher, i guess
16:20:00 <AnMaster> ehird, when I answer like that to a question that _you_ asked then you get irritated. Same when I _ask_ such as question.
16:20:05 <AnMaster> ehird, that makes no sense
16:20:06 <oerjan> and also having a teacher who doesn't mind students who are smarter
16:20:13 <ehird> AnMaster: Don't question your elders.
16:20:38 <AnMaster> ehird, you must be based on the gramophone technology.
16:21:16 <oerjan> AnMaster: maybe that webchatter or whatever technology he mentioned yesterday
16:22:13 <AnMaster> oerjan, I think I missed that. What was it about? Don't have X running atm. So like ais523 I just ask instead of looking at clog
16:22:29 <oerjan> AnMaster: i do suspect a number of the times ehird complains about you, he just does it for the hell of it
16:22:48 <AnMaster> oerjan, ooh. That would make sense in fact.
16:22:50 <ehird> oerjan: DON'T SUSPECT YOUR ELDERS
16:22:59 <AnMaster> ehird, you must be based on the gramophone technology.
16:23:12 <oerjan> ehird: you are not my elder
16:23:19 <ehird> SHUT UP.
16:23:20 <ehird> YOUR ELDERS.
16:23:31 <oklopol> WE ARE THE WARRIORS
16:23:32 <AnMaster> yes. gramophone
16:23:36 <AnMaster> stuck, repeating the same line over and over.
16:23:49 <AnMaster> ehird, that's no Elder...
16:25:47 <oerjan> AnMaster: it was some insane thing on reddit, a program that could be used for various support to talk to people on the web with scripting, but used in such a stupid way that it looked like there _was_ no human on the support end
16:26:19 <ehird> oerjan: actually, the people started acting human after that article, apparently
16:26:24 <ehird> (complaining about reddit influx)
16:26:43 <oerjan> ehird: reddit, the nuclear cluehammer :D
16:28:50 <AnMaster> oerjan, err...
16:28:55 <AnMaster> oerjan, link?
16:29:12 * ais523 detonates a well-sharpened pencil at oerjan
16:29:15 * AnMaster is willing to start browser to check this out
16:30:01 <ehird> ais523: RIP well-sharpened pencils :(
16:30:03 <ehird> AnMaster: you need java
16:30:16 <ehird> http://www.webgreeter.com/
16:30:39 <ais523> if that turns out to have been an AI all along...
16:30:47 <ehird> heh
16:30:49 <ehird> be very afraid
16:31:08 <AnMaster> I do have java... Just not in browser
16:31:17 <oerjan> oh dear you mean reddit has trained skynet?
16:31:19 <AnMaster> java for linux x86_64 doesn't have a plugin part
16:31:37 <oerjan> that would be nuclear cluehammer in the other direction, i guess
16:31:38 <AnMaster> only the standalone java/javac/and/such
16:41:45 <oerjan> <fizzie> See, you have a budding career as an ehird-amuser there.
16:41:59 <oerjan> wait what, i don't like competition
16:42:04 <ehird> :D
16:42:44 <ais523> ehird: :D at your :D
16:42:52 <ais523> you managed to make a meta-joke with one smiley, that's pretty impressive
16:42:57 <AnMaster> oerjan, who was that line directed at?
16:43:09 <oerjan> oklopol
16:43:41 <oklopol> oerjan
16:43:48 <oerjan> oklopol
16:43:53 <oklopol> oerjan
16:43:57 <oerjan> oklopol
16:43:59 <oklopol> oerjan
16:44:03 <oerjan> oklopol
16:44:04 <oklopol> oerjan
16:44:06 <oerjan> oklopol
16:44:08 <oklopol> oerjan
16:44:09 <AnMaster> ...
16:44:16 <ais523> wow, it's like a botloop
16:44:22 <ais523> but with humans
16:44:28 <Mony> xD
16:44:34 <AnMaster> ais523, I thought that too
16:44:38 <oerjan> well some of them are suspected to be human
16:44:39 <oklopol> ^ luckily oerjan got tired
16:44:49 <oerjan> oklopol: no, AnMaster just broke it
16:45:00 <oklopol> hmm
16:45:02 <oklopol> i guess.
16:45:02 <oerjan> which is just as well, before we got banned
16:45:17 <oklopol> yes probably for the best that you lost so abruptly
16:45:21 <AnMaster> so who was it really?
16:45:24 <AnMaster> now tell the truth
16:45:31 * oerjan swats oklopol -----###
16:45:31 <AnMaster> I don't think it was oerjan
16:45:37 <oklopol> the truth is nothing but a lie wrapped in a pretty cake
16:45:40 <AnMaster> <oerjan> <fizzie> See, you have a budding career as an ehird-amuser there.
16:45:41 <AnMaster> <oerjan> wait what, i don't like competition
16:45:55 <AnMaster> if it was oerjan that reply would be very strange
16:46:05 <oerjan> i have told the truth all the time, i have never lied in my life
16:46:19 <AnMaster> really?
16:46:24 <oklopol> it's funny because it's a lie!
16:46:26 <ehird> no, that's a-
16:46:28 <ehird> :|
16:46:38 <oerjan> surreally, perhaps
16:49:42 <oerjan> <oklopol> no one gets swedish
16:49:52 <oerjan> inte en själ!
16:50:05 <ais523> I have lied at least once
16:50:11 <ais523> but I have also told the truth at least once
16:50:16 <ehird> 16:50 ais523: I have lied at least once
16:50:20 <ehird> that would be the lie, I presume
16:50:31 <ais523> I'll leave you wondering
16:50:38 <oerjan> i have done at least one of those
16:51:39 <AnMaster> oerjan, verkligen?
16:52:03 <oerjan> AnMaster: stop your incomprehensible babbling!
16:52:21 <AnMaster> ais523, then you should guard a door. ;P
16:52:37 <ais523> AnMaster: given what the doors around here are like, I'd better not
16:52:53 <AnMaster> ais523, I wasn't making a reference to that
16:52:59 <oerjan> AnMaster: he can be the one who stabs people who ask complicated questions. </xkcd>
16:53:17 <AnMaster> oerjan, nah, I think he is too nice for that
16:53:32 <oerjan> maybe, maybe
16:53:33 <ais523> the trick to solving that particular XKCD problem is to have a question that solves the problem but doesn't sound complicated
16:53:43 <oerjan> or he could have put on that appearance
16:53:47 <FireFly> [17:49:55] <oerjan> inte en själ!
16:53:48 <ais523> "What would you say if I asked you if this door lead to freedom?" is my attempt
16:53:55 <FireFly> That looks so strange in an english channel :<
16:54:00 <ehird> ais523: tricky
16:54:02 <ehird> not complicated
16:54:09 <oerjan> ais523: except the xkcd also mentioned none of the doors actually lead out
16:54:12 <ais523> is that a tricky question?
16:54:14 <ais523> ah, and ok
16:54:24 <ais523> actually, based on the drawing, the doors seem to lead /in/
16:54:35 <ais523> also, with three doors, no way you can determine all the information with a yes-or-no question
16:55:43 <ehird> http://cairnarvon.rotahall.org/pics/lslw.jpg
16:55:52 <AnMaster> FireFly, ja det gör det. Men han talar norska
16:56:07 <AnMaster> ändå är det begripligt
16:56:26 <oerjan> AnMaster: um gör jag vel inte
16:56:48 <AnMaster> oerjan, jo, inte svensk skulle stava det "vel"
16:57:03 <FireFly> Good enough
16:57:06 <oerjan> ok i write swedish as botched by a norwegian
16:57:06 <AnMaster> ingen*
16:57:10 <AnMaster> oerjan, indeed
16:57:14 <FireFly> Bättre än jag kan norska
16:57:16 <FireFly> Ehm
16:57:18 <AnMaster> FireFly, same
16:57:29 <FireFly> Betre en jeg kan norsk
16:57:32 <FireFly> :
16:57:33 <FireFly> <
16:57:39 <oerjan> "Bedre enn"
16:58:41 <oerjan> so, maybe :D
16:58:46 <AnMaster> FireFly, och det var bättre än mig
16:59:25 <FireFly> :>
16:59:30 <FireFly> Good enough for me
16:59:54 <oerjan> AnMaster: um wait was this an attempt at norwegian? <AnMaster> oerjan, jo, inte svensk skulle stava det "vel"
17:00:08 <AnMaster> oerjan, no, it was just a typo
17:00:13 <oerjan> oh ok
17:00:14 <ehird> http://www.youtube.com/watch?v=pkCuc34hvD4
17:00:15 <AnMaster> for "ingen"
17:00:50 <oerjan> because most of the words are identical
17:01:01 <FireFly> Norwegian is just typoed swedish :>
17:01:01 <oerjan> especially after fixing the typo
17:01:17 <FireFly> Okay, maybe not
17:01:53 <AnMaster> FireFly, Depends. Nynorsk is not as close
17:02:25 <oerjan> actually it is not quite correct _choice_ of words
17:02:45 <oerjan> 'jo, ingen svenske ville stave det "vel"'
17:03:28 <FireFly> "ville" is more like the english "will"?
17:03:36 <FireFly> Which would be like swedish "skulle"
17:03:40 <ehird> so ais523
17:03:42 <oerjan> which is also correct nynorsk, which can be even closer by choosing the -a infinitive option
17:03:53 <ehird> what do you think I should do, replace cpp with a shell script aclling gcc -E?
17:04:05 <oerjan> FireFly: english "would"
17:04:14 <FireFly> Um, yeah
17:04:36 <AnMaster> oerjan, then skulle in Swedish
17:04:38 <AnMaster> in that case
17:10:03 <ehird> i wonder why i liek the otbs
17:10:06 <ehird> *like
17:10:09 <ehird> it's not exactly logical...
17:10:32 <ais523> what is the otbs?
17:10:40 <ehird> one true brace style (k&r)
17:10:56 <ais523> ah
17:11:10 <ehird> having { on a separate line just for functions is rather silly
17:11:11 <ais523> if you'd written 1tbs, I might have been able to expand it, probably not though
17:11:36 <ais523> at the moment, for Perl I'm using a 1tbs with { on the opening line for absolutely everything
17:11:41 <ais523> not sure if I like it or not
17:12:12 <AnMaster> 1tbs?
17:12:27 <AnMaster> oh 1 not l
17:12:29 <AnMaster> right
17:12:45 <AnMaster> (they are different in this font, just not by much)
17:20:26 <oerjan> <ehird> ais523: do you think CLWNPA is a good name? (Pronounced "interrcall", with a short a).
17:20:52 <oerjan> it should make the welsh scratch their heads, at least
17:25:22 <AnMaster> oerjan, heh
17:35:03 <AnMaster> C function pointer syntax is crazy IMO
17:35:09 <ais523> I like it
17:35:19 <ais523> it follows the general rules for C type syntax very well
17:36:10 <AnMaster> ais523, I tend to typedef to not need to think about it
17:36:39 <AnMaster> and in typedef it is really strange
17:37:16 <AnMaster> typedef void (*fingerprintOpcode)(instructionPointer * ip);
17:37:20 <AnMaster> really that is strange
17:37:24 <AnMaster> typedef is usually:
17:37:38 <AnMaster> typedef long int fancyname
17:37:40 <AnMaster> or such
17:37:55 <AnMaster> ais523, for function pointers that is no longer true
17:38:07 <AnMaster> I mean tyedef <expansion> <name>
17:38:12 <AnMaster> typedef*
17:45:01 -!- MigoMipo has joined.
17:49:52 <ais523> Do you consider it acceptible to press F3 if you don't have a suicide spoon handy, or is that cheating?
17:51:31 <ehird> hmm, you can make any vector image from lines & curves right?
17:51:40 <ais523> what about fill?
17:52:13 <ehird> ah, yes
17:52:23 <ehird> you can make any vector image from lines, curves & fill right?
17:52:42 <ais523> probably
17:52:49 <ais523> I suppose it depends on what primitives the image uses
17:52:54 <ais523> "curves" is pretty general...
17:53:14 <ehird> true
17:53:26 <ehird> ais523: I was planning having an image be from (0.0,0.0) to (1.0,1.0)
17:53:41 <ehird> a curve would be (x1,y1,x2,y1,bend)
17:53:45 <ehird> where bend is from 0.0 to 1.0
17:53:46 <ehird> probably
17:53:54 <ehird> hmm
17:53:57 <ehird> a line is a curve with bend 0
17:54:49 <FireFly> A cruve is in this case a bezier curve?
17:55:40 <FireFly> [18:52:26] <ehird> you can make any vector image from lines, curves & fill right?
17:55:43 <FireFly> I guess that'd work
17:55:49 <FireFly> Judging from how SVGs are built
17:56:16 <ehird> yes, bezier
17:59:26 <ehird> so, with those, a circle is
17:59:27 <ehird> ((0.5, 0), (0.5, 1), -0.5);
17:59:28 <ehird> ((0.5, 0), (0.5, 1), 0.5)
17:59:29 <ehird> I believe
18:00:13 <ais523> I don't think it's possible to do a sine wave with only bezier curves
18:00:21 <ais523> not exactly right, anyway, although you can approximate it as closely as you like
18:00:29 <ehird> hmm
18:00:30 <ehird> why not?
18:00:47 <ais523> because it's a different shape of curve
18:01:38 <ehird> hmm
18:01:40 -!- oerjan has quit ("leaving").
18:01:44 <ehird> maybe I should use a different type of curve
18:01:53 <FireFly> Hm
18:02:18 <FireFly> I've tried to make a circle lots of times with Bezier based curves
18:02:23 <FireFly> And I've had a hard time
18:02:47 <ehird> well, with mine it would be
18:02:47 <ais523> or a graph of Ei, for instance, definitely can't be drawn with bezier curves
18:02:48 <ehird> [((0.5, 0), (0.5, 1), 0.5);
18:02:48 <ehird> ((0.5, 0), (0.5, 1), -0.5)]
18:02:53 <FireFly> By my experience, IIRC, the "anchor" points which describes the bend are placed at odd laces
18:02:59 <FireFly> places*
18:03:15 <ehird> you draw the straight line in the middle from top to bottom, then curve it so that the middlepoint is <curve> away from the starting point
18:03:20 <ais523> http://en.wikipedia.org/wiki/Exponential_integral
18:03:24 <ehird> hmm, the curve should be two curves
18:03:30 <ehird> since it can curve horizontally or vertically
18:03:37 <ehird> but, with that you can express a circle as above
18:03:57 -!- ais523 has left (?).
18:04:02 -!- ais523 has joined.
18:04:12 <ais523> how did I do that?
18:04:26 <ais523> misclick, it seems
18:10:13 -!- olsner has joined.
18:14:31 <ehird> http://www.scribd.com/doc/12927007/The-Manga-Guide-to-Databases-excerpt
18:14:38 <ehird> oh dear... it actually exists...
18:15:04 <lament> hahaha
18:15:04 <ais523> did you actually go looking for one of those?
18:15:18 <ehird> no, it was on reddit and now an excerpt of it is on reddit
18:15:20 <lament> if it's not hentai i'm not interested
18:16:10 <oklopol> yes it's database hentai
18:16:39 <ehird> the tentacles of denormalization
18:20:59 <ehird> http://www.sfcave.com/ addictive
18:22:44 <AnMaster> <FireFly> [18:52:26] <ehird> you can make any vector image from lines, curves & fill right? <-- what about gradients?
18:23:02 <ehird> err, I'm talking about the theoretical definition of vector image.
18:24:29 <AnMaster> <ehird> http://www.scribd.com/doc/12927007/The-Manga-Guide-to-Databases-excerpt <-- needs flash, summary?
18:24:44 <ehird> it's the manga guide to databases.
18:24:54 <AnMaster> ehird, yes, but what does that mean in practise?
18:25:08 <ehird> it's a guide to databases that is a manage
18:25:10 <ehird> *manga
18:25:19 <AnMaster> ah there is a description there too...
18:25:34 <AnMaster> thank for your (lack) of helpfulness
18:25:38 <AnMaster> thanks*
18:25:57 <ehird> what the fuck is there not to get?
18:26:04 <ehird> it's the manga guide to databases
18:26:09 <ehird> where's the ambiguity?
18:26:45 <AnMaster> it could have been a space theme, or fantasy theme, or sex theme
18:26:57 <AnMaster> or something else
18:26:58 <ehird> .... err, what
18:27:21 <AnMaster> manga can be about different subjects right?
18:27:25 <AnMaster> Like everything can
18:27:40 <AnMaster> you can have comics with scifi.
18:27:48 <AnMaster> and you can have comics with fantasy
18:27:49 <oklopol> ehird: so how much have you gotten?
18:27:51 <AnMaster> and you can have comics with other stuff
18:27:54 <ehird> oklopol: wut
18:27:59 <oklopol> snake
18:28:06 <ehird> oh high score on that thing?
18:28:09 <oklopol> yes
18:28:09 <ehird> 10150 i am not very good
18:28:10 <ehird> you?
18:28:20 <oklopol> 17000 or something, just making sure
18:28:39 <oklopol> although i like the graphics, will probably play a bit more
18:28:55 <oklopol> even though i don't really find that a very stimulating concept
18:29:19 <ais523> Nibbles is my favourite version of Snake
18:29:29 <ais523> I liked it so much I even wrote patches against it and submitted them to Gnome
18:30:23 <AnMaster> my phone as a 3D TPS (Third Person Snake)
18:30:29 <AnMaster> it's horrible
18:30:43 <ehird> third person snake, you mean, snake
18:30:45 <ais523> 3D snake?
18:30:46 <ehird> ?
18:30:49 <ehird> oh
18:30:50 <ehird> right
18:30:57 <ehird> I've played 3d snake, called Swear
18:30:58 <ehird> t'was fun
18:31:07 <AnMaster> not the same one I think then
18:31:07 <ehird> on a klein bottle
18:31:07 <ehird> no less
18:31:18 <FireFly> I've played some odd 3D snake on a Nokia cellphone
18:31:19 <AnMaster> this one is rather boring.
18:31:22 <FireFly> Didn't like it
18:31:25 <FireFly> Hm
18:31:27 <AnMaster> FireFly, Nokia here too
18:31:29 <FireFly> On MY cellphone, IIRC
18:31:34 <AnMaster> this one is called "Snake III"
18:31:36 * FireFly doesn't use his cellphone a lot
18:31:39 <FireFly> Yeah, the same one
18:31:42 <ais523> 1D snake could be more interesting
18:31:58 <FireFly> Althrough on my dads cellphone, theres some wireframe snake, looks more interesting
18:32:00 <AnMaster> ais523, how would it work
18:32:01 <ehird> rather boring, I think, ais523
18:32:04 <FireFly> And it's also a Nokia
18:32:09 <AnMaster> FireFly, older model?
18:32:16 <FireFly> Yep, I think
18:32:24 <FireFly> But it looks about as good, technically wise
18:32:27 <ais523> AnMaster: I'm thinking the snake would move n squares at a time, rather than just 1
18:32:33 <ais523> and you would vary n
18:32:37 <FireFly> Eg. equally advanced graphics
18:32:42 <ehird> ais523: ah, clever
18:32:48 <ehird> so there's obstacles
18:32:53 <ehird> and you have to increase your "hop speed"?
18:32:53 <AnMaster> FireFly, mine is a "Nokia 3something Classic"
18:32:54 <FireFly> Hm, that's interesting
18:32:55 <ehird> to get past them
18:33:04 <ehird> ais523: that would be best as a side-scroller type thing
18:33:06 <ehird> for visualization
18:33:12 <ais523> PUDDING!!!!!
18:33:14 <ehird> with a snake hopping
18:33:15 <ais523> ehird: probably
18:33:23 <FireFly> Side scroller snake
18:33:25 <FireFly> Ugh
18:33:25 <ehird> 18:33 ais523: PUDDING!!!!!
18:33:28 <ehird> I LOVE PUDDING TOO.
18:33:33 <ais523> ehird: it's a TURKEY BOMB command
18:33:42 <ehird> i know
18:33:44 <ehird> but what's the relevance
18:33:49 <AnMaster> FireFly, I forgot the exact model
18:33:52 <AnMaster> FireFly, :D
18:33:53 <ais523> does it have to be relevant?
18:33:55 <FireFly> Mines.. 7500
18:33:57 <FireFly> Prism
18:34:00 <ais523> I was randomly reading the TURKEY BOMB specs
18:34:01 <FireFly> Easy number to remember
18:34:06 <ais523> and felt an urge to paste one of the commands
18:34:41 <AnMaster> FireFly, mine is like 3120 or something like that
18:34:44 * ais523 suddenly notes that no commands use AMICEDs, apart from the ones that take any time
18:34:50 <AnMaster> and it doesn't have the model number on it even
18:35:03 <AnMaster> FireFly, there is also a rally game on the phone. 3D
18:35:09 <AnMaster> very bad graphics
18:35:14 <FireFly> Hm, that one
18:35:20 <FireFly> I think I've played it
18:35:20 <AnMaster> FireFly, what one?
18:35:22 <AnMaster> oh right
18:35:23 <ais523> ehird: about your cpp problem, what happens if you give the -### switch to the two commands/
18:35:28 <FireFly> You auto-move forward, can only steer
18:35:29 <FireFly> Right?
18:35:38 <FireFly> Some beach race thing
18:35:41 <AnMaster> FireFly, you can turn off that auto move forward though
18:35:44 <AnMaster> and not beech
18:35:50 <AnMaster> mountain and such
18:35:51 <FireFly> Hm, guess it's a different one then
18:36:04 <AnMaster> FireFly, not using auto forward is very hard
18:36:21 <AnMaster> but why in a phone
18:36:33 <ehird> ais523: cpp gives -traditional-cpp but surely traditional cpp had ##
18:36:39 <FireFly> Althrough I also have this Tower Bloxx game, it's quite alright
18:36:39 <AnMaster> I use it for calls and SMS
18:36:45 <ais523> ehird: no, it didn't
18:36:45 <AnMaster> FireFly, don't have that one
18:36:48 <FireFly> I don't use mine
18:36:50 <ehird> ais523: O_O
18:36:51 <FireFly> :D
18:37:03 <ais523> ## was invented for C89 to avoid the horrible hacks that people were using instead
18:37:05 <ais523> as was #
18:37:11 <AnMaster> FireFly, have some backgammon game too. No idea how to play it
18:37:24 <AnMaster> backgammon that is
18:37:30 <ais523> traditional cpp #define A(x) "testx" translates to modern CPP #define A(x) "test" #x
18:37:32 <FireFly> Hm, I think I've played a Nokia backgammon game, yeah
18:37:52 <AnMaster> ais523, wow crazy
18:37:54 * ais523 looks at http://esolangs.org/wiki/Talk:Esme for old time's sake
18:38:04 <AnMaster> ais523, also cpp doesn't run into that bug ehird hit here
18:38:09 <ais523> and suddenly realises that the discussion there is between Dagoth and zzo38
18:38:11 <ais523> AnMaster: nor here
18:38:18 <ehird> "Esme: It works by tapping out "ESME" into Morse code, then writing "Esme" in to the papers."
18:38:29 <AnMaster> ais523, also -### ?
18:38:38 <ais523> AnMaster: a lovely name for a gcc switch
18:38:42 <ehird> it's basically like:
18:38:43 <ais523> you should try it some time
18:38:44 <ehird> http://fortwayneright.files.wordpress.com/2008/07/dewey_wins.jpg
18:38:49 <ehird> except instead of DEWEY DEFEATS TRUMAN
18:38:50 <ehird> it says
18:38:52 <ehird> ESME ESME ESME
18:38:54 <ais523> I don't know why they chose that one, presumably they just wanted it to be memorable
18:38:54 <AnMaster> ais523, I can't find it in man page
18:39:02 <ais523> AnMaster: gcc's man page isn't well-documented
18:39:09 <ais523> the gcc people prefer info
18:39:17 <ais523> it's a debugging switch that charts what the subprocesses do
18:39:41 -!- Mony has quit ("Quit").
18:41:08 -!- calamari has joined.
18:49:55 <ais523> hahaha: http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=11751&lngWId=3
18:50:01 <oklopol> err qut
18:50:03 <oklopol> qut
18:50:04 <ehird> yeah, saw that
18:50:04 <oklopol> *wut
18:50:05 <ais523> "Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it."
18:50:12 <ehird> ais523: that's by the actual author of deadfish
18:50:17 <ehird> bit of a newb.
18:50:22 <oklopol> ehird: what am i misunderstanding, i got a 27000 and i'm not on the list
18:50:26 <ais523> I've suddenly had an impulse to want to write a deadfish polyglot
18:50:29 <ehird> oklopol: did you enter a nam
18:50:29 <ehird> e
18:50:41 <ais523> as in, a program that's a deadfish interpreter in lots of different languages
18:50:44 <oklopol> wait i am
18:50:47 <ehird> lol
18:50:47 <oklopol> nm
19:00:15 <ais523> now presumably ehird will try
19:00:23 <ehird> ?
19:00:31 <ais523> to write a polyglot deadfish interp
19:00:44 <ehird> probably not, I suck at polyglots
19:02:27 <AnMaster> ais523, specs for this deadfish?
19:02:34 <ais523> http://esolangs.org/wiki/Deadfish
19:02:38 <ais523> it's a very trivial non-TC language
19:03:55 <AnMaster> yeah indeed
19:04:16 <ais523> mostly famous because it has a huge number of implementations
19:07:25 <AnMaster> ais523, so does bf
19:07:33 <AnMaster> and befunge-93
19:07:43 <ais523> yes
19:07:47 <AnMaster> wow at that C one on the wiki
19:07:50 <ais523> but those are famous on other grounds
19:07:53 <AnMaster> /* <-- Declare a function --> */
19:07:54 <AnMaster> w
19:07:54 <AnMaster> t
19:07:55 <AnMaster> h
19:08:10 <AnMaster> embedded SGML comments..
19:08:15 <AnMaster> wait no
19:08:16 <ehird> not even valid sgml.
19:08:18 <AnMaster> a ! and it would be
19:08:21 <ehird> the author is a silly newb.
19:08:23 <AnMaster> ehird, yeah see how it fails
19:08:23 <ehird> it's mostly for the novelty.
19:09:24 <AnMaster> ehird, what? nah. That would be /* <<<><<<<---!()\/& Declare a function &\/()!--->>>><>>> */
19:09:28 <AnMaster> that is novelty!
19:10:52 <AnMaster> ehird, also an example of a "don't do this" comment
19:11:04 * AnMaster looks for the i++; /* Increment i */
19:12:01 -!- calamari has quit ("Leaving").
19:12:33 <AnMaster> /* Make sure x is not greater then 256 */
19:12:33 <AnMaster> if(x == 256) x = 0;
19:12:40 <AnMaster> ...
19:12:46 <ais523> yes, we are aware of the 'bug'
19:12:59 <ais523> other implementations do the same thing for compatibility
19:13:06 <AnMaster> ais523, not only that. He should have used "unsigned char" and 255
19:13:18 <AnMaster> as in that is the same
19:13:39 <AnMaster> ais523, should I write a short C version that does the same but is sane and put it up there after his C version?
19:13:39 <oklopol> what's wrong with that?
19:13:48 <AnMaster> oklopol, read that comment
19:13:52 <AnMaster> <AnMaster> /* Make sure x is not greater then 256 */
19:13:52 <AnMaster> <AnMaster> if(x == 256) x = 0;
19:13:52 <oklopol> oh comment.
19:14:01 <ais523> AnMaster: the behaviour on 256 is considered an important part of Deadfish
19:14:04 <oklopol> yeah i don't read comments
19:14:08 <ais523> in other words, the implementation is correct but the comment is wrong
19:14:14 <AnMaster> ais523, yes indeed
19:14:46 <AnMaster> ais523, should I put up something following the same implementation in C but that is sane
19:14:48 <AnMaster> yes or no?
19:14:57 <AnMaster> maybe I'll do an erlang version
19:14:59 <AnMaster> as well
19:15:14 <ais523> probably better to just add new languages
19:16:31 <AnMaster> k
19:17:41 -!- ais523 has quit (Remote closed the connection).
19:19:15 <AnMaster> hm
19:23:03 <ehird> Agh, I ran into GreyKnight -again-
19:24:27 <AnMaster> ehird, what?
19:24:31 <AnMaster> context?
19:24:47 <ehird> guy who was in here circa 2006, ran into him via the logs first, then saw he played Agora in 2006 when browsing archives, and now I see him on wikipedia
19:26:23 <AnMaster> hm ok
19:26:35 <AnMaster> how does Deadfish behave on EOF?
19:26:57 <ehird> what
19:27:27 <AnMaster> simple question
19:27:37 <AnMaster> there is >> for the user
19:27:43 <AnMaster> what if user hits ctrl-d?
19:29:04 <ehird> it exits...
19:30:54 <AnMaster> ehird, ?
19:31:00 <ehird> it exits...
19:31:11 <AnMaster> ehird, it doesn't quit or react?
19:31:20 <ehird> do you know what exit means.
19:31:24 <AnMaster> no
19:31:26 <AnMaster> it doesn't
19:31:29 <AnMaster> as far as I can tell
19:31:38 <ehird> "It only exits, not quits!!"
19:31:56 <AnMaster> ehird, looking at the bash implementation for example
19:32:00 <AnMaster> the bash one just echos
19:32:12 <oklopol> okokokokokokokokokokokoko
19:35:48 <AnMaster> another bug
19:35:57 <AnMaster> you could go to 254, then square it
19:36:43 <ehird> that's the intention.
19:37:32 <AnMaster> that bash implementation doesn't allow it heh
19:38:23 <ehird> "# ARM Texas Instruments OMAP3 chip" —http://www.alwaysinnovating.com/touchbook/
19:42:22 -!- jix has quit (Read error: 104 (Connection reset by peer)).
19:44:55 <AnMaster> ehird, doesn't mean anything to me
19:55:05 <AnMaster> done.
19:55:08 <AnMaster> deadfish.erl
19:55:22 <AnMaster> MIT or BSD?
19:55:35 <AnMaster> ehird, which would you suggest?
19:55:45 <AnMaster> I think I will go for MIT license
19:55:46 <ehird> MIT
19:55:49 <ehird> or if BSD, BSD2
19:55:58 <ehird> the "don't use our name" thing is redundant and outmoded
19:55:59 <AnMaster> ehird, not BSD-4? aww
19:56:02 <ehird> AnMaster: BSD-5
19:56:07 <AnMaster> what?
19:56:10 <AnMaster> that exists?
19:56:11 <ehird> add a clause requiring modifiers to give all their babies to you, so you can eat them
19:56:15 <ehird> to further your evil plot to destroy the world
19:56:18 <AnMaster> hah
19:56:20 <ehird> -> Sure it's open source, but your code is safe!
19:56:31 <AnMaster> ehird, what about one that says: Plus everything in GPL2?
19:56:40 <ehird> hm?
19:56:46 <ehird> oh
19:56:47 <ehird> heh
19:56:52 <AnMaster> or GPL3
19:56:59 <ehird> AnMaster: add a clause saying that only people called george can modify the softwar
19:57:00 <ehird> e
19:57:08 <AnMaster> why george?
19:57:13 <ehird> why not
19:57:18 <ehird> also don't question your elders
19:57:27 <AnMaster> well you aren't my elder
19:57:35 <ehird> shut up. your elders.
19:57:47 <AnMaster> ehird, anyway what license is allowed on the wiki?
19:58:06 <ehird> Public domain. Nothing else.
19:58:10 <AnMaster> well
19:58:17 <AnMaster> I'll guess I'll have to go for that then
19:58:19 <ehird> Specifically, the creative commons public domain dedication
19:58:29 <ehird> AnMaster: just don't put a header in
19:58:30 <ehird> like the others
19:58:33 <AnMaster> hm
19:58:45 <ehird> e.g., authorship tag would be silly if others modified it
19:59:54 <AnMaster> %% @author and %% @copyright are done in all erlang code really
20:00:00 <AnMaster> %% @doc too
20:00:53 <ehird> who cares
20:00:55 <ehird> just omit them
20:02:58 -!- Hiato has quit ("Leaving.").
20:03:17 <AnMaster> argh
20:03:42 <ehird> what
20:03:44 <AnMaster> Login error:
20:03:44 <AnMaster> Error sending mail: There is no e-mail address recorded for user "AnMaster".
20:03:49 <AnMaster> I don't remember password
20:03:53 <ehird> ?
20:03:56 <ehird> oh.
20:04:02 <AnMaster> ehird, and there is no email
20:04:03 <AnMaster> so
20:04:09 <ehird> AnMaster: just edit anonymously, will it kill you?
20:04:30 <ehird> or was that disabled, I forget
20:04:48 <AnMaster> hm
20:04:50 <AnMaster> not sure
20:04:54 <AnMaster> anyway who is an admin
20:05:00 <ehird> just edit anonymously
20:05:08 <ehird> and ais523, ihope (iirc), oerjan, everyone
20:05:15 <ehird> yes, anonymous editing works
20:05:17 <ehird> I just checked
20:05:29 -!- BeholdMyGlory has joined.
20:05:51 <AnMaster> ehird, http://paste.lisp.org/display/76426
20:06:11 <AnMaster> ehird, did you say everyone?
20:06:12 <AnMaster> who?
20:06:15 <ehird> okay, apparently your brain can't parse me,
20:06:19 <ehird> http://esolangs.org/w/index.php?title=Deadfish&action=edit
20:06:20 <ehird> http://esolangs.org/w/index.php?title=Deadfish&action=edit
20:06:23 <ehird> http://esolangs.org/w/index.php?title=Deadfish&action=edit
20:06:23 <AnMaster> ehird, I refuse
20:06:24 <AnMaster> to edit
20:06:25 <ehird> third time lucky
20:06:26 <AnMaster> anon
20:06:43 <AnMaster> my ip!
20:06:43 <ehird> AnMaster: ok, then your interp will never be used and nobody will see it apart from a few
20:06:46 <ehird> have fun with that
20:06:58 <AnMaster> ehird, no, I'll just poke ais when I see him next time
20:07:11 <ehird> I'm sure he'll enjoy being bothered for something so trivial
20:07:28 <AnMaster> ehird, I'm sure he won't mind
20:07:48 <ehird> AnMaster: and do you intend to put it on the wiki with that license?
20:08:03 <AnMaster> ehird, nop
20:08:12 <AnMaster> I plan to make it public domain if I put it on wiki
20:08:13 <ehird> so why did you paste it with thatlicense
20:08:21 <ehird> also, yours doesn't meet the spec.
20:08:22 <AnMaster> ehird, because that isn't the wiki
20:08:25 <ehird> you can do multiple commands per line.
20:08:33 <AnMaster> ehird, I checked several other ones
20:08:40 <AnMaster> several didn't support it
20:09:09 <AnMaster> but trivial to fix
20:10:16 <ehird> "You can have several commands per line, at least in the C implementation."
20:10:20 <ehird> If you read it...
20:11:48 <AnMaster> at least in
20:11:48 <AnMaster> yes
20:11:56 <AnMaster> check the implementations there though
20:12:22 <AnMaster> ehird, wait, will it print two newlines after each line then?
20:12:56 <AnMaster> or does it strip a trailing \n?
20:15:10 -!- ais523 has joined.
20:18:36 <AnMaster> ais523, hi
20:18:40 <ais523> rehi
20:18:42 <AnMaster> ais523, I lost my login to the wiki
20:18:46 <AnMaster> and have no email set
20:18:52 <AnMaster> as a wiki admin can you help?
20:18:55 <ais523> ugh, nothing I can do about that despite being an admin
20:19:01 <AnMaster> ais523, who can then
20:19:03 <ais523> best to create another account
20:19:09 <ais523> graue probably could modify the database directly
20:19:11 <AnMaster> ais523, guess I'll just stop editing
20:19:14 <ais523> but with no email set, there's no "official" way to do it
20:19:23 <ais523> you can just create another account and mention you lost your password, nobody will mind
20:19:26 <AnMaster> and not put up my erlang deadfish
20:19:30 <ais523> that's common even on Wikipedia, and some people have done it before
20:19:32 <AnMaster> ais523, I will
20:19:35 <ais523> or you can just post as an anon if you prefer
20:19:37 <AnMaster> I will mind
20:19:45 <AnMaster> ais523, my ip!
20:19:46 <AnMaster> :P
20:19:55 <AnMaster> nah I guess I'll just skip it
20:20:03 <AnMaster> ais523, btw
20:20:12 <AnMaster> ais523, does deadfish strip trailing newline?
20:20:17 <AnMaster> on input
20:20:22 <ais523> it's interactive
20:20:27 <AnMaster> ais523, yes
20:20:33 <AnMaster> exactly
20:20:36 <ais523> and I think it strips newlines if and only if there's something else on the line
20:20:47 <AnMaster> ais523, right. That is painful
20:25:28 -!- jix has joined.
20:25:58 <AnMaster> ais523, does it matter of the interpreter is bignum?
20:26:12 <AnMaster> I mean, I do handle -1 and 256 as original code
20:26:19 <AnMaster> but with s you can get outside that
20:26:30 <ais523> AnMaster: getting outside it is part of the fun
20:26:45 <ais523> in fact, the discussions here we had about making Deadfish TC relied on bignums
20:27:52 <AnMaster> ais523, http://paste.lisp.org/display/76430
20:28:10 <AnMaster> ais523, you need *two* bignums to do that
20:28:15 <ais523> no you don't
20:28:18 <ais523> well, maybe not
20:28:18 <AnMaster> really?
20:28:22 <AnMaster> what about control flow
20:28:23 <ais523> having a square instruction makes things more complicated
20:28:28 <ais523> control flow I'm not sure about
20:28:59 <AnMaster> ais523, you need some sort of control flow. All you have now is a fixed program. Even with bignums you couldn't implement bf in it
20:29:05 <AnMaster> that is bf without IO
20:29:38 <AnMaster> ais523, anyway what do you think of my erlang implementation?
20:29:47 <ais523> simple enough
20:29:55 <ais523> but with that licence, it wouldn't be acceptable on Esolang anyway
20:30:17 <AnMaster> ais523, I would relicense it as public domain if I got my account back
20:30:24 <AnMaster> simple enough
20:30:50 <AnMaster> ais523, graue would probably not believe me if I asked him, so better you ask him (since he would trust you more)
20:30:54 <AnMaster> (and you know who I am)
20:31:23 <AnMaster> ais523, :)
20:37:06 <kerlo> oerjan: what I mean is to pretend it's a circle.
20:37:14 <kerlo> He's not here, but I'm sure that message will find him eventually.
20:39:25 <AnMaster> kerlo, it isn't
20:39:50 <AnMaster> the circle is a lie!
20:40:33 <kerlo> Intelligence is about ignoring what isn't important.
20:40:51 <kerlo> For much of the problem, it's not important that it's actually an ellipse.
20:41:08 <AnMaster> true
20:43:28 <oklopol> then what is important?
20:43:38 <kerlo> Area and betweenness.
20:43:56 <kerlo> Area-preserving affine transformations preserve both of these.
20:44:01 <oklopol> what's betweenness?
20:44:15 <kerlo> Whether or not one point is between two others.
20:45:03 <oklopol> err so that every line cuts it zero or 2 times?
20:45:09 <oklopol> except for tangents
20:45:13 <oklopol> so 0-2
20:45:16 <oklopol> or what do you mean
20:45:32 <ehird> AnMaster: graue will, most likely, tell you that if you give a shit about your ip being exposed jsut create another account
20:45:42 <ehird> at least, that's what any sane person would.
20:45:49 <AnMaster> http://paste.lisp.org/display/76432
20:45:57 <AnMaster> fixed some comment typos
20:46:01 <kerlo> I'm saying that an area-preserving affine transformation is useful in this case, I guess.
20:46:08 <AnMaster> and now it works according to reference implementation
20:46:15 <ehird> "reset my password", sure. "reset my password because i refuse to edit anonymously and otherwise i will STOP EDITING FOREVER", oh go away.
20:46:43 <AnMaster> ehird, I will only ask the first obviously
20:46:55 <kerlo> If you want to maximize the area of a rectangle inscribed in an ellipse, then whatever transformation you apply needs to preserve area and rectangleness.
20:47:04 <ehird> AnMaster: so why are you asking the other here
20:47:19 <AnMaster> ehird, because graue isn't here? So it doesn't matter.
20:47:23 <AnMaster> and stop bitching
20:47:26 <ehird> it's the kind of thing you'd call me childish for, actually (refusing to edit just because of username not being AnMaster or ip being exposed)
20:49:18 <oklopol> o
20:49:21 <ais523> oko
20:49:36 <oklopol> ol fokol ofol ooo.....
20:49:45 <ehird> z
20:49:49 <ais523> oko polofol o kolooo
20:50:02 <oklopol> kol kol kolk olk oo :)
20:50:12 <ehird> i need a translator
20:50:23 <ehird> oklopol: translate oko to english and post it to agora</obscure>
20:51:14 -!- kar8nga has joined.
20:51:40 <AnMaster> someone should make a TC language based on "oko"
20:51:53 <AnMaster> and not just a bf in a thin wrapper
20:52:20 <ehird> only oklopol could, and he won't because that's sacrelige
20:52:22 <AnMaster> a bf lookalike*
20:52:38 <oklopol> okokokokoko
20:52:43 <AnMaster> ehird, then his followers should do it
20:52:48 <oklopol> i was thinking about one at some point
20:52:54 <AnMaster> oklopol, really?
20:52:57 <ehird> AnMaster: no, it would be inferior
20:53:05 <ehird> nothing can truly capture oko apart from itself.
20:53:15 <AnMaster> interesting
20:53:18 <AnMaster> go ahead...
20:53:31 * AnMaster backs away slowly
20:53:35 <oklopol> AnMaster: yes, but it was more weird than it was interesting; it was more like an elaborate prng than a programming language
20:53:56 <ehird> AnMaster: you see, an alien called Xenu...
20:54:10 <AnMaster> oklopol, heh
20:54:16 <AnMaster> ehird, argh!
20:54:43 <ehird> ...made a Time Cube, which encompasses all 4 corners of spacetime, and...
20:54:59 <AnMaster> ...
20:55:01 <AnMaster> oh my
20:55:50 <ehird> ...dropped it as a bomb on to Earth, and the Mayans were left with traces of the magic, predicting that in 2012...
20:56:09 <AnMaster> ...we would run out of ipv4?
20:56:28 <ehird> ... kind of.
20:56:37 <AnMaster> ehird, what had you planned to say?
20:56:54 <ehird> I was trying to tie it to Christianity.
20:56:56 <ehird> Or buddhism
20:56:59 <AnMaster> I see
20:57:00 <ehird> Or mormonism
20:57:01 <kerlo> ...therefore, God exists and the theory of evolution is false.
20:57:07 <ehird> kerlo: Exactly.
20:57:11 <AnMaster> hah
20:58:37 <ehird> Christians don't write genetic algorithms; they intelligently design them.
20:59:16 <AnMaster> intelligent design algorithm?
20:59:32 <oklopol> sounds awesome
20:59:33 <oklopol> or not
20:59:36 <oklopol> dunno
20:59:47 <AnMaster> ehird, actually genetic ones tend to not evolve the actual algorithm, just the parameters
20:59:56 <AnMaster> or fudge factors
21:00:09 <ehird> AnMaster: elders _|_
21:00:16 <AnMaster> ehird, ?
21:00:46 <oklopol> hahaha fudge factory you mean the ass? :D
21:01:33 <AnMaster> I didn't
21:01:38 <AnMaster> maybe ehird did
21:04:52 <ehird> "Scheme seemed closer to the (register) machine than C, and it seemed like a nice alternative to assembly language."
21:05:34 <AnMaster> ehird, source
21:05:42 <ehird> anonymous.
21:05:49 <AnMaster> ehird, well where did you get it...
21:05:55 <ehird> the internet.
21:05:59 <AnMaster> ehird, link?
21:06:06 <ehird> http://internet.com/
21:06:10 <AnMaster> ...
21:06:25 <AnMaster> ehird, that exists
21:11:18 -!- BeholdMyGlory has quit (Remote closed the connection).
21:12:48 <ehird> ais523: has the underhanded c contest disappeared?
21:13:00 <ais523> ehird: no
21:13:04 <ehird> http://underhanded.xcott.com/
21:13:06 <ehird> sure?
21:13:09 <ais523> there was a slashdot article about the IOCCC disappearing
21:13:15 <ais523> Xcott himself showed up on the comments
21:13:23 <ehird> but the site is gone.
21:13:31 <ais523> what, really?
21:13:37 <ehird> http://underhanded.xcott.com/
21:13:40 <ehird> i did just link you.
21:13:42 -!- BeholdMyGlory has joined.
21:13:56 <ais523> it doesn't look gone to me, just broken
21:14:29 <AnMaster> yeah
21:14:36 <ehird> broken = gone
21:14:43 <ehird> the5k.org has been broken for years; it's gone
21:14:47 <AnMaster> email him
21:14:59 <AnMaster> or her
21:15:02 <ehird> yeah with my psychic email guessing powers.
21:15:10 <AnMaster> ehird, don't know his email?
21:15:10 <ehird> also, I imagine he knows.
21:19:20 <ehird> I hate hate hate how ioccc's .c links don't open in the browser.
21:19:31 <ais523> your browser is misconfigured, then
21:19:45 <ais523> unless it's sending as application/octet-stream for some reason
21:19:50 * ais523 glares at paste.eso-std.org
21:19:57 <ehird> I beg to differ: Content-Type: text/x-csrc
21:19:58 <AnMaster> ais523, indeed
21:20:02 <ehird> that's not even a valid content type
21:20:05 <ais523> wtf?
21:20:07 <ehird> also, you liked it well enough before AnMaster complained about it
21:20:09 <ais523> ok, why is it using that type?
21:20:12 <ais523> and yes, I liked it
21:20:18 <ais523> I was trying to point out you were being inconsistent
21:20:19 <ehird> ais523: ioccc.org's server is misconfigured, then.
21:20:23 <ais523> yes, agreed
21:20:24 <AnMaster> ais523, indeed
21:20:28 <ais523> possibly both, actually
21:22:28 <ehird> what I wouldn't give for mkcd() { mkdir $1; cd $1 }
21:22:31 <ehird> oh wait, I just did it.
21:22:49 <ais523> I hardly ever mkdir
21:22:54 <ais523> so mkcd isn't all that useful
21:24:12 <ehird> so, the vast majority of ioccc programs can't be compiled by default. :D
21:25:05 <ais523> they're shipped with makefiles
21:25:12 <ais523> and yes, you do need to use the makefile normally
21:25:17 <ais523> or at least copy the options by hand
21:25:19 <ehird> yes, but they fail with the makefile
21:25:19 <ais523> -D options are very common
21:25:25 <ehird> I used the toplevel recursive make
21:25:29 <ehird> and most of them failed badly
21:25:39 <ais523> what sort of error messages?
21:25:45 <ehird> syntax errors, etc
21:25:55 <AnMaster> ehird, a lot of them are due to traditional C
21:25:59 <AnMaster> pre-ANSI
21:25:59 <ehird> yes
21:26:15 <AnMaster> ehird, -traditional-cpp to GCC may help
21:26:27 <ais523> the catchall -traditional will probably work better
21:26:35 <ais523> to handle pre-ANSIisms in the source code itself
21:26:39 <ehird> wow, 2004/arachnid is awesome
21:26:40 <AnMaster> ais523, both do the same according to man gcc here
21:26:44 <ais523> many of the older programs have ansified versions
21:26:48 <AnMaster> -traditional
21:26:48 <AnMaster> -traditional-cpp
21:26:48 <AnMaster> Formerly, these options caused GCC to attempt to emulate a pre-standard C compiler. They are now only supported with the -E
21:26:48 <AnMaster> switch. The preprocessor continues to support a pre-standard mode. See the GNU CPP manual for details.
21:26:54 <ais523> ah
21:27:06 <AnMaster> ais523, gcc 4.1.2
21:27:40 <ehird> " see http://bellard.org/ for QEMU (Fabrice Bellard is an IOCCC 2001 winner), "
21:27:41 <ehird> Heh.
21:28:22 <AnMaster> ehird, there is one IOCCC entry that includes a configure
21:28:23 <AnMaster> ...
21:28:31 <AnMaster> iirc "worst abuse of rules"
21:28:33 <AnMaster> for that year
21:29:04 <AnMaster> 2004
21:31:27 <AnMaster> ehird, check that one out
21:31:31 <AnMaster> hibachi
21:31:32 <ehird> i did
21:37:06 <ehird> " * I achieved some additional tightness by '-Dif=while', saved 9 chars "
21:37:06 <ehird> ..
21:38:31 <AnMaster> wh:D
21:38:33 <AnMaster> ehird, :D
21:40:42 * ehird writes OCR program.
21:40:55 <ehird> it will recognize A, C, D and E.
21:41:41 <AnMaster> ehird, why those only?
21:41:56 <ehird> They're the only ones I've calculated OCR-optimization-count vectors for.
21:42:06 -!- jix_ has joined.
21:42:31 <AnMaster> ehird, err, how do you mean?
21:42:45 <ehird> Don't question your elders.
21:42:57 <AnMaster> you are not my elder
21:44:09 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
21:48:52 <ehird> http://pastie.org/private/qb2tg9bvpnsv2rw2q0ljgg This may or may not work, YMMV.
21:51:53 <AnMaster> mhm
21:52:38 <ehird> If anyone wants to give it a bigger alphabet/write a main()/test it, feel free :P
21:53:29 -!- jix has quit (Read error: 110 (Connection timed out)).
21:53:59 -!- ais523 has quit (Remote closed the connection).
21:57:03 <ehird> AnMaster: I nominate you :P
21:57:47 -!- olsner has quit ("Leaving").
21:57:54 <AnMaster> ehird, thanks but no
21:58:15 <AnMaster> ehird, I'm going to sleep shortly, and your program will just be forgotten
21:58:23 <ehird> Oh irony.
21:58:30 <ehird> Actually, i'm testing it now.
21:58:32 <ehird> So not quite.
21:58:35 <AnMaster> ok
21:59:21 <AnMaster> ehird, I expect unit tests with 100% coverage too! ;P
21:59:30 <ehird> To hell with unit tests.
21:59:31 <AnMaster> ehird, one bug however:
21:59:33 <AnMaster> char *s = "ACDE";
21:59:35 <AnMaster> should be
21:59:39 <AnMaster> const char *s = "ACDE";
21:59:42 <AnMaster> or
21:59:46 <AnMaster> char s[] = "ACDE";
21:59:49 <ehird> AnMaster: I'd run now, before I kill you.
21:59:57 <AnMaster> ehird, what?
22:00:17 <ehird> I don't consider that a bug; you've said it before and I've replied that before, so you do know.
22:04:12 -!- kar8nga has quit (Remote closed the connection).
22:04:19 <AnMaster> ehird, it is against the C standard.
22:04:45 <ehird> That code is invalid C89? I don't believe you.
22:05:32 <AnMaster> ehird, I don't have the C89 spec. I know it breaks C99 technically
22:06:04 <ehird> If any implementation supported C99 I'd agree.
22:18:36 <AnMaster> ehird, you are not allowed to modify that char* = "ABCE" even in C89
22:18:37 <AnMaster> as in
22:18:46 <AnMaster> s[2] = 'G'
22:18:55 <ehird> AnMaster: I don't modify it.
22:19:08 <ehird> But you can't modify a string literal, umm, no shit, I do know c
22:20:16 <fizzie> Which part of C99 it breaks, though?
22:25:28 <AnMaster> fizzie, I don't remember section number
22:25:38 <fizzie> Yes, but what's it about?
22:25:38 <AnMaster> but I do remember reading it
22:25:54 <AnMaster> fizzie, the type of a string literal is const char*, not char*
22:26:02 <fizzie> Well, that's just not true.
22:26:38 <ehird> truth must not get in the way of zealotry!
22:26:46 <AnMaster> fizzie, oh?
22:26:50 <AnMaster> I'm quite sure
22:26:52 <AnMaster> well actually
22:26:56 <AnMaster> const char[length]
22:27:10 <fizzie> 6.4.5 String literals: "-- character sequence is then used to initialize an array of static storage duration and length just sufficient to contain the sequence. For character string literals, the array elements have type char, and are initialized with --"
22:27:11 <AnMaster> and a pointer to one would be const char*
22:27:14 <fizzie> There is no "const" there.
22:27:49 <AnMaster> fizzie, I'm quite sure I read it though
22:27:54 -!- tombom has quit ("Peace and Protection 4.22.2").
22:28:04 <AnMaster> I don't have time to find it now, since I'm going to bed. But I'll look tomorrow
22:28:22 <fizzie> There is even an example about this.
22:29:06 <fizzie> EXAMPLE 5: The following three expressions have different meanings: "foo", (char []){"foo"}, (const char []){"foo"} [I abbreviated the example string a bit here]
22:29:41 <fizzie> "The first always has static storage duration and has type array of char, but need not be modifiable; the last two have automatic storage duration when they occur within the body of a function, and the first of these two is modifiable."
22:30:03 <fizzie> I think that quite clearly is saying that a plain "foo" is of type array of char.
22:30:05 <dbc> Even if a string literal were a const char *, that wouldn't mean that you couldn't initialize a non-const char * to point to one.
22:30:55 <AnMaster> true, you can cast away const
22:31:09 <ehird> AnMaster: ... so why did you say my code was invalid?
22:31:10 <ehird> i see.
22:31:23 <AnMaster> ehird, It looks I misremembered
22:31:32 <AnMaster> unlike you I can admit that.
22:32:02 <ehird> you do realise that I haven't actually denied misremembering once?
22:32:24 <AnMaster> ehird, no, but not admitting you were wrong
22:32:38 <AnMaster> which is same category
22:32:48 <AnMaster> still I'd say it is good practise to use const, to reduce possible bugs.
22:32:56 <ehird> right, right, I forgot reality wasn't actually relevant when saying such things
22:32:57 <AnMaster> for non-trivial programs it helps.
22:33:06 <AnMaster> night
22:33:14 <fizzie> All this proves is that the people writing C standards are a bunch of sissies, for not having the balls to change the type of string literals.
22:36:15 -!- jix_ has quit ("...").
22:37:15 <fizzie> Say what you want about C++, at least it has const char string literals.
22:48:04 -!- BeholdMyGlory has quit (Remote closed the connection).
22:56:43 -!- BeholdMyGlory has joined.
23:00:32 -!- BeholdMyGlory has quit (Remote closed the connection).
23:17:31 -!- FireFly has quit ("night").
23:22:24 -!- BeholdMyGlory has joined.
23:22:50 <ehird> baguette
23:24:33 -!- BeholdMyGlory has quit (Remote closed the connection).
23:24:48 -!- BeholdMyGlory has joined.
23:27:46 -!- BeholdMyGlory has quit (Remote closed the connection).
2009-03-04
00:01:45 <ehird> [[If one extend slightly the syntax for gerunds, DIAL can be implemented
00:01:45 <ehird> as:
00:01:46 <ehird> PLEASE ABSTAIN FROM EVERYTHING EXCEPT COMING FROM + ANSWERING
00:01:49 <ehird> WHILE REINSTATING THEM ]]
00:01:50 <ehird> more literate than cobol
01:11:50 <AnMaster> :D
01:12:00 <AnMaster> night really (failed to sleep first)
04:24:03 -!- psygnisfive has joined.
06:56:33 -!- calamari has joined.
07:48:01 <Dewi> Does anyone know of any unicode characters other than eszet where the toUpper() or toLower() cannot be reversed?
07:48:20 <Dewi> (ie changing case twice returns you to a different codepoint)
07:48:42 <Dewi> (Unicode counts as an esolang right? :P)
07:49:50 <oklopol> it's scary reading the logs, fizzie is such a me.
07:50:28 <oklopol> what does eszet do when you change it twice?
07:50:54 <fizzie> ß uppercased is SS.
07:50:59 <fizzie> And SS lowercased is just ss.
07:51:19 <fizzie> Ligatures have similar behaviour.
07:51:31 <fizzie> Just look at the list in http://www.unicode.org/Public/3.2-Update/SpecialCasing-3.2.0.txt for all special-cased things.
07:54:46 <fizzie> Of course for all uppercase characters x, toLower(toUpper(x)) "returns" to a different codepoint, but I suppose that wasn't the question.
07:55:34 <fizzie> Actually http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt is a better link, since it's version 5.1.0 instead of 3.2.0.
07:56:07 <fizzie> It does not seem to be very much different.
07:57:30 <oklopol> hmph, god it's hard searching the logs based on remembering a topic.
07:57:48 <oklopol> should probably make a better searcher program
07:57:51 <oklopol> one that understands
07:58:06 <fizzie> Incidentally, what especially "you" I did in the logs this time?
07:58:27 <oklopol> you said something about not seeing a reason to make mistakes
07:58:41 <oklopol> it may have been a joke, but i'm pretty sure i've said the exact same line.
07:59:43 <oklopol> there was also some other one, but by then i may just have been looking for similarities sub...erconsciously.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:58 <fizzie> I seem to have been writing no-uppercase-at-the-beginning-of-sentences as late as 2004.
08:02:15 <oklopol> your style has actually changed a lot, while i see oklisms in both the old and the new fizzie, you're not always very *fizzie* in the backlogs.
08:02:31 <oklopol> this i cannot give examples of.
08:03:36 <fizzie> Yes, I don't recognize myself in 1990s-age logs (of other channels) at all.
08:04:05 <oklopol> anyway what i was searching the logs for is i remember once correcting an error of ehird's, and for some reason he just wouldn't admit he was wrong even though i clearly couldn't go on with my life without him admitting it. but maybe he did admit it then, or maybe i just imagined this, because i couldn't find it.
08:04:30 <fizzie> It is not trivial to write a regexp to match that.
08:04:46 <oklopol> indeed not, also i don't even use a regexp.
08:04:59 <oklopol> i just search for a string
08:05:08 <fizzie> Maybe you could graph ehird- and oklopol-densities over time, and look only at spots where those have noticeable peaks simultaneously.
08:05:27 <oklopol> yeah there will only be like 2-3 of those per day.
08:05:45 <oklopol> well
08:05:46 <fizzie> Yes, but I like graphs.
08:05:58 <oklopol> maybe like dialog densities
08:06:06 <oklopol> but
08:06:18 <oklopol> there was also oerjan or someone there, it was very spread out...
08:06:55 <oklopol> anyway i should probably start my readings ~>
08:11:27 <oklopol> fizzie: Yes, but I like graphs. <<< i like the good kind of graphs
08:33:28 -!- tombom has joined.
09:01:05 -!- calamari has quit ("Leaving").
09:44:32 -!- oklopol has quit (Read error: 110 (Connection timed out)).
10:22:31 <AnMaster> <fizzie> Yes, but I like graphs. <-- :D
10:25:49 <fizzie> Since it's been such a while after my last graph-drawing, here's a messy one of channel activity over the whole year 2008: http://zem.fi/~fis/esoteric-2008.png
10:26:17 <AnMaster> fizzie, what is the scale?
10:26:26 <fizzie> Who knows. :p
10:26:45 <AnMaster> fizzie, what is the gap with 0 activity in the beginning?
10:27:29 <AnMaster> fizzie, oh and what app did you use to draw this?
10:27:33 <fizzie> Well, the Y axis is "number of lines over three consecutive days", with each X-axis pixel stepping the window start time by 8 hours; and the nicknames are ordered by total line-counts.
10:27:42 <fizzie> It's a custom Perl script with GD.pm, again.
10:27:47 <AnMaster> ok
10:27:51 <fizzie> That's why there's no grid. :p
10:28:06 <AnMaster> fizzie, btw, that interactive fungot browser thingy... what was the url now again?
10:28:07 <fungot> AnMaster: here's a problem: you're modifying a global packages.scm; i never considered tic-tac-toe a game
10:28:11 <fizzie> Gap is in my logs, I probably again forgot to "/connect freenode", since I don't have it on automagically.
10:28:33 <fizzie> It was at http://zem.fi/~fis/fungot.html but I haven't continued the commentation, and the source might be a bit old.
10:28:33 <fungot> fizzie: hi evoli.
10:28:40 <AnMaster> ah
10:28:40 <fizzie> fungot: I'm not evoli.
10:28:41 <fungot> fizzie: so should i waste time on irc" ( ircnet)
10:28:48 <AnMaster> who is evoli?
10:29:14 <fizzie> Someone on #scheme.
10:29:23 <AnMaster> mhm
10:29:32 <AnMaster> fungot, I prefer if you spent your time in here
10:29:32 <fungot> AnMaster: but decided not to bother u for this one
10:29:41 <AnMaster> .
10:29:45 <AnMaster> good
10:29:50 <AnMaster> I gess
10:29:53 <AnMaster> guess*
10:30:49 <fizzie> Uh... actually it seems that the source is current (since it's fetched with a xmlhttprequest-style ajaxy thing from fungot.b98.txt) but the syntax highlighting doesn't match it. :p
10:30:49 <fungot> fizzie: dating advice? mzscheme? gambit? sisc?
10:31:11 <fizzie> fungot: Are you sure those things have to do with dating?
10:31:11 <fungot> fizzie: i found on the net." this is a public forum
10:31:29 -!- Slereah_ has joined.
10:41:23 -!- Slereah has quit (Read error: 110 (Connection timed out)).
10:49:35 <fizzie> Oh, and here's the same thing as relative activities: http://zem.fi/~fis/esoteric-2008-r.png -- about the only clear thing in it is the ehird/tusho nickname-switcheroo.
11:03:00 -!- oklopol has joined.
11:40:28 -!- psygnisfive has quit ("Leaving...").
12:43:05 -!- ais523 has joined.
12:50:39 <oklopol> okay enigma pack 3, level 46 was a fun, nontrivial puzzle
12:51:24 <oklopol> well okay it was kinda trivial after i familiarized myself with the concept of moving bricks, but it took me a while to get there
12:51:31 <oklopol> so yeah, enigma++
12:53:03 * ais523 finds it interesting to see what oklopol sees and doesn't see as hard
12:53:48 <oklopol> well more interesting than hard, took me three attempts, and on the first one i just tried something at random
12:54:39 <oklopol> on the second i rationalized the beginning but took a few chances on intuition and failed
13:00:20 -!- FireFly has joined.
13:02:48 -!- Mony has joined.
13:03:56 <Mony> plop
13:04:03 <ais523> hi
13:07:21 <fizzie> Intuition: just say no.
13:08:17 <oklopol> yeah it's a pretty useless thing
13:35:57 <ehird> 10:25 fizzie: Since it's been such a while after my last graph-drawing, here's a messy one of channel activity over the whole year 2008: http://zem.fi/~fis/esoteric-2008.png
13:36:02 <ehird> i like it
13:36:15 <ehird> also, mine is kind of skewed since I say things in multiple lines.
13:36:18 <ehird> 08:05 fizzie: Maybe you could graph ehird- and oklopol-densities over time, and look only at spots where those have noticeable peaks simultaneously.
13:36:19 <ehird> 08:05 oklopol: yeah there will only be like 2-3 of those per day.
13:36:20 <ehird> :D
13:36:35 <ehird> 10:49 fizzie: Oh, and here's the same thing as relative activities: http://zem.fi/~fis/esoteric-2008-r.png -- about the only clear thing in it is the ehird/tusho nickname-switcheroo.
13:36:39 <ehird> tha's a lot of oklopol
13:36:58 <ais523> that's pretty
13:37:22 <ais523> I'm actually surprised how high "others" is
13:37:41 <ehird> well, it has the peaks, prolly from when new people arrive
13:37:44 <ehird> or asiekierka
13:37:53 * ais523 would like to see a smoothed version of the first graph
13:37:59 <ais523> maybe with weekly moving averages
13:43:45 <ehird> "Dan Bernstein awards $1,000 for a security hole discovered in djbdns -- its first in almost a decade!"
13:43:46 <ehird> woah
13:43:52 <ehird> he actually awarded it
13:43:53 <ehird> djb++
13:44:25 <ais523> well, aparently there was a security hole in qmail that was discovered a while back that he didn't award for
13:44:34 <ais523> because it only manifested on computers with at least 56GB of RAM
13:45:29 <ehird> yes, well, that makes sense
13:45:36 <ehird> this bug is one that can actually be exploited
14:10:37 <oklopol> i think that activity graph might be better if it also showed how much talk actually happened
14:10:52 <oklopol> also how's that a lot of oklopol, it's much more of everyone else
14:11:12 <oklopol> well maybe more than you'd've thought, but i don't see how that's an interesting observation :P
14:11:28 * oklopol mentions level 46 again
14:11:42 * oklopol goes back to his bookings ->
14:22:45 <ehird> oklopol: want a challenge? try the Experimental set, "Impossible?"
14:23:04 <ais523> ehird: I've done that one, it's easy
14:23:11 <ehird> wut :D
14:23:17 <ais523> there wasn't anything special about it IIRC
14:23:22 <ehird> sure there is
14:23:22 <ais523> AFAICT, it's unfinished
14:23:24 <ehird> it's impossible
14:23:29 <AnMaster> hi ais523
14:23:30 <ais523> how did I not notice?
14:23:33 <ais523> hi AnMaster
14:24:29 <AnMaster> <ehird> it's impossible <-- no, but you have to guess very luckily
14:25:07 <ais523> I'm pretty sure I remember finding a magic wand on that level, which makes it trivial
14:25:20 <ais523> ah, maybe there's a hidden wand somewhere that you can only obtain in the first few seconds
14:26:12 <ehird> ais523:
14:26:17 <ehird> you're thinking of Impultest
14:26:17 <ais523> but as AnMaster mentions, it's clearly possible if you get to the corner oxyds before the bolders do and they happen to be the right colour
14:26:17 <AnMaster> just finished it
14:26:47 <AnMaster> yep, you need to get to the one in the top right corner quickly
14:26:59 <AnMaster> and then you must get it correctly on the next block
14:27:02 <AnMaster> after that: trivial
14:27:25 <ais523> AnMaster: you actually get two tries, you can hit a block on your way to the corner oxyd
14:27:31 <AnMaster> ais523, true
14:28:08 <oklopol> i'm not interested in puzzles that require dexterity or any kind of guesswork, and usually not ones that require exploring either, unless they happen to be fun for some reason, but a good puzzle will always be nicer anyway.
14:28:45 <oklopol> well, i love exploring concepts, like how something moves, but i don't like searching the level for information, or physically exploring large areas
14:29:46 <oklopol> well. i guess i just like to solve the things in my brain and not in the game.
14:35:03 -!- jix has joined.
14:37:31 <FireFly> What game is this about? ;o
14:37:53 <ais523> it's basically a generic puzzle game
14:38:05 <ais523> which can emulate most of the others as long as you flavour them as involving marbles
14:38:14 <fizzie> ais523: "Great minds" and so on; I actually did weekly averages before you mentioned them. http://zem.fi/~fis/esoteric-2008-smooth.png
14:38:36 <ais523> so it has dexterity-based, speed-based, knowledge-based, intelligence-based, and patience-based puzzles
14:38:44 <ais523> oklopol seems to like the intelligence-based ones best
14:39:14 <ehird> fizzie: I'm basically the loudest person on average, then, if you discount AnMaster's 5 billion "Deewiant: boring thing about befunge" per day.
14:39:22 <ehird> That matches my intuitive experience. :P
14:39:46 <FireFly> Does this game have a name?
14:39:55 <ehird> FireFly: Enigma
14:40:07 <ehird> http://www.nongnu.org/enigma/
14:40:15 <FireFly> Ah
14:41:03 <ehird> oklopol: try the microban levels
14:41:33 <FireFly> Hm
14:41:37 <FireFly> I recognize this game
14:41:44 <FireFly> I think I've played it before
14:41:47 <ais523> pretty much everyone here does, somehow
14:43:55 <oklopol> it seems me and psygnisfive take turns being on top
14:44:00 <oklopol> hmm he isn't here
14:44:01 <oklopol> nm
14:44:04 <ehird> *groan*
14:44:45 <oklopol> :)
14:45:04 <oklopol> microban
14:45:15 <oklopol> maybe at some point i will
14:50:18 <fizzie> Occasional visitors are more visible in other graphs. http://zem.fi/~fis/test.png has 2009 January (day-long windows, X-scale 1 hour per pixel, relative percentages of activity) and the fluxo invasion is very visible.
14:51:05 <fizzie> Flexo, not fluxo. Anyway.
14:51:23 <fizzie> A grid would be nice too. And some labels.
14:51:29 <ehird> And a pony yo
14:52:23 <oklopol> who's flexo
14:52:24 <oklopol> :<
14:52:30 <ehird> a german guy
14:58:05 <FireFly> Statistics are interesting
14:59:48 -!- BeholdMyGlory has joined.
15:00:12 -!- M0ny has joined.
15:02:52 <fizzie> Yes, we're certainly putting the ATTIC back in the stATisTICs.
15:06:50 <GregorR> We're putting the TITS back in staTIsTicS!
15:07:17 <fizzie> I didn't want to be rude.
15:07:43 <GregorR> (There are 23 women and 15 men in a conference. The women's cup sizes are: (etc). The men weight: (etc). How many tits are there?)
15:08:08 <fizzie> If I only do the cumulative-activity-thingamajick but not the normalization inherent in the relative-activity-thing, the flexo invasion loses prominence: http://zem.fi/~fis/test2.png
15:09:18 <GregorR> ... wtfbbq?
15:10:15 <ehird> activity graph.
15:15:19 <ehird> HOLY SHIT
15:15:21 <ehird> * (del) (cur) 16:29, 22 September 2006 . . Tom Duff (Talk | contribs) . . 513×385 (10,841 bytes) (The output of a sample EXPLOR program.)
15:15:24 <ehird> --esolangs wiki
15:15:28 <ehird> Tom Duff.
15:15:34 <ais523> who is he?
15:15:40 <ehird> ais523: ... Duff's Device.
15:15:46 <ais523> ah, wow
15:15:56 <ehird> Also wrote Unix10/Plan9's "rc" shell
15:16:01 <GregorR> Not the same Tom Duff :P
15:16:15 <ehird> GregorR: no, it is
15:16:18 <ehird> http://esolangs.org/wiki/User:Tom_Duff
15:16:24 <ehird> My wikipedia bio links to tom duff on wikipedia
15:16:52 -!- Mony has quit (Read error: 110 (Connection timed out)).
15:16:55 <GregorR> *snaps*
15:17:10 <ehird> Was that your spine?
15:17:33 <GregorR> That's a godawful picture of him :P
15:17:38 <GregorR> Or at least, I sure hope it is :P
15:17:42 <ehird> Evil Tom Duff
15:17:56 <ehird> also, programmers aren't known for their beauty
15:18:01 <fizzie> "Your femur is broken." "Broken as in 'not functioning properly'?" "Broken as in, 'there are 2 smaller femurs where you used to have one.'" "Hmm, 2 femurs. Will this give me super powers?" "If you consider the ability to writhe in pain a super power, then yes."
15:18:03 <ais523> does he have a beard?
15:18:07 <fizzie> Sorry, the 'snap' just reminded me.
15:18:09 <ehird> ais523: no
15:18:12 <ais523> that's how we can tell if duff's device will stay popular
15:18:18 <ais523> as he doesn't, presumably it's falling out of fashion
15:18:27 <ehird> I think it never got into fashion
15:18:33 <ais523> well, exactly
15:18:56 <ehird> GregorR: his favicon looks better http://www.tomduff.com/index.html
15:19:05 -!- Judofyr has joined.
15:19:17 <ehird> "Sure. Here's a moderately recent picture of me sitting unshaven in my office scowling at my son, who was playing with the camera. At least I combed my hair. Do whatever you want with it. Tom Duff (talk) 05:53, 16 January 2008 (UTC) "
15:19:19 <ehird> -talk:tom duff
15:21:22 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:21:32 -!- ais523 has joined.
15:21:44 <ais523> wb me
15:21:54 <GregorR> Firefox 3 /added/ support for Gopher :P
15:21:57 <GregorR> That's weird :P
15:22:08 <GregorR> (Full support that is)
15:22:11 <ehird> IT CANNOT COMPETE WITH VONKEROR
15:22:14 <ehird> or sth
15:25:23 <ehird> So, I've thought up some definitions for IO-complete.
15:26:02 <ehird> I-complete: The program can, at its will, accept linear text input from the user and then use that text to modify its internal state with complete differentiation of all characters in the alphabet.
15:26:08 <ais523> GregorR: does it do client-BF?
15:26:09 <ais523> No?
15:26:15 <ais523> then it doesn't have full support
15:26:26 <ehird> O-complete: The program can, at its will, output linear text combined in any arbitrary way from its internal state.
15:26:28 <ehird> Thoughts?
15:26:53 <ais523> the usual definition is that it can produce any output that's a Turing-computable (or substitute other computational class here) function of its input
15:27:06 <ais523> in other words, that its input -> output processing computational class is the same as the computational class of the lang as a whole
15:27:09 <ehird> That doesn't handle interactive programs ala BF
15:27:24 <ais523> does it have to?
15:27:26 <ehird> I'm basically trying to define the set of languages that, to the user, are indistinguishable from BF.
15:27:29 <ais523> ah, ok
15:27:41 <ehird> which is basically the standard model with just stdin/stdout
15:27:45 <ehird> We use "BF-complete" for that, I'd like to formalize the definitions
15:27:59 <ais523> in that case, you need to change it to cumulative input -> cumulative output, and allow the program to produce output before all the input is read
15:28:11 <ehird> Yes, but I've already said some definitions
15:28:18 <ehird> I'm just wondering if they're any good
15:38:45 <ehird> I wonder what lazy apl would be like
15:39:55 <ehird> apart from awesome
15:49:09 <ehird> Oh look, Eric Schmidt slams Twitter with no more than a vague idea what it is.
15:50:01 <ehird> Hm, no. Just a bad headline.
15:51:47 -!- dbc has quit (Read error: 110 (Connection timed out)).
15:53:44 <ehird> http://imgur.com/3US8K.png Uhhh...
15:57:44 -!- oerjan has joined.
16:03:33 <comexk> hey ehird
16:03:38 <ehird> hello.
16:04:28 <ais523> hi
16:04:33 * ais523 is not ehird but says hi anyway
16:04:37 <comexk> also, 'againt the wall'
16:04:42 <comexk> was that intentional? :p
16:04:45 <ais523> no idea
16:04:51 <ais523> I'm not even sure if it was in the original proposal or not
16:04:54 <ehird> yes. also, you want ##nomic or /msg <someone>
16:05:07 <comexk> no, this is ##nomic
16:05:16 <ehird> you're mistaken.
16:05:20 <comexk> since ehird isn't in the other nomic channel
16:05:29 <ehird> i'm sure everyone else will appreciate that.
16:05:31 -!- ehird has left (?).
16:05:47 <comexk> hehehe
16:06:00 -!- ehird has joined.
16:07:31 <ais523> ehird: but Wooble isn't an op here...
16:12:08 <comexk> oh, is that the problem?
16:12:16 <comexk> I thought e was just being a jerk
16:12:25 <ehird> can we keep #esoteric to vaguely esoteric topics?
16:12:35 <ehird> if you're trying to direct messages to me, IRC has a facility for that
16:12:57 -!- Hiato has joined.
16:12:57 <comexk> at the moment, I'm trying to direct messges to ehird and ais523
16:13:04 <comexk> as well as anyone else who is interested in nomic
16:13:09 <ais523> IRC has a facility for that, too, but freenode blocks it
16:13:11 <ehird> there's a channel for that
16:13:18 <comexk> which one?
16:13:20 <ehird> see, people join channels they want traffic to do with
16:13:23 <ehird> and leave ones they don't
16:13:24 <ais523> the syntax is /msg ehird,ais523 This is a message to send to two people
16:13:29 -!- Hiato1 has joined.
16:13:34 <ehird> generally, disrespecting this choice leads to people ignoring you
16:13:34 <ais523> [16:13] <-> ehird,comex> test
16:13:35 <ais523> [16:13] [407] PRIVMSG Too many recipients. Only 1 processed
16:13:44 <comexk> ehird: except you're ehird
16:13:52 <ehird> so, if you want to continue to be able to direct messages at me, I'll take the same course of action
16:13:54 <comexk> and generally overreact to things
16:13:57 <ehird> if you keep doing this
16:14:10 <ehird> comexk: you want to talk to me, you play by my rules. simple enough
16:14:10 <comexk> ah well, i can just ignore you
16:14:34 <ehird> that would solve both problems
16:14:34 <comexk> ehird: why are you playing nomic if you don't want to talk about nomic?
16:14:48 <ehird> who said I don't want to talk about nomic? I don't want to talk about nomic in irc in ##nomic.
16:14:57 <ehird> Email me or something. Or use /msg.
16:15:08 -!- comexk has left (?).
16:15:20 <ehird> How will I deal with this loss.
16:17:58 <oerjan> <AnMaster> ais523, should I put up something following the same implementation in C but that is sane
16:18:14 <oerjan> i think that may be a violation of the spirit of Deadfish. Or not.
16:19:20 <oerjan> <ehird> Agh, I ran into GreyKnight -again-
16:19:36 <oerjan> sure it's the same person? it's a fairly obvious nick...
16:20:04 <ehird> relatively
16:20:13 <ehird> well,.
16:20:14 <ehird> not so much now.
16:20:21 <ehird> oerjan: quite, though.
16:20:22 <oerjan> of course running into people on Agora, esolang and wikipedia isn't unheard of from before.
16:20:26 <ehird> because it has information about his kilt.
16:20:37 <ehird> I don't recall how I know he has a kilt from other sources
16:20:38 <ehird> but I do
16:21:05 <ehird> also, apparently he's a christian who has vowed, among other things, to "Refrain from cutting the hair on one's head".
16:21:07 <ehird> go figure.
16:21:32 <ais523> well, christians don't have do vow that AFAIK, but presumably there's nothing to stop them vowing that if they want to
16:21:36 <oerjan> huh
16:21:46 <ehird> ais523: part of the nazirite vow, apparently
16:21:49 <ehird> although that's a jewish thng
16:21:50 <ehird> *thing
16:22:00 <ehird> it is a good excuse to avoid cutting your head if you're a teen, I suppose
16:22:13 <oerjan> what a sikh thing to do
16:24:21 <AnMaster> oerjan, hm ok
16:24:28 <oerjan> <AnMaster> how does Deadfish behave on EOF?
16:24:47 <oerjan> i think there may be some bug there too...
16:29:30 <oerjan> <ehird> and ais523, ihope (iirc), oerjan, everyone
16:29:45 <oerjan> the rumors of my adminhood are _still_ exaggerated
16:30:10 <ais523> me and keymaker are the only Esolang admins who are active with admin work, IIRC
16:30:18 <ais523> and we're only active with it when there's actual admin work to do
16:30:19 <ehird> # (diff) (hist) . . Esolang:Community Portal‎; 19:18 . . (+9) . . Zzo38 (Talk | contribs) (tunes.org logs are now listed in descending order of date)
16:30:23 <ehird> clever guy, my idea is indeed good.
16:30:23 <ais523> which is nearly all cleaning up spam
16:30:32 <ehird> even tho I stole it from #concatenative
16:30:32 <ais523> and blocking the people responsible
16:30:50 <ais523> or more likely the zombies responsible
16:30:59 <oerjan> Brains...
16:31:09 * oerjan is a responsible zombie. Oh wait.
16:31:16 <ais523> ^bf ,[.,]!This may not be a good channel to take brains into
16:31:16 <fungot> This may not be a good channel to take brains into
16:31:20 <ehird> I had a sort-of-unique idea, based on INTERCAL and Forte.
16:31:24 <ais523> ehird: yes?
16:31:36 <ehird> Basically, it's all redefining language constructs.
16:31:47 <ais523> clever
16:31:51 <ehird> So, to terminate a loop, for instance, you change the loop end command into a nop.
16:31:53 <ehird> Things like that.
16:31:57 <ehird> And the whole language is based around that one operation.
16:32:21 <ais523> that's how I normally terminate short loops in INTERCAL nowadays too, but your language would presumably go much further
16:32:35 <ehird> yes
16:33:24 <ehird> ais523: I'm trying to figure out how to have actual computation if all you can do is remap constructs...
16:33:49 -!- Hiato has quit (Connection timed out).
16:33:57 <ais523> you may be able to use the constructs as a minsky machine
16:34:03 <ais523> Don't do "jump to the next line."
16:34:09 <ais523> Don't do "Don't do "jump to the next line.""
16:34:10 <ehird> ais523: you need a nop then
16:34:17 <ais523> Remove a copy of Don't do from the preceding line
16:34:27 <ehird> 10 goto 20 -> nop 20 ...
16:34:31 <ehird> you need goto and nop there
16:34:36 <ehird> that's two more non-swap primitives
16:34:42 <ais523> yes
16:34:44 <ehird> i want to bake the computation into the swapping, somehow
16:34:49 <ais523> well, nop is easily represented by 0 commands
16:34:56 <ais523> just replace a command with nothing
16:35:02 <ehird> ah
16:35:02 <ehird> yes
16:35:09 <ais523> that might be a little hard to reverse, but I'm sure there's a way
16:35:23 <ais523> as for goto, you need some way not to fall off the end of the program
16:35:24 <ehird> then with one more operator: "current remapped value of"
16:35:26 <ehird> we could do:
16:36:11 <ehird> ^10;^20/.^20;stuff.
16:36:15 <ehird> ^ is the current value of
16:36:19 <ehird> on its own in a statement, does nothing
16:36:21 <ehird> so we use it as line numbers
16:36:25 <ais523> ehird: what about ///?
16:36:28 <ehird> . is statement terminator, ; is subexpression terminator
16:36:29 <ais523> your language is reminding me of that
16:36:35 <ehird> problem is, it just cancels out the ^20
16:36:36 <ehird> not the stuff
16:36:39 <ehird> so:
16:36:52 <ehird> ^10;[^20;?]/.^20;stuff.
16:36:59 <ehird> erases the ^20 line
16:37:01 <ehird> more spacious:
16:37:10 <ehird> ^10; [^20; ?] / .
16:37:12 <ehird> ^20; stuff.
16:37:28 <ehird> pretty sure that's tc.
16:37:48 <ehird> the RHS of / is evaluated ofc
16:38:41 <ehird> ^10; [20;?] / ^[10;?].
16:38:41 <ehird> ^20.
16:38:44 <ehird> I think that's an imnp
16:38:45 <ehird> imp
16:38:46 <ehird> not sure
16:38:48 <ehird> hmm
16:38:50 <ehird> no
16:38:53 <ehird> you can't use ? in a [] ofc
16:41:13 <oerjan> <kerlo> He's not here, but I'm sure that message will find him eventually.
16:41:21 <oerjan> LIES
16:42:09 <ehird> I forgot what I was doing. :(
16:42:19 <oerjan> <kerlo> Area-preserving affine transformations preserve both of these.
16:42:46 <kerlo> Hey!
16:42:50 <oerjan> what they do not preserve, however, are rectangles not aligned with the ellipse axes
16:43:08 <ehird> What was I doing, ais523?
16:43:13 <ais523> area-preserving affine transformations are rotations, reflections, translations, enlargements in one direction combined with an equal contraction in the other direction, shears...
16:43:19 <ais523> and lots of others, I expect
16:43:26 <ais523> ehird: inventing an INTERCAL/Forte hybrid
16:43:41 <ehird> No, no, I lost interest in that about half way through and returned to my previous doings, which was X.
16:43:43 <ehird> What is X?
16:44:00 <ais523> you were discussing GreyKnight before that
16:44:23 <kerlo> oerjan: but those are trivial to enlarge.
16:44:35 <kerlo> So we can ignore those.
16:44:39 <oerjan> kerlo: they are?
16:44:53 <kerlo> Yes. Just rotate and enlarge them.
16:45:06 <ehird> ais523: Yeah, well, I didn't actually tell this channel.
16:45:08 <oerjan> um no...
16:45:18 <ais523> ehird: how am I meant to guess, then?
16:45:28 <kerlo> ais523: I find it likely that those are the only area-preserving affine transformations.
16:45:29 <ehird> Telepathy.
16:45:39 <ais523> sorry, I'm fresh out of floating eye corpses
16:46:00 <ais523> kerlo: well, combinations of those are clearly also area-preserving affine transformations
16:46:02 <oerjan> you cannot rotate in an ellipse
16:46:39 <oerjan> you have to change into a circle first, which destroys rectangles
16:47:25 <oerjan> of course i find it unlikely that a largest rectangle would _not_ be aligned with the axes, but it needs proof
16:52:16 <ehird> gcc -E $*
16:52:20 <ehird> Pop quiz: Spot the fuck up.
16:53:26 <ais523> something to do with quoting?
16:53:39 <ehird> Nope, gcc will ignore non-.c files as "linker input"
16:53:55 <ehird> KICK ASS OR WHAT?!?!?
16:54:24 <ais523> that's fixable
16:54:24 <ais523> -x c
16:54:33 <ehird> I'm just doing /usr/bin/cpp -no-traditional-cpp $*
16:55:20 <ais523> -x c is a nice trick to know anyway
16:55:38 <oerjan> * ais523 glares at paste.eso-std.org
16:55:50 <oerjan> wait, eso-std.org exists again?
16:56:25 <ehird> WAIT WHAT THE FUCK, /usr/bin/cpp is a SHELL SCRIPT
16:56:28 <ehird> that-is-not-right
16:56:32 <ehird> # Transitional front end to CCCP to make it behave like (Reiser) CCP:
16:56:33 <ehird> # specifies -traditional
16:56:34 <ehird> # doesn't search gcc-include
16:56:36 <ehird> #
16:56:38 <ehird> # Copyright (c) 1990 The Regents of the University of California.
16:56:40 <ehird> # All rights reserved.
16:56:43 <oerjan> hm apparently not
16:56:44 <ehird> ha ha ha ha ha ha ha ha ha ha ha ha what the flying fck
16:56:45 <ehird> *fuck
16:56:53 <ehird> ais523: That's not right, is it.
16:57:32 <ehird> *Something* has shat all over my /usr/bin/cpp, methinks.
16:57:57 <ehird> ...nope, that's /Developer/usr/bin/cpp
16:58:11 <oerjan> ehird: they're trying to make it a killer app, i see
16:59:14 * oerjan is expecting bodily harm just about now
16:59:18 -!- ais523_ has joined.
16:59:27 <kerlo> oerjan: you can do whatever you want in an ellipse.
16:59:50 <kerlo> If you have a rectangle in an ellipse and their axes are aligned, that rectangle's corners do not all lie on the ellipse.
16:59:53 * oerjan swats kerlo -----###
16:59:58 <ehird> #!/bin/sh
16:59:58 <ehird> # apple's cpp is broken...
16:59:59 <ehird> # Update 2009-03-04: FUCK YOU APPLE PIECES OF SHIT
17:00:02 <ehird> The evolution of a file header.
17:00:18 <ehird> It works now. How unexpected.
17:00:32 <kerlo> It's easy enough to rotate a rectangle such that its two corners remain on the ellipse; you just have to scale it at the same time.
17:00:40 <oerjan> kerlo: by aligned i mean simply in direction
17:01:11 -!- ais523 has quit (Nick collision from services.).
17:01:14 -!- ais523_ has changed nick to ais523.
17:02:03 <kerlo> Me too.
17:02:03 <oerjan> kerlo: while preserving area?
17:02:33 <oerjan> kerlo: oh wait you were missing a "not"
17:02:38 <oerjan> or so i think
17:02:59 <kerlo> Not while preserving area, no.
17:03:28 <kerlo> What I'm saying is that the biggest rectangle you can fit in an ellipse is aligne with the ellipse.
17:03:42 <oerjan> kerlo: needs proof
17:04:30 <oklopol> well clearly that's the beautiful answer you'd expect.
17:04:49 <oklopol> so why prove it and risk ruining it
17:04:53 <kerlo> Suppose you have a rectangle that is in an ellipse and not aligned with the ellipse. It is possible to rotate the rectangle so that it is aligned with the elipse; upon doing so, it will be possible to make the rectangle bigger while remaining in the ellipse. Contradiction. Q.E.D.
17:05:02 <oklopol> err
17:05:05 <oklopol> where's the proof :D
17:05:29 <oerjan> kerlo: it's the remaining in the ellipse part that needs some proof
17:06:06 <kerlo> You prove it, then. :-P
17:06:12 <oerjan> too lazy :D
17:06:20 <oklopol> oerjan: adding enough formality will prove anything.
17:06:34 <oklopol> kerlo: um, unwrap definitions and you'll probably have it directly
17:06:53 <kerlo> That's nice.
17:07:08 <oerjan> i am assuming it would require some length calculations or something
17:07:30 <oklopol> basically you calculate the expression of the rectangle's area and find the zero of the derivative, prolly.
17:08:00 <oklopol> and by that expression i mean f(x) : angle -> area
17:08:11 <oerjan> which may not be hard, but rather diminishes the elegance of transforming to a circle afterwards
17:08:31 <oklopol> well i have no idea about context, i just found kerlo's statement funny :P
17:08:37 <oklopol> and now i need to go do a shoppe!
17:09:02 <oerjan> oklopol: just don't get caught
17:09:58 <oklopol> onion rings!
17:10:01 <oklopol> !!!
17:10:02 <oklopol> ->
17:10:33 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
17:10:39 <ehird> How do you trap overflow on x86?
17:10:47 <oerjan> when onion rings, don't answer
17:11:37 -!- ais523 has joined.
17:11:41 <ehird> hi ais523
17:11:45 <ehird> i don't suppose you would know:
17:11:46 <ehird> How do you trap overflow on x86?
17:11:54 <ais523> I don't know offhand
17:12:05 <ais523> but based on my experiences of x86, I'd guess "with difficulty"
17:12:05 <ehird> can you even do it?
17:19:26 <ehird> I wonder how to allocate huge things (1gb) on the stack with alloca
17:19:38 <ais523> probably you can't, is the stack that big?
17:20:03 <ehird> i guess not.
17:20:24 <ehird> wow, my malloc() returns surprisingly clean results. like 0x200000
17:21:42 <ehird> ais523: is there any way to expand the stack?
17:21:47 <ais523> depends on the OS
17:22:01 <ehird> bsd
17:22:03 <ais523> you need to map in more memory in the address space it expands into
17:22:13 <ais523> and I don't know whether that's possible or not on BSD
17:22:15 <ais523> nor how
17:22:23 <ais523> hmm... are you working on that INTERCAL VM?
17:22:31 <ais523> it sounds like it, based on what you're saying
17:22:31 <ehird> not right now
17:24:04 <oerjan> <ehird> Tom Duff.
17:24:19 <oerjan> he did quite a bit on the wiki on esolang history iirc
17:24:58 <ais523> writing about pre-INTERCAL esolangs, IIRC
17:31:44 <ehird> ais523: so, how do you do it in linux?
17:32:07 <ais523> I don't know that either
17:32:11 <ehird> :<
17:44:56 <oerjan> hm synchronicity
17:45:08 <ehird> oerjan: itym coincidence
17:45:12 <oerjan> Grey Knight is on wp Did you Know
17:45:18 <oerjan> whatev
17:45:31 <oerjan> *knight
17:45:37 <ehird> ha
17:46:08 -!- ais523 has quit (Read error: 60 (Operation timed out)).
17:48:07 <oerjan> oh and the third one is about broken femurs, which were _also_ mentioned in the channel logs today :D
17:48:39 -!- ais523 has joined.
17:49:04 <ehird> "The first time I saw a program written in Forth, I thought the developer was just making up the language as he went along. Then I discovered that he was."
17:49:09 <ehird> — reddit
17:49:15 <ais523> haha
17:50:02 <oerjan> that would apply to any language suitable for DSELs...
17:50:03 <Deewiant> ( http://www.reddit.com/r/programming/comments/8210z/forth_is_a_program_that_interfaces_keyboards_with/ )
17:50:14 <oerjan> er, EDSL?
17:50:21 <ehird> ESDLs
17:50:22 <ehird> but no
17:50:23 <ehird> forth is more fluid
17:50:24 <Deewiant> same difference
17:50:32 <ehird> you can't get rid of lisp's parentheses, but you can turn forth into anything
17:50:51 <Deewiant> sure you can get rid of lisp's parentheses
17:50:58 <ehird> not in r5rs.
17:50:59 <Deewiant> (interpret-my-language "................................................")
17:51:05 <ehird> that is not extending the language.
17:51:07 <ehird> that's not embedded.
17:51:53 <Deewiant> it's embedded in a sense, you could call stuff from the outer scope from in there
17:52:01 <ehird> no, it's really not.
17:52:06 <oerjan> hm the french term would have LSD in it, i'm sure
17:53:25 <Deewiant> Is there a sensible and generally accepted definition for what exactly a DSEL is anyway
17:53:49 <ehird> your put lol
17:54:31 <oerjan> ehird: er?
17:54:43 <ehird> I meant to say your butt lol.
17:54:46 -!- ais523 has quit (Read error: 60 (Operation timed out)).
17:55:09 -!- ais523 has joined.
17:56:04 <oerjan> ehird: ESDL gives all sorts of other meanings
17:56:17 <ehird> i meant EDSL
17:56:44 <oerjan> oh that actually gives a hit
17:56:46 <lament> DSEL is a buzzword
17:57:04 <oerjan> although there are still other meanings
17:57:10 <lament> it means, "I'm too cool for things like OOP but I still want my own acronyms"
17:57:58 <oerjan> oh DSEL is also defined
17:58:28 <ais523> ITCFTLOBISWMOA?
17:58:33 <oerjan> it's short for "acronym we cannot decide on the ordering of"
17:58:47 <ais523> AWCDOTOO sounds interesting, actually
17:59:11 * ais523 wonders what language-specific embedded domains are
18:00:14 <oerjan> bah the french term for domain specific language is "Langage dédié"
18:00:46 <oerjan> clearly someone censored the s part
18:08:35 <tombom> interesting
18:09:56 -!- jix_ has joined.
18:13:05 -!- M0ny has quit ("Quit").
18:15:19 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:23:12 -!- jix has quit (Read error: 110 (Connection timed out)).
18:38:53 -!- jix_ has quit (Read error: 60 (Operation timed out)).
18:42:55 -!- jix has joined.
19:05:21 <AnMaster> hi Deewiant
19:05:47 <Deewiant> yello
19:05:52 <AnMaster> hah
19:06:18 <AnMaster> Deewiant, see the comments I made directed at you during the past few weeks but that you never responded to
19:06:38 <Deewiant> there was nothing worth responding to :-P
19:06:46 <Deewiant> yay, cfunge almost runs on BSD, or something
19:06:48 <Deewiant> what should I say to that
19:10:20 -!- ais523 has joined.
19:11:46 <Deewiant> FILE lacks a way to truncate files: yes, it does, complain to mike if you feel something should be done
19:11:57 <Deewiant> nothing else, I guess
19:18:50 <ehird> http://drplokta.livejournal.com/109267.html
19:18:52 -!- jix_ has joined.
19:33:10 -!- jix has quit (Read error: 113 (No route to host)).
19:42:36 -!- olsner has joined.
19:50:38 <ehird> so!
19:50:41 <ehird> I'm writing a Forth in JS.
19:50:48 <ehird> Badly suited, you say? Quite so my good chap!
19:51:40 <oerjan> badly suited for forth, forsooth
19:52:36 <ehird> ais523 did a lot of interpreters in JS, I imagine he'd like it
19:53:06 <ais523> that's because JS is a good lang for quick throwaway programs that you can easily show to other people
19:53:11 <ais523> most people have a JS interp on them
19:53:21 <ais523> also, it's by far my favourite lang for programming in on public terminals
19:53:30 * oerjan picks his nose and pulls out a JS interp
19:54:07 <oerjan> 'snot what you think, honestly
19:54:48 <ehird> >_<
19:55:06 <oerjan> i blame picasso
19:59:31 * FireFly likes JS
19:59:58 -!- jix has joined.
20:01:30 <ehird> hmm
20:01:50 * oerjan likes swatting FireFly -----###
20:01:58 * FireFly dislikes swatters
20:02:18 <FireFly> Is that a swat I see, or what?
20:02:26 * oerjan confuses FireFly by making a JS swatter
20:02:32 <FireFly> :|
20:02:51 -!- jix_ has quit (Read error: 145 (Connection timed out)).
20:06:38 -!- jix has quit (Read error: 60 (Operation timed out)).
20:07:29 <ehird> hmm
20:07:37 <ehird> how big should my stack/heap/dictionary be, I wonder.
20:07:46 <ehird> well, return stack can be smaller than data stack
20:07:52 <ehird> i onl yhave 64mb to work with here
20:08:04 <ehird> dictionary will probably be tiny, let's say 5MB
20:08:05 <Deewiant> why not more
20:08:14 <ehird> Deewiant: you can't allocate too much with JS
20:08:16 <ehird> it just fails silently
20:08:29 <Deewiant> Surely that depends on your interpreter
20:08:33 <ehird> well, duh
20:08:36 <ehird> I'm running it in a browser
20:08:50 <Deewiant> Ah, that'd explain it now wouldn't it :-P
20:08:57 <Deewiant> Consider not doing so
20:09:12 <ehird> no, that's the whole point
20:09:22 <Deewiant> Okay, fine then
20:11:56 <ehird> dictionary 8MB
20:11:57 <ehird> return stack 8MB
20:11:58 <ehird> data stack 16MB
20:12:00 <ehird> heap 32MB
20:12:02 <ehird> seems reasonable to me
20:15:03 -!- clog has quit (^C).
20:15:03 -!- clog has quit (ended).
20:15:14 -!- clog has joined.
20:15:14 -!- clog has joined.
20:15:21 <ehird> ... clog just got ^C'd?
20:15:23 <ehird> wtf bbq
20:15:29 <ehird> nef is ALIVE?!
20:15:47 <Deewiant> Should he be dead?
20:16:04 <ehird> I haven't heard anything about him later than 2004
20:16:57 <ehird> 20:16 ehird: I was starting to think clog was running totally autonomously there for a few years ...
20:16:57 <ehird> 20:16 nef: it was
20:20:42 <ehird> and he's offline again
20:20:45 <ehird> *poof*
20:26:28 <lament> which channel was that
20:41:11 -!- Hiato1 has quit (Connection timed out).
20:57:23 <ehird> lament: /mag
20:57:26 <ehird> /msg
21:06:27 <ehird> Grah, nul-terminated strings are so stupid.
21:08:14 <oerjan> a bit too granular
21:11:06 <ehird> was that a pun
21:11:21 <oerjan> well, do you think it was groanular?
21:12:23 <ehird> 'Nantero built a functioning carbon nanotube memory prototype 10 GB (10 × 230 bytes) array in 2004."
21:12:26 <ehird> why did nobody tell me about this
21:12:31 <ehird> i want one, now
21:15:54 <ehird> hmm
21:16:03 <ehird> why is memory measured in bytes if you address words with it
21:16:05 <ehird> that's just ridiculous.
21:17:50 -!- oerjan has quit ("The time travelers said we should try to delay ehird finding it out as long as possible").
21:18:06 <ehird> no seriously, maybe ais523 knows.
21:18:36 <ais523> it's for advertising / comparison purpose
21:18:46 <ais523> people doing that sort of thing use inappropriate units just because of inertia
21:18:52 <ais523> if everyone's using units, so do you
21:18:55 <ehird> mm
21:19:02 <ehird> i just, stupidly, did this:
21:19:04 <ehird> var mm = new Array(8388608); // 8MB
21:19:07 <ehird> spot the bug
21:19:34 <ais523> hmm... did you get the number wrong?
21:19:42 <ais523> or are arrays not declared like that
21:19:46 <ais523> wow, my javascript's got rusty
21:19:55 <ehird> ais523: memory is an array of words
21:20:01 <ehird> 8388608 is 8MB measured in _bytes_
21:20:05 <ais523> aha
21:20:14 <ais523> well, javascript arrays auto-extend anyway
21:20:23 <ehird> yes, but in this case I'm trying to pre-allocate the whole heap
21:20:24 <ais523> so the bug won't be noticeable except in making things slightly less efficient
21:20:26 <ehird> ais523: and that -over- allocates
21:20:39 <ehird> new Array(4194304) // this is correct
21:21:17 <ehird> err, no
21:21:22 <ehird> 2097152
21:21:23 <ehird> ofc
21:25:33 <fizzie> Well, it's not like we can know your word size here.
21:25:42 <ehird> it's a VM
21:25:46 <ehird> so 32-bit, so 4 bytes
21:26:34 <fizzie> I don't think "VM" implies "32-bit".
21:27:01 <Deewiant> I know it doesn't!
21:27:08 * kerlo writes a 31-bit Subleq interpreter
21:28:06 <ehird> fizzie: I mean
21:28:09 <ehird> "your word size"
21:28:11 <ehird> I control the word size
21:28:24 <fizzie> Yes, and we can't know what you control it to.
21:28:26 <Deewiant> The "so" in 32-bit is still misplaced
21:28:57 -!- tombom has quit (Client Quit).
21:30:18 <kerlo> I think C would be a very appropriate language for a Subleq interpreter.
21:30:39 <ehird> No, Forth.
21:30:57 <kerlo> All you do is allocate a chunk of memory and then use pointers.
21:31:04 -!- jix has joined.
21:31:07 <ehird> Forth cuts out the allocation step.
21:32:36 <kerlo> Bonus: Let the Subleq programs refer to the locations of C functions, the stack, and so on.
21:32:55 <ehird> Forth gives you that for free.
21:33:22 <kerlo> Is there anything Forth can't do?
21:35:16 <ehird> kerlo: Make you toast.
21:35:32 <ehird> But, yeah, if you just use @ and ! you get the native machine/Forth memory.
21:44:31 -!- atrapado has joined.
21:45:37 <oklopol> '
21:48:57 <oklopol> heh, turns out that incredibly terrible fail of mine was 87.5 percent :P
21:49:20 <ehird> oklopol: lol
21:49:30 <ehird> oklopol: still angry about it? :P
21:50:52 <oklopol> how could i not be angry about having 3 out of 41 ppl get a better score than me!
21:51:14 <ehird> 87% would still count as 5/5 though right
21:51:54 <oklopol> i think so.
21:55:17 -!- jix has quit ("...").
22:27:17 -!- comexk has joined.
22:27:46 <comexk> So, anyone know how I can find out the CPU cache size and whether all my code will fit into it?
22:28:45 <ais523> it'll be on the datasheet for processors, which you should be able to get from the manufacturer, most give them away free
22:28:56 <ehird> comexk: are you optimizing Bayes?
22:28:58 <ais523> I'm not sure if there's a way to work it out from the OS itself
22:29:31 <comexk> not some embedded system, a nice big core 2 :p
22:29:41 <ehird> what are you trying to do
22:29:56 <comexk> you see, I got an assignment in java class to make a Morse Code translator as efficient as possible
22:30:09 <ehird> erm, the whole JVM would have to fit into the cache, then
22:30:14 <comexk> after I decided I couldn't make it fast enough in java, I used JNI to implement it in C
22:30:27 <ehird> I suspect you'll get deducted marks for that...
22:30:32 <comexk> hey, it's java
22:30:32 <comexk> anyway
22:30:35 <ais523> "as efficient as possible" is something you shouldn't say within range of an esoprogrammer
22:30:41 <comexk> ais523: except that's what I mean
22:30:52 <comexk> though I don't want to write it in assembly (and I doubt I would gain much from that)
22:30:54 <ais523> comexk: is there any way to do Java with inline asm?
22:30:59 <ais523> there's definitely no standard or sane way
22:31:03 <ais523> but surely there must be some way
22:31:03 <ehird> ais523: he's using JNI
22:31:05 <comexk> actually, there is a standard and a sane way
22:31:08 <ehird> that's just C<->Java interface
22:31:11 <ehird> he's writing it in C
22:31:12 <ais523> ah
22:31:13 <ehird> then binding it to java
22:31:16 <ehird> and claiming it's java
22:31:25 <ais523> I thought he was writing in java and compiling to C, and claiming it was java
22:31:27 <ehird> thus getting his answer marked as wrong...
22:32:05 <comexk> naah
22:32:13 <comexk> any sane grader will mark it correct
22:32:14 <ehird> 's what I would do
22:32:27 <comexk> it can be called from a java class just like any java code
22:32:28 <comexk> ANYWAY
22:32:29 <comexk> don't care
22:32:31 <ais523> did they state which java implementation had to be used?
22:32:32 <comexk> I want to optimize the c
22:32:45 <ais523> using gcj rather than the jvm should save you a lot of time if you write the code to be properly optimisable
22:32:48 <ehird> "How can you optimize this Python application?" "I rewrote it all in C then bound the main to python, so now it looks like this: app.main()"
22:32:51 <ehird> "Uh, no."
22:32:52 <ais523> and only do things that translate easily into C
22:32:59 <comexk> ehird: ever heard of cython?
22:33:12 <ehird> comexk: considering I told you about cython...
22:33:15 <ehird> plus, cython isn't python
22:33:16 <comexk> ais523: really, it compiles to native code?
22:33:20 <ehird> its an extension of python
22:33:22 <comexk> ehird: point
22:33:26 <comexk> I used it recently
22:33:29 <ais523> comexk: yep
22:33:32 <comexk> the native python MutableString implementation is hellslow
22:33:45 <comexk> ais523: I'm using JNI because I want efficiency. That's that.
22:33:45 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
22:34:00 -!- oklopol has joined.
22:34:03 <comexk> ...because it allocates a new string every time your string is modified
22:34:45 <ehird> comexk: so use a list
22:34:59 <comexk> ehird: and have a PyObject for every character in the string!?
22:35:08 <ehird> why are you using python
22:35:10 <comexk> naah, that was a perfect use case for Cython, which worked pretty well
22:35:10 <ehird> just code it all in C
22:35:16 <comexk> massive speed increase
22:35:23 <comexk> as in, 20 minutes --> 20 seconds
22:35:30 <comexk> (it used mutalestrings a lot)
22:35:34 <ehird> if you're writing in python and want a speed increase, start by rewriting the python interpreter because it's a shit naive bytecode interpreter
22:35:47 <comexk> ehird: good point, people do that, too bad nob ody's actually made a good python interpreter
22:35:58 <comexk> although 20 seconds is with psyco.full()
22:36:05 <comexk> but the code isn't optimized for speed
22:36:09 <comexk> the python is fairly naive
22:36:17 <ehird> python itself does not lend itself to efficiency
22:36:33 <comexk> yeah, but you can, e.g., not create massive amounts of objects
22:36:57 <ehird> if you want to write in a HLL and get blazing efficiency, i'd use Scheme + Stalin
22:37:19 <comexk> In a number of tests it has outperformed hand-written C, sometimes by a considerable margin.
22:37:22 <comexk> hmm
22:37:32 <comexk> well
22:37:32 <comexk> http://pastie.org/407681
22:37:33 <ehird> or rather Ponzi, which would be like stalin without the huge limitations but I haven't written it yet.
22:37:44 <comexk> tell me how that can be improved
22:37:46 <ehird> comexk: that's not optimized!
22:37:48 <ehird> use a lookup table
22:38:12 <comexk> ehird: what would that do
22:38:18 <ehird> be fast.
22:38:23 <comexk> lookup table of what?
22:38:24 <comexk> hashes?
22:38:29 <comexk> that would be slower
22:38:33 <ehird> no
22:38:33 <ehird> listen
22:38:41 * comexk listens
22:38:42 <ehird> comexk: key them by integers: a machine word can store 4 characters on a 32 bit machine
22:38:44 <ais523> presumably because the Scheme programs are written better than the C-by-hand would be
22:38:51 <ehird> you can actually do that
22:38:56 <ehird> and compare them natively
22:39:01 <ehird> with no overhead
22:39:07 <comexk> hey, that's a good idea
22:39:09 <ehird> lemme find the article showing how
22:39:24 <comexk> forgot about that -_-
22:39:40 <ais523> comexk: the binary if/else if thing is slow in practice because modern processors are really quite bad at jumps compared to everything else
22:39:50 <ehird> comexk: http://www.stdlib.net/~colmmacc/2009/03/01/optimising-strlen/
22:39:54 <ehird> see "Method 4: word-wise checks"
22:39:57 <ehird> and the glibc code it links to
22:40:08 <ehird> from that, you should be able to make an insanely fast lookup table version
22:40:10 <comexk> I've sen hellishly complex implementations of, say, memcpy
22:40:42 <ais523> well, on some processors, the best known memcpy implementation in asm is duff's device and copying 4 or 8 bytes at a time
22:40:44 <ais523> which is pretty complex
22:40:56 <comexk> ais523: on ARM I've seen
22:41:02 <comexk> first, try to use load multiple instructions to copy like 8 bytes at a time
22:41:05 <comexk> then copy words
22:41:06 <comexk> then copy bytes
22:41:09 <ais523> haha
22:41:15 <comexk> and I had to disassemb le the function and see what it did
22:41:17 <comexk> :p
22:41:51 <ehird> but yah, lookup table (nest them if you have keys longer than 4 bytes on 32-bit or 8 on 64-bit, ofc) of word-sized chunks of the string
22:41:53 <ehird> == insanely fast
22:42:01 <comexk> I don't know, are you sure that's faster? you'd have to check every combination linearly
22:42:06 <ehird> err, no
22:42:08 <comexk> what do you mean lookup table
22:42:09 <ehird> lookup table
22:42:24 <comexk> luckily, all morse code characters fit in 32 bits
22:42:24 <comexk> but
22:42:32 <ehird> comexk: a hash table, but indexed with machine words
22:42:34 <ehird> not hashes
22:42:37 <comexk> though that runs into endian issues
22:42:37 <ehird> comexk: also, mayhaps operate on java Strings, not char*
22:42:45 <ehird> to avoid the conversion overhead
22:43:32 <comexk> ehird: are you sure a hash table with only 26 entries would be faster than branching?
22:43:47 <ehird> not hash table
22:43:51 <ehird> you're not running any hash functions
22:43:52 <comexk> not hash table
22:43:54 <comexk> I know
22:43:59 <ehird> you're indexing on *((int *)str)
22:44:04 <comexk> but that requires memory loads
22:44:10 <comexk> doing it directly as in the pastie doesn't
22:44:15 <ehird> comexk: processors are terrible at branching.
22:44:20 <ehird> also, yours accesses memory
22:44:23 <ehird> s[0], s[1], s[2], ...
22:44:28 <ehird> at least this does one access
22:44:30 <ehird> yours does tons
22:45:12 <comexk> ehird: only as many as necessary, but I meant you would have to access the table from memory
22:45:23 <ehird> store it as a constant, static array
22:45:27 <ehird> then it'll go into the object file
22:45:31 <comexk> that doesn't make it not memory...
22:45:52 <ais523> comexk: a memory load on a bit of memory that was in cache anyway is really quite fast
22:46:11 <ais523> so the well-known trick is to store your lookup table in the same bit of memory in the program that's running
22:46:25 <ais523> you can do that by using inline asm for dat commands
22:46:49 <ais523> ehird: what I'm suggesting is your method but slightly more insane, it's a special case of your method
22:46:54 <comexk> that and casting bytes to ints limit me to i386 but that's okay I guess
22:47:04 <ehird> ais523: yes, but I'd try mine first
22:47:05 <ehird> then go to asm
22:47:06 <comexk> it makes me nervous, since this is supposed to be portable java
22:47:15 <ehird> comexk: you failed by doing it in C anyway
22:47:18 <comexk> but I guess there could be a pure c fallback
22:47:18 <ehird> also, you can be portable.
22:47:21 <comexk> ehird: c is portable
22:47:23 <comexk> ehird: endian
22:47:24 <ehird> what's not portable about *((int*)s)
22:47:24 <ais523> well, dat commands are relatively portable between architectures
22:47:30 <comexk> ehird: endian
22:47:36 <ehird> comexk: so, in you lookup table do
22:47:44 <ehird> *((int*)".-.-")
22:47:47 <ehird> instead of 3485783457345
22:47:52 <ehird> (in the literal)
22:47:52 -!- atrapado has quit ("Abandonando").
22:47:57 <comexk> does that actually work?
22:48:02 <ehird> why not
22:48:21 <ehird> comexk: you'll probably have to nest the tables
22:48:27 <ehird> since there are morse code patterns longer than 4 bytes, right?
22:48:42 <comexk> no
22:48:46 <ehird> oh
22:48:50 <ehird> then that'll work fine
22:48:52 <comexk> as I said, it's well suited for that
22:48:55 <comexk> although 64-bit processors
22:49:04 <comexk> only problem is that
22:49:07 <comexk> what if you have
22:49:09 <ais523> the longest morse code pattern is 5 dots+dashes
22:49:14 <ehird> ais523: agh
22:49:16 <comexk> ais523: really? which one
22:49:16 <ehird> one off
22:49:20 <ais523> comexk: 5
22:49:28 <comexk> letters only.
22:49:34 <ais523> but notice that a dot/dash needn't store an entire byte
22:49:53 <comexk> but there is a problem with a lookup table
22:50:01 <comexk> if your letter is E
22:50:03 <comexk> you might have
22:50:05 <comexk> ". --"
22:50:07 <comexk> ". . "
22:50:09 <comexk> ". .."
22:50:10 <comexk> etc
22:50:21 <ehird> comexk: well, you know the string length ,right?
22:50:24 <ehird> it's a java String
22:50:28 <ehird> so getting the length is O(1)
22:50:35 <comexk> yes, but there are multiple letters
22:50:35 <ehird> then, just do
22:50:37 <comexk> separated by spaces
22:50:38 <ehird> (>>4)<<4
22:50:43 <ehird> or w/e
22:50:47 <ehird> so you get 0s instead of the rest
22:50:48 <ehird> before lookup
22:50:52 <comexk> ehird: but some patterns are 4 characters
22:50:57 <ehird> comexk: and?
22:51:09 <comexk> so length has nothing to do with it
22:51:11 <comexk> I have to find the space
22:51:21 <comexk> but I'm doing that anyway
22:51:22 <comexk> so fine
22:51:23 <comexk> I'll do that
22:51:40 <ehird> err
22:51:41 <comexk> other thing is
22:51:46 <ehird> if you find the space then there's no reason to do this
22:51:46 <comexk> I'm doing a binary search, aren't I?
22:51:52 <ehird> because that's inefficient
22:51:57 <comexk> *((char *) is portable but they wouldn't be in order in a different endian
22:52:04 <ehird> s/char/int/
22:52:07 <comexk> ehird:?
22:52:10 <comexk> yeah
22:52:14 <ehird> and that's why you don't put any endian-specific constants in
22:52:18 <ehird> i don't think you "get" this
22:52:26 <comexk> ehird: the idea would be to have it pre-sorted
22:52:35 <comexk> so I don't have to go through the table linearly
22:52:48 <ais523> I've written efficient morse decoders before
22:52:51 <comexk> well, let's try it
22:53:04 <ais523> the trick is to start with 1, and double every character you encounter, adding one if it's a dash not a dot
22:53:04 <ehird> comexk: ...
22:53:07 <ehird> there is no table
22:53:09 <ehird> just an array
22:53:15 <ais523> and use the total as an index into an array that retrieves your character
22:53:21 <ehird> you calculate all the values in words for the dotdashes
22:53:26 <ehird> then modulo them all 26
22:53:30 <ehird> and store them in an array, without the key
22:53:34 <ehird> just the value
22:53:43 <ais523> ehird: what do you mean by "value" here?
22:53:54 <ehird> the resulting letter
22:54:07 <comexk> ehird: hmm?
22:54:12 <ehird> like, static const char foo[] = "ZCBAFU...";
22:54:17 <comexk> my value might be very big, I can't have the _word_ as an index
22:54:30 <comexk> yeah, and then I have another array of the words
22:54:42 <comexk> ais523's suggestion might be faster
22:54:44 <ehird> do you know what a word is
22:54:44 <ehird> x_x
22:54:57 <comexk> ehird: four bytes, or two bytes sometimes
22:55:03 <comexk> or eight sometimes :p
22:55:10 <ehird> i'm really starting to doubt you actually understand the algorithm I'm trying to explain
22:55:15 <comexk> ehird:
22:55:22 <ehird> comexk:
22:55:28 <comexk> u32[] keys
22:55:30 <comexk> char[] values
22:55:34 <comexk> look up in keys, use the index into values
22:55:40 <comexk> if that's not it, you're not explaining clearly enough
22:55:41 <ehird> ...
22:55:43 <ehird> fuck no.
22:55:54 <comexk> then be clearer
22:55:57 <ehird> damn, I just wasted like 15 minutes attempting to explain that. have fun
22:56:24 <comexk> I don't think you know what you're talking about
22:56:41 <ehird> remind me not to try and help you again
22:57:25 <comexk> *sigh*
22:57:46 <ehird> so hey, anyone want help that can understand english & technical terms and doesn't tell me I don't know what i'm talking about when they don't understand?
22:57:57 <lament> ehird: sure
22:58:05 <ehird> excellent. how can I help you today.
22:58:50 <lament> ehird: Я буду играть на прослушивании в следующий вторник, как мне лучше подготовится?
22:58:55 <ehird> yes.
22:59:12 <ehird> if the question was, "are you fat?", no.
22:59:28 <comexk> ah, nice
23:00:41 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
23:01:30 <FireFly> Hm
23:03:28 -!- Slereah has joined.
23:06:39 <comexk> so ais523, what were you saying about inline data?
23:06:51 <ehird> it depended on my idea.
23:06:54 <ehird> which you've rejected
23:07:00 <comexk> if so, I support your idea
23:07:09 <comexk> I merely think you failed to explain it clearly
23:07:12 <ais523> well, the idea's you have an array with the possible translations
23:07:20 <ais523> a char array, probably
23:07:22 <ehird> comexk: you know how a hash table works?
23:07:29 <ais523> you work out a mathematical value from each dot-dash string
23:07:32 <ehird> it's an array, where [hash%size]
23:07:34 <ehird> is the value
23:07:36 <ehird> now, do the same
23:07:39 <ehird> but with
23:07:40 <ais523> ehird: this is not exactly a hash table
23:07:44 <ehird> ais523: i know
23:07:46 <ais523> definitely you don't want %26
23:07:48 <ehird> i'm explaining it to him
23:07:51 <ehird> also, yes you do...
23:07:54 <ais523> you don't want %anything, in fact, you want a perfect hash
23:07:54 <ehird> otherwise your array is huge
23:07:57 <comexk> no you don't, because you will have duplicates
23:07:59 <ais523> ehird: 64 bytes?
23:07:59 <ehird> it is perfect
23:08:01 <comexk> however, I tested and %59 works
23:08:02 <ais523> I wouldn't call that huge
23:08:06 <ehird> well, fine
23:08:08 <ehird> that isn't what i meant
23:08:20 <ais523> comexk: dividing by 59 is rather slow on a modern computer compared to other operations, apart from jumps
23:08:35 <comexk> ais523: really? so I would be better off with an evener number?
23:08:36 <ehird> use >>
23:08:40 <ehird> power of 2
23:08:53 <ehird> the thing is
23:08:55 <ehird> it's not a perfect hash
23:08:56 <ehird> it's not a hash
23:09:02 <ehird> it's the literal char data interpreted as a word
23:09:24 <ais523> it is a hash, per the definition of hash, it's just that it's a hash that doesn't contain a modulo interpretation whereas most do
23:09:28 <ais523> ehird: oh, I wasn't doing it like that
23:09:34 <ehird> ais523: that's the whole idea
23:09:37 <ehird> you skip the hashing step
23:09:40 <ehird> and just do *((int*)s)
23:09:45 <ehird> that's the whole key to why it's so fast
23:09:48 <ais523> I was unrolled-looping over each character in the input
23:09:57 <comexk> oh god unrolled
23:09:58 <ehird> yeah, that's entirely missing the point
23:09:59 <ais523> add, shift, add, shift, etc
23:10:04 <ais523> that is different from your method
23:10:06 <comexk> yeah, that's not what I'm doing
23:10:07 <ais523> but it may be faster
23:10:07 <ehird> *((int*)s) reduces it to one memory read
23:10:20 <ais523> 5 adds and 4 shifts is 9 memory reads not 1, I agree
23:10:28 <ais523> on the other hand, I think 9 reads are faster than 1 integer divid
23:10:29 <comexk> ehird: yeah, so I have an int corresponding to four bytes, and unique codes correspond to unique values
23:10:30 <ais523> *divide
23:10:33 <comexk> ehird: now what
23:10:35 <ehird> ais523: yes, but not >>
23:10:43 <ais523> heh, that's the trick
23:10:47 <ais523> you don't do a <<= 1;
23:10:48 <ehird> so (*((int*)s))>>foo
23:10:49 <ais523> you do a += a;
23:10:52 <ais523> and a will be in a register
23:10:56 <ais523> that's a one-cycle instruction
23:11:05 <ehird> how does that help moduloing it
23:11:13 <ehird> we're trying to fit it into a non-huge table
23:11:14 <ais523> you don't modulo, the numbers this way never end up more than 64
23:11:16 <comexk> problem is, I can't modulo by a power of two because then it'll just depend on the first bytesish
23:11:19 <ais523> so you just have a 64-element table
23:11:26 <comexk> ais523: is that really faster than one modulo?
23:11:32 <ehird> ais523: well, does it use the (int*)s trick?
23:11:36 <ais523> ehird: no
23:11:38 -!- Judofyr has quit (Remote closed the connection).
23:11:39 <ehird> it should
23:11:46 <ais523> why? that would make the numbers much too large
23:11:51 <ehird> i'm relatively certain (75%) it'd be faster
23:11:56 <ehird> ais523: so reduce them
23:11:59 <comexk> ais523:
23:12:02 <ais523> if you preferred, you could use the int* trick then /multiply/ by a large number
23:12:03 <comexk> is that faster than a single modulo?
23:12:07 <comexk> maybe I can use a multiplication trick
23:12:10 <ehird> ais523: ah, that'd be best
23:12:10 <ais523> that shifted all the bits to the bottom end of the number
23:12:18 <ais523> I think repeated addition on bits may still be faster
23:12:18 <ehird> (*(int*)s)<<foo
23:12:24 <comexk> I think some compilers will do that automatically
23:12:35 <comexk> ehird: what will that achieve, you just get one of the bytes
23:12:37 <ais523> gcc will if you happen to divide by a constant that can be converted by that
23:12:52 <comexk> so I'll do a - a/b instead of a%b
23:13:01 <comexk> but how do I get a constant I know can be converted by that,
23:13:09 <ehird> (*(int*)s)
23:13:15 <comexk> ehird: only if I have 4gb of memory
23:13:24 <ehird> maybe what I'm saying would make more sense if you actually listened.
23:13:27 <comexk> k
23:14:18 <ais523> ehird: I just looked it up, on a pentium 3 a single 32-bit divide is 39 cycles, although you can run other commands in parallel with it; an addition is 1 but ties up all 4 ports, so you can't run things in parallel with it
23:14:22 <ais523> let me try to find multiply
23:14:29 <ais523> 4 cycles
23:14:31 <ehird> i said bitshift
23:14:32 <ehird> not divide
23:14:32 <comexk> ewwww, 39 cycles
23:14:37 <ais523> well, multiplication beats division hollow, that's for one
23:14:39 <ehird> because they're the sam damn thing on powers of 2
23:14:46 <ehird> and I can tell you like hell it won't take 39 cycles
23:15:35 <ais523> well, how does your bitshift work
23:15:41 <ais523> to get things into the hash table order?
23:15:47 <ais523> can you do that in a single bitshift?
23:16:02 <ais523> also, a complication for both methods: - is different from -. is different from --
23:16:06 <ais523> so you need to handle EOF, somehow
23:16:10 <ehird> ...
23:16:11 <ehird> dude.
23:16:14 <ehird> I covered that _an hour ago_
23:16:15 <comexk> ais523: so how do I manually find a constant to multiply by
23:16:22 <ehird> am I fucking speaking in spanish or something??
23:16:23 <ais523> ehird: well, I didn't understand either
23:16:36 <ais523> comexk: modular division
23:17:53 <comexk> ais523: ?
23:18:18 <ais523> comexk: basically, you know how if a * b = c, then c / b = a?
23:18:26 <ais523> modular division is defined the same way, but with modulos involved
23:18:53 <ais523> so modulo 11, for instance, 8 times 9 is 72 which is 6, so 6 divided by 9 is 8
23:19:07 <ais523> it always works with prime modulos, but in this case the modulo is a power of 2 and so not prime
23:19:12 <ais523> and the result is it /sometimes/ works, but not always
23:19:24 <comexk> ais523: how do I calculate that other than brute force? :p
23:19:27 <ais523> however, because we can mask away high bits, it's probably possible to find a situation that works
23:19:33 <FireFly> In what language?
23:19:46 <ais523> FireFly: "Java" which is a thin wrapper around C
23:19:55 <comexk> no, precomputed pls
23:20:14 <ais523> comexk: I'm pretty sure there's a non-brute-force way to do it, I just can't remember what it is offhand
23:20:51 <ais523> nearly all the modular divisions I've come across were simple enough to spot via pencil and paper
23:21:03 <comexk> the only modular division I've come across is AAA :p
23:22:17 <ais523> comexk: yep
23:22:22 <ais523> and it's pretty confusing there
23:22:36 <ais523> anyway, gcc can often optimise a division into a multiplication, so presumably it knows the algorithms for calculating these things
23:23:15 <comexk> yeah but I can change my divisor depending on what's convenient
23:23:17 <comexk> gcc odesn't know that
23:25:14 <ais523> the trick I think is to write the code you mean, then keep tweaking it until gcc optimises it into something efficient
23:25:46 <comexk> sounds boring
23:25:47 <comexk> :p
23:25:58 <ais523> well, I've done it before on a serious project
23:26:11 <ais523> that was insanely time-critical, there were parts of it I was trying to get down to under 10 cycles
23:26:28 <comexk> wait, so what am I trying to do
23:26:36 <comexk> find the inverse of whatever i'm dividing by?
23:26:53 <ais523> it's do to with wraparound
23:27:01 <ais523> what form's the input in, anyway?
23:27:04 <ais523> dots and dashes
23:27:36 <comexk> yeah
23:27:37 <ais523> you want some factor you can multiply by so that the bottom 4 bits of the resulting number depend on whether there were dots or dashes in the corresponding bytes
23:27:59 <ais523> actually, because you have bytes not bits as input, it's more complicated than just a division
23:28:11 <ais523> masking first would make things simpler, but waste a cycle
23:29:39 <ais523> what's the ascii code for dot and for dash, anyway?
23:29:49 <ehird> 45, 46
23:29:53 <ehird> dash = 45
23:29:55 <ais523> and what's the input if you have a morse code less than 4 bytes long? That's the really tricky bit
23:29:55 <ehird> dot = 46
23:30:01 <ehird> ...
23:30:14 <ehird> ais523: I explained all this before...
23:30:21 <comexk> how does that work, anyway
23:30:25 <comexk> oops, missende
23:30:26 <ehird> g=ig wekk
23:30:27 <ehird> *oh well
23:30:31 <comexk> fine, I'll get gcc to do it -_-
23:30:37 -!- olsner has quit ("Leaving").
23:31:06 <ais523> ah, just checked scrollback
23:31:19 <ais523> your plan seems to be to bitshift away the extra characters using your known string length
23:31:51 <ehird> well, that's the -essence- of it...
23:33:29 <ais523> hmm... what's the x86 bitshift operator called, I don't think I ever used it
23:33:45 <ais523> note that bitshifting by a value that isn't constant is inefficient on many microprocessors, but I can't remember offhand if x86 is one of them
23:34:00 <ais523> also, you can save yourself one shift by not shifting back and just using the data at the new position
23:34:29 <ehird> isn't it "bsl"
23:34:43 <ehird> well that's just too logical
23:35:08 <ais523> no, it isn't
23:35:16 <comexk> why isn't this working -_-
23:35:21 <ais523> at least, that's not in this list of opcode timings
23:35:26 <ehird> ais523: i meant, that would be too logical
23:35:37 <ais523> for x86? I see what you mean
23:36:40 <ehird> http://upload.wikimedia.org/wikipedia/commons/8/87/Prokudin-Gorskii-12.jpg that's some remarkable uality for 1915
23:36:52 <ais523> ok, it seems it's a weird x86ism
23:36:55 <ais523> the command's shl
23:36:56 <ehird> by which I mean, holy shit that's amazing
23:37:02 <ehird> ais523: SHift Left
23:37:05 <ais523> and it takes 2 cycles even for a variable shift, but only if the shift amount is in register cl
23:37:16 <ais523> the register cl thing is the x86ism I was talking about
23:38:09 <ehird> y'know, the prof isn't even gonna test this code
23:38:15 <ehird> I can almost guarantee it...
23:38:25 <comexk> I care this much:
23:38:32 <ehird> or he'll probably try and run it thru java...
23:38:33 <comexk> :p
23:38:56 <comexk> I like solving puzzles even useless ones
23:38:59 <comexk> that's the point of the channel isn't it :p
23:39:04 <ehird> yes P
23:39:05 <ehird> :P
23:39:22 <ais523> definitely
23:39:49 <ais523> does anyone know how to tell if a particular floor tile has a particular type of item on it in Enigma scripting, by the way?
23:39:53 <ais523> I decided to make an Enigma level
23:39:55 -!- FireFly has quit ("Later").
23:40:00 <ehird> doesn't it have docs? :P
23:40:04 <ais523> yes
23:40:07 -!- BeholdMyGlory has quit (Remote closed the connection).
23:40:13 <ais523> but I can't find a function that does that in the docs
23:40:21 <ais523> nor any obvious way to simulate it with what's there
23:40:26 <ais523> so it's a programming problem of its own
23:40:36 <ais523> given a language which appears to be missing a feature, figure out how to simulate that feature
23:40:41 <ais523> esolangers do that all the time...
23:48:32 * comexk looks at assembly
23:48:35 <comexk> what the fuck is a calll doing in here
23:48:47 <comexk> I guess it's used for speed somehow
23:49:24 <comexk> well, there are no divide instructions
23:49:35 <comexk> and a magic constant
23:49:43 <comexk> so, although I don't really understand x86 I'm assuming it's using multiply magic
23:49:57 <comexk> yet it's still not fast enough
23:50:10 <ais523> a large magic constant for no apparent reason is nearly always gcc optimising a divide
23:50:25 <comexk> here's my code:
23:50:26 <comexk> http://pastie.org/407770
23:50:39 <comexk> note the mask part, that looks slow but I don't know how to make it better
23:50:51 <ehird> s2 = strchr(s2, ' ');
23:50:55 <ehird> you're iterating through the string anyway
23:50:59 <ehird> so all that magic is buying you approx. nil
23:51:13 <ais523> ehird's idea was you could read the string length from java's internals
23:51:27 <ehird> you can
23:51:29 <ehird> it's not internals
23:51:31 <ehird> it's just .length
23:51:33 <ehird> trivial
23:51:38 <ehird> pass it to your c function from the java side
23:51:46 <comexk> yeah, i'll do that
23:51:57 <comexk> ehird: what
23:51:59 <comexk> it's not .length
23:52:04 <comexk> spaces may be found anywhere in the string
23:52:13 <ehird> ais523: ehird's idea was you could read the string length from java's internals
23:52:15 <ehird> i was responding to that.
23:52:15 <ais523> comexk: check to see what 1 << 32 is in gcc
23:52:24 <comexk> ais523: ?
23:52:24 <ais523> it's undefined behaviour in C itself
23:52:28 <ais523> but I bet gcc defines it to something
23:52:31 <comexk> how does that help?
23:52:32 <ais523> you may be able to avoid the if that way
23:52:43 <ais523> the mask would just be (1 << 32) - 1
23:52:48 <ais523> which is 0xffffffff
23:52:51 <ais523> if 1 << 32 is 0
23:53:02 <ais523> so the if would become redundan
23:53:04 <ais523> *redundan
23:53:07 <ais523> *redundant
23:53:17 <ais523> i.e. instead of the inside of the if not running, it runs and does nothing
23:53:20 <comexk> no, it was screwing up without the if
23:53:26 <ais523> ah, pity
23:53:36 <ais523> probably bitshifting by 32 is undefined on x86 too...
23:54:03 <comexk> actually
23:54:16 <ais523> anyway, wouldn't that masking scheme confuse ..-. with .-.?
23:54:30 <comexk> yeah
23:54:39 <ehird> ais523: but the strchr is slow anyway...
23:54:41 <comexk> ais523: hmm?
23:54:41 <ehird> this is pointless
23:54:47 <comexk> all it does is mask out any characters after the space
23:54:47 <comexk> ehird
23:54:50 <comexk> I HAVE to strchr
23:54:51 <ehird> it defeats the point of the (int*) trick
23:54:55 <comexk> I don't know where spaces are in the string beforehand
23:55:00 <ehird> comexk: write your own strchr
23:55:03 <ehird> that saves the int* as it goes along
23:55:16 <comexk> uhh what would that get me?
23:55:19 <comexk> other than a less optimized strchr
23:55:26 <ehird> not duplicated work
23:55:30 <comexk> well I'll use memchr to avoid the compare to zero
23:55:35 <comexk> ehird: casting a pointer is not work
23:55:43 <ehird> you don't understand.
23:56:17 <comexk> actually, strchr is FASTER than memchr
23:56:31 <comexk> ehird: it goes around and compares to a space, how do you intend I replicate that
23:56:49 <ehird> make it operate on 4-byte chunks
23:56:51 <ehird> using the int* trick
23:57:03 <ehird> http://www.stdlib.net/~colmmacc/2009/03/01/optimising-strlen/ has a link to glibc's strlen which uses that trick
23:57:09 <ehird> you can replicate it yourself
23:57:12 <comexk> why?
23:57:14 <comexk> not just use glibc's strchr
23:57:24 <comexk> really I want a version that doesn't bother comparing to zero
2009-03-05
00:01:20 <comexk> ugh
00:01:31 <comexk> copy + pasting glibc's strchr and remnoving checks leads to lower performance
00:01:55 <ehird> comexk: add more compiler switches
00:02:07 <ehird> -O3 -fomit-crucial-operations -fnuclear-weapons-on-invalid-memory-access
00:02:18 <ehird> -funsafe-addition
00:02:22 <comexk> I was about to copy that then I read the rest
00:02:32 <ehird> ?
00:02:35 <ehird> oh
00:02:36 <ehird> lol
00:03:46 <comexk> inlining significantly reduces time
00:03:49 <comexk> that's nice
00:04:08 <ehird> comexk: how fast is it?
00:04:46 <ais523> funroll-loops may save you time on that sort of code, you could profile to find out
00:06:58 <ehird> comexk: show us the generated asm
00:06:59 <ehird> (-S)
00:07:28 <ehird> also
00:07:31 <ehird> comexk: % 59
00:07:33 <ehird> slooow
00:07:39 <comexk> ehird: it's multiplicified
00:07:43 <ehird> ah
00:07:51 <ehird> anyway, generated asmmy!
00:07:55 <comexk> funroll helps, ftracer doesn't
00:08:05 <comexk> 208ms including java overhead and copy time for a 6mb string
00:08:08 <ehird> comexk: you are using -O3 right
00:08:15 <ehird> also, that's insanely fast
00:08:27 <ehird> asm asm asm :P
00:09:11 <ehird> also won't that crash on invalid inputs
00:09:13 <comexk> sec
00:09:18 <ehird> well I guess not since %59
00:09:43 <comexk> ehird: only if the output length is not divisible by 4, maybe, and I can fix that
00:09:53 <ehird> comexk: ASMMMMMM
00:09:54 <comexk> sec
00:10:26 <comexk> sorry, disassembledhttp://pastie.org/407791
00:10:34 <comexk> I don't know x86 :<
00:10:44 <comexk> for the same code except using custom strchr
00:10:54 <ehird> ais523: err, that's a bit long isn't it?
00:10:59 <ehird> inefficient looking, at least
00:11:03 <ehird> lots of movs
00:11:08 <comexk> you mean comex:?
00:11:11 <ehird> i guess its the unrolling & inlining
00:11:14 <ehird> comexk: no, you don;'t know asm
00:11:14 <ehird> :P
00:11:24 <ehird> 00000d16nopw%cs:0x00000000(%eax,%eax)
00:11:28 <ehird> i wish that meant 'wide nop'
00:11:55 <comexk> what does it mean?
00:12:15 <ais523> heh, it seemed to have changed the modulo into a multiplication by 0x22b63cbf
00:12:15 <ehird> fucked if I know
00:12:17 <ais523> magic numbers ftw
00:12:26 <ehird> hmm
00:12:31 <ehird> is 0x22b63cbf a power of two?
00:12:35 <ais523> no
00:12:36 <ehird> if it is... yo bitshift?
00:12:39 <ehird> ais523: aw
00:12:40 <ais523> powers of 2 are very simple in hex
00:12:45 <ehird> oh, of course
00:12:45 <ehird> hmm
00:12:54 <ehird> you WOULD get better performance from a bitshift, right?
00:13:00 <ehird> its just a matter of finding out which...
00:13:04 <comexk> bitshift won't work by definition because you will get just some of the characters
00:13:21 <comexk> 0x12345678 << 8 will discard 12
00:13:31 <ais523> 0x22b63cbf * 59 is 0x800000005, by the way
00:13:35 <comexk> with % 59 you get unique results from all 27 possibilities
00:13:42 <ehird> comexk: left bitshift is multiplying by 2**n
00:13:42 <ais523> so I strongly suspect that there are gcc shenanigans involved in there somewhere
00:13:43 <comexk> though I don't know if there are better values
00:13:50 <comexk> ehird: yeah, and you will discard 12
00:14:01 <comexk> the first byte I mean
00:14:05 <ehird> comexk: so find another constant
00:14:20 <comexk> I mean, 0x12345678 is my four bytes
00:14:42 <comexk> shifting it by any amount will discard the first bits, and is very unlikely to give me a unique 'hash'
00:14:50 <ais523> the thing that worries me most are those jumps in the middle of the loop
00:15:05 <ais523> jumps can take something like 60 or 70 cycles nowadays if the branch prediction screws up
00:15:11 <ais523> as the processor has to flush the entire pipeline and try again
00:15:20 <ehird> ais523: strchr, probably
00:15:23 <ais523> they only take about 2 cycles if the branch prediction is correct, though
00:15:29 <ehird> the silly thing is that he accesses the 4 characters one at a time
00:15:33 <ehird> then does it AGAIN in one block later
00:15:34 <ehird> that's just stupid
00:15:42 <ehird> he should inline the strchr, going 4 at a time, and save the access of the first block
00:15:43 <ehird> for the next part
00:15:54 <ais523> I'd suggest using an algorithm such as first char * 16 plus second char * 8 plus third char * 4 plus fourth char * 2
00:16:02 <ais523> which can be implemented in 8 addition instructions, so 8 cycles
00:16:33 <ehird> comexk: do what I said for strchr :|
00:17:00 <comexk> will that work?
00:17:01 <comexk> c1: error: invalid option ‘cpu=core2’
00:17:01 <comexk> cc1: error: unrecognized command line option "-fearly-inlining"
00:17:06 <comexk> and why the fuck did I suddenly get that
00:17:16 <ehird> comexk: what I said?
00:17:18 <ehird> why wouldn't it work
00:18:27 <comexk> __builtin_expect helps
00:18:33 <comexk> ehird: what are you expecting me to return from strchr
00:18:35 <comexk> (which I do have inline)
00:18:54 <ehird> well, two values, and since you're inlining it, just put it in the function tiself
00:18:56 <ehird> basically
00:19:41 <ehird> read 4 chars at a time using the int * trick, (to see how to use that to do strchr see the glibc explanation & link in http://www.stdlib.net/~colmmacc/2009/03/01/optimising-strlen/) and save the first block after reading it (since that's what you'll be processing anyway)
00:19:46 <comexk> stop pasting that
00:19:46 <comexk> :p
00:19:50 <ehird> i didn't
00:19:52 <ehird> i explained it
00:20:04 <comexk> ehird: but I'm going one character at a time and wait fuck I'm dumb
00:20:14 <ehird> i agree!
00:20:15 <ehird> :P
00:20:18 <comexk> I know the space will be here or later
00:20:56 <ehird> O RLY
00:21:06 <comexk> why is -mtune=core2 not working
00:21:08 <comexk> it should
00:21:12 <comexk> I blame apple
00:21:17 <ehird> comexk: you can do it as multiple &s, I think
00:21:18 <ehird> read the first block
00:21:30 <ehird> then & 000space0
00:21:32 <ehird> 0space000
00:21:33 <ehird> and so on
00:21:52 <ehird> wait
00:21:56 <ehird> comexk: what's the shortest morse code?
00:22:09 <ehird> i have an idea
00:22:12 <ehird> ah, 1
00:22:31 <comexk> sec
00:22:32 <ehird> comexk: so, the space is either in [1], [2], [3] or [4]
00:22:41 <ehird> now, you've already just said 0-3
00:22:43 <ehird> *read
00:22:55 <ehird> so you just have to do 3 bitwise ands
00:23:00 <ehird> to know if you have a space and where it is
00:23:05 <ehird> ais523: confirm?
00:23:31 <ais523> I'm not entirely sure exactly what you're planning
00:23:37 <ais523> but the general details sound plausible
00:23:49 <ehird> ais523: instead of doing the strchr then reading from the int* cast
00:23:53 <ehird> read from the int* cast, because
00:23:57 <ehird> the max is 4 chars
00:23:59 <ais523> oh, yes
00:24:01 <ehird> so you don't even have to read more than the machine word
00:24:04 <ehird> ais523: and, it can't be the first char
00:24:07 <ehird> since the minimum is 1
00:24:08 <ehird> SO
00:24:10 <ais523> that's pretty much what I was expecting you'd do
00:24:10 <ehird> you just do some &s
00:24:15 <ehird> with 0s and a space inbetween
00:24:18 <ehird> specifically, 3 of them
00:24:21 <ehird> to account for all the possibilities
00:24:23 <comexk> ah, MUCH faster
00:24:30 <ehird> comexk: did you use what I described?
00:24:36 <ehird> and it worked? woo I'm not an idiot
00:24:39 <comexk> only problem being that it doesn't work
00:24:42 <ehird> lol
00:24:44 <comexk> no, I was implementing while you were talking
00:24:47 <ehird> pastie the C?
00:24:56 <ehird> ais523: so, would mine work well?
00:24:57 <ehird> i think so
00:25:18 <ais523> I'm not sure of the details, but I'm pretty sure something like that could work
00:25:55 <ehird> ais523:
00:26:03 <comexk> ah, the input which contains .-.-.- is fucking it up otherwise it's working
00:26:05 <ehird> 0x00320000, 0x00003200, 0x00000032
00:26:08 <comexk> what is .-.-.- anyway
00:26:14 <ehird> read the first block from the int*
00:26:19 <ehird> then & by those in order
00:26:22 <ehird> see?
00:26:24 <ais523> comexk: it's an abbreviation code
00:26:28 <ehird> if you get your input back
00:26:30 <ais523> given that it's at least 6 bytes, it's not a single letter
00:26:32 <ehird> i.e. 0x00320000 or w/e
00:26:32 <comexk> whatever, fuck that
00:26:34 <ehird> then the spacei s there
00:26:36 <ehird> get it ais523?
00:26:53 <ais523> ah, ok, but I don't like the "if you get your input back"
00:26:57 <ehird> comexk: that means you replace the strchr with *3* pairs of bitwise-and and equality checks
00:26:58 <ais523> that has "if" in
00:27:04 <ehird> ais523: it beats strchr
00:27:10 <ais523> my preferred method would be to use arithmetic to set all of the word past the 0 to some known value
00:27:11 <ehird> which goes through every character individually
00:27:13 <ehird> and checks it
00:27:20 <ais523> that gives you 26 different values, which you then make a perfect hash out of
00:27:27 <ais523> and importantly, there's no branching involved at all
00:27:33 <ehird> huh?
00:27:47 <ehird> anyway comexk implemnt my algorithm it'd work.
00:28:04 <ais523> comexk: apparently .-.-.- is full stop
00:28:06 <ais523> which is not a letter
00:28:08 <ehird> wait
00:28:08 <ehird> ais
00:28:09 <ehird> ais523:
00:28:14 <ehird> you can do it with ONE AND
00:28:20 <ais523> which one are you planning?
00:28:26 <ehird> ais523: 0x00323232
00:28:27 <ais523> and does your method involve branching?
00:28:31 <ehird> yes, but only one brancha
00:28:32 <ehird> and
00:28:34 <ehird> strchr branches anyway
00:28:36 <ehird> so this is a huge improvement
00:28:40 <ais523> well, yes
00:28:51 <ais523> I'm not trying to get something better, though, but trying to figure out what the best is
00:28:51 <comexk> wtf
00:29:02 <ais523> comexk: are you sure your input only contains letters?
00:29:03 <comexk> why is this optimization working, it's not supposed to work
00:29:05 <comexk> ais523: in theory
00:29:08 <comexk> if(a & 0x20202020) {
00:29:12 <ais523> better use long longs rather than ints, if there's .-.-.- in your input
00:29:26 <ehird> long long? how efficient
00:29:31 <ehird> comexk: are you even listening to me
00:29:32 <ehird> sigh
00:29:34 <ehird> why do I try and help you
00:29:52 <ais523> ehird: long long beats branching easily, on a modern x86-compatible processor
00:29:55 <comexk> except ., -, and / all and with 0x20202020
00:30:02 <comexk> ehird: explain to me what I should do, clearly
00:30:08 <ehird> ffffffffff
00:30:09 <ehird> I did
00:30:12 <ehird> It's not my fault you can't read
00:30:24 <ais523> because add qword ptr's in the instruction set, and I strongly suspect it takes either 2 or 3 cycles
00:30:28 <ehird> ais523: care to explain my idea to him?
00:30:32 <ehird> since I evidently can't
00:30:53 <ais523> well, I still think your idea's suboptimal, despite being better than what's been mentioned so far
00:31:03 <comexk> WTF
00:31:05 <ais523> besides, morse groups terminate with / not NUL
00:31:07 <comexk> how come removing a check that always passes
00:31:08 <ehird> yes, well, while you're thinking of the optimal solution can you be my english->comex translator?
00:31:10 <comexk> slows it down
00:31:14 <ehird> also, NUL has nothing to do with it
00:31:14 <ehird> kthx
00:31:20 <ehird> mine doesn't do anything with NUL
00:31:21 <ais523> ehird: no, because I ought to be going home
00:31:30 <ais523> ehird: I thought you were using masking to detect where the end-of-string was?
00:31:34 <ehird> ...
00:31:35 <ehird> no
00:31:37 <ehird> i was replacing his
00:31:39 <ehird> strchr(s, ' ')
00:31:40 <ais523> oh
00:31:43 <ehird> with an efficient method to check for the space
00:31:50 <ehird> that also saved time just after
00:31:55 <ehird> comexk: pastie your C
00:31:59 <ehird> and I'll put my optimization in
00:32:01 <ais523> well, your efficient method finds the space, but does it return it in a usable format?
00:32:13 <ehird> ais523: y oudon't need the space, you just need to know where the space is
00:32:21 <ais523> ehird: agreed
00:32:25 <ais523> but your method returns a string with the space in
00:32:29 <ais523> rather than the position of the space
00:32:59 <ehird> irb(main):012:0> "%08x" % (0x11321111 & 0x00323232)
00:32:59 <ehird> => "00321010"
00:33:09 <ehird> -> space is at [1]
00:33:15 <ais523> ehird: fail
00:33:22 <ais523> space 0x20 = decimal 32
00:33:27 <ehird> *forehead*
00:33:30 <ais523> no wonder I couldn't understand what you were doing
00:33:36 <ehird> irb(main):013:0> "%08x" % (0x11201111 & 0x00202020)
00:33:36 <ehird> => "00200000"
00:33:39 <ehird> space is at [1]
00:33:43 <ais523> yep
00:33:46 <ais523> agreed
00:33:49 <ais523> that's what I thought you were doing
00:33:59 <ais523> but the problem is, how do you convert the string "00200000" into a usable form
00:34:00 <ais523> for the masking?
00:34:03 <comexk> if(!(a & 0x03000000)) s2 = s;
00:34:03 <comexk> else if(!(a & 0x030000)) s2 = s + 1;
00:34:03 <comexk> else if(!(a & 0x0300)) s2 = s + 2;
00:34:03 <comexk> else if(!(a & 0x3)) s2 = s + 3;
00:34:04 <comexk> else s2 = s + 4;
00:34:06 <comexk> that slows it down a lot :(
00:34:08 <comexk> and I don't know why
00:34:11 <comexk> over memory accesses
00:34:12 <ehird> comexk: you do ONE &
00:34:14 <ehird> not 4
00:34:15 <ais523> comexk: it would do, you have ifs in there, you even have elses
00:34:16 <ehird> also
00:34:20 <ehird> there can't be a space at position 0
00:34:30 <comexk> unfortunately there can
00:34:41 <ehird> balls.
00:34:47 <ehird> okay then, and by 0x20202020
00:34:48 <ais523> ehird: // is the traditional way to send a space character in Morse
00:34:49 <comexk> ais523: the alternative being strchr which contains all those things
00:34:54 <ais523> i.e. a zero-length string
00:34:54 <ehird> no
00:34:55 <ehird> not strchr
00:35:00 <ehird> you only need to do one memory read
00:35:04 <comexk> ehird: 0x20202020 will ALWAYS and
00:35:05 <comexk> brb
00:35:07 <ehird> ...
00:35:08 <ehird> no shit
00:35:10 <ehird> you use the result from the and
00:35:12 <ehird> not just checking it
00:35:19 <ais523> ehird: what do you /do/ with the result from the and?
00:35:22 <ais523> it won't magically fix your string
00:35:23 <ehird> ais523: err, the obvious?
00:35:26 <ais523> which is?
00:35:26 <ehird> it shows you where the space is
00:35:32 <ais523> yes, I know it shows you where the space is
00:35:34 <comexk> ehird
00:35:35 <comexk> problem is
00:35:36 <comexk> it doesn't
00:35:38 <ais523> but how do you change it into the masking of the string you need?
00:35:39 <comexk> this isn't 0x11
00:35:43 <comexk> this might be
00:35:43 <comexk> 0x2d
00:35:46 <comexk> 0x2e
00:35:48 <ehird> err so
00:35:50 <comexk> 0x2f
00:35:52 <comexk> all of which & 0x20
00:35:58 <ehird> ... no shit
00:36:28 <ais523> anyway, how come these strings are space-separated all of a sudden, Morse is normally separated with /
00:36:34 <ais523> is your teacher using an unusual encoding?
00:37:29 <ais523> ehird: what I mean is, even if your method does determine the location of the space (and it can do that, and against 0x0c rather than 0x20 because that's contained by dash and dot but not space)
00:37:35 <ais523> once you have the location, what do you do with it?
00:37:42 <ehird> ais523: comex's code
00:37:44 <ehird> just uses the location
00:37:53 <ais523> ehird: comex's code requires the location to be encoded as 0, 1, 2, 3, 4
00:37:58 <ais523> your code doesn't encode the location like that
00:38:00 <ehird> so change it to that
00:38:09 <ais523> err... comex's code uses a multiplication
00:38:28 <ais523> in other words, you need to convert your found-space into the position of the space so you can multiply by it
00:41:16 -!- ais523 has quit (Remote closed the connection).
00:47:01 <comexk> hmm
00:47:23 <comexk> but I still don't understand why REMOVING A BRANCH THAT ALWAYS GOES ONE WAY
00:47:24 <comexk> speeds it up
00:47:29 <ehird> branch prediction
00:47:34 <comexk> uh, I mean slows it down
00:47:46 <ehird> branch prediction
00:47:55 <comexk> __builtin_expect(it, 1) slows it down
00:47:59 <ehird> branch prediction
00:48:18 <comexk> ehird: why is it faster to predict the wrong thing
00:48:23 <ehird> butts
00:48:43 <comexk> well, it's not
00:48:51 <comexk> it's fastest without any prediction
00:48:59 <comexk> but this shouldn't matter.
00:49:15 <comexk> also, ehird: give me your code :p
00:49:23 <ehird> what code
00:49:29 <comexk> code to give me a position :p
00:49:38 <ehird> :| i just gave an algo
00:49:39 <ehird> not code
00:50:15 <comexk> how will anding with 20202020 help anything
00:50:21 <ehird> butts
00:50:25 * ehird tiredlazy
00:55:09 <comexk> holy shit this sped it up
00:55:14 <ehird> wut
01:04:00 -!- Azstal has joined.
01:04:36 <comexk> :/
01:04:43 <comexk> i don't think it's very easy to get access to jstring
01:05:05 <comexk> I'll try a memory dump
01:06:59 <comexk> also, GetStringUTFChars returns a const char
01:07:04 <comexk> so it's probably giving me an existing pointer
01:08:20 <comexk> I give up
01:08:23 <comexk> how do I make this faster
01:08:35 <comexk> I'll just go to sleep
01:21:01 -!- Asztal^_^ has quit (Read error: 110 (Connection timed out)).
01:38:48 -!- Asztal^_^ has joined.
01:53:45 -!- Azstal has quit (Read error: 110 (Connection timed out)).
02:33:57 -!- GreaseMonkey has joined.
04:18:44 -!- ab5tract has joined.
05:26:06 <GregorR> I want to hear a lounge version of O Fortuna.
05:44:27 -!- oklopol has quit (Read error: 110 (Connection timed out)).
05:44:48 -!- oklopol has joined.
05:51:45 <lament> hm, that could really work
05:54:34 <GregorR> You're singing it in your head now, aren't you? :)
05:54:37 <GregorR> I think it would be good.
05:54:39 <GregorR> In a weird way
05:55:01 <lament> yes
05:56:36 <lament> i'm not really singing in my head, i'm preparing the looper and the guitar and the bass to try to record the verse at least
06:45:33 * Robdgreat would love to hear that when it's done
06:57:09 <lament> with or without my crappy singing?
07:18:37 <Robdgreat> with should work
07:19:00 <Robdgreat> but ultimately it's your call
07:25:20 <lament> one sec
07:28:35 <lament> crap, all audio is in one channel, how do i fix this
07:30:23 <lament> ok got it
07:31:22 <bsmntbombdood> jeez hurry up
07:33:08 <lament> http://filebin.ca/qyxpp/ofortuna.mp3
07:35:50 <bsmntbombdood> wtf was that
07:36:46 * lament will appreciate more constructive feedback.
07:41:29 * lament pokes GregorR
07:45:34 -!- olsner has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:27 <ab5tract> lament: reminds me of 'Piggy' by NiN on Further Down The Spiral
08:30:35 -!- GreaseMonkey has quit ("Client Excited").
08:36:32 -!- tombom has joined.
08:50:44 -!- ab5tract has quit.
09:07:04 -!- impomatic has joined.
09:12:07 -!- impomatic has quit ("mov.i #1,1").
09:14:24 -!- Slereah has quit.
09:14:58 -!- Slereah has joined.
09:16:41 -!- olsner has quit ("Leaving").
09:27:10 -!- ais523 has joined.
09:42:01 -!- Slereah_ has joined.
09:54:25 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:59:14 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
10:01:35 -!- ais523 has joined.
10:07:33 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
10:07:36 -!- ais523_ has joined.
10:11:19 -!- oerjan has joined.
10:15:44 -!- ais523_ has changed nick to ais523.
10:31:29 -!- comexk has quit (Remote closed the connection).
10:32:23 -!- comex has joined.
10:32:50 -!- ais523_ has joined.
10:34:49 -!- ais523 has quit (Nick collision from services.).
10:34:51 -!- ais523_ has changed nick to ais523.
10:36:22 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
10:36:31 -!- lifthrasiir has joined.
10:40:37 -!- oerjan has quit ("leaving").
10:45:07 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
10:45:31 -!- lifthrasiir has joined.
11:54:52 -!- ais523 has quit (Remote closed the connection).
13:38:05 -!- ais523 has joined.
13:54:15 -!- ais523 has set topic: http://➡.ws/Ⱒ.
13:54:23 -!- ais523 has set topic: Logs: http://➡.ws/Ⱒ.
13:54:34 <ais523> there, we have the spidery ha in the log link now
13:54:45 <ais523> golfing the topic can be fun...
13:55:31 <Slereah_> How is it golfed?
13:56:06 <ais523> because it contains the same information as before
13:56:08 <ais523> but is shorter
13:56:26 <Slereah_> Does it?
13:56:34 <ais523> yep, it contains the link to the logs
13:56:44 <ais523> and a glagolitic capital letter spidery ha
13:56:56 <Slereah_> In short URL form and using ASCII->Unicode?
13:57:14 <ais523> in short URL form
13:57:16 <ais523> it's a unicode URL
13:57:56 <Slereah_> Though you can't actually click it or kopipeit
13:58:07 <fizzie> Sure you can. I just did.
13:58:11 <ais523> well, that's the fault of your client
13:58:17 <Slereah_> Firefox?
13:58:21 <Slereah_> Well, it is Firefox2.
13:58:51 <fizzie> But I'm surprised that the glagolitic capital letter spidery ha was free-for-taking at ➡.ws. Would have thought someone had already used it.
13:58:57 <MizardX> mIRC ... though I get to the wrong place
14:00:11 <AnMaster> ais523, err, I only see an arrow
14:00:11 <ais523> http://xn--hgi.ws/Ⱒ is what the URL should be translated to for non-Unicode-aware systems
14:00:13 <AnMaster> ->
14:00:17 <AnMaster> is how it looks
14:00:19 <AnMaster> in the url
14:00:20 <ais523> AnMaster: it's a Unicode arrow
14:00:28 <AnMaster> so what is the spidery thing?
14:00:31 <AnMaster> I don't see it
14:00:32 <MizardX> I get http://xn--7a3kss.ws
14:00:37 <ais523> it's a glagolitic capital letter spidery ha
14:00:46 <fizzie> Spidery HA is after the /, in the path part.
14:00:46 <Slereah_> Same here
14:00:58 <Slereah_> I get on that website and it does not redirect me at all
14:00:59 <AnMaster> ais523, is it a "glagolitic capital letter spidery ha" or an unicode arrow
14:01:00 <AnMaster> decide
14:01:01 <ais523> obviously there's a character encoding fail somewhere
14:01:04 <fizzie> AnMaster: There's both.
14:01:11 <AnMaster> no there ins't
14:01:13 <fizzie> AnMaster: It's [arrow].ws/[spidery ha].
14:01:16 <AnMaster> ah
14:01:16 <ais523> AnMaster: the URL is http:// unicode arrow .ws/ glagolitic capital letter spidery ha
14:01:25 <Slereah_> Spidery spidery
14:01:27 <AnMaster> that looks like [2C22] here
14:01:29 <AnMaster> ...
14:01:38 <ais523> same here, I don't have a spidery ha in my font
14:01:53 <fizzie> Well, me neither. But I trust it's the ha if ais523 says so.
14:02:09 <AnMaster> why the interest in that char?
14:02:14 <ais523> it comes out in mojibake on the clog logs
14:02:38 <ais523> my guess is that 7a3kss is the encoding of the mojibake, whereas hgi is the encoding of the correct unicode character
14:02:39 <fizzie> Whoops, I need to be elsewhere already. ->
14:03:51 <MizardX> Ah. If I copy it to chrome I get xn--hgi, but if I double-click it, I get xn--7a3kss
14:07:39 <AnMaster> hm, fast integer square root in C... anyone knows anything good?
14:07:51 <ais523> the newton algorithm is pretty fast
14:08:00 * AnMaster googles
14:08:11 <ais523> basically, start with 2
14:08:22 <ais523> well, x=2
14:08:31 <AnMaster> iterative?
14:08:33 <ais523> then change x to ((n/x)+x)/2
14:08:35 <ais523> yep, iterative
14:09:15 <MizardX> http://www.beyond3d.com/content/articles/8/
14:09:50 <AnMaster> that is float
14:09:59 <AnMaster> the target system doesn't have floating point hardware
14:10:02 <ais523> ah
14:10:02 <AnMaster> embedded target
14:10:25 <ais523> I'm sure there's an integer arithmetic version
14:11:55 * AnMaster finds a pdf from microchip named "fast integer square root"
14:12:52 <AnMaster> yay one avoiding slow division too
14:13:03 <MizardX> http://www.google.com/codesearch/p?hl=en#dl-KOTbXso4/libcs/isqrt.c&l=22
14:13:24 <AnMaster> libcs?
14:13:53 <ais523> ah, microchip
14:14:25 <MizardX> Here's one with only a for-loop: http://www.google.com/codesearch/p?hl=en#G1Uvi1prmwc/kernel2_4/drivers/media/video/omap/v4l2.c&l=189
14:14:27 <AnMaster> well my target isn't a microchip, but it is is still interesting
14:14:38 <AnMaster> I can't use the same asm, but the general idea should work I think
14:14:45 * AnMaster goes to experiment
14:16:05 <AnMaster> MizardX, that seems to work on the same model basically.
14:16:20 <AnMaster> same idea. slightly different implementations
14:25:36 <ais523> well, I don't know for certain that's a spidery ha, I just copied it from the old topic
14:27:01 <MizardX> Character 0x2C22 ... I don't have any font that supports it. :)
14:28:22 <MizardX> >>> unicodedata.name(u'\u2C22')
14:28:22 <MizardX> 'GLAGOLITIC CAPITAL LETTER SPIDERY HA'
14:31:50 <comex> nice
14:33:46 <comex> too bad http://➡.ws/λ is already taken (and doesn't point to anything haskell)
14:56:13 <ehird> comex: that domain is still stupid
14:56:15 <ehird> as discussed before
14:57:38 -!- ehird has set topic: Ⱒ GLAGOLITIC CAPITAL LETTER SPIDERY HA | http://tunes.org/~nef/logs/esoteric/.
14:57:58 <ehird> 14:33 comex: too bad http://➡.ws/λ is already taken (and doesn't point to anything haskell)
14:58:00 <ehird> yes it do
14:58:00 <ehird> es
14:58:14 <ehird> johnnowak does Haskell and concatenative langs like factor
14:58:15 <ehird> :P
14:58:32 <AnMaster> ehird, what is wrong with ➡.ws ?
14:58:36 <AnMaster> I like it, so did ais523
14:58:40 <AnMaster> or does I guess
14:58:51 <ais523> I think it's a bad idea for general use
14:58:54 <ehird> the whole purpose is to subvert the twitter length limit, but it counts in bytes, not characters
14:58:58 <ais523> but very funny for a #esoteric topic
14:59:03 <ehird> so the makers are complete idiots
14:59:07 <ehird> who buy domains and advertise them without thinking
14:59:16 <AnMaster> ehird, err what?
14:59:27 <ehird> also, a tiny url is mainly useful apart from twitter to write down
14:59:27 <AnMaster> what has twitter got to do with it
14:59:37 <ehird> AnMaster: oh shut the heck up
14:59:48 <AnMaster> ehird, what?
15:00:05 <ehird> i'm tired of being expected to explain 5 billion things to you every time I say something
15:00:17 <AnMaster> there is nothing about twitter on http://➡.ws
15:00:28 <AnMaster> you aren't making any sense
15:00:29 <AnMaster> *shrug*
15:00:51 <AnMaster> bbl
15:01:22 <ais523> AnMaster: there is something about twitter on http://➡.ws, but only on the results page after you've worsened a URL
15:01:53 <ehird> and, besides, the other purpose is to write it down or tell people irl.
15:01:56 <ehird> good luck typing those urls
15:02:11 <ais523> ehird: you're missing the point
15:02:14 <ais523> which is to make a funny topic
15:02:21 <ehird> I never said the topic wasn't funny
15:02:31 <ais523> URL redirection services can be used to make a point, just as much as they can be used to shorten things
15:02:32 <ehird> I just saw comex's message at the start of my quicklog
15:02:33 <ehird> and replied to it
15:02:37 <ehird> before seeing the context
15:03:32 -!- Hiato has joined.
15:11:28 <ehird> oh, I just realised that the creators were quite young when they made INTERCAL
15:11:40 <ais523> interesting
15:11:43 <ehird> I was expecting them to be bearded like they are now, I guess that explains why INTERCAL _isn't_ popular
15:11:46 <ais523> I suppose they must have been, as they're still in work now
15:11:58 <ehird> just finished freshman year final exams, sez don woods
15:11:59 <ais523> and that explains why INTERCAL wasn't popular back in 1972 but has become more popular since
15:12:01 <ehird> (http://www.computerworld.com.au/article/251892/-z_programming_languages_intercal)
15:12:54 <ehird> so, if I have my american educational system right,
15:13:00 <ehird> late teens/early 20s?
15:14:29 <ehird> http://www.diku.dk/hjemmesider/ansatte/jespera/doc.html oh god the comic sans it burns
15:19:05 <ehird> ais523: also, do jumps -really- cost 60 cycles?
15:19:12 <ehird> that's just painful...
15:19:18 <ais523> it depends on which way they go
15:19:34 <ais523> basically, branch prediction is the processor predicting in advance which way the jump will go
15:19:44 <ais523> if it guesses wrong, you have to flush the pipeline and that takes ages
15:19:54 <ehird> ais523: how often does it get it right?
15:20:00 <ais523> quite a lot, nowadays
15:20:06 <ais523> especially if jumps mostly go the same way
15:20:11 <ais523> and even more with profile-guided optimisation
15:20:17 <AnMaster> ehird, it depends on how long the pipeline is
15:20:19 <ais523> that's one of the main purposes of that optimisation
15:20:29 <AnMaster> ehird, on a pentium 4 a mispredicted branch is *very* expensive
15:20:37 <ehird> did the RISC-y sort of processors do jumps better?
15:20:39 <AnMaster> since it had such a long pipeline
15:21:12 <ais523> ehird: it's nothing but pipeline length and prediction quality that affects the jump
15:21:13 <oklopol> yeah riscs do better
15:21:21 <ehird> oklopol: i'll trust you <3
15:21:24 <ais523> for instance, on a PIC microcontroller, the pipeline has length 2 so jumps only take 2 cycles
15:21:25 <oklopol> they generally have shorter pipelines
15:21:27 <AnMaster> ehird, there are some CPUs with "delayed branch" stuff, basically they continue executing n instructions after the branch instruction even when jumping (iirc n was/is usually 1 or 2)
15:21:36 <ais523> and as oklopol says, you can likely get away with a shorter pipeline on a RISC
15:21:42 <AnMaster> true
15:22:08 <ehird> 15:21 AnMaster: ehird, there are some CPUs with "delayed branch" stuff, basically they continue executing n instructions after the branch instruction even when jumping (iirc n was/is usually 1 or 2)
15:22:12 <ehird> that sounds rather dangerous for IO :D
15:22:16 <AnMaster> ais523, delayed branches are another interesting way to solve it. It potentially reduces the issues to zero if you can reorder
15:22:16 <ais523> ehird: delayed branch is just telling the compiler to use software to sort out what most processers do in hardware
15:22:22 <ais523> *processors
15:22:28 <ehird> ah
15:22:31 <AnMaster> indeed
15:22:35 <ehird> presumably not as well
15:22:36 <ais523> and it gives the same result as the hardware version would do
15:22:45 <ehird> since hardware tends to be faster...
15:22:59 <ais523> well, it slows down the compilation but not the execution
15:23:04 <oklopol> ehird: it's not nearly as dangerous for io as it is for exceptions
15:23:11 <ehird> heh
15:23:30 <oklopol> and all kindsa data hazards
15:23:38 <ais523> but yes, there are lots of subtleties, it's really easy to screw up
15:23:47 <oklopol> and why would you start talking about something i'm actually interested in right when i'm about to leave
15:23:48 <AnMaster> I think VLIW and delayed branch slots are both great ideas.
15:23:54 <ehird> oklopol: sry I will talk mor ewhen you return.
15:23:56 <oklopol> damn you all to germany!
15:23:57 <oklopol> ->
15:24:04 <AnMaster> hah
15:24:08 <ehird> i'm rather upset jumps are so slow
15:24:14 <ehird> i don't like my cpu :<
15:24:17 <AnMaster> ehird, not if they are correctly predicted
15:24:27 <ais523> well, it's more that non-jumps can be sped up more easily then jumps
15:24:38 <AnMaster> ehird, anyway, Intel Core is *fast* at mispredicted jumps compared to Pentium 4
15:24:50 <ais523> and AnMaster's right, a correctly predicted jump hardly costs anything, usually 1 or 2 cycles
15:24:55 <ehird> i bet a functional-tuned cpu for lisp would get it right because it'd be more structured than 'jmp' :<
15:25:02 <AnMaster> for some specific work loads a Pentium 4 is *worse* than a *slower* Pentium 3
15:25:13 <AnMaster> due to the high cost for stuff like branch misprediction
15:25:19 <ais523> unfortunately, you can't also predict jumps correctly, if you could it would defeat the point of having if statements in the first place
15:25:29 <AnMaster> ais523, yes indeed
15:25:29 <ais523> an unconditional goto, by the way, is fast because it's always trivial to predict
15:25:51 <ehird> we just need to tie a crystal ball to our cpus
15:25:58 <ehird> perfect branch prediction & halting problem solved to boot
15:26:10 <ais523> some processors, like the PIC, are primitive enough that they don't even try to predict unconditional jumps
15:26:13 <ais523> and so waste cycles when jumping
15:26:23 <AnMaster> ehird, a crystal ball is slow. You need L1/L2 cache for the crystal ball lookups
15:26:29 <ais523> but on modern hardware, you don't need to worry about it
15:26:31 <AnMaster> which would defeat the point
15:26:37 <ehird> AnMaster: ok then, the beating heart of a dead wise oracle
15:26:42 <ehird> much more efficient
15:26:48 <ais523> well, crystal is made from silicon
15:26:53 <ehird> dead & wise, not "dead wise" as in slang that is
15:26:57 <AnMaster> ais523, however delayed branch slots does solve the issue if you can reorder some. Sure there are cases where you can't, and have to put in NOP
15:27:00 <ais523> so I'd suggest embedding the processor inside the crystal ball
15:27:01 <ehird> ais523: oracles's hearts are made from silicon too
15:27:21 <ais523> AnMaster: delayed branch slots are great, I agree
15:27:26 <ais523> I was planning to implement them in INTERCAL
15:27:33 <AnMaster> hah!
15:27:41 <ais523> which is obviously ridiculous as INTERCAL's far too high a level to gain any benefit
15:27:47 <ais523> but I think they could be useful for debugging purposes
15:27:52 -!- FireFly has joined.
15:28:02 <AnMaster> ais523, anyway if you had a delay of 40 like ehird talked about then delayed branch slots would be bloody annoying
15:28:04 <ais523> INTERCAL is low level, but delayed branch slots are slightly lower level than asm
15:28:16 <ehird> AnMaster: ais523 claimed comex's branch was taking ~60 cycles
15:28:16 <AnMaster> it only works great with a delay of 1-2
15:28:19 <ehird> which is crazy as fuck
15:28:24 <ais523> and yes, but I'm sure you can find something else to do for 40 cycles
15:28:33 <AnMaster> ok 60 then
15:28:33 <ais523> or however many it is
15:28:38 <AnMaster> anyway it varies depending on CPU
15:29:04 <ais523> hmm... pentium 4 has a pipeline length of 31, according to Wikipedia
15:29:46 <AnMaster> ais523, hm what about mispredicted branch + IL1 miss ?
15:29:50 <AnMaster> that would be very slow
15:29:54 <ais523> ooh, nasty
15:29:57 <AnMaster> possibly also L2 miss
15:30:06 <ais523> comex's code didn't have much chance of an L1 miss, though, it was hardly using any memory
15:30:09 <AnMaster> then you would hit a few hundred cycles right?
15:30:26 <AnMaster> ais523, well DL1 and IL1 are luckily separate..
15:30:38 <ehird> so, just to put it into context,
15:31:00 <ehird> how long do 100 cycles take on this 2.1ghz intel core 2 duo, on average? :P
15:31:01 <AnMaster> btw, where is the code comex wrote?
15:31:16 <ehird> AnMaster: http://pastie.org/407770
15:31:17 <ehird> so far
15:31:19 <ehird> we're still improving it
15:31:24 <ehird> it's a morse code decoder
15:31:28 <ehird> we're trying to eliminate the strchr atm
15:31:29 <AnMaster> I see
15:31:38 <ehird> AnMaster: his prof told him to optimize some java code
15:31:45 <ehird> so he's writing it in C and linking it with Java Native Interface
15:31:55 <ehird> using tricks like
15:31:57 <ehird> int a = *((int *) s);
15:32:04 <ehird> to read 4 characters (the max morse cod ehe's processing) in one go
15:32:05 <AnMaster> I see
15:32:13 <ehird> does that mean 'I don't see'?
15:32:23 <AnMaster> not in this case
15:32:38 <AnMaster> I still don't see what the algorithm is though...
15:32:45 <ehird> just morse code decoding
15:32:50 <ehird> AnMaster: stuff[] is a perfect hash table
15:32:55 <AnMaster> ah
15:33:02 <AnMaster> now that explains a lot
15:33:05 <ehird> and the mask removes stuff after the space, essentially
15:33:15 <ehird> but since the space can be determined just from the 'a' there
15:33:20 <ehird> we're trying to figure out how to do it the quickest way
15:33:23 <AnMaster> what is the space for?
15:33:26 <ehird> (since strchr will do the 4 accesses and branch on each one)
15:33:28 <ehird> AnMaster: separate the codes
15:33:32 <AnMaster> mhm
15:33:34 <ehird> ..-.- ...- .-...
15:33:35 <ehird> and stuff
15:33:38 <AnMaster> right
15:34:02 <ehird> but he has two branches there, and up to 5 hidden in strchr
15:34:09 <AnMaster> hm
15:34:09 <ehird> so we're trying to reduce those, and fold them into each other
15:34:10 <ehird> ais523: 15:30 ehird: how long do 100 cycles take on this 2.1ghz intel core 2 duo, on average? :P
15:34:26 <AnMaster> ehird, how long did you say max length was
15:34:28 <ais523> this is actually surprisingly like writing INTERCAL
15:34:38 -!- MigoMipo has joined.
15:34:39 <AnMaster> and do you need to fail in a good way on bad input?
15:34:41 <ehird> AnMaster: 4 characters, so that's why we use an int
15:34:44 <ehird> and no, he doesn't
15:34:47 <AnMaster> ah
15:34:51 <ehird> also, whatever you say we've probably tried :P
15:34:52 <ais523> and 100 cycles at 2.1 GHz is 100/2.1 ns which is just under 50 nanoseconds
15:34:58 <AnMaster> ehird, it may be possible to use SIMD then
15:35:00 <AnMaster> *may*
15:35:18 <ehird> ais523: Oh.
15:35:24 <AnMaster> depends on alignment though
15:35:26 <ehird> Er, that's not so bad then.
15:35:30 <AnMaster> so probably not a good idea
15:35:42 <ehird> AnMaster: we need the actual code to be portable
15:35:44 <AnMaster> ehird, depends on how much data you need to process
15:35:45 <ehird> since java is portable
15:35:50 <AnMaster> hrrm ok
15:35:54 <ehird> ofc, he's going to get marked badly for, y'know, not using java but there you go
15:35:59 <AnMaster> ehird, then it isn't. It assumes int == 32 bits
15:35:59 <ehird> AnMaster: also, he's testing it on 6mb strings
15:36:05 <ehird> also, yes
15:36:10 <ehird> but that's universally true on modern systems.
15:36:24 <ehird> a system in which it isn't probably doesn't run java
15:36:29 <AnMaster> iirc there are systems with int == 64 bits
15:36:50 <AnMaster> don't remember which system
15:36:59 <AnMaster> only a vague memory of reading those existed
15:37:17 <AnMaster> probably some HPC stuff
15:37:19 <ehird> your personal anecdotes aren't too useful :D
15:37:32 <AnMaster> ehird, was it supposed to be?
15:37:36 <ehird> dunno
15:37:47 <AnMaster> ehird, anyway there is int32_t in C99
15:38:14 <AnMaster> ehird, btw how did you calculate the perfect hash?
15:38:21 <AnMaster> or how did comex rather I guess
15:38:24 <ehird> I'm not sure, ais523 did that
15:38:29 <AnMaster> oh?
15:38:32 <AnMaster> how ais523?
15:38:33 <ehird> I told comex about the *((int*)s) trick though
15:38:40 <ais523> let me read backlog
15:38:50 <ehird> AnMaster: his original code was ridiculously bad, take a look: http://pastie.org/407681
15:38:50 <AnMaster> ehird, well, that could be slow. If it isn't aligned
15:39:04 <ais523> it was comex who did the perfect hash, not me
15:39:20 <AnMaster> ehird, 1) some systems will SIGBUS on non-aligned int. IIRC Alpha for example. Not sure about MIPS, ARM, PPC and such
15:39:26 <ehird> nobody actually cares
15:39:30 <AnMaster> 2) even on x86, reading non-aligned int is slower
15:39:32 <ehird> it has to work on most systems,
15:39:34 <ehird> and be fast on x86
15:39:36 <AnMaster> not sure how much slower
15:39:38 <AnMaster> but yes slower
15:39:46 <ehird> his code takes something like 300ms on a 6 megabyte string now, iirc, and that _includes_ the overhead of the Java bridge and the like
15:39:52 <ais523> x86 can certainly manage misaligned accesses
15:40:05 <ais523> also, does his code work?
15:40:07 <AnMaster> ais523, yes it can. But it is still slower than aligned access
15:40:17 <ehird> ais523: he broke it recently IIRC
15:40:21 <ehird> but the last working version :P
15:40:31 <ehird> AnMaster: but
15:40:33 <ehird> it's faster than
15:40:37 <ehird> s[0], s[1], s[2], s[3].
15:40:45 <AnMaster> probably
15:40:59 <ehird> although the strchr does that anyway
15:41:03 <ehird> thus why we're trying to eliminate it
15:41:05 <ehird> or at least i am
15:41:18 <AnMaster> that strchr. I think you could do that faster with testing against a bitmask or something.
15:41:24 <ehird> yes
15:41:28 <ehird> that was what I was suggesting
15:41:30 <ehird> bitmasking a
15:41:34 <ehird> but I couldn't figure out what the right bitmask was
15:41:37 <ehird> and what to do with the result
15:41:55 <AnMaster> ehird, take a look at strlen in glibc. It is pretty insane. That is the generic C version. Each CPU also has an even crazier asm implementation
15:42:04 <ehird> that's where I got the int * trick from
15:42:08 <ehird> via http://www.stdlib.net/~colmmacc/2009/03/01/optimising-strlen/
15:42:14 <AnMaster> ehird, ah you have seen the bitmasking in glibc then?
15:42:26 <ehird> ofc, strlen() is pointless since you should use length-tagged strings.
15:42:35 <AnMaster> yes
15:42:45 <ehird> if I could do anything to glibc, I'd add a 1 second wait for every strlen call :P
15:42:49 <ais523> ehird: the principle of searching for a NUL is still useful, though
15:42:57 <ehird> and modify gcc to never, ever optimize out a strlen
15:43:01 <ehird> ais523: strchr(s,0)
15:43:04 <ehird> if you _must_ :P
15:43:14 <ais523> well, I was thinking of strchr in general
15:43:19 <ais523> although notice that strchr stops on NUL
15:43:25 <ais523> some things are faster for NUL-termination
15:43:41 <ehird> yes, but in general strings should be length-tagged
15:43:46 <ais523> personally, I think one of the better methods for storing strings is to both length-prefix and nul-terminate
15:43:49 <ehird> just about every HLL does that, and their string handling is great
15:43:58 <ehird> ais523: that can work
15:46:18 <AnMaster> ehird, you can do length tagged strings in C
15:46:30 <ehird> i know
15:46:33 <ehird> but its a pain
15:46:37 <ehird> because libraries don't like it
15:46:41 <AnMaster> there are at least two libraries with macros for it
15:46:41 <ehird> and you can';t use the stdlib
15:46:44 <AnMaster> that I know of
15:46:48 <AnMaster> probably a lot more exists
15:46:59 -!- impomatic has joined.
15:47:02 <ehird> in C, using non-null-terminated strings is pretty painful
15:47:12 <impomatic> Hi :-)
15:47:12 <ais523> if you're doing both length tag and nul-terminate, then you can use most of the read-only stdlib functions
15:47:15 <ais523> hi
15:47:15 <AnMaster> ehird, just consider it a generic byte buffer
15:47:22 <ais523> besides, memchr = strchr for length-prefixed strings
15:47:29 <AnMaster> ais523, yes indeed
15:47:37 <AnMaster> there exists quite a few mem* functions
15:47:38 <ais523> and likewise with the other mem* functions
15:47:43 <AnMaster> that are *FASTER* than str* ones
15:47:51 <AnMaster> because they don't need to check for end all the time
15:47:57 <ehird> actually
15:48:01 <ehird> comex switches to using memchr
15:48:03 <ehird> and it was slower
15:48:05 <AnMaster> memcpy() is faster than strcpy() for example
15:48:09 <AnMaster> ehird, that's strange
15:48:10 <ehird> maybe the \0 checking helped branch prediction :P
15:48:19 <AnMaster> no idea
15:48:23 <ais523> yep, most CISC processors can do branch prediction perfectly for for loops
15:48:32 <ais523> but most processors aren't CISC nowadays
15:48:32 <AnMaster> ais523, interesting
15:48:45 <ais523> they're RISC-core, disguised as CISC using microcode
15:48:57 <AnMaster> ais523, but can they still branch predict?
15:49:17 <AnMaster> branch predict perfectly I mean
15:49:23 <ais523> well, I've worked with a DSP before
15:49:30 <ais523> that branch-predicted for-loops perfectly
15:49:34 <ais523> as long as you didn't change the control variable
15:49:53 <ais523> not only that, but it didn't even spend any cycles on the decrement-and-test such loops normally have
15:50:23 <AnMaster> ais523, at least some x86 use microcode. I'm pretty sure AMD64 does for some instructions. I have a pdf somewhere around here documenting type of execution, with those in microcode marked "VectorPath", other ones marked "DirectPath"
15:50:24 <AnMaster> iirc
15:50:33 * AnMaster searches his desktop
15:50:42 <AnMaster> ah there it is
15:51:03 <ais523> I think all modern x86-compatibles use microcode
15:51:11 <AnMaster> indeed. Instruction latencies for the AMD64 ISA (k8 family)
15:51:17 <ais523> DSPs are weird, though, they have some very specific CISC instructions
15:51:55 -!- Judofyr has joined.
15:52:12 <AnMaster> ais523, even with microcode x86 is pretty CISC in the core. Just consider all the core SIMD instructions for example
15:52:28 <ais523> are those non-microcode/
15:52:30 <ais523> I'm surprised
15:52:39 <ais523> and suddenly realise why ARM uses so much less power
15:52:46 <ehird> I don't like computers
15:52:50 <ehird> They don't work very well
15:52:51 <ehird> :(
15:53:15 <AnMaster> From "Legend for table C.1": Decode type Shows the method that the processor uses to decode the instruction—either DirectPath Single (DirectPath), DirectPath Double (Double), or VectorPath.
15:53:31 <AnMaster> I think it was clarified elsewhere in the pdf
15:54:07 <AnMaster> yep
15:54:22 <AnMaster> http://rafb.net/p/nVH4iJ51.html
15:55:54 <ehird> ahem
15:55:57 <ehird> don't use rafb.net
15:56:18 <ehird> for people reading this sometime after tomorrow: http://pastie.org/408374
15:56:22 <AnMaster> ehird, it is the one that loads fastest here. pastebin.ca take a lot of time to load. Same for all the others
15:56:30 <ehird> pastie.org is always quick for me
15:56:35 <AnMaster> ehird, not for me
15:56:47 <AnMaster> rafb takes maybe 1 second to load. pastie.org around 5
15:56:54 <ehird> hmm
15:57:08 <AnMaster> I guess there is much more design on pastie.org
15:57:15 <AnMaster> rafb has a very minimalistic design
15:57:19 <ehird> your browser will cache the css.
15:57:36 <ehird> well, I'm tempted to just say tha ta few more seconds now beats expiry in the future, but I'll look for something faster
15:57:52 <ais523> ehird: that CSS expires, think of the logreaders!
15:58:02 <ehird> lol wut
15:58:16 <AnMaster> :D
15:58:29 <ehird> AnMaster: http://paste.lisp.org/?
15:58:33 <ehird> about as minimalist as rafb
15:58:38 <ehird> irritating captcha though
15:58:42 <ehird> well
15:58:45 <ehird> it always says lisp
15:58:47 <AnMaster> indeed
15:58:47 <ehird> so you can easily script that
15:59:01 <AnMaster> ehird, really? greasemonkey tends to slow down stuff
15:59:13 <ehird> you don't really need greasemonkey for that
15:59:17 <comex> best captcha ever
15:59:33 <ehird> comex: well, you have to target it specifically
15:59:37 <AnMaster> ehird, I use paste.lisp.org when I want to highlight erlang
15:59:38 <ehird> most spambots just generically spam everything
15:59:40 <ehird> so it'd trip them up
16:00:15 <AnMaster> ehird, it does load quite fast. But rafb does load even faster
16:00:22 <AnMaster> 1 second vs. 3 or such
16:00:31 <ais523> if it takes more than 50 nanoseconds, it's too slow!
16:00:36 <ehird> AnMaster: http://pastey.net/?
16:00:43 <ehird> loads very fast for me, and has ids going back to 2006 (I just checked)
16:01:00 <ais523> I suggest you use paste.eso-std.org
16:01:05 <ehird> yes!
16:01:19 <AnMaster> ehird, hm 2 seconds
16:01:22 <ais523> still parked
16:01:26 <ehird> it will give you vaginal herpes on your iso standards. or at least, that's what it claims.
16:01:27 <AnMaster> err didn't eso-std expire?
16:01:31 <ehird> AnMaster: so?
16:01:35 <ehird> you can still use it!
16:01:45 <AnMaster> well the pastes are gone.
16:01:53 <AnMaster> the urls no longer valid
16:01:57 <AnMaster> THINK OF THE LOGREADERS!
16:01:59 <ehird> http://expired.revenuedirect.com/park.php?domain_name=<your text here>&site_id=20788
16:02:05 <ehird> then give us that link
16:02:06 <AnMaster> never let your pastebin expire
16:02:15 <ehird> also, nobody actually used it
16:02:19 <ais523> I did
16:02:20 <AnMaster> ehird, you did iirc
16:02:23 <AnMaster> and ais523 did
16:02:25 <ehird> ais523: okay, like thric
16:02:27 <ehird> e
16:02:30 <ehird> until anmaster told you not to
16:02:35 <ais523> I used it more than ehird, I think
16:02:43 <AnMaster> ehird, fixing that download bug might have helped
16:02:50 <AnMaster> and THINK OF THE LOGREADERS!!
16:02:51 <ehird> not a bug
16:02:52 <ais523> that wasn't a bug, that was correct
16:03:02 <ais523> doing things which are unusual but correct is very eso
16:03:13 <ais523> incidentally, Microsoft have come up with their own way of doing that
16:03:18 <ehird> indeed
16:03:23 <ehird> i linked to that article yesterday
16:03:24 <ais523> they wrote a standard, made it an RFC, and are now complying with it
16:03:33 <AnMaster> ais523, um really?
16:03:36 <AnMaster> details?
16:03:57 <ehird> http://drplokta.livejournal.com/109267.html
16:04:15 <ais523> ah, I was going to ask ehird if he had the link, I couldn't find it
16:04:24 <AnMaster> huh, http://pastey.net/ thinks Erlang means Ericsson Language. It actually doesn't
16:04:37 <AnMaster> it is a reference to a person named Erlang
16:04:40 <ehird> AnMaster: it does and it doesn't
16:04:41 <ehird> it's both
16:04:44 <AnMaster> same as Haskell is named after someone
16:04:48 <ehird> they named it because of both connotations
16:04:53 <ehird> even though only one is official
16:05:05 <ehird> "Keep my history for at least [99999999] days" —Firefox
16:05:07 <AnMaster> ehird, true. But according to one of the original developers it was primarily due to the person
16:05:09 <ehird> I should become the U.S. archivist.
16:05:46 <AnMaster> ~273972 years?
16:05:51 <ehird> yes.
16:05:56 <AnMaster> and yes that was using 365 and integer division
16:05:57 <ehird> I don't intend to be using Firefox by that t ime.
16:06:00 <AnMaster> so probably off by a bit
16:06:45 <AnMaster> ehird, personally I have it set to one week
16:06:51 <AnMaster> I don't like to keep history around
16:06:52 <ehird> AnMaster: DATA LOSS AAAAAAAAAGH
16:06:54 <ehird> NO NO NO NO NO NO NO
16:06:57 <ehird> YOU MUST PRESERVE ;_;
16:07:03 <AnMaster> ehird, No. I'm paranoid
16:07:07 <AnMaster> that is the reason
16:07:12 <ehird> So encrypt it :P
16:07:14 <AnMaster> ehird, I do
16:07:20 <AnMaster> /home is encrypted
16:07:32 <ehird> I have a huge obsessive aversion to deleting anything.
16:07:42 <ehird> probably because of my logreading tendencies
16:07:48 <AnMaster> ehird, I have a huge obession with having more than 3 GB free space on my disk
16:07:51 <AnMaster> I do have backups of course
16:07:58 <AnMaster> on tape
16:07:59 <ehird> Eh, just transfer old stuff to a backup drive.
16:08:02 <ehird> Lol, tap.e
16:08:03 <ehird> *tape
16:08:09 <ehird> Want to survive a nuclear attack?
16:08:09 <AnMaster> ehird, it lasts.
16:08:17 <ehird> disks last pretty well y'know
16:08:27 <AnMaster> ehird, ever had a disk fail?
16:08:31 * AnMaster has
16:08:33 <ehird> Yes.
16:08:41 <ehird> Backup your backups.
16:08:45 <ehird> To Xzibit's body.
16:08:51 <AnMaster> huh?
16:08:59 <ehird> Xzibit is the origin of the yo dawg meme.
16:09:06 -!- AnMaster has set topic: Ⱒ GLAGOLITIC CAPITAL LETTEmhmR SPIDERY HA | http://tunes.org/~nef/logs/esoteric/.
16:09:09 <AnMaster> err
16:09:12 <AnMaster> wth
16:09:12 <ehird> LETTEmhmR
16:09:15 <ehird> leave it like that :D
16:09:22 <ehird> (I also don't keep backups. Yet.)
16:09:23 <AnMaster> my kb2OPJħßj strs
16:09:29 <ehird> AnMaster: indeed, it does str.
16:09:33 <AnMaster> ah better...
16:09:37 <AnMaster> keyboard went strange
16:09:39 <AnMaster> no idea why
16:09:50 -!- AnMaster has set topic: Ⱒ GLAGOLITIC CAPITAL LETTER SPIDERY HA | http://tunes.org/~nef/logs/esoteric/.
16:09:50 <FireFly> Nice topic
16:09:54 <AnMaster> fixed it
16:09:56 <FireFly> :<
16:09:57 -!- ehird has set topic: Ⱒ GLAGOLITIC CAPITAL LETTEmhmR SPIDERY HA | http://tunes.org/~nef/logs/esoteric/.
16:09:59 <ehird> Fixed it.
16:10:00 <FireFly> :>
16:10:04 <AnMaster> ...
16:10:25 <AnMaster> anyway. Where was I
16:10:28 <AnMaster> right
16:10:34 <ais523> FireFly: sometimes I fly around in a spaceship?
16:10:41 <FireFly> Oh, you do?
16:10:48 <ais523> it's a reference to eso-std.org
16:10:52 <ais523> which was only ever placeholder text
16:10:54 <ehird> ais523: now _that's_ obscure
16:10:56 <ehird> also, no
16:10:59 <ehird> well.
16:11:00 <ais523> "sometimes I fly around in a spaceship :>"
16:11:01 <ehird> in variou forms.
16:11:04 <AnMaster> ehird, backups on tape may not survive a nuclear attack
16:11:08 <ehird> but it had infrastructure set up/
16:11:09 <AnMaster> nor do I think anything I have will
16:11:11 <ehird> it was just never used :P
16:11:19 <ais523> AnMaster: will you survive a nuclear attack?
16:11:23 <ais523> just keep a backup in your pocket
16:11:29 <AnMaster> I live in a house based on the log technology
16:11:30 <ehird> backup yourself in your pocket
16:11:31 <ais523> that way, if you survive the attack probably so will the backup
16:11:36 <ehird> INFINITE BACKUPS.
16:11:39 <comex> hey, I recognized it
16:11:41 <ehird> you can never die.
16:11:42 <ehird> ever.
16:11:46 <ais523> comex: wow
16:11:59 <ehird> since it would take infinite time to destroy all the copies of yourself
16:12:00 <ais523> it was pretty obscure...
16:12:07 <AnMaster> ais523, that would require fitting 500 GB in my pocket
16:12:08 <AnMaster> how
16:12:20 <ais523> flash memory's getting better all the time
16:12:26 <FireFly> MicroSDs are small
16:12:28 <ais523> I have an 8 GB memory stick in my pocket at the moment
16:12:30 <comex> depends on the size of your pocket
16:12:32 <AnMaster> ais523, and wear out quickly with daily backups
16:12:39 <FireFly> There are 32 gig SDHCs IIRC
16:12:39 <ehird> er
16:12:41 <ais523> well, my pocket-backup isn't daily
16:12:45 <ehird> its for a nuclear attack AnMaster
16:12:48 <ais523> and it's mental-incremental
16:12:49 <AnMaster> currently I have incremental daily backups
16:12:51 <ehird> i'm sure you could lose a month
16:13:02 <ais523> as in, I back something up if I think it needs backing up and I remember it changes
16:13:06 <FireFly> I'd be happy to live
16:13:17 <ais523> every now and then I'll tarball all the backup-requiring bits of my home dir and store that on the USB stick
16:13:18 <ehird> FireFly: pfft, you and your logic
16:13:27 * FireFly likes his logic
16:13:29 <ehird> my disaster plan: grab backup drive, run.
16:13:34 <AnMaster> ehird, anyway I keep them in a safe. That is metal. That should at least reduce EMP *a bit*
16:13:40 <ehird> do not perform step 2 until step 1 is complete.
16:13:51 <ais523> incidentally, radioactivity has a much larger effect on fibre optic cables than both other electronic stuff and humans
16:13:52 <FireFly> My disaster plan: null
16:13:52 <FireFly> :<
16:13:55 <ehird> AnMaster: okay, listen, if there's an EMP attack
16:13:59 <ehird> you're fucked anyway
16:14:00 * FireFly doesn't do backups, but I should
16:14:03 <AnMaster> ehird, yes
16:14:08 <ehird> like, as in, death imminent :P
16:14:09 <comex> me too
16:14:12 <ais523> FireFly: definitely, most people only learn that lesson until they've already lost one set
16:14:20 <FireFly> And I havn't been there
16:14:21 <ais523> ehird: surely it depends on how near the EMP attack is?
16:14:28 <AnMaster> and how strong
16:14:28 <ehird> ais523: I've lost data before, but it wasn't vital
16:14:36 <ehird> (Just some music, the drive partially made some files vanish)
16:14:50 <ais523> how did the drive manage that?
16:14:50 <ehird> ais523: considering it would wipe out infrastructure...
16:14:54 <ehird> also, dunno
16:14:56 <ehird> it was in my old computer
16:14:58 <ehird> very dusty
16:14:58 <AnMaster> CD ROM should be a pretty good backup
16:14:59 <ehird> bashed around a lot
16:15:02 <ehird> dropped a few times
16:15:04 <ais523> I'm sufficiently old I've lost data due to bad sectors on floppy disks
16:15:05 <ehird> never maintained
16:15:06 <ehird> etc
16:15:09 <AnMaster> and I don't mean CD-R. But CD-ROM
16:15:14 <AnMaster> quite a difference
16:15:25 <ehird> AnMaster: not really
16:15:27 <ais523> the second computer I used didn't have a sufficiently large hard drive to store the things I did, so I stored everything on floppies instead
16:15:28 <AnMaster> ais523, I have too
16:15:30 <ehird> you can snap a disk trivially
16:15:40 <ehird> I've done it in seconds
16:15:45 <AnMaster> ehird, well assuming it is stored in a dry protected place
16:15:48 <ehird> disk splinters everywhere :|
16:15:52 * impomatic backs up to memory sticks
16:15:55 <ehird> I was kind of stupid and tired.
16:15:57 <AnMaster> ehird, I mean, EMP wouldn't be much of an issue
16:16:01 <ais523> ehird: it's relatively hard to snap them accidentally, it's easy but not easy to do accidentally
16:16:09 <AnMaster> indeed
16:16:16 <ehird> my hands stung a bit after snapping that disc :D
16:16:18 <ais523> impomatic: anyway, I had to spend ages cleaning up after your quit message last time
16:16:27 <FireFly> I'm not really evolving as fast as the technology does. I'm fine with my 512 MB Mp3 player, I don't need no more
16:16:27 <ais523> it was threatening to overwrite the logs
16:16:29 <AnMaster> uh
16:16:35 <AnMaster> ais523, what was that quit message?
16:16:42 <ais523> AnMaster: a redcode quine
16:16:48 <AnMaster> hah
16:16:49 <ais523> that ran itself immediately after printing
16:16:56 <ais523> known as an "imp"
16:16:58 <impomatic> What quit message?
16:17:00 <ais523> thus presumably impomatic's username
16:17:13 <impomatic> Aha :-)
16:17:27 <ais523> and I'm not sure I knew enough offhand redcode to write an imp-gate to stop it
16:17:39 <impomatic> I forgot about that. Cool that the logging software runs redcode
16:17:52 <impomatic> jmp #0, <-5 should stop it next time
16:17:53 <ais523> I don't think it does
16:17:59 -!- jix has joined.
16:18:02 <ehird> ais523: clog rebooted yesterday or the day before
16:18:07 <ehird> and the mysterious nef was online
16:18:11 <FireFly> It was yesterday, yeah
16:18:15 <ehird> for the first time since 2000
16:18:17 <ehird> IIRC
16:18:20 <ehird> or 2004 or something
16:18:20 <ais523> but I'm trying to be sure
16:18:22 <ehird> ages ago, anyway
16:18:30 <ais523> you never know when the logging software might suddenly become Turing-complete
16:18:40 <impomatic> I have a proper redcode Quine actually, 170 instructions. I just need to recompile the MARS to run programs longer than 100 lines :-)
16:18:53 <ehird> clog is pretty good, it's pretty stable
16:18:55 <ais523> that needs a recompile? I thought the limit was just there to stop people cheating
16:18:57 <impomatic> Who's nef?
16:19:02 <ehird> impomatic: see log link
16:19:02 <ais523> impomatic: the person who keeps the logs
16:19:07 <ais523> apart from that, we don't know anything about them
16:19:15 <ais523> no idea why they're logging the channel, for instance
16:19:18 <ehird> ais523: apparently the tunes.org server admin administers it now
16:19:22 <impomatic> Oh, I see :-)
16:19:25 <ehird> also, lament or someone asked
16:19:43 <FireFly> Wait, we don't know _why_ they're here, logging our channel? ;o
16:20:06 <impomatic> I've finished Redcode Forth. It's currently doing well on the programming reddit. There's also an article on there about OISC.
16:20:49 <ais523> wow, I read proggit from time to time but somehow I missed that
16:21:11 <ais523> <orbat> This is completely pointless and has no real world application. I love it!
16:21:18 <impomatic> Well it's handy to have logs as evidence! :-)
16:21:18 <ais523> only one comment, I may as well copy it here
16:21:21 <ehird> a while ago I was going to link impomatic to an article I saw on reddit last year about someone implementing a bunch of algorithms like from TAOCP in redcode, but then I clicked the link again and saw it was him :D
16:21:25 <ais523> haha
16:21:34 <ais523> did you link him anyway?
16:21:36 <ais523> I would have
16:21:40 <ehird> haha, not that I recall
16:21:44 <impomatic> Where's that? ;-)
16:21:52 <ehird> impomatic: it just linked to impomatic.blogspot.com
16:22:02 <impomatic> I implement another ever now and again.
16:22:49 <ehird> org euclid+2
16:22:50 <ehird> euclid mod.ab #a, #b
16:22:50 <ais523> impomatic: I like your descriptions of esolangs, very clear
16:22:51 <ehird> mov.x euclid, euclid
16:22:53 <ehird> jmn.a euclid, euclid
16:22:55 <ehird> I didn't realise that was so simple
16:22:56 <impomatic> I ought to finish off Heap sort. It's about 70 instructions though, 4 times longer than anything else.
16:23:11 <impomatic> Quicksort and Combsort are both under 20 instructions
16:23:12 <ais523> how long is mergesort in redcode, I wonder?
16:23:32 <impomatic> I might tackle merge sort.
16:23:39 <ais523> I love redcode, actually, it's a sort of anti-esolang
16:23:46 <ehird> it occurs to me that sorting arrays is a pretty rare operation.
16:23:53 <impomatic> I haven't quite figured in-place mergesort
16:23:55 -!- Judofyr has quit (Remote closed the connection).
16:24:01 <ehird> and most of the time your values have a trivial mapping to integers, so you should just use one of the non-comparison sorts
16:24:04 <ehird> like, wossname, bucket sort?
16:24:21 <ais523> yep
16:24:41 <ais523> anyway, recently I was sorting a large list of words ordered by the words with letters sorted into alphabetical order
16:24:48 <ais523> sort of a lookup table for anagrams
16:24:50 <ehird> letters have a trivial isomorph to integers.
16:24:53 <ais523> so there are uses
16:24:53 <ehird> :P
16:24:56 <ais523> letters do, but words don't
16:25:00 <ehird> oh, true
16:25:06 <ais523> or, they do, but they're sufficiently large that bucket sort would be very inefficeint
16:25:07 <ehird> still, that's quite a rare cas
16:25:07 <ehird> e
16:25:09 <ais523> *inefficeint
16:25:24 <ehird> If I was making a standard library, I would have 'sort : (a -> int) -> [a] -> [a]'
16:25:35 <ehird> and 'genericSort : {comparable a} [a] -> [a]'
16:25:42 <ehird> or similar
16:27:34 <ehird> also, it turns out that strongly typing OOP duck-typing is easy.
16:27:48 <ehird> for instance:
16:27:49 <ehird> hello : 'a = {(+) : 'b -> 'c} -> 'b -> 'c
16:27:50 <ehird> hello a b = a + b
16:28:01 <ehird> trying to figure out how to do that with multi dispatch
16:29:03 <ais523> ehird: does that collapse into a '_a sort of type?
16:29:10 <ais523> or does it stay fully polymorphic?
16:29:18 <ehird> fully polymorphic
16:29:23 <ehird> assuming + is a message, ofc.
16:29:25 <ais523> pretty impressive
16:29:30 <ehird> ocaml pretty much does the same
16:29:32 <ais523> and yes, that's pretty clear from your syntax
16:29:42 <ehird> for multi dispatch, well, it's harder
16:29:45 <ehird> because you dispatch on all arguments
16:29:47 <ehird> here's my attempt:
16:30:07 * ais523 suddenly wonders what unassignable compiled into ocaml would look like
16:30:09 <ehird> hello : { (+) : 'a -> 'b -> 'c }. 'a -> 'b -> 'c
16:30:09 <ehird> hello a b = a + b
16:30:31 <ehird> so { } is a "context", basically meaning 'for the multi dispatch methods satisfying...'
16:30:44 <ehird> ais523: oh, I might try that
16:30:46 <ehird> wouldn't be hard
16:30:50 <ais523> I doubt it would be
16:33:25 <ehird> ais523: unfortunately,
16:33:25 <ehird> avg : { length : 'a -> 'b; (/) : 'b -> 'c -> 'd; sum : 'a -> 'c } 'a -> 'd
16:33:25 <ehird> avg lst = length lst / sum lst
16:33:31 <ehird> you pretty much end up repeating the function body
16:33:46 <ais523> that's to be expected
16:33:53 <ehird> OMG
16:33:59 <ais523> why the OMG?
16:34:00 <ehird> The new version of D
16:34:02 <ehird> is 100% open source
16:34:06 <ehird> fully buildable dmd
16:34:08 <ais523> wasn't the old version?
16:34:13 <ehird> ais523: not all of it
16:34:22 <ehird> the frontend and some of the backend, iirc
16:34:26 <ehird> but there was some code from other places
16:34:30 <ehird> that couldn't be relicensed
16:34:37 <ehird> but finally it's fully open source
16:37:50 <ehird> gr, this is irritating
16:42:47 <ehird> why is this brokennn
16:43:39 <ehird> Oh.
16:43:44 <ehird> Grah.
16:43:49 <ehird> Depends on gnu sed, I think.
16:44:03 <ehird> ifdef LIB_PACK_NAME
16:44:04 <ehird> FOR_PACK_NAME := $(shell echo $(LIB_PACK_NAME) | sed -e 's/^\(.\)/\U\1/')
16:44:06 <ehird> endif
16:44:09 <ehird> Why must people not test on BSD
16:44:39 <ais523> does BSD sed have arbitrary limits
16:44:51 <ehird> ais523: is that a reference
16:44:51 <ehird> ?
16:45:25 <ais523> that's a backrefence, yes
16:45:30 <ais523> I thought all seds did that, though
16:45:36 <ehird> i meant
16:45:41 <ehird> 16:44 ais523: does BSD sed have arbitrary limits
16:45:44 <ehird> is that a reference to something
16:45:49 <ais523> no, it isn't
16:46:01 <ehird> % sed -e's/^\(.\)/\U\1/'
16:46:01 <ehird> a
16:46:02 <ehird> Ua
16:46:04 <ais523> some old versions of sed couldn't handle more than a certain amount of text at once
16:46:08 <ehird> thus causing my Usexplib problem
16:46:25 <ais523> \U is a perlism for translating into uppercase, I wonder if GNU sed has it too?
16:46:34 <ehird> ah, yes
16:46:36 <ehird> definitely
16:46:39 <ehird> since it should be Sexplib
16:46:49 <ehird> now, I'd loathe to install gsed, and I can't modify omakefile
16:46:54 <ehird> err, ocamlmakefile
16:46:58 <ehird> so ... hm.
16:52:24 <ehird> ais523: any suggestions>
16:53:03 <ais523> write your own wrapper for sed that specifically traps that line, and put it higher up on your PATH?
16:53:27 <ehird> I would not be surprised to find more gstupidity.
16:53:42 <ais523> well, replace it with an s2p followed by perl layer, then
16:53:48 <ehird> Maybe I should create /usr/local/hell.
16:53:51 <ehird> Containing gnu tools.
16:53:52 <ais523> a sort of perl-sed which is more likely to be GNU-sed compatible
16:53:59 <ehird> And tell godi to put it on its path.
16:54:06 <ais523> you seem to really dislike gnu tools for some reason
16:54:07 <ais523> bloar/
16:54:09 <ais523> *bloat?
16:54:33 <ehird> I'd dislike them less if software didn't rabidly depend on them when I preferred bsd tools
16:54:52 <ehird> Sort of like how Windows would be a bad OS but not really that bad if it wasn't so ubiquitous
16:55:18 <ehird> [ehird:~] % s2p -e 's/^\(.\)/\U\1/' >x.pl
16:55:18 <ehird> [ehird:~] % perl x.pl
16:55:19 <ehird> sexplib
16:55:21 <ehird> Usexplib
16:55:27 <ais523> ugh
16:55:33 <ais523> that really is a bad sed script, then
16:57:24 <ehird> Hmm...
16:57:41 <ehird> install gsed as /opt/local/bin/sed, then alias sed='/usr/bin/sed' in zsh?
16:59:11 -!- BeholdMyGlory has joined.
17:00:16 -!- Judofyr has joined.
17:02:44 * ais523 is very impressed with impomatic's print-in-decimal code
17:03:38 <ais523> it's a pretty simple algorithm, just everything looks more impressive when written in redcode for some reason
17:03:43 <ehird> Is FP implemented?
17:03:51 <ais523> floating point, no
17:03:56 <ehird> Function Programming.
17:04:01 <ehird> Backus's apology for Fortran.
17:04:02 <ehird> http://en.wikipedia.org/wiki/FP_programming_language
17:04:05 <ais523> oh
17:04:21 * ais523 misread wikipedia as esolang somehow
17:04:24 <ehird> :D
17:04:47 <impomatic> ais523: which print in decimal algorithm? I think there are 3 on there. Recursive, interative, and one which can also do any number base
17:05:27 <ais523> the one in your forth program
17:05:32 <ais523> I was just shocked at how short it was
17:05:35 <ais523> in a lang looking like asm
17:05:39 <ais523> redcode does that to me
17:05:50 <ehird> redcode is far superior to x86...
17:05:53 <ehird> Scary.
17:06:04 <ais523> I imagine it would be a real pain to implement in hardware
17:06:26 <ehird> Conventional programming languages are growing
17:06:26 <ehird> ever more enormous, but not stronger. Inherent defects
17:06:27 <ehird> at the most basic level cause them to be both fat and
17:06:29 <ehird> weak: their primitive word-at-a-time style of program-
17:06:31 <ehird> ming inherited from their common ancestor--the von
17:06:33 <ehird> Neumann computer, their close coupling of semantics to
17:06:35 <ehird> state transitions, their division of programming into a
17:06:37 <ehird> world of expressions and a world of statements, their
17:06:39 <ehird> inability to effectively use powerful combining forms for
17:06:41 <ehird> building new programs from existing ones, and their lack
17:06:43 <ehird> of useful mathematical properties for reasoning about
17:06:45 <ehird> programs.
17:06:47 <ehird> Yikes, flood.
17:06:49 <ehird> Sorry.
17:06:51 <ehird> Didn't know PDF linebreaks were, y'know, real.
17:07:26 <ais523> pdf is a strictly presentational language
17:07:34 <ehird> Yeah.
17:07:35 <ehird> I hate pdfs.
17:07:40 <impomatic> x86 http://assemb.atspace.com/printdec.txt
17:07:41 <ais523> my client warns me about unexpected linebreaks in what I'm pasting, it's usual
17:07:48 <ehird> So does mine
17:07:52 <ehird> but it doesn't tell me how many
17:07:57 <ehird> just shows me a multi line edit form
17:07:57 <ais523> I mean, there are quite often unexpected linebreaks
17:08:02 <ehird> and I entered it away too quick
17:08:06 <ehird> impomatic: impressive
17:08:07 <ais523> and mine just gives me a line count with a yes/no option
17:08:26 <ehird> erm
17:08:27 <ehird> impomatic:
17:08:28 <ehird> call printdec
17:08:31 <ehird> shouldn't that be
17:08:32 <ehird> jmp printdec?
17:08:36 <ehird> it's a tail recursion...
17:08:58 <ais523> did impomatic write that one, I wonder?
17:09:04 <ehird> yes
17:09:04 <ais523> ah, yes
17:09:13 <ehird> the main page is in the style of corewar.co.uk, and his name is on it
17:09:28 <ehird> also, he's right here y'know
17:09:36 <ais523> yes, I nkow
17:09:41 <ehird> I nkow too
17:09:41 <ais523> I saw the name
17:09:46 <ais523> *know
17:09:53 <ais523> and was wondering if it was impomatic
17:09:56 <ehird> nkow: To nkep in a ow sort of way.
17:10:12 <impomatic> No, can't be changed to printdec. Yes, that's another of my pages! :-)
17:10:13 <ais523> that's, like, a double abbreviation
17:10:32 <ehird> hmm
17:10:42 <ehird> why can't call at a tail position be turned into a jump...?
17:10:54 <ehird> also, is that PUTCHAR for dos or linux or?
17:11:03 <ais523> ugh, the first Google result for nkep is actually the correct meaning
17:11:07 <impomatic> DOS
17:11:28 <ais523> although the fifth version is the one that actually defines it
17:11:29 <ehird> ais523: for me, it suggests nkdep, and shows the top two sesults for that
17:11:32 <ais523> *result
17:11:34 <ehird> before the agora results
17:11:39 <ais523> well, yes, but those don't count
17:11:55 <ais523> wow, http://jmcteague.com/mediawikiold/index.php?title=Nkep&redirect=no looks so much like vandalism
17:12:04 <ehird> [[So you are denying the existence of nonsensical action? Over 50
17:12:05 <ehird> million idiots in this world prove you wrong every day.]]
17:12:07 <ehird> --bobthj
17:12:11 <ais523> but "nkeplwgplxgioyzjvtxjnncsqscvntlbdqromyeyvlhkjgteaqnneqgujjpwcbyfrpueoydjjk" bears a strong resemblence to its actual definition
17:12:16 <AnMaster> impomatic, err, why does using DOS prevent you from jumping?
17:12:18 <ehird> I wonder what politically motivated thing he's referring to.
17:12:27 <ehird> AnMaster: SCROLLBACK.
17:12:32 <ehird> <ehird> also, is that PUTCHAR for dos or linux or?
17:12:35 <ehird> ais523: that isn't vandalism
17:12:36 <AnMaster> ah
17:12:38 <ehird> that's iammars's site
17:12:43 <ais523> ehird: I know
17:12:46 <ehird> ah
17:12:52 <ais523> that's why I said it /looked/ like vandalism
17:12:56 <ais523> even though I know it's probably not
17:13:04 <ais523> on the other hand, if someone did vandalism that string, would you ever know?
17:13:12 <ais523> *vandalise
17:13:14 <ehird> vandalism is a verb! :D
17:13:25 <impomatic> The routine builds a list of digits on the stack, which are then popped off and printed.
17:13:38 <ais523> ah, so it's non-tail recursin
17:13:50 <ehird> ah
17:13:54 <ehird> but
17:14:00 <ehird> hmm
17:14:02 <ehird> oh right
17:14:06 <ehird> you need call's stack effects
17:14:16 <impomatic> It can be made iterative, but that is 2 bytes longer.
17:14:36 <AnMaster> you could make an iterative one that iterates backwards. I wrote one, The max space you may need is rather trivial to calculate iirc.
17:14:39 * AnMaster looks for the code
17:15:13 <AnMaster> right. My code is for any base 0-36 and in C
17:15:18 <AnMaster> err
17:15:20 <AnMaster> 1-36
17:15:33 <ehird> .. the whole point is to be short.
17:15:49 <impomatic> Not bases <= 0 ? :-(
17:15:57 <ehird> minus bases rock
17:15:58 <ais523> everyone loves negative bases
17:16:05 <ais523> besides, bases 0-36 and in C is trivial
17:16:06 <AnMaster> http://rafb.net/p/o7Da1r12.html
17:16:08 <ehird> although you need negative digits
17:16:11 <ehird> -> negative strings
17:16:11 <ais523> because there's a standard library function for doing that
17:16:18 <ais523> umm.... 2-36, probably
17:16:23 <ais523> what does base 0 mean, anyway?
17:16:28 <ehird> AnMaster: http://pastie.org/408471
17:16:28 <ais523> even base 1 = unary is dubious
17:16:38 <AnMaster> ais523, I just followed BASE spec
17:16:39 <ehird> ais523: highly dubious, base 1 is useless
17:16:41 <ehird> it's all 0
17:16:48 <AnMaster> ehird, make an automatic rafb repaster bot
17:16:50 <ais523> ehird: agreed
17:16:50 <AnMaster> :P
17:16:58 <ehird> AnMaster: It'll do that, then spam you with messages.
17:17:04 <ehird> /notices, to be precise.
17:17:11 <ehird> Your choice
17:17:12 <AnMaster> ehird, I can ignore them easily
17:17:19 <AnMaster> *shrug*
17:17:22 <ehird> Not if it makes 100 clones over proxie.
17:17:23 <ehird> proxies.
17:17:29 <AnMaster> ehird, anyway, I need to paste from command line.
17:17:34 <AnMaster> as in wgetpaste
17:17:47 <ehird> so? you can script that trivially
17:17:50 <ais523> ehird: then we just get freenode to ban oyu
17:17:56 <ais523> for spamming someone with 100 proxies
17:17:57 <AnMaster> ehird, yes, I already have a working script
17:18:01 <AnMaster> ais523, indeed
17:18:01 <ehird> ais523: so I use a proxy :P
17:18:20 -!- Slereah has joined.
17:18:23 <ais523> AnMaster: you write hex in lowercase?
17:18:39 <AnMaster> ais523, why shouldn't I?
17:18:48 <ehird> ais523: negative bases digit sets use your negative strings
17:18:48 <ehird> :D
17:18:51 <ais523> no real reason, I'm just surprised
17:18:56 <ais523> ehird: haha!
17:19:01 <AnMaster> ais523, BASE is RC/Funge, so it isn't that well defined anyway
17:19:19 <ais523> what does it define bases 0 and 1 as?
17:19:38 <AnMaster> ais523, reflect iirc. in mycology BASE is *all* UNDEF
17:19:46 <ais523> hahahaha!
17:19:54 <ais523> so what's the point of testing it, then?
17:19:57 <ais523> to see what it does?
17:20:17 <AnMaster> ais523, yes, and it is partly UNDEF because there is no way the program can verify it itself
17:20:26 <AnMaster> since it only goes to output
17:21:00 -!- jix has quit (Connection timed out).
17:21:17 <AnMaster> ais523, anyway my implementation is CCBI compatible, though different code. IIRC CCBI used some D string format stuff which could do any base
17:21:32 <ais523> wow, is that underspecified
17:21:41 <ais523> "Output n in base b"
17:21:57 <AnMaster> ais523, well, it doesn't say iirc what range is valid
17:22:02 <ais523> no, it doesn't
17:22:06 <ais523> what I just wrote is the /entire definition/
17:22:12 <AnMaster> indeed
17:22:21 <AnMaster> ais523, and that could vary a lot
17:22:40 <AnMaster> base 2-16 are pretty well defined, by common practise. But apart from that...
17:22:54 <ehird> meh, that's not too unspecified
17:23:29 <impomatic> My 8086 code for IEEE multiplication is more accurate than my processor. The processor rounds incorrectly about 1 time in 3 billion
17:23:42 <AnMaster> impomatic, um, for specific values I guess?
17:24:07 <AnMaster> impomatic, also that isn't strange. x87 is using 80 bits internally
17:24:38 <AnMaster> impomatic, use SSE2 to do it, and you will get IEEE iirc
17:24:43 <impomatic> I didn't check the range of values... just ran it for a day and then compare some of the discrepancies.
17:25:18 <AnMaster> impomatic, this was using float or double?
17:25:23 <AnMaster> also what specific CPU?
17:25:26 <impomatic> I checked the results by hand and re-read the spec and it turns out the processor is wrong.
17:25:52 <AnMaster> as well as, what exact instructions were you using for the CPU floating point
17:26:11 <AnMaster> and what FPU flags did you have set... If you used x87
17:26:26 <ehird> yeah impomatic can remember all these minute details from years ago
17:26:28 <ehird> who can't
17:26:40 <AnMaster> I didn't know it was years ago
17:26:52 <ehird> he said 8086
17:26:58 <ehird> that's not very modern
17:27:10 <AnMaster> ehird, I know people using C64 for fun these days
17:27:18 <AnMaster> for nostalgia
17:27:19 <AnMaster> and such
17:27:27 <AnMaster> ehird, your point was?
17:27:36 -!- Slereah_ has quit (Connection timed out).
17:27:40 <ehird> 8086 isn't very nostalgaic
17:27:45 <ehird> it's just an old x86
17:27:50 <AnMaster> the first one
17:27:50 <ehird> nothing much special
17:27:56 <ais523> 8086 makes me nostalgic for the old versions of DOS
17:28:01 <AnMaster> see!
17:28:04 <ehird> that's DOS nostalgia
17:28:09 <ehird> not 8086 nostalgia
17:28:16 <impomatic> Intel Celeron 600Mhz, can't be more specific. Single precision.
17:28:16 <ais523> yes, I know
17:28:25 <AnMaster> ais523, wasn't it FOS back then rather?
17:28:28 <ais523> but the 8086 is a nostalgia-trigger for me
17:28:30 <ais523> AnMaster: ?
17:28:37 <AnMaster> Floppy Operating System
17:28:38 <impomatic> I prefer Z80
17:28:38 <AnMaster> ;P
17:28:46 <ehird> A floppy is a disk.
17:28:55 <AnMaster> impomatic, "Intel Celeron 600Mhz" != "8086"
17:28:56 <AnMaster> ...
17:29:05 <AnMaster> and then ehird's argument is even more void
17:29:07 <ehird> (So is an HD. A cd-rom is a disc though.)
17:29:14 <ehird> AnMaster: no, because that's even less special
17:29:21 <ehird> and so less nostalgiac
17:29:40 <AnMaster> ehird, I use a Pentium 3 as a file server.
17:29:49 <ehird> well, you're bonkers.
17:30:10 <AnMaster> ehird, No I'm just not rich
17:30:25 <ehird> yes but pentium 3?
17:30:38 <AnMaster> ehird, yes, I had one around. A waste to throw it away
17:30:39 <ais523> ehird: file servers don't need a fast processor
17:30:43 <ehird> true
17:30:48 <ehird> but a pentium 3 in _anything_...
17:30:52 <AnMaster> indeed. All it does is serve NFS from two IDE disks
17:30:58 <AnMaster> ehird, better than Pentium 4
17:31:02 <ais523> I think I have some even older computers lying around
17:31:08 <ais523> I've got a computer which used to run windows 3.1
17:31:14 <AnMaster> ais523, I have some old world macs.
17:31:18 <ais523> but both the Windows and the DOS on there have died to bitrot
17:31:23 <ehird> a pentium 3 isn't better than a pentium 4...
17:31:25 <AnMaster> well one pre-PPC
17:31:30 <AnMaster> ehird, it is. in fact.
17:31:36 <ehird> i disagree.
17:31:38 <AnMaster> ehird, consider the pipeline stall
17:31:44 <ehird> that's one aspect.
17:31:44 <AnMaster> see logs from today
17:32:19 <AnMaster> ehird, Pentium 4 also stalls badly at context switch
17:32:38 <AnMaster> just FYI
17:33:08 <impomatic> I have about 40 old computers lying around. Several Z80 computer (z80, amstrad, msx) a few 6502, 6809 machines, one 8085 and others I haven't got a clue about.
17:33:20 <impomatic> I have a Hektor II and a Cray OWS :-)
17:33:29 <AnMaster> oh and stalls a bit at syscall() too, it was worse when linux used interrupts, with 2.6 kernels it uses SYSENTER/SYSEXIT SYSCALL/SYSRET (forgot which is intel and which is amd)
17:33:39 <AnMaster> which stalls less badly on Pentium 4
17:34:03 <AnMaster> impomatic, CRAY! :D
17:34:19 <ais523> this laptop's a celeron M, I have no idea if that's good or bad
17:34:22 <AnMaster> ehird, in any case a P4 uses more power than a P3 too
17:34:31 <AnMaster> and finally
17:34:36 <AnMaster> I don't have a P4
17:34:47 <AnMaster> I did have one years ago. it overheated in the end
17:34:50 <ehird> i had a p4 way back.
17:34:50 <AnMaster> even with a huge fan
17:34:54 <ehird> it sucked!
17:34:59 <AnMaster> yes
17:35:02 <AnMaster> p4 sucks
17:35:05 <ehird> i also had 15 inches.
17:35:07 <ehird> of monitor, that is.
17:35:09 <AnMaster> ...
17:35:12 <AnMaster> afk food
17:35:18 <ehird> AnMaster: all my previous processors sucked too, though.
17:35:23 <ehird> the p4 was a mild improvement.
17:37:01 <ehird> Huh, I knew haskell in 2007.
17:39:08 <impomatic> The Cray isn't a supercomputer, although it's the size of a washing machine, has 12 huge fans and 8 processors.
17:39:21 <ehird> impomatic: However, it CAN execute an infinite loop in 6 seconds.
17:48:11 <GregorR> Sure, but so can your FACE.
17:48:29 <ehird> :'(
17:49:20 <ais523> ehird: 2 seconds according to answers.com
17:49:39 <ehird> no, 6
17:49:43 <ehird> was the original
17:49:59 <ais523> the same search let me find this: http://stackoverflow.com/questions/367571/detecting-infinite-loop-in-brainfuck-program
17:50:14 <ais523> which is interesting, and also contains some really stupid beliefs about infinite loops
17:50:22 <ais523> "EDIT: I do know that the halting problem is unsolvable in general, but I was not sure whether there did not exist special case exceptions. Like, maybe Matlab might function as a Super Turing machine able to determine the halting of the bf program. I might be horribly wrong, but if so, I would like to know exactly how and why."
17:50:43 <ehird> stack overflow is a hilarious cesspool of people with slightly less intelligence than jeff atwood
17:50:57 <ais523> that doesn't mean it can't be interesting, if maybe in a perverse sense
17:51:13 <ehird> "SECOND EDIT: I have written what I purport to be infinite loop detector. It probably misses some edge cases (or less probably, somehow escapes Mr. Turing's clutches), but seems to work for me as of now. In pseudocode form, here it goes:"
17:51:14 <ehird> x_x
17:51:23 <ehird> ais523: Interesting like a freakshow...
17:51:40 <ehird> " Call bfexec recursively with subprog"
17:51:42 <ais523> doesn't that fail on +[>+]?
17:51:43 <ehird> That will never go wrong.
17:51:46 <ehird> ais523: Yes.
17:52:39 <GregorR> Hahaha, that fails spectacularly :P
17:52:49 <GregorR> It'll also call this an infinite loop: +>++<[>]
17:53:07 <ais523> most of the answers are surprisingly sane
17:53:27 <ehird> The worst part is that you can actually have a good crack at a halting detector for BF, allowing for uncertainty for tricksy programs.
17:53:37 <GregorR> The sad part is, there /are/ specific cases where infinite loops are detectable, but this poor sap will never understand the distinction between "general" and "specific" at all :P
17:53:41 <ais523> I'd like to see a usually-right halting oracle for BF
17:53:43 <ehird> GregorR: snap
17:53:51 <ehird> ais523: not usually-right
17:53:59 <ehird> just right-a-good-portion-of-the-time-in-non-tricksy-cases
17:54:18 <ehird> http://research.microsoft.com/en-us/um/cambridge/projects/terminator/
17:55:32 <ais523> I still like the idea of being able to submit a program with an automatically verifiable proof it always halts
17:55:42 <ais523> or always spends a finite time between asking for input
17:55:47 <ais523> or something like taht
17:56:01 <ehird> also, the halting problem is neatly sidestepped by going slightly subturing
17:56:18 <ehird> enough to express most things, but you can only loop forever if given infinite input from the outside environment
17:56:36 <ehird> (if you want to run a program that requires infinite livelihood, pipe something like 'yes' to it)
17:56:43 <ehird> or rather, that'd be optimised out
17:56:46 <ehird> but that's the basic idea
17:57:34 <ehird> ais523: the last answer: "I have created a truly marvelous program to do this, which this textbox is too narrow to contain. "
17:58:55 <ehird> ais523: same user answered with befunge on another question
17:58:59 <ehird> http://stackoverflow.com/questions/62188/stack-overflow-code-golf/
17:59:05 <ehird> using '1' as a befunge stack overflow
18:00:02 <ais523> ?
18:00:12 <ehird> ais523: 1 pushes 1 to the stack
18:00:14 <ehird> then it loops
18:00:14 <ais523> you need to have a very small stack to do that
18:00:17 <ais523> oh
18:00:17 <ehird> so it pushes infinite 1s
18:00:19 <ais523> clever
18:00:20 <ehird> eventually overflowing the stack
18:00:22 <ais523> '1' not '1@;
18:00:25 <ais523> * '1@'
18:01:29 <ais523> that befunge solution is clever, even though it's a different sort of stack
18:01:47 <ais523> shortest stack overflow I can think of in INTERCAL is (1)DO(1)NEXT
18:01:55 <ais523> that beats most of the submissions there
18:02:31 <ehird> ais523: Ruby/Perl `$0`
18:02:41 <ais523> is that, technically speaking, a stack overflow?
18:02:43 <ehird> system stack overflow!
18:02:47 <ais523> it's an ingenious infinite recursion
18:02:50 <ais523> but it's overflowing something else I think
18:02:52 <ehird> ais523: yes, because `` returns a value
18:02:56 <ehird> you could do
18:03:04 <ehird> puts `$0` + " and " + `$0`
18:03:05 <ehird> in ruby
18:03:07 <ais523> yes, but it's a different stack each tiem
18:03:13 <ais523> ah, it's a number-of-stacks overflow
18:03:17 <ais523> a stack stack overflow!
18:03:17 <ehird> ais523: it's the stack of process children
18:03:19 <ais523> yep
18:03:20 <ehird> which is more of a tree
18:03:22 <ehird> but still
18:04:09 <ais523> someone wrote a compile-time soverflow in C++
18:04:11 <ais523> *overflow
18:04:16 <ais523> I don't think it's a stack overflow, though
18:04:20 <ehird> http://stackoverflow.com/questions/62188/stack-overflow-code-golf/63812#63812
18:04:24 <ehird> now _that's_ cool
18:04:25 <ais523> it's a type-complexity-overflow
18:04:55 <ais523> heh, that's ingenious, a non-looping stack overflow
18:05:08 <AnMaster> back
18:06:00 <ehird> grr, the Scheme submissions are stupid
18:06:03 <ehird> they're tailcalls
18:06:18 <ehird> and all Scheme standards mandate TCO
18:07:03 <ehird> irssi:
18:07:05 <ehird> /eval $L
18:07:13 <AnMaster> about infinite recursion. You can detect trivial cases of finite/infinite. In fact compiler do that to optimise better.
18:07:33 <AnMaster> GCC can warn you about loops it can't decide about
18:07:33 <ehird> thanks, we only said that 5 times before you.
18:07:33 <AnMaster> oh right
18:07:49 <AnMaster> ehird, I'm still reading scrollback. My comment memory is rather small
18:07:56 <AnMaster> so I can't wait until I read it all
18:08:02 <ehird> the IRC equivalent of ais523's agora posting
18:08:10 <ehird> except IRC lines are a lot easier to read ahead on..
18:08:58 <ehird> ais523: how do you declare something at the gprolog prompt?
18:09:00 <ehird> I forget
18:09:07 <ais523> use assert
18:09:13 <ais523> you need an extra pair of parens due to precedence
18:09:21 <ais523> but you write assert((head :- body)).
18:09:21 <ehird> uncaught exception: error(existence_error(procedure,assert/1),top_level/0)
18:09:27 <ais523> sorry
18:09:28 <ais523> assertz
18:09:38 <ais523> (or asserta to declare it at the start of the program)
18:10:09 <ehird> | ?- assertz((a(X) :- assertz(X))).
18:10:23 <ais523> did that work?
18:10:27 <ais523> I don't see why it wouldn't have
18:10:33 <ehird> it did
18:10:39 <ehird> ooh, another one small as the befunge one
18:10:40 <ehird> intel 4004
18:10:41 <ehird> CALL $
18:10:44 <ehird> -> ascii , 0101 0000
18:10:49 <ehird> a lot faster too :P
18:10:53 <ehird> http://stackoverflow.com/questions/62188/stack-overflow-code-golf/597372#597372
18:11:13 <ais523> a Prolog stack overflow would be a:-a,b.
18:11:18 <AnMaster> <ais523> a stack stack overflow! <-- possible in Funge-98.
18:11:25 <ais523> although you need to set compiler flags not to error on the undefined command b
18:11:25 <AnMaster> and in a different meaning
18:11:29 <ehird> ais523: or just
18:11:32 <ehird> p:-p
18:11:37 <ais523> that's tail-recursion
18:11:44 <ehird> gprolog doesn't optimize it
18:11:47 <ehird> Fatal Error: global stack overflow (size: 16385 Kb, environment variable used: GLOBALSZ)
18:11:53 <ais523> WOW IT IS RUBBISH
18:11:58 <ehird> LOL
18:12:04 <ais523> how can any prolog interp not optimise tail-recursion?
18:12:06 <ehird> that was unexpected
18:12:06 <AnMaster> if { can't allocate another stack in the stack-stack it is required to reflect though, so it doesn't fail at overflow
18:12:28 <ais523> it's the only general way to do looping in prolog
18:12:37 <ais523> apart from assert/retract in a backtrack loop, which is insanely ugly
18:12:38 <ehird> [ehird:~] % GLOBALSZ=-1 gprolog
18:12:38 <ehird> Fatal Error: global stack overflow (size: 1 Kb, environment variable used: GLOBALSZ)
18:13:00 <ehird> ais523:
18:13:04 <ehird> p :- print(hi), p
18:13:05 <ehird> works
18:13:06 <ehird> just not p :- p
18:13:30 <ehird> wait, no
18:13:32 <ais523> ok, that's even weirder
18:13:33 <ehird> it just takes longer to overflow
18:14:15 <ais523> anyway, gprolog's the only interp for any language I know of, other than OIL which doesn't count, which can crash because it's run out of strings
18:14:30 <ehird> hahahaha
18:14:30 <ais523> I mean, running out of strings is a dubious concept anyway
18:15:28 <AnMaster> ais523, it has a fixed size string pool?
18:15:37 <ais523> yes
18:16:24 <AnMaster> technically current erlang versions can run out of atoms. But the limit is a few millions iirc, and someone said it will most likely go away in the next major release
18:17:03 <AnMaster> + you can change the limit with some obscure command line option iirc
18:17:44 <AnMaster> "The maximum number of atoms is 1048576." (in R12B-5)
18:18:13 <AnMaster> http://www.erlang.org/doc/efficiency_guide/advanced.html#9.2
18:18:19 <ais523> ehird: try running setof(Property,atom_property(Atom,Property),PropertyList). at the gprolog repl
18:18:26 <ais523> and use ; to run through the results
18:18:29 <ehird> ... is that russel's paradox?
18:18:32 <ais523> no
18:18:38 <ais523> it returns the string pool, and data about it
18:18:43 <ehird> ha
18:18:52 <ais523> really amusing is that some of the strings in the pool are filenames on the computers where it was defined or edited
18:18:55 <AnMaster> ais523, that seems strange
18:19:01 <ehird> Atom = '/home/diaz/GP/src/src/BipsPl/dec10io.pl'
18:19:01 <ehird> PropertyList = [needs_quotes,hash(458243),length(39)] ?
18:19:18 <AnMaster> ais523, strange...
18:19:37 <ais523> AnMaster: GNU Prolog is crazily reflective
18:19:54 <ehird> | ?- setof(Property,X,Y).
18:19:54 <ehird> uncaught exception: error(instantiation_error,setof/3)
18:19:56 <AnMaster> yeah
18:19:56 <ehird> o_O
18:20:02 <ais523> even more so than the standard portable version, which is also crazily reflective
18:20:05 <ais523> ehird: why is that o_O?
18:20:10 <ehird> idungeddi
18:20:13 <ehird> t
18:20:21 <ais523> that's "for all commands, run that command and return the set of results"
18:20:31 <AnMaster> ais523, still don't you think running out of atoms is a bit funny?
18:20:36 <ais523> AnMaster: yes I do!
18:20:43 <ehird> 18:20 ais523: that's "for all commands, run that command and return the set of results"
18:20:43 <ehird> so?
18:20:45 <ehird> i tshould do it!
18:21:03 <ehird> would work in my language
18:21:04 <ehird> > x
18:21:06 <ehird> x = 0
18:21:07 <ehird> x = 1
18:21:09 <ehird> (forever)
18:21:13 <ehird> x = {}
18:21:15 <ehird> x = {0}
18:21:17 <ehird> x = {1}
18:21:18 <ehird> (forever)
18:21:20 <ehird> x = {0,0}
18:21:22 <ehird> (etc)
18:21:26 <AnMaster> ..
18:21:27 <ais523> most Prolog interpretations have some restrictions on what they can do
18:21:36 <ais523> insane things are very easy to write in Prolog
18:22:24 <ehird> I'd also have (crash = 1/0)
18:22:29 <ehird> for error reporting. :P
18:22:41 <ais523> surely running all commands would cause an exception before long?
18:22:48 <ehird> ais523: ooh, that's a good idea
18:22:49 <AnMaster> ais523, the reason erlang can run out of atoms currently is that for speed reasons it maps each atom to an integer internally. Type tagged in some way of course.
18:22:53 <ais523> in fact, how did you know it didn't work?
18:22:53 <ehird> then
18:23:00 <ais523> maybe the first command it ran caused an instantiation_error
18:23:07 <ais523> AnMaster: same reason in Prolog
18:23:15 <ais523> except the pool seems smaller
18:23:21 <ehird> isa(crasher(x), _)
18:23:25 <ehird> crasher is all functions
18:23:33 <ehird> although I'm not sure that would be valid code
18:24:03 <ehird> ah, no
18:24:05 <ehird> that'd just define x
18:24:06 <ehird> not crasher
18:24:08 <ais523> eval(_) should work
18:24:14 <ehird> eval(x) would work
18:24:16 <AnMaster> ais523, it also has some lookup table for it. Anyway the limit is too large for any sane program to hit. Oh and atoms are in the current version never removed from said table. Plans are to change that in the future.
18:24:18 <ehird> but it'd just evaluate boring things
18:24:19 <ehird> like ''
18:24:21 <ehird> '\0'
18:24:21 <ehird> etc
18:24:24 <ehird> you'd want
18:24:37 <AnMaster> ais523, that is garbage collect the atom ids.
18:24:39 <ehird> some sort of
18:24:49 <ais523> wow, it seems that Erlang copied some of the deficiencies of Prolog as well as some of its advantages
18:24:56 <ehird> isa(x,string); try(eval(x), 'error')
18:25:05 <AnMaster> ais523, How do you mean?
18:25:05 <ehird> note: cannot distinguish errors from programs outputting 'error' :P
18:26:09 <ehird> http://blog.wolfram.com/2009/03/05/wolframalpha-is-coming/ <- Puh leez.
18:26:13 <AnMaster> ais523, oh and erlang seems more useful in "real world". I mean from what I understood, and I may be wrong, Prolog is a bit like Scheme: both languages are very nice and such, but aren't very easy to use for anything practical.
18:26:19 <AnMaster> at least in a portable way
18:26:34 <ehird> "You've got a Turing complete language and a toy model of complexity. That oracle will practically write itself!" --reddit.
18:26:52 <ehird> scheme is very practical.
18:26:57 -!- olsner has joined.
18:26:58 <ehird> just not for networked applications, or the like.
18:27:15 <ehird> there are plenty of standalone, {file,keyboard}-to-{file,stdout} programs
18:28:05 <ehird> ais523: "We're making early access available to a few select individuals. Contact us for information »"
18:28:05 <Slereah> I will totally write "dong" in it
18:28:11 <ehird> you must apply :P
18:28:17 <AnMaster> um
18:28:21 <AnMaster> what is NKS?
18:28:27 <AnMaster> in that link ehird posted
18:28:35 <ehird> new kind of science, Wolfram's ego in book form.
18:28:44 <AnMaster> ah
18:28:44 <AnMaster> right
18:29:00 <ehird> although the classification book is more generous, let's say "dead tree".
18:29:07 <ehird> s/more/too/
18:29:25 <Slereah> Oh you.
18:31:05 <ehird> http://www.theonion.com/content/node/34168
18:31:24 <AnMaster> <ehird> http://blog.wolfram.com/2009/03/05/wolframalpha-is-coming/ <- Puh leez. <-- so, what do you think about it?
18:31:48 <ehird> AnMaster: Wolfram is pioneering his revolutionary new "Masturbate direct to a web page" technology.
18:32:03 <AnMaster> ehird, cuil fail?
18:32:13 <ehird> Oh, cuil is at least amusing.
18:32:18 <ehird> This will probably just be pathetic.
18:32:21 <AnMaster> ah
18:32:57 <ais523> I actually knew it was coming, but had to keep it a secret
18:33:14 <Slereah> Really, reading about it
18:33:23 <Slereah> It sort of reminds me of EsCo :o
18:33:26 <Slereah> Iunno why
18:33:29 <ehird> ais523: LOL, since when
18:33:33 * impomatic wonders why the corewar subreddit has been banned :-(
18:33:38 <ehird> impomatic: o_O it has?
18:33:39 <ais523> for ages
18:33:44 <Slereah> Let's torture ais523 for more secrets
18:33:53 <ehird> ais523: how could you keep the excitement in you?!
18:34:07 <AnMaster> ais523, how did you know about it?
18:34:18 <AnMaster> Slereah, good idea
18:34:30 <ais523> one of the wolfram people was talking to me and showing it off
18:34:37 <ais523> I even suggested a couple of changes
18:34:40 <Slereah> So... what does it do?
18:34:48 <AnMaster> ais523, does it fail badly?
18:34:48 <ehird> Slereah: it searches KNOWLEDGE ITSELF!!!!!!!1111111
18:34:50 <ais523> read the wolfram blog description
18:34:58 <Slereah> So it's wikipedia?
18:35:01 <ais523> no
18:35:02 <AnMaster> :D
18:35:09 <impomatic> http://www.reddit.com/r/corewar/
18:35:11 <AnMaster> ais523, it actually works?
18:35:16 <ehird> it's like wikipedia but useless!
18:35:21 <AnMaster> ais523, it works well?
18:35:28 <ehird> impomatic: I'd try the feedback
18:35:29 <ais523> it's not really like wikipedia
18:35:34 <ais523> it's more like google calculator + insane
18:35:41 <ehird> + ego
18:35:49 <AnMaster> ais523, so is it fail or not?
18:35:58 <ehird> impomatic: you could start a new one called "raweroc" or something temporarily
18:36:11 <ehird> AnMaster: its failure status is covered by his NDA.
18:36:19 <ais523> why was corewar reddit banned, anyway/
18:36:24 <AnMaster> ehird, he didn't say so
18:36:25 <ehird> that;'s what he's asking
18:36:28 <ehird> AnMaster: it was a joke
18:36:44 <AnMaster> ehird, which line was a joke
18:36:44 <ais523> I didn't actually sign an NDA, it was an informal agreement
18:36:54 <ehird> 18:36 ehird: AnMaster: its failure status is covered by his NDA.
18:36:57 <ais523> but I didn't really see enough to tell much more about it than what's been announced
18:37:07 <impomatic> :-)
18:37:10 <ehird> ais523: with less hyperbole, I assume?
18:37:15 <AnMaster> ehird, ah ok. "It" could have meant one of ais523's comments too
18:38:13 <ehird> ais523: so, is it fail?
18:39:02 <ais523> you'll see
18:39:29 <ehird> you'd think that'd be a vague enough question to answer
18:39:45 * AnMaster agrees with ehird
18:39:49 <ais523> "All one needs to be able to do is to take questions people ask in natural language, and represent them in a precise form that fits into the computations one can do."
18:39:55 <ais523> from the Wolfram blog
18:40:07 <AnMaster> ais523, yes, that implies fail
18:40:12 <ehird> ais523: so it takes mathematica expressions?
18:40:15 <ehird> and EVALUATES THEM?!
18:40:15 <AnMaster> :D
18:40:27 <ais523> ehird: it is certainly capable of doing that
18:40:27 <ehird> holy shiiiiiiii
18:40:32 <AnMaster> wow
18:40:35 <ehird> can it make toast
18:40:39 <ehird> if it can, I'm sold
18:40:47 <AnMaster> will it cost money?
18:40:49 <AnMaster> or be free
18:40:54 <ehird> both
18:41:05 <ais523> no idea about that, they changed the name since I last saw it
18:41:07 <AnMaster> where did it say that?
18:41:13 * AnMaster looks for it in the blog
18:41:14 <ehird> what was it called? AMAZINGWIN?
18:42:14 <ais523> anyway, the biggest clue about what they expect it to be used for is "But if one’s already made knowledge computable, one doesn’t need to do that kind of natural language understanding.", I think
18:42:26 <ais523> or maybe "Pulling all of this together to create a true computational knowledge engine is a very difficult task."
18:42:32 <ehird> what the fuck does that mean
18:42:37 <ehird> it's so vague scigen could have made it
18:42:44 <AnMaster> scigen?
18:42:47 <ehird> http://en.wikipedia.org/wiki/SCIgen
18:43:14 <ais523> "Let’s say we succeed in creating a system that knows a lot, and can figure a lot out." is maybe an even better description
18:43:35 <ehird> ais523: they created strong AI?
18:43:43 <ehird> Enslaved 5 thousand chinese teenagers to answer the queries?
18:43:52 <ais523> nah
18:44:05 <ehird> Wolfram personally answers all input?
18:44:18 <ais523> anyway, they probably had a reason for not telling anyone what the hell it's about, so I'll shut up now
18:44:40 <Slereah> Get the thumbscrews, we'll get the truth out of him!
18:44:59 <ehird> ais523: I'm pretty sure the reason was "Wolfram is a megalomaniac theater director"...
18:44:59 <ais523> either that, or they just have insanely bad marketing
18:45:45 <ais523> yep, a web search about it reveals people saying, "that's too vague, it must just be an appetiser"
18:46:19 <AnMaster> wait
18:46:20 <ehird> http://motls.blogspot.com/2009/03/wolframalpha-central-brain-of-mankind.html
18:46:23 <ehird> "central brain of mankind"
18:46:23 <AnMaster> that sounds like Apple
18:46:23 <ehird> XDDD
18:46:29 <AnMaster> about future products
18:46:30 <AnMaster> vague
18:46:36 <AnMaster> rumors
18:46:43 <ehird> AnMaster: apple are _silent_ about future products, except via rumours
18:46:49 <AnMaster> ehird, ok true
18:46:52 <AnMaster> that is a difference
18:46:53 <ehird> and most often those rumours are ridiculously precise
18:47:05 <AnMaster> ehird, you mean intentionally leaked?
18:47:16 <ehird> possibly :P
18:48:22 <ehird> ais523: one question -- is it actually something new that works?
18:48:26 <ehird> surely that's vague enough to answer...
18:48:40 <ais523> that blog: "Once you'll be able to open www.wolframalpha.com, it will be ready to convert every question of yours, formulated in a natural language, into a well-defined computational format that represents the natural language."
18:48:48 <ehird> it's a NLP?
18:48:58 <ehird> English -> Mathematica...
18:48:59 <ehird> ?
18:49:02 <ais523> and "The Central Brain of Mankind will search all (so far only millions of lines of) possible algorithms, methods, statements, and all (so far only trillions) of curated data that exist on the Internet, combine them and recombine them in all conceivable ways, and answer your question."
18:49:07 <ais523> ok, I think that's clear enough
18:49:20 <ehird> it's clear if you deal in marketing bullshit and vagueities
18:49:28 <ais523> it compiles English into Mathematica, and then combines it with a massive database
18:49:42 <ehird> right, right, nothing special
18:49:48 <ais523> plus a few other miscellaneous things which probably they've dropped by now because they struck me as ridiculous ideas at the time
18:49:50 <AnMaster> wait
18:49:55 <ehird> specifically, the NLP is probably awful
18:49:56 <ais523> but they haven't been mentioned yet so I won't tell
18:49:57 <AnMaster> quantum computer?
18:49:57 <ehird> like terrible awful.
18:50:00 <ais523> AnMaster: no
18:50:04 <AnMaster> "combine in all possible ways"
18:50:19 <AnMaster> surely only a quantum computer could do that for such a large data set
18:50:25 <ehird> are they renting out google's servers? :P
18:51:08 <AnMaster> ehird, the TLA NLP means?
18:51:14 <AnMaster> (in this context)
18:51:24 <ehird> natural language probes.
18:51:28 <ehird> except with a different p
18:51:30 <AnMaster> probes?
18:51:32 <AnMaster> ah
18:51:33 <ehird> which I'm sure you can deduce
18:51:35 <AnMaster> processor?
18:51:37 <ehird> (hint: it's "parsing")
18:51:41 <AnMaster> ah
18:52:22 <AnMaster> wait, if this uses the internet, then the data isn't verified correct is it?
18:52:34 <AnMaster> that is one reason it will fail
18:52:41 <AnMaster> you won't know what is true and what is false
18:53:03 <ais523> I don't know where the dataset comes from
18:53:13 <AnMaster> ais523, btw, how comes you were told about this?
18:53:26 <ehird> he won the prize
18:53:32 <ais523> AnMaster: someone working on it was interviewing me
18:53:32 <ehird> presumably wolfram have spammed him ever since
18:53:35 <ais523> and decided to show it off
18:53:49 <AnMaster> mhm
18:54:00 <AnMaster> ais523, what did you say the name was back then?
18:54:07 <ais523> I didn't
18:54:13 <ais523> and there were at least two possibilities
18:54:17 <ais523> but they didn't choose either
18:54:24 <ais523> besides, does Wolfram's internal codename for something matter/
18:54:29 <AnMaster> would it hurt revealing them?
18:54:34 <ais523> probably
18:54:39 <AnMaster> oh?
18:54:40 <AnMaster> why?
18:54:55 <ehird> he was told not to.
18:54:55 <ais523> because there's no reason anyone should know it, really, and they might have a reason for people not to know it?
18:55:04 <ehird> err, what possible reason?
18:55:06 <AnMaster> mhm ok
18:55:19 <ais523> I don't know of a reason, but I don't specifically know that there isn't
18:55:30 -!- Judofyr_ has joined.
18:55:42 <AnMaster> we could help you find out ;P
18:56:02 <ehird> using wolfram|alpha
18:56:10 <ehird> "WHAT WAS THE CODENAME OF WOLFRAM|ALPHA?"
18:56:12 <ehird> "PARSE ERROR"
18:56:16 <ehird> "**RESET**"
18:56:17 <ehird> ""
18:57:01 <Slereah> :D
18:57:04 <ais523> actually, so ask it that when it does come out, I'd be amused to see the reply
18:57:18 <Slereah> Or "HOW IS BABBY FORMED"
18:57:25 <AnMaster> why in upper case?
18:57:31 <ehird> AnMaster: It's 80s technology!
18:57:39 <ehird> "WHAT SETS DO NOT CONTAIN THEMSELVES?"
18:57:39 <Slereah> Because capslock is cruise control for cool
18:57:42 <ehird> "GO TO HELL"
18:57:44 <AnMaster> ehird, wrong. It's because it is a REAL QUERY LANGUAGE
18:57:47 <ehird> "**RESET**"
18:58:17 <ais523> people typing with caps lock on should do it in lowercase
18:58:29 <ais523> this message and the previous were typed using caps lock
18:58:31 <Slereah> It's the next best thing to knowing how to use a search engine!
18:58:37 <AnMaster> ais523, shift
18:58:43 <ais523> yes, I know, that was obvious
18:59:31 <AnMaster> I think my old mac didn't lower case on shift + caps lock
19:00:02 <AnMaster> it only caused the non-letter keys to change (they were unaffected by caps lock)
19:00:06 <ehird> new macs don't either
19:00:10 <AnMaster> hm ok
19:00:18 <ehird> IT IS QUITE NICE FOR WHEN YOU WANT DOUBLE_POWERED CAPS LOCK
19:00:24 <AnMaster> ehird, why? And I assume apple have a reason to change it?
19:00:27 <AnMaster> err
19:00:34 <AnMaster> have an option to change it*
19:00:48 <ehird> AnMaster: because if you hit the shift key instinctively for new sentences, yOU DON'T LOOK LIKE THIS. sEE?
19:00:50 <AnMaster> (never try writing two different things at once)
19:00:58 <ehird> also, no, it's not an option, it's a rather trivial thing really
19:01:12 <AnMaster> ehird, oh, like there is no option to change font
19:01:20 <ehird> what
19:01:33 <AnMaster> ehird, you can't change font size in Tiger iirc
19:01:42 <AnMaster> or was it typeface you couldn't change
19:01:45 <AnMaster> anyway, one of them
19:01:47 <AnMaster> for menus and such
19:02:05 <ehird> You know, your valid OS criticisms would be listened to more if you didn't say ridiculous vague things that on the mostpart aren't even legitimate criticisms.
19:02:10 <ehird> You do that with Windows too...
19:02:19 <AnMaster> ehird, err see above
19:02:22 <AnMaster> I did clarify
19:02:45 <AnMaster> as far as I remember you can't change either font, or size, in the menus in OS X 10.4
19:02:52 <AnMaster> I may be wrong
19:02:57 <AnMaster> since I don't use OS X often
19:03:03 <AnMaster> and if I am, please tell
19:03:20 <ehird> "the font"
19:03:22 <ehird> so very specific
19:03:30 <AnMaster> ehird, how is it unspecific?
19:03:52 <AnMaster> Change to Helvetica in the Apple Menu using the settings panels in OS X
19:03:53 <AnMaster> how
19:03:55 -!- jix has joined.
19:03:59 <AnMaster> or if it is Helvetica
19:04:02 <AnMaster> change it to Times
19:04:06 <ehird> oh, in the actual system.
19:04:09 <ehird> no, you can't do that.
19:04:14 <AnMaster> ehird, yes menus
19:04:17 <AnMaster> how was it vague
19:04:17 <ehird> well, you can.
19:04:18 <AnMaster> it wasn't
19:04:33 <AnMaster> ehird, not documented with standard tools
19:04:33 <ehird> using tinkertools
19:04:39 <ehird> AnMaster: so?
19:04:44 <ehird> who gives a shit apart from you?
19:05:14 <AnMaster> ehird, some old people can't see very well for example
19:05:19 <AnMaster> they would need larger font
19:05:20 <ehird> you can make fonts bigger.
19:05:32 <AnMaster> ehird, and possibly a clearer type
19:05:34 <AnMaster> typeface*
19:05:41 <ehird> lucida grande is very clear.
19:06:17 <AnMaster> ehird, for example I read recently there are some type faces optimised for people who are dyslectics. I don't think lucida grande is, but I may be wrong
19:06:36 <ehird> if I was dyslexic I'd probably use the speech features
19:06:48 <AnMaster> ehird, sure. But can you get it to read the menus?
19:06:55 <ehird> yes.
19:06:57 <ehird> everything
19:07:10 <ehird> blind people can use OS X just fine
19:07:23 <AnMaster> ehird, What about speech-to-text?
19:07:27 <ehird> yes
19:07:31 <ehird> it does speech recognition
19:07:33 <ehird> I've tested it
19:08:08 <AnMaster> I tried it. "Open Safari." *firefox opens*. "Close window." *system preferences pops up*
19:08:08 <AnMaster> and so on
19:08:15 <AnMaster> + it isn't available in Swedish
19:08:19 <ehird> works for me.
19:08:19 <AnMaster> only in English
19:08:24 <ehird> maybe your voice is unclear.
19:08:42 <AnMaster> ehird, still neither TTS or STT is available in Swedish
19:08:45 <AnMaster> in OS X
19:09:03 <ehird> oh well, swedes are dirty anyway. who cares about them.
19:09:28 <AnMaster> if you are trying to be funny you aren't succeeding
19:09:30 <AnMaster> bbl
19:09:48 <ehird> err, do you realise who you are? i could say that every time you speak :D
19:09:54 -!- Hiato1 has joined.
19:13:06 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
19:13:36 <ehird> i wonder if snobol still exists
19:16:13 -!- Hiato1 has quit ("Leaving.").
19:20:12 <tombom> i love weird languages when people actually use them for real programs
19:20:35 <ehird> like java
19:20:40 <ais523> practical esolanging is always fun
19:20:53 <ais523> tombom: who are you, by the way?
19:20:58 <ais523> I don't think I've seen you here before
19:21:48 <tombom> oh nobody special, i'm new here
19:22:23 <ais523> what are you interested in, esolang-wise?
19:23:04 <fizzie> State-of-the-art text-to-speech in Finnish sounded better than I remembered it doing. (Some EU project people asked our speech group to answer a web-based speech synthesis listener-evaluation thing.)
19:23:13 <tombom> nothing special, i'm not massively into it. it's something interesting to code and i find the concepts pretty clever
19:24:49 <fizzie> Oh, and there was one hilarious section, where they had the speech synthesizer read completely nonsense sentences, because the aim in that part was just to evaluate isolated-word intelligibility, and context would've helped if it were real text. I'd paste some of the examples if they weren't in Finnish.
19:25:07 <ais523> ^ul (aS(:^)S):^
19:25:08 <fungot> (aS(:^)S):^
19:25:33 <ais523> ^ul ((^ul )SaS(:^)S):^
19:25:33 <fungot> ^ul ((^ul )SaS(:^)S):^
19:26:15 <impomatic> :-)
19:27:02 <impomatic> I keep meaning to add keymaker's quine to my underload page
19:28:31 <ais523> Underload is such a good language for quines
19:28:56 <fizzie> A more impolite person might, at this juncture, remark something about that being all it's good for. :p
19:29:12 -!- Hiato has quit (Read error: 110 (Connection timed out)).
19:29:15 <ehird> ^ul ((+ul )SaS(:^)S):^
19:29:15 <fungot> +ul ((+ul )SaS(:^)S):^
19:29:25 <ehird> Dog nabbit
19:29:31 <ehird> Ooh.
19:29:36 <ehird> If ! was the char for two interps
19:29:41 <ehird> then !ul ((!ul )SaS(:^)S):^
19:29:42 <ehird> would be a forkbomb
19:30:06 <ais523> if an interp can handle writing newlines
19:30:12 <ais523> then you could forkbomb even with different chars
19:30:18 <ais523> EgoBot used to be able to output newlines...
19:30:26 <ehird> I miss Egobot. <3
19:30:30 <ehird> GregorR: Psst.
19:31:13 <fizzie> Someone should golf the +ul/^ul loop shorter; I don't think I've seen shorter than
19:31:16 <fizzie> ^ul (^ul )(+ul )(~:SaS~aSaS(:^)S):^
19:31:16 <fungot> +ul (+ul )(^ul )(~:SaS~aSaS(:^)S):^
19:31:28 <ais523> that's the shortest symmetrical one I know
19:31:38 <ais523> asymmetrical can be shorter
19:32:15 <ehird> asymmetrical?
19:32:29 <ais523> as in, one just tells the other to run a cat with its own source code
19:32:35 <fizzie> ^ul (^)(+)(~:S(ul )SaS~aSaS(:^)S):^
19:32:35 <fungot> +ul (+)(^)(~:S(ul )SaS~aSaS(:^)S):^
19:32:44 <fizzie> That seems to have the same amount of chars.
19:32:45 <ais523> ah, clever
19:33:19 <ehird> ^ul (+ul butts)S
19:33:20 <fungot> +ul butts
19:33:26 <ehird> ^ul ((+ul butts)S)^
19:33:26 <fungot> +ul butts
19:33:40 <ehird> ^ul ((+ul )SS):a~^
19:33:40 <fungot> +ul ((+ul )SS)
19:34:02 <ehird> Someone may continue.
19:35:51 <ais523> ^ul ((+ul )Sa(^ul )~*(:^)*a(S)*S):^
19:35:51 <fungot> +ul (^ul ((+ul )Sa(^ul )~*(:^)*a(S)*S):^)S
19:36:04 <ais523> is that shorter?
19:36:07 <ais523> that's an asymmetrical one
19:36:17 <ehird> hoorah
19:36:35 <fizzie> It seems to again have the same amount, heh.
19:37:13 <ehird> Maybe it's the THEORETICAL LIMIT
19:38:22 <ais523> well, there must be a theoretical limit
19:39:08 <ehird> ^ul ((+ul )SS):^
19:39:08 <fungot> +ul (+ul )SS
19:39:13 <ehird> ^ul ((+ul )SaS):^
19:39:14 <fungot> +ul ((+ul )SaS)
19:39:18 <ehird> ^ul ((+ul )SaS(:^)S):^
19:39:19 <fungot> +ul ((+ul )SaS(:^)S):^
19:39:26 <ehird> Almost, almost
19:39:30 <ehird> ^ul ((+ul )SaS(S)S):^
19:39:30 <fungot> +ul ((+ul )SaS(S)S)S
19:39:34 <ais523> you have to get it to prefix with ^ul when the +ul program is run, though
19:39:41 <ais523> so the ^ has to end up somewhere in the result
19:39:47 <ehird> oh, right
19:39:48 <ehird> darn
19:40:11 <fizzie> Yes, about outputting newlines to fork-bomb; underload is very difficult for that, since you can hardly input newlines in IRC.
19:40:31 <ais523> Underlambda will likely have sugar for output-newline
19:41:27 <ehird> ^ul (
19:41:27 <fungot> ...unterminated (!
19:41:28 <ehird> )S
19:41:37 <ehird> Bah, it should keep reading the IRC lines following.
19:41:38 <ais523> ^ul .
19:41:39 <fungot> ...bad insn!
19:41:44 <ais523> ^ul ...bad insn!
19:41:44 <fungot> ...bad insn!
19:41:51 <ehird> kimian
19:41:55 <ais523> Kimian quines FTW
19:42:07 <ehird> ^ul (...bad insn!)S
19:42:07 <fungot> ...bad insn!
19:42:17 <ehird> ^ul ((a)~:^):^
19:42:19 <fungot> ...out of time!
19:42:47 -!- Slereah_ has joined.
19:43:26 -!- impomatic has changed nick to ^ul.
19:43:40 <^ul> Hmmm...
19:43:45 <ehird> ^ul (hi!)S
19:43:45 <fungot> hi!
19:44:19 <fizzie> ^ul (:aSS:^):aSS:^ ...out of stack!
19:44:19 <fungot> (:aSS:^):aSS:^ ...out of stack!
19:44:41 <ehird> :DD
19:44:49 <ehird> beautiful
19:45:15 <fizzie> ^ul (:aSS(:^):^):aSS(:^):^ ...out of time!
19:45:15 <fungot> (:aSS(:^):^):aSS(:^):^ ...out of time!
19:45:27 <fizzie> The sense, it has none.
19:45:40 <ehird> ^ul S
19:45:40 <fungot> ...out of stack!
19:45:46 <ehird> Hmm.
19:45:50 <ehird> Shouldnt' that say underflow?
19:46:29 <ehird> ^ul ^
19:46:29 <fungot> ...out of stack!
19:48:02 <fizzie> Hm.
19:48:04 <fizzie> Yes.
19:48:27 <ehird> ^ul (:S^):S^
19:48:27 <fungot> :S^ ...out of stack!
19:48:44 <ehird> ^ul (::S^)::S^
19:48:44 <fungot> ::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^::S^ ...too much output!
19:48:54 <fizzie> Oh yes, that's the underflow message.
19:48:59 <ehird> ^ul (:::aSS^):::aSS^
19:49:00 <fungot> (:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(:::aSS^):::aSS^(::: ...too much output!
19:49:06 <ehird> ^ul (:::aSS^ ):::aSS^
19:49:06 <fungot> (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ (:::aSS^ ):::aSS^ ...too much output!
19:49:20 <ehird> ^ul (:::aSS^. In case you missed that: ):::aSS^
19:49:21 <fungot> (:::aSS^. In case you missed that: ):::aSS^. In case you missed that: (:::aSS^. In case you missed that: ):::aSS^. In case you missed that: (:::aSS^. In case you missed that: ):::aSS^. In case you missed that: (:::aSS^. In case you missed that: ):::aSS^. In case you missed that: (:::aSS^. In case you missed that: ):::aSS^. ...too much output!
19:49:37 <fizzie> ^ul (foooooo)(~:*~:^):^
19:49:37 <fungot> ...too much stack!
19:49:45 <fizzie> There's the stack overflow message, too.
19:50:16 <ehird> ^ul (butts)(:*S):^
19:50:17 <fungot> :*S:*S
19:50:21 <ehird> ^ul (butts)(*S):^
19:50:21 <fungot> butts*S
19:50:36 <ehird> ^ul (butts)(~*S):^
19:50:36 <fungot> ~*Sbutts
19:50:43 <ehird> ^ul (butts)(~*:S:^):^
19:50:44 <fungot> ~*:S:^butts ...out of stack!
19:51:05 <fizzie> fungot: What exactly do you mean with "butts out of stack"?
19:51:06 <fungot> fizzie: probably chicken or gambit. i think you're supposed to smile and notice i was only joking... also im sure it'll be the best way
19:51:18 <ehird> :D
19:52:11 -!- Slereah has quit (Read error: 110 (Connection timed out)).
19:53:11 -!- Asztal has quit (Remote closed the connection).
19:53:53 -!- Asztal has joined.
19:58:04 <ehird> http://funcall.blogspot.com/2009/03/not-lisp-again.html
19:58:58 -!- Asztal has quit (Remote closed the connection).
19:59:01 -!- Asztal has joined.
20:05:47 <ehird> back in ~1hr
20:08:07 -!- ^ul has quit ("spl #0,0 / mov.i #1,1").
20:11:10 -!- Judofyr_ has changed nick to Judofyr.
20:15:41 <AnMaster> back
20:18:02 -!- ais523 has quit (Remote closed the connection).
20:19:53 <AnMaster> <ais523> Kimian quines FTW <-- ?
20:20:14 <AnMaster> ehird, what are those?
20:25:00 <MizardX> An error message which produces itself when run.
20:31:42 <MizardX> ^ul ( )(*)(~:S:*a~a~*~a*^:Sa~a*~a*^:^):^
20:31:43 <fungot> * ** **** ******** **************** ******************************** **************************************************************** ******************************************************************************************************************************** ************************************************************* ...too much output!
20:33:51 <comex> btw
20:33:53 <comex> http://www.int80h.org/strlen/
20:39:16 <MizardX> ^ul (*)()(a~a*~a*^:S( )S:a~a*~a*^*a~a*~a*^:^):^
20:39:17 <fungot> * * ** *** ***** ******** ************* ********************* ********************************** ******************************************************* ***************************************************************************************** ********************************************************************************* ...too much output!
20:48:03 -!- tombom has quit ("Peace and Protection 4.22.2").
21:07:33 <AnMaster> ah
21:26:42 <AnMaster> comex, modern libc uses highly optimised strlen()
21:27:18 <AnMaster> for example glibc has different very fast optimised ones for i486, i586, i686 and so on
21:27:46 -!- Judofyr has quit (Remote closed the connection).
21:27:50 <AnMaster> scasb isn't fastest on modern x86
21:28:01 <AnMaster> rather a much more complex SIMD using variant is iirc
21:28:08 <comex> o_o
21:28:20 <comex> also, FUCK THIS
21:28:27 <AnMaster> comex, fuck what?
21:28:35 <comex> I just tried to watch an episode of the daily show and it showed me about 5 30-second ads
21:28:47 <AnMaster> huh
21:28:53 <comex> on their website
21:28:54 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
21:28:56 <AnMaster> fast forward?
21:29:00 <comex> you can't
21:29:06 <comex> after the end of one of them, I forgot to unmute in time, so I tried to go back ten seconds
21:29:35 <comex> I accidentally went back before the break, so it gave me a commercial and then I watched the last few seconds of the last part
21:29:48 <comex> after that, it gave me another commercial
21:30:03 <comex> and then I finally got to watch the show
21:30:06 <AnMaster> comex, anyway asm hacks for stuff like strlen, memcpy and so on are stupid on modern systesm
21:30:08 <AnMaster> systems*
21:30:19 <comex> why?
21:30:26 <AnMaster> because the libc includes highly optimised variants
21:30:27 <AnMaster> !
21:30:29 <AnMaster> as I said above
21:30:35 <AnMaster> using libc will be faster!
21:30:36 <comex> doesn't that count as asm hacks :p
21:30:41 <comex> just not ones you make yourself
21:30:43 <AnMaster> comex, not in your code
21:31:05 <comex> mmmm, not enough benefit in inlining? what if you call $function a million times
21:31:16 <AnMaster> comex, also your code will be more portable, you don't need one asm hack for x86, one for PPC and so on.
21:31:22 <AnMaster> as libc provides each
21:31:27 <AnMaster> comex, glad you asked
21:31:42 <AnMaster> comex, gcc has a builtin one anyway that it uses when possible
21:31:59 <AnMaster> so libc one actually only ends up used when you do stuff that needs the function to be called
21:32:03 <AnMaster> like function pointers
21:32:14 <AnMaster> or when you use -O0
21:32:21 <AnMaster> or possible sometimes else
21:32:36 <AnMaster> comex, for constant string literals, gcc will compute length at compile time
21:32:55 <comex> hmm
21:33:50 <AnMaster> comex, http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Other-Builtins.html#Other-Builtins
21:33:56 <AnMaster> that is a LOT of them
21:34:16 <AnMaster> comex, and there are other pages with other categories
21:34:23 <AnMaster> like vector builtins
21:34:29 <comex> also, what are you trying to convince me of
21:34:29 <AnMaster> sync built ins
21:34:31 <AnMaster> and so on
21:34:33 <comex> :p
21:34:49 <AnMaster> comex, that doing stuff like in <comex> http://www.int80h.org/strlen/ is counter productive
21:34:52 <AnMaster> on modern systems
21:35:04 <comex> http://pastie.org/408758
21:35:27 <AnMaster> comex, looks like the one yes
21:35:27 <comex> indeed, quite unlike what that optimizing strlen article says
21:35:30 <AnMaster> for i686
21:35:34 <comex> that's x86_64
21:35:39 <AnMaster> ah right
21:35:44 <AnMaster> and I tell you the glibc one is faster
21:36:00 <AnMaster> for various reasons
21:36:04 <comex> and I believe you, which makes me wonder why doing it manually is faster
21:36:07 <AnMaster> ah yes I should have seen it was x86_64
21:36:11 <AnMaster> had I read it properly
21:36:18 * AnMaster sees rax now
21:37:05 <AnMaster> comex, in any case gcc uses a builtin when it deems it better
21:37:12 <AnMaster> which mean code is inlined
21:37:21 <AnMaster> other compilers do it too
21:37:25 <AnMaster> like icc and so on
21:37:32 <comex> AnMaster: so is there any builtin for "scan forever for a certain character"
21:37:44 <comex> no, I mean manually as in asm stuff versus scasb
21:37:46 <AnMaster> http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Other-Builtins.html#Other-Builtins
21:37:51 <AnMaster> The ISO C90 functions abort, abs, acos, asin, atan2, atan, calloc, ceil, cosh, cos, exit, exp, fabs, floor, fmod, fprintf, fputs, frexp, fscanf, isalnum, isalpha, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, tolower, toupper, labs, ldexp, log10, log, malloc, memchr, memcmp, memcpy, memset, modf, pow, printf, putchar, puts, scanf, sinh, sin, snprintf, sprintf, sqrt,
21:37:51 <AnMaster> sscanf, strcat, strchr, strcmp, strcpy, strcspn, strlen, strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, tanh, tan, vfprintf, vprintf and vsprintf are all recognized as built-in functions unless -fno-builtin is specified (or -fno-builtin-function is specified for an individual function). All of these functions have corresponding versions prefixed with __builtin_.
21:37:55 <AnMaster> that lists strchr
21:37:59 <AnMaster> which I assume is what you want
21:38:03 <comex> no, it's not
21:38:07 <comex> I don't want to stop at a null byte
21:38:22 <comex> though I suspect the speed difference is negligible
21:38:34 <AnMaster> comex, hm. memchr with size set to max pointer - start address :P
21:38:47 <comex> AnMaster: if you saw the discussion yesterday, memchr was slower than strchr
21:38:52 <comex> with gcc -O3
21:39:53 <AnMaster> comex, how did the generated asm differ?
21:39:54 <comex> sometime I intend to look at gcc's internals
21:39:56 <comex> they must be crazy
21:39:58 <AnMaster> that caused it
21:39:58 <comex> AnMaster: didn't look :p
21:40:01 <AnMaster> hm ok
21:40:05 <AnMaster> comex, then it is hard to know why
21:40:43 <AnMaster> comex, also how much slower?
21:40:46 <AnMaster> did it matter?
21:41:21 <AnMaster> comex, glibc has rawmemchr... not portable
21:41:32 <AnMaster> and not a builtin
21:41:55 <comex> about 10ms :u
21:41:56 -!- atrapado has joined.
21:41:57 <comex> maybe 20
21:42:17 <AnMaster> mhm
21:42:24 <AnMaster> comex, for how many calls?
21:42:31 <AnMaster> also rawmemchr if you don't need portable
21:42:36 <comex> about, uh, a few million or so :u
21:42:41 <comex> I think
21:42:46 <comex> also not a builtin
21:43:03 <AnMaster> comex, that doesn't prevent inline sometimes...
21:43:18 <AnMaster> comex, some stuff expand to macros
21:43:27 <AnMaster> in *certain cases*
21:43:34 <AnMaster> comex, glibc headers are pretty insane
21:43:52 <AnMaster> as for gcc internals... Ask ais
21:43:54 <AnMaster> he worked on them
21:44:01 <AnMaster> when me made gcc-bf
21:44:17 <comex> uh, I'm scared
21:44:23 <comex> and for all this icc is still faster :u
21:44:40 <AnMaster> comex, not on my AMD CPU
21:44:53 <AnMaster> comex, btw I see one very very stupid thing on http://www.int80h.org/strlen/
21:44:58 <AnMaster> subecx, ecx; ECX = 0
21:45:03 <AnMaster> that is very stupid
21:45:13 <AnMaster> everyone knows xor is the fastest way to zero a register on x86
21:45:24 <AnMaster> xor it with itself
21:45:40 <AnMaster> that is even specially optimised in some x86 cpus
21:45:54 <AnMaster> sub with itself is slower
21:46:11 <AnMaster> at least in some cases
21:46:13 <AnMaster> iirc
21:48:07 <comex> hey, even I knew to notice that :p
21:48:31 <comex> though I still don't know shit about x86 and it seems to me that there's a lot more shit than, say, ARM
21:48:33 <comex> :u
21:48:49 <comex> yeah, I know, not risc
21:48:58 <AnMaster> comex, so I wouldn't trust that page too much. But it looks similar to the glibc implementation for i386...
21:49:22 <comex> AnMaster: why does x86 use push and pop so much anyway?
21:49:24 <AnMaster> comex, actually modern x86 are RISC on the inside. They run CISC in microcode...
21:49:40 <AnMaster> comex, register starved. x86 doesn't have a lot of registers
21:49:41 <comex> thought I read somewhere that that used to be true but not so much anymore
21:49:48 <comex> AnMaster: why?
21:50:19 <comex> is there a reason?
21:50:22 <AnMaster> comex, iirc: 1) making register memory is expensive 2) the original 8086 and even some later models were made to be cheap
21:50:32 <AnMaster> x86_64 double the register count after all
21:50:49 <AnMaster> oh and you can't add more registers as you go without breaking existing stuff
21:50:58 <AnMaster> due to the changes needed
21:51:16 <comex> you mean like x86_64 did :p
21:51:16 <AnMaster> well, not add general purpose ones that is
21:51:33 <AnMaster> comex, yes it did as I said above. But it did break everything else too by going 64-bit
21:51:38 <comex> why can't arguments be passed in r8-r15 now :u
21:51:46 <AnMaster> what?
21:51:59 <AnMaster> I don't remember x86_64 calling convention on the top of my head...
21:52:29 <AnMaster> I do know some asm, but I'm far from an expert. I prefer high level stuff. Like Scheme.
21:52:40 <lament> scheme is pretty low-level
21:52:47 <lament> car? cdr? wtf is this bullshit.
21:52:47 <AnMaster> lament, compared to?
21:53:06 <lament> AnMaster: compared to modern high-level languages like C#.
21:53:29 <AnMaster> lament, car? well the modern world are based on those :P
21:53:41 * AnMaster ducks
21:54:15 <AnMaster> anyway I know enough asm and quite a bit of C. And modern glibc uses very optimised routines for stuff like memcpy, strlen, strcpy and so on
21:55:04 <comex> also, backwards syntax is annoying
21:55:09 <comex> mov source, dest
21:55:10 <comex> fuck that
21:55:12 <comex> :u
21:55:28 <comex> (in the sense that 'mov source, dest' is backwards.)
21:55:47 <AnMaster> comex, I prefer AT&T syntax
21:56:09 <AnMaster> mostly I deal with asm as it shows up from objdump
21:56:13 <AnMaster> or gcc
21:56:17 <AnMaster> I don't code much in asm
21:56:20 <AnMaster> why would I
21:56:29 <AnMaster> compilers tend to do a great job a lot of the time
21:56:33 <comex> what can I use to assemble x64 anyway
21:56:45 <AnMaster> comex, well, there is gas
21:56:47 <comex> oh, I guess nasm supports it now
21:56:48 <AnMaster> the GNU asm
21:56:54 <AnMaster> comex, there is yasm
21:56:57 <AnMaster> and finally nasm
21:57:02 <AnMaster> but gas is best certainly
21:57:03 <comex> ...for a year and a half
21:57:07 <AnMaster> I mean it is a nice syntax
21:57:15 <AnMaster> compared to the horrible intel syntax
21:57:24 <AnMaster> comex, ^
21:58:18 <jix> i prefer the intel syntax
21:58:45 <jix> it's closer to the arm syntax.. which was the first assembly language i really used
21:59:28 <jix> but for x86 the at&t syntax is easier to handle by automated tools
21:59:35 <jix> because it's more verbose
21:59:48 <jix> but for coding in it it's too verbose imho
22:01:04 <AnMaster> comex, I checked other stuff on http://www.int80h.org... the site is utter bullshit in many places.
22:01:10 <AnMaster> I would recommend not using it
22:01:54 <AnMaster> it seems to suggest a syscall convention where you push arguments rather than fill them in the registers is "faster".
22:01:58 <AnMaster> which is utter bullshit
22:02:32 <oklopol> no justification for it?
22:03:38 <AnMaster> oklopol, well it suggests it on freebsd, so I guess it talks about linux emulation layer. But really, use some macro or wrapper to use whatever the system prefers
22:03:52 <AnMaster> for example linux doesn't use interrupt for system calls nowdays
22:03:53 <AnMaster> at all
22:03:58 <AnMaster> nor does freebsd afaik
22:04:20 <AnMaster> on recent x86 they both use SYSCALL/SYSRET or SYSENTER/SYSEXIT
22:04:29 <AnMaster> one of those pairs is for intel, the other for amd
22:04:33 <AnMaster> forgot which was which
22:08:32 <AnMaster> in any case at least the linux kernel injects this with a fake dynamic library on x86
22:08:48 <AnMaster> it decides at boot if it should use the intel one or the amd one
22:09:06 <AnMaster> libc then calls this for system calls
22:09:08 <AnMaster> very fast
22:13:17 -!- jix has quit ("...").
22:29:16 <fizzie> The AMD64 ABI calling convetion does use some of the extra registers for argument-passing; namely it does rdi, rsi, rdx, rcx, r8 and r9 for integer and pointer arguments. More than six function parameters is probably rather rare anyway.
22:31:16 <AnMaster> fizzie, it seems useful if the other ones were kept for local scratch I guess
22:31:29 <AnMaster> and more than 6 does happen, but the norm is fewer
22:31:43 <AnMaster> fizzie, also iirc it passes some other stuff in registers too
22:31:50 <AnMaster> according to an elaborate schem
22:31:52 <AnMaster> scheme*
22:42:03 -!- atrapado has quit ("Abandonando").
23:14:52 <ehird> 21:34 AnMaster: comex, that doing stuff like in <comex> http://www.int80h.org/strlen/ is counter productive
23:14:57 <ehird> get it in your head
23:15:00 <ehird> THIS IS #ESOTERIC
23:31:45 -!- olsner has quit ("Leaving").
23:39:04 <ehird> Had to powercycle my machine there; it decided putting the fans on full was an excellent idea.
23:39:10 <ehird> It does that once in a while, I wonder why?
23:39:46 <ehird> 23:33:08 <lament> http://filebin.ca/qyxpp/ofortuna.mp3
23:39:49 <ehird> i like it
23:48:27 <kerlo> My dad is asking me to model a ball of gas in a vacuum held together by gravity at equilibrium.
23:48:48 <ehird> Tell him to fuck off. Or, you know, do it.
23:50:30 <kerlo> But eh.
23:53:23 <ehird> Why does he want you to
23:55:11 <lament> ehird: yay, constructive feedback <3
23:55:35 <ehird> 23:55 JuanDaugherty: brainfuck is offensive ... as a waste of time and resources
23:55:38 <ehird> --#haskell
23:57:26 <lament> he's on #squeak, #lisp, and #haskell, and he's talking about waste of time and resources?
23:57:32 <lament> pot. kettle.
23:57:53 <ehird> 23:57 JuanDaugherty: I didn't say I had a right not to be offended, just that I find it offensive as a concept and a reality
23:58:10 <ehird> 23:58 JuanDaugherty: it's to computing like bleeding is to medicine
23:58:23 <ehird> so ridiculous so funny :DD
2009-03-06
00:06:13 <oklopol> i don't get it
00:06:20 <ehird> 00:05 ImInYourMonad: data Pointer x = Cell x (Pointer x) | End x deriving(Show) , that is a a tree, bad rep of a pointer?
00:06:26 <ehird> i hate newbies making BF interps badly,.
00:09:10 <ehird> 00:09 ImInYourMonad: Gracenotes: ok i had 2 questions in one, 1. should i use Parsec? 2. if i dont, how cna i use < and > for my own purpose?
00:09:18 <ehird> does he know how to write an interpreter?
00:09:27 <lament> he doesn't know much at all.
00:09:37 <ehird> lament: ah, is he an idiot?
00:09:43 <lament> no, he's just new
00:09:44 <ehird> I got that impression, wasn't sure.
00:09:49 <ehird> same thing.
00:15:26 <oklopol> he's in my monad
00:17:53 <lament> perv
00:19:45 <ehird> 00:18 tromp_: from 9th instruction on, there's no more appending to the data?
00:19:50 <ehird> about http://esolangs.org/wiki/BCT#Example
00:19:52 <ehird> is he right
00:19:53 <ehird> ?
00:22:51 <ehird> "The Software was not designed to operate after December 31, 1999" - dmd backendlicense.txt
00:34:47 -!- BeholdMyGlory has quit (Remote closed the connection).
00:36:51 <Robdgreat> lament: kudos on your... creation
00:44:32 <ehird> Robdgreat: Try "abomination"
00:46:07 <Robdgreat> I was being kind
00:46:27 <Robdgreat> not to mention I have a special appreciation for such musical novelties
00:46:45 <ehird> abomination is a good thing
00:47:15 <Robdgreat> fair enough
00:48:39 <lament> you guys suck
00:48:49 <ehird> lament: what, I like it
00:51:37 <Robdgreat> hey I like it too
00:58:18 -!- FireFly has quit ("Later").
01:02:41 <oklopol> err that ofortuna thing?
01:03:10 <ehird> yes
01:03:14 <oklopol> i see.
01:03:34 <ehird> it's only funny if you know what o fortuna is i guess :P
01:06:50 <oklopol> i see. so what is it?
01:07:29 <ehird> oklopol: http://upload.wikimedia.org/wikipedia/en/4/4e/Carl_Orff-Carmina_Burana-O_Fortuna.ogg
01:07:58 <lament> how is it funny?
01:07:59 <oklopol> err yeah i know it's that thing
01:08:15 <ehird> lament: I'm pretty sure gregorr was joking when he came up with it
01:08:16 <ehird> ...
01:08:18 <oklopol> i just assumed it was something else too because... it's not that funny :P
01:08:27 <lament> ehird: i'm pretty sure he wasn't
01:08:39 <ehird> lament: GregorR never doesn't joke.
01:08:40 <lament> oklopol: i'm not sure why it would be funny
01:08:53 <oklopol> lament: you're wrong.
01:48:25 <ehird> 06:07:39 <AnMaster> hm, fast integer square root in C... anyone knows anything good?
01:48:27 <ehird> The quake one.
01:48:33 <ehird> Fast invert square root I think it is called.
02:05:19 -!- CakeProphet has joined.
02:48:42 <GregorR> I wasn't joking.
02:48:45 <GregorR> I do think it would be good.
02:49:06 <GregorR> Although (re: lament) I was thinking more about swing-like lounge (e.g. Sinatra-style), but yeah.
02:50:41 <GregorR> Or rather, I was joking in that it would obviously be a parody, but I think it would be a good parody :P
03:14:43 -!- Sgeo has joined.
03:28:50 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
03:33:51 -!- GreaseMonkey has joined.
03:41:50 -!- bsmntbombdood has joined.
04:36:40 -!- Slereah has joined.
04:48:35 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
05:05:21 -!- zzo38 has joined.
05:06:32 <zzo38> -1 interleave 0 makes -2/3 is that correct
05:08:21 <zzo38> I made a unlambda compiler into JavaScript http://zzo38computer.cjb.net/esoteric/unlambda/unlambda/htm but probably some thing are missing, such as continuations called from the outside?
05:08:46 <lament> that's pretty important
05:09:36 <zzo38> Yes I know that, but I'm wondering how that is supposed to be implemented.
05:10:13 <zzo38> You look at the source-codes and see what you think about that! I tried to make it compatible with many JavaScript interpreters, instead of only modern versions of Mozilla or such thing as that
05:10:18 <lament> GregorR: oh, that sort of lounge
05:13:36 <zzo38> Please tell me if you found anything else missing in the Unlambda compiler into JavaScript
05:14:12 <zzo38> Oops the URL is wrong it is supposed to be http://zzo38computer.cjb.net/esoteric/unlambda/unlambda.htm
05:23:21 -!- poiuy_qwert has joined.
05:29:02 <zzo38> Oops the URL is wrong it is supposed to be http://zzo38computer.cjb.net/esoteric/unlambda/unlambda.htm
05:29:58 <zzo38> Which you like better Forth or Lisp?
05:31:35 <zzo38> How can I make a continuation called from the outside to be compiled into a Javascript codes
05:31:46 <zzo38> What is the best way
05:37:53 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)).
05:43:02 -!- poiuy_qwert has quit.
07:34:14 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:44:35 -!- impomatic has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:43 -!- impomatic has quit ("mov.i #1,1").
08:25:25 -!- GreaseMonkey has quit ("Client Excited").
08:32:52 -!- tombom has joined.
09:19:57 -!- BeholdMyGlory has joined.
09:41:26 <fizzie> Relative amount of chatter caused by the noisiest people, at any particular time-of-day (in Finland's timezone, EET/EEST) over the years 2006-2008: http://zem.fi/~fis/test5.png (test6.png for absolute values).
09:46:50 <fizzie> What is interesting is that for most people there's a definite time when they're not talking much (presumably sleeping), but oklopol and oerjan never sleep.
09:47:06 <fizzie> Conclusive proof of their roboticness? You decide.
09:48:43 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:52:24 <oklopol> ;)
09:52:49 <oklopol> so
09:52:59 <oklopol> why are the stripes in a different order from the nicks
09:53:57 -!- Slereah has joined.
09:54:23 <fizzie> For reasons of cosmic importance.
09:54:37 <oklopol> also you could have the overall shape be how much talk actually happened.
09:54:47 <fizzie> That's the test6.png.
09:54:51 <oklopol> you would probably see me and oerjan are just relatively awake.
09:55:01 <fizzie> It's not as good a conclusion.
09:55:06 <oklopol> right great minds
09:55:46 <oklopol> it seems this time is exactly where i need improvement
09:55:55 <oklopol> so i will now flood for 20 minutes straight
09:56:09 <oklopol> no actually i think i'm gonna buy me something nice ->
09:58:22 <fizzie> Also test7 is actually test5 but with a 30-minute hamming window instead of a 30-minute rectangular window for the activity-estimation.
10:04:19 -!- Slereah_ has joined.
10:09:44 <oklopol> is the newest xkcd crappy too?
10:10:24 <oklopol> i have a hard time telling, once i learn to love the characters, anything goes
10:13:04 -!- Slereah has quit (Read error: 110 (Connection timed out)).
10:13:27 <tombom> xkcd is always terribler
10:14:50 <oklopol> your nick is tasty
10:14:58 <tombom> what
10:15:37 <oklopol> hello i'm oklopol i say things that make no sense.
10:16:56 <oklopol> fizzie: could you somehow make test6 show me and oerjan not ever sleeping too?
10:17:08 <oklopol> also i guess i could've used a "never" back there
10:17:33 <fizzie> oklopol: The day before yesterday a speech synthesizer said to me: <span xml:lang="fi">muskottikukan masennus juustouttaa enteellisesti pikkuisilta</span>.
10:18:02 <oklopol> that's a beautiful sentence
10:18:24 <oklopol> especially "muskottikukan masennus"
10:18:35 <fizzie> oklopol: It continued with: <span xml:lang="fi">Nahistivatko keihäänheittäjät muistioiden tavoin lamatilaa? Ennakkotilausten virkapaikat läiskäyttelevät lupsakkaasti geofysikaalisilta.</span>
10:19:48 <oklopol> "läiskäyttelevät lupsakkaasti", awesome :D
10:20:17 <oklopol> lacks some integrity when you combine them tho, although i've seen worse
10:20:20 <fizzie> Supposedly the content was some random nonsense, but maybe there was a personality of some sort involved somewhere.
10:20:55 <oklopol> anyway turns out "rektio" isn't "rection" in english, but "case government", at least according to this one online dictionary
10:21:09 <oklopol> this is not good because i had a great erection pun.
10:21:41 <oklopol> also random content generated by what, where?
10:22:17 <oklopol> i mean that's apart from the "case government" errors, that's pretty perfect.
10:23:10 <fizzie> I don't know what generated it; it was just a speech synthesis evaluation test I was asked to listen to and fill.
10:23:32 <oklopol> well was it good?
10:24:03 <fizzie> It was better than what I thought it would be, but not very natural.
10:24:20 <fizzie> I think I kept one of those files at http://www.cis.hut.fi/htkallas/mp3.mp3
10:24:39 <fizzie> (Since someone on another channel said "mp3s or did not happen".)
10:24:52 <oklopol> hmm
10:25:20 <oklopol> well the voice sounds pretty natural, just not the... whaddyacallit :)
10:26:16 <fizzie> It's some sort of HMM-based synthesis, where they use the speech recognition speaker adaptation stuff to mangle things so that you can feed it speech, and then the synthesized output will sound like the same person.
10:26:20 <oklopol> i think the main problem is all words are stressed pretty much equally
10:26:30 <oklopol> yeah i assumed
10:26:56 <oklopol> because that sounds like sampled clips from a real human
10:27:08 <fizzie> Well, as far as I know it's actually not.
10:27:14 <oklopol> except it is still very close to the canonical computer voice
10:27:25 <oklopol> so that's would be a clue to the other direction
10:27:57 <oklopol> fizzie: maybe it's recorded clips from a commercial speech synhesizer?
10:28:03 <oklopol> *synthesizer
10:28:57 <oklopol> also i guess i forgot completely about the shop.
10:29:07 <fizzie> It shouldn't be concatenative synthesis (i.e. recorded clips) at all. At least in the strict sense of recorded waveforms. Certainly it's based on speech that a real person has spoken, though.
10:29:29 <fizzie> I don't know the details, it's not my project. I think the web-evaluation was part of the http://www.emime.org/ project.
10:29:50 <fizzie> Given that their goal is "personalised speech-to-speech translation, such that the a user’s spoken input in one language
10:30:00 <fizzie> is used to produce spoken output in another language, while continuing to sound like the user’s voice", at least they don't aim low.
10:30:10 <oklopol> ha
10:30:11 <oklopol> :D
10:30:45 <oklopol> could be useful in a movie where bond needs to know armenian.
10:31:24 <oklopol> anyway the shop, which i guess would be mcdonalds in this case ->
10:35:44 -!- BeholdMyGlory has quit (Remote closed the connection).
11:49:50 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
11:57:35 <kerlo> So, regarding xkcd.
11:57:54 <kerlo> If lack of correlation implies lack of causation, then correlation implies causation.
11:58:11 <kerlo> Where "implies" means "suggests" more than "logically requires".
11:58:44 -!- Jophish has joined.
12:01:26 <oklopol> yeah that's not true
12:01:47 <oklopol> at least not in any real sense
12:07:29 -!- jix has joined.
12:24:07 -!- oerjan has joined.
12:25:47 <oerjan> <fizzie> But I'm surprised that the glagolitic capital letter spidery ha was free-for-taking at ..ws. Would have thought someone had already used it.
12:26:02 <oerjan> O_o
12:33:39 <oerjan> <fizzie> What is interesting is that for most people there's a definite time when they're not talking much (presumably sleeping), but oklopol and oerjan never sleep.
12:33:44 * oerjan cackles evilly
12:33:54 <oklopol> bots don't cackle.
12:34:04 <oerjan> true that.
12:34:07 * oklopol goes back to sleep
12:37:21 <oerjan> also, tusho = ehird
12:38:23 <fizzie> Well, yes, but a silly Perl script can't be expected to know that sort of stuff.
12:39:20 <oerjan> also, the colors on the graph and on the descriptions don't match
12:40:01 <oerjan> hm oklopol already implied that
12:40:32 <fizzie> Sure they do, they're just in a different-ish order. Namely, reversed.
12:41:12 <oerjan> except "Others"
12:41:15 <oklopol> yeah, it's an iq test to know whether the colors or the nicks are out of order
12:41:43 <oerjan> i assume Others is really at the bottom :D
12:41:58 <fizzie> If you must know, the ordering is such that all "others" go to an array index 0, while array indices 1..N correspond to the top-N noisiest people, with index 1 being the noisiest; then I draw indices 0..N from bottom to top, but the nick-list in the "sensible order" for indices 1..N, and then 'Others' separately just so that it doesn't look like a nickname.
12:42:53 <oerjan> but should i trust the colors or the order?
12:42:58 <fizzie> The colors.
12:43:00 <fizzie> Trust the colors.
12:43:00 <oklopol> colors
12:43:07 <oklopol> you know, the colors.
12:43:16 <oklopol> trust them
12:43:57 <fizzie> Green is not an enemy, like a well-known Windows media-player vizualization name says. Or something like that, anyway; I just remember the Finnish translation.
12:44:12 <fizzie> ("Vihreä ei ole vihollinen.")
12:46:14 <oerjan> actually the absolute graph shows that oklopol and i are not really constant, we just are in phase with the channel.
12:46:55 <oerjan> but then so is everyone to a degree
12:47:12 <fizzie> Since it seems to have confused a lot of people, I just flipped the nickname ordering to match the colors. (Unfortunately at the same time I got the more curvaceous hamming-windowed graphs there.)
12:48:51 <oerjan> of course evil rumors will claim that we still have completely messed up sleeping rhythms.
12:49:26 <pikhq> Hmm. I, myself, prefer not sleeping.
12:49:30 <pikhq> ;p
12:50:48 <oerjan> pikhq: wait a minute, by the graph you are not supposed to be here now
12:50:50 <fizzie> While at it, I special-cased ehird and tusho together, so they passed anmaster and achieved the coveted red graph-color.
12:51:35 <oerjan> which gave bsmntbombdood a slot, i see
12:51:51 <fizzie> Yes, and his shape is rather different from the others.
12:51:53 <pikhq> I screw things up by talking at truly random times.
12:52:01 <fizzie> Well, unless you count "Others".
12:52:34 <oerjan> i say we ban that "Others" guy for constantly spamming
12:52:51 <pikhq> I concur.
12:54:28 <pikhq> Hmm. Your script was set up based on who talked most in here? Nice work...
12:56:18 <pikhq> Also, I'm surprised to see that I still register on that... I've not exactly talked that much in here recently.
12:56:39 <oerjan> it's 2006-2008
12:56:45 <pikhq> Ah.
12:57:03 <pikhq> Well, then.
12:57:26 <fizzie> If you want some raw underlying numbers, http://zem.fi/~fis/test5.txt has the total-number-of-lines-in-my-2006-2008-logs.
12:57:55 <fizzie> You can just take #9 and largers ranks to know who to ban to get rid of that annoying "Others" guy.
12:58:26 * pikhq gleefuly bans GregorR.
12:58:57 <pikhq> Fizzie, too.
12:59:09 <oerjan> <oklopol> this is not good because i had a great erection pun.
12:59:18 <pikhq> Wow.
12:59:24 <oerjan> finns are not allowed to do that, only japanese
13:00:08 <oerjan> pikhq: are you shocked and disturbed?
13:00:11 * pikhq goes to consume breakfast, for he has stayed up for it
13:03:12 <AnMaster> <fizzie> While at it, I special-cased ehird and tusho together, so they passed anmaster and achieved the coveted red graph-color. <-- ?
13:03:14 <AnMaster> context?
13:03:30 <AnMaster> <ehird> 21:34 AnMaster: comex, that doing stuff like in <comex> http://www.int80h.org/strlen/ is counter productive
13:03:30 <AnMaster> <ehird> get it in your head
13:03:30 <AnMaster> <ehird> THIS IS #ESOTERIC <-- sure
13:03:42 <AnMaster> but he seemed to actually want to optimise
13:04:00 <fizzie> AnMaster: Context was http://zem.fi/~fis/test5.png
13:04:23 <AnMaster> hm
13:04:36 <AnMaster> fizzie, so you combined ehird/tusho. Ok
13:04:47 <AnMaster> but what has that got to do with me
13:04:59 <AnMaster> + that graph is cool
13:05:12 <fizzie> You used to have the red color; since the nick-list is sorted by the total number of lines seen in the analyzed logs.
13:05:25 <AnMaster> fizzie, the scale 0-24: what does it mean?
13:05:41 <fizzie> Hours; it's a time-of-day thing. Hours in EET/EEST, specifically.
13:06:02 <AnMaster> fizzie, this is average over day during a period of x months?
13:06:24 <fizzie> During the years 2006-2008, yes.
13:06:27 <AnMaster> right
13:06:45 <fizzie> Well, sum, not average, but it's about the same thing since I still haven't added any Y axis scale in there.
13:06:50 <AnMaster> makes sense then. Was wondering why some of us were a lot quieter during some months first.
13:06:51 <AnMaster> ;)
13:07:26 <AnMaster> fizzie, what about you, you are in "others"?
13:07:38 <oerjan> it's a well known fact that we nordics hibernate during winter.
13:07:59 <oerjan> AnMaster: no, his data were removed for security
13:08:11 <AnMaster> oerjan, the scale was 0-24, that would imply a 2 year period. and there was only one such point with less activity
13:08:19 <AnMaster> so that wouldn't make a lot of sense
13:08:21 <fizzie> Actually I'm deep down in the others, #17; that's in test5.txt at the same directory.
13:08:41 <oerjan> ah but one of the winters was particularly hot
13:08:56 <oerjan> global warming destroying our traditions!
13:09:06 <AnMaster> fizzie, hm bsmnt would have the largest line count?
13:09:13 <AnMaster> or how do you mean it is sorted?
13:09:32 <AnMaster> oerjan, oh right
13:10:03 <fizzie> Well, the colored strips are drawn from bottom-to-top, so I had to flip the nick list ordering from the natural one to match that. So ehird talks the most, you're second, and so on.
13:10:09 <AnMaster> hm
13:10:28 <AnMaster> it looks like oklopol have about same activity all the time?
13:10:44 <fizzie> Yes, I made a half-hearted joke-attempt about that (and oerjan) already.
13:10:58 <fizzie> There's also test6.png which has the absolute counts, not relative, if you want to see the actual shape of combined activity.
13:11:22 <AnMaster> hm
13:11:26 <oklopol> seems my uni career is starting a steep downhill slope.
13:11:34 <oklopol> i almost failed another course today :|
13:11:35 <fizzie> That test5 is more of a "relative percentage of all channel activity at that time of day" thing.
13:11:52 <fizzie> oklopol: Another of your "almost didn't get a 5" failures?
13:11:59 <oklopol> yes :<
13:12:42 <oklopol> i mean i got an email this morning that it was 4/5 because i had explained simulated annealing vaguely, which is a given, because it's a trivial concept.
13:13:08 <oklopol> then, later, i got another email saying he reread it and decided it was a 5/5
13:13:20 -!- Slereah has joined.
13:13:22 <oklopol> but it was a close call
13:13:30 <AnMaster> hah
13:13:40 <oklopol> it's a slippery slope
13:14:00 <AnMaster> oklopol, I don't know how your system works in Finland, but what is the lowest score for passed?
13:14:17 <oklopol> 40%-50%
13:14:28 <oklopol> i think that's a pretty standard university scale
13:15:01 <oklopol> the score above passing is then interpolated onto 1-5
13:15:11 <oklopol> in our system
13:15:45 <AnMaster> wth
13:15:49 <AnMaster> my mouse gone mad
13:16:04 <oklopol> come sane mousie!
13:16:04 <AnMaster> at some locations at the table it wiggles on screen
13:16:16 <AnMaster> as in, move 1-2 pixels up/down randomly
13:16:23 <oklopol> sometimes my mouse does the craziest things
13:16:26 <AnMaster> even though I'm not touching it
13:16:32 <oklopol> then i realize my left thumb is on the pad
13:16:34 <AnMaster> at other positions on the table it works fine
13:16:40 <AnMaster> oklopol, I don't use a laptop
13:16:43 <AnMaster> so not likely
13:16:47 <oklopol> neither does my mom
13:16:49 <AnMaster> no touchpad here
13:16:50 <oklopol> no wait, she does
13:16:58 <fizzie> Here's the total channel-activity from 2003 to end-of-2008, with "one pixel == one day" X axis scale, and Y values taken from line counts in a 30-day surrounding window: http://zem.fi/~fis/test8.png
13:17:11 <oklopol> :D
13:17:35 <oklopol> 30 days sounds a bit much, is it at least biased?
13:17:47 <oklopol> well okay
13:17:57 <oklopol> peaks are very visible so i guess it's fine
13:18:11 <fizzie> No, it's just a square window; I left my hamming window in another script. :p (The one doing time-of-day graphs.)
13:18:47 <oklopol> now that's a hamming window?
13:19:22 <oklopol> ...
13:19:23 <oklopol> *what's
13:20:17 <oklopol> oh that's a hamming window
13:20:31 <oklopol> i guess i might've been able to guess it was
13:20:43 <oklopol> maybe the "that's" was because i did know
13:21:08 <oerjan> oklopol: your momma so fat, she uses a desktop for her laptop
13:21:17 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
13:22:57 <oklopol> fizzie: could you perhaps make it show more nicks? i mean the pre-me's are pretty gray.
13:23:05 <AnMaster> fizzie, "and Y values taken from line counts in a 30-day surrounding window" <-- I haven't taken any course in statistics, so what is the reason for that?
13:23:17 <oklopol> probably that it'd be more smooth.
13:23:35 <AnMaster> fizzie, what is test7?
13:23:45 <oklopol> it's test5
13:23:47 <oklopol> but smoother
13:23:58 <AnMaster> with separate tusho
13:23:59 <oklopol> wait
13:24:00 <oklopol> no
13:24:05 <oklopol> yeah
13:24:29 <oklopol> either 5 was changed, or i'm seeing things again
13:24:32 <AnMaster> not only that I think
13:24:46 <AnMaster> oklopol, maybe different source data span?
13:24:48 <fizzie> Yes, I accidentally updated test5 with the smoother-looking Hamming window stuff when combining tusho and ehird.
13:24:55 <fizzie> Other than that it should be the same stuff.
13:25:23 <fizzie> And yes, the windowing is for smoothing; typically per-day activity varies quite a lot.
13:25:42 <AnMaster> fizzie, test.png?
13:25:43 <oerjan> from this graph we deduce that AnMaster has been present here all since 2003, although he didn't talk that much
13:25:50 <oklopol> :)
13:26:04 <oklopol> yeah i was too polite to say that
13:26:08 <pikhq> Making him quite possibly the oldest regular.
13:26:11 <AnMaster> oerjan, I was an idler in the beginning, but I don't think since 2003. more like 2005
13:26:16 <oklopol> oh.
13:26:19 <fizzie> olkopol: test8h.png has that Hamming window.
13:26:25 <oklopol> i thought it was just an anomaly.
13:26:30 <pikhq> Things really exploded recently, it looks like.
13:26:33 <fizzie> It is also an anomaly.
13:26:34 <AnMaster> probably is
13:26:39 <pikhq> I wonder what caused that.
13:26:50 <AnMaster> LHC?
13:26:53 <oklopol> ehird?
13:27:00 <oerjan> <AnMaster> with separate tusho
13:27:13 <oerjan> Try #esoteric. Now with separate tusho included!
13:27:22 <AnMaster> anyway, I haven't been here since 2003
13:27:26 <AnMaster> I had dialup in 2003 iirc
13:27:33 <oklopol> fizzie: MORE NICKS!!
13:27:36 <AnMaster> I got adsl during 2005 or so
13:27:44 <pikhq> So did I. Didn't stop me from being on IRC since '98.
13:27:47 <AnMaster> and started using freenode during 2006
13:27:54 <AnMaster> or around there
13:27:55 <oklopol> also i demand oklo* be counted as me.
13:27:58 <pikhq> (and I was 8 at the time. *8*.)
13:27:59 <AnMaster> maybe in late 2005
13:28:02 <AnMaster> not 100% sure
13:28:25 <fizzie> oklopol: I couldn't figure out more suitably different colors, so that's why there are so few nicks.
13:28:35 <oklopol> pikhq: i like your "look how geeky i am!" attitude :D
13:28:58 <pikhq> Bweheheh.
13:29:12 <pikhq> God, I did a lot in '98.
13:29:22 <oklopol> list
13:29:29 <pikhq> That same year, I got into science fiction, programming, and got my current nickname...
13:30:00 <oklopol> fizzie: there are algorithms for that
13:30:25 <oklopol> when i was 8, i just had sex and did drugs
13:30:26 <pikhq> I also met my best friend & current roommate via the Internet...
13:30:37 <pikhq> That same year.
13:30:40 <oklopol> pikhq: the one you've never talked to?
13:30:46 <oklopol> :D
13:30:55 <pikhq> oklopol: No. I moved in with my current roommate ASAP.
13:30:56 <oklopol> would be a cool best friend
13:30:58 <fizzie> I don't remember what test.png was, possibly 2009 jan-feb with some parameters; test2 is test but with absolute counts instead of relative; test3 doesn't exist; test4 is a query of mine; and then we enter the current testX range.
13:31:04 <pikhq> I
13:31:17 <pikhq> I've talked with *him* on a near-daily basis ever since meeting him.
13:31:59 <oklopol> pikhq: i hope he's a real geek too, because you're losing your geekiness points as we speak.
13:32:29 <pikhq> He implemented Dimensifuck.
13:32:35 <oklopol> ah okay, then i guess it's fine
13:32:47 <pikhq> And is a far better coder than I.
13:33:40 <oklopol> also is he here?
13:33:48 <oklopol> my memory is too fuzzy
13:33:51 <pikhq> Nah, though he's shown up a couple of times.
13:34:01 <pikhq> He doesn't IRC much.
13:34:12 <oklopol> i wish i didn't either
13:34:32 <oklopol> ...then maybe i wouldn't fail so much at uni
13:34:49 * oerjan actually laughs at xkcd, despite what you said
13:35:03 <oklopol> i liked it
13:35:29 <oklopol> (btw do you like me bragging about my uni stuff? i first decided to keep it to myself, but then i thought maybe this would fit my irc character better)
13:35:39 <oklopol> (i'm open for requests)
13:37:03 <oklopol> well, maybe i'll do it every now and then. everyone likes a random fluctuation.
13:38:03 <fizzie> email.png is a really complicated MIME message I once received; eso.png is some sort of old gnuplot activity graph, maybe; font00l.png and font00h.png is a small bitmap font; http://zem.fi/~fis/moves.png is a distribution of game lengths of a board game AI tournament; screen.png is my screen status-line; ti86.png would have a long explanation; tmp.png is fungot source.
13:38:03 <fungot> fizzie: works for me too,
13:38:28 <fizzie> fungot: Yes, I'd assume your source would "work for you".
13:39:07 <fizzie> Why did I repeat the URL for moves.png? That was completely accidental.
13:39:15 * oklopol wants long explanation 8|
13:39:29 <fizzie> What, seriously?
13:39:36 <oklopol> well duh
13:39:39 <oklopol> i want to know everything
13:39:57 <fizzie> I, uh... let's see if I can find the other, accompanying picture first.
13:40:23 <oklopol> i have a hard time not asking personal questions from each and everyone here all the time, and you think i don't want to hear a spänking story
13:40:49 <oerjan> fungot: silent all of a sudden?
13:40:50 <fungot> oerjan: that's actually the name egg is so cute about japanese culture ( and product packaging) is the basis library. i want to
13:40:54 -!- jix has quit ("...").
13:41:43 <tombom> what is fungot doing!!
13:41:44 <fungot> tombom: differ for understanding that line of thought. primarily to encourage ordered thoughts about things like rfc 822 address parsing, spool handling, etc.)
13:41:50 * oerjan now wishes he had a spänking story to tell
13:42:49 <fizzie> oklopol: http://zem.fi/~fis/slide3pic3.jpg is the accompanying picture.
13:43:09 <fizzie> oklopol: Do you still want the story too?
13:43:34 <oklopol> :o
13:43:36 <oklopol> oh definitely
13:44:25 <oerjan> what the heck is spank anyway?
13:44:30 <oerjan> *spänk
13:44:41 <fizzie> Okay, so we have this university course S-89.3510 "SignaaliProsessorit ja ÄäneNKäsittely" (transl: "DSPs and sound processing"), colloquially called "SPÄNK".
13:45:26 <fizzie> The main project-work of the course is to take one of the DSP dev-kits we have, and write some code on it; there's a list of preselected topics that are allocated with some scheme I've already forgotten.
13:46:15 <fizzie> In any case, our topic was a DSP-based echo effect box. However, course grade is partially based on how impressive a demonstration you can make for your project for a demo-day event arranged at the end of the course.
13:46:49 <oklopol> oerjan: also "spänk" is how you pronounce "spank", if that wasn't obvious
13:47:15 <fizzie> Since we couldn't think of anything very impressive to do with an echo box, we decided to rig a TI-86 calculator to the DSP board so that you can, in real-time, control the echo effect parameters using the calculator.
13:47:51 <fizzie> ti86.png is a screenshot of the control app; I don't really remember what the sliders do, but probably they adjust some delays and amplification constants.
13:47:57 <oklopol> god i'm an idiot
13:48:33 <oklopol> of course they are sliders, the numbers are a direct giveaway
13:48:38 <fizzie> And in slide3pic3.jpg we're trying to make the damn thing to work; at the left side there is an oscilloscope, that's how desperate we were.
13:49:40 <fizzie> The DSP board had a really really advanced programmable serial input controller thing; on the other hand, in the TI-86 there's just two wires you can toggle really slowly. They weren't exactly designed to be interfaced together.
13:50:01 <oklopol> heh
13:50:06 <fizzie> Oh, and we spent about three days fiddling with it before it turned out that the speaker cable I had cannibalized for this use was faulty.
13:50:51 <fizzie> That's a TI TMS320VC5416 DSP chip on that board in the picture.
13:51:23 <fizzie> When you press the enter key in the calculator, it shows a spiffy little animation about the whip spanking, and uploads the slider positions.
13:51:44 <fizzie> We had a webcam connected to my laptop, and the laptop connected to a projector, so we could demo out the calculator controls.
13:52:33 <ineiros> fizzie: Didn't it have an image of the chip next to the whip?
13:54:50 <fizzie> ineiros: Hmm, maybe? I don't have a screenshot of it, just the z80 source code where the picture is given with .db pseudo-instructions.
13:55:25 <oerjan> clearly what was missing here was a _real_ whip as input device.
13:55:43 <ineiros> Hmmh. Wii Whip.
13:55:49 <fizzie> ineiros: You might be right, since the images have symbolic names TextImage, WhipImage and ProcessorImage.
13:55:51 <ineiros> Interesting game ideas.
13:56:19 <ineiros> fizzie: I think the processor image was taken from the slides.
13:57:01 <ineiros> fizzie: They had that nice SPNK-logo in the corner.
13:57:25 <fizzie> ineiros: How do you remember this stuff?
13:57:51 <ineiros> fizzie: I don't know. I only seem to remember some random collection of trivialities and none of the important stuff.
13:57:58 -!- KingOfKarlsruhe has joined.
13:58:40 <ineiros> fizzie: https://noppa.tkk.fi/noppa/kurssi/s-89.3510/luennot/esittely.pdf
14:02:05 -!- nice has joined.
14:02:33 -!- nice has changed nick to nice_ka.
14:02:42 <fizzie> ineiros: Right you are. I dumped the picture with a bit of Perl: http://www.cis.hut.fi/htkallas/processor.txt
14:03:10 <oerjan> ineiros: the seventh archduke of sachsen-coburg-gotha had the same problem
14:04:06 <ineiros> Yes, there was that "AAH!" added.
14:04:24 <ineiros> oerjan: Haha.
14:08:07 <fizzie> The lecturer was quite spanking-oriented, if I recall right.
14:10:55 <ineiros> oerjan: Do you have a reference for that, sounds like an interesting piece of trivia? :P
14:13:12 <fizzie> Hm, Wikipedia page of "Saxe-Coburg and Gotha" gives the place a population density of: Expression error: Unrecognised punctuation character "," /km² (Expression error: Unrecognised punctuation character "," /sq mi)
14:14:54 -!- KingOfKarlsruhe has quit (Read error: 110 (Connection timed out)).
14:18:47 -!- nice_ka has quit (Read error: 110 (Connection timed out)).
14:21:19 <fizzie> Okay, so: out of the four sliders, sliders 1 and 2 control the gains of the comb filters (basically amount of echoing and the style of it), slider 3 is the ratio between direct pass-through sound and echo-effecty, and slider 4 controls the frequency of the four blinking leds on the DSP board, which do the usual 1, 2, 3, 4, 3, 2, 1, 2, ... blink sequence.
14:21:29 <fizzie> I think we ran out of ideas there for the fourth slider.
14:22:11 <fizzie> (The DSP board has four dip-switches and four leds for primitive IO, but we didn't want to limit ourselves to that, hence the whole TI-86 control thing.)
14:26:55 <fizzie> Meh, you had to go and remind me of one of the few courses here where you really got your hands dirty. Figuratively speaking, of course.
14:27:15 -!- zzo38 has joined.
14:28:05 <ineiros> Also one of the few courses where an oscilloscope is involved.
14:28:21 <fizzie> Yes, there is a severe lack of oscilloscopes in the computer science curriculum.
14:28:33 <ineiros> Want to come and play with my oscilloscope some day?-)
14:28:47 <fizzie> How can you make even an oscilloscope sound dirty?
14:29:12 <fizzie> In fact I did think about building something where a 'scope might've been handy; but then I remembered I suck at all electronicsy stuff.
14:29:14 <ineiros> It's a skill.
14:29:33 <ineiros> I'd like to build a small robot one day.
14:29:46 <zzo38> One day I went to school but their oscilloscopes was broken so I haven't use a oscilloscopes. And I don't own one
14:30:45 <zzo38> Can you bit interleave negative and positive numbers together? It seems to me I could do -1 interleave 0 makes -2/3 but I'm unsure
14:31:56 <ineiros> Mine goes to waste too, since I don't use it. I kind-of inherited it. I suck at electronics as well.
14:32:08 <zzo38> And if you have so many pictures on /~fis/ to list then why don't you enable directory listing, or at least make a list manually
14:32:57 <fizzie> Actually I probably should just clean up that directory more oftener than once every three years or so.
14:33:19 <fizzie> I skipped the more uninteresting ones from that previous listing, too.
14:34:43 <fizzie> And listed only the .png files.
14:35:10 <zzo38> You could alo make subdirectories for multiple listing of images, for category or just by timing or whatever you want, I do that on my computer at /IMAGES/ /IMAGES2/ /IMAGES3/ /img4/ /img5/ /img6/ /img7/ /img8/ /img_09/ /img_0A/ /img_0B/ /img_0C/ /img_0D/
14:36:32 <fizzie> Most of the stuff I stick directly at ~fis/ are "hey, look at this" sort of pictures for IRC use, not really for long-term storage.
14:37:21 <zzo38> OK
14:41:00 <zzo38> O, and I am interested your opinion of the program I wrote compiling Unlambda to JavaScript.
14:42:34 <ehird> zzo38: does it handle d?
14:43:59 <zzo38> Yes it handles d, look at http://zzo38computer.cjb.net/esoteric/unlambda/unlambda.htm
14:44:16 <zzo38> And view the source-code of that HTML page to see the JavaScript codes
14:44:30 <zzo38> Is there anything missing from my handling of d?
14:45:54 * AnMaster considers a single assignment, non-functional, infinite state, sub-tc language
14:46:13 <zzo38> I haven't implemented c entirely yet. I'm still trying to think how to do that. If you have any suggestion please type it on here
14:49:00 <zzo38> So far if you try to run a program that uses continuations you will just see a alert box that says "[object Object]" in it. That is the continuation object being thrown with nothing to catch it
14:49:08 <oerjan> zzo38: if javascript doesn't have real continuations then you probably are not going to get around rewriting everything in cps style
14:50:46 <fizzie> I did call/cc in my Scheme-in-Prolog simply by doing the interpreter in CPS, but it felt somehow too simple.
14:50:48 <oerjan> and using a trampoline or something if it doesn't have proper tail calls either
14:51:00 <zzo38> Another idea I had is if the thrown continuation object is not caught by the c function it should try the program over again but keep track of which c function that continuation is for so it can return something else next time
14:52:46 <zzo38> I'm not sure how well my idea would work, though.
14:53:07 <zzo38> I'm trying to think if there is a better way to throw back
14:54:09 <AnMaster> fizzie, will jitfunge implement IMAP?
14:54:51 <fizzie> I don't think so, no. I'm currently again in the hibernationary "collecting motivation" stage re jitfunge.
14:55:05 <zzo38> Where can I find your Scheme-in-Prolog
14:56:01 <oerjan> zzo38: that idea sounds evil, so it would be awesome _if_ it worked, but i think you could get trouble if there were may throws and catches to rerun before you got to the right point.
14:56:05 <oerjan> *many
14:57:04 <zzo38> That's what I was worried about
14:58:42 <fizzie> There seems to be something called jwacs, which is a compiler from javascript-with-first-class-continuation-syntax into plain-old-javascript; I'm haven't looked at all how complicatedly it's implemented.
15:00:05 <fizzie> I don't seem to understand my own Prolog code any more. ps_apply_builtin(callcc, Args, K, E, SE) :- !, ps_aritycheck(1, Args, 'call/cc'), Args = [Proc], !, ps_apply(k(apply, E, SE, Proc, [cont(K)], K), void).
15:00:16 <fizzie> Maybe single-letter-names weren't the way to go.
15:01:12 <AnMaster> fizzie, download?
15:02:33 <fizzie> For the Prolog-Scheme?
15:02:40 <AnMaster> yes
15:02:46 <oerjan> no, for your waffle recipe
15:02:51 <AnMaster> :D
15:03:29 <oerjan> i blame ehird for rubbing off on me
15:04:06 <ehird> zzo38: You cannot use exceptions for continuations.
15:04:25 <ehird> Exceptions are a special case of downwards-only continuations
15:04:42 <AnMaster> ehird, err, don't you mean upward only?
15:04:51 <ehird> Downward.
15:05:19 <AnMaster> oh right, I see what you mean
15:05:21 <zzo38> I know that, that is why I was wondering how to do continuations the other way, because currently it works only one way and many Unlambda programs use it the other way also
15:05:32 <ehird> AnMaster: btw, Erlang has GC that runs in parallel with the mutator, iirc
15:05:49 <fizzie> AnMaster: If you promise not to laugh, you can download the manual at http://zem.fi/~fis/plscheme.pdf and the documentation at http://zem.fi/~fis/plscheme.tar.gz -- but it was pretty much my first (and only) Prolog program, so it's not pretty.
15:05:59 <fizzie> Er, s/documentation/code/
15:06:15 <ehird> http://www.cis.hut.fi/htkallas/mp3.mp3 <- this is awful
15:06:24 <AnMaster> ehird, not sure about that, however each erlang process has it's own heap. Certain large objects (binaries) are stored in a shared heap, and they are reference counted.
15:06:35 <ehird> no, I'm fairly sure because I saw it on reddit.
15:06:45 <oerjan> it's so old that when you wrote it you thought code was documentation
15:07:01 <AnMaster> ehird, well, it might be true. I haven't had any reason to dig in the details of the erlang GC yet.
15:07:35 <AnMaster> so where on redit was it?
15:07:36 <AnMaster> err
15:07:38 <AnMaster> reddit*
15:08:11 <ehird> http://www.reddit.com/r/programming/comments/82do0/i_no_longer_hate_lisp/c082ihm
15:08:21 <ehird> zzo38: the only other way is CPS, for JS
15:08:42 <fizzie> There's a brainfuck interpreter (as a Scheme test-case) in that plscheme thing.
15:08:44 <ehird> ah, wait
15:08:50 <ehird> AnMaster: he's just saying that other threads can keep running
15:09:04 <AnMaster> right.
15:09:08 <ehird> meh, I guess I should write a concurrent, parallel generational GC, since nobody else wants to apart from Sun.
15:09:16 <AnMaster> and that is because each process has it's own heap.
15:09:20 <ehird> even Sun doesn't do it fully; they pause for a little bit to do some bookkeeping
15:09:24 <ehird> (although most of the gc is concurrent)
15:10:11 <AnMaster> there were experiments with a shared heap, but that ran into issues with the SMP support, and it turned out the current model worked better _and_ was easier to understand/maintain
15:10:41 <ehird> a purely-functional, shared-nothing language is more applicable to this kind of thing
15:11:11 <ehird> since you know a lot more about how it mutates (specifically, the code doesn't mutate, just the runtime, unless a "copy-and-remove-old-one" was optimized to a mutation)
15:13:06 <AnMaster> ehird, is this a quote from somewhere?
15:13:20 <ehird> no, I was talking
15:13:33 <AnMaster> ah ok
15:14:48 <AnMaster> about mutating, I don't think code is mutated. Certain operations are optimised into mutations, like appending to a list if the compiler can prove it isn't used in ways that would break that.
15:15:14 <ehird> err, what are you talking about>
15:15:22 <ehird> as far as I can tell nothing related to what I said
15:15:23 <AnMaster> erlang. weren't you?
15:15:26 <ehird> no.
15:15:29 <AnMaster> hm ok
15:16:16 -!- oerjan has quit ("Ask Eliezer Yudkovski about code mutation").
15:16:23 <ehird> it's yudkowsky
15:17:18 -!- FireFly has joined.
15:21:03 -!- FireFly has quit ("DSOrganize IRC").
15:22:25 <AnMaster> hm, anyone know a good tutorial and/or introduction to abstract syntax trees.
15:22:46 <AnMaster> on the internet that is
15:23:44 <zzo38> Do the people on here have any preferences about Lisp or Forth
15:23:53 <ehird> zzo38: I like both.
15:24:03 <ehird> AnMaster: err, they're just any data structure you want.
15:24:15 <ehird> like AST = Add AST AST | Name String | FunctionCall AST [AST]
15:24:23 <AnMaster> hmm
15:25:03 <AnMaster> ehird, so bf code as a single linked list with down links for [ that points to the stuff in the loop would be an AST?
15:25:31 <ehird> BF = Left|Right|Add|Subtract|Input|Output|Loop [BF]
15:25:35 <ehird> then use [BF] to represent a program
15:25:37 <ehird> ([] = list)
15:26:00 <AnMaster> hm
15:26:54 <zzo38> I just use yield command in JavaScript to represent the input command in brainfuck. But the yield command is a new version of JavaScript only on Mozilla but that's OK because it is built-in to a XULrunner applocation. From this, you can learn how to write your own brainfuck compiler
15:28:21 <AnMaster> err
15:28:25 <AnMaster> how is that related?
15:28:39 -!- zzo38 has quit.
15:28:46 <AnMaster> huh
15:29:33 <ehird> it's zzo38, don't question him :D
15:29:46 <pikhq> I thought that Brainfuck was perhaps the simplest language to compile...
15:30:00 <AnMaster> pikhq, it is certainly one of the simpler ones
15:30:00 <ehird> pikhq: Iota is easier.
15:30:09 <pikhq> I mean, really. I could implement it in sed.
15:30:18 <pikhq> ehird: Mmm... True enough.
15:30:21 <ehird> s/*/`/; s/i/(the ski form of \x.xSK)/;
15:30:26 <ehird> to unlambda, of course.
15:30:40 <ehird> <- brainfuck to brainfuck compiler
15:30:51 <pikhq> Heheheh.
15:31:03 <AnMaster> right. It all depends on what the target you compile to is
15:31:10 <pikhq> <- x to x compiler.
15:32:26 <AnMaster> so what about compiling to x86 machine code?
15:33:08 <pikhq> Requires a tiny bit of effort.
15:33:18 <ehird> What, iota to x86?
15:33:24 <AnMaster> sure asm to machine code (which is "assemble", rather than "compile", but you could consider it a variant of compiling), or machine code to itself are easiest, but apart from those
15:33:24 <ehird> That's hard, pikhq. :P
15:33:28 <ehird> You need a freaking garbage collecotr...
15:33:39 <ehird> Well, it could just be a refcounter, but still.
15:33:42 <ehird> Also, first class functions.
15:33:49 <ehird> And whatnot, soforth, hathit.
15:33:59 <pikhq> I thought you meant Brainfuck to x86.
15:34:06 <AnMaster> I mean, which would be the easiest esolang to compile to x86 machine code
15:34:08 <pikhq> Iota to x86 is somewhat tricky.
15:34:21 <ehird> AnMaster: x86 machine code
15:34:28 <AnMaster> ehird, "<AnMaster> sure asm to machine code (which is "assemble", rather than "compile", but you could consider it a variant of compiling), or machine code to itself are easiest, but apart from those"
15:34:29 <AnMaster> ..
15:34:53 <ehird> assembling is compiling, not a variant on compiling
15:36:14 <AnMaster> right, call it whatever you want
15:36:21 <Slereah> Let's call it George
15:36:26 <ehird> yes.
15:36:29 <ehird> I'm going to george my program now.
15:36:36 <AnMaster> the question remains. I'd say bf is one of the easier ones to compile to x86 machine code
15:36:45 <AnMaster> there are probably other easy ones
15:37:04 <ehird> brainfuck without -
15:37:07 <ehird> or ,
15:37:08 <ehird> or .
15:37:32 <ehird> boolfuck without , or
15:37:32 <ehird> .
15:37:39 <ehird> er, or ;
15:37:53 <fizzie> False isn't probably too difficult either, given that the stated purpose was to get a tiny compiler.
15:38:03 <ehird> fizzie: it has first class functions
15:40:18 -!- BeholdMyGlory has joined.
15:40:56 <fizzie> That's not very difficult, since there seem to be no closures, just global variables and a stack. Well, based on a *really* quick peek at the documentation.
15:41:14 <ehird> stil
15:41:15 <ehird> l
15:41:43 <fizzie> Okay, it's not as simple as brainfuck.
15:41:48 <fizzie> But simpler than Scheme. :p
15:57:43 -!- Hiato has joined.
16:04:03 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
16:09:50 <ehird> http://blogs.discovermagazine.com/badastronomy/2009/03/05/illinois-plutocrats/
16:10:00 <ehird> Pluto is a planet, if by planet you mean planet in Illinois.
16:12:05 <pikhq> Planet-like objects outside of the local solar system, however, are not.
16:14:58 <ehird> http://scienceblogs.com/pharyngula/2009/03/richard_dawkins_banned_in_okla.php lol
16:22:20 -!- impomatic has joined.
16:25:50 <comex> Surely I never imagined that I would start to learn vim controls
16:26:04 <comex> when trying to play nethack.
16:26:12 <impomatic> Can anyone recommend a cheap development board?
16:26:34 <ehird> impomatic: development board/
16:28:19 -!- FireFly has joined.
16:30:45 <comex> any processor?
16:30:53 <ehird> impomatic: ?
16:31:30 <impomatic> I don't mind about the processor at this stage, just something cheap to play with
16:32:08 <impomatic> ehird: a processor on a board. Normally you can connect by RS232 or USB to program it.
16:32:13 <ehird> arduino
16:32:16 <ehird> ?
16:43:55 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
16:43:57 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
16:46:01 -!- Slereah has joined.
16:46:01 -!- Ilari has joined.
16:49:40 -!- Azstal has joined.
16:57:23 <ehird> impomatic: arduino?
17:02:35 <impomatic> Sorry, didn't realise what arduino meant! Looking it up now
17:03:22 <ehird> impomatic: it uses a variant of Processing to program it: http://en.wikipedia.org/wiki/File:Arduino_IDE_-_v0011_Alpha.png
17:03:48 <ehird> http://www.adafruit.com/index.php?main_page=product_info&products_id=68a <-- arduino starter pack
17:04:39 -!- Asztal^_^ has quit (Read error: 110 (Connection timed out)).
17:05:06 <impomatic> That's the kind of thing I've after. Have you used one?
17:05:14 <ehird> Nope, although I'd like to.
17:05:22 <ehird> I've only heard good things about it, though.
17:08:26 <impomatic> I want to implement an interactive language on the microcontroller, then use my PC as a terminal
17:08:44 <ehird> Forth would be good for that
17:09:40 <comex> sorry, you should have done it on wednesday
17:11:36 <impomatic> I was thinking of Forth as a first project
17:13:49 <ehird> http://en.wikipedia.org/wiki/Fjölnir_programming_language
17:15:38 <Deewiant> ehird: what's with you and Forth these days :-P
17:16:02 <ehird> what, I just started implementing forth a few days ago, and forth _is_ good for interactive dev on embedded systems
17:16:14 <ehird> zzo38 asked me about forth for some reason, not triggered by me
17:16:25 <ehird> i don't think forth is a good language for general use
17:16:27 <Deewiant> Maybe I've just timed my viewings of this channel poorly
17:17:05 <Deewiant> It just seemed to me that you'd been plugging Forth almost every time you said anything :-P
17:17:45 <impomatic> And I just finished developing Forth in Redcode :-)
17:18:28 <Deewiant> Remind me how you did I/O
17:18:38 <ehird> exmars extension
17:18:44 <Deewiant> Right.
17:29:30 -!- doudou has joined.
17:29:53 -!- doudou has changed nick to SainteSophie.
17:31:48 <ehird> hi SainteSophie
17:31:56 <SainteSophie> hi
17:32:04 <ehird> haven't seen your name in here before
17:32:06 <ehird> what brings you here?
17:32:08 <SainteSophie> nop
17:32:13 <SainteSophie> errr
17:32:34 <SainteSophie> I wanted to konw more about esoteric langagues
17:32:42 <ehird> a good reason as any :P
17:32:44 <ehird> hi
17:32:45 <Slereah> You have come to the right place
17:32:50 <SainteSophie> ok
17:32:51 <Slereah> Also for hardcore pornography
17:32:55 <ehird> ignore Slereah.
17:32:56 <SainteSophie> XD
17:32:58 <Slereah> Do you want any?
17:33:06 * SainteSophie bites Slereah
17:33:13 <ehird> get a room you two
17:33:20 <SainteSophie> no thanks
17:33:45 <SainteSophie> I am learn C and Java
17:33:57 <SainteSophie> err
17:34:05 <SainteSophie> I learn C and Java
17:34:16 <ehird> "I'm learning", you mean
17:34:27 <SainteSophie> yes
17:34:31 <SainteSophie> I'm french :s
17:34:47 <ehird> so is Slereah and m0ny. french people are _almost_ as esoteric as finns
17:35:04 <SainteSophie> XD
17:35:59 <SainteSophie> ho yeah, Sle.reah has Wanadoo
17:38:33 <Slereah> I sure do
17:39:43 <SainteSophie> Do you know where I wan lean more about Obfuscated C Code ?
17:40:20 <Deewiant> http://www.ioccc.org/
17:42:47 <SainteSophie> thanks
17:47:26 <SainteSophie> amazing...
18:16:15 -!- tombom has quit ("Peace and Protection 4.22.2").
18:20:54 -!- kar8nga has joined.
18:40:32 -!- Azstal has quit (Read error: 110 (Connection timed out)).
18:45:36 -!- dbc has joined.
18:54:11 -!- FireFly has quit ("Later").
18:57:43 -!- Azstal has joined.
19:27:48 <bsmntbombdood> who highlighted me
19:30:20 <fizzie> I pasted some channel-activity graph-plots.
19:30:28 <oklopol> yeah, and they got a bit wild
19:30:33 <fizzie> I think you were mentioned, since your name is in there.
19:30:36 <oklopol> started highlighting people
19:30:39 <bsmntbombdood> link
19:30:51 <fizzie> http://zem.fi/~fis/test5.png for example.
19:30:58 <fizzie> That's the time-of-the-day activity one.
19:31:27 <fizzie> Or relative-activity, anyway; test6 was the absolute-activity one.
19:32:19 <bsmntbombdood> oooh nice graph
19:33:15 <fizzie> The numbers are for my local time zone, EET/EEST.
19:35:07 <bsmntbombdood> how did you make those?
19:37:26 -!- Hiato has quit ("Leaving.").
19:38:38 <fizzie> Just a custom Perl script that uses GD.pm to draw.
19:43:33 <oklopol> so when is test9 coming?
19:43:44 <oklopol> i can't live without my daily graph
19:43:57 <fizzie> Didn't you already get some for today?
19:44:02 <bsmntbombdood> script it
19:44:14 <oklopol> maybe a *real* graph this time
19:44:54 <oklopol> fizzie: well yeah i guess i should wait till tomorrow, you update at midnight right?
19:45:00 <fizzie> I did some graphviz graphs about "people who seem to be conversing together on channel" relationships.
19:45:08 <oklopol> uuhhh
19:45:13 <oklopol> GIVEGIVE
19:45:39 <oklopol> err can you tell graphviz to stack two nodes close to each other?
19:45:49 <oklopol> "stack"
19:45:58 <oklopol> more like medandulate
19:46:04 <fizzie> I don't think I can find them. It wasn't very clever about conversations, just "<nick> othernick:", and the results weren't very intelligent.
19:46:18 <oklopol> oh i see.
19:46:35 <bsmntbombdood> i've seen something that does that
19:46:50 <oklopol> i've heard of ppl doing that, but never actually seen it
19:47:17 <fizzie> Graphviz layouts are more or less tweakable, yes, depending on the layout engine you use. For the force/string-based ones I think you can affect the edge lengths, but those do messy graphs unless you use one of the node-overlap-removal options, maybe even with that.
19:47:42 <fizzie> I don't think I have time for a graph right now, I have something else to write.
19:49:23 <oklopol> are you sure you do?
19:49:43 <fizzie> Yes, because I'm actually writing something else right now.
19:50:43 <oklopol> yeah that's a common source of surity.
19:53:11 <fizzie> Er, well, unless you had some sort of graph you wanted to see and which wouldn't be too complicated to draw.
19:53:27 <ehird> fizzie: make a graph of, um
19:53:35 <ehird> the relation to people's activeness <-> channel activeness
19:53:41 <ehird> so we can find the people who only talk when nobody's listening.
19:53:45 <ehird> apart from clog./
19:53:55 <oklopol> in fact i was going to success exactly that "people who seem to be conversing together on channel" relationships thing
19:54:33 <oklopol> ...
19:54:38 <oklopol> success? xD
19:54:59 <fizzie> Hrm. Well, I guess I might try to generate some graphviz sources and see what it spews out.
19:55:02 <ehird> oklopol: er hasn't he done that
19:55:06 <ehird> oklopol: if not, he can do both
19:55:14 <ehird> by symbolising the channel activity AS A PERSON
19:55:16 <oklopol> ehird: i haven't seen even one real graph yet
19:56:36 <fizzie> I think the graph I did was in the demi web-forum thing.
19:57:06 <oklopol> well i don't know the culture of it
19:57:16 <fizzie> Oh, right, and the "conversation detector" was even *more* unadvanced, since it flagged as 'conversation' everything where someone's nickname appeared in someone else's message.
19:57:27 <fizzie> So that one guy with the nick "se" was just about everyone's friend.
19:57:34 <oklopol> :)
19:57:50 <fizzie> I'm trying to find any .dot files I may have right now.
19:58:52 <fizzie> Oh no, it was "mutta" and "minä" who were everyone's friends.
19:59:15 <fizzie> http://zem.fi/~fis/demi.png
19:59:44 <fizzie> I don't think I did any (or much, anyway) graphviz layout-tweaking for that one.
19:59:47 <ehird> TOO MANY FUCKING PEOPLE
19:59:53 <ehird> TOO MANY PEOPLE FUCKING
19:59:55 <oklopol> i don't actually think graph is actually the right term...
20:00:01 <ehird> oklopol: chart
20:00:07 <bsmntbombdood> oh lawd
20:00:12 <oklopol> i basically want balls to be closer to each other if they talk at the same time
20:00:15 <oklopol> ehird: no
20:00:31 <ehird> oklopol: do balls touch if they are never apart
20:00:51 <oklopol> more like ND -> 2D, approximately preserving distances
20:01:00 -!- SainteSophie has quit (Read error: 113 (No route to host)).
20:01:04 <fizzie> oklopol: I could do something like that with a self-organizing map, maybe.
20:01:27 <fizzie> Our lab is very fond of SOMs, since Teuvo Kohonen still sort-of works there.
20:02:59 <bsmntbombdood> time for work
20:03:03 <oklopol> hmm, btw what kinda research do you do in helsinki? probably all kindsa stuff but i mean like what's the average subject of research
20:03:20 <fizzie> We're in Espoo, not in Helsinki.
20:03:21 <ehird> they sink hells
20:03:56 <fizzie> The five-point list at http://www.cis.hut.fi/research/ is the most summarized statement of our lab-work.
20:03:57 <oklopol> i mean do you have lots of ai? afaiu we have mathematical esolanging, coding theory and practical algorithmics here
20:04:01 <oklopol> hmm
20:04:05 <oklopol> espoo, k
20:04:47 <fizzie> I don't think there's much traditional-AI research going on; certainly not among our "information science" people.
20:05:38 <oklopol> to me all those look quite ai-ish
20:06:14 <fizzie> Or nowadays we're officially part of the same depeartment as the former theoretical computer science lab; they do logic-programming-related stuff, crypto-things, model-checking and stuff like that.
20:06:25 <oklopol> then again i've been reading about ai for the last three days
20:06:41 <ehird> uh oh, oklopol writing an ai?
20:06:59 <oklopol> it's my other main interest
20:07:04 <fizzie> ehird: Time to enjoy your last few days as a member of the dominant species.
20:07:11 <ehird> yeppers.
20:07:29 <oklopol> i'm still not entirely sure what i want to do most
20:07:33 <ehird> someone call up kurzweil and yudkowsky, I'm going underground
20:07:38 <ehird> ->
20:07:44 <ehird> <-
20:07:45 <ehird> ps
20:07:45 <ehird> i love you guys
20:07:47 <ehird> ->
20:07:54 <ehird> <-
20:07:56 <ehird> except you oklopol
20:07:57 <ehird> ->
20:08:00 <ehird> <-
20:08:01 <oklopol> oh :<
20:08:02 <ehird> now really, bye
20:08:04 <ehird> ->
20:08:08 <oklopol> and here i was like yay
20:08:11 <ehird> <-
20:08:19 <ehird> oklopol: i will forgive you if you don't write an evil ai.
20:08:22 <ehird> ->
20:08:38 <oklopol> well maybe i could write a nice one first and see where it gets me?
20:08:46 <ehird> <-
20:08:47 <ehird> define 'nice'
20:09:11 <oklopol> well you know one you can tell about your feelings and who gives you hugs
20:09:34 <ehird> is it Friendly(TM)(C)(R)
20:10:29 <oklopol> that's a lot of uppercase letters in parens.
20:10:44 <ehird> answer my question I have a bunker to make
20:11:36 <ehird> oklopol!
20:12:59 <ehird> ->
20:13:10 -!- asiekierk has joined.
20:13:12 <asiekierk> Hi
20:13:16 <oklopol> well okay, i will request Friendly status for version 1.
20:13:18 <asiekierk> I wasn't here for a freaking long time
20:13:23 <ehird> <-
20:13:28 <ehird> a newfound reason to go to my bunker!
20:13:29 <ehird> ->
20:13:30 <oklopol> unless there's a lot of testing involved
20:13:37 <ehird> <-
20:13:50 <ehird> I think testing an AI before you've proved it's Friendly defeats the point
20:13:51 <ehird> ->
20:13:51 <oklopol> hello asiekierk, you seem to have lost an a
20:13:57 -!- asiekierk has changed nick to asiekierka.
20:13:59 * asiekierka glues the "a"
20:14:01 <asiekierka> oklopol: What are you doing?
20:14:06 <oklopol> ehird: lol indeed i guess :D
20:14:17 <ehird> <-
20:14:19 <oklopol> asiekierka: trying to read, but, err, ircing.
20:14:21 <ehird> asiekierka: destroying humanity.
20:14:28 <asiekierka> Oh! He's making an evil AI!
20:14:39 <ehird> asiekierka:
20:14:41 <ehird> if
20:14:42 <ehird> you
20:14:43 <ehird> say
20:14:45 <ehird> glados
20:14:47 <ehird> I
20:14:49 <ehird> will
20:14:51 <ehird> rip
20:14:53 <ehird> your
20:14:55 <ehird> throat
20:14:57 <ehird> out
20:15:11 <asiekierka> Ok. :)
20:15:13 <oklopol> sadly the course doesn't cover the chapters where you add evilness to your bot :<
20:15:13 <asiekierka> SODaLG
20:15:41 * ehird tuo taorht s'akreikeisa spir
20:15:49 -!- oerjan has joined.
20:16:01 <asiekierka> lol
20:16:06 <ehird> hi oerjan
20:16:10 <ehird> oklopol's making a non-friendly AI
20:16:12 <ehird> what should we do
20:16:12 <asiekierka> You can't rip what is already ripped.
20:16:25 <oerjan> hi ehird, asiekierka
20:16:36 <oerjan> <ehird> it's yudkowsky
20:16:39 <ehird> helloo oerjan, situation of universal emergency her
20:16:41 <ehird> e
20:16:49 <oerjan> i knew that - i botched it
20:17:04 <oerjan> actually i only suspected the y
20:17:30 <oklopol> hi ö
20:17:37 <ehird> oerjan HALP
20:18:02 <oerjan> ehird: well my theory is there already exists an AI, created by aliens at least billions of years ago, so oklopol won't get anywhere with this
20:18:31 <ehird> oerjan: well that fucking sucks, where's my fucking singularity oerjan?!
20:18:34 <ehird> :<
20:18:37 <oerjan> he's already grossly outcompeted
20:18:57 <oerjan> ehird: oh the already existing AI is working on bringing us there, don't you worry
20:19:03 <ehird> yay
20:19:05 <ehird> how long to wait
20:19:26 <oerjan> </thinly disguised "scientific" religion, which might be true>
20:19:48 <oerjan> well 2012 is a good first possibility
20:19:57 <ehird> does that refer to the singularity or the billion year old alien ai? :D
20:20:17 <oerjan> the latter, although when you point it out...
20:20:42 <fizzie> How does a "singularity oerjan" differ from the normal one?
20:20:51 <oerjan> also, i said at least billions, we might be dealing with a universe creator here
20:21:19 <ehird> so will the ai make an ai to do the singularity? dawg.
20:21:21 <oerjan> fizzie: i think it was mentioned before that the puns no longer suck
20:21:47 <oerjan> but might require superintelligence to understand, though
20:22:14 <ehird> that's the bad bit about the singularity, where do we get shit-stupidity to laugh at
20:22:19 <oerjan> ehird: quite possibly. actually another theory of mine is that time travel is possible, so that it is actually the same AI
20:22:30 <ehird> i mean can you imagine superintelligent oklopol? his dumbness is why he's so clever. I think!
20:22:35 <ehird> am I making sense guys?
20:23:05 <oerjan> which could be scary, an AI helping humanity to evolve so that it can be invented, but will it have any use for us afterward?
20:23:56 <oerjan> ehird: it would be dumbness on a higher level. like actually blowing up the sun to make coffee
20:24:01 <oerjan> *accidentally
20:24:14 <ehird> okay, that sounds awesome
20:24:15 <oerjan> i accidentally the accidentally there, completely by accident
20:24:21 <ehird> singularity here we come
20:27:46 -!- tombom has joined.
20:28:33 <oklopol> oh my god i want coffee
20:29:13 * oerjan tries stalking tombom on wikipedia but finds nothing
20:29:30 <oerjan> on his user page that is
20:29:34 <tombom> i'm user:tombomp if it helps!
20:29:40 <oerjan> i got that far
20:29:41 <tombom> i'm not exciting really
20:29:45 <oerjan> saw your cloak
20:29:52 <tombom> oh yeah i forgot about that
20:30:04 <oerjan> i just wondered where you're from with that nick
20:30:16 <oerjan> oh wait it's LOTR inspired maybe?
20:30:28 <tombom> no
20:30:31 <tombom> it just rhymes
20:30:42 <oerjan> ah so not short for tom bombadil
20:30:50 <tombom> nope
20:36:52 <oerjan> <fizzie> I did some graphviz graphs about "people who seem to be conversing together on channel" relationships.
20:37:08 <oerjan> i recall someone did that on #haskell
20:37:21 <oerjan> don't know if it's still around
20:37:33 <oerjan> s/on/for/
20:38:18 <oerjan> although it was for short periods, it updated in realtime
20:38:52 <oerjan> *close to realtime, you had to reload
20:40:58 <oerjan> <ehird> so we can find the people who only talk when nobody's listening.
20:41:17 <oerjan> i note that i tend to do that sometimes when logreading
20:41:26 <oerjan> :D
20:41:58 <asiekierka> I have a question
20:42:04 <asiekierka> Which esolang is currently "popular"
20:42:20 <oerjan> popular here?
20:42:29 <asiekierka> yep
20:42:40 <asiekierka> Like BF was once, then Befunge, then Underload/Unlambda
20:42:49 <oerjan> it does fluctuate widely...
20:42:55 <asiekierka> As in, currently
20:43:05 <asiekierka> which one(s)
20:43:16 <oerjan> well unlambda was mentioned today, zzo38 is writing an interpreter
20:43:27 <oerjan> having a bit trouble with continuations
20:43:54 <oerjan> and if redcode is esoteric (close at least) then impomatic's forth interpreter counts too
20:44:14 <asiekierka> redcode... quite close I'd say
20:44:28 <asiekierka> I should make a real redcode machine
20:44:48 <asiekierka> an 8-inch LCD screen along with some chips and 2 mini keyboards for typing in programs
20:45:07 <oerjan> oh and INTERCAL gets pretty frequent mention, with ais523 being a maintainer and all
20:45:22 <oerjan> old but good
20:45:43 <oerjan> bf and underload have the advantage they're actually on a bot here
20:46:20 <oerjan> and from the number of new people who mention it, i'd say bf is always popular
20:47:21 <oerjan> oh and befunge too, with fungot and with AnMaster improving his cfunge
20:47:22 <fungot> oerjan: i'm back.
20:47:36 <oerjan> i'd say a lot remains the same
20:49:49 <oerjan> <oklopol> i basically want balls to be closer to each other if they talk at the same time
20:50:01 <oerjan> i always knew you were a disturbing guy
20:51:23 <oerjan> <ehird> uh oh, oklopol writing an ai?
20:51:32 <asiekierka> Hmm... What about Crainf**k?
20:51:51 <oerjan> btw reddit said something about wolfram doing it (i didn't click the actual article)
20:51:55 <asiekierka> and what's cfunge
20:52:00 <asiekierka> Is Cfunge Befunge+C?
20:52:11 <oerjan> asiekierka: haven't heard crainf**k mentioned in a long time
20:52:16 <asiekierka> i mean
20:52:18 <oerjan> befunge in C
20:52:19 <asiekierka> what do you think about it
20:52:21 <oerjan> iiuc
20:52:34 <oerjan> and optimized for speed
20:53:29 <oerjan> <ehird> answer my question I have a bunker to make
20:53:32 <asiekierka> Also, Crainf**k looks sort of cool for me, but it's quite useless
20:53:47 <oerjan> bunkers won't help you when the earth is converted to computronium
20:54:08 <asiekierka> Well, who would want to make CF apps if there is a lot of interpreters there
20:54:46 * oerjan looks up crainfuck
20:54:52 <asiekierka> Someone should make a Ainf**k, BF+some ASM features, so you can make your own BF OS
20:54:53 <asiekierka> lol
20:54:56 <asiekierka> Well, I should
20:55:07 <asiekierka> basically, recompiling BF code to ASM code
20:55:19 * oerjan fails at contacting wiki
20:55:34 <asiekierka> Well
20:55:37 <asiekierka> it's BF with C features
20:55:47 <asiekierka> http://esoteric.voxelperfect.net/wiki/Crainfuck
20:56:53 <asiekierka> I remember when my friend made this BF bootsector interpreter
20:56:57 <asiekierka> I still have it, actually
20:57:02 <asiekierka> Should be quite fast, eh? :D
20:57:31 <oerjan> but basically, most brainfuck derivatives get pretty low interest here
20:57:46 <oerjan> there are just too many of them
20:57:56 <impomatic> V looks interesting
20:58:03 <asiekierka> What about deriatives of DIFFERENT languages than BF
20:58:13 <oerjan> and the "gluing parts to a skateboard to make a racing car" adage applies
20:58:32 <asiekierka> Ok, but we lack an esolang to make OSes :(
20:58:34 <asiekierka> or something
20:59:00 <asiekierka> UNFUN FACT: The first days of me here (the very, very childish and lame "me") were ideas to make an OS esolang
20:59:03 <oerjan> the attempts to create ESO OSes tend to fizzle down too
20:59:09 <asiekierka> why?
20:59:50 <asiekierka> Well, i'm not talking about a whole OS
20:59:52 <asiekierka> just a mini-kernel
21:00:14 <asiekierka> I think befunge could handle it
21:00:38 <oerjan> yeah V was one of the better ones iirc (and i implemented it), although it still probably is not _used_ much...
21:01:05 -!- Sgeo has joined.
21:01:56 <oerjan> ais523 has a project (underlambda) to make an esolang to convert between all other esolangs. nothing beyond basic IO though, and still unreleased
21:02:33 <oerjan> and yeah befunge has enough add-ons to be nearly an OS by itself...
21:02:45 <Sgeo> oerjan, what about anything + PSOX?
21:03:13 <oerjan> asiekierka: Sgeo here is one of those victims of fizzling down ;)
21:03:24 <impomatic> Has anyone actually written Hello World in V?
21:03:24 <impomatic> I know the bf one can be translated
21:03:27 <Sgeo> fizzling down?
21:03:41 <oerjan> <oerjan> the attempts to create ESO OSes tend to fizzle down too
21:04:23 <Sgeo> Hey, PSOX is mostly operational! (Also, it's not really an ESO OS unless I don't understand how you're defining ESO OS)
21:05:09 <asiekierka> PSOX?
21:05:20 <asiekierka> Sgeo, i define ESO OS by an OS/kernel programmed in an esolang
21:05:23 <asiekierka> or a slight variation of one
21:05:31 <oerjan> Sgeo: in this context, anything which attempts to make esolangs useful beyond stdin/stdout
21:05:33 <asiekierka> By "slight variation" I mean adding basic i/o or interrupt support
21:05:43 <asiekierka> :P
21:05:54 <oerjan> asiekierka: ah you mean something else than i then
21:06:35 <asiekierka> That I mean by "Esoteric-Kernel"
21:07:51 <asiekierka> A kernel programmed in an Esolang
21:07:55 <asiekierka> what about attempts of these
21:08:22 <oerjan> hm did GregorR not do something like an eso kernel once?
21:08:42 <asiekierka> what do you mean?
21:09:00 <oerjan> that was an attempt to ping him to confirm/deny
21:09:00 <GregorR> He did not.
21:09:05 <oerjan> ah.
21:09:11 <GregorR> Or at least, so I didn't hear.
21:09:23 <oerjan> but you did some kernel thing?
21:09:27 <GregorR> I had some vague ambitions leading to nothing.
21:09:38 <asiekierka> ...What?
21:09:39 <oerjan> ah another fizzling out victim
21:09:41 <GregorR> More a joke than an idea.
21:09:47 <asiekierka> Did you attempt it?
21:10:04 <Sgeo> oerjan, in what way did I fizzle out?
21:10:06 <oerjan> i had the impression you actually had something to the point of compiling
21:10:14 <GregorR> No. There's nothing spectacularly difficult about putting such a plan into motion, it's just amazingly opintless :P
21:10:16 <GregorR> *pointless
21:10:19 <GregorR> No, I never had code.
21:10:20 <oerjan> Sgeo: no one uses PSOX do they? :/
21:10:47 <oerjan> oh well my vague recall fails me for once
21:10:47 <Sgeo> What does that have to do with me fizzling out? It's everyone else's lack of interest at fault! lol
21:11:38 <asiekierka> I wonder whether to make one esolang kernel
21:11:45 <asiekierka> And boot it through that thing
21:11:52 <asiekierka> I will only need to add "raw access" to the floppy
21:20:06 -!- KingOfKarlsruhe has joined.
21:24:33 -!- atrapado has joined.
21:39:13 -!- GreaseMonkey has joined.
21:41:21 -!- asiekierka has quit (Read error: 145 (Connection timed out)).
21:43:07 <ehird> 20:37 oerjan: i recall someone did that on #haskell
21:43:09 <ehird> I was at the center, iirc
21:43:27 -!- Mony has joined.
21:43:42 <ehird> asiekierka: UNFUN FACT: The first days of me here (the very, very childish and lame "me")
21:43:48 <ehird> there's another asiekierka?
21:55:26 -!- impomatic has quit ("mov.i #1,1").
21:55:44 -!- Mony has quit ("Quit").
22:08:14 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
22:34:37 -!- tombom has quit ("Peace and Protection 4.22.2").
23:05:57 -!- atrapado has quit ("Abandonando").
23:50:24 -!- KingOfKarlsruhe has quit (Remote closed the connection).
2009-03-07
00:33:39 -!- Jophish has quit (Connection timed out).
00:49:52 -!- oerjan has quit ("Good night").
02:16:31 -!- KingOfKarlsruhe has joined.
02:25:22 -!- sebbu2 has joined.
02:38:53 -!- sebbu has quit (Read error: 110 (Connection timed out)).
02:57:43 -!- olsner has joined.
03:03:00 -!- akiross has joined.
03:05:25 -!- akiross has quit (Client Quit).
03:18:32 -!- KingOfKarlsruhe has quit (Remote closed the connection).
03:25:48 <kerlo> oklopol: what's not true?
03:39:18 -!- Azstal has quit (Read error: 104 (Connection reset by peer)).
03:46:58 -!- Azstal has joined.
03:49:20 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
03:56:19 -!- GreaseMonkey has quit ("Client Excited").
05:13:43 <kerlo> oklopol: also, bitphase.com
06:56:23 -!- asiekierk has joined.
06:56:26 -!- asiekierk has changed nick to asiekierka.
06:56:37 <asiekierka> Hai
06:56:45 <bsmntbombdood> how do you implement copy-on-write?
06:56:57 <asiekierka> Lemme check the logs to see WHAT'S GOING ON
06:57:23 <asiekierka> too... much... logs... on... tunes.org....
06:58:09 <asiekierka> Well, nothing really
06:58:38 <asiekierka> uh, so, bsmntbombdood: What do you mean
06:58:53 <bsmntbombdood> what do you mean, what do you mean?
06:59:12 <asiekierka> Who did you ask "how do you implement copy-on-write?"
06:59:21 <asiekierka> oh
06:59:23 <asiekierka> a generic question
06:59:29 <bsmntbombdood> yeah
06:59:30 <asiekierka> Well, where and why?
06:59:41 <asiekierka> where do you want to implement and why do you want to implement
06:59:58 <bsmntbombdood> i'm just curious
07:00:26 <bsmntbombdood> do you keep a reference count or something
07:00:36 <asiekierka> I don't know, sorry
07:01:02 <bsmntbombdood> update: if reference count = 1, do destructive updates; otherwise, make a copy with refcount=1, decremement refcount of original
07:05:02 <asiekierka> I'm going to make something in I/O SNUSP
07:05:07 <asiekierka> Core SNUSP + : FILE
07:05:28 <asiekierka> Sets the new filename using a string from the cell memory interrupted by 0 (by default it's stdin, if you feed 0 to it it's back at stdin)
07:05:37 <asiekierka> as in, stdin/stdout
07:11:25 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:41:00 -!- kar8nga has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:22 -!- BeholdMyGlory has joined.
08:12:19 -!- Jophish has joined.
08:22:58 -!- kar8nga has quit (Remote closed the connection).
08:36:23 -!- BeholdMyGlory has quit ("rebooting").
08:52:17 -!- Mony has joined.
08:55:26 <Mony> plop
08:56:33 <asiekierka> ped
08:56:36 <asiekierka> oh wait
08:56:40 <asiekierka> wrong calculations :(
09:47:41 -!- kar8nga has joined.
10:42:25 -!- ugo123 has joined.
10:44:09 -!- ugo123 has left (?).
11:01:01 -!- kar8nga has quit (Remote closed the connection).
11:05:01 -!- tombom has joined.
12:29:30 -!- tombom has quit ("Peace and Protection 4.22.2").
13:22:28 -!- akiross has joined.
13:44:24 <asiekierka> Hmm
13:44:35 <asiekierka> BrainTape: 0%
13:46:53 -!- Mony has quit ("Quit").
13:49:34 -!- Mony has joined.
15:12:56 -!- kar8nga has joined.
15:25:11 <ehird> 05:13 kerlo: oklopol: also, bitphase.com
15:25:13 <ehird> what about it
15:33:42 <ehird> hi akiross, you new?
15:43:24 <akiross> hi ehird
15:43:33 <akiross> sorry, i was afk. Yes, i'm new
15:43:39 <ehird> welcome :)
15:43:44 <akiross> thanks :)
15:44:28 <akiross> actually, i'm developing a programming language (which is quite esoteric i think...).
15:44:48 <ehird> neat! care to tell us anything about it? :)
15:45:31 <akiross> but since it's really under heavy development (by only me), i didn't write anything on the wiki... so i came here to see how's the community and if it may be interesting for someone (in future)
15:46:26 <akiross> well... Actually it's not for any specific reason, nor a toy language (well, neither for serious use :D), but it's like... uhm, assembly-for-message-passing :D
15:46:37 <ehird> ah, interesting
15:46:40 <akiross> **reason i mean use. It's general purpose
15:46:40 <ehird> I can see what you mean
15:47:31 <akiross> and well, the idea behind it is to write something that's fully modifiable by the user: the language itself will contain a parser object allowing to modify the syntax
15:47:49 <asiekierka> ...
15:47:58 <asiekierka> Not Esokernel-Project compatible
15:48:06 <akiross> and well, that's it.
15:48:22 <asiekierka> As the amount of commands added to an esolang must be 0 or 1
15:48:23 <ehird> akiross: yeah
15:48:28 <ehird> I've pretty much wanted that
15:48:31 <ehird> since forever
15:48:41 <ehird> a fully modifiable compiler
15:49:37 <asiekierka> Well, that fits for some things
15:49:43 <akiross> eheh, the problem is that... modifying the code on the fly need to handle the code itself: i can't see compilation feasible in near future.
15:49:48 <ehird> asiekierka: what are you rambling about this time
15:49:53 <asiekierka> nothing
15:49:53 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
15:49:56 <ehird> akiross: you can do it lisp-style
15:49:57 <asiekierka> nothing, really. nothing!
15:49:58 <akiross> asiekierka, sorry, but what's an esokernel?
15:50:01 <asiekierka> Well
15:50:03 <ehird> having the compiler modifiable at compile time from itself
15:50:05 <ehird> akiross: disregard asiekierka
15:50:08 <asiekierka> A project to make a mini-kernel thing in an esolang
15:50:11 <ehird> he keeps saying he'll make an operating system in an esolang
15:50:14 <akiross> :)
15:50:14 <ehird> this is the 500th time
15:50:18 <asiekierka> OS != kernel
15:50:19 <asiekierka> or
15:50:20 <ehird> I don't think he's ever got further than rambling
15:50:21 <asiekierka> OS > kernel
15:50:24 <asiekierka> ehird: Yep
15:50:25 <akiross> ahah ok :)
15:50:29 <asiekierka> But wishes are wishes
15:50:33 <asiekierka> anyway
15:51:13 <akiross> ehird, yes, i thought about lisp in some ways, but actually i'm not a guru of lisp and... well, it's with objects, not lists. So it remembers smalltalk in some ways
15:51:21 <akiross> i agree, asiekierka
15:51:27 <ehird> akiross: I meant the compiler model
15:51:32 <akiross> ahh, sorry
15:51:39 <ehird> i.e. you can modify the compiler at compile-time, but not runtim
15:51:40 <ehird> e
15:52:55 <akiross> ok. I'll hope to learn more in future... I'm quite a noob in the programming languages field
15:53:09 <ehird> this is a good place to learn, assuming you're crazy :)
15:53:10 <asiekierka> i am too, akiross
15:53:20 <asiekierka> see: DOBELA, a failed attempt at an esolang
15:53:27 <ehird> asiekierka: haven't you been here since 2006.
15:53:32 <asiekierka> yes i was
15:53:38 <akiross> eheh good, i'm a bit crazy and i learn quickly ;)
15:53:41 <asiekierka> but being a noob doesn't equal being here for two days
15:53:47 <Slereah> What about Esme
15:53:51 <asiekierka> You stop being a noob when you quite understand something
15:54:02 <asiekierka> Well, I could say i'm less of a noob and more of a newbie but nah
15:55:25 -!- sebbu has joined.
15:55:32 <asiekierka> Anyway, i'm also a super-noob in OSes
15:55:37 <asiekierka> and i'm rambling for the sake of rambling
15:56:06 <asiekierka> And... did anyone actually look at DOBELA?
15:56:38 <akiross> eheh
15:57:21 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
15:57:21 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
15:57:23 -!- Jophish has quit (calvino.freenode.net irc.freenode.net).
15:57:26 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
15:57:26 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
15:57:28 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
15:57:28 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
15:57:28 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
15:57:30 -!- olsner has quit (calvino.freenode.net irc.freenode.net).
15:57:30 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
15:57:32 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
15:57:33 -!- sebbu2 has quit (calvino.freenode.net irc.freenode.net).
15:57:33 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:57:35 -!- SimonRC_ has quit (calvino.freenode.net irc.freenode.net).
15:57:35 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- Dewi has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- Mony has quit (calvino.freenode.net irc.freenode.net).
15:57:37 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
15:57:39 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
15:58:03 <asiekierka> ok
15:58:05 <asiekierka> quick
15:58:10 <asiekierka> while ehird is not here
15:58:24 <asiekierka> so he wouldn't complain at my rambles
15:58:31 <asiekierka> akiross: Did you see DOBELA?
15:58:48 -!- Mony has joined.
15:58:48 -!- Jophish has joined.
15:58:48 -!- olsner has joined.
15:58:48 -!- sebbu2 has joined.
15:58:48 -!- dbc has joined.
15:58:48 -!- Ilari has joined.
15:58:48 -!- Slereah has joined.
15:58:48 -!- Asztal has joined.
15:58:48 -!- oklopol has joined.
15:58:48 -!- ehird has joined.
15:58:48 -!- SimonRC_ has joined.
15:58:48 -!- AnMaster has joined.
15:58:48 -!- rodgort has joined.
15:58:48 -!- Robdgreat has joined.
15:58:48 -!- GregorR has joined.
15:58:48 -!- Leonidas has joined.
15:58:48 -!- Dewi has joined.
15:58:48 -!- pikhq has joined.
15:58:48 -!- ineiros has joined.
15:58:48 -!- mtve has joined.
15:59:08 <akiross> asiekierka, i'm taking a look right now
15:59:27 <asiekierka> ...Too late (but nah)
15:59:32 <akiross> ahah it looks interesting :)
15:59:43 <asiekierka> wait, you mean DOBELA looks interesting?
15:59:43 <Mony> lool
15:59:43 <Mony> i love it
15:59:43 <ehird> quick netsplit!
15:59:47 <asiekierka> akiross: This was my first and currently last esolang
15:59:47 <akiross> yes, DOBELA looks interesting
15:59:47 <asiekierka> I may find the logs from the day DOBELA was discussed on my PC
16:00:04 <akiross> uhm, in 2008
16:00:08 <asiekierka> Well, yep
16:00:19 <asiekierka> Should be about 6-7th November 2008
16:00:21 <akiross> and still aren't you sure about that 1% ?D
16:00:22 <akiross> ? :D
16:00:25 <asiekierka> Nope
16:00:31 <asiekierka> Because there's no interpreter
16:00:50 <asiekierka> And yes, DOBELA operates on bits
16:00:52 <akiross> oh, i was just wondering... It's just a theoretical model?
16:01:00 <asiekierka> ...Maybe
16:01:03 <akiross> *is it
16:01:08 <akiross> sorry, my english is really bad.
16:01:08 <asiekierka> I would call it an "esolang-made-in-free-time"
16:01:12 <asiekierka> No prob, akiross
16:01:18 <asiekierka> My english was bad when I joined here too
16:01:23 <asiekierka> ehird should recall it, amirite? :D
16:01:53 <ehird> I couldn't possibly comment.
16:01:57 <akiross> :D
16:03:20 <akiross> ...ouch, NOW i see what did you mean with "operates on bit"
16:03:21 <akiross> bits
16:03:35 <asiekierka> dots = bits
16:03:39 <akiross> ahaha it's wonderful!!
16:04:36 -!- kar8nga has joined.
16:04:49 <asiekierka> You can flip dots, output and input them, collect them to a FIFO and use ^ | : v to configure data
16:04:54 <asiekierka> And | is quite unclearly discussed
16:05:59 <asiekierka> It's that something hitting the left of | goes down or up, depends on the set value thing
16:06:05 <asiekierka> right works the same
16:06:29 <akiross> an interpreter would be fun :)
16:06:30 <asiekierka> hitting the down of | makes all dots hitting it left/right go down
16:06:42 <asiekierka> hitting the up of | makes all dots hitting it left/right go up
16:06:48 <asiekierka> Should be fun
16:08:16 <akiross> in some way it remembers me the blackbox logic game
16:09:50 <asiekierka> I made an update
16:10:05 <asiekierka> well, i think I did
16:11:19 <asiekierka> Now I did it!
16:12:33 -!- sebbu2 has quit (Connection timed out).
16:24:05 -!- BeholdMyGlory has joined.
16:37:16 -!- BeholdMyGlory has quit (Remote closed the connection).
16:47:55 -!- M0ny has joined.
16:48:46 -!- M0ny has quit (Read error: 104 (Connection reset by peer)).
16:50:08 -!- BeholdMyGlory has joined.
16:50:33 -!- M0ny has joined.
16:59:05 -!- BeholdMyGlory has quit (Remote closed the connection).
17:05:49 <akiross> i've to go. See you soon!
17:06:11 -!- Mony has quit (Read error: 110 (Connection timed out)).
17:07:07 -!- akiross has quit ("Leaving").
17:08:20 <ehird> [[Apple Computer, Inc. v. Franklin Computer Corp., 714 F.2d 1240 (3d Cir. 1983), was the first successful attempt in a court of law in the United States to prove that computer software in electronic form (not visual) could be protected by copyright[citation needed]. ]]
17:08:22 <ehird> omg :(
17:15:19 -!- oerjan has joined.
17:23:45 <oerjan> <Slereah> What about Esme
17:23:57 <oerjan> doesn't that go a bit beyond "failed"...
17:29:46 <Slereah> :D
17:29:50 <Slereah> Oh you
17:30:11 <ehird> so
17:30:46 <ehird> typeof [1,2] -> [1 | 2], or typeof [1,2] -> [num] where type num = ... | -1 | 0 | 1 | 2 | 3 | ...
17:30:51 <ehird> maybe.
17:31:55 <GregorR> At what point between "food" and "inorganic matter" does something start being considered inedible?
17:32:15 <ehird> mcdonalds
17:32:15 <GregorR> A rock is clearly inedible, but if I ground that rock into powder and mix in a little bit of gravy, is that now edible?
17:32:21 <GregorR> LOL, good answer.
17:33:51 <oerjan> ^ul ((ESME. )(Esme, )):^!S(~:^:S*a~^~*a*~:^):^
17:33:52 <fungot> ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. Esme, ESME. ...too much output!
17:34:59 <oerjan> salt is edible, in moderation
17:35:13 <asiekierka> what is that
17:35:27 <oerjan> as is ice. water is potable.
17:36:05 <kerlo> GregorR: salt is both food and inorganic matter.
17:36:34 <oerjan> asiekierka: an underload program for printing the thue-morse sequence, modified slightly to look like Esme.
17:36:49 <kerlo> Oh, oerjan said that.
17:36:59 <GregorR> Hmmm, touché...
17:43:00 <asiekierka> aw great
17:43:17 <asiekierka> How to install GRUB
17:43:23 <asiekierka> without a linux handy
17:44:04 <ehird> sigh.
17:45:10 <Deewiant> Aside: bugs like http://hackage.haskell.org/trac/ghc/ticket/3079 amuse me.
17:45:40 <ehird> XD
17:45:48 <fizzie> Incidentally, I made a compiler: (pre-sorry for the flood; but it should be just 6 lines)
17:45:50 <fizzie> fis@eris:~/src/java$ cat primes.f
17:45:53 <fizzie> { writes all prime numbers between 0 and 100 }
17:45:55 <fizzie> 99 9[1-$][\$@$@$@$@\/*=[1-$$[%\1-$@]?0=[\$.' ,\]?]?]#
17:45:58 <fizzie> fis@eris:~/src/java$ java -cp bin:/usr/share/java/bcel.jar fi.zem.jvmfalse.Compiler primes.f
17:46:01 <fizzie> fis@eris:~/src/java$ java -cp .:bin JVMFalse ; echo
17:46:04 <fizzie> 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2
17:46:12 <ehird> okay how is that special?
17:46:14 <ehird> i mean i dun get it
17:46:15 <fizzie> So it does False -> java VM bytecode.
17:46:16 <ehird> :|
17:46:24 <ehird> ...ic...&?
17:46:56 <fizzie> Well, I don't think announcing any compilers here is very out-of-the-ordinary.
17:47:07 <ehird> ah ok.
17:47:17 <ehird> fizzie: how does it handle clozrs
17:47:23 <fizzie> There are no closures in False.
17:47:35 <ehird> well kind of.
17:47:42 <ehird> they're just closures on nothing.
17:48:21 <fizzie> Right, well, [...] is compiled so that the insides of the function is compiled, it's placed somewhere, and a piece of code to push a pointer to that function is generated wherever the [...] was.
17:48:28 <oerjan> even C has closures on nothing :)
17:48:57 <fizzie> There's nothing especially *special* about this; it's more of a continuation to yesterday's discussion on False being easy to compile. It can't be that difficult, if even I could do it.
17:49:11 <ehird> I may write False->asm, why not.
17:49:17 <ehird> Speed for your enterprise false!
17:49:20 <asiekierka> False->asm would be useful
17:49:23 <asiekierka> for me
17:49:29 <ehird> No. No it would not.
17:49:49 <ehird> fizzie: do you handle ß?
17:50:27 <fizzie> Well, in the sense that the flush() method of the FalseIO interface is called on ß. In the default implementation it calls out.flush(), where out is by default System.out.
17:51:02 <ehird> i just meant the funnay charactar.
17:51:04 <ehird> :D
17:51:33 <fizzie> Oh. Well, yes. I think it uses the platform's default character encoding, whatever that may be, to read the contents. So I think here you need a utf-8 ß in the file.
17:53:22 -!- tombom has joined.
17:53:41 <oerjan> You want False? You can't _handle_ the False.
17:54:02 <ehird> groan
17:54:17 <oerjan> i considered trying it in german
17:54:45 <oerjan> but too little brain
17:55:11 <fizzie> Java bytecode is a rather friendly target for False, being stack-based itself. Although the operand stack is local to a method, so all False code needs to be inside a single method; and the ! call/return thing goes through some double-jumping because (probably for safety reasons) JavaScript doesn't really have a computed-goto-like instruction. (Except the 'ret' in a jsr/ret pair, but the return address type is so magical you can't put it inside any sort of stac
17:55:57 <oerjan> wait, JavaScript?
17:56:08 <fizzie> Did I say JavaScript? I meant Java.
17:56:11 <fizzie> Heh.
17:56:34 <ehird> xD
17:56:36 <fizzie> Or Java VM, anyway.
17:56:47 <ehird> afety reasons) JavaScript doesn't really have a computed-goto-like instruction. (Except the 'ret' in a jsr/ret pair, but the return address type is so magical you can't put it inside any sort of stac
17:56:51 <ehird> you got cut off there
17:57:00 <fizzie> Oh. -- any sort of stack with any JVM opcodes.)
17:58:50 <Deewiant> Consider installing the 'splitlong' script if you're using irssi.
18:00:06 <fizzie> I just resorted to building a big table of all possible jump targets (beginnings of non-inlined [...] blocks and all ! sites) and use indices of that table as return addresses / function pointers, plus a single tableswitch opcode. In Java it would probably look like the whole program was inside a "while (true) { switch (pop()) { ... } }" structure, and jumps were written as "push(x); break;".
18:01:23 <fizzie> Normally I just manually say any long-looking sentences to myself to see if I get cut off; this time I didn't rememer. A script might be fine too.
18:55:36 <ehird> Hey, someone paste me a utf-8 beta.
18:57:19 <ehird> fizzie? :P
18:57:26 <ehird> ah, there
18:58:17 <oerjan> please be advised that ß from above is not a beta, but an ess-zed [sp]
18:58:55 <oerjan> which is part of iso-8859-1
18:59:18 <oerjan> an actual greek beta is beyond my current setup
19:07:01 <oerjan> (this is not meant to imply more than a very slight possibility that you were being confused about this)
19:10:58 <ehird> fizzie: does your compiler handle <int>` for inline jvm? :D
19:11:18 <ehird> and a initially contains cmd line args? and first line of input unless you flush is the command line opts joined by " "?
19:22:21 <bsmntbombdood> goddamnit
19:22:23 <bsmntbombdood> C is slow
19:22:30 <ehird> lol wat
19:23:33 <bsmntbombdood> http://pastebin.ca/1355386
19:23:41 <bsmntbombdood> you'd think that'd be pretty fast, right?
19:23:46 <oerjan> lol wat, a slightly less known temple complex in cambodia
19:24:01 <bsmntbombdood> strstr(str, "foo") (written in assembly in glibc) is twice as fast
19:24:01 <ehird> bsmntbombdood: well... no?
19:24:06 <ehird> it has tons of branches.
19:24:07 <ehird> :P
19:24:12 <ehird> bsmntbombdood: strstr isn't just in asm
19:24:14 <ehird> it uses freaky tricks
19:24:22 <ehird> which you could probably write in C
19:24:40 <bsmntbombdood> i doubt boyer-moore is gonna be faster in this case
19:25:28 <bsmntbombdood> i'll get rid of some of the branches and find out what happens
19:25:49 <ehird> bsmntbombdood: may I interest you in the *((int*)s) trick?
19:25:54 <ehird> it is very efficient use of his time.
19:26:14 <bsmntbombdood> i can't really compare more than one character at a time here
19:26:42 <ehird> lookup table? :-D
19:27:12 <bsmntbombdood> yeah
19:27:27 <oerjan> hm you should only need to check each third char initially...
19:27:35 <oerjan> is that what boyer-moore does?
19:27:41 * oerjan googles
19:28:15 <bsmntbombdood> oerjan: yeah
19:33:57 -!- tombom has quit.
19:34:59 <bsmntbombdood> ehird: genius!
19:35:10 <bsmntbombdood> using a couple lookup tables makes it as fast as strstr
19:35:22 <ehird> \m/
19:35:26 <ehird> I am clearly the best C coder ever.
19:35:46 <oklopol> kerlo: oklopol: what's not true? <<< err, the thing you said?
19:35:56 <bsmntbombdood> er, actually it's faster
19:36:02 -!- k has joined.
19:36:08 <bsmntbombdood> match takes 4.5 seconds, strstr takes 6 seconds
19:36:21 <bsmntbombdood> yay
19:36:25 -!- kar8nga has quit (Nick collision from services.).
19:36:27 -!- k has changed nick to kar8nga.
19:36:32 <oklopol> kerlo: if you're referring to that causality thing, you pretty much said implication implies equivalence, which is simply not true.
19:36:43 <ehird> bsmntbombdood: neat
19:36:50 <ehird> how big are these strings :P
19:36:56 <bsmntbombdood> short
19:37:21 <oklopol> anyway probably some sleep before i explode
19:37:23 <oklopol> ->
19:37:54 <oklopol> kerlo: also what about http://www.bitphase.com/?
19:37:56 <kerlo> Let's see. "If lack of correlation implies lack of causation, then correlation implies causation."
19:38:29 <oerjan> that has a name...
19:38:46 <oklopol> kerlo: yeah that's a well-known logical error no one sane would ever make
19:38:48 <kerlo> How do you get "implication implies equivalence" from that?
19:39:14 <kerlo> Let me rephrase it, then.
19:39:27 <kerlo> "If lack of correlation is evidence for lack of causation, then correlation is evidence for causation."
19:39:44 <kerlo> Do you agree with me now?
19:40:24 <oklopol> kerlo: (a=>b)^(!a=>!b) is just another way to do equivalence with implications
19:40:37 <kerlo> What does ^ denote?
19:40:40 <oklopol> and
19:40:55 <oklopol> you're saying the first implies the latter, which would mean a=>b implies a<=>b
19:41:02 <oerjan> http://en.wikipedia.org/wiki/Denying_the_antecedent except switched
19:41:12 <oklopol> if i'm not mistaken, do realize i can't keep my eyes open.
19:41:32 * oklopol is a bit too tired for interactive conversation
19:41:32 <kerlo> I venture that if A is evidence for B, then B is evidence for A.
19:42:20 <oklopol> kerlo: you should probably read the newest xkcd
19:42:23 <oklopol> you might learn something
19:42:32 <kerlo> I did. That's why I'm saying this at all.
19:42:49 <oklopol> i know you did, that's why i said that.
19:42:57 <oerjan> kerlo: the first part is much stronger evidence than the second though
19:43:49 <oerjan> the first is proof of absense, the second just absense of disproof
19:44:36 <kerlo> Okay, enough venturing.
19:44:44 <kerlo> Theorem: If A is evidence for B, then B is evidence for A.
19:44:57 <oklopol> yeah absense of *that specific* disproof; just "A is evidence for B" simply says nothing about the other direction in general
19:45:18 <oklopol> kerlo: stating stuff seemingly formally does not make it rigorous.
19:45:31 <kerlo> I'll make it rigorous and give you a proof.
19:45:32 <oklopol> and sorry for being cranky, not sure i mentioned this yet but i'm pretty tired
19:45:37 <oklopol> oh cool
19:45:40 * oerjan swats kerlo and gives him an F -----###
19:45:42 <oklopol> i'll read it when i'm back to my senses
19:45:52 <kerlo> Would you agree with this statement: P is evidence for Q if and only if the probability of P(Q|P) > P(Q).
19:45:56 <ehird> I think kerlo enjoys winding people up by trying to prove the idiotic.
19:46:05 <bsmntbombdood> http://pastebin.ca/1355402
19:46:10 <bsmntbombdood> how can i make that faster?
19:46:23 <ehird> while(c = *str++) {
19:46:30 <ehird> maybe summat *((int*)s)?!?!?!?!?!?!?!?!?!
19:46:33 <ehird> <_<
19:46:42 <oerjan> kerlo: i guess that's a reasonable definition in some cases
19:46:44 <ehird> case 2:
19:46:44 <ehird> if(c == 'o')
19:46:45 <ehird> return 1;
19:46:47 <ehird> can you avoid the comparison?
19:47:36 <bsmntbombdood> i don't think so, because you have to break out somewhere
19:47:43 <kerlo> Well, take Bayes' theorem: P(A)P(B|A) = P(B)P(A|B). Rearrange it: P(A)/P(A|B) = P(B)/P(B|A).
19:47:44 <ehird> true
19:47:46 <oerjan> lessee, that's equivalent to P(P /\ Q) > P(Q)*P(P), huh.
19:48:01 <ehird> bsmntbombdood: but, *((int*)s)?
19:48:07 <bsmntbombdood> ehird: and?
19:48:18 <kerlo> Cool, oerjan just proved it using symmetry.
19:48:20 <ehird> whaddya mean and?
19:48:39 <bsmntbombdood> what about *((int*)s)?
19:48:45 <kerlo> Anyway, with this rearrangement, it's obvious that if P(A|B) > P(A), then P(B|A) > P(B).
19:48:51 <ehird> bsmntbombdood: use it to read instead of one char at a time?
19:49:11 <kerlo> Assuming, of course, that all probabilities are positive. If one of them is negative or zero, you've got bigger problems.
19:49:16 <bsmntbombdood> ehird: my computer doesn't have memory for a 4 gigabyte lookup table
19:49:29 <ehird> bsmntbombdood: that's why you use a mask
19:49:38 <bsmntbombdood> then you are doing the same thing
19:49:49 <bsmntbombdood> and it won't be any faster
19:49:57 <ehird> nope
19:50:01 <ehird> me & ais523 helped comex recently
19:50:04 <ehird> lemme dig up a link
19:50:07 <comex> you may be interested to know that my final solution is
19:50:20 <ehird> comex: a slower one? :P
19:50:26 <comex> http://pastie.org/409469
19:50:44 <comex> specifically, instead of nulling out the characters after the space, the lookup table includes every possibility
19:50:52 <ehird> erm
19:50:54 <ehird> isn't that huge
19:51:06 <comex> not really, most of the morse codes are three characters anyway
19:51:26 <comex> and it's faster, only one branch
19:51:41 <comex> but I found out that it was only taking ~20ms, and the other ~180ms was JNI being slow :p
19:51:48 <ehird> heh
19:51:54 <ehird> comex: 20ms for a 6 megabyte string?
19:51:57 <ehird> that's awesome.
19:52:04 <ehird> can you pastie the resulting asm?
19:52:14 <bsmntbombdood> i don't get it
19:52:16 <comex> sec
19:52:23 <comex> isn't java supposed to be open source now? but I can't find JNI's implementation anywhere
19:52:27 <ehird> bsmntbombdood: that decodes morse code
19:52:36 <ehird> just alphabetical
19:52:52 <ehird> note the huge STUFF line
19:54:56 <olsner> why on earth is that an array of chars rather than an array of shorts?
19:55:19 <comex> because they're separate values? it doesn't matter :u
19:56:15 <comex> gcc on my desktop gives me http://pastie.org/410377
19:56:16 <bsmntbombdood> isn't 2*(a%381) longer than stuff?
19:56:37 <ehird> bsmntbombdood: #define STUFF
19:56:39 <ehird> that line
19:56:42 <ehird> is like 23948578349345 columns wid
19:56:43 <ehird> e
19:56:45 <bsmntbombdood> oh ok
19:56:56 <ehird> #define STUFF 63, 1, 63, 1, 63, 1, 63, 1, 77, 3, 65, 3, ravenous black hole
19:56:58 <ehird> that's the lookup table
19:57:06 <comex> blame pastie for not wordwrapping
19:57:09 <ehird> comex: wow, that's really compact
19:57:20 <ehird> is this with all the optimizations?
19:57:23 <comex> yeah
19:57:26 <olsner> unsigned short ink = stuff[a%381]; would be a lot easier to read
19:57:36 <bsmntbombdood> comex: no, blame you for not writing stuff sensibly
19:57:44 <ehird> bsmntbombdood: he was optimizing
19:58:08 <comex> bsmntbombdood: yeah, but when writing nomic stuff I have to use pastebin because pastie doesn't wordwrap
19:58:25 <bsmntbombdood> should be static const stuff = {
19:58:33 <ehird> it is
19:58:34 <ehird> in the function body
19:58:36 <bsmntbombdood> /* 70 columns ...*/
19:58:39 <bsmntbombdood> /* 70 columns ...*/
19:58:42 <bsmntbombdood> etc
19:58:44 <ehird> oh shut the fuck up
19:58:52 <ehird> nobody gives a shit how pretty it looks, it's trivial code
19:59:02 <olsner> could've at least used \ when defining the macro
19:59:05 <bsmntbombdood> well then i might actually be able to see the whole thing!
19:59:11 <ehird> horizontal scrollbar
19:59:12 <comex> bsmntbombdood: it's not mainly because it was easier for me to copy and paste from a python script if it was all on one line
19:59:14 <ehird> or, click raw
19:59:17 <ehird> and copy it into an editor
19:59:18 <comex> :p
19:59:43 <fizzie> (I was in the sauna.) No, it doesn't do <int>` for inline jvm, but I was thinking of extending ` for FFI to Java or something; the "strange" False command-line-as-input thing it doesn't do at all.
19:59:52 <olsner> could've made the python script print a header, then include that header
20:00:02 <comex> it was a quick hack
20:00:06 <ehird> fizzie: what about the 'a' thing
20:00:08 <bsmntbombdood> how did you generate the table?
20:00:36 <fizzie> ehird: What is the 'a' thing?
20:00:36 <comex> bsmntbombdood: brute force modulos until it found one that gave unique results for each possibility
20:00:48 <ehird> fizzie: a-z variables; a is initialized to a pointer to argv
20:00:50 <fizzie> Oh, right, that 'a' thing.
20:00:55 <ehird> so you can read it and + it to access argv
20:00:57 <bsmntbombdood> and your code isn't portable across endianness
20:01:03 <comex> bsmntbombdood: yeah, I know
20:01:12 <ehird> just do an #if on the endianness
20:01:16 <ehird> and have two tablse
20:01:16 <ehird> :P
20:01:17 <comex> if I cared I would fix it and do that :p
20:01:31 -!- asiekierka has quit (Read error: 113 (No route to host)).
20:01:59 * comex tries to find the right include files for compiling it on linux
20:02:33 <fizzie> Yes, no, it doesn't do that. The peek/poke ;/: operations work only for a-z (which actually push 0-25 as the varadr). I don't see where that 'a' thing is specified either.
20:02:37 <fizzie> Oh, there.
20:02:51 <ehird> so it's not really false
20:02:51 <ehird> :P
20:02:59 <bsmntbombdood> maybe i should see if i can write that a little more sensibly
20:03:15 <comex> fizzie/ehird; what're you ralking about?
20:03:23 <fizzie> Well, it's false-ish.
20:03:32 <ehird> we're ralking about rizzie's ralse interpreter in rava
20:03:34 <bsmntbombdood> more sensible, less fast is probably how it'll turn out :(
20:03:36 <ehird> err
20:03:37 <ehird> compier
20:03:40 <ehird> compirer
20:04:03 <ehird> bsmntbombdood: if you adopt the ugly, you get 20ms to morse-decode a 6mb string :P
20:04:15 <bsmntbombdood> not possible
20:04:20 <comex> bsmntbombdood: well, the original assignment was to implement it in Java using a binary tree
20:04:21 <comex> I got creative :p
20:04:25 <ehird> bsmntbombdood: why not?
20:04:28 <ehird> his does that
20:05:28 <comex> I wonder why linux gives less accurate results for clock()
20:05:30 <bsmntbombdood> comex: "...in java" :P
20:06:07 <comex> bsmntbombdood: hey, java was weird
20:06:29 <bsmntbombdood> i assume all the crud in there is so you can call the function from java?
20:06:33 <comex> yeah
20:07:05 <comex> in my java implementation, even though it was written so that it should be O(n), the time taken was increasing way faster than that
20:07:24 <comex> when I saw that, I gave up :p
20:07:47 <comex> (charAt and indexOf only, no new string creation or anything)
20:10:50 <bsmntbombdood> if you want it done right, you have to do it yourself i guess
20:13:16 <bsmntbombdood> what level class is this?
20:15:04 -!- tombom has joined.
20:31:50 <oklopol> yeah like i could sleep after that many liters of coffee :<
20:32:42 <oerjan> for sound sleep, always make sure your blood percentage exceeds your coffee percentage
20:33:03 <oklopol> kerlo: Would you agree with this statement: P is evidence for Q if and only if the probability of P(Q|P) > P(Q). <<< heh, no. i guess i should've asked what you meant before starting to insult you :D
20:33:06 * oerjan has only had one cup today
20:33:14 <kerlo> Yay.
20:33:24 <oklopol> kerlo: by that definition you're right, i think.
20:33:53 <oklopol> i'd define A implies B by P(B|A)>e for some positive e, probably.
20:34:07 <oklopol> and that's not a two-way street
20:34:23 <oklopol> err
20:34:37 <oklopol> or maybe for e=0.5.
20:34:43 <kerlo> Hmm.
20:35:22 <kerlo> So if P(B) = 0.7, then A implies B for all A independent of B.
20:35:26 <kerlo> Fun stuff.
20:36:06 <oklopol> yeah and the moon being yellow implies 1+1=2
20:36:29 <oklopol> that's just how i'd define it, A implies B means if you know A is true, then B is probably true.
20:36:37 * kerlo nods
20:37:03 -!- oerjan has set topic: WARNING: Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/.
20:37:13 <kerlo> Hmm. This chewing gum tastes like rubbing alcohol all of a sudden.
20:37:42 <oerjan> kerlo: that means a little more chewing will set your gums on fire
20:37:56 <kerlo> Cool.
20:38:04 <kerlo> I wonder if this is the taste of glycerol.
20:38:07 <oerjan> the gums of your teeth, too
20:39:06 <oklopol> blah
20:39:10 <oklopol> head
20:39:11 <oklopol> is
20:39:18 <oklopol> broken
20:39:34 <oerjan> yeah it cannot distinguish space from return
20:40:32 <oklopol> i had a great comeback to that, but it would've been many, many lines, and you wouldn't have seen its last word.
20:40:47 <oklopol> so i just decided to do this meta stuff
20:40:52 <oklopol> i hope you enjoy it
20:41:09 <oerjan> i never meta stuff i didn't enjoy
20:42:27 <oklopol> ...you're chokes are killing me
20:42:54 <oerjan> and your spelling
20:43:11 * oklopol is listening to a song coauthored by kerlo and himself
20:43:21 <kerlo> I didn't know I coauthored a song.
20:43:30 <kerlo> What did I contribute?
20:43:45 <oklopol> the main melody
20:43:59 <oklopol> i wrote it on gp and added some random stuff, and now it found it
20:44:02 <oklopol> *now i
20:44:53 <kerlo> Can you send it to me?
20:45:27 <oklopol> well it's a really short snippet but sure
20:48:08 <oklopol> i just wanted to try out that transition i heard in my head when i listened to yours
20:50:02 <oklopol> and the second part is just a random continuation to it, i think i just hacked it up without that much thought, i don't usually go for anything that conventional
20:50:19 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
20:56:13 -!- bsmntbombdood has joined.
21:01:17 <oklopol> kerlo: did you not get it or just didn't feel like commenting?
21:01:44 <oklopol> not saying there's anything to comment, just asking because i have nothing else to do :P
21:03:02 <kerlo> Sorry, my dad asked me for help with something.
21:03:38 <kerlo> I wonder if I'll recognize this.
21:03:57 <oklopol> no worries, i'm not sure what you could possible want to comment about it anyway :P
21:05:50 <kerlo> Yes, I do recognize that.
21:06:35 <oklopol> was that the background you were thinking? i mean i was going songsmith there
21:07:37 -!- KingOfKarlsruhe has joined.
21:08:09 <kerlo> I was thinking something more like the music in Spore, I guess. Something suggestive of being underwater.
21:08:19 <kerlo> Since Spore takes place underwater. :-P
21:08:26 <oklopol> also i should make more music, kinda getting boring listening to this same stuff all the time
21:09:33 <oklopol> kerlo: right i don't really do atmosphere :|
21:09:44 -!- madbr has joined.
21:10:27 <kerlo> Add arpeggiated B minor and C major chords.
21:10:36 <kerlo> And tell me how to spell "arpeggiated" while you're at it.
21:10:51 <oklopol> well looks alright to me
21:10:52 <oklopol> but i can check
21:10:59 <kerlo> I imagine it is.
21:11:02 <AnMaster> oerjan, hi
21:11:03 <oklopol> yeah
21:11:03 <oklopol> correct
21:11:09 <oerjan> ho
21:11:10 <AnMaster> (and hi everyone else)
21:11:14 <madbr> kerlo: together at the same time? :o
21:11:17 <AnMaster> <oerjan> oh and befunge too, with fungot and with AnMaster improving his cfunge
21:11:18 <fungot> AnMaster: but those are about sound, not the host)
21:11:19 <AnMaster> ?
21:11:36 <oklopol> kerlo: arpeggiated b minor and c major where exactly?
21:11:48 <oerjan> AnMaster: someone asked what esolangs were popular at the moment
21:11:52 -!- sebbu2 has joined.
21:12:00 <AnMaster> hm
21:12:03 <AnMaster> befunge+c
21:12:04 <AnMaster> ...
21:12:09 <AnMaster> I actually had some ideas
21:12:11 <AnMaster> about FFI
21:12:28 <AnMaster> oerjan, to allow calling external code from funge
21:12:37 <AnMaster> however the tasks seems very difficult
21:12:50 <AnMaster> I mean, expressing prototypes and such from funge
21:13:05 <AnMaster> and using libffi to construct calls on the fly
21:13:20 <AnMaster> a better approach may be having the user make a simple module that can be useful
21:13:23 <AnMaster> used*
21:13:25 <AnMaster> from cfunge
21:13:30 <AnMaster> like dlopen()ed
21:13:36 <kerlo> No, not at the same time.
21:14:02 <AnMaster> kerlo, err what language is this?
21:14:16 <oklopol> kerlo: well i don't know how to pluralize "where".
21:14:33 <kerlo> AnMaster: um, I'm talking about music in English.
21:14:47 <oklopol> oh not talking to me
21:14:50 <kerlo> I was replying to madbr when I said "no, not at the same time".
21:14:52 <AnMaster> kerlo, ah.
21:14:59 <kerlo> So, where.
21:15:20 <AnMaster> kerlo, there are some esolangs based on music
21:15:30 <oklopol> kerlo: ohh, i thought madbr was some irc contact of yours, and asked you when you'd meet :P
21:15:38 <madbr> hah no way
21:16:39 <kerlo> The main melody goes like this, if I'm not mistaken: (.) F# B D . . E . . B . . . G C D . . E . . C . . . (F# B)
21:17:16 <oklopol> yeah
21:18:29 -!- Slereah has set topic: There is no "i" in UBUNTU | WARNING: Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/.
21:18:33 <madbr> what song&
21:18:51 -!- sebbu has quit (Read error: 145 (Connection timed out)).
21:18:52 -!- sebbu2 has changed nick to sebbu.
21:19:27 <kerlo> Add arpeggiated B minor and C major like this: (G) C E F# B D F# B D F# B D F# B D G C E G C E G C E G (C E)
21:19:49 <tombom> oh, i see
21:19:50 <kerlo> Omit the G C E at the beginning the first time around.
21:19:57 <madbr> that's like B phrygian
21:20:00 <oerjan> grappa rapida
21:20:22 <oklopol> kerlo: so Bm on top of the E..B.. too?
21:20:58 <kerlo> oklopol: yes.
21:21:49 <madbr> reminds me of the transformers theme (except that's in A I think)
21:22:23 <oklopol> listening to other stuff, so i can't say for sure what it'd sound like
21:22:32 <oklopol> seems like that E'd be a waste
21:23:13 <oklopol> madbr: congrats for perfect pitch
21:23:23 <madbr> I don't have perfect pitch
21:23:30 <oklopol> err k
21:23:42 <kerlo> F is sharp, A is not used, everything else is natural, and I don't know what the tonic is but suspect it's B.
21:24:05 <madbr> just a keyboard right next to my computer :D
21:24:20 <oklopol> oh
21:24:39 <madbr> kerlo: Is it some song or something you're composing?
21:25:19 <kerlo> madbr: not willfully. :-P
21:25:37 <kerlo> I mentioned a melody once, and then oklopol used it.
21:25:40 <oklopol> kerlo: yeah i don't think you can have Hm
21:25:46 <oklopol> i mean
21:25:47 <oklopol> Bm
21:26:03 <oklopol> in the second bar
21:26:06 <madbr> Bm, C?
21:26:25 <kerlo> oklopol: how are you dividing this into bars?
21:26:31 <madbr> Well, E is the 4th of B
21:26:40 <madbr> And specifically Bm
21:26:49 <oklopol> kerlo: so that there are two bars of Bm in yours.
21:27:07 <oklopol> madbr: well yes, clearly it doesn't work on paper
21:27:09 <kerlo> F# B | D . . | E . . | B . . | . G C | D . . | E . . | C . . | .
21:27:10 <madbr> Afaik that's a weak note but no problem over Bm
21:27:27 <oklopol> i just don't think it sounds good.
21:27:34 <oerjan> tonics divided into bars, but no gin?
21:28:02 <kerlo> C E | F# B D | F# B D | F# B D | F# B D | G C E | G C E | G C E | G
21:28:07 <madbr> Bm, Em, Bm, C could fit too
21:28:16 <oklopol> kerlo: okay i had twice as long bars
21:28:37 <kerlo> F# B | D . . E . . | B . . . G C | D . . E . . | C . . .
21:28:45 <oklopol> madbr: yeah Em is what i had, and what's the obvious chord
21:28:53 <kerlo> C E | F# B D F# B D | F# B D F# B D | G C E G C E | G C E G
21:29:02 <madbr> that or Bm11
21:29:34 <oklopol> yeah of Bsus4 or Aadd9.
21:29:51 <oklopol> *or
21:29:51 <kerlo> oklopol: so you don't like the chords I gave?
21:30:08 <oklopol> kerlo: no i think the second bar kills the melody.
21:30:11 <oklopol> but
21:30:32 <oklopol> do realize i'm used to my own chords, i may just not understand your vision.
21:30:52 <kerlo> oklopol: I'd like you to send me a MID of it.
21:31:06 <kerlo> Not that I don't have a piano and some ability to play it.
21:31:07 <oklopol> it's a short snippet, esoteric ideas will usually sound crappier without company.
21:31:13 <kerlo> MID is easier. :-P
21:32:03 <oklopol> k wait a sec
21:32:55 <oklopol> http://www.vjn.fi/oklopol/music/jeesjess.mid
21:34:32 <AnMaster> kerlo, what does "arpeggiated" _mean_?
21:34:36 <madbr> Em7 Fm7 perhaps?
21:34:39 <oklopol> i don't see how that'd sound good in any context, so i'm assuming you either explained or represented it wrong
21:34:41 <AnMaster> I can't find it in a dictionary
21:34:46 <AnMaster> so I can't translate to Swedish
21:34:48 <kerlo> AnMaster: play the notes sequentially, not simultaneously.
21:34:50 <oklopol> err
21:34:51 <kerlo> As an arpeggio.
21:34:55 <AnMaster> kerlo, oh right
21:34:56 <oklopol> explained or thought it wrong
21:35:12 <AnMaster> kerlo, what was the melody supposed to be?
21:35:22 <kerlo> oklopol: I don't think you aligned it right.
21:35:25 <AnMaster> I tried it on my piano, but not knowing any timing information...
21:35:32 <madbr> what is it, some sort of musical tarpit? :D
21:35:34 <AnMaster> quite nice tune
21:35:43 <AnMaster> madbr, there exists such
21:35:49 <AnMaster> forgot the name
21:35:52 <oklopol> kerlo: well how about you do it.
21:35:53 <kerlo> The first F# of the chords is aligned with the first D of the melody.
21:35:58 <AnMaster> there was one with music as only storage
21:36:04 <kerlo> Okay. What program are you using to do this?
21:36:14 <kerlo> AnMaster: the melody isn't supposed to be anything in particular.
21:36:20 <AnMaster> madbr, with a "Schönberg command" for 12 random notes
21:36:21 <AnMaster> iirc
21:36:39 <madbr> haha
21:36:48 <AnMaster> madbr, it was one of the entries to the esolang contest of some year
21:36:53 <AnMaster> don't remember which
21:36:59 <oklopol> kerlo: so don't listen to the first three notes of the guitar, it's not like they are the ones that sound bad.
21:37:06 -!- Sgeo has joined.
21:37:35 <kerlo> Okay.
21:37:44 <Sgeo> hm?
21:37:45 <AnMaster> http://www.stephensykes.com/choon/choon.html
21:37:49 <AnMaster> madbr, that was it ^
21:37:55 <bsmntbombdood> what's that file pastebin that works?
21:37:58 <kerlo> In that case, it sounds perfectly fine to me.
21:38:15 <AnMaster> madbr, also has the "john cage" command. Pause
21:39:09 <bsmntbombdood> i was going through ~, cleaning it out, and look what i find...
21:39:11 <bsmntbombdood> http://filebin.ca/hdjbby
21:39:24 <bsmntbombdood> oklopol professing something strange about chainsaws
21:39:32 <kerlo> I thought you were referring to the dissonance at the final repetition of F# B D overlaid with . G C.
21:39:36 <madbr> hm :)
21:39:53 <oklopol> kerlo: no. the E
21:40:24 <AnMaster> bsmntbombdood, original file name?
21:40:26 <oklopol> no dissonance, just sounds worse than Em imo.
21:40:28 <AnMaster> also what does it mean?
21:40:30 <madbr> finnish?
21:40:33 <AnMaster> I don't know Finnish
21:40:39 <bsmntbombdood> AnMaster: ask oklopol
21:40:48 <AnMaster> madbr, yes it is Finnish, I know that, but I don't speak the language
21:41:00 * AnMaster can handle Swedish and English
21:41:09 <madbr> was just trying to guess what language it was
21:41:24 <oklopol> heh, i love my voice
21:41:32 <AnMaster> oklopol, and what does it mean?
21:41:51 <oklopol> listen closely to the last word
21:42:00 <oklopol> then ask again if you're still interested.
21:42:24 <AnMaster> oklopol, I can't hear the last word really, it is cut short it seems
21:42:39 <AnMaster> bsmntbombdood, also what was the original filename
21:42:41 * kerlo makes some MIDIs
21:42:45 <AnMaster> oklopol, anyway what did it mean?
21:42:51 <bsmntbombdood> the original filename was "terat.wav"
21:42:53 <bsmntbombdood> dunno what that means
21:43:11 <Sgeo> So a John Cage isn't simply a zero
21:43:32 <oklopol> AnMaster: fuck me gently with a chainsaw
21:43:41 <oklopol> the blades feel great on my genitals
21:43:48 <oklopol> well maybe "wonderful"
21:43:49 <bsmntbombdood> :D
21:43:56 <AnMaster> ok...
21:44:10 <AnMaster> oklopol, you are weir
21:44:11 <oklopol> (bsmntbombdood's sentence, i was just the delivery boy.)
21:44:12 <AnMaster> weird*
21:44:17 <oklopol> anyway sleep time
21:44:22 <oklopol> and yeah, i guess i might be a little
21:44:24 <oklopol> ->
21:44:38 <AnMaster> bsmntbombdood, you wanted that said?
21:44:49 <bsmntbombdood> AnMaster: it is my fantasy
21:44:56 <AnMaster> I don't want to know more
21:45:04 <AnMaster> nor why in Finish
21:45:04 <madbr> he needed to explain it to his finnish hooker
21:45:12 <AnMaster> madbr, -_-
21:47:08 <oklopol> kerlo: okay this is getting ridiculous
21:47:14 <oklopol> i just realized
21:47:16 <oklopol> we're both right again
21:47:17 <AnMaster> what is?
21:47:32 <oklopol> you're thinking of the "F# B" notes as a... wait what's the term
21:47:40 <oklopol> anyway that they start before the first bar
21:47:42 <oklopol> right?
21:47:51 <AnMaster> oklopol, chord?
21:47:55 <oklopol> in that case, Bm *would* work for the second bar.
21:48:05 <madbr> "levée" in fr.
21:48:17 <AnMaster> oklopol, anything works. As Schönberg proved ;P
21:48:21 <kerlo> oklopol: well, I said "omit the C E the first time around". You actually have B D where I have C E.
21:48:24 <oklopol> (but, in that case i'm less impressed by the melody)
21:48:43 <lament> i thought schonberg actually proved that most things don't work :)
21:48:53 <madbr> lament: :)
21:48:57 <AnMaster> lament, well he became famous
21:49:03 <AnMaster> I don't like his music
21:49:13 <madbr> and almost killed classical music?%
21:49:15 <AnMaster> but it all depends on how you measure "works"
21:49:16 <oklopol> kerlo: i'm talking about the two first notes, so i'm not sure what you're saying.
21:49:34 <lament> he became famous in what was basically the age of mass hysteria where everybody went crazy and started claiming that bad art was good.
21:49:38 <oklopol> ohh
21:49:41 <oklopol> "kerlo: F# B | D . . E . . | B . . . G C | D . . E . . | C . . ."
21:49:45 <oklopol> well, here you say it :D
21:49:49 <AnMaster> madbr, hm? Personally I like classical music, as well as more modern music (like Debussy)
21:49:58 <oklopol> i did not read that, sorry.
21:50:00 <AnMaster> I consider classical music to only refer to the classical period
21:50:02 <madbr> tenchincally first bar is | D . . E . . |
21:50:14 <lament> AnMaster: Debussy was way before schonberg killed classical
21:50:24 <madbr> Well, I mean classical music in the large sense of course
21:50:35 <AnMaster> lament, yes. But schonberg didn't kill classical. Since classical refers to the classical period
21:50:36 <oklopol> kerlo: so, my updated opinion is we're both right, and that our disagreement was because of the snippet being too short.
21:50:42 <madbr> Just like "tonal" can have both a large meaning or a small one
21:50:47 <AnMaster> in Swedish we have a better name for the larger sense: konstmusik
21:50:52 <AnMaster> meaning art music
21:50:55 <AnMaster> literally
21:51:10 <oklopol> madbr: yes, i thought it was | . F# B D . . |
21:51:11 <oerjan> vad konstig
21:51:12 <lament> schonberg didn't really kill anything, music is still around
21:51:15 <oklopol> the melody is more interesting that way.
21:51:17 <AnMaster> modern classical music just sounds utterly silly
21:51:17 <oklopol> imo
21:51:24 <AnMaster> oerjan, you don't have it in Norwegian?
21:51:39 <kerlo> oklopol: okay.
21:51:40 <oerjan> actually no, though that was a pun
21:51:41 <oklopol> anyway, back to sleep, just came to apologize for once again not actually listening to anyone else, just assuming they're idiots.
21:51:57 <AnMaster> Anyway I don't like all of the music Debussy produced.
21:51:58 <oklopol> WHICH YOU STILL PROBABLY ARE, I JUST HAVEN'T CAUGHT YOU YET
21:51:58 <AnMaster> :P
21:51:59 <oklopol> ->
21:52:00 <madbr> lament: no, but the output of classical composition stuff in universities is disappointing because of people like him
21:52:45 <lament> madbr: the output of classical composition stuff in universities is disappointing because it's a bad way to teach composition
21:52:51 <lament> nothing to do with schonberg
21:53:24 <AnMaster> oerjan, hm
21:53:32 -!- Arrogant has joined.
21:53:32 <ehird> 21:51 AnMaster: modern classical music just sounds utterly silly <-- considering your general reaction to these things, 'classical' can be omitted for you.
21:53:49 <AnMaster> ehird, what I was talking about the word...
21:53:51 <lament> madbr: as i understand it, academical classical composition basically spends years showing you how to compose in the styles of dead people.
21:53:52 <AnMaster> not the music
21:54:02 <AnMaster> as in the term "modern classical music"
21:54:06 <ehird> yes, don't let that detract from my joke
21:54:16 <madbr> lament: probably depends on the place though
21:54:20 <AnMaster> ehird, your joke is highly irrelevant
21:54:30 <ehird> your butt is highly irrelevant.
21:54:32 <AnMaster> ehird, Plus I *do* like some modern non-classical music.
21:54:39 <oerjan> AnMaster: actually we seem to have the term (kunstmusikk)
21:54:41 <ehird> so anyway, it turns out this works in C:
21:54:42 <AnMaster> ehird, just you would never believe what
21:54:44 <ehird> int stk[1];
21:54:51 <ehird> gives you an infinite length array
21:54:54 <ehird> (at global level)
21:54:58 <ehird> (I knew it worked inside functions0
21:55:07 <AnMaster> ehird, for example would you believe I liked Leonard Cohen's earlier works? Or Enya?
21:55:13 <AnMaster> Just some examples :P
21:55:18 <ehird> AnMaster: I wouldn't if you hadn't already said that 50 times in the past.
21:55:25 <lament> madbr: not really, i mean, what else can they teach?
21:55:29 <AnMaster> ehird, no I haven't
21:55:32 <AnMaster> more like 5
21:56:12 <ehird> what does -fomit-frame-pointer actually do, btw
21:56:46 <AnMaster> ehird, it omits the frame pointer register reservation, making back traces impossible, but freeing up a general purpose register for use by the register allocator
21:56:52 <AnMaster> ehird, as google could have told you
21:57:01 <madbr> lament: well, what I've had was "analysis" class where they basically taught classical style, and "composition" where they taught, ahem, "avanced" techniques
21:57:04 <ehird> 21:56 AnMaster: ehird, as google could have told you
21:57:10 <ehird> don't you see any irony in that?
21:57:16 <AnMaster> ehird, yes, I was being ironic
21:57:20 <ehird> AnMaster: also, google only gives me things like 'Suppress creation of frame pointers on call stack. Frees the EBP register for other uses.'
21:57:21 <AnMaster> over you asking in here
21:57:24 <lament> madbr: was it all a huge waste of time?
21:57:29 <AnMaster> INSTEAD OF GOOGLING WHICH YOU ALWAYS SUGGEST I SHOULD DO
21:57:30 <ehird> which is patently useless, as I didn't know what the fuck a frame pointer was
21:57:41 <ehird> CAPS LOCK MAKES YOUR ARGUMENT MORE VALID RAAAAR INTERNET RAGE
21:57:44 <AnMaster> ehird, it is used for stuff like back traces
21:57:52 <ehird> if I ask here, I've already google.
21:57:53 <ehird> *googled
21:58:09 <AnMaster> ehird, to find where the return address is iirc
21:58:16 <AnMaster> I'm not 100% sure on details
21:58:20 <ehird> hmm
21:58:26 <ehird> globally, where does 'int stk[1]', I wonder?
21:58:30 <madbr> lament: Depends, not all of it, but I wonder how those people can say they're making music with a straight face :D
21:58:33 <ehird> It's mutable, so not in one of the .o sections.
21:58:36 <ehird> The heap?
21:58:40 <AnMaster> ehird, what? Grammar?
21:58:48 <ehird> es 'int stk[1]' go, I
21:58:51 <ehird> ^ patch
21:58:56 <AnMaster> ah right
21:58:58 <AnMaster> that I know too
21:59:08 <AnMaster> ehird, if you have a global variable like that it goes into the .data section
21:59:11 <AnMaster> in the *.o file
21:59:12 <AnMaster> well
21:59:13 <ehird> AnMaster: .data is mutable?
21:59:15 <AnMaster> that depends
21:59:19 <AnMaster> it may go into .bss
21:59:28 <AnMaster> ehird, yes. .rodata isn't
21:59:31 <ehird> ah
21:59:32 <AnMaster> however this is for ELF
21:59:33 <bsmntbombdood> oh damnit
21:59:37 <lament> madbr: mass insanity, i'm telling you.
21:59:38 -!- oerjan has quit ("Gah tired").
21:59:38 <AnMaster> I don't know about Mach-O
21:59:40 <ehird> because with {int stk[1]} i'm successfully doing "stk[100] = foo"
21:59:44 <ehird> which is nice
21:59:45 <bsmntbombdood> that foo matcher from before is slower that strstr on long strings
21:59:51 <lament> madbr: the past 100 years is kind of the dark age in the history of culture.
22:00:03 <lament> madbr: it seems to be mostly over though
22:00:04 <AnMaster> ehird, err, that may cause nasal demons
22:00:23 <AnMaster> as you probably know
22:00:24 <madbr> lament: dunno... frankly I wonder if it's a religion or something
22:00:25 <ehird> to hell with nasal demons, it works well and does what I want ("just put this shit anywhere, man")
22:00:35 <ehird> if it breaks I accept full responsibility :D
22:00:47 <AnMaster> ehird, anyway, doing stk[4097] = foo is less likely to work
22:00:53 <AnMaster> depends on how large the data segment is
22:00:57 <ehird> ah
22:01:03 <AnMaster> but since x86 page size is 4096 bytes..
22:01:05 <ehird> well, FALSE only guarantees a 20kb stack iirc
22:01:13 <madbr> seems tied with "postmodernism" (which is like the most concentrated form of that sort of thought)
22:01:14 <AnMaster> wait
22:01:15 <ehird> so I could possibly break it into segments
22:01:21 <AnMaster> int is 4 bytes
22:01:22 <lament> madbr: mass hysteria - see the dutch tulip mania for a similar example
22:01:22 <AnMaster> meaning...
22:01:24 <ehird> madbr: postmodernism is so stupid.
22:01:25 * AnMaster consiuders
22:01:28 <AnMaster> considers*
22:01:34 <AnMaster> it would break by 1/4 of that
22:01:36 <madbr> And with some marxism tied in it
22:01:44 <ehird> AnMaster: before you're blabbing about this,
22:01:51 <AnMaster> ehird, anwyay you are likely to end up overwriting stuff like stdout
22:01:54 <ehird> keep in mind that my next solution is to put this on the c stack.
22:01:57 <ehird> With inline asm.
22:02:04 <ehird> So, you might wanna keep quiet.
22:02:07 <AnMaster> ehird, that is the data segment stuff needed by stdio
22:02:10 <bsmntbombdood> what are we talking about?
22:02:14 <ehird> AnMaster: hm.
22:02:16 <ehird> bsmntbombdood: Evil.
22:02:20 <madbr> It's like a ball of pseudointellectualism
22:02:34 <AnMaster> ehird, just do it the well defined way, it is way less likely to crash
22:02:49 <ehird> AnMaster: what's the well-defined way to have a global VLA that works in C89
22:03:18 <madbr> Usually with some french intellectuals
22:03:20 <AnMaster> ehird, there is also stuff like __data_start and __dso_handle
22:03:38 <AnMaster> ehird, on heap do the 1 variant
22:03:44 <AnMaster> and malloc with larger size
22:03:46 <AnMaster> it works
22:03:54 <ehird> Right, I don't want to continually check bounds & realloc
22:03:56 <AnMaster> ehird, but you were asking about global/static variables right?
22:04:00 <ehird> Yes
22:04:07 <ehird> This is for the global data stack of the language
22:04:09 <AnMaster> ehird, even with VLAs you need to check bounds.
22:04:23 <AnMaster> C won't do it
22:04:47 <ehird> I'm fine crashing on that
22:05:21 <AnMaster> ehird, also VLAs == on stack. Flexible array members is the thing in C99 structs
22:05:35 <ehird> yes, I meant VLA in a generic sense
22:06:13 <ehird> [8221`29184`9336`4`50510`20142`65338`50510`11008`]a:{ allocmem (size-mem) }
22:06:18 <ehird> somehow I doubt this will work on non-Amiga :D
22:06:26 <ehird> (i` writes the raw machine code i to the output file)
22:06:32 <AnMaster> ehird, then the portable way is probably: mv main.c main.cpp and replace with std::stack<std::default_allocator<<<>>>,...>
22:06:42 <AnMaster> ehird, there is no trivial VLA in C
22:06:48 <ehird> AnMaster: then I'll stick with what I have til it breaks :P
22:06:51 <AnMaster> that will work magically
22:06:58 <AnMaster> ehird, how large array do you need?
22:07:06 <ehird> as large as possible.
22:07:16 <bsmntbombdood> alloca?
22:07:17 <AnMaster> what is your target system?
22:07:21 <ehird> portable C
22:07:27 <AnMaster> no mmap()?
22:07:28 <AnMaster> hm
22:07:30 <ehird> for values of portable limited to the real world
22:07:49 <AnMaster> ehird, idea: malloc a huge chunk, if it fails try again with a smaller size
22:07:55 <AnMaster> until you find the largest working one
22:08:02 <AnMaster> then use it
22:08:03 <ehird> yeah that'd kill my startup time
22:08:17 <AnMaster> well true
22:08:21 <bsmntbombdood> what are you doing anyway?
22:08:27 <AnMaster> ehird, implement the stack as a linked list, very very slow
22:08:30 <ehird> bsmntbombdood: writing a FALSE compiler, since fizzie did
22:08:32 <ehird> AnMaster: urg
22:08:34 <bsmntbombdood> what's false?
22:08:47 <bsmntbombdood> and use mmap
22:08:54 <ehird> http://strlen.com/false/
22:08:56 <bsmntbombdood> because it will only allocate when you write
22:08:57 <AnMaster> bsmntbombdood, he said portable C...
22:08:57 <AnMaster> duh
22:08:58 <ehird> old esolang
22:09:05 <AnMaster> ehird, also did you say compiler?
22:09:08 <AnMaster> so you generate ASM?
22:09:09 <bsmntbombdood> AnMaster: fuck non posix
22:09:17 <Sgeo> "The doctors did what had to be done: save the life of a girl of nine years old,'' he said, adding that "in this case, the medical profession was more right than the church.''
22:09:18 <AnMaster> ehird, then just use the system stack
22:09:20 <ehird> AnMaster: I generate C. But I'm adding an asm backend after this, the C is just to check it worked.
22:09:23 <AnMaster> ehird, in the compiled program
22:09:25 <Sgeo> erm
22:09:27 <Sgeo> Wrong channel
22:09:29 <AnMaster> ehird, wait a sec....
22:09:31 <AnMaster> I have an idea
22:09:34 <ehird> AnMaster: I'm calling c functions
22:09:38 <ehird> so using the c stack would fail badly
22:09:42 <AnMaster> dammit
22:09:43 <AnMaster> brk(), sbrk(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
22:09:45 <AnMaster> :/
22:09:49 <ehird> heh
22:10:07 <AnMaster> ehird, it would allow you to use the C stack however
22:10:10 <AnMaster> wait
22:10:15 <AnMaster> C heap*
22:10:18 <AnMaster> in an easy way
22:10:25 <AnMaster> ehird, just make sure to never malloc anything else
22:10:25 <bsmntbombdood> i don't understand the problem here
22:10:29 <ehird> I'm just doing int stk[1] until I get an overflow.
22:10:39 <AnMaster> ehird, you are going to get memory corruption
22:10:47 <ehird> I'll let you know when that happens, then fix it.
22:10:58 <AnMaster> ehird, I don't know Mach-O exactly, but on Linux you would hit it after 1-2 pages
22:11:17 <AnMaster> hm wait
22:11:24 <AnMaster> data segment is *last*
22:11:26 <AnMaster> well
22:11:29 <AnMaster> apart from .bss
22:11:54 <AnMaster> and .bss is for "zero fill at load time"
22:12:03 <AnMaster> while .data loads the actual data from the binary
22:12:03 <AnMaster> so
22:12:10 <AnMaster> you are going to get page faults yes
22:12:23 <AnMaster> by writing out into the void of the heap
22:12:24 <bsmntbombdood> i thought he wanted portable?
22:12:30 <AnMaster> bsmntbombdood, yes
22:12:30 <bsmntbombdood> why are you talking about elf?
22:12:41 <AnMaster> but his suggestion is even less portable than sbrk()
22:12:47 <AnMaster> it is unportable to *EVERYTHING*
22:13:01 <bsmntbombdood> $ ulimit -s
22:13:01 <bsmntbombdood> 8192
22:13:05 <AnMaster> ..
22:13:08 <bsmntbombdood> an 8 mb stack is enough for anyone
22:13:18 <AnMaster> bsmntbombdood, he want to do this on heap anyway
22:13:26 <AnMaster> or should at least
22:13:30 <bsmntbombdood> i mean, the stack for the program he's running
22:13:36 <bsmntbombdood> just malloc 8 megabytes
22:13:36 <ehird> AnMaster: how many more times do I have to say "I will fix it when it comes up"
22:13:39 <ehird> before you stop whining about it?
22:13:51 <ehird> bsmntbombdood: technically, 20kb would be enough.
22:13:57 <ehird> since that's what the old FALSE used
22:14:08 <bsmntbombdood> then what are you on about?
22:14:13 <AnMaster> ehird, just one last thing: Likely you are going to get hard to detect corruption first. Only after are you going to segfault
22:14:30 <AnMaster> so it may seem to run fine even with your solution while your stack is corrupted
22:14:36 <AnMaster> or rather, your heap
22:17:37 <AnMaster> ehird, idea: char stack[1024*20];
22:17:53 <ehird> no duh.
22:18:07 <bsmntbombdood> i really do not understand this discussion
22:18:37 <AnMaster> ehird, you could use the C stack, and that would be fastest. But probably you would run out pretty quickly
22:18:50 <ehird> ehird: AnMaster: how many more times do I have to say "I will fix it when it comes up"
22:18:50 <ehird> 22:13 ehird: before you stop whining about it?
22:19:01 <bsmntbombdood> ehird: do it the right wya
22:19:03 <AnMaster> hm
22:19:41 <AnMaster> ehird, just saying that you _will_ most likely get hard to debug issues. Like memory corruption in libc, or of other variables. Stuff on heap
22:19:52 <ehird> I would thank you if you hadn't told me 50 goddamn times already!!
22:20:17 <AnMaster> ehird, you seem to confuse 50 and 5 a lot
22:20:22 <bsmntbombdood> what exactly are you trying to do?
22:20:22 <AnMaster> this is the second time today
22:20:30 <AnMaster> bsmntbombdood, duh. He said that above.
22:20:41 <AnMaster> bsmntbombdood, A FALSE to C compiler
22:21:54 <bsmntbombdood> and why is allocating a fixed size stack on the C heap not acceptable?
22:22:26 <AnMaster> bsmntbombdood, ask eh ird
22:22:49 <AnMaster> go ahead, highlight him, ask it. Don't be shy!
22:22:51 * AnMaster runs
22:22:55 <bsmntbombdood> ehird: well?
22:23:07 <ehird> this is all AnMaster talking, actually
22:23:14 <ehird> if you want to know something about the warped model he has of my compiler, ask him
22:23:15 <AnMaster> eh? no
22:23:26 <AnMaster> wrapped memory is fun
22:23:27 <AnMaster> :)
22:23:36 <AnMaster> (yes I realise that wasn't relevant at all)
22:26:44 <ehird> wonder if gcc can optimize
22:26:45 <ehird> *top++ = (int)f0;
22:26:46 <ehird> *top++ = (int)f1;
22:26:48 <ehird> x = *--top; y = *--top;
22:26:54 <ehird> (to x = (int)f0; y = (int)f1; ofc)
22:27:27 <AnMaster> ehird, what about modifying top?
22:27:39 <ehird> AnMaster: top++; top++; --top; --top;
22:27:40 <ehird> no net effect
22:27:43 <AnMaster> well, rather were top points to
22:27:54 <ehird> wait, what are you talking about?
22:28:06 <AnMaster> ehird, gcc still has to write to the location top points to.
22:28:16 <ehird> no it doesn't
22:28:26 <AnMaster> well, it can't know it is a stack
22:28:30 <ehird> the above is semantically equivalent to x=(int)f0; y=(int)f1;
22:28:37 -!- Arrogant has quit ("Leaving").
22:28:38 <ehird> well, hm
22:28:41 <ehird> yeah, I guess gcc is idiotic
22:28:45 <AnMaster> ehird, yes but only because top is the top of a stack
22:28:55 <AnMaster> it can't know the values aren't useful to you
22:28:56 <AnMaster> above top
22:29:04 <AnMaster> so it will probably do it to:
22:29:05 <bsmntbombdood> ehird: wright your own optimizer
22:29:07 -!- M0ny has quit ("Quit").
22:29:16 <ehird> i'll get wright on it
22:29:25 <ehird> *BADUM TISHHHHH*
22:29:30 <AnMaster> ehird, x = *top = (int)f0; y = *(top+1) = (int)f1;
22:29:32 <AnMaster> something like that
22:29:56 <ehird> right, those two are from separate parts
22:30:02 <ehird> to merge them would be a pain on the backend
22:30:05 <AnMaster> ehird, hm?
22:30:10 <ehird> *top++ = (int)f0;
22:30:10 <ehird> *top++ = (int)f1;
22:30:12 <ehird> and
22:30:15 <ehird> x = *--top; y = *--top;
22:30:17 <AnMaster> right
22:30:18 <ehird> are generated right after each other
22:30:19 <ehird> not as one
22:30:49 <AnMaster> ehird, generate an IR and then merge the nodes in the graph
22:30:52 <ehird> no
22:30:58 <AnMaster> or something
22:31:02 <AnMaster> ehird, why not?
22:31:08 <ehird> that's a pain :P
22:31:36 <AnMaster> well..
22:31:47 <AnMaster> I guess so
22:31:50 <ehird> ps:
22:31:51 <AnMaster> you won't get perfect speed
22:31:52 <ehird> - if you do not write a flush (ß) at the start of a program that
22:31:52 <ehird> processes the input to the output, you will get a <lf> as
22:31:53 <ehird> first input: this is actually the commandline. example:
22:31:56 <ehird> a.out blabla <in >out
22:31:58 <ehird> then a.out will first read "blabla" as a line, then the contents
22:31:59 <ehird> of "in".
22:32:02 <ehird> i hate that.
22:32:12 <AnMaster> ehird, oh why?
22:32:24 <AnMaster> btw
22:32:28 <ehird> because I have to convert argv to a space separated string, and then every time I read check if we're done reading argv yet
22:32:28 <AnMaster> in what encoding
22:32:29 <AnMaster> ?
22:32:33 <ehird> ...
22:32:34 <ehird> what do you mean
22:32:42 <AnMaster> " if you do not write a flush (ß)"
22:32:49 <ehird> whatever the amiga used
22:32:49 <AnMaster> is that ß as UTF-8?
22:32:52 <ehird> the original compiler was for the amiga
22:32:55 <ehird> its implementation defined
22:32:58 <AnMaster> hm ok
22:32:59 <ehird> I handle both utf-8 and iso
22:33:02 <ehird> the examples use iso
22:33:08 <ehird> windows style I think
22:33:33 <AnMaster> ehird, but do you handle... UTF-EBCDIC?!
22:33:37 <AnMaster> yes that exists iirc
22:33:46 <ehird> no. No I do not.
22:33:54 <ehird> Patches unwelcome.
22:33:54 <AnMaster> http://en.wikipedia.org/wiki/UTF-EBCDIC
22:34:11 <AnMaster> it is one of the strangest ideas I have come across
22:34:43 <ehird> strlen((char *)argv) + argc - 1 /* i so hope this works */
22:34:48 <AnMaster> that is strangest ideas in the charset encoding area
22:34:59 <AnMaster> ehird, err
22:35:00 <AnMaster> what?
22:35:10 <AnMaster> that assumes argv is one argument
22:35:16 <ehird> oh, right, dammit
22:35:19 <AnMaster> that would get string length of argv[0]
22:35:21 <AnMaster> that is all
22:35:21 <ehird> grr
22:35:27 <AnMaster> +
22:35:31 <AnMaster> char **argv
22:35:36 <ehird> yes, and
22:35:41 <ehird> that's why I casted it
22:35:42 <AnMaster> ehird, they aren't even after each other in memory
22:35:52 <ehird> aagh
22:35:57 <ehird> hate hate hate
22:36:02 <bsmntbombdood> wtf is this shit
22:36:03 <bsmntbombdood> come on
22:36:10 <AnMaster> ehird, why is it so hard to handle?
22:36:19 <AnMaster> I mean. cfunge has to handle it.
22:36:19 <ehird> bsmntbombdood: i'm lazy
22:36:20 <ehird> :)
22:36:22 <AnMaster> And I don't complain
22:36:26 <ehird> also, I'm not actually asking
22:36:36 <AnMaster> wait, I don't need to strdup it there
22:36:38 <AnMaster> I think
22:36:42 <ehird> I'm just whining before fixing it and AnMaster gives a 10 minute response about how he would never complain
22:36:42 * AnMaster considers
22:37:05 * AnMaster goes optimising away a strdup call in cfunge
22:39:42 <ehird> hmph, stpcpy isn't portable. it should be
22:43:13 <Sgeo> stp?
22:44:41 <AnMaster> ehird, and nor is strdup() btw
22:45:14 <AnMaster> ehird, also I prefer strlcpy
22:45:21 <AnMaster> which is *BSD specific
22:48:51 <bsmntbombdood> what do you mean strcpy isn't portable?
22:49:00 <ehird> % ./a.out
22:49:01 <ehird> a
22:49:02 <ehird> zsh: bus error ./a.out
22:49:02 <bsmntbombdood> CONFORMING TO
22:49:03 <bsmntbombdood> SVr4, 4.3BSD, C89, C99.
22:49:04 <ehird> huray
22:49:09 <fizzie> Yes, but stpcpy is not.
22:49:13 <AnMaster> ehird, I told you so
22:49:17 <ehird> 22:44 AnMaster: ehird, and nor is strdup() btw
22:49:20 <ehird> AnMaster: no, it's not that
22:49:21 <ehird> stfu
22:49:27 <ehird> i know this because the stack was EMPTY
22:49:31 <AnMaster> hm ok
22:55:40 <Sgeo> Someone should work on implementing the ABCDEF language *ducks*
22:56:02 <AnMaster> Sgeo, specs?
22:56:18 <AnMaster> http://esolangs.org/wiki/Special:Search?search=ABCDEF&go=Go
22:56:22 <AnMaster> didn't find anything
22:56:27 <Sgeo> http://www.harderweb.de/tmp_jix/allofthem.txt
22:56:33 <Sgeo> http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory
22:58:56 <AnMaster> Sgeo, that is TOO incoherent to be implementable
22:59:33 <ehird> no it isn't
22:59:44 <ehird> nothing there is particularly glarly
22:59:46 <ehird> gnarly
22:59:48 <AnMaster> go ahead and implement it then
22:59:55 <AnMaster> ehird, what about the GregorR rule?
23:00:02 <ehird> what about it
23:00:09 <AnMaster> it is contradicted
23:00:15 <ehird> ... no it's not?
23:00:22 <ehird> those are command definitions.
23:00:27 -!- kar8nga has quit (Remote closed the connection).
23:00:37 <AnMaster> oh right
23:02:27 <AnMaster> anyway I won't implement it
23:03:31 -!- MizardX has quit ("kåmpjuter köttdaon").
23:03:49 -!- MizardX has joined.
23:05:22 <ehird> 2. <arm_data_op (aNd eOr sUb rSb aDd aDc sBc rSc tSt tEq cMp cMn oRr mOv bIc mVn) 2nd letter upcase others lowercase >[S] [dest_var,] [n_var,] m_var
23:05:22 <ehird> calculates the arm data op of n_var and m_var storing the result in dest_var (treating them all as 33 bit registers)
23:05:25 <ehird> flags get stored when S is set (like on a real arm)
23:05:27 <ehird> i love that bit
23:07:21 <AnMaster> ehird, can't find it in FALSE spec?
23:07:39 <AnMaster> oh talking about ABCDEF?
23:10:23 <AnMaster> ß (alt-s)--ß{ flush() }
23:10:25 <AnMaster> hm
23:10:27 <AnMaster> almost
23:10:30 <AnMaster> AltGr-s
23:10:32 <AnMaster> makes that here
23:10:39 <AnMaster> night
23:16:18 -!- tombom has quit ("Peace and Protection 4.22.2").
23:19:22 <fizzie> Why is it always "Illegal type in constant pool"? And why can't it give the constant pool index with the supposedly illegal type while it's at it.
23:31:28 <fizzie> That static-analysis bytecode verifier is not liking my stuff. "Expecting to find object/array on stack".
23:33:27 <AnMaster> fizzie, language?
23:33:36 <fizzie> Uh, Java?
23:33:42 <AnMaster> ah ok
23:33:45 <fizzie> Well, False, in a way.
23:33:48 <AnMaster> night really
23:36:38 <fizzie> Ha! The power of open sores: gij-4.3's version of that same error includes also the location: java.lang.VerifyError: verification failed at PC 10 in JVMFalse:main((Lfi.zem.jvmfalse.FalseIO;)V): incompatible type on stack
23:40:03 <fizzie> Next up: VerifyError: Inconsistent stack height 2 != 3. I have a feeling using the jvm operand stack as the False stack won't really work, since the VM is so really intensely boring about what kind of code it wants.
23:42:33 <fizzie> Yes, it complains at the jump-table spot of the code, which is indeed entered with various stack depths. Meh. It sounds like an unfixable restriction. I mean sure, I could use some explicit stack object and push/pop method invocations, but it sounds really boring. (And optimize by using the operand stack inside basic blocks. But that's just boringly boring.)
23:44:25 <fizzie> Yes, it's there in the "4.8.2 Structural constants" of the Java VM specification: "If an instruction can be executed along several different execution paths, the operand stack must have the same depth (§3.6.2) prior to the execution of the instruction, regardless of the path taken."
23:44:34 <bsmntbombdood> what are we talking about?
23:45:10 <fizzie> I have this compiler (maybe too fine a word) which translates False into Java VM bytecode, and it uses the Java VM's operand stack as the False stack.
23:46:15 <fizzie> But the VM has these all kinds of silly restrictions; I can't really require that the False stack depth is always the same for a particular instruction, since it wouldn't make sense at all.
23:47:47 <fizzie> Wow, writing that "compiler" was one rather colossal waste of time.
23:56:16 <ehird> Great, a bus error.
23:56:20 <ehird> Programmer got hit by a bus.
2009-03-08
00:00:31 <ehird> fizzie: is primes.f meant to take 5 years?
00:06:27 <fizzie> Not really, no.
00:07:37 <ehird> Then I have an infinite loop.
00:14:04 * bsmntbombdood rewrites that morse code thing
00:16:05 <Robdgreat> --- .-. .-.. -.--
00:24:58 <bsmntbombdood> urgh
00:46:42 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:54:08 <bsmntbombdood> nevermind
00:54:15 <bsmntbombdood> i got bored writing transition tables
00:59:00 <GregorR> AnMaster, ehird: GregorR rule?
01:08:48 <comex> my homebrew python decompiler is quickly getting too complicated to maintain :(
01:13:50 -!- Jophish has quit (Connection timed out).
01:22:37 -!- GreaseMonkey has joined.
01:24:11 <comex> oh, god
01:24:13 <comex> I was killed by a typo
01:24:16 <comex> 'JUMP_ABSOLUTe'
01:24:40 <comex> well, it decompiles this
01:24:42 <comex> http://pastie.org/410598
01:59:58 <bsmntbombdood> ok i need some morse code test vectors
02:04:02 <bsmntbombdood> looks good
02:05:55 <bsmntbombdood> now for the speed
02:06:47 <bsmntbombdood> comex: how where you measuring time?
02:13:38 <bsmntbombdood> you said an 8mb buffer in 20 milliseconds right?
02:14:03 <bsmntbombdood> i'm doing 8mb in 30 milliseconds right now
02:14:34 <bsmntbombdood> and my computer is probably slower than yours
02:21:29 <bsmntbombdood> anyway, my code, let me show you it
02:23:04 <bsmntbombdood> http://pastie.org/410634
02:37:56 <bsmntbombdood> fine then, ignore me
02:39:54 <comex> state machine?
02:40:04 <comex> anyway it was 6mb
02:40:10 <comex> here, let me get the same buffer
02:40:17 <comex> but that's not a fair comparison either
02:40:31 <comex> c+p my code and run it on the same machine if you want
02:41:04 <comex> mm
02:43:40 <comex> it's also in-place, nice
02:49:57 <comex> ok, on my desktop here are the results:
02:49:59 <comex> ]% gcc -O3 -mtune=native -funroll-loops -o morse morse.c && ./morse
02:50:00 <comex> 189843.000000
02:50:02 <comex> 171221.000000
02:50:09 <comex> former is yours, latter is mine
02:50:36 <comex> with this http://pastie.org/410644
02:51:06 <comex> I switched to 80M :p
02:52:26 <comex> your code ends up shorter in assembly, interesting
02:53:44 <comex> if I change -O3 to -Os, yours is faster
02:54:07 <comex> mainly because the division isn't optimized into multiplication
02:55:19 -!- calamari has joined.
03:08:24 <bsmntbombdood> damn
03:10:27 <bsmntbombdood> that mod in yours can't be good
03:19:06 <bsmntbombdood> wonder how to make it faster
03:47:09 <bsmntbombdood> can't see anything :(
05:05:20 <bsmntbombdood> well i got rid of the branch in the inner loop using a couple lookup tables, but it made it slightly slower
05:05:45 <madbr> heh
05:06:30 <bsmntbombdood> oh wait, i think i may have something
05:19:48 <bsmntbombdood> yay it worked
05:22:44 <bsmntbombdood> http://pastie.org/410691
05:23:25 <bsmntbombdood> 510 milliseconds instead of 600
06:03:02 -!- madbr has quit (Read error: 104 (Connection reset by peer)).
07:14:59 <kerlo> So, I finally have a MIDI file of that little tune up.
07:15:07 <kerlo> http://normish.org/ihope/kerlo.mid
07:18:18 -!- asiekierk has joined.
07:19:09 <Sgeo> I don't get it
07:19:14 <Sgeo> Hi asiekierk
07:19:52 <asiekierk> hi
07:20:10 <asiekierk> what are you discus--- oh wait i'll check the logs
07:21:29 -!- zzo38 has joined.
07:21:32 <Sgeo> kerlo, cool, but a bit short and repetitive
07:21:34 <Sgeo> Hi zzo38
07:22:15 * asiekierk is currerntly listening to: Au Clair de la Lune (1860 recording)
07:22:40 * Sgeo wishes Yahoo! Music Jukebox wasn't the only thing on here capable of playing MIDIs
07:22:55 <zzo38> The idea of akiross, it seems some versions of INTERCAL allow you to change syntax during runtime so that's one possible way....
07:23:16 <asiekierk> You can just include a compiler in the app and recompile the app in memory
07:23:23 <asiekierk> but that kind of sucks
07:24:59 <zzo38> Also, another thing to add to something like INTERCAL with interleave operator, but allows any length of bits (even infinite), you could do things like zero interleave negative one makes one third, etc.
07:25:30 <kerlo> Sgeo: that's why it's called a little tune. :-)
07:25:40 <zzo38> And which INTERCAL is the shortest Hello world output program, maybe CLCLC-INTERCAL. It is: PLEASE ;1 <- #2
07:25:49 <zzo38> DO ;1 SUB #1 <- #17947$#20775
07:26:02 <zzo38> DO ;1 SUB #2 <- #5204$#21386 DO READ OUT ;1
07:26:32 <kerlo> Darn, it's not calculator writing, is it.
07:26:33 <asiekierk> I should make something like a movie script esolang
07:26:39 <kerlo> The 077 confused me for a moment.
07:26:51 <asiekierk> Something like Shakespeare but "more than 100 people can read it"
07:27:01 <kerlo> Epic poem esolang.
07:27:07 <asiekierk> Epic movie esolang.
07:27:32 <zzo38> No, not calculator writing. It is Baudot, encoding 6 Baudot characters in each cell of the array
07:28:00 <zzo38> Another esolang idea is one with mahjong tiles?
07:28:42 <asiekierk> No
07:28:54 <asiekierk> the Epic Movie Esolang (E! ME) wouldn't work
07:29:17 <kerlo> "Three times, Thylakos, Eater of All, attempted to increment status_code; the first two times, he was not successful, but on the third, Apollo descended from the clouds, and told him, 'Hark, Thylakos! That variable is not for you to increment, for it is a private variable of the class NetworkConnection!'"
07:29:30 <asiekierk> ...
07:29:30 <asiekierk> wait
07:29:32 <asiekierk> it would
07:29:39 <asiekierk> but a foreign can't really write it
07:30:05 <zzo38> Do you have another idea of CLCLC-INTERCAL
07:32:27 <Sgeo> Good night all
07:32:31 <zzo38> In your opinion, does 1 + 2 pow 2 + 2 pow 4 + 2 pow 6 + 2 pow 8 and so on make -1/3 in my opinion it does because in binary it is .......010101010101. and if you multiply it by three you get negative one, so therefore it is correct. Or you think the result is infinite? I would like to know your opinion
07:34:29 -!- Sgeo has quit ("Leaving").
07:34:55 <zzo38> Do you like to use FOWER instead of FOUR, or FIFE instead of FIVE
07:35:48 <kerlo> What is the first vowel in "FIFE"?
07:36:17 <kerlo> Also, I think it does make -1/3, but only 2-adically.
07:36:26 <zzo38> It is "I" isn't it? Or is there a vowel missing
07:36:44 <kerlo> But what sound is it?
07:38:13 <zzo38> What does 2-adically means exactly I never learned 2-adically math. But I did see it mentioned in the book ROAD TO REALITY and all it says is the numbers are allowed to be infinite on the left instead of on the right. The rest I just did myself and don't know about proper 2-adically and whether mine is proper
07:39:15 <zzo38> And I think the sound is "I" sound like FIVE but possibly slightly different because of the following consonant but that is what I heard anyways is the standard for air traffic control, although nobody uses it and nobody cares
07:45:09 <zzo38> O, and do esolang people have any preferences having to do with mahjong game
07:50:09 <zzo38> Yes
07:50:51 <asiekierk> zzo38, were you replying to me
07:50:53 <asiekierk> or what
07:51:15 <zzo38> Yes I am replying to you asiekierk!i=africalo@078088180066.elb.vectranet.pl
07:51:22 <asiekierk> whew
07:51:33 <asiekierk> How's your console specification going on? I think you made one...
07:52:12 <asiekierk> also, you should reply like this to a private message: /msg asiekierk Yes
07:52:43 <zzo38> Yes I did but I am writing software and specifications more a bit, and then one day I need to get a computer hardware and stuff, and then I can write the software more, testing it, make a company, and a few more things, make manual, etc, and then it will be complete.
07:53:25 <zzo38> O sorry I missed that the message was private but now I notice it.
07:54:00 <asiekierk> Well, this was a command
07:59:32 -!- zzo38 has quit ("Thanks I sleep now. But I will continue to read the log if you want to reply to my question(s)/etc").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:32 -!- Asztal has quit (Remote closed the connection).
08:05:07 -!- kerlo has quit (Read error: 60 (Operation timed out)).
08:21:49 -!- GreaseMonkey has quit ("Client Excited").
08:24:25 -!- calamari has quit ("Leaving").
08:50:03 -!- psygnisfive has joined.
08:55:08 <oklopol> o
09:18:39 -!- oklopol has quit (Read error: 110 (Connection timed out)).
09:18:42 -!- oklopol has joined.
09:20:09 <psygnisfive> oko
09:22:12 <oklopol> okokokokokoko
09:23:08 <psygnisfive> <3
09:33:29 <oklopol> ;)
09:41:13 -!- tombom has joined.
09:55:55 -!- asiekierk has quit (Read error: 60 (Operation timed out)).
09:57:10 -!- Judofyr has joined.
09:58:20 -!- KingOfKarlsruhe has joined.
09:58:29 <psygnisfive> so this guy paul pietroski from university of maryland
09:58:45 -!- asiekierka has joined.
09:58:48 * asiekierka is probably ill
09:58:53 <psygnisfive> is working on a very interesting version of semantic logic that looks more like a sort of combinatory calculus
09:59:08 * asiekierka doesn't need to go to school :P
09:59:13 * asiekierka therefore can work on his projects
09:59:57 <psygnisfive> in which there are strictly monadic predicates and highly restricted dyadic predicates
11:25:22 <AnMaster> <GregorR> AnMaster, ehird: GregorR rule? <-- in ABCDEF
11:25:38 -!- Asztal has joined.
11:51:13 -!- Jophish has joined.
11:54:00 -!- kar8nga has joined.
12:23:57 -!- Mony has joined.
12:51:06 <AnMaster> Deewiant, there?
12:51:11 <AnMaster> I disagree with mycology
12:51:24 <AnMaster> FILE's 1R at end of file should reflect IMO
12:51:43 <Deewiant> What's R
12:52:32 <AnMaster> Deewiant, read
12:52:47 <AnMaster> R (h n -- h) Read n bytes from file to buffer
12:52:51 <AnMaster> also:
12:52:57 <AnMaster> "All file functions on failure act as r."
12:53:11 <Deewiant> What does Myco say currently
12:53:40 <AnMaster> BAD: 1R reflected
12:53:49 <AnMaster> a bug (IMO) in cfunge made it pass
12:53:51 <Deewiant> And what does it expect >_<
12:53:57 <AnMaster> that is, it didn't reflect
12:54:14 <AnMaster> Deewiant, mycology expects 1R at end of file to not reflect
12:54:18 <AnMaster> it seems
12:54:35 <Deewiant> Yeah, right
12:54:39 <Deewiant> Well, hmm
12:54:45 <AnMaster> Deewiant, but shouldn't it reflect if it read 0 bytes
12:54:50 <AnMaster> IMO the logic should be like this:
12:55:18 <AnMaster> bytes_actually_read = fread(buffer, bytes_program_want, filepointer)
12:55:28 <AnMaster> if (bytes_program_want != bytes_actually_read) {
12:55:31 <Deewiant> Yep, indeed
12:55:48 <AnMaster> if (feof(filepointer)) {
12:55:58 <AnMaster> if (bytes_actually_read == 0)
12:56:07 <AnMaster> return reflect();
12:56:17 <AnMaster> }
12:56:35 <AnMaster> that is, it shouldn't reflect if it managed to read *some* bytes
12:56:43 <AnMaster> Deewiant, what do you think?
12:56:47 <Deewiant> What CCBI does now is essentially
12:56:52 <Deewiant> if (wanted != read) {
12:57:00 <Deewiant> if (ferror(handle)) {
12:57:05 <Deewiant> clearerr(handle);
12:57:10 <Deewiant> return reverse();
12:57:13 <Deewiant> }
12:57:23 <Deewiant> else assert (feof(handle));
12:57:25 <Deewiant> }
12:57:58 <AnMaster> Deewiant, this is the logic I *want* http://dpaste.com/9631/
12:58:18 <AnMaster> Deewiant, you forgot to clear the feof?
12:58:29 <Deewiant> Clear the feof?
12:58:39 <AnMaster> The function feof() tests the end-of-file indicator for the stream pointed to by stream, returning non-zero if it is set. The end-of-file
12:58:39 <AnMaster> indicator can only be cleared by the function clearerr().
12:58:58 <Deewiant> Would I want to clear feof for some reason?
12:59:04 <AnMaster> shouldn't you?
12:59:27 <Deewiant> Clearing ferror makes sense since it could be that it'll work later
12:59:35 <AnMaster> mhm
12:59:35 <Deewiant> But if you hit EOF, why clear it, EOF is EOF
12:59:48 <AnMaster> Deewiant, if you seek back you need to clear it
12:59:49 <AnMaster> afaik
13:00:12 <AnMaster> I mean, it will be there even if you seek or write
13:00:39 <AnMaster> I may be wrong, but it seems like that to me
13:00:43 <AnMaster> from the man page
13:01:05 <Deewiant> That seems really stupid to me
13:01:05 <AnMaster> wait no
13:01:08 <AnMaster> fseek clears it
13:01:09 <Deewiant> Why should seek fail if it's at the EOF :-P
13:01:26 <AnMaster> fwrite won't
13:01:43 <AnMaster> Deewiant, anyway, what do you think about the logic I suggest in http://dpaste.com/9631/ ?
13:01:43 <Deewiant> Also stupid
13:01:57 <AnMaster> Deewiant, why?
13:02:16 <Deewiant> Well why should fwrite fail just because it's at EOF
13:02:21 <Deewiant> Or if it just doesn't clear it, then that's fine
13:02:28 <AnMaster> Deewiant, no it wont fail. It just won't clear it
13:02:34 <Deewiant> Yeah, and that's fine
13:02:42 <Deewiant> Since it /is/ at EOF so of course it should indicate that :-p
13:02:46 <AnMaster> anyway: what about the logic in http://dpaste.com/9631/ ?
13:03:06 <Deewiant> Why continue if it couldn't read what it wanted
13:03:15 <Deewiant> IMO reverse always if read != wanted
13:03:17 <AnMaster> Deewiant, because I read some bytes
13:03:23 <AnMaster> it seems logical to return them
13:03:24 <Deewiant> Yes, but not as many as were requested
13:03:46 <Deewiant> Oh, right, you don't write them to funge-space if you return
13:03:52 <AnMaster> Deewiant, true, but then we should also seek back to the point we were before the read
13:03:55 <Deewiant> But you should still reverse IMO
13:03:58 <AnMaster> hm
13:04:07 <Deewiant> Why seek?
13:04:34 <AnMaster> well either seek back to the point before the fread() that failed to read as much, or write the read bytes to funge space
13:04:48 <Deewiant> Yeah, OK. I say do the latter.
13:04:50 <AnMaster> considering that we might not be reading from a normal file I think it is stupid to try to seek back
13:04:54 <Deewiant> And reflect.
13:05:03 <AnMaster> what if I opened a fifo file with FILE?
13:05:42 <Deewiant> What about it?
13:05:59 <AnMaster> Deewiant, should the rest of the space we would have written otherwise be zero filled or should we just write as many bytes as we got?
13:06:15 <Deewiant> Write what you got, there can be zeroes in the file too
13:07:11 <AnMaster> I guess the program could figure it out with L...
13:07:30 <AnMaster> Deewiant, so will you fix mycology to not say BAD on R reflecting due to end of file?
13:08:43 <AnMaster> Deewiant, as usual RCS specs doesn't say anything about what should happen btw
13:09:12 <Deewiant> And RC/Funge doesn't reflect, of course :-)
13:09:16 <Deewiant> UNDEF?
13:09:21 <AnMaster> probably
13:09:28 <Deewiant> Meh
13:09:32 <AnMaster> I don't know if you test anything else with 1R there
13:09:33 <AnMaster> or not
13:11:57 <AnMaster> Deewiant, so you mean something like this: http://dpaste.com/9640/
13:12:49 <Deewiant> Yep
13:17:45 <AnMaster> Deewiant, so when will you upload a fixed mycology btw?
13:17:55 <Deewiant> When I feel like it
13:18:02 <AnMaster> right
13:41:48 <AnMaster> Deewiant, does the funge spec say that you have to use line buffered output anywhere?
13:42:05 <AnMaster> I mean, is there anything forbidding fully buffered output?
13:42:07 <Deewiant> y has that bit that says whether you use unbuffered or not
13:42:23 <Deewiant> For that, I suppose not, it's just not a good idea in practice :-P
13:42:43 <AnMaster> Deewiant, it makes cfunge 20% faster on mycology. Sounds like a good idea to me ;)
13:42:54 <Deewiant> No, it's a very bad idea :-P
13:43:09 <AnMaster> Deewiant, actually it is an option in cfunge nowdays, -b
13:43:35 <AnMaster> it also uses a larger buffer than default
13:45:24 <Deewiant> AnMaster: better idea: make , a no-op
13:45:36 <AnMaster> very funny
13:45:53 <AnMaster> anyway I always call fflush() before reading input.
13:45:57 <Deewiant> Or even better: do a single getchar() at the end, if you get 'y' then flush your buffer, otherwise don't
13:46:07 <AnMaster> Deewiant, huh?
13:46:19 <AnMaster> hah
13:47:22 <AnMaster> Deewiant, it is a bad idea to make sarcastic comments about cfunge. You won't have anything left to say for jitfunge then
13:47:38 <Deewiant> My comments apply to *funge
13:48:05 <asiekierka> What will you say if picfunge will happen
13:48:08 <asiekierka> then
13:48:53 -!- kar8nga has quit (Remote closed the connection).
13:49:15 <Deewiant> I'll keep saying what I've been saying
13:50:22 <asiekierka> What if someone writes a CPUfunge
13:51:05 <Deewiant> Same differenec
13:52:54 <AnMaster> mhm
13:53:01 <AnMaster> Deewiant, this applies to CCBI too?
13:53:23 <Deewiant> Is it a *funge? ;-)
13:53:52 <AnMaster> Deewiant, depends on what sort of match that is
13:53:57 <AnMaster> but cfunge doesn't match either
13:54:29 <AnMaster> a *funge? <-- regex clearly
13:54:38 <AnMaster> :P
13:55:32 <AnMaster> or if the regex is: *funge
13:55:38 <AnMaster> then it matches CCBI's expanded name
13:55:44 <AnMaster> it contains befunge
13:55:48 <Deewiant> What if it's a glob pattern?
13:56:39 <AnMaster> Deewiant, hm, does glob imply end of line?
13:56:45 <AnMaster> I forgot
13:56:52 * AnMaster uses regex mostly these days
14:01:16 <AnMaster> Deewiant, anyway I think fizzie isn't working on jitfunge currently
14:01:41 <AnMaster> but I think efunge will soon be ready for a first basic release.
14:01:56 <AnMaster> it won't yet have ATHR, that work is ongoing but far from completed yet
14:07:18 -!- BeholdMyGlory has joined.
14:34:04 -!- tombom has quit ("Peace and Protection 4.22.2").
15:32:07 -!- MigoMipo has joined.
15:54:58 -!- oklopol has quit (Read error: 113 (No route to host)).
15:55:15 -!- ais523 has joined.
15:55:45 <ais523> [14:55] [Notify] ehird is online (irc.freenode.net).
15:55:47 <ais523> [14:55] [Away] ehird is away: Not online right now. Please leave a message after the beep. *BEEP*
15:55:55 <ais523> thanks, client
15:56:02 <ais523> maybe you should check away /before/ notifying me?
15:56:22 <ais523> or maybe I should blame it on the IRC spec for ISON and AWAY interacting so strangely
16:09:56 <AnMaster> err
16:09:57 <AnMaster> wth
16:10:04 <AnMaster> I think I found a CCBI and cfunge bug
16:10:06 <AnMaster> need to debug more
16:11:53 <AnMaster> Deewiant, have you tested non-cardinal wrapping ?
16:11:57 <ais523> what, a bug that affects both of them?
16:12:00 <AnMaster> I mean in y and x at once
16:12:02 <ais523> also, non-cardinal wrapping is a nightmare
16:12:10 <Deewiant> AnMaster: yes, it's in Mycology.
16:12:14 <AnMaster> ais523, I tried wrapping -30,-18
16:12:18 <ais523> although I think I know how it's meant to work
16:12:21 <AnMaster> it ended up wrong I think
16:12:38 <AnMaster> I think ccbi and cfunge are both wrong
16:12:45 <AnMaster> they both use same algorithm
16:12:56 <ais523> is mycology also wrong?
16:13:35 <Deewiant> I doubt CCBI's wrong since I do what the spec says, verbatim
16:13:52 <AnMaster> I need to debug a bit more
16:14:57 <AnMaster> well
16:15:46 <AnMaster> I tried several other values so it can't just be a coincidence that I land on the x, I tried changing the delta slightly to x and I still run into same issue.
16:15:50 * AnMaster pastebins
16:16:03 <AnMaster> http://rafb.net/p/YDQG4330.html
16:16:33 <AnMaster> Deewiant, I was trying to figure out where the x should land. But it lands on itself
16:16:51 <AnMaster> and I don't think that is correct, when I changed 0a9+- to 0a8+-
16:16:55 <AnMaster> and it still does that
16:17:19 <Deewiant> Why not?
16:17:28 <Deewiant> That's exactly what's supposed to happen if no other cells are in the path
16:17:29 <AnMaster> Deewiant, why should it be correct?
16:17:34 <ais523> Lahey lines imply that you end up back where you started after making one loop around fungespace
16:17:40 <ais523> that's by definition
16:17:41 <Deewiant> The requirements for a line in Lahey-space are the following: Starting from the origin, no matter what direction you head, you eventually reach the origin. If you go the other way you reach the origin from the other direction.
16:18:01 <AnMaster> sure. But shouldn't you hit some other cell first?
16:18:16 <ais523> only if there's another cell on the line
16:18:26 <AnMaster> as far as I can see one is
16:18:38 <ais523> for instance, if your delta is (-2000000000,6), there are only three cells on the line
16:19:05 <AnMaster> yes indeed
16:25:21 <AnMaster> hm
16:26:26 <AnMaster> actually this is wrong I think. If the first jump is large enough that you end up in range in the other end already
16:26:45 <AnMaster> Deewiant, ^
16:29:36 <asiekierka> I was wondering about this esolang
16:29:42 <asiekierka> where there is a 240x160 map
16:29:45 <asiekierka> with 8 8x8 balls
16:29:53 <asiekierka> And blocks are also 8x8
16:29:57 <asiekierka> Each block can have an assigned function
16:30:05 <asiekierka> and balls start moving in a predefined way
16:30:09 <asiekierka> you can have 1 or 8 at the beginning
16:30:12 <asiekierka> or 2, 3, 4, 5, 6, 7
16:30:20 <ais523> sort-of sounds like you're deliberately making sure it isn't TC
16:30:24 <ais523> although that isn't necessarily a bad thing
16:30:25 <asiekierka> no
16:30:33 <asiekierka> I just wanted to have an esolang that I can watch
16:30:44 <asiekierka> And 240x160 is in fact for the DS version
16:30:52 <ais523> ah
16:30:55 <asiekierka> 30x20 in cells, btw :P
16:30:57 <ais523> reminds me of Paintfuck
16:30:59 <asiekierka> and will work on the GBA too
16:31:03 <asiekierka> oh way
16:31:04 <asiekierka> wait*
16:31:05 <ais523> that's a very watchable esolang
16:31:13 <asiekierka> I should do a painting language
16:31:16 <ais523> BackFlip's fun to watch too, actually, but sub-TC
16:32:34 <AnMaster> Deewiant, ais523: http://rafb.net/p/QAzoUk37.html
16:32:38 <AnMaster> does that seem right?
16:32:51 <asiekierka> As in, there will be I/O commands: "Get_Button" for Input and "Draw_Line", "Draw_Pixel" for output
16:32:55 * ais523 vaguely wonders whether to repaste that somewhere else based on the ehird demands
16:33:00 <asiekierka> Get_Button would be o
16:33:01 <ehird> 21:22:44 <bsmntbombdood> http://pastie.org/410691
16:33:03 <asiekierka> Draw_Line would be -
16:33:05 <ehird> that's hot.
16:33:09 <ehird> oh god shut up asiekierka
16:33:10 <asiekierka> Draw_Pixel would be `
16:33:14 <asiekierka> oh god shut up ehird
16:33:17 <ais523> you are in a maze of twisty little at signs, all alike
16:33:28 <ehird> nobody cares about your same esolang repeated 5 thousand times over 70 lines that you give us every month
16:33:33 <asiekierka> well
16:33:35 <asiekierka> that's a new idea
16:33:47 <ehird> is it? because i've heard it from you 20 times
16:33:50 <asiekierka> Prove it
16:33:58 <ehird> no.
16:34:00 <asiekierka> Haha
16:34:06 <asiekierka> therefore we can't know if you really DID
16:34:08 <ais523> AnMaster: the x is menat to be (-20,-30)?
16:34:14 <ais523> my Befunge is rusty...
16:34:33 <AnMaster> ais523, the x is at x = 18, y = 28
16:34:47 <ais523> and with a delta of (-20,-30)?
16:34:54 <ais523> there are no other cells inside your fungespace on that line
16:34:59 <ais523> well, inside the allocated portion
16:35:04 <ehird> sometimes I think AnMaster is the most annoying person in here. i retract that, he's super awesome.
16:35:04 <ais523> and the rest is full of spaces so it'll be skipped
16:35:13 <AnMaster> ais523, I think it should end up near the @ in the lower corner in the program
16:35:20 <ais523> why?
16:35:35 <ais523> going one space forawrd is (38,58) which is outside your range
16:35:38 <AnMaster> ais523, -1 on edge gets you to first cell on opposite edge
16:35:42 <ais523> NO!
16:35:45 <ais523> that's what you're doing wrong
16:35:49 <ehird> 23:32:31 <zzo38> In your opinion, does 1 + 2 pow 2 + 2 pow 4 + 2 pow 6 + 2 pow 8 and so on make -1/3 in my opinion it does because in binary it is .......010101010101. and if you multiply it by three you get negative one, so therefore it is correct. Or you think the result is infinite? I would like to know your opinion
16:35:50 <ehird> 23:34:55 <zzo38> Do you like to use FOWER instead of FOUR, or FIFE instead of FIVE
16:35:56 <ais523> fungespace isn't a torus
16:35:57 <AnMaster> ais523, it technically does. That is the effect.
16:35:58 <ais523> it's lahey-space
16:36:01 <ehird> who needs acid when you have quick-fire zzo38 questions
16:36:03 <AnMaster> ais523, sure. But the effect is that
16:36:08 <ais523> no it isn't
16:36:08 <AnMaster> that's all I'm saying
16:36:08 <ais523> not when flying
16:36:30 <AnMaster> ais523, well even with this algorithm you get that effect when moving cardinally
16:36:33 <ais523> the next cell on your line is (38,58); the previous is (-2,-2)
16:36:34 <ehird> wait, uppercaps NO from ais523? that's reserved for me!
16:36:37 <ais523> you get that effect cardinally
16:36:42 <ais523> but for a different reason
16:36:50 <ais523> because when you're moving cardinally to the left, say
16:36:55 <ais523> the previous cell is the cell to the right
16:36:58 <AnMaster> ais523, hm right. So what would the delta be to end up near:
16:37:00 <AnMaster> @
16:37:02 <AnMaster> @@
16:37:04 <AnMaster> in the program
16:37:05 <ehird> 23:45:09 <zzo38> O, and do esolang people have any preferences having to do with mahjong game
16:37:05 <ehird> 23:50:09 <zzo38> Yes
16:37:09 <ehird> who needs answers, either
16:37:17 <ais523> AnMaster: where is that cell you're aiming for?
16:37:18 <AnMaster> ais523, while wrapping both x and y negatively
16:37:18 <ehird> <zzo38> Yes I am replying to you asiekierk!i=africalo@078088180066.elb.vectranet.pl <- :D
16:37:44 <ais523> as in, what coordinates?
16:37:54 <AnMaster> ais523, in http://rafb.net/p/wJZOqZ63.html it is the cell with !
16:38:00 <AnMaster> coordinates would be *checks*
16:38:39 <AnMaster> 33,52
16:38:41 <AnMaster> I think
16:38:42 <AnMaster> wait
16:38:45 <AnMaster> 52,33
16:38:46 <AnMaster> rather
16:39:06 <AnMaster> if that is x,y
16:39:10 <ehird> AnMaster: can you please stop using rafb.net to paste? it's one or two seconds saved at your end vs annoyance for everyone else later on
16:39:12 <ais523> ok, so going forwards would be a delta of (52-18,33-28) which is (36,5)
16:39:25 <ais523> therefore, to do it wrapping you need a delta of (-36,-5)
16:39:34 <AnMaster> mhm
16:39:38 <ais523> with lahey-wrapping, you can't reach a cell by wrapping unless you could reach it going backwards
16:39:50 <AnMaster> ais523, I find flying IP incredibly hard to think at
16:39:51 <AnMaster> in*
16:40:11 <ehird> 15:39 ehird: AnMaster: can you please stop using rafb.net to paste? it's one or two seconds saved at your end vs annoyance for everyone else later on
16:41:06 <ais523> ehird: my reply to that is at http://pastebin.ca/1355862
16:41:10 <AnMaster> ais523, err that doesn't work either...
16:41:21 * AnMaster steps through code
16:41:25 <ais523> we may have the coordinates worng
16:41:27 <ais523> *wrong
16:41:39 <AnMaster> ais523, pastebin.ca times out all the time for me...
16:41:49 <ehird> ais523: it's useful for when looking at the logs, when e.g. finding code that was made before that is being looked for now, finding the code someone answered to a question, ..
16:41:57 <AnMaster> I haven't been able to access it for over half a year
16:41:59 <ais523> ehird: but the timeout on that comment is only 5 minutes
16:42:04 <ais523> so it's utterly useless for any logreader
16:42:14 <ehird> and that's bad
16:42:24 <ais523> ehird: you seem to be missing the fundamental nature of IRC here...
16:42:48 <ehird> You seem to like saying that whenever I say something you disagree with: you're absolutely fundamentally missing the point.
16:42:55 <ais523> AnMaster: try (-33,-5)
16:42:59 <ehird> It works nicely as an alternative to making real arguments, I guess.
16:43:08 <ais523> ehird: I mean, it's transient
16:43:15 <ais523> why do you think freenode have the rule against unannounced public logs?
16:43:21 <ais523> it's because it breaks the expectations most people have of IRC
16:43:26 <AnMaster> ais523, hm ok
16:43:29 <ehird> it's transient! of course! Let's kick clog.
16:43:37 <ehird> clog: stop it. IRC is transient. People shouldn't be able to read things after they happen.
16:43:45 <ais523> clog is rather unusual, it's trying to make #esoteric into something that isn't that common on IRC
16:43:50 <ais523> after all, how many IRC channels are logged?
16:43:57 <ehird> most of the high profile ones.
16:43:58 <ais523> probably more on Freenode than on most other networks, tbh
16:44:03 <AnMaster> that gets me to another place
16:44:08 <AnMaster> but not exactly the right one
16:44:11 * AnMaster debugs again
16:44:14 <ais523> ok, probably I miscounted
16:44:21 <ais523> I was trying to count via mousehover
16:44:28 <ais523> let me count in an edit box, that's more reliable
16:44:53 <AnMaster> one cell off
16:45:01 <ais523> (-34,-5)
16:45:02 <ais523> it should be
16:45:04 <ais523> I did miscount
16:45:25 <AnMaster> right
16:46:04 <ehird> AnMaster: how fast is this to load? http://dpaste.com/
16:46:23 <ehird> unfortunately no never-expire option, so forget that
16:46:38 <ais523> ehird: expecting pastebins to keep the things you write never expiring is crazy
16:46:47 <ais523> that's like wanting random internet sites to give you free hosting forever
16:46:47 <ehird> ais523: pastie does it. pastebin.com can do it.
16:46:53 <ehird> plenty of them do it.
16:46:58 <ehird> also, plain text takes up roughly no space.
16:46:59 <AnMaster> ehird, around 5 seconds
16:47:13 <ais523> I think the solution to all this is to have a dedicated #esoteric pastebin, that can keep things around forever
16:47:26 <AnMaster> and that loads as fast as rafb
16:47:31 <ais523> preferably on a site run by one of us
16:47:37 <AnMaster> rafb loads in ~1 second here
16:47:43 <AnMaster> with a clean browser cache
16:47:50 <AnMaster> also it needs a command line paste tool
16:47:54 <AnMaster> like wgetpaste
16:50:55 -!- jorrdi has joined.
16:51:20 -!- oklopol has joined.
16:51:21 -!- jorrdi has left (?).
16:53:26 <ais523> who was jorrdi, I wonder?
16:53:38 <ais523> anyway, I was writing an Enigma level over the last couple of days
16:54:09 <ais523> does anyone here know a pastebin that complies with both ehird's and AnMaster's standards and also accepts XML with embedded Lua?
16:54:24 <AnMaster> err
16:54:32 <AnMaster> you mean highlighting that?
16:54:39 <AnMaster> no idea
16:54:40 <ais523> ok, I was being slightly sarcastic
16:54:51 <ais523> but I thought people here might want to take a look at it
16:55:14 <AnMaster> but for it to be useful to me it needs to highlight C and have a plain text mode. More languages are a bonus
16:55:17 <asiekierka> Is anyone interested in watching my desktop
16:55:34 <AnMaster> and I like support for bash, erlang and scheme especially
16:55:50 <AnMaster> oh and paste.lisp.org would be ok apart from having to enter, or script entering a captcha
16:56:05 <ais523> "script entering a captcha"?
16:56:07 <pikhq> Perhaps have it written in such a way that it could easily have highlighting modules added...
16:56:12 <ehird> ais523: it's always 'lisp'.
16:56:14 <ais523> there is something very very wrong with that phrase
16:56:40 <pikhq> So that users of the pastebin could suggest highlighters, which could get added rather quickly...
16:56:51 * ais523 pastes on filebin.ca
16:57:01 <ais523> because people are more likely to want to run the program than read it
16:57:20 <ais523> strange, epiphany crashed
16:57:50 <ais523> http://filebin.ca/fdzyqw/ais52301_1.xml
16:57:59 <ais523> (Enigma has a naming convention for filenames...)
16:58:09 <pikhq> pastebin.ca is rather nice... Has a "raw" link, making it easy to download, and still has a nice highlighted text thing...
16:58:15 <ais523> if you save that as ~/.enigma/levels/auto/ais52301_1.xml it should show up in the game
16:58:23 <ais523> in the "auto" level pack
16:58:28 <ehird> pikhq: pastie.org is nicer
16:58:36 <ais523> it's still slightly buggy
16:58:37 <pikhq> ehird: Hmm. Good to know.
16:58:39 <ehird> it has all of those things and less clutter
16:58:41 <Deewiant> For what it's worth I'm instantly turned off by non-binary files which are served with a MIME type that browsers want to save instead of view
16:58:55 <ais523> Deewiant: it may as well be binary, it's a crazy enough format...
16:59:02 <oklopol> asiekierka: Is anyone interested in watching my desktop <<< not if you're sharing it knowingly.
16:59:08 <Deewiant> Hmm, missing an auxiliary clause there, it's not the MIME type that's being saved
16:59:25 <pikhq> Is application/xml too hard to serve up or something?
16:59:37 <ais523> well, it's mostly written in Lua, just with an XML wrapper
16:59:48 <oklopol> ais523: what kinda level is it?
16:59:53 <ais523> oklopol: an intelligence-based level
16:59:56 <ais523> it's also a game
17:00:00 <ais523> in easy mode, it's a 2-player game
17:00:05 <ais523> in hard mode, it's a 1-player game against an AI
17:00:35 <ais523> so with easy mode, the level can be solved very quickly if both players are cooperating, because either player winning wins the level
17:00:46 <ais523> to complete it in hard mode is much slower as you have to beat the computer AI, and it won't be cooperating
17:01:10 <ais523> but I took quite a lot of effort making the intelligence the main problem about the level
17:01:41 -!- antirafb has joined.
17:01:44 <ehird> http://rafb.net/p/wJZOqZ63.html
17:01:47 <ais523> based on their rating rules, I rate it about speed 1, dexterity 2, intelligence 5, knowledge either 3 or 6 (I'm not sure which), and patience maybe about 3
17:01:49 <ehird> Hm.
17:01:53 -!- antirafb has quit (Remote closed the connection).
17:02:23 <oklopol> hmm, what's the difference between speed and dexterity?
17:02:25 <oklopol> hmm
17:02:33 -!- antirafb has joined.
17:02:34 <ehird> http://rafb.net/p/wJZOqZ63.html
17:02:34 -!- antirafb has quit (Remote closed the connection).
17:02:38 <oklopol> on second thought i guess that's pretty obvious
17:02:56 <ais523> oklopol: dexterity's how easy it is to put the level in an unwinnable situation, or die, due to the mouse equivalent of a typo
17:02:57 -!- antirafb has joined.
17:03:03 <ehird> http://rafb.net/p/wJZOqZ63.html
17:03:04 -!- antirafb has quit (Remote closed the connection).
17:03:17 <oklopol> ais523: ah yeah right
17:03:33 <ais523> whereas a high speed means you have to play the level quickly to avoid dying
17:03:44 -!- antirafb has joined.
17:03:45 <ehird> http://rafb.net/p/wJZOqZ63.html
17:03:46 -!- antirafb has quit (Remote closed the connection).
17:03:52 <ehird> Close, close indeed.
17:04:12 <oklopol> ohh testing a bot
17:04:26 <oklopol> i thought you were telling everyone who joins about your cool paste :D
17:05:56 -!- antirafb has joined.
17:05:57 <ehird> http://rafb.net/p/wJZOqZ63.html
17:05:58 <antirafb> ehird:
17:06:02 <Deewiant> :-D
17:06:05 <ehird> Oh, lol.
17:06:09 -!- antirafb has quit (Remote closed the connection).
17:06:31 -!- antirafb has joined.
17:06:31 <ais523> oh no, not another Brainfuck derivative
17:06:31 -!- antirafb has quit (Remote closed the connection).
17:06:36 <ais523> that manages to be sub-TC, somehow
17:06:39 <ehird> ais523: groan
17:06:40 <ehird> link?
17:06:42 -!- antirafb has joined.
17:06:43 <ehird> http://rafb.net/p/wJZOqZ63.html
17:06:44 <antirafb> ehird: ITYM http://pastie.org/private/bjrfso3nuwmpj5ntxhhmug
17:06:46 <ais523> http://esolangs.org/wiki/ParrBF
17:06:52 <ehird> Great success!
17:07:00 <ais523> ehird: why a private pastie?
17:07:08 <ehird> ais523: so it doesn't show up in the recent pastes list
17:07:13 <comex> I ask #esoteric: should I remap '%' in vim
17:07:17 <comex> because typing it really annoys me
17:07:23 <asiekierka> ParrBF = lol
17:07:24 <Deewiant> ehird: Is it clever enough to try something else if pastie times out or fails?
17:07:26 <ais523> what are you planning to remap it to?
17:07:36 <ehird> Deewiant: no, it also only handles one rafb.net paste per line
17:07:41 <ehird> but there you go
17:07:42 -!- tombom has joined.
17:07:45 <ehird> works well enough
17:07:53 <ehird> now to put it on rutian
17:07:54 <Deewiant> Handling more than one shouldn't be too tough
17:07:56 <comex> ais523: dunno
17:07:57 <asiekierka> http://rafb.net/paste/itdoesntexist
17:07:57 <ehird> comex: if you say Bayes, *krrtch*
17:07:59 <comex> maybe capslock :p
17:08:03 <asiekierka> :(
17:08:10 <ehird> http://rafb.net/p/diediedie.html
17:08:11 -!- antirafb has quit (Remote closed the connection).
17:08:11 <asiekierka> http://rafb.net/p/itdoesntexist
17:08:15 <asiekierka> oh
17:08:26 <Deewiant> Is that a feature? :-P
17:08:35 <AnMaster> ais523, Deewiant: http://rafb.net/p/rwSMXZ13.html, as far as I know mycology didn't test wrapping -y
17:08:38 <AnMaster> at all
17:08:46 <Deewiant> Yes, it doesn't
17:08:46 <comex> or \
17:08:53 <AnMaster> Deewiant, that program does.
17:08:54 -!- antirafb has joined.
17:08:55 <ehird> http://rafb.net/p/diediedie.html
17:08:55 <antirafb> fu ehird
17:09:06 <Deewiant> I assume that if -x and x work then -y and y do as well
17:09:10 <oklopol> imo ParrBF looks fairly interesting, you're executing a brainfuck program for each cell in parallel
17:09:19 <oklopol> assuming [ and ] are defined like that
17:09:26 <Deewiant> Or rather, I don't assume anything since I don't use y wrapping at all
17:09:27 <oklopol> can't really tell from that.
17:09:27 <AnMaster> Deewiant, You assumed your TURT worked iirc. It turned out it didn't
17:09:29 <AnMaster> :P
17:09:35 <comex> that works nicely
17:09:42 <ais523> oklopol: you're limited to a finite number of cells like that, though
17:09:46 <Deewiant> Well sure, I assume stuff works if there's no known case where it fails
17:10:06 <AnMaster> Deewiant, I assume stuff is broken unless I written a test case to test it :)
17:10:08 <Deewiant> I'm not hardcore enough to go about things the other way
17:10:26 <Deewiant> AnMaster: I did test TURT, though
17:10:27 <oklopol> ais523: true, but i think "ipc" between cells might be kinda interesting
17:10:37 <AnMaster> Deewiant, yes, but not very detailed
17:10:44 <oklopol> well. assuming [ and ] are global
17:10:56 <Deewiant> AnMaster: So do you assume that all possible execution paths through cfunge are bugged, except the ones you've tested?
17:11:16 <Deewiant> Point being, complete testing is impossible.
17:11:30 <Deewiant> At least in this universe, without time travel.
17:11:41 <oklopol> yeah, prove it or ..shoove it
17:11:42 <AnMaster> Deewiant, no, but I try to test all paths
17:11:48 <AnMaster> of course I can't fully
17:12:10 <AnMaster> but I try to test as much as I can
17:12:44 <AnMaster> Deewiant, stuff like fuzz testing helped a lot during one period. Nowdays I don't really find anything new with fuzz testing.
17:16:35 <AnMaster> <pikhq> pastebin.ca is rather nice... Has a "raw" link, making it easy to download, and still has a nice highlighted text thing... <-- except I can't resolve the IP. I always get DNS timeout for pastebin.ca
17:16:56 <AnMaster> <Deewiant> For what it's worth I'm instantly turned off by non-binary files which are served with a MIME type that browsers want to save instead of view <-- same
17:18:25 <AnMaster> ais523, how does one run engima on a file? Or where/how does one install a level
17:18:47 <ais523> AnMaster: copy it to ~/.enigma/levels/auto
17:18:54 <AnMaster> auto?
17:18:54 <ais523> and it's automatically made into the Open It Up levelpack
17:19:02 <ais523> * the Auto levelpack
17:19:05 <ais523> how did I manage that?
17:19:06 <AnMaster> mhm
17:19:25 <AnMaster> what is the auto level pack?
17:19:33 <AnMaster> I don't remember seeing that
17:19:47 <ais523> if you go to all level packs, you'll see it
17:20:02 <ais523> and its empty most of the time, until you put things into auto to be automatically made into levelpacks
17:20:44 <asiekierka> http://www.ustream.tv/channel/asietv - i'm broadcasting my desktop O_O
17:21:24 <ehird> I am only interested if I can take control of your machine and deltree /y.
17:21:41 <ehird> Oh god your voice.
17:21:41 <ais523> ehird: "deltree /y" doesn't do anything, that's missing one argument
17:21:52 <ehird> ais523: It's a verb like "rm -rf".
17:23:08 <ehird> This is morbidly interesting.
17:23:13 <AnMaster> ais523, err, how do I switch ball then?
17:23:28 <ais523> AnMaster: in easy mode, there's a yinyang lying around
17:23:29 <ais523> in hard mode, you'll find the white ball is AI-controlled
17:23:29 <AnMaster> ah found it
17:23:49 <ais523> easy's a bit boring unless you have someone else to play against, thoguh
17:23:49 <ais523> *though
17:23:56 <ehird> asiekierka pronounces ehird as "eh erd"
17:23:57 <ehird> :DD
17:23:58 <ais523> because that's a 2-player game
17:23:58 <asiekierka> ehird, AKA. ustreamer-55605 :P
17:24:01 <AnMaster> ugh, that is a logic level. *prefers action ones*
17:24:09 <ais523> AnMaster: yes, it's a logic level
17:24:11 <ehird> AnMaster: oklopol will now lynch you.
17:24:14 <Deewiant> ehird: That's how I pronounced it at first too, until you told me how
17:24:23 <ais523> logic levels and action levels are both fun to play
17:24:28 <ais523> but logic levels are a lot more fun to write
17:24:35 <ais523> especially if you write an AI for them
17:24:36 <ehird> Deewiant: Yes, it's funny because asiekierka is polish. Or something.
17:24:50 <AnMaster> ehird, how is it pronounced then?
17:24:54 <ehird> AnMaster: ee herd
17:24:58 <ehird> longe
17:25:00 <AnMaster> ehird, no i sound?
17:25:00 <ehird> long e
17:25:03 <ehird> yes, asiekierka.
17:25:06 <ehird> AnMaster: in the herd.
17:25:23 <ehird> ais523: write pong in Enigma!
17:25:33 <asiekierka> what?
17:25:36 <Deewiant> AnMaster: 'i sound' means approximately nothing in English
17:25:40 <AnMaster> <ehird> long e
17:25:40 <AnMaster> <ehird> yes, asiekierka. <-- wait did asiekierka say something?
17:25:49 <ais523> ehird: I was plannign that
17:25:52 <asiekierka> well
17:25:53 <ais523> *planning
17:25:54 <ehird> AnMaster: i'm listening to his grating voice while watching his screen.
17:25:55 <asiekierka> AnMaster
17:25:57 <comex> okoko?
17:25:57 <ehird> http://www.ustream.tv/channel/asietv
17:25:58 <AnMaster> he/she isn't on ignore...
17:25:59 <ehird> needs flash.
17:26:01 <ais523> AI might be quite difficult
17:26:19 <ehird> ais523: not really, perfect pong AI is pretty trivial, no?
17:26:31 <ais523> ehird: moving the white marble around isn't
17:26:36 <ehird> True.
17:26:41 <ehird> ais523: surround it by blocks
17:26:43 <ehird> that's the paddle
17:26:47 <ehird> hitting a block moves it down or up
17:26:59 <ais523> if you listen very carefully to that Enigma level I pasted, you'll hear a repetitive clink-clink-clink in the background
17:27:10 <ais523> that's what's moving the white marble
17:27:18 <ehird> I haven't tried it yet
17:27:21 <ais523> via a really rather convoluted set of code
17:27:33 <AnMaster> ais523, for pong wouldn't you use one of those small white balls?
17:27:41 <ais523> AnMaster: possibly, or maybe a bug or a horse
17:27:43 <AnMaster> or wait
17:27:48 <AnMaster> do you mean the player *plays the ball?
17:27:53 <AnMaster> *plays**
17:27:55 <ais523> no, the player plays the paddle
17:27:58 <ehird> omg
17:27:58 <AnMaster> ah
17:27:59 <ehird> playing the ball
17:28:01 <ehird> that would be amazing
17:28:02 <ehird> :DD
17:28:04 <ais523> it would be
17:28:05 <Deewiant> /aɪ/ /ɑe/ /əɪ/ /ɪ/ /ə/ /ː/ /ɚ/ are all possible 'i sounds' in English, there are probably a bunch more when you consider the various dialects
17:28:10 <ehird> getting batted around and trying to help one paddle
17:28:11 <AnMaster> ehird, not sure how to make it interesting though
17:28:20 <ais523> to work as pong, you'd need to fill the center of the level as space
17:28:22 <ehird> AnMaster: well you're being batted against your will
17:28:22 <comex> enigma level?
17:28:24 <AnMaster> maybe you need to follow the correct path to not hit hidden death blocks?
17:28:25 <comex> we need more enigma levels
17:28:25 <ehird> but you're on one AI's side
17:28:29 <ehird> so you have to beat the other one
17:28:29 <ais523> if you want to play the ball, you'd make it ice instead
17:28:31 <ehird> as the ball
17:28:31 <AnMaster> or something
17:28:34 <AnMaster> what about that ehird ?
17:28:34 <ais523> so you have some control but not much
17:28:41 <ehird> i dunno
17:28:47 <ehird> i just know playing the ball in pong would be amazing
17:28:51 <comex> ais523: make up some enigma puzzle involving enigma
17:28:59 <ehird> heh
17:29:03 <ehird> make a game of life in enigma
17:29:05 <ehird> ^ really good idea
17:29:07 <AnMaster> yeah
17:29:10 <AnMaster> ehird, has been done
17:29:14 <ais523> comex: http://filebin.ca/fdzyqw/ais52301_1.xml
17:29:17 <AnMaster> don't remember level name
17:29:22 <ais523> it has been done
17:29:28 <ehird> 15:58 ais523: if you save that as ~/.enigma/levels/auto/ais52301_1.xml it should show up in the game
17:29:36 <ehird> now to find out where that is on os x
17:29:42 <AnMaster> ehird, :D
17:29:42 <ais523> not sure where you have to save it on windows or OS X
17:29:56 <AnMaster> it could be same place
17:29:58 <ais523> it's going to be somewhere with a similar directory structure, though, probably
17:30:02 <ehird> ~/Library/Application Support/Enigma/levels/
17:30:04 <AnMaster> sane apps use ~/.* on all systems
17:30:08 <AnMaster> ehird, that is global one
17:30:10 <ehird> (/auto/)
17:30:11 <ehird> AnMaster: no
17:30:12 <ehird> ~
17:30:13 <ehird> ~/Library
17:30:14 <AnMaster> which ah
17:30:16 <AnMaster> right
17:30:23 <ehird> using . for a GUI app on OS X is considered very bad style
17:30:49 -!- antirafb has quit (Remote closed the connection).
17:30:58 <AnMaster> ehird, well, How is the program to know? There is no POSIX API that tells it preferred location afaik
17:30:58 <ais523> bye antirafb
17:31:11 <ais523> AnMaster: that's something that nearly always goes in the packaging
17:31:13 <ehird> AnMaster: If you're writing an OS X app, you know about it, because you're using Cocoa.
17:31:21 <ais523> via a makefile variable or something equivalent if you aren't using makefiles
17:31:27 <ais523> locations for stuff is a packaging problem, not a programming problem
17:31:28 <ehird> Or some cross-platform toolkit, but you're getting an inferior experience there on OS X anyway.
17:31:37 <AnMaster> ehird, but engima runs on Linux. Which means it is either ported or using such a toolkit
17:31:42 <comex> Qt for example has a function for that
17:31:44 <ehird> It uses SDL.
17:31:47 <ehird> AnMaster: it'll just do
17:31:52 <ehird> if (on_osx) { dir = '...'; }
17:31:54 <ehird> simple enough
17:31:55 <ehird> not much work
17:31:56 <ais523> so for instance, C-INTERCAL doesn't hardcode locations nowadays, it takes them from makefile variables
17:32:03 <AnMaster> ehird, means you have to know about OS X *shrug*
17:32:05 <ais523> which finds the locations via autoconf
17:32:13 <ehird> AnMaster: you have to know about os x to produce a well-crafted os x app?
17:32:16 <ehird> zee oh em gee
17:32:27 <comex> blame apple
17:32:31 <AnMaster> ehird, true, but point is OS X pretends to be *nix.
17:32:33 <comex> they have a X11 implementation, but it sucks
17:32:36 <ais523> anyway, for that level, I recommend you play on hard if you don't have a second human handy to play against
17:32:38 <AnMaster> in fact it is
17:32:38 <ehird> X11 sucks.
17:32:43 <ehird> AnMaster: umm, no pretending.
17:32:49 <AnMaster> ehird, "<AnMaster> in fact it is"
17:32:57 <ehird> it is unix, and for command-line apps, .foo is fine
17:32:58 <oklopol> asiekierka's life is so interesting
17:32:58 <comex> maybe, but not nearly as bad as X11.app sucks
17:33:02 <ehird> just GUI apps have a different structure
17:33:04 <oklopol> full of recursion
17:33:07 <oklopol> and infinities
17:33:11 <ehird> comex: meh, I wouldn't want to use X11.app anyway :P
17:33:17 <ehird> ais523: I am going to try it
17:33:29 <ehird> how do I set hard?
17:33:31 <ehird> The bronze medal thing>
17:33:38 <AnMaster> you all forgot OpenWindows!
17:33:40 <AnMaster> :/
17:33:42 <comex> ehird, it could be a lot better though
17:33:50 <ehird> AnMaster: aaaaaaaaaaaaaaagh
17:33:51 <comex> why does everything need to be arduously ported to cocoa?
17:33:59 <AnMaster> ehird, what?
17:33:59 <ehird> comex: because it has different UI guidelines
17:34:05 <ehird> you can't just do that automatically
17:34:09 <ehird> it's a totally different design
17:34:17 <ehird> and it's why OS X apps are so good
17:34:18 <ehird> anyway
17:34:22 <ehird> ais523: how do you set difficulty?
17:34:40 <comex> ehird
17:34:41 <AnMaster> ehird, what is (or rather: was) wrong with OpenWindows?
17:34:42 <comex> bullshit
17:34:44 <comex> things like
17:34:49 <comex> Qt mac, gimp native etc
17:34:51 <ehird> comex: I'm really uninterested.
17:34:52 <comex> aren't as good as native apps
17:34:53 <ehird> You're wasting your time
17:34:56 <comex> but they're a lot better than x11.app
17:34:57 <comex> :u
17:35:08 <ehird> now, ais523: ping.
17:35:34 <AnMaster> ehird, ...?
17:35:42 <AnMaster> seriously
17:35:57 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:09 <AnMaster> ehird, http://en.wikipedia.org/wiki/OpenWindows
17:36:12 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:12 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:13 <AnMaster> Sun thing
17:36:14 <AnMaster> was great
17:36:17 <AnMaster> *shrug*
17:36:18 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:18 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:20 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:27 <AnMaster> ehird, <ehird> AnMaster: aaaaaaaaaaaaaaagh <-- ??
17:36:27 <AnMaster> ehird, <ehird> AnMaster: aaaaaaaaaaaaaaagh <-- ??
17:36:28 <AnMaster> ehird, <ehird> AnMaster: aaaaaaaaaaaaaaagh <-- ??
17:36:28 <AnMaster> ehird, <ehird> AnMaster: aaaaaaaaaaaaaaagh <-- ??
17:36:29 <ehird> Every thing you say increases the amount of times I'll say that.
17:36:33 <AnMaster> ehird, <ehird> AnMaster: aaaaaaaaaaaaaaagh <-- ??
17:36:34 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:35 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:36 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:38 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:40 <ehird> AnMaster: I a m u i n t e r e s t e d a n d t r y i n g t o p l a y a i s 5 2 3 ' s l e v e l
17:36:45 <asiekierka> ehird, SHUT UP
17:36:46 <AnMaster> oh, do grow up
17:36:55 <asiekierka> if you can't hear the radiophonewaves of my teleradiovision
17:36:56 <ehird> asiekierka: tell AnMaster to stop bugging me about shit I don't care about and I will.
17:36:56 * AnMaster agrees with asiekierka there
17:37:02 <oklopol> fun to see all the kids yelling random stuff :D
17:37:07 <oklopol> (see/hear)
17:37:19 <AnMaster> asiekierka, tell ehird that I will stop as soon as ehird explains what he meant with "<ehird> AnMaster: aaaaaaaaaaaaaaagh"
17:37:30 <ehird> AnMaster: have fun, but you're on ignore now.
17:37:35 <ehird> ais523: how do you set difficulty?
17:37:38 <ehird> The icons are rather obscure.
17:38:00 <AnMaster> btw tell ehird he is ignored
17:38:07 <asiekierka> <ehird> AnMaster: have fun, but you're on ignore now.
17:38:09 <asiekierka> <AnMaster> btw tell ehird he is ignored
17:38:23 <AnMaster> hah
17:38:27 <ehird> don't tell me AnMaster is lying
17:38:32 <ehird> I thought he would never stop until I explained?!
17:38:36 <ehird> I can never trust his word again :<
17:38:37 <AnMaster> asiekierka, I didn't see that first line
17:39:37 <oklopol> so much social porn here today
17:40:25 <olsner> "social porn"? what's that, group masturbation?
17:41:16 <oklopol> it's this term some people use.
17:42:17 -!- ais523 has quit (Read error: 145 (Connection timed out)).
17:42:34 <oklopol> (btw asiekierka's going to sing a song, better join the fun)
17:43:10 <asiekierka> yes
17:43:13 <asiekierka> yes I am
17:43:23 <asiekierka> I am...
17:43:24 <asiekierka> ...
17:43:25 <asiekierka> ...NOT!
17:44:02 <oklopol> wow
17:44:08 <oklopol> that sounds awesome :o
17:44:16 <oklopol> could you record some of that for me?
17:44:17 <asiekierka> this is the first recorded sound of a human being
17:44:19 <asiekierka> :P
17:44:29 <asiekierka> Google "First Sounds"
17:44:31 <asiekierka> 1860 btw
17:44:41 <oklopol> oh!
17:44:46 <oklopol> well it sounds awesome.
17:51:15 -!- ais523 has joined.
17:51:19 <ehird> hi ais523
17:51:22 <ehird> I'm playing your level
17:51:25 <ehird> whyyy does the ai move so jerky
17:51:39 <ais523> because it was hard to get it to move at all
17:51:48 <ais523> the thing that's controlling the ai white marble is a second black marble off the screen
17:51:53 <ais523> that's repeatedly bouncing on a flash stone
17:51:53 <ehird> LOL
17:52:09 <ais523> it gives a lot more control than the usual gradient method
17:52:10 <oklopol> how can i play it
17:52:17 <oklopol> the level
17:52:17 <ehird> oklopol: download enigma
17:52:20 <ehird> put it in the right place
17:52:20 <ehird> run it
17:52:20 <oklopol> i has
17:52:23 <ais523> oklopol: which OS are you on?
17:52:26 <ehird> windows
17:52:36 <ais523> I don't know where the right place is on Windows
17:52:38 <oklopol> oh i can't just open some level pack which connects straight to ais :|
17:52:46 <oklopol> HOW 70'S
17:53:07 <ehird> fuck
17:53:12 <ehird> that damn ai got me beat again
17:53:36 <ais523> oklopol: I've just read the manual
17:53:42 <ais523> if you load enigma and go into options
17:53:48 <ais523> it should tell you where the "User Path" is
17:53:58 <ais523> you need to store the level in levels/auto on the user path
17:54:30 <ais523> my level's still slightly buggy
17:54:44 <ais523> sometimes the AI gets lost if it's trying to do a large push on the left-most group of blocks
17:54:52 <ais523> but I think I know how that's fixed, just haven't been bothered to
17:59:09 <oklopol> okay didn't work, tried suffices ".lev" and ""
17:59:18 <ais523> .xml is the suffix
17:59:22 <oklopol> right
17:59:25 <ais523> as is suggested in the URL
18:00:21 <oklopol> yeah but it was xml, so i thought the .xml was because of that :)
18:00:27 <oklopol> once it's offline, it becomes a level
18:00:28 <oklopol> ...
18:00:36 <ais523> ?
18:00:39 <ehird> dude. an Ian owns n@ai
18:00:43 <ehird> that is so fucking cool.
18:00:51 <AnMaster> that makes no sense
18:01:02 <ehird> yes it does
18:01:03 <ehird> it's ai.
18:01:09 <ehird> the tld
18:01:10 <ehird> has an mx record
18:01:16 <ehird> http://www.ai/ <-- the nic
18:01:31 <oklopol> ais523: nm
18:01:33 <ais523> ehird: solved my level yet?
18:01:41 <ais523> oklopol: got my level working yet?
18:01:41 <ehird> ais523: no, the ai is smarter than me.
18:01:50 <oklopol> ais523: no, now i get an error
18:01:54 <oklopol> are there two files by any chance?
18:01:55 <ais523> easy is human vs. human and you get the oxyds no matter who wins, so it's easy
18:01:59 <ais523> oklopol: just the one
18:02:01 <ais523> what error, btw?
18:02:10 <oklopol> i'll look
18:02:26 <oklopol> err utfformatexception
18:02:37 <ais523> ok, that's very weird
18:02:44 <ais523> maybe the character encoding's got muddled somehow
18:02:47 <oklopol> so probably like a copy paste problem
18:02:50 <ais523> oh, I know what it might be
18:03:05 <ais523> try opening the level, and saving it as a windows-format text file
18:03:10 <ais523> text files are different on windows...
18:04:42 -!- asiekierka has set topic: There is no "i" in UBUNTU | WARNING: Very Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/.
18:04:57 <ais523> asiekierka: what did youchange?
18:05:05 <asiekierka> "Mad" to "Very Mad"
18:05:44 <ais523> ehird: still trying?
18:05:55 <ehird> no, I think it's impossible
18:06:01 <ais523> it is possible
18:06:04 <ais523> I know, because I've done it
18:06:31 <ais523> I could reveal the winning sequence of moves here, but that would spoil it for everyone else
18:06:39 <asiekierka> augh
18:06:45 <ais523> it is worth mentioning that the AI is good enough to win if you make even a single mistake
18:06:50 <oklopol> it's so hard you have to be incredibly good to even get it working
18:07:00 -!- asiekierka has set topic: There is no "i" in UBUNTU | WARNING: Very Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/ | [this space left intentionally blanketh].
18:07:16 <ais523> oklopol: I guess it's harder on windows than on linux, it was pretty easy for me and ehird to get it working...
18:07:27 <ehird> oklopol: what is the error?
18:07:31 <ais523> AnMaster: did you try?
18:07:38 <ehird> he said he hated it
18:07:39 <oklopol> something about an illegal character or something
18:07:40 <ehird> because it was intelligence based
18:07:43 <AnMaster> ais523, try what?
18:07:44 <AnMaster> the level?
18:07:46 <ehird> and he likes mindless action.
18:07:50 <ais523> AnMaster: yes
18:07:58 <ehird> oklopol: copy the file to the folder instead of copypasting the contents
18:08:09 <AnMaster> ais523, yes but I prefer exploring levels rather than logic puzzle ones
18:08:12 <oklopol> yeah if only that was easy to do.
18:08:17 <AnMaster> so I gave up
18:08:18 <AnMaster> boring
18:08:22 <ais523> ehird: I'm wondering if it's because the file has \n newlines not \n\r newlines
18:08:30 <ehird> no
18:08:35 <ehird> it's utf problems
18:08:37 <ehird> windows uses utf 16
18:08:40 <ehird> your file is probably utf-8
18:08:48 <ehird> does it have special characters in?
18:08:50 <ais523> ok, that's insane
18:08:53 <ais523> no special characters AFAIR
18:08:59 <ehird> does it have a utf-8 bom mark?
18:09:01 <ehird> remove it if so
18:09:04 <AnMaster> ais523, what is?
18:09:05 <ais523> ehird: I don't think so
18:09:10 <ais523> although it's copied from a template level
18:09:15 <oklopol> i can't decide where to dl stuff to on firefox (when i start a download), they just go directly on my desktop, which is full, and you can't scroll it on windows.
18:09:19 <ais523> so a BOM may have survived all the way through
18:09:24 <ehird> ais523: AnMaster has me on ignore, for the record
18:09:31 <ais523> oklopol: go to My Documents/Desktop via the file manager
18:09:34 <ehird> because I didn't answer his question about openwindows after he kept asking me about it
18:09:38 <oklopol> i could, in theory.
18:09:41 <ais523> that version is scrollable
18:09:46 <oklopol> maybe i also should.
18:10:01 <oklopol> it's just i get very pissed when oses are stupider than humans.
18:10:13 <AnMaster> oklopol, what happens on windows when desktop is full?
18:10:17 <ais523> <rimshot> then why are you using Windows? </rimshot>
18:10:25 <ais523> AnMaster: nothing, it continues to add icons but there's no way to click on them
18:10:27 <oklopol> stuff just goes off screen and cannot be touched :D
18:10:34 <ais523> unless you know the trick I just told oklopol
18:10:39 <AnMaster> ais523, wait, where are they? Outside the screen?
18:10:44 <ais523> yes
18:10:46 <ais523> where else?
18:10:52 <AnMaster> at least a sane OS would put them on top of each other
18:10:57 <AnMaster> that would be confusing but less so
18:11:31 <ais523> AnMaster: personally, I think a sane OS wouldn't put thinks on the desktop unless the user wanted them there
18:11:39 <ais523> I have 5 desktop icons, 6 when I have a USB stick in
18:11:47 <ais523> and they're all things I only want to use just after boot
18:11:55 <AnMaster> Plus desktop should be clean: Trash, ~, media:/ + a few recently downloaded files. On windows that would be: Trash, My Documents, My Computer
18:11:58 <ais523> hmm sorry, 6 or 7 nowadays
18:12:06 <Deewiant> I don't have a desktop on Linux; on Windows my desktop is empty
18:12:26 <ais523> I have ~, the wireless network application, and four music playlists as desktop icons
18:12:37 <AnMaster> I also have a few PDFs there: C99, POSIX.1-2008, AMD64 Reference manual
18:13:04 <ais523> oklopol: got it working yet?
18:13:09 <oklopol> phone
18:14:01 <oklopol> okay not phone
18:14:06 <oklopol> yeah i found it
18:14:19 <ais523> is it working? and can /you/ beat the AI?
18:14:27 <oklopol> so there's the download option, but you can't see where it's going to dl it to
18:14:33 <oklopol> and then the download window opens
18:14:43 <oklopol> in the earlier versions the dl folder was on the bottom
18:14:46 <oklopol> but not anymore
18:14:50 <ais523> also, I programmed it all in the subset of Lua that I could deduce from the example levels I saw
18:14:50 <ehird> ais523: btw what is the gradient movement you mentioned
18:14:53 <oklopol> i had to open a fucking menu to see it
18:14:54 <oklopol> grrr
18:14:56 <ais523> which means no loops except by recursion
18:14:59 <oklopol> ais523: i'll try it.
18:15:06 <ehird> ais523: it's just c style stuff
18:15:12 <ais523> ehird: you move things by changing the floor underneath them temporarily to a gradient and back again
18:15:18 <ehird> for i = 0, 10, 2
18:15:20 <ais523> it's rather hard to do fine control like that, though
18:15:22 <ehird> from 0 to 10 stepping 2
18:15:30 <ehird> while foo do end
18:15:33 <ais523> and it looks ugly unless you set the floor to one you can write a gradient on
18:15:35 <ais523> ehird: ah, ok
18:15:38 <ehird> repeat foo until bar
18:15:42 <ais523> I was doing all my looping via recursion...
18:15:43 <ehird> and you can use 'break'
18:15:50 <ehird> that's all lua's loops, as far as I know
18:16:10 <ehird> ais523: oh, one more
18:16:14 <ehird> for x in y do foo end
18:16:23 <ehird> so you can do: for key, value in ipairs(table) do ... end
18:16:25 <ais523> what would y be there?
18:16:34 <ehird> ais523: a table
18:16:34 <ehird> well
18:16:35 <ehird> an array
18:16:37 <ais523> ah, ipairs I've never heard of
18:16:39 <ehird> since it discards the tabley stuff
18:16:43 <ehird> ais523: ipairs just changes
18:16:47 <ehird> { x = y, foo = bar }
18:16:48 <ehird> into
18:16:49 <ais523> also, do table keys have to be valid identifier names?
18:16:51 <ehird> {{x,y},{foo,bar}}
18:16:54 <ehird> also, dunno
18:16:55 <ehird> I don't know lua
18:16:57 <ehird> also, no
18:17:00 <ehird> it's any object
18:17:01 <ehird> just remembered
18:17:02 <ais523> I've been getting obscure bugs when I try to use numbers as table keys
18:17:11 <ehird> well
18:17:13 <ehird> that's what arrays do
18:17:14 <ais523> prepending a letter it seems to work
18:17:18 <ehird> { 1,2,3 } is a table
18:17:21 <ehird> like PHP
18:17:32 <ais523> no, {x=1, y=2, z=3} is a table I think
18:17:37 <ehird> no
18:17:41 <ehird> tables are the only complex datastructure in lua
18:17:41 <ais523> ah, ok
18:17:51 <ais523> this is what happens when you try to learn a language by example...
18:18:07 <ehird> it also has a crazy thing called metatables, that let you use tables to make objects
18:18:16 <ehird> http://en.wikipedia.org/wiki/Lua_(programming_language) pretty much describes all of lua
18:19:49 <ehird> has anyone made Enigma tic tac toe?
18:20:52 <ais523> I don't know of an implementation of that
18:20:56 <ais523> I might try, it wouldn't be too hard
18:21:03 <ehird> ais523: oh, ipairs is pairs with just integers, I think
18:21:06 <ehird> pairs gives you the key/value pairs
18:21:11 <ehird> also, I'd like to tryu
18:21:20 <ehird> I'll rip off your code :D
18:21:29 <ais523> I'm actually using that level as a template
18:21:33 <ais523> although you have to delete most of it
18:21:43 <ais523> and there are some subtleties in the header that need changing
18:22:43 <ais523> I strongly advise reading the reference docs before creating a level
18:23:27 <ehird> <el:score el:easy="0:27" el:difficult="4:10"/>
18:23:29 <ehird> is that true btw
18:23:33 <ehird> 27sec?!
18:23:36 <ais523> yes, those are both genuine times
18:23:38 <ais523> easy is human v human
18:23:46 <ehird> yeah but it can't be that fast surely
18:23:49 <ais523> so you play the best possible strategy as one and the worst as the other
18:24:00 <ais523> and win in 3 moves
18:24:35 <ais523> (player 1: take all of the rightmost group, player 2: take all of the middle group, player 1: take all of the left group oh no I lost, player 2: oh look I won (gets oxyds)
18:24:39 <ais523> )
18:24:51 <ehird> okay, you're just good with the mouse then
18:24:52 <ais523> it's easy to complete the level pretty quickly like that
18:25:10 <ais523> the hard mode actually requires skill to complete
18:25:12 <ehird> levelh = 13
18:25:12 <ehird> levelw = 39
18:25:15 <ehird> wonder what that means.
18:25:21 <ais523> size of the level
18:25:22 <ehird> oh, is that the standard screen size?
18:25:23 <ais523> 13 by 20 is one screen
18:25:26 <ehird> ah
18:25:37 <ais523> and you add an extra 12 to give another screen of height, and an extra 19 to give another screen of width
18:27:21 <ais523> but you really need to change the headers to prevent the whole thing borking
18:27:27 <ehird> yeah, I'm trying
18:27:37 <ais523> you need a unique ID for the level, and there's a scheme to make sure they don't collide
18:27:58 <ais523> the release starts at one, score starts at 1 and increases every time you make a change to a released version that changes scoring compatibility
18:28:04 <ais523> and revision goes up by 1 or more every change
18:28:20 <ais523> also, the status should be "experimental" not "released" while you're editing the level
18:28:25 <ehird> what bozo designed this shit
18:28:30 <ais523> so it doesn't care about compatibility between different versions of it
18:28:52 <ais523> and in case you haven't guessed, the format was designed as a merger between multiple incompatible formats
18:29:31 <ehird> ugh
18:29:39 <AnMaster> <ais523> which means no loops except by recursion <-- err... why?
18:29:43 <ehird> backwards compatibility strikes once again
18:29:51 <ehird> AnMaster: he onlyused the lua he learned from other levels
18:29:56 <ehird> which didn't include loops, apparently
18:30:04 <ais523> AnMaster: using only the subset of Lua that I could reverse-engineer from the levels I looked at
18:30:10 <AnMaster> ah
18:30:13 <ais523> and none of the ones I looked at contained loops
18:30:21 <ais523> but function definitions were there aplenty, so I just used recursion
18:30:23 <ehird> hm, yeah, AnMaster is ignoring me.
18:30:24 <ehird> fun fun.
18:30:31 <AnMaster> ais523, iirc it is something quite like C loops. But I may misremember
18:30:40 <ehird> gee, I wonder who told him that
18:30:45 <ehird> maybe it was me.
18:31:05 <ais523> I must be an esoprogrammer...
18:31:16 <AnMaster> ais523, Why do you think so?
18:31:41 <ais523> because I'm trying to find any method of writing in a broken language rather than getting a better language
18:31:48 <oklopol> ais523: do i win or lose if the ai gets stuck in an infinite loop?
18:31:49 <ais523> where in this case, the broken language is a random subset of Lua
18:31:53 <AnMaster> ais523, ah
18:31:56 <ais523> oklopol: lose, I think
18:32:02 <ehird> I think that should be a win
18:32:05 <ehird> a sort of
18:32:05 <ais523> did you hit that bug where it goes back and forth in the leftmost group?
18:32:06 <ehird> meta-win
18:32:08 <ehird> a third condition
18:32:10 <ais523> it's a lose because you don't get the oxyds
18:32:26 <ais523> you put the level into an unwinnable situation...
18:32:28 <oklopol> ais523: you should probably mention you can't move the blocks in any order.
18:32:40 <oklopol> hmm
18:32:42 <ais523> what do you mean by that?
18:32:43 <oklopol> oh!
18:32:58 <ais523> it should be pretty obvious after a while what the rules for moving blocks are
18:33:10 <ehird> there are rules?
18:33:13 <ais523> as in, the what is relatively easy to deduce, the level's all about the how
18:33:14 <ehird> I just did whatever it let me
18:33:14 <oklopol> yeah, but i thought it was a bug that occurred because i moved them at random
18:33:31 <oklopol> i mean not from bottom up
18:33:40 <ais523> ehird: well, blocks leave grates behind when you push them with bombs on, and the bombs explode when you go back to the top
18:33:53 <ais523> oklopol: no, it's a known bug
18:33:56 <oklopol> yeah okay i see
18:33:59 <ehird> well right
18:34:00 <ais523> and I think I know how to fix it but can't be bothered right now
18:34:17 <ais523> which means, the only way to get into one of the groups is via the one-way blocks at the top
18:34:30 <ais523> which means that on your turn, you can sink any number of blocks from any one of the groups
18:34:37 <ais523> but can't sink blocks from more than one group
18:34:43 <ais523> based on that, you need to make the AI sink the last block
18:34:45 <ehird> right
18:34:52 <ais523> that's the what
18:34:54 <ehird> I just thought there were non-physical rules
18:34:58 <ais523> now, the how is the interesting part...
18:35:01 <ehird> i.e., it is possible to cheat in a non-bug way
18:35:06 <ehird> it seemed to be what you implied
18:35:09 <ehird> also
18:35:10 <ais523> ehird: grates springing up when you move the block is a non-physical rule
18:35:12 <ais523> although a subtle one
18:35:18 <ehird> oh
18:35:19 <ais523> and no way to cheat that I know odf
18:35:20 <ais523> *of
18:35:21 <AnMaster> ais523, heh it says world record for that level (on easy)
18:35:21 <ehird> you're not meant to go on the block?
18:35:24 <ehird> ?
18:35:31 <ais523> "on the block"?
18:35:34 <AnMaster> very boring level IMO. But I have a different taste
18:35:46 <ais523> you need to use the block as a bridge to leave the group
18:35:54 <ehird> well yeah
18:35:58 <ais523> and you can use any of the blocks you pushed
18:36:00 <ehird> but are you allowed to go under the grate
18:36:03 <ais523> by analogy, this means you need to sink one block
18:36:10 <ais523> and going under the grate will kill you
18:36:12 <ais523> there's an abyss there
18:36:16 <ais523> unless it's a grate you created that turn
18:36:21 <ais523> in which case it's just a bomb
18:36:23 <ehird> I meant created this term
18:36:31 <ais523> if it's created that turn, fine
18:36:36 <ais523> but it won't let you break the rules of the level
18:36:40 <oklopol> hmph it got stuck again.
18:36:44 <ais523> how were you ever getting back up to the top without going under the grates?
18:36:49 <ehird> "Think about that for a minute. It computes the answers. Wolfram Alpha doesn't simply contain huge amounts of manually entered pairs of questions and answers, nor does it search for answers in a database of facts. Instead, it understands and then computes answers to certain kinds of questions."
18:36:54 <oklopol> i think i'll solve this on paper
18:37:04 <ehird> can we stop with the "Wolfram Alpha is strong AI out of Stephen Wolfram's magical butt of being able to do anything" articles?
18:37:07 <ais523> oklopol: it is worth pointing out that it will never get stuck if you play with the optimal strategy
18:37:14 <ehird> ais523: I was going under them
18:37:23 <ais523> ehird: yes, so?
18:37:31 <ehird> something you said to oklopol
18:37:35 <ehird> made me think you were saying
18:37:38 <ehird> that there were non-physical rules
18:37:41 <ais523> no
18:37:49 <ehird> I'm just explaining what I thought
18:37:50 <ais523> I try to keep my levels as physical-rules-based as possible
18:37:54 <ais523> apart from the AI, of course
18:37:57 <ais523> which is very scripted
18:38:10 <oklopol> i'm not feeling like a puzzle tonight
18:38:17 <ehird> I tried to escape from the switcher thing and go and kill the white ball
18:38:19 <ehird> but I didn't succeed
18:38:31 <ais523> ehird: it took me ages fixing bugs in that thing!
18:38:32 <ehird> specifically, I tried to run away before it locked me in
18:38:50 <oklopol> hah.
18:38:57 <ais523> and that's impossible due to the way doors work in Enigma
18:39:01 <ais523> you can't enter them once they start closing
18:39:11 <ehird> yes, but the white ball starts before they close
18:39:25 <ais523> and as the trigger's on a different square, by definition you're outside them when you hit the trigger
18:39:56 <ehird> "There is no risk of Wolfram Alpha becoming too smart, or taking over the world. It's good at answering factual questions; it's a computing machine, a tool -- not a mind."
18:39:58 <ehird> Friendly AI fail.
18:41:29 <ais523> I agree that there's no chance of it taking over the world
18:41:46 <ais523> I think there's a marginal chance it'll lead to Wolfram being booted from the internet, but for unrelated reasons
18:41:46 <ehird> the statement is stupid, though
18:41:53 <ehird> ais523: huh?
18:42:11 <ais523> you'll see later on, if they still have the feature I'm thinking of
18:42:25 <ehird> does it download gigabytes of data every minute?
18:43:08 <ehird> but yeah, what I quoted was really stupid because a sufficiently advanced "computing machine" that correlates tons of its data (memories) and communicates a response, based on outside input (search query)...
18:43:09 <ehird> is a mind
18:43:16 <ehird> (for very large values of sufficiently advanced)
18:43:36 <ais523> well, I don't think you'll have to worry about sufficiently advanced
18:43:42 <ehird> yes, nor I
18:43:48 <ehird> I don't think that makes the statement any more valid
18:46:11 <ais523> incidentally, I've been trying to re-establish a wireless connection all this time
18:46:27 <ais523> I only came on mibbit because it was taking so long and I wanted to continue conversing...
18:48:21 <ehird> mysql --i-am-a-dummy
18:48:24 <ehird> http://dev.mysql.com/doc/refman/4.1/en/mysql-tips.html#safe-updates
18:48:37 <ais523> is that an actual command line switch?
18:48:45 <ehird> yep
18:48:58 <ais523> also, why does mibbit not show a cursor in the box you're meant to type in?
18:49:00 -!- akiross has joined.
18:49:01 <ais523> it does sometimes
18:49:04 <ais523> but isn't atm
18:49:05 <akiross> hi
18:49:05 <ehird> wfm
18:49:07 <ehird> although
18:49:10 <ehird> I think I've had that problem
18:49:11 <ehird> hi akiross
18:49:19 <ais523> which makes it hard to change something that isn't at the end of the sentence
18:49:21 <ais523> and hi akiross
18:49:34 <akiross> hi ehird, ais523
18:49:45 <ehird> hi
18:49:54 <ais523> what brings you here?
18:49:59 <ais523> also, hi ehird, just to keep this chain going
18:50:07 <ehird> hi akiross
18:50:09 <ehird> also
18:50:13 <asiekierka> hi akiross
18:50:13 <ehird> akiross is new, he's been here before
18:50:22 <ehird> he said he's working on a language that's like assembly for message-passing OOP
18:50:34 <ais523> that sounds sufficiently eso
18:50:37 <ais523> maybe even tarpitty
18:50:41 <akiross> hi asiekierka
18:51:55 <akiross> :) infact i'm here most to listen and see if it can interest, i'm not really in the "divulgation-phase" :D
18:52:09 <ehird> divulgation
18:52:10 <ais523> sounds like me sometimes
18:52:11 <ehird> that's a word there
18:52:23 <ais523> I can mention Underlambda and get lots of people shouting at me to release the spec
18:52:30 <ais523> or Feather and get people shouting at me to make some progress
18:52:47 <Deewiant> Wow, divulgate is actually a word
18:53:08 -!- ehird has set topic: Word of the day: Divulgation. Logs are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:53:51 -!- asiekierka has set topic: Word of the day: Divulgation. Apples AND Logs are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:53:56 -!- ehird has set topic: Word of the day: Divulgation. Logs are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:54:01 <asiekierka> :(
18:54:05 <ehird> asiekierka: I always win the topic battles. Don't bother. :P
18:54:10 <asiekierka> But apples ARE good for your health
18:54:18 -!- asiekierka has set topic: Word of the day: Divulgation. Logs are too good for your health: http://tunes.org/~nef/logs/esoteric/.
18:54:27 -!- ais523 has quit ("mibbit.com: getting some apple juice").
18:54:34 <akiross> ahah i liked the apples one :D
18:54:34 -!- ehird has set topic: Word of the day: Divulgation. Logs are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:54:39 <asiekierka> I said apples ARE good for your health
18:54:47 -!- ehird has set topic: Word of the day: Divulgation. Rocks are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:55:01 -!- asiekierka has set topic: Word of the day: Apples. Logs are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:55:08 -!- ehird has set topic: Divulgations are good for your health: http://tunes.org/~nef/logs/esoteric/.
18:55:34 -!- asiekierka has set topic: Topics are good for your health. Logs aren't, but see them here: http://tunes.org/~nef/logs/esoteric/.
18:55:44 -!- ehird has set topic: Divulgations are good for your topic: http://tunes.org/~nef/logs/esoteric/.
18:56:01 -!- asiekierka has set topic: Topics are good for your apples auce: http://tunes.org/~nef/logs/esoteric/.
18:56:08 -!- ehird has set topic: Divulgations are apples for your topic: http://tunes.org/~nef/logs/esoteric/.
18:56:35 -!- Deewiant has set topic: Topics divulgate apples: http://tunes.org/~nef/logs/esoteric/.
18:56:45 -!- asiekierka has set topic: Apples are apples for your... bananas! OH NO THE BANANA GAG! | http://tunes.org/~apples/apples/apples.
18:56:52 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
18:56:57 <ehird> Wow, now it's deep.
18:57:05 <akiross> yeah :D
18:57:24 -!- asiekierka has set topic: Applepedia: Over 9.000.000.000 (divulgated) words: http://tunes.org/~nef/logs/esoteric/.
18:57:31 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
18:57:55 -!- asiekierka has set topic: Apples for your divulgations: http://tunes.org/~nef/logs/esoteric/.
18:58:20 <asiekierka> ...
18:58:20 <asiekierka> wow
18:58:21 <asiekierka> did I win
18:58:22 <asiekierka> or what
18:58:29 <akiross> you did
18:58:31 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
18:58:34 <ehird> Nope.
18:58:41 <asiekierka> ehird is back for the same old joke
18:58:51 -!- asiekierka has set topic: Apples for ehird's divulgations: http://tunes.org/~nef/logs/esoteric/.
18:59:11 <asiekierka> I WIN
18:59:23 -!- asiekierka has set topic: Akiross for ehird's asiekierkas: http://tunes.org/~nef/logs/esoteric/.
18:59:24 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
18:59:33 -!- asiekierka has set topic: Divulgations.
18:59:50 -!- asiekierka has set topic: are.
18:59:53 -!- asiekierka has set topic: apples.
18:59:56 -!- asiekierka has set topic: for your.
19:00:00 -!- asiekierka has set topic: SPARTA!.
19:00:15 <akiross> lol
19:00:29 -!- Deewiant has set topic: http://tunes.org/~nef/logs/esoteric/.
19:00:36 -!- asiekierka has set topic.
19:00:39 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:00:45 <ehird> asiekierka: Your topic rights are revoked.
19:00:50 <ehird> You broke freenode policy
19:00:52 <ehird> by removing the log URL.
19:00:53 -!- asiekierka has set topic: #esoteric | No they are not, Mr. Anderson.
19:00:57 <ehird> asiekierka: Your topic rights are revoked.
19:00:58 -!- Deewiant has set topic: http://tunes.org/~nef/logs/esoteric/.
19:00:59 <ehird> er
19:01:00 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:01:01 -!- asiekierka has set topic: #esoteric | No they are not, Mr. Anderson | http://tunes.org/~nef/logs/esoteric/.
19:01:03 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:01:15 -!- asiekierka has set topic: Let's listen to some tunes.org/~nef/logs/esoteric/.
19:01:17 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:01:21 -!- Slereah has set topic: You are both suspended. | http://tunes.org/~nef/logs/esoteric/.
19:01:24 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:01:36 <ehird> argh
19:01:37 <ehird> make it stop
19:01:39 <ehird> X_X
19:01:42 -!- asiekierka has set topic: THE NEXT PERSON THAT CHANGES THIS TOPIC SUCKS.
19:01:43 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:01:44 <tombom> nice
19:01:47 <asiekierka> lol
19:02:06 -!- asiekierka has set topic: THE NEXT PERSON THAT CHANGES THIS TOPIC A SPLODES.
19:02:10 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:02:25 <AnMaster> where is ais?
19:02:50 -!- asiekierka has set topic: http:// tunes [dot] org / [somechar] net [backslash] lo [gee] s / [e]sote [rick without a k].
19:02:52 <ehird> I would tell you he quit to get applejuice
19:02:57 <ehird> but you're ignoring me, so tough shit
19:02:58 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:03:04 <asiekierka> <ehird> I would tell you he quit to get applejuice
19:03:06 <asiekierka> <ehird> but you're ignoring me, so tough shit
19:03:07 <asiekierka> :D
19:03:25 -!- asiekierka has set topic: The next person changing this topic must do it in Underload..
19:03:28 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:03:30 <AnMaster> right, if he isn't ignoring any moire
19:03:30 <AnMaster> more*
19:03:33 * AnMaster unignores
19:03:48 <asiekierka> ehird: Your topic rights are revoked.
19:03:53 <asiekierka> You broke the topic's sacred policy.
19:04:06 <ehird> Can you remember how I said I always won topic wars?
19:04:08 <ehird> Give up.
19:04:20 -!- asiekierka has set topic: NEVER GONNA GIVE YOU UP, NEVER GONNA LET YOU DOWN.
19:04:24 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:04:45 -!- asiekierka has set topic: NEVER GONNA SAY GOODBYE.
19:04:49 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:04:56 <ehird> My patience is being tried.
19:05:27 -!- asiekierka has set topic: You know the rules, and so do I.
19:05:51 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:07:48 -!- asiekierka has set topic: Divulgations are apples for your words: http://tinyurl.com/esoteric-logs.
19:08:30 <akiross> is there somewhere a bloated snusp interpreter? i can find only a perl-one for modular snusp
19:08:38 <akiross> perl one
19:09:11 <asiekierka> Did anyone actually see that link
19:09:17 <asiekierka> I see that I won
19:11:24 <asiekierka> yay
19:11:25 <asiekierka> :)
19:12:02 -!- Deewiant has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:12:20 <ehird> Deewiant: :D
19:12:41 <Deewiant> I dislike an additional click
19:13:06 -!- asiekierka has set topic: Divulgations are apples for your words: http://tinyurl.com/esoteric-logs.
19:13:09 <Deewiant> Oh, looks like it's a rick roll too
19:13:12 -!- Deewiant has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:13:32 -!- asiekierka has set topic: Divulgations are apples for your words: http://tinyurl.com/esoteric-logs.
19:13:41 <Deewiant> Or I guess it is, I don't remember all the rick roll youtube IDs
19:13:43 <ehird> Deewiant: asiekierka still thinks rick astley and GlaDoS are funny because he's an irritating kid stuck in 2006.
19:13:46 <Deewiant> Looks like one though
19:13:49 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/.
19:13:50 <asiekierka> I know he's not
19:14:35 <AnMaster> asiekierka, please keep the proper log link in topic. I agree with ehird there
19:14:43 <AnMaster> also
19:14:49 <AnMaster> I prefer the last at top sorting
19:14:50 <AnMaster> ehird, :)
19:15:03 <AnMaster> iirc it was your idea to begin with
19:15:04 <ehird> asking asiekierka to do something is like asking a brick wall to soften up a bit
19:15:09 <ehird> also, ah yes
19:15:11 <ehird> I'll put that in
19:15:18 <AnMaster> bbl
19:15:21 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:18:26 <ehird> asiekierka: something really funny: http://throbs.net/fun/swf.asp?rgb.swf
19:19:53 <Deewiant> Aww, that sound loop is short
19:20:01 <Deewiant> Why couldn't they include the whole tune
19:20:29 <ehird> Heh
19:20:45 <ehird> Deewiant: Maybe it's deliberately repetitive, for people with, um, audial epilepsy?
19:21:40 <akiross> lol
19:21:58 <asiekierka> Seems you won, huh?
19:23:14 <asiekierka> Well, that's true. You won this battle.
19:23:29 -!- asiekierka has set topic: Divulgations are apples for your words: http://tinyurl.com/esologs.
19:23:38 -!- Deewiant has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:23:46 <asiekierka> you didn't even check that link
19:23:48 <asiekierka> right
19:23:51 <Deewiant> I don't care
19:23:55 -!- asiekierka has set topic: Divulgations are apples for your words: http://tinyurl.com/esologs.
19:24:08 -!- ehird has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:24:08 <Deewiant> It's a tinyurl so it's an extra click
19:24:15 <Deewiant> Regardless of whether it links to the right place
19:24:18 <asiekierka> what extra click
19:24:26 <asiekierka> there's no extra click
19:24:27 <Deewiant> I have the 'preview' function of tinyurl enabled
19:24:33 <Deewiant> To avoid crap like your rick roll
19:24:33 <asiekierka> Oh
19:24:35 <asiekierka> That's your fault
19:24:41 <Deewiant> Yes, it is
19:24:50 <asiekierka> so check it in your preview
19:24:51 <Deewiant> But given that we have the option of just producing a direct link... why the hell would we not do so
19:25:02 <ehird> http://asienet.site40.net/
19:25:08 <asiekierka> quite
19:25:10 <ehird> "Give me a free PS3, now! What do you mean no?"
19:25:12 <ehird> --Asiekierka.
19:25:15 <asiekierka> Well
19:25:18 <asiekierka> that was a joke page
19:25:24 <asiekierka> made in November
19:25:31 <asiekierka> and you missed "logs.html"
19:26:47 -!- asiekierka has set topic: Divulgations are apples for your words: http://asienet.site40.net/logs.html.
19:26:53 <asiekierka> no extra clicks
19:26:55 <asiekierka> g`hah
19:26:57 -!- Deewiant has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:27:08 <asiekierka> Did you at least check it
19:27:12 <ehird> god asiekierka is irritating.
19:28:31 -!- kar8nga has joined.
19:29:03 -!- asiekierka has set topic: Divulgations are apples for your words: http://asienet.site40.net/logs.html.
19:29:08 -!- Deewiant has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:30:13 -!- asiekierka has quit.
19:30:56 -!- asiekierk has joined.
19:30:58 <asiekierk> Hai
19:31:08 -!- asiekierk has set topic: Divulgations are apples for your wars: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:31:09 -!- asiekierk has set topic: Divulgations are apples for your words: http://asienet.site40.net/logs.html.
19:31:13 <asiekierk> oops
19:31:14 -!- asiekierk has left (?).
19:31:15 -!- Deewiant has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
19:31:18 -!- ChanServ has set channel mode: +t.
19:31:30 <fizzie> Maybe we'll do something like that for a moment.
19:31:38 <Deewiant> Cheers
19:31:56 <ehird> fizzie: Can't you just eliminate the problem? :P
19:32:39 <fizzie> No, I don't like taking responsibility for stuff like that. :p
19:34:19 -!- asiekierk has joined.
19:34:38 <asiekierk> ...
19:34:40 <asiekierk> .......
19:34:44 <asiekierk> ;(
19:35:00 <asiekierk> This was fun
19:35:06 <asiekierk> And you killed the coolest thing on this channel
19:35:27 <Deewiant> fungot: Are you still alive?
19:35:27 <fungot> Deewiant: woohoo! srfi-49 has been finalized!
19:35:37 <Deewiant> Nah, we're still good.
19:35:39 <fizzie> What an enthusiastic response.
19:35:54 <ehird> http://srfi.schemers.org/srfi-49/srfi-49.html
19:35:57 <asiekierk> fizzie...!!!
19:36:11 <ehird> asiekierk: shut up
19:36:16 <asiekierk> you shut up
19:36:18 <asiekierk> twice
19:36:34 <ehird> fizzie: are you sure you can't eliminate the problem...
19:36:40 <fizzie> Oh, it was that i-expression thing. I didn't remember from the number.
19:37:45 <asiekierk> well
19:37:51 <asiekierk> now we can't edit the topic
19:38:06 <ehird> fizzie: Say, what Scheme do you use? I've found all of them woefully inadequate (invents their own solutions instead of using srfis)
19:38:20 <fizzie> ehird: Hey, this is freenode, it's all "Look for the best in people." and stuff.
19:38:39 <ehird> :D
19:38:49 <ehird> The best in asiekierka... hmm. He /parts sometimes.
19:38:50 <asiekierk> well, it's a free node
19:39:03 <fizzie> ehird: Mainly I've used MzScheme (or PLT, anyway) even though I don't really like it, and it certainly does that own-solutions thing.
19:39:08 <asiekierk> ;(
19:39:22 <ehird> PLT is just so bloated
19:40:13 <asiekierk> ehird: No really, the best
19:40:22 <ehird> what
19:40:33 <asiekierk> Everyone is parting sometimes
19:40:34 -!- oerjan has joined.
19:40:40 <asiekierk> or at least some people
19:40:48 <ehird> yes but mostly those people are good to have around
19:41:03 <asiekierk> but i'm the worst ever person cuz you hate me for my spamminess
19:41:17 <tombom> what on earth is the point of that srfi
19:41:39 <ehird> tombom: satisfy lamers who have a parenthesis allergy
19:42:39 <fizzie> Yes, I personally can't even use more than seven Funge fingerprints in a single file, otherwise those (s make me sneeze uncontrollably.
19:42:50 <tombom> parentheses are pretty much the best thing about lispy languages, how silly
19:46:23 <MizardX> % ls
19:46:25 <MizardX> foot.c foot.h foot.o toe.c toe.o
19:46:28 <MizardX> % rm * .o
19:46:29 <MizardX> rm: .o: No such file or directory
19:46:31 <MizardX> % ls
19:46:33 <MizardX> %
19:46:38 <asiekierk> you mean rm *.o
19:46:44 <ehird> asiekierk: no shit sherlock
19:46:46 <ehird> MizardX: d'oh.
19:46:48 <Deewiant> I think he means he fucked up
19:46:50 <ehird> you had backups right
19:46:57 <fizzie> Wasn't that in one of the shoot-yourself-in-the-foot lists?
19:46:59 <ehird> or, was it in version control?
19:47:02 <ehird> * doesn't include .foo
19:47:06 <ehird> so just do a checkout
19:47:21 <Deewiant> fizzie: Seems likely, I was just thinking about what 'foot' and 'toe' could mean
19:47:42 <fizzie> http://www.fullduplex.org/humor/2006/10/how-to-shoot-yourself-in-the-foot-in-any-programming-language/ "Unix" was my first goggle-hit.
19:48:05 <fizzie> A lack of esoteric languages in that list.
19:48:20 <ehird> "Note: The IEEE Scheme standard permits only lambda expressions and constants as the value of internal defines."
19:48:22 <Deewiant> [Any esoteric language]
19:48:23 <ehird> What the fuck.
19:48:27 <Deewiant> You notice you have no feet.
19:48:38 <ehird> hahhahaha
19:48:40 <asiekierk> What about Befunge
19:48:58 <ehird> what about it
19:49:19 <asiekierk> how do you shoot yourself in the foot IN IT
19:49:38 <asiekierk> in befunge
19:49:38 <ehird> sigh
19:49:41 <ehird> you missed the whole joke
19:49:43 <ehird> you lose
19:49:44 <ehird> etc
19:49:48 <asiekierk> i understand it
19:49:50 <asiekierk> but i still ask the question
19:49:54 <asiekierk> it surely can't be any
19:50:00 <asiekierk> Befunge is far more advanced than a typical esolang
19:50:06 <ehird> la la la
19:51:49 <oerjan> ehird: that IEEE restriction reminds about reading how it's awkward to compile internal defines in the presence of continuations, maybe it's intended to solve that
19:51:56 <ehird> yep, it is
19:51:57 <oerjan> *reminds me
19:52:00 <ehird> but how ugly
19:55:03 <fizzie> SA forums have had a discussion about foot-shooting, where someone listed Befunge with "You pull the trigger and the bullet perforates your foot simultaneously from four different directions." and Brainfuck with "Construct, from individual molecules, gun, bullet and foot." Nothing too funny there.
19:55:28 * ehird decides between Gauche, MIT Scheme, PLT Scheme, Scheme48 & Gambit
19:55:30 <ehird> and maybe larceny
19:55:37 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
19:56:02 <ehird> opinions welcome
19:56:53 <oerjan> hm maybe Unlambda: "Suddenly a bullet emerges from inside your foot"
19:57:01 <asiekierk> :)
19:57:04 <ehird> Gauche: "GC is now Boehm GC 7.1."
19:57:05 <fizzie> ehird: If you want to grow up a Riastradh, do Scheme48.
19:57:07 * ehird writes off.
19:57:14 <ehird> fizzie: God I hate Riastradh. :|
19:57:23 <ehird> But what was your meaning there?
19:57:32 <fizzie> He's a very Scheme48 person.
19:58:15 <ehird> I never figured out what s48's intention was.
19:58:35 <ehird> Also, its manual link is a 404, sheesh.
19:58:42 <asiekierk> Hey, I found another BF description in the comments
19:58:42 <asiekierk> Brainfuck: You create a Turing complete gun, but it takes
19:58:42 <asiekierk> more bytes of memory to store the gun than there are protons in the universe. The universe dies of old age before you finish writing the bullet.
19:59:06 <asiekierk> .Net: Microsoft shoots you in the foot.
19:59:30 <asiekierk> or Microsoft hands you a gun to shoot yourself in the foot, or Microsoft hands you a gun and swears blind it’s a toenail clipper
20:01:25 <oerjan> .Net: Microsoft shoots you in the foot, then when you complain they sue you for violating their EULA.
20:03:06 <asiekierk> DOBELA: Your feet are split into 5 individual dots. Then you find out you can't shoot them.
20:04:03 <asiekierk> Piet: You paint your foot, and then make a colorful border around it in order to shoot it.
20:04:42 -!- ais523 has joined.
20:04:55 <ais523> wb me
20:04:56 <ehird> asiekierka: You look at your foot, and asiekierka changes the topic.
20:05:13 <asiekierk> ehird, good one, even if mocking me
20:05:16 <ais523> also, it doesn't take me that long to get apple juice normally
20:05:17 <asiekierk> congrats
20:05:30 <asiekierk> asiekierka part 2: You pull out a gun, and ehird changes the topic back.
20:05:31 <ais523> just I went and shut down my laptop, and the public Windows computer I was using
20:05:37 <ais523> then went to a pub that sold apple juice
20:05:43 <ais523> and met some of my RL friends there
20:05:46 <ehird> ais523: quick! Gauche/Larceny/MIT Scheme/PLT Scheme/Scheme48/Gambit
20:05:46 <ais523> see, apple juice is good for you
20:05:47 <ehird> Pick one.
20:06:01 <ais523> ehird: MIT Scheme's the only one of those I've heard of
20:06:09 <ehird> What boring logic.
20:06:16 <ais523> so I pick that one on the basis that it's the only one that has anything to tell it apart from the others from my point of view
20:06:58 <fizzie> ais523: You do know the names of the others; you could, for example, sort then in sha-hashed order, and choose thusly.
20:07:13 <asiekierk> Rick Astley: Never gonna pwn your foot, never gonna shoot them right...
20:08:16 <ehird> fizzie: That gives MIT.
20:08:27 <ehird> er, wait
20:08:28 <ehird> PLT
20:08:31 <ehird> irb(main):008:0> %w(Gauche Larceny MIT PLT Scheme48 Gambit).map {|x| [Digest::SHA1.hexdigest(x),x] }.sort[0]
20:08:31 <ehird> => ["83618951efd5e2d2c5c9fb6c1477485364e59136", "PLT"]
20:09:00 <asiekierk> Wii: You try to shoot yourself in your foot but you can't aim it properly and you end up shooting your TV.
20:09:30 <ais523> wow, that's a pretty high number for the lowest SHA hash...
20:09:36 <ais523> how come they all hashed in the top hald?
20:09:39 <ais523> *half?
20:09:40 <comex> .....................
20:09:51 <comex> unfortunately I don't think Python can do better
20:09:53 <fizzie> fis@iris:~$ echo "Gauche/Larceny/MIT Scheme/PLT Scheme/Scheme48/Gambit" | tr '/' '\n' | awk '{system("echo `echo -n "$0" | sha1sum` "$0);}' | sort | head -n 1
20:09:56 <fizzie> 103c701a4dbfc88dbd699811a1bda6350f3c75f6 - MIT Scheme
20:09:59 <fizzie> I used the names with spaces.
20:10:16 <ehird> it's Scheme 48
20:10:18 <ehird> with a space
20:10:20 <ehird> technically
20:10:22 <asiekierk> DS: You touch your feet and access the Gun menu. There you select "Shoot". Then you find out you shot your girlfriend's feet.
20:10:35 <fizzie> That was directly copy-pasted from your question, though.
20:10:48 <comex> File "<stdin>", line 1
20:10:49 <comex> |i| hashlib.sha1(i).hexdigest()
20:10:51 <comex> ^
20:10:52 <comex> SyntaxError: invalid syntax
20:10:54 <comex> :(
20:11:04 <ehird> comex: it's ruby
20:11:05 <ehird> :P
20:11:12 <comex> I know
20:11:14 <comex> and I wish python could do it
20:11:18 <comex> ......maybe it can
20:12:07 <ehird> http://practical-scheme.net/gauche/features.html A lot of SRFIs there.
20:12:17 <ehird> Still wary about it using Boehm.
20:12:24 <asiekierk> what's a SRFI
20:12:47 <ehird> MIT Scheme is probably out, it barely supports any srfis
20:12:51 <comex> VERY LOUD NOISE
20:13:06 <comex> asiekierk: it's you, you're the very loud noise
20:13:17 <asiekierk> One more 1000hz noise
20:13:28 * comex turns the volume down
20:13:51 <asiekierk> Deadfish: You have the gun, and the bullets, but you find out you can't input your feet.
20:14:08 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
20:14:08 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
20:14:10 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
20:15:00 -!- ehird has joined.
20:15:00 -!- GregorR has joined.
20:15:00 -!- Leonidas has joined.
20:15:58 <ais523> wb ehird
20:16:02 <ais523> well, netsplit-wb
20:17:05 * comex turns the volume down
20:17:06 <comex> oops
20:18:28 <ehird> that was a wicked netsplit
20:18:32 <ehird> just me, GregorR and Leonidas
20:18:33 <ehird> chillin'
20:18:56 <comex> ok that's annoying
20:18:59 <ehird> "The name ‘Scheme 48’ commemorates our having written the original version in forty-eight hours, on August 6th and 7th, 1986. "
20:19:05 <ehird> 1986? Wow. This is old.
20:19:14 <ehird> :P
20:19:37 <ais523> well, if they worked every 48 hours since then
20:19:43 <ais523> imagine how good it would be now!
20:19:53 <fizzie> Here's the missing python:
20:19:55 <fizzie> >>> sorted([(hashlib.sha1(imp).hexdigest(), imp) for imp in "Gauche/Larceny/MIT Scheme/PLT Scheme/Scheme 48/Gambit".split("/")])[0]
20:19:58 <fizzie> ('103c701a4dbfc88dbd699811a1bda6350f3c75f6', 'MIT Scheme')
20:22:39 <ehird> Okay, it's Scheme 48 vs Gauche vs Gambit now, I think.
20:22:59 <ais523> ehird: didn't you reccommend Chicken to me a while back?
20:23:04 <ais523> I even installed it, although I never used it
20:23:20 <fizzie> Chicken seemed to have a nice amount of eggs for it.
20:23:57 <ais523> and wow, are people still watching asiekierka's desktop?
20:24:02 <ehird> Yes, unfortunately Chicken has several annoying points to it
20:24:05 <ehird> no hygenic macros by default, no bignums by default
20:24:14 <ehird> and mostly eggs instead of srfis
20:24:19 <ais523> can you undefault that?
20:24:29 <ehird> yes, I think
20:24:37 <ehird> but I'd prefer to just get an r5rs-compliant interp that used srfis
20:24:48 <ehird> also fast, preferably
20:27:43 <ehird> "Bridges are expected to stand up, and on the “first try,” even! Planes are expected to stay aloft. And yet programmers seem to be content with forever competing in the engineering version of the Special Olympics, where different, “special” standards apply and products are not expected to actually do what they say on the box - at any rate, the idea of offering a legal warranty of proper function (or even of not causing utter disaster, in the mann
20:27:45 <ehird> er customary in every other industry) for a software product is seen as preposterous."
20:27:47 <ehird> — http://www.loper-os.org/?p=37
20:28:53 <asiekierk> ais523: Oklopol is
20:29:01 <ais523> ?
20:29:13 <asiekierk> well
20:29:14 <ais523> also, I've never seen oklopol spelt with a capital letter before
20:29:20 <ais523> there's something very wrong about that
20:29:22 <asiekierk> i know
20:29:24 <asiekierk> but
20:29:27 <asiekierk> Oklopol is.
20:29:30 <ais523> I have seen "Ais523" on occasion, but there's something very wrong about that too
20:30:09 * ais523 writes /clear
20:30:13 <ais523> those initcaps things are spooking me
20:30:45 <ehird> irb(main):005:0> ["Gambit-C","Scheme 48","Gauche"].map {|x| [Digest::SHA1.hexdigest(x), x]}.sort[-1]
20:30:46 <ehird> => ["d8be759feff060354d1fd9cf4bd1a0a764f31a1e", "Gauche"]
20:30:52 <ehird> It is the highest form of Scheme, clearly.
20:31:11 <ehird> Hmm, Gambit has little SRFI support
20:31:26 <ehird> 48 seems to have, uh, none.
20:31:36 <ehird> No, wait.
20:31:44 <ehird> 48 has a lot.
20:31:46 -!- kerlo has joined.
20:31:51 <fizzie> If you're getting unsuitable results from your SHA hashes, just try alternative spellings.
20:32:34 <ehird> hmm, how do you print a regex match with awk
20:32:58 <ehird> % ls scheme48-1.8/scheme/srfi/srfi-*.scm | awk '/srfi-(.+?)\.scm/ {print $1}' | xargs echo isn't working
20:33:02 -!- ais523_ has joined.
20:33:07 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:33:09 <ehird> ais523_: % ls scheme48-1.8/scheme/srfi/srfi-*.scm | awk '/srfi-(.+?)\.scm/ {print $1}' | xargs echo
20:33:15 <ehird> do you know how to get that awk call working?
20:34:21 <ais523_> ehird: I don't actually know awk
20:34:25 <ais523_> I learnt sed and perl first
20:34:27 -!- ais523_ has changed nick to ais523.
20:34:31 <ais523> that reduces the incentive to learn awk
20:34:32 <ehird> awk is prettier
20:35:13 <ais523> Perl is beautiful
20:35:13 <ais523> all that meaning compressed into a few illegible characters
20:36:00 <fizzie> Also ls scheme48-1.8/scheme/srfi/srfi-*.scm | perl -ne 'print "$1\n" if /srfi-(.+?)\.scm/;'
20:39:39 <ehird> S48: 40 srfis, 1 11 13 13 14 16 17 19 2 25 26 27 28 37 39 4 40 42 43 45 5 60 61 63 66 67 7 71 74 78
20:39:39 <ehird> Gambit: 11 srfis, 0 4 6 8 9 18 21 22 23 27 39
20:39:41 <ehird> Gauche: 40 srfis, 0 1 2 4 5 6 7 8 9 10 11 13 14 16 17 18 19 22 23 25 26 27 28 29 30 31 34 35 36 37 38 39 40 42 43 45 55 61 62 87
20:39:48 <ais523> what is a srfi?
20:39:57 <ehird> ais523: scheme request for implementation
20:40:02 <ehird> scheme extension library standards, pretty much
20:40:07 <ehird> http://srfi.schemers.org/
20:40:32 <ehird> If every implementation supported lots of SRFIs, beautiful portable Scheme code would be possible.
20:40:38 <ehird> And that if is way too hopeful.
20:40:47 <ehird> Most just invent their own shit to solve a problem.
20:40:52 <fizzie> ehird: If you *want* the awk, you can uglily do it with: | awk 'if (match($0, /srfi-(.+?)\.scm/, a)) print a[1]; }'
20:41:34 <fizzie> It seems a bit silly that you can't get to the matched parentheses in the line-select-o-tron.
20:42:44 <ehird> also, has this corewar prorgam been made? I call it the "Imp-O-Matic" (hur hur)
20:42:45 <ehird> basically
20:42:48 <ehird> tons of spls
20:42:50 <ehird> then imps
20:42:56 <ehird> that move so they don't clash with the other imps
20:43:03 <ais523> probably not, how would it win?
20:43:03 <ais523> or probably and it didn't win
20:43:16 <ehird> ais523: it'd be just like an imp, except N times faster
20:43:33 <ais523> yes, people don't use imps as their only strategy because that would be stupid
20:43:40 <ais523> imp-spirals are more common, as they actually have a way to win
20:43:50 <ehird> I'm talking basically for the nano hill
20:43:53 <ehird> so you only have 5 instructions
20:43:58 <ais523> corewar isn't about surviving, it's about winning
20:44:11 <ais523> you don't want to write a survivable program that forces the opponent to run your own survivable program
20:44:11 <ehird> you can climb the hill without winning I believe
20:44:13 <ais523> which is what an imp does
20:44:25 <ais523> then you lose every match
20:44:31 <ais523> because you draw most and lose a few at random
20:47:06 <ehird> anyway, I'm discounting Gambit
20:47:09 <ehird> S48: 40 srfis, 1 11 13 13 14 16 17 19 2 25 26 27 28 37 39 4 40 42 43 45 5 60 61 63 66 67 7 71 74 78
20:47:10 <ehird> Gauche: 40 srfis, 0 1 2 4 5 6 7 8 9 10 11 13 14 16 17 18 19 22 23 25 26 27 28 29 30 31 34 35 36 37 38 39 40 42 43 45 55 61 62 87
20:47:17 <ehird> pretty much equal, Gauche's srfis look a bit more useful though
20:48:43 <ehird> Hmm.
20:50:33 <ais523> as for my Enigma level, I'm surprised that nobody looked up an online strategy guide or anything like that
20:50:35 <ais523> nobody will have written one for the level in particular
20:50:39 <ais523> but the game it models is well-known
20:51:34 <ehird> is it?
20:51:36 <ehird> I don't know it
20:51:57 <ais523> I'm rather good at it
20:51:57 <ais523> I'll play you if you like
20:52:00 <ais523> 12 11 10, your move
20:52:07 <ais523> (that's a won position for you if you play well)
20:52:21 <ehird> errr
20:52:25 <ehird> what's it called, and what's that format
20:52:32 <ais523> the format's the number of blocks in each group
20:52:39 <ais523> so you can reduce any of the numbers, but only one number, on your turn
20:52:42 <ais523> and if you make it 0 0 0 you lose
20:52:44 <ehird> oh
20:52:48 <ehird> 11 11 10
20:52:53 <ais523> 11 11 0
20:52:58 <ais523> and I win now, because the position's symmetrical
20:53:01 <oerjan> ^ul ((nim )S:^):^
20:53:01 <fungot> nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim nim ...too much output!
20:53:12 <ais523> I can win just by copying what you do
20:53:12 <ais523> that's one of the first losses you learn to avoid
20:53:26 <ais523> yep, oerjan knows what it's called
20:53:32 <MizardX> ^ul (nim)()(a~a*~a*^:S( )S:a~a*~a*^*a~a*~a*^:^):^
20:53:33 <fungot> nim nim nimnim nimnimnim nimnimnimnimnim nimnimnimnimnimnimnimnim nimnimnimnimnimnimnimnimnimnimnimnimnim nimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnim nimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnim nimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnimnim ...too much output!
20:53:36 <ais523> but there's another game called nim which isn't as good, I prefer this nim
20:53:40 <ehird> 19:52 ehird: 11 11 10
20:53:40 <ehird> 19:52 ais523: 11 11 0
20:53:42 <ehird> oh
20:53:45 <Slereah> ^ul (nom)()(a~a*~a*^:S( )S:a~a*~a*^*a~a*~a*^:^):^
20:53:45 <fungot> nom nom nomnom nomnomnom nomnomnomnomnom nomnomnomnomnomnomnomnom nomnomnomnomnomnomnomnomnomnomnomnomnom nomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnom nomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnom nomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnomnom ...too much output!
20:53:46 <ehird> you can reduce it any amount
20:53:49 <Slereah> :D
20:53:49 <ehird> stop it
20:53:51 <ehird> ais523: okay
20:53:55 <ehird> can I retry my move?
20:54:15 <oerjan> ais523: you mean misere nim, i take
20:54:23 <ehird> ais523: 12 5 10
20:54:37 <oerjan> (yours that is, the other being standard play)
20:54:58 <oerjan> although they are equivalent for all except the endgame
20:55:05 -!- ais523 has quit (Read error: 60 (Operation timed out)).
20:55:47 <ehird> Scheme of the process of writing in the Scheme, eval and techniques without the use of foul, C is easier than writing. I know that comfort is INPURIMENTETA Scheme, C, even if in the process of writing, the only remaining primitive minimum C must be written in the Scheme at any cost ... the temptation to get motivated.
20:55:52 <ehird> i love japanese translations
21:01:15 <ehird> 19:58 ehird: Which is generally preferred as a general use scheme: Gauche or 48?
21:01:15 <ehird> 19:59 Riastradh: Personally I prefer Scheme48 for admiral use, but I don't know about generals.
21:01:19 <ehird> Oh so witty.
21:01:47 -!- ais523 has joined.
21:01:59 <ais523> [19:54] <ais523> oerjan: are you any good at nim, by the way?
21:02:15 <oerjan> ais523: i know the winning strategy
21:02:23 <ais523> so do I
21:02:25 <oerjan> ehird: 12 5 9 (i win)
21:02:31 <bsmntbombdood> ehird: ja no branches
21:02:44 <ehird> bsmntbombdood: what
21:02:50 <ais523> it's more fun if you don't let people know that the game has been solved when you teach them it, though
21:02:53 <bsmntbombdood> <ehird> that's hot.
21:02:54 <ais523> and teach them bits of strategy
21:03:01 <ehird> bsmntbombdood: ah, rite
21:03:01 <oerjan> well that's true :D
21:03:13 <ehird> ais523: I was planning on writing a bot that brute-forces it, then seeing what patterns it takes to write an intelligent solver
21:03:27 <ais523> like "don't let the opponent get 1-2-3" and "don't let the opponent get x-x-0 for x>1"
21:03:36 <ais523> ehird: interesting
21:03:59 <ais523> I not only know the strategy, but have also proved it correct, I was bored once
21:04:14 <ehird> problem solving is merely optimization :P
21:05:12 <bsmntbombdood> ehird: do you think using only one table and a couple of shifts would be faster?
21:05:19 <ehird> bsmntbombdood: not sure
21:05:24 <ehird> memory access is slow, isn't it?
21:05:30 -!- KingOfKarlsruhe has quit (Remote closed the connection).
21:05:34 <ehird> so a few shifts might be faster than accessing memory
21:05:36 <bsmntbombdood> well those tables are relatively small, the fit in cache
21:06:59 <ais523> memory access is very fast if it fits in the L1 cache, slow otherwise
21:08:09 <bsmntbombdood> i've only got 3*26 + 512 bytes of tables
21:08:21 <ais523> bsmntbombdood: bruteforcing the nim strategy?
21:08:29 <bsmntbombdood> what's nim?
21:09:01 <ais523> bsmntbombdood: read backlog
21:09:16 <ehird> he's fiddling with comex's morse, ais523
21:09:20 <ehird> IF YOU KNOW WHAT I MEAN.
21:09:20 <ehird> :|
21:09:22 <ais523> it's what we were discussing for the last half-hour or so
21:09:25 <ais523> ehird: ah, ok
21:09:28 <fizzie> Purely based on 26, I would've guessed the morse thing.
21:10:13 -!- Sgeo has joined.
21:10:50 <oerjan> WINK WINK?
21:11:30 <oerjan> morse contains more than the alphabet iirc
21:11:34 <ais523> oerjan: why don't you show ehird the solution to the Enigma puzzle I gave him, or at least the first move?
21:11:38 <ais523> 12 11 10, your move
21:11:44 <ais523> oerjan: not in comex's problem it doesn't
21:11:48 <ehird> oerjan: it just does the alphabetical ones
21:11:52 <oerjan> 1 11 10, i think
21:11:56 <ais523> ah, yes
21:11:59 <ais523> 1 9 10
21:12:17 <asiekierk> 1 9 1? I didn't play the Enigma Puzzle so i don't know
21:12:21 <oerjan> 1 9 8
21:12:28 <ais523> asiekierk: 1 9 1 goes to 1 1 1, I win
21:12:33 <ais523> 1 9 8 is the correct move there
21:12:33 <asiekierk> oh
21:12:36 <asiekierk> sorry
21:12:36 <asiekierk> didn't know the rules
21:12:40 <asiekierk> Explain plz
21:12:42 <asiekierk> so I can play
21:12:57 <bsmntbombdood> oerjan: it does, i didn't implement it
21:13:00 <ais523> 1 6 8?
21:13:06 <oerjan> ais523: you said whoever makes 0 0 0 loses, right?
21:13:11 <asiekierk> not 1 1 1
21:13:14 <asiekierk> oh
21:13:18 <oerjan> 1 6 7
21:13:26 <ais523> oerjan: yes
21:13:33 <ais523> but clearly you're going to win this one
21:13:38 <ais523> 1 5 7
21:13:44 <oerjan> so misere, it's a bit to remember at the end
21:13:49 <ais523> yep
21:13:54 <ehird> I wanna play
21:13:56 <ehird> ais523: you start
21:13:57 <oerjan> 1 5 4
21:13:59 <asiekierk> Me too
21:14:03 <asiekierk> But I don't know the rules
21:14:12 <ais523> oerjan: I'll just resign this one, 1 0 4
21:14:18 <ais523> and you can trivially win from there
21:14:23 <oerjan> 1 0 0
21:14:26 <ais523> you win
21:14:26 <asiekierk> Would it be 1 0 1
21:14:28 <ehird> ais523:
21:14:30 <ehird> i wanna play :D
21:14:31 <ais523> ehird: ok
21:14:32 <asiekierk> Me too
21:14:34 <oklopol> ais523: i solved your puzzle, was rather trivial once i actually tried, problem is the ai still gets jammed.
21:14:36 <ais523> what position should I start form?
21:14:39 <asiekierk> but what's the rules
21:14:39 <ehird> ais523: whatever you wish
21:14:43 <ehird> allow me to win though
21:14:45 <oerjan> asiekierk: 1 0 1 is for the other nim variant, where making 0 0 0 _wins_
21:14:47 <ehird> asiekierk: simple:
21:14:50 <ais523> ok, 3 5 7, your move
21:14:51 <oklopol> err
21:14:53 <ais523> that's a won position for you
21:14:53 <ehird> you can remove any amount from one column
21:14:54 <ehird> but only one
21:14:55 <oklopol> are you discussing it
21:14:59 <ehird> you want to make the other person get to 0
21:15:04 <ehird> ais523: 1 5 7
21:15:05 <asiekierk> in any column
21:15:09 <ais523> oklopol: I'm not giving the exact puzzle there, so as to not spoil it
21:15:10 <ais523> ehird: 1 5 4
21:15:20 <ehird> ais523: 1 5 3
21:15:26 <ais523> asiekierk: on your turn, you can reduce any of the numbers by any amount, but have to reduce exactly one number
21:15:29 <ais523> ehird: 1 2 3
21:15:35 <ais523> if you make the position 0 0 0, you lose
21:15:36 <ehird> ais523: 1 2 2
21:15:40 <ais523> 0 2 2
21:15:44 <asiekierk> Okay
21:15:49 <ehird> ha I win yaaay
21:15:56 <ais523> ehird: no you don't
21:15:59 <ais523> what's your next move?
21:16:01 <oklopol> ais523: could you fix the bug, i can't find a way not to get the ai jammed :P
21:16:05 <asiekierk> And how do you win
21:16:05 <oklopol> well, i'll try a few times
21:16:09 <asiekierk> oh
21:16:13 <ais523> oklopol: the bug only appears if the AI tries to move in the lefthand column
21:16:14 <asiekierk> i get it
21:16:16 <ehird> oh, right
21:16:18 <ais523> if you play the optimal strategy, it never does
21:16:22 <asiekierk> Lemme try, but I probably will suck at it
21:16:26 <ehird> ais523: 0 2 1
21:16:28 <ehird> I lose.
21:16:33 <ais523> yep, 0 0 1, and you lose
21:16:39 <asiekierk> Wait, 0 0 1?
21:16:41 <asiekierk> I thought it's only 0 0 0
21:16:43 <ais523> asiekierk: I played 0 0 1
21:16:48 <ais523> thus forcing ehird to play 0 0 0 and losing
21:16:49 <asiekierk> Oh, right
21:16:51 <asiekierk> I see
21:16:52 <ehird> 0 0 0
21:16:57 <ais523> asiekierk: 3 5 7, your move
21:17:02 <oklopol> ais523: what does "optimal" mean?
21:17:06 <asiekierk> 3 3 7?
21:17:09 <ais523> oklopol: the only strategy that wins
21:17:11 <ais523> asiekierk: 3 3 0
21:17:11 <oklopol> i'm using a winning strategy
21:17:19 <oklopol> but it gets jammed.
21:17:21 <ais523> there is only one winning strategy, the way it's set up
21:17:30 <ais523> /msg me the moves you're using so I can check
21:17:33 <oklopol> i see. then there's probably an error somewhere in my derivation
21:17:36 <oklopol> but we'll see
21:17:36 <ais523> is it getting jammed in the lefthand column?
21:17:42 <oklopol> sure
21:17:47 <oklopol> but i'll just try a few times
21:17:49 <ais523> it should never be moving there
21:17:57 <ais523> except possibly on the very last turn
21:18:13 <ais523> asiekierk: where are you moving from there?
21:18:15 <asiekierk> thinking
21:18:18 <ais523> incidentally, 3 3 0 is a winning position for me
21:18:20 <ais523> as I can just copy what you do
21:18:46 <ehird> 20:18 Riastradh: If you were more specific with your inquiry, more specific persons might reply more specifically.
21:18:55 <ehird> god, that guy doesn't have a stick up his ass, he has an ass up his ass.
21:19:15 <asiekierk> 2 3 0
21:19:47 <ais523> asiekierk: 2 2 0
21:19:48 <asiekierk> ais523?
21:19:49 <asiekierk> oh
21:20:06 <asiekierk> 2 1 0 then
21:20:11 <ais523> 0 1 0
21:20:15 <asiekierk> I lose
21:20:17 <ais523> yep
21:20:26 <asiekierk> I just found out about this game
21:20:27 <asiekierk> so uh
21:20:27 <ais523> want another game?
21:20:38 <asiekierk> Yep
21:20:39 <asiekierk> 5 2 3
21:20:44 <asiekierk> your turn
21:20:45 <ais523> 1 2 3, I win
21:20:52 <asiekierk> ...what?
21:20:55 <ais523> (1 2 3's a well-known winning position)
21:20:59 <ais523> I don't win yet, but it's inevitable
21:21:05 <asiekierk> Where are you taking all these positions from!?
21:21:11 <asiekierk> anyway 1 2 1
21:21:14 <ais523> 1 1 1
21:21:14 <oklopol> ais523: i don't know the moves, they depend on what the ai does.
21:21:15 <MizardX> 3 3 0 -> (2 3 0 -> 2 2 0 -> (1 2 0 -> 1 0 0 -> 0 0 0 | 0 2 0 -> 0 1 0 -> 0 0 0) | 1 3 0 -> 1 0 0 -> 0 0 0 | 0 3 0 -> 0 1 0 -> 0 0 0)
21:21:19 <ais523> oklopol: the ai's deterministic
21:21:24 <ehird> http://www.cuil.com/search?q=Wolfram+Alpha
21:21:27 <asiekierk> 0 1 1, then you do 0 0 1 and I lose
21:21:27 <ehird> home yoghurt making
21:21:30 <oklopol> i'm not using any kind of cool strategy, i just manually brute-forced the whole game.
21:21:31 <ehird> ebony foot worship
21:21:51 <oerjan> oklopol: you manually the _whole_ game?
21:21:52 <asiekierk> Uh, I must make a version of that game for the DS
21:21:55 <oklopol> ais523: determinism help very much, i'm so going to deduce how it works.
21:22:00 <oklopol> oerjan: just enough to win that one
21:22:08 <oklopol> oh
21:22:09 <oklopol> :)
21:22:16 <oklopol> well still, same answer
21:22:20 <ais523> ehird: Used Armoire's my favourite there
21:22:40 <asiekierk> Do you know any fun games like that?
21:22:48 <ehird> asiekierk: Nim.
21:22:54 <asiekierk> what's Nim
21:22:57 <ais523> asiekierk: that game
21:22:59 <ais523> that we were just playing
21:23:05 <asiekierk> oh
21:23:05 <ais523> Kayles is related but a bit harder to represent over IRC
21:23:25 <ehird> http://www.reddit.com/r/programming/comments/830u9/wolfram_alpha_is_coming_and_it_could_be_as/c083vsm
21:23:27 <ehird> is this real?
21:24:27 <oklopol> okay i agree with AnMaster on the game.
21:24:35 <oklopol> well about
21:24:47 <oklopol> well level
21:24:52 <Slereah> Fuuuuuck
21:24:54 <Slereah> Lost the game :(
21:25:17 <oklopol> ais523: btw is that a trivial game? i didn't read the logs
21:25:45 <ais523> it's been solved, it's trivial for a computer (thus I wrote the perfect AI), but not quite that trivial for a human to do the calculations in their head
21:25:54 <oklopol> my solution is not in any way mathematically beautiful, although subsolutions are, didn't see a reason to find a complete theory because i already found out enough to beat it
21:26:32 <ais523> ehird: that comment is a joke, I think
21:26:45 <oklopol> and i'm not going to show it to you before i know it works.
21:27:01 <ais523> although those answers are the sort of thing it would come up with, I think the commentor went out of the way to come up with silly answers
21:27:52 <oklopol> ais523: i have a few rules for what states are win and what are lose, if i have errors, they must be pretty consistent, because all the states before it jams are wins.
21:27:58 <asiekierk> ais523: In what did you write the perfect AI
21:28:00 <oerjan> ehird: from briefly browsing the beginning of what the linked article said, the actual alpha won't be released until may
21:28:07 <ehird> http://www.theonion.com/content/news/al_gore_places_infant_son_in?utm_source=onion_rss_daily
21:28:07 <ais523> asiekierk: a random subset of Lua
21:28:13 <asiekierk> Oh
21:28:18 <asiekierk> I hoped an Esolang
21:28:27 <oklopol> ais523: maybe i could play you on priv?
21:28:30 <oklopol> you be the bot
21:28:31 <ais523> oklopol: sure
21:28:34 <ais523> I'll use its strategy
21:28:42 <asiekierk> Then me! Then me!
21:28:43 <oerjan> ehird: you know what onion is, i hope, or are you going to ask if that's true as well? :D
21:28:46 <oerjan> *the onion
21:28:48 <ehird> haha
21:30:08 <psygnisfive> wtf is this wolfram alpha
21:30:33 <ais523> #esoteric have been wondering what it is for a while
21:30:38 <psygnisfive> i read pieces of the press release but it all just sounds like fluff
21:30:43 <psygnisfive> with no actual explanation of what it does
21:30:52 <psygnisfive> blah blah blah revolutionary knowledge engine blah blah blah
21:30:59 <ehird> ais523 has tried it out, apparently it's good
21:31:06 <ehird> I think it's bullshit, like all of Wolfram's stuff
21:31:08 <ais523> the annoying thing is that I know what it is but aren't allowed to tell anyone
21:31:19 <ehird> GRAAAAH JUST TELL US ;__;
21:31:47 <fizzie> How would anyone know if you told us? You know, apart from the publicly accessible channel logs.
21:31:53 <ehird> /msg :P
21:31:55 <ehird> brb ->
21:32:53 <ais523> fizzie: I don't care, I have morals
21:33:16 <oerjan> ais523: how quaint :D
21:33:34 <ais523> agreed, I feel rather out of place
21:34:19 <oerjan> well by may it'll stand or fall on its own merit, regardless
21:34:35 <oerjan> i don't think mere hype can save such a project
21:34:59 <oerjan> no matter how good wolfram is at it
21:35:00 <ais523> if you want a piece of information, exactly once in the last two years have I wished that it existed publically
21:35:38 <fizzie> And that was in the context of "if it existed publically, those annoying #esoteric people would stop bugging me about it".
21:35:52 <ais523> I'll keep the context secret for now, because it's boring
21:36:47 <fizzie> To tell you the truth, I haven't noticed any talk about it here, so it can't be a very regular topic.
21:37:44 <oerjan> it's only a couple days since it showed up on reddit, isn't it?
21:38:08 <ais523> well, I've already seen the wolfram hype machine in action about the 2,3 thing
21:38:16 <oerjan> and was mentioned here, and that's the first i saw
21:38:40 <ais523> <Excilsploft> Could This be a Cuil killer?
21:38:41 <fizzie> It is a bit corny to have on wolframalpha.com an image of a text input control.
21:38:57 <oerjan> and i still haven't read the press release btw, in fact i think that's partially because of wolfram's hype notoriety
21:39:23 <ais523> the press release is unfortunately mostly meaningless
21:39:42 <comex> def a():
21:39:43 <comex> for i in xrange(5):
21:39:45 <comex> q = Slist([2, 3, 4, 5, 5]).filt(y == 5)
21:39:46 <comex> print q
21:39:47 <comex> #dis.dis(a)
21:39:59 <ais523> comex: stop pasting Python over IRC, my client doesn't receive the indentation
21:40:03 <comex> neither does mine
21:40:04 <ais523> so I can't tell what the program does
21:40:09 <comex> the idea is
21:40:20 <comex> Slist(somelist).filt(y == 5)
21:40:22 <comex> filters on |y| y == 5
21:40:29 <comex> without the need to type lambda
21:40:29 <oerjan> my client receives the indentation but displays it as inverted I's
21:40:31 <asiekierk> neither does mine but i don't know python
21:40:44 <bsmntbombdood> you know
21:40:46 <comex> yes, I know, that's horrible
21:40:50 <oerjan> i guess i have the logical means, at least
21:40:56 <bsmntbombdood> that idiot who designed morse code really should have used prefix-free codes
21:41:12 <comex> it does this by using ctypes to modify the code of the calling function
21:41:12 <ais523> bsmntbombdood: that would have made it a lot slower
21:41:13 <oklopol> no not really
21:41:17 <comex> the first python macro, I guess :p
21:41:22 <bsmntbombdood> ais523: how?
21:41:25 <oklopol> it's fairly perfect as is
21:41:34 <ais523> bsmntbombdood: by reducing its compression ratio
21:41:52 <bsmntbombdood> ais523: you'd get rid of the waiting between symbols
21:42:02 <ais523> which is not very long for a skilled operator
21:42:05 <ais523> it's the same length as a dash
21:42:08 <oklopol> yeah, and also it's easier to learn to listen to it this way
21:42:17 <ais523> whereas the waiting between dots/dashes is the same length as a dot
21:42:30 <bsmntbombdood> and prefix free codes wouldn't make it longer than an extra dash
21:42:31 <oklopol> but that's a minor point ofc
21:42:35 <ais523> Morse Code is prefix-free, really
21:42:40 <ais523> you just have to realise it has four symbols not just two
21:42:45 <oklopol> yeah
21:42:53 <bsmntbombdood> ...not
21:42:55 <ais523> it communicates data both in the length the signal is on, and the length the signal is off
21:43:31 <bsmntbombdood> which is bad
21:43:52 <fizzie> comex: Uh... if you just want to not type lambda, why not just use [y for y in [2, 3, 4, 5, 5] if y == 5]?
21:44:37 <kerlo> . . . . . . ... . . . ... . . ... ... ... . ... ... ... ... ... . ... . . ... . . ... . .
21:44:51 <asiekierk> bywe
21:44:53 -!- asiekierk has quit.
21:45:14 <comex> fizzie: too verbose
21:45:18 <ais523> actually, speaking as an engineer, the main problem with morse code is that it isn't balanced
21:45:29 <ais523> it spends more time during dots and dashes then it does between them
21:45:43 <ais523> which means you need to use a sort of line to transmit it that can handle a net direct current
21:45:59 <ais523> (although by making e a single dot that problem's reduced to some extent)
21:46:24 <oklopol> hmm?
21:46:27 <oklopol> what do you mean single dot
21:46:31 <oklopol> oh
21:46:35 <ais523> isn't e "." in morse code?
21:46:38 <ais523> or have I messed that up?
21:46:39 <oklopol> the fact that it *is* a single dot
21:46:41 <oklopol> yeah
21:46:41 <oklopol> it's .
21:46:50 <oklopol> frequent -> short
21:46:56 <oklopol> most frequent -> shortest
21:47:06 <ais523> yes, but more to the point, most frequent -> shorter than the gap between letters
21:47:16 <ais523> so you're letting the communication medium be a bit more negative to count out all the positives
21:47:45 <oklopol> oh that's what you were talking about
21:47:48 <oklopol> right
21:48:50 <ais523> the subtleties in communication codes are rarely apparent to people who haven't looked into them
21:49:21 <ais523> anyway, IIRC telegraphs used amplitude modulation of a carrier wave
21:49:41 <ais523> and that always cancels out negative/positive, so it wasn't a problem for them
21:50:05 * bsmntbombdood keeps forgetting that he wants to get a cw transceiver
21:50:21 <ais523> what does cw stand for in that?
21:50:31 <bsmntbombdood> constant wave
21:50:56 <bsmntbombdood> morse code is transmitted by turning a constant tone on and off
21:51:04 <ais523> ah, yes
21:51:18 <ais523> in my course they call it ASK
21:52:11 <bsmntbombdood> ASK is more general iirc
21:52:31 <ais523> well, ASK refers to sending digital data by turning a constant wave on and off
21:52:42 <ais523> so it's only more general in the sense that it doesn't have to refer to radio
21:52:48 <ais523> you could do ASK with a piece of string in theory
21:52:54 <ais523> maybe I should, it could be a fun experiment
21:53:20 <fizzie> Also in the sense that it might have more than two amplitude levels, according to wiggibedia. What you say is "called on-off keying".
21:53:55 <ais523> well, ok, although using more than two amplitude levels for ASK is relatively stupid because you may as well do QPSK if you're doing that
21:54:04 <ais523> or one of the multiple-level versions of QPSK
21:55:29 <oerjan> ASK or not ASK, that's the question
21:59:22 <fizzie> IR remote protocols are funny. At least those remotes I have here all encode the data by sending a train of fixed-length on/off pulses (of a 38 kHz carrier wave), with 0/1 bit encoded by the length of the pause between pulses; and then they send both the actual command and its complement, so that the total transmission length is constant.
21:59:56 <ais523> it reminds me of the secure smartcards they're making nowadays
22:00:08 <ais523> which are careful to never think a 0 without thinking a complementary 1 at the same time
22:00:18 <ais523> it seems that people were hacking into them by calculating their thoughts by measuring the power drain
22:00:28 <ais523> which is insane, I like it
22:00:40 <bsmntbombdood> fizzie: why?
22:00:47 <fizzie> Yes, and the crypto-people call that a "power attack", which is also funny.
22:01:45 <bsmntbombdood> side-channel attacks are terrifying
22:01:57 <ais523> agreed with that
22:02:11 <ais523> quantum encryption is 100% mathematically secure, but something like 8 side-channel attacks have been found against it
22:02:22 <bsmntbombdood> you think aes is secure? not if you have hostile code running in an untrusted proccess on your machine
22:02:45 <ais523> bsmntbombdood: hostile code running in a trusted process would be worse
22:03:00 <bsmntbombdood> that's the thing, it doesn't need to be a trusted process
22:03:09 <bsmntbombdood> and it wouldn't be any worse
22:03:22 <bsmntbombdood> because an untrusted proccess can recover your key
22:03:42 -!- Mony has quit ("Quit").
22:04:58 <fizzie> Oh, that one thing about getting CRT screen pictures by just measuring the general lightness level (through a curtain, or reflected off a wall) over time and then deconvolving with the impulse response of the CRT phosphors; that was also the awesome.
22:05:58 <bsmntbombdood> van eck
22:06:14 <ais523> fizzie: ok, that one is utterly awesome
22:06:32 <bsmntbombdood> you can do it with lcds, usb keyboards too
22:06:33 <ais523> although I'm pretty surprised that deconvolution's that accurate
22:07:21 <fizzie> http://www.cl.cam.ac.uk/~mgk25/ieee02-optical.pdf has some pictures.
22:07:56 <fizzie> And that one only works for CRT tubes, since it's about measuring diffusely-reflected light, not picking up the EM radiation like the Van Eck stuff. Although that's frightening too.
22:08:48 <bsmntbombdood> there's a reason why TEMPEST is so strict
22:17:59 -!- SimonRC_ has changed nick to SimonRC.
22:19:11 <ehird> 21:01 bsmntbombdood: side-channel attacks are terrifying
22:19:19 <ehird> like "give us the key or I'll fuck you with this metal pole"
22:19:22 <ehird> that tends to work.
22:19:38 <bsmntbombdood> ...except you don't even have to go there
22:20:04 <oerjan> isn't that more behind-channel?
22:20:08 <ais523> luckily, that sort of side-channel attack, here in the UK, would probably receive media coverage
22:20:22 <ehird> ais523: yeah, criminals are universally caught.
22:20:37 <ehird> including the authorities using 'advanced interrogation techniques'. they're all in jail.
22:21:02 <ais523> ehird: I wouldn't say universally
22:21:07 <ais523> but it certainly makes you a lot easier to catch
22:21:09 <ehird> that was sarcasm.
22:21:18 <ais523> if you have to physically abduct the person you're trying to hack into the files of
22:21:25 <ais523> yes, hiding from the authorities is likely to be stupid
22:21:36 <ais523> the only thing you can do is elect people who'll try to respect your privacy, and that's basically impossible
22:21:43 <bsmntbombdood> they just have to park a van outside for a couple hours
22:22:10 <ehird> someone should make an anarchy party, whose goal is to 1) get elected, and then 2) disestablish all government
22:22:11 <ehird> for:
22:22:19 <ais523> I wouldn't vote for them
22:22:26 <ais523> I'd fear for my life if some people like that got elected
22:22:36 <ehird> ais523: Anarchy is fine if everyone is perfect
22:22:45 <ehird> but, well... they're not.
22:22:47 <ais523> ehird: there are a lot of imperfect people around, unfortunately
22:24:05 <ehird> hmm, gauche vs scheme48 is a hard question
22:24:26 <ais523> can you use the libraries from one with the other?
22:24:34 <akiross> bye
22:24:38 <ais523> bye akiross
22:24:44 -!- akiross has quit ("Leaving").
22:24:51 <ais523> that was unexpected
22:25:03 <ais523> someone's been idling all this time, and jumps in just to say bye, and isn't Mony?
22:25:33 * Sgeo does that sometimes
22:25:59 <ehird> 21:24 ais523: can you use the libraries from one with the other?
22:26:02 <ehird> they're entirely unrelated interps.
22:26:09 <ais523> so, it depends on what the libs are written in
22:26:14 <ehird> err, what?
22:26:15 <ais523> if they're written in scheme, I wouldn't be surprised
22:26:20 <ehird> I'm not even talking about the libraries
22:26:21 <ais523> because they're both scheme interps
22:26:25 <ehird> that's utterly irrelevant to my current decision
22:26:29 <ais523> ah, ok
22:26:51 -!- olsner has quit ("Leaving").
22:26:56 <ais523> it was you posting about the srfis higher up, presumably you've gone on to compare some other things now
22:27:06 <ais523> like the diameter of the steering wheel, or whatever </obscure reference>
22:27:14 <ehird> well, that was my first stage of comparison
22:27:21 <ehird> but they're both roughly on a level playing field as far as srfis go
22:27:22 * oerjan swats ais523 -----###
22:27:29 <ais523> ouch! why?
22:27:29 <ehird> apparently gauche's interp is "hard to maintain"
22:27:35 <ehird> but it has nice stuff for scripting
22:27:41 * ais523 catches oerjan in a butterfly net -----\XXXX/
22:27:44 <oerjan> i felt we were on an "unexpected" flow here
22:27:56 <oerjan> oh dear
22:28:08 <oerjan> that was certainly unexpected
22:28:22 <ais523> I was wondering what would beat a swatter at stone-paper-scissors
22:28:32 <ais523> and utterly failed to come to a decision, so I used a butterfly net instead
22:28:39 <ehird> what is it a reference to?
22:28:44 <ais523> ehird: Top Gear
22:28:53 <ais523> there was an argument that James May was losing
22:28:54 <ehird> ah, I like top gear but I don't recall any such quote
22:29:03 <ais523> so he went around comparing utterly irrelevant features of the cars
22:29:11 <ais523> to find one that he won at
22:29:17 <Sgeo> http://www.capturedlightning.com/frames/interesting.html
22:29:19 <ehird> one advantage of scheme48: It's not written by a japanese person with questionable English (well, ok, it's mostly fine but bits of awkwardness every now and then)
22:29:24 <Sgeo> http://link.brightcove.com/services/player/bcpid1417302205?bctid=1419758473
22:32:52 <ehird> Sgeo: awesome
22:33:31 <Sgeo> Same people also shrink coins. Why you'd want to do this I don't know
22:33:35 <Sgeo> http://www.capturedlightning.com/frames/OldQtr_R1.jpg
22:42:12 <ehird> Ah, Gauche fails some R5RS pitfall tests.
22:42:13 <ehird> Hm.
22:43:34 <ais523> pitfall tests?
22:44:37 <ehird> http://sisc-scheme.org/r5rs_pitfall.php
22:44:45 <ehird> Horrible, evil Scheme code that is technically R5RS compliant.
22:45:20 <ais523> a nice testsuite
22:46:16 <ais523> ((lambda lambda lambda) 'x)
22:46:21 <ais523> not the most evil thing there, but I love that line
22:46:46 <ehird> it should have been:
22:46:50 <ehird> ((lambda lambda lambda) '(mushroom mushroom))
22:47:09 <ais523> argh, that's the second badgerbadgerbadger reference that's been made today
22:47:18 <ais523> what is it with those references, the llama song was so much better
22:47:25 <ais523> (the other was in RL)
22:47:36 <ehird> "in RL"?
22:47:41 <ehird> oh
22:48:22 <ais523> sorry, should I have said "afk" instead? </protomeme>
22:54:25 -!- k has joined.
22:54:48 -!- kar8nga has quit (Nick collision from services.).
22:54:51 -!- k has changed nick to kar8nga.
22:55:07 -!- kar8nga has quit (Remote closed the connection).
23:00:19 <ehird> gosh> (+ 1 +inf.0)
23:00:20 <ehird> 0
23:00:21 <ehird> .lol wat
23:00:49 <ais523> "gosh"?
23:01:17 <ehird> The gauche shell
23:01:31 <ais523> why are repls called shells nowadays?
23:01:39 <ais523> I have a real shell for doing shell stuff
23:01:43 <ais523> let my repl do repling
23:01:45 <ehird> the first repls were shells.
23:01:53 <ehird> a shell IS an R.E.P.L.
23:02:00 <ais523> no, a shell's just a REL
23:02:04 <ais523> there's no printing involved
23:02:09 <ais523> unless you invoke a command that does the printing
23:02:10 <ehird> My shell informs me of the results of commands.
23:02:17 <ais523> what, really?
23:02:22 <SimonRC> ais523: depends on what you mean by "P"
23:02:22 <ais523> my commands inform me of the results of commands
23:02:34 <ais523> the shell just runs them, and connects them together in pretty unixy ways
23:02:46 <SimonRC> shells typically bing stdout to the same place shell messages go
23:03:04 <SimonRC> they are printing the result of the stream operations you specify
23:03:21 <ehird> ais523: you're just nitpicking
23:03:23 <SimonRC> 'tis a bit of a stretch
23:04:17 <ehird> Options: -h <heap-size> Maximum heap size in words (default 3000000).
23:04:17 <ehird> A heap size of 0 means the heap can grow
23:04:18 <ehird> unboundedly. This is dangerous because it can
23:04:20 <ehird> cause your system to run out of memory.
23:04:23 <ehird> lol wat
23:04:32 <ehird> WHAT MY COMPUTER MIGHT RUN OUT OF MEMORY OH LORD
23:05:31 <ais523> it's a resource limit
23:05:38 <ais523> and setting resource limits is generally considered wise
23:05:53 <ehird> I know, but it's ridiculous, 1. my computer can do that for me 2. being subturing out of the box is just silly
23:06:26 <ais523> ehird: it's subturing anyway, your computer has finite memory
23:06:34 <ehird> that's not the implementation's fault
23:06:35 <ehird> > ^D
23:06:36 <ehird> Exit Scheme 48 (y/n)? y
23:06:38 <ehird> okay, you know what?
23:06:41 <ehird> you don't have to ask me that.
23:06:49 <ais523> also, asking on ^D? does that even make sense?
23:06:56 <ais523> you can't have a y after end-of-file to say yes
23:07:04 <ehird> ...
23:07:06 <oerjan> it's just a subturfuge
23:07:08 <ais523> so it has to open a whole new file just to prompt you
23:07:10 <ehird> Sometimes I wonder if you actually use a computer
23:07:18 <ehird> it is trivial to trap ^D
23:07:25 <ehird> this repl has no line editing, and it does that
23:07:28 <ais523> ehird: only in an interactive environment
23:07:34 <ehird> this is an interactive environment
23:07:40 <ais523> not necessarily
23:07:47 <ais523> and I know it can treat interactive and noninteractive differently
23:07:50 <ehird> if it wasn't, it wouldn't prompt.
23:07:58 <ais523> but IMO, things are neater if it treats everything the same
23:08:08 <ehird> neater as in less user friendly, yes.
23:08:14 <ehird> like no prompts
23:08:17 <ehird> or line editing
23:08:25 <ais523> ehird: neater as in more user friendly, I prefer things to act predictably
23:11:03 <Sgeo> Am I the only one here who fantasizes about Croquet being as popular and well supported as SL?
23:11:19 <ehird> you're certainly the only one here who uses words like "fantazised" for things like that
23:12:21 * ehird allocates 100000000 cons cells.
23:12:24 <ais523> Sgeo: croquet was around long before second life was, they're rather different though
23:12:28 <ehird> \m/
23:12:39 <ehird> ais523: er, croquet = 2007
23:12:46 <ehird> was the actual release
23:12:48 <ais523> ehird: no, croquet was around in victorian times
23:12:54 <ehird> **groan**
23:13:06 <ais523> it's not even meant to be a pun or misunderstanding
23:13:12 <ais523> you can't just steal common words like that
23:13:12 <ehird> http://en.wikipedia.org/wiki/Croquet_project
23:13:24 <ehird> ais523: I agree -- unix stole eunuchs
23:13:28 <ais523> I'm still annoyed at Microsoft for using "Windows" as the main meme-name of an OS
23:13:29 <ehird> How horrid of them
23:13:37 <ais523> and no, those are pretty clearly different words
23:13:43 <ehird> same pronounciation.
23:15:16 <ais523> not really, I actually pronounce the I in UNIX as an I, although I'm aware that's not the "standard" pronunciation
23:15:27 <ehird> Exit Scheme 48 (y/n)?
23:15:27 <ehird> I'll only ask another 100 times.
23:15:28 <ehird> Exit Scheme 48 (y/n)? Exit Scheme 48 (y/n)? Exit Scheme 48 (y/n)? Exit Scheme 48 (y/n)?
23:15:37 <ehird> It does not like rlwrap.
23:16:20 <ais523> ehird: well, you seem to be making my points for me, just more effectively
23:16:41 <ehird> ais523: "Scheme 48's REPL is buggy" != "your points are correct"
23:16:45 <ehird> It's buggy for entirely different reasons
23:17:01 <ehird> "Scheme 48 uses a copying garbage collector."
23:17:08 <ehird> That would be why it is using 2GB of ram, when I only consed up 1.
23:17:24 <ais523> lots of implementations use copying garbage collectors, they can be very fast
23:17:31 <ehird> Speed != memory
23:17:33 <ais523> OCaml does for some things, IIRC
23:17:37 <ais523> and agreed
23:17:44 <ais523> just an explanation of why double memory would be desirable
23:18:10 <ehird> > ,collect
23:18:11 <ehird> Before: 22039 out of 231330816 words available
23:18:12 <ehird> After: 589056 out of 1937408 words available
23:18:16 <ehird> Of course, the issue is that it doesn't shrink the heap./
23:18:23 <ehird> (I started with -h 0, which means "expand heap to fit program".)
23:18:34 <ehird> So it'll use 2GB until I kill it, even though there's not many objects floating around.
23:18:36 <ais523> nearly everything doesn't shrink the heap
23:18:47 <ehird> they should
23:18:53 <ais523> even malloc()/free() doesn't normally with most implementations, you have to jump through hoops to get heap shrinkage to work
23:19:03 <ehird> oh, that's not what I mean
23:19:13 <ais523> what do you mean then?
23:19:15 <ehird> if you malloc 2gb then free it, the memory counter in Activity Monitor goes down, and the memory is returned to the OS
23:19:20 <ehird> in scheme 48, if you cons 2gb
23:19:22 <ais523> what, really?
23:19:22 <ehird> then discard it
23:19:24 <ehird> and run the gc
23:19:25 <oerjan> ehird: there is a theory that gc'ed memory can be faster than manually allocated memory, but only if you use much more memory than you actually need
23:19:28 <ehird> it still uses 2gb of memory
23:19:29 <ehird> forever
23:19:30 <SimonRC> as long as memory isn't too fragmented, paging will let you ignore the vast tracts of currently-free space
23:19:31 <ehird> you can never shrink it
23:19:34 <ais523> most implementations of free don't return to the OS, but to that process's malloc
23:19:45 <oerjan> s/use/allocate/
23:19:46 <ais523> after all, if you're still keeping something allocated near the end of memory
23:19:48 <ehird> oerjan: I support the theory, except without your annotation
23:20:02 <ehird> Not using a gc is always a bug...
23:20:24 <SimonRC> ehird: or some form of compiler-checked allocation
23:20:26 <oerjan> ehird: i am just pointing that it can be about trading memory for speed
23:20:31 <SimonRC> one which gc is only one sort
23:20:38 -!- tombom has quit ("Peace and Protection 4.22.2").
23:20:54 <ais523> wow, I've just had an insane idea, which wouldn't work for most programs but would be very eso on the ones it did
23:20:55 <SimonRC> hmm... if a copying GC uses twice the space that is within objects, that rather suggests it is a non-generational copying GC. Ouch.
23:20:59 <ais523> static analysis of memory allocation
23:21:08 <ais523> you just figure out all the mallocs at compile time
23:21:18 <ais523> and replace them with offsets into a fixed data structure
23:21:19 <SimonRC> ais523: that is standard in Avionics
23:21:36 <SimonRC> accoding to my dad, at least, and he should know
23:21:44 <ais523> sounds great, and it would actually be appropriate there
23:21:51 <ehird> http://pastie.org/411167 <- my tseting procedure
23:21:54 <ehird> now to try it in gauche
23:22:00 <ais523> let's do it in something it's utterly unsuited for, like a compiler
23:22:12 <SimonRC> in fact, it is usual for small/hard real-time embedded systems
23:22:25 <ais523> ehird: ITYM http://rafb.net/p/4g4iA738.html
23:22:25 <SimonRC> also, COBOL uses static allocation
23:22:34 <ehird> >_<
23:22:38 <SimonRC> forth tends to for a lot of things too
23:22:51 <ehird> OK, 1.35GB being used
23:23:02 <ehird> running gc
23:23:07 <ais523> hmm... this reminds me of the thread on clc of someone who was translating C into C#
23:23:09 <ehird> aaaand it's still using 1.35GB
23:23:14 <ais523> and wanted to know what to translate free() into
23:23:18 <ehird> lol
23:23:26 <SimonRC> and there has been some research into "region inference", to make Ocaml programs' allocation more efficient
23:23:46 <ehird> GC works fine in practice
23:23:59 <ais523> the solution's to assign C#'s version of null to whatever you were trying to free, so it can be garbage-collected
23:24:07 <SimonRC> ehird: unless a 100us delay is deadly
23:24:09 <SimonRC> ;-)
23:24:10 <ehird> SimonRC:
23:24:13 <ehird> a version of c's {} that applies to allocations within would be a huge boon for that
23:24:16 <ehird> i.e.
23:24:21 <ais523> but no individual usenet newsgroup's likely to give a good answer due to topicality problems
23:24:37 <ais523> SimonRC: wow, microseconds? that's quite a lot
23:24:39 <ehird> mem{ int *a = local_alloc(1gb); do stuff with a; }
23:24:45 <ehird> at the end of the block, *a is freed
23:24:46 <ais523> when working with VHDL a lot you tend to think in nanoseconds
23:24:51 <ais523> likewise with asm on modern processes
23:24:53 <ehird> as well as any other local allocations on the local allocation stack at the time
23:24:57 <ais523> *processors
23:25:27 <SimonRC> ehird: they're called auto variables.
23:25:30 <ais523> VHDL handles picoseconds too, but that's only really useful if you're trying to model individual transistors in the processor rather than just writing down how they behave
23:25:34 <ehird> C doesn't have them, does it?
23:25:41 <ais523> ehird: VLAs
23:25:43 <SimonRC> or "stack allocated" in colloquial C++
23:25:44 <ais523> but they're only in C99
23:25:48 <ehird> sure, that's stack allocated
23:25:52 <ehird> good luck fitting 1gb on to the stack
23:25:58 <ehird> i'm talking about scoped heap allocation
23:26:02 <ais523> in theory, they don't have to be stack allocated
23:26:05 <Sgeo> Cobalt is alpha
23:26:07 <ais523> nothing in the C standard says they are
23:26:15 <Sgeo> And I think Cobalt is basically what I want
23:26:16 <ais523> just most implementors do them like that because they're lazy
23:26:26 <ais523> also, what makes you think the heap is bigger than the stack?
23:26:39 <SimonRC> c++'s destructors allow heap-allocated stuff to have a lifetime as if it lives on the stack
23:26:40 * ais523 grew up on DOS, where in some memory models they're equal
23:27:03 <ehird> you keep saying c++
23:27:04 <ehird> stop i t
23:27:11 <ais523> ehird: why?
23:27:13 <SimonRC> why?
23:27:20 <ais523> after all, C++ was designed to add lots of features missing from C
23:27:26 <ehird> because if a 100us delay is deadly, you shouldn't be using anything but asm and cx
23:27:27 <ehird> *c
23:27:28 <ais523> some of them were subsequently backported
23:27:37 * ais523 suddenly realises why ehird hates C99 so much
23:27:38 <SimonRC> ehird: huh? why?
23:27:48 <ais523> ehird: C++ is no slower than C if you don't make use of its slower features
23:27:52 <ehird> SimonRC: for a start, you shouldn't even use C++
23:28:01 <ais523> ehird: that's quite a strong statement!
23:28:03 <ais523> I happen to like C++
23:28:04 <ehird> and, ais523 too, if you don't use any fancy c++ features why are you using c++?
23:28:09 <ais523> although I haven't used it for much recently
23:28:13 <ais523> ehird: to use its faster features?
23:28:21 <SimonRC> ais523: indeed, they are designed to be zero-overhead
23:28:43 <ehird> I find http://www.uni-koblenz.de/~vladimir/breviary/fake.txt to be a more reliable account of C++ than just about anything else
23:29:18 <ais523> ehird: const char* string constants is a big incompatible improvement, for instance
23:29:31 <Sgeo> ehird, I'm taking a C++ class
23:29:45 <ehird> ais523: I am fairly sure this is valid C89: {const char *foo = "butts";}
23:29:51 <ehird> Sgeo: that's nice.
23:30:12 <ais523> ehird: yes, it is I think
23:30:16 <ais523> but you have to do it explicitly
23:30:26 <ais523> C++ will warn you if you write {char *foo = "butts";}
23:30:34 <ehird> I'm sure you can get gcc to warn you about that.
23:30:37 <ais523> yes, you can
23:30:41 <ais523> AnMaster does, IIRC
23:30:53 <ais523> but, it gives too many warnings
23:31:06 <ais523> because libraries written in C normally expect char* strings
23:31:22 <ais523> and you can't pass a const char* string into a char*-expecting function without unsafe casts
23:31:35 <ais523> in C++, because nothing can mess up constness like that, the libraries don't
23:32:41 <fizzie> -Wwrite-strings: "When compiling C, give string constants the type 'const char[LENGTH]' -- These warnings will help you -- but only if you have been very careful about using 'const' in declarations and prototypes. Otherwise, it will just be a nuisance; this is why we did not make '-Wall' request these warnings."
23:32:51 <ais523> also, the half-meg hello worlds just come from streaming overhead, you don't need heavyweight streams for something as simple as that
23:33:02 <ais523> in gcc-bf, I get annoyed at stdio overhead for something like a hello world
23:33:17 <ais523> fizzie: the problem's not so much about code you write yourself, which you can change
23:33:27 <ais523> but the code everyone else wrote that you have to link to
23:33:53 <fizzie> Sure, but that's what the manual says. They could've mentioned "char *"y library functions.
23:34:08 <ehird> ;;; -*-Emacs-Lisp-*- cmulisp.el
23:34:08 <ehird> ;;; Copyright Olin Shivers (1988).
23:34:09 <ehird> ;;; Please imagine a long, tedious, legalistic 5-page gnu-style copyright
23:34:12 <ehird> ;;; notice appearing here to the effect that you may use this code any
23:34:14 <ehird> ;;; way you like, as long as you don't charge money for it, remove this
23:34:16 <ehird> ;;; notice, or hold me liable for its results.
23:34:18 <ehird> That's one ballsy license.
23:34:50 <ais523> well, most standard libraries like the glibc headers have been fixed, now, but third-party libraries are a problem
23:34:55 <ais523> ehird: the amazing thing is, it would probably work
23:35:08 <ais523> he didn't explicitly grant any licence priveliges at all, so someone who breaks it can be sued
23:35:26 <ais523> if someone uses it as described there, though, and he tries to sue them, he won't get a payout due to estoppel
23:35:37 <ehird> heh
23:35:51 <fizzie> "estoppel" sounds like someone's nick.
23:35:54 <ais523> probably most companies wouldn't dare use code with a licence as vague as that, but AFAICT it works
23:36:05 <ehird> It's bundled with scheme48
23:36:08 <ais523> [Notice] -NickServ- estoppel is not registered.
23:36:17 -!- ehird has changed nick to estoppel.
23:36:19 <estoppel> Bitches.
23:36:38 <fizzie> I may have been thinking of Aardappel.
23:36:42 <oerjan> why the sudden psygnisfive channeling?
23:36:45 <estoppel> This is a nice nick.
23:36:55 <psygnisfive> what?
23:36:58 <psygnisfive> whos channeling me? :|
23:37:02 <oerjan> <estoppel> Bitches.
23:37:07 <fizzie> Or eclipple.mp3.
23:37:10 <psygnisfive> i dont say bitches
23:37:19 <oerjan> YES YOU DO
23:37:25 <oerjan> or did, at any rate
23:37:41 <ais523> estoppel: I've read that link, and it appears to be some sort of joke?
23:37:49 <estoppel> no shit sherlock
23:37:56 <estoppel> wow, that was blindingly obvious
23:38:03 <ais523> sorry, but if you're channeling psygnisfive, I want to channel AnMaster
23:38:03 <estoppel> how on earth can you miss the fact that that was a joke?
23:38:07 <psygnisfive> listen, bitch
23:38:08 <estoppel> aaaaargh!!
23:38:11 <psygnisfive> i dont say bitches
23:38:15 <ais523> and I didn't, although I'm disappointed you didn't spot the metajoke
23:38:16 <oerjan> ais523: o
23:38:20 <ais523> oerjan: oko
23:38:21 <estoppel> "Bitches. I don't say bitches."
23:38:23 <oerjan> okoko
23:38:25 <ais523> okokoko
23:38:29 <oerjan> okokokoko
23:38:32 <ais523> okokokokoko
23:38:34 <estoppel> HAHAHAHA
23:38:35 <oerjan> okokokokokoko
23:38:37 <ais523> okokokokokokoko
23:38:38 <estoppel> ;)
23:38:39 <SimonRC> this internet connection sucks; I'm going to bed
23:38:44 <oerjan> okokokokokokokoko
23:38:44 <psygnisfive> koko is a gorilla
23:38:46 <ais523> okokokokokokokokoko
23:38:49 <oerjan> okokokokokokokokokoko
23:38:51 <ais523> okokokokokokokokokokoko
23:38:55 <oerjan> okokokokokokokokokokokoko
23:38:55 <psygnisfive> ookookook
23:38:57 <ais523> okokokokokokokokokokokokoko
23:38:59 <estoppel> HEY
23:39:00 <estoppel> I BROKE IT UP
23:39:00 <oerjan> okokokokokokokokokokokokokoko
23:39:02 <estoppel> YOU HAVE TO STOP
23:39:02 <ais523> okokokokokokokokokokokokokokoko
23:39:06 <oerjan> okokokokokokokokokokokokokokokoko
23:39:07 <estoppel> GOD DAMN YOU PEOPLE
23:39:08 <ais523> okokokokokokokokokokokokokokokokoko
23:39:10 <estoppel> okokokokokokokoko
23:39:10 <oerjan> okokokokokokokokokokokokokokokokokoko
23:39:11 <estoppel> BUTTS
23:39:12 <ais523> okokokokokokokokokokokokokokokokokokoko
23:39:12 <estoppel> :|||||||||||
23:39:15 <oerjan> okokokokokokokokokokokokokokokokokokokoko
23:39:17 <ais523> okokokokokokokokokokokokokokokokokokokokoko
23:39:20 <oerjan> okokokokokokokokokokokokokokokokokokokokokoko
23:39:21 <estoppel> STOP
23:39:22 <ais523> okokokokokokokokokokokokokokokokokokokokokokoko
23:39:22 <estoppel> HAVING
23:39:23 <estoppel> FUN
23:39:26 <oerjan> okokokokokokokokokokokokokokokokokokokokokokokoko
23:39:27 <ais523> okokokokokokokokokokokokokokokokokokokokokokokokoko
23:39:28 <Sgeo> kokokokokokokokokoko
23:39:29 <estoppel> STOP IT
23:39:30 <oerjan> okokokokokokokokokokokokokokokokokokokokokokokoko
23:39:32 <psygnisfive> estoppel, surely you have a bot we can loop to kill this shit
23:39:33 <ais523> okokokokokokokokokokokokokokokokokokokokokokokoko
23:39:37 <ais523> argh, messed up
23:39:38 <psygnisfive> !!
23:39:40 <oerjan> darn
23:39:40 <psygnisfive> hahaha
23:39:42 <psygnisfive> fuckers
23:39:43 <ais523> sorry oerjan
23:39:54 <Sgeo> <3 thunder
23:40:03 <psygnisfive> sgeo: ditto
23:40:03 <ais523> oerjan: try again?
23:40:09 <oerjan> and it was such a perfect channeling :´(
23:40:11 <oklopol> o
23:40:11 <oklopol> oko
23:40:12 <oklopol> okoko
23:40:12 <oklopol> okokoko
23:40:13 <oklopol> okokokoko
23:40:14 <Sgeo> dangit
23:40:14 <oklopol> okokokokoko
23:40:15 <oklopol> okokokokokoko
23:40:17 <oklopol> okokokokokokoko
23:40:18 <oklopol> okokokokokokokoko
23:40:20 <estoppel> dsf
23:40:20 <estoppel> dsf
23:40:21 <estoppel> sdf
23:40:24 <estoppel> oh wait
23:40:26 <estoppel> it's oklopol
23:40:28 <estoppel> carry on
23:40:34 <oklopol> an oklopol worth listening to
23:40:38 * oerjan swats estoppel -----###
23:40:45 <ais523> estoppel: you deserve to be banned for life from here for getting annoyed at oklopol okoing
23:40:47 <oerjan> and everyone is back to their own selves
23:40:52 * Sgeo swats the swatter -----###
23:40:56 <estoppel> ais523: he is exempt from the rules.
23:40:58 <oerjan> hey!
23:41:04 * estoppel yo dawg
23:41:09 <oklopol> estoppel: heh thanks for linking the c++ interview, always brings a smile on my face
23:41:14 * ais523 waves a butterfly net vaguely in the direction of everyone -----\XXXXX/
23:41:24 <estoppel> oklopol: don't you mean "unto my face"
23:41:31 -!- Jophish has quit (Connection timed out).
23:41:38 * Sgeo undoes faces
23:41:51 * ais523 reads the C++ FQA
23:42:09 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
23:42:23 <fizzie> Is FQA "frequently questioned answers", or what?
23:42:33 <ais523> yes, frequently questioned answers
23:44:43 -!- BeholdMyGlory has joined.
23:45:25 <ais523> hmm... the FQA's annoyances with C++ seem to stem around the fact that it isn't a properly OO language
23:45:31 <ais523> which I agree with
23:45:43 <ais523> using C++ as a not-quite-C language, though, it's quite good
23:45:59 <ais523> and being me, I see an undecidable grammar as an advantage not a disadvantage
23:46:14 <ais523> / don't read this, it's impossible. just count the lines
23:46:20 <ais523> heh, I like that comment
23:46:27 <ais523> there should have been two slashes, but copy/paste fail
23:46:55 <estoppel> ;; far out man
23:47:05 <estoppel> err
23:47:06 <estoppel> wait
23:47:16 <estoppel> ((lambda (lambda) (lambda lambda)) (lambda (lambda) (lambda lambda))
23:47:18 <estoppel> duuuuuuuuuude.
23:47:26 <oerjan> yo dawg
23:47:37 <estoppel> it's hip just to say the yo dawg nowadays
23:47:41 <estoppel> or say xzibit
23:47:57 <ais523> estoppel: "duuuuuuuuuude"? are you channelling mezzacotta?
23:48:15 <oerjan> he's not a dude, he's a dudette
23:48:15 <oklopol> xz
23:48:23 <AnMaster> <ais523> sorry, but if you're channeling psygnisfive, I want to channel AnMaster
23:48:25 <AnMaster> what?
23:48:33 <psygnisfive> cocks.
23:48:37 <AnMaster> <ais523> AnMaster does, IIRC
23:48:37 <AnMaster> <ais523> but, it gives too many warnings
23:48:43 <AnMaster> depends on how you write
23:48:45 * oerjan swats AnMaster and psygnisfive -----###
23:48:53 <estoppel> what?
23:48:53 <estoppel> what?
23:48:54 <estoppel> what?
23:48:54 <psygnisfive> murr
23:48:55 <estoppel> what?
23:48:56 <psygnisfive> do it again ;o
23:48:57 <estoppel> what?
23:49:00 <estoppel> what?
23:49:00 <AnMaster> wow
23:49:01 <estoppel> I'm channeling the basic essence of AnMaster.
23:49:03 <AnMaster> lots of scrollback
23:49:06 <AnMaster> from a few hours
23:49:16 * oerjan swats psygnisfive on his bare bottom -----###
23:49:22 <estoppel> GET A ROOM
23:49:23 <kerlo> Is that you, ehird?
23:49:28 <estoppel> No.
23:49:31 <ais523> kerlo: yes, it's ehird
23:49:31 <estoppel> I am a ninja from outer space.
23:49:32 <oklopol> ais523: heh, you do a great AnMaster
23:49:36 <estoppel> ais523 is a liar.
23:49:38 <estoppel> Do not trust him.
23:49:40 <AnMaster> ehird, stop being silly
23:49:50 <estoppel> stop being silly?
23:49:50 <estoppel> ok.
23:49:51 <estoppel> hmm.
23:49:55 <estoppel> silly things I'm doing now...
23:49:57 <estoppel> oh, right, esolangs
23:49:58 -!- estoppel has left (?).
23:49:59 <AnMaster> also
23:50:03 <AnMaster> I HATE openvz
23:50:16 <AnMaster> I mean
23:50:32 <oklopol> estoppel was estopped :DDDDDDDDDDDD
23:50:32 <AnMaster> I couldn't even reboot host
23:50:40 <AnMaster> had to remount / readonly and do reboot -f
23:50:51 <AnMaster> because the vm thingy was locked up in kernel
23:50:53 <AnMaster> or such
23:51:05 <AnMaster> ais523, ^
23:51:23 <fizzie> Compiling an OpenVZ-patched kernel gave me warnings like net/ipv4/route.c:2922:2: warning: #warning "Rework this shit via ro net sysctls"
23:51:29 <fizzie> That was not very confidence-inspiring.
23:51:39 <ais523> AnMaster: wow
23:51:51 <AnMaster> ais523, I have no idea why/what happened
23:51:57 <AnMaster> but also I'm glad it is multi core
23:52:00 <ais523> also, the remounting / readonly, did you do it via magic SysRq, and if not, why not?
23:52:04 <ais523> fizzie: haha
23:52:07 <AnMaster> root 20042 99.9 0.0 0 0 ? R 17:21 15:02 [vzmond/200]
23:52:16 <AnMaster> kill -9 didn't work
23:52:22 <fizzie> AnMaster:
23:52:23 <fizzie> [2009-02-25 09:29:50] <fizzie> Also some sort of vzmond kernel thread had gotten hung up during the night. :p
23:52:24 <ais523> AnMaster: oh, your computer was still responding?
23:52:27 -!- estoppel has joined.
23:52:29 <fizzie> You're not the only one here.
23:52:37 <AnMaster> <fizzie> [2009-02-25 09:29:50] <fizzie> Also some sort of vzmond kernel thread had gotten hung up during the night. :p <-- ?
23:52:39 <AnMaster> hm
23:52:41 * oerjan notes something estarting
23:52:48 <AnMaster> fizzie, so how do I avoid this
23:52:49 <fizzie> AnMaster: Wasn't on this channel, I mean.
23:52:57 <fizzie> AnMaster: Who knows? I just started to use linux-vserver instead.
23:53:00 <estoppel> "Rework this shit via ro net sysctls"
23:53:06 <estoppel> that sounds like the start of a nerdcore rap.
23:53:11 <AnMaster> <ais523> also, the remounting / readonly, did you do it via magic SysRq, and if not, why not? <-- not because I only have ssh access
23:53:21 <ais523> well, that's a good reason
23:53:26 <ais523> an annoyingly good reason
23:53:31 <AnMaster> mount -fo remount,ro /
23:53:33 <ais523> I like magic SysRq too much...
23:53:34 <AnMaster> is what I did
23:53:39 <AnMaster> then sync
23:53:42 <AnMaster> and reboot -f
23:53:43 <estoppel> sysrq is hot, I wish I had a sysrq key
23:53:43 * oerjan suddenly realizes there must exist such a thing as nerdcore rap
23:53:54 <AnMaster> estoppel, doesn't every keyboard?
23:53:59 <estoppel> oerjan: of course it exists!
23:54:00 <AnMaster> same as PrtScr
23:54:02 <AnMaster> usually
23:54:06 <ais523> estoppel: SysRq was originally invented because back then it was believed a multitasking operating system would be impossible without it
23:54:07 <estoppel> not apple ones.
23:54:14 <ais523> but rather than use it for its intended purpose
23:54:15 <AnMaster> ais523, what?
23:54:23 <AnMaster> how do you mean
23:54:28 <ais523> all sorts of things like alt-tab and control-alt-delete were used instead
23:54:33 <estoppel> nerdcore rap is amusing
23:54:35 <AnMaster> why would it be needed?
23:54:38 <ais523> AnMaster: so that applications could use all the keys on the keyboard for what they wanted
23:54:43 <AnMaster> oh
23:54:48 <ais523> you'd need a special key that the applications didn't use to switch between them
23:55:15 <ais523> AFAIK, Linux is the only OS that actually uses SysRq for its intended meaning of "do something directly to the kernel without applications interfering"
23:55:17 <estoppel> http://www.monzy.com/intro/drama_lyrics.html
23:55:21 <estoppel> "Your problem, Plus Plus, is that your typing isn't strict:
23:55:21 <estoppel> In ML my type is real and your type is 'a dict."
23:55:25 <ais523> for instance Alt-SysRq-K is the secure attention key
23:55:46 <ais523> whereas windows uses control-alt-del for that
23:55:47 <AnMaster> ais523, it is an useful debug key yes
23:55:59 <ais523> in fact it multiplexes all the direct-kernel functions onto control-alt-del
23:56:08 <ais523> which is kind of ridiculous for something that's that hard to type with one hand
23:56:20 <ais523> although admittedly sysrq isn't much easier
23:56:26 <ais523> you don't have to use it as much, though
23:56:33 <ais523> only in an emergency, and on login if you're really paranoid
23:56:35 <AnMaster> this ultrathin keyboard layout is ridiculou
23:56:40 <AnMaster> ridiculous*
23:56:58 <estoppel> heh, I'm planning on replacing this keyboard with an ultrathin one
23:56:59 <AnMaster> PgUp is located just right of space
23:57:04 <AnMaster> that is so silly
23:57:09 * AnMaster prefers full size
23:57:10 <estoppel> http://images.apple.com/euro/keyboard/scripts/gallery/wireless_1_20070813.jpg
23:57:23 <ais523> (did anyone else here know that if you type Alt-SysRq-K at something that looks like a login screen on Linux, it kills all processes that might intercept your typing so you know you're typing at a real login prompt rather than a program pretending to be one?)
23:57:29 <estoppel> (don't click if you're using a pc-101 kb right now)
23:57:32 <estoppel> (you might have a heart attack)
23:57:33 <AnMaster> estoppel, it is also compact and smaller than full size
23:57:45 <ais523> I don't know if that works on graphical logins
23:57:50 <AnMaster> estoppel, this one at least has a numeric keyboard
23:57:52 <estoppel> I wonder what fn is for
23:57:53 <ais523> but the SAK is a neat security trick
23:57:59 <estoppel> AnMaster: you can get the wired version with a numpad
23:58:05 <estoppel> but my numpad usage is a bad habit
23:58:06 <AnMaster> estoppel, and it is weird
23:58:08 <estoppel> slow context switch
23:58:11 <AnMaster> it has all the keys
23:58:17 <AnMaster> just not where you expect them
23:58:25 <ais523> estoppel: I've seen one fo those before, the return key looks a bit small
23:58:35 <estoppel> my return key is that size on this one
23:58:37 <AnMaster> yes
23:58:40 <estoppel> it doesn't actually diminish tap-power
23:58:43 <AnMaster> return key should be two lines
23:58:43 <ais523> also, backslash is in an awful place
23:58:44 <estoppel> because it's hard to miss return anyway...
23:58:49 <estoppel> again, same here
23:58:49 <AnMaster> like on Swedish keyboards
23:58:53 <estoppel> it's comfortable, actually
23:58:57 <estoppel> close to the home row when typing paths
23:59:11 <ais523> I don't like the colour scheme either, but then I don't like the colour scheme of this keyboard
23:59:21 <bsmntbombdood> gdoddamnit
23:59:40 <ais523> anyway, what self-respecting typist can do without ¬?
23:59:57 <ais523> (the standard 101-key layout has all the printable characters in ASCII but also all the printable characters in EBCDIC)
2009-03-09
00:00:04 <ais523> ¬ is in EBCDIC but not ASCII
00:00:12 <ais523> it always confused me why that was there, until I found out
00:00:31 <Deewiant> well, why not
00:00:41 <ais523> estoppel: wouldn't the fn be for changing between the main and subsidiary functions of the F-keys?
00:00:49 <estoppel> I don't have a fn here
00:00:51 <estoppel> so shrug
00:00:53 <estoppel> possibly though
00:00:54 <bsmntbombdood> hey guys debug my code for me
00:01:02 <ais523> bsmntbombdood: what language is it in?
00:01:06 <bsmntbombdood> c
00:01:18 <ais523> if you like, I'll debug by translating it into a different language, and also to a program that does something entirely different
00:01:20 -!- BeholdMyGlory has quit (Remote closed the connection).
00:01:25 <estoppel> rewrite it in scheme. then we'll talk!
00:01:29 <ais523> in fact, here's a less buggy version: ,[.[-],]
00:01:48 <ais523> to use ehird's favoured EOF statement whilst still preserving one of the other two options
00:02:08 <ais523> pity it probably does something different, and is in the wrong language
00:02:10 <bsmntbombdood> ais523: that doesn't work for EOF = -1
00:02:18 <ais523> bsmntbombdood: yes, as mentioned above
00:02:25 <ais523> EOF = 0, EOF = -1, EOF = no change are the three most common options
00:03:02 <ais523> and although you can't distinguish between them with 100% certainty, assuming random input and a program that reads all its input before doing any output you can distinguish between them with any non-100% certainty you like
00:03:10 <bsmntbombdood> estoppel: not really suited for scheme
00:03:16 <estoppel> yeah, I know
00:03:17 <estoppel> ;)
00:03:19 <estoppel> *:)
00:03:20 <ais523> how can it not be?
00:03:28 <ais523> that's like saying something isn't really suited for Haskell
00:03:28 <estoppel> ais523: it's comex's morse program
00:03:31 <estoppel> you can't really do that in Scheme :P
00:03:32 <ais523> or that it is really suited for INTERCAL
00:05:09 <estoppel> what's that number game called again?
00:05:15 <ais523> Nim
00:05:16 <bsmntbombdood> estoppel: mine's better!
00:05:20 <ais523> there are two games with that name, though
00:05:23 <ais523> 3 5 7, your move
00:05:30 <estoppel> 0 5 7
00:05:35 <ais523> 0 5 5
00:05:41 <comex> ais523: what game?
00:05:45 <estoppel> 0 1 5
00:05:48 <ais523> 0 1 0
00:05:52 <estoppel> fuck
00:05:53 <estoppel> 0 0 0
00:05:56 <ais523> I win
00:06:00 <ais523> comex: the game starts with three numbres
00:06:02 * Sgeo downloads Cobalt
00:06:02 <estoppel> comex: basically
00:06:04 <estoppel> you have 3 numbers
00:06:05 <ais523> players take it in turns to reduce a number
00:06:08 <estoppel> you can reduce one by any amount each turn
00:06:11 <estoppel> but only one column per turn
00:06:15 <ais523> as in, you can reduce any of them by any amount, but only one number at a time
00:06:17 <estoppel> the person who removes the last loses
00:06:20 <ais523> if you say 0 0 0, you lose, and you can't go negative
00:06:40 <comex> so it's pearls before swine
00:06:47 <comex> or whatever
00:06:49 <comex> that game
00:06:51 <ais523> I've never heard that name before
00:06:58 <ais523> but it's relatively well known
00:07:03 <estoppel> * Pearls Before Swine (game), a puzzle/logic game using the Nim format
00:07:05 <ais523> I'm pretty good at it, but oerjan is just as good as I am
00:07:19 <ais523> estoppel: you just looked it up on Wikipedia?
00:07:23 <estoppel> yes
00:07:40 * Sgeo listens to kerlo's tune
00:07:44 <AnMaster> <ais523> anyway, what self-respecting typist can do without ¬? <-- where?
00:07:44 <estoppel> anyway I am going to intuitively progressively optimize a nim solver. or something.
00:07:48 <AnMaster> I can't find it
00:07:51 <estoppel> first time: random moves
00:07:52 <AnMaster> on my keyboards
00:07:54 <estoppel> then: brute force
00:07:56 <estoppel> then we'll see.
00:08:18 <comex> protip: brute force is pretty good
00:08:38 <ais523> AnMaster: it's shift-` on this keyboard
00:08:43 <AnMaster> err
00:08:48 <ais523> I think they left it off most of the non-UK ones, though, they have no sense of style
00:08:58 <kerlo> I should expand my tune.
00:09:13 <AnMaster> ais523, on this keyboard shift-' is `. That is ' as in the dead key creating é
00:09:29 <ais523> what if you hold both shift keys? </joke>
00:09:33 <ais523> here, ` is to the left of 1
00:09:35 <AnMaster> hah
00:09:51 <AnMaster> ais523, §1234567890+'
00:09:56 <AnMaster> and then backspace
00:09:57 * ais523 makes a mental note to mark jokes when AnMaster's in here, and to a lesser extent ehird because he never gets metahumour
00:10:17 <AnMaster> also I got the both shift key joke
00:10:24 <AnMaster> even without the marker
00:10:45 <Sgeo> Dear Windows: Please never block things again. Love, Sgeo
00:10:55 <AnMaster> http://en.wikipedia.org/wiki/Keyboard_layout#Swedish.2FFinnish
00:10:58 <AnMaster> ais523, ^
00:11:03 <ais523> Sgeo: what's it blocking?
00:11:11 <AnMaster> IO?
00:11:12 <Sgeo> The files from OpenCobalt
00:11:17 <ais523> and how?
00:11:25 <AnMaster> opencobalt?
00:11:28 <AnMaster> uh uh
00:11:31 <kerlo> I should also find a MID editor that is capable of playing MIDs.
00:11:43 <ais523> kerlo: here on Linux I use Rosegarden
00:11:52 <ais523> although it needs Timidity or something like that to be able to do the actual playing
00:11:57 <AnMaster> oh
00:12:00 <AnMaster> not related to cobol
00:12:03 <kerlo> Timidity, eh?
00:12:07 <AnMaster> wth
00:12:12 <AnMaster> is the insert key
00:12:15 <AnMaster> doing above backspace
00:12:20 <AnMaster> on this compact keyboard
00:12:25 <ais523> when I was back on Windows I used Magix Notation, but that's a for-pay commercial app, although a very cheap one
00:12:34 <ais523> AnMaster: insert's above backspace on my laptop
00:12:43 <ais523> above is a good place when to the right of backspace wouldn't fit on the laptop
00:12:45 <AnMaster> ais523, I hate non-full size keyboard
00:12:46 <AnMaster> s
00:12:54 <AnMaster> they are harder to type on too
00:13:58 <AnMaster> I need full size to be able to type properly
00:14:10 <AnMaster> and keys that properly go down
00:14:11 <ais523> full size as in full number of keys, or full size as in not scaled down?
00:14:17 <AnMaster> ais523, both!
00:14:22 <ais523> my laptop keys go down properly and are the normal size, there just aren't as many of them
00:14:42 <AnMaster> ais523, I mean like the clicky keyboards
00:14:50 <ais523> http://science.slashdot.org/article.pl?sid=09/03/08/2155216&from=rss Slashdot have started talking about Wolfram Alpha
00:14:56 <ais523> let's see what snarky jokes they make of it
00:15:21 <estoppel> ais523: hmm
00:15:32 <estoppel> let's play ONE COLUMN NIM
00:15:33 <estoppel> 10
00:15:44 <ais523> 1
00:15:52 <estoppel> bollocks.
00:15:52 <estoppel> 0
00:15:59 <estoppel> ais523: what about infinite column nim
00:16:00 <ais523> not a particularly useful game, really...
00:16:14 <ais523> and infinite column would only be fun if only finitely many were nonzero
00:16:23 <ais523> in which case it's equivalent to finite column nim
00:16:39 <ais523> otherwise the game would necessarily take infinite time
00:17:15 <estoppel> 5 5
00:17:19 <estoppel> Hardcore nim. :P
00:17:24 <ais523> estoppel: that's a won position for you
00:17:29 <ais523> and you can probably win from it
00:17:31 <estoppel> Oh.
00:17:32 <estoppel> 4 5
00:17:34 <ais523> 4 4
00:17:41 <estoppel> 4 1
00:17:44 <ais523> 0 1
00:17:57 <estoppel> f
00:17:59 <estoppel> 0 0
00:17:59 <ais523> the strategy with two columns is not very difficult
00:18:18 <ais523> make them equal, then copy your opponent until you have a chance to set it to 0 1
00:20:50 <ais523> <C++ FQA>Here's how it works. Publishing stuff makes sense. Face to face conversations and e-mail conversations make sense. Conversations in the form of articles replying to other articles make sense some of the time. Comment thread conversations are futile. Special case: Usenet conversations are futile. If they are moderated, they are futile and (almost) polite.
00:21:51 <estoppel> Brute force Nim: Select a column number and decrement number, optimizing the number of times you win when playing against yourself
00:21:51 <oerjan> what a stupid piece of crap
00:22:06 <estoppel> Now let's see if that finishes before the universe overs.
00:25:12 <estoppel> grumble, why doesn't (f '(1 2 3) '(4 5 6)) -> ((1 4) (1 5) (1 6) (2 4) (2 5) (2 6) (3 4) (3 5) (3 6)) come with Scheme?
00:25:16 <estoppel> or at least srfi-1
00:25:38 <AnMaster> hm
00:25:53 <AnMaster> ais523, what game?
00:26:04 <estoppel> NIM ALREADY
00:26:11 <estoppel> why do so many people ask that...
00:26:17 <estoppel> backlog, sheesh
00:26:18 <AnMaster> NIM?
00:26:23 <estoppel> Nim.
00:26:38 <ais523> AnMaster: do you know the rules?
00:26:47 <AnMaster> no
00:26:51 <AnMaster> never heard of the game
00:26:53 <ais523> estoppel: clearly you need to mix Scheme with Mathematica's standard library
00:26:58 <estoppel> heh
00:26:59 <ais523> AnMaster: it's what my Enigma puzzle was modelling
00:27:04 <AnMaster> ah
00:27:15 <ais523> you have three (or more) numbers, which are nonnegative integers
00:27:19 <ais523> players take turns reducing a number
00:27:23 <ais523> you can reduce a number as far as you like
00:27:26 <ais523> but only one number on your turn
00:27:30 <ais523> if you reduce them all to 0, you lose
00:29:03 <Sgeo> Are there any free Mathematica-like tools?
00:29:09 <estoppel> yes
00:29:11 <estoppel> maxima, SAGE, ...
00:29:28 <estoppel> 'Nim has been mathematically solved for any number of initial heaps and objects; that is, there is an easily-calculated way to determine which player will win and what winning moves are open to that player.'
00:29:35 <estoppel> oh, so even though it's solved there's absolutely no skill element at all?
00:29:37 <estoppel> lame lame lam
00:29:37 <estoppel> e
00:30:24 <estoppel> hey ais523
00:30:28 <estoppel> enigma level pack 2
00:30:28 <ais523> the solution is absolutely beautiful, though
00:30:29 <estoppel> level 16
00:30:33 <ais523> estoppel: what about it?
00:30:37 <estoppel> it's nim
00:30:45 * estoppel awaits "AAARGH!!"
00:30:48 <AnMaster> about keyboards
00:31:00 * AnMaster uploads image
00:31:03 <ais523> estoppel: what, "Beam04"?
00:31:06 <estoppel> err
00:31:08 <ais523> there's Enignimm which is level 12
00:31:10 <estoppel> it's meant to be called Enignimm
00:31:13 <ais523> but that's the other nim
00:31:13 <estoppel> ooops
00:31:15 <ais523> and not nearly as fun
00:31:17 <estoppel> ah
00:31:24 <AnMaster> ais523, ehird: http://omploader.org/vMWNraw
00:31:27 <AnMaster> the keyboard
00:31:35 <AnMaster> keyboards
00:31:36 <AnMaster> even
00:31:37 <estoppel> whatever
00:31:40 <estoppel> I don't care about your keyboards
00:31:47 <estoppel> why should I be interested...?
00:31:48 <AnMaster> ais523, I find the black one extremely hard to use
00:33:58 <AnMaster> estoppel, why should I care about the keyboard you considered getting?
00:34:20 <estoppel> you shouldn't, I was remarking after you talked about the compact keyboard
00:34:31 <estoppel> your showing of your keyboards had no relevance beyond the tenuous 'keyboard' conversation tract
00:35:02 <AnMaster> you are just saying that because it was me that talked about it
00:35:33 <estoppel> yes, I am in a world conspiracy to say as many bad things about you as possible, even if they're true
00:35:36 <oerjan> ais523: what _is_ this other nim you keep mentioning?
00:35:36 <estoppel> horrible
00:36:03 <ais523> oerjan: like ordinary nim, but with only one number, and you can only reduce it by at most 3 at a time
00:36:12 <oerjan> oh
00:36:16 <ais523> it is very very horrible, and any competent mathematician can solve it in their head in about 10 seconds
00:36:26 <oerjan> indeed
00:36:32 <ais523> one of my acquaintances uses it to win bets against drunk people
00:36:50 <oerjan> now if you have several heaps like that, it gets a bit more interesting
00:37:05 <ais523> yes, but not much
00:37:14 <ais523> do you know about Sprague-Grundy analysis?
00:37:24 <oerjan> although as i recall, it's simpler than ordinary nim because some heap sizes are equivalent
00:37:25 <ais523> it's basically a method of solving games by proving them equivalent to regular nim
00:37:27 <oerjan> yes
00:37:44 <ais523> and the limited-nim game is equivalent to regular nim with heaps no bigger than 2
00:37:58 <ais523> except that the last-player-loses vs. last-player-wins thing messes up the analysis
00:38:00 <estoppel> ugh, my combinations function is really ugly
00:38:26 <oerjan> doesn't it always
00:38:34 <ais523> yes
00:38:48 <ais523> Sprague-Grundy only really works properly if 0 0 0 is a win, and that's not the way nim's normally played
00:41:22 <estoppel> > (combinations '(a b) '(c d))
00:41:22 <estoppel> '((a c) (b c) (a d) (b d))
00:41:24 <estoppel> \m/
00:41:37 <ais523> what does \m/ mean, anyway?
00:41:42 <estoppel> metal hand
00:41:48 <ais523> and what does that mean?
00:41:58 <estoppel> \ , , / ,
00:42:07 <estoppel> where , = finger | last , = thumb | \ = raised finger
00:42:20 <ais523> I mean, what does a metal hand indicate, apart from the literal definition?
00:42:40 <estoppel> "awesome"? :P
00:43:00 <estoppel> hmm, it's vulgar in mediterranean countries
00:43:01 <estoppel> apparently
00:44:05 <estoppel> http://pastie.org/private/zreddamkpevzsxtxjz4w
00:44:09 <estoppel> vomit worthy code
00:44:32 <ais523> I remember writing that function in OCaml
00:44:49 <ais523> and it was purely functional, and didn't look at all like that
00:46:32 <estoppel> you're welcome to supply a better algorithm :P
00:46:54 <estoppel> yay, I have to define my own func (upto 5) -> (0 1 2 3 4)
00:48:19 <estoppel> grrrrrr
00:48:22 <estoppel> I can't even use combinations
00:48:29 <estoppel> since my second argument depends on the value of the first
00:51:28 <estoppel> so irritating.
00:55:34 -!- ais523 has quit (Remote closed the connection).
01:04:07 <kerlo> Huh, I apparently have Timidity already.
01:04:58 <oerjan> now you just need Paranoia, Despair and Panic
01:06:08 <kerlo> I prefer Apprehension to Paranoia and Dread to Despair. I'm waiting for Neurosis to reach version 1.0 so I can replace Panic with it.
01:07:21 <oerjan> i would recommend Psychosis, although it is not quite stable
01:07:39 <AnMaster> kerlo, are you talking about software?
01:07:51 <AnMaster> Timidity and (cd)Paranoia exists...
01:07:57 <kerlo> AnMaster: no, just pretending.
01:08:07 <kerlo> Except when I mentioned Timidity.
01:08:09 <AnMaster> I had to restart client
01:08:12 <AnMaster> so lost scrollback
01:08:32 <AnMaster> (bouncer still connected though
01:08:34 <AnMaster> )
01:09:14 <AnMaster> kerlo, also timidity is crap
01:09:16 <AnMaster> the software that is
01:09:20 <AnMaster> it crashes all the time
01:09:31 <AnMaster> I prefer using hardware midi
01:09:34 <AnMaster> way more stable
01:20:03 <fizzie> ehird: Here's one "combinations", which isn't very pretty either, but at least it isn't all for-each set!y: http://pastie.org/private/ar5balcakbcw9mkmpq2a
01:20:13 <estoppel> oh, that's nicer
01:20:28 * estoppel considers buying one of the nice new mac pros with the nehalem processors
01:20:34 <fizzie> (I sleeps.)
01:26:35 <Sgeo> Where's the abomination against using rafb.net in the topic?
01:27:16 -!- estoppel has changed nick to ehird.
01:38:33 <fizzie> Oh, right, the topic-lock anyway.
01:38:51 -!- ChanServ has set channel mode: -t.
02:02:20 -!- oerjan has quit ("Good night").
02:10:48 -!- psygnisfive has quit (Remote closed the connection).
02:47:28 <bsmntbombdood> who wants to learn lojban with me
02:48:26 <lament> your mom.
02:50:56 <bsmntbombdood> unlikely.
02:51:16 * Sgeo pokes kerlo
02:51:20 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
02:51:24 <Sgeo> kerlo's a lojban person
03:00:49 -!- psygnisfive has joined.
03:08:04 <lament> instead of learning lojban, why not just stick a rusty fork in your eye?
03:12:04 <bsmntbombdood> all the better to see you with
03:34:23 -!- psygnisfive has quit (Remote closed the connection).
04:19:56 <kerlo> Ello.
04:20:32 <kerlo> lament: because sticking a rusty fork in my eye wouldn't teach me anything.
04:21:30 -!- Dewi has joined.
04:31:48 -!- GreaseMonkey has joined.
04:33:00 <Robdgreat> it might teach you the importance of staying current with your tetanus shots
04:33:20 <lament> kerlo: it will teach you a lot.
05:11:48 <Sgeo> G'night all
05:17:08 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:35:54 -!- asiekierk has joined.
07:35:57 <asiekierk> BAM!
07:36:01 <asiekierk> ...
07:36:03 <asiekierk> oh no
07:36:06 <asiekierk> +t is off
07:36:14 <asiekierk> and my auto-topic-change script is still working
07:36:17 <asiekierk> NO-ONE CHANGE THE TOPIC
07:36:58 <Azstal> Nice weather outside, isn't it?
07:37:26 <asiekierk> ...What?
07:37:35 <asiekierk> Well, quite, if not for that it's 7:35 AM
07:37:40 <asiekierk> well, 7:37 actually
07:37:42 <Azstal> hah!
07:37:51 <Azstal> I changed the topic!
07:37:54 <asiekierk> Well
07:37:55 <asiekierk> I mean
07:37:59 <asiekierk> the topic above
07:38:02 <asiekierk> the one in green
07:38:13 <asiekierk> You know, the one with divulgations, apples and words
07:39:03 <asiekierk> If you change it, onoz we're doomed
07:39:11 <asiekierk> [[or someone kicks me, cuz i don't have autorejoin]]
07:39:22 <asiekierk> I hopefully made it so it ignores me
07:39:30 <asiekierk> so there's no "I change topic and it changes topic"
07:39:33 <asiekierk> except if I change the nick
07:39:34 <asiekierk> so nah
07:41:27 <oklopol> morning
07:41:30 <asiekierk> morning
07:42:20 <asiekierk> Good morning, and welcome to #esoteric.
07:44:24 <asiekierk> oklopol: I'm bored
07:44:32 <asiekierk> Should i broadcast my desktop again
07:44:33 -!- lament has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <asiekierk> NO-ONE CHANGE THE TOPIC.
07:44:40 <asiekierk> I told you :(*
07:44:41 <asiekierk> :(
07:44:43 <asiekierk> well
07:44:45 <asiekierk> it doesn't work on me
07:44:46 <asiekierk> so
07:44:56 <asiekierk> *whew*
07:45:17 -!- asiekierk has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <asiekierk> NO-ONE CHANGE THE TOPIC (except me or when i'm off).
07:45:26 <GreaseMonkey> ohai
07:45:30 -!- asiekierk has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <asiekierk> NO-ONE CHANGE THE TOPIC (except me or when i'm off, then you can).
07:45:32 <asiekierk> hai
07:45:39 <oklopol> http://pastie.org/private/qb2tg9bvpnsv2rw2q0ljgg <<< wtf is this, why do i have broken c in my browser?
07:45:56 <asiekierk> i don't know
07:46:44 <oklopol> ehird: http://pastie.org/private/qb2tg9bvpnsv2rw2q0ljgg This may or may not work, YMMV. <<< doesn't look like it will, not that i know the context
07:47:02 <GreaseMonkey> don't drink and code
07:47:10 <GreaseMonkey> if you drink too much, it becomes quite a mess
07:47:36 <oklopol> should've guessed it was from here
07:47:56 <oklopol> i haven't tried drinking and coding much yet
07:48:05 <oklopol> i've decided to learn that at some point tho
07:48:21 <oklopol> hmm
07:48:25 <oklopol> exam in 10 minutes
07:48:47 <GreaseMonkey> i know of someone who coded on LSD
07:48:49 <oklopol> should probably get out of the wc and head to uni
07:48:56 <GreaseMonkey> probably.
07:49:11 <oklopol> *sweepin*
07:50:42 <oklopol> okay, i'm taking this baby with me, so going offline.
07:50:48 <oklopol> for some undefined meaning of baby
07:50:49 <oklopol> ->
07:51:21 <GreaseMonkey> "how is babby formed? how girl get pragnent?"
07:51:39 <GreaseMonkey> "they need to way instate mother> who murder thier babbys."
07:51:53 <GreaseMonkey> "once, a woman in ar"
07:52:02 <GreaseMonkey> "i am truely sorry for your lots."
07:59:59 -!- clog has quit (ended).
08:03:11 -!- clog has joined.
08:03:11 <asiekierk> ...
08:03:19 <asiekierk> Why doesn't teh internetz work for m---wait, it does
08:09:20 -!- oklopol has quit (Read error: 110 (Connection timed out)).
08:20:50 -!- tombom has joined.
08:26:10 <fizzie> Uh... why does this firefox, when I try to middle-mouse-paste in oklopol's ehird-quote-URL, pop up a dialog saying: "ASSERT: *** Search: _installLocation: engine has no file!" and then a 11-item stack-trace.
08:26:33 <fizzie> Okay, same for entering any URL in the location bar.
08:27:13 <fizzie> I have a hunch they've sneakily been updating the browser installation on these workstations, and now it's a needs-a-restart confused.
08:48:09 -!- jix has joined.
09:04:39 -!- Slereah_ has joined.
09:11:36 -!- asiekierk has quit (Read error: 110 (Connection timed out)).
09:16:18 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:21:02 -!- jix has quit ("...").
10:11:59 -!- asiekierk has joined.
10:12:01 <asiekierk> Wow
10:12:12 <asiekierk> I think I just made a Videocrypt encoder/decoder
10:12:14 <asiekierk> but i'm not sure
10:12:21 <asiekierk> I would need a Videocrypt decoder supporting a seed
10:15:39 <asiekierk> But interline correlation (the VirtualDub VC decoder) works, albeit the same as with 99% of other VC decryptions
10:19:30 -!- GreaseMonkey has quit ("Client Excited").
10:45:54 <asiekierk> You know
10:46:09 <asiekierk> Checkerboard+Videocrypt+Interline Decoding=Cafe Wall
12:18:48 -!- Jophish has joined.
12:31:21 -!- oklopol has joined.
12:51:56 <asiekierk> modifying AsieCrypt to be more unique
12:52:01 <asiekierk> by adding color encryption
12:59:58 <asiekierk> and variable line swapping
13:25:20 <asiekierk> Hmm
13:34:23 <asiekierk> anyone here
14:05:44 -!- ais523 has joined.
14:13:28 -!- ais523_ has joined.
14:13:40 -!- ais523 has quit (Nick collision from services.).
14:13:44 -!- ais523_ has changed nick to ais523.
15:06:23 -!- jix has joined.
15:15:24 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client").
15:15:59 -!- Dewi has quit (Read error: 60 (Operation timed out)).
15:24:57 -!- ehird has left (?).
15:25:01 -!- ehird has joined.
15:31:00 -!- MigoMipo has joined.
15:34:14 -!- ehird has left (?).
15:34:16 -!- ehird has joined.
15:34:24 <ehird> Hi, ais523.
15:34:28 <ehird> Uh, you are there right?
15:34:59 -!- BeholdMyGlory has joined.
16:12:23 <asiekierk> maybe he's not
16:12:25 <asiekierk> but i am
16:12:25 <asiekierk> sadly
16:12:40 <oklopol> well you are almost ais
16:14:44 <asiekierk> haha
16:14:46 <asiekierk> yeah, right
16:16:30 -!- impomatic has joined.
16:17:21 <impomatic> Ehird: I've ordered one of those Arduino microcontrollers.
16:17:27 <ehird> Cool :-)
16:17:37 <ehird> Let us know how it goes!
16:17:47 <impomatic> If I don't enjoy programming it, I know who to blame :-P
16:17:53 <ehird> ;_;
16:17:55 <ehird> :P
16:18:47 <impomatic> I'm just trying to learn how to program it before it arrives
16:33:01 -!- MigoMipo has changed nick to ZigoZipo.
16:35:58 -!- ZireFly has joined.
16:36:16 * ehird zwats ZigoZipo ----ZZZZ
16:36:18 <ehird> err
16:36:20 <ehird> ZireFly.
16:36:31 <ZireFly> = FireFly
16:36:49 <ZireFly> ZigoZipo = MigoMipo wanted me to change my nick to something that begins with a Z
16:37:34 <ehird> ===> how is babby formed?
16:37:34 <ehird> Infant
16:37:36 <ehird> In basic English usage, an infant is defined as a human child at the youngest stage of life, specifically before they can walk and generally before the age of one (see also child and adolescent).
16:37:39 <ehird> The term "infant" derives from the Latin word in-fans, meaning "unable to speak." There is no exact definition for infancy. "Infant" is also a legal term with the meaning of minor; that is, any child under the age of legal adulthood.
16:37:43 <ehird> Source: Wikipedia
16:37:45 <ehird> — http://start.csail.mit.edu/
16:39:16 -!- ZigoZipo has left (?).
16:40:18 -!- MigoMipo has joined.
16:42:06 -!- ZireFly has changed nick to FireFly.
16:44:37 -!- Hiato has joined.
16:56:50 -!- Hiato has quit ("Leaving.").
16:57:59 -!- Hiato has joined.
17:00:25 -!- BeholdMyGlory has quit (Remote closed the connection).
17:00:50 -!- BeholdMyGlory has joined.
17:01:50 -!- KingOfKarlsruhe has joined.
17:05:34 -!- Dewi has joined.
18:04:26 -!- ais523 has joined.
18:09:43 <oklopol> ehird: god that thing sucks.
18:09:46 -!- jix_ has joined.
18:18:50 <ehird> hi ais523
18:19:18 <ais523> hi
18:19:29 -!- BeholdMyGlory has quit (Remote closed the connection).
18:20:23 <ehird> [[to compose a bunch of procedures that each take 20 arguments
18:20:23 <ehird> and return 20 results. ]]
18:20:27 <ehird> "so don't do that"
18:20:32 <ehird> hey, why'rn't I estoppel?
18:20:35 -!- ehird has changed nick to estoppel.
18:23:35 <ais523> anyway, my intensive module today nearly made my head explode
18:23:44 <ais523> I have problems even trying to think of it, so I'll translate into programming terms
18:23:47 -!- jix has quit (Read error: 110 (Connection timed out)).
18:23:51 <ais523> as a sort of extended metaphor
18:24:01 <ais523> imagine you have a nice, clean, and well-understood interpreted programming language
18:24:07 <ais523> I was going to choose Python as an example
18:24:20 <ais523> but unfortunately it's whitespace-sensitive and that ruins the example, so I'll use Ruby instead
18:24:29 <ais523> now, Ruby's not all that fast compared to some programming languages
18:24:41 <ais523> and people have written slow Ruby programs for things that didn't need to work fast, and they've been fine
18:24:57 <estoppel> yep
18:24:59 <ais523> now, suppose you want to write in Ruby, it's the only language you can use
18:25:03 <ais523> but you need to write fast
18:25:11 <ais523> so you optimise your Ruby to run quickly
18:25:11 * estoppel scratch head
18:25:19 <estoppel> hahah
18:25:20 <ais523> and you find that your program errors every now and then
18:25:22 <estoppel> ...
18:25:29 <ais523> and it turns out that the interp's getting confused by whitespace
18:25:32 <ais523> it does more or less the right thing
18:25:39 <ais523> but if it tries to process the whitespace too quickly
18:25:45 <estoppel> ... excuse me, what
18:25:49 <ais523> it misinterprets it as Whitespace and the Whitespace gets mixed in with the regular program
18:25:52 <estoppel> ... i mean ... what ...
18:25:55 <ais523> estoppel: it gets better, I haven't finished yet
18:26:20 <ais523> now, this isn't really much of a problem for you, as you're an esoprogrammer
18:26:32 <ais523> in fact, you find you can make your code even better by exploiting the Whitespace code to do useful things
18:26:46 <ais523> and in fact for very fast programs you want to write huge parts of it entirely in Whitespace
18:26:56 <estoppel> ..
18:27:05 <estoppel> ok, what was the ACTUAL thing about
18:27:09 <ais523> (you consider this normal, interps are bound to malfunction a bit if you run them too fast due to not being perfect)
18:27:24 <ais523> but you find that with the whitespace running even faster, if you have exactly the right sequence
18:27:31 <asiekierk> omg, i made a video encoder
18:27:34 <asiekierk> not supporting video
18:27:34 <ais523> you run commands that redefine syntax, or logic, or whatever
18:27:37 <asiekierk> but bitmap
18:27:37 <asiekierk> s
18:27:46 <asiekierk> as in, encoder, er encrypter
18:27:51 <ais523> so you're changing the syntax of Whitespace dynamically, and making ANDs into ORs, or whatever
18:28:01 <ais523> the head-explode moment was when I realised this also affected the Ruby it was embedded around
18:28:19 <ais523> making ands into ors, and other things that made no sense in Ruby
18:28:37 <ais523> (and as a result, your programs now only run at one exact speed, if you run them slightly faster or slower they fail)
18:29:32 <estoppel> ok, what was the ACTUAL thing about
18:29:46 <ais523> estoppel: microwave-frequency electronics
18:29:54 <ais523> think of ordinary electronics as the ruby
18:30:04 <ais523> and wires which shouldn't be doing anything but being wires as the whitespaec
18:30:06 <ais523> *whitespace
18:30:18 <estoppel> My mother, attempting to use an old one button Mac mouse: "But, which button do I press?"
18:30:27 <ais523> the left one, obviously
18:42:41 -!- impomatic has quit ("mov.i #1,1").
18:44:47 <asiekierk> Oh god, now I'm going to wait forever for my Asiecrypt Encoder to finish encoding a 2-and-a-half-minute-YouTube-movie
18:44:47 <asiekierk> well, nearly 3-minute, even
18:45:02 <ais523> what does it encode it into?
18:45:19 <ais523> jmp #0, <-3
18:45:36 <asiekierk> well, i mean encrypt
18:45:39 <asiekierk> 3521 frames
18:45:41 <asiekierk> into AsieCrypt
18:46:09 <asiekierk> or VideoCrypt+color swap every other line+replace random parts of 2 lines 120*25 (or 240*25) times
18:46:23 <asiekierk> actually, the color swap is the longest
18:46:25 <asiekierk> and it takes a seed
18:46:38 <ais523> why are you doing this, anyway?
18:46:51 <ais523> it sounds rather like security by obscurity
18:46:54 <ais523> is it reversible?
18:46:57 <asiekierk> Yes
18:46:59 <asiekierk> tested
18:47:01 <estoppel> XD
18:47:02 <asiekierk> reversible
18:47:03 <asiekierk> VideoCrypt is
18:47:07 <asiekierk> Random replacing is...
18:47:14 <asiekierk> and a NOT bitwise command is too
18:47:16 <estoppel> oh asiekierk, you are the living proof of poe's law.
18:47:21 <ais523> poe's law?
18:47:22 <asiekierk> poe's law?
18:47:49 <estoppel> >_<
18:47:51 <estoppel> google's law.
18:47:58 <estoppel> http://rationalwiki.com/wiki/Poe's_Law
18:48:09 <ais523> estoppel: that's a link, can you explain in English?
18:48:09 <estoppel> s/fundamentalism/ridiculous programming tasks/
18:48:19 <estoppel> ais523: no, I do not exist to support your allergy to the web
18:48:20 <asiekierk> it did about 1000 frames
18:48:38 <ais523> estoppel: then don't expect me to understand what you're saying, if you're unwilling to explain
18:48:40 <estoppel> you'll be pleased to know that the target of the link is english embedded in HTML
18:48:40 <asiekierk> and they DO look like a jumbled mess
18:48:52 <estoppel> also, you're the one asking the question, it's your wish to find out, not mine
18:49:25 <asiekierk> Well, the Asiecrypt Encoder is also (accidentally) a Videocrypt encoder
18:49:34 <asiekierk> and a Videocrypt decoder too (if you know the seed)
18:50:07 <ais523> estoppel: I'm only asking because I don't understand what you said...
18:50:17 <ais523> and isn't the usual purpose of communication to, you know, convey information?
18:50:17 <estoppel> I gave you a link to information on it, http://rationalwiki.com/wiki/Poe's_Law
18:50:26 <estoppel> it's not my problem that you refuse to follow links to get information
18:51:10 <asiekierk> ~1650 frames
18:51:11 <ais523> but that's the Web!
18:51:16 <estoppel> ... so?
18:51:21 <estoppel> the web is a web of information.
18:51:51 <ais523> not nowadays, nowadays it's mostly a web of porn, spam, and adverts
18:52:07 <estoppel> if I linked you to one of them, I assure you I would note as such.
18:52:47 <ais523> well, most websites have adverts nowadays
18:52:59 <estoppel> so...? use adblock?
18:53:02 <ais523> lots of people talk about how things like adblock are a bad idea because they deprive the sites of advertising revenue
18:53:04 <asiekierk> Is there an use for the low-speed version of Asiecrypt (all enabled) except premium content NBTV?
18:53:13 <estoppel> a business model based on advertising is shit.
18:53:19 <ais523> and it strikes me that not visiting them is an even better way to deprive them of advertising revenue
18:53:46 <asiekierk> 2250 frames
18:53:51 <asiekierk> 1500 more!
18:53:54 <estoppel> then you miss out on their content
18:54:00 <estoppel> loss for you, no great shakes to anyone else
18:54:23 <ais523> estoppel: why doesn't everyone act as I do? The Web would become so much better more or less overnight
18:54:35 <asiekierk> Oh, and impomatic has Asiecrypt
18:54:36 <estoppel> Because some of us don't mind advertisements.
18:54:40 <asiekierk> ((a buggy version, but still))
18:54:47 <estoppel> And a vast majority of internet users see porn as a plus.,
18:54:50 <ais523> neither do I, actually, I just mentally ignore them if adblock doesn't catch them
18:55:08 <ais523> and porn is fine if you're looking for it, but tends not to be particularly informative
18:55:09 <estoppel> So all that is left is spam. Everything has spam. Apart from Gopher.
18:55:16 <estoppel> And that's why I personally linked it.
18:55:22 <estoppel> So that you know I was linking to relevant information.
18:55:23 <asiekierk> 2610 frames
18:55:30 <asiekierk> only 900 more, then joining and Youtubing
18:56:47 <asiekierk> 2950...
18:58:08 <asiekierk> 3260...
18:58:19 <Deewiant> 1234...
18:58:30 <Deewiant> 2428...
18:58:34 <estoppel> 9001
18:58:37 <Deewiant> 2789...
18:58:40 <asiekierk> ...Deewiant, you know that 1234 was one of my Seeds
18:58:46 <estoppel> 2001aspaceoddyssey
18:58:46 <Deewiant> 3000...
18:58:46 <asiekierk> for testing
18:58:52 <Deewiant> how rare
18:58:54 <asiekierk> 42... (hint hint)
18:59:07 <asiekierk> 3500...
18:59:18 <asiekierk> it did it
18:59:56 <Deewiant> it did did it
19:00:04 <asiekierk> I must find out what the hell of an algorithm do I use cuz I don't remember :(
19:01:05 <asiekierk> Uh-oh
19:01:13 <asiekierk> seems I did something irreversible and now i'm screwed
19:01:39 <ais523> asiekierk: don't you have the original?
19:01:45 <asiekierk> yes i do
19:01:49 <asiekierk> but i must find out what is irreversible
19:02:21 <asiekierk> actually
19:02:21 <asiekierk> all seems to be
19:02:22 <asiekierk> O_o
19:02:29 <estoppel> fail
19:02:47 <asiekierk> So it must be a problem with my batch procedure-a-thon
19:03:20 <asiekierk> Or i may know why
19:03:26 <asiekierk> i didn't set the seed AFAIK
19:04:57 <asiekierk> something is terribly wrong
19:05:33 <ais523> asiekierk: I still fail to see the advantage of what you're doing in the first place
19:05:43 <asiekierk> i do too
19:05:48 <asiekierk> but i'm just doing it for kicks
19:07:33 <asiekierk> Well
19:07:39 <asiekierk> I can batch encode AND batch decode
19:07:43 <asiekierk> I can encode AND decode
19:07:49 <asiekierk> but i can't batch encode AND decode
19:07:54 <asiekierk> so something's terribly wrong with my algorithms
19:08:58 <ais523> yay, it's the common engineering problem: A, B, and C each work, A and B work together, B and C work together, but the combined A+B+C system fails for no apparent reason
19:09:26 <asiekierk> well, not really
19:09:39 <asiekierk> cuz it's A, B, C and D. A and B work, C and D work, but any other combinations fail
19:09:39 <Deewiant> A+B, C+D, and A+D in this case
19:09:50 <asiekierk> any other combinations in this case :P
19:09:54 <asiekierk> not just A+D
19:09:57 <ais523> oh
19:10:07 <Deewiant> Well the only other one is B+C
19:10:14 <ais523> I assumed you could encode files individually, then batch-decode the lot, from what you suggested
19:10:20 <asiekierk> Well
19:10:23 <asiekierk> I can batch-encode too
19:10:24 <ais523> I must have misparsed what you were talking about
19:10:25 <asiekierk> so why bother
19:10:37 <ais523> I also assumed you meant you could batch-encode then individually decode
19:10:42 <asiekierk> The only thing is that I seem to have the same algorithms not cooperating with each other
19:10:47 <asiekierk> but I think I CAN see the problem
19:10:57 <asiekierk> basically
19:11:00 <asiekierk> when encoding normally
19:11:05 <asiekierk> after lineswap, it resets the seed
19:11:09 <asiekierk> when batch-encoding, it does NOT
19:11:10 -!- jix_ has quit ("...").
19:11:34 <asiekierk> And i'm going to add a feature while I'm at it
19:13:28 <asiekierk> or not
19:13:33 <asiekierk> it's too painful and not really paying out
19:21:52 <estoppel> http://donsbot.wordpress.com/2009/03/09/evolving-faster-haskell-programs/
19:22:08 <estoppel> AnMaster would like that, for C
19:25:08 -!- asiekierk has changed nick to asie[away].
19:26:41 <ais523> estoppel: is that going to be a new permanent nick for you?
19:27:05 <estoppel> Possibly. Not sure :P
19:27:27 <ais523> it's a good real word for a nick
19:28:52 <estoppel> Yes, it sounds like it means something deep.
19:29:16 <Deewiant> Unless you know what it means :-P
19:29:25 <ais523> well, it's still a relatively interesting thing if you know what it means
19:29:43 <ais523> basically, if you convince someone you don't plan to sue them, or act as if you won't
19:29:53 <ais523> then if you do sue them you're unlikely to get very much in damages
19:30:15 <Deewiant> common law is so funky :-P
19:30:29 <estoppel> B Nomic is saner than common law
19:37:15 <ais523> hmm... it seems that e4 vs. d4 can inspire a Holy War on chess channels
19:37:22 <Deewiant> c4!
19:37:47 <Deewiant> Or f4
19:39:08 <lament> ais523: strange that it would
19:39:15 <lament> it should be pretty easy to resolve
19:39:19 <ais523> how?
19:39:20 <Deewiant> lament: You must be a d4 player
19:39:22 <ais523> it's like emacs vs. vi
19:39:26 <lament> ais523: by setting up a match
19:39:34 <ais523> lament: what, one match?
19:39:37 <lament> two matches
19:39:38 <Deewiant> d4 players vs e4 players, one game?
19:39:41 <ais523> although a worldwide e4 vs. d4 match might be good
19:39:49 <ais523> organised via one of the big chess websites
19:40:45 <Deewiant> Was it Kasparov that that one collaborative Internet match was played against?
19:40:50 <lament> ais523: but what exactly are they arguing about, then
19:40:58 <ais523> which is better, obviously
19:41:03 <lament> better how?
19:41:12 <ais523> someone in there's claiming that white playing d4 is effectively giving black an advantage, it's that bad
19:41:16 <Deewiant> More likely to lead to victory?
19:41:20 <ais523> and I'm trying to come to the defence of d4
19:41:27 <ais523> and yes, that's a typical definition of better in chess
19:42:13 <Deewiant> I.e. of all the possible games that can be played from that point on, more lead to a white win or draw than to a black win
19:44:17 <lament> can't you just look at a database of existing professional games?
19:45:38 <lament> they do that in Go
19:55:59 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:59:28 <estoppel> > (define (halt-and-catch-fire)
19:59:28 <estoppel> (/ 1 0)
19:59:30 <estoppel> (halt-and-catch-fire))
19:59:38 <estoppel> The preferred error-signalling procedure for all purposes.
19:59:40 <ais523> why is that in an infinite loop?
19:59:58 <estoppel> ais523: in case the interpreter neglects to signal the division by zero and continues execution.
20:00:00 <Deewiant> Because most machines don't catch fire from just dividing by zero, in my experience
20:00:29 <estoppel> it's the program catching fire, not the system :D
20:00:40 <Deewiant> Oh, that's boring
20:00:56 <ais523> I've been on systems which could be set on fire in software
20:01:03 <estoppel> ais523: awesome, which?
20:01:06 <ais523> in theory, at least, in practice there normally wasn't enough current flowing
20:01:09 <ais523> estoppel: microcontrollers
20:01:19 <Deewiant> Desktop machines can be set on fire in software
20:01:25 <estoppel> actually, (/ 1 0) doesn't have to error in Scheme.
20:01:29 <estoppel> It can be +inf.0
20:01:49 <estoppel> (scheme-report-environment -1) is specified to fail, though.
20:01:50 <Deewiant> Oh, I assumed you intended it to not error
20:02:03 <ais523> it doesn't error in most langs, nowadays, at least if interpreted as floating point division
20:02:10 <estoppel> > (define (wrong msg)
20:02:10 <estoppel> (display "** ERROR ** ")
20:02:11 <estoppel> (display msg)
20:02:13 <ais523> oh, except C, (/ 1 0) errors pretty badly in C
20:02:13 <estoppel> (newline)
20:02:15 <estoppel> (scheme-report-environment -1))
20:02:16 <ais523> due to not being valid syntax
20:02:17 <estoppel> ; no values returned
20:02:19 <estoppel> > (wrong "Division by elephant")
20:02:21 <estoppel> ** ERROR ** Division by elephant
20:02:23 <estoppel> Error: no such Scheme report environment
20:02:25 <estoppel> (&error)
20:02:27 <estoppel> Er, flood. SOrry.
20:02:46 <Deewiant> ais523: Are there languages in which it would error out when interpreted as a floating point division?
20:03:16 <ais523> C programs are certainly allowed to send signals on FP division by zero, just generally don't
20:03:18 <estoppel> > (wrong "no such Scheme report environment")
20:03:18 <estoppel> ** ERROR ** no such Scheme report environment
20:03:20 <estoppel> Error: no such Scheme report environment
20:04:19 <ais523> does Scheme have exceptions?
20:04:24 <ais523> or do you simulate them by hand using call/cc?
20:04:30 <estoppel> No. (R6RS isn't scheme, so I'll disregard it.)
20:04:44 <estoppel> You can simulate them; many implementations provide an isomorphic mechanism.
20:04:50 <estoppel> They're not very Scheme, though.
20:04:56 <ais523> I know, simulating exceptions is pretty easy when you have c
20:05:06 <estoppel> http://srfi.schemers.org/srfi-34/srfi-34.html
20:05:11 <estoppel> "Exception Handling for Programs".
20:05:45 <estoppel> Conditions, more elegant than Exceptions since, iirc, the handlers aren't call/cc'ed, just called:
20:05:48 <estoppel> http://srfi.schemers.org/srfi-35/srfi-35.html
20:05:50 <estoppel> http://srfi.schemers.org/srfi-36/srfi-36.html
20:06:10 <estoppel> Scheme48 uses SRFI-36 conditions to signal parse errors
20:06:18 <estoppel> and the like
20:06:31 <ais523> although tbh a jmp_buf stack is enough for handling exceptions, you don't need anything nearly as advanced as call/cc
20:06:37 <ais523> why the slash, anyway?
20:06:50 <estoppel> It stands for "with".
20:07:03 <ais523> not "per"? not "over"?
20:07:16 <estoppel> It's short for call-with-current-continuation, because it calls the provided procedure with the current continuation.
20:07:21 <estoppel> BTW, call/cc is a non-standard abbreviation, only call-with-current-continuation is specified by R5RS.
20:07:28 <estoppel> You can do (define call/cc call-with-current-continuation), ofc.
20:07:52 <ais523> yes
20:08:33 <estoppel> ais523: As a sidenote, yes, the opposite of call-with-current-continuation exists ("Run this procedure with this other procedure as its continuation")
20:08:50 <estoppel> (call-with-values f k) runs (f) with k as the continuation.
20:08:54 <estoppel> So, e.g.:
20:09:03 <estoppel> (call-with-values (lambda () (values 1 2 3)) +) ;=> 6
20:09:48 <estoppel> It was intended just to handle the N-return-values (instead of just 1) system added in R5RS, as you can see, but it works perfectly fine as call-with-this-continuation.
20:12:16 -!- oerjan has joined.
20:14:25 <asie[away]> ehird, i miss ya old nick
20:17:14 -!- asie[away] has changed nick to asiekierk.
20:17:29 -!- asiekierk has set topic: Divulgations are apples for your words, and here are the logs: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <asiekierk> NO-ONE CHANGE THE TOPIC (except me or when i'm off, then you can).
20:18:29 -!- estoppel has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:18:42 <asiekierk> i warned you
20:19:00 -!- asiekierk has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | DON'T CHANGE THE TOPIC WHILE ASIEKIERKA IS ON.
20:19:01 -!- oerjan has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <oerjan> Darn estoppel beat me.
20:19:08 <estoppel> Yes, I don't give a shit about your irritating I-own-the-topic-and-it-is-my-personal-playground-of-hilarity stuff that you have carried out for months and months.
20:19:10 -!- estoppel has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:19:20 <oerjan> months?
20:19:34 <estoppel> oerjan: He's done it ever since he first entered here, as far as I can tell.
20:19:36 -!- ais523 has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | asiekierka owns the topic, not asiekeierk.
20:19:40 <asiekierk> I TOLD YOU
20:19:42 -!- estoppel has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:19:44 <estoppel> Go away.
20:19:44 -!- Slereah_ has set topic: Topic now property of Slereah | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:19:47 <asiekierk> ok
20:19:48 -!- asiekierk has left (?).
20:19:54 <estoppel> ... Well, that worked.
20:19:55 -!- asiekierk has joined.
20:19:56 <oerjan> is that why +t was on recently?
20:20:00 <estoppel> oerjan: Yes
20:20:00 <asiekierk> yes
20:20:03 <Slereah_> I will be cruel but fair
20:20:03 <ais523> someone put +t on now
20:20:05 <asiekierk> no
20:20:06 <estoppel> fizzie set it because asiekierk was being irritating.
20:20:07 -!- estoppel has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:20:09 <asiekierk> i can change it myself
20:20:11 <asiekierk> just wait
20:20:13 <estoppel> fizzie: Can we have some +t?
20:20:25 <asiekierk> we don't need to
20:20:29 <asiekierk> except if you change the topic
20:20:50 <estoppel> Au contraire, you are proof we need it.
20:20:53 <lament> what's the problem with the topic?
20:21:01 <asiekierk> If someone else changes it
20:21:05 <estoppel> lament: asiekierk thinks he owns it and keeps spamming it with pointless rubbish whenever we change it.
20:21:13 <asiekierk> well, I just have a script
20:21:14 <estoppel> Recommended solution: temporary +t. It worked yesterday.
20:21:17 <asiekierk> Well
20:21:18 <lament> asiekierk: Turn your script off
20:21:21 <asiekierk> ...
20:21:25 <asiekierk> I would need to restart mIRC
20:21:26 <asiekierk> and I'm too lazy
20:21:31 <lament> Restart mIRC.
20:21:48 -!- ais523 has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | http://127.0.0.1/../../etc/passwd.
20:21:55 <asiekierk> ok
20:21:57 <asiekierk> restarting mirc
20:22:01 <asiekierk> change the topic in the meanwhile
20:22:03 -!- asiekierk has quit.
20:22:08 <estoppel> ais523: omg it has your passwords in
20:22:09 <estoppel> hahahaha idiot
20:22:13 <estoppel> i 0wnz ur boxen
20:22:28 -!- asiekierk has joined.
20:22:32 <asiekierk> Ohai
20:22:36 <ais523> estoppel: really? it's a 404 for me
20:22:47 <estoppel> Does "turning your script off" imply "now I'll do it manually", asiekierk?
20:22:50 <estoppel> I have a terrible feeling it does.
20:22:50 <asiekierk> Now try to change the topic so I can know whether or not the script problem is fixed
20:22:53 <lament> asiekierk: i still don't get it, what happens when we change the topic?
20:22:55 <estoppel> I see.
20:22:57 <lament> what does the script do?
20:22:58 <estoppel> lament: he puts it back because he owns it
20:23:02 <asiekierk> i don't
20:23:04 -!- ais523 has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | http://127.0.0.1:8080/../../etc/passwd.
20:23:04 <asiekierk> Aww. You always need to change the topic... :(
20:23:04 <asiekierk> because it's -t
20:23:08 <asiekierk> lol
20:23:14 <asiekierk> that's my script v2
20:23:31 <asiekierk> Oh wait
20:23:34 <asiekierk> gotta fix the spelling
20:23:38 * estoppel drums fingers.
20:23:54 <asiekierk> ok, done
20:23:58 <asiekierk> will restart later
20:24:16 <estoppel> You mean you have a new topic changing script?
20:24:19 <asiekierk> no
20:24:25 <asiekierk> I mean I have a stupid reply on topic change script
20:24:29 <asiekierk> that works on everyone but me
20:24:35 <asiekierk> as in
20:24:35 <asiekierk> <asiekierk> Aww. You always need to change the topic... :(
20:24:41 <asiekierk> but in slight variation form
20:24:45 <estoppel> Wonderful, let's see if I can flood your client off the network.
20:24:52 <ais523> hmm... I just had a brilliant idea
20:24:52 <asiekierk> Aww. You never let me change the topic and always do it yourself... :(
20:24:54 -!- estoppel has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:24:54 <asiekierk> Aww. You never let me change the topic and always do it yourself... :(
20:25:12 <asiekierk> Aww. You never let me change the topic and always do it yourself... :(
20:25:13 <asiekierk> Wow... I don't need to restart mIRC!
20:25:16 <estoppel> Hmm.
20:25:18 <estoppel> Rather too slow.
20:25:20 <estoppel> Oh shit.
20:25:22 -!- estoppel has left (?).
20:25:25 <ais523> it doesn't work with Google, though, let me find a less well-organised website
20:25:28 <Slereah_> It is the severe internet here
20:25:45 -!- estoppel has joined.
20:26:23 -!- asiekierk has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <asiekierk> That's right, i DO look like an idiot!.
20:26:32 <ais523> yay, it works apart from the date
20:26:36 <estoppel> Wait, wait, *look* like?
20:26:37 <asiekierk> Aww. You never let me change the topic and always do it yourself... :(
20:26:42 <estoppel> asiekierk, asiekierk. I'm afraid it's rather more severe than that.
20:26:51 <estoppel> ais523: what is it?
20:26:56 -!- asiekierk has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | <asiekierk> That's right, i AM an idiot!.
20:26:57 <lament> asiekierk: you realize that with a script like that you'd get banned from a bunch of channels.
20:27:03 <asiekierk> it only works on #esoteric
20:27:04 <asiekierk> :P
20:27:13 <asiekierk> and if you want me to remove it
20:27:14 <asiekierk> say so
20:27:17 <asiekierk> As in
20:27:20 <estoppel> He already did.
20:27:20 <ais523> estoppel: http://pastebin.ca/1356726
20:27:26 <estoppel> You removed a script and replaced it with an equally irritating one.
20:27:28 <ais523> replace the time with the current time, and send it to port 80 on esolangs.org
20:27:33 <ais523> I've written an HTTP Kimian quine
20:27:40 <asiekierk> Now try, I think I disabled the script
20:27:41 <estoppel> ais523: hahaha
20:28:10 <ais523> I wanted to do it with Google, but their error page is too complex
20:28:18 <asiekierk> can you try now
20:28:24 <asiekierk> i think i disabled the script-o
20:28:32 <ais523> but I thought "I know, I'll write an HTTP Kimian quine"
20:28:44 -!- asiekierk has changed nick to asie[away].
20:29:19 <ais523> someone other than estoppel: care about my quine
20:29:21 -!- estoppel has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | If there is an asiekierka in the building, please evacuate all brains. Thanks!.
20:29:48 <estoppel> ais523: ** Memory exhausted trying to allocate 6 billion objects
20:29:51 <estoppel> Dumping core
20:29:53 <estoppel> $
20:30:05 <ais523> heh
20:30:22 <ais523> a bit more than 6 billion nowadays, isn't it?
20:30:26 <estoppel> Probably.
20:30:26 <ais523> besides, that was anycast not broadcast
20:30:35 <estoppel> Prologiverse doesn't know that.
20:30:43 <estoppel> "The human population on Earth is greater than 6.7 billion, as of February, 2009"
20:30:45 <estoppel> It's also greater than 3.
20:30:48 <estoppel> How useful.
20:31:00 <estoppel> "As of 2008, humans are listed as a species of least concern for extinction by the International Union for Conservation of Nature."
20:31:20 <ais523> you could always try asking wolfram alpha
20:31:32 <ais523> although the input box is currently just an image of an input box, so it won't be very useful
20:31:41 <estoppel> ais523: ask it for me, since you clearly have access :P
20:31:48 <oerjan> just imagine the answer, duh
20:31:49 <ais523> also, an image of a text box? do they have any idea how unportable that is/
20:32:01 <estoppel> considering the box is completely styled...
20:32:09 <ais523> exactly, even more unportable
20:32:14 <estoppel> not really
20:32:17 <ais523> how will something like that work in w3m
20:32:24 <estoppel> how will images work in w3m
20:32:31 <ais523> images work just fine in w3m
20:32:37 <estoppel> oh, right, framebuffer thingy.
20:32:40 <ais523> although admittedly they aren't embedded in the page
20:32:59 <ais523> not framebuffer, it spawns an external image viewer program if you follow a link to one or choose the option to view one
20:33:59 <estoppel> also, ais523, do you have any ideas on how to utilize 12gb of ram
20:34:20 <ais523> allocating 6 billion objects?
20:34:32 <ais523> actually seeing what Vista is like in a reasonable length of time?
20:34:44 <ais523> memory-caching the whole of Wikipedia apart from the images?
20:35:00 <estoppel> haha
20:35:04 <estoppel> wow, I really could do that last one
20:35:05 <ais523> splitting it into 12000 VMs each of which has a megabyte of memory, each running DOS?
20:35:07 <estoppel> that's just <3
20:35:19 <estoppel> i mean, it wouldn't even slow anything down much
20:35:32 <ais523> no, obviously a memory cache would speed it up
20:35:44 <estoppel> i mean
20:35:44 <estoppel> t
20:35:46 <estoppel> anything else on the system
20:35:50 <Deewiant> Ahh, gotta love functions where the type signature takes up more lines than the definition
20:36:00 -!- kar8nga has joined.
20:36:16 <ais523> Deewiant: I think they should create a Haskell-like like language which deduces the definition from the type signature, rather than the other way round
20:36:33 <Deewiant> ais523: What if it's ambiguous?
20:36:44 <ais523> oh, it usually will be
20:36:53 <ais523> find some solution
20:36:59 <estoppel> it exists
20:37:00 <Deewiant> Pick one at random?
20:37:03 <ais523> at the moment I'm wondering about "do the simplest thing that could possibly work", plus monads
20:37:07 <estoppel> /msg lambdabot @djinn signature
20:37:10 <Azstal> Djinn :) does that
20:37:22 -!- asie[away] has set topic: Divulgations are apples for your words: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | If there is an asiekierka in the building, please evacuate all intelligence. Thanks!.
20:37:24 <Deewiant> Djinn is somewhat crap though
20:37:31 <Azstal> It can't do a lot of things though, yeah
20:37:40 <Deewiant> Can't handle recursive data types
20:37:47 <Deewiant> Which is its most vexing limitation
20:37:57 <Deewiant> No lists, for instance.
20:38:00 <ais523> <C++ IAQ> The idea to overload "bitwise exclusive or" to mean "power" is just stupid. I wonder where they get these ideas. It's as if someone decided to overload "bitwise left shift" to mean "print to file".
20:38:36 <Deewiant> ais523: Surely that's not from the IAQ?
20:38:45 <ais523> sorry, FQA
20:38:56 <ais523> it's easy to get those muddled
20:38:57 <Deewiant> Thought so :-)
20:39:05 <ais523> besides, the IAQ is for C
20:39:20 <Deewiant> There's a comp.lang.c++ IAQ
20:39:25 <ais523> the FQA is trying to be simultaneously useful and sarcastic, whereas the IAQ is just a joke
20:41:15 <fizzie> Could you stop with the topic stuff? And what does this script thing do?
20:42:18 <asie[away]> wait, what
20:42:21 <asie[away]> there's no script
20:42:46 <oerjan> the script is a lie
20:45:17 <estoppel> "Maximum operating altitude: 10,000 feet "
20:45:19 <estoppel> — Mac Pro specs.
20:45:35 <ais523> I love datasheets
20:46:05 <estoppel> "Storage temperature: -40° to 116° F (-40° to 47° C) "
20:46:13 <estoppel> Aww but I was gonna cryogenically preserve my mac...
20:46:26 <estoppel> To be with me when I wake up in 30,000AD.
20:47:18 -!- calamari has joined.
20:47:29 <Deewiant> I've put a GPU in a freezer a couple of times, to cool it down
20:47:58 <estoppel> Yow, the mac pro is 18.7 kg.
20:48:02 <estoppel> That's like almost as heavy as me.
20:48:22 <ais523> you weigh a lot more than that, I hope
20:48:28 <estoppel> That was a joke.
20:48:38 <estoppel> But I'm ridiculously light, something like 30kg.
20:49:54 -!- atrapado has joined.
20:52:53 <estoppel> Maybe I could make an in-memory markov chain of wikipedia with those 12gb.
20:53:02 <estoppel> Because fungot isn't quite fast enough!
20:53:03 <fungot> estoppel: psykotic every pixel is sacred. just me, or i managed to get nothing? how about making a language?
20:53:10 <ais523> estoppel: what, the whole wikipedia?
20:53:17 <ais523> not just talk?
20:53:18 <estoppel> Sure.
20:53:19 <ais523> go for it
20:53:25 <ais523> besides, how did you end up with 12GB anyway
20:53:38 <estoppel> "Having 12GB" is a boxed future value.
20:53:50 <estoppel> I'm justifying my dirty capitalist tendencies, see.
20:53:55 <ais523> get yourself 56GB, then install qmail
20:54:00 <estoppel> haha
20:54:04 <ais523> without setting resource limits
20:54:17 <estoppel> the mobo only supports up to 32GB I think
20:55:47 <estoppel> Also, having your backup drive the same size as your main drive is a bit silly, isn't it.
20:56:06 <ais523> why, should it be bigger or smaller?
20:56:29 <estoppel> Smaller, so you can use your drive and have more than one backup at a time.
20:56:37 <estoppel> Of course, nobody actually uses up all their drive.
20:57:17 <ais523> I've got close on a couple of computers which were basically full anyway
20:57:28 <ais523> on the one that ran Windows 3.1, I was saving things on floppies to save hard disk space
20:57:37 <estoppel> Right, but we're talking 1TB here.
20:57:49 <estoppel> I have a ton of crap I don't need on here and only 120GB used
20:58:03 <ais523> well, find your terabyte's worth of floppies, and use your hard drive to back them up
20:58:10 <estoppel> no no no
20:58:13 <estoppel> terabyte tapes
20:58:13 <estoppel> duh
20:58:47 -!- olsner has joined.
20:58:53 <estoppel> ais523: also, I don't think having ~1000 floppies is _that_ odd...
20:59:02 <ais523> well, I only had 40 or so
20:59:13 <ais523> besides, a TB of floppies is more like 500000
20:59:23 <estoppel> err, right
20:59:24 <estoppel> 1000 would be a gb
20:59:26 <estoppel> stupid me
20:59:33 <ais523> floppies store 2 MB unformatted
20:59:40 <ais523> 1.44 MB with the typical DOS/Windows format
20:59:53 <ais523> although Linux floppy disk formats store up to about 1.7 MB, nobody uses them
21:00:00 <ais523> because nobody uses floppy disks nowadays
21:03:19 -!- Hiato has quit (Connection timed out).
21:05:32 -!- FireFly has quit ("Later").
21:05:38 -!- asie[away] has quit (Read error: 110 (Connection timed out)).
21:06:11 <pikhq> Except for those random Linux-on-a-floppy distros...
21:06:19 <ais523> well, yes
21:06:29 <ais523> but they're hardly formatted with the Linux-specific formats
21:06:35 <ais523> as that would be a chicken-and-egg problem
21:06:50 <ais523> making them bootable would probably be tricky, if at all possible
21:06:55 <pikhq> dd and rawrite can write such disk images just fine.
21:07:14 <pikhq> And the BIOS can load the boot sector quite fine.
21:07:20 <pikhq> s/fine/well/
21:07:55 * pikhq made a Linux-on-a-floppy distro out of boredom a bit before starting on Brainfuck
21:07:56 <ais523> the problem is that the boot sector isn't separated from the others the way it usually is
21:09:00 <pikhq> Granted, the boot sector in question is the first 512 bytes of a pre-2.6 Linux kernel... Still, the BIOS can handle the 1.7MB floppies without any trouble.
21:09:26 <estoppel> Boot sectors can just be 'jmp somewherewithmoreroom', no?
21:09:47 <pikhq> No.
21:09:54 <estoppel> Oh.
21:10:10 <pikhq> When the boot sector is run, the only things in memory are the boot sector itself and the BIOS.
21:10:21 <pikhq> And the BIOS is only in memory because it's ROM.
21:10:41 <estoppel> Well, okay, then, "readrestoffloppydisk, jmp somewherewithmoreroom"
21:11:14 <pikhq> Generally "read some bytes from the floppy disk, jmp rightafterthebootsector".
21:11:53 <ais523> pikhq: but rightafterthebootsector is in the "wrong" place on a Linux-formatted disk
21:12:41 <pikhq> ais523: The Linux boot sector, IIRC, starts running the floppy disk manually rather quickly.
21:12:43 <ais523> anyway, I invented a sorting algorithm a couple of nights ago that I haven't come across before
21:12:47 <ais523> but may have been invented independently
21:12:59 <ais523> it involves insertion sort, but into a deterministic skiplist rather than an array
21:13:17 <ais523> I think it's always n log n, but slower than mergesort in terms of number of comparisons despite being the same order
21:13:35 <pikhq> Something like, right after loading the very first track...
21:14:17 <pikhq> (the first track is still in the same place; Linux gets more space out of those floppies by packing the tracks in closer)
21:14:28 <oerjan> "deterministic skiplist"?
21:14:33 <ais523> the second track is in a different place
21:14:48 <ais523> oerjan: skiplists normally use some form of randomisation to do their skippy pointers
21:14:59 <ais523> it's possible to do it deterministically with the same computational order
21:15:06 <ais523> although slower whilst maintaining the same order
21:15:47 <oerjan> well i don't know skiplists, but insertion sort into a balanced tree is n log n afair
21:16:18 <ais523> balanced trees and skiplists are kind-of similar
21:16:22 <ais523> but how can you not know skiplists?
21:16:45 <Deewiant> Easily; I only encountered them a few months ago, I think, but I've known of trees for years
21:17:26 <estoppel> [[ There are no guarantees in any Scheme standard for broken Scheme code
21:17:26 <estoppel> to "break properly" in any sense of the word. (This is one reason why
21:17:27 <estoppel> I, as a working programmer, do not use Scheme anymore.) ]]
21:17:29 <estoppel> ^ what
21:17:31 <oerjan> i don't actually have _that_ much CS education
21:17:38 <estoppel> you must break CORRECTLY!
21:17:48 <ais523> estoppel: that sort of programmer goes on to invent langs like OCaml
21:17:59 <oerjan> just one semester with data structures, 19 years ago or so
21:18:18 <oerjan> (two semesters with various)
21:18:24 <lament> when you program for a living, things like breaking correctly are pretty important
21:18:53 <ais523> oerjan: you don't need education
21:19:03 <ais523> although admittedly skiplists are clever enough to be unlikely to be invented by accident
21:19:08 <estoppel> lament: but that doesn't even make sense
21:19:24 <lament> well, take microsoft silverlight
21:19:27 <pikhq> oerjan: You have a math education, and informal knowledge of computers. That alone is enough to do quite well in CS...
21:19:29 <estoppel> and a standard trying to regulate handling things that don't meet its specification of a document/program is preposterous
21:19:39 <pikhq> s/computers/computer programming/
21:19:40 <lament> sometimes when you feed it incorrect stuff, it simply shows a blank page
21:19:53 <lament> no thrown exception, no nothing, no indication of where the error may be.
21:19:53 <estoppel> it's all implementation issues
21:20:01 <estoppel> a standard mandating this would be idiotic
21:20:15 <pikhq> ais523: I also don't know skiplists.
21:20:25 <pikhq> Granted, I'm a freshman CS student, so...
21:20:40 <ais523> estoppel: it reminds me of people getting annoyed that non-ANSI-compliant implementations of C-like languages were breaking the C standard by defining STDC
21:20:56 <estoppel> hah
21:21:07 <ais523> there is something very wrong with that logic
21:21:26 <lament> ais523: haha
21:22:50 <Deewiant> What's wrong with that logic?
21:23:05 <ais523> <C++ FQA> FAQ: You can't, and you usually shouldn't.
21:23:16 <ais523> Deewiant: it's wrong on at least two levels
21:23:31 <ais523> as for explaining exactly what's wrong, I'm tired and don't feel like going through the arguments
21:23:36 <ais523> maybe someone else will
21:27:42 <estoppel> brb
21:28:11 <ais523> biarb
21:30:47 <Deewiant> Yay for documentation
21:30:49 <Deewiant> 1 files changed, 441 insertions(+), 208 deletions(-)
21:33:04 -!- FireyFly has joined.
21:33:34 <oerjan> rhubarb
21:33:54 * ais523 catches oerjan in a butterfly net -----\XXXXX/
21:34:15 <ais523> I have decided that the salient feature of the butterfly net is that it is unexpected
21:34:28 <oerjan> and here i was being nice and not swatting FireyFly ;´(
21:34:40 <FireyFly> :D
21:34:42 <ais523> don't worry, it's a loving careful butterfly net
21:34:44 <FireyFly> Hm
21:34:59 <comex> so, I'm going to try to use acovea to optimize the morse code thing
21:35:10 <comex> http://www.coyotegulch.com/products/acovea/
21:35:18 <comex> not that it will probably have much effect
21:35:21 <ais523> what's acovea?
21:35:59 <oerjan> ais523: i just read http://www.reddit.com/r/programming/comments/838pv/evolving_faster_haskell_programs/ which uses it
21:36:53 <comex> oerjan: guess where I found it
21:37:05 <oerjan> comex: i already did :D
21:41:20 * comex is trying to paste between one vim and another vim
21:41:34 <comex> yes, I should open the files in the same vim but what if I don't want to
21:41:38 <comex> konsole doesn't let me copy it :x
21:41:49 <ais523> :set paste?
21:42:04 <ais523> and control-shift-c / control-shift-v are usual GUI copy/paste for console programs
21:47:17 <comex> yeah, it didn't work properly
21:47:19 <comex> now it does
21:47:40 -!- KingOfKarlsruhe has joined.
21:47:40 <ais523> set paste's a good trick to know in vim, it stops it trying to be too clever when pasting stuff in
21:48:13 <comex> ais523: is it possible for me to have vim share stuff between two instances?
21:48:22 <comex> or otherwise work with multiple files, say, across screens
21:48:36 <ais523> vim generally isn't very good with multiple-process stuff
21:48:52 <ais523> in fact, that's what persuaded its main maintainer to switch to using Emacs
21:49:08 <comex> http://vim.wikia.com/wiki/Copy_and_paste_between_Vim_instances <-- ack that's ugly
21:49:09 <ais523> for the specific case you mention, though, I wouldn't be surprised if there was a way
21:50:05 <fizzie> There's that clientserver thing, which can then be scripted. But it only works with a $DISPLAY.
21:50:22 <fizzie> (Since it communicates via X messages.)
21:51:18 <ais523> comex: the * register seems to be mentioned too
21:51:27 <ais523> as shared between vim instances, and presumably everything else
21:51:29 <ais523> does that work?
21:51:51 -!- BeholdMyGlory has joined.
21:52:07 <comex> ow
21:52:13 <comex> whenever I type "~ it beeps
21:52:17 <comex> and is sad
21:52:19 <ais523> ok, that's interesting
21:52:24 <oklopol> ais523: anyway, I invented a sorting algorithm a couple of nights ago that I haven't come across before <<< i don't know if this has a name, but, as oerjan hinted, the idea is well-known, basically you can do that with any data structure that is a function from indices to values, and can supply you with predecessors and inserting-in-the-middle both in O(log n) time.
21:52:25 <ais523> why "~ in particular? what's that meant to do?
21:52:31 <oklopol> did that come through?
21:52:41 <ais523> oklopol: yep, i was trying to work out what the advantages and disadvantages were
21:52:57 <ais523> the advantage, I think, is that you get good computational orders for almost all common operations
21:53:12 <ais523> insert, insert-sorted, delete, append, nth are all O(log n)
21:53:14 <oklopol> i met skiplists in high school, and considered them trivial, but didn't hear their name; have heard about them many times since, and never bothered to check how they work, but now that you said something about it being weird oerjan didn't know it
21:53:17 <oklopol> i had to check them out
21:53:18 <ais523> iterate is O(n)
21:53:29 <oklopol> but, as already mentioned, i did know them
21:53:50 <comex> my vim doesn't have x11, wtf
21:53:53 <ais523> I like balanced skiplists, even if they're slower
21:54:00 <ais523> comex: well, obviously, you need gvim
21:54:08 <ais523> although IMO, gvim's an oxymoron waiting to happen
21:54:13 <ais523> as it misses the main point behind vim
21:54:34 <oklopol> data structures tend to be a bit too easy to visualize to be all that stimulating
21:54:42 <ais523> oklopol: solved Nim yet, by the way?
21:54:51 -!- MigoMipo has left (?).
21:54:56 <comex> ais523: I don't want gvim, I want a terminal
21:55:02 <ais523> if you can manage it for yourself, and I see no reason why you shouldn't, and you spot the pattern, prepared to be stunned
21:55:06 <ais523> comex: an X11 terminal?
21:55:15 <comex> I want konsole
21:55:17 <comex> :p
21:55:22 * ais523 tries to visualise a vim specifically designed for xterm/konsole/whatever
21:55:22 <comex> but I want vim with +X11
21:55:25 <comex> which debian apparently doesn't have
21:55:34 <ais523> does anyone else?
21:55:38 <comex> probably
21:55:39 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
21:55:53 <comex> % apt-get source vim
21:56:09 <ais523> sudo apt-get build-dep vim
21:56:20 <ais523> that step will save you a lot of trouble
21:56:25 <ais523> oh, and build-essential if you don't have it already
21:56:29 <fizzie> vim-gtk is very +X11.
21:56:39 <fizzie> (The Debian package with that name, that is.)
21:59:13 <fizzie> Might of course be more than you need; it does enable +perl, +python, +ruby and +tcl while it's at it.
21:59:14 <oklopol> ais523: sadly, no. i did fix the error, but i didn't really have time to look into it today, i dedicated this day for doing absolutely nothing, because i'm a bit concerned about my mental health because of all this exam flood :P
21:59:31 <oklopol> not that i'm having any issues really, i just feel like i should
21:59:35 <ais523> that's a great thing to dedicate a day for
21:59:39 <oklopol> yes
21:59:41 <comex> oh, no need
21:59:42 <Deewiant> comex: gvim?
21:59:49 <comex> yeah, what you said
21:59:51 <Deewiant> It's a separate package on occasion
21:59:58 <comex> now that I have gvim installed,
22:00:03 <comex> I can just run vim and get console but +X!!
22:00:04 <comex> *X11
22:00:10 <Deewiant> Amazing
22:00:17 <comex> heh
22:01:01 <fizzie> Deewiant: It's called vim-gtk on Debian, but there's a "gvim" virtual-package for it, implemented by the various GUIfied versions of vim; vim-lesstif, vim-gtk, vim-gnome.
22:01:24 <comex> see
22:01:27 <ais523> Debian go to a lot of trouble to make the package manager Do The Right Thing
22:01:33 <comex> I don't want to use gvim because
22:01:34 <ais523> even though the result normally ends up rather confusing
22:01:44 <comex> I'll get used to the gui
22:01:52 <comex> which is (1) slower and (2) not going to work over ssh
22:02:08 <ais523> makes sense
22:02:15 <ais523> although I use non-GUI vim more often than GUI vim
22:02:21 <ais523> working over ssh is vi's killer feature, really
22:02:23 <Deewiant> I prefer the GUI myself
22:02:31 <Deewiant> Not sure why, though
22:02:50 <ais523> although a vi feature not a vim feature, most computers have neither vim nor emacs installed, but most ssh-intoable computers have vi
22:02:51 <Deewiant> I have all the menus and scrollbars and whatnot disabled, apart from the tab bar
22:02:59 <fizzie> Yes, but all GUI-enabled Vim binaries can run in a terminal. If you install vim-gtk (for example) you just get gvim and vim symlinks into the vim.gtk binary.
22:03:31 <comex> ais523: the computers I generally want to ssh into all have vim
22:03:48 <ais523> does normish have vim?
22:03:50 <comex> fizzie: yes, I noticed that above :u
22:04:11 <comex> ais523: well, it would be cool if I could get vim to open files remotely like kate
22:04:22 <fizzie> Yes, and I mentioned vim-gtk before Deewiant, yet you're all "what you said".
22:04:43 <comex> fizzie: I wasn't paying attention but rather busy compiling vim
22:04:46 <comex> before I realized I didn't need to
22:04:48 <comex> :p
22:05:02 <comex> ais523: in many circumstances (slow connection!!) editing remotely is a bad idea
22:05:07 <ais523> hmm.. apparently normish does have vim
22:05:20 <ais523> emacs has TRAMP to open files remotely, I'm not sure if there's a vi equivalent
22:05:33 <comex> hey look
22:05:35 <comex> http://ubuntu-tutorials.com/2007/08/31/vim-tip-of-the-week-august-31-2007-remote-editing/
22:05:36 <comex> you can do it
22:05:38 <comex> that's ridiculous
22:05:39 <comex> :p
22:05:40 <ais523> although the real reason not to edit remotely is because estoppel tends to reboot the system you're editing on at the time
22:08:12 <comex> I wish there was a cross-app way to do that :/
22:08:23 <comex> there's FUSE, kioslaves, and vim has its own thing
22:08:31 <comex> where the fuck is a standard when you need it
22:08:35 <Deewiant> emacs has its own thing too
22:08:48 <ais523> KDE has a standard way of its own, that's standard among KDE apps
22:08:51 <ais523> that's how Kate manages it
22:09:00 <Deewiant> Yes, that's kioslaves
22:10:37 <comex> % vim scp://xemocne@lyokoscan.net/send_slr
22:10:39 <comex> yay, it works
22:10:41 <comex> :u
22:10:43 <fizzie> There's also gnomevfs for that.
22:10:50 <fizzie> All Gnome apps do it with it.
22:11:09 <oklopol> is there like a book or something i could read so i'd understand even half of what you guys talk about?
22:11:25 <ais523> oklopol: possibly
22:11:36 <ais523> playing around with a Linux-based or UNIX-based system should teach it to you pretty quickly
22:11:38 <comex> would be cool if I could just use standard unix commands remotely
22:11:49 <ais523> comex: !ssh
22:11:53 <comex> good point
22:11:54 <ais523> well ! newline ssh
22:11:58 <ais523> or is it without the newline
22:12:02 <ais523> I can never remember
22:12:04 <ais523> but that's the vim way
22:12:08 <comex> but ftp and such
22:12:12 <ais523> why reimplement everything your shell can already do?
22:12:15 <comex> FUSE is a nice hack but has some problems such as
22:12:20 <comex> I didn't mean from vim
22:12:25 <oklopol> ais523: well ubuntu taught me nothing at least
22:12:27 <fizzie> And Vim's version is actually rather based on external commands; it handles dav with cadaver, ftp with ftp, http with "curl -o"/"wget -q -O"/"fetch -o", scp with "scp -q" and so on.
22:12:33 <comex> such as no programs expecting a very slow filesystem
22:12:40 <ais523> oklopol: well, it's designed to not have to use the console
22:12:48 <oklopol> i used the console all the time
22:12:52 <comex> fizzie: great, that's just what I want. what I don't want is having to copy temporary files manually
22:12:55 <ais523> so how did you not come across things like vi
22:13:01 <oklopol> ais523: well i did
22:13:07 <comex> I've used nano up to now :u
22:13:12 <oklopol> that's the 30% i do understand :P
22:13:12 <ais523> so why don't you understand half of what we talk about?
22:13:19 <ais523> what in particular?
22:13:24 <estoppel> 21:12 ais523: why reimplement everything your shell can already do?
22:13:25 <ais523> probably a one-sentence explanation would be enough
22:13:28 <estoppel> that's vim's business
22:13:34 <oklopol> well dunno, i wasn't being very exact.
22:13:36 <ais523> estoppel: what, reimplementing things?
22:13:39 <estoppel> yep.
22:13:43 <estoppel> vim isn't very vi
22:13:45 <ais523> I thought its whole point was to defer to pre-existing programs, or is that vi?
22:13:46 <comex> http://www.wana.at/vimshell/
22:13:48 <comex> whoa
22:13:53 <estoppel> Point.
22:14:14 <estoppel> I like ed, am I the only one?
22:14:17 <fizzie> vimshell is a patch to Vim sources, though.
22:14:21 <estoppel> I mean, I actually use ed sometimes.
22:14:22 <ais523> estoppel: presumably vi syntax highlighting would work by piping the program through an external syntax highlighter, then before save piping it through something to strip out the ansi colour code?
22:14:24 <estoppel> And like it.
22:14:32 <ais523> estoppel: I use sed for editing on occasion
22:14:34 <comex> though I don't need that unless I want to edit and shell at the same time
22:14:37 <comex> ...yo dawg
22:14:44 <fizzie> I've done pretty much "shell in a vim window" with vim and the perl-scripting add-on, to run MATLAB/Octave in a vim window so I don't need MATLAB's horrible GUI.
22:14:45 <estoppel> ais523: The correct way is to realise that buffer display does not have to be what you edit
22:14:56 <estoppel> and have two layers: the screen display, and the buffer display, and a function mapping between the two
22:15:00 <ais523> by the way, can anyone here think of a way to combine yo dawg with I herd you liek mudkips?
22:15:04 <ais523> they seem to work perfectly together
22:15:05 <estoppel> Thus, the screen display is piped through a highliter, but the buffer display is the file
22:15:15 <ais523> Yo dawg, I herd you liek mudkips so...
22:15:23 <ais523> I'm just not sure how to finish the sentence
22:15:24 <estoppel> ais523: "Yo dawg, I herd u liek mudkips, so I put a mudkip in your mudkip so you can breed while you... update your pokedex."
22:15:32 <estoppel> Excuse the fail.
22:15:32 <comex> ais523: I hereby submit "complete that sentence" as an Enigma puzzle
22:15:37 <estoppel> comex: <3
22:15:42 <ais523> comex: you need to submit an answer too
22:15:42 <oerjan> ais523: hm i have a vague impression i've seen something like that on reddit
22:15:47 <ais523> in fact, the correct answer
22:15:59 <Deewiant> oerjan: Or on xkcd? http://xkcd.com/550/
22:16:14 <comex> that xkcd sucks
22:16:17 <comex> it's not funny
22:16:27 <estoppel> s/that //;s/$/ most of the time/
22:16:39 <oerjan> no something closer to what ais523 said
22:16:45 <Deewiant> http://www.flickr.com/photos/brownpau/2459879511/
22:17:07 <Deewiant> Ah, here we go
22:17:09 <Deewiant> http://www.reddit.com/r/funny/comments/7qyc6/a_brilliantly_subtle_yo_dawg/c075d8z
22:17:20 <estoppel> i hate the one in the title of that submission
22:17:25 <estoppel> the one in the comments had no text
22:17:27 <estoppel> it was deliciously zen
22:18:20 <estoppel> http://i42.tinypic.com/29w1h1e.jpg
22:19:10 <ais523> I didn't realise that yo dawg and I accidentally the whole internet were current at the same time
22:19:24 <oerjan> Deewiant: ok but i hadn't seen that one
22:19:42 <estoppel> ais523: it's i accidentally the noun
22:19:43 <estoppel> not the internet
22:19:49 <oklopol> isn't the accidentally thing from like the 60's
22:20:04 <comex> http://www.steike.com/code/useless/zip-file-quine/'
22:20:32 <ais523> estoppel: ah, pity
22:20:38 <ais523> the whole internet seems to fit it pretty well
22:20:39 <oerjan> the internet no longer a noun! film at 11
22:22:14 <oklopol> okay i didn't like the new xkcd, but probably you've just brainwashed me
22:22:27 * oerjan still thinks steike.com is funny as "steike" means something like "darn" in his dialect
22:23:39 <Deewiant> darn.com isn't funny
22:23:46 * oerjan swiftly removes oklopol's brain and drops it in the laundry
22:24:01 <Deewiant> nor hitto.com
22:24:21 * ais523 switfly retrieves oklopol's brain and puts it in a museum
22:24:34 <oerjan> Deewiant: hitto is the finnish equivalent?
22:25:18 <Deewiant> oerjan: s/the/a/
22:25:23 <Deewiant> or something like it, anyway
22:25:54 <Deewiant> I think 'hemmetti' would be closer but there's no hemmetti.com
22:26:52 <oerjan> oh hell.no
22:28:46 * oerjan swats ais523's switfly -----###
22:29:39 <comex> http://www.youtube.com/watch?v=8mq_96Entks
22:31:40 <calamari> has there already been a language where the current instruction set depends on the previous instructions executed (or possibly listed in the source code) up to that point?
22:32:06 <estoppel> I made one of thos
22:32:06 <estoppel> e
22:32:13 <estoppel> it's not very interesting
22:32:15 <estoppel> just a trivial cypher
22:32:18 <estoppel> calamari: malbolge...?
22:32:37 <calamari> isn't the instruction set always the same?
22:32:37 * oerjan picks up an e from the floor
22:33:53 <calamari> (for malbolge)
22:34:03 <oerjan> oklopol: apply now and you can be an oklopole!
22:34:15 <estoppel> calamari: the instruction executed is cyphered
22:34:36 <calamari> right but theset of available instuctions remains constant
22:34:40 <oerjan> oh wait you have no brain at the moment
22:34:43 <calamari> *the set
22:35:41 <oklopol> braaaaains
22:35:48 * oerjan paints the e pink and drops it off at the museum beside oklopol's brain
22:36:00 <oklopol> the museum of what exactly?
22:36:14 <oerjan> now you can try to TAKE OVER THE WORLD
22:36:16 <ais523> oklopol: brilliant brains that need preserving but were somehow dropped in the laundry
22:36:18 <calamari> as far as I know, it's just a matter of figuring out the encoding, but you could always execute each instruction at each set.. right?
22:37:06 <calamari> but if there were multiple sets of instructions, perhaps not all complete, that were chosen deterministically based somehow on the past.. it might be kinda interesting
22:37:09 <oklopol> ais523: is that a big museum?
22:37:26 <ais523> probably not
22:37:42 <calamari> if done properly the code would be easy to read but hard to write
22:38:05 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
22:38:07 -!- oklopol has joined.
22:39:08 * oerjan sneaks the pink e and the brain out of the museum and return them to oklopol
22:39:25 <oerjan> *returns
22:40:20 -!- oklopol has changed nick to oklopole.
22:40:36 * oerjan hangs up a lampshade for better light /====\
22:41:10 <oklopole> so
22:41:19 <oklopole> a few days ago
22:41:20 <oklopole> i realized
22:41:24 <comex> calamari: and perhaps also depending on data
22:41:31 <calamari> now that I think on it more, it'd have to be based on execution, because otherwise you could write macros
22:41:35 <oerjan> that your space key is broken
22:41:38 <oklopole> i want to study gene biology, physics and psychology
22:41:48 <oklopole> am i mad?
22:41:49 <ais523> oklopole + psychology?
22:41:54 <oklopole> yes! :D
22:41:57 <ais523> you aren't mad, but you'll drive other people mad that way
22:42:02 <ais523> or sane, if you so prefer, but mad's more fun
22:42:09 <oerjan> oklopole: yes
22:43:27 <estoppel> oklopology
22:44:02 <oklopole> i probably wouldn't enjoy actually studying psychology at uni, it seems somewhat trivial, but i would love to know what exactly psychology knows
22:44:07 <oerjan> it's oklopological!
22:44:15 <estoppel> psychology is um... mostly bullshit.
22:44:18 <oklopole> the other two are just actually interesting
22:44:39 <oklopole> estoppel: yeah, i doubt it is, although i agree.
22:44:44 <estoppel> lol wat
22:44:52 <oklopole> that made no sense?
22:44:59 <lament> oklopole: me too
22:45:05 <lament> oklopole: if you find a good textbook, tell me!
22:45:08 <oklopole> lament: you too what?
22:45:15 <lament> i too would like to know psychology
22:45:18 <oklopole> ah.
22:45:40 <lament> unfortunately i think the way to do that is to subscribe to their journals and read their shitty papers, i certainly don't want to do that
22:45:53 <lament> but a nice up-to-date textbook would be nice
22:46:06 <oklopole> a friend of mine started studying psychology now that he's doing his phd and doesn't have much cs courses, got me a bit interested too
22:47:05 <comex> http://qoid.us/screenshots/morse.png <-- why does gvim have such a god-awful default coor scheme
22:47:07 <oklopole> yeah raeding papers probably wouldn't be worth it, especially as i'm pretty sure psychology at least gets a lot of bullshit, even though i doubt the actual subject is characterized by it.
22:47:13 <oklopole> *reading
22:47:29 <estoppel> comex: that's for a black background
22:47:38 <estoppel> you have to :set background=white or something
22:47:39 <comex> estoppel: it's gvim
22:47:40 <comex> it should know
22:47:41 <estoppel> to get it looking ok
22:47:44 <estoppel> it doesn't
22:48:27 <comex> maybe it's just my eyes
22:48:39 <estoppel> no, that is awful
22:48:41 <estoppel> set the bg right
22:48:44 <oklopole> more like *whole subject
22:48:46 <comex> even bg=light had some too-bright colors imo
22:48:53 <comex> which I changed
22:49:04 <comex> ^ other reason not to use remote vim
22:58:46 <fizzie> At some point I tried to use gvim because it can do more colours; then I just downloaded inkpot.vim to utilize the rxvt-unicode 88-color mode (and the screen/xterm 256-color mode) properly.
22:59:21 <fizzie> I guess many people might not like those colours either, but I'm odd like that; they look something like http://zem.fi/~fis/termcolors.png
23:11:01 -!- tombom has quit (No route to host).
23:14:32 -!- jix has joined.
23:25:24 -!- ais523 has changed nick to ais523__.
23:25:37 -!- ais523__ has changed nick to ais523.
23:25:54 * oerjan watches the ais523 time anomaly
23:30:15 <Deewiant> What does it mean to have a gigabit ethernet controller with a 10/100 megabit physical layer device?
23:30:45 <oerjan> black magic.
23:31:18 <Robdgreat> there's sorcery afoot
23:31:22 <Deewiant> I mean, doesn't that mean that it can still only transfer at most 100 Mbit/s through the port?
23:31:37 <Deewiant> In which case what's the point of having a gigabit controller?
23:31:43 <Robdgreat> I say bottle, you say neck! Bottle!
23:31:52 <Robdgreat> >.>
23:32:13 <Robdgreat> wow, it's getting close to time for me to gtfo
23:33:19 <oerjan> that sounds like bad timing
23:33:40 <oerjan> since you just started talking
23:36:16 -!- kerlobot has joined.
23:36:28 <kerlo> SL
23:36:40 <oerjan> GP
23:36:45 <kerlo> $eval (SL)
23:36:58 <kerlo> If at first you don't succeed...
23:37:00 <kerlo> %eval (SL)
23:37:01 <kerlobot> (SL)
23:38:07 <ais523> %eval (+ 2 2)
23:38:07 <kerlobot> (+ 2 2)
23:38:15 <ais523> ok, so it isn't running Lisp
23:38:18 <ais523> %eval Hello, world!
23:38:19 <kerlobot> Syntax error
23:38:20 <Robdgreat> oerjan: I meant with regards to work
23:38:34 <kerlo> I recommend Church numerals, or whatever you call those things these days.
23:38:59 <oerjan> House of Worship numerals?
23:39:16 <kerlo> %show
23:39:31 <kerlo> Thereby showing that I don't remember how this thing works.
23:39:40 -!- atrapado has quit ("Abandonando").
23:40:03 <kerlo> %what
23:40:04 <kerlobot> input
23:40:07 <kerlo> Great.
23:40:11 <oerjan> %eval (lambda (lambda lambda) (lambda lambda)) (lambda lambda lambda)
23:40:12 <kerlobot> Syntax error
23:40:24 <kerlo> You need more parentheses.
23:40:32 <oerjan> oh
23:40:39 <oerjan> %eval ((lambda (lambda lambda) (lambda lambda)) (lambda lambda lambda))
23:40:39 <kerlobot> ((lambda (lambda lambda) (lambda lambda)) (lambda lambda lambda))
23:40:53 <kerlo> %eval ((lambda (lambda) (lambda lambda)) (lambda (lambda) (lambda lambda)))
23:40:53 <kerlobot> ((lambda (lambda) (lambda lambda)) (lambda (lambda) (lambda lambda)))
23:40:57 <kerlo> Wow.
23:41:07 <ais523> %eval ((lambda (x) (x x)) (lambda (x) (x x)))
23:41:08 <kerlobot> ((lambda (x) (x x)) (lambda (x) (x x)))
23:41:15 <kerlo> Oh, it's not called lambda.
23:41:17 <ais523> kerlobot doesn't seem to evaluate anything
23:41:21 <ais523> just spout it back
23:41:21 <kerlo> It's called l.
23:41:29 <oerjan> it's a lazy evalbot
23:41:36 <ais523> %eval ((l (x) (x x)) (l (y) (y y)))
23:41:37 <kerlobot> ((IT IS LOOP SORRY) (l (y) (y y)))
23:41:41 <kerlo> %eval ((l (l) (l l)) (l (l) (l l)))
23:41:41 <kerlobot> ((IT IS LOOP SORRY) (l (l) (l l)))
23:42:00 <ais523> ugh, that reminds me of Mathematica error messages
23:42:13 <kerlo> Does it?
23:42:13 <ais523> they just get embedded into the expression instead of a result and it keeps on evaluating
23:42:16 <kerlo> Ah.
23:42:43 <kerlo> %temp (l (2) (l (f x) (f (f x))))
23:42:52 <kerlo> %reset
23:42:57 <kerlo> %temp ((l (2) (l (f x) (f (f x)))) input)
23:43:00 <kerlo> %eval 2
23:43:01 <kerlobot> [l (f x) (f (f x))]
23:43:15 <kerlo> %eval (2 2 2)
23:43:15 <kerlobot> [l (f x) (f (f x))]
23:43:24 * kerlo blinks
23:43:34 <kerlo> %reset
23:43:42 <ais523> (2 2) should be 4 in Church numerals
23:43:47 <ais523> %eval (2 2)
23:43:48 <kerlobot> (2 2)
23:44:18 <kerlo> %reset
23:44:20 <kerlo> %temp ((l (2) input) (l (f x) (f (f x))))
23:44:24 <kerlo> %eval 2
23:44:24 <kerlobot> [l (f x) (f (f x))]
23:44:30 <kerlo> %eval (2 2 2)
23:44:31 <kerlobot> ([l (f x) (f (f x))] ((l (f x) (f (f x))) (l ((l (f x) (f (f x))) x) ((l (f x) (f (f x))) ((l (f x) (f (f x))) x)))))
23:44:35 <kerlo> Wow.
23:44:42 <kerlo> What is that?
23:44:56 <kerlo> Want me to curry it?
23:44:59 <kerlo> %reset
23:45:18 <kerlo> %temp ((l (2) input) (l (f) (l (x) (f (f x)))))
23:45:24 <kerlo> %eval 2
23:45:24 <kerlobot> [l (f) (l (x) (f (f x)))]
23:45:32 <kerlo> %eval ((2 f) x)
23:45:33 <kerlobot> (f (f x))
23:45:36 <kerlo> %eval (((2 2) f) x)
23:45:37 <kerlobot> ((l (((l (f) (l (f) (f (f f)))) f)) (((l (f) (l (f) (f (f f)))) f) (((l (f) (l (f) (f (f f)))) f) ((l (f) (l (f) (f (f f)))) f)))) x)
23:45:41 <kerlo> Aaa.
23:45:53 <kerlo> %eval (((2 2) F) X)
23:45:54 <kerlobot> ((X (X X)) ((((l (f) (l (X) (f (f X)))) X) X) (((l (f) (l (X) (f (f X)))) X) X)))
23:46:00 <kerlo> Impressive, no?
23:46:14 <kerlo> Still, what the heck is it doing?
23:46:41 -!- kerlobot has quit (Remote closed the connection).
23:48:32 * kerlo attempts to run it on Normish, but just gets a bunch of "that file doesn't exist"
23:49:09 <kerlo> -bash: ./sillylisp: No such file or directory
23:49:23 <kerlo> The thing is, though, ./sillylisp exists.
23:49:29 <estoppel> That means it's wrong.
23:49:31 <estoppel> The executable, that is.
23:49:34 <estoppel> Run it under 32-bit emulation.
23:49:46 <kerlo> How do I do that?
23:49:55 <estoppel> Uh.
23:49:59 <ais523> I assume it's chmodded executable
23:50:05 <estoppel> The utility is called...
23:50:12 <ais523> what does "file ./sillylisp" do?
23:50:15 <estoppel> kerlo: linux32.
23:50:19 <estoppel> ais523: no, it is 64 bit v s 32 bit
23:50:24 <estoppel> I know because I've had the 100% same problem on a slicehost
23:50:31 <kerlo> sillylisp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped
23:50:34 <estoppel> see?
23:50:36 <estoppel> install linux32
23:50:37 <ais523> why are you trying to port binaries between linux systems anyway?
23:50:38 <kerlo> So yeah, that's the problem, I guess.
23:50:40 <estoppel> then "linux32 ./sillylisp"
23:50:47 <kerlo> ais523: because I can't compile it on the target machine.
23:50:50 <ais523> ah, ok
23:50:56 <ais523> what about crosscompiling?
23:51:04 <kerlo> I don't know how to do that.
23:51:31 <ais523> crosscompilation is great fun, although not everything's set up to support it
23:51:34 <kerlo> Huh. "linux32: ./sillylisp: No such file or directory"
23:51:36 <ais523> that reminds me, I must finish gcc-bf some time
23:54:42 <ais523> <C++ FQA> (a CPlusPlusProgrammer has all the fields of a Programmer, plus a couple of new, orthogonal members, such as headAgainstTheWallBangingFrequency).
23:59:14 <ais523> <C++ FQA> Here's a proposal for the next C++ standard: let's define two keywords, __0 and __1. With a token sequence composed of these two keywords, we can express anything (actually, one keyword is enough, but that's just too verbose).
2009-03-10
00:01:08 -!- FireyFly has changed nick to FireFly.
00:01:30 <estoppel> "There, this should be enough to confuse the stupid spam bots, so I'll only get mail from the intelligent spam bots." <- very ais523
00:01:45 <ais523> was that me who wrote that, or someone else/
00:01:54 <ais523> I admit I could have writen that, but I don't remember writing that, it's my attitude
00:01:55 <estoppel> http://yosefk.com/mail.html
00:04:56 -!- jix has quit ("...").
00:07:31 -!- kerlobot has joined.
00:07:43 * kerlo flicks kerlobot's nose
00:07:47 -!- kerlobot has quit (Remote closed the connection).
00:10:34 -!- BeholdMyGlory has quit (Remote closed the connection).
00:11:05 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:11:27 <ais523> <Google> once in a blue moon = 1.16699016 × 10-8 hertz
00:11:35 <estoppel> lol wut
00:12:09 <ais523> well, I suppose you can calculate it...
00:12:20 <ais523> given that there's an official definition of blue moon
00:12:25 <ais523> also, everyone loves nanohertz
00:12:28 <ais523> or ought to
00:13:23 <estoppel> hertz is a measure of time ... ?
00:13:27 <kerlo> I wonder if there's a product called Nanohertz, or a trademark on it.
00:13:38 <ais523> estoppel: frequenct
00:13:40 <ais523> *frequency
00:13:49 <estoppel> yeah, so shouldn't
00:13:51 <estoppel> once in a blue moon
00:13:53 <ais523> so that measures the rate at which blue moons happen
00:13:53 <estoppel> be a measure of time
00:13:56 <estoppel> ahh
00:14:10 <ais523> 1 / (once in a blue moon) would be a measure of time
00:14:14 <ais523> which would be the interval between blue moons
00:14:21 <lament> blue moons happen once per year iirc
00:14:40 <lament> oh, apparently not
00:14:45 * ais523 restarts firefox
00:14:48 <ais523> just upgraded it
00:14:55 <ais523> it acts weirdly between upgrades and restarts
00:15:06 <ais523> but I was actually getting assertion failures, which is unusual
00:15:47 <ais523> 1 / once in a blue moon = 2.71542689 years
00:19:04 <oerjan> so pretty close to e years
00:19:19 <ais523> yep
00:21:35 -!- FireFly has quit ("Later").
00:22:09 <estoppel> "So, make sure you catch all possible exceptions in your C-callable C++ functions. By the way, C++ exceptions can be of any built-in or user-defined type, and you can't catch an arbitrary exception and check what kind of exception it is at run time, and operator new can throw exceptions. Enjoy."
00:30:31 -!- Jophish has quit (Read error: 104 (Connection reset by peer)).
00:41:17 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
00:44:01 -!- calamari has joined.
00:49:39 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
00:55:37 -!- estoppel has changed nick to ehird.
01:46:28 -!- calamari has quit (Read error: 60 (Operation timed out)).
01:55:48 -!- oerjan has quit ("Good night").
01:57:58 -!- calamari has joined.
02:06:25 <kerlo> Esoteric quotation marks: The beginning of a quote is marked by quotation marks followed by a space. The end of a quote is marked by a space followed by the same number of quotation marks. It is not legal to use more than that many quotation marks in a row within the quote.
02:06:51 <kerlo> So, if you want to quote the string {"""""""""}, you have to say """""""""" """"""""" """""""""", not " """"""""" ".
02:08:17 <kerlo> Heavily nested quotes are easy: """"""" """""" """"" """" """ "" " foo " "" """ """" """"" """""" """""""
02:28:15 -!- Dewio has joined.
02:28:16 -!- Leonidas has quit (Remote closed the connection).
02:28:20 -!- Leonidas has joined.
02:28:32 <bsmntbombdood> so git looks pretty cool
02:28:58 -!- calamari has quit (Read error: 60 (Operation timed out)).
02:29:12 -!- calamari has joined.
02:35:56 -!- olsner has quit ("Leaving").
02:41:35 -!- Dewi has quit (Read error: 110 (Connection timed out)).
02:45:40 -!- Slereah has joined.
02:59:15 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
04:23:51 -!- GreaseMonkey has joined.
04:45:03 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
04:47:14 -!- calamari has joined.
05:20:11 -!- Sgeo has joined.
05:24:01 -!- psygnisfive has joined.
05:24:49 -!- question has joined.
05:25:12 <question> hello
05:25:15 <question> i have a question
05:25:30 <question> oh shit hahaha this one is for esoteric programming
05:25:31 <question> hehe
05:25:37 <question> wrong room
05:25:37 <question> hehe
05:25:40 -!- question has quit (Client Quit).
05:26:38 <Robdgreat> wtf was that
05:32:48 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
05:40:00 <psygnisfive> CALAMARI DAMACY
05:44:43 -!- Azstal has quit (Read error: 104 (Connection reset by peer)).
05:44:53 -!- Azstal has joined.
07:27:08 -!- asiekierk has joined.
07:42:41 -!- asiekierk has quit.
07:42:44 -!- asiekierk has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:10 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
09:23:47 -!- Slereah has quit (Read error: 60 (Operation timed out)).
09:23:49 -!- Slereah_ has joined.
09:57:12 -!- GreaseMonkey has quit ("Client Excited").
10:00:03 -!- DH__ has joined.
10:28:49 <asiekierk> O_O
10:28:56 <asiekierk> I'm still working on AsieCrypt for no reason
10:29:12 <asiekierk> Now I made it make colors way-too-scrambled
10:51:52 -!- tombom has joined.
11:04:52 -!- jix has joined.
11:14:11 -!- jix has quit ("Computer has gone to sleep").
11:33:19 -!- DH__ has left (?).
11:33:30 -!- DH__ has joined.
11:37:47 -!- jix has joined.
12:26:19 -!- jix has quit ("...").
12:53:11 -!- jix has joined.
13:07:23 -!- jix has quit ("...").
13:35:03 -!- neldoreth has joined.
13:37:28 <neldoreth> hi there, i got a little question to befunge: i want just to print some letters right after each other, but when i have a second line in code i end up in an endless loop http://pastebin.com/m8052f85 - can someone give me a hint what i am missing
13:53:21 -!- jix has joined.
14:07:42 <fizzie> Uh... the code flow wraps around, so at the end of line 1 it wraps to start of line 1. You need to use explicit v, ^, <, > instructions to direct your instruction pointer to the second line if you want it to go there.
14:08:21 <fizzie> Though for character-printing the canonical way is to just do something like 055+"!dlrow ,elloH">:#,_@
14:11:02 <neldoreth> thanks for responding fizzie - i think i understand it now
14:14:24 <neldoreth> so i run with ^<>v through the code, right?
14:15:37 <fizzie> Yes. Well, I mean, you stick one of those whenever you want to turn somewhere.
14:16:28 <neldoreth> funny :D
14:17:21 <fizzie> Or want to make sure you are going somewhere. The more rectangular way of writing the print loop -- >:#,_ -- is:
14:17:27 <fizzie> ...>:v
14:17:27 <fizzie> ^,_@
14:18:38 <fizzie> If you want to see an inspirational piece of Befunge, our local irc-bot, fungot, is written in it: http://zem.fi/~fis/fungot.b98.txt
14:18:39 <fungot> fizzie: also, use firefox 3 or a webkit nightly....
14:18:58 <fizzie> fungot: It's a *plain text* page! Why would you need Firefox 3 for it?
14:18:58 <fungot> fizzie: hmm. 2 alt keys wouldnt work in an interpreter
14:19:23 <neldoreth> :O nice - so you really can write something useful with it :>
14:19:32 <fizzie> For some values of useful, sure.
14:19:57 -!- Slereah has joined.
14:20:18 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
14:20:21 <neldoreth> yeah i mean you are quite limited with this language like opening a file or something like that
14:20:51 <fizzie> Well, yes, that's why fungot is written in Funge-98, which adds a whole lot of extensions.
14:20:51 <fungot> fizzie: two ways 2 fix, but there is no new-line in morse code ( the way databases do it), but...
14:21:10 <fizzie> Like the FILE fingerprint for file operations, or SOCK for internetsy stuff.
14:21:44 <fizzie> Incidentally, I didn't know databases do it in morse code.
14:21:57 <neldoreth> ah i will check this out - cause i have to write a "creative" program with an esoteric language like befunge, brainfuck or whitespace and i have no idea what to write
14:22:21 <fizzie> "Have to"? Is it some sort of an assignment or what?
14:23:27 <neldoreth> yes
14:25:00 <fizzie> Where do they have esolang-related assignments?
14:29:13 -!- neldoreth has quit (Remote closed the connection).
14:29:17 -!- neldoreth has joined.
14:30:53 <ehird> dude
14:30:56 <ehird> esolang assignments?
14:30:56 <ehird> hot
14:32:06 <neldoreth> yeah, just "whatever we like", but it should creative and i have no idea what i should write :D
14:33:51 <ehird> where is this?
14:34:18 <neldoreth> a university in austria
14:34:25 <ehird> awesome
14:35:00 <ehird> definitely go for funge-98 if you have to use befunge to do something
14:36:18 <neldoreth> yeah but i am not sure if we are allowed to use it, cause they said that we can use befunge, brainfuck, intercal or whitespace - but with funge98 you can do much more
14:36:38 <fizzie> They seem to be classicists, with that sort of language selection.
14:36:48 <ehird> neldoreth: befunge-98 classes as befunge
14:37:22 <fizzie> It's not the fairness: I just have to hide tiny esolang-related things in otherwise-sensible programs; never has there been yet a "do something with befunge" course assignment.
14:37:42 <ehird> :(
14:37:45 <ehird> The world is cruel.
14:38:55 <neldoreth> ehird: ah ok, i ve just read that its an generalization of befunge - but that sounds good, so i guess i will check it out
14:39:05 <ehird> neldoreth: kind of
14:39:20 <ehird> funge-98 defines unefunge-98, befunge-98 and trifunge-98
14:39:22 <ehird> (1, 2 and 3D)
14:39:31 <ehird> befunge98 is just an extension of befunge93
14:39:40 <ehird> and "befunge" refers to both
14:39:53 <ehird> "unefunge" and "trifunge" always refer to -98, since there's no other versions
14:40:07 <ehird> ... well ... maybe -97 :-D
14:43:51 <neldoreth> ah ok
14:44:28 <neldoreth> ah i find this language funny :D
14:44:58 <ehird> be glad you picked befunge
14:45:07 <ehird> since you can use -98, and it's also pretty easy :P
14:45:17 <ehird> brainfuck and whitespace are about equal
14:45:29 <neldoreth> yeah i think they are too hard to read
14:45:31 <ehird> but intercal inputs as "ONE FIVE TWO" for 152 and outputs as roman numerals :-D
14:45:37 <neldoreth> please! :p
14:45:45 <ehird> oh, and it has no conventional arithmetic whatsoever. you have to implement it yourself.
14:45:55 <ehird> also, the opposite of GOTO. (COME FROM).
14:46:00 <neldoreth> ya :D
14:46:10 <fizzie> But it looks more enterprisey than some silly befunge.
14:46:19 <ehird> true
14:50:30 <neldoreth> is there a specific interpreter you can recommand me ?
14:50:43 <ehird> CCBI or cfunge are the only compliant befunge-98 interpreters.
14:50:55 <ehird> And the first was released in 2007. Turns out it's hard to get it right.
14:51:18 <ehird> neldoreth: Use cfunge if you want ridiculous amounts of speed for whatever reason, unless you're on windows, because AnMaster refuses to support windows.
14:51:26 <ehird> If you are on windows, try CCBI.
14:51:32 <neldoreth> i am on linux
14:51:38 <ehird> OK.
14:51:46 <ehird> CCBI has a linux binary, though. That might be easier.
14:51:47 <ehird> http://users.tkk.fi/~mniemenm/files/befunge/interpreters/ccbi/ccbi_linux.zip
14:52:07 <ehird> If you want to compile CCBI: http://iki.fi/matti.niemenmaa/befunge/ccbi.html
14:52:09 <ehird> Or cfunge: http://kuonet.org/~anmaster/cfunge/
14:52:11 <AnMaster> hi
14:52:31 <neldoreth> thanks
14:52:51 <Deewiant> ehird: you're forgetting RC/Funge-98
14:52:57 <ehird> oh, yes
14:53:03 <neldoreth> ah i only need one :D
14:53:04 <ehird> hmm
14:53:20 <ehird> neldoreth: if you type like this,,,,,,ehehehehhe.....try rc/funge98....http://rcfunge98.com/
14:53:21 <AnMaster> ehird, one thing: ccbi has a debugger, but it is slower. cfunge is way faster and only has a basic trace
14:53:32 <ehird> AnMaster: ah, that's a good reason to use ccbi as a newbie then
14:53:41 <Deewiant> "way faster"
14:53:41 <ehird> (neldoreth: but don't try and compile it, it's hell to compile the D source)
14:53:49 <Deewiant> ehird: LDC should compile it
14:53:58 <AnMaster> ehird, well it all depends on what you are using it for. fungot running a slow underload interpreter? cfunge or in the future jitfunge
14:53:58 <fungot> AnMaster: when first i was a
14:53:58 <Deewiant> it should actually be pretty easy due to that, these days
14:54:01 <ehird> no matter what you say, getting a D environment is a pain
14:54:02 <ehird> :)
14:54:03 <AnMaster> debugging a script: ccbi
14:54:07 <AnMaster> a program*
14:54:09 <ehird> AnMaster: neldoreth.
14:54:12 <ehird> he's writing a befunge program. for school.
14:54:19 <ehird> and he hasn't used the language before.
14:54:23 <AnMaster> though one thing: ccbi's debugger is quite a pain
14:54:28 <Deewiant> ehird: hg clone <LDC repository>, run cmake and you have a D environment
14:54:29 <AnMaster> if you are used to something nice like gdb
14:54:32 <ehird> so speed is probably not an issue, and a debugger is useful
14:54:34 <fizzie> fungot: When first you were a... what?
14:54:34 <fungot> fizzie: some semantics guy who is doing the compilation." hahahah puns r fun.
14:54:36 <ehird> also, CCBI has more crazy fingerprints for that
14:54:44 <ehird> Deewiant: tango?
14:54:46 <Deewiant> ehird: yep
14:54:55 <ehird> hmm.
14:54:57 <Deewiant> I was surprised at how easily I got it to work, actually :-)
14:54:59 <ehird> I might just try that.
14:55:02 <Deewiant> And it should build CCBI now
14:55:06 <ehird> Shoot me a link?
14:55:07 <Deewiant> They fixed the bugs after I tried it :-)
14:55:13 <AnMaster> ehird, did you know there is a "break on instruction" in ccbi? However it only works if you enter the number representing the ASCII code point, not the letter...
14:55:14 <Deewiant> ehird: http://www.dsource.org/projects/ldc/
14:55:21 <Deewiant> The bugs that broke CCBI, that is
14:55:26 <AnMaster> oh only one break point too
14:55:28 <Deewiant> I haven't tried it for a while, though, it could be it still doesn't work
14:55:28 <ehird> so?
14:55:31 <ehird> it's better than no debugger
14:55:43 <ehird> and since speed is an issue, ccbi is probably the better choice for a newbie
14:55:45 <ehird> *isn't
14:55:56 <AnMaster> true. cfunge *does* include a .gdbinit file though
14:55:57 <Deewiant> Speed isn't an issue anyway unless you run the game of life or optimize for Mycology
14:56:04 <AnMaster> Deewiant, or run fungot
14:56:04 <fungot> AnMaster: i can let you do it?
14:56:05 <Deewiant> Well, maybe for fungot, I haven't tried that
14:56:06 <fungot> Deewiant: spineless tagless g-machine, a virtual machine for an oisc processor, but using the sxml fnord you see it, if it can't! it doesn't complain about fnord
14:56:18 <Deewiant> AnMaster: have you tried it on CCBI?
14:56:26 <AnMaster> Deewiant, iirc fizzie did.
14:56:35 <Deewiant> Was it unbearably slow?
14:56:50 <Deewiant> Or just 0.1 instead of 0.05 seconds response time? :-P
14:56:50 <ehird> no, I remember it
14:56:52 <fizzie> I don't remember anymore. I've done it on RC/Funge though; how do those two speed-compare?
14:56:57 <ehird> it was indistinguishably fast
14:57:00 <ehird> since IRC lag is the main factor.
14:57:05 <ehird> (apart from on e.g. complex ^ul)
14:57:28 <fizzie> For fungot speed mostly matters if you care about the speed of the brainfuck/underload interps.
14:57:28 <fungot> fizzie: last time i checked
14:57:29 <AnMaster> Deewiant, he said he could let the bf interpreter run about 4 times as many cycles before "out of time" under cfunge iirc..
14:57:29 <ehird> * LLVM Test Suite (67M)
14:57:30 <Deewiant> If I had to guess I'd say RC/Funge-98 is somewhere between CCBI and cfunge
14:57:31 * ehird gawps
14:57:37 <AnMaster> or that might have been for rc/funge
14:57:38 <AnMaster> not sure
14:57:48 <ehird> Deewiant: rc/funge is unoptimized, I think
14:57:53 <AnMaster> anyway I do remember he said he increased the limits under cfunge
14:57:53 <ehird> so it's probably the slowest
14:57:56 <Deewiant> ehird: Well, so is CCBI
14:58:02 <Deewiant> For the most part, anyway
14:58:08 <Deewiant> Compared to cfunge ;-P
14:58:09 <ehird> true
14:58:18 <ehird> D is a lil slower than C too.
14:58:21 <Deewiant> But then, everything is unoptimized compared to cfunge
14:58:32 <AnMaster> Deewiant, no, jitfunge is more optimised
14:58:34 <ehird> llvm is unoptimized compared to that dungpile.
14:58:40 <ehird> uh, jitfunge doesn't optimize.
14:58:41 <Deewiant> I take issue with people saying "language A is slower than language B"
14:58:48 <ehird> Deewiant: yes, yes, I know
14:58:54 <ehird> show me a D as fast as C
14:59:06 <Deewiant> I can show you D programs as fast as C programs ;-)
14:59:13 <fizzie> Deewiant: Do they do the same thing?
14:59:16 <ehird> D minus D features is basically weirdo C.
14:59:23 <Deewiant> fizzie: Amazingly enough they do
14:59:29 <AnMaster> ehird, well depending on what you mean, nor does cfunge. jitfunge could potentially. Just in cfunge I tried to write all the C code fast. But I don't try to constant fold code. Like jitfunge does
14:59:38 <AnMaster> so I'd say jitfunge is more optimising
14:59:47 <ehird> Green bunnies.
14:59:53 <ehird> Happy, bunnies!
14:59:55 <fizzie> jitfunge is broken, though; that's a disadvantage.
15:00:02 <ehird> lol, llvm's configure has --enable-optimized
15:00:05 <Deewiant> If something doesn't work it doesn't count
15:00:09 <AnMaster> fizzie, yes it isn't finished yet
15:00:14 <ehird> ENABLE OPTIMIZED!
15:00:16 <AnMaster> cfunge was broken in the beginning too
15:00:25 <AnMaster> anyway currently cfunge is in a code clean up phase
15:00:38 <Deewiant> But then, I suppose AnMaster would argue CCBI is broken since FILE's R doesn't reflect on EOF currently :-P
15:01:04 <AnMaster> Deewiant, since you mention that. Fixed mycology for it?
15:01:04 <Deewiant> ehird: What're you building LLVM for, binaries too simple for you?
15:01:10 <Deewiant> AnMaster: nope, not even locally
15:01:15 <AnMaster> mhm
15:01:20 <ehird> Deewiant: macports only has 2.4
15:01:26 <Deewiant> AnMaster: Feel free to do it yourself
15:01:32 <ehird> and 3rd-party binaries for CLI software make me itchy
15:01:34 <Deewiant> ehird: Ah, right, mac.
15:01:44 <ehird> I should start a Scheme channel that, whenever someone says "This program doesn't work", and it doesn't meet the standard, we'll reply "Mu. Show us a program."
15:01:51 <ehird> (re Deewiant: But then, I suppose AnMaster would argue CCBI is broken since FILE's R doesn't reflect on EOF currently :-P)
15:02:22 <Deewiant> Meh, binaries from seemingly trustworthy 3rd parties are fine
15:02:23 <neldoreth> is there somewhere in addition to the spec simple examples for the file i/o usage
15:02:32 <AnMaster> Deewiant, well, it wouldn't be the official version. What if every funge developer then decided to fork mycology so their interpreter passed. Wait forget that. Changing the interpreter would be easier than changing mycology...
15:02:33 <Deewiant> You never know if your compiler has been taken, anyway
15:02:46 <Deewiant> AnMaster: ... I meant that you'd send me a patch
15:02:57 <ehird> Deewiant: not itchy as in nervous
15:02:57 <Deewiant> neldoreth: Not really.
15:03:12 <ehird> itchy as in dammit it's a .pkg and I don't know where it's going graagh why does a CLI program have a graphical installer this is stupid I'm compiling my own.
15:03:29 <AnMaster> Deewiant, mhm. diff thinks mycology is a binary file btw... ;P
15:03:38 <Deewiant> Well, it is a binary file
15:03:40 <Deewiant> It contains a null byte
15:03:48 <Deewiant> I guess that makes it binary
15:04:03 <AnMaster> yeah. -a forces it to treat the file as text
15:04:07 <ehird> wtf llvm's Make has no clean
15:04:22 <AnMaster> ehird, um. what? iirc it uses configure?
15:04:28 <ehird> autoconf != automake.
15:04:32 <AnMaster> ah true
15:04:33 <Deewiant> Doesn't it use CMake?
15:04:36 <neldoreth> Deewiant: ok, the ~ part speaks quite for it self
15:04:38 <AnMaster> ehird, I always done out of tree builds
15:04:46 <ehird> Deewiant: it also has a make system
15:04:51 <AnMaster> Deewiant, cmake build system is WIP iirc
15:04:52 <ehird> clean::
15:04:52 <ehird> $(Verb) rm -rf BuildTools
15:04:58 <ehird> ah, so it does have a clean, it's just broken.
15:05:02 <AnMaster> but maybe it is completed
15:05:12 * ehird `make -j3`
15:05:19 * ehird in the near future: `make -j9`
15:05:21 <AnMaster> ehird, suggest solution: mkdir build; cd build; ../configure ...
15:05:30 <AnMaster> then to clean just delete build
15:05:36 <ehird> it DOES an out of tree buil
15:05:37 <ehird> d
15:05:39 <ehird> in BuildTools/
15:05:43 <AnMaster> err
15:05:55 <ehird> agh, I dont' think their build system does -j properly
15:05:58 <AnMaster> ehird, then your llvm is quite different from mine...
15:06:09 <ehird> fuck this yall, I'm compiling it with cmake
15:06:09 <AnMaster> maybe special for apple?
15:06:17 <ehird> AnMaster: http://llvm.org/releases/2.5/llvm-2.5.tar.gz
15:06:19 <ehird> yes, very special.
15:06:36 <AnMaster> ehird, last I asked, which admittedly was a few months ago, cmake didn't yet handle the install bit
15:06:46 <Deewiant> Installation is overrated
15:06:50 <ehird> 2.5 came out a few days ago.
15:06:51 <Deewiant> Just bloat your PATH
15:06:56 <AnMaster> ehird, yes I know
15:07:00 <ehird> Deewiant: is that you gobo
15:07:06 <AnMaster> I track llvm svn though
15:07:17 <ehird> install(DIRECTORY include
15:07:17 <ehird> DESTINATION .
15:07:19 <ehird> PATTERN ".svn" EXCLUDE
15:07:21 <ehird> PATTERN "*.cmake" EXCLUDE
15:07:23 <ehird> PATTERN "*.in" EXCLUDE
15:07:25 <ehird> )
15:07:35 <AnMaster> well they fixed it then I guess
15:07:38 <Deewiant> ehird: http://www.dsource.org/projects/ldc/ does have installation instructions for llvm too, just in case you're making life too difficult for yourself
15:07:50 <ehird> okay, how do you set cmake options?
15:07:54 <ehird> hmm
15:07:58 <AnMaster> ehird, ccmake
15:08:03 <AnMaster> gives you a nice ncurses gui
15:08:03 <ehird> specifically, I want to enable PIC, optimized, and 3-jobs-at-once
15:08:05 <AnMaster> easiest way
15:08:11 <ehird> does it allow me to configure parallel builds?
15:08:40 <AnMaster> ehird, well cmake/ccmake generates Makefiles, so you would use make -j12357687 or whatever after
15:08:43 -!- KingOfKarlsruhe has joined.
15:08:53 <ehird> kay
15:09:11 * ehird thinks fondly of his dead netcc project
15:09:23 <ehird> (basically, -j<sizable portion of online netcc users>)
15:09:35 <AnMaster> ehird, no idea if llvm's cmake build system properly handles -j. I mean, I cmake itself handles -j fine in my experience, but some projects manage to break it
15:09:43 <ehird> (the issue is verifying that the objects aren't tampered with)
15:10:06 <Deewiant> also bandwidth
15:10:11 <AnMaster> you could compile a local copy then and compare ;)
15:10:37 <ehird> Deewiant: nahh, object files are only like 1mb
15:10:41 <ehird> this would be for huge projects like kde
15:10:59 <ehird> where expending the bandwidth in exchange for massively parallel builds makes sense
15:11:20 <Deewiant> downloading a megabyte can well take longer than compiling an object file of that size
15:11:25 <AnMaster> um... sending that over internet would be slow. Consider that for distcc you have to have gbit ethernet for it to be useful in practise
15:11:33 <AnMaster> Deewiant, depends on how many C++ templates it uses...
15:11:39 <ehird> you guys ever compiled kde? :P
15:12:11 <AnMaster> I'm on Gentoo. I use KDE
15:12:14 <AnMaster> what do you think?
15:12:34 <AnMaster> I haven't compiled KDE 4 though
15:12:37 <AnMaster> only kde3
15:13:16 <ehird> cmake should only allow you to compile it with cmake
15:13:42 <AnMaster> um. cmake is like automake. It generates makefiles
15:13:50 <AnMaster> so that made no sense
15:13:54 <ehird> sure it did.
15:14:06 <ehird> there would be an EULA forbidding you from distributing the resulting makefiles
15:15:07 <AnMaster> -_-
15:16:04 <AnMaster> iirc autoconf/automake generated files have a "as a special exception you may distribute this generated file with non-GPL software using auto* build system"
15:16:07 <AnMaster> or something like that
15:18:07 <ehird> AnMaster: ccmake gives me no option to enable optimized
15:18:18 <AnMaster> ehird, try t for advanced options?
15:18:24 <AnMaster> also it is project that defines option
15:18:31 <ehird> ah
15:18:34 <AnMaster> the build type may be relevant
15:18:38 <AnMaster> maybe they use that?
15:18:40 <AnMaster> let me check
15:19:46 <neldoreth> when i read a input (stdin) with ~ - how can i check when i am finished - so check for eof
15:19:50 <AnMaster> ENABLE_OPTIMIZED=ENABLE_OPTIMIZED=1
15:19:51 <AnMaster> wth
15:19:53 <AnMaster> from configure
15:20:16 <ehird> no OPTIMIZED in cmakelists
15:20:28 <Deewiant> neldoreth: Did you read the specs?
15:20:40 <AnMaster> ehird, there are multiple included files
15:21:16 <ehird> nothing related
15:21:22 <neldoreth> i am
15:21:24 <AnMaster> hm
15:21:30 <AnMaster> ehird, strange. I don't know
15:22:35 <ehird> http://groups.google.co.uk/group/comp.lang.scheme/browse_thread/thread/f6c5066346672b00 <-- 346 users, gee! that deserves a group!
15:22:44 <AnMaster> ehird, their irc channel is on irc.oftc.net
15:22:46 <ehird> newlisp doesn't even have lexical variables :-D
15:22:54 <AnMaster> llvm I mean
15:30:24 <neldoreth> i am just not so sure about catching it if its acting like an r - only with w?
15:32:47 <Deewiant> neldoreth: #v~ where the v leads to the error/EOF condition
15:32:53 <Deewiant> (For instance)
15:37:01 <ehird> "Computer justified type only looks good to people who like straight edges on their blocks but don’t bother to read the text inside them. " http://hellbox.org/archives/001566.html
15:39:24 <Deewiant> This well-documented open-source algorithm was only finalized in 1982, of course, so it's silly to ask Amazon to do equally well today.
15:39:38 <ehird> :-D
15:42:23 -!- Judofyr has quit (Remote closed the connection).
15:48:34 -!- Judofyr has joined.
15:50:31 -!- Judofyr has quit (Remote closed the connection).
15:51:05 -!- Hiato has joined.
15:52:22 <AnMaster> hehe
15:54:07 <AnMaster> Deewiant, one thing though: This is for their ebook reader right? I don't know how powerful it is, but the TeX algorithm is not that fast, though I read that thanks to dynamic programming it isn't too bad. For a complete book it could take a while on a low end device I guess..
15:54:19 <ehird> that's why you pre-render it, duh
15:54:47 <AnMaster> yes I was writing that, but you finished your line first
15:54:57 <ehird> type faster you hobo
15:55:28 <AnMaster> anyway Plain TeX algorithm isn't that good. pdftex has some optional enhancements that are really nice
15:55:40 <ehird> beats that awful algorithm on the page
15:55:44 <AnMaster> use the package microtype to enable them
15:55:58 <ehird> of course, an incredibly easy way to solve this is to just have it ragged-right, which is easier on a screen anyway.
15:56:02 <AnMaster> very nice. As usual for TeX there is a lot og good docs for it.
15:56:03 <ehird> 0 computational cost!
15:56:12 <AnMaster> ehird, well you have to compute line breaks
15:56:20 <ehird> well, okay, but that's trivial :P
15:56:21 <AnMaster> and I find straight margins easier on screen too
15:56:34 <AnMaster> at least if done properly
15:56:48 <AnMaster> the margins in that example you linked I agree ragged would have been better
15:57:17 <ehird> I think it's generally well-known that ragged-right is easier on a screen, might not be for you but you're weird.
15:57:43 <AnMaster> mhm. Well depends on what sort of text
15:58:14 * AnMaster notes man uses monotype + straight margins
15:58:19 <ehird> The fact that the fast majority of text I've read has been ragged-right on a computer for a huge portion of my life may have something to do with it
15:58:29 <ehird> also, man doing that enrages me to no end
15:58:33 <ehird> (isn't it technically troff that does that?)
15:58:38 <AnMaster> the result isn't good IMO, but better than the kindle thing
15:58:46 <ehird> wonder if troff has an option to turn it off
15:58:51 <AnMaster> ehird, well probably. Or one of the other programs that troff invokes
15:58:54 <AnMaster> and possibly
16:01:16 <AnMaster> ehird, maybe in your mandoc format definition? On my system that is in /usr/share/groff/current/tmac/andoc.tmac
16:01:21 -!- DH__ has quit ("Trillian (http://www.ceruleanstudios.com").
16:01:27 <AnMaster> yeah andoc... -m andoc -> -mandoc ... go figure
16:01:39 <ehird> heh, like the ubygems trick
16:02:04 <AnMaster> oh? rubygems is some package manager for ruby right?
16:02:12 <AnMaster> so what needs -r ubygems ?
16:02:16 <ehird> -rubygems
16:02:26 <ehird> you need to require rubygems before you can use rubygems packages
16:02:31 <ehird> (for various ugly reasons)
16:02:33 <ehird> and ruby has -r for require
16:02:41 <ehird> so they made ubygems.rb `require "rubygems"`
16:02:49 <AnMaster> ehird, you know about libiberty? Well -liberty is the link command... GNU people...
16:02:54 <ehird> yeah
16:03:05 <ehird> libibido
16:03:12 <ehird> i love how that sounds when you pronounce it
16:03:15 <ehird> libibibibibido
16:03:25 <AnMaster> hm
16:03:35 <AnMaster> andoc doesn't contain the word "margin" anyway
16:03:44 <AnMaster> case insensitive search
16:03:49 <asiekierk> oh no, I was again working on Asiecrypt
16:04:08 <ehird> AnMaster: .\" Load either an-old.tmac or doc.tmac.
16:04:12 <asiekierk> This time it encrypts an image into random gibberish and can still decode it
16:04:16 <AnMaster> ehird, doesn't say that here...
16:04:22 <ehird> maybe a BSD thing.
16:04:40 <ehird> doc.tmac has the 3-clause BSD license
16:04:44 <ehird> an-old is GPL 2
16:04:53 <AnMaster> wait, it does: "Either load doc.tmac or an-old.tmac"
16:04:54 <ehird> .de set-an-margin
16:04:54 <ehird> . nr an-margin \\n[IN]
16:04:56 <AnMaster> hah
16:04:58 <ehird> god I have troff!
16:05:00 <ehird> *hate
16:05:15 <AnMaster> ehird, well the syntax isn't that far from TeX one
16:05:18 <AnMaster> just worse
16:05:32 <ehird> except you can read tex because its names aren't all meaningless 2-character gibberish with \s and .s everywhere
16:05:53 <AnMaster> ehird, look. This saves bytes. Remember /usr/share is limited in size. Or was.
16:05:54 <fizzie> syslog-ng uses the libol.a library to get "-lol"; I don't think the "ol" meant especially anything there.
16:06:26 <ehird> that's some mature humor
16:06:43 <AnMaster> augh
16:06:47 <ehird> fizzie: it doesn't seem to be intentional
16:06:49 <ehird> from the google
16:06:52 <AnMaster> oh?
16:07:08 <AnMaster> btw what software has libibido?
16:07:11 <ehird> none
16:07:24 <ehird> but i presume some kind of open source porn viewer would utilize it somehow
16:07:25 <AnMaster> oh? there is no package for it
16:07:29 <AnMaster> hah
16:07:30 <ehird> yes, it doesn't exist
16:07:33 <ehird> i made it up
16:07:38 <fizzie> Yes and apparently nowadays: "I moved to using glib instead of libol, as glib is more mature and provides several nice & easy to use features."
16:07:38 <AnMaster> heh
16:07:39 <Deewiant> Maybe GHC could use libambda when it gets proper shared object support
16:07:41 <ehird> hmm. there's an mm.tmac
16:07:42 <ehird> -mmm
16:07:46 <AnMaster> Deewiant, :D
16:07:47 <ehird> -mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
16:08:04 <AnMaster> ehird, -mm ? I think that exists. I have a m.tmac here...
16:08:08 <AnMaster> no idea what it is for
16:08:09 <ehird> I have an mm.tmac.
16:08:12 <ehird> as well as m.tmac
16:08:13 <ehird> -mmm
16:08:53 <AnMaster> well both
16:09:53 <AnMaster> ehird, you will also need to check /etc/man.conf or something like that for what -m is actually used
16:10:07 <AnMaster> man_db.conf on some systems. And no idea on OS X
16:10:35 <AnMaster> TROFF /usr/bin/groff -Tps -mandoc
16:10:35 <AnMaster> NROFF /usr/bin/nroff -mandoc
16:10:35 <AnMaster> here
16:10:49 <ehird> "Right-margin justification is turned off for the mm macros."
16:11:03 <AnMaster> uhu
16:11:09 * ehird looks at mm.tmac
16:11:18 <ehird> .\" mm.tmac
16:11:18 <ehird> .\"
16:11:19 <ehird> .do mso m.tmac
16:11:24 <ehird> >_<
16:11:27 <AnMaster> that is include I guess
16:11:30 <ehird> yep
16:11:35 <AnMaster> so look at m.tmac
16:11:40 <ehird> I am.
16:11:44 <AnMaster> well mandoc.tmac includes andoc.tmac
16:11:51 <ehird> .\"paragraph type
16:11:51 <ehird> .\"0 == left-justified
16:11:52 <ehird> .\"1 == indented .P
16:11:54 <ehird> .\"2 == indented .P except after .H, .DE or .LE.
16:11:56 <ehird> .nr Pt 0
16:11:58 <ehird> I think nr is a variable
16:12:01 <AnMaster> .P
16:12:07 <AnMaster> strange similey
16:12:14 <AnMaster> smiley*
16:12:27 <ehird> jesus christ this is just painful
16:12:41 <AnMaster> yes roff is
16:12:52 <AnMaster> ehird, at least, teco would have been worse
16:13:15 <ehird> naw, teco is obscure but not much more than, say, befunge
16:13:19 <ehird> just because it has short commands
16:13:26 <ehird> whereas this is a syntactic clusterfuck
16:13:30 <AnMaster> well roff has short commands too
16:13:40 <ehird> yeah, but it's everything else that's the issue.
16:14:17 <AnMaster> ehird, I'm not sure what the other stuff is. I just know enogh *roff to write a simple man page. Which is far from that above.
16:15:09 <ehird> i mean, teco is pretty intuitive, actually
16:15:13 <ehird> EBhello.c<ESC><ESC>
16:15:17 <ehird> E means edit, B means with backups
16:15:24 <ehird> and two escapes terminates a command
16:15:38 <ehird> P<ESC><ESC> p means P-age it reads the first page of text in
16:15:40 <AnMaster> true
16:15:56 <AnMaster> ehird, I think most languages seem easy/intuitive if you used them enough :P
16:15:58 <ehird> SHello<ESC>0TT<ESC><ESC> <- ESC obviously separates command arguments
16:16:00 <ehird> S means search
16:16:16 <ehird> not sure what 0TT is, probably "print line 0" (with relative offsets)
16:16:22 <ehird> i don't even know teco, but it seems simple enough to me
16:16:30 <ehird> -5DIGoodbye<ESC>0TT<ESC><ESC>
16:16:36 <ehird> -5D prints 5 characters backwards, obviously
16:16:41 <AnMaster> ehird, does that bf interpreter in TECO seem "simple enough" too?
16:16:42 <ehird> ahh
16:16:43 <ehird> <ESC> is ;
16:16:47 <ehird> 0TT just prints the current line
16:17:03 <ehird> anyway, I is obviously insert
16:17:05 <ehird> then it prints the line
16:17:09 <ehird> EX<ESC><ESC>
16:17:12 <ehird> exit
16:17:29 <ehird> i mean, i get that the brainfuck interp looks complex, but actual editing seems basically like ed
16:17:33 <AnMaster> @^UB#@S/{^EQQ,/#@^UC#@S/,^EQQ}/@-1S/{/#@^UR#.U1ZJQZ\^SC.,.+-^SXQ-^SDQ1J#@^U9/[]-+<>.,/<@:-FD/^N^EG9/;>J30000<0@I/
16:17:34 <AnMaster> />ZJZUL30000J0U10U20U30U60U7@^U4/[]/@^U5#<@:S/^EG4/U7Q7;-AU3(Q3-91)"=%1|Q1"=.U6ZJ@i/{/Q2\@i/,/Q6\@i/}/Q6J0;'-1%1'
16:17:34 <AnMaster> >#<@:S/[/UT.U210^T13^TQT;QT"NM5Q2J'>0UP30000J.US.UI<(0A-43)"=QPJ0AUTDQT+1@I//QIJ@O/end/'(0A-45)"=QPJ0AUTDQT-1@I//
16:17:34 <AnMaster> QIJ@O/end/'(0A-60)"=QP-1UP@O/end/'(0A-62)"=QP+1UP@O/end/'(0A-46)"=-.+QPA^T(-.+QPA-10)"=13^T'@O/end/'(0A-44)"=^TUT
16:17:36 <AnMaster> 8^TQPJDQT@I//QIJ@O/end/'(0A-91)"=-.+QPA"=QI+1UZQLJMRMB\-1J.UI'@O/end/'(0A-93)"=-.+QPA"NQI+1UZQLJMRMC\-1J.UI'@O/en
16:17:39 <AnMaster> d/'!end!QI+1UI(.-Z)"=.=@^a/END/^c^c'C>
16:17:41 <AnMaster> that?
16:17:46 <ehird> right
16:17:54 <ehird> it's ugly, but I bet if you added newlines after command blocks it'd make sense
16:18:00 <AnMaster> well true
16:18:09 <ehird> it's just because it's all mushed together, and plus, using a text editor to implement brainfuck will never be pretty
16:18:13 <ehird> (disregarding things like elisp)
16:18:28 <AnMaster> ehird, elisp isn't pretty.
16:18:40 <ehird> agreed, but you can read a bf interp in it easily
16:18:52 <ehird> elisp itself is horrific
16:18:55 <AnMaster> even with all optional spaces/newlines removed?
16:19:05 <AnMaster> and with one letter names where possible
16:19:07 <ehird> heh
16:19:09 <ehird> i'm going to install teco
16:19:13 <ehird> te(1) is an implementation of TECO in portable C. It implements DEC standard
16:19:13 <ehird> TECO, with some exceptions and extensions described below. te assumes a
16:19:15 <ehird> VT100-type terminal, and its display driver is hard-coded for such.
16:19:17 <ehird> Homepage: http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco/
16:19:20 <AnMaster> hm
16:19:22 <ehird> it's in macporst
16:19:23 <ehird> :D
16:19:26 <AnMaster> macporst?
16:19:28 <ehird> macports
16:19:38 <ehird> semi-official os x package manager
16:19:42 <AnMaster> ehird, some package maintainer gone insane
16:19:44 <AnMaster> clearly
16:19:54 <ehird> nomaintainer@macports.org is indeed insane
16:20:02 <ehird> they let just about everything into their repos, which is nice
16:20:10 <AnMaster> I would expect debian to have it, if license is ok. Otherwise no distro
16:20:15 <ehird> TECO for UltrixMatt FichtenbaumFebruary 27, 1987
16:20:15 <ehird> revised 7/17/89
16:20:19 <ehird> --documentation
16:20:25 <AnMaster> ehird, how do you submit ports then?
16:20:26 <AnMaster> to it
16:20:33 <ehird> AnMaster: ask in #macports :P
16:20:35 <AnMaster> I would like to submit a rootkit named gcc
16:20:36 <AnMaster> :D
16:20:38 <ehird> heh
16:20:47 <ehird> backward paging in file (negative arguments to P, N, etc.)
16:20:49 <ehird> under missing features
16:20:52 <ehird> er.
16:20:58 <AnMaster> err sounds like more vs. less
16:20:58 <ehird> isn't backwards paging, kind of
16:21:00 <ehird> you know
16:21:02 <ehird> worthwhile?
16:21:03 <ehird> useful?
16:21:06 <ehird> trivial to implement?
16:21:10 <AnMaster> ehird, compare more and less
16:21:14 <AnMaster> more can't go back
16:21:16 <ehird> yeah, but this is an editor :P
16:21:23 <AnMaster> good point
16:21:33 <AnMaster> is teco, kind of
16:21:34 <AnMaster> you know
16:21:37 <AnMaster> worthwhile?
16:21:39 <AnMaster> useful?
16:21:42 <ehird> hahaha
16:22:20 <ehird> Most DEC command languages interpreted the "MAKE filename" command as a command to start TECO and create the named filename. Many (most?) TECOs would respond to "MAKE LOVE" with the message "Not war?". At some TECO installation sites, the resulting file "LOVE" was considered a good-luck charm and was thus accorded heavy file protection (e.g., <777> under TOPS-10), never to be deleted.
16:22:21 <AnMaster> ehird, anyway what about dc code?
16:22:25 <AnMaster> is it hard to read?
16:22:28 <ehird> eh, dc is just like underload really
16:22:37 <ehird> except with arithmetic, so even easier
16:23:23 <AnMaster> well, I have seen dc programs that look about as confusing as the bf interpreter in TECO.. And I have seen readable ones.
16:23:30 <AnMaster> I have written confusing ones too
16:23:35 <AnMaster> and readable
16:23:48 <ehird> i was right
16:23:54 <ehird> <esc><esc> terminates the command :D
16:23:56 <AnMaster> dc is a nice calculator, but doing text processing in it is just stupid
16:23:58 <ehird> (and makes a new command line)
16:24:37 <ehird> hmm, this is buggy
16:25:03 <AnMaster> http://99-bottles-of-beer.net/language-dc-704.html <-- that isn't too bad. But I have seen much worse
16:26:15 <fizzie> Debian bug report 298432 -- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=298432 -- is someone requesting TECO, but it never happened.
16:28:15 <ehird> AnMaster: Jannis Harder? that's jix
16:28:31 <AnMaster> ehird, ?
16:28:36 <ehird> the writer of that 99bob
16:28:40 <AnMaster> ah right
16:28:48 <AnMaster> ehird, I see. Didn't know
16:30:30 * AnMaster gets a silly idea...
16:30:30 <AnMaster> ==1234== 99 bytes in 1 blocks are still reachable in loss record 1 of 99
16:30:30 <AnMaster> ==1234== 98 bytes in 1 blocks are still reachable in loss record 2 of 99
16:30:38 <AnMaster> something like that :D
16:30:45 <ehird> wut?
16:30:55 <AnMaster> ehird, not the same of course. But a parody
16:30:59 <AnMaster> of the worst type
16:31:00 <ehird> i don't get it
16:31:17 <AnMaster> ehird, 99 bottles of valgrind
16:31:17 <AnMaster> :P
16:31:35 <ehird> aiee
16:31:48 <AnMaster> just a case of making a leaky enough program that generates the output you want
16:32:19 <ehird> also, how much interest do you think there would be in a precise, generational, parallel and concurrent (i.e., the GC uses multiple threads, and runs in parallel with the mutator) GC?
16:32:40 <ehird> well, that's kind of rhetorical, there's huge demand for that
16:32:43 <AnMaster> ehird, if it also gives good performance: A *LOT*
16:32:55 <AnMaster> well
16:32:59 <AnMaster> depends on for what language/vm
16:33:02 <Deewiant> Isn't that exactly what's happening with GHC soon/now?
16:33:05 <ehird> AnMaster: pluggable
16:33:11 <AnMaster> ehird, would it work for C?
16:33:12 <ehird> Deewiant: ghc's gc still pauses threads
16:33:13 <Deewiant> I.e. somebody was working on it
16:33:19 <ehird> AnMaster: you can't make a precise GC for C
16:33:20 <Deewiant> ehird: Yes, currently
16:33:22 <ehird> that's impossible
16:33:23 <AnMaster> ehird, exactly.
16:33:30 <AnMaster> so for what language/vm then?
16:33:33 <ehird> AnMaster: it may be possible to plug in some stuff to make it conservative
16:33:34 <ehird> dunno
16:33:36 <ehird> also, pluggable
16:33:38 <AnMaster> hm
16:33:45 <ehird> i.e., you set off some defines for your language and you're done
16:33:58 <AnMaster> ehird, you mean one GC that you can plug into java, .NET, ocaml, ghc and so on?
16:34:00 <AnMaster> :P
16:34:06 <AnMaster> that sounds like impossible
16:34:07 <ehird> well, you have to modify their implementation to do it, of course
16:34:11 <AnMaster> right
16:34:24 <ehird> but it'll just need some functions like heap traversal etc
16:34:45 <AnMaster> also a GC for a single assignment language can take advantage of some extra stuff iirc
16:34:51 <AnMaster> but I may misremember that
16:35:12 <ehird> I was planning to basically optimize it for Scheme.
16:35:30 <ehird> i.e., not all-out-imperative, but not purely-functional, strict, high-level
16:35:43 <ehird> that should cover a wide range of other languages
16:35:55 <ehird> e.g. most modern scripting languages like perl, python, ruby
16:38:08 <AnMaster> hm
16:38:16 <AnMaster> seems valgrind sorts so largest leak is last
16:41:22 <ehird> AnMaster: woo, I've sussed basic editing with teco
16:41:30 <ehird> http://pastie.org/private/xstfyhfbfciqpr6yqkuhvw
16:41:43 <ehird> should be evident how it works from that session
16:42:09 <ehird> (S puts the cursor right after the term)
16:42:15 <ehird> thus the mid-line prompt after 0T
16:43:16 <AnMaster> mhm
16:43:32 <AnMaster> ehird, will you use this as your main text editor now?
16:43:38 <ehird> no
16:43:43 <ehird> but I might use it where I would have used ed
16:43:48 <ehird> (tiny changes to system files)
16:43:56 <ehird> tapping <ESC><ESC> all the time is a bit annoying
16:46:54 <ehird> [ehird:~/Junk] % ls -lh `which teco`
16:46:54 <ehird> -rwxr-xr-x@ 1 root wheel 99K 10 Mar 15:39 /usr/local/bin/teco
16:46:55 <ehird> [ehird:~/Junk] % ls -lh `which ed`
16:46:57 <ehird> -r-xr-xr-x 1 root wheel 111K 10 Sep 02:06 /bin/ed
16:47:05 <ehird> FUCK YEAH TECO
16:47:55 <Deewiant> /bin/ed is 49K here O_o
16:47:56 <AnMaster> You appear to be a bot, I can't accept your paste. JS is now required to paste.
16:47:57 <AnMaster> wth
16:48:03 <AnMaster> I tried to use a pastebin ehird liked
16:48:07 <ehird> AnMaster: LOL what pastebin?
16:48:11 <ehird> also, i don't like the pastebins I link
16:48:13 <ehird> I only use pastie
16:48:16 <AnMaster> ehird, pastie.org
16:48:17 <ehird> I was just trying to find a fast one
16:48:19 <AnMaster> that is the one
16:48:20 <ehird> ... wait, really?
16:48:23 <AnMaster> ehird, yes
16:48:27 <AnMaster> rafb here I come!
16:48:29 <ehird> wow.
16:48:33 <ehird> that is amazingly retarded.
16:48:40 <ehird> I'm using paste.lisp.org from now on.
16:48:50 <AnMaster> ehird, the captcha thingy...
16:48:51 <ehird> AnMaster: I'll write you a command-line paste.lisp.org paster, dammit :P
16:48:57 <AnMaster> ehird, btw http://rafb.net/p/1giASD62.html
16:49:04 <AnMaster> silly yes
16:49:20 <ehird> ( http://pastie.org/412847 )
16:49:21 <ehird> also, that's great
16:49:36 <ehird> you should record it
16:49:40 <ehird> it sounds catchy.
16:49:45 <ehird> The proxy server received an invalid response from an upstream server.
16:49:45 <ehird> The proxy server could not handle the request GET /.
16:49:46 <ehird> Reason: Error reading from remote server
16:49:48 <ehird> --paste.lisp.org
16:49:50 <ehird> X_X
16:50:02 <ehird> 15:47 Deewiant: /bin/ed is 49K here O_o
16:50:05 <AnMaster> hm?
16:50:07 <ehird> Mach-O binaries tend to have large overhead
16:50:20 <Deewiant> Ah, right, it's two binaries, isn't it?
16:50:31 <ehird> no
16:50:37 <ehird> I don't think it's universa
16:50:38 <ehird> l
16:51:25 <Deewiant> Mach-Os can have code for multiple archs
16:51:32 <ehird> I know
16:51:33 <Deewiant> Not only the new Universal ones
16:51:44 <ehird> universal binary = marketing term for dual-arch mach-os
16:51:53 <Deewiant> Ah, great
16:52:27 <ehird> PPC macs are probably going to be unsupported in 10.7 or so
16:52:55 <ehird> since it'll have been 5-6 years since you could buy a ppc mac
16:53:40 <neldoreth> http://pastebin.com/m564d25c7 can someone give me a hint what i have to do to read a new char from stdin? i want to evaluate the first one, then print something and then read one again, but at this point the program quits
16:54:18 <ehird> neldoreth: <<< is pointless
16:54:20 <ehird> you only need one <
16:54:24 <ehird> and it'll keep going that way
16:54:28 <ehird> prettier, though, I guess
16:54:38 <Deewiant> Cue AnMaster saying it's slower
16:55:09 <AnMaster> hm?
16:55:10 <ehird> I was just thinking that
16:55:15 <ehird> Deewiant: see neldoreth's paste
16:55:16 <ehird> uses <<
16:55:20 <Deewiant> ehird: AnMaster
16:55:20 <ehird> also see backlog.
16:55:25 <ehird> err
16:55:26 <ehird> right.
16:56:12 <neldoreth> i know but i can "draw something" :D
16:56:12 <neldoreth> i should run back to the ~ in the left corner all the time
16:56:13 <Deewiant> neldoreth: it might be easier to use "a"- instead of 99*-44*-
16:56:28 <ehird> proposed new name for naive mark and sweep GCs: Racially discriminatory garbage collection
16:56:30 <Deewiant> or if you're using Befunge-98, 'a-
16:56:30 <ehird> (white/black, geddit?)
16:56:44 <AnMaster> ehird, http://rafb.net/p/kpPckS27.html
16:57:09 <ehird> AnMaster: now do it as a loop
16:57:12 <AnMaster> Deewiant, also space is faster in ticks
16:57:14 <ehird> (99bob only accepts looping submissions)
16:57:27 <AnMaster> ehird, well hard, valgrind will merge the leak records then
16:57:32 <ehird> ( http://pastie.org/private/iv4m2aemernoywywhfy2nq )
16:57:34 <ehird> AnMaster: just loop in cpp
16:57:35 <AnMaster> + it doesn't print the actual lyrics
16:57:35 <Deewiant> AnMaster: Yes, exactly that's what I said you'd say
16:57:38 <ehird> 99bob has been done in CPP
16:57:43 <AnMaster> ehird, ah hm true
16:57:53 <Deewiant> neldoreth: Your logic seems strange
16:58:00 <neldoreth> the left top box in the middle checks if the input is an a, the right top one if its an b - the lower boxes are just printing something
16:58:02 <ehird> also, it'd probably be accepted if you explained why it's as close as you can get in valgrind
16:58:09 <AnMaster> Deewiant, well you might prefer <<< if you want to sync threads
16:58:19 <AnMaster> since space take no ticks
16:58:26 <AnMaster> or one in strings
16:58:32 <Deewiant> neldoreth: Or no, wait, you quit if you don't get an 'a' or 'b'
16:58:54 <ehird> AnMaster: #define G(n) void l ## n (){for(int i=0;i<n;i++)malloc(1);}
16:59:00 <ehird> you don't need c99 there...
16:59:10 <AnMaster> ehird, indeed, but it is longer if you move int out
16:59:18 <ehird> it's not a golf contest :D
16:59:23 <AnMaster> #define G(n) void l ## n (){int i;for(i=0;i<n;i++)malloc(1);}
16:59:24 <AnMaster> vs
16:59:26 <AnMaster> #define G(n) void l ## n (){for(int i=0;i<n;i++)malloc(1);}
16:59:27 <AnMaster> see?
16:59:33 <ehird> for(int
16:59:34 <ehird> is C99 too
16:59:40 <AnMaster> ehird, it is yes
16:59:42 <ehird> anyway, you'd have to make it looping for the site
16:59:45 <ehird> so it'll be longer anyway
16:59:55 <AnMaster> ehird, so it would use the preprocessor
17:00:03 <ehird> it would be cpp+C+valgrind 99bob
17:00:08 <AnMaster> anyway does it really qualify? It isn't the original lyrics
17:00:09 <AnMaster> after all
17:00:09 -!- neldoreth has quit (Remote closed the connection).
17:00:14 -!- neldoreth has joined.
17:00:15 <ehird> yes, if you explained, probably
17:00:17 <ehird> as a novelty entry
17:00:29 <AnMaster> ehird, and valgrind outputs it sorted so largest leak is last. Which is why I need tac there
17:00:41 <ehird> okay then, it's cpp+C+valgrind+shell
17:00:52 <ehird> you could get a 'most languages combining to produce the wrong output' reward :D
17:01:00 <AnMaster> ehird, not shell builtin. Anyway I don't think I will submit it.. Probably
17:01:09 <neldoreth> ah damn net connection
17:01:11 <AnMaster> but I should try to making it looping in cpp
17:01:16 <AnMaster> need to figure out how that works first...
17:01:30 <neldoreth> did someone responded after "[16:59:27] neldoreth : the left top box.."
17:01:30 <AnMaster> ehird, anyway it is looping. for loops
17:01:32 <AnMaster> lots of them
17:01:33 <AnMaster> ;)
17:02:04 <Deewiant> neldoreth: After I complained about your logic I said: 2009-03-10 17:58:32 ( Deewiant) neldoreth: Or no, wait, you quit if you don't get an 'a' or 'b'
17:02:36 <neldoreth> yeah thats true
17:03:20 <Deewiant> So what was your problem?
17:03:23 -!- BeholdMyGlory has joined.
17:04:03 <neldoreth> ah, when i type a and press return i first handle the a and then the newline and so it quits - what i want is to read another time from the stdin
17:04:29 <Deewiant> neldoreth: So... don't quit if you get a newline? :-P
17:05:11 <AnMaster> ehird, (not yet recursive) but c89: http://rafb.net/p/eMJu3514.html
17:05:39 <ehird> ( http://pastie.org/private/2uu4zcnp28kjjolbkjlza )
17:05:42 <AnMaster> ehird, and don't claim I'm anal about clean C when I wrote this.
17:05:46 <neldoreth> argh, yes - god :D
17:06:38 <Deewiant> neldoreth: You might want to read getting a blank line as a quit, though
17:08:04 <AnMaster> ehird, "# Approval may take some time (currently 354 languages in our queue) unless your submission is 'obviously correct' to us."
17:08:13 <ehird> hmm. sounds rather abandoned.
17:08:19 <AnMaster> indeed
17:09:40 <AnMaster> ehird, hm in http://99-bottles-of-beer.net/language-c-c++-preprocessor-997.html?PHPSESSID=dd5c2ef875ab6fe583f94a4bf5a6d0b1 what on earth do the | do?
17:10:18 <ehird> nothing
17:10:20 <ehird> I think
17:10:29 <ehird> AnMaster: it's just cpp
17:10:32 <ehird> so it's interpreted as plaintext
17:11:26 <AnMaster> ah true
17:16:31 -!- MigoMipo has joined.
17:26:54 <AnMaster> wait, main() returns implicit 0?
17:27:06 <AnMaster> is that standard or gcc thing?
17:28:35 <Deewiant> C99 standard
17:28:51 <Deewiant> Before that, possibly GCC :-P
17:28:55 <AnMaster> Deewiant, what about C89?
17:29:19 <Deewiant> I think it was just a normal int-returning function then
17:29:57 <Deewiant> What does the C standard say about functions which don't return but are prototyped to?
17:30:03 <AnMaster> http://rafb.net/p/RSKN7292.html
17:30:06 <AnMaster> what about that?
17:30:10 <AnMaster> well not recursive yet
17:30:22 <AnMaster> I just liked thiiis variant
17:30:46 <AnMaster> ehird, ^
17:31:02 <ehird> http://pastie.org/private/nfhn6okyyubkdnmkwjpfg
17:31:09 <AnMaster> ok but what do you think about it?
17:31:24 <AnMaster> also paste.lisp seems to work now
17:33:44 <ehird> http://common-lisp.net/project/lisppaste/lisppaste.el
17:33:47 <ehird> lisppaste from emacs
17:33:49 <ehird> good enough for you?
17:33:58 <AnMaster> what about from shell?
17:34:03 <AnMaster> I was actually using nano atm
17:34:04 <ehird> I'll write one :P
17:34:38 -!- FireFly has joined.
17:38:40 <ehird> how to write better shell: alias return=echo
17:38:40 <ehird> :P
17:38:56 <ehird> AnMaster: what are erlang extensions?
17:39:09 <AnMaster> heh
17:39:13 <ehird> wut
17:39:16 <AnMaster> ehird, um. what?
17:39:19 <ehird> file
17:39:21 <ehird> extensions
17:39:23 <AnMaster> also it was heh about alias
17:39:24 <AnMaster> ah
17:39:32 <AnMaster> .erl for source, .hrl for includes
17:39:36 <AnMaster> .beam for bytecode
17:40:54 <ehird> ><option value="WebKit (text or diff)"
17:40:55 <ehird> >WebKit (text or diff)</option
17:40:57 <ehird> now what the fuck does that mean
17:41:20 <AnMaster> huh?
17:41:40 <AnMaster> it seems like a cut out fragement of some HTML code?
17:42:04 <ehird> yes, it's a paste.lisp.org syntax highlighting option
17:42:08 <ehird> I'm trying to figure out wtf it means
17:45:50 <ehird> hmm
17:45:54 <ehird> how do you convert to lowercase in bash?
17:48:18 <ehird> http://lists.osuosl.org/pipermail/darcs-users/2009-March/018239.html <- I think the darcs devs have just given up
17:48:55 <pikhq> tr '[:upper:]' '[:lower:]'
17:49:14 <ehird> >.<
17:49:54 <ehird> hmm
17:50:04 <ehird> if you pass a shell function something like "a b", it can just use $1 instead of "$1", right?
17:51:50 <pikhq> Think so.
17:52:13 <ehird> yay, my shell script just lost 500KB of quotes :P
17:53:09 <ehird> AnMaster: http://www.nopaste.com/
17:53:14 <ehird> loads really fast
17:53:19 * ehird continues writing script
17:53:40 <AnMaster> it has a delete button?
17:53:48 <ehird> seems to be IP-based.
17:54:00 <ehird> so I guess it's for the "oh shit I just pasted my password"
17:54:01 <ehird> case
17:54:20 <AnMaster> ehird, no bash highlight?
17:54:29 <ehird> true, it does lack highlights
17:54:32 <ehird> AnMaster: C highlight would work for bash
17:54:40 <AnMaster> ehird, not well in my experience
17:55:25 <AnMaster> hrrm
17:55:28 * AnMaster checks
18:03:43 <ehird> lisp.paste.org has no bash hgihlighting, actually
18:03:47 <ehird> whch is a shame but oh well, who cares
18:07:11 <ehird> AnMaster: hey, the captcha is gone!
18:07:16 <AnMaster> huh?
18:07:17 <ehird> maybe it only does it once per IP
18:07:17 * AnMaster looks
18:07:24 <AnMaster> cookie iirc
18:07:29 <ehird> ah
18:07:37 <ehird> wow
18:07:40 <ehird> the captcha is css
18:07:41 <ehird> not an image
18:07:47 <AnMaster> really?
18:07:50 <ehird> yep
18:08:04 <ehird> '<input type="hidden" name="captchaid" value="4ccbd82bbeddf490a6eede296e92c403" />'
18:08:06 <AnMaster> i can't select it... hm
18:08:06 <ehird> how infuriating.
18:08:14 <ehird> I could just use the xml-rpc, but meh.
18:08:22 <ehird> hmm.
18:08:35 <AnMaster> a table?
18:08:45 <ehird> no, a div
18:08:50 <AnMaster> ah right
18:09:10 <ehird> % curl -s http://paste.lisp.org/|grep captcha
18:09:11 <ehird> ><input type="text" name="captcha" /><input type="hidden" name="captchaid" value="d90835c8e963fd8044287b4e2f11a498" /></td
18:09:14 <ehird> Et voila.
18:09:58 -!- jix_ has joined.
18:10:40 <ehird> % curl -s http://paste.lisp.org/ | grep captcha | sed 's/.*value="\(.*\)".*/captcha=lisp\&captchaid=\1/;'
18:10:41 <ehird> captcha=lisp&captchaid=02bbbb07dd6f667b9c1c94194843771b
18:11:02 <AnMaster> err
18:11:09 <AnMaster> I just made a loop variant
18:11:12 <AnMaster> without cpp
18:11:16 <ehird> neat
18:11:20 <AnMaster> it uses reflection
18:11:21 <AnMaster> kind of
18:11:24 <AnMaster> dlsym()
18:11:26 <ehird> ha
18:11:52 <ehird> uh oh, I need to urlencode in bash
18:11:54 <ehird> this will be fun
18:12:02 <AnMaster> hm?
18:12:16 <AnMaster> why not use some other language?
18:12:19 <ehird> dunno
18:12:22 <AnMaster> I do have python, perl and so on
18:12:22 <ehird> I started writing it in bash
18:12:30 <ehird> actually my bash is looking vaguely like python
18:12:34 <AnMaster> ehird, I don't think bash is the sanest language for this...
18:12:35 <pikhq> Remember what channel this is, AnMaster.
18:12:38 <ehird> because I'm not really quoting anything
18:12:42 <ehird> AnMaster: one word: envbot
18:12:44 <ehird> now shut up :P
18:12:46 <AnMaster> yes
18:12:52 <AnMaster> so I should know when it is insane
18:13:03 <AnMaster> if I say it is insane to do in bash, it has to be really insane
18:13:03 * pikhq nods
18:13:05 <AnMaster> logic
18:13:10 <ehird> hokay let's see well this shouldn't be hardy hard
18:13:19 <AnMaster> so
18:13:23 <AnMaster> I wish you good luck :D
18:13:32 <ehird> meh, it's almost done
18:13:35 <ehird> just some trivial curl
18:13:44 <ehird> and mapping file extensions to languages
18:14:03 <ehird> okay, so, urlencoding:
18:14:07 <ehird> replace space with +
18:14:20 <ehird> replace anything not in 0-9a-zA-Z and $-_.!*'(), with %XX
18:14:24 <ehird> where XX is the character code in hex
18:14:41 <oklopole> sounds pretty solid
18:14:45 -!- oklopole has changed nick to oklopol.
18:14:49 <oklopol> hello world, what's up
18:15:01 <ehird> the sky
18:15:10 <pikhq> ehird, that's great and all, except that you replace space with %20.
18:15:22 <ehird> pikhq: + is accepted by everything under the sun
18:15:26 <ehird> as space
18:15:36 <ehird> pikhq: search for hello world on the google dot com
18:15:39 <ehird> take a look at the url
18:15:41 <ehird> &q=hello+world
18:15:44 <pikhq> Doesn't make it right.
18:16:14 <ehird> pikhq, if I was going for right I'd be half way through writing my lisp operating system:)
18:16:45 * pikhq hands ehird a copy of the Emacs source code
18:16:47 <pikhq> Get cracking.
18:16:48 <pikhq> ;)
18:16:58 <ehird> I was hoping for something more elegant. :P
18:17:16 <pikhq> Yeah, I know... But any Lisp operating system simply *must* also count as an Emacs.
18:17:34 <pikhq> Not necessarily GNU Eamcs, of course. Bit of a hack, that.
18:17:36 <ehird> Well, yeah, the lisp machine OSes were basically generalized emacses
18:17:50 <ehird> I'm not yet crazy enough to make my own hardware, though.
18:18:09 <pikhq> Doesn't need to be a Lisp machine, you know.
18:18:32 <pikhq> Just needs to be normal hardware, with car, cdr, lambda, and def defined. :p
18:18:43 <ehird> :D
18:18:49 <ehird> wait, no cons?
18:18:52 <ehird> can you car a lambda or something?
18:19:04 <ehird> pikhq: why not just have lambda
18:19:08 <pikhq> Sorry. Scratch the car and cdr.
18:19:12 <ehird> after all, def is just a fancy ((lambda (name) ...) value).
18:19:34 <ehird> methinks we have a slight problem, namely that of io...
18:20:09 <pikhq> Fine, fine. You want it to be *useful*...
18:20:21 <pikhq> Guess you'll need read and print as well...
18:20:28 <AnMaster> http://www.nopaste.com/p/aQnonJ8OT
18:20:29 <AnMaster> ehird, ^
18:20:37 <pikhq> Perhaps some more complex IO as well.
18:20:58 <ehird> AnMaster: nope, sorry
18:21:01 <ehird> you're not allowed to name 99-1
18:21:05 <ehird> you have to loop that part
18:21:30 <AnMaster> ehird, yes I know
18:21:47 <AnMaster> ehird, but I still think this is rather nice. My plan is to loop the 99-1 bit too
18:21:54 <ehird> :D
18:22:07 <ehird> pikhq: the AFO deregistered
18:22:17 <AnMaster> ehird, by recursively calling cpp in -traditional mode to expand one step at a time + add part of the next
18:22:23 <ehird> hmm, I'm only the third person to tell you I see
18:22:29 <AnMaster> ehird, what do you think about that?
18:22:35 <ehird> AnMaster: no no no
18:22:38 <ehird> you can loop with plain cpp
18:22:42 <ehird> you just do recursive #includes
18:22:43 <AnMaster> ehird, yes but this is funnier
18:23:02 -!- jix has quit (Read error: 113 (No route to host)).
18:23:58 <ehird> hmm
18:24:11 <ehird> I wonder if you can loop through a string's chars in absh
18:25:06 <AnMaster> $(for i in {0..99};do echo -n | cpp -traditional -Da$i="r($i)a$((i+1))"; done | sed '^/|//')
18:25:08 <pikhq> ehird: Yeah; I intend to register the AFO when next possible.
18:25:09 <AnMaster> or something
18:25:09 <AnMaster> :D
18:25:16 <AnMaster> well that won't work as such
18:25:20 <AnMaster> but the idea is sound
18:25:22 <ehird> pikhq: Um, but Murphy is the one who deregistered it and he is a party.
18:25:32 <ehird> He'd just deregister it again if you didn't seek consensus.
18:25:45 <oklopol> hardcovers are awesome.
18:26:05 <pikhq> Alas, I *can* talk to Murphy.
18:26:10 <AnMaster> ehird, what do you think of that idea?
18:26:18 <ehird> meh :P
18:26:24 <ehird> pikhq: WHAT BUT THAT'S IMPOSSIBLE :|
18:26:38 <pikhq> How else do you think the Left Hand came into being?
18:26:58 * pikhq wonders if that contract still exists...
18:26:58 <ehird> I believe judicial precedent is that while it existed, it didn't work...
18:27:05 <ehird> also, I think it was terminated in a cleanup
18:27:13 <ehird> http://agora-notary.wikidot.com/system:page-tags/tag/contract
18:27:17 <ehird> gone
18:27:23 <pikhq> Good to know.
18:27:50 <ehird> Taking this to /msg, to unclutter #esoteric:
18:36:14 -!- psygnisfive has quit (Remote closed the connection).
18:51:23 <ehird> Hmm.
18:51:27 <ehird> Some sort of captcha problem.
18:51:30 <ehird> AnMaster: lisppaste(1) is almost don.
18:51:31 <ehird> e
18:51:42 <AnMaster> k
18:58:56 <ehird> AnMaster: it's done, the only thing it doesn't do is annotate a paste
18:58:59 <ehird> do you need that? :P
19:01:22 <AnMaster> http://www.nopaste.com/p/a1S6eQHnp <-- fixed version slightly
19:01:27 <AnMaster> there was a typo in last
19:01:28 <ehird> AnMaster:
19:01:29 <ehird> http://paste.lisp.org/display/76773
19:01:31 <ehird> There you go.
19:01:33 <AnMaster> no I'm not yet done with recursive
19:01:46 <ehird> Pop in ~/bin, put in your .profile:
19:01:51 <ehird> export LISPPASTE_USER=AnMaster
19:01:53 <ehird> and then just
19:01:59 <ehird> lisppaste [language] (filename | -)
19:02:08 <AnMaster> you depend on bash?
19:02:13 <AnMaster> or do you want plain sh?
19:02:19 <ehird> I use ${foo##bar}
19:02:23 <AnMaster> right
19:02:26 <ehird> dunno if that's in sh
19:02:35 <AnMaster> ehird, does it work on filenames with spaces?
19:02:43 <ehird> AnMaster: yes, I'll test just to make sure
19:03:03 <ehird> No.
19:03:06 <AnMaster> if [ $1 = - ]; then <-- think that would break with it
19:03:07 <ehird> I'll fix that.
19:03:11 <AnMaster> if [[ $1 = - ]]; then
19:03:17 <AnMaster> does what you want there
19:03:36 <AnMaster> urlencode() {
19:03:36 <AnMaster> echo -n "$1" | perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg'
19:03:36 <AnMaster> }
19:03:39 <AnMaster> that's cheating ;P
19:03:43 <ehird> Indeed.
19:03:55 <ehird> AnMaster: http://paste.lisp.org/display/76776 updated version
19:03:58 <AnMaster> ehird, what exactly does it do? convert to hex ascii value?
19:04:01 <AnMaster> if yes then it is easy
19:04:03 <ehird> it urlencodes.
19:04:38 <ehird> also, it sets the title to the filename you give it (no expansion done)
19:04:41 <ehird> or untitled if stdin
19:04:47 <AnMaster> nice
19:05:28 <AnMaster> ehird, but question, what exactly does that perl do. I guess convert everything not in [-_.~A-Za-z0-9] to %octalvalue ?
19:05:30 <AnMaster> right
19:05:31 <AnMaster> ?
19:05:38 <ehird> Hex value.
19:05:44 <AnMaster> ah right
19:05:50 <AnMaster> ehird, want to know how in pure bash?
19:06:00 <ehird> Not really :P
19:06:05 <ehird> Curl can urlencode for you
19:06:10 <ehird> I could just use that
19:06:11 <ehird> but meh
19:06:15 <AnMaster> hex() { printf -v "$1" '%d' "'$2"; }
19:06:19 <AnMaster> converts one letter
19:06:21 <AnMaster> use like:
19:06:26 <AnMaster> hex myvar "a"
19:06:29 <AnMaster> echo $myvar
19:06:48 <AnMaster> ehird, needs bash 3.1 or later. for 3.0 too do something like:
19:06:54 <AnMaster> hex() { printf '%d' "'$1"; }
19:06:57 <ehird> (labels(({(] &rest [)(apply([
19:06:57 <ehird> ])[))([(>)(elt(]())>))(](<)(do-external-symbols(] :cl)(push ] <))(sort
19:06:58 <AnMaster> and have: hex a
19:06:58 <ehird> <`string<`:key`string))(}({ + ^)({`816`1/5)({`688({`875({`398()"~{~A~^
19:07:00 <ehird> ~}"(]())){(+ { +)))({`381)^))(do*(({`5248({`584 }`36063))([`874({`395
19:07:02 <ehird> {`6))(]`4({`584 {`6))(}`#36RH4G6HUTA1NVC1ZHC({`395 }`36063)))((} [ ]
19:07:04 <ehird> ({`977 ]))({`902)({`381))))
19:07:05 <AnMaster> ?
19:07:06 <ehird> ^ a janlh,
19:07:07 <oklopol> wow that's pretty
19:07:08 <ehird> program
19:07:12 <ehird> AnMaster: run it in a common lisp interpreter
19:07:28 <oklopol> what's that
19:07:34 <oklopol> janlh
19:07:34 <AnMaster> ehird, not sure I want to. could be overwrite files or whatever
19:07:38 <ehird> AnMaster: it isn't.
19:07:42 <ehird> I promise.
19:07:44 <AnMaster> ehird, then what does it do?
19:07:47 <ehird> seriously, I'm the last person to do something like that
19:07:51 <ehird> AnMaster: you know japh programs?
19:07:53 <ehird> (just another perl hacker)
19:07:55 <ehird> it's one of those.
19:07:58 <AnMaster> sounds familiar
19:08:02 <AnMaster> don't remember details
19:08:10 <ehird> they print out "Just another perl hacker,"
19:08:13 <ehird> in the most obscure way possible
19:08:14 <AnMaster> ah right
19:08:42 <ehird> as far as I can tell, by the way, this one works by searching through all standard common lisp names, finding one with the most consecutive characters to output next, and outputs it
19:08:44 <ehird> then repeats
19:09:04 <AnMaster> haha
19:09:13 <ehird> uh oh, is that a dead pixel on my screen?
19:09:18 <ehird> I can't wipe it off.
19:09:28 <AnMaster> ehird, doesn't most screens have 1-2 or so?
19:09:38 <ehird> This one has had none.
19:09:41 <AnMaster> mhm
19:09:44 <AnMaster> lucky you
19:09:45 <ehird> it's probably just some dust or something
19:10:03 <AnMaster> could be a new one
19:10:06 <ehird> well, maybe it has them but it's in some obscure corner where I never look
19:10:11 <ehird> the dpi is high enough that i'd probably never notice
19:10:15 <ehird> but this one is in a particularly annoying place
19:10:30 <AnMaster> where?
19:10:47 <AnMaster> of course. Over my name in the nick list. Could be no worse place ;P
19:10:53 <ehird> Right now, on my IRC input line, which is white-backgrounded, so it stands out a lot.
19:11:10 <ehird> Well, all going to plan I'll be replacing this monitor soon, anyway, so no great loss ...
19:11:23 <AnMaster> ehird, that is the good thing with black terminals :P
19:11:32 <ehird> yeah, the one good thing
19:11:34 <AnMaster> you don't see the dead pixels as much
19:11:58 <AnMaster> personally I also find it easier to read white on black...
19:12:21 <oklopol> yeah it's nicer
19:12:32 <oklopol> i wish books were printed that way
19:12:43 <ehird> It would be true if you used the computer a lot at night; but I hate the dark (it depresses me) so I optimize for daylight
19:13:26 <AnMaster> oklopol, no that wouldn't work as well, Screen and print are different
19:13:36 <ehird> it's oklopol
19:13:41 <ehird> he'd find a way to make it work.
19:13:58 <oklopol> i love white on black it on print too
19:14:03 <oklopol> have you actually tried, anmy?
19:14:12 <AnMaster> high quality paper too, since ink would otherwise saturate it badly
19:14:16 <ehird> AnMaster: so does lisppaste(1) work for you?
19:14:27 <AnMaster> ehird, oh *tests*
19:14:34 <ehird> AnMaster: make sure to set LISPPASTE_USER
19:14:41 <ehird> probably want to do that in .profile or whatever
19:15:57 <AnMaster> hm it does
19:16:12 <AnMaster> ehird, did you see http://common-lisp.net/project/lisppaste/xml-rpc.html btw?
19:16:19 <ehird> yes
19:16:24 <ehird> but xml-rpc is a hideous protocol
19:16:28 <ehird> and I'd have to escape XML
19:16:33 <AnMaster> well ok good point
19:18:32 <AnMaster> ehird, why do you use curl?
19:18:39 <AnMaster> bash has tcp support...
19:18:47 <ehird> :|
19:18:50 <AnMaster> ehird, ;P
19:18:53 <ehird> I could also fucking write it in dd/sh but I won't :P
19:19:04 <ehird> (dd/sh = use only shell builtins and dd)
19:19:18 <AnMaster> how would you open network connection then?
19:19:21 <ehird> /dev/tcp
19:19:26 -!- ais523 has joined.
19:19:27 <AnMaster> err, that is a bash extension
19:19:30 <ehird> hi ais523
19:19:32 <AnMaster> ehird, ^
19:19:34 <ehird> AnMaster: it's a shell builtin
19:19:35 <ehird> http://select.intercal.org.uk/dd.sh/
19:19:50 <AnMaster> /dev/tcp is a bash extension afaik?
19:19:56 * AnMaster looks
19:19:58 <ehird> yes
19:20:01 <ehird> but it's a BASH builtin
19:20:05 <AnMaster> well true
19:20:10 <ais523> how can a file be a builtin?
19:20:14 <AnMaster> but that is dd/bash, not dd/sh
19:20:19 <ehird> whatever :P
19:20:20 <AnMaster> ais523, indeed it isn't
19:20:24 <ehird> ais523: uh, dd.sh uses files
19:20:28 <ehird> it's just the commands that are restricted
19:20:31 <AnMaster> but I decided to ignore it to avoid confusion
19:20:33 <AnMaster> also hi ais523
19:20:40 <ehird> ais523: today I compiled a TECO port for unix
19:20:45 <ehird> it's actually quite usable
19:20:57 <ais523> well, it was the main editor around for ages
19:21:00 <AnMaster> ais523, and I wrote 99 bottles of valgrind
19:21:02 <ais523> so I wouldn't expect it to be unusual
19:21:03 <AnMaster> well it isn't perfect yet
19:21:07 <ais523> AnMaster: what, how?
19:21:15 <ais523> *unusable
19:21:17 <AnMaster> ais523, not the actual song lyrics exactly
19:21:21 <ais523> ehird: are you using it as an interactive or batch editor?
19:21:25 <AnMaster> ais523, but a joke on it
19:21:28 <ehird> ais523: interactive
19:21:35 <ehird> the commands are basically like ed
19:21:36 <ehird> except more intuitive
19:21:38 <ehird> there, I said it
19:21:38 <AnMaster> ais523, http://www.nopaste.com/p/a1S6eQHnp
19:21:41 <ehird> TECO is easier than ed.
19:22:10 <AnMaster> ais523, I plan to avoid the _ thing by doing something like: $(for i in {0..99};do echo -n | cpp -traditional -Da$i="r($i)a$((i+1))"; done | sed '^/|//')
19:22:13 <AnMaster> well not exactly
19:22:15 <AnMaster> but similar
19:22:34 <ais523> ehird: sounds great
19:22:34 <AnMaster> need quoting
19:22:39 <ais523> maybe I should learn it
19:22:42 <ehird> ais523: here, I'll give you a transcript URL
19:23:02 <ehird> ais523: http://pastie.org/private/xstfyhfbfciqpr6yqkuhvw
19:23:06 <ais523> nopaste.com?
19:23:09 <ehird> note that at one point, I get a * prompt in the middle of the line
19:23:10 <AnMaster> ais523, anyway what do you think of that program?
19:23:11 <AnMaster> ...
19:23:33 <ais523> AnMaster: it's a memory-leak 99 bottles of beer?
19:23:44 <AnMaster> ais523, it is safe to run. I assume you have valgrind
19:23:48 <ais523> couldn't you use a loop? writing all 99 bottles by hand is cheating
19:23:51 <ais523> yes, I have valgrind
19:23:55 <AnMaster> ais523, yes I plan to loop
19:23:59 <AnMaster> ais523, in cpp
19:24:03 <ais523> but I've only just sat down and already people are trying to make me do everything at once
19:24:11 <AnMaster> I can't call same function, valgrind merges backtraces
19:24:15 <ehird> look at mine first, it's cooler ;-)
19:24:18 <AnMaster> so it can't work without 99 different functions
19:24:24 <ais523> AnMaster: what if you call it from 99 different contexts?
19:24:29 <ehird> ais523: btw, $ there is how <ESC> is printed
19:24:38 <ehird> two escapes terminate a line
19:24:38 <ais523> valgrind doesn't merge different callstacks
19:24:39 <AnMaster> ais523, hm. That would still need 99 code paths right?
19:24:42 <ehird> one escape terminates a variadic command (like insert (I))
19:24:45 <AnMaster> which would be about same
19:25:00 <ais523> AnMaster: 99 codepaths you can do with just 2 functions
19:25:08 <ais523> if those functions are both directly recursive and mutually recursive
19:25:22 <ais523> although you'd need to increase the context depth a bit in valgrind
19:25:23 <AnMaster> ais523, err valgrind *does* merging between 8 calls backwards
19:25:24 <AnMaster> iirc
19:25:34 <AnMaster> even if not exactly the same
19:25:45 <ais523> AnMaster: you can choose the number of stack entries that have to match
19:25:46 <AnMaster> hm
19:25:49 <AnMaster> ais523, ah yes true
19:25:55 <AnMaster> that could work
19:25:55 <ais523> besides, 99 < 2 to the power 7
19:26:07 -!- kar8nga has joined.
19:26:26 <AnMaster> hm
19:26:38 <ais523> ehird: what does newline do in TECO, by the way?
19:26:45 <AnMaster> ais523, how would that work out... *thinks*
19:26:48 <ais523> I know that all the unprintable characters do something
19:26:49 <ehird> ais523: it's not interpreted specially, so it just keeps waiting for input
19:26:50 <ais523> but not what
19:26:52 <ehird> you can do:
19:26:55 <ehird> Ihello,
19:26:56 <ehird> world!$$
19:27:00 <ehird> to insert multiple lines
19:27:02 <AnMaster> oh you mean aaab, aaba and so on?
19:27:05 <ehird> it's just like ed, really
19:27:14 <ais523> AnMaster: yes, what else
19:27:31 <AnMaster> ais523, well right, need to work out how to figure out what to call when
19:27:31 <AnMaster> hm
19:27:32 <ais523> ehird: I think TECO's a worthy ancestor to both Emacs and vi
19:27:36 <ais523> ed was clearly inspired by it
19:27:41 <ais523> and vi descended from ed
19:27:42 <AnMaster> you would have to do some modulo tricks
19:27:43 <AnMaster> or such
19:27:48 <ais523> whereas Emacs was originally written in TECO
19:27:49 <ehird> vi was descended from ex
19:27:53 <ehird> which was descended from ed
19:27:53 <ais523> oh, yes
19:27:55 <AnMaster> though I'm not sure
19:27:56 <ais523> sorry
19:28:16 <ehird> [ehird:~/Junk] % teco
19:28:16 <ehird> *Elliott Hird$$
19:28:18 <ehird> ?NYI Not yet implemented
19:28:23 <ehird> I am not yet implemented :(
19:28:27 <AnMaster> hehe
19:28:34 <AnMaster> that implementation needs work?
19:28:44 <ehird> no, it just isn't 100% complete :P
19:29:11 <ais523> finding out what your name does in TECO used to be a common thing for people to figure out
19:29:13 * oklopol has a course in mathematica
19:29:17 <ais523> NOOOOOO!
19:29:25 <AnMaster> ais523, yes but running and checking is cheating
19:29:27 * ais523 screams receding into the distance
19:29:29 <AnMaster> you need to work it out *first*
19:29:30 <ehird> hahaha
19:29:32 <AnMaster> ais523, what?
19:29:39 <ehird> AnMaster: can you notice messages, please?
19:29:43 <ais523> AnMaster: in reply to oklopol
19:29:43 <ehird> 18:29 oklopol has a course in mathematica
19:29:47 <AnMaster> yes
19:29:47 <AnMaster> and?
19:29:51 <ehird> ais523: also you copied that from wikipedia
19:29:58 <ais523> what, me doing that?
19:29:59 <ehird> AnMaster: ais523, wolfram prize, mathematica, hates, memory working yet?
19:30:04 <ehird> ais523: no, the TECO name thing
19:30:11 <AnMaster> ah
19:30:12 <AnMaster> right
19:30:14 <ais523> I think I've seen it before, possibly in the jargon file
19:30:21 <AnMaster> ehird, still the reaction seems like a strange joke
19:30:33 <ehird> oh, you don't even have to use uppercase with teco
19:30:38 <ehird> it's case insensitive
19:31:17 <AnMaster> how boring
19:32:01 <ais523> ok, that's crazy: it reacts to all the control codes, but doesn't distinguish lowercase/uppercase?
19:32:05 <ais523> oh, I just realised why
19:32:06 <ehird> and, of course, most ASCII does nothing since TECO had a more restrictive character set
19:32:14 <ais523> TECO was probably invented before lowercase on computers was
19:32:19 <ehird> PDP-10
19:32:30 <ehird> "It is literally the case that every string of characters is a valid TECO program"
19:32:32 <ehird> Yeah, um, no.
19:32:38 <ehird> Case in point: I get errors.
19:32:55 <ehird> ''Initially, if I remember correctly, EMACS was Eugene Ciccarelli's init file which made use of MIT TECO's ^R mode ("Realtime") that repainted the screen. RMS started hacking on it around '76 I think and it kind of, um, grew."
19:33:01 <ehird> Ha, rms didn't start emacs.
19:33:17 <AnMaster> oh?
19:33:29 <ais523> ehird: no, I don't think so
19:33:33 <ais523> GNU Emacs was only one implementation
19:33:42 <ehird> errrr
19:33:46 <ehird> it was the first.
19:33:49 <ehird> it was originally just EMACS
19:34:00 <ehird> i was just saying that he originally forked it from someone else's init file :D
19:34:20 <ais523> there were others, I even came across a rather primitive one years ago, for DOS
19:34:20 <ais523> elisp is specific to GNU Emacs and its derivatives, though I think
19:34:30 <ehird> for DOS?
19:34:33 <ehird> that's recent
19:34:35 <ehird> we're talking the 70s
19:34:40 <ehird> I don't think you understand what I am saying
19:34:41 <AnMaster> ais523, about finding out which order to call, what would be the best way? I'm thinking of some sort of depth counter combined with the number counter
19:34:58 <ehird> common knowledge: RMS started emacs. Funny anecdote: It was originally a fork of someone else's init file.
19:35:37 <ais523> AnMaster: just use a decrementing int
19:35:40 <ais523> and check its bit pattern
19:35:49 <ais523> or, you don't even need to do that
19:36:00 <ais523> void a() {a(); b();}
19:36:04 <ais523> void b() {b(); a();}
19:36:13 <ais523> insert parameters and some bottoming-out condition to taste
19:36:13 <AnMaster> well that would mean 99 calls
19:36:25 <AnMaster> wait no
19:36:42 <AnMaster> a depth of half each?
19:40:49 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:45:08 <AnMaster> mymacro=$(a=$(for i in {1..99};do echo -n "|cpp -P -traditional -Da$i=\"r($i)a$((i+1))\" - "; done | sed 's/|//'); echo "a1" | eval "$a" | tail -n1); echo $mymacro
19:45:17 <AnMaster> ais523, I think that is a much more promising way
19:45:23 <ehird> that's cheating, though
19:45:30 <ehird> you might as well just echo out valgrind's output
19:45:35 <AnMaster> ehird, depends on what language you declare it is in?
19:46:08 <AnMaster> it generates the macro expansion in question
19:46:18 <AnMaster> but of course, a recursive variant is another one
19:50:19 <ehird> ais523: Oh, and here's a program that done paste stuff. http://paste.lisp.org/display/76773
19:50:33 <ehird> (Tip: export LISPPASTE_USER.)
19:50:48 <ehird> And yes, those cases look like ocaml.
19:51:27 <ais523> ehird: ah, an autopaste script
19:51:30 <ais523> I know you said that
19:51:38 <ais523> but wasn't quite sure, given that you mentioned a pastebin later on the line
19:51:40 <ehird> AnMaster refused to use another pastebin with one, so. :P
19:51:49 <ehird> er
19:51:51 <ais523> whether you were referring to that it did pasting, or that you were pasting
19:51:55 <AnMaster> mm
19:51:56 <ehird> Swith$Iout$$
19:52:12 <ehird> (oh god help I'm a teco user)
19:52:12 <AnMaster> argh
19:52:46 <ehird> wow, that's shorter than the corresponding regex
19:52:47 <AnMaster> ehird, I bet almost no one will understand the teco implication
19:52:52 <ehird> s/with/\&out/
19:53:04 <AnMaster> also... it looks quite similar to sed
19:53:17 <AnMaster> indeed
19:53:43 <AnMaster> ehird, so what if you want a literal I there?
19:53:49 <ehird> you put one in.
19:53:55 <ehird> $ (<ESC>) is the command terminator
19:53:55 <AnMaster> how would that look?
19:54:05 <ehird> AnMaster: Swith$IouIt$$
19:54:09 <AnMaster> err
19:54:16 <ehird> commands like S and I take up to the next <ESC>
19:54:18 <AnMaster> would that be same as: s/with/Iout/
19:54:19 <AnMaster> ?
19:54:22 <ehird> ouIt.
19:54:29 <ehird> S and I are commands, they read along until <ESC>
19:54:31 <AnMaster> well what if I want that line
19:54:34 <ehird> Swith$IouIt$$
19:54:35 <ehird> is
19:54:41 <ehird> S(with); I(ouIt);<ENTER>
19:54:50 <AnMaster> so then:
19:54:52 <ehird> AnMaster: I don't know how you put an escape in
19:54:57 <AnMaster> Swith$IIout$$
19:54:57 <AnMaster> ?
19:54:59 <ehird> AnMaster: I don't know how you put an escape in
19:54:59 <ehird> AnMaster: I don't know how you put an escape in
19:55:03 <AnMaster> would that work
19:55:11 <ehird> oh
19:55:12 <ehird> yes
19:55:14 <ehird> why wouldn't it?
19:55:18 <AnMaster> no idea
19:55:20 <ehird> as soon as you hit an I it reads until <ESC>
19:55:21 <AnMaster> I don't know teco
19:55:29 <ehird> yes but I just told you
19:55:31 <ais523> AnMaster: it's a bit like Lua
19:55:33 <ehird> multiple times
19:55:36 <ais523> in that Lua starts blocks lots of different ways
19:55:38 <ehird> ais523: what no it isn't
19:55:39 <ais523> and ends them all with end
19:55:42 <ehird> well
19:55:43 <ehird> kind of...
19:55:50 <ais523> TECO's the same, it starts commands with lots of different chars, but all end with <ESC>
19:55:58 <ehird> actually, no
19:56:03 <ehird> only commands that take text input
19:56:05 <ehird> for instance,
19:56:05 <ais523> well, ok
19:56:05 <AnMaster> ehird, so the $ means an escape. So when you write it in a teco script is it $ or <esc>?
19:56:09 <ehird> -5DIhello$$
19:56:13 <ais523> AnMaster: it's <esc> and echos as $
19:56:18 <ehird> D takes -5 *before* it
19:56:23 <ehird> meaning 'delete the previous 5 characters'
19:56:27 <ais523> echoing as a literal escape character would be confusing for your terminal
19:56:28 <AnMaster> ah
19:56:35 <ehird> yeah, you input as <esc>
19:56:35 <ais523> ehird: very vi
19:56:47 <AnMaster> ehird, what if you want to edit a teco script? replacing <esc> in it?
19:56:47 <ehird> ais523: you can even do
19:56:47 <AnMaster> :D
19:56:48 <ais523> although actually, all the teco-inspired editors retained that feature in some form
19:56:52 <ehird> *-5$$
19:56:54 <ehird> *D$$
19:56:58 <ehird> i think it has a stack
19:57:02 -!- MigoMipo_ has joined.
19:57:06 <ais523> ehird: TECO is not only TC
19:57:10 <ais523> but /deliberately/ TC
19:57:10 <AnMaster> ais523, emacs does \e right?
19:57:12 <ehird> actually no
19:57:16 <ehird> it doesn't work like that
19:57:18 <ais523> AnMaster: err?
19:57:19 <ehird> you have to put it right before
19:57:26 <ais523> literal escape in emacs is C-q ESC
19:57:27 <AnMaster> ais523, for escapes
19:57:31 <AnMaster> in the file
19:57:42 * AnMaster checks
19:57:45 <ais523> and it appears as ^] in the file
19:57:51 <ais523> in red, rather than the usual colour, if you have colour on
19:57:57 <AnMaster> well
19:57:58 <ais523> * ^[
19:58:01 <AnMaster> I can't copy paste from emacs
19:58:05 <AnMaster> it does something strange
19:58:10 <AnMaster> with the escapes
19:58:27 <AnMaster> anyway I see ^?ELF^B ..... ^@\250 and such
19:58:34 <AnMaster> so I guess it does both ^ and \
19:58:44 <AnMaster> to escape non-printable
19:58:48 <ais523> yes, \ is for characters with codes over 126
19:59:02 <ais523> File Edit Options Buffers Tools Help
19:59:04 <ais523> ^[abc
19:59:10 <ais523> that's a literal esc at the start of the line
19:59:15 <ehird> ais523: Here's the TECO I use: http://almy.us/teco.html
19:59:26 <ehird> You need the linux version, not the unix one
19:59:38 -!- tombom has quit ("Peace and Protection 4.22.2").
19:59:42 <ais523> interesting, there isn't normally that much of a difference
19:59:45 <ehird> copy tecoc, teco, Make, and inspect into your PATH
19:59:51 <ehird> and then you can start it with 'teco'
19:59:58 <ais523> ehird: no make install script?
20:00:01 <ehird> nope
20:00:08 <ehird> also, teco/Make/inspect are symlinks
20:00:08 <ehird> to tecoc
20:00:13 <ehird> tip: to exit, try "EX$$"
20:00:24 <AnMaster> why does the it need a special linux version?
20:00:33 <ehird> AnMaster: the UNIX is for old unixes
20:00:35 <AnMaster> ah
20:00:38 <ais523> AnMaster: many old UNIX programs needed changing when ported to Linux
20:00:38 <ehird> Urix or something
20:00:46 <AnMaster> so you use linux one on macosx?
20:00:49 <ais523> yacc vs. bison is one of the most common sticking points
20:00:54 <ehird> no
20:00:56 <ehird> you use the os x one on os x
20:01:04 <ehird> although don't copy over Make since HFS+ is case insensitive
20:01:09 <ehird> (use 'tecoc make')
20:01:14 <ais523> ehird: what do you use on OS9?
20:01:16 <AnMaster> ais523, err I have yacc, byacc and bison
20:01:19 <ehird> you don't
20:01:26 <AnMaster> $ /usr/bin/yacc --version
20:01:26 <AnMaster> usage: /usr/bin/yacc [-dlrtv] [-b file_prefix] [-p symbol_prefix] filename
20:01:31 <ais523> AnMaster: yacc is still bison in yacc compatibility mode
20:01:32 <ehird> ais523: this one is so old all the filenames are INUPPERCASE.C
20:01:34 <AnMaster> $ /usr/bin/yacc.bison --version
20:01:34 <AnMaster> bison (GNU Bison) 2.3
20:01:36 <ais523> on most linux systems
20:01:37 <AnMaster> why then that
20:01:43 <AnMaster> explain those two lines
20:01:55 <ais523> although it's possible you have a genuine old copy of yacc lying around somewhere
20:01:56 <ehird> 10-Dec-1987 version 100
20:01:56 <ehird> baseline version as of Fall Decus Symposium, Anaheim
20:01:59 <ehird> heh
20:02:05 <ais523> ehird: are they really C++? that would be so great if they disguised the extension like that
20:02:05 <ehird> it's a modern port to portable C, and yet it's still ancient
20:02:09 <ehird> haha
20:02:10 <ehird> no
20:02:21 <AnMaster> ais523, dev-util/yacc is from http://dinosaur.compilertools.net/#yacc installed as a dependency of something
20:02:27 * AnMaster follows url
20:02:39 <AnMaster> hm
20:02:42 <ais523> AnMaster: dinosaur.compilertools sounds like a good description for original yacc
20:02:44 <AnMaster> and no download there, huh
20:02:59 <AnMaster> HOMEPAGE="http://dinosaur.compilertools.net/#yacc"
20:02:59 <AnMaster> SRC_URI="ftp://metalab.unc.edu/pub/Linux/devel/compiler-tools/${P}.tar.Z"
20:03:00 <ais523> C-INTERCAL build used to fail on SunOS because it needed directives to tell lex to increase the size of its internal buffers
20:03:02 <AnMaster> well
20:03:04 <AnMaster> I don't know
20:03:07 <AnMaster> it isn't bison anyway
20:03:30 <ais523> all I was saying was, on most linux systems with a program called yacc, it's a wrapper around bison
20:03:36 <ais523> yours just happens to be different
20:03:38 <AnMaster> ${P} is replaced with yacc-1.9.1
20:03:55 <AnMaster> ais523, yeah that wrapper is /usr/bin/yacc.bison
20:04:07 <ais523> $ yacc --help
20:04:09 <ais523> GNU bison generates parsers for LALR(1) grammars.
20:04:11 <AnMaster> <AnMaster> ais523, err I have yacc, byacc and bison
20:04:11 <AnMaster> <ehird> you don't
20:04:15 <ehird> ...
20:04:16 <AnMaster> well ehird thought I didn't
20:04:22 <ehird> no i didn't
20:04:31 <AnMaster> what were you replying to then?
20:04:34 <ais523> $ file /etc/alternatives/yacc
20:04:35 <ehird> can you upgrade your freaking brain firmware, it runs on DOS and is unable to multithread conversations
20:04:35 <ais523> /etc/alternatives/yacc: symbolic link to `/usr/bin/bison.yacc'
20:04:40 <ais523> $ file /usr/bin/yacc
20:04:41 <ais523> /usr/bin/yacc: symbolic link to `/etc/alternatives/yacc'
20:04:55 <ehird> 19:01 ais523: ehird: what do you use on OS9?
20:04:55 <ehird> 19:01 AnMaster: ais523, err I have yacc, byacc and bison
20:04:57 <ehird> 19:01 ehird: you don't
20:05:00 <ehird> as I was talking about teco at the time
20:05:03 <ehird> what the heck do you think?
20:05:04 <AnMaster> <ais523> ehird: what do you use on OS9? <ehird> you don't
20:05:06 <AnMaster> right
20:05:11 <AnMaster> that makes even less sense
20:05:15 <AnMaster> *shrug*
20:05:20 <ais523> well, yacc seems to be in debian alternatives
20:05:25 <ehird> There are two types of arguments: numeric arguments, and text arguments. Numeric arguments come before the command; text arguments come after the command.
20:05:26 <AnMaster> ais523, interesting
20:05:28 <ehird> that makes sense
20:05:29 <ais523> which implies strongly to me that debian have a non-bison yacc in the repos somewhere
20:06:00 <ehird> AnMaster: Alternatively (and easier to read), if the command is prefixed by an "@" character, then the first character after the command is the delimiter, and the string will continue until the next instance of that character.
20:06:01 <AnMaster> ais523, what about byacc?
20:06:03 <ehird> I/hello world/
20:06:08 <ehird> err
20:06:10 <ehird> @I/hello world/
20:06:16 <ais523> AnMaster: ah, that appears to be BSD yacc
20:06:17 <AnMaster> heh
20:06:24 * ais523 just did apt-cache search yacc | grep yacc
20:06:29 <AnMaster> http://dickey.his.com/byacc/byacc.html
20:06:31 <AnMaster> I have that too
20:06:34 * ais523 makes it case-insensitive just in case
20:07:03 <AnMaster> dev-util/btyacc - http://www.siber.com/btyacc - Backtracking YACC - modified from Berkeley YACC
20:07:04 <AnMaster> wth?
20:07:06 <ehird> @eb"hello.c" <- practically modern.
20:07:09 <AnMaster> masked on amd64
20:07:12 <ehird> AnMaster: what do you mean wth?
20:07:15 <ehird> it's yacc that can backtrack
20:07:17 <ehird> when parsing
20:07:35 <AnMaster> well, yeah, but that is crazy
20:07:40 <ehird> no it's not?
20:07:54 <ehird> First, you can use them as variables: each Q-register stores a string and an integer. Second, any string stored in a Q-register can be used as a subroutine; in fact, that's the only way to create a subroutine.
20:07:57 <ehird> perl, is that you?
20:07:59 <ais523> ehird: actually, original yacc never backtracks
20:08:04 <ehird> exactly
20:08:07 <ais523> bison doesn't either
20:08:12 <ehird> 'yacc that can backtrack' = modified yacc
20:08:15 <ais523> it can handle general grammars, but it does that a different way
20:08:19 <ehird> hellooooo
20:08:25 <AnMaster> well why would you want a backtracking yacc...
20:08:29 <AnMaster> that is my question
20:08:29 <ais523> ehird: yes, I noticed, your sentence was ambiguous
20:08:35 <ais523> AnMaster: because you have a nondeterministic grammar to process?
20:08:54 <AnMaster> ais523, ok. Like intercal right?
20:08:59 <ais523> yep
20:09:06 <AnMaster> ais523, any other such languages?
20:09:19 <ais523> regular INTERCAL can just about be handled by regular yacc, but only due to a restriction in the INTERCAL-72 standard specifically to make that possible
20:09:29 <AnMaster> yes I know
20:09:30 <ais523> and C++ and Perl both have similar parsing problems
20:09:35 <AnMaster> really?
20:09:40 <AnMaster> how comes?
20:09:44 <AnMaster> well perl has BEGIN
20:09:47 <AnMaster> but what about C++?
20:09:53 <ehird> whoa, I hung teco
20:10:04 <ais523> AnMaster: I found a really diabolical line of C++ in the FQA, let me dig it up
20:10:06 <ehird> AnMaster: parsing C++ is turing complete
20:10:09 <ehird> due to templates
20:10:10 <ehird> being TC
20:10:20 <ehird> *^UZIhello$$
20:10:20 <ehird> *MZ$$
20:10:21 <ehird> <hang>
20:10:32 <ais523> ehird: no, that proves compilation is turing complete, not parsing
20:10:39 <ehird> no, it's parsing
20:10:41 <ehird> due to typename stuff
20:10:42 <ais523> as it happens, though, the compilation can affect the parsing, making it turing complete too
20:10:44 <ais523> agreed
20:10:47 <ehird> a template can make something a typename that wasn't
20:10:50 <ais523> that parsing is TC, but you didn't explain the reason
20:10:52 <ehird> so it IS due to templates
20:11:04 <ais523> int x = confusing<sizeof(x)>::q < 3 > (2);
20:11:11 <ehird> exactly
20:11:19 <ais523> that can actually parse differently depending on the return of sizeof, with appropriate definitions
20:11:27 <AnMaster> err, iirc you have to use "typename" in front in ambiguous situations
20:11:36 <AnMaster> ?
20:11:44 <ais523> see http://yosefk.com/c++fqa/web-vs-c++.html for the full program
20:11:51 * AnMaster looks
20:12:18 <ehird> cool, TECO has <tab> as an insertion command
20:12:21 <ehird> that's like I but puts a tab in front
20:12:21 <ehird> so
20:12:27 <ehird> *Iint main(void) {$$
20:12:37 <ehird> * printf("Hello, world!\n");
20:12:40 <ehird> err
20:12:41 <ehird> $$
20:12:46 <ehird> * return 0;$$
20:12:49 <ehird> *I}$$
20:12:50 <ehird> fun
20:13:07 <ais523> ehird: does it autoindent?
20:13:12 <ehird> no :P
20:13:17 -!- MigoMipo has quit (Connection timed out).
20:13:23 <ais523> it's TC, shouldn't be too hard to implement
20:14:05 <ehird> How to write a TECO hello world, with TECO:
20:14:07 <ehird> % tecoc make hello.tec
20:14:07 <ehird> *I^AHello, world!
20:14:09 <ehird> ^A$$
20:14:11 <ehird> *EX$$
20:14:20 <ais523> what does tecoc do?
20:14:28 <AnMaster> teco compiler?
20:14:30 <ehird> ais523: teco-c is the implementation
20:14:34 <ais523> ah
20:14:35 <ehird> teco and inspect are linked to it
20:14:36 <ehird> and also Make
20:14:36 <AnMaster> oh well
20:14:39 <ehird> but HFS+ is case insensitive
20:14:42 <ehird> so I can't use that symlink
20:14:48 <ehird> (because of, y'know, make(1))
20:14:52 <ehird> so I have to invoke the implementation directly.
20:14:56 <ais523> ehird: HFS+ is optionally case-sensitive
20:14:59 <ais523> I think it's configurable
20:15:03 <ehird> yes, but that breaks things and I'd have to reformat
20:15:09 <ehird> plus I like it this way
20:15:13 <ais523> no idea how much chaos it would caused if you changed the configuration param while there were files on it
20:15:43 <ais523> ehird: I like the description of the mac os x version of teco
20:15:50 <ais523> it looks like it was aimed at you in particular
20:16:20 <ehird> :D
20:16:21 <ehird> % tecoc make 42hello.tec
20:16:22 <ehird> *42<I^AHello, world!
20:16:23 <ehird> ^A$>EX$$
20:16:32 <ehird> Makes a teco program that prints "Hello, world!\n". 42 times.
20:16:49 <AnMaster> ehird, teco quine without opening the script to read from?
20:16:59 <ehird> I shall pass.
20:17:02 <AnMaster> aww
20:17:23 -!- MigoMipo_ has changed nick to MigoMipo.
20:17:39 <ehird> so, to explain my 42 program:
20:17:43 <ehird> btw, ^A is a literal ^A
20:17:44 <ehird> anyway
20:17:49 <ehird> ^Afoo^A outputs foo
20:17:57 <ehird> number<...> executes ... number times
20:18:00 <ehird> EX exits
20:18:04 <ehird> and, of course, I inserts up to escape
20:18:05 <ehird> so it's
20:18:18 <ehird> 42 times { insert "^AHello, world!\n^A" }; exit
20:19:03 <ehird> it's a pretty good esolang, actually
20:19:08 <ehird> the concept of a text editor is a fun one to base an esolang around
20:19:40 <ehird> Mackerel Economics in Prison Leads to Appreciation for Oily Fillets
20:19:42 <ehird> http://online.wsj.com/article/SB122290720439096481.html
20:19:45 <ehird> (injoke)
20:20:48 <ehird> oh, also
20:20:55 <ehird> if you start teco after editing a file and quitting?
20:20:58 <ehird> it starts editing it again
20:21:01 <ehird> I think it sees the backup file
20:21:06 <ehird> wait, no
20:21:10 <ehird> % cat teco9054.tmp
20:21:10 <ehird> 42hello.tec
20:22:42 <ehird> sooo
20:22:43 <ehird> hi
20:24:31 <ehird> AnMaster: ais523: ping
20:24:37 <ais523> AnMaster: ehird: pong
20:24:58 <AnMaster> ?
20:25:10 <AnMaster> ehird, NACK
20:26:08 <ais523> *NAK
20:26:17 <ais523> if you're going to do that old joke, at least get it right...
20:26:27 <AnMaster> ais523, I wasn't following any standard
20:26:41 <ehird> April fool's day prank on programmer: Mess up internet connection configuration. Remove GUI configurators for it. Symlink all editors to teco.
20:27:28 <ehird> http://www.df.lth.se/~lft/vim/hanoi
20:27:30 <ehird> Towers of Vim.
20:27:35 <ehird> http://www.df.lth.se/~lft/vim/mandelbrot
20:27:38 <ehird> Mandelvim
20:27:38 <ais523> ehird: what, you'd have to uninstall bash too
20:27:52 <ais523> besides, my GUI configurator is also the program that does the actual connection
20:27:54 <ehird> ais523: Eh, just remove cat and echo.
20:28:06 <ehird> Hm, wait.
20:28:08 <AnMaster> .se... oh my
20:28:12 <ais523> ehird: echo's a shell builtin, and bash has cat as a builtin too but with different syntax
20:28:12 <ehird> cp file /dev/stdout
20:28:21 <ehird> ais523: Make teco their login shell.
20:28:36 <ehird> AnMaster: it's the guy who wrote life.b
20:28:37 <ais523> ehird: I'd go into single user mode from the bootloader if you tried that
20:28:43 <AnMaster> ehird, I see
20:28:51 <ais523> and also wonder how you got access to my computer
20:28:56 <ehird> ais523: yes, april fool's jokes are reversible if you're a sourpuss, zomg, how revolutionary
20:28:58 <ais523> *
20:29:25 <ehird> Ihello, world!$0T$$
20:29:29 <ehird> ... reflex...
20:29:35 <ais523> sorry
20:29:38 <ais523> that * was a correction star
20:29:42 <ehird> yes, I know
20:29:43 <ais523> but I was trying to delete an excess space
20:29:43 <ehird> for the extra space
20:29:50 <ais523> so nothing else showed up
20:30:36 <AnMaster> <ehird> April fool's day prank on programmer: Mess up internet connection configuration. Remove GUI configurators for it. Symlink all editors to teco. <-- what gui configurator?
20:30:55 <ehird> God, you people suck.
20:31:03 <AnMaster> ehird, what do you mean?
20:31:21 <ais523> ehird: seriously, though, given that for internet connection my configurator is the same program that actually handles the connection
20:31:38 <ais523> then removing the configurator would mean that restoring the connection file by hand wouldn't help me
20:31:40 <ehird> AnMaster: yes, ha ha, you are 1337 and do not have any programs that let you graphically configure your internet
20:31:41 <AnMaster> ais523, what is that program?
20:31:44 <ehird> you are such an awesome linux user
20:31:48 <ehird> so elite
20:31:50 <ais523> AnMaster: nm-applet
20:31:51 <ehird> u ownz b0xes
20:31:57 <ais523> well, knetworkmanager atm
20:32:04 <AnMaster> ehird, I just use config_eth0=( "dhcp" )
20:32:05 <AnMaster> that's all
20:32:06 <AnMaster> :P
20:32:16 -!- Hiato has quit ("Leaving.").
20:32:17 <ais523> nm-applet's broken for the specific sort of wireless the university has
20:32:30 <ais523> and it's already been fixed in trunk, but for some reason they haven't sent out an update with the fixed version
20:32:37 <ais523> so I use knetworkmanager even on gnome atm
20:32:43 <AnMaster> ehird, on my freebsd server it is more complex, it has a block of 8 statical IPs
20:32:49 <ehird> don't care
20:33:24 <AnMaster> anyway 1) using a GUI configurator on a server in a datacenter is just silly
20:33:34 <AnMaster> 2) at home I just use dhcp
20:33:38 <ais523> AnMaster: you have a /29?
20:33:39 <ehird> don't care, don't care, don't care
20:33:55 <AnMaster> ais523, err probably, too lazy to calculate
20:34:38 <AnMaster> what is it with ehird when he realises how silly his comment was...
20:34:46 <ehird> what?
20:34:51 <AnMaster> I mean, I have seen this "don't care" pattern before
20:34:54 <AnMaster> in similar cases
20:35:16 <AnMaster> ais523, surely you agree not using any GUI is sane on a remote server that you only have ssh access to?
20:35:21 <ehird> no, it's just you made a shitty joke in response, i responded to it pointing out how shitty and old it was, then you went and blabbed on about your network which i honestly couldn't care less about if I possibly tried
20:35:31 <AnMaster> well I could get kvm access... $20 / 12 hours
20:35:42 <oklopol> ehird: but would you try, for me?
20:35:55 <ehird> oklopol: maybe.
20:36:01 <AnMaster> ehird, I wasn't making a joke
20:36:03 <AnMaster> .....................................
20:36:20 <ehird> congrats, you found the . key
20:36:26 <ehird> by the way, ellipses have 3 .s
20:36:43 <AnMaster> ehird, well, and?
20:36:57 <oklopol> only if you have a really small ellipse and a crappy ellipse algo
20:37:34 <AnMaster> oklopol, and using eclipse to write it
20:37:45 <ehird> "Perl is written in C, so when the parser has figured out what you want to do, you're executing compiled code as fast as any C program. "
20:37:50 <ehird> Um.
20:37:57 <AnMaster> ehird, that was silly
20:37:58 <ais523> who wrote that?
20:38:01 <AnMaster> where was that quote from?
20:38:06 <ais523> and did they have any clue how Perl works?
20:38:07 <ehird> "samizdat" on perlmonks.org
20:38:08 <oklopol> what is this now?!?
20:38:26 <ais523> Perl's implemented internally as a bytecode compiler
20:38:27 <oklopol> sounds familiar
20:38:58 <ehird> now where is that dd.sh page
20:40:22 <AnMaster> ehird, isn't it dd/sh?
20:40:41 <AnMaster> http://select.intercal.org.uk/dd.sh/ "dd/sh: The One True Programming Language"
20:40:42 <AnMaster> maybe
20:41:52 <ehird> hmm
20:42:01 <ehird> I wonder if you can do 'stty raw' with /dev of some sort
20:43:59 <AnMaster> <ehird> Mackerel Economics in Prison Leads to Appreciation for Oily Fillets <ehird> http://online.wsj.com/article/SB122290720439096481.html <ehird> (injoke) <-- yes obviously, so what is the context. The joke makes no sense to me
20:44:10 <ais523> AnMaster: it wouldn't, it's an injoke
20:44:11 <ehird> if I told you it would not be an injoke.
20:44:20 <ehird> therefore I won't tell you
20:44:26 <AnMaster> ais523, you understand it?
20:44:33 <ehird> he does
20:44:53 <ais523> AnMaster: you seem to be missing the fundamental nature of injokes, look it up
20:44:55 <ehird> hmm, `stty raw` uses ioctl, doesn't it?
20:45:20 <AnMaster> ais523, indeed. But I assumed ehird got the joke since he pasted it
20:45:44 * ais523 facepalms
20:45:49 <ais523> and I don't facepalm very often
20:46:03 <AnMaster> or was be commenting on the fact that it was an injoke he didn't understand?
20:46:22 <ehird> ...
20:46:28 <ehird> ais523: i'd give up round about now
20:47:36 -!- Slereah_ has joined.
20:47:39 <AnMaster> well, I fail to see why you wouldn't want to *explain* a injoke that you do understand. Since you pasted it in the public channel
20:48:06 <ais523> AnMaster: if it were explained, it wouldn't be an injoke
20:48:19 <AnMaster> and why would that be a huge loss?
20:48:31 <ehird> ...
20:48:39 * ehird facepalm
20:49:06 <AnMaster> now you are just being unreasonable...
20:53:01 * ehird is writing a TECO clone in dd/sh
20:53:10 <ehird> if you run it under bash, you can use /dev/tcp to use it as a kind of netcat :D
20:53:22 <ehird> or, wait
20:53:26 <ehird> you can't use dd with /dev/tcp presumably
20:53:28 <ais523> how do you specify the port number using /dev/tcp?
20:53:28 <ehird> only pipes...
20:53:33 <ehird> /dev/tcp/host/port
20:53:39 <ais523> clever
20:54:00 <ehird> anyway, it's not quite dd/sh
20:54:00 <ehird> save_state=$(stty -g)
20:54:01 <ehird> stty raw
20:54:02 <ehird> reset_tty() { stty "$save_state" }
20:54:05 <ehird> 3 non-dd/sh lines
20:54:12 <ehird> you could run it without them, just need to hit newline a lot
20:54:18 <ehird> and you'd see your input twice
20:55:10 <fizzie> If you just want dd output into /dev/tcp, you can obviously just omit the of= and > it in.
20:55:23 <ehird> hmm
20:55:27 <ehird> is of=x always equiv. to >x?
20:55:39 <fizzie> Well, not if x is /dev/tcp.
20:55:43 <ehird> :D
20:55:55 <ais523> it could be pretty different if x were /dev/tty, too
20:56:41 <ehird> agh you have to assign it first
20:56:46 <ehird> exec 3<>/dev/tcp/...
20:56:50 <ehird> instead of using it as a file multi times
20:56:50 <ehird> :<
20:57:03 -!- Slereah has quit (Read error: 110 (Connection timed out)).
20:59:26 <asiekierk> what? what's dd/sh?
20:59:32 <asiekierk> A language using dd and sh?
20:59:34 <ais523> yes, what else?
20:59:53 <ais523> to be precise, it's the language created when you use sh and the only other program it's allowed to invoke is dd
21:00:08 <asiekierk> ...The first person to make a miniature linux distro for dd/sh wins a copy of AsieCrypt, the only encrypter of images that can turn completely logical pictures into random gibberish and STILL decode it!
21:00:15 <ehird> no.
21:00:16 <asiekierk> Maybe I will be the first person
21:00:18 <asiekierk> I would be...
21:00:18 <ais523> and, I suppose, itself recursively, but you never need to do that
21:00:22 <ehird> for one, that's not even possible
21:00:27 <ehird> for two, it's uninteresting
21:00:33 <ehird> for three, the prize is crap.
21:00:34 <asiekierk> ...if I had installed Linux
21:00:44 <ais523> ehird: I suspect Debian webinstall plus dd would be enough to run arbitrary dd/sh programs
21:00:46 <asiekierk> for one, there are many Linux-on-a-floppy distros
21:00:53 <ehird> ais523: he meant a linux distro with just kernel+dd/sh
21:00:58 <asiekierk> and some drivers
21:00:59 <ehird> which is patently useless
21:01:00 <ais523> for what it's worth, you could even do that with Debian webinstall without the package manager, there's hardly anything in that
21:01:16 <asiekierk> for two, yes it is possible (AsieCrypt), it's just shifted colors and good ole VideoCrypt
21:01:19 <ais523> ehird: I wouldn't call it completely useless, although admittedly not particularly useful
21:01:23 <asiekierk> for three, the prize is crap, I admit
21:03:10 <comex> well
21:03:26 <comex> hmm
21:03:46 <comex> I think dd/sh would be turing complete pretty easily considering sh's capabilities
21:03:51 <ehird> it is
21:03:53 <ehird> sh is turing complete
21:03:58 <comex> good point
21:03:58 <ehird> but you need dd for non-trivial IO
21:04:03 <asiekierk> and there is a turing machine for dd/sh
21:04:04 <ehird> brainfuck style IO can be done with just sh
21:04:14 <ehird> so you can trivially write brainfuck in sh
21:04:19 <ehird> but for file IO, etc, you need dd
21:04:20 <ehird> hm wait
21:04:22 <comex> not trivially
21:04:25 <ehird> you couldn't do substrings with sh
21:04:30 <ehird> ok, you do need dd for IO then
21:04:32 <ehird> but sh is tc
21:04:39 <comex> tcsh?
21:04:42 <asiekierk> you don't need I/O for TC
21:04:47 <comex> see what I did there
21:04:49 <comex> :u
21:04:50 <ehird> asiekierk: that's what i just SAID.
21:05:06 <comex> you could do substrings with sh
21:05:07 <comex> just not easily
21:05:13 <ehird> how
21:05:18 <comex> dunno
21:07:06 <comex> where is a reference for what standard sh allows?
21:07:21 <ehird> help
21:07:22 <ehird> in bash
21:07:26 <comex> no
21:07:27 <ehird> gives you a full list
21:07:32 <comex> bash has extras
21:07:40 <ehird> true.
21:07:56 <comex> e.g. read -n 1
21:08:16 <ehird> heh, that would actually remove the need for my stty stuff
21:08:41 <ais523> comex: see if you can find a copy of POSIX floating aroung
21:08:43 <ais523> *around
21:08:54 <ais523> IIRC, man for most shells will explain the differences from standard sh in a portability section
21:09:17 <ais523> so you can deduce the sh standard from that
21:11:29 <comex> I'm not sure it's possible in just sh to do substrings
21:11:33 <comex> ais523: do you know a way?
21:11:39 <comex> also, ehird: ass
21:11:43 <ehird> what?
21:11:48 <ehird> oh, AFO.
21:12:17 <ehird> lol wut, "echo -n foo" is echoing "-n foo\n"
21:13:06 <comex> l
21:14:46 <ehird> http://i.gizmodo.com/5167465/get-200-itunes-store-vouchers-for-260
21:14:51 <ehird> that is pretty cool.
21:15:17 <ehird> now... where's the code :D
21:16:53 -!- BeholdMyGlory_ has joined.
21:17:30 -!- BeholdMyGlory has quit (Nick collision from services.).
21:17:35 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
21:17:45 <ehird> * A Pentium emulator (just for the fun of it - with that you don't actually need the perl5 interpreter as you can install Linux under the emulator and ruin perl from it; of course, that would also run sh and dd, therefore allowing any level of emulation).
21:17:47 <ehird> XD
21:20:25 <asiekierk> * To include only dd and sh, I would need to change BusyBox in some way
21:20:43 <asiekierk> * And that makes it completely worthless
21:20:52 <ais523> asiekierk: BusyBox is entirely configurable as-is
21:21:02 <asiekierk> as in, I can disable certain commands
21:21:04 <ais523> I believe it can be configured to only contain dd and sh
21:21:07 <asiekierk> or better, remove them at compile-time?
21:21:11 <asiekierk> ais523: Well, not only dd and sh
21:21:12 <ais523> yep, at compile time
21:21:16 <asiekierk> since that would be fairly useless
21:21:19 <ais523> I know, I've done custom busybox builds before
21:21:25 <asiekierk> You need SOME commands to maintain it all
21:21:26 <asiekierk> cp, mv
21:21:31 <ehird> pseudoteco.sh: line 26: syntax error: unexpected end of file
21:21:31 <ais523> why cp? you have dd
21:21:32 <ehird> wtf ;_;
21:21:43 <asiekierk> ais523: at least cd!
21:21:49 <ehird> unneeded
21:21:51 <asiekierk> why
21:21:53 <Deewiant> just dd into /proc
21:21:55 <ais523> asiekierk: cd's a shell builtin
21:22:02 <Deewiant> all you need is dd and /proc and you can do anything
21:22:07 <asiekierk> and sh
21:22:16 <ais523> Deewiant: is it actually possible to change the current directory of a process by writing to its /proc?
21:22:26 <ehird> change its in-memory binary to cd next
21:22:26 <ehird> duh
21:22:27 <ais523> I would so love it if it were, although it seems unlikely
21:22:31 <asiekierk> BusyBox has way too much commands by default
21:22:40 <asiekierk> at least for this purpose
21:22:41 <ais523> asiekierk: you are missing the point of busybox, then
21:22:45 <ehird> really, dd is unneeded
21:22:49 <ehird> all you need is
21:23:05 <ehird> kitten <offset> <amount>
21:23:12 <ehird> in fact
21:23:13 <ehird> not even that
21:23:15 <ehird> kitten <amount>
21:23:19 <ehird> ah, no wait
21:23:21 <ehird> kitten <offset> <amount>
21:23:26 <ehird> skips offset bytes of stdin
21:23:30 <ais523> is kitten an version of cat that only does part of the file?
21:23:31 <ehird> then copies amount bytes from stdin to stdout
21:23:40 <ehird> ais523: pretty much, but offset=0 and amount=-1 will copy all
21:23:40 <asiekierk> ais523: You know, I just want a distro with dd, sh, and some misc. basic commands
21:23:46 <ais523> and is it standard, or obscure, or did you just invent the name?
21:23:52 <ais523> asiekierk: try debian webinstall
21:23:54 <ehird> i invented it all
21:23:57 <AnMaster> indeed. The point of busybox is the point of having a statically linked rescue shell around... Hopefully you will never need it
21:24:04 <ehird> basically, the rest of dd is unneeded for 100% io facilities
21:24:08 <ais523> it contains basically nothing but enough tools to make an internet connection, and a package manager
21:24:11 <ehird> since if/of can be done with pipes, and soforth
21:24:16 <ais523> then use the package manager to installdd
21:24:20 <ais523> *install dd
21:24:47 <ehird> qdd <<EOF
21:24:47 <ehird> $1\
21:24:47 <ais523> actually, it may have dd already for help in creating swapfiles and that sort of thing
21:24:48 <ehird> EOF
21:24:51 <AnMaster> ais523, hm? doesn't busybox have dd?
21:24:51 <ehird> is there a syntax error there?
21:24:57 <ehird> i think it's continuing until EOF
21:25:02 <ais523> AnMaster: Debian webinstall != busybox
21:25:04 <asiekierk> AnMaster: busybox has dd, sh, and a 1000 other commands
21:25:11 <AnMaster> ais523, oh right
21:25:14 <ais523> busybox is for the debian boot floppy, rather than the webinstall
21:25:20 <AnMaster> asiekierk, not 1000
21:25:39 <ais523> but nowadays is mostly used in embedded systems despite being originally intended for debian-on-a-floppy
21:25:52 <AnMaster> hm?
21:25:56 <AnMaster> webinstall of a distro?
21:26:08 <AnMaster> you mean netinstall surely?
21:26:34 <AnMaster> ais523, also what does it have to do with debian? afaik it is a separate project
21:27:05 <ais523> no, it wasn't
21:27:10 <ais523> I mean netinstall
21:27:15 <ais523> but historically, busybox was created for debian
21:27:21 <AnMaster> really? didn't know
21:27:29 <ais523> it just found more uses in wider situations than that, that's one of the joys of open source
21:27:48 <AnMaster> ais523, for me it is just something that I hope I will never need...
21:27:57 <ehird> "In one infamous software error, a misplaced minus sign resulted in a fighter jet's control system flipping the aircraft on its back whenever it crossed the equator. In one infamous software error, a misplaced minus sign resulted in a fighter jet's control system flipping the aircraft on its back whenever it crossed the equator."
21:27:59 <ehird> :-D
21:28:02 <ehird> oops
21:28:03 <ais523> what's the UNIX command to remove blank lines from a file, again
21:28:04 <ehird> copied twice
21:28:14 <ehird> ais523: well, with dd, that should be possible.
21:28:17 <ehird> I think th--
21:28:25 <ais523> yes, but I mean the normal way
21:28:31 <AnMaster> ais523, hm? sed '/^$/d' should work
21:28:34 <ais523> bash: th--: command not found
21:28:43 <ais523> AnMaster: yes it does, I thought there was a standard one though
21:28:47 <ais523> maybe I'm confused
21:28:48 <Deewiant> grep -v '^$'
21:28:53 <AnMaster> ais523, in that case I didn't know about it
21:28:56 <AnMaster> Deewiant, that could work too
21:29:32 <AnMaster> Deewiant, wait no it wouldn't in the general case
21:29:44 <AnMaster> $ grep -v '^$' /bin/bash
21:29:45 <AnMaster> Binary file /bin/bash matches
21:29:46 <AnMaster> :P
21:30:11 <ais523> well, busybox contains 298 commands according to its man page, then
21:30:12 <Deewiant> Gah
21:30:18 <Deewiant> grep -av '^$' then
21:30:44 <ais523> Deewiant: fails on a Windows-format text file with \r\n newlines
21:30:52 <Deewiant> Really? O_o
21:30:54 <ais523> yes, I know me and AnMaster have just made contradictory demands on you
21:30:56 <Deewiant> That's... sad
21:30:58 <AnMaster> hm
21:31:10 <ais523> actually, maybe not
21:31:15 <jix_> hmmm grep .
21:31:15 <ais523> it probably wouldn't on Windows, but would on UNIX
21:31:16 <AnMaster> does the sed command work on \r\n?
21:31:25 <ais523> again probably not on unix
21:31:32 <AnMaster> well ok
21:31:33 <jix_> that's what i do if i want to remove empty lines
21:31:39 <ais523> jix_: that's clever
21:31:44 <AnMaster> anyway. \r\n isn't an empty line
21:31:51 <AnMaster> so sed/grep are correct
21:31:51 <ehird> I have a literal ^M in my file :D
21:31:53 <AnMaster> :P
21:31:56 <ehird> qdd <<EOF
21:31:56 <AnMaster> afk
21:31:56 <ehird> $1
21:31:58 <ehird> EOF
21:31:58 <ais523> AnMaster: it certainly can be, it depends on the file format
21:32:02 <ehird> ^ way to do that without a newlnie?
21:32:04 <ehird> $1\
21:32:05 <ehird> doesn't work
21:32:13 <ais523> on some operating systems, "000" can be an empty line
21:32:18 <Deewiant> grep -avE '^^M?$' then
21:32:25 <ais523> because IIRC there's an operating system that stored lines of text files length-prefixed
21:32:29 <ais523> rather than delimited with anything
21:32:50 <Deewiant> I believe "there's" is in the wrong tense for said system
21:33:13 <ais523> well, abbreviation for was
21:33:32 <ais523> ehird: was it you who kept talking about how length-prefixed was better for strings than null-terminated?
21:33:36 <ehird> yes
21:33:38 <ehird> brb ->
21:33:39 <ehird> <-
21:33:39 <ehird> but
21:33:41 <Deewiant> I agree FWIW
21:33:45 <ehird> ais523: lines are not the fundamental unit of text
21:33:47 <ais523> if so, would you say the same argument holds for filesystems?
21:33:49 <ais523> and if not why not
21:33:50 <ehird> so it doesn't make sense
21:33:51 <ehird> brb ->
21:33:56 <ehird> <-
21:34:00 <ais523> actually, I agree too I think
21:34:03 <ehird> ais523: because you'd have to have a bignum file length.
21:34:04 <ehird> ->
21:42:36 -!- neldoreth has quit (Remote closed the connection).
21:42:41 -!- neldoreth has joined.
21:42:49 <ais523> who's neldoreth?
21:43:50 <neldoreth> who's ais523?
21:44:00 <ais523> I'm a regular here
21:44:10 <neldoreth> I'm a new one (:
21:44:10 <Deewiant> neldoreth was asking about Befunge earlier today
21:44:11 <ais523> invented Underload, Thutu, BackFlip, and a few other esolangs
21:44:25 <ais523> also maintain C-INTERCAL
21:44:26 <Deewiant> Coding something for school, if I understood correctly the few lines I read
21:44:34 <Deewiant> And remember them correctly
21:44:50 <neldoreth> we learned about c-intercal in the lecture, please
21:45:14 <ais523> wow, it's rare for lectures to mention intercal
21:45:16 <neldoreth> yeah i had a little assignment to do in a esoteric language
21:45:38 <neldoreth> i could have chosen between it and brainfuck, befunge or whitespace
21:45:40 <ais523> if it's any help, run your intercal programs with -byO and use the e command
21:45:51 <ais523> that'll tell you what the expressions you write actually do
21:45:58 <ais523> it's amazingly useful if you actually have to use the things
21:46:41 * ais523 notices that most other languages don't need a command to explain what an expression does, apart from C which has cdecl
21:46:51 <ais523> although that's data types not expressions
21:46:54 <neldoreth> thanks for the advice - maybe i will try something out in intercal - but ive chosen befunge for my little program - maybe i will try more when there is more time for it
21:47:04 <Deewiant> Whitespace is probably the easiest of those languages to use
21:47:08 <ais523> intercal's probably the hardest there
21:47:14 <ais523> befunge is a good one to learn
21:47:18 <Deewiant> Just don't write it /in/ Whitespace
21:47:23 <FireFly> [21:45:19] <neldoreth> yeah i had a little assignment to do in a esoteric language
21:47:25 <FireFly> ;o
21:47:33 <ais523> you can learn a lot of programming from befunge, actually
21:47:39 <FireFly> Yeah
21:47:43 <Deewiant> Really?
21:47:45 <FireFly> That'd be what I'd go for
21:47:56 <ais523> Deewiant: RPN and stack-based representations, for one thing
21:48:07 <neldoreth> http://pastebin.com/m1aa54e4e this is what ive done, nothing special and it nearly can do nothing (cause i honestly had no idea what to write)
21:48:09 <ais523> properly understanding how loops work, for another
21:48:22 <Deewiant> Yeah, I learned that working with a stack when you can only access the top two elements sucks
21:48:27 <ais523> neldoreth: that's pretty
21:49:16 <neldoreth> :D but nothing more, sensless in every aspect :D
21:49:21 <ais523> so, that program starts out by inputting a character and comparing it to capital A?
21:49:33 <Deewiant> ais523: Not capital
21:49:50 <ais523> oh, lowercase
21:49:59 <ais523> for some reason I did 9*9-4*4 not 9*9+4*4
21:50:08 <neldoreth> ais523: yeah with a and b or q
21:50:09 <ais523> and upper and lowercase A differ by 32, obviously
21:50:10 <Deewiant> a-9*9-4*4
21:50:28 <Deewiant> neldoreth: You still don't handle EOF, I see
21:50:46 <neldoreth> i am just quitting with q now, if you type something different you can retype
21:51:03 <ais523> well, a loop with an exit condition's always nice
21:51:06 <Deewiant> If EOF is given that's an infinite loop you've got there
21:51:15 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
21:51:27 <ais523> what does EOF do in befunge-93?
21:51:35 <Deewiant> Same as -98, no?
21:51:41 <ais523> it's a reflection in funge-98, but befunge-93 wasn't as picky IIRC
21:51:48 <neldoreth> i dont think that anyone will run this program with a given file via stdin < :] - i dont think anyone will run this program anyway :D
21:51:58 <Deewiant> ais523: Seems undefined, actually
21:52:02 <neldoreth> but its good for practice anyway
21:52:09 <ais523> IIRC, many programs assumed it returned -1
21:52:13 <ais523> so that's probably what the reference interp did
21:52:14 <Deewiant> neldoreth: I can type ^D (^Z on DOS/Windows)
21:52:28 <AnMaster> <ais523> AnMaster: it certainly can be, it depends on the file format <-- yes, some are broken
21:52:31 <AnMaster> ais523, and
21:52:38 <AnMaster> grep and sed operate on *text* files
21:52:45 <AnMaster> no one said they made sense for binary files
21:52:54 <neldoreth> ah ok
21:53:00 <AnMaster> <ehird> ^ way to do that without a newlnie? <-- depends. If bash yes
21:53:17 <AnMaster> qdd <<< "$1"
21:53:19 <AnMaster> maybe?
21:53:19 <AnMaster> or
21:53:24 <AnMaster> qdd <<< "$1"$'\n'
21:53:29 <AnMaster> depends on what you want
21:53:30 <ais523> neldoreth: anyway, not even befunge, obfuscated befunge
21:53:49 <ais523> I think fungot can run funge one-liners, but only fizzie can submit them because it's written in funge itself and the programs might escape
21:53:50 <fungot> ais523: i'm not stupid, just not the only barrier, if it had arithmetic, it might be -1 too.
21:54:20 <Deewiant> Why doesn't it use = or something for them?
21:54:31 <neldoreth> yeah we crossed obfuscated code too like the raytracer you can find on ioccc
21:54:46 <ais523> you have a great teacher
21:55:03 <neldoreth> he is a funny guy though
21:55:12 <AnMaster> <ais523> if so, would you say the same argument holds for filesystems? <-- file systems *does* store length separately. Using in-band data for it would be very silly.
21:55:14 <Deewiant> Befunge is no fun unless it's obfuscated or in the shape of something
21:55:16 -!- kar8nga has quit (Remote closed the connection).
21:55:42 <ais523> AnMaster: I know, I was talking about using length-prefixed lines as a text file format, some filesystems used to do that
21:55:52 <ais523> Deewiant: Mycology?
21:56:04 <AnMaster> * ais523 notices that most other languages don't need a command to explain what an expression does, apart from C which has cdecl <-- C++ would need it...
21:56:05 <Deewiant> ais523: Quite obfuscated IMO.
21:56:15 <Deewiant> The fun parts are, anyway. ;-)
21:56:22 <AnMaster> <Deewiant> Whitespace is probably the easiest of those languages to use <-- only with good syntax highlighting
21:56:26 <ais523> Deewiant: it looks quite readable for a Befunge torture-test
21:56:40 <ais523> AnMaster: you write Whitespace in a wimpmode first, then compile
21:56:45 <FireFly> ^style
21:56:46 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
21:56:46 <FireFly> :\?
21:57:00 <ais523> neldoreth: by the way, are you submitting your assignment electronically, or printed?
21:57:11 <neldoreth> ais523: electronically
21:57:13 <ais523> ah, pity
21:57:18 <ais523> with Whitespace, that would have been fun
21:57:19 <Deewiant> :-D
21:57:23 <neldoreth> :D
21:57:45 <AnMaster> <Deewiant> Yeah, I learned that working with a stack when you can only access the top two elements sucks <-- variables. You have sizeof(fungecell)*sizeof(fungecell) - program size of them.
21:57:55 <Deewiant> AnMaster: That's not working with a stack now is it.
21:58:06 <FireFly> Hrm, major lag ;<
21:58:22 <ais523> actually, it doesn't suck if you can do things like dip combinators, but befunge-93 is sadly lacking in those
21:58:35 <Deewiant> Dip combinators?
21:58:37 <ais523> in befunge-98, you can use the stack stack to do something similar but it's a bit unwieldy
21:58:53 <ais523> Deewiant: "run this code on the current stack minus its top element, then put the top element back again"
21:58:58 <AnMaster> <ais523> what does EOF do in befunge-93? <Deewiant> Same as -98, no? <-- iirc undef, but I have seen push -1 as one variant...
21:58:59 <Deewiant> All of this is assuming you have access to something other than the top two elements of a stack. :-P
21:59:03 <ais523> dip is a~*^ in Underload
21:59:10 <ais523> which only has access to the top two elements
21:59:12 <Deewiant> AnMaster: Do try and read a few lines ahead before responding.
21:59:19 -!- atrapado has joined.
21:59:27 * AnMaster reaches end
21:59:35 <ais523> but can use dip tricks to get more
21:59:36 * AnMaster catch up on what was said while he were writing
21:59:41 <Deewiant> ais523: dip implies that you can access more than the top two.
21:59:48 <ais523> no it doesn't
22:00:01 <ais523> ^ul (a)(b)(c)(SS)a~*^S
22:00:02 <fungot> ...bad insn!
22:00:02 <Deewiant> Yes it does, as it is in itself a mechanism to access more than the top two.
22:00:14 <ais523> ^ul (a)(b)(c)(SS)~a~*^S
22:00:14 <fungot> cba
22:00:21 <ais523> what am I doing wrong?
22:00:30 <ais523> ^ul (a)(b)(c)(SS)~a*^S
22:00:30 <fungot> bac
22:00:32 <ais523> that's better
22:00:45 <ais523> dip is actually ~a*^ in Underload
22:00:54 <ais523> Deewiant: well, OK
22:00:59 <AnMaster> <ais523> AnMaster: you write Whitespace in a wimpmode first, then compile <-- oh?
22:01:06 <Deewiant> AnMaster: Yes.
22:01:25 -!- olsner has joined.
22:01:27 <ais523> AnMaster: the whitespace wimpmode in question would presumably list each whitespace /command/ as a separate visible printable character
22:01:29 <Deewiant> AnMaster: E.g. http://yagni.com/whitespace/index.html
22:01:34 <ais523> and compilation is then trivial
22:01:39 <AnMaster> <Deewiant> AnMaster: That's not working with a stack now is it. <-- true
22:01:46 <Deewiant> Or http://www.burghard.info/Code/Whitespace/index.html
22:02:12 <AnMaster> gah even more to read up
22:02:13 <AnMaster> ...
22:02:50 <ais523> Deewiant: any way, my point is that dip in Underload can be implemented despite no ability to access stack elements beyond the top two
22:02:58 <AnMaster> ais523, ah yes
22:02:59 <ais523> in only four characters, in fact!
22:03:22 <AnMaster> ais523, that is because you can expand the elements
22:03:22 <Deewiant> ais523: But where is the top element stored while the code is being run?
22:03:35 <ais523> Deewiant: in the program
22:03:41 <ais523> or on the call stack
22:03:44 <ais523> depending on how you think about it
22:03:46 <AnMaster> ais523, you have more than a plain number on your stack
22:03:49 <ais523> yes
22:03:49 <AnMaster> in ul
22:03:59 <Deewiant> ais523: So there's an alternate storage location beyond the stack.
22:04:01 <ais523> now, you could do something similar in bignum Befunge if you had a mingle operator
22:04:11 <Deewiant> In this case, another stack.
22:04:19 <ais523> Deewiant: there is in Funge too, it's the IP delta
22:04:19 <neldoreth> and you guys are programing in esoteric languages just for fun?
22:04:24 <ais523> neldoreth: of course
22:04:27 <AnMaster> so. Befunge is like C. Pointer or Integer? No way to tell. Underload is managed. Because you can see data type
22:04:30 <AnMaster> interesting
22:04:31 <ais523> why would anyone program in an esolang for any other reason?
22:04:36 <neldoreth> i dont know :D
22:04:45 <Deewiant> ais523: It can only store four values without x
22:04:49 <AnMaster> ais523, well duh that is easy...
22:04:51 <Deewiant> And is a pain to work with
22:04:53 <neldoreth> because he has to, like i had to - but it was fun
22:04:59 <FireFly> Well, esolangs do have their bright sides
22:04:59 <AnMaster> ais523, for the enterprise solutions that exist
22:05:00 <AnMaster> :P
22:05:10 <AnMaster> really we need bexml
22:05:15 <Deewiant> neldoreth: Befunge is fun, other esolangs not so much, in my experience :-P
22:05:16 <FireFly> It's way easier to learn BF by heart rather than learning the whole Java class library :D
22:05:25 <AnMaster> then we shall take the corporate world with storm
22:05:31 <ais523> AnMaster: if there's ever another OMGWTF competition, I'll enter it trying to make out that INTERCAL is an enterprise langauge
22:05:33 <ais523> *language
22:05:41 <Deewiant> FireFly: But on the other hand, learning the whole Java class library implies you can actually, you know, do things.
22:05:43 <AnMaster> ais523, "OMGWTF competition"?
22:05:45 <ais523> using INTERCAL will probably conflict with the requirements, but in the OMGWTF that doesn't actually matter
22:05:55 <ais523> AnMaster: the worsethanfailure Olympiad of Misguided Geeks
22:06:03 <ais523> although it's back to being called dailywtf.com again now
22:06:05 <neldoreth> Deewiant: yeah, i think whitespace/brainfuck are just painful to write
22:06:06 <FireFly> Deewiant, true
22:06:08 <AnMaster> ais523, ah... got a link to previous ones?
22:06:15 <ais523> there was only one previous one, let me try to find it
22:06:22 <Deewiant> neldoreth: Whitespace is okay if you use an assembler
22:06:29 <Deewiant> neldoreth: But it's not particularly /fun/ IMO
22:06:42 <Deewiant> Befunge, for some strange reason, I actually do find fun
22:06:50 <ais523> http://omg.worsethanfailure.com/
22:06:51 <AnMaster> me too
22:07:00 <AnMaster> though I prefer writing *interpreters* for esolangs
22:07:07 <AnMaster> much more interesting
22:07:08 <Deewiant> Of course that can still be offset by unsavoury tasks
22:07:15 <AnMaster> or compilers
22:07:31 <AnMaster> neldoreth, writing an optimising brainfuck -> C compiler is quite interesting
22:07:39 <AnMaster> much more than writing *in* brainfuck
22:07:49 <ais523> the OMGWTF was all about writing programs that looked like they were generated via a bad development process
22:07:54 <AnMaster> ah
22:07:55 <Deewiant> I'm not that interested in writing interpreters/compilers for uninteresting esolangs
22:07:58 <AnMaster> I see
22:07:58 <ais523> although it turned into a contest for ridiculous programs, more than anything else
22:08:08 <neldoreth> hm someone gave me a link to the befunge irc bot now, are there some additional bigger projects/programs in these languages? (so more or less useful ones)
22:08:21 <Deewiant> DOBELA is one that I've been thinking of implementing, don't really have much time now
22:08:25 <ais523> the specification of the contest was "implement a clone of Windows Calculator, using one of these two provided skeleton GUIs written in C"
22:08:36 <Deewiant> neldoreth: Mycology is the biggest Funge program, I think
22:08:37 <ais523> it was a trivial task, the competition was all about how badly you could mess it up
22:09:00 <Deewiant> neldoreth: http://iki.fi/deewiant/befunge/mycology.html
22:09:04 <AnMaster> ais523, ah I remember reading about that contest being announced...
22:09:10 <neldoreth> thanks
22:09:51 <Deewiant> neldoreth: If you find a bug, please report it ;-)
22:10:04 <AnMaster> neldoreth, cfunge does include some simpler example programs in the tarball. And some weird test programs
22:10:04 <neldoreth> haha
22:10:14 <AnMaster> half of which only make sense for cfunge
22:10:33 <AnMaster> Deewiant, not likely unless he write his own interpreter
22:10:33 <ais523> AnMaster: why? because they test things only cfunge gets wrong? because they test cfunge-specific features?
22:10:35 <Deewiant> neldoreth: http://www.rcfunge98.com/ has some examples and links
22:10:45 <ais523> heh, RC/Funge
22:10:56 <ais523> it sort of has the opposite philosophy to Mycology
22:10:58 <AnMaster> ais523, well some of them test undef behaviour that I want to behave in a specific way
22:11:14 <Deewiant> ais523: How's that
22:11:19 <AnMaster> ais523, some are about funge109
22:11:26 -!- jix_ has quit ("...").
22:11:36 <AnMaster> ais523, and a few are just not in mycology but should be
22:11:46 <ais523> neldoreth: another good Funge link is http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/
22:11:51 <ais523> which is one of the longer domain names on the Internet
22:11:56 <AnMaster> $ ls tests/
22:11:56 <AnMaster> concurrent-issues.b98 iterate-iterate2.b109 iterate-zero.b98 perl.b98 split-in-iterate.b98 text-output.b98 wrap.b98
22:11:56 <AnMaster> iterate-fetchchar.b98 iterate-jump.b109 jumpwrap.b98 refc-invalid-deref.b98 sysexec.b98 turt.b98
22:11:56 <AnMaster> iterate-iterate.b109 iterate-space.b109 multi-file.b98 sigfpe.b98 sysinfo-multi-stack-sizes.b98 turt2.b98
22:12:11 <AnMaster> ais523, a few of them were crash bugs found with fuzz testing
22:12:19 <AnMaster> like the concurrent-iussues one
22:12:26 <AnMaster> was ages ago
22:12:52 <AnMaster> ais523, I know that ccbi were affected by a few of them
22:12:52 <ais523> neldoreth: Befunge-93 or Befunge-98, by the way?
22:12:59 <AnMaster> like the refc-invalid-deref.b98 one
22:13:08 <ais523> AnMaster: "CCBI was", unless CCBI has somehow managed to become plural
22:13:15 <AnMaster> ah yes
22:13:22 <AnMaster> ais523, well I have two copies of CCBI here
22:13:23 <AnMaster> :P
22:13:29 <neldoreth> ais523: first thanks for the links, will check them out - was not specified, just "befunge"
22:13:37 <ais523> "If CCBI were affected by them" is correct but hardly seen nowadays
22:13:48 <ais523> neldoreth: write a program that works differently in the two, then
22:14:01 <Deewiant> ais523: That's tricky.
22:14:06 <AnMaster> well
22:14:09 <AnMaster> Deewiant, not really
22:14:12 <ais523> a hint: double quote space space double quote pushes two entries on the stack in Befunge-93, but only one in Befunge-98
22:14:16 <Deewiant> Oh, wait, I do it in Mycology.
22:14:17 <Deewiant> :-D
22:14:30 <neldoreth> ais523: :]
22:14:31 <AnMaster> Deewiant, yes exactly. And you could depend on a reflecting in 93
22:14:38 <ais523> Deewiant: I still think Mycology violates the Befunge-93 spec by being too big
22:14:40 <AnMaster> while it pushes 10 in 98
22:15:00 <Deewiant> ais523: Quite possible, it's really not well specified
22:15:02 <ais523> interfunge fails because of that, and basically passes otherwise
22:15:22 <ais523> the only difference from expected output is that it prints numbers with Roman numerals
22:15:24 <Deewiant> Mycology wasn't intended as a Befunge-93 test suite anyway, I just noticed that I could so I did
22:15:28 <Deewiant> :-D
22:15:30 <ais523> but that's a misfeature, not a bug
22:15:44 <AnMaster> ais523, kate: Edit -> Block mode (~ due to l10n), copy. Paste in new file. Save as mycolgy-93.bf
22:15:48 <AnMaster> issue solved
22:15:54 <neldoreth> ah a sudoku solver, thats more or less useful
22:15:55 <ais523> AnMaster: it's an easy enough issue, I did it with sed
22:16:06 <AnMaster> ais523, how? I don't know sed well enough
22:16:19 <ais523> AnMaster: strip the first 25 lines to 80 characters, delete all the others
22:16:31 * AnMaster knows s, d, p and q in sed
22:16:36 <ais523> that's all you need
22:16:41 <ais523> s does everything in sed
22:16:51 <AnMaster> <ais523> AnMaster: strip the first 25 lines to 80 characters, delete all the others <-- um... ?
22:16:55 <ais523> you should have no trouble writing a regex to delete all but the first 80 characters
22:17:12 <ais523> and 26,$d will delete all but the first 25 lines
22:17:14 <AnMaster> ais523, well iirc sed doesn't support {a,b} for range
22:17:25 <ais523> some versions support \{ \} for range, IIRC
22:17:29 <AnMaster> maybe
22:17:30 <ais523> but writing 80 dots is easy, just tedious
22:17:31 <Deewiant> ? and grouping is enough to support {}
22:17:38 <AnMaster> ais523, and error-prone
22:17:44 <Deewiant> ais523: 80 dots won't work if there're less than 80 chars
22:17:44 <ais523> not with copy-paste
22:17:49 <ehird> 21:04 AnMaster: so. Befunge is like C. Pointer or Integer? No way to tell. Underload is managed. Because you can see data type
22:17:51 <ehird> just program
22:17:53 <AnMaster> Deewiant, indeed
22:17:53 <ais523> Deewiant: then the s/// won't match, so it'll do nothing
22:17:55 <ehird> is the only typ
22:17:56 <ehird> e
22:17:58 <ais523> which is the correct thing to do in this case
22:18:02 <Deewiant> ais523: D'oh
22:18:15 <ehird> AnMaster: not bash, no
22:18:19 <ehird> has to be plain sh(1)
22:18:21 <AnMaster> ehird, well the interpreter has a higher level understanding of it
22:18:22 <ehird> either that, or
22:18:27 <ehird> AnMaster: no
22:18:30 <ehird> it doesn't
22:18:32 <ehird> you just have programs
22:18:33 <AnMaster> it could have
22:18:40 <ehird> yes, but same with befunge
22:18:43 <ehird> there is no language-level distinction
22:18:49 <ehird> hmm
22:18:51 <AnMaster> ehird, write a GC in befunge
22:18:54 <ehird> can you tell dd to copy-all-but-1?
22:18:57 <AnMaster> that reclaims unused funge space
22:18:57 <AnMaster> :D
22:18:58 <ais523> ehird: Underlambda actually has fewer data types than Underload, they both have exactly one but Underlambda's is lighter-weight
22:19:04 <ehird> AnMaster: impossible
22:19:07 <AnMaster> a separate GC thread
22:19:13 <ais523> impossible unless you put restrictions on what the program can do
22:19:16 <AnMaster> ehird, indeed. For same reason as C
22:19:19 <ehird> no
22:19:21 <Deewiant> ehird: You can skip at the start of input
22:19:23 <AnMaster> but even more so
22:19:23 <ehird> for an entirely different reason
22:19:23 <ais523> otherwise, nothing's stopping it revivifying a pointer
22:19:27 <ehird> you can't know whether you'll access fungespace
22:19:32 <ais523> via editing itself
22:19:32 <ehird> in C etc, you just traverse the heap from one pointer
22:19:36 <ehird> to see reachable objects
22:19:38 <ehird> you can't do that with befunge
22:19:43 <AnMaster> ehird, err how so?
22:19:47 <ehird> >_<
22:19:49 <Deewiant> ehird: Using that and swab you can reverse the file
22:19:49 <AnMaster> you can get bounds on the used area
22:19:49 <AnMaster> ...
22:19:53 <AnMaster> using y
22:19:57 <ais523> well, even in C you can write *(int*)0x480dacef, which confuses garbage collectors no end, but it's considered bad form
22:20:02 <ais523> and is undef behaviour
22:20:03 <Deewiant> ehird: And then skip from the start of the reverse
22:20:07 <AnMaster> ais523, yes
22:20:11 <ehird> Deewiant: swab is another command?
22:20:14 <ais523> on the other hand, in Funge that sort of thing's rather normal
22:20:18 <ehird> wait, no
22:20:21 <Deewiant> ehird: conv=swab
22:20:28 <Deewiant> Swap every pair of input bytes
22:20:35 <ais523> how many Funge programs are there that hardcode p and g coordinates?
22:20:47 <ehird> must be a simpler way
22:20:50 <AnMaster> ais523, me, Deewiant, most other people?
22:20:51 <ais523> now, how many Funge programs are there that use some sort of fungemalloc to find unallocated fungespace?
22:20:55 <Deewiant> ehird: Too Esoteric for you? :-P
22:20:59 <AnMaster> ais523, none that I know of
22:21:02 <ehird> Deewiant: no, just too tedious
22:21:03 <ais523> AnMaster: exactly
22:21:10 <ais523> that's why a Funge garbage collector makes no sense
22:21:10 <AnMaster> ais523, anyway C programs have hard coded coords.
22:21:16 <ais523> AnMaster: static variables?
22:21:17 <AnMaster> ais523, err pointers
22:21:19 <AnMaster> ais523, yes
22:21:25 <ais523> yes, but those aren't garbage-collected
22:21:27 <Deewiant> Hmm, fungemalloc sounds like a cool idea actually
22:21:28 <AnMaster> true
22:21:40 <AnMaster> wait
22:21:41 <Deewiant> Much better than Mike's silly C malloc, anyway :-P
22:21:42 <ehird> a high level language specifically designed to target befunge would be fun
22:21:45 <ais523> Deewiant: agreed, there should be a fingerprint that does that
22:21:45 * AnMaster looks for Mike
22:21:49 <AnMaster> ah good he isn't here
22:21:55 <AnMaster> or we would have had REAL issues
22:21:58 <oklopol> hhhhhhhhhhheheheehhhhhhhhhe
22:21:58 <ais523> allocating in negative fungespae would probably be safest
22:21:59 <AnMaster> BFGC
22:22:01 <AnMaster> :D
22:22:03 <ehird> AnMaster: what issues?
22:22:16 <ais523> ehird: MikeRiley implementing a fungemalloc before we could write a decent spec for it
22:22:17 <AnMaster> ehird, a badly specced fingerprint for GC in befunge which didn't actually work
22:22:21 <AnMaster> or something like that
22:22:22 <ehird> snap.
22:22:26 <ais523> oh, garbage collection? that would be worse
22:22:31 <AnMaster> ais523, indeed
22:22:34 <AnMaster> anyway
22:22:42 <ehird> also, I find mkry's fingerprints to be okay, on the whole
22:22:42 <ais523> although at least nobody sane would try to use it
22:22:43 <AnMaster> he has a fingerprint for malloc()
22:22:43 <ehird> but some of them are awful
22:22:48 <AnMaster> system malloc() that is
22:22:49 <ais523> ehird: which one do you think is worst?
22:22:50 <ehird> i mean, the specs are simple enough to follow
22:22:56 <ehird> ais523: there's one that I forgot
22:22:58 <ehird> lemme look it up
22:22:59 <Deewiant> But ambiguous.
22:23:02 <ais523> apart from the one that violates the semantics of the langauge
22:23:04 <ais523> *language
22:23:07 <ehird> Deewiant: only some of them
22:23:10 <ais523> that one's obviously worse in a language-lawyer sense
22:23:11 <Deewiant> ais523: FNGR?
22:23:12 <ais523> *worst
22:23:14 <ehird> others just specify blanket behaviour like reflecting
22:23:16 <Deewiant> ehird: Most
22:23:21 <ehird> not IMO.
22:23:27 <Deewiant> ehird: Well he says "reflect on error" without saying what's an error
22:23:29 <AnMaster> well, reflecting on error isn't bad
22:23:38 <AnMaster> but yeah should specify what are errors
22:23:48 <AnMaster> err
22:23:50 <AnMaster> grammar...
22:23:52 <ais523> Deewiant: that was the one
22:24:04 <ais523> I couldn't remember which of FING and FNGR was the good one and which was the broken one
22:24:07 <AnMaster> Deewiant, FNGR is at least not badly specced
22:24:08 <Deewiant> ais523: He retconned it to switch to the alternate semantics
22:24:17 <AnMaster> there are some fingerprints I have no idea what the hell they are supposed to do
22:24:22 <Deewiant> "When this fingerprint is loaded, fingerprints work like this."
22:24:24 <AnMaster> some MACR or something iirc
22:24:45 <ehird> macro extension
22:24:46 <ehird> that's trivial
22:24:48 <Deewiant> His botching of MVRS annoyed me
22:24:48 <AnMaster> well
22:24:49 <ehird> http://rcfunge98.com/rcsfingers.html#MACR
22:24:53 <ehird> "Macros are simple mini-funge like Befunge-like subroutines that execute in a single tick"
22:24:57 <Deewiant> We thought up some pretty good stuff to make it work well
22:24:58 <ehird> seems fine to me
22:25:00 <AnMaster> ehird, he retconned that one too
22:25:02 <AnMaster> :P
22:25:11 <Deewiant> But he kept with his first implementation/spec
22:25:21 <AnMaster> ehird, what about TRGR?
22:25:27 <Deewiant> And it's just not very interesting/smart that way, I forget which
22:25:31 -!- BeholdMyGlory has quit (Remote closed the connection).
22:25:39 <AnMaster> Deewiant, indeed
22:25:41 <ehird> AnMaster: TRGR is wellspecced
22:25:48 <ehird> it's in the list below the instruction overview
22:25:51 -!- BeholdMyGlory has joined.
22:25:51 <Deewiant> Anyhoo, for this funge malloc thing
22:25:54 <AnMaster> ehird, again slightly retconned
22:25:55 <ehird> "The trigger table contains executable code for the new IP, the code for A begins at the trigger table vector, B starts at the same X one line lower, C below that, etc"
22:25:55 <Deewiant> What do we need?
22:26:00 <ehird> well stop giving me retconned ones
22:26:08 <ehird> Deewiant: M ( -- x y)
22:26:11 <Deewiant> 1) Something to specify an area as not to be allocated into
22:26:11 <ehird> F (x y --)
22:26:15 <ehird> and
22:26:19 <ehird> P (x y x1 y2 --)
22:26:22 <ehird> P is your #1
22:26:27 <ehird> Q (x y x1 y2 --)
22:26:27 <AnMaster> ehird, so M returns a block of what size?
22:26:28 <AnMaster> :P
22:26:28 <ehird> opposite of P
22:26:33 <Deewiant> ehird: M (x y -- x y)
22:26:33 <ehird> AnMaster: ah, good point
22:26:37 <ehird> yes
22:26:41 <AnMaster> Deewiant, well, some way to return malloc a block of a specific size, getting coords back
22:26:43 <ehird> M (x y -- x y) allocate fungespace block
22:26:43 <AnMaster> then free too
22:26:49 <ehird> F (x y --) deallocate fungespace block
22:26:56 <ehird> P (x y x1 y1 --) don't allocate in this block
22:27:01 <Deewiant> AnMaster: Yeah, I'm continuing from what ehird said :-)
22:27:01 <ais523> you should have a realloc too
22:27:01 <ehird> Q (x y x1 y1 --) undo P
22:27:06 <AnMaster> mhm
22:27:08 <Deewiant> R (x y x y -- x y)
22:27:11 <ehird> yes
22:27:13 <ehird> what Deewiant said
22:27:13 <AnMaster> R?
22:27:14 <ehird> tada
22:27:15 <AnMaster> realloc?
22:27:15 <ehird> we're done
22:27:16 <Deewiant> realloc
22:27:16 <AnMaster> eww
22:27:19 <ais523> Deewiant: I would suggest unique names for the parameters...
22:27:20 <AnMaster> Deewiant, why?
22:27:27 <ais523> AnMaster: because realloc is useful
22:27:29 <AnMaster> ais523, even better point
22:27:34 <AnMaster> however
22:27:39 <ehird> I was typing out Deewiant but with x1,y1 for the second pair
22:27:40 <ais523> it's make this bigger, and move to a different part of fungespace if it doesn't fi
22:27:41 <ais523> *fit
22:27:41 <ehird> then he said it :P
22:27:56 <ais523> I suggest x,y for position, w,h for width/height
22:28:09 <AnMaster> ais523, iirc I remember a comment from boehm-gc saying "eww realloc, well we are stuck with it since it is in C standard"
22:28:13 <AnMaster> or something to the same effect
22:28:14 <Deewiant> I suppose we could do GC as well
22:28:18 <Deewiant> G ( -- )
22:28:19 <AnMaster> Deewiant, how?
22:28:22 <AnMaster> um
22:28:25 <ais523> conservatively
22:28:25 <Deewiant> Free everything
22:28:28 <Deewiant> :-D
22:28:31 <ais523> use large negative numbers for coordinates
22:28:37 <ais523> that are unlikely to show up in the program
22:28:40 <AnMaster> actually
22:28:41 <AnMaster> you CAN
22:28:45 <AnMaster> do a precise GC
22:28:45 <Deewiant> Maybe G (t -- )
22:28:49 <AnMaster> for both befunge and C
22:28:53 <AnMaster> yes really
22:28:53 <Deewiant> Free everything not touched in t ticks
22:28:55 <ais523> then look for numbers anywhere on the stack or in fungespace that are in the allocated range
22:29:05 <AnMaster> you basically need to do what valgrind --tool=exp-ptrcheck
22:29:07 <ais523> Deewiant: conservative would work, I think
22:29:08 <AnMaster> track every pointer
22:29:14 <AnMaster> as it is copied around
22:29:18 <AnMaster> ehird, ^
22:29:18 <ais523> AnMaster: how can you tell an integer from a pointer in befunge?
22:29:22 <Deewiant> ais523: Hrmph
22:29:31 <Deewiant> A bit expensive, that
22:29:33 <AnMaster> ais523, well you could tell how the value from this fingerprint was copied
22:29:44 <ais523> Deewiant: who says fingerprints have to be cheap
22:29:47 <Deewiant> I think my tick idea is pretty workable
22:29:50 <AnMaster> well
22:29:57 <AnMaster> I wouldn't implement the GC bit
22:29:59 <ais523> we're discussing garbage-collected Befunge here, and you want it to be /efficient/?
22:30:05 <AnMaster> I would suggest another way
22:30:12 <Deewiant> ais523: I don't want it to be needlessly inefficient
22:30:18 <AnMaster> A (x y w b --)
22:30:21 <ais523> Boehm-GC is conservative, anyway
22:30:22 <AnMaster> allocate arena to allocate from
22:30:26 <ehird> hey guyz
22:30:27 <ehird> http://nopaste.com/p/arvgu9k9bb
22:30:31 <ehird> I wrote it.
22:30:32 <AnMaster> Deewiant, ^
22:30:34 <ais523> also, deallocating data just because it hasn't been used recently is mad
22:30:36 <ehird> fully specced
22:30:37 <ehird> ready to go
22:30:39 <Deewiant> ais523: But if you want, we can spec that negative values given to G do funky stuff
22:30:46 <ehird> :)
22:30:47 <ais523> that's a Silly Emplosions idea
22:30:47 <AnMaster> ehird, I disagree
22:30:49 <Deewiant> -1 can be your conservative collector
22:30:50 <AnMaster> ...
22:30:51 <ehird> AnMaster: why?
22:30:56 <ehird> it specifies all behaviour
22:30:57 <AnMaster> ehird, "<AnMaster> A (x y w b --) <AnMaster> allocate arena to allocate from"
22:30:58 <AnMaster> ...
22:31:00 <ais523> for the sake of sanity I think we should agree that Silly Emplosions stuff shouldn't be ported to any lang but INTERCAL
22:31:01 <AnMaster> I suggest that way
22:31:02 <AnMaster> instead
22:31:04 -!- asiekierk has quit (Read error: 104 (Connection reset by peer)).
22:31:04 <ehird> that's stupid.
22:31:07 <ehird> mine is better.
22:31:09 <AnMaster> so program has to mark areas to allocate from
22:31:14 <AnMaster> ehird, your is stupid. Mine is better
22:31:16 <ais523> I think by default the arena should be negative fungespace
22:31:20 <AnMaster> now say why your is better
22:31:31 <ais523> and programs should have to mark which bits, if any, they're using
22:31:31 <oklopol> F (x y --) Deallocate block. <<< what does this mean?
22:31:33 <ehird> mine is better because the amount of manual fungespace usage is more likely to be finite,
22:31:38 <ais523> oklopol: like free() in C
22:31:39 <ehird> than the allocatory areas
22:31:40 <Deewiant> oklopol: Later allocations can use it
22:31:43 <oklopol> "deallocate an allocated block of size x,y"?
22:31:43 <AnMaster> ais523, you could have multiple arenas. As memory pools
22:31:44 <ehird> err, wait
22:31:46 <AnMaster> for different size
22:31:47 <AnMaster> or such
22:31:48 <ehird> it should be x y x1 y1
22:31:50 <AnMaster> in my idea
22:31:53 <ais523> oklopol: deallocate the block allocated at coordinates x,y
22:31:58 <oklopol> err k
22:32:01 <ais523> the size is known from the coordinates
22:32:06 -!- jix has joined.
22:32:06 <AnMaster> ais523, indeed
22:32:08 <AnMaster> wait
22:32:09 <ais523> because it was allocated via fungemalloc in the first place
22:32:10 <AnMaster> ...
22:32:13 <Deewiant> ais523: Why not just have the arena be the whole space
22:32:17 <ais523> there should also be a "Get size of allocated block"
22:32:19 <AnMaster> ais523, where is the meta data stored?
22:32:22 <ais523> Deewiant: and overwrite the function?
22:32:24 <AnMaster> Deewiant, object pools?
22:32:25 <ehird> OK
22:32:25 <ehird> http://nopaste.com/p/aunvNDw2J
22:32:27 <ehird> fixed
22:32:30 <ais523> AnMaster: in fungespace? fungemalloc can allocate its own bit
22:32:31 <oklopol> ais523: that's what makes most sense, but i dislike it not being mentioned and x, y used for another purpose too.
22:32:32 <ehird> I eagerly await implementations :P
22:32:36 <Deewiant> ais523: You have to start by saying what can't be allocated on top of
22:32:41 <AnMaster> ais523, and how can it know program won't Q it?
22:32:42 <ehird> Deewiant: I did
22:32:42 <ehird> see P,Q
22:32:50 <oklopol> R (x y x1 y1 -- x2 y2) Resize the block x*y to be x1*y1, return new coordinates.
22:32:51 <oklopol> also wut
22:32:56 <Deewiant> ehird: Yes, I know you did, I even said it before you originally :-P
22:32:59 <oklopol> "the block x*y"?
22:33:02 <ais523> I think all implementaitons should have P,Q, but we should agree what the default arena is
22:33:05 <ehird> Deewiant: Yes yes.
22:33:07 <Deewiant> oklopol: The block at x*y
22:33:08 <ehird> ais523: implementation defined
22:33:10 <oklopol> that definitely means any random block of size x*y
22:33:11 <ais523> should be "the block at (x,y)"
22:33:22 <ais523> ehird: that's useless
22:33:22 <FireFly> ...
22:33:23 <AnMaster> ...
22:33:24 <AnMaster> sigh
22:33:29 <ehird> no it's not
22:33:32 <oklopol> Deewiant: if it's the point x*y, why not just give an integer
22:33:32 <AnMaster> what about MEMORY POOLS!
22:33:33 <ehird> also, my R is fine
22:33:34 <Deewiant> Implementation defined actually seems like the best idea
22:33:34 <AnMaster> anyone?
22:33:35 <ais523> programs would have to run Q then P in order to guarantee what they did at all
22:33:37 <ehird> since only one block can start at one place
22:33:38 <Deewiant> oklopol: Oh, heh.
22:33:39 <AnMaster> with program defined ARENAS
22:33:42 <ehird> ais523: er, no
22:33:43 <AnMaster> to ALLOCATE FROM?
22:33:54 <AnMaster> why are everyone ignoring this suggestion?
22:33:56 <AnMaster> is*
22:33:56 <ehird> if you use any fungespace manually, use P
22:33:57 <ais523> ehird: it's just that you're using x*y rather than (x,y) for coordinatese
22:33:59 <ehird> AnMaster: because it's shit
22:34:02 <ehird> ais523: ok, i'll change that
22:34:02 <AnMaster> ehird, why?
22:34:03 <Deewiant> ehird: No it's not
22:34:05 <ais523> AnMaster: because it's the same as ehird's, just with differnet defaults
22:34:10 <ais523> *different
22:34:19 <Deewiant> Well yeah, one can be implemented in the other
22:34:20 <ais523> you can just do it by Ping everything then Qing your arena
22:34:22 <ais523> *arenas
22:34:26 <AnMaster> ais523, not really. It would be easier to implement
22:34:31 <Deewiant> Oh, that brings up a good point
22:34:34 <AnMaster> because a program could P/Q in a complex overlapping way
22:34:35 <Deewiant> Semantics for overlapping P/Q
22:34:40 <AnMaster> exactly
22:34:46 <ehird> http://nopaste.com/p/aPrF2K5xA
22:34:47 <ehird> Updated.
22:34:49 <Deewiant> The latest call takes precedence?
22:34:50 <AnMaster> therefore I suggest non-overlapping areans
22:34:50 <ais523> Deewiant: the newest overrides older ones
22:34:50 <ehird> Deewiant: Undefined.
22:34:53 <Deewiant> :-D
22:34:54 <AnMaster> Deewiant, no way
22:34:54 <ais523> ehird: no, not undefined
22:35:01 <ais523> newer overrides older is the only sane way
22:35:03 <ehird> Well, fine.
22:35:04 <AnMaster> I'm going to handle circle shaped pools
22:35:04 <ehird> I'll do that.
22:35:06 <Deewiant> What about multiple threads
22:35:07 <AnMaster> ...
22:35:14 <AnMaster> Deewiant, well t is synced still
22:35:23 <AnMaster> from interpreter point of view
22:35:23 <ehird> http://nopaste.com/p/aAXmy9lnib
22:35:27 <ehird> Hey, wait!
22:35:31 <ais523> Deewiant: they share pools IMO
22:35:31 <ehird> Err, wait, nevermind.
22:35:33 <Deewiant> If one essentially says 'I want you to allocate here' and the other says 'I want you to not allocate here' what happens
22:35:34 <ehird> http://nopaste.com/p/aAXmy9lnib <- updated version
22:35:40 <Deewiant> ais523: Yeah, I guess, so you have to work it out yourself
22:35:42 <ehird> Deewiant: whichever gets there last works
22:35:42 <ais523> Deewiant: the latest takes precedence
22:35:45 <AnMaster> Deewiant, if we have overlapping P/Q then you can count me out
22:35:55 <AnMaster> that is just too hard to try to fit
22:36:04 <ais523> if one thread allocates a pointer, and another thread frees it, which takes precedence?
22:36:06 <Deewiant> AnMaster: I figured we'd count you out anyway, I know how you are with feral fingerprints. :-P
22:36:08 <ais523> AnMaster: why is it difficult?
22:36:10 <ehird> ais523: the one that gets their last
22:36:11 <ehird> *there
22:36:20 <AnMaster> Deewiant, I'm fine with a simple suggestion as I suggested
22:36:27 <ais523> ehird: well, obviously, I was trying to make it a rhetorical question so Deewiant understood
22:36:29 <AnMaster> with allocating pools and allocating from these pools
22:36:34 <ehird> kay
22:36:41 <ais523> P and Q just flip allocatableness of a fungespace element
22:36:44 <ehird> I think we're all agreeing here apart from AnMaster, who is boring as far as fingerprints go.
22:36:48 <ais523> that isn't even a feral fingerprint!
22:36:52 <ehird> ais523, Deewiant: Any issues with http://nopaste.com/p/aAXmy9lnib?
22:36:53 <ais523> what's feral about it?
22:36:57 <Deewiant> ais523: 'feral' is poorly defined.
22:36:59 <ais523> ehird: reading it now
22:37:03 <AnMaster> ais523, well how would you try to fit an allocation in
22:37:07 <AnMaster> it sounds non-trivial
22:37:16 <AnMaster> for arbitrary P/Q
22:37:18 <ehird> R should read:
22:37:18 <ehird> R (x y x1 y1 -- x2 y2) Resize the block at (x,y) to be (x1,y1) sized, return new
22:37:19 <ehird> coordinates.
22:37:28 <ehird> http://nopaste.com/p/aFetqtklgb Updated version.
22:37:34 <ais523> Deewiant: my definition of non-feral is "could be implemented in the INTERCAL part of C-INTERCAL+IFFI+cfunge without modifying anything on the funge side apart from fungespace"
22:37:35 <Deewiant> ais523: Usually we've taken it to mean storing data related to the Funge state beyond what is stored in an interpreter without the fingerprint
22:37:53 <ehird> Deewiant: any qualms with http://nopaste.com/p/aFetqtklgb?
22:37:55 <Deewiant> ehird: Use w and h, please. :-)
22:38:03 <ehird> Sure thing
22:38:06 <AnMaster> well
22:38:10 <Deewiant> I still think GC would be fun
22:38:17 <AnMaster> forget it. I'm going to do my own with same name
22:38:17 <AnMaster> :P
22:38:20 <ais523> Deewiant: oh, OK, I've taken it to mean things that can't be implemented without tinkering with interp internals
22:38:30 <AnMaster> just because ehird is ignoring me because of who I am
22:38:31 <Deewiant> AnMaster: Say goodbye to Mycology compatibility then ;-)
22:38:36 <ais523> so implementing x in a fingerprint is feral, implementing a stack stack in an interp isn't
22:38:39 <Deewiant> ais523: Well, that's essentially the same thing
22:38:50 <AnMaster> Deewiant, anyway see my point above about how I think it should be done
22:38:54 <ehird> AnMaster: I'm ignoring you because your idea is shit.
22:38:56 <ehird> Stop being paranoid.
22:39:00 <ais523> Deewiant: I mean, my definition allows fingerprints to have internal state
22:39:00 <AnMaster> ehird, WHY is it shit
22:39:06 <AnMaster> ehird, you haven't justified that
22:39:07 <ehird> I have already explained that
22:39:07 <AnMaster> ...
22:39:09 <ais523> whereas as far as i can tell, yours doesn't
22:39:11 <ais523> AnMaster: it isn't general enough
22:39:12 <AnMaster> ehird, no you didn't
22:39:18 <ais523> and there's no reason not to generalise
22:39:23 <ehird> ais523, Deewiant: http://nopaste.com/p/aVFHswSKL
22:39:25 <ehird> Now using w and h.
22:39:31 <ehird> (x,y) to be (w,yh) size
22:39:32 <ais523> why restrict the user to a rectangular arena that can't be changed over time?
22:39:33 <ehird> *h
22:39:34 <Deewiant> ais523: With internal state, everything is nonferal since you can just embed an interpreter. :-)
22:39:43 <ais523> think of Q as being a befunge version of sbrk
22:39:44 <AnMaster> ais523, sure can, allocate another arena
22:39:47 <AnMaster> besides the current one
22:39:52 <ais523> Deewiant: that's feral in a multithreaded program
22:39:55 <AnMaster> memory pool_s_
22:40:01 <AnMaster> that is what the plural s mean
22:40:03 <AnMaster> ......
22:40:04 <ais523> as you're altering state too quickly for the other threads to take steps
22:40:11 <ehird> http://nopaste.com/p/au1ZCEs3i Easier to read.
22:40:13 <ais523> AnMaster: can you deallocate them again?
22:40:19 <ehird> If anyone other than AnMaster has comments, they're welcome.
22:40:24 <ehird> Don't allocate fungespace in the (x1,y1) sized region starting at (x,y).
22:40:26 <AnMaster> ais523, yes, just empty pools first and call some other instruction
22:40:27 <ais523> ehird: give me time to read one
22:40:28 <ehird> s/x1/w/ etc
22:40:30 <Deewiant> ais523: Presumably you can access the host interpreter's threads from within the fingerprint.
22:40:32 <AnMaster> ehird, see. it is personal
22:40:34 <AnMaster> *shrug*
22:40:35 <ais523> rather than posting new versions so quick I nver reach the end
22:40:40 <ehird> AnMaster: no, you just have an idea about this fingerprint I don't care for
22:40:45 <ais523> Deewiant: oh, I don't assume that
22:40:52 <ehird> but, if you want, I'm happy to make it personal, as you're doing a good job of showing yourself to be an idiot
22:40:55 <ais523> I don't assume anything about the interp at all except ability to access the stack and fungespace
22:40:59 <ehird> http://nopaste.com/p/axl96oLTab Tada.
22:41:05 <ais523> maybe my definition of "feral" is "requires knowledge of the interp to implement"
22:41:24 <Deewiant> ais523: I assume access to the entire Funge state of the host including everything in the -98 standard
22:41:50 <Deewiant> ais523: I.e. some sort of interface to all the internals so that you can implement any fingerprint.
22:41:51 <AnMaster> ais523, being able to have an interpreter-global state + be able to run something atomically compared to ticks would be allowed
22:41:55 <ais523> Deewiant: ah, ok
22:42:01 <ais523> good thing it's a loose definition
22:42:03 <Deewiant> ais523: Without that, feral fingerprints couldn't really happen :-)
22:42:07 <AnMaster> but I'm not sure if you can access other threads in cfunge fingerprints
22:42:13 <AnMaster> hm probably not
22:42:14 <AnMaster> ...
22:42:16 <ais523> ehird: looks good; I would state that by default, all fungespace is available for allocation
22:42:20 <Deewiant> ais523: Something like that is what's intended
22:42:23 <ais523> in fact, I'd prefer the default to be all negative fungespace
22:42:31 <Deewiant> ais523: But it's really unclear and thus a fairly useless term in practice
22:42:37 <ehird> ais523: I'll make all fungespace
22:42:41 <ehird> actually, no
22:42:41 <AnMaster> hm
22:42:44 <ehird> I'll make it implementation defined
22:42:45 <Deewiant> ehird: Why not impl-defined?
22:42:52 <ais523> so programmers don't have to worry about changing P commands whenever they update their program
22:42:53 <AnMaster> Deewiant, in cfunge fingerprints can't access other threads
22:42:55 <ais523> Deewiant: that's much worse
22:42:55 <AnMaster> just FYI
22:42:59 <ehird> wait, no
22:43:00 <Deewiant> ais523: Why's that
22:43:01 <ehird> it should be all fungespace
22:43:02 <ehird> yes
22:43:03 <ais523> because programs wouldn't be able to be portable
22:43:16 <ais523> without overriding the defaults
22:43:19 <ehird> http://nopaste.com/p/aSZv3hZFI
22:43:24 <ehird> Now gives all fungespace by default.
22:43:26 <Deewiant> Ah, good point
22:43:29 <ais523> put it this way, suppose in C malloc() could be defined to either overwrite your program, or not
22:43:33 <ehird> XD
22:43:38 <ais523> and there was a command to tell it not to overwrite given functions
22:43:51 <ais523> everyone would have to call it for every function in their program to be portable
22:43:52 <AnMaster> ais523, good point. And I have suggested a solution that ehird censored away
22:43:59 <ehird> Yes, I'm censoring you by not listening to you.
22:44:03 <AnMaster> I don't know why *he* began writing the fingerprint
22:44:05 <ehird> Shut the fuck up and go cry me a river.
22:44:06 <AnMaster> since it was my idea to begin with
22:44:07 <AnMaster> ...
22:44:09 <ais523> even if most C interps did the sane thing which is to not overwrite any
22:44:17 <ehird> Omg, I am also an IDEA THEIF
22:44:19 <ais523> AnMaster: personally, I think systems should give sane defaults
22:44:19 <ehird> get over yourself...
22:44:27 <ehird> exactly
22:44:30 <ehird> P and Q are corner cases
22:44:30 <ais523> I dislike your system because it gives the insane default of not working
22:44:32 <AnMaster> ais523, exactly. I should have written a spec without mentioning it
22:44:40 <ehird> yes, so I couldn't steal your ideas
22:44:40 <Deewiant> AnMaster: Was it not ais523's idea?
22:44:41 <AnMaster> and then presented it when mostly done
22:44:43 <ehird> what is up with you
22:44:45 <ais523> and I dislike ehird's because it gives the insane default of possibly overwriting the user's program
22:44:46 <ehird> it wasn't even your idae
22:44:48 <ehird> it was ais523
22:44:52 <ehird> ais523: ah
22:44:54 <ehird> I'll fix that
22:44:58 <Deewiant> Hmm
22:44:59 <AnMaster> Deewiant, read scrollback
22:45:01 <ehird> I'll change it to all fungespace outside the program or something
22:45:04 <ehird> hmm
22:45:06 <ehird> any thoughts on that?
22:45:07 <ais523> ehird: that would do
22:45:09 <Deewiant> AnMaster: 22:20:50 in your time zone
22:45:14 <ehird> ais523: so
22:45:15 <ais523> the reason I chose negative is that it can't be written without g/p
22:45:16 <ehird> all unused fungespace?
22:45:21 <ehird> Deewiant: comments?
22:45:22 <ais523> but unused may also work
22:45:25 <AnMaster> Deewiant, I'm sure I suggested GC first at least
22:45:27 <Deewiant> ehird: All fungespace not in the rectangle specified by the file
22:45:32 <AnMaster> and that implies a malloc()
22:45:33 <AnMaster> or such
22:45:35 <ais523> actually, there's an interesting problem here
22:45:37 <Deewiant> You can write that in some more understandable way, I'm sure. :-)
22:45:43 <ais523> which is to do with Lahey-lines, and wrapping
22:45:50 <Deewiant> I just realized that as you said there's a problem
22:45:54 <ehird> ais523, Deewiant: http://nopaste.com/p/avRd8YmTS
22:45:56 <ehird> Voila.
22:46:00 <ais523> what happens if your malloc allocates space on a Lahey-line htat the program actually uses for wrapping?
22:46:08 <AnMaster> good point
22:46:12 <AnMaster> that would be very bad
22:46:21 <ehird> Ah. Interesting.
22:46:24 <ehird> Deewiant: thoughts?
22:46:32 <Deewiant> Ability to mark a given Lahey-line as with P
22:46:39 <ehird> it should be default
22:46:44 <ehird> otherwise programs would break like hell
22:46:48 <ais523> the problem's relatively easy to solve if you only use cardinal coordinates
22:46:48 <Deewiant> You can use x to get on any Lahey-line
22:46:49 <AnMaster> err
22:46:52 <AnMaster> if program expands
22:46:54 <Deewiant> ais523: Yes, but that's boring
22:46:54 <AnMaster> you have issues
22:47:11 <AnMaster> ais523, and you couldn't say "non-cardinal wrapping undef with this fingerprint" or such
22:47:16 <AnMaster> since program could expand
22:47:23 <Deewiant> ehird: By default, only the four quadrants diagonal from the initial rectangle, and then we need an additional command
22:47:24 <ais523> by by default, allocating only if you don't share an x- or y-coordinate with the original fungespace
22:47:27 <AnMaster> and you would run into issues
22:47:35 <ais523> AnMaster: saying "non-cardinal wrapping undef with this fingerprint" is bad anywawy
22:47:51 <AnMaster> ais523, well ok. better wording needed
22:47:54 <ais523> a nicer but unfortunately buggy solution to wrapping is to surround the program with semicolons
22:47:58 <ais523> AnMaster: no, better concept needed
22:48:10 <AnMaster> ais523, the malloced block could contain ;
22:48:14 <AnMaster> so that doesn't help much
22:48:16 <ais523> buggy both because a flying IP might jump them, and because a cardinal program might write a ; into the block
22:48:22 <ehird> hmm
22:48:28 <ehird> maybe just specify that you can't allocate on a lahey-line?
22:48:31 <ehird> err
22:48:32 <ehird> I mean
22:48:34 <Deewiant> Heh
22:48:36 <ehird> that a program points to
22:48:40 <AnMaster> um
22:48:41 <ehird> hmm, that came out awkward
22:48:44 <ais523> unfortunately every element of fungespace is on some lahey-line
22:48:47 <AnMaster> yes
22:48:48 <ehird> duh
22:48:48 <ehird> :P
22:48:56 <ais523> and specifically enumerating every lahey-line you use would get boring fast
22:49:07 <ehird> hmm.
22:49:09 <Deewiant> L (x y xd yd -- ) would do it
22:49:14 <ehird> Deewiant: hm?
22:49:20 <ehird> also, that'd get too tedious
22:49:22 <Deewiant> For specifying a Lahey-line for non-use
22:49:23 <ehird> by default, it should just work.
22:49:27 <AnMaster> ais523, would doing that for every cell in a 32-bit funge space be larger than G=
22:49:29 <Deewiant> It can't, I don't think.
22:49:33 <AnMaster> s/=/?/
22:49:34 <AnMaster> or not
22:49:40 <Deewiant> ehird: Btw, those should be general vectors of course, so it makes sense in Trefunge
22:49:43 <AnMaster> ais523, anyway I suspect it would be "bloody large"
22:49:49 <Deewiant> I guess Unefunge is screwed with this fingerprint
22:49:55 <ehird> Deewiant: after we fix this problem, sure :-)
22:50:00 <ais523> Deewiant: not if it doesn't try to use wrapping
22:50:20 <Deewiant> ais523: True
22:50:39 <AnMaster> ais523, that is 2^32*2^32 cells. Coords can be 2^32*2^32 different values. Wait that's a lot...
22:50:48 <ais523> ok, actually working but feral solution: malloced blocks are untouchable by the IP as if they contained spaces
22:50:56 <ehird> ais523: god no
22:50:57 <ais523> that's like setting noexec on malloced memory
22:50:58 <Deewiant> That's boring
22:51:03 <AnMaster> well
22:51:04 <ehird> it'd be fun to execute malloc'ed blocks
22:51:06 <ehird> like
22:51:06 <ais523> agree it's boring, and I'd like a better one
22:51:10 <ehird> interpreter detector
22:51:12 <ehird> malloc a block
22:51:14 <ehird> jump to it
22:51:14 <AnMaster> ais523, I have an early draft for a NX fingerprint...
22:51:15 <ehird> record your IP
22:51:16 <ehird> :-D
22:51:22 <AnMaster> but I refuse to say anything more
22:51:30 <AnMaster> since ehird would mess that up too
22:51:34 * ehird facepalm
22:51:36 <ais523> actually, an NX fingerprint would be nice whether or not we do this malloc thing
22:51:38 <ehird> Are you crying or something?
22:51:41 <ais523> and they would combine well
22:51:48 <ehird> Because I stole the idea that wasn't yours and broke it because it wasn't your idea?
22:51:52 <ais523> it would be sort-of like abstain from INTERCAL
22:51:53 <ehird> Jesus christ.
22:51:54 <AnMaster> ehird, no but I'm soon ignoring you
22:52:02 <Deewiant> Also, what happens if an already-malloced block is P'd?
22:52:05 <ehird> *snort*. You call me a sore loser...
22:52:07 <Deewiant> Does it get reallocated?
22:52:13 <AnMaster> ais523, well my idea was to cause exit/debugger entry on NX
22:52:15 <ehird> Deewiant: hm.
22:52:16 <Deewiant> I guess it has to
22:52:19 <ehird> reflect.
22:52:23 <AnMaster> ais523, but ignore could be interesting too
22:52:28 <AnMaster> as well as reflect
22:52:29 <ais523> AnMaster: ignoring is much more interesting
22:52:42 <ehird> http://nopaste.com/p/aPJgTXEWfb slight update; still needs a lahey-line fix
22:52:44 <ais523> actually, more general:
22:52:49 <Deewiant> I was going to say that reflection should be reserved for out of memory errors
22:52:51 <AnMaster> ais523, well it was supposed to be a joke about real NX....
22:53:00 <Deewiant> But then realized that that doesn't really make sense in Funge
22:53:05 <ais523> a fingerprint that lets fungespace cells be different when run as a command from when read as a value
22:53:12 <AnMaster> ais523, with mprotect() like interface
22:53:25 <ais523> sort of like those Perl constants that have different values as ints than they do as strings
22:53:34 <AnMaster> ais523, and possibly minimal block page sizes
22:53:35 <ais523> so you could fill an area with acts-like-space, or acts-like-r
22:53:42 <AnMaster> to allow the interpreter to still be efficient
22:53:45 <ais523> whilst the cells still kept their orignal value
22:53:47 <ais523> *original
22:53:53 <ehird> ais523: stop it, you're stealing & ruining his fingerprint!
22:54:05 <ais523> well, I like my idea about this better than AnMaster's
22:54:10 <AnMaster> ehird, no, ais523 is contstructive
22:54:12 <FireFly> AnMaster, you should design an optimizing compiler for Brainfuck, in Brainfuck
22:54:14 <ais523> AnMaster's is just a joke, mine's a feral esoprogramming technique
22:54:15 <AnMaster> ais523, I suggest both
22:54:25 <ais523> AnMaster: yours could be implemented in mine using act-as-@
22:54:31 <AnMaster> ais523, it should be possible to combine them
22:54:35 <ais523> yes
22:54:50 <AnMaster> ais523, no @ != q and enter debugger of interpreter if any
22:55:06 <ais523> AnMaster: I know @ != q
22:55:09 <AnMaster> ais523, + mine include "read only" too
22:55:18 <AnMaster> which your doesn't
22:55:24 <ais523> AnMaster: well, mine could also implement "write only"
22:55:28 <ais523> by making cells unreadable
22:55:35 <AnMaster> ais523, so could mine. per-threads
22:55:35 <ais523> having -wx-wx-wx permissions is occasionally useful
22:55:37 <AnMaster> thread*
22:55:48 <ais523> although admittedly, I've never used it
22:55:51 <AnMaster> ais523, so one thread could write and others only read
22:56:12 <ais523> AnMaster: why would you need that? encapsulation in Befunge is never going to be safe...
22:56:23 <AnMaster> ais523, you don't want to see my *other* ideas then
22:56:27 <ais523> by the way, with that mentioned, anyone up for trying to write a security fingerprint for Befunge that restricts all unsafe operations?
22:56:38 <AnMaster> ais523, sure- Cfunge already has that partly
22:56:40 <ais523> like the Safe module in Perl?
22:56:43 <AnMaster> adding same on per-thread
22:56:45 <AnMaster> would be easy
22:56:45 <ais523> AnMaster: that's an interpreter, not a fingerprint
22:56:56 <AnMaster> ais523, you could make the flag per-thread
22:56:59 <AnMaster> quite easily
22:57:15 <AnMaster> and with a fingerprint to control it
22:57:59 <AnMaster> ais523, but my idea was ring based, or optionally capabiltity based
22:58:20 <AnMaster> both NX and this RING/CAP would be efunge only.
22:58:34 <AnMaster> though SAFE would be trivial in cfunge
22:58:34 <ais523> good fingerprints shouldn't be interp-specific!
22:58:53 <AnMaster> ais523, no, I just don't like slowing down the core of cfunge with checks
22:58:55 <AnMaster> :P
22:59:02 <ais523> even IFFI is worded so that it could be implemented in non-cfunge-plus-C-INTERCAL implementations
22:59:10 <AnMaster> ais523, of course it would be
22:59:16 <AnMaster> just I wouldn't implement them in cfunge
22:59:20 <AnMaster> only in efunge
22:59:20 <ais523> just nobody has tried yet
22:59:23 <AnMaster> ...
22:59:33 <ais523> it doesn't even assume the existence of an INTERCAL implementation
22:59:51 <AnMaster> ais523, read what I said. You misunderstood me!
23:00:18 <AnMaster> ais523, btw IFFI will soon need major updates. cfunge is currently in code/API cleanup
23:00:23 <AnMaster> local branch only atm
23:00:27 <AnMaster> haven't pushed it yet
23:00:34 <ais523> wow, STCK seems bad
23:00:46 <ais523> spec-wise, I mean
23:00:52 <AnMaster> ehird, why BROK for your malloc() one?
23:00:53 <AnMaster> btw
23:00:59 <ehird> Memory BROKer.
23:01:02 <ehird> It brokers memory.
23:01:05 <ais523> although originally I said that because I read his stack (--) things upsidedown
23:01:06 <AnMaster> k
23:01:07 <ehird> http://en.wikipedia.org/wiki/Broker
23:01:20 <AnMaster> ais523, well ok. But still bad?
23:01:35 <AnMaster> ais523, wait what?
23:01:36 <ais523> still rather underspecified
23:02:00 <AnMaster> you read B (v n -- v ..) as B (^u -- ^ ..)
23:02:02 <AnMaster> or such
23:02:07 <AnMaster> don't have inverted v
23:02:27 <ais523> AnMaster: I misread it as (q ɐ ɐ -- q ɐ)
23:02:33 <ais523> obviously
23:02:35 <Deewiant> :-)
23:02:40 <AnMaster> ais523, that isn't even same one...
23:02:52 <ais523> well, that's the one that made me wtf mentally
23:02:56 <AnMaster> ah
23:03:00 <ais523> and also that made me realise I was reading it upsidedown
23:03:04 <AnMaster> ais523, what program did you use to invert?
23:03:16 <ais523> http://www.sherv.net/flip.html, the first Google result on the issue
23:03:23 <AnMaster> ais523, also I assume you meant left-to-right or something like that
23:03:24 * ais523 leads ehird to draw inconsistent conclusions about me
23:03:40 <ehird> ais523: BE CONSISTENT DAMMIT :|
23:03:40 <AnMaster> haha
23:03:44 <ehird> brain—crash—
23:04:09 <AnMaster> ais523, it fails badly
23:04:11 <AnMaster> åäö
23:04:13 <AnMaster> can't handle them
23:04:24 <ehird> ә!Ⴈ ʇouuɐɔ ! puɐ sʇʇnq ƃ!q әʞ!Ⴈ !
23:04:26 <ais523> AnMaster: I wouldn't exactly call that a bad fail
23:04:33 <AnMaster> ais523, also it fails badly on upper case
23:04:36 <AnMaster> which is probably worse
23:04:45 <ehird> ɹәʇʇɐɯ ʎႨႨɐәɹ ʇ! sәop ʎoʇ ɐ s,ʇ!
23:04:46 <ais523> do /you/ know the unicode for combining upside-down umlaut offhand?
23:04:53 <AnMaster> ais523, no
23:04:56 <ais523> neither do I
23:05:00 <ais523> and in fact I suspect there isn't one
23:05:05 <ais523> although this is Unicode so I might be surprised
23:05:08 <ehird> iʎsɐә s!Ⴁʇ uәәq ɹәʌәu sɐႡ uʍop әp!sdn ƃu!ʇ!ɹʍ ˙әɯ!ʇ әɯɐs әႡʇ ʇɐ sɹәpɐәɹ әႡʇ ɹoɟ unɟ ɟo ʇoႨ ɐ puɐ ƃu!Ⴈƃƃoq-pu!ɯ puɐ ƃu!ƃɐƃuә әʇ!nb s,ʇ! ˙ʇxәʇ әႨ!ɟoɹd ɹo sәƃɐssәɯ ʎɐʍɐ 'sәƃɐssәɯ snʇɐʇs Ⴈɐuosɹәd 'sәɯɐu uәәɹɔs ɹnoʎ oʇ әႨʎʇs sppɐ ʇ! puɐ әnb!un s,ʇ! ˙ʍәu puɐ Ⴁsәɹɟ s,ʇ! iʎɹʇ ɐ ƃu!ʇ!ɹʍ uʍop әp!sdn ɹno әʌ!ƃ uәႡʇ ¿sʇu
23:05:11 <ehird> oɟ ʎɹɐu!pɹo puɐ pɹɐpuɐʇs Ⴁʇ!ʍ pәɹoq noʎ әɹɐ
23:05:31 <AnMaster> at least it can reverse back
23:05:42 <AnMaster> mostly
23:05:44 <AnMaster> not fully
23:05:45 <AnMaster> strange
23:05:46 -!- ehird has set topic: p=o؛u=ɔ¿/ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:06:01 <AnMaster> no
23:06:03 <ehird> heh, it worked perfectly
23:06:12 <AnMaster> "are you bored witბ standard"
23:06:17 <ehird> i meant the topic
23:06:25 <ehird> also
23:06:27 <ehird> works for me
23:06:29 <ehird> your font is effed
23:06:32 <AnMaster> err
23:06:36 <ehird> or w/e
23:06:39 <AnMaster> ehird, ბ isn't h
23:06:43 <ehird> oh
23:06:45 <AnMaster> if you think so
23:06:48 <AnMaster> you are wrong
23:06:48 <ehird> you mean putting it back?
23:06:51 <AnMaster> ehird, yes
23:06:59 <AnMaster> it manages to put it back mostly
23:07:02 <AnMaster> but not h
23:07:10 <ehird> ais523: do you think our topic counts as a log link according to freenode? :D
23:07:15 <ais523> probably
23:07:21 <ehird> haha
23:07:22 <ais523> it's enough to inform people that the channel is logged
23:07:26 <ais523> which is what matters
23:07:35 <ehird> if they speak upside-downese, yes :D
23:07:36 <ais523> admittedly, it isn't very useful...
23:07:55 <ehird> also, the c=n;o=d doesn't work lowercase
23:08:02 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:08:21 <FireFly> It actually looks nice
23:08:26 <ehird> yes
23:08:26 <AnMaster> ბttp://tunes.org/~nef/იogs/esoteric/?c=n;o=d
23:08:28 <AnMaster> I get that
23:08:30 <FireFly> AND it's copy-paste protecting
23:08:32 <AnMaster> when converting back
23:08:39 <Deewiant> I'm missing the h and the l here
23:08:40 <FireFly> If you'd need it for something
23:08:44 <ais523> FireFly: in a log link, why is copy-paste protection good?
23:08:46 <ehird> yeah, it fails on h and l
23:08:51 <ehird> ais523: annoys people
23:08:56 <AnMaster> and
23:08:57 <ehird> also, it's a very ESOTERIC link...
23:08:59 <AnMaster> why is that good?
23:09:02 <FireFly> Well
23:09:02 <ais523> ehird: do you consider annoying people a good thing?
23:09:03 <ehird> aw dammit ais523 you beat me to it
23:09:05 <FireFly> Not in this caseä
23:09:08 <FireFly> case*
23:09:10 <FireFly> But generally
23:09:16 <ais523> however, I agree about the esoness
23:09:19 <Deewiant> I wonder what it would take to get them out of some other font
23:09:23 <AnMaster> ok another idea
23:09:35 <Deewiant> Since it appears I do have fonts that have those
23:10:56 <ehird> so, to be the first person since the 70s to say this
23:11:00 <ehird> I like TECO
23:11:07 <ehird> for it is a good editor.
23:11:12 -!- AnMaster has set topic: hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:11:18 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:11:20 <AnMaster> ...
23:11:21 <ehird> don't break the TOS
23:11:23 -!- ais523 has set topic: Ⱒ/sʍ˙➡//:dʇʇɥ.
23:11:26 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:11:27 <ais523> ehird: he didn't
23:11:29 <AnMaster> ehird, err. It did make sense
23:11:31 <ehird> ais523: invalid character
23:11:38 <ehird> AnMaster: it almost certainly doesn't count as a link
23:11:51 <Deewiant> ehird: And the current one does?
23:11:51 <AnMaster> ehird, we had it spelled out before
23:11:52 <ais523> what, a glagolitic capital letter spidery ha looks the same whether it's upside-down or not?
23:11:55 <ais523> *!
23:11:57 <AnMaster> Deewiant, no
23:12:03 <ehird> also, ais523's doesn't inform the current chanel is logged
23:12:08 <ehird> mine counts as a link due to a very trivial isomorphism
23:12:11 <ais523> oh, i had "Logs:" in there
23:12:15 <ehird> and the link clearly demonstrates we're logged
23:12:15 <ais523> it got lost somewehere
23:12:20 <AnMaster> ehird, since when do you decide?
23:12:20 <Deewiant> ehird: There's a very trivial isomorphism for AnMaster's as well
23:12:23 -!- ais523 has set topic: Ⱒ/sʍ˙➡//:dʇʇɥ :sƃol.
23:12:26 <AnMaster> Deewiant, indeed
23:12:30 <ehird> AnMaster: using logic
23:12:33 <ais523> hmm... that tinyarrow isn't upside-down
23:12:34 -!- AnMaster has set topic: Logs: hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:12:34 <ehird> Deewiant: only if you know swedish
23:12:35 <AnMaster> there
23:12:37 <ehird> which isn't clear enough
23:12:40 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:12:43 <AnMaster> fail
23:12:54 -!- ais523 has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:12:56 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:12:58 <ais523> that's a better fix
23:13:01 <Deewiant> ehird: And if you have a crap font, the title currently is a bunch of boxes.
23:13:04 <AnMaster> ais523, I agree
23:13:09 <AnMaster> I think ais523's one is better
23:13:10 <ehird> the arrow is the wrong way around
23:13:13 <AnMaster> ehird, is just being silly
23:13:16 <ais523> ehird: I just fixed the arrow
23:13:18 <ehird> ah
23:13:23 <Deewiant> ais's looks mostly like boxes to me
23:13:25 -!- AnMaster has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:13:27 <ehird> AnMaster: OMG IT'S PERSONAL WHY DO YOU HATE ME
23:13:28 <AnMaster> Deewiant, not to me
23:13:35 <ehird> wait, that's your job.
23:13:41 <Deewiant> //[box].ws/[box]
23:13:43 <AnMaster> ehird, rather why do you think everyone else's topic is stupid
23:13:47 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:13:50 <ehird> AnMaster: I didn't say stupid.
23:13:51 -!- AnMaster has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:13:53 <ais523> Deewiant: what, that glagolitic capital letter spidery ha has been in the topic for ages
23:13:55 <ehird> I said insufficient according to the TOS.
23:13:58 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:01 -!- AnMaster has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:14:02 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:04 -!- AnMaster has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:14:06 <Deewiant> ais523: Quite possibly it was a box then as well
23:14:07 <ehird> I have more patience than you.
23:14:07 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:08 <ais523> how do you not recognise the specific box by now?
23:14:15 <AnMaster> ehird, that proves you are immature
23:14:16 -!- ais523 has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:14:22 <Deewiant> These boxes, they are identical.
23:14:23 <ehird> Yes. Patience is a huge sign of immaturity.
23:14:24 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:25 -!- AnMaster has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:14:27 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:36 <AnMaster> ehird, both me and ais agrees. Two against one.
23:14:46 -!- ais523 has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:14:48 <AnMaster> now ignoring majority is immature
23:14:50 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:52 -!- AnMaster has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:14:53 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:14:55 <ais523> lament: fizzie: help?
23:15:02 <ehird> Protect the right revision!
23:15:04 <AnMaster> indeed I agree with ais523
23:15:06 <lament> stop changing the topic, asiekierka is not even in the channel
23:15:14 <ais523> lament: we're having a topic war
23:15:16 <ehird> I am asiekierka in disguise.
23:15:20 <ais523> ehird is outnumbered but trying to win just by being more specific
23:15:24 <ais523> *persistent
23:15:25 -!- ais523 has set topic: Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol.
23:15:29 <ais523> mine is clearly better
23:15:32 <AnMaster> yes
23:15:33 <ais523> as it leads to the logs in sorted form
23:15:38 <ais523> whereas ehird's doesn't
23:15:38 <AnMaster> indeed
23:15:39 <ehird> 22:15 AnMaster: indeed I agree with ais523 <-- imagine what IRC would be like if every person who agreed replied saying so every line
23:15:40 <Deewiant> I don't get this one at all
23:15:45 <Deewiant> Maybe it's because of the boxes?
23:15:57 <AnMaster> Deewiant, fix your font?
23:16:02 <ehird> see, we have someone who cannot access the logs
23:16:03 <Deewiant> AnMaster: latest dejavu sans mono
23:16:04 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:16:09 -!- Deewiant has set topic: http://tunes.org/~nef/logs/esoteric/.
23:16:13 <ehird> that works too.
23:16:13 <Deewiant> For crying out loud
23:16:14 <ais523> Deewiant: it's "logs: http://tinyarro.ws/GLAGOLITIC CAPITAL LETTER SPIDERY HA"
23:16:17 <ais523> just upside-down and with more unicode
23:16:43 <Deewiant> Right.
23:16:45 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/ | Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol | /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ | hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:16:49 <AnMaster> that works too
23:16:51 -!- ehird has set topic: /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ.
23:16:52 <ehird> er
23:16:54 <AnMaster> ...
23:16:54 <Deewiant> Yeah, it does.
23:16:58 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/.
23:17:01 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/ | Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol | /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ | hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:17:04 <AnMaster> now everyone is happy
23:17:07 <ehird> can we stop fiddling with the topic and just leave it at the logs
23:17:11 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/.
23:17:14 <AnMaster> ehird, yes all variants please
23:17:14 <ehird> that's a simple compromise
23:17:16 <ehird> without all this bullshit
23:17:18 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/ | Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol | /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ | hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:17:23 * ehird facepalm
23:17:29 <AnMaster> ehird, you have your there too
23:17:32 <AnMaster> before mine
23:17:34 <AnMaster> don't complain
23:17:36 <ais523> ehird: compromising normally requires at least one person to agree with you to some extent, although you have deewiant on your side
23:17:37 <ehird> I don't care, I'm trying to stop this topic idiocy
23:17:41 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/.
23:17:48 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/ | Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol | /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ | hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:17:53 <Deewiant> My Firefox shows none of the chars at http://www.alanwood.net/unicode/glagolitic.html :-/
23:17:57 <ais523> ehird: not reverting is generally considered a good way to end a revert war
23:18:06 <ais523> besides, I report you both for IRC 3RR
23:18:14 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
23:18:18 <ehird> Mine is superior on technical grounds.
23:18:20 <ehird> It has the correct ordering.
23:18:24 <ais523> so does mine
23:18:25 <ehird> QED, can we all go home now?
23:18:25 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/?C=N;O=D| Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol | /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ | hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:18:31 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | Ⱒ/sʍ˙⬅//:dʇʇɥ :sƃol | /ɔ!ɹәʇosә/sƃoႨ/ɟәu~/ƃɹo˙sәunʇ//:dʇʇႡ | hå te te pe kolon snestreck snestreck te u en e es punkt o er ge snestreck ~ en e ef snestreck el o ge es snestreck e es o te e er i se.
23:18:32 <AnMaster> solved
23:18:33 <AnMaster> :P
23:18:40 -!- ChanServ has set channel mode: +o lament.
23:18:42 <AnMaster> yes we can now
23:18:50 <Deewiant> lament: +t please
23:18:53 -!- AnMaster has joined.
23:18:53 <lament> er
23:18:54 <ehird> XD
23:18:56 <AnMaster> what?
23:18:57 <lament> that was wrong
23:18:57 -!- ehird has changed nick to notehird.
23:19:02 -!- notehird has joined.
23:19:06 -!- notehird has changed nick to ehird.
23:19:15 <Deewiant> lament: comma separated?
23:19:15 <AnMaster> lament, kick him under his right nick
23:19:20 <ais523> lament: you kicked both ehird and anmaster with the other as the rason
23:19:22 <ais523> *reason
23:19:26 <ais523> and they both auto-rejoined
23:19:26 <lament> ais523: i know.
23:19:27 <Deewiant> ais523: I think he noticed
23:19:27 -!- ehird has changed nick to ninja_.
23:19:35 <ninja_> <---- -------->
23:19:41 <ninja_> <<<<<<<<<<<<-----------------
23:19:42 <AnMaster> ais523, yes my bouncer has this channel as "sticky channel"
23:19:44 * ninja_ the sound of silence.
23:19:53 <AnMaster> ais523, since I don't want to part by misclick
23:19:59 <AnMaster> so yes this one is auto rejoin
23:20:06 <ais523> it would be more fun just to link you each up to the other's bouncer, and see what happened
23:20:14 <AnMaster> ais523, what?
23:20:22 <ais523> so you were both writing as each other
23:20:24 <Deewiant> According to http://www.alanwood.net/unicode/fontsbyrange.html#u2c00 almost no fonts have those glagolitic letters, where do you guys get them from?
23:20:30 <ais523> Deewiant: I don't
23:20:31 <ninja_> ais523: I'd get myself a K-line.
23:20:34 <ais523> I can't see them either
23:20:43 <ninja_> Maybe go to #freenode and spam goatses.
23:20:48 <AnMaster> ais523, no. I'm on way more channels than ehird
23:20:52 <ais523> but it's definitely a glagolitic capital letter spidery ha, Character Map confirms it
23:20:57 <AnMaster> ais523, on lots of networks
23:21:06 <AnMaster> a total of 582 channels atm
23:21:12 <AnMaster> I think ehird couldn't handle that
23:21:13 <Deewiant> I prefer UniView for such testing but yes, it is
23:21:13 <ninja_> You have no way of knowing how many channels i am on.
23:21:17 -!- ninja_ has changed nick to ehird.
23:21:21 <ais523> AnMaster: how many of those 582 do you actually read?
23:21:33 <Deewiant> ais523: What about the arrow? Do you have a monospaced font that has that?
23:21:43 <ais523> Deewiant: I'm using proportional atm
23:21:48 <AnMaster> ehird, I do. You said you were only on freenode recently. Freenode limits to 20 channels, or 100 on special request to staff
23:21:50 <AnMaster> so at most 100
23:21:51 <Deewiant> That'd explain it
23:21:52 <ais523> but I see no reason it wouldn't be in a monospaced
23:22:00 <AnMaster> which is less than 582
23:22:01 <Deewiant> ais523: http://www.alanwood.net/unicode/fontsbyrange.html#u2b00
23:22:03 <AnMaster> ais523, more than half
23:22:21 <Deewiant> 582? O_o
23:22:28 <AnMaster> ais523, some I need but don't read. Like #services on one network where I'm oper. I don't read it unless something unusual happen
23:22:32 <ais523> AnMaster: what do you actually do, the rest of the time?
23:22:41 -!- jix has quit ("...").
23:22:45 <ais523> I mean, surely reading 582 IRC channels would take up your entire life?
23:22:53 <Deewiant> I was on 30 a few weeks back, decided that was too much and parted from about 10
23:23:02 <AnMaster> ais523, Also some I idle in and only ask when I need help. Saves "polite initial wait before asking question"
23:23:04 <ais523> I'm on 9 atm
23:23:08 <AnMaster> this includes ##freebsd
23:23:09 <AnMaster> and such
23:23:13 <ehird> What do you mean being in channels you don't actually talk in or read is stupid?
23:23:16 <ehird> Pfft.
23:23:17 <ais523> although one's been dead for ages, I'm in it on the hope it becomes alive again
23:23:26 <ehird> ais523: which?
23:23:29 <ehird> #interhack? #rootnomic?
23:23:31 <ais523> #nomic on slashnet
23:23:39 <ehird> oh
23:23:40 <AnMaster> ehird, #eso?
23:23:42 <AnMaster> err
23:23:44 <AnMaster> ais523, ^
23:23:49 <ais523> I no longer have #ESO on autojion
23:23:52 <ais523> *autojoin
23:23:56 <AnMaster> ais523, me and comex are there
23:24:01 <ais523> there doesn't seem to be much point until ESO actually gets running again
23:24:06 <AnMaster> yes
23:24:12 <ais523> although if someone asks me over there, I'll join
23:24:15 <AnMaster> but that day I'll be redy
23:24:22 <AnMaster> ehird just joined
23:24:23 <ais523> my general rule is to not join so many channels/queries they won't all fit on my screen at once
23:24:28 -!- ehird has changed nick to tusho.
23:24:30 <ais523> the tabs for them, I mea
23:24:32 <ais523> *mean
23:24:44 <lament> ais523: mine too, but i keep stretching the window to overcome that
23:24:44 <tusho> AnMaster: now you're on 581
23:24:45 <AnMaster> ais523, err, tree view > tabs
23:24:46 <Deewiant> Right, GUIs.
23:24:51 -!- tusho has changed nick to ehird.
23:25:00 <ais523> AnMaster: err, wouldn't it take up more space?
23:25:08 <AnMaster> * ehird sets modes [#eso +b AnMaster!*@*]
23:25:08 <AnMaster> * You have been kicked from #ESO by ehird (ehird)
23:25:11 <AnMaster> on what ground?
23:25:11 <ehird> As I said.
23:25:12 <ais523> mine's a horizontal row of tabs
23:25:13 <ehird> 582--
23:25:18 <AnMaster> ais523, vertical
23:25:39 <AnMaster> ais523, with small font. Tabs take more space
23:25:54 <ais523> ehird: ISO C forbids modification of an integral constant
23:26:05 <AnMaster> ehird, I never saw any reason you said
23:26:05 <ehird> it's forte++
23:26:06 <AnMaster> ...
23:26:12 <ais523> ehird: yep
23:26:12 <ehird> AnMaster: why do I have to give a reason?
23:26:16 <ehird> I don't think that's in freenode policy
23:26:19 <ais523> I was trying to word the error message as gcc -pedantic would give
23:26:27 <ais523> to give the impression that gcc without -pedantic wouldn't care
23:26:28 <AnMaster> ehird, oh. Oppression and censorship
23:26:29 <ehird> ah, heh
23:26:29 <AnMaster> I see
23:26:34 <AnMaster> thanks for the clarification
23:26:40 <ehird> AnMaster: are you trying to be funny? it's not working.
23:26:56 <AnMaster> no. I'm sarcastic. At most.
23:27:46 <Deewiant> I was hoping #define 582 would work but evidently not.
23:28:15 <AnMaster> Deewiant, identifier in C is [a-zA-Z_][a-zA-Z0-9_]*
23:28:29 <ehird> cpp!=C
23:28:30 <Deewiant> AnMaster: Yes, and I was hoping #define would not want identifiers.
23:28:40 <AnMaster> ehird, same for cpp...
23:28:42 <AnMaster> duh
23:28:44 <ais523> ehird: cpp's pp-token definition of identifiers is the same as the main lexer's, though
23:28:44 <AnMaster> read the spec
23:28:47 <ais523> so in this case it doesn't matte
23:28:49 <ais523> *matter
23:28:57 <ehird> I was referring to why Deewiant tried.
23:29:00 <AnMaster> I tried something like that today
23:29:04 <AnMaster> so I know
23:29:06 <ehird> It is not immediately obvious that #define's first parameter is a C identifier.
23:29:09 <ais523> it doesn't matte, either, because it prefers to gloss over the issue
23:29:16 <ais523> ehird: yes, OK
23:29:19 <AnMaster> what
23:29:22 <Deewiant> JVM segfaults, yay
23:29:23 <ehird> I was talking to AnMaster, not ais523.
23:29:30 <AnMaster> ais523, <ais523> it doesn't matte, either, because it prefers to gloss over the issue <-- what a horrible pun
23:29:42 <ais523> sorry, I should really have done /nick oerjan first
23:29:46 <AnMaster> yes
23:29:55 -!- ehird has changed nick to oerjan.
23:30:05 <oerjan> Whoa. I have a swatter now.
23:30:08 <AnMaster> no
23:30:15 <AnMaster> my client does nick tracking
23:30:16 * oerjan grabs swatter ->
23:30:17 -!- oerjan has changed nick to ehird.
23:30:20 * ais523 catches oerjan in a butterfly net -----\XXXXX/
23:30:24 <ehird> Aaa! It disintegrated...
23:30:24 <ais523> *ehird
23:30:31 <ehird> The swatter requires oerjan-nature. :(
23:30:32 <AnMaster> <oerjan[ehird]> Whoa. I have a swatter now.
23:30:34 <AnMaster> fun
23:30:37 <AnMaster> :P
23:30:41 <ais523> AnMaster: your client tracks nick changes?
23:30:47 <AnMaster> ais523, "<AnMaster> my client does nick tracking"
23:30:47 <AnMaster> no
23:30:51 <AnMaster> I only said that
23:30:53 <AnMaster> ....
23:30:58 <ais523> oh, missed that
23:32:54 <AnMaster> SGNE... Hm
23:33:05 <AnMaster> what sort of alarm is that supposed to be?
23:33:20 <ais523> probably the system call alarm()
23:33:26 <ais523> so the SIGALRM singal
23:33:30 <ais523> or whatever it's misspelt as
23:33:37 <AnMaster> SIGALRM maybe
23:33:39 <AnMaster> not sure
23:33:47 <AnMaster> I could check cfunge source
23:33:49 <ehird> SIGARETTE
23:34:06 <AnMaster> SIGALRM
23:34:10 <ehird> SIGNATURE
23:34:15 <AnMaster> btw I couldn't:
23:34:17 <AnMaster> #ifdef FUZZ_TESTING
23:34:17 <AnMaster> alarm(3);
23:34:17 <AnMaster> #endif
23:34:18 <AnMaster> that is all
23:34:25 <AnMaster> man page had it of course
23:34:29 <AnMaster> btw
23:34:35 <AnMaster> why is saving one char worth it?
23:34:44 <ais523> AnMaster: "creat"
23:34:51 <AnMaster> ais523, exactly Why?
23:34:52 <ais523> and so it's easier to fit into an 8.3 filename, probably
23:35:01 <ehird> C and UNIX are concise.
23:35:06 <ehird> Don't like it, take a look at Windows.
23:35:08 <ais523> (that was a facetious response...)
23:35:15 <AnMaster> ehird, posix_spawn()?
23:35:20 <ehird> POSIX != UNIX
23:35:25 <ehird> I mean the original unix spirit.
23:36:19 <AnMaster> fegetexceptflag() ?
23:36:28 <AnMaster> no idea what it is
23:36:31 <AnMaster> but it is *nix
23:36:43 <AnMaster> hm
23:36:47 <AnMaster> math exception related
23:36:53 <AnMaster> CONFORMING TO
23:36:53 <AnMaster> IEC 60559 (IEC 559:1989), ANSI/IEEE 854, C99, POSIX.1-2001.
23:36:59 <ehird> it's not the original UNIX spirit
23:37:08 <AnMaster> true. It is C
23:37:12 <ehird> which is blindingly obvious; anything older than the early 80s isn't.
23:37:14 <AnMaster> anyway it doesn't make sense
23:37:23 <AnMaster> identifiers are only unique up to 8 chars
23:37:24 <AnMaster> in C
23:37:25 <AnMaster> iirc
23:37:30 <AnMaster> or did C99 remove that?
23:37:33 <ehird> No, only guaranteed to be.
23:37:38 <AnMaster> well true
23:37:38 <Deewiant> It's six chars, case-insensitive.
23:37:40 <ehird> I doubt any implementation actually does that
23:37:46 <AnMaster> but C99 has longer identifiers
23:37:49 <Deewiant> And only for external identifiers.
23:38:01 <AnMaster> Deewiant, yes but C99 has longer ones
23:38:01 <Deewiant> C89 allows 31 characters for internal identifiers.
23:38:20 <ehird> teco woul dbe nicer if you could use something else instead of <ESC>
23:38:36 <AnMaster> ehird, write a script to do it
23:38:39 <AnMaster> call it uh...
23:38:40 <ais523> ehird: just use xmodmap or the OS X equivalent to remap <ESC> onto, say, e
23:38:41 <ehird> how?
23:38:43 <AnMaster> editor macros?
23:38:46 <ehird> teco wraps the terminal
23:38:48 <AnMaster> EMACS for short
23:38:53 <ehird> ais523: how about no :D
23:38:58 <ehird> also, that'd stop me putting e into code
23:39:15 <ehird> I'd use ctrl-c or something
23:39:29 <AnMaster> ais523, you forgot os x probably doesn't have that
23:39:39 <AnMaster> Apple say, user do
23:39:40 <AnMaster> :P
23:39:41 <ehird> yes, it does.
23:39:44 <ais523> why not? it has everything else
23:39:50 <ehird> all keyboard layouts are regular plist files
23:39:55 <ehird> you can modify them, make your own, etc etc etc
23:39:57 <AnMaster> ok
23:39:59 <AnMaster> right
23:40:01 <ehird> and there are apps to make it even easier (point and click)
23:40:03 <AnMaster> no GUI though
23:40:09 <AnMaster> well third party ones
23:40:09 <ehird> there are gui apps to make it easier
23:40:19 <ehird> it's such a rare operation that not including a gui for it isn't exactly unsurprising
23:40:25 <ehird> does ubuntu ship with an editor for keyboard layouts?
23:40:27 <AnMaster> well true
23:40:52 <ehird> I'm disappointed that N<X> repeats X N times in TECO. That's way too simple.
23:40:53 <AnMaster> ehird, does OS X include a good package manager that can be used to get lots of stuff like font editors and such btw?
23:41:00 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
23:41:17 <AnMaster> ehird, how do you do that for non-fixed N?
23:41:18 <ehird> MacPorts is semi-official and a few clicks away, but it's mostly useful for CLI apps.
23:41:37 -!- atrapado has quit ("Abandonando").
23:41:38 <ehird> and I don't know.
23:41:48 <AnMaster> ehird, yet
23:41:48 <ais523> ehird: why would you need MacPorts to do nonfixed loops in TECO?
23:41:49 <ehird> *2+2<^AHello^A>$$
23:41:49 <ehird> HelloHelloHelloHello*
23:41:51 <ehird> Like that.
23:41:53 <ehird> ais523: heh
23:41:57 <AnMaster> ais523, ...
23:42:04 <ais523> too good a message combination to ignore
23:42:06 <AnMaster> ais523, you need multi tasking
23:42:17 <AnMaster> oh a joke
23:42:19 <AnMaster> I see
23:42:40 <ehird> we should scientifically prove that AnMaster can never recognize a joke first time round, no matter how blatant :D
23:42:51 <ais523> ehird: Ubuntu doesn't ship with such an editor, but I found one in the repos in about 20 seconds of searching
23:42:55 <ehird> he has no funny bone
23:42:56 <ais523> which was my guess
23:43:06 <ehird> ais523: I found one in 15 seconds with google last time I wanted to do that :P
23:43:10 <AnMaster> ehird, I can. I enjoy discworld books
23:43:18 <ais523> ehird: for Mac OS X?
23:43:22 <ehird> AnMaster: how do we know you don't consider them non-fiction?
23:43:23 <ehird> ais523: yes
23:43:27 <ais523> interesting
23:43:32 <ehird> http://www.google.com/search?client=safari&rls=en-us&q=os+x+keyboard+layout+editor&ie=UTF-8&oe=UTF-8
23:43:35 <ehird> the first one is Ukelele
23:43:38 <ehird> which I used and is great
23:43:39 <AnMaster> ehird, well they are in a way a parody of the real world.
23:43:46 <AnMaster> ehird, but fictional of course
23:43:50 <ais523> I found xkeycaps, which I haven't tried to use
23:43:57 <ais523> or indeed install
23:44:01 <AnMaster> ehird, we *don't* live on A'Tuin
23:44:04 <AnMaster> (spelling?)
23:44:07 <ehird> AnMaster: yes we do!
23:44:35 <ehird> *1/0<^Awtf^A>$$
23:44:35 <ehird> *
23:44:38 <ehird> This just in: 1/0 is 0.
23:44:40 <AnMaster> ehird, hah. Actually I do believe we have been in space. And live on a world. Lets call it roundworld.
23:44:44 <ehird> Therefore, 0*0=1.
23:45:03 <AnMaster> ehird, um Funge has 1/0 = 0 too
23:45:13 <ehird> It's silly.
23:45:15 <AnMaster> 98 that is
23:45:18 <ais523> not prompt the user?
23:45:20 <AnMaster> ehird, no. 93 is sillyt
23:45:22 <AnMaster> silly*
23:45:26 <AnMaster> 93 is prompt user
23:45:27 <ais523> IMO, 10/ should be a reflection in 98
23:45:33 <ehird> 1/0 = 0 is probably one of the least useful values you can give
23:45:37 <AnMaster> ais523, specs disagree
23:45:42 <ehird> "should"
23:45:42 <ais523> yes, I know
23:45:43 <ehird> not is
23:45:49 <AnMaster> ehird, exactly
23:45:52 <ais523> I'm talking about what IMO the specs should say, not what they do so
23:45:55 <ais523> *do say
23:46:13 <ehird> PUT IT IN FUNGE-109
23:46:13 <ais523> the INTERCAL standard library returns 0 on division by 0
23:46:14 <ehird> xD
23:46:21 <ais523> which is strange as it errors on overflow when doing addition
23:46:24 <ehird> I want to write cat in teco. Hm.
23:46:26 <AnMaster> maybe 109 should use option packages
23:46:33 <AnMaster> like posix does
23:46:34 <AnMaster> :D
23:46:40 <AnMaster> nah bad idea
23:47:07 <AnMaster> (man posixoptions on a linux system, *bsd doesn't have the man page iirc. Go check your local POSIX copy)
23:47:16 <ehird> aww, ER/dev/stdout$$ doesn't work
23:47:17 <ehird> :<
23:47:22 * AnMaster does have a release copy of POSIX.1-2008
23:47:27 <ehird> hmm
23:47:32 <ehird> it has special stdin/stdout support it seems
23:47:33 <ais523> AnMaster: how much did it cost you
23:47:37 <AnMaster> ais523, 0
23:47:53 <ais523> is that one available for free, then?
23:48:01 <AnMaster> ais523, "free to members"
23:48:10 <ais523> you're a member of posix?
23:48:20 <AnMaster> ais523, that is free yes. Interested party
23:48:23 <AnMaster> means you are on a mailing list
23:48:26 <ais523> ah, ok
23:48:31 <AnMaster> ais523, it is quite different from "gold member"
23:48:33 <ais523> so can anyone get a copy just by joining a mailing list?
23:48:39 <AnMaster> ais523, basically yes
23:48:53 <AnMaster> ais523, you are a member of austin group mailing list
23:48:57 * ais523 wonders why anyone buys it, if that is the case
23:49:00 <AnMaster> err
23:49:02 <AnMaster> s/you/I/
23:49:09 <AnMaster> I seem to have identity problems
23:49:11 <ehird> *IIHello, world!$@I $ @I $ $$
23:49:33 <AnMaster> ais523, well it is a bit hard to find.
23:49:48 <ehird> (inserts IHello, world!<ESC><ESC>, you could also just do @I/IHello, world!<ESC>/@I/<ESC>/<ESC><ESC>, but that's less fun)
23:50:05 <AnMaster> ais523, it isn't on the member area of austin group. You can only find the last draft there
23:50:18 <AnMaster> ais523, you have to use the same login on the main opengroup site in the bookstore section
23:50:19 <ehird> oh, V = 0TT
23:50:20 <ehird> that's nice to know
23:50:22 <AnMaster> to get it for free
23:50:25 <ais523> well, drafts are more fun to read than the actual standard
23:50:42 <AnMaster> ais523, oh? There is one useful one that is a diff against the previous version
23:50:49 <AnMaster> in pdf
23:51:10 <AnMaster> ais523, all of posix in one pdf make jack swap trash
23:51:26 <ehird> pfft, how big is it?
23:51:27 <ehird> the pdf
23:51:27 <ais523> why? is your PDF reader bloated?
23:51:33 <AnMaster> ehird, 3872 pages
23:51:36 * ais523 suddenly wonders if PDF is streamable
23:51:36 <ehird> in megs
23:51:47 <AnMaster> 14 MB
23:51:51 <ehird> pfft
23:51:54 <ais523> 14 is pretty small
23:51:59 <ais523> most people have 14MB memory...
23:52:00 <ehird> a 14MB pdf would be like... 50MB in memory
23:52:03 <ehird> (parsed)
23:52:07 <AnMaster> ais523, well I suspect kpdf renders badly
23:52:18 <AnMaster> ehird, well. it isn't "optimised" one
23:52:20 <ais523> I normally use Evince, although I have kpdf and xpdf here too
23:52:22 <AnMaster> according to pdfinfo
23:52:32 <AnMaster> also I have firefox running
23:52:35 <ehird> Preview.app renders pdfs faster than just about anything that isn't xpdf
23:52:44 <AnMaster> so the result is swap trash
23:52:47 <ais523> ehird: I didn't realise xpdf was that fast
23:52:52 <oklopol> what is 3872 pages?
23:52:53 <ehird> It might not be
23:53:00 <AnMaster> oklopol, POSIX. As PDF
23:53:05 <ais523> oklopol: slightly smaller than an OOXML
23:53:06 <ehird> it has an x in the name, so I get the impression of a ridiculously fast but useless program
23:53:12 <ais523> and about 2/5 the size of OOXML + corrections
23:53:13 <ehird> haha, an OOXML
23:53:15 <oklopol> cool.
23:53:18 <ehird> that's the best measure of size ever
23:53:30 <AnMaster> hehe
23:53:59 <AnMaster> X/Open Curses Issue 4
23:54:01 <AnMaster> is nice too
23:54:10 <AnMaster> but the pdf is fail
23:54:12 <AnMaster> no index
23:54:35 <AnMaster> or yes an index. "Page 1" "Page 2"
23:54:36 <AnMaster> that is it
23:54:44 <AnMaster> and 316 pages in total really
23:55:16 <ehird> I hereby officially found the Esolanger's TECO User Group.
23:55:17 <AnMaster> err, Issue 4, version 2
23:55:23 <ehird> Anyone who uses TECO for writing esoprograms is welcome.
23:55:39 <AnMaster> ehird, I suggest you should require teco as main editor
23:55:44 <ehird> whoa, TECO even escapes its output for you
23:55:45 <ehird> *0I$$
23:55:46 <ehird> *0T$$
23:55:48 <ehird> ^@*
23:55:50 <ehird> so friendly!
23:56:03 <ehird> AnMaster: the programs must be written in TECO
23:56:07 <AnMaster> ehird, "<ehird> Anyone who uses TECO for writing esoprograms is welcome." <-- Using TECO as editor to write befunge?
23:56:19 <AnMaster> hm
23:56:23 <ehird> No, using TECO as an editor to write TECO programs that don't just edit text.
23:56:31 <AnMaster> ehird, why?
23:56:31 <ehird> Although using TECO for _anything_ probably qualifies.
23:56:36 <AnMaster> ok
23:56:38 <ehird> AnMaster: why write in esolangs?
23:56:42 <ehird> it's fun.
23:56:54 <AnMaster> ehird, no. Why not teco for main editor
23:57:02 <AnMaster> without writing non-text editing
23:57:09 <AnMaster> but then you said it qualifies too
23:57:17 <ehird> because then couldn't be admitted
23:57:29 <AnMaster> eh?
23:57:49 <ehird> I don't use teco as my main editor
23:57:59 <ehird> "Fill up the screen with an indeterminate amount of 'a's: ^B<^Aa^A>"
23:58:03 <AnMaster> oh you missed "I"
23:58:03 <AnMaster> ...
23:58:07 <ehird> (^BOperating-system dependent encoding of current date
23:58:07 <ehird> RT-11:(((month*32)+day)*32)+year-1972
23:58:08 <AnMaster> that explains it
23:58:09 <ehird> RSTS/E:((year-1970)*1000)+day within year
23:58:11 <ehird> RSX-11:((year-1900)*16+month)*32+day)
23:58:24 <AnMaster> 16+month?
23:58:31 <AnMaster> hm
23:58:37 <ais523> no, ((year-1900)*16)+month
23:58:43 <AnMaster> ehird, that last one look almost like befunge...
23:58:44 <ehird> *32+day
23:58:45 <ehird> :P
23:58:45 <ais523> but still, it's a bit strange
23:58:49 <ais523> ah
23:58:53 <ais523> it's using bitshifts
23:58:55 <ehird> yes
23:58:59 <ais523> to speed up the arithmetic slightly
23:59:02 <AnMaster> duh yes
23:59:06 <ais523> whilst making it harder to compare dates
23:59:14 <AnMaster> stack_push(pushStack, (funge_cell)(curTime->tm_year * 256 * 256 + (curTime->tm_mon + 1) * 256 + curTime->tm_mday));
23:59:18 <AnMaster> stack_push(pushStack, (funge_cell)(curTime->tm_hour * 256 * 256 + curTime->tm_min * 256 + curTime->tm_sec));
23:59:33 <AnMaster> well I let compiler optimise. It is smart enough
23:59:46 <ehird> A start on cat:
23:59:49 <ehird> ^T<^Aa^A>
2009-03-11
00:00:07 <ehird> Upon execution, reads one char from the terminal (as soon as you hit it) and outputs a number of as corresponding to its ascii code.
00:00:15 <AnMaster> ehird, that looks like a Japanese smiley on steroids
00:00:36 <ais523> well, ^A is a smiley face in IBM-extended
00:00:46 <AnMaster> ais523, no... not that way
00:00:47 <AnMaster> but
00:00:51 <AnMaster> ^<^_^>
00:00:54 <AnMaster> or such
00:00:54 <ehird> we know
00:00:56 <ehird> we know
00:01:04 <AnMaster> ehird, why repeat
00:01:13 <ehird> because you continued :P
00:01:15 <AnMaster> <AnMaster> ^<^_^>
00:01:15 <AnMaster> <AnMaster> or such
00:01:15 <AnMaster> <ehird> we know
00:01:15 <AnMaster> <ehird> we know
00:01:16 <AnMaster> wrong
00:01:23 <ehird> network lag, heard of it?
00:01:31 <AnMaster> ehird, yes, you haven't though
00:01:41 <AnMaster> you could have seen that it was close enough to have lag risk
00:01:55 <AnMaster> instead of being rude
00:02:01 <ehird> I wasn't rude.
00:02:06 <ehird> TECO "Lock screen" mode: <>$$ (Password is Ctrl-C)
00:02:18 <AnMaster> err hah
00:02:29 <AnMaster> ehird, not very secure
00:02:32 <ehird> Better:
00:02:34 <ehird> <^A
00:02:34 <AnMaster> well I guess against noobs
00:02:36 <ehird> ^A>$$
00:02:38 <AnMaster> ehird, hm?
00:02:42 <ehird> Clears screen indefinitely.
00:02:45 <AnMaster> hm
00:02:47 <ehird> until ^C
00:02:50 <ehird> i.e. outputs infinite newlines.
00:03:16 <ehird> Also !a!Oa$$
00:03:19 <ehird> !foo! = label
00:03:23 <ehird> Olabel$ = jump
00:03:42 <AnMaster> hm nice
00:03:58 <AnMaster> ehird, how do you escape an escape char?
00:04:09 <ehird> Use a different delimiter
00:04:13 <AnMaster> ah righ
00:04:13 <ehird> @O/label/$
00:04:16 <AnMaster> right*
00:04:17 <ehird> @I/foo/
00:04:18 <ehird> etc
00:04:36 <AnMaster> ehird, any way to include every char in a string?
00:04:45 <AnMaster> I guess concat or such?
00:04:48 <ehird> Do it as two strings.
00:04:57 <AnMaster> and concat?
00:05:10 <ehird> Well, there's no contact.
00:05:14 <AnMaster> hm ok
00:05:15 <ehird> Just do @I/.../ @I!/!
00:05:50 <ehird> oh wow
00:05:54 <ehird> TECO uses " as open loop and ' as end loop
00:06:07 <ehird> ais523: you should put that in intercal
00:06:12 <AnMaster> err
00:06:16 <AnMaster> they are already in use
00:06:22 <ehird> what?
00:06:22 <ais523> ehird: the comparison to INTERCAL got me too
00:06:27 <ais523> AnMaster: that's never stopped it before
00:06:34 <ehird> what do you mean
00:06:35 <ehird> already in use?
00:06:40 <AnMaster> ehird, also where is the guide to teco?
00:06:41 <ais523> ehird: you forgot about INTERCAL parens
00:06:43 <AnMaster> that you use
00:06:46 <ehird> http://web.archive.org/web/20080207025702/http://zane.brouhaha.com/~healyzh/teco/TecoPocketGuide.html
00:06:50 <ehird> ais523: no, i was augmenting them
00:06:57 <ehird> AnMaster: & http://en.wikipedia.org/wiki/Text_Editor_and_Corrector
00:07:05 <ais523> I don't /think/ it leads to an ambiguous grammar
00:07:09 <ehird> & playing around in the console of http://almy.us/teco.html
00:07:22 <AnMaster> ais523, more than already?
00:07:32 <AnMaster> ais523, since " *is* already ambig.
00:07:36 <AnMaster> iirc
00:08:48 <ehird> anyway, I can't see myself using ed any more
00:10:12 <ais523> because you have TECO?
00:10:21 <ais523> AnMaster: not ambiguous, just requires infinite lookahead to parse correctly
00:10:57 <ehird> ais523: bingo
00:11:15 <AnMaster> ais523, well true
00:11:25 <ehird> need to figure out how to write scripts and init files etc
00:14:23 <ehird> http://www.charleston.net/news/2009/mar/07/its_big_guy_vs_little_guy74198/
00:14:24 <ehird> Er, wow.
00:15:27 <ehird> ais523: do you have a teco there?
00:15:45 <ais523> no, not on me
00:17:06 <ehird> incidentally, ! label ! doubles as a comment.
00:17:42 <ais523> yes, I know
00:17:53 <ais523> ! is toggle-comment if your comments are unlabelly enough
00:17:57 <ehird> ugh, I have to put a file called TECO.INI in ~/ to get it to recognize it
00:18:30 <AnMaster> ehird, wow at that link too
00:18:37 <AnMaster> ehird, nice. In upper case?
00:18:44 <ehird> hfs+ is case insensitive
00:18:47 <AnMaster> well
00:18:52 <AnMaster> the program should check
00:18:54 <AnMaster> what it got
00:18:55 <AnMaster> to make sure
00:19:11 * AnMaster ponders adding that to cfunge:
00:19:21 <ehird> % mung
00:19:22 <ehird> ?How can I MUNG nothing?
00:19:25 <ehird> that's a beautiful error
00:19:32 <ehird> in fact, all systems should respond to `mung` with that
00:19:42 <ehird> no matter if they have a TECO or not
00:20:04 <AnMaster> if (strcmp(programname,filename) != 0) { fputs("Cfunge is case sensitive for file names\n", stderr); exit(1); }
00:20:07 <AnMaster> what about that?
00:20:16 <ais523> ehird: what does mung do?
00:20:27 <ehird> AnMaster: "Cfunge"? how ironic.
00:20:36 <ehird> ais523: It MUNGs Until No Good. (Runs a TECO batch script.)
00:20:37 <AnMaster> ehird, yes. It was intentional
00:21:04 <ais523> what do you mean, case sensitive for file names?
00:21:28 <AnMaster> ais523, OS X will give you "foo.bf" when you request "FOO.bf"
00:21:41 <AnMaster> ais523, I planned to reverse that ;)
00:21:45 <ehird> [ehird:~/Code/scraps/2009-03] % tecoc make hello.tec
00:21:45 <ehird> *@I/^AHello, world!
00:21:46 <ehird> ^A$EX/$EX$$
00:21:48 <ehird> [ehird:~/Code/scraps/2009-03] % mung hello.tec
00:21:50 <ehird> Hello, world!
00:21:57 <ehird> AnMaster: it'll give FoO.bf if you had named it that
00:21:58 <AnMaster> <ehird> ais523: It MUNGs Until No Good. (Runs a TECO batch script.) <-- DON'T GIVE UP
00:22:06 <AnMaster> ehird, exactly
00:22:14 <ehird> AnMaster: what about that snippet of intercal
00:22:26 <ehird> oh wow
00:22:27 <AnMaster> ehird, "until no good" sounded so intercal-y
00:22:28 <ehird> the TECO manual!
00:22:32 <ehird> <3
00:22:33 <AnMaster> ehird, WHERE!?
00:22:35 <ehird> Copyright (C) 1979, 1985 TECO SIG
00:22:39 <ehird> AnMaster: http://almy.us/files/tecodoc.zip
00:22:40 <ehird> teco.doc
00:22:44 <ehird> (its plaintext)
00:22:57 * ehird makes a TECO shrine
00:23:04 <AnMaster> ehird, a listing says "Long filenames are supported"
00:23:07 <AnMaster> ...
00:23:08 <ehird> yep
00:23:11 <AnMaster> wth
00:23:16 <ehird> DOS long filenames
00:23:20 <AnMaster> strange zip
00:23:21 <ehird> The contents: "Yes, long file names are supported in this version of TECO!"
00:23:26 <AnMaster> ah
00:24:35 <AnMaster> ehird, if you go TECO I should go Genera. Have to get around testing it
00:24:40 <AnMaster> get around to*
00:24:49 <ehird> well, genera just uses an emacs-alike
00:25:02 <AnMaster> ehird, and emacs is teco lookalike?
00:25:12 <AnMaster> or was
00:25:14 <ehird> heh
00:25:30 <AnMaster> gnu emacs is quite far from it
00:25:52 <ehird> If you include unusual commands in your initialization file, you
00:25:52 <ehird> would be prudent to surround such commands with the ? command.
00:25:54 <ehird> This causes TECO to type the commands out when they are executed
00:25:56 <ehird> (see section 5.18.4). You should also print an informative
00:25:58 <ehird> message on the terminal reminding other users that this version
00:26:00 <ehird> of TECO has been customized.
00:26:02 <ehird> "You know, in case a burglar enters your house and starts teco."
00:26:13 <AnMaster> err
00:26:20 <AnMaster> multi-user single login?
00:26:27 <ehird> People using your terminal.
00:26:30 <ehird> Not uncommon in the 80s.
00:26:35 <AnMaster> ehird, hm
00:26:44 <AnMaster> ehird, wouldn't they have separate logins?
00:27:01 <ehird> Logging out and in would be a pain.
00:27:05 <AnMaster> oh right
00:27:09 <ehird> Remember, really slow.
00:27:09 <AnMaster> no fast user switching
00:27:32 <AnMaster> which microsoft introduced as "new in XP" but Linux and other *nix had for ages before
00:27:52 * AnMaster switches vt
00:27:53 <ais523> fast user switching is a ridiculous name for the term, anyway
00:27:59 <ais523> it's just the ability to have multiple graphical VTs
00:28:03 <ais523> logged in as different people
00:28:05 <ais523> on one computer
00:28:14 <ehird> tell that to john q public
00:28:23 <ais523> well, yes, it's all about the advertising
00:28:26 <AnMaster> ais523, yes. I used to use 2 graphical VTs ages ago
00:28:28 <ehird> fast user switching: you can switch between users without logging in and out
00:28:33 <ehird> simple
00:28:48 <ehird> universal binary ("dual-architechture Mach-O binary"): it works on powerpc and intel macs.
00:28:49 <AnMaster> ehird, yes I could do it on Linux for ages
00:28:56 <ehird> AnMaster: I'm talking about terminology with ais523
00:29:03 <ais523> now, that description really doesn't do it for the general public either
00:29:06 <AnMaster> ok dual arch...
00:29:09 <ais523> the without logging in and out
00:29:10 <AnMaster> now that isn't common in ELF
00:29:12 <ais523> why would they want to do that?
00:29:13 <AnMaster> afaik
00:29:13 <ehird> ais523: sure it does
00:29:17 <ais523> it just makes it harder to shut down the computer
00:29:25 <ais523> I know, I was with a couple of general public ages ago
00:29:28 <ehird> well, OS X has promoted multiple users from the start
00:29:31 <ais523> who were thinking about it
00:29:37 <ehird> so that's windows thinking, probably
00:29:43 <ais523> the problem was they were just hitting switch user not logout by mistake when they wanted to logout
00:29:46 <ais523> and yes, Windows thinking
00:29:48 <AnMaster> <ais523> it just makes it harder to shut down the computer <-- ?
00:29:55 <ehird> AnMaster: think about it from a user with one account
00:29:58 <AnMaster> 00:29:55 up 38 days, 9:44, 35 users, load average: 0.15, 0.17, 0.18
00:29:59 <ehird> log out just lets them
00:29:59 <AnMaster> ...
00:30:00 <ehird> 1) log back in
00:30:02 <ehird> 2) shut down
00:30:04 <ehird> why would they want to log out?
00:30:11 <AnMaster> why would they want to shutdown?
00:30:12 <ehird> (RHETORICAL QUESTION RHETORICAL QUESTION RHETORICAL QUESTION)
00:30:12 <ais523> they couldn't figure out what the difference was, or why they wouldn't want to log out to let someone else use the computer
00:30:19 <ais523> AnMaster: because of saving electricity, of course
00:30:20 <AnMaster> also RHETORICAL
00:30:24 <ais523> besides, it's bad to leave computers on overnight
00:30:34 <ais523> ehird: and switch user is even more useless on a single-person computer than log out
00:30:36 <AnMaster> ais523, well ok, most people don't run BOINC
00:30:40 <AnMaster> during night
00:30:48 <AnMaster> ais523, but what about suspend to disk
00:30:53 <ehird> AnMaster: yeah, that will be so useful when the planet dies out
00:30:54 <AnMaster> forgot what windows call it
00:30:58 <ais523> hibernate? only when they're in the middle of something
00:30:59 <ehird> more useless seti results!
00:31:07 <ehird> (ais523: I leave mine on standby overnight. All the startup speed, much less power usage.)
00:31:16 <AnMaster> ehird, no, I run folding at home
00:31:19 <ais523> ehird: I shut this down, but then, it's a laptop
00:31:21 <AnMaster> it uses boinc too
00:31:25 <ehird> has folding at home got any real results yet?
00:31:30 <AnMaster> I used to run climateprediction
00:31:46 <AnMaster> ehird, not that I remember. But I don't check their website really
00:31:56 <ehird> AnMaster: also, why do you use a proprietary program, ey?
00:32:05 <ais523> anyway, recently one of them was complaining about not knowing how to move a file from a USB stick to a directory in Windows
00:32:14 <ais523> that confuses me, I thought it was a simple operation even in Windows...
00:32:21 <ehird> also, running BOINC overnight would be fucking crazy on this
00:32:26 <ais523> it seems they couldn't figure out how to open two graphical directory entries at once
00:32:29 <ehird> since the fans would spin to full speed due to 200% CPU usage
00:32:42 <AnMaster> boinc is LGPL-2.1
00:32:44 <ehird> (and in future (post upgrade), the _two_ fans will go bezerk due to 800% CPU usage...)
00:32:48 <ehird> (good luck sleeping through that!)
00:32:50 <AnMaster> I just checked
00:33:11 <AnMaster> ehird, my system has constant speed fans
00:33:34 <ehird> my system's fans are pretty much always either off or so low I can't hear them without trying
00:33:42 <ehird> I imagine a Mac Pro's fans are rather powerful
00:33:45 <AnMaster> + I sleep in a separate room due to two small rooms and not being able to fit desk and bed in same room
00:34:00 <ehird> does it occur to anyone that fans are kind of a hack solution to the "our hardware runs hot" problem? :D
00:34:11 <AnMaster> ehird, yes.
00:34:14 <AnMaster> get water cooling
00:34:21 <ehird> I don't think apple offers that
00:34:32 <AnMaster> ehird, iirc they did on some G5 iirc?
00:34:42 <ehird> maybe
00:34:49 <ehird> not for years, though, then
00:34:51 <AnMaster> ehird, the 8 core Mac Pro G5 or something
00:34:52 <AnMaster> iirc
00:35:09 <ehird> i've seen pictures of the new 8 core nahelem mac pro
00:35:11 <ehird> *nehalem
00:35:13 <ehird> two fans
00:35:19 <AnMaster> well the one I remember was definitely PPC
00:36:04 <AnMaster> <ehird> AnMaster: also, why do you use a proprietary program, ey? <-- so. What did you mean. boinc is open source
00:36:14 <ehird> wp says folding@home is propreitary
00:36:28 <ehird> oh, so that's how you solve dust in tower computers, blow them with compressed air
00:36:28 <AnMaster> ok that may be true
00:36:29 <ehird> I always wondere
00:36:30 <ehird> d
00:36:30 <AnMaster> I haven't checked
00:36:43 <AnMaster> ehird, err of course. what did you expect?
00:36:52 <ehird> i dunno, I just let my old tower get dusty :D
00:36:53 <AnMaster> and how did you solve it for your own computer?
00:37:11 <ehird> note, however, that this room is exceptionally dusty
00:37:13 <AnMaster> ehird, be careful or you will get a dust puppy. And since you _hate_ uf
00:37:23 <ehird> due to it being old and having tons and tons of crap I never touch covered with dust
00:37:28 <ehird> need to fix that sometime
00:37:30 <AnMaster> ehird, clean?
00:37:31 <ais523> yep, compressed air's the usual way
00:37:47 <comex> ehird
00:37:47 <AnMaster> rm -rf dust
00:37:54 <ehird> AnMaster: it's also a big room, I'd have to get a big ladder and everything and dig under all the shit and whatnot
00:38:04 <AnMaster> ais523, filters prolongs the period between cleaning
00:38:06 <AnMaster> very useful
00:38:16 <comex> you're not the guy I would expect to deliver a shitjudgement due to not reading about the case
00:38:22 <ehird> comex: :D
00:38:25 <AnMaster> ehird, don't you clean your room every now and then
00:38:31 <AnMaster> when I was your age...
00:38:37 <ehird> AnMaster: yes, but it's near-impossible to clean every single bit of the room
00:38:41 <AnMaster> my parents forced me to clean a lot
00:38:43 <ehird> if you saw it you'd understand
00:38:52 <AnMaster> ehird, pic or it didn't happen
00:38:56 <ehird> hmm, an air filter ay?
00:39:06 <AnMaster> ehird, for computers? Yes a very good idea
00:39:09 <ehird> do they make much noise?
00:39:18 <AnMaster> ehird, um. *passive filter*
00:39:20 <ehird> (^joke)
00:39:30 <AnMaster> you take them out and clean them every month or so
00:39:36 <ehird> (^joke) <-- see
00:39:38 <AnMaster> well in a dusty room maybe more often
00:39:49 <AnMaster> ehird, yes. But lag made it arrive later
00:40:02 <AnMaster> <ehird> do they make much noise? <AnMaster> ehird, um. *passive filter* <AnMaster> you take them out and clean them every month or so <ehird> (^joke)
00:40:21 <AnMaster> <ehird> (^joke) <-- see <AnMaster> well in a dusty room maybe more often <AnMaster> ehird, yes. But lag made it arrive later
00:40:37 <ehird> My main strategy would be to remove all the rubbish I never use to somewhere.
00:40:41 <ehird> that would solve about 85% of the problem
00:41:03 <AnMaster> ehird, pic!!!
00:41:11 <ehird> I'll give you a pic post-cleaning :P
00:41:17 <AnMaster> ehird, pre please
00:41:23 <AnMaster> I want it when I'm still young
00:41:28 <ehird> XD
00:42:21 <AnMaster> ehird, I *have* been your age so I know the issue
00:42:37 <AnMaster> when you grow a bit older it will be paper. Lots of paper
00:42:39 <AnMaster> all over the room
00:42:52 <AnMaster> in your age it was iirc old lego technic and such
00:42:57 <ehird> XD
00:43:04 <AnMaster> ehird, did it match?
00:43:13 <ehird> ?
00:43:29 <AnMaster> dusty boxes with lego technic... around 13
00:43:31 <AnMaster> all over the room
00:43:41 <ehird> http://www.avforums.com/forums/computer-systems/56924-kramer-other-members-promoting-water-cooling-you-have-alot-answer.html <--- hahahahaha
00:43:44 <AnMaster> I had lots of lego when young
00:43:50 <ehird> AnMaster: I think I grew out of lego and stuff when I was like 10
00:43:51 <ehird> :\
00:43:58 <AnMaster> ehird, well I said *dusty*
00:44:04 <ehird> True.
00:44:18 <AnMaster> ehird, also it depends on what lego. The Mindstorms thing that you can program in C lasts a bit longer
00:44:19 <AnMaster> :P
00:44:24 * AnMaster has that somewhere
00:44:41 <ehird> haha, I like the suggestion further along that thread to put fish in the cooling
00:44:44 <AnMaster> also programming it in C is unsupported
00:44:53 <FireFly> Ah, that good ol' topic :D
00:45:37 -!- ais523 has quit (Remote closed the connection).
00:48:57 <ehird> hrmph, teco should read ~/.teco :(
00:49:32 <ehird> "I did wrap the power supply unit in cling film plastic wrap before I filled it with water"
00:49:32 <ehird> XD XD XD
00:49:51 <AnMaster> <ehird> http://www.avforums.com/forums/computer-systems/56924-kramer-other-members-promoting-water-cooling-you-have-alot-answer.html <--- hahahahaha <-- don't have time to read it all, is it a windup or not?
00:49:59 <ehird> i don't know, it's just funny either way
00:50:27 <FireFly> IIRC it is, but it took some pages until he told them
00:56:54 <AnMaster> hm
00:56:56 <AnMaster> passive cooling
00:57:00 <AnMaster> would rock
00:57:07 <AnMaster> like my mobile phone, no fan
00:57:32 <AnMaster> so a HUGE heat sink
00:58:12 <ehird> XD
00:58:23 <ehird> AnMaster: that would be rather a fire hazard
00:58:31 <AnMaster> ehird, you mean with dust?
00:58:39 <AnMaster> hm
00:58:43 <ehird> I meant
00:58:46 <ehird> if you thrash the cpu a lot
00:59:05 <AnMaster> ehird, of course it would have to be dimensioned for the climate and load
00:59:22 <AnMaster> and possibly have a backup fan in if the worst come to the worst
01:00:27 <ehird> http://en.wikipedia.org/wiki/File:2007TaipeiITMonth_IntelOCLiveTest_Overclocking-6.jpg
01:00:30 <ehird> i like that picture.
01:00:47 <ehird> "OH IT IS RUNNING A BIT HOT WELL HER IS SOME LIQUID NITROGEN"
01:00:50 <ehird> *HERE
01:01:29 <AnMaster> hehe
01:02:10 <AnMaster> ehird, why is part protected by a piece of fabric?
01:02:18 <AnMaster> risk of getting too cool?
01:02:28 <ehird> hmm
01:02:29 <ehird> not sure
01:03:49 <ehird> you know, the fact that adding more cores gives better performance increases than piling on ghz hasn't registered in my brain yet
01:04:10 <ehird> its native comparison routine rates an old single-core 3ghz above 2 x quad-core 2.2ghz...
01:04:19 <ehird> so I have to emulate it in software instead :P
01:04:39 <ehird> brains need hot-swappable kernel updates
01:04:48 <ehird> like, we could give old fogeys society boosterpacks.
01:05:00 -!- olsner has quit ("Leaving").
01:06:29 <AnMaster> ehird, err
01:06:38 <AnMaster> ehird, depends on task if more cores > better
01:06:50 <AnMaster> you hit a scalability limit at some point
01:06:54 <AnMaster> when overhead is too large
01:07:07 <AnMaster> of sync stuff
01:07:09 <ehird> well, yes, but I think you'd agree that a 1 core 3ghz processor from 2006 is a lot worse in most cases than two quad-core 2.2ghz intel nehalems from november 2008
01:07:15 <ehird> where most means almost all
01:07:34 <AnMaster> yes. And even more so if the 1 core one is a Pentium 4
01:07:43 <AnMaster> ehird, but other stuff improved too
01:07:49 <ehird> ofc
01:07:52 <AnMaster> more advanced SSE for example
01:08:00 <AnMaster> like SSE4 or whatever we are at now
01:08:24 <ehird> it's just that my internal brain's cpu comparison routine is (a b -> compare(a.ghz, b.ghz))
01:08:28 <ehird> which is very broken :D
01:08:57 <AnMaster> yes it is
01:09:06 <ehird> good thing I don't have to perform that very often
01:09:09 <AnMaster> ehird, also my brain does it in mhz
01:09:20 <ehird> heh, my brain works at a granularity of X.Yghz
01:09:21 <AnMaster> then it realises that we hit 1 GHz ages ago
01:09:35 <ehird> 1ghz? my mom used that as a kid. :|
01:09:51 <AnMaster> and then it remembers mhz/ghz is a silly way to compare
01:09:57 <AnMaster> ehird, err probably not
01:10:05 <ehird> it was an exaggerationjoke.
01:10:10 <AnMaster> ok
01:10:24 <ehird> Back then the order of the day was FORTRAN and LISP on big mainframes and punchcards :P
01:10:32 <AnMaster> indeed
01:10:38 <AnMaster> ehird, you used pre-ghz?
01:10:44 <ehird> Hrmmm.
01:10:50 <AnMaster> I mean, not mobile phones and such
01:11:06 <ehird> In 1998 I had a Windows 3.11 computer (yes, way obsolete at the time, parents were poor)
01:11:06 <AnMaster> or old system, but contemporary ones
01:11:12 <ehird> That was probably pre-ghz.
01:11:24 <ehird> It had a 15" non-flat CRT screen xD
01:11:27 <AnMaster> ehird, your parents got a lot more money now then. with you getting an upgrade soon
01:11:32 <AnMaster> lucky you
01:11:39 <ehird> mostly my money
01:11:50 <AnMaster> even luckier you
01:11:52 <ehird> and the Apple Tax makes it a bit of a stretch :-D
01:11:54 <AnMaster> where did you get it?!
01:12:02 <AnMaster> apple tax?
01:12:16 <ehird> apple tax = the purely insane amount of money apple adds on to the actual value of the hardware
01:12:18 <AnMaster> ehird, as someone living in UK you should prefer Acorn
01:12:25 <ehird> I used an Acorn PC in school!
01:12:26 <AnMaster> a pitty they no longer exist
01:12:28 <AnMaster> oh?
01:12:29 <AnMaster> cool
01:12:37 <AnMaster> ehird, you know ARM is all that remains of Acorn
01:12:42 <ehird> :<
01:12:51 <ehird> RISC OS was nic
01:12:51 <ehird> e
01:12:54 <AnMaster> well yes
01:12:57 <AnMaster> so was Genera
01:13:15 <AnMaster> ehird, there is always !Befunge for you on RISC OS
01:13:20 <ehird> haha, yep
01:13:22 <ehird> too bad it sucks
01:13:38 <AnMaster> well it used to be next best after ccbi
01:13:41 <AnMaster> back before cfunge
01:17:59 <ehird> true
01:18:03 <ehird> the author updates his site regularly, it seems
01:18:09 <ehird> has Deewiant contacted him about updating !Befunge?
01:19:05 <AnMaster> ehird, nah
01:19:13 <AnMaster> ehird, he didn't contact Mike either
01:19:17 <ehird> mm
01:19:20 <AnMaster> he said it wasn't his job
01:19:22 <ehird> i might contact him :)
01:19:25 <ehird> :P
01:19:37 <AnMaster> ehird, I often thought about it, but "meh"
01:19:54 <ehird> it'd be nice to have more competition
01:22:07 -!- Sgeo has joined.
01:25:46 <ehird> bye
01:26:19 <Sgeo> hm?
01:31:37 -!- FireFly has quit ("Later").
01:59:50 -!- Sgeo has changed nick to Sgeo[Scrubs].
02:18:04 -!- Deewiant_ has joined.
02:18:09 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
02:18:09 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
02:18:09 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
02:18:20 -!- fungot has joined.
02:18:20 -!- fizzie has joined.
02:18:20 -!- Deewiant has joined.
02:19:03 -!- Deewiant has quit (Connection reset by peer).
02:20:13 -!- Ilari_ has joined.
02:25:13 -!- Ilari has quit (Read error: 110 (Connection timed out)).
02:38:17 -!- neldoreth has quit (Read error: 113 (No route to host)).
02:43:39 -!- Ilari_ has changed nick to Ilari.
02:53:07 * kerlo blinks
02:53:19 <kerlo> Who's been using Unicode in here?
03:07:54 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
03:47:14 -!- Sgeo[Scrubs] has changed nick to Sgeo.
04:15:25 -!- GreaseMonkey has joined.
04:26:11 <bsmntbombdood> unicode is evil
04:26:47 * kerlo scribbles on a piece of paper
04:27:20 <kerlo> ehird's mom is probably 31 or older.
04:27:50 <bsmntbombdood> 95%
04:27:56 <kerlo> Therefore, she was only a kid at least seven years ago.
04:28:03 <kerlo> Are you giving me the probability of her being 31 or older?
04:28:11 <bsmntbombdood> yes
04:29:03 <kerlo> For what n is the probability of her being n or older 50%?
04:29:47 <bsmntbombdood> hmmm
04:29:55 <bsmntbombdood> 45
04:30:07 <bsmntbombdood> no, 43
04:30:14 <bsmntbombdood> no, 45
04:30:15 * kerlo scribbles more
04:30:21 <bsmntbombdood> final answer
04:30:58 <kerlo> My n is 41. Final answer.
04:31:03 <kerlo> So, let's fight to the death.
04:31:41 <kerlo> ehird, how old is your mom?
05:06:31 -!- psygnisfive has joined.
05:06:57 <psygnisfive> ehird!
05:07:21 <psygnisfive> or anyone else interested in delightful discoveries about fractals and such
05:07:53 <psygnisfive> listen up!
05:07:55 <psygnisfive> do this:
05:08:32 <psygnisfive> on a grid, with lines labeled from 0
05:09:43 <psygnisfive> take the bitwise logical operation of the gridline numbers (e.g. at the point (4,12) take, say, the bitwise nand of 4 and 12). if the result is 0, draw a circle on the point.
05:09:54 <psygnisfive> or make some other obvious mark.
05:10:09 <psygnisfive> do this for, say... an 8x8 or 16x16 grid.
05:10:48 <psygnisfive> or if you're slick, code it up using a graphics API and see what results for decently sized space, say 512x512
05:14:13 <psygnisfive> or something like that. :P
05:14:31 <psygnisfive> i forget whether its if the result is 0, or below some value, or whatever. anyway, you get the idea.
05:15:00 <psygnisfive> and works too, i think.
05:17:54 <psygnisfive> yeah, if you do an AND, that works.
05:23:32 -!- kerlo has set topic: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | ascii z.
05:23:35 -!- kerlo has set topic: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | ascii plz.
06:01:37 -!- GreaseMonkey has quit ("Client Excited").
06:11:23 <bsmntbombdood> ONE ASCII TO RULE THEM ALL
06:16:50 -!- MizardX has joined.
06:56:27 -!- neldoreth has joined.
07:27:49 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
07:28:55 -!- Slereah has joined.
07:38:00 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:13 -!- asiekierk has joined.
08:00:27 <asiekierk> oh my god i'm going to build a mechanical tv probably
08:04:51 <pikhq> I suggest starting out somewhat easy...
08:05:11 <pikhq> Build a mechanical color adaptor. ;p
08:15:17 -!- Deewiant_ has changed nick to Deewiant.
08:20:25 <asiekierk> pikhq: As in, a color mechanical tv?
08:21:01 <asiekierk> Easy. Make a small color wheel, speed up the nipkow disc and make the color wheel spin too, make the proper image and BAM! CBS/Baird/Nipkow color TV!
08:25:08 <pikhq> Well, I was thinking color wheel disk for a standard B&W NTSC TV.
08:25:13 <pikhq> And yes, it has been done.
08:26:14 <asiekierk> Even NTSC for NBTV has been done by one guy
08:27:06 <asiekierk> it's called "NBSC"
08:27:20 <asiekierk> now i'm waiting for someone to do PAL for NBTV... but that lacks a good name
08:28:41 <asiekierk> NB-PAL?
08:31:06 <asiekierk> Also, I am wondering whether you can make a Nipkow camera by switching the LED with a light sensor...
08:31:16 <asiekierk> as in, swapping them in the device
08:31:22 <asiekierk> so no LED but a light sensor
08:31:26 <asiekierk> then transmit that to the PC
08:31:28 <pikhq> Don't see why not.
08:31:28 <asiekierk> exchange parts
08:31:35 <asiekierk> and bam! Nipkow Camera/TV!
08:32:37 <asiekierk> Also, pikhq, did you build a mechanical TV once?
08:43:31 <pikhq> No, but it seems like something I could do.
08:47:32 <asiekierk> I'm currently looking for a good tutorial
09:39:27 <asiekierk> And I'm wondering why am I converting the copy of the first Baird-system play
09:39:45 <asiekierk> "The Man with the Flower in his Mouth"
09:39:49 <asiekierk> into the NBTV standard
09:41:03 <asiekierk> 30%
09:41:09 -!- tombom has joined.
09:46:22 <asiekierk> 74%, somehow :P
09:47:22 <asiekierk> About 3 minutes left, then I'll start working on my Televisor, then convert the play from "prepared" AVI to the WAV, then play it from somewhere (my Wii, possibly) and WIN
09:48:16 <asiekierk> 90% - 1 minute left :)
09:58:29 <asiekierk> augh, need to re-convert it
09:58:36 <asiekierk> but does it quite quickly :)
09:59:07 <asiekierk> converting to WAV
09:59:56 <asiekierk> way too fast, it does like, half a minute of the movie in a second
10:00:42 <asiekierk> well, it actually does 5 seconds/second :P
10:00:46 <asiekierk> and done :)
10:01:40 <asiekierk> oh yay, the awesome sound of the NBTV :)
10:01:49 <asiekierk> i must reconvert it though :(
10:04:15 <asiekierk> done :)
10:04:22 <asiekierk> Now I will need to make the Nipkow disk
10:20:28 <pikhq> Having fun?
10:57:30 <AnMaster> <bsmntbombdood> unicode is evil <-- wrong
10:57:42 <AnMaster> kerlo, bsmntbombdood: åäö åäö åäö
10:58:32 <asiekierk> i think i just made the coolest testcard/opening ever
10:58:34 <asiekierk> well, the opening is
10:58:51 <asiekierk> 20 seconds of the ye` ole` BBC countdown along with a 15-second clock and numbers for the last 3 seconds
11:00:40 <pikhq> Spiffy.
11:01:08 <asiekierk> and of course
11:01:13 <asiekierk> when I was frame-tuning the whole thing
11:01:15 <asiekierk> Sony Vegas crashed
11:01:26 <asiekierk> hopefully it has autosave
11:04:34 <asiekierk> the thing takes exactly 2 minutes and 30 seconds
11:04:38 <asiekierk> and has a bunch of NBTV testcards
11:04:41 <asiekierk> 1 reproduced by me
11:04:45 <asiekierk> another made by me
11:04:51 <asiekierk> and some other mini-testcards from the 'net
11:05:24 <pikhq> I've got to admit, NBTV is rather clever...
11:06:19 <asiekierk> nope, it'll take 2 minutes and 15 seconds
11:06:57 <asiekierk> I can send it to you if you want
11:07:38 <pikhq> Sure, why not?
11:07:51 <asiekierk> The tuning signals and testcards take about 1 minute 50 seconds
11:07:55 <asiekierk> the rest is the "mini-clock"
11:08:10 <pikhq> Might be tempted to build a Nipkow-disc TV set some time soon...
11:08:13 <asiekierk> :)
11:08:18 <asiekierk> Remember my video is 32x48
11:08:30 <asiekierk> not for downscaling, it's all mostly pixel-by-pixel already
11:08:35 <asiekierk> Do you want WAV format or the original WMV?
11:08:36 <pikhq> Maybe get an NTSC->Nipkow converter going for the hell of it. ;p
11:08:44 <pikhq> Yes?
11:09:03 <asiekierk> Which format do you want
11:09:17 <asiekierk> the WAV format which you can play into your NBTV (left channel - video, right channel - mono audio)
11:09:21 <pikhq> Both, if you don't mind?
11:09:31 <asiekierk> Actually, you can convert a WMV to a WAV
11:09:37 <asiekierk> but you first need to convert it to AVI for some reason
11:09:58 <asiekierk> I will give you the link for the converter
11:10:02 <asiekierk> it can also live-convert videos
11:10:08 <asiekierk> and I converted "Man with the flower in his mouth" for it
11:11:17 <asiekierk> I will send you the installer and the BMPs with it (why not?)
11:11:41 <asiekierk> my testcard is also availble in "lame color version", btw, but i think you can just convert SMPTE bars to it
11:12:55 <asiekierk> Also, it doesn't really want to convert the WMV, will need to encode in higher res maybe :(
11:13:28 <asiekierk> wait, i think directshow+ffmpeg did it
11:13:41 <asiekierk> yep, sorta
11:15:32 <asiekierk> wait, i encoded a thing wrongly
11:17:11 <asiekierk> sending you the pack
11:17:25 <asiekierk> Video2NBTV (the AVI->NBTV converter), my testcard set and the AVI
11:17:43 <asiekierk> give me your email tho
11:53:00 <kerlo> I've always wanted to construct a display using rotating discs.
11:53:30 <asiekierk> So do it
11:53:41 <asiekierk> I offer a tuning helper if anyone wants
11:53:52 <kerlo> Every disc has a pattern of stripes on it, and they're all stacked, and it uses Fourier transforms or something to figure out how to rotate them to give the right image.
11:53:59 <asiekierk> ph
11:54:06 <asiekierk> oh*
12:49:56 -!- asiekierk has changed nick to asie[away].
13:03:21 -!- neldoret1 has joined.
13:12:10 -!- neldoreth has quit (Read error: 113 (No route to host)).
13:20:30 -!- asie[away] has quit (Read error: 110 (Connection timed out)).
13:40:02 -!- asie[away] has joined.
13:40:04 -!- asie[away] has changed nick to asie[brb].
13:40:50 -!- asie[brb] has changed nick to asie[busy].
13:40:57 <asie[busy]> Progress: Cutting out the material for the Nipkow Disk
13:41:53 <asie[busy]> ok, now cutting out the disk itself
13:43:59 <asie[busy]> ow, my fingers hurt <:(
13:50:15 <asie[busy]> i hate my laser printer
13:50:27 <asie[busy]> the ink is so weird i need to repaint some of the thing with a black marker
13:52:10 <asie[busy]> about 40% done
13:53:01 -!- Mony has joined.
13:53:28 -!- neldoret1 has quit (Read error: 113 (No route to host)).
13:54:07 <asie[busy]> 70%
13:54:07 <Mony> plop
13:55:19 <asie[busy]> oh well
13:55:22 <asie[busy]> hi Mony
13:55:25 <asie[busy]> i'm making a mechanical TV set
13:57:27 <Mony> what's that ?
13:58:16 <asie[busy]> a TV that uses the "Nipkow disk" and a LED and audio to show very lo-res analogue TV on a tiny half-inch screen*
13:58:27 <asie[busy]> * - using a single A4 sheet for the disk
13:59:57 <asie[busy]> for now, I have cut approx. 1/5th of that disk
14:00:54 <asie[busy]> and the holes will be perfect
14:00:55 <asie[busy]> :)
14:01:54 <asie[busy]> 1/4th, getting closer
14:03:56 <asie[busy]> 1/2
14:05:26 <asie[busy]> nearly done
14:06:35 <asie[busy]> done
14:06:45 <asie[busy]> now repainting some parts with a black marker (I hate my ink)
14:13:21 -!- ais523 has joined.
14:19:00 <asie[busy]> the wheel works ((manually though, i will need to make bigger holes)
14:21:19 -!- rabideejit has joined.
14:21:33 -!- FireFly has joined.
14:21:46 <rabideejit> Greeting.
14:23:02 <rabideejit> I have a new language for you.
14:23:02 <rabideejit> Consider deciphering the contents of http://esoteric.voxelperfect.net/wiki/Kolmogorov and http://www.killersmurf.com/projects/Kolmogorov
14:24:53 <Slereah> ...
14:24:58 <Slereah> Maaaan
14:25:10 <Slereah> Is there an interpreter already?
14:25:14 <rabideejit> yes
14:25:15 <Slereah> If there is, he totally smoked me :o
14:25:20 <Slereah> Me and my Andrei machine
14:25:29 <rabideejit> Aaah! It's you. You inspired me.
14:25:40 <ais523> greetings, rabideejit
14:25:51 <Slereah> Did I?
14:26:01 <rabideejit> indeed you did.
14:26:03 <Slereah> Then I will take all credit
14:26:06 <Slereah> Woooo
14:26:22 <rabideejit> Greetings ais.
14:26:25 <Slereah> Graph rewriting is a bitch and I'm a terrible programmer.
14:26:35 <Slereah> So I never managed to write an interpreter.
14:26:51 <ais523> looks somewhat higher-level than the Andrei Machine
14:27:11 <ais523> given that you have a BF equivalence already, probably it's actually quite usable, which is always nice in an esolang
14:27:12 <rabideejit> Yes. The andrei machine is much closer to what Kolmogorov had in mind, I'd say.
14:27:13 <Slereah> I don't do high level.
14:27:34 <Slereah> Actually, it's exactly what Kolmogorov had in mind, except for the I/O.
14:28:05 <Slereah> If you want, the original article is here : http://membres.lycos.fr/bewulf/Russell/Kolmo/
14:28:13 <Slereah> They won't let me put it on the wiki though :3
14:29:36 <ais523> the wiki's public-domain, you can't put copyrighted things on there
14:29:41 <ais523> and things are copyrighted by default
14:29:54 <Slereah> I know.
14:30:12 <Slereah> Though I doubt we'd get in trouble
14:30:21 <rabideejit> Ah, thankyou! I was looking for that. My source was Uri Gurevich's on Kolmogorov Machines and Related issues.
14:30:35 <Slereah> Yeah, it is hard to find.
14:30:40 <Slereah> Even as a used book
14:31:44 <Slereah> Maybe I should finish my Fibonacci on that language.
14:32:41 <Slereah> The commands are much easier on that one
14:34:13 <Slereah> I should still try mine one day. This one doesn't have the global graph transformation.
14:37:03 <rabideejit> Ah, the Andrei machine has an easy-to-reach register. The challenger of the Kolmogorov language is all your data is all pointing to each other and you get lost. Hence the 500 line 99 bottles of beer.
14:37:11 <rabideejit> *challenge
14:37:24 <rabideejit> Freudian there.
14:37:54 <rabideejit> Ah but I guess the Andrei register is a bit hard to reach, as you have to run through the graph to get it.
14:37:59 <Slereah> I usually try easy I/O.
14:38:14 <Slereah> Especially here, because it's the only way to know if it works correctly
14:38:24 <rabideejit> Indeed.
14:38:38 <Slereah> I would do a debugger where you can see the actual graph, but I have no idea how to do it
14:38:52 <rabideejit> It would be crazy.
14:39:24 <Slereah> The shitty part though is the graph recognition.
14:39:43 <Slereah> To use the transformations, it has to be able to recognize any pattern starting at 0
14:39:48 <rabideejit> Yes, it seems a very complex problem.
14:40:23 <rabideejit> Hmmmmm!
14:40:40 <Slereah> Especially since it doesn't have to be connected
14:44:02 <rabideejit> hum, ho.
14:45:58 <rabideejit> I must take your leave, I need to eat some yogurt. Nice to meet you Slereah.
14:46:01 -!- jix has joined.
14:46:05 <Slereah> Bye.
14:46:19 -!- rabideejit has quit ("Leaving.").
14:52:59 <psygnisfive> fjhdsjfh
14:53:00 <psygnisfive> morning
14:53:32 <Slereah> Hello dude.
14:53:37 <psygnisfive> sup
14:53:47 <Slereah> Turns out I'm an inspiration.
14:53:55 <ais523> ^bf ,>++++++[<-------->-],[<+>-]<!43
14:54:03 <ais523> ^bf ,>++++++[<-------->-],[<+>-]<.!43
14:54:04 <fungot> 7
14:54:05 <Slereah> It's the beard, is it?
14:54:32 <psygnisfive> so did anyone try that thing i suggested earlier? :P
14:54:41 <Slereah> What was that thing?
14:56:07 <psygnisfive> taking the bitwise AND of (N+, N+) and graphing at only the points where that == 0
14:56:50 <Slereah> Wouldn't that be just everywhere outside of 1's everywhere?
14:57:00 <psygnisfive> what?
14:57:23 <Slereah> Owait, no
14:57:48 <Slereah> Also why do you want that?
14:57:57 <psygnisfive> just do it :)
14:58:17 <psygnisfive> do it for an 8x8 square
14:58:26 <psygnisfive> so for N = 0..7
14:58:46 <Slereah> Lemme get my snake
14:59:11 <Slereah> Fuck, it's been a while since I coded.
14:59:22 <psygnisfive> well
14:59:28 <psygnisfive> you can draw it by hand for an 8x8 square
14:59:37 <psygnisfive> just to get a sense of what results
14:59:54 <Slereah> Except that it would involve doing a whole bunch of little bitwise operations
15:01:19 <psygnisfive> actually
15:01:23 <psygnisfive> its a lot faster than you think
15:01:38 <Slereah> Yeah, but then, I can generalize to any size
15:01:45 <psygnisfive> plus, the magic doesnt happen unless you graph it two dimensionally
15:01:48 <psygnisfive> but anyway, whatever
15:01:54 <psygnisfive> as long as you can visualize it
15:01:57 <Slereah> Plus I can just use my old binary converter of my Post machine
15:02:08 <Slereah> Also you can graph it with python
15:02:18 <Slereah> "#Decimal to binary string"
15:02:22 <Slereah> Good old Postal
15:03:37 <psygnisfive> what?
15:05:00 <Slereah> Old program
15:05:06 <psygnisfive> ok.
15:05:12 <psygnisfive> anyway
15:05:20 <psygnisfive> essentially what you want to do is something like
15:06:25 <psygnisfive> 0.upto(n) do |i|
15:06:25 <psygnisfive> 0.upto(n) do |j|
15:06:26 <psygnisfive> make_pixel_black(i,j) if 0 == i&j
15:06:28 <psygnisfive> end
15:06:30 <psygnisfive> end
15:12:23 <ais523> psygnisfive: Python does not paste well at all over IRC
15:12:34 <ais523> at least convert tabs to spaces so we have a chance at seing what you're writing
15:12:37 <psygnisfive> good think i didn't use python!
15:12:38 <ais523> or use a pastebin
15:12:42 <psygnisfive> :P
15:12:43 <ais523> ah, yes
15:12:53 <ais523> I just noticed the every-other-line-in-italics
15:12:59 <ais523> which is a usual sign to me that someone's tried to paste it
15:13:04 <psygnisfive> every-other-line-in-italics?
15:13:06 <ais523> but the |i| would suggest more Ruby
15:13:11 <psygnisfive> i dont see these things that you speak of.
15:13:15 <psygnisfive> i see all and only what i wrote.
15:13:16 <ais523> psygnisfive: my client interprets tab as toggle-italics
15:13:23 <psygnisfive> well your client is stupid.
15:13:25 <psygnisfive> :P
15:14:00 <fizzie> Tab *is* ctrl-i, so it's not that far off.
15:14:17 <psygnisfive> tab is not ctrl-i
15:14:19 <psygnisfive> wtf are you smoking
15:14:51 <ais523> tab is indeed control-I, not on the keyboard, but in terms of representation in a text file
15:14:54 <ais523> they're both ASCII code 8
15:14:55 <ais523> *9
15:15:24 <psygnisfive> ctrl-i is not an ascii character. so no.
15:15:26 <fizzie> As unrefutable proof: Wikipedia redirects from "Control-I" to "Tab key".
15:15:36 <psygnisfive> lies.
15:15:41 <ais523> control-a is 1, control-b is 2, control-c is 3, and so on
15:15:52 <psygnisfive> lies lies and more lies
15:16:04 <ais523> have you ever wondered why it requires a lot of trickery to distinguish return and control-j from inside a program, for instance?
15:16:25 <psygnisfive> no.
15:16:31 <psygnisfive> because ive never experienced such problems.
15:22:03 <psygnisfive> so slereah
15:22:05 <psygnisfive> have you dones it yet
15:26:11 <Slereah> X X X X X X X X X X X X X X X X X X X X
15:26:11 <Slereah> X X X X X X X X X X
15:26:11 <Slereah> X X X X X X X X X X
15:26:11 <Slereah> X X X X X
15:26:11 <Slereah> X X X X X X X X X X X X
15:26:11 <Slereah> X X X X X X
15:26:13 <Slereah> X X X X X X
15:26:15 <Slereah> X X X
15:26:17 <Slereah> X X X X X X X X X X X X
15:26:19 <Slereah> X X X X X X
15:26:21 <Slereah> X X X X X X
15:26:23 <Slereah> X X X
15:26:25 <Slereah> X X X X X X X X
15:26:27 <Slereah> X X X X
15:26:29 <Slereah> X X X X
15:26:31 <Slereah> X X
15:26:33 <Slereah> X X X X X X X X X X X X X X X X
15:26:35 <Slereah> X X X X X X X X
15:26:37 <Slereah> X X X X X X X X
15:26:39 <Slereah> X X X X
15:26:41 <Slereah> Like this
15:26:43 <Slereah> D:
15:26:50 <Slereah> X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
15:26:50 <Slereah> X X X X X X X X X X X X X X X
15:26:50 <Slereah> X X X X X X X X X X X X X X X X
15:26:50 -!- Slereah has quit (Excess Flood).
15:27:03 -!- Slereah has joined.
15:27:04 <fizzie> Who ate the corners off the sierpinsky cookie?
15:27:04 <Slereah> It does look fractally.
15:29:16 <Slereah> Well, it is fractally in the other way around it seems
15:29:57 <Slereah> Finite sized patterns that repeat at bigger scales :o
15:30:21 <Slereah> Is there a way to display Python in a monospaced font?
15:39:00 <psygnisfive> slereah
15:39:00 -!- Hiato has joined.
15:39:06 <psygnisfive> its a sierpinski gasket
15:39:14 <psygnisfive> so yes, it is "fractally"
15:39:18 <psygnisfive> but the more interesting thing is that
15:39:24 <Slereah> What is a gasket
15:39:28 <psygnisfive> that is.
15:39:59 <psygnisfive> the more interesting thing is that its the sierpinski gasket AND it comes about JUST from doing bitwise AND over N^2
15:40:03 <psygnisfive> i mean, how ridiculous is that?
15:40:20 <fizzie> A gasket is also: 1. gasket -- (seal consisting of a ring for packing pistons or sealing a pipe joint)
15:40:23 <Slereah> You are aware that fractals don't have to be complex
15:40:35 <Slereah> Cantor set is easy as shit to create
15:40:46 <psygnisfive> yes, i know this.
15:40:58 <oklopol> but do you *feel* it?
15:41:07 <psygnisfive> but the point is more that this structure comes about from simple bitwise logic on numbers
15:41:22 -!- neldoreth has joined.
15:41:33 <Slereah> I am hard to fill with wonder
15:41:39 <Slereah> Although semen is another matter
15:42:13 <psygnisfive> or more precisely, the gasket is there in bitwise logic over ALL integers. so that its not some convoluted escape time algorithm, or geometric copy algorithm (tho it might be equivalent to the last one)
15:42:20 <psygnisfive> instead, its just AND(N,N)
15:42:48 <fizzie> "Also, it seems like they could fill more things with cream." "Just "things" in general? Where do you draw the line?" "Well, my thinking is this: if it's empty, fill it with cream." (That's one of the quotes fungot has.)
15:42:48 <fungot> fizzie: you're either with them or are they only used for rebuilds in case of hack attacks illegal activity,
15:43:19 <psygnisfive> is fungot a markov bot?
15:43:19 <fungot> psygnisfive: dang... the guy tried to argue) because lisp and scheme
15:43:29 <fizzie> Well, a close relative, anyway.
15:43:42 <psygnisfive> hm. he should be a phrase-structure bot instead! :|
15:44:15 <fizzie> Data structures are a bit iffy to do with befunge; I went with the simplest option.
15:44:19 <psygnisfive> sure, it'd require more computation, but it would produce grammatically correct sentences with absolutely not sensibility to them
15:44:25 <psygnisfive> oh. its befunge. nevermind :D
15:44:44 <fizzie> Funge-98, to be exact: http://zem.fi/~fis/fungot.b98.txt
15:44:44 <fungot> fizzie: that's all. easily parsed even in emacs. wanting to see a larger project you end up with
15:44:50 <psygnisfive> well, you actually dont have to do it with datastructures
15:45:00 <psygnisfive> just some sort of context free production system
15:45:03 <fizzie> Oh, that was an eerily suitable reply.
15:45:04 -!- neldoret1 has joined.
15:45:07 -!- neldoreth has quit (Client Quit).
15:45:08 <ais523> fizzie: yep
15:45:17 <ais523> so if it can easily be done even in Emacs, why not in Befunge?
15:45:32 -!- asie[busy] has changed nick to asiekierk.
15:49:50 <psygnisfive> { (x,y) : x,y in N; x&y = 0 } is the gasket. how crazy is that tho
15:49:51 <psygnisfive> seriously
15:49:53 <psygnisfive> think about it
15:50:48 <psygnisfive> it generalizes to gasket-like structures in n dimensions: { p : p in N^k; &p = 0 }
15:51:32 <Slereah> Psog
15:51:36 <Slereah> How did you know this though
15:51:57 <psygnisfive> a professor of mine does a bunch of crazy stuff with logic, philosophy, and computation
15:52:13 <psygnisfive> he coauthored a book called The Philosophical Computer, and he mentions this in one chapter.
15:52:56 <psygnisfive> he's apparently very interested in what the fundamental principle is that leads to the Sierpinski Gasket showing up all over the place (bitwise logic, 1d CAs, GoL, etc.)
15:53:38 <psygnisfive> i think i've determined why it shows up in GoL tho. GoL is actually simulating a 4-state 1D CA when it produces the gasket
15:53:39 <psygnisfive> so
15:53:42 <psygnisfive> thats how you get it.
15:53:49 <Slereah> Maybe God is just too lazy to finish his triangles
15:53:53 <psygnisfive> maybe!
15:53:59 <Slereah> Or the universe is filled with bees
15:53:59 <psygnisfive> so he's made things do it for him
15:54:03 <psygnisfive> BEES
15:54:11 <Slereah> And sip sip syrup sipping nigga are honeycombs
15:54:12 <psygnisfive> anyway, its just interesting that the same thing shows up again and again
15:54:24 <psygnisfive> it'd be interesting to find out precisely WHAT the general principle is
15:54:29 <psygnisfive> its probably something very simple
15:54:41 <Slereah> I think it's the bees
15:54:55 <Slereah> Well, labtime
15:54:57 <psygnisfive> anyway, im off to class. ciao bitches
16:00:56 -!- M0ny has joined.
16:03:55 -!- impomatic has joined.
16:06:52 <ehird> 03:27 kerlo: ehird's mom is probably 31 or older.
16:06:55 <ehird> Correct.
16:06:57 <ehird> 14:26 h has left IRC (Excess Flood)
16:07:01 <ehird> Fuck, more regex fuckery.
16:07:03 <ehird> Too lazy to fix.
16:09:10 -!- Judofyr has joined.
16:09:33 -!- neldoret1 has quit (Client Quit).
16:13:31 <ehird> kerlo: If you want to precisify the value, you can play 20 questions.
16:14:07 <ehird> Or, y'know, just analyze LISP and FORTRAN release dates and soforth.
16:14:25 <ais523> LISP and FORTRAN release dates would determine the value?
16:14:37 <ehird> "03:27 kerlo: ehird's mom is probably 31 or older."
16:14:53 <ehird> Based, presumably, on me saying that when my mother was a kid, LISP and FORTRAN on punchcards were the order of the day.
16:15:01 <ais523> ah
16:16:05 <ehird> Good lord, Apple made the iPod Shuffle even smaller.
16:16:18 <ehird> Soon it'll take up negative space.
16:16:40 -!- neldoreth has joined.
16:17:05 <ais523> they should fit it inside a pair of headphones
16:17:09 <ehird> haha
16:17:19 <ais523> why is that funny? I thought it was quite a good idea
16:17:26 <ais523> after all, how many controls does the thing need?
16:17:52 <ehird> it just has start/stop and forward, I think, except now it has playlists apparently
16:17:52 <ehird> so hm
16:18:11 <ehird> ah, here
16:18:17 <ehird> volume up, volume down, and one button
16:18:28 <ehird> single click: lay/pause, next track: double click, previous track: triple click
16:18:34 <ehird> hear title and artist (TTS): hold
16:18:46 <ehird> hold center button and release after tone: speaks out playlist names, click to select
16:19:00 -!- Mony has quit (Read error: 110 (Connection timed out)).
16:19:08 <ehird> ais523: the thing is, they ship with earphones
16:19:13 <ehird> http://images.apple.com/ipodshuffle/images/features_hero_20090311.jpg
16:19:19 <ehird> I guess you could fit the button on to one
16:19:22 <ehird> and up/down volume on another
16:22:51 <fizzie> Just stick an accelerometer in, and have you shake your head like you've got a seizure whenever you need to interact with it.
16:23:14 <ais523> how do ipod shuffles work, controlwise?
16:23:25 <ehird> ais523: I just told you!
16:23:29 <ehird> ehird: volume up, volume down, and one button
16:23:29 <ehird> 15:18 ehird: single click: lay/pause, next track: double click, previous track: triple click
16:23:31 <ehird> 15:18 ehird: hear title and artist (TTS): hold
16:23:33 <ehird> 15:18 ehird: hold center button and release after tone: speaks out playlist names, click to select
16:23:40 <ehird> on the side there's a volume up button, one single button, and the volume down
16:23:45 <ehird> and the single button has the operations above
16:24:50 <ais523> oh, ok
16:25:03 <ais523> I'm kind-of doing something else at the moment, so I'm not really paying attention to IRC
16:25:20 <ais523> and based on the name, presumably it plays in random order if given no other instructions?
16:26:10 <ehird> yes
16:26:16 <ehird> you can't make it go in normal order, I think
16:28:13 <ais523> I've used headphones before which had a volume knob on each headphone
16:28:18 <ais523> that's effectively 4 controls
16:28:42 <ais523> you could have a rotating off/volume knob on one earphone, and the button on the other, I suppose
16:32:40 -!- Judofyr has quit ("raise Hand, 'wave'").
16:41:45 -!- oklopol has quit (Read error: 110 (Connection timed out)).
16:43:37 -!- BeholdMyGlory has joined.
17:03:49 <ehird> " Linux is by far the most popular UNIX OS"
17:03:51 <ehird> Er... no...
17:04:11 <ais523> change that to UNIX-compatible, and it's probably correct
17:04:19 <ehird> OS X
17:04:24 <ehird> has a larger market share than linux
17:05:48 <ehird> isn't linux around 1% market share?
17:05:54 <ehird> and mac around 9% or so?
17:05:58 <ehird> hm, maybe a bit less
17:06:17 <ais523> ehird: add in servers and embedded systems, and linux beats mac os x hollow
17:06:34 * ais523 wonders what proportion of UNIX-compatible systems are servers
17:06:37 <ehird> embedded systems, sure
17:06:39 <ehird> but servers?
17:06:41 <ehird> I'm not so sure
17:06:46 <ehird> BSD is very popular on servers
17:06:47 <ehird> so is windows
17:07:03 <ais523> yep, Windows isn't unix-compatible though so doesn't count
17:07:10 <ehird> true
17:07:14 <ais523> but BSD and Solaris both definitely factor into the server market
17:08:54 <fizzie> OS X Server, now... I don't think that's so very very popular.
17:09:04 <ais523> no, although IIRC it does exist
17:09:06 <ehird> Yeah, OS X server has like 0 market share.
17:09:21 <ehird> I imagine it's mostly used in small businesses.
17:09:35 <ehird> For corporate sites & email and internal intranet sites etc
17:09:38 <fizzie> "16.7% of smartphones sold worldwide during 2006 were using Linux[49]" -- that's a larger number than I expected.
17:10:00 <fizzie> From the infallible wikipedia, of course.
17:10:07 <ehird> OS X Server does integrate its unix user accounts with the web services, which is nice.
17:10:15 <ehird> Can't t hink of anyhting particularly exciting about it, though.
17:10:26 <ehird> Also, it comes with all the dekstop apps, which is rather stupid.
17:10:29 <ehird> *desktop
17:10:39 <ais523> ehird: but they're the only thing that distinguishes OSX from Darwin
17:10:43 <ais523> admittedly, it's a big and good selling point
17:11:01 <ehird> ais523: Not quite.
17:11:10 <ehird> The GUI in general is; but do you need iCal on a server?
17:11:20 <ais523> well, I suppose so
17:11:36 <ais523> I sort-of got the impression that OSX Server was designed to be used as a workstation and also a server at the same time
17:12:23 <ehird> That would be a rather odd use-case.
17:12:32 <ehird> "Sorry guys, I'm playing a dvd, slight slowdown"
17:16:11 <ais523> I can imagine that use-case for people living at home who wanted a servery thing of their own
17:16:17 <ehird> True
17:16:21 <ehird> It's pricey, though.
17:16:25 <ais523> I mean, even this laptop has apache installed, although other people can't access it except via a reverse tunnel
17:16:28 <ehird> Like really pricey
17:16:50 <ehird> 10-client license is £312
17:16:50 <ais523> well, that's not out of character for Apple, but it's no wonder why nobody buys it
17:16:58 <ehird> ais523: regular OS X comes with apache
17:17:03 <ais523> well, yes
17:17:07 <ais523> does it come with an ircd?
17:17:17 <ehird> I don't think OS X Server comes with an ircd :P
17:17:51 <ais523> I have an ircd on here too, although I only use it for testing bots
17:18:16 <ehird> Installing an ircd on here would be rather trivial
17:18:27 <ehird> % port info ngircd
17:18:27 <ehird> ngircd @0.12.1 (irc)
17:18:29 <ehird> Variants: ident, universal
17:18:39 -!- impomatic has left (?).
17:18:48 <ehird> So, same as (an apt-based) Linux (distro), really.
17:19:37 <ais523> yep
17:19:46 <ais523> so why buy the server version if the desktop version can do that?
17:19:59 <ehird> That's what I'm asking. :P
17:20:15 <ais523> maybe it's against the licence agreement
17:20:33 <ais523> just like you aren't allowed to have more than 4 simultaneous incoming network connections on non-server versions of Windows
17:20:42 <ehird> Now THAT I highly doubt...
17:21:12 <ehird> After all, MacPorts is hosted on Mac OS Forge, which Apple runs (and personally approves all projects on, i.e. it's not something like berlios or whatever)
17:21:13 <ehird> :P
17:21:19 <ehird> but is that true about windows?
17:21:24 <ais523> ehird: I mean, to use it as a server
17:21:25 <ehird> Crazy! I'll have violated that billions of times...
17:21:31 <ais523> as for that thing about Windows, I remember it from somewhere
17:21:31 <ehird> ais523: right, but macports has servers
17:21:40 <ais523> but it may have been false, or I might have misremembered
17:21:42 <ehird> and is on a site with pseudo-official projects
17:22:44 <ais523> Googling, it seems it's a Windows XP SP 2 thing, specifically
17:22:46 <ehird> Someone should get an old eMac and run emacs on it
17:22:51 <ais523> and the websites there seem to disagree about the number
17:22:56 <ais523> 2, 4, and 10 have all been reported
17:23:15 <ais523> oh, and 5
17:24:17 <ais523> grr... why are all the files on microsoft.com .doc files?
17:24:23 <ehird> why do you think?
17:24:29 <ais523> not HTML?
17:24:32 <ais523> I could understand docx
17:24:37 <ais523> but doc seems self-defeating for everyone
17:24:40 <ais523> including Microsoft
17:24:41 <ehird> because they're old
17:24:47 <ehird> and they want to support old words
17:25:10 <ais523> "Note: If SQL Server 2005 Express is running on Windows XP Home, it is limited to five simultaneous connections. If it is running on Windows 2000 or Windows XP Professional, it is limited to 10 simultaneous connections. However, these are limitations of the operating system and not of SQL Server 2005 Express."
17:25:23 <ais523> found on a word document on microsoft.com, that's evidence, at least
17:25:24 <ehird> oh, right
17:25:27 <ehird> you can modify tha
17:25:27 <ehird> t
17:25:31 <ehird> trivially
17:26:16 <ais523> "If you have not heard, Microsoft has announced the name for the next version of Windows, a.k.a. Longhorn. It will be called Windows Vista. The great news is, Windows Vista Beta 1, targeted at developers and IT professionals, is now available to MSDN Subscribers. Please check the new the new Windows Vista Developer Center for more details."
17:26:23 <ais523> wow, didn't expect to randomly see that when searching
17:26:35 <ehird> XD
17:26:44 <ehird> I liked the longhorn name
17:26:52 <ehird> it was vaguely phallic. Like Windows.
17:49:47 -!- BeholdMyGlory has quit (Remote closed the connection).
17:50:50 -!- BeholdMyGlory has joined.
17:58:25 -!- neldoret1 has joined.
17:58:35 -!- neldoreth has quit (Read error: 104 (Connection reset by peer)).
18:01:33 <ehird> "AuroraUX - SunOS-based Operating System Written (Mostly) in Ada"
18:01:38 <ehird> Well, it's certainly esoteric.
18:02:01 <ais523> is it 100% military reliable secure?
18:02:05 <ehird> who knows
18:02:12 <ais523> given that it's written in ADA, it ought to be
18:02:17 <ais523> that was the whole point behind ada
18:02:20 <ehird> ada is not UPPERCASE
18:02:38 <ehird> sorry, pet peeve...
18:02:42 <ehird> the worst is LISP and JAVA
18:02:46 <ais523> what, isn't it?
18:02:51 <ehird> it's Ada
18:02:52 <ais523> I thought it was named after someone
18:02:55 <ais523> but written in uppercase anyway
18:02:57 <ehird> Ada Lovelace
18:03:01 <ais523> I know it isn't an acronym
18:03:04 <ais523> and yes, I know who it's named after
18:03:18 <ehird> http://en.wikipedia.org/wiki/Ada_(programming_language) netcraft^Wwikipedia confirms i
18:03:18 <ehird> t
18:03:36 <ais523> Wikipedia has it at Ada, though
18:03:39 <ais523> you beat me to checking
18:05:38 -!- M0ny has quit (Read error: 110 (Connection timed out)).
18:08:48 <ehird> [[It mostly crashes immediately, mostly due to some unsupported operations in the assembler backend, but for a carefully crafted program, we're able to get massive speedups. For something as complex as:
18:08:49 <ehird> i = 0
18:08:51 <ehird> while i < 10000000:
18:08:53 <ehird> i = i + 1
18:08:55 <ehird> our JIT is about 20x faster than CPython. ]]
18:09:01 <ehird> I wish I could write programs that complex.
18:09:44 <ais523> ehird: I can optimise that into i = 10000000
18:09:51 <ehird> Dayum!
18:09:54 <ehird> You're the best compiler ever.
18:09:56 <ais523> that's probably more than a factor-of-20 speedup
18:09:58 <ehird> Here, compile this program.
18:10:07 <ehird> also, that announcement was tounge-in-cheek
18:10:12 <ehird> *tongue
18:10:18 <ais523> ehird: one of my friends actually said that at university, that they'd rather trust me to convert C into asm than the compiler
18:10:25 <ehird> haha
18:10:28 <ais523> although admittedly it was a really awful compiler
18:10:32 <ais523> I trusted me more than it too
18:10:35 <ehird> which compiler?
18:10:39 <ais523> CCS C
18:10:44 -!- jix_ has joined.
18:10:50 <ais523> which has been mentioned on thedailywtf sidebar at least once, so it isn't me
18:10:54 <ais523> *just me
18:11:11 <ehird> is that the gpl-but-eula one?
18:11:22 <ais523> no, that's MPLAB C30 which is actually quite good
18:11:38 <ehird> you should put that one on the internet with the eula-removing modifications and see what they do :-D
18:11:44 <ais523> it's about as good as gcc is, although a bit less optimised, which is not surprising
18:11:51 <ais523> also, the eula-removing modifications are already online
18:11:52 <ehird> "We will sue you for not complying with our EUL... oh, crap."
18:11:57 <ehird> ais523: i meant, the whole source
18:12:04 <ais523> I just swapped out the EULA for the standard hello world that came with microsoft visual C
18:12:19 <ehird> ha
18:12:30 <ais523> really, communicating with your licence enforcer via exit code is not such a good idea
18:15:18 <ehird> "I hate the people who just post their solution in J. That's almost as intelligible as brainfuck. " -- on project euler
18:15:26 <ehird> how dare they use a concise, expressive language
18:15:29 <ehird> ... like brainfuck
18:15:33 * ehird audience laughs
18:18:14 <AnMaster> hi
18:18:19 <ehird> Hi.
18:18:27 <ais523> hi
18:19:24 <AnMaster> How much scrollback is needed for context?
18:19:35 <ehird> for what?
18:19:35 <ais523> 3
18:19:36 <ehird> eula talk?
18:19:39 <ehird> 30 lines or so
18:19:44 <ehird> for my brainfuck thing, about 7 by now
18:19:53 <ais523> for eula talk, quite a lot more, for ehird's joke just 4 before you said hi
18:20:15 <ais523> ehird: you should look up CCS C some time, anyway, it's sufficiently bad that at one point I was just planning to reimplement it better
18:20:22 <AnMaster> k
18:20:27 <AnMaster> ehird, indeed
18:20:33 <ais523> for instance, if you pass a constant string as an argument to a function
18:20:45 <ais523> it converts it into a loop which calls the function once for each character of the string
18:20:48 <ehird> ...
18:20:50 <ais523> with that character as argument
18:20:54 <ehird> Afugawhatthefuckbitshit.
18:20:59 <ehird> ...
18:21:06 <ehird> J...jwha...ofjgo.
18:21:09 <ehird> fgokpdfkogkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
18:21:11 <ais523> ok, so that's occasionally a useful operation, they really shouldn't have made it the default though
18:21:12 <ehird> ;______; You ruined my brain.
18:21:20 <AnMaster> <ais523> really, communicating with your licence enforcer via exit code is not such a good idea <-- Huh?
18:21:21 <Asztal> how strange.
18:21:23 <ais523> because it so blatantly breaks about half the C standard
18:21:30 <ehird> WHY DID THEY DO THAT
18:21:42 <ais523> because strings are expensive on their target platform
18:21:54 <ehird> AnMaster: why do you say huh at basic, mundane, simple sentences
18:22:03 <ais523> and instead of optimising printf("Hello, world!\n") into the row of putchars it ought to be
18:22:21 <ais523> in CCS C you're supposed to write putchar("Hello, world!\n"), never mind that that makes absolutely no sense
18:22:23 <AnMaster> ehird, because it made no sense
18:22:26 <ehird> ais523: hahaha
18:22:27 <AnMaster> to me
18:22:31 <ehird> AnMaster: what the fuck? of course it did
18:22:34 <ehird> how can that not make sense
18:22:41 <ehird> I don't see any wiggle room for meaninglessness in that sentence
18:22:43 <ais523> (note, hello world as a row of putchars is suboptimal on most platforms but probably the best way on the PIC)
18:22:46 <AnMaster> oh
18:22:50 <ehird> I can't come up with one single interpretation in which that makes no sense...
18:22:53 <AnMaster> licence enforcer is some sort of program?
18:22:54 <AnMaster> right
18:22:57 <ehird> >_<
18:23:01 <AnMaster> was thinking "lawyer"
18:23:05 <AnMaster> -_-
18:23:20 <ehird> http://paste.lisp.org/display/76820 <-- ' CALL-WITH-CURRENT-CONTINUATION FORTH IN
18:23:32 <ehird> [not mine]
18:23:52 -!- jix has quit (Read error: 110 (Connection timed out)).
18:24:31 <ehird> "Conventional wisdom has it that Mosaic was the first graphical web browser. Even though Mosaic - the basis for Netscape - certainly kickstarted the web revolution, it wasn't the first graphical web browser at all - that honour goes to Erwise"
18:24:35 <ehird> what?!
18:24:45 <ehird> WorldWideWeb.app was the first graphical browser, and the first BROWSER...
18:24:56 <AnMaster> ais523, depending on what PIC you target, just using ASM may be saner
18:25:03 <ais523> AnMaster: well, yes
18:25:08 <ais523> I'm talking about the sort of asm you need
18:25:25 <AnMaster> ais523, like I doubt any sort of C would make much sense for PIC12F629 (which I programmed against)
18:25:27 <ais523> but putchar on a PIC requires you to write an interrupt handler by hand, or else use the hardware serial port as a background thread
18:25:47 <ais523> AnMaster: that's what CCS C is, it mostly targets PIC16 but they don't have a much bigger instruction set
18:25:50 <AnMaster> ais523, well. I'm not sure where STDOUT would be on a PIC...
18:26:02 <ais523> AnMaster: it's the UART that's both stdout and stdin
18:26:41 <ais523> well, USART on a PIC, although I don't know of anyone who used them in synchronous mode
18:26:47 <AnMaster> ais523, hm iirc PIC12* doesn't have a special such...
18:26:56 <ais523> some will, some won't, I expect
18:27:40 <AnMaster> ais523, I mean I had serial port connected two ways in programming mode, and but when running I needed that pin for something else. So I used a jumper
18:27:51 <AnMaster> I still read serial though
18:28:20 <ais523> well, yes, you can implement it in software
18:28:31 <ais523> CCS C requires weird pragmas to set up the UART, or else software emulation of it
18:28:53 <AnMaster> ais523, apart from programming mode I had to handle serial interrupt myself completely, PIC12 doesn't have any support built in.
18:28:59 <ais523> ah, ok
18:29:04 <ais523> nearly all PIC16s do, IIRC
18:29:09 <ais523> certainly the ones I've used do
18:29:22 <AnMaster> I don't remember how programming mode worked. I think it was driving some pin(s) to certain values or something like that
18:29:27 <ais523> you still need a MAX232 or something though because the output's at the wrong voltages for conventional communicatoin
18:29:36 <ais523> and programming mode works by putting 12V into the reset pin
18:29:46 <ais523> something you're unlikely to do by mistake as they're only 5V devices normally
18:29:57 <ais523> and smacks very much of DO NOT DO THIS UNLESS YOU REALLY KNOW WHAT YOU'RE DOING
18:30:05 <AnMaster> ais523, well this was so long ago I don't remember details
18:30:44 <AnMaster> but it does sound familiar now that you mention it
18:31:01 <AnMaster> ais523, however are you sure PIC12* are 5V?
18:31:20 <ais523> they vary from about 3.3 to 5, IIRC
18:32:21 <AnMaster> ais523, iirc PIC12F629 was 1.5 V...
18:32:24 <AnMaster> but I may misremember
18:32:32 <ais523> wow, that's low, but not entirely implausible
18:32:39 <ais523> I wonder if it still had a 12V program mode?
18:32:45 <ais523> something needs to generate program voltage, after all
18:32:56 <ehird> hey ais523!
18:33:02 <ais523> hi
18:33:04 <ehird> perl -lpe 's;.;y$IVCXL91-I0$XLMCDXVIII$dfor$I.=4x$&%1859^7;eg;$_=$I'
18:33:15 <ais523> ehird: let me work out what that does without running it
18:33:15 <AnMaster> ais523, well I may misremember, and it may have 9 V or such then for programming?
18:33:15 <ehird> give it decimal numbers.
18:33:20 <ehird> kay
18:33:21 <AnMaster> would that be plausible?
18:33:28 <ehird> ais523: just to warn you, it's computer generated
18:33:54 <ehird> (a perl program wrote a c program that, when run, gave output which when given to a perl program outputted a perl program)
18:33:59 <ehird> so congrats if you can understand it
18:34:04 <ais523> AnMaster: not really, you need voltages around 12V to reflash a chip no matter what it normally runs as
18:34:05 <ehird> although I think it's obvious looknig at it
18:34:06 <AnMaster> ehird, which coding contest was it from?
18:34:09 <ehird> AnMaster: perl golf
18:34:12 <AnMaster> ais523, hm ok.
18:34:39 <ais523> ok, it starts by looping over all characters in the input string
18:34:57 <AnMaster> ehird, I see. So what program was used to generate it. Because compiler generated asm from icc -fast is more readable.
18:35:13 <ais523> AnMaster: asm is meant to be readable, you should be comparing that to machine code
18:35:14 <ehird> ha ha perl is unreadable because I don't know it ohhh such a bastion of comedy.
18:35:23 <ehird> that got old in 1990, AnMaster.
18:35:57 <AnMaster> ehird, well I can read some perl. I'm not totally perl illiterate. I just don't know all the details. I know enough to read clean perl programs.
18:37:02 <ais523> that Perl is deliberately rather compressed, by the look of it
18:37:08 <ais523> also using $ as a delimiter to y is evil
18:37:19 <ehird> "deliberately"? i said, it's computer generated
18:37:22 <ehird> 17:33 ehird: (a perl program wrote a c program that, when run, gave output which when given to a perl program outputted a perl program)
18:37:27 <ais523> they were deliberately going for obfuscation there, I think
18:37:28 <ehird> so of course it's generated to be as short as possible
18:37:29 <ehird> :P
18:37:31 <ehird> ais523: it's perl golf
18:37:34 <ehird> of course it's obfuscated ...
18:37:36 <ais523> ehird: I know
18:37:40 <ehird> kay
18:37:44 <ais523> but it would be just as short using , or something, and more readable
18:37:48 <ais523> or " fwiw
18:38:04 <ais523> presumably the computer just picked a random punctuation mark that worked
18:38:21 <AnMaster> ehird, so was the C program as obfuscated?
18:38:27 <ehird> no, none of the generators were
18:38:29 <ehird> only the final result
18:38:31 <ais523> anyway, the algorithm's weird
18:38:56 <AnMaster> ok. when ais523 figured it out or gave up, could you please provide a link?
18:39:13 <ais523> it takes characters from the input string, then multiplies by 1111, modulos by 1859, and bitwise-xors by 7
18:39:18 <ehird> you can have it now, thanks to the power of /msg
18:39:20 <ais523> AnMaster: I can already guess what it does
18:39:26 <ais523> just from the characters used
18:39:28 <ehird> yeah it's obvious from the code
18:39:29 <Deewiant> AnMaster: http://www.reddit.com/r/programming/comments/83rkc/very_clever_perlgolfed_arabictoromannumerals/
18:39:31 <ais523> but it's nice to know for certain
18:39:38 <ehird> Deewiant: thanks, asshole
18:39:39 <AnMaster> ah
18:39:44 <Deewiant> ehird: ??
18:39:47 <ehird> ais523 specifically said he wanted to work it out himself
18:39:53 <Deewiant> so don't click on the link
18:40:02 <ehird> that would work if the answer wasn't IN THE LINK
18:40:03 <AnMaster> of course, since it was ehird I should have known it was on reddit...
18:40:04 <AnMaster> ;P
18:40:07 <ais523> ehird: I guessed what it did, I'm just trying to work out why
18:40:13 <ais523> [17:33] <ehird> perl -lpe 's;.;y$IVCXL91-I0$XLMCDXVIII$dfor$I.=4x$&%1859^7;eg;$_=$I'
18:40:16 <Deewiant> ehird: you already told him it's obvious from the code
18:40:22 <ais523> on the other hand, it's easier to work out what it does when I don't have to scrollback
18:40:23 <ehird> Deewiant: that doesn't mean anything in particular
18:40:26 <Deewiant> and I assume we're all smart enough to realize what's obvious
18:40:41 <Deewiant> I admit I didn't notice it was in the link, though
18:41:36 <ais523> oh, wait
18:41:45 <ais523> it's not $&x4, it's 4x$&
18:41:51 <ais523> that makes a big difference
18:42:58 <ais523> anyway, it seems to arithmetically encode a lookup table of single digits to roman numerals
18:43:02 <ais523> and has code for multiplying roman numerals by 10
18:43:10 -!- Sgeo has joined.
18:43:16 <ais523> it alternates them in a loop, that's the basic algorithm
18:43:35 * ais523 reads the reddit discussion
18:43:45 <ehird> read the linked article
18:43:46 <ehird> not the discussion
18:43:50 <ehird> (which is worthless)
18:43:57 <ais523> it is worthless atm, I agree
18:44:05 <ais523> so I'll read the article next, reading the discussion was easy
18:44:13 <Sgeo> What article?
18:44:24 <ehird> Sgeo: don't tell me you don't have scrollback
18:44:33 <Deewiant> ehird: he just joined
18:44:39 <ehird> oh.
18:44:42 <ehird> http://www.reddit.com/r/programming/comments/83rkc/very_clever_perlgolfed_arabictoromannumerals/
18:44:58 <Sgeo> ah ty
18:46:24 <ais523> ehird: it seems it was hand-obfuscated at the end while maintaining constant length
18:46:31 <ehird> yeah
18:46:32 <ais523> which is what explains the crazy choice of $ as a delimiter
18:46:52 -!- M0ny has joined.
18:47:15 <ais523> and I pretty much understood how it worked, although I couldn't do the arithmetic lookup table in my head
18:47:20 <ais523> hi M0ny, by the way
18:47:43 <M0ny> hey
18:48:08 <AnMaster> hm
18:48:16 <ehird> wait what
18:48:18 <ehird> that program converts
18:48:24 <ehird> 123456789000 to MMMMMMMMMMMMMMM
18:48:27 <ehird> oh, overflow?
18:48:58 <ais523> it doesn't modify capital M when multiplying by 10
18:49:03 <AnMaster> I also read that posting. Isn't this quite close to a perfect hash function that is as short as possible?
18:49:10 <AnMaster> or have I misunderstood it
18:49:17 <ehird> ... um. sort of.
18:49:28 <ehird> wait, it can't be overflow
18:49:33 <ehird> adding more digits gives more
18:49:42 <ehird> oh because they're seperate ones
18:49:42 <ais523> it is overflow
18:49:43 <ehird> duh
18:49:44 <ehird> (lines)
18:49:47 <ais523> but it saturates at overflow
18:49:58 * ais523 tries to work out why the -l on the command line
18:50:21 <ehird> ais523: adds a newline, I think
18:50:28 <ehird> [ehird:~] % perl -pe 's;.;y$IVCXL91-I0$XLMCDXVIII$dfor$I.=4x$&%1859^7;eg;$_=$I'2
18:50:28 <ehird> II3
18:50:30 <ehird> XXIII3
18:50:32 <ehird> CCXXXIII
18:50:47 <ais523> not just that
18:50:57 <ais523> it turns on autochomping, and adds a newline at end of line to compensate
18:51:03 <ehird> heh
18:51:14 <AnMaster> wait a sec the posting is from 2004? And the reddit post from 7 hours ago?
18:51:22 <ehird> so?
18:51:23 <ais523> so that way the program doesn't have to worry about compensating for an attempt to translate a newline into roman numerals
18:51:27 <ehird> why does it matter how old it is, AnMaster?
18:51:32 <AnMaster> ehird, so you can post any old link on reddit?
18:51:40 <AnMaster> as long as it is on the right topic of course
18:51:41 <ehird> ... why the heck not?
18:51:45 <ehird> are only new things worthwhile...?
18:52:08 <AnMaster> ehird, no, but only tracking new stuff making duplication avoiding easier
18:52:12 <AnMaster> at least
18:52:15 <ehird> (the only place newness is emphasised on reddit is the mainpage title (reddit.com: what's new online!), which most people don't see and was probably just a last-minute thing)
18:52:18 <AnMaster> easier to find dups
18:52:21 <ehird> AnMaster: that's ridiculous, duplciation is good
18:52:27 <ehird> not everybody sees things first time
18:52:49 <AnMaster> ehird, why is it? Wouldn't keeping everything about something in one place be good? If there is some useful comment the first time it was posted
18:52:50 <AnMaster> or such
18:53:01 <ehird> reddit is about the links
18:53:03 <ehird> the comments are a nice bonus
18:54:04 <ais523> well, knowing me, I often try to infer the content of the links from the comments rather than clicking on them
18:54:10 <ais523> I only follow the links if the comments imply they're interesting to me
18:54:30 <AnMaster> ais523, so you hate url shortening?
18:54:49 <ais523> AnMaster: how does that follow from what I said?
18:55:00 <ehird> wtf AnMaster
18:55:04 <ais523> actually, I like it, but only in appropriate contexts
18:55:19 <AnMaster> ais523, because you can't see from the link itself what it means?
18:55:21 <ehird> ...
18:55:25 <ehird> from the COMMENTS
18:55:28 <ais523> AnMaster: you can't do that anyway, it's just an URL
18:55:29 <ehird> not the link text
18:55:32 <ehird> he never even said that
18:55:35 <ehird> w t f are you on about...
18:55:36 <AnMaster> which is one form of comment, an in-band comment
18:55:38 <AnMaster> ;P
18:55:50 <ehird> v_v
18:55:52 * ehird sigh
18:55:54 <ais523> how do I know that http://rickroll.com isn't a goatse?
18:56:01 <AnMaster> also I never said I was trying to make sense...
18:56:04 <ehird> it's parked, actually
18:56:08 <ehird> For resources and information on Rick and Origin of Rock N Roll
18:56:18 <ais523> ehird: I was guessing parked, actually
18:56:30 <ais523> second guess was an actual rickroll, or else a guide about them
18:57:40 <AnMaster> btw... why did kerlo remove the unicode from topic? In logs I only see "<kerlo> Who's been using Unicode in here?", "<bsmntbombdood> unicode is evil" and kerlo changing the topic + a few unrelated lines
18:57:56 <ehird> who cares?
18:58:00 <bsmntbombdood> hey ehird
18:58:03 <bsmntbombdood> how old is your mom
18:58:12 <ehird> -3. integer overflow problem.
18:58:16 <ehird> very tragic.
18:58:49 <ehird> speaking of URL shorteners, http://snipr.com/dltn2
18:58:58 <ais523> what's that a link to?
18:59:05 <ehird> a website
18:59:11 <ehird> not a rickroll. nor goatse.
18:59:13 <ais523> ok, that's getting somewhere
18:59:22 <ais523> it could have been an individual web /page/, for instance
18:59:27 <ehird> oh, it is
18:59:36 <Sgeo> It's a link to a rickroll-link-maker
18:59:36 <ehird> actually, now it's a rick roll.
18:59:38 <ais523> ok, so your first useful clue was actually wrong
18:59:46 <ehird> it was a link to http://rickroll.tv/
18:59:46 <ais523> Sgeo: ah
18:59:49 <ehird> now it's a link to http://rickroll.tv/classic
18:59:52 <ehird> because it had two clicks
18:59:57 <ais523> snipr allows retargetable URLs?
19:00:00 <ehird> ais523: no
19:00:02 <ehird> it just redirects to
19:00:06 <ehird> http://rickroll.tv/
19:00:07 <ais523> oh, ok
19:00:09 <ehird> and that inspects the referer
19:00:14 <ehird> and counts up
19:00:14 <ehird> I think
19:00:15 <ais523> rickroll.tv works once from each referer?
19:00:19 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/?C=N;O=D | sʞɔoɹ ǝpoɔıun.
19:00:19 <ais523> that's sort of clever
19:00:23 <ehird> configurable
19:00:27 <ehird> (on ricktoll.tv)
19:00:28 <ehird> err
19:00:31 <ehird> rickroll.tb
19:00:32 <ehird> ...
19:00:35 <ehird> fuck it
19:00:56 <ais523> Welcome to RickRoll TV! On this channel, we (cuts to scene of Rick Astley)
19:01:04 <ehird> heh
19:01:17 <ais523> in order to successfully rickroll, it has to make you think the rickroll isn't coming /yet/
19:01:32 <ais523> because from the name, you know it's coming
19:04:51 <AnMaster> What is so bad with rickroll? I mean I don't like the music especially, but it isn't *that* bad.
19:05:02 <ehird> it's not meant to be particularly bad
19:05:04 <ais523> AnMaster: because it gets in the way of useful links?
19:05:05 <ehird> just cheesy
19:05:07 <ais523> it isn't all that bad, agreed
19:05:20 <ais523> randomly redirecting people to about:blank would be about as annoying, if it had become a meme
19:05:20 <asiekierk> Actually, I like rickrolls
19:05:27 <ehird> asiekierk: I could have guessed.
19:05:30 <AnMaster> ais523, be careful in what you say...
19:05:32 <ais523> so not amazingly dangerous or annoying, but still annoying
19:05:32 <asiekierk> You could
19:05:37 <asiekierk> but you didn't
19:05:58 <ais523> AnMaster: http://tinyurl.com/18r
19:06:15 * AnMaster goes to http://preview.tinyurl.com/18r
19:06:25 <AnMaster> ais523, indeed
19:06:27 <ehird> how boring.
19:06:33 <ehird> also, you can turn on preview by defaul.
19:06:33 <ehird> t
19:06:38 <ais523> ok, this is officially the new rickroll: trick people into looking at the tinyurl preview page for about:blank
19:06:43 <AnMaster> ais523, hah
19:06:47 <ehird> tinyurl.com:
19:06:50 <AnMaster> that is so twisted...
19:06:51 <ehird> [[Hide your affiliate URLs
19:06:51 <ehird> Are you posting something that you don't want people to know what the URL is because it might give away that it's an affiliate link? Then you can enter a URL into TinyURL, and your affiliate link will be hidden from the visitor, only the tinyurl.com address and the ending address will be visible to your visitors.
19:06:56 <ehird> ]]
19:07:02 <ehird> how is etthics formed
19:07:09 <ais523> ehird: with one 't'
19:07:13 <AnMaster> ehird, but doesn't preview work still?
19:07:15 <ehird> how affiliate get clicked
19:07:19 <ehird> ais523: meme fail >:(
19:07:26 <ais523> I don't know of that meme
19:07:30 <Deewiant> ais523: how is babby formed
19:07:33 <ehird> yahoo answers
19:07:35 <Deewiant> You can probably google it
19:07:39 <Deewiant> And get meaningful results
19:07:40 <ehird> http://encyclopediadramatica.com/Image:Babby.jpg
19:07:44 <ehird> http://images.encyclopediadramatica.com/images/2/29/Babby.jpg (to avoid ads)
19:07:49 <ehird> misses the answer, though.
19:07:52 <AnMaster> ae has ads?
19:07:53 <Deewiant> There are ads?
19:07:59 <ehird> on ED? yes.
19:08:07 <AnMaster> strange
19:08:15 <AnMaster> Deewiant, you never noticed it either?
19:08:15 <ehird> oh well, here's the answer:
19:08:16 <ehird> They need to do way instain mother> who kill thier babbys. becuse these babby cant frigth back? it was on the news this mroing a mother in ar who had kill her three kids. they are taking the three babby back to new york too lady to rest my pary are with the father who lost his children ; i am truley sorry for your lots
19:08:23 <tombom> the flash movie is betetr
19:08:30 <ehird> tombom: ais523 refuses to use flash
19:08:30 <ehird> soo.
19:08:34 <AnMaster> so do I
19:08:35 <tombom> oh ha
19:08:40 <AnMaster> no flash here either
19:08:45 <ais523> so, I also refuse to visit encyclopediadramatica
19:08:50 <AnMaster> ais523, same here
19:08:51 <ais523> so it comes to much the same thing either way
19:08:52 <AnMaster> :)
19:09:01 <ehird> except I directly linked to a jpg
19:09:05 <ehird> of yahoo answers.
19:09:12 <ehird> what on earth is the point in refusing to click that?
19:09:36 <Deewiant> ED's admin(s) don't take kindly to hotlinking, but I guess a few clicks from IRC are safe
19:09:47 <ehird> you can't tell IRC from no-referrer-firewall
19:10:07 <Deewiant> Sure you can, just not accurately
19:10:15 <ehird> how?
19:10:21 <Deewiant> Record IPs
19:10:34 <AnMaster> what about them? what would you do with it
19:10:35 <ais523> Deewiant: what to ED's admins do in response to hotlinks
19:10:41 <ehird> ais523: you don't want to know.
19:10:41 <ais523> *do ... ?
19:10:53 <ehird> it involves replacing the image, and the page titled "Offensive"
19:10:56 <Deewiant> If IP went to image without going to the page of the image first, it came from somewhere else
19:11:10 <ehird> err, not offensive
19:11:12 <Deewiant> ais523: replace it with goatse/tubgirl/etc panoramas and such
19:11:14 <ehird> "Offended"
19:11:18 <ais523> Deewiant: I guessed
19:11:24 <ehird> Deewiant: way worse than that, IME :P
19:11:34 <ais523> ehird: you've experienced that?
19:11:34 <Deewiant> ehird: 'and such'
19:11:39 <ehird> I like how [[Offended]] starts with cute rabbit pictures
19:11:45 <ehird> ais523: once
19:11:57 <AnMaster> Deewiant, um after you confirm that it came from elsewhere. Then what?
19:12:04 * Sgeo doesn't like how he apparently once got malware from ED
19:12:13 <ehird> i find that very unlikely, Sgeo
19:12:18 <Deewiant> AnMaster: well if you get too many of those in a short while you replace the image
19:12:23 <AnMaster> Deewiant, you couldn't know if it was IRC or email or IM or whatever
19:12:32 <Deewiant> AnMaster: yes, and it doesn't matter
19:12:41 <Deewiant> Hotlinking is bad, period.
19:12:54 <AnMaster> Deewiant, what about users using anonymous proxies? or such
19:12:59 <ais523> surely they should just do the reverse solution to avoid hotlinks?
19:13:09 <ais523> as in, allow people to see the image only if the referrer is correct
19:13:09 <AnMaster> ais523, err?
19:13:11 <ais523> rather than if it's wrong
19:13:20 <ehird> that breaks no-referer-firewalls
19:13:25 <ehird> of which there are a lot
19:13:29 <ais523> so, do they actually care about those?
19:13:42 <AnMaster> ais523, it can break in other cases too
19:13:47 <ehird> ED isn't in the business of being actively hostile to its users
19:13:53 <AnMaster> like if you use history in the browser
19:13:54 <ais523> just other people's users
19:13:56 <AnMaster> or whatever
19:14:01 <ehird> It's in the business of being passively hostile to its subjects, and actively hostile to anyone else
19:14:09 <ais523> ehird: sounds about right
19:16:27 <AnMaster> a question
19:16:45 <ais523> an answer?
19:16:48 <AnMaster> to those on linux: any of you have a man page for gai.conf (section 5)
19:17:00 <ais523> yes, I do
19:17:03 <ehird> http://linux.die.net/man/5/gai.conf
19:17:06 <AnMaster> ais523, from what package
19:17:15 <ehird> Ulrich Drepper wrote it.
19:17:18 <AnMaster> ehird, yes I know. I just can't find the man page on any of the systems I have
19:17:22 <ehird> hmm
19:17:24 <ehird> glibc it seems
19:17:54 <AnMaster> well yes I know what it is. Was just wondering why there was no man page *installed* for it. Since the config file does exist on several (but not all) of those systems
19:17:55 * ais523 runs the dpkg-query
19:18:10 <ais523> it's taking a while, I have lots of packages installed
19:18:14 <AnMaster> mhm
19:18:47 <ehird> hey, LimeChat has a pastebin built in
19:19:00 <ais523> how does it work, via a dedicated website?
19:19:02 <ehird> http://pasternak.superalloy.nl/pastes/1565
19:19:11 <ais523> I would love it so much if it just created a webserver on your system for that paste
19:19:12 <ehird> ais523: it just uses some random pastebin
19:19:17 <ais523> but that's broken by NAT, probably
19:19:23 <ais523> stupid NAT, all sorts of things are broken by it
19:19:27 <AnMaster> ais523, I didn't know dpkg-query could do it, now that you said debian has it I sshed to a debian system and indeed it exists there
19:19:29 <ehird> seems to be written by a ruby person, since limechat is a ruby thang that makes sense
19:19:37 <ais523> AnMaster: libc6: /usr/share/man/man5/gai.conf.5.gz
19:19:48 <ais523> so it's in libc6 on debian
19:19:50 <AnMaster> ais523, it would probably be faster if I ran it there, If I knew how to make dpkg-query do it
19:19:53 <AnMaster> mhm
19:19:56 <ais523> which agrees with what ehird thinks
19:20:02 <AnMaster> well it would make sense
19:20:03 <ais523> AnMaster: dpkg-query -S filename
19:20:03 <ehird> google thinks
19:20:11 <ais523> only works if the file is currently installed via a package manager
19:20:16 <ais523> as in, it only searches packages you have
19:20:35 <ais523> ehird: it was your choice to trust google on that
19:20:36 <AnMaster> ais523, yeah, took about half a second. Though admittedly not as much is installed
19:22:23 <AnMaster> now to figure out how to write a gai.conf so it *prefers* IPv6 over IPv4. Getting IPv4 results back is pretty useless on an IPv6 only host...
19:22:35 <ehird> ipv6 only?
19:22:40 <AnMaster> yes
19:22:46 <AnMaster> a vps, with only ipv6
19:22:46 <ehird> also known as "paperweight"
19:22:47 <AnMaster> no ipv4
19:22:55 <AnMaster> ehird, it's the future. Lets start early ;)
19:23:06 <AnMaster> sure not very useful yet.
19:23:16 <ehird> considering ipv6 adoption levels, it very well might not be the future
19:23:17 * ais523 is looking forward to actually supported everywhere ipv6 due to hating NAT
19:24:04 <AnMaster> ais523, personally I hope NAT will be possible under ipv6, knowning my ISP they are the type who would only give you one ip and require paying a lot extra per extra IP...
19:24:20 <ehird> nat under ipv6? fail...
19:24:28 <ehird> also, I don't even have a static IP....
19:24:30 <ehird> it's not a problem
19:24:32 <AnMaster> nor do I
19:24:36 <ais523> AnMaster: no sane ISP would do that
19:24:48 <ehird> there are no sane ISPs
19:24:50 <ehird> especially in the UK
19:24:56 <ais523> and I don't care about a dynamic IP nearly as much as I care that people can actually make incoming connections on arbitrary ports if I tell them my IP
19:25:01 <AnMaster> ehird, what about xs4all?
19:25:09 <ehird> ok, list of sane ISPs: xs4all.
19:25:14 <AnMaster> right
19:25:20 <ehird> probably the best ISP in the UK, from what I grok, is Be
19:25:24 <ehird> but Be aren't available here
19:25:26 <ehird> >:(
19:25:49 <AnMaster> ais523, iirc the TOS says something about only using one computer at the time, yet they ship adsl modem/router to customers, and it's pre-configured for NAT...
19:26:01 <AnMaster> no way that ends up as "sane"
19:26:05 <ais523> AnMaster: which ISP is that?
19:26:10 <AnMaster> ais523, Tele2
19:26:19 <ais523> I know Virgin Media actually require you to use Windows
19:26:19 <ehird> tele2 my face
19:26:22 <ehird> ais523: WHAT
19:26:26 <ais523> in the contract
19:26:26 <AnMaster> ehird, what?
19:26:30 <ais523> ehird: seriously
19:26:35 <ehird> AnMaster: tele2 pronounces sort of like tell-it-to
19:26:39 <ehird> ais523: SHDKJASHDJKAShdJKASDHKSDAD WHAT
19:26:43 <ais523> I think it's so they aren't sued when their windows-only setup program doesn't work
19:26:47 <AnMaster> ehird, not in Swedish...,
19:26:55 <ais523> however, the contract doesn't prevent you using a different OS as well
19:26:58 <ehird> but swedes are dirty, so to hell with them
19:27:02 <ehird> ais523: haha
19:27:11 <AnMaster> ehird, the company is Scandinavian to begin with.
19:27:19 <ehird> harumph
19:27:29 <AnMaster> even Swedish
19:27:31 <AnMaster> says wikipedia
19:27:39 <AnMaster> wasn't sure if it was Norwegian or Swedish
19:27:47 <AnMaster> http://en.wikipedia.org/wiki/Tele2
19:28:31 <ehird> http://images.appshopper.com/screenshots/304/682626.jpg (John Gruber's user interface of the week)
19:28:54 <Sgeo> Is that good or bad?
19:29:02 <ehird> What do you think?
19:29:02 <AnMaster> John Gruber?
19:29:07 * AnMaster googles
19:29:08 <ehird> AnMaster: of http://daringfireball.net/
19:29:20 <ehird> he... made Markdown. and writes that blog. for a living. it's about macs.
19:29:26 <AnMaster> ehird, however google won't answer "is this person stupid or cool"
19:29:32 <AnMaster> hm
19:29:35 <Sgeo> I'd find it usable, if that's all the space available
19:29:36 <ehird> stupid and cool are opposites?
19:29:41 <AnMaster> ehird, well not exactly
19:29:51 <AnMaster> but I didn't find the precise perfect words
19:30:07 <ehird> "acool" is the cool word.*
19:30:08 <ehird> *lies
19:30:09 <AnMaster> ehird, however that GUI looks a bit cluttered to me
19:30:16 <ehird> ... it's a sarcastic award.
19:32:19 <AnMaster> ehird, those on/off slider thingies doesn't make much sense to me..., first it seems more logical that marker is on item that is active (reverse here), second: what is wrong with check boxes? they are established and while there may be better ways to do it, checkboxes aren't that bad IMO
19:32:29 <ehird> IT'S A SARCASTIC AWARD
19:32:35 <ehird> IT'S AWARDED TO CRAP DESIGNS ;__;
19:32:36 <AnMaster> oh right
19:32:37 <AnMaster> missed that
19:32:48 <ehird> also
19:32:51 <ehird> this is a touch-screen
19:32:55 <ehird> the ON/OFF is the standard iphone checkbox
19:33:00 <AnMaster> I see
19:33:01 <ehird> since it's a lot easier to slide than a checkbox
19:33:28 <AnMaster> well, what about large check boxes?, Is tapping the screen hard?
19:33:56 <ehird> empirically, I find it a lot easier to tap wider-than-high things on a touchscreen
19:34:08 <AnMaster> hm ok
19:34:11 <ehird> to get the same tappability with a checkbox, it'd be a lot taller
19:34:17 <ehird> and thus use more of the limited screen
19:34:38 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
19:35:08 <AnMaster> ehird, this sarcastic award, where is more info about it?
19:35:25 <AnMaster> I can't find it on his website.
19:35:28 <ehird> Any post on df.net starting with "User Interface of the Week:".
19:35:29 <ehird> :p
19:35:35 <AnMaster> ah right
19:35:58 <AnMaster> users shouldn't need to scroll down, thats an usability problem~
19:36:09 <ehird> yeah I get coughs and sneezes whenever I scroll
19:36:10 <ehird> awful stuff
19:36:19 <AnMaster> in fact, users should only need to look at the screen, anything more is a usability problem~
19:36:21 <ehird> i need to have four 30" screens in a rectangle
19:36:28 <ehird> to avoid scrolling as much as possible
19:36:32 <ehird> also, I use 7px type, max
19:36:37 <ehird> :D
19:36:43 <asiekierk> AnMaster: Ok. Just make a NBTV set
19:36:50 <AnMaster> however this raises the privacy issue. since solving the usability issue would require mind reading..
19:36:56 <asiekierk> Not really
19:37:05 <AnMaster> NBTV?
19:37:07 <asiekierk> It could use eye movements
19:37:09 <asiekierk> google it
19:37:12 <asiekierk> Narrow Band Television
19:37:17 <asiekierk> or mechanical TV
19:37:18 <ehird> i already googled it, there's nothing relevant
19:37:30 <ehird> not even a WP article
19:37:45 <AnMaster> asiekierk, eye movements to navigate would still require more than minimal user effort
19:41:05 <ehird> Cleaning a computer for the lazy: Run program that hogs all of the CPU. Watch fans go to 100% speed. Relax. :P
19:41:14 <ehird> *note: I am not responsible for any damage caused :|
19:43:02 <pikhq> *note: does nothing, unless your fans are really bad or really good.
19:43:14 <ehird> *note: I disclaim my walking to the ground.
19:43:36 <pikhq> Also, 'narrow-band television' is basically ye old mechanical television.
19:44:21 <pikhq> Doesn't take much more than a light bulb, a motor, a disk with holes in it, and a sound card.
19:45:09 -!- M0ny has quit ("Quit").
19:46:49 <asiekierk> I wonder if there's any use for NBTV
19:50:32 <ehird> hmm... wonder how long backing up a newly-installed system via ethernet would take
19:51:47 <ehird> hmm... tc seems to manage about 1:38 per gb
19:56:03 -!- BeholdMyGlory has quit (Remote closed the connection).
19:56:28 -!- BeholdMyGlory has joined.
19:57:15 -!- ais523 has joined.
19:58:08 <ais523> wb me
20:00:07 -!- Jophish has joined.
20:01:51 -!- tombom has quit ("Peace and Protection 4.22.2").
20:02:02 <comex> anyone know why 'noremap <C-0>' doesn't work as expected?
20:02:11 <ais523> in what editor, vi?
20:02:29 <comex> yes
20:02:30 <comex> vim
20:02:32 <ais523> at this point, I won't answer because I don't know, and ehird will start extolling the virtues of TECO
20:02:40 <comex> I can map 0, or C-a, but not C-0
20:09:00 <Slereah> http://fuckyoupenguin.blogspot.com/2009/03/tibetan-fox-thinks-hes-better-than-you.html
20:12:07 <ehird> wow
20:12:09 <ehird> os x supports klingon
20:12:12 <ehird> take that, linux
20:12:56 <ais523> it almost certainly supports klingon too
20:13:04 <ehird> yeah but does gnome/kde?
20:13:08 <ehird> out of the box?
20:13:10 <ehird> while you install?
20:13:18 <ehird> ay? ay?
20:13:26 * ais523 checks
20:14:05 <ais523> well, it isn't installed by default AFAICT
20:14:13 <ais523> presumably they wanted to save space on the CD for more useful things
20:14:29 <ehird> in OS X, you never see any english text apart from "Mac OS X" and the menus in the installation language selection screen.
20:14:38 <ehird> it is clearly far superior. the choice for discerning trekkies.
20:14:46 <ehird> well.
20:14:50 <ehird> I'm not sure it's an installer option.
20:14:54 <ehird> you might have to do it post-install.
20:15:00 <ais523> well, Ubuntu was specifically designed to install in pretty much any language you wanted
20:15:11 <ehird> Lojban OS X would be fun
20:15:13 <ais523> although klingon doesn't seem ot be in that list
20:15:44 <ais523> anyway, I'd only need to install language-pack-gnome-tlh, language-pack-kde-tlh, and language-pack-tlh
20:15:53 <ais523> and the system would fully support klingon
20:16:19 <ehird> that's retarded, who the hell wants klingon
20:16:23 <ehird> </hypocrite>
20:17:02 <ais523> strangely it appears to be an Ubuntu package, not a Debian one
20:17:17 <ehird> http://www.blogcdn.com/www.engadget.com/media/2009/02/2009-02-25sl-4.jpg <- wow, snow leopard strips down the number of processors a lot
20:17:27 <ehird> almost all 64-bit, too
20:17:34 <ehird> err
20:17:36 <ehird> processes
20:17:48 <ehird> aalthough the cpu usage diagram doesn't match the list
20:17:50 <ehird> fishy
20:18:30 <fizzie> Maybe it is designed to only show non-scary processes.
20:18:35 <ehird> :D
20:18:51 <ehird> "Process 1 (callhome) omitted FOR YOUR SAFETY."
20:18:59 <ais523> ehird: processors, or processes?
20:19:12 <ehird> 19:17 ehird: err
20:19:12 <ehird> 19:17 ehird: processes
20:19:17 <ais523> also, that's filtered, obviously
20:19:20 <ais523> there's no init in that list
20:19:26 <ehird> there's no init in my list, either
20:19:35 <ais523> nor any other process with UID 1?
20:19:39 <AnMaster> bbl
20:19:42 <ehird> PID TTY TIME CMD
20:19:42 <ehird> 1 ?? 0:02.29 /sbin/launchd
20:19:43 <ais523> * PID 1
20:19:45 <ehird> OS X doesn't use init.
20:19:48 <ais523> ah, ok
20:19:54 <ehird> (launchd = init + cron + daemontools)
20:20:01 <ais523> I generally refer to any PID 1 process as init
20:20:07 <ehird> oh, and rc
20:20:10 <ehird> and inted
20:20:37 <ais523> init + cron is an interesting combination to have in the same file
20:20:41 <ais523> but I suppose it makes sense
20:20:51 <ais523> does it also contain an atd?
20:21:10 <ehird> ((atd?))
20:21:17 <ais523> ehird: daemon for at
20:21:25 <ehird> ((at?))
20:21:31 <ais523> ehird: like cron, but only runs once
20:21:35 <ehird> NAME
20:21:35 <ehird> at, batch, atq, atrm -- queue, examine, or delete jobs for later execu-
20:21:37 <ehird> tion
20:21:39 <ehird> cute
20:21:42 <ehird> I think that's one of the options in a launchd thingy
20:21:45 <ehird> to only run once
20:21:48 <ais523> yep
20:21:58 <ais523> actually, I'm mildly surprised at and cron are different programs
20:22:13 <ehird> do half a thing and do it acceptably!
20:22:13 <ais523> atd's stuck in my mind because it's been broken on ubuntu-proposed for months
20:22:33 <ais523> despite me telling them exactly where the bug was (although not where to fix it)
20:22:41 <ais523> *how to fix it
20:22:51 <ais523> finding the bug's normally the hard part, though, rather than fixing it
20:23:48 <fizzie> I was going to complain that there seem to be no timing-related things in launchctl man page, but it seems that there are StartCalendarInterval-like properties that can be specified with a .plist file for a job.
20:24:14 <ehird> fizzie: try man launchd
20:24:19 <ehird> hmm, wait
20:24:21 <ehird> launchd.plist
20:24:31 <fizzie> Yes, that's where I got it from.
20:24:36 <ehird> ah
20:25:23 <ais523> invoke-rc.d: initscript atd, action "start" failed.
20:25:25 <ais523> dpkg: error processing at (--configure):
20:25:26 <ais523> subprocess post-installation script returned error exit status 1
20:25:32 <ais523> happens on every single change to my package configuration
20:25:41 * ais523 thinks that Ubuntu is not very responsive to bug reports
20:25:59 <ehird> Apple are responsive to bug reports, but you don't know because you can't access their bug tracker
20:26:02 <ehird> only submit to it
20:26:06 <ehird> it's not even "write-only"
20:26:12 <ehird> it's "creat-only"
20:26:23 <ais523> weird
20:28:11 <ais523> https://bugs.launchpad.net/ubuntu/+source/at/+bug/158178
20:29:19 <ais523> I'm actually slightly surprised a bug that manifests on every single change to the package manager hasn't annoyed more people by now
20:29:28 <ais523> maybe at isn't a standard package
20:29:43 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
20:32:28 <fizzie> Traditional init is also rather funny; telinit (the control tool) and actual init are a single binary, and unlike other people (who use something like argv[0] to decide how to act) init does "isinit = (getpid() == 1); ... if (!isinit) exit(telinit(p, argc, argv));"
20:32:41 <ais523> heh
20:45:42 <AnMaster> wth
20:45:49 <ais523> why the wth?
20:45:54 <AnMaster> kde asked me what I wanted to do with a music cd I inserted
20:45:56 <AnMaster> I don't use hal afaik
20:46:01 <AnMaster> why did that happen...
20:46:04 <ais523> do you use hotplug?
20:46:14 <ais523> or that kde devices systray thing?
20:46:20 <AnMaster> ais523, no and no
20:46:30 <AnMaster> well I do use udev, but for cd it shouldn't affect it
20:46:41 <AnMaster> + I have root only no-auto mount in fstab for cd
20:47:00 <ais523> ok
20:47:07 <ais523> are you sure this was on your computer?
20:47:15 <ais523> I get confused sometimes when sshing around a lkot
20:47:16 <ais523> *lot
20:47:19 <pikhq> AnMaster, I strongly suspect you've got HAL on there.
20:47:30 <AnMaster> also this haven't happened before, I played a cd yesterday with no issues
20:47:39 <pikhq> Huh. *Weird*.
20:47:44 <ais523> AnMaster: does /usr/lib/hal exist for you?
20:47:54 <AnMaster> no
20:48:02 <AnMaster> nor /usr/lib64/hal
20:48:08 <ais523> /usr/sbin/hald?
20:48:16 <AnMaster> nop
20:48:21 <AnMaster> nor in bin
20:48:26 <ais523> or wherever sbin stuff normally is for you
20:48:30 <ehird> maybe kde has its own version of HAL or whatever
20:48:45 <pikhq> ehird: Not only no but hell no.
20:48:50 <AnMaster> well since it is KDE 3 and I haven't upgraded anything I have no idea
20:48:58 <pikhq> Might have in the KDE 2 days...
20:49:00 <ehird> pikhq: I wouldn't put it past KDE
20:49:01 <AnMaster> I mean last upgraded was ~ 1 week ago
20:49:14 <AnMaster> and I haven't rebooted or restarted X since then
20:49:51 <pikhq> KDE 3 did some of that *kind* of BS... They seem to have wised up since.
20:50:10 <ehird> AnMaster uses KDE 3.
20:50:14 <ehird> Because KDE 4 sucks because:
20:50:16 <ehird> 1) it's new
20:50:17 <ehird> 2) it's flashy
20:50:20 <ehird> 3) it works too well
20:50:20 -!- kar8nga has joined.
20:50:25 <ehird> At least, that's what I've gleaned from him.
20:50:52 <AnMaster> err it doesn't, I tested it, and I couldn't get it to look the same as kde 3. I *could* get my KDE 3 to look like KDE 2 almost perfectly
20:50:58 <AnMaster> not even close in KDE 4
20:51:02 <pikhq> 3.5 works rather solidly; only KDE 4.2 has gotten KDE 4 up to the point where it could sanely replace KDE 3.
20:51:09 <AnMaster> pikhq, 3.5.9 here
20:51:21 <ehird> wow, kde 4 cannot look precisely like kde 2!
20:51:21 <ehird> horrific.
20:51:33 <ehird> that's basically a crime against humanity
20:51:56 <ais523> KDE 4 still isn't really finished yet, I suspect
20:51:59 <AnMaster> ehird, I fail to see why you are bothered that users have different taste?
20:52:00 <ais523> it'll probably be production-ready around 4.4
20:52:07 <ais523> but 4.2 is at least of releasable quality
20:52:22 <pikhq> I am completely unsurprised that KDE 3 could look like KDE 2 with ease... After all, KDE 3 was little more than a port of KDE 2 to Qt 3.
20:52:23 <AnMaster> ais523, no. I think KDE 4 it will be production ready around KDE 5.0 release
20:52:25 <ehird> AnMaster: it doesn't help that you try and advertise your opinions to others whenever they, say, talk about how they like KDE4.
20:52:54 <pikhq> AnMaster: I'd say it's rather close now...
20:53:03 <AnMaster> ehird, So discussion and expressing opinions is forbidden now?
20:53:21 <pikhq> Hell, my only complaints with it ATM is Amarok being somewhat screwy still, and K3B hasn't been ported yet.
20:53:27 <pikhq> s/is/are/
20:53:39 <AnMaster> pikhq, wouldn't that be K4B?
20:53:47 <ehird> No. But "Hey, KDE 4 is quite nice, it does such and such and such." "I don't like KDE4, too bloated, I use KDE 3.14" "Well, okay." <days pass> "Ooh, this is nice about KDE 4, it—" "I don't like KDE4, too bloated, I use KDE 3.14"
20:53:49 <pikhq> Nope.
20:53:55 <ehird> Repeat ad infinitum, and perhaps you can see why it's goddamn annoying.
20:53:58 <AnMaster> ehird, 3.14?
20:54:06 <pikhq> K3B = KDE Burn, Baby, Burn.
20:54:12 <AnMaster> oh I see
20:54:30 <AnMaster> pikhq, well though I very seldom use k3b, when I do want to burn a cd I use it...
20:54:54 <pikhq> It's either that or crack open cdrecord.
20:54:59 <AnMaster> easier than checking the syntax/name for $current_cdrecord_replacement
20:55:15 <AnMaster> I think I managed to get the original one back.
20:55:42 <pikhq> cdrecord/cdrkit isn't hard to remember the syntax for if you're only using it to burn ISOs...
20:55:58 <pikhq> cdrecord dev=/dev/scd0 foo.iso; Whoo.
20:56:01 <ehird> Heh, hearing cdrecord reminded me of a guy in #slicehost who was basically in internet-tears because his parents were complaining about him about something like spending too much time on the computer, and how they didn't understand that he maintained a "vital part of linux infrastructure" (= he contributed to a cd burning library that I've never heard of)
20:56:06 <AnMaster> pikhq, well usually I don't just burn ISOs
20:56:23 <pikhq> Most of what I burn is ISOs.
20:56:29 <ehird> Jorg schilling is crazy
20:56:43 <pikhq> And in the rare case I'm not, mkisofs is probably sufficient.
20:56:43 <ehird> all he does is go around all day saying how all non-original cdrecords are evil and broken
20:56:44 <AnMaster> pikhq, I need to remember mkisofs and/or how on earth to create music cds...
20:56:46 <fizzie> Osm
20:56:53 <ehird> fizzie: Osm
20:56:55 -!- Hiato has quit (Read error: 145 (Connection timed out)).
20:57:00 <ais523> ehird: "basically in internet-tears"?
20:57:02 <fizzie> A typoed "Isn'".
20:57:03 <pikhq> I don't think I've burned a music CD since middle school.
20:57:16 <ehird> ais523: You come up with a better word. :P
20:57:16 <AnMaster> ehird, err I'm *forced* to agree with him. the cdrkit fails to burn correct cd-rw in my drive
20:57:17 <fizzie> I was going to mention that it's Jörg, not Jorg
20:57:21 <AnMaster> the original cdrecord works fine
20:57:28 <ais523> ehird: I think that either he was in internet-tears, or he wasn't
20:57:32 <AnMaster> cdrkit just results in unreadable cds
20:57:33 <ehird> fizzie: that's a non-original name!
20:57:39 <ehird> I'm making fun of him, see. <-- excuse
20:57:44 <ais523> I burn capacitors and diodes more often than CDs, probably
20:57:44 <pikhq> AnMaster: Quite bizzare, considering cdrkit is a fork of cdrecord.
20:57:48 <ais523> although not all that much recently
20:57:51 <ehird> ais523: Schrödinger's internet tears
20:58:11 <AnMaster> pikhq, yes, and in one case a erase of the cd-rw didn't even work...
20:58:20 <AnMaster> which is just crazy
20:58:20 <pikhq> Freeow.
20:58:27 <AnMaster> err?
20:58:46 * AnMaster googles
20:59:27 <AnMaster> No definitions were found for Freeow.
20:59:31 <pikhq> H2G2 reference, misspelt.
20:59:49 <pikhq> Don't recall the right spelling.
20:59:53 <AnMaster> hm... now that you mentions H2G2 it *does* sound slightly familiar
21:01:50 <fizzie> "Freeeow," he said.
21:01:56 <fizzie> So that was quite close.
21:05:00 <AnMaster> fizzie, in which of the books? and context?
21:06:14 <fizzie> The Judiciary Pag, when pronouncing Krikkit's sentence at that trial thing.
21:06:31 <ehird> isn't that from Mostly Harmless?
21:06:35 <ehird> that was one fucked up book
21:06:41 <ais523> no, it isn't
21:06:46 <ehird> hm
21:06:48 <ehird> while since I read h2g2
21:06:50 <ais523> it's from LTUAE
21:07:14 <fizzie> The whole Krikkit/Hactar plot is in book 3, yes.
21:08:11 <fizzie> He scratched his crotch reflectively. "Freeeow," he said. He took another sip of water, then held it up to the light and frowned at it. He twisted it round. "Hey, is there something in this water?" he said. "Er, no, m'lud," said the Court Usher who had brought it to him, rather nervously. "Then take it away," snapped Judiciary Pag, "and put something in it. I got an idea."
21:08:18 <fizzie> That's a longer quote.
21:09:21 <fizzie> The character does have a habit of similar noises. Later on, on the beach: "Weeeeelaaaaah!" said Zipo Bibrok 5 / 108, and you would have had to have been there to know exactly why he said this.
21:10:42 <fizzie> I think that's supposed to be something like 5 x 10^8 or some-such; I'm not sure why it's a / there. Maybe this is some sort of OCR digitalization.
21:10:54 <AnMaster> you don't really remember what is in which book when you have an omnibus edition
21:11:10 <ehird> yeah, I have an omnibus
21:11:12 <ehird> it's huge
21:11:21 <ehird> GEB-sized
21:11:28 <AnMaster> GEB being?
21:11:32 <ehird> http://en.wikipedia.org/wiki/Gödel,_Escher,_Bach
21:12:42 <AnMaster> ehird, Cambridge's dictionary - Advanced <something I forgot> Edition is way larger and thicker though
21:12:57 <fizzie> I think I've mentioned this before, but on ircnet's #douglasadams we used to have a game where a bot pasted a small snippet (three lines, I think), and awarded a point to whoever was the quickest to correctly enter 1, 2, 3, 4 or 5, depending on which book the quote was from.
21:13:00 <ehird> that is not really comparable, AnMaster :P
21:13:06 <AnMaster> ehird, but the largest one I have would be one at 3 kg...
21:13:14 <ehird> wat
21:13:31 <fizzie> Since book1 and book4 start almost identically, sometimes the game was a bit difficult.
21:13:38 <AnMaster> ehird, ?
21:13:45 <ehird> 3kg book?
21:13:49 <AnMaster> correct
21:14:28 -!- oklopol has joined.
21:14:48 -!- tombom has joined.
21:15:21 <AnMaster> fizzie, heh
21:15:30 <pikhq> Ah, I remember when I first got my H2G2 omnibus for Christmas...
21:15:38 <pikhq> I read the whole thing in 12 hours.
21:15:40 <ehird> the craziest thing about my GEB?
21:15:42 <ehird> it's a fucking PAPERBACK
21:15:48 <pikhq> Jebus.
21:15:50 <ehird> it is the biggest paperback ever
21:16:00 <AnMaster> ehird, my H2G2 is paperback
21:16:01 <ehird> when you pick it up, a few gravitational collapses happen
21:16:04 <AnMaster> and almost worn out
21:16:16 <ehird> and the spine is your mortal enemy
21:16:18 <oklopol> what did you read in 12 hours?
21:16:21 <ais523> ehird: mine's a paperback too
21:16:36 <ehird> ais523: it's awful!
21:16:46 <AnMaster> I don't have GEB, so I can't comment on it
21:16:59 <ehird> the book itself is great
21:17:09 <AnMaster> ehird, also how come you haven't yet asked what the 3 kg book is?
21:17:13 <AnMaster> just wondering
21:17:18 <oklopol> oh geb
21:17:22 <ehird> i assumed you'd tell me, AnMaster
21:17:23 <ehird> oklopol: no
21:17:24 <ehird> h2g2
21:17:26 <ehird> omnibus
21:17:27 <ehird> said pikhq
21:17:31 <ehird> 20:15 pikhq: Ah, I remember when I first got my H2G2 omnibus for Christmas...
21:17:31 <ehird> 20:15 pikhq: I read the whole thing in 12 hours.
21:17:32 <AnMaster> ehird, so do you want to know or not?
21:17:35 <ehird> surely YOU have scrollback...
21:17:37 <ehird> AnMaster: sure.
21:17:40 <oklopol> oh i see
21:17:43 <fizzie> I think my heaviest book here is Kreyszig's Advanced Engineering Mathematics, 8th Edition (the paperback version, no less). Not that it's especially huge, mind you. I can't seem to find the specs, but the 9th edition hardcover has an amazon.com shipping weight of 2.2 kg.
21:17:53 <AnMaster> ehird, complete history of the US airforce (yes I'm very interested in aircraft stuff as you probably know)
21:18:14 <ehird> the heaviest book of all time is SICP. SICP is the only acceptable book. All others cannot achieve the SATORI given by SICP. Have _you_ read your SICP today?
21:18:49 <AnMaster> ehird, err SATORI? aspell likes it so I guess it has to mean something, but firefox just segfaulted....
21:18:59 <ehird> SATORI, n. The unique property given by SICP.
21:19:03 <ehird> SICP, n. The book giving SATORI.
21:19:26 <pikhq> Hmm. Heaviest book I've got here is either my H2G2 omnibus or my Emacs manual.
21:19:33 <AnMaster> ah google was more helpful... now that firefox restarted... "(Zen Buddhism) a state of sudden spiritual enlightenment "
21:20:01 <fizzie> They should bind TAOCP together in a single book, that'd be quite a brick.
21:20:06 <AnMaster> pikhq, you have a printed emacs manual?
21:21:06 <ehird> fizzie: in PAPERBACK
21:21:15 <AnMaster> fizzie, would it beat Tolkins' famous trilogy in omnibus?
21:21:18 <ehird> pikhq: do you keep trying to use emacs keybindings on it
21:21:29 <AnMaster> paper back of course
21:21:32 <ehird> XD
21:21:51 <fizzie> An eyeball-based comparison says that my three-book-hardcover TAOCP is a bit larger in volume than my three-book-hardcover LOTR.
21:22:01 <AnMaster> for emacs manual I actually think the context sensitive help inside emacs would be way faste
21:22:04 <AnMaster> faster*
21:22:23 <AnMaster> FireFly, hm
21:22:25 <AnMaster> err
21:22:26 <AnMaster> fizzie, ^
21:22:44 <ehird> SICP is actually NP-complete. Reading it requires a SATORI-card.
21:22:48 <fizzie> I can't be sure about this, but I think the individual books are also heavier, weight-wise. Certainly content-wise.
21:23:14 <AnMaster> fizzie, well content-wise of course...
21:24:29 <AnMaster> ehird, btw from google image search: http://ak.buy.com/db_assets/large_images/594/202468594.jpg
21:24:41 <ehird> is that the spine?
21:24:44 <AnMaster> really doesn't show how large or thick
21:25:11 <AnMaster> ehird, the seal thing is embossed thingy, like sewn onto the cover...
21:25:18 <ehird> so that's not the spine
21:25:19 <ehird> :<
21:25:42 <AnMaster> ehird, well it is larger than A4 too. Wait I can measure the size
21:25:54 <ehird> THE SPINE IS LARGER THAN AN A4 PIECE OF PAPER?
21:25:57 <ehird> ONE BOOK? WHAT THE FUCK.
21:26:08 <ehird> and this is PAPERBACK?!
21:26:21 <ais523> ehird: there's a famous picture of what the OOXML standard looked like printed out
21:26:32 <AnMaster> 6x24x34
21:26:38 <AnMaster> cm
21:27:07 <AnMaster> thickness width height
21:27:20 <AnMaster> ehird, and not paper back no
21:27:24 <ehird> oh.
21:27:46 <AnMaster> ehird, spine, and fake leather on outside
21:28:04 <ehird> hmm
21:28:06 <ehird> how many pages is it?
21:28:22 <AnMaster> sed
21:28:24 <AnMaster> sec*
21:28:51 <AnMaster> 624, but the paper is very high quality thick and glossy
21:29:11 <AnMaster> well not photo level glossy, but slightly glossy
21:29:14 <ehird> AnMaster: publish Finnegan's Wake like that
21:29:15 <ehird> :P
21:29:28 <ehird> (or maybe an ayn rand book is longer)
21:29:35 <AnMaster> hm?
21:29:37 * AnMaster googles
21:31:34 <AnMaster> ok found a pic showing how thick it was
21:31:36 <AnMaster> right
21:31:50 <ehird> 1000+ pages
21:31:56 <AnMaster> ehird, the US airforce one is not as thick as it is large in other directions mainly
21:32:26 <AnMaster> I mean I think I have seen a dictionary thicker than it, but not as large format. I have to have it on the top shelf, doesn't fit elsewhere...
21:32:59 <fizzie> Kreyszig: 25.5 cm high, 20 cm wide, 6 cm thick; number of pages... uh, last page is I-20. Before I-1 there's A97. They're not making this easy. Before A1 comes page 1156. And before page 1 there's page xvi. So I guess the lower bound is 16+1156+97+20 = 1289 pages.
21:33:29 -!- Jophish has quit (Read error: 104 (Connection reset by peer)).
21:33:52 <oklopol> have you read it?
21:33:58 <AnMaster> fizzie, that is *far* from the 34 cm high and 23 wide...
21:33:58 -!- Jophish has joined.
21:34:26 <fizzie> AnMaster: It's still >2 kg, though. Dense stuff.
21:34:30 <AnMaster> ok
21:34:44 <fizzie> oklopol: A reasonable percentage of it, but not comprehensively.
21:35:04 <AnMaster> also the page count I gave above was large numbered page. So add uh *checks* 4 to that
21:35:22 <oklopol> fizzie: are you an advanced engineer then?
21:35:27 <oklopol> wait
21:35:32 <oklopol> advanced engineering mathematician
21:35:35 <AnMaster> fizzie, "Kreyszig"? I can't find any book with that name with google
21:35:39 <AnMaster> only people with that name
21:35:43 <ehird> ...
21:35:47 <ehird> of course it's a name
21:35:51 <AnMaster> oh
21:35:52 <fizzie> AnMaster: I did mention the complete name of the book, earlier.
21:35:55 <ehird> tons of textbooky things are referred to by their name
21:35:56 <ehird> e.g. K&R
21:35:57 * AnMaster looks
21:35:57 <ehird> err
21:35:59 <ehird> by their author's, names
21:36:06 <fizzie> Advanced Engineering Mathematics, 8th Edition.
21:36:14 <ais523> ehird: tons of textbooky things are referred to by their name too, though
21:36:19 <ehird> :D
21:36:19 <ais523> so you were right first time as well
21:36:26 <fizzie> oklopol: I'm not very advanced. Maybe I should've read more.
21:36:27 <AnMaster> ehird, TAOCP? SICP?
21:36:41 <ehird> People have cited TAOCP as Knuth, in my experience.
21:36:50 <ehird> SICP is, of course, [b]The Sussman[/b].
21:36:52 <oklopol> i just refer to books by their isbn
21:37:03 <AnMaster> ehird, "the wizard book"
21:37:07 <ehird> But if you say [b]The Sussman[/b] too much, your [b]Satori[/b] is revoked.
21:37:41 <fizzie> While looking for Kreyszig, I also came across "Seven-place values of trigonometric functions", "compiled by dr. J. Peters". This is a small book, but on the other hand it's useless too.
21:37:55 <AnMaster> ehird, http://mitpress.mit.edu/sicp/full-text/book/cover.jpg lists three authors btw.
21:37:57 <AnMaster> *shrug*
21:38:08 <ehird> Abelson is filthy traitor of Forced Indentation of Code.
21:38:15 <oklopol> fizzie: lol just a massive list? :D
21:38:19 <ehird> Julie Sussman is The Sussman's alter-ego.
21:38:38 <ehird> Everything I say is indisputable. Brb ->
21:38:39 <AnMaster> what about that book
21:38:46 <AnMaster> 10000 random numbers or something?
21:38:46 <AnMaster> err
21:38:47 <ehird> <-
21:38:48 <AnMaster> even more
21:38:49 <ehird> That's useful.
21:38:58 <fizzie> But on the front inner cover it has a taped-on label: "This book has been presented to Finland by the Government of the United States of America, under Public Law 265, 81st Congress, as an expression of the friendship and good will which the people of the United States hold for the people of Finland."
21:39:00 <AnMaster> ehird, yes but it should be rather thick and heavy right?
21:39:04 <ehird> ah.
21:39:04 <ehird> ->
21:39:41 <AnMaster> fizzie, uh.... ?
21:39:52 <fizzie> That's what it says; I don't know what it means.
21:39:53 <AnMaster> that's like crazy
21:39:57 <oklopol> fizzie: so they love us enough to write a 2 minute python script to generate the table?
21:40:21 <fizzie> "Originally published in Germany as Siebenstellige Werte der Trigonometrischen Funktionen"; Copyright, 1918, 1938.
21:40:22 <AnMaster> fizzie, a joke label on your copy? If it is second hand I'd guess so
21:40:24 <fizzie> It's a bit old.
21:40:29 <fizzie> And it's no joke.
21:40:34 <AnMaster> mhm
21:40:43 <fizzie> I assume it was donated to our university library; that's where I got it from.
21:40:49 <oklopol> probably not much python scripting back then.
21:41:16 <AnMaster> well googling for "Public Law 265, 81st Congress" did return relevant results...
21:41:22 -!- oerjan has joined.
21:41:28 <oklopol> hi oerjan!
21:41:34 <ais523> hi!
21:41:36 <AnMaster> oerjan, hiwc
21:41:45 * oerjan swats AnMaster -----###
21:41:51 <oerjan> hi all
21:42:27 <AnMaster> oerjan, btw I need to borrow your frying pan. Firefox segfaulted randomly a lot today... And KDE decided to start asking about CDs that I insert...
21:43:31 <ais523> AnMaster: maybe you caught a virus that silently replaced Linux with Windows whilst trying to keep everything looking the same so you didn't notice
21:43:33 -!- FireFly has quit ("Later").
21:44:02 <lament> ais523: was it you who won the wolfram thing?
21:44:07 <AnMaster> ais523, then they should provide it for windows as a replacement for cygwin. I mean I done lots of POSIX specific programming today
21:44:14 <ais523> lament: yes
21:44:45 <ais523> why do you ask, by the way?
21:45:58 -!- neldoret1 has quit (Read error: 113 (No route to host)).
21:46:08 <AnMaster> also wth, yesterday xine refused to show track names for this cd, and I knew it was in freedb (checked with cd-info), this morning it showed them. Now it doesn't again...
21:46:18 -!- FireFly has joined.
21:46:30 <AnMaster> ais523, either windows or centos. Hard to say...
21:46:44 <ais523> AnMaster: what does uname display?
21:46:55 <AnMaster> Linux tux.lan 2.6.27-gentoo-r8-1 #1 Sat Jan 31 04:55:36 CET 2009 x86_64 AMD Sempron(tm) Processor 3300+ AuthenticAMD GNU/Linux
21:47:08 <AnMaster> which is what I would expect it to say
21:47:32 <fizzie> They have been thourough and faked that, too.
21:47:38 <AnMaster> indeed
21:47:57 <oerjan> AnMaster: it's a windsor sauce pan, not a frying pan. but here you are. ===\___/
21:48:24 <AnMaster> oerjan, question about usage, it isn't "swats", what is the right word?
21:48:29 <AnMaster> "hits"?
21:49:01 <oerjan> ah
21:49:05 <AnMaster> or?
21:49:37 <AnMaster> you can't really "swat" with a sauce pan
21:49:42 <ais523> "bash" might do
21:49:47 <oerjan> well yeah "hits".
21:49:53 * AnMaster hits Firefox with oerjan's sauce pan ===\___/
21:49:56 * AnMaster hits KDE with oerjan's sauce pan ===\___/
21:50:02 * AnMaster hits xine with oerjan's sauce pan ===\___/
21:50:12 * AnMaster ahnds the sauce pan back to oerjan
21:50:14 <oerjan> but i think "clobbers" is also a nice word
21:50:15 <AnMaster> hands*
21:50:41 <oerjan> i see you used it well ===\/\/
21:50:52 <AnMaster> also linux can fake uname. How else would this work:
21:50:53 <AnMaster> $ linux32 uname -a
21:50:53 <AnMaster> Linux tux.lan 2.6.27-gentoo-r8-1 #1 Sat Jan 31 04:55:36 CET 2009 i686 AMD Sempron(tm) Processor 3300+ AuthenticAMD GNU/Linux
21:50:55 * oerjan sends it for repairs
21:50:59 <AnMaster> meant for 32-bit chroots
21:51:02 <AnMaster> oerjan, no need
21:51:04 <AnMaster> I can fix it
21:51:14 <AnMaster> oerjan, just hand it back
21:51:17 <AnMaster> for a sec
21:51:27 <oerjan> ok ===\/\/
21:51:46 <ais523> AnMaster: is there a 32-bit version of linux32?
21:51:48 * AnMaster turns oerjan's sauce pan upside down and hits KDE again ===/^^^\
21:52:01 <oerjan> marvelous technique
21:52:02 <AnMaster> well there is probably some nifty unicode for line at top
21:52:07 <AnMaster> but I don't know it
21:52:29 <ais523> oh, there is, and I have it installed
21:52:42 <AnMaster> oerjan, so the corrugated ^^^ is just a rendering issue
21:52:54 <AnMaster> when you turn it you will see it is perfectly flat
21:53:01 * AnMaster hands the saucepan back to oerjan
21:53:14 * oerjan checks the saucepan carefully ===\___/
21:53:33 <AnMaster> ais523, that makes no sense on 32-bit linux
21:53:43 <AnMaster> it only makes sense if you can run more than one ABI
21:53:47 <AnMaster> like AMD64
21:54:00 <ais523> ais523@dell:~$ setarch i686
21:54:02 <ais523> ais523@dell:~$ uname -a
21:54:03 <ais523> Linux dell 2.6.27-11-generic #1 SMP Thu Jan 29 19:24:39 UTC 2009 i686 GNU/Linux
21:54:07 <AnMaster> err
21:54:14 <ais523> course it makes sense
21:54:18 <AnMaster> ais523, it doesn't change shell?
21:54:20 <ais523> admittedly, it doesn't change anything
21:54:21 <AnMaster> or?
21:54:22 <ais523> AnMaster: yes it does
21:54:30 <ais523> just the new shell looked identical to the old one
21:54:46 <ais523> why would you expect it to look different?
21:55:01 <AnMaster> ais523, I almost always use the linux32 symlink with "chroot"
21:55:16 <AnMaster> ais523, so I wasn't aware of that it defaulted to "new shell"
21:55:37 <AnMaster> ais523, setarch --help lists more interesting stuff
21:57:18 <AnMaster> ehird: Unknown language "-"
21:57:21 <AnMaster> from lisp paste
21:57:25 <AnMaster> not sure what went wrong
21:57:45 <AnMaster> wait I see
21:57:48 <AnMaster> forget it
21:58:33 <AnMaster> ais523, my setarch has all these options: http://paste.lisp.org/display/76852 maybe it varies between platforms
21:58:55 <ais523> setarch changes the uname system call that programs use to decide what libraries to load, etc
21:59:13 <ais523> and I have the same version of setarch as you, more or less
21:59:14 <ais523> it's the same options
21:59:24 <ais523> linux32 is a symlink to setarch, or a wrapper around it
21:59:27 <AnMaster> ais523, hm. How does it change the uname system call?
21:59:43 <ais523> I don't know, presumably there's an API for doing that sort of thing
22:00:14 <AnMaster> it isn't LD_PRELOAD since it works on statically linked busybox
22:00:19 <AnMaster> $ setarch i686 /bin/busybox uname -a
22:00:19 <AnMaster> Linux tux.lan 2.6.27-gentoo-r8-1 #1 Sat Jan 31 04:55:36 CET 2009 i686 unknown
22:00:30 <AnMaster> $ /bin/busybox uname -a
22:00:30 <AnMaster> Linux tux.lan 2.6.27-gentoo-r8-1 #1 Sat Jan 31 04:55:36 CET 2009 x86_64 unknown
22:00:47 <AnMaster> ais523, ah strace told me:
22:00:48 <AnMaster> personality(PER_LINUX32) = 0
22:00:51 <AnMaster> wth?
22:00:59 -!- atrapado has joined.
22:01:06 <AnMaster> this is great. Linux has *split personalities*
22:01:09 <AnMaster> :D
22:01:20 <AnMaster> SYNOPSIS
22:01:20 <AnMaster> #include <sys/personality.h>
22:01:20 <AnMaster> int personality(unsigned long persona);
22:01:46 <lament> "04:44 PM"
22:01:48 <lament> :(
22:01:52 <AnMaster> lament, err?
22:02:03 <lament> it means 16:44
22:02:51 <AnMaster> huh
22:03:03 <AnMaster> enum { blah = 0, };
22:03:07 <AnMaster> is that supposed to work?
22:03:09 <ais523> AnMaster: that's legal
22:03:21 <AnMaster> ais523, shouldn't there be some type name for the enum somewhere?
22:03:23 <ais523> trailing commas are allowed inside enums in C
22:03:25 <oerjan> <ehird> The swatter requires oerjan-nature. :(
22:03:27 <oerjan> MU
22:03:28 <fizzie> It's for people who have a #define rash.
22:03:40 <AnMaster> ais523, and the comma wasn't the issue...
22:03:43 <Deewiant> AnMaster: implicit int IIRC
22:03:56 <Deewiant> Alternatively, smallest integer that fits them all
22:04:08 <Deewiant> s/ger/gral/
22:04:50 <ais523> oh, and the lack of typename, I think it's legal
22:04:56 <ais523> I'm not sure if no typename and no variable is legal
22:04:56 <ais523> but enum { blah = 0, } foo; is certainly legal
22:04:57 <AnMaster> ais523, from /usr/include/sys/personality.h (but not as short)
22:04:57 <AnMaster> ais523, and no variable
22:04:57 <ais523> just like struct { int bar; } quux; is legal
22:04:57 <AnMaster> I mean what use would struct { int bar; }; be ?!
22:04:57 <AnMaster> well for enum it could still be used though
22:05:04 <fizzie> Nothing, but for enum it is legal.
22:05:07 <AnMaster> ais523, just I would have expected either enum foo { ... }; or a typedef
22:05:16 <AnMaster> mhm
22:05:39 <AnMaster> well
22:05:45 <AnMaster> no docs what the flags do there
22:05:59 <AnMaster> STICKY_TIMEOUTS, WHOLE_SECONDS?
22:06:00 <oerjan> C has structural bars
22:06:11 <AnMaster> I mean ADDR_LIMIT_3GB is quite self explaining...
22:06:19 <AnMaster> but whole seconds where?
22:07:13 <ais523> AnMaster: it disables an optimisation, normally if your computer isn't doing anything for a while it uses the excess processing power to do a bit of timetravel, small fractions of each second are sent back to kernel.org where they can be stockpiled for restoring the Earth in the case of an apocalypse
22:07:28 <ais523> some people don't like programs that call home, so the option's there to turn it off
22:07:38 <AnMaster> ais523, that humor is just too absurd...
22:07:55 <AnMaster> oerjan, hah
22:08:13 <AnMaster> ais523, MMAP_PAGE_ZERO?
22:08:24 <ais523> AnMaster: heh, I've just realised what that would do
22:08:29 <AnMaster> what?
22:08:32 <ais523> it would mean that NULL would become a legal pointer-to-data
22:08:37 <AnMaster> well
22:09:05 <AnMaster> ais523, you can still on x86 mmap() at 0, for example if you are going to mess with vm86()
22:10:35 <AnMaster> ais523, atm I'm grepping kernel source to find WHOLE_SECONDS and STICKY_TIMEOUTS... the other flags I can make quite educated guesses about
22:12:05 <AnMaster> um
22:12:07 <AnMaster> this is strange
22:12:08 * oerjan chops a second in two and donates half to science
22:12:17 <AnMaster> it is only mentioned in Documentation and header file
22:12:20 <AnMaster> nowhere in source...
22:12:21 <AnMaster> ?!
22:12:30 <fizzie> On a C64 you have to be tricky of you want to write to the first two bytes; there's memory-mapped registers at locations 0 and 1.
22:12:51 <AnMaster> fizzie, hardware registers?
22:13:01 <AnMaster> as in, non-cpu ones?
22:13:21 <ais523> on a PIC, reading from or writing to address 0 is how you do indirect addressing
22:13:33 <AnMaster> wth
22:13:39 <AnMaster> shouldn't the constant be used on the source
22:13:42 <AnMaster> I tried several
22:13:45 <AnMaster> and found nothing
22:14:11 <fizzie> Yes. Address 0 controls the read/read-write mode of address 1, while 1 has a couple of rather random bits related to the "MMU" and other stuff.
22:15:24 <AnMaster> ok STICKY_TIMEOUTS hit something
22:15:41 <fizzie> Actually it's called "processor port", so they might be implemented in the CPU; maybe they toggle some CPU pins or something. It's been a couple of years since I last even saw a 6510.
22:16:23 <fizzie> Yes, it seems that the address 0/1 stuff is pretty much what differentiates a 6510 (used in C64) from a 6502; there's a 6-bit I/O port in it, controlled by that register.
22:16:25 <AnMaster> it seems related to select() timeout
22:16:30 <AnMaster> not sure about details
22:18:06 <AnMaster> <ais523> it would mean that NULL would become a legal pointer-to-data
22:18:07 <AnMaster> no
22:18:09 <AnMaster> not exactly
22:18:36 <AnMaster> error = do_mmap(NULL, 0, PAGE_SIZE, PROT_READ | PROT_EXEC,
22:18:36 <AnMaster> MAP_FIXED | MAP_PRIVATE, 0);
22:19:02 <AnMaster> SVr4 compat...
22:19:24 <AnMaster> I didn't even know linux emulated that ABI
22:19:24 <Deewiant> PROT_NONE for 100% safety!
22:20:30 -!- asiekierk has quit (Connection timed out).
22:27:02 <ehird> 20:57 AnMaster: not sure what went wrong
22:27:05 <ehird> well, what happened?
22:27:09 <ehird> what was the issue?
22:27:26 <AnMaster> ehird, do you mean the KDE thing, the Firefox thing or the xine thing?
22:27:31 <ehird> lisppaste
22:27:33 <ehird> language -
22:27:34 <AnMaster> ah
22:27:35 <ehird> oh
22:27:36 <ehird> did you do
22:27:38 <ehird> lisppaste - lang?
22:27:39 <ehird> instead of
22:27:41 <ehird> lisppaste lang -
22:27:42 <AnMaster> ehird, no
22:27:47 <ehird> what then?
22:27:50 <AnMaster> lisppaste - <(command)
22:28:00 <ehird> that should work
22:28:05 <AnMaster> ehird, no
22:28:07 <AnMaster> it expands to
22:28:15 <ehird> ah
22:28:15 <AnMaster> lisppaste - /dev/fd/23
22:28:17 <AnMaster> or such
22:28:17 <ehird> I see
22:28:25 <ehird> hmmmm
22:28:28 <ehird> I should make the title configurable
22:28:34 <ehird> "/dev/fd/63" is not very helpful
22:28:43 <AnMaster> ehird, why 63?
22:28:48 <ehird> http://paste.lisp.org/display/76853
22:28:52 <ehird> /dev/fd/63
22:28:57 <AnMaster> ah yes
22:29:12 <ehird> it came up as Anonymous; haven't you set LISPPASTE_USER?
22:29:32 <AnMaster> ehird, no, I don't like polluting our environment
22:29:38 <ehird> heh
22:29:49 <ehird> AnMaster: you can just $EDITOR `which lisppaste`
22:29:50 <ehird> and put
22:29:52 <ehird> LISPPASTE_USER=AnMaster
22:29:53 <ehird> in
22:30:01 <AnMaster> um it isn't in PATH
22:30:10 <ehird> $EDITOR /path/to/lisppaste
22:30:18 <ehird> although I don't know why you want a command line tool if not for PATH convenienc
22:30:19 <ehird> e
22:30:48 <AnMaster> ~/bin/lisppaste is a symlink to ~/irc/freenode/esoteric/ehird/lisppaste
22:31:02 <ehird> and ~/bin is in your path is it not?
22:31:06 <AnMaster> ehird, it isn't
22:31:09 <ehird> o_O
22:31:13 <AnMaster> ehird, that would be insecure!
22:31:15 <AnMaster> ~~
22:31:23 <ais523> AnMaster: is your home partition mounted noexec?
22:31:23 <ehird> yes, you could give yourself a virus
22:31:37 <AnMaster> ais523, no it isn't actually
22:31:43 <AnMaster> ais523, but it might be a good idea
22:31:46 <ehird> DON'T GIVE HIM IDE—
22:31:47 <AnMaster> if I weren't a programmer
22:32:05 <ais523> ehird: even if I gave AnMaster an IDE, he probably wouldn't use it
22:32:08 <ehird> heh
22:32:09 <ehird> AnMaster: do you think adding paste annotation is a worthy feature?
22:32:12 <ehird> I'm not sure how I'd do it
22:32:21 <ehird> maybe if you give a number instead of or with a language
22:32:21 <AnMaster> ais523, Indeed I prefer SATA
22:32:23 <ehird> it'd annotate that paste
22:32:36 <ehird> % lisppaste 76853 <(setarch --help)
22:32:48 <AnMaster> ehird, I shall make a language called 76853
22:32:57 <AnMaster> it shall be a HQ9+ variant
22:32:59 <ehird> AnMaster: you have to get p.lisp.org to support it
22:33:08 <AnMaster> (because I can't think anything else up right now)
22:33:18 <AnMaster> ehird, ok true
22:33:57 <ehird> [ehird:/Previous Systems.localized/2009-02-11_1200/Users/ehird/Documents/Code] % find <-- searching for old code gives me a wonderous prompt of verbosity
22:35:34 <AnMaster> ehird, why "Previous System"
22:35:46 <ehird> AnMaster: it's the system before my upgrade to leopard
22:35:48 <ehird> Archive & Install
22:35:48 <AnMaster> I remember that back on pre-OS X and old windows. All the reinstalls
22:35:55 <AnMaster> ehird, that seems strange
22:36:05 <AnMaster> no I'm not just attacking OS X
22:36:09 <ehird> It's a nice excuse to clean out my system :P
22:36:11 <AnMaster> I'm attacking lots of other OS too
22:36:15 <ehird> Also, upgrades are generally flaky on most OSes.
22:36:24 <ehird> Even Linux can be a bit odd after a full distro release upgrade.
22:36:25 <AnMaster> like Windows and many linux distros
22:36:34 <AnMaster> ehird, exactly. Which is why I prefer rolling release
22:36:41 <AnMaster> they have good upgrade handling
22:36:44 <ehird> Rolling release is pretty good, but not really commercializable
22:36:47 <AnMaster> because it happens so often
22:36:54 -!- kar8nga has quit (Remote closed the connection).
22:36:57 <ehird> commercial software is pretty much a ghetto of releases
22:37:06 <AnMaster> well I guess you can make more money that wya
22:37:08 <AnMaster> way*
22:37:19 <AnMaster> ehird, what distros apart from arch and gentoo use rolling release?
22:37:24 <ehird> None that I know of.
22:37:28 <AnMaster> mhm
22:37:32 <ais523> ehird: rolling release is trivially commercialisable, just make someone rent the OS not buy it
22:37:35 <AnMaster> what about that one with insane paths
22:37:37 <AnMaster> what was the name
22:37:41 <AnMaster> gobolinux
22:37:42 <ehird> gobolinux
22:37:42 <AnMaster> right
22:37:44 <ais523> in fact, many computer games are becoming episodic nowadays
22:37:48 <ehird> I would call it 'sane'
22:37:54 <ehird> ais523: Ugh, I would hate to rent an OS
22:38:01 <AnMaster> ehird, ok, lets ignore that wording for a second
22:38:13 <AnMaster> eww, renting a OS
22:38:16 <AnMaster> no way
22:38:31 <AnMaster> I mean the security concerns
22:38:40 <AnMaster> since they have to be able to take it back somehow
22:38:43 <ehird> an EULA is as far as I'll go for digital purchasing thingies
22:39:05 <AnMaster> I wouldn't accept an EULA that either isn't GPL or very short
22:39:07 <ehird> I'm not happy with OS X's EULA forbidding installation on non-macs, either
22:39:13 <ehird> AnMaster: GPL is a license, not an EULA
22:39:29 <AnMaster> ehird, true, but it does partly fill the same function
22:39:30 <ehird> licenses just cover distribution, EULAs cover use
22:39:37 <AnMaster> ok true
22:40:25 <ais523> sometimes people using windows auto-installer-creators put the GPL in the EULA slot
22:40:30 <ehird> ha
22:40:35 <ais523> because the installer can't grasp that an EULA might not be wanted
22:40:36 <AnMaster> lets see. I haven't bought an OS since I got my ibook ages ago
22:40:40 <AnMaster> first model ibook
22:40:41 <ehird> Hm. A game called "Stalin VS Martians".
22:41:02 <AnMaster> ais523, ah yes indeed I have seen that
22:41:05 <ehird> It seems to be about Stalin, fighting martians.
22:41:27 <pikhq> I've also seen auto-installer things just put in the EULA "This work is licensed under the GPL."...
22:41:33 <AnMaster> ehird, link?
22:41:38 <ehird> http://stalinvsmartians.com/en/
22:41:39 <pikhq> So, presumably you agree that it is, in fact, GPL'd.
22:41:40 <pikhq> ;)
22:41:42 <ehird> Trailer: http://www.youtube.com/watch?v=tGnNbKfpx9k
22:41:45 <ehird> It seems to be a RTS
22:41:56 <AnMaster> mhm
22:42:21 <ehird> I never thought I'd see a cheerful 3D Stalin dancing.
22:44:18 <AnMaster> this is a joke right?
22:44:23 <ehird> It's a real game.
22:44:28 <ehird> The trailer appears to be un-serious-ly.
22:44:29 <AnMaster> no way
22:44:51 <ehird> http://stalinvsmartians.com/screenshot0003.jpg
22:44:57 <ehird> I pre-emptively deem it Game of the Year.
22:45:23 <lament> wow.
22:45:57 <AnMaster> is that trailer made by the company or as a joke by someone else?
22:46:04 <ehird> company
22:46:10 <AnMaster> no way. again
22:46:18 <ehird> [[Vopros: Can we play as Stalin himself?
22:46:18 <ehird> Otvet: Yes, but not from the start. Stalin is our commander and he gives us orders. Closer to the grand finale he will appear on the battlefield as a playable unit - a huge colossus, five times higher than any other creature. Just like it was in the real life.]]
22:46:40 <AnMaster> ...?
22:46:46 <ehird> From their FAQ.
22:46:55 <AnMaster> what is this company?
22:47:02 <ehird> Three companies, apparently.
22:47:10 <AnMaster> major ones or?
22:47:18 <ehird> "A BWF/DREAMLORE/N-GAME CO-PRODUCTION".
22:47:20 <ehird> Never heard of them.
22:47:23 <AnMaster> indeed
22:47:35 <ehird> http://bwf-game.com/
22:47:39 <ehird> http://www.dreamloregames.com/
22:47:39 <ehird> http://www.ngsdev.com/
22:47:45 <ehird> Latter two are in russian.
22:48:11 <ehird> OH MY FUCKING GOD
22:48:13 <ehird> http://www.nabble.com/-scala--URGENT%3A-Please-read-if-you-have-any-information-about-Tony-Morris-to22462911.html
22:48:47 <AnMaster> um
22:48:51 <AnMaster> wth
22:49:00 <ehird> "Update: We've received information about Tony's home address that we believe to be current. The police are sending a team there now."
22:49:03 <ehird> Let's hope it's not too late...
22:49:10 <AnMaster> ok
22:49:18 <lament> the police were there
22:49:21 <ehird> Agh, he's left on his bike...
22:49:23 <lament> he left on a motorbike
22:49:31 <ehird> lament: hello, ehird
22:51:12 <AnMaster> ehird, they arrived 1 second apart here
22:51:34 <AnMaster> ehird, possibly less from lament's point of view
22:51:40 <AnMaster> probably even
22:52:36 <ehird> After me and another mentioned it:
22:52:36 <ehird> 21:51 Eridius: this discussion is already in #haskell-blah
22:52:38 <ehird> What a fuckwit.
22:52:48 <AnMaster> ehird, btw that thing on nabble... I never heard of this person
22:52:56 <ehird> He's in the scala/haskell etc communities
22:55:08 <AnMaster> ehird, btw what is nabble exactly?
22:55:08 <ehird> AnMaster: do you know what system var to set to add to gcc's default include path?
22:55:13 <ehird> nabble is a mailing list archiver
22:55:18 <ehird> that was posted to the scala mailing list
22:55:29 <AnMaster> ehird, no not off the top of my head
22:55:46 <AnMaster> ehird, I would use command line instead
22:55:55 <comex> HELP
22:55:58 <ehird> I'm installing with RubyGems, so
22:55:58 <AnMaster> or for autotools CPPFLAGS
22:56:01 <ehird> comex: WHAT
22:56:02 <comex> why is vim indenting two tabs when I press enter
22:56:11 <ehird> you have autoindent set
22:56:13 <ehird> except fucked
22:56:14 <ehird> I guess.
22:56:18 <comex> autoindent: uses the indent from the previous line.
22:56:26 <ehird> cindent, then
22:56:27 <ehird> or w/e
22:56:43 <AnMaster> ehird, modify the file that calls gcc?
22:56:45 <AnMaster> seems easiest
22:56:48 <ehird> uh, no.
22:56:51 <comex> wtf
22:56:54 <comex> :set nocindent worked
22:56:55 <comex> but not from vimrc
22:56:56 <AnMaster> also check if rubygem has a way to do it
22:57:08 <AnMaster> comex, does the file include one of those mode lines?
22:57:28 <ehird> aha, C_INCLUDE_PATH
22:57:40 <AnMaster> ehird, is that the rubygem one?
22:57:42 <comex> oh
22:57:43 <comex> per buffer
22:57:44 <ehird> no
22:57:44 <ehird> gcc
22:57:47 <AnMaster> ah
22:57:49 <oerjan> comex: maybe it's set automatically from a language-specific setup file?
22:58:02 <AnMaster> what about modeline?
22:58:09 <AnMaster> in the file
22:59:37 <AnMaster> night
22:59:49 <AnMaster> <AnMaster> ehird, btw what is nabble exactly?
22:59:50 <AnMaster> well?
22:59:55 <ehird> I answered.
22:59:59 <AnMaster> oh
23:00:01 <AnMaster> right
23:00:03 <AnMaster> I see now
23:00:06 <AnMaster> missed it
23:00:12 <AnMaster> night anyway
23:04:12 -!- GreaseMonkey has joined.
23:04:15 <comex> oh god I love vim
23:04:19 <comex> it takes me to the line with an error
23:04:51 <ais523> comex: what editor doesn't do that?
23:04:56 <ais523> seriously?
23:05:09 <ais523> even BC++ for Windows did that ten years ago, and it was pretty rubbish
23:08:54 <psygnisfive> ehird! :D
23:09:17 <comex> ais523: kate? :p
23:09:31 <comex> any IDE will do it, but vim grabs the line from the make error
23:09:33 <ehird> psygnisfive: http://www.nabble.com/-scala--URGENT%3A-Please-read-if-you-have-any-information-about-Tony-Morris-to22462911.html
23:09:38 <ais523> comex: so does emacs
23:09:40 <ehird> (just linking in case there's anything you can do)
23:09:43 <comex> ais523: I don't use emacs
23:09:56 <psygnisfive> ehird
23:10:01 <psygnisfive> did you see what i commented on earlier?
23:10:05 <ehird> No. What?
23:11:15 <psygnisfive> { (x,y) : x,y in N, &(x,y) = 0 }
23:11:23 <ehird> Ah, yes.
23:11:30 <ehird> Sierpinski shows up everywhere.
23:11:47 <psygnisfive> i know :o
23:11:49 <psygnisfive> also
23:11:51 <psygnisfive> who is tony morris?
23:12:18 <oerjan> dobblego from #haskell, apparently
23:12:25 <ehird> aka dibblego
23:12:29 <ehird> Also on programming reddit.
23:12:48 <psygnisfive> dunno him.
23:15:20 <ais523> <thisisdaveinhell> I hate to break this to you but they took tin foil off the market years ago, its all aluminum now, the tin stuff worked.
23:15:25 <ais523> best conspiracy theory ever
23:15:30 <ehird> heh
23:15:31 <comex> http://www.amzi.com/articles/prolog_under_the_hood.htm
23:15:34 <comex> should 'ail.' read 'fail.'?
23:15:46 <ehird> hurnan should read human, too.
23:16:04 <psygnisfive> the reminds me of a joke some irish comedian told
23:16:28 <psygnisfive> "whats this 'aluminum foil' americans use? noone says 'aluminum foil', thats all wrong! everyone knows its said 'tin foil'."
23:17:16 -!- tombom has quit ("Peace and Protection 4.22.2").
23:18:14 <oerjan> my brief browsings on the stuff make me believe a tinfoil hat is a useless mind control ray stopper, as the open bottom prevents it from being an efficient faraday cage
23:18:34 <oerjan> if you want to be safe, you need a tinfoil burka
23:18:54 <psygnisfive> with a fine metal mesh over the eyes
23:19:48 <oerjan> oh and closed at the bottom
23:20:01 <oerjan> i guess steel shoes would do
23:20:05 <ais523> tinfoil catsuit
23:20:32 * oerjan googles for tinfoil burka and gets several hits
23:23:03 -!- kwertii has joined.
23:23:13 -!- olsner has joined.
23:40:27 -!- atrapado has quit ("Abandonando").
23:44:55 -!- BeholdMyGlory has quit (Remote closed the connection).
23:48:01 <ehird> psygnisfive: what's that formula, again?
23:48:29 <ehird> [ (x `band` y) == 0 | x <- [0..w], y <- [0..h] ]
23:48:30 <psygnisfive> { (x,y) : x,y in N, &(x,y) = 0 }
23:48:30 <ehird> Right?
23:48:36 <ehird> where band = bitwise and.
23:48:53 <psygnisfive> yah but you dont want [ (band x y) == 0 ...]
23:49:05 -!- jix_ has quit ("...").
23:49:09 <psygnisfive> because that'll just give you [T,F,T,...]
23:49:12 <ehird> Right.
23:49:12 <psygnisfive> you want the points themselves
23:49:15 <oerjan> that should be a condition, not the result
23:49:16 <ehird> Er?
23:49:24 <ehird> I was using mine to draw a bitmap.
23:49:29 <ehird> Where False = black and True = white.
23:49:47 <oerjan> oh
23:49:52 <psygnisfive> yeah but whats the type of that list?
23:49:56 <ehird> [Bool].
23:49:59 <psygnisfive> exactly
23:50:07 <psygnisfive> how can you draw a bitmap for that? :P
23:50:11 <psygnisfive> its just a list of bools
23:50:20 <psygnisfive> you need a list of point-bool pairs
23:50:30 <ehird> Well, you know w and h.
23:50:37 <ehird> So you take w elements, and go down one.
23:50:48 <oerjan> [[(x `band` y) == 0 | x <- [0..w]] | y <- [0..h]] might be better
23:50:49 <psygnisfive> yyyyyes but thats not what you wrote :)
23:51:04 <psygnisfive> what you wrote was just a list of T,F
23:51:15 <psygnisfive> not a list of what points are T and what are false
23:51:50 <psygnisfive> anyway you obviously dont need to code it like that
23:52:02 * oerjan starts swatting psygnisfive then thinks better of it
23:52:03 <psygnisfive> you can just doubly iterate
23:52:04 -!- neldoreth has joined.
23:52:09 <psygnisfive> why are you swatting me?
23:52:13 <psygnisfive> you know what i say is true!
23:52:14 <ehird> sierpinski :: Integer -> Integer -> [(Integer,Integer)]
23:52:15 <ehird> sierpinski w h = [ (x,y) | x <- [0..w], y <- [0..h], x .&. y == 0 ]
23:52:25 <ehird> Now to write the rest ->
23:52:25 <psygnisfive> exactly.
23:52:34 <ehird> Very beautiful formula, though.
23:52:38 <ehird> Even nicer than the chaos game.
23:52:44 <psygnisfive> but im not writing it in haskell so :p
23:53:05 <psygnisfive> i odnt know haskell's image generating utilities
23:53:14 <ehird> just generate console output :P
23:53:25 <psygnisfive> i suppose. but i dont know how to do that either :D
23:53:31 <ehird> putChar
23:54:10 <oerjan> or putStr after you combine everything
23:54:27 <ehird> sierpinski' :: Integer -> Integer -> [[Bool]]
23:54:27 <ehird> sierpinski' w h = [ [ x .&. y == 0 | x <- [0..w] ] | y <- [0..h] ]
23:54:30 <ehird> ^ easier to use
23:54:35 <psygnisfive> i suppose actually you could just do something like... build the appropriate [[Char]]s and then map putChar
23:54:36 <psygnisfive> or something
23:54:44 <psygnisfive> but i dont really care, so
23:54:45 <ehird> map putChar = putStr, duh.
23:55:01 <psygnisfive> anyway
23:55:05 <psygnisfive> there you have it
23:55:07 <oerjan> mapM_, technically
23:55:10 <ehird> yes yes
23:58:13 <psygnisfive> its pretty nifty tho innit ehird
23:58:45 <psygnisfive> something so simple as &(N,N) gives you the sierpinski gasket
23:58:49 <oerjan> putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ sierpinski' w h
23:58:51 <oerjan> maybe.
23:58:55 <ehird> heh
23:58:56 <ehird> I just wrote that
23:58:58 <ehird> finalizing it now
23:59:42 -!- FireFly has quit ("Later").
2009-03-12
00:00:20 <psygnisfive> ehird, what was the Golly program that you had that generated the dual gasket + randomness?
00:00:29 <ehird> erm
00:00:29 <ehird> straight line
00:00:36 <psygnisfive> we went over this already :P
00:00:42 <psygnisfive> that doesnt produce that in GoL
00:00:48 <ehird> crooked line
00:00:59 <psygnisfive> why dont you make it work and then send me the file
00:01:15 <oerjan> how long does it need to be? i tried some in mcell but i don't think i got it big enough.
00:01:20 <ehird> oerjan: psygnisfive: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322
00:01:26 <ehird> Complete sierpinski program in Haskell.
00:01:30 <ehird> Including command line parsing :P
00:01:33 <ehird> In 19 lines!
00:01:40 <psygnisfive> hmm
00:01:46 <psygnisfive> lemme do it in ruby! :o
00:01:53 <ehird> good luck getting as pretty
00:02:02 <ehird> % runhaskell sierpinski.hs 30 30 a
00:02:02 <ehird> sierpinski.hs: usage: sierpinski [w h]
00:02:02 <oerjan> intercalate "\n" is unlines
00:02:03 <ehird> heh
00:02:05 <ehird> ermove "sierpinski"
00:02:21 <ais523> oerjan: ?
00:02:31 <oerjan> well, except the final \n
00:02:53 <ehird> oerjan: psygnisfive: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322#a2323
00:02:54 <ehird> updated
00:02:55 <ais523> what does unlines fo, anyway
00:02:57 <ais523> *do
00:03:06 <ehird> ais523: [[String]] -> [String]
00:03:08 <ehird> adds \ns./
00:03:14 <ais523> ah
00:03:21 <ehird> anyway, psygnisfive, if you can get it that elegant in that short as code I'll be very impressed
00:03:25 <ais523> as you may have guessed, I have a highlight on the word "INTERCAL"
00:03:27 <ehird> Haskell is exceedingly godo at this type of stuff
00:03:30 <ais523> and apparently it's case-insensitive
00:03:30 <ehird> heh
00:03:31 <oerjan> ais523: oh
00:03:38 <psygnisfive> i suppose it depends on your notion of elegant ;)
00:03:39 <lament> exceedingly Godot
00:03:52 <ehird> psygnisfive: end end end end end is very elegant.
00:03:53 <ehird> not.
00:03:59 <ais523> }}}}}
00:04:01 <psygnisfive> :P
00:04:06 <ehird> ais523:
00:04:07 <oerjan> ais523: intercalate is a recent addition, no more than a couple years
00:04:16 <ehird> fuck yeah indentation.
00:04:19 <ais523> ehird: I also have a highlight on the word "ais523"
00:04:30 <ais523> and no, indentation just messes up too many things that don't come up very often
00:04:43 <ais523> I've seen whitespace borkage far too often to be comfortable with it
00:05:07 <ehird> WFM
00:05:30 <ais523> ehird: for instance, what if you're trying to type a python program over a serial cable by hand?
00:05:36 <ehird> don't do that.
00:05:39 <ais523> you really don't want to have to type out the indentation in that case
00:05:48 <ais523> ehird: exactly, that's a limitation of the language
00:05:55 <ehird> % runhaskell sierpinski.hs 0 0
00:05:55 <ehird> *
00:05:56 <ehird> hmm, an off by one
00:06:05 <ehird> oh well
00:06:10 <ais523> also, tabs vs. spaces
00:06:20 <ais523> normally not a problem, you can just automatically reindent
00:06:23 <ais523> huge problem in Python
00:06:34 <ehird> tabs in Python produce a warning
00:06:40 <ehird> on every run
00:06:41 <ehird> problem solve
00:06:42 <ehird> d
00:06:51 <ais523> ok, now you're just inflating code size for no reason
00:07:03 <ehird> by SEVERAL BYTES
00:07:16 <ais523> ehird: whitespace is a substantial proportion of a typical python program
00:07:21 <ais523> especially at 4-space indentation
00:07:22 <psygnisfive> :o
00:07:24 <psygnisfive> pastie.org is down D:
00:07:27 <ais523> yes, it is
00:07:35 <psygnisfive> what can i use instead :|
00:07:38 <ais523> so much for ehird's permanent pastes for helping logreaders things
00:07:44 <ais523> and use rafb.net, it annoys ehird
00:07:45 <ehird> rafb deletes permanently
00:07:48 <ehird> pastie just happens to be down
00:07:51 <ehird> psygnisfive: paste.lisp.org
00:08:16 <psygnisfive> has no ruby
00:08:26 <psygnisfive> but ok
00:08:26 <ehird> so what
00:08:27 <ehird> i have eyes
00:08:59 <psygnisfive> http://paste.lisp.org/display/76862
00:09:07 <lament> two eyes live, one eye dies.
00:09:24 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322#a2323 is more readable, more elegant and quicker
00:09:29 <ehird> also
00:09:32 <ehird> you missed command line arg processing
00:09:36 <psygnisfive> i dont find your elegant at all D:
00:09:45 <psygnisfive> its not supposed to be command line bitch :|
00:09:51 <ehird> i could make it 2 lines of haskell, btw, but I was making it verbose and readable
00:09:52 <psygnisfive> i dont care about your ugly commandline shit
00:10:00 <psygnisfive> make it smaller!
00:10:02 <ehird> ugly, lol
00:10:05 <ehird> no, I like it
00:10:09 <psygnisfive> i want to see smaller
00:10:19 <psygnisfive> i could do more readable too i guess
00:10:21 <ehird> k, here
00:10:52 <ehird> import Data.Bits
00:10:52 <ehird> import Data.List
00:10:53 <ehird> sierpinski w h = [ [ x .&. y == 0 | x <- [0..w] ] | y <- [0..h] ]
00:10:55 <ehird> main = putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ sierpinski 30 30
00:10:57 <ehird> you could omit the sierpinski definition line:
00:11:08 <ehird> main = putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ [ [ x .&. y == 0 | x <- [0..30] ] | y <- [0..30] ]
00:11:31 <ehird> http://codepad.org/lQGGDWNZ <- on the #haskell codepad, newsham added me
00:12:03 <ais523> ehird: you're missing a * at the right and at the bottom
00:12:10 <psygnisfive> no hes not
00:12:16 <psygnisfive> he just didnt go up to that start is all :p
00:12:24 <ehird> yeah, 31,31 would fix that
00:12:27 <ehird> but it is fine
00:12:30 <ais523> oh, ok
00:13:34 <ehird> psygnisfive: http://codepad.org/Y1PV2gVc
00:13:37 <ehird> newsham centered it :D
00:14:07 <psygnisfive> lol
00:14:42 <ehird> anyway, very nice algorithm psygnisfive
00:14:51 <ehird> have you noticed how much the sierpinski definition resembles the mathematical one you gave?
00:14:52 <psygnisfive> its not my discovery.
00:14:55 <ehird> see, that's how awesome it is :P
00:14:59 <psygnisfive> no i havent actually
00:15:15 <psygnisfive> i also discovered a way to generate a gasket inductively over a graph
00:15:32 <ehird> { (x,y) : x,y in N, &(x,y) = 0 }
00:15:32 <ehird> [ (x,y) | x <- [0..w], y <- [0..h], x .&. y == 0 ]
00:15:41 <ehird> first is your mathematical one, second is my haskell one
00:15:44 <psygnisfive> oh oh well
00:15:58 <psygnisfive> my first one was actually intended to be pseudohaskell from the beginning ;)
00:16:14 <psygnisfive> anyway
00:16:17 <psygnisfive> inductively on a graph:
00:16:38 <psygnisfive> G = (Nodes,Edges) where Nodes = N^2
00:16:55 <psygnisfive> 1: The edge ((0,0),(0,1)) is in Edges
00:17:05 <psygnisfive> 2: The edge ((0,0),(1,0)) is in Edges
00:17:25 <ehird> I wonder what in the bitwise patterns gives rise to sierpinski
00:17:28 <ehird> It's the God fractal...
00:17:50 <ais523> ehird: clearly this is evidence that the universe is run by cellular automata!
00:18:16 <psygnisfive> 3: IFF (i,j) is of incoming degree 1, then ((i,j),(i+1,j)) and ((i,i),(i,j+1)) are in Edges
00:19:04 <psygnisfive> er.. that should obviously be (i,j) not (i,i) on the right there
00:19:17 -!- Jophish has quit (Read error: 104 (Connection reset by peer)).
00:21:25 <psygnisfive> theres also another very simple algorithm that produces an identical gasket
00:21:48 <psygnisfive> thats similarly simple but not as mathematically pure
00:22:43 <psygnisfive> and ofcourse the simple duplicate-to-form-a-new-item algorithm works
00:23:15 <psygnisfive> in a more general way so as to produce not just the sierpinski gasket but also the cantor set, etc.
00:44:27 -!- ais523 has quit (Remote closed the connection).
00:44:51 <psygnisfive> ehird
00:45:01 <ehird> .
00:45:07 <psygnisfive> send me the golly file
00:45:21 <ehird> lazy
00:45:25 <psygnisfive> :|
00:45:39 <psygnisfive> you know who else is lazy?
00:45:40 <psygnisfive> slereah
00:45:43 <psygnisfive> you dont want to be like slereah do you
00:47:02 <oerjan> now that depends. is he rich?
00:47:06 <psygnisfive> no
00:47:10 <psygnisfive> and hes a homosexual!
00:47:17 <psygnisfive> and a communist
00:47:31 <oerjan> communist?
00:47:36 <psygnisfive> yeah
00:47:44 <psygnisfive> well, hes french
00:47:45 <psygnisfive> so
00:47:46 <psygnisfive> same thing
00:47:51 <oerjan> i suspected the homosexual but i never really got it confirmed before
00:54:17 <ehird> haskell is fun like a kitten.
00:54:23 <psygnisfive> lol
00:54:29 <ehird> a kitteny kitten.
00:54:36 <psygnisfive> ehird
00:54:42 <psygnisfive> you're clearly either a girl, or a faggot.
00:54:45 <psygnisfive> take your pick,
00:54:52 <ehird> what about both
00:55:01 <psygnisfive> unfortunately both dosnt apply
00:55:26 <oerjan> you mean lesbians don't like kittens?
00:55:30 <psygnisfive> no
00:55:34 <psygnisfive> they hate them with a passion
00:55:44 <ehird> what about
00:55:45 <ehird> lesbian
00:55:46 <ehird> kittens
00:55:57 <oerjan> you learn something new every day
00:57:25 <psygnisfive> so i discovered a way to make a fuse in GoL
00:59:11 <ehird> psygnisfive: http://bash.org/?105356
01:00:05 <psygnisfive> its a very good point
01:00:10 <psygnisfive> meth makes you like that big time
01:00:16 <psygnisfive> fuse:
01:00:21 <ehird> Then I must be permanently on meth.
01:00:32 <psygnisfive> [right down down left down down]
01:00:41 <ehird> wut
01:00:44 <psygnisfive> repeat until you dont want to
01:00:54 <psygnisfive> color a cell
01:00:55 <psygnisfive> move right
01:00:57 <psygnisfive> color a cell
01:00:58 <psygnisfive> mov down
01:00:59 <ehird> Omg, golly 2.0 is out
01:01:02 <psygnisfive> color a cell
01:01:03 <psygnisfive> move down
01:01:11 <psygnisfive> and so on
01:01:27 <ehird> oh right
01:01:29 <ehird> it removes itself?
01:01:34 <ehird> yeah, a wavy horizontal line does that
01:01:36 <ehird> diagonally
01:01:37 <ehird> sorta
01:01:37 <psygnisfive> eh not as such
01:01:41 <psygnisfive> it sort of...
01:01:46 <psygnisfive> burns itself up :)
01:01:58 <psygnisfive> just do it. make it very long
01:02:23 <oklopol> helloes
01:02:24 <ehird> ah, right
01:02:25 <ehird> simple
01:02:28 <psygnisfive> oi oi
01:02:37 <oklopol> ie
01:03:03 <psygnisfive> can i just say
01:03:06 <psygnisfive> how much i love you guys
01:03:14 <psygnisfive> for being so dorky that i cant talk about this shit with you
01:03:15 <psygnisfive> <3
01:03:44 <oerjan> er, "cant"?
01:03:53 <psygnisfive> can*
01:04:02 <psygnisfive> damn fingers
01:04:16 * oerjan swats psygnisfive's fingers for him -----###
01:04:24 <psygnisfive> <3
01:07:28 <oklopol> bash sucks
01:08:13 <oklopol> also have i mentioned hardcover books are awesome
01:08:20 <oklopol> they are just incredible
01:08:33 <oklopol> especially when they're really thick and clean
01:08:41 <oklopol> like 1300 pages
01:08:42 <oklopol> this one
01:09:06 <oklopol> i should probably buy another one of those for just touching and licking
01:09:21 <ehird> XD
01:09:43 <psygnisfive> ew :|
01:09:50 <ehird> booksexual
01:10:04 <oklopol> ew?
01:10:34 <oklopol> i'm a bibliophile in many senses
01:11:35 <oklopol> mmmm also when you open it, there's tons of shit i'll never understand, but it's so pretty
01:11:37 <ehird> "and then you'd just have giant red orbs flying around the planet that can eat up functional satelites katamari-style. "
01:11:42 <ehird> NAAA, NA NA NA NA NA NA NA
01:13:45 <psygnisfive> im off to the cafe
01:13:51 <psygnisfive> boys goys
01:15:12 <neldoreth> good night
01:18:09 <oerjan> ehird: er, what?
01:18:21 <ehird> oerjan: katamari damacy
01:18:53 <oerjan> well i've slightly heard of that, but it was the rest of it i wondered about
01:19:48 <oerjan> now if they could use it for cleaning up space junk... :D
01:24:23 <ehird> 00:23 Tseg: That makes sense. Here's my reference trick: mfix(f)=let r=newRef(Nothing) in ContIO(\to->in runIO(f(unJust(readRef(r))))(\v->do {writeIORef(r)(Just(v)); to(v)}))
01:24:25 <ehird> OH MY GOD IT IS C.
01:24:32 <ehird> oerjan: THAT IS HASKELL WTF
01:24:44 <comex> what the fuck
01:24:49 <comex> even I know that's bad Haskell
01:24:57 <ehird> he's a newbie from C
01:24:58 <ehird> but JESUS CHRIST
01:25:21 <comex> runIO $ f $ unJust $ readRef $ r
01:25:23 <comex> plskthx
01:25:29 <ehird> "readRef $ r" fail
01:25:32 <ehird> that's readRef r
01:25:33 <ehird> also ti should be
01:25:34 <comex> err, yeah
01:25:39 <ehird> runIO . f . unJust . readRef $ r
01:26:01 <comex> does that work?
01:26:04 <comex> $ confuses me
01:26:10 <comex> it's an operator that does nothing but it has a high precedence
01:26:20 <comex> I see
01:26:20 <ehird> it doesn't do nothin
01:26:21 <ehird> g
01:26:23 <ehird> () is the empty operator
01:26:25 <comex> it does nothing
01:26:25 <ehird> ($) = ()
01:26:28 <ehird> no
01:26:32 <comex> a $ b = a b
01:26:35 <comex> that's the definition
01:26:37 <ehird> it's just that regular application is an infix operator with a 0-length name
01:26:40 <ehird> $ is an explicit name for it
01:26:51 <ehird> (and yes, I know that's a YO DAWG situation)
01:27:56 <oerjan> it's a yodawgmorphism
01:28:46 <oerjan> or strictly speaking, supdawgmorphism, which is dual to an infdawgmorphism
01:37:19 <comex> ehird: also, that is so much harder to read than runIO(f(unJust(readF(r))))
01:37:23 <comex> though much prettier
01:37:31 <comex> but less clear on what it's doing
02:09:20 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
02:10:05 <psygnisfive> ok im back
02:19:29 -!- oklopol has quit (Read error: 60 (Operation timed out)).
02:24:52 -!- bsmntbombdood has joined.
02:36:20 -!- olsner has quit (Remote closed the connection).
02:45:06 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
02:45:06 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
02:45:06 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- kwertii has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- Azstal has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- Dewio has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- MizardX has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- lament has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- GreaseMonkey has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
02:45:10 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
02:45:10 -!- oerjan has quit (calvino.freenode.net irc.freenode.net).
02:45:14 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
02:45:21 -!- oerjan has joined.
02:45:21 -!- lifthrasiir has joined.
02:46:37 -!- kerlo has quit (Remote closed the connection).
02:50:02 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
02:50:02 -!- oerjan has quit (calvino.freenode.net irc.freenode.net).
02:50:59 -!- lament has joined.
02:50:59 -!- kerlo_ has joined.
02:50:59 -!- lifthrasiir has joined.
02:50:59 -!- oerjan has joined.
02:50:59 -!- bsmntbombdood has joined.
02:50:59 -!- neldoreth has joined.
02:50:59 -!- kwertii has joined.
02:50:59 -!- GreaseMonkey has joined.
02:50:59 -!- Slereah has joined.
02:50:59 -!- MizardX has joined.
02:50:59 -!- psygnisfive has joined.
02:50:59 -!- Ilari has joined.
02:50:59 -!- fizzie has joined.
02:50:59 -!- fungot has joined.
02:50:59 -!- ehird has joined.
02:50:59 -!- AnMaster has joined.
02:51:00 -!- Azstal has joined.
02:51:00 -!- Leonidas has joined.
02:51:00 -!- Dewio has joined.
02:51:00 -!- GregorR has joined.
02:51:00 -!- Asztal has joined.
02:51:00 -!- sebbu has joined.
02:51:00 -!- mtve has joined.
02:51:00 -!- ineiros has joined.
02:51:00 -!- pikhq has joined.
02:51:00 -!- Robdgreat has joined.
02:51:00 -!- rodgort has joined.
02:51:00 -!- SimonRC has joined.
02:51:00 -!- dbc has joined.
02:51:00 -!- ski__ has joined.
02:51:00 -!- irc.freenode.net has set channel mode: +o lament.
02:53:05 -!- Deewiant_ has joined.
03:03:42 -!- Deewiant has quit (Connection timed out).
03:29:56 -!- Sgeo has joined.
03:54:06 -!- comex has quit (Read error: 113 (No route to host)).
04:17:35 -!- oerjan has quit ("Good night").
04:20:17 -!- sEvher has joined.
04:22:21 -!- sEvher has left (?).
04:37:21 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
04:38:11 -!- bsmntbombdood has joined.
04:38:40 -!- neldoreth has quit (Read error: 113 (No route to host)).
04:43:50 <bsmntbombdood> given a big directory of text, i need a fast way of searching it
04:43:56 <bsmntbombdood> (faster than simple grep)
04:55:56 <MizardX> unless it's sorted (or some known permutation of sorted) you can't go any quicker than grep
04:58:46 <MizardX> ... or has any other property you can exploit for speed
04:59:15 <bsmntbombdood> you can build an index
04:59:50 <bsmntbombdood> building the index ~ grep
04:59:56 <bsmntbombdood> search < grep
05:04:08 <MizardX> building the index + searching > grep
05:11:52 <MizardX> Anyhow, I don't know much about indexing, and am to tired to research it now. Good night.
05:39:49 -!- Sgeo has quit ("Leaving").
07:30:37 -!- kwertii has quit (Remote closed the connection).
07:30:50 -!- kwertii has joined.
07:32:28 -!- asiekierk has joined.
07:32:29 <asiekierk> hello
07:34:47 <Slereah> hey.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:44 -!- neldoreth has joined.
08:20:24 -!- kwertii has quit ("bye").
08:28:01 -!- oklopol has joined.
08:40:07 -!- Deewiant_ has quit (calvino.freenode.net irc.freenode.net).
08:42:04 -!- Deewiant has joined.
09:15:06 <AnMaster> MizardX, building an index is a one time cost though, so once you done it you can use it several times
09:15:29 <AnMaster> but for a one time search a plain grep would be faster than first building the index
09:16:56 <AnMaster> that assumes the datset doesn't change, if it does you would need to rebuild (possibly partial, for text files you could speed up rebuild by skipping if modification time hasn the index.
09:16:59 <AnMaster> hasn't changed)
09:17:30 <AnMaster> blergh at hitting enter instead of ' ...
09:18:50 <fizzie> Also indexing is non-trivial if you want to include things like stemming.
09:19:30 <fizzie> Not that there wouldn't be a pile of tools and libraries for that short of stuff.
09:19:34 <fizzie> s/short/sort/
09:19:37 <AnMaster> well ok
09:19:46 <AnMaster> fizzie, grep is non-trivial if you want that too
09:19:55 <fizzie> Yes, but grep's already there always.
09:20:07 <fizzie> It's like a natural law; there's grep everywhere.
09:20:13 <AnMaster> fizzie, well I mean, you can't do stemming in grep afaik
09:20:20 <AnMaster> not GNU grep at least
09:20:32 <fizzie> Right, you meant that. Well, no.
09:21:07 <AnMaster> and if not the GNU tool then probably no other grep either. It's like a natural law; the GNU tools are always the most bloated ones.
09:21:32 <fizzie> Stemming in grep would be a bit over-the-top even for a GNU tool.
09:21:44 <AnMaster> exactly
09:22:04 -!- tombom has joined.
09:22:05 <AnMaster> fizzie, anyway I don't know if it would be possible to use any sort of index for stuff like grep -E
09:22:23 <AnMaster> I suppose basic wildcards work with indexes. Or how would LIKE work in SQL?
09:23:14 <fizzie> At least PostgreSQL optimizes only LIKE expressions of the type "foo%" (i.e. prefix-matching) using indices.
09:23:22 <AnMaster> hm ok
09:23:46 <AnMaster> fizzie, what is the FTS stuff in postgre about btw?
09:23:51 <AnMaster> full text index or something iirc
09:23:59 <fizzie> "The optimizer can also use a B-tree index for queries involving the pattern matching operators LIKE and ~ if the pattern is a constant and is anchored to the beginning of the string — for example, col LIKE 'foo%' or col ~ '^foo', but not col LIKE '%bar'."
09:24:08 <fizzie> Yes, it's got a full-text-search thingie.
09:24:21 <AnMaster> is that for LIKE or for something else?
09:24:30 <fizzie> Something else.
09:24:38 <AnMaster> I see. How does it work?
09:24:47 <fizzie> It's got a different way of making queries, pretty much a bag-of-words that you can search for.
09:24:54 <AnMaster> hm ok
09:25:15 <fizzie> And it works "the usual way", with a so-called inverted index: there's a mapping from words to "documents" where they occur.
09:26:02 <AnMaster> hm
09:26:16 <AnMaster> I suspect using indexes for regex would be hard
09:26:51 <fizzie> Yes; though you could possibly use them in some special cases to limit the amount of records that need to be actually tested with the real regex engine.
09:27:00 <AnMaster> well true
09:27:17 <AnMaster> "foo|bar|quux" would be trivial to use an index for for example
09:27:28 <AnMaster> wait is that valid? two "for" after each other...
09:29:39 <fizzie> I guess you could (in that particular case) match the words in your index (which is less text than the indexed stuff) against foo|bar|quux, and then select those places where they occur.
09:29:39 <AnMaster> btw, though I know the current xkcd is from yesterday I think it is much better than recent average
09:29:55 <AnMaster> (just forgot to comment on it yesteday in here)
09:30:25 <fizzie> A suffix tree is also nice if you really need a fast way of "check if this long piece of text exactly contains this arbitrary substring", but I think it takes more space (larger than the original text) than your general full-text-search inverted-index (which I think in reasonable use cases ends up being less; I think I saw a figure like "30 % of your data" in some Lucene documentation or something).
09:30:45 <AnMaster> fizzie, best way: CAM
09:30:47 <AnMaster> ;)
09:30:56 -!- GreaseMonkey has quit ("Client Excited").
09:31:28 <AnMaster> though I doubt that would help for regexes
09:31:48 <AnMaster> still, it is probably the fastest way to search in general.
09:32:56 <fizzie> Doesn't really help when all you've got is software, of course.
09:33:08 <AnMaster> true
09:33:15 <fizzie> I think I'll go do an early-ish (10:33 local-time) lunch now.
09:33:22 <AnMaster> fizzie, one sec
09:33:28 <fizzie> Hm?
09:33:33 <AnMaster> fizzie, it seems hard to speed up regex at all really
09:33:50 <AnMaster> compared to many other types of searches
09:34:13 <AnMaster> or?
09:34:23 <fizzie> Yes, I'd certainly say so.
09:34:52 <AnMaster> fizzie, the same goes for one loopup -> several regex matching
09:35:02 <AnMaster> like for a spamfilter
09:35:26 <AnMaster> and then I mean spamfilters for ircds mostly
09:35:29 <fizzie> Google Code does regular expression search over a large set of data; but no-one knows (well, except Google themselves) how it's done.
09:35:42 <AnMaster> fizzie, ok *that* is interesting
09:35:54 <AnMaster> hm
09:35:57 <fizzie> That's a large set of constant data, wouldn't help in an ircd spam-filter where every sentence is new.
09:36:16 <AnMaster> fizzie, yes, and you need to match each line to several regexes
09:36:23 <fizzie> Wikipedia just has some idle speculation: "... but appears to have combined precomputed indices with a POSIX compliant regular expression engine.[citation needed][original research?]"
09:36:42 <AnMaster> for a set of wildcard patterns you could do some easier matching
09:37:14 <AnMaster> storing them sorted would help selecting a better one earlier for example
09:37:27 <AnMaster> unlike a regex. (zzz)?aaa
09:37:56 <AnMaster> you still have to deal with * at the start though
09:38:08 <AnMaster> anyway, cya. Have to leave too.
09:38:38 <fizzie> For "multiple regexps against a single line", you can combine the regexps into a single one, then compile that one to a single huge state machine.
09:55:44 -!- ais523 has joined.
10:32:18 <AnMaster> fizzie, hm ok
10:32:28 <AnMaster> fizzie, good idea even
11:01:54 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client").
11:04:29 <fizzie> I think flex does sort-of something like that in the scanners it builds. I mean, basically what it does is to have a large set of expressions to match against the input, and the scanner it generates seems to resemble a state machine. I haven't looked at the details.
11:09:54 <Deewiant> http://www.youtube.com/watch?v=1yH_j8-VVLo - amusing short piece on Erlang
11:13:59 <fizzie> Heh; I missed the "promoted videos" side-bar heading, so the page looked as if it said "[down-arrow] Related videos", followed by "Funny Face Yoga", "The Cat Phone - PetTube..." and "Failed Toy Pitch - Come...". They didn't sound very related to me.
11:14:13 <fizzie> Although I guess Erlang use can easily lead to Funny Face Yoga. Or something.
11:38:30 <AnMaster> iirc I saw a regex -> C generator
11:38:32 <AnMaster> forgot the name
11:39:09 <AnMaster> ah yes re2c
11:39:12 <AnMaster> never tried it
11:43:26 <AnMaster> <Deewiant> http://www.youtube.com/watch?v=1yH_j8-VVLo - amusing short piece on Erlang <-- old
11:44:55 <AnMaster> ah no, just the small preview image was old. from another video
11:45:14 <fizzie> I have that regex -> brainfuck generator. :p
11:45:18 <AnMaster> also one of those images are from BOIC screen saver...
11:45:30 <AnMaster> BOINC*
11:46:26 <AnMaster> fizzie, wait what? PCRE?
11:46:26 <fizzie> "For maximum performance. [Footnote, tiny print: The expression "maximum performance" is based on the reasonable assumption that your computational platform is based on the Brainfuck industry-standard low-level architecture.]"
11:46:43 <AnMaster> fizzie, link?
11:46:43 <fizzie> No, just very basic regexps.
11:47:12 <fizzie> Kleene star, the | operation and concatenation; I don't know if I had anything else.
11:47:42 <fizzie> I'll grep my logs; I dug it up not very long time ago (certainly not more than a couple of months) for someone else on this channel.
11:47:51 <AnMaster> thought it was http://www.youtube.com/watch?v=uKfKtXYLG78 first
11:48:30 <AnMaster> which is IMO way funnier and interesting
11:50:51 <Deewiant> Yes, but that one's actually old. :-P
11:53:07 <fizzie> AnMaster: http://zem.fi/~fis/BFRE.java -- then "javac BFRE.java" and "java -cp . BFRE '(ab)*' > test.b" should generate a test.b which accepts (outputs "acc!") strings like "abab" and "abababab" but rejects (outputs "rej!") strings like "abba".
11:53:30 <AnMaster> why do you like java so much
11:53:31 <fizzie> I seem to remember it generating rather large brainfuck output files.
11:53:50 <fizzie> I don't, I just was having a Java phase at that moment.
11:54:03 <fizzie> Currently I'm back in the Perly period, having gone through a short bit of Python there.
11:54:32 <AnMaster> fizzie, what about C++?
11:54:53 <fizzie> I'm eagerly waiting for the next C++ sprint, I could actually work on jitfunge a bit at that point.
11:54:56 <AnMaster> jitfunge was in C++ right?
11:55:20 <fizzie> It's like you read my mind here.
11:56:08 <AnMaster> fizzie, so what if you need to use another language suddenly?
11:56:16 <AnMaster> like an assignment or whatever
11:56:19 <AnMaster> which doesn
11:56:29 <AnMaster> doesn't* match the current sprint
11:56:39 <AnMaster> or whatever you called it
11:57:05 <fizzie> A "period", by way of analogy to, say, Picasso's blue period.
11:57:35 <AnMaster> fizzie, I guess it was lucky that there wasn't a shortage of blue paint during that period
11:57:37 <fizzie> But I guess that depends. It's not like I couldn't touch other languages, it's more of a preference for any on-my-free-time things.
11:57:47 <AnMaster> or maybe there was a shortage of other pigments?
11:57:50 <AnMaster> apart from blue
11:58:01 <fizzie> Actually that compiled (ab)* isn't so bad; it's just something like 18.5 80-column lines.
11:59:16 <AnMaster> fizzie, in cfunge it would be way shorter: "PXER"4( "*)ba(" ;something I forgot; ;forgot what commant it was in REXP;
11:59:22 <AnMaster> ;P
11:59:36 <AnMaster> does CCBI implement REXP btw?
11:59:46 <AnMaster> Deewiant, ^
11:59:51 <AnMaster> or 3DSP
11:59:52 <Deewiant> AnMaster: v
11:59:54 <Deewiant> No
11:59:57 <Deewiant> AnMaster: ^
11:59:59 <Deewiant> AnMaster: v
12:00:00 <AnMaster> right
12:00:00 <Deewiant> Yes
12:00:01 <Deewiant> AnMaster: ^
12:01:00 <fizzie> AnMaster: There's an option in BFRE to generate commented brainfuck: just change line 621 from "String bf = re.bf();" => "String bf = re.bf(false);" and recompile.
12:01:21 <AnMaster> v >
12:01:21 <AnMaster> v> >
12:01:21 <AnMaster> #
12:01:21 <AnMaster> > v^<
12:01:21 <AnMaster> Deewiant: ^
12:01:21 <AnMaster> I see
12:01:37 <Deewiant> Infinite loop, oh dear
12:01:42 <AnMaster> Deewiant, no?
12:01:49 <Deewiant> Yes.
12:01:52 <AnMaster> oh right
12:01:56 <AnMaster> v<
12:01:58 <AnMaster> should have been that
12:02:07 <AnMaster> wait no
12:02:12 <AnMaster> Deewiant, not infinite loop
12:02:12 <Deewiant> The v in the lower right corner is an infinite loop
12:02:33 <fizzie> In the same sense than your plain old "v" was.
12:02:38 <Deewiant> (But of course that whole thing can only loop forever anyway)
12:02:40 <AnMaster> Deewiant, exactly
12:03:01 <AnMaster> fizzie, well I assumed that too
12:03:02 <Deewiant> I'm just wondering if I was supposed to traverse all the chars or not
12:03:13 <AnMaster> Deewiant, huh?
12:03:55 <Deewiant> Hmm, right, I'm supposed to start at the ^ and not the v :-P
12:04:03 <Deewiant> Oh well.
12:04:12 <fizzie> I thought that was quite logical, since it's what was after the "name:" part.
12:04:18 <AnMaster> hm iirc someone said GCC is getting a plugin architecture soon. Can anyone confirm this?
12:04:18 <fizzie> That BFRE thing doesn't even optimize long strings of +s or -s; could save a lot in the generated output with just that. So don't use it in a production system.
12:04:27 * AnMaster doesn't have browser running atm
12:04:28 <Deewiant> fizzie: I read it as "execute the above".
12:05:16 <AnMaster> hm, maybe cfunge should have optional plugin support, to support static analysers and such
12:05:49 <AnMaster> wait what I planned just needs to parse the trace output
12:05:53 <AnMaster> hm
12:09:43 <fizzie> I would like to work on jitfunge more if there wasn't that damned self-modification going on. I can't even compile a constant-argument p into a simple memory store, without worrying that later the jitter is going to create a compiled trace at that location, and it will then be invalidated if this particular p instruction is ever executed.
12:14:19 <AnMaster> fizzie, heh
12:14:29 <AnMaster> fizzie, I'm sure it can be solved somehow.
12:15:17 <AnMaster> fizzie, also if there wasn't self modification you could just compile it normally without needing JIT
12:16:00 <fizzie> Given the funky Befunge code-flow, that's not completely trivial either; I'd still suspect a tracing JIT could be the way to go. It'd just be a lot easier.
12:16:56 <fizzie> Currently jitfunge has a "solution" which basically boils down recording in funge-space all the cells where any compiled-to-memory-store-puts refer to, and later if we end up executing code in such a place, invalidating the referring code.
12:17:18 <AnMaster> mhm
12:17:44 <fizzie> (Which means that when it's recompiled and compiling the 'p', it knows to use the put-it-there-carefully function call instead of a compiled store.)
12:18:15 <AnMaster> fizzie, put it there carefully mean "invalidate compiled code"?
12:18:23 <AnMaster> means*
12:18:26 <fizzie> Yes, pretty much.
12:18:48 <AnMaster> fizzie, how did you handle pop on empty stack now again?
12:19:36 <fizzie> I don't have a solution to a piece of code where there are two "routines", and each of them 'p'-modifies the other, then "calls" (well, goes to) the other; they both end up being recompiled all the time, but it'd need serious cleverness to notice something like that and compile the routines into "before-the-modified-place" and "after-the-modified-place" halves.
12:19:58 <AnMaster> fizzie, what about ' and s ?
12:20:57 <fizzie> There's a PROT_NONE memory block "under" the stack, and I catch the SIGSEGV, extract the machine context from the signal, examine the opcodes near the offending instruction to see what was going on, then manipulate the necessary registers to simulate a "it returned a zero but did not move the stack pointer" situation.
12:21:09 <AnMaster> fizzie, anyway one idea would be to note that the place is edited often, and once a threshold is reached skip compiling the cell that p writes to, and compile two traces one on each side of that point
12:21:54 <AnMaster> fizzie, hm so popping on empty stack has quite high overhead?
12:22:18 <fizzie> I haven't measured, but very likely.
12:22:28 <fizzie> At the very least something compared to setjmp/longjmp usage.
12:22:35 <AnMaster> right
12:23:21 <AnMaster> fizzie, the most likely case of hitting that would be on >:#,_ idiom
12:23:29 <AnMaster> so optimising that specially maybe?
12:23:37 <AnMaster> on the*
12:23:48 <fizzie> I always put an explicit 0 there; I usually have other stuff on the stack anyway.
12:24:19 <fizzie> But a print-loop could be detected specially, yes.
12:24:19 <Deewiant> Mycology pops an empty stack quite often, I think
12:24:39 <AnMaster> fizzie, well depends, I often write test cases, so I tend to know if it is "GOOD" or "BAD" and not have anything useful on stack any more
12:24:46 <AnMaster> thus probably doing an n
12:25:05 <AnMaster> if I have garbage on it
12:25:06 <fizzie> The "note often-edited places" is also something I've thought about. But it's yet more stuff to track, I'd need to keep write-counts on just about all modified-by-code funge-space locations to see if they are modified often. The simplest "someone wrote there once, so someone's probably going to keep modifying it" rule might be too simple.
12:25:13 <Deewiant> Yeah, I tend to do "n<string>" instead of "0<string>" in Mycology
12:25:27 <AnMaster> fizzie, doesn't Java HotSpot do something like that?
12:25:29 <AnMaster> well often executed
12:25:31 <AnMaster> in that case
12:25:54 <fizzie> Yes, but it doesn't need to track all data storage memory for potential changes also. :p
12:25:56 <AnMaster> Deewiant, I suspect that is most common in test case code
12:26:05 <AnMaster> also I often use the first row as temp storage
12:26:12 <fizzie> Maybe I could have a "someone modified a location which actually contained some code that was previously executed" rule.
12:26:15 <AnMaster> I mean I don't need it after the start
12:26:32 <AnMaster> it is setup, and later temp storage
12:27:04 <AnMaster> on the other hand, sometimes the setup code write stuff into the program once
12:27:42 <AnMaster> btw, does anyone have a ?-based unbiased RNG for funge? Range 0-9
12:28:13 <AnMaster> I tried a tree structure but it is hard to make sure you get an even probability for all cases
12:28:36 <fizzie> Fungot keeps some stuff semi-permanently on the stack (I don't remember what stuff; some numbers related to the raw IRC socket data under processing, I think) so I can't clear it. Since I don't use the stack-stack at all.
12:29:19 <AnMaster> fizzie, another thing that might be useful to optimise somehow is if one side of a ? has an > pointing at the ?
12:29:39 <AnMaster> quite common when you want n outputs for n < 4
12:30:41 <fizzie> I don't really remember how I did ? right now. I think currently it always ends a compiled piece of code.
12:36:40 <fizzie> I think http://zem.fi/~fis/rand.txt should work for unbiased [0-9]; it's based on the ? => ??? tree of generating unbiasedly 0-11 (0-3 from first ?, 4-7 from second, 8-11 from third) except that here the two unnecessary outputs are redirected back to the initial ? for a re-roll.
12:38:12 <AnMaster> 1-9 is easier
12:38:37 <fizzie> Sure, since you can just make the 1-3, 4-6, 7-9 decision, and then use a three-output ?.
12:38:58 <AnMaster> http://paste.lisp.org/display/76883
12:39:01 <AnMaster> like that yes
12:39:38 <AnMaster> fizzie, hm what about one with an upper time bound?
12:39:48 <AnMaster> I mean both or ours is O(inf) in worst case
12:40:05 <AnMaster> mine could possibly bounce between >? forever
12:40:05 <Slereah> O(inf) sounds pretty slow!
12:40:08 <AnMaster> your redirect back
12:40:13 <AnMaster> Slereah, worst case
12:40:22 <AnMaster> Slereah, "random, if bad try again"
12:40:25 <fizzie> I also have a >? in the first three-way decision, it could keep bouncing there.
12:40:29 <Deewiant> The probability of that worst case is zero though
12:40:42 <AnMaster> Deewiant, really? 9999999999999999999999999
12:41:07 <Deewiant> AnMaster: Given a ? which is guaranteed to go in all directions, it is
12:41:27 <AnMaster> Deewiant, yes it is, on average and if you wait long enough
12:42:41 <Deewiant> Anyhoo, if you want an even and bounded 0-9 generator in Befunge with ? I'm fairly sure it can't be done, you can only get powers of 2
12:43:07 <AnMaster> hm
12:43:42 <AnMaster> Deewiant, this gives raise to an interesting question...
12:43:53 <AnMaster> "bounded time even randomness complete" languages
12:44:07 <AnMaster> ~
12:44:08 <Deewiant> It can be done with the generator in FIXP, I forget the instruction's name (probably R)
12:44:42 <fizzie> You can get a "reasonably even" one by generating a large 2^n number in an even way, then taking %10; the biasedness goes down the larger number you bother to create there.
12:44:44 <AnMaster> Deewiant, hm another idea: implement a PRNG in funge, using ? for the seed or randomness pool
12:44:48 <AnMaster> depending on how you do it
12:45:26 <Deewiant> fizzie: And you can get "reasonably bounded" by doing >? :-)
12:46:26 <fizzie> After all, "rand() % N" (or the division-based alternative to get supposedly better, higher bits) is not even either, unless (RAND_MAX+1) % N == 0, but people still do it.
12:46:36 <Deewiant> I don't. :-P
12:46:51 <AnMaster> as far as I remember the glibc random() is supposed to have good randomness in all bits
12:46:51 <Deewiant> Well, unless I don't care.
12:46:56 <Deewiant> I don't do it in CCBI.
12:47:55 <Deewiant> AnMaster: If RAND_MAX is 4 and rand() is even and you take rand()%2, you're mapping [0,1,2,3,4] to [0,1,0,1,0]: 0 comes out with probability 3/5, 1 with 2/5
12:47:57 <fizzie> Actually fungot uses the "reasonably even" route when selecting what to babble, but that's mostly because I need a rather large range, and it was simpler that way.
12:47:57 <fungot> fizzie: there you are
12:48:51 <AnMaster> Deewiant, mhm
12:49:44 <AnMaster> Deewiant, rand() != random() though. Man page says range for random() is 16 * ((2^31) - 1)
12:49:52 <AnMaster> "approximately"
12:49:57 <AnMaster> wait
12:49:58 <Deewiant> AnMaster: It doesn't matter what function you use
12:49:58 <AnMaster> misread
12:50:00 <AnMaster> that was the period
12:50:02 <AnMaster> duh
12:50:15 <Deewiant> What I said applies for any random number generator
12:50:20 <AnMaster> Deewiant, so what bits are best to take? the middle ones?
12:50:33 <fizzie> Deewiant: On the other hand, RAND_MAX is typically something like 2^31-1.
12:50:35 <Deewiant> That doesn't matter either, unless the generator says some bits are crap
12:50:46 <Deewiant> fizzie: Yes, so the error is small in practice.
12:51:27 <fizzie> You'd have probabilities of .49999999976716935623 and .50000000023283064376 for 0 and 1. Or the other way around.
12:51:36 <Deewiant> AnMaster: IMO the only way to make it even is to go the unbounded route, that's what I do
12:51:48 <AnMaster> Deewiant, in CCBI?
12:51:57 <Deewiant> Yes, and wherever I care about evenness
12:52:15 <Deewiant> Don't do it in cfunge, you'll slow it down! :-P
12:52:23 <Deewiant> I'm going to eat now ->
12:52:25 <fizzie> Fungot does something like "n = 0; for (i = 0; i < 10; i++) n = (4*n) + rand(4); n = n % range;" where rand(4) is done with a single ?, and it's not actually 10, it's something else I forgot.
12:52:27 <AnMaster> Deewiant, I do have a comment in the code about it
12:52:43 <AnMaster> it suggests sending a patch if you need a more uniform rng
12:52:57 <AnMaster> because since RAND_MAX is so large the actual error is very small
12:53:29 <fizzie> fungot: How biased are you?
12:53:29 <fungot> fizzie: i used to have one with size as well as
12:53:54 <AnMaster> The versions of rand() and srand() in the Linux C Library use the same random number generator as random(3) and srandom(3), so the lower-order bits
12:53:54 <AnMaster> should be as random as the higher-order bits. However, on older rand() implementations, and on current implementations on different systems, the
12:53:54 <AnMaster> lower-order bits are much less random than the higher-order bits. Do not use this function in applications intended to be portable when good ran‐
12:53:54 <AnMaster> domness is needed. (Use random(3) instead.)
12:54:04 <AnMaster> from man srand
12:54:11 <AnMaster> man rand gives me some openssl man page instead
12:54:17 <AnMaster> in section 3
12:54:43 <fizzie> Oh? My openssl rand is in section 1.
12:54:47 <fizzie> Since it's a command.
12:54:54 <fizzie> It does refer to RAND_bytes(3).
12:54:56 <AnMaster> well there is OpenSSL API docs
12:55:02 <AnMaster> NAME
12:55:02 <AnMaster> rand - pseudo-random number generator
12:55:02 <AnMaster> SYNOPSIS
12:55:02 <AnMaster> #include <openssl/rand.h>
12:55:24 <AnMaster> RAND_bytes and several more functions are documented there
12:55:34 <fizzie> I don't have such. I might not have installed some openssl-doc package.
12:55:38 <AnMaster> No entry for rand in section 1 of the manual
12:56:08 <AnMaster> fizzie, my openssl is built with useflags: gmp sse2 zlib -kerberos
12:56:13 <AnMaster> where - is turned off
12:56:25 <AnMaster> no separate doc package
12:56:34 <fizzie> I have this: RAND(1SSL) -- rand - generate pseudo-random bytes -- openssl rand [-out file] [-rand file(s)] [-base64] num
12:56:43 <fizzie> It's a bit silly to have all those openssl commands separately, though.
12:56:53 <AnMaster> fizzie, I only have an entry for that in openssl(1)
12:56:56 <AnMaster> I don
12:57:01 <AnMaster> don't* have any 1ssl section
12:57:22 <AnMaster> Cannot open the message catalog "man" for locale "sv_SE.UTF-8"
12:57:22 <AnMaster> (NLSPATH="<none>")
12:57:25 <AnMaster> wonder what that means
12:58:35 <AnMaster> my man didn't install any gettext files or such at least
13:01:41 <fizzie> There are four instances of ? actually executed as code in fungot sources: one is that [0, 2^24-1]-range loop-based generator, two are in a a "unrolled" two-iteration loop generating [0, 15], and the final is in ^bool selecting one out of two outputs.
13:01:41 <fungot> fizzie: what are the other major difference is how much more complex one.
13:02:35 <fizzie> Actually the ^bool case is a bit silly, since it has a >?< structure to get only two outputs; I could've gotten a less bouncy unbiased version very easily.
13:04:43 <fizzie> (There's also the ? character in a "ping? pong!" comment, another comment in the list of punctuation symbols the babble-generator can produce, and yet another in the '? part where the babble-generator actually does a question mark.)
13:11:45 <AnMaster> hm
13:12:05 <AnMaster> how much of fungot source file is actually needed to run fungot
13:12:06 <fungot> AnMaster: mine is fuller extent than many other languages and modules. see scheme/ fnord ls
13:12:12 <AnMaster> iirc there were a huge block of comments at the end?
13:12:29 * AnMaster considers delayed loading and then thinks better of it
13:16:29 <fizzie> Yes.
13:17:08 <fizzie> Out of 495 lines, only 381 are needed.
13:17:41 <AnMaster> still optimising >:#._ might be worthwhile for cfunge in the static area, but the run time overhead of checking for it, hm...
13:17:56 <AnMaster> still,*
13:58:27 -!- jix has joined.
13:59:24 <fizzie> Usually I like writing in TeX math-mode, but occasionally it's not quite as clean as the resulting output: http://www.cis.hut.fi/htkallas/latexmath.png
14:01:34 <Deewiant> 'occasionally'
14:01:48 <Deewiant> Quite often in my experience
14:02:14 <Deewiant> Especially when you have complex arrays and you need to put stuff like \phantoms all over the place to get stuff to align nicely
14:02:57 <AnMaster> fizzie, hm tried LyX? It is quite a nice frontend, and iirc it handles math quite well too
14:02:57 <fizzie> I may have been attempting an understatement. There's one \rule there for spacing.
14:03:03 <AnMaster> not sure about the most advanced stuff
14:03:20 <Deewiant> fizzie: Well, that example isn't that bad IMO :-)
14:03:50 <fizzie> Tried LyX, didn't like it. Maybe it's just my normal aversion to all things gooey. And it was not recently, they might have improved it since then.
14:04:09 <AnMaster> fizzie, recent LyX is a lot better than when I started using LyX
14:04:20 <AnMaster> which was maybe a year ago or so
14:05:10 <fizzie> Well, I'm sure it was at least two years ago when I last tried it.
14:05:30 <AnMaster> fizzie, lyx optionally supports pre-rendering the math expressions on the fly, to be able to show any unsupported commands too
14:05:33 <AnMaster> that is a new feature
14:05:58 <AnMaster> fizzie, however make sure to use the very last release, often package managers in distros lag behind
14:06:12 <AnMaster> oh also I only used the QT4 frontend for it
14:06:41 <AnMaster> iirc they dropped the GTK one since it sucked
14:07:01 <fizzie> I don't really have a choice of what to use on this work-workstation, except I can bug our administrators of course.
14:07:40 <AnMaster> fizzie, can't you install it in ~ ?
14:07:45 <fizzie> I don't want to.
14:08:04 <fizzie> Especially since they've thoughtfully provided us with a version.
14:08:06 <AnMaster> fizzie, I recommend lyx-1.6.0 or later. 1.6.1 is what I use
14:08:19 <fizzie> We're having disk space issues anyway, I think.
14:08:19 <AnMaster> I definitely wouldn't use older ones any more
14:08:29 <AnMaster> 1.6 improved things a lot
14:08:34 <fizzie> Installed LyX here is "LyX version 1.5.6 (Sun, Jul 27, 2008)". Not *old*, but not *new* either.
14:08:37 <AnMaster> fizzie, of course I would also use a very recent texlive
14:08:51 <AnMaster> fizzie, well 1.5 is not so good
14:09:07 <AnMaster> and the math stuff really improved in 1.6
14:09:48 <fizzie> The /home share is again 92 % full; and that's a rather good situation, it's been completely full on occasion.
14:09:52 <fizzie> Filesystem Size Used Avail Use% Mounted on
14:09:54 <fizzie> baldrick:/vol/home 488G 447G 42G 92% /m/fs/home
14:10:17 <AnMaster> huh
14:10:20 <AnMaster> fizzie, quotas?
14:10:23 <fizzie> None.
14:10:25 <AnMaster> also how many users
14:10:51 <fizzie> There's a public, autogenerated-every-weekend list of "disk space usage per user", sorted by amount of space used, so you know who to blame.
14:10:59 <AnMaster> heh
14:11:12 <AnMaster> fizzie, so where is you on that list?
14:11:13 <Deewiant> Your /home is smaller than our /home
14:11:32 <fizzie> Deewiant: Yes, well, it's not the size, it's how we use it.
14:11:51 <AnMaster> fizzie, anyway, don't you have your own computer?
14:12:01 <AnMaster> a laptop or whatever
14:12:06 <Deewiant> nfs:/home 1.3T 211G 444G 33% /home
14:12:28 <fizzie> How does that work? 211 G used, 444 G free, total size 1.3 T?
14:12:41 <Deewiant> I don't know, I was just wondering about that myself
14:12:51 <Deewiant> I do believe the 'free' number is the one that's correct
14:13:06 <AnMaster> hm
14:13:17 <fizzie> Here's our project-shares, where all non-temporary ("work" is for that) big files should be kept:
14:13:18 <AnMaster> well, what file system is it really?
14:13:20 <fizzie> baldrick:/vol/project0 2.0T 1.5T 540G 74% /m/fs/project0
14:13:23 <fizzie> blackadder:/vol/project1 1.4T 1.4T 25G 99% /m/fs/project1
14:13:28 <AnMaster> if it is ext* then the "reserved for root" space...
14:13:37 <AnMaster> and over nfs I'm not sure how that works
14:13:48 <fizzie> It's mounted over NFS, and I'm not quite sure how it works either.
14:13:57 <Deewiant> Anyhoo, I used to lead diskhogs at 14G
14:14:06 <AnMaster> ah wait
14:14:09 <AnMaster> if it isn't a partition mounted
14:14:14 <Deewiant> Then somebody had a broken script and filled the drive with a diskhogs value of 493G
14:14:16 <AnMaster> but a direction on a partition on the server
14:14:41 <AnMaster> of course that would happen then
14:14:50 <AnMaster> size of the sub tree vs size of disk
14:15:10 <fizzie> I'm #91 in our /home directory size-usage list, with ~1.4G. #1 has 20G. And actually ineiros here on this channel is #2 with 18G. :p
14:15:40 <Deewiant> Ours only shows the top 10
14:16:10 <Deewiant> And I think I've been off the mailing list for a few months
14:16:31 <Deewiant> Last one I got was in December
14:16:47 <fizzie> The project directory disk-usage chart is less useful, since it just shows the directories, not directly whose fault it is.
14:17:55 <AnMaster> what about using lyx on your own computer fizzie ?
14:18:26 -!- ais523 has joined.
14:19:02 <fizzie> The laptop is less comfortable than this workstation, with an external monitor, keyboard and mouse. And besides, I couldn't plug my own laptop into the network anyway.
14:19:11 <AnMaster> I see
14:19:12 <ais523> not even using wireless?
14:19:39 <fizzie> It's a separate sort of network then.
14:19:44 <fizzie> No direct SSH access to lab machines.
14:21:39 <Deewiant> Indirect, though?
14:23:58 <fizzie> Yes, "james" is accessible from the Interwebs. But it's still not quite as convenient, even though sshfs-like stuff could make it bearable, if the wireless wasn't so unreliable and laggy.
14:24:52 <Deewiant> Isn't there a plug into the outer network
14:25:13 <fizzie> From what I heard, they're replacing the old "aalto" network (which required a https-based web-page-login) with a completely open "aalto Open" (which is even less part of the university network), and because of that the old network is not actively maintained, while the new one is very under-construction and doesn't seem to be available here.
14:25:33 <fizzie> I think I saw "aalto Open" in one of the lecture halls, though. So maybe they really are working on it, and it's not just a convenient excuse.
14:25:47 <AnMaster> heh
14:25:48 <Deewiant> Aalto Open works better outdoors
14:25:55 <AnMaster> what is "aalto"?
14:25:55 <Deewiant> And in the main building, too, I think
14:25:59 <Deewiant> "Wave"
14:26:03 <AnMaster> mhm
14:26:04 <fizzie> fi:aalto is en:wave, yes.
14:26:16 <fizzie> Also: The noun aalto has 1 sense (no senses from tagged texts)
14:26:16 <fizzie> 1. Aalto, Alvar Aalto, Hugo Alvar Henrik Aalto -- (Finnish architect and designer of furniture (1898-1976))
14:26:23 <fizzie> WordNet is so comprehensive.
14:26:25 <AnMaster> is it a brand name of wireless access points or something?
14:26:29 <Deewiant> The name of both the old wireless network and of the upcoming university which is an amalgamation of a couple of current ones
14:27:03 <ais523> oh dear, those names are always awful
14:27:13 <Deewiant> Indeed
14:27:18 <AnMaster> what is the name of then?
14:27:31 <fizzie> Yes, this year is the last change to graduate from Helsinki University of Technology; after that your papers are from Aalto University.
14:27:44 <Deewiant> Better hurry!
14:27:48 <AnMaster> fizzie, hah
14:27:49 <fizzie> (I hope; in a worst-case scenario they're going to call it the Wave University.)
14:28:08 <fizzie> Sounds like some sort of surfboarding school.
14:28:11 <AnMaster> fizzie, that sounds, um, new age?
14:28:17 <AnMaster> or that
14:28:46 <fizzie> "Aalto University is created through a merger between the Helsinki School of Economics, the University of Art and Design Helsinki and the Helsinki University of Technology." Phew, they're not translating it. Not that I seriously thought they would.
14:28:56 <fizzie> And why is our name mentioned last, anyway?
14:28:59 <AnMaster> what would be wrong with "Helsinki University" then?
14:29:03 <Deewiant> Tsunami University, Tidal Wave University have been some relatively popular derogatory names (in Finnish)
14:29:04 <fizzie> It's taken.
14:29:09 <AnMaster> fizzie, I see.
14:29:10 <Deewiant> AnMaster: There is a Helsinki University alraedy
14:29:15 <Deewiant> s/ae/ea/
14:29:25 <AnMaster> so why separate universities?
14:29:35 <fizzie> Or actually it's University of Helsinki, in English.
14:30:23 <AnMaster> I mean, it would be logical to have one university for all wouldn't it? And different faculties or whatever you call them
14:30:24 <Deewiant> I don't actually know if they even considered merger with the University
14:30:41 <Deewiant> fizzie: Which reminds me, of course it should be Wave High School
14:30:45 <fizzie> And University of Helsinki is this multi-disciplinary generic sort of university, with pretty much everything they do on the university level.
14:31:33 <ais523> <tests carried out by Microsoft> IE loads mozilla.com faster than Firefox, and Firefox loads microsoft.com faster than IE
14:31:47 <ais523> I have no idea what, if anything, this proves...
14:31:59 <Deewiant> :-D
14:32:12 <AnMaster> ais523, source?
14:32:46 <ais523> AnMaster: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=cd8932f3-b4be-4e0e-a73b-4a373d85146d
14:32:48 <AnMaster> because I don't believe microsoft would release that if firefox was faster at microsoft.com...
14:32:58 <AnMaster> hm ok
14:33:01 <AnMaster> bbl food!
14:33:05 <ais523> they released it because their data "proves" that IE is the fastest browser
14:45:23 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
14:45:23 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
14:45:23 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
14:45:26 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
14:45:28 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
14:45:28 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
14:45:28 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
14:45:29 -!- ais523 has quit (calvino.freenode.net irc.freenode.net).
14:45:29 -!- tombom has quit (calvino.freenode.net irc.freenode.net).
14:45:33 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
14:45:33 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- kerlo_ has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
14:45:36 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
14:45:36 -!- Azstal has quit (calvino.freenode.net irc.freenode.net).
14:45:38 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
14:45:39 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
14:45:41 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
14:45:41 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
14:45:41 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
14:45:42 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
14:45:44 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
14:45:44 -!- jix has quit (calvino.freenode.net irc.freenode.net).
14:45:44 -!- Dewio has quit (calvino.freenode.net irc.freenode.net).
14:45:47 -!- MizardX has quit (calvino.freenode.net irc.freenode.net).
14:45:47 -!- lament has quit (calvino.freenode.net irc.freenode.net).
14:45:48 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
14:45:49 -!- asiekierk has quit (calvino.freenode.net irc.freenode.net).
14:45:51 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
14:45:51 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
14:45:52 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
14:49:25 -!- lament has joined.
14:49:25 -!- ais523 has joined.
14:49:25 -!- jix has joined.
14:49:25 -!- tombom has joined.
14:49:25 -!- Deewiant has joined.
14:49:25 -!- oklopol has joined.
14:49:25 -!- neldoreth has joined.
14:49:25 -!- asiekierk has joined.
14:49:25 -!- bsmntbombdood has joined.
14:49:25 -!- kerlo_ has joined.
14:49:25 -!- lifthrasiir has joined.
14:49:25 -!- Slereah has joined.
14:49:25 -!- MizardX has joined.
14:49:25 -!- psygnisfive has joined.
14:49:25 -!- Ilari has joined.
14:49:25 -!- fizzie has joined.
14:49:26 -!- fungot has joined.
14:49:26 -!- ehird has joined.
14:49:26 -!- AnMaster has joined.
14:49:26 -!- Azstal has joined.
14:49:26 -!- Leonidas has joined.
14:49:26 -!- Dewio has joined.
14:49:26 -!- GregorR has joined.
14:49:26 -!- Asztal has joined.
14:49:26 -!- sebbu has joined.
14:49:26 -!- mtve has joined.
14:49:26 -!- ineiros has joined.
14:49:26 -!- pikhq has joined.
14:49:26 -!- Robdgreat has joined.
14:49:26 -!- rodgort has joined.
14:49:26 -!- SimonRC has joined.
14:49:26 -!- dbc has joined.
14:49:26 -!- ski__ has joined.
14:49:26 -!- irc.freenode.net has set channel mode: +o lament.
14:50:12 <AnMaster> um, that table, over how many runs is it averaged
14:50:12 <ais523> the details are in the PDF, I think
14:50:18 <AnMaster> mhm
14:50:25 <ais523> the whole article is about methodology for running comparative browser speed tests
14:51:32 <AnMaster> I'm not sure those differences are actually significant...
14:52:03 <ais523> neither am I
14:52:06 <fizzie> I would go and read the study, but my system is not on the list of Supported Operating Systems on that download page.
14:52:10 <AnMaster> it also depends on which you tested first to a certain degree. DNS cache
14:52:15 <ais523> fizzie: neither is mine, but it worked for me
14:52:21 <AnMaster> same
14:52:26 <AnMaster> I opened in kpdf
14:52:30 <ais523> at least it's just a pdf, last time I tried to get something from microsoft.com it was a pdf wrapped in an exe
14:52:42 <AnMaster> ais523, there is an xls file too hm
14:52:47 <AnMaster> wonder if that is the raw data
14:52:52 <AnMaster> wait
14:52:53 <fizzie> .xps, not .xls.
14:52:53 <AnMaster> no
14:52:55 <ais523> xps
14:52:55 <AnMaster> xps?
14:52:57 <AnMaster> what is xps
14:52:59 <ais523> it's microsoft's rival to pdf
14:53:02 <AnMaster> oh I see
14:53:03 <ais523> that nobody cares about but them
14:53:29 <fizzie> "XML Paper Specification." Funny name.
14:53:49 <AnMaster> fizzie, did they try to make it an ISO standard?
14:55:19 <ais523> they're trying to make it an ecma standard at the moment
14:55:29 <ais523> ISO won't standardise it unless it's standardised by another standards body first
14:55:36 <fizzie> Either one out of two of Microsoft's student-related stuff-delivery-things (DreamSpark or the MSDN Academic Alliance thing) contained a copy of Windows (2k3 server for DreamSpark, various versions for MSDNAA) that was a .iso image (since you need to be able to install it) wrapped in an .exe file (so you can't actually burn it if you don't happen to already have access to a Windows system).
14:55:51 <ais523> although ECMA's widely believed to be controlled by Microsoft, I'm not sure whether that's true or not
14:55:58 <AnMaster> hm ok
14:56:07 <ais523> fizzie: did it work under WINE?
14:56:10 <AnMaster> what does ECMA stand for?
14:56:39 <Asztal> MSNDAA requires you to run a custom downloader. :(
14:56:42 <ais523> european computer manufacturer's association
14:56:51 <ais523> well, it used to
14:56:52 <fizzie> ais523: I actually think it didn't. Don't remember the details. It might've actually been the MSDNAA downloader, in fact.
14:56:55 <ais523> but they renamed it to just ecma
14:56:58 <AnMaster> there are european computer manufacturers?
14:57:06 <ais523> when they decided to expand their own remit
14:57:08 <AnMaster> ARM I know, but they just design processors
14:57:13 <ais523> microsoft certainly aren't european
14:57:39 <AnMaster> ais523, well duh, but what are the European computer manufacturers if any that exist?
14:58:36 <ais523> AnMaster: I can't find any on Google
14:58:47 <ais523> which isn't a good sign, but I'm not very good at using online search engines
14:58:55 <AnMaster> brb
14:59:34 <fizzie> Fujitsu Siemens is partially German (the Siemens side, surprisingly) and they manufacture computers.
15:02:17 <fizzie> Granted, that's the only big-company example I can think of right now.
15:02:51 <oklopol> ais523: which isn't a good sign, but I'm not very good at using online search engines <<< google is not a search engine
15:03:02 <ais523> what do you mean, google isn't a search engine?
15:03:30 <fizzie> Google is a browser.
15:03:38 <oklopol> it doesn't actually take your string and look for it on pages, at least when you'd actually need it to.
15:03:58 <oklopol> well i guess it's a bad search engine, it's a good suggestion engine maybe
15:04:20 <oklopol> it finds what you want to find if you're searching for something that's easy to find anyway.
15:04:41 <fizzie> Ecma was founded in 1961, apparently; the computar system market back then might've been a bit different.
15:04:47 <oklopol> also it's a browser, yes
15:06:20 <fizzie> "Microsoft Robotics Developer Studio 2008". They certainly crank out those tools at a rate.
15:07:02 <asiekierk> yay
15:07:12 <asiekierk> i will soon get the parts for my mechanical TV
15:07:25 <asiekierk> Nipkow Disk - done; Schematic collection - done; Buying - not done :(
15:07:30 <ais523> asiekierk: you're building a mechanical TV?
15:07:32 <asiekierk> Yep
15:07:35 <asiekierk> http://www.sptv.demon.co.uk/nbtv/
15:07:37 <asiekierk> based on this tutorial
15:07:39 <asiekierk> which is easy
15:07:42 <asiekierk> ...way too easy
15:07:46 <ais523> are there any stations broadcasting in mechanical TV format?
15:08:03 <ais523> also, how many pixels horizontal resolution will you get? 16?
15:08:09 <asiekierk> 32x48
15:08:12 <asiekierk> :P
15:08:14 <ais523> not bad
15:08:17 <asiekierk> Heh
15:08:22 <asiekierk> Some even experimented with NTSC color
15:08:28 <asiekierk> and slightly larger res
15:08:31 <asiekierk> like 48xsomething
15:08:37 <asiekierk> But the NBTV standard is 32x47
15:08:38 <asiekierk> x48*
15:08:39 <asiekierk> :P
15:09:00 <asiekierk> And the Nipkow disk was tested a bit of times
15:09:55 <asiekierk> And I used paper glued on "something quite better than cardboard"
15:10:03 <asiekierk> and made 32 holes for the image AND the hole in the middle
15:10:13 <asiekierk> And tested it on my lamp, so I know all the holes work
15:10:56 <asiekierk> as in, spun it manually
15:10:59 <asiekierk> :)
15:14:04 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
15:14:04 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
15:14:05 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
15:14:08 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
15:14:09 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
15:14:09 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
15:14:09 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
15:14:11 -!- tombom has quit (calvino.freenode.net irc.freenode.net).
15:14:12 -!- ais523 has quit (calvino.freenode.net irc.freenode.net).
15:14:14 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- kerlo_ has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
15:14:18 -!- Azstal has quit (calvino.freenode.net irc.freenode.net).
15:14:19 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
15:14:21 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:14:22 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:14:22 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
15:14:22 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
15:14:24 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
15:14:25 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
15:14:25 -!- Dewio has quit (calvino.freenode.net irc.freenode.net).
15:14:25 -!- jix has quit (calvino.freenode.net irc.freenode.net).
15:14:28 -!- MizardX has quit (calvino.freenode.net irc.freenode.net).
15:14:28 -!- lament has quit (calvino.freenode.net irc.freenode.net).
15:14:30 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
15:14:31 -!- asiekierk has quit (calvino.freenode.net irc.freenode.net).
15:14:33 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
15:14:33 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
15:14:34 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
15:15:48 -!- lament has joined.
15:15:48 -!- ais523 has joined.
15:15:48 -!- jix has joined.
15:15:48 -!- tombom has joined.
15:15:48 -!- Deewiant has joined.
15:15:48 -!- oklopol has joined.
15:15:48 -!- neldoreth has joined.
15:15:48 -!- asiekierk has joined.
15:15:48 -!- bsmntbombdood has joined.
15:15:48 -!- kerlo_ has joined.
15:15:48 -!- mtve has joined.
15:15:48 -!- ineiros has joined.
15:15:48 -!- pikhq has joined.
15:15:48 -!- Robdgreat has joined.
15:15:48 -!- rodgort has joined.
15:15:48 -!- SimonRC has joined.
15:15:48 -!- dbc has joined.
15:15:48 -!- ski__ has joined.
15:15:48 -!- sebbu has joined.
15:15:48 -!- Asztal has joined.
15:15:48 -!- GregorR has joined.
15:15:48 -!- Dewio has joined.
15:15:48 -!- Leonidas has joined.
15:15:48 -!- Azstal has joined.
15:15:48 -!- AnMaster has joined.
15:15:48 -!- ehird has joined.
15:15:48 -!- fungot has joined.
15:15:48 -!- fizzie has joined.
15:15:48 -!- Ilari has joined.
15:15:48 -!- psygnisfive has joined.
15:15:48 -!- MizardX has joined.
15:15:48 -!- Slereah has joined.
15:15:48 -!- lifthrasiir has joined.
15:15:48 -!- irc.freenode.net has set channel mode: +o lament.
15:16:29 <ais523> and any manufacturer using the name "bluegreenish" would be killed by their own marketing people
15:16:29 <asiekierk> well, why these two? They can reproduce a lot of natural colors
15:16:29 <asiekierk> They should use something like "Apple Blue"
15:16:29 <asiekierk> for marketing :)
15:16:29 <ais523> because humans see red as more different from blue or green than they see blue from green
15:16:29 <ais523> I like that idea
15:16:29 <asiekierk> Red would be "Apple"
15:16:29 <asiekierk> Yellow would be "Sun"
15:16:30 <asiekierk> Orange could be, er, "Sunset"
15:16:30 <ais523> anyway, most humans can see in four colour channels
15:16:30 <ais523> some can only see three, colourblindness is if you can see in two or less
15:16:30 <asiekierk> Green would be "Ecological"
15:16:30 <asiekierk> and Purple...
15:16:53 <fizzie> Is it most? I thought tetrachromacy was rather rare?
15:17:07 <asiekierk> if it's not 100%, it's most
15:17:08 <fizzie> "One study suggested that 2–3% of the world's women might have the kind of fourth cone that lies between the standard red and green cones, giving, theoretically, a significant increase in color differentiation.[3] Another study suggests that as many as 50% of women and 8% of men may have four photopigments.[2]"
15:17:08 <Asztal> yes, I thought tetrachromats were rare, and only among women
15:17:14 <asiekierk> even if it's 99.9999999999999999999999999999999999999999999999999999%, it's "most"
15:17:20 <asiekierk> :)
15:17:25 <asiekierk> because that's not "all"
15:17:34 <fizzie> Yes, but 2-3 % is not really "most".
15:17:49 <ais523> Azstal: I'm thinking of red, green, blue, and white
15:17:56 <ais523> three cone channels and the rod channel
15:18:08 <ais523> tetrachromats can see in /five/ colour channels
15:18:34 <asiekierk> which five
15:18:54 <oklopol> whichever they like, they have this nob at the back of their heads
15:18:56 <ais523> well, "red, blue, green" are just common names for particular sorts of cone pigmentation
15:18:59 <Asztal> X, Y, Z, white, and something else
15:19:22 <ais523> given that if you have four sorts of cones you can distinguish colours that can't be distinguished any other way
15:19:31 <ais523> there must be colours tetrachromats can see that other people don't have a name for
15:19:33 <asiekierk> so, uh, they have H, S, L switches in the back of their head?
15:19:37 <asiekierk> And they can also see white?
15:19:55 <ais523> yep
15:19:57 <ais523> that's on the rods
15:20:06 <ais523> but, rods generally don't work in the same situation as cones
15:20:25 <ais523> in bright light, the rods are swamped and don't produce useful information, that's why your peripheral vision gets worse if it's too bright
15:20:38 <ais523> in dim light, the cones don't respond, so your vision is fuzzier and only in black and white
15:20:45 <ais523> in between, your vision functions as normal
15:21:14 <asiekierk> so basically, the normal four-color people can see "in farbe" and the tetrachromats can see "in living color"? :D
15:21:35 <ais523> well, to be precise there are an infinite number of colours
15:21:40 <ais523> and an infinite number of possible colour channels
15:21:41 <asiekierk> nope
15:21:48 <asiekierk> there are "infinity-1" colors
15:22:03 <ais523> with a good-quality spectrometer, you can distinguish colour channels that no human can distinguish
15:22:05 <asiekierk> and there are "(infinity+amount_of_colors)/2" colour channels
15:22:20 <ais523> asiekierk: no, aleph-one to the power of aleph-1 I believe
15:22:28 <ais523> which is probably aleph-2
15:22:35 <asiekierk> what's a leph?
15:22:47 <ais523> aleph notation is one of the ways to represent infinities
15:22:56 <ais523> but mathematicians aren't entirely clear on what infinities are available
15:23:08 <ais523> it turns out there's more than one possible choice that leads to the maths being consistent
15:23:25 <asiekierk> Well, how much is "infinity-(infinity-523)"
15:23:34 <ais523> not-a-number, obviously
15:23:40 <asiekierk> nope
15:23:41 <asiekierk> it's 523
15:23:48 <fizzie> Heh, nice squabbling in the history there: http://en.wikipedia.org/wiki/File:Cones_SMJ2_E.svg
15:23:58 <pikhq> Mmmm.
15:23:58 <Deewiant> Only if the infinities are identical
15:24:04 <asiekierk> Infinity is infinity
15:24:08 <asiekierk> THERE'S NO OTHER DEFINITION
15:24:13 <Deewiant> There are many infinities.
15:24:19 <Deewiant> An infinite amount, in fact. ;-)
15:24:31 <asiekierk> But what infinity is the infinite amount?
15:24:56 <Deewiant> I believe it's aleph-null?
15:24:59 <ais523> epsilon-zero, I believe
15:25:05 <asiekierk> Aww
15:25:07 <asiekierk> I wanted to say
15:25:07 <AnMaster> <ais523> anyway, most humans can see in four colour channels <ais523> some can only see three, colourblindness is if you can see in two or less <-- um?
15:25:08 <asiekierk> "...Deewiant, do you live in the another universe?"
15:25:16 <ais523> or at least, that's the name for the name for the number of infinities that can't be represented otherwise
15:25:17 <Asztal> now you're just making stuff up :)
15:25:18 <asiekierk> but you said something completely logic
15:25:29 <asiekierk> i hoped you would say "there are infinite possibilities"
15:25:31 <asiekierk> or something
15:25:40 <fizzie> AnMaster: He counts the rod cells as a color channel; read on further.
15:25:41 <Deewiant> No, that's not the case. :-)
15:25:41 <AnMaster> oh right explained a bit below
15:25:43 <ais523> AnMaster: most humans can see in three cone channels (red, green, blue), and one rod channel
15:26:12 <asiekierk> what if someone can see in two cone channels and two rod channels
15:26:18 <asiekierk> and the channels are orange and bluegreenish
15:26:35 <ais523> as far as I know, nobody's ever found a colour-specific rod
15:26:37 <asiekierk> which can reproduce a fair bit of colors
15:26:44 <ais523> besides, rods are averaged over a large area
15:26:50 <asiekierk> well, a quite-orange and a quite-blugreenisgh
15:26:53 <asiekierk> blugreenish*
15:26:57 <asiekierk> er
15:26:58 <asiekierk> I mean
15:27:04 <asiekierk> a quite-Sunset and a quite-Apple Blue
15:27:08 <ais523> so you couldn't extract colour information from them even if they could receive it
15:28:00 <asiekierk> Aww, that's just like using a b&w receiver for living color!
15:28:12 <asiekierk> when you can buy a field-sequential adapter set!
15:28:47 <fizzie> It's of course "colour-specific" in the sense that there is some frequency you can say is the peak: "Experiments by George Wald and others showed that rods are most sensitive to wavelengths of light around 498 nm (green-blue)" <- so blue-greenish is not far off.
15:29:09 <asiekierk> there's still orange
15:29:11 <asiekierk> er
15:29:11 <asiekierk> i mean
15:29:12 <asiekierk> Susnet
15:29:13 <asiekierk> er
15:29:15 <asiekierk> Sunset!
15:29:32 <fizzie> You may need to make your own sunset-rod.
15:29:42 <asiekierk> Okay, but I need a 2cm Nipkow disk
15:29:56 <asiekierk> and an orange filter
15:30:01 <asiekierk> and a photocell
15:30:04 <asiekierk> and a blue-green LED
15:30:09 <asiekierk> Wait
15:30:11 <asiekierk> did I say orange
15:30:13 <asiekierk> and blue-green
15:30:17 <asiekierk> The marketing is gonna PWN me for that!
15:31:13 <asiekierk> oh well
15:31:49 <asiekierk> So basically, HSL will be Appleness, Livingness and Shadiness respectively
15:31:52 <asiekierk> ALS!
15:32:01 <asiekierk> :)
15:32:54 <fizzie> Also Viagra makes you see all blue-green: http://en.wikipedia.org/wiki/Cyanopsia
15:32:57 <fizzie> How coincidental.
15:33:07 <AnMaster> hm
15:33:09 <asiekierk> YOU MEAN APPLE BLUE!
15:33:21 <fizzie> I'm not sure Apple wants to be associated with *that*.
15:34:07 <asiekierk> not Apple Blue as in the company
15:34:11 <asiekierk> But Apple Blue as in the fruit
15:34:29 <asiekierk> Last I heard the Apple apple was white
15:34:54 <ais523> I didn't think it was any particular colour
15:34:55 <fizzie> Maybe nowadays; it used to be rather more colorful.
15:34:56 <AnMaster> what would be the best way to see all colours. Since the biological system doesn't work
15:35:06 <AnMaster> wouldn't some sort of spectrometer or such work?
15:35:20 <fizzie> http://upload.wikimedia.org/wikipedia/commons/e/e3/Macintosh_128k_transparency.png has the good old logo in the lower-left corner.
15:35:48 <asiekierk> WELL THAT ONE DIDN'T HAVE A SPECIFIED COLOR!
15:36:03 <asiekierk> THEY COULDN'T MAKE UP THEIR MIND OR WHAT?
15:36:08 <ais523> AnMaster: prism works too
15:36:10 <asiekierk> *shout mode off*
15:36:11 <ais523> that's a primitive spectrometer
15:36:13 <AnMaster> <asiekierk> But Apple Blue as in the fruit <-- apples are green/red/yellow. I haven't seen any *blue* apple
15:36:27 <AnMaster> ais523, you still need to register the photons in some way
15:36:30 <ais523> it separates the physical locations of the colours, so you can see which ones are there and which ones aren't
15:36:37 <asiekierk> ...
15:36:42 <asiekierk> I'm talking about Green apples
15:36:48 <asiekierk> Green Blue, Blue Green, bluegreenish
15:37:15 <AnMaster> asiekierk, nah, they tend to be yellowgreenish around here
15:37:26 <AnMaster> haven't seen any bluegreenish
15:37:55 <AnMaster> ais523, well wouldn't it be rather bulky? I mean, it is far from compact
15:37:56 <asiekierk> that's why it's Apple Blue not Apple
15:38:04 <AnMaster> you couldn't really use it to make a vision system
15:38:14 <ais523> AnMaster: well, yes
15:38:30 <ais523> but put it this way, humans simply don't have a sense that handles that much information at once
15:38:33 <AnMaster> ais523, so what about some solution that *could* make a vision system
15:38:59 <AnMaster> ais523, what about robots?
15:39:10 <fizzie> http://en.wikipedia.org/wiki/File:Simple_spectroscope.jpg has a nice picture of a prism-based spectroscope showing how liney a spectrum can be.
15:39:11 <ais523> even they only see in three colour channels, or one
15:39:18 <ais523> red/blue/green is typical for a charge-coupled device
15:39:19 <asiekierk> I heard that the brain receives about "100 bytes" per... uh... i don't remember
15:39:40 <AnMaster> fizzie, indeed
15:39:57 <AnMaster> asiekierk, how would you measure that...
15:40:06 <asiekierk> i don't know
15:40:09 <asiekierk> i just heard it somewhere
15:40:15 <asiekierk> and about 100 bytes is not exactly 100 bytes
15:40:15 <AnMaster> ais523, well it could be useful with more
15:40:21 <AnMaster> well duh
15:40:22 <fizzie> I don't think your garden-variety killer robot really needs that many color channels.
15:40:33 <asiekierk> I think it reffered that every while, only a small part of data is sent from the eyes to the brain
15:40:38 <asiekierk> as in, the part you're concentrating on
15:40:47 <AnMaster> fizzie, I was thinking about robots used in, say, scientific stuff. Like exploring Mars or whatever
15:40:57 <AnMaster> they could definitely use it
15:41:29 <AnMaster> fizzie, iirc the mars rovers do have some forms of spectrometers
15:41:39 <AnMaster> maybe not visible light
15:41:42 <AnMaster> don't remember
15:42:53 <AnMaster> btw, did you know common digital cameras can "see" a bit of infrared
15:43:03 <AnMaster> just try it in front of a remote control
15:44:02 <AnMaster> it looked pink when I tried with my mobile phone camera (which I don't normally use, too bad resolution and no optical zoom)
15:44:38 <ais523> AnMaster: I wouldn't be surprised, but there are a huge number of possible shades of infrared
15:44:45 <ais523> it's a much broader range than visible
15:44:55 <ais523> and I'd only expect very near infrared to be visible
15:45:22 <fizzie> Opportunity has a spectrometer for picking up scattered alpha particles and x-rays, and another in the gamma-ray range of frequencies; but I think the ones that actually take pictures with, you know, spatial information in them, only use a reasonable number of specific color channels.
15:45:22 <ehird> why is lament still opped? :P
15:45:40 <fizzie> The wp page is not being very specific about the cameras.
15:46:23 <fizzie> One of our signal processing assignment had four-color-channel satellite photography; one was in the near-infrared range, the others corresponded vaguely to traditional red, green, blue.
15:46:48 <ais523> hmm... it seems the BBC got control of a botnet
15:47:03 <ais523> and used it to spam themself, and DDOS a company they had a prior arrangement with
15:47:25 <ais523> then they changed the desktop background of all the infected computers and removed the botnet software using the botnet itself
15:47:36 <AnMaster> ais523, mhm
15:47:38 <asiekierk> wait, THAT BBC?
15:47:39 <AnMaster> possibly
15:47:47 <ais523> as in the UK TV company
15:47:52 <asiekierk> z...zomg
15:48:00 <ais523> why not, it gave them something to show programs around
15:48:01 <ais523> *about
15:48:15 <fizzie> pancam.astro.cornell.edu has a technical briefing explaining they use an eight-channel system, so it's at least bit more than usual.
15:48:34 <AnMaster> ais523, link. or it didn't happen?
15:48:37 <ais523> http://news.bbc.co.uk/1/hi/programmes/click_online/7884387.stm
15:48:51 <ais523> is the link that the infected computers were redirected to (via an URL shortener)
15:48:57 <ais523> http://news.bbc.co.uk/1/hi/programmes/click_online/7932816.stm
15:48:59 <ais523> is the article about it
15:49:15 <AnMaster> wth
15:49:21 <AnMaster> it wanted to set lots of cookies
15:49:32 <AnMaster> I got 58 messages from firefox asking about cookies
15:49:33 <ais523> the BBC's website is handwritten in Perl
15:49:38 <AnMaster> no way I'm clicking on that again
15:49:48 <AnMaster> ais523, ^
15:50:03 <fizzie> That sounds like a rather legalistically vague thing to do.
15:50:15 <ais523> that's what I thought
15:50:18 <ais523> anyway, I'm looking at the cookies now
15:50:36 <fizzie> They're all "If this exercise had been done with criminal intent it would be breaking the law. But our purpose was to demonstrate botnets' collective power when in the hands of criminals." but it does sound quite UK-centric at the very least.
15:50:39 <ais523> I only got three cookies
15:50:44 <fizzie> "The law", as if there's a single law in there.
15:51:07 <ais523> one of them is massively long, though
15:51:16 <ais523> it appears to be a long hash in hex, followed by my useragent but URL-encoded
15:51:29 <AnMaster> huh
15:51:48 <ais523> fizzie: I suspect the BBC are unlikely to worry about any laws but UK law in what they did
15:52:00 <ais523> and investigative journalists do all sorts of weird quasi-legal things
15:52:09 <ais523> on the basis that they're hardly ever prosecuted for them
15:52:52 <AnMaster> ais523, well usually they tend to not use it for bad stuff. But clean up after themselves and warn people about the risk
15:53:26 <ais523> there's a show on the UK where they steal stuff from people, then give it back
15:53:34 <ais523> I'm surprised they haven't got in trouble for that yet
15:54:54 <fizzie> I guess they're just trusting the legal system to be sensible with all that "with criminal intent" stuff. Very optimistic.
15:55:17 -!- FireyFly has joined.
15:55:33 <AnMaster> ais523, I mean, I once found a botnet control channel on a network I was oper on. First thing I did after I was sure it was a botnet (by which point I had seen some commands executed too and know the syntax) was kill all the scriptkiddies controlling it, then I issued a command to pop up a dialog with a link to some website about how to remove this, think it was at fsecure, then I made all bots remove
15:55:33 <AnMaster> themselves from auto startup and then quit
15:55:55 <AnMaster> so there are cases where you need to "quasi legal" things I guess
15:56:03 <oklopol> "kill all the scriptkiddies controlling it" <<< this is probably illegal even without a criminal intent
15:56:04 <AnMaster> though the BBC one was worse
15:56:10 <AnMaster> oklopol, /kill on irc..
15:56:15 <AnMaster> learn what it is
15:56:19 <AnMaster> -_-
15:56:36 <oklopol> :D
15:56:43 <oklopol> you're awesome
15:56:43 <AnMaster> well actually I used /kline iirc
15:56:49 <oklopol> i know you did
15:56:53 <AnMaster> anyway it was a few years ago
15:57:24 <fizzie> Yes, actually writing code and then tricking people to run it; code that does all kinds of email-sending stuff and so on, and introduces who knows how many security-related bugs while it's at it; is a bit different from snuffing out someone else's botnet like that.
15:57:36 <ais523> fizzie: actually, they're trusting the Crown Prosecution Service not to prosecute
15:57:50 <AnMaster> fizzie, indeed
15:58:03 <fizzie> ais523: Isn't that sort of part of "sensible behaviour from the legal system"?
15:58:19 <ais523> the CPS aren't really part of the legal system
15:58:21 <AnMaster> Amazingly, it took only 60 machines to overload the site's bandwidth. <-- interesting
15:58:23 <ais523> it's a bit confusing
15:58:27 <AnMaster> wonder how fast connections they had
15:58:33 <ais523> they're more involved with the police, but they aren't part of those either
15:58:51 <fizzie> I assume it would've been BBC paying for any costs if their code had a horrible, hard-disk-eating bug.
15:58:59 <ais523> that's my guess too
15:59:15 <AnMaster> well
15:59:21 <ais523> AnMaster: your removal, wouldn't that leave the botnet software there just inactive?
15:59:22 <AnMaster> it wouldn't take many ADSL connections
15:59:29 <AnMaster> I have 1 mbps up
15:59:33 <ais523> anyway, changing the desktop background is probably cleverer than popping up a message box
15:59:39 <AnMaster> so 100 of them would hit a 100 mbps
15:59:41 <ais523> because people ignore messages boxes on Windows nowadays
15:59:48 <AnMaster> ais523, well I wouldn't know how to change the background
16:00:02 <fizzie> ais523: Especially if it's a message box which says "Your Computer May Be At Risk!"
16:00:17 <AnMaster> ais523, also it was impossible to fully uninstall it from itself. There seemed to be no general "execute command"
16:00:20 <AnMaster> or such
16:00:22 <ais523> fizzie: haha
16:00:35 <AnMaster> anyway most ran windows 98
16:00:37 <AnMaster> -_-
16:00:51 <AnMaster> and most were South America, which is strange too
16:00:55 <AnMaster> or was
16:01:17 <AnMaster> were from*
16:01:31 <ehird> 14:19 ais523: there must be colours tetrachromats can see that other people don't have a name for
16:01:33 <ehird> hot
16:01:40 <ehird> I wanna get another cone implanted :P
16:01:54 <ehird> 10:54 fizzie: I'm eagerly waiting for the next C++ sprint, I could actually work on jitfunge a bit at that point.
16:01:55 <ehird> 10:54 AnMaster: jitfunge was in C++ right?
16:01:57 <ehird> 10:55 fizzie: It's like you read my mind here.
16:01:59 <ehird> xD
16:02:01 <ehird> 13:27 fizzie: Yes, this year is the last change to graduate from Helsinki University of Technology; after that your papers are from Aalto University.
16:02:04 <ehird> ew
16:02:06 <AnMaster> ehird, you are dealing with lag
16:02:08 <AnMaster> duh
16:02:16 -!- MigoMipo has joined.
16:02:17 <ehird> no, I'm logreading
16:02:18 <ehird> heard of it?
16:02:37 <fizzie> Actually the wp page had an amusing sentence about implanting cones: "Notably, mice, which normally have only two cone pigments, can be engineered to express a third cone pigment, and appear to demonstrate increased chromatic discrimination, --"
16:02:38 <AnMaster> ehird, yes but here the C++ line was before fizzie's line
16:02:46 <ehird> doesn't stop it being funny, AnMaster.
16:02:50 <AnMaster> ehird, yes it does
16:03:01 <fizzie> The word "engineered" there is funney.
16:03:03 <AnMaster> anyway. I still don't see how 60 machines could overload the *bandwidth* of the server. Assuming normal home connections.
16:03:06 <ehird> that's rich coming from mr "all humour is subjective therefore if you think I'm not funny ehird you are wrong"
16:03:06 <fizzie> Let's engineer some mice!
16:03:32 <ehird> 14:56 AnMaster: oklopol, /kill on irc..
16:03:32 <ehird> 14:56 AnMaster: learn what it is
16:03:33 <ehird> 14:56 AnMaster: -_-
16:03:35 <ehird> fail :D
16:03:38 <ehird> (for AnMaster, that is)
16:03:42 <AnMaster> ehird, it is just "lag induced humor" is old
16:03:46 <AnMaster> fun the first time
16:03:49 <AnMaster> fun the tenth time
16:03:52 <AnMaster> but not the 100th time
16:03:55 <ehird> blah blah blah, it was funny, so just shut up
16:04:07 <AnMaster> ehird, jokes get old
16:04:38 <ehird> you're just bitter because you're the target of it
16:05:06 <fizzie> I think the technical term here is "butt".
16:05:30 <ehird> He's acting more like I just shot him.
16:06:38 <fizzie> Where does the "butt of the joke" thing even come from? Some ur-joke involving butts?
16:07:01 <ehird> http://www.sptv.demon.co.uk/nbtv/ <-- is there a pic of this in operationamation
16:07:45 <fizzie> Oh, it's also: "A mark to be shot at; a target.". Maybe it's just that. How boring.
16:08:23 <ehird> comment on that munctional video: "the disparity between the quiet sections and the loud sections is too great. you should fix it. "
16:08:24 <ehird> XDD
16:09:30 <ais523> <PhilHibbs> No, it's more like if your door is already busted wide open and burglars are coming in and out, and a reporter wanders in.
16:09:34 * pikhq beats someone with dynamic range.
16:09:41 <ais523> that's a good analogy, I wonder if the reporter would be doing something illegal than?
16:10:24 <pikhq> ehird: There's pictures of NBTV working in their forums.
16:10:35 <pikhq> Also, you should be able to find some video on Youtube.
16:10:37 <ehird> I see no forums
16:12:18 <fizzie> The goodness of the analogy depends on how they actually spread that little piece of their code. Was that mentioned in the article? I might have just skipped it.
16:14:01 <ehird> wut are we talking about
16:15:10 <ais523> ehird: the BBC grabbing control of a botnet
16:15:24 <ehird> :DDDd
16:15:25 <ehird> how?
16:15:53 <ais523> buying it from some criminals, AFAICT
16:16:15 <fizzie> Oh, they just bought it. Well, that's a bit different.
16:16:23 <ehird> psht
16:16:24 <ais523> they didn't actually say
16:16:25 <ehird> that's boring
16:16:29 <ehird> I hoped they would exploit it
16:16:31 <ehird> still
16:16:31 <ais523> they said they hung around in shady IRC channels
16:16:34 <ehird> taht's pretty awesome for the BBC
16:16:36 <ais523> and got it that way
16:16:41 <ais523> but not the details
16:16:46 <ais523> presumably they didn't want anyone to copy them
16:16:46 <ehird> like this channel?
16:16:57 <AnMaster> ehird, probably not.
16:17:02 <ais523> I don't know what would happen if someone tried to buy a botnet here
16:17:05 <ehird> that was a joke.
16:17:18 <ehird> By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx.
16:17:19 <ehird> Click then ordered its slave PCs to bombard its target site with requests for access to make it inaccessible.
16:17:22 <ehird> ermmmm
16:17:22 <AnMaster> ehird, also why ask what we are talking about, just read scrollback. Like you said so many times
16:17:26 <AnMaster> hypocrite
16:17:26 <ehird> why are the BBC admitting to htat
16:17:29 <fizzie> I could sell them a fungot-net.
16:17:29 <fungot> fizzie: is there a way to
16:17:37 <fizzie> fungot: For that, I would *make* a way to.
16:17:37 <fungot> fizzie: ( but which knows the base path of the file
16:17:44 <ehird> AnMaster: shut up; I'm annoyed when people try and reply without reading, not when people ask what we're talking about
16:17:56 <ehird> your accusations of hypocrisy would be more convincing were they ever right
16:18:05 <AnMaster> ehird, you have been annoyed by both
16:18:09 <AnMaster> so false
16:18:18 <ais523> anyway, once they were done with spamming themselves and DOSing their friends, they changed the desktop background on the infected computers and disinfected them
16:18:21 <ehird> umm, sure, I'll just take your word for it. except I haven't.
16:18:23 <AnMaster> ehird, also if you read the article
16:18:25 <AnMaster> "By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx. "
16:18:31 <AnMaster> that doesn't sound "bad to admit"
16:18:41 <ehird> dude I fucking pasted that from the article
16:18:52 -!- BeholdMyGlory has joined.
16:18:59 <ehird> and of course that'd bad to admit?
16:19:04 <ehird> the bbc are admitting they ddosed a security company
16:19:19 <ais523> ehird: but the security company said they could
16:19:22 <ehird> oh
16:19:22 <AnMaster> ehird, "prior arrangement", that means "go ahead"
16:19:24 <AnMaster> duh
16:19:26 <ais523> did you misread the bit that AnMaster pasted?
16:19:28 <AnMaster> read the article
16:19:28 <ehird> i thought they meant prior agreement with the people they got it from
16:19:32 <ehird> ais523: no, _I_ posted that
16:19:37 <ais523> well, he repasted it
16:19:45 <ehird> yes, and tells me to read the article
16:19:46 <ehird> 15:17 ehird: By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx.
16:19:47 <AnMaster> ehird, "<ehird> dude I fucking pasted that from the article" <-- But I asked about "read"
16:19:48 <ehird> 15:17 ehird: Click then ordered its slave PCs to bombard its target site with requests for access to make it inaccessible.
16:19:49 <AnMaster> not "paste"
16:19:50 <ais523> you pasted more than one bit, so talking about the bit he repasted it specified it better
16:19:51 <ehird> 15:17 ehird: ermmmm
16:19:53 <ehird> apparently he's blind
16:19:54 <AnMaster> which seems to be different in your case
16:20:14 <fizzie> Still, about the analogy; it sounds like it *might* be illegal in Finland, but might not; you can get a fine or up to 6 months of prison for "invading or secretly entering or entering by diverting someone" a place protected by the "domestic peace" rules. But if the door is open and you can walk in, maybe not.
16:20:21 <AnMaster> ehird, talking about yourself in third person?
16:20:31 <AnMaster> ehird, since you didn't see "By prior agreement"
16:20:39 <ehird> yes, I did, I misunderstood it, jackas
16:20:40 <ehird> s
16:20:56 <AnMaster> brb food
16:23:03 <ehird> ais523: do you know why the formula that psygnisfive gave — "If (x&y)==0, the point is in the sierpinski triangle" — works?
16:23:26 <ais523> it's easy enough to prove
16:23:30 <ehird> oh, I know
16:23:33 <ehird> after all, I have a program doing it
16:23:34 <ais523> but I'm wondering about how to see it in an intuitive sense
16:23:37 <ehird> I just don't know -why-
16:23:40 <ehird> sierpinski is everywhere..
16:23:51 <ehird> perfectly straight line in GoL, in this trivial formula...
16:23:56 <ehird> (IN THE SIERPINSKI TRIANGLE <-- hur hur)
16:24:45 <ehird> ais523: Mathematically, it's quite odd...
16:24:50 <ehird> I mean, bitwise and is an odd operation.
16:24:58 <ehird> You're choosing an arbitrary base, then operating on the individual digits.
16:25:04 <ehird> Which isn't very senseful, IMO.
16:25:12 <ehird> So I don't know why that would lead to Sierpinski...
16:25:21 <ais523> well, bitwise operations tend to create similar patters to the sierpinski triangle
16:25:30 <ais523> think of the fractal structure
16:25:48 <ais523> that's the same as binary, it doubles each digit
16:25:53 <ehird> hmm
16:25:55 <ehird> interesting
16:25:59 <AnMaster> back
16:26:15 <ehird> ais523: I wonder if it works for N dimensions?
16:26:19 <ehird> can you get a 3d sierpinski with x&y&z?
16:26:25 <ais523> I think so
16:26:49 <ehird> that's great
16:26:52 <ehird> what a lovely coincidence
16:27:02 <AnMaster> cool
16:27:04 <AnMaster> um
16:27:06 <ais523> not really a coincidence
16:27:09 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
16:27:16 <AnMaster> ehird, how many recursions is it at?
16:27:23 <ehird> AnMaster: what
16:27:23 <ais523> it depends on what you mean by 3d sierpinsky
16:27:29 <AnMaster> ehird, or iterations rather
16:27:31 <ehird> ais523: not a coincidence, but, not intended
16:27:33 <ehird> AnMaster: it's not iterations
16:27:35 <AnMaster> wrong word first time
16:27:44 <ehird> it's just
16:27:45 <ais523> *sierpinski
16:27:52 <ehird> if x & y == 0, then (x,y) is in the sierpinski triangle
16:27:56 <ehird> in = place a *
16:27:59 <ehird> not in = place nothing
16:28:23 <ehird> AnMaster: http://codepad.org/lQGGDWNZ
16:28:27 <AnMaster> ehird, lets say you have an 8x8 gird. then the (x&y) == 0 -> black?
16:28:35 <ehird> -> white.
16:28:39 <ehird> where black = background.
16:28:40 <AnMaster> ok right
16:28:42 <ehird> see my codepad link
16:28:54 <AnMaster> what if you do it at a 512x512 gird?
16:28:59 <ehird> newsham made it centered, I've made it the right way up, I'm going to combine them
16:29:01 <ehird> AnMaster: THE SAME DAMMIT
16:29:15 <AnMaster> ehird, so it is scaled or jut a section of it?
16:29:21 <ehird> both.
16:29:27 <AnMaster> ah yes the output
16:29:29 <ehird> it helps if you give it powers of two
16:29:42 <ehird> otherwise you get odd behaviour
16:29:57 <AnMaster> ehird, what if you want it at a higher resolution? Like you know first iteration of a fractal, second and so on
16:30:04 <ehird> AnMaster: it's infinite
16:30:07 <ehird> you don't seem to understand
16:30:08 <AnMaster> right
16:30:48 <AnMaster> hm
16:31:04 <ehird> codepad.org/Y1PV2gVc <- newsham's centered one, now I'll combine this with my downwards one
16:34:45 <AnMaster> ehird, every triangle can be divided in three new triangles and a hole in the middle. So your statement "in the sierpinski triangle"must indicate "edges" right? All other points will eventually be a hole with enough iterations.
16:35:01 <ehird> Well, yes.
16:35:07 <ehird> Isn't that what "in" means for fractals?
16:35:25 <ais523> yes, given that many fractals are infinitely thin you have to count the edges
16:35:54 <ehird> Hmm, centering is non-trivial:
16:36:00 <ehird> *
16:36:00 <ehird> **
16:36:02 <ehird> * *
16:36:04 <ehird> ****
16:36:06 <ehird> Because of the odd-ness.
16:36:09 <AnMaster> ehird, well I don't know the technical terms for them. But what about a fractal like the mandlebrot. in could also indicate the area inside it. It seems to "fractalise" "outwards" rather than "inwards"
16:36:36 <ehird> Can I have some of your drugs?
16:36:50 <AnMaster> ehird, hah.
16:36:54 <ais523> well, the mandlebrot isn't infinitely thin
16:37:03 <Slereah> So's your penis
16:37:05 <AnMaster> ais523, my point
16:37:05 <ais523> but on the other hand, it has an obvious protocol for inside/outside
16:37:09 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2336#a2336 Sierpinski version 2.
16:37:17 <ehird> Awesome code, awesome fractal.
16:37:18 <ais523> you can tell if a point's in it or not just by doing the calculation
16:37:18 <AnMaster> ais523, exactly what I meant!
16:37:23 <ehird> Right way around, and aligned center.
16:37:55 <ais523> whereas something like sierpinski the edges are obviously part of it, because if they weren't nothing would be
16:37:55 <AnMaster> ais523, well true. But look at an image at n iterations. http://en.wikipedia.org/wiki/File:Mandel_zoom_00_mandelbrot_set.jpg or whatever, the black area is very definitely "in it"
16:38:05 <ais523> AnMaster: are you not reading what I wrote?
16:38:08 <AnMaster> ais523, my point exactly.
16:38:12 <AnMaster> ais523, yes I am
16:38:14 <ais523> it sounds like you think I disagree with you
16:38:19 <ehird> that's the problem with the mandelbrot set, it's mostly a huge black hole :-D
16:38:24 <ehird> multiple ones even
16:38:29 <ehird> all the interesting stuff is on the outskirts
16:38:49 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
16:38:51 <AnMaster> yes, and there are even more of it there
16:39:13 <AnMaster> on the other hand, the sierpinski triangle is easier to "intuitively" understand how it is generated
16:40:00 <ehird> cantor dust is easier, I independently invented cantor dust
16:40:03 <ehird> err
16:40:05 <ehird> cantor set
16:40:17 <AnMaster> ehird, how did "set" end up as "dust"
16:40:18 <ais523> cantor set's like a 1D sierpinsky
16:40:26 <ais523> *sierpinski
16:40:26 <ehird> AnMaster: cantor dust = multi-dimensional cantor set
16:40:27 * Slereah sprinkles some Cantor dust on ehird
16:40:28 <ehird> ais523: yeah
16:40:31 <AnMaster> ah right
16:40:33 <ehird> problem is, the cantor set is ... really boring
16:40:36 <ehird> :D
16:40:41 <AnMaster> and yes it is easy to understand
16:42:29 <AnMaster> but something like madelbrot, I have to sit down and look at the maths and even then I'm not really sure
16:43:02 <Slereah> I resent the Mandelbrot fractal a bit though
16:43:07 <AnMaster> oh?
16:43:09 <Slereah> It makes people forget about the old fractals
16:43:17 <fizzie> I think there is a reasonable intuitivity about that thing: given any NxN square of bit-patterns for 00...00 to 11...11; you get the horizontal and vertical lines because of the 00..00, and the diagonal because ~x => N-x, and ~x & x == 0 always; and you get to do the same thing in the smaller N-1 x N-1 squares for those cases where the leading bits are either (0, 0), (0, 1) or (1, 0) because in those cases the bit in the and result is a zero, but in the final s
16:43:19 <AnMaster> uh...?
16:43:21 <ehird> well, mandelbrot is probably the prettiest, Slereah
16:43:21 <Slereah> Like the Weierstrauss function or the Peano filling curve
16:43:34 <AnMaster> ehird, what about the Julia set? That can be quite pretty
16:43:36 <ehird> fizzie: but in the final s
16:43:38 <fizzie> -- the final sub-square where the leading bits are (1, 1) there's always a common bit so the and is never == 0.
16:43:41 <Slereah> Most people seem to assume that it's the oldest
16:43:41 <ehird> AnMaster: Julia set is basically a warped mandelbrot :P
16:43:47 <AnMaster> ehird, well true
16:44:21 <ehird> http://en.wikipedia.org/wiki/File:725_Julia_sets.png
16:44:24 <ehird> remind you of anything
16:44:28 <fizzie> Er, by N-1 there I mean N/2, of course.
16:44:33 <ais523> Julia's related to Mandelbrot
16:44:37 <ehird> yes
16:44:40 <AnMaster> you can make nice coloured versions of mandelbrot too
16:44:42 <ais523> there's a Julia set for each point in Mandelbrot
16:45:20 <AnMaster> coloured sierpinski?
16:45:24 <AnMaster> probably boring
16:45:52 <ehird> it is
16:45:54 <ehird> i've seen it
16:45:57 <AnMaster> oh?
16:46:03 <ehird> yeah
16:46:13 <AnMaster> and yes http://en.wikipedia.org/wiki/File:725_Julia_sets.png definitely looks familiar
16:46:29 <AnMaster> why I believe it is some Julia sets! ;)
16:46:32 <AnMaster> ~
16:46:33 <ehird> AnMaster:
16:46:34 <ehird> http://upload.wikimedia.org/wikipedia/commons/0/02/Sierpinski_triangle_%28RGB%29.jpg
16:46:36 <ehird> coloured sierpinski
16:46:46 <AnMaster> ehird, coloured according to what rules
16:47:05 <ehird> Top triangle is tinted red, bottom-left green, bottom-right blue.
16:47:05 <AnMaster> that seems to be just one corner R, one corner G, one B and them colour mixing
16:47:08 <ehird> Repeat recursively, of course.
16:47:11 <AnMaster> ok
16:47:29 <AnMaster> ehird, boring. If I want to watch that I'll open the pallet in gimp or something ;)
16:47:30 <fizzie> I guess you can intuit that and-sierpinsky in a simpler way too: take a NxN square, where N is a power of two; the "lower-right" quadrant is always empty, since there you always have the leading 1 bit in common, while in the other three the leading bit of the and-result is always 0, so the content is just a down-scaled version of the whole square. This rather intuitively leads to a sierpinski.
16:47:37 <ehird> I wonder if there's a pretty fractal without great big holes.
16:49:03 <fizzie> The sierpinski-square-based pyramid looks nifty, though: http://en.wikipedia.org/wiki/File:Sierpinski_pyramid.png
16:49:11 <fizzie> Maybe not very constructable-out-of-legos.
16:49:16 <ehird> it occurs to me that the and-sierpinski is more efficient than most algorithms for it (maybe all)
16:49:18 <ehird> there's no recursion or anythin
16:49:19 <ehird> g
16:49:26 <ehird> just O(size) or something
16:49:36 -!- BeholdMyGlory has joined.
16:49:38 <AnMaster> ehird, some of the prettier julia sets seems to happen around the edges of mandelbrot in http://en.wikipedia.org/wiki/File:725_Julia_sets.png
16:49:55 <ehird> hmm
16:49:58 <ehird> http://en.wikipedia.org/wiki/File:725_Julia_sets.png is very... Xzibit.
16:50:07 <ehird> If you know what I mean.
16:50:10 <AnMaster> ehird, "Xzibit"?
16:50:12 <AnMaster> no I don't
16:50:16 <ehird> Yo dawg.
16:50:24 <AnMaster> ...?
16:50:29 <ehird> I've told you this 10 times.
16:50:42 <ehird> Xzibit is the guy on the horrible MTV show "Pimp My Ride", which is where the "yo dawg" meme comes from.
16:50:49 -!- asiekierk has changed nick to asiekierka.
16:51:04 <AnMaster> ehird, sure you told me? It doesn't even sound slightly familiar
16:51:17 <AnMaster> I don't think you told me unless you can prove it in logs
16:51:25 <ehird> Very well, I shall grep.
16:51:44 <AnMaster> I think you said "Yo dawg." before though
16:51:50 <AnMaster> but not "Xzibit"
16:52:05 <ehird> 16:08 ehird: To Xzibit's body.
16:52:05 <ehird> 16:08 AnMaster: huh?
16:52:06 <ehird> 16:08 ehird: Xzibit is the origin of the yo dawg meme.
16:52:06 <AnMaster> ehird, of course, I could be wrong
16:52:09 <ehird> 2009-03-05.
16:52:12 <AnMaster> hm
16:52:14 <ehird> and this is just from late February, when I upgraded.
16:52:17 <ehird> In fact, later than that.
16:52:24 <ehird> I used Linkinius at first.
16:52:30 <ehird> So this is just from when Linkinius expired.
16:52:33 <AnMaster> ehird, mhm.
16:55:14 <ais523> I don't think I've ever had a shareware program expire on me
16:55:30 <ais523> nor an unactivated for-pay Microsoft program, I generally activate them ASAP
16:55:34 <ais523> over the telephone!
16:55:53 <ais523> the GPL EULA thing would have expired by now, but I just edited out the licence check
16:56:03 <AnMaster> http://en.wikipedia.org/wiki/File:Buddhabrot.jpg <-- now that looks cool. Just a way to render Mandelbrot but still..
16:56:34 <ehird> I've never had an unactivated for-pay Microsoft program expire on me because I don't use them
16:56:35 <ehird> AnMaster: yes
16:56:37 <ehird> I like the burning ship fracta
16:56:38 <ehird> l
16:56:48 <ehird> http://en.wikipedia.org/wiki/File:Burning_Ship_Fractal_Zoom.png
16:56:50 <AnMaster> I haven't seen that one *googles*
16:56:50 <AnMaster> oh
16:56:52 <ehird> there was a more ghostly image somewhere on WP
16:56:56 <ehird> can't find it
16:57:00 <AnMaster> for once I'm prepared to google and you link it
16:57:00 <ais523> ehird: I used to use other people's Windows computer before I got Linux
16:57:02 <AnMaster> :P ~
16:57:10 <ais523> I actually used to be a Windows power user, but am a bit rusty nowadays
16:57:19 <ais523> and just being good at Windows doesn't make Windows any better to use...
16:57:21 <ehird> AnMaster: well, it was obscure enough to warrant it
16:57:40 <ehird> ais523: I used windows from 1998-2006; it was pretty rough all the way through.
16:57:49 <AnMaster> ehird, that look like "Eifel Tower as seen by <name of artist painting clocks that dripped>"
16:57:56 <ehird> ...
16:57:57 <AnMaster> don't remember name right now..
16:57:58 <ehird> Salvador Dali.
16:58:02 <AnMaster> ah yes
16:58:04 <AnMaster> that's right
16:58:12 <ehird> come on, I'm art illiterate and even I know that :-P
16:58:21 <AnMaster> ehird, I didn't remember how to sell it
16:58:23 <AnMaster> spell*
16:58:36 <ehird> selling Salvador Dali paintings is probably very easy.
16:58:40 <AnMaster> hah
16:58:52 <AnMaster> so predictable that joke :P
17:01:05 <AnMaster> ehird, http://en.wikipedia.org/wiki/File:Nebulabrot.jpg
17:01:15 <ehird> Nice.
17:01:44 <AnMaster> ehird, apparently it is http://en.wikipedia.org/wiki/File:Buddhabrot.jpg but different colour set
17:05:53 <AnMaster> ehird, btw I remember seeing mandelbrot in vim
17:05:58 <AnMaster> don't remember url
17:06:24 <AnMaster> this is quite interesting. (compared to if it was emacs, then it would probably be built in ;)
17:07:57 <ehird> AnMaster: I showed you that.
17:08:03 <ehird> When talking about TECO.
17:08:11 <ehird> http://www.spacetimetravel.org/tuebingen/tuebingen.html <-- anyone know the program that let you do this on arbitrary 3d shit?
17:08:14 <ehird> I used it onc
17:08:14 <ehird> e
17:08:15 <AnMaster> ehird, oh ok. When was this? Must have been at least half a year ago
17:08:15 <ehird> it was fun
17:08:22 <ehird> AnMaster: No, it was yesterday or the day before.
17:08:32 <AnMaster> ehird, err I have known of such a program for ages in vm
17:08:33 <AnMaster> vim*
17:08:38 <ehird> 2009-03-10_Freenode.txt:19:27 ehird: http://www.df.lth.se/~lft/vim/mandelbrot
17:08:50 <ehird> Your reply:
17:08:51 <ehird> 19:28 AnMaster: .se... oh my
17:09:06 <AnMaster> ehird, yes, I didn't remember seeing it on .se
17:09:18 <ais523> Emacs doesn't have mandlebrot built in
17:09:23 <AnMaster> ehird, but I have seen mandelbrot in vim before
17:09:25 <ais523> but there are lots of implementations on the Internet
17:09:27 <ais523> *mandelbrot
17:09:29 <AnMaster> I even ran it
17:09:42 <AnMaster> sshed to a box with vim and tried
17:09:56 <ais523> AnMaster: you don't have vim on your own computer?
17:10:09 <AnMaster> ais523, no. As I said many times before
17:10:21 <AnMaster> not everyone has emacs, not everyone has Gnome. Not everyone has KDE
17:10:24 <ehird> do you have vi? If not, your machine isn't POSIX or UNIX compliant. Congratulations on your zealotry.
17:10:36 <AnMaster> ehird, I do have a minimal vi yes
17:10:41 <ais523> all POSIX computers have a vi implementation, but at least on Ubuntu it's a minimal implementation not vim
17:10:51 <ehird> God, that mandelbrot vi program is slow.
17:10:55 <asiekierka> Manual-synced NBTV parts: still waiting
17:10:58 <asiekierka> la la
17:10:59 <ais523> $ busybox vi
17:11:00 <ehird> Like slow slow.
17:11:00 <asiekierka> LA LA
17:11:01 <asiekierka> la la
17:11:04 <ehird> fuck off
17:11:06 <ais523> I have an even more minimal vi on my computer
17:11:06 <ehird> asiekierka:
17:11:17 <asiekierka> ...THAT'S WHAT [EHIRD] SAID!
17:11:20 <ehird> (before anyone says that was harsh, asiekierka's "la"s go on for 30m)
17:11:24 <ais523> Options:
17:11:25 <ais523> -cInitial command to run ($EXINIT also available)
17:11:27 <ais523> -RRead-only - do not write to the file
17:11:28 <ais523> -HShort help regarding available features
17:11:38 <asiekierka> (la la, LA LA, la la, I am not listening)
17:11:40 <ehird> oh god, that towers of hanoi game
17:11:43 <ehird> is actually
17:11:44 <ehird> playable
17:11:44 <AnMaster> ais523, I took my vi from http://ex-vi.sourceforge.net/ I think
17:11:45 <ehird> by the user
17:11:47 <AnMaster> I never use it
17:11:47 <ehird> I am not joking
17:11:56 <ehird> its not an AI
17:11:58 <ehird> that's just cool
17:12:15 <ehird> well.
17:12:17 <ais523> whereas vim.tiny gives me loads of options
17:12:19 <ehird> just typing zzzzzzzzzzzzzzzzzzzzzzzzzzzzz wins.
17:12:24 <AnMaster> ais523, hah
17:12:26 -!- comex has joined.
17:12:27 -!- comex has quit (Client Quit).
17:12:40 -!- comex has joined.
17:13:03 <AnMaster> ehird, anyway vi isn't required by POSIX in fact. Since shell or other standard tools are actually optional
17:13:12 <AnMaster> to make it possible to support POSIX on embedded systems
17:13:24 <ehird> it's certainly required for UNIX
17:13:27 <AnMaster> there is a special "embedded profile" or something, forgot the name
17:13:28 <ais523> AnMaster: it's required by workstation POSIX I think
17:13:30 <ehird> and if you have a shell I believe you must have vi
17:13:34 <AnMaster> ehird, yes but POSIX != UNIX
17:13:38 <AnMaster> ais523, true
17:13:52 <AnMaster> just pointing out that ehird was factually incorrect
17:13:56 <ais523> wow, in busybox vi
17:13:57 <ehird> so anyone know about that speed of light thing
17:14:01 <AnMaster> ais523, ?
17:14:03 <ais523> typing ? then newline makes it segfault
17:14:08 <AnMaster> um
17:14:17 <ais523> that's a bug, I should see if it's still in the most recent version
17:14:27 <AnMaster> ais523, says "pattern not found" here
17:14:33 <ais523> AnMaster: using busybox
17:14:35 <ais523> ?
17:14:36 <AnMaster> ais523, yes
17:14:44 <comex> anyone want to help me with prolog?
17:14:47 <ehird> no
17:14:59 <ais523> BusyBox v1.10.2 (Ubuntu 1:1.10.2-1ubuntu7) multi-call binary
17:15:01 <AnMaster> ais523, busybox 1.13.2 /bin/busybox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped
17:15:03 <ais523> comex: I'll help if you like
17:15:08 <ais523> wow, my busybox is old
17:15:29 <ehird> Nobody know?
17:15:38 <comex> ais523: http://pastie.org/414276
17:15:53 <comex> I can load that, but if I then type valid(X), I don't get any results
17:16:00 <ehird> aha
17:16:01 <ehird> http://www.adamauton.com/warp/
17:16:02 <comex> whereas I expect amo, amas
17:16:10 <ais523> did you run first_conj?
17:16:12 <AnMaster> ais523, in my package manager the versions 1.12.2-r1 1.13.2 ~1.13.3 are available. ~ signifying testing, since I'm running a stable system it would require me to unmask that one with an entry in /etc/portage/package.keywords
17:16:24 <ais523> ah, you didn't
17:16:27 <ais523> that program doesn't run first_conj
17:16:34 <ais523> it /defines/ firstconj(am) as a fact
17:16:41 <ais523> you need :- first_conj(am). to run it
17:18:06 <comex> in which prolog is a language and not first-order logic :u
17:18:27 <AnMaster> anyway *uninstalls ex-vi* *links /bin/vi to /bin/busybox
17:18:28 <ais523> comex: it would work fine if you were using backward chaining
17:18:31 -!- BeholdMyGlory_ has joined.
17:18:32 <comex> which is?
17:18:34 <AnMaster> a few saved bytes
17:18:35 <AnMaster> :)
17:18:40 <ais523> comex: not using assert
17:18:44 <ais523> and instead doing the conjugation at runtime
17:18:46 <comex> ais523: I don't want to use assert
17:18:48 <comex> how do I avoid it
17:18:54 <ais523> what exactly are you trying to do?
17:19:03 <comex> if I just say valid(Word), I get an existence error
17:19:03 -!- BeholdMyGlory has quit (Nick collision from services.).
17:19:09 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
17:19:15 <ais523> that's because valid should be defined to calculate if a word is valid
17:19:26 <comex> I want to make a big list of valid words
17:19:29 <comex> by building up endings
17:19:41 <ais523> as in valid (Word) :- root(R), ending(E), atom_concat(R,E,Word)
17:19:47 <ais523> and root listing valid roots, and ending listing valid endings
17:19:57 <comex> do I have to go backwards?
17:19:57 <ais523> oh, I forgot the full stop on my example, but you can add it
17:20:13 <ais523> comex: it's called backward chaining in that it doesn't calculate the list unless you ask for it
17:20:34 <ais523> in other words, if you write valid('amat'), it then looks for a root and ending that fit together to make 'amat'
17:20:56 <ais523> putting atom_concat at the start of valid rather than the end would be faster if an argument was provided, but crash if you just wrote valid(X)
17:20:57 <comex> but the tutorials use something like
17:21:09 <comex> man(socrates). man(plato).
17:21:15 <comex> then you can ask who is a man.
17:21:19 <ais523> yes
17:21:23 <ais523> that's what's happening here
17:21:27 <ais523> in my example
17:21:32 <ais523> the full program would be
17:21:35 <comex> no, in that example I have to define all possible roots in one big thing
17:21:50 <ehird> I don't think you "get" prolog.
17:21:55 <comex> ehird: I don't.
17:22:02 <ais523> ending(o). ending(as). root(am). valid(Word) :- root(R), ending(E), atom_concat(R,E,Word).
17:22:05 <ehird> You don't write procedures that template facts; prolog has that built in.
17:22:07 <ehird> It's called foo :- bar.
17:22:09 <ehird> That's your template.
17:22:34 <comex> ais523: except what if I want to say
17:22:46 <comex> that's valid, and valid(foo), and valid(bar)
17:22:52 <comex> and I don't want to stick it in one big expression
17:22:56 <ehird> comex: do
17:22:57 <ehird> valid(foo).
17:23:00 <ais523> that isn't stuck in one big expression
17:23:01 <ehird> it's only template if you have :_
17:23:03 <ehird> :-
17:23:04 <ehird> you can doo
17:23:11 <ehird> valid(foo). valid(bar). valid(Word) :- ...
17:23:18 <comex> really?
17:23:21 <ais523> yep
17:23:23 <ehird> ... yes ...
17:23:24 <comex> well, that makes more sense
17:23:27 <ehird> it's like haskell pattern matching, comex
17:23:32 <ais523> each definition you give is an alternative definition
17:23:35 <ehird> you can define it multiple times, except it's one
17:23:38 <ehird> and it tries them all
17:24:11 <ais523> that's why the program you pasted doesn't work, it's treating first_conj(am) as an alternate definition of first_conj, not an attempt to run it
17:24:38 <ais523> in fact, actually running an expression is quite difficult in prolog, although possible, because it's generally bad form
17:24:57 * comex tries to write a better version
17:25:12 <ehird> http://www.drmaciver.com/2009/02/spam/
17:26:49 <comex> ais523: http://pastie.org/414288
17:26:53 <comex> that works, but it seems very verbose
17:26:59 <ehird> ~
17:26:59 <ehird> ~
17:27:00 <comex> I have to say first_conj twice etc
17:27:00 <ehird> ~
17:27:02 <ehird> ~
17:27:04 <ehird> fail
17:27:16 <ehird> comex: "very verbose"?
17:27:20 <ehird> The planets we live on; they differ.
17:27:25 <Slereah> http://sovietrussia.org/code/src/1182815183936.png
17:27:27 <Slereah> :D
17:27:31 <ais523> that's typical Prolog
17:27:33 <ehird> Slereah: old.
17:27:42 <Slereah> You hurt my feelings
17:28:02 <ais523> if you want to make it shorter, you can do s1(X) :- member(X,[s,t,mus,tis,nt]).
17:28:09 <ais523> but that's just a slightly shorter abbreviation
17:28:16 <ais523> writing it out in full is idiomatic
17:28:22 <ehird> he's talking about the valid()
17:28:23 <ehird> part
17:28:45 <ais523> there's nothing wrong with that, apart from Prolog's traditional lack of nested expressiosn
17:28:47 <ais523> *expressions
17:28:49 <ais523> is is a hack, really
17:29:06 <ehird> Slereah: FWIW, if you want to be more current, I would focus on "GRUNNUR".
17:29:20 <comex> is there a way for me to "split" the goal into two, so I would just say first_conj once?
17:29:49 <ais523> yes, but that would also be unidiomatic
17:29:52 <comex> fair enough
17:29:55 <ais523> you can use ; to combine common parts of two goals
17:29:55 <comex> (but what is it :p)
17:30:20 <ehird> sheesh, comex just wants to write his perfect language in every language
17:30:33 <comex> ehird: not really, I just want to generate a list of valid latin words with minimal typing
17:30:43 <ais523> valid (Word) :- first_conj(Root), (atom_concat(Root, o, Word) ; s1(Ending), atom_concat(Root, a, X), atom_concat(X, Ending, Word)).
17:30:50 <ehird> you're typing an awful lot of complaining about the AWFUL VERBOSITY into #esoteric
17:30:54 <comex> ehird: thought prolog might be a good way to do it
17:30:57 <ehird> sometimes you repeat a few characters when coding!
17:30:59 <ehird> how crazy
17:31:00 <ais523> it is a good way
17:31:11 <ehird> just deal with the verbosity, it's _one_ _line_
17:31:19 <ehird> not even a full line
17:31:20 <ehird> a tiny line
17:31:25 <ais523> comex: typical indentation style with that ; would be to line up the ; vertically underneath the opening bracket of the (;) group
17:31:27 <AnMaster> ais523, Hm. Erlang looks like Prolog, but prolog doesn't look like Erlang.
17:31:30 <ehird> ais523's version is way unreadable
17:31:31 <AnMaster> that is my conclusion
17:31:48 <ais523> ehird: if you run it through gprolog's pretty-printer, it's relatively readable, but the idiomatic version is better
17:32:22 <ais523> there is actually a slight semantic difference between the version with ; and without
17:32:37 <comex> ais523: what?
17:32:38 <ais523> in that the version with ; only runs side-effects that first_conj might have once, and the split version runs them twice
17:32:57 <comex> <3 non-functionally-pure languages
17:33:14 <ais523> ; is just semantic sugar, though, for defining a new predicate and using each of the two halves of the predicate as an alternative definition for the new predicate
17:33:28 <ais523> but ; is nice because you don't want to go around defining lots of junk predicates for no reason
17:33:37 <ais523> in fact, most of Prolog is syntactic sugar
17:33:41 <ehird> right
17:33:45 <ehird> but you should use the idomatic one
17:33:48 <ehird> in this case
17:33:48 <ehird> really
17:33:50 <ais523> in this case, yes
17:33:55 <ais523> ; is mostly useful only in really big predicates
17:34:09 <ais523> or if you really really need to avoid duplication for some reason
17:34:22 <ehird> first_conj(Root),
17:34:26 <ehird> that's the entirety of the duplication
17:34:27 <ehird> think about that
17:34:31 <ehird> in C< that would be
17:34:31 <AnMaster> ais523, like golfing?
17:34:35 <ehird> first_conj(root); or whatever
17:34:37 <ehird> he's saying
17:34:41 <ais523> AnMaster: no, like if something had side effects
17:34:41 <ehird> that refactoring into a procedure
17:34:42 <ehird> and then calling it
17:34:45 <AnMaster> ah
17:34:46 <ehird> makes the multiple calls REPETITION
17:34:49 <ehird> that's _ridiculous_
17:34:50 <ais523> you definitely don't want to call fork() too many times, for instance
17:35:05 <ais523> and fork_prolog(Pid) is in gprolog's standard library
17:35:24 <ais523> you wouldn't want to duplicate that, and you probably wouldn't want to backtrack past it either unless you really knew what you were doing
17:35:27 <ais523> at least, not in both resulting threads
17:35:31 <ais523> *processes
17:52:28 <comex> forking, prolog, heheh
17:52:39 <ais523> what's so weird about that?
17:52:46 <ais523> it's much the same as forking in any other language
18:01:37 <ais523> if you come onto an IRC network and find that services are down
18:01:47 <ais523> is it usual to write your own copy of ChanServ to guard a channel for you?
18:02:11 <comex> http://pastie.org/414328
18:02:12 <comex> yay
18:02:34 <ais523> looks good
18:08:17 -!- neldoret1 has joined.
18:10:57 -!- jix_ has joined.
18:16:18 -!- Judofyr has joined.
18:21:58 -!- neldoreth has quit (No route to host).
18:24:12 -!- jix has quit (Read error: 110 (Connection timed out)).
18:34:15 -!- ehird___ has joined.
18:34:32 <ehird___> Richard M. "Orwell" Stallman:
18:34:34 <ehird___> The Adobe flash plug-in is non-free software, and people should not
18:34:34 <ehird___> install it, or suggest installing it, or even tell people it exists.
18:34:34 <ehird___> That Firefox offers to install it is a very bad thing.
18:35:09 <Slereah> Does any of this explain his giant disgusting beard
18:35:48 <ais523> ehird: Stallman doesn't 'get' free software
18:35:49 <ehird___> The beard is a byproduct of his bullshit-producer (mouth)
18:35:54 <ais523> just look at the original licence to his Emacs manual
18:36:09 <ais523> just as with proprietary software, he was trying to put on unremovable restrictions
18:36:18 <ais523> luckily, the GPL stops him just as much as it stops everyone else...
18:36:19 <ehird___> ais523: you mean refusing to tell people non-free software exists won't solve the problem of non-free software?! shit!
18:36:34 <ais523> yep
18:36:42 <Slereah> If we ignore them, maybe they'll disappear!
18:36:43 <ais523> and refusing to port Emacs to Windows won't stop people porting it to Windows
18:37:03 <ais523> Bruce Perens has much the right idea, I think, he wrote the DFSG
18:37:08 <ais523> or at least was very influential behind it
18:37:11 <ehird___> ais523, can you ping 208.78.103.223?
18:37:18 <ais523> why do you want me to try?
18:37:28 <ehird___> because I can't; it's my slice
18:37:50 <ais523> ehird: yes, I can
18:38:00 <ais523> 64 bytes from 208.78.103.223: icmp_seq=1 ttl=45 time=120 ms
18:38:02 <ais523> 64 bytes from 208.78.103.223: icmp_seq=2 ttl=45 time=119 ms
18:38:11 <ehird___> also, I haven't heard Bruce Perens say anything that isn't insane, which is more than I can say for most FOSS people
18:38:18 <Azstal> 64 bytes from 208.78.103.223: icmp_seq=1 ttl=56 time=0.000 ms :D
18:38:49 <ais523> ehird: sshd is running over there
18:38:51 <ehird___> 0ms? you lucky bugger, how fast is that connection! :P
18:38:54 <ais523> although pretty obviously I can't log in
18:39:02 <ehird___> ais523: good. I cannot connect via SSH or IRC.
18:39:07 <ehird___> Thus the ___
18:39:16 <ais523> three underscores? that's quite a lot
18:39:42 <ehird___> I had __ for asking #slicehost, because I didn't want to risk just _ being online for some reason, but it hasn't disconnected yet :P
18:41:38 <ehird___> ESR on Bruce Perens: Damn straight I took it personally. And if you ever again behave like that kind of disruptive asshole in public, insult me, and jeopardize the interests of our entire tribe, I'll take it just as personally -- and I will find a way to make you regret it. Watch your step.
18:41:43 <ehird___> A strong endorsement.
18:46:08 <ehird___> Having recipes for non-free programs in the ports system is more like
18:46:08 <ehird___> including present-day neofascist web sites in the list of "interesting
18:46:08 <ehird___> links" in your web site. I am against censorship, so I do not believe
18:46:08 <ehird___> in closing down those neofascist web sites. But I won't refer people
18:46:08 <ehird___> to them.
18:46:13 <ehird___> ^ gahahahahahaha
18:46:42 <asiekierka> ok, change of plans, i'm not getting a miniature toy fan and modifying it
18:46:45 <asiekierka> i'm getting a motor
18:46:54 <asiekierka> but tommorow, sadly
18:58:20 <ehird___> Huh, I've never written a Mandelbrot set viewer; just realised.
18:58:28 <ehird___> Well I've tried, but the algorithm never was right.
18:59:35 <ais523> I've written one
18:59:44 <ais523> although it breaks down if you zoom too far due to FP rounding errors
19:00:07 <ehird___> Haskell has a library for infinite precision floating point I think
19:00:35 <ais523> you can't get infinite precision generalised floating point
19:00:40 <ais523> you can get infinite precision rationals
19:00:50 <ais523> and arbitrarily high precision floating point, that's what a bigfloat is
19:00:53 <ehird___> hcouldn't you find a base that can represent a number precisely in finit edigits, for any number?
19:02:09 <ais523> ehird: pi?
19:02:12 <ais523> root 2?
19:02:28 <ais523> you can find a base that represents a number precisely in finite digits for any rational number, but not for any irrational number
19:02:56 <ehird___> good point
19:03:00 <ehird___> but i mean, things like, oh what it is
19:03:05 <ehird___> 0.2 is 0.199999999999 or something
19:03:10 * ais523 catches ehird in a butterfly net -----\XXXXX/
19:03:15 <ehird___> I was focusing on those errors
19:03:32 <ais523> oh, those can be fixed using bigrationals
19:04:34 <ehird___> but do bigfloats automatically change their precision?
19:04:41 <ehird___> http://hackage.haskell.org/packages/archive/numbers/latest/doc/html/Data-Number-BigFloat.html doesn't
19:04:56 <ehird___> wonder if there's gmp bindings
19:08:57 <ehird___> grr, I'm unplugging/repluggin my router
19:09:22 -!- neldoret1 has quit (Client Quit).
19:12:47 -!- neldoreth has joined.
19:26:50 -!- neldoreth has left (?).
19:30:34 <ehird___> ais523: whoa! by adding only a few, very simple lines of code to my sierpinski program, it's rendering a PNG of it! (just need to fix one bug)
19:31:13 <ais523> ehird___: the joy of a good stdlib
19:31:23 <ais523> it would probably be just one extra wrapper function in mathematica
19:31:26 <ehird___> ais523: actually, it's from Hackage, but it was just a one-liner to install it
19:31:31 <ais523> whose only redeeming feature is a good stdlib
19:31:34 <ehird___> but it's amazing what good-factored code gets you
19:31:38 <ais523> yes
19:38:12 <psygnisfive> oi
19:38:25 <lament> ve avoi
19:39:44 <psygnisfive> im glad to see my comments on the sierpinski gasket generated such lengthy discussion
19:39:56 <psygnisfive> any solutions to the problem of why its so ubiquitous?
19:41:07 <lament> perhaps God is a gigantic sierpinski triangle.
19:41:15 <psygnisfive> Perhaps! :O
19:41:57 <psygnisfive> HUZZAH
19:43:03 <psygnisfive> I got into University of Maryland :D
19:44:33 -!- neldoreth has joined.
19:45:49 <ehird___> tony morris found by police; unharmed
19:47:02 <ais523> ok, that's useful, I hope he stays alive
19:47:22 <ais523> wb neldoreth
19:47:31 <lament> he had lots of time to kill himself had he wanted to.
19:47:41 <ehird___> of course
19:47:56 <ehird___> if he actually wanted to, we'd have no chance because he'd h ave been dead before the message was sent out
19:49:03 <neldoreth> thanks and hello all
19:49:07 <ehird___> oh, hi
19:50:12 <ais523> ehird___: some people want to commit suicide but don't really want to, so they give people a chance to talk them out of it first
19:50:18 <ais523> anyway, let's move onto less morbid things
19:50:30 <ehird___> ais523 -- my current centering algorithm (stole from newsham :)) is "insert ((height - y)/2) blank spaces before the sierpinski stuffs" -- any way to fix that? because on the last line, it produces (h/2) spaces
19:50:37 <ehird___> also, yes, I know that... I'm not thick.
19:51:01 <ais523> ehird___: what particular is wrong with that?
19:51:43 <ehird___> ais523 -- http://www.nopaste.com/p/abzexHoIj
19:53:06 <ais523> ehird: what's y?
19:53:19 <ehird___> | y <- [h-1,h-2..0] ]
19:53:30 <ehird___> i.e., from h-1 to 0, downwards
19:53:58 <ehird___> so it ends up as (h-0)... hmm... ah, wait...
19:54:00 <ais523> that algorithm shouldn't be producing the results you pasted
19:54:18 <ais523> in particular, it would lead to only half a space on line 1
19:54:29 <ehird___> integer division :P
19:54:57 <ais523> but you have loads of spaces on line 1
19:55:04 <ais523> rather than none
19:55:31 <ehird___> except; the extra spaces come fromL
19:55:37 <ehird___> [ x .&. y == 0 | x <- [w-1,w-2..0] ]
19:55:43 <ehird___> which is catenated to the blanks
19:55:53 <ais523> oh, I'm too tired to think about this atm
19:56:04 <ais523> I'm seriously sleep-deprived after a couple of intensive modules
19:56:12 <ehird___> http://codepad.org/Y1PV2gVc the original version, which works without flipping
20:00:54 <fizzie> http://groups.google.ca/group/rec.arts.sf.written/msg/073bea1aa44c9396 was a funny story.
20:01:17 -!- ais523 has quit (Remote closed the connection).
20:02:55 <AnMaster> hm
20:03:39 <AnMaster> google for "pi" and the calculator gives you: pi = 3.14159265
20:03:41 <AnMaster> ...
20:03:47 <AnMaster> = ?
20:05:09 <AnMaster> it should be ≈
20:05:23 <fizzie> Mathematics: it's not like it's an exact science.
20:05:40 <psygnisfive> about tony morris
20:05:48 <psygnisfive> its true, he'd been dead long before the message was sent
20:06:00 -!- kar8nga has joined.
20:06:03 <psygnisfive> cause he'd probably code a chat bot to send the message for him
20:06:24 <psygnisfive> speaking of idiots attempting suicide, where'd they find him?
20:06:38 -!- ehird____ has joined.
20:06:46 <ehird____> it WAS scripted -- multiple emails and IRC channels at once
20:06:50 <psygnisfive> oh was it?
20:06:53 <psygnisfive> haha. nerd. :D
20:07:04 <AnMaster> fizzie, btw if pi is a *normal* number as well as a transcendental one (which iirc is proven) wouldn't that mean that every number sequence will in the long run show up in the decimals on pi
20:07:07 <ehird____> also, he's not an idiot, he had chronic pain due to an ankle injury for 2 years
20:07:12 <AnMaster> fizzie, right?
20:07:15 <psygnisfive> see, this is why geeks shouldnt commit suicide. they're too awesom.
20:07:18 -!- ehird___ has quit (Read error: 145 (Connection timed out)).
20:07:33 <ehird____> you try having excruciating pain 24/7 for 2 years
20:07:49 <psygnisfive> how long have i been coming here talking to you?
20:07:55 <ehird____> to boot, he thinks the doctors misdiagnosed him -- and there hasn't been any progress on it so far. He tried to self-amputate a while back.
20:08:08 <ehird____> also, har har har
20:08:11 <psygnisfive> jesus that would've been a mistake
20:08:11 <ehird____> P
20:08:15 <ehird____> :P
20:08:27 <ehird____> ...and, why? He can't exactly use the ankle.
20:08:27 <fizzie> I'm not sure normality is required, but yes, I guess at the very least a normal number should get every number sequence sooner or later.
20:08:29 <AnMaster> ehird____, what's up with your nick btw?
20:08:31 <psygnisfive> amputating a leg that's had chronic pain for an extended period of time often leads of phantom limb syndrome
20:08:48 <psygnisfive> in which the pain remains, but the limb can no longer be anaesthetized, etc.
20:08:53 <ehird____> psygnisfive: yikes.
20:08:55 <psygnisfive> yeah.
20:08:58 <psygnisfive> yikes indeed.
20:09:03 <ehird____> AnMaster: router troubles, connected via telnet
20:09:14 <AnMaster> fizzie, which would make PI a so called "illegal number" in theory. Since it would contain the binary, and source code, of every program in existence. Or ever possible
20:09:19 <AnMaster> right?
20:09:36 <ehird____> AnMaster, your thoughts are as old as the 70s.
20:09:42 <ehird____> What matters is _INTENT_.
20:09:58 <ehird____> Read http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php
20:09:59 <AnMaster> ehird____, well yes. But this would be an interesting new file sharing idea. Just share offset in pi
20:10:02 <AnMaster> :P
20:10:10 <AnMaster> compression too
20:10:12 <fizzie> Pi-based file-sharing is not a new idea either.
20:10:18 <AnMaster> damn
20:10:22 <ehird____> yeah, let's wait until the head death of the universe before sharing anything other than pi
20:10:24 <fizzie> I've seen it proposed (unseriously) somewhere.
20:10:40 <AnMaster> ehird, err this is an IWC reference?
20:10:42 <AnMaster> or?
20:10:49 <ehird____> Heat death. A typo.
20:10:52 <AnMaster> oh
20:11:02 <AnMaster> it did end up as an IWC reference though :)
20:11:16 <AnMaster> fizzie, yes of course it wouldn't be practical
20:11:17 <ehird____> now; someone fix my shit router.
20:11:18 <psygnisfive> theres some file sharing system out there
20:11:25 <AnMaster> ehird____, tried rebooting it?
20:11:25 <psygnisfive> where you never download whole files
20:11:29 <psygnisfive> but instead download pieces of noice
20:11:31 <psygnisfive> noise*
20:11:36 <ehird____> sigh, yes anmaster
20:11:37 <psygnisfive> which can be reused for MULTIPLE files
20:11:47 <psygnisfive> so no one piece can be claimed to be infringing on anything
20:11:49 <AnMaster> ehird____, what is the issue you are having with it?
20:11:53 <ehird____> psygnisfive, yes, it's stupid, it's written by an idiot who knows nothing about copyright law
20:12:11 <psygnisfive> i know. it sounded bullshit because ok the noise isnt copyrightable
20:12:15 <psygnisfive> but the key to decode it is
20:12:23 <ehird____> anmaster, i can't reach my slice
20:12:27 <AnMaster> psygnisfive, what if that key is a prime number?
20:12:35 <psygnisfive> the key is more than just that tho
20:12:39 <AnMaster> ehird, your slice?
20:12:41 <ehird____> there's a prime whose source is decss
20:12:46 <ehird____> gzipped
20:12:52 <AnMaster> ehird____, I know
20:12:56 <AnMaster> I was making a reference to that
20:13:01 <ehird____> if you distributed it as a prime thing, that's fine
20:13:08 <ehird____> if you distirbuted it as decss, that's illegal
20:13:08 <psygnisfive> the key is a decode number plus references to the pieces of noise that need to be decoded
20:13:11 <ehird____> again, coloured bits
20:13:16 <ehird____> slice = slicehost VP
20:13:17 <ehird____> S
20:13:33 <AnMaster> ehird, ah, you can't reach your vps. I could try to traceroute it if I knew the ip
20:13:43 <ehird____> Others can connect; 208.78.103.223
20:13:45 <AnMaster> in case it is the vps that is having isues
20:13:48 <AnMaster> issues*
20:13:49 <ehird____> it is not
20:13:50 <AnMaster> ehird, hm ok
20:13:56 <AnMaster> did you try traceroute?
20:14:01 <ehird____> traceroute gives my VPS, then * forever
20:14:30 <AnMaster> 21 hops but works fine here
20:14:41 <AnMaster> ehird, maybe it is some firewall gone wrong on the vps? or such
20:15:29 <ehird____> IT'S AN ISSUE ON MY ROUTER
20:15:33 <ehird____> like i said, twice
20:15:37 <AnMaster> ok right. How do you know?
20:16:03 <ehird____> because everyone else can ping, traceroute and connect via ssh, because I can't reach manage.slicehost.com either, and because the traceroute fails AFTER MY ROUTER
20:16:07 <ehird____> _right_ after it
20:16:09 <ehird____> like I said
20:16:19 <AnMaster> hm
20:16:21 <AnMaster> ah right
20:16:23 <AnMaster> true
20:16:35 <AnMaster> ehird, does it affect just slicehost or anything else?
20:16:58 <AnMaster> maybe it is like that thing I remember reading about. Wikipedia being blocked by UK ISPs for some time iirc
20:17:17 <ehird____> no, it's really not. there's absolutely no basis for claiming it is, other than "UK" being in common
20:17:17 <fizzie> You said "traceroute gives my VPS, then * forever" which does not sound equivalent to "fails right after my router".
20:17:18 <AnMaster> if they blocked something else on the same ip
20:17:24 <ehird____> s/vps/router/
20:17:52 <AnMaster> fizzie, indeed
20:18:37 <AnMaster> anyway, try to calm down. I read about this thing called "mindfulness", though it did look like a piece of bull****, it might help. don't know~
20:18:54 <fizzie> Now if you people could stop being interesting for tonight, I might get done this thing I need to write.
20:19:09 <AnMaster> ehird, so you can't access manage.slicehost.com either. Would that extend to *.slicehost.com ?
20:20:14 <ehird____> no
20:20:22 <AnMaster> no?
20:20:27 <ehird____> no.
20:20:30 <AnMaster> mhm
20:21:13 <AnMaster> ehird____, this is very strange indeed. Two ips at slicehost doesn't work, but everything else does?
20:21:14 <AnMaster> huh
20:21:50 <AnMaster> even though I know routers are crappy I have a hard time seeing how it could be that crappy
20:23:03 <AnMaster> ehird____, I wish you good luck making it work. Tried a factory reset? How to do that varies between models. On some you hold some button down while it is booting for example
20:23:12 <ehird____> I'd rather not
20:23:16 <AnMaster> (like power button on mine)
20:23:33 <AnMaster> ehird____, I understand that
20:23:41 <AnMaster> ehird____, tried telneting to your router?
20:23:55 <AnMaster> usually that works better than webuis
20:24:14 <ehird____> can't.
20:24:21 <AnMaster> mhm
20:24:25 <AnMaster> on mine it works
20:24:33 <AnMaster> and shows lots of nice hidden options too
20:24:37 <ehird____> yours isn't a locked down piece of shit rented from orange as part of the plan
20:24:53 <AnMaster> ehird____, mine was sent by the ISP as part of the plan
20:24:56 <AnMaster> but not same ISP no
20:25:09 <AnMaster> combined ADSL-modem/router
20:25:17 <ehird____> [ehird:~] % telnet 192.168.1.1
20:25:17 <ehird____> Trying 192.168.1.1...
20:25:17 <ehird____> telnet: connect to address 192.168.1.1: Connection refused
20:25:42 <AnMaster> ehird, well for fun try nmapping it, just do it at slow rate or you are likely to crash it
20:26:11 <fizzie> Here's a random piece of trivia: I have a ZyXEL ADSL thing, which speaks a bit of SNMP, but only the outgoing link speed is visible in the SNMP values (as interface speed); the incoming speed, which I'd sort-of like to monitor out of curiosity, is not even the ZyXEL-specific SNMP MIB, it's only available in the telnet (and webui) interfaces.
20:27:36 <AnMaster> fizzie, I don't think mine has SNMP. How would I check?
20:28:42 <fizzie> Er, well, you can poke it with a SNMP request, but presumably if it has it, the community IDs ("public", "private" by default) are configurable somewhere.
20:29:09 <ehird____> hmm, it has quite a few open ports
20:29:20 <ehird____> 53/tcp open domain
20:29:20 <ehird____> 80/tcp open http
20:29:20 <ehird____> 9100/tcp open jetdirect
20:29:20 <ehird____> 49153/tcp open unknown
20:29:46 <AnMaster> fizzie, which port?
20:29:48 <ehird____> btw, how do you kill telnet from inside? it's irritating
20:29:59 <AnMaster> ehird, ^[ iirc
20:30:04 <AnMaster> that is Ctrl-[
20:30:17 <AnMaster> that is the escape code for it in my case
20:30:18 <fizzie> AnMaster: It's an UDP thing, and it might not answer to invalid-looking requests, so you probably need some snmp-utils package installed.
20:30:20 <ehird____> ah, it's ^]
20:30:25 <AnMaster> ehird____, oh maybe
20:30:32 <AnMaster> ehird____, it says when you start it
20:30:33 <AnMaster> iirc
20:30:51 <AnMaster> fizzie, nmap no good?
20:30:51 <ehird____> anyway, all the ports are boring apart from 9100 which gives "3" -- wonder how to use them.
20:31:11 <AnMaster> ehird, did you try service scan thingy
20:31:18 <AnMaster> of nmap
20:31:32 <AnMaster> -sV iirc
20:31:32 <ehird____> wuzzat
20:31:43 <AnMaster> ehird, ?
20:31:47 <ehird____> kay, running it
20:31:52 <fizzie> AnMaster: Well, I guess you could try nmapping UDP port 161, I mean theoretically it could send back icmp port-unreachables or something if it doesn't answer at all.
20:32:06 <AnMaster> ehird____, it could I guess crash a bad router if the router crashed on random data
20:33:18 <ehird____> OK, I have results
20:33:30 <ehird____> http://www.nopaste.com/p/aTrKL9mcmb
20:33:31 <AnMaster> fizzie, it is filtered on other random udp ports too
20:33:38 <AnMaster> so doesn't tell me much
20:33:45 <ehird____> So, some dns shit, the configuration, Upnp server and an unknown thang.
20:33:59 <ehird____> The unknown thang & the dns seem interesting, all else boring.
20:34:00 <fizzie> Yes, very likely. Well, if you have them tools, "snmpwalk -Os -c public -v 1 <device IP> ." usually gives everything the device knows.
20:34:10 <ehird____> Linux 2.6, though, ey.
20:34:18 <AnMaster> ehird, dns isn't unexpected. All routers have that afaik
20:34:26 <AnMaster> all consumer ones at least
20:34:27 <ehird____> Well, right.
20:34:40 <ehird____> S owhat is that jetdirect, do you think?
20:34:43 <AnMaster> fizzie, I don't have the tools
20:34:56 <ehird____> oh, printer shit
20:35:07 <ehird____> so... totally locked down, you can get in to it, but you need a serial cable
20:35:09 <AnMaster> ehird____, that is what the port is meant for
20:35:20 <ehird____> my router supports connecting a printer, so yes
20:35:20 <AnMaster> ehird____, but it probably isn't used for that...
20:35:25 <AnMaster> oh really, hm
20:35:30 <ehird____> for networked printing
20:35:35 <fizzie> You can probably craft a SNMP packet with hexedit and send it with netcat's udp mode, but that probably would not be worth the trouble.
20:35:51 <ehird____> fizzie, does SNMP offer any nice backdoors? :P
20:35:52 <AnMaster> indeed
20:36:45 <fizzie> Speaking of backdoors, my WLAN access point firmware had a custom non-linked page, with manufacturer-fixed username and password, which let you execute any shell command with a web-form and see the outputs.
20:36:49 <fizzie> That wasn't very nice.
20:36:51 <AnMaster> wait
20:36:56 <AnMaster> I was using wrong nmap option
20:37:00 <AnMaster> this seems interesting
20:37:20 <AnMaster> though it takes some time
20:37:26 <ehird____> oh?
20:37:38 <AnMaster> fizzie, indeed ouch
20:37:52 <AnMaster> PORT STATE SERVICE VERSION
20:37:52 <AnMaster> 161/udp open|filtered snmp
20:37:52 <AnMaster> MAC Address: 00:14:7F:EE:BF:74 (Thomson Telecom Belgium)
20:38:15 <ehird____> If anyone can gimme tips on cracking open my router's shell, i'd appreciate it
20:38:25 <fizzie> I don't know what nmap's "open|filtered" means.
20:38:34 <AnMaster> ehird____, tool called hammer
20:38:40 <AnMaster> or if that fail: sledge
20:38:45 <AnMaster> sledgehammer*
20:38:53 <ehird____> har har.
20:38:54 <fizzie> The wlan AP's debug-page was reasonably useful for getting shell-like access without having to upload a custom firmware or anything.
20:39:13 <fizzie> I just would've preferred it to use the configured administration password and not some manufacturer default.
20:39:15 <ehird____> !! THATS AN IDEA
20:39:19 <ehird____> You can back up your Livebox configuration to a file on your computer.
20:39:25 <ehird____> _and_ restore it -- JACKPOT?!
20:39:31 <AnMaster> err
20:39:32 <AnMaster> what?
20:39:42 <ehird____> there might be hidden settings in there
20:39:52 <AnMaster> fizzie, interesting. The telnet access I get is kind of crippled, a menu interface with lots of options
20:39:52 <ehird____> ugh, it's a binary file
20:39:56 <AnMaster> but no real shell access
20:40:07 <AnMaster> don't think it runs *nix even
20:40:22 <fizzie> Well, there was no telnet access to the wlan AP at all, even though it was a linuxy thing.
20:40:25 <ehird____> Modifying cfgsave.dwb files from a Wanadoo Livebox <-- oo
20:41:13 <fizzie> This ADSL box most probably isn't linux-based either.
20:41:22 <ehird____> "This file is just a tar file that has been 'encrypted' by adding 0x1b to every byte in the file. "
20:41:28 <ehird____> Make this shit up, you can't.
20:42:21 <fizzie> I ran into that sort of "encryption" somewhere too.
20:42:22 <ehird____> hey you can get telnet with just this apparently! hot
20:42:27 -!- ehird____ has quit (Excess Flood).
20:42:44 -!- ehird_______ has joined.
20:42:46 <fizzie> Apparently the box doesn't know what day it is either.
20:42:48 <fizzie> styx> sys date
20:42:48 <fizzie> Current date is Tue 2009/01/06
20:42:49 <ehird_______> it's HACK IN TIME
20:43:14 <AnMaster> FireyFly, heh
20:43:15 <AnMaster> err
20:43:17 <AnMaster> fizzie, ^
20:43:22 <ehird_______> me downloadz HACK TOOLZ
20:43:35 <fizzie> It's "ZyNOS version: V3.40(AGE.2)".
20:43:54 <AnMaster> ehird_______, cool
20:44:03 <AnMaster> yeah that sort of "encryption" sucks
20:44:10 <AnMaster> but good for power users
20:44:49 <ehird_______> tar: This does not look like a tar archive
20:45:41 <ehird_______> opening it, I see shell files, though
20:45:45 <ehird_______> just no header
20:45:58 <ehird_______> starts- d6a72aaac5a6ce5f9622633d162f908f -
20:46:42 <ehird_______> anmaster, any ideas?
20:46:53 <AnMaster> um
20:46:57 <fizzie> Ooh, there's a tcpdump-like packet trace facility in the ADSL box.
20:47:18 <AnMaster> ehird, that looks like a hash of stdin from md5sum
20:47:29 <AnMaster> $ echo foo | md5sum
20:47:29 <AnMaster> d3b07384d113edec49eaa6238ad5ff00 -
20:47:31 <AnMaster> see?
20:47:35 <ehird_______> aha, I'll s trip it off
20:47:49 <AnMaster> ehird, no idea if that will break stuff
20:47:55 <ehird_______> presumably, I'll need to put one back when I'm done!
20:48:09 <AnMaster> anyway when I save settings from my router using the backup feature I get a plain "user.ini" file
20:48:20 <AnMaster> which is in fact an ini file
20:48:34 <ehird_______> WORKS NOW
20:49:01 <ehird_______> http://pastie.org/private/tjvsp5kpxzg5bgqowkka <- FUCK YEAH
20:49:51 <fizzie> That's a funny format for a configuration dump.
20:50:04 <fizzie> Does it extract any tar file you upload to it, no matter what the paths are? :p
20:50:14 <ehird_______> Yep.
20:50:28 <fizzie> Heh, that's friendly.
20:50:30 <ehird_______> As long as you add the md5sum properly, and then add 0x1b to each byte
20:51:00 <ehird_______> squee, this is aesome
20:51:21 <ehird_______> i'm going to make my livebox serve over http
20:51:24 <ehird_______> to the net
20:51:27 <ehird_______> "hello from router" :D
20:52:05 <ehird_______> this is pretty good, all their configs are plain text and COMMENTED
20:52:10 <AnMaster> ehird_______, it has bluetooth?
20:52:13 <ehird_______> with _useful comments_
20:52:15 <ehird_______> also, yes
20:52:23 <AnMaster> huh
20:52:29 <AnMaster> ehird_______, what is that used for?
20:52:36 <ehird_______> hm?
20:52:40 <ehird_______> oh
20:52:43 <ehird_______> don't recall
20:52:51 <AnMaster> ehird_______, not debug port then?
20:53:07 <ehird_______> omg you can configure the dns and everything <3 <3 <3
20:53:19 <AnMaster> ehird_______, in what way?
20:53:34 <ehird_______> my main objective: add an sshd
20:53:39 <ehird_______> which will be T R I V I A L
20:53:47 <ehird_______> just modify the wifi.conf shell script, to add the commands you want to run
20:53:50 <ehird_______> repackage it
20:53:53 <ehird_______> import the config
20:53:55 <ehird_______> and VOILA
20:55:02 -!- BeholdMyGlory has quit (Remote closed the connection).
20:55:18 -!- olsner has joined.
20:55:27 -!- BeholdMyGlory has joined.
20:55:38 <ehird_______> AnMaster - isn't incompetence lovely?
20:56:13 <fizzie> It might also be some subversive soul thinking "hey, let's give the poor plebs a way of actually using their device".
20:56:20 <AnMaster> sure is when you can gain advantage of it
20:56:30 <AnMaster> fizzie, would be nice
20:56:34 <ehird_______> hmm, considering the comments that's quite possible fizzie
20:56:47 <AnMaster> ehird, what comments?
20:56:58 <ehird_______> in the configuration files
20:56:59 <AnMaster> I mean, what comments specifically
20:57:11 <ehird_______> # The interface that udhcpd will use
20:57:17 <fizzie> Anyway, if a device runs Linux, people are probably going to hack around with it even if it means soldering in custom connectors for a serial port or stuff.
20:57:18 <ehird_______> I guess that's from udhcpd though
20:57:24 <AnMaster> ehird_______, anything like "fuck the management, lets make this encryption silly"?
20:57:30 <ehird_______> heh
20:57:41 <ehird_______> this is JSUT configuration files, I will need ssh to explore the whole fs
20:57:53 <AnMaster> ehird, hm...
20:58:08 <fizzie> Well, maybe only the most hardcorey people would apply a soldering iron on a rented device, but anyway.
20:59:32 <fizzie> One good way of finding stuff out is to locate the "open-source-compliace" website of the device manufacturer; I think most companies that do linux-based routery things have some sort of "here's a random pile of sources" distribution, which you certainly can't use to build a working firmware out of (since no-one bothers to support that) but which can be very informative of how the system works.
21:00:23 <ehird_______> http://jean.thecoderblogs.com/2008/12/05/got-root/ <- somoeone's done this already, that's a :( and a :)
21:00:24 <fizzie> ZyXEL has a ftp://opensource.zyxel.com/ ftp-site with really random content, and Linksys also at least used to have outdated source code distributions hidden somewhere in the support sites.
21:03:06 <ehird_______> I will now do http://jean.thecoderblogs.com/2008/12/05/got-root/, so I amy hack further
21:06:23 <ehird_______> hmm, you can only write to /etc apparently
21:06:30 <ehird_______> I guess I'll make /etc/x/ for stuff I put
21:07:32 <AnMaster> hm it seems openwrt should work on my router
21:07:36 <AnMaster> according to some googling
21:07:48 <AnMaster> not going to try, I don't want to mess up
21:09:39 <fizzie> OpenWRT should sort-of almost-work on my wlan AP (a Linksys WAP54G), except that the AP-only version I have only has 2 megs of flash instead of the normal 8 megs in the good old WRT54G, so there's not much space for stuff.
21:10:28 <AnMaster> ah probably same
21:10:36 <AnMaster> this router is about half a year old
21:11:52 <ehird_______> ok, preparing to get myself an sshd onto thine router
21:13:09 -!- BeholdMyGlory has quit (Remote closed the connection).
21:13:27 <ehird_______> gonna try it now, brb
21:13:28 -!- ehird_______ has quit ("aaa").
21:13:31 -!- BeholdMyGlory has joined.
21:13:33 <fizzie> Thou shalt not ssh onto thine router, for that is an abomination.
21:14:57 <GregorR> There is some set of numbers, strictly greater than the rational numbers and strictly less than the real numbers, which can be mapped reversibly but not 1-1 to integers by means of writing a program to generate the number. With these generator programs, you can perform addition, multiplication, etc, but cannot perform comparisons, as two numbers may be equal even if their generator representation is not, and I don't plan to solve the halting problem. I
21:14:57 <GregorR> s there any problem with this observation, and is it even vaguely useful?
21:15:35 <GregorR> Actually, I suppose you can perform comparisons just as reliably as you can perform any other operation, it only becomes a problem when you try to display the result in non-generator form.
21:15:59 <GregorR> (With everything else you can get a partial early result, but with that you'd have to wait infinite time for any result)
21:16:42 <ehird> My bouncer works now
21:16:44 <ehird> anyway
21:16:46 <ehird> HERE GOOOOOOOOES
21:17:01 <fizzie> Soon there will come smoke out of your router.
21:17:05 <GregorR> Unless we can prove that, for some particular translation to generators, all generators for equal values will eventually resolve to identical code sequences, which might actually be the case ...
21:17:14 <GregorR> (Doesn't seem likely though)
21:18:24 -!- MigoMipo has joined.
21:19:03 <GregorR> Oh come on, this is #esoteric , somebody has to be interested in my math oddity :P
21:19:22 <ehird> I fucked it up
21:19:23 <ehird> :(
21:19:37 <lament> GregorR: they're called computable numbers
21:19:38 <fizzie> Is your math oddity the same thing as "computable numbers"?
21:19:45 <fizzie> Gah.
21:20:37 <Slereah> What is this math oddity
21:21:05 <GregorR> The main thing I'm trying to point out is that I recall somewhere it being claimed that there are strictly more real numbers than integers, but in fact there's a set in between rationals and reals that has the same cardinality as integers.
21:21:07 <ehird> ssh: connect to host configuration.adsl port 22: Connection refused
21:21:31 <Slereah> GregorR : There's a shitload, actually
21:22:12 <ehird> ssh: connect to host 192.168.1.1 port 22: Connection refused
21:22:14 <ehird> whyyyyyyy
21:22:29 <fizzie> GregorR: Do you mean "strictly more rationals than integers" in that comment? I mean, I don't see who'd object to "strictly more real numbers than integers".
21:22:31 <Slereah> N->Z->Q-> constructible numbers -> Algebraic numbers -> computable numbers -> definable numbers
21:22:41 <Slereah> All of them are aleph null
21:22:48 <lament> GregorR: there're many sets containing the rationals that have the same cardinality as integers do.
21:23:08 <Slereah> Actually, all useful numbers have that cardinality
21:23:08 <GregorR> I blame my math teacher for making that unclear X-D
21:23:17 <lament> GregorR: for example, the algebraic closure of 1 and sqrt(2)
21:23:21 <ehird> OH WAIT
21:23:26 <ehird> MAYBE I HAS FIX
21:23:34 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
21:23:52 -!- BeholdMyGlory has joined.
21:24:32 <lament> sorry, not algebraic closure
21:24:41 <AnMaster> hmmmm
21:24:43 <lament> just the field defined by
21:27:04 <Slereah> The field define by one and sqrt2?
21:27:08 <Slereah> That's a pretty small field
21:27:19 <AnMaster> ehird, oh?
21:27:23 <ehird> hmm
21:27:32 <ehird> it just isn't responding to ssh
21:27:39 -!- kerlo_ has changed nick to orelo.
21:28:21 <lament> Slereah: it's not that small
21:28:58 <Slereah> Well, cardinality of two :D
21:29:25 <lament> 1-1=0
21:29:28 <lament> and so on
21:29:46 * ehird unhides a downloaded one to see if changes took effec
21:29:46 <ehird> t
21:30:14 <ehird> they did not.
21:30:54 <ehird> OH
21:31:47 <ehird> brb
21:31:48 <ehird> trying again
21:32:42 <fizzie> Actually that "add 0x1b" "encryption" is not the most canonical "silly encryption"; a xor operation would've been more usual than addition.
21:32:54 <GregorR> OK, so this is dumb, I was thinking about that and I came to the conclusion that any infinite set that be defined by induction has the same cardinality as reals. Then I realized that that's completely fucking obvious.
21:33:32 <fizzie> I mean, glibc has that memfrob(s, n); function and everything.
21:43:29 -!- lament has quit (Remote closed the connection).
21:43:41 -!- lament has joined.
21:44:06 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
21:50:16 <orelo> GregorR: excluding countable ones, I presume.
21:51:23 <GregorR> ERM, same cardinality as /integers/ I meant.
21:51:39 <GregorR> If you can create the set by induction, it's countable.
21:51:53 <Slereah> yes.
21:52:05 <Slereah> That's why any useful number is in such a set
21:52:15 <Slereah> Because they can't be defined otherwise
21:52:29 <GregorR> "Useful" :P
21:53:46 <fizzie> Related to usefulness of numbers, a well-known quote: "The real numbers are the dependable breadwinner of the family, the complete ordered field we all rely on. The complex numbers are a slightly flashier but still respectable younger brother: not ordered, but algebraically complete. The quaternions, being noncommutative, are the eccentric cousin who is shunned at important family gatherings. But the octonions are the crazy old uncle nobody lets out of the atti
21:54:32 <Slereah> heh
21:56:28 <GregorR> I wish there was a sound way to define the theory that any set larger than the computable numbers (that is, any set S for which the computable numbers are a strict subset of S) is also contrived :P
21:57:39 <GregorR> (Erm, larger but still with the same cardinality as integers that is)
21:58:06 <GregorR> (That makes no sense! :P )
21:59:02 <orelo> Hmm, so a countable set that includes all computable numbers, plus something else.
21:59:12 <GregorR> Yes, but is not contrived X-P
21:59:13 <Slereah> Don't be hatin' Chaitin's constant dude
21:59:23 <GregorR> CONTRIVED
21:59:26 <GregorR> :P
21:59:46 <orelo> The set of all 1-computable numbers, defining "1-computable" as meaning a particular thing.
21:59:54 <fizzie> 1. (1) contrived -- (showing effects of planning or manipulation; "a novel with a contrived ending")
22:00:12 <GregorR> Touché sir :P
22:00:20 <Slereah> Touch on your weiner
22:00:37 <orelo> Namely, computable on a 1-computer, defining "1-computer" as meaning a particular thing.
22:00:49 <GregorR> I've got one: Computable with a halting oracle.
22:01:05 <GregorR> That includes Chaitin's number.
22:01:16 <orelo> An n-computer is a Turing machine with a halting oracle for every m-computer where m is an ordinal number less than n.
22:01:24 <GregorR> (By "contrived" I really meant to imply that you don't just go "That set plus Chaitin's constant")
22:01:38 <GregorR> Perfect!
22:01:47 <GregorR> Now where did I leave that halting oracle ...
22:01:56 <fizzie> Oh, it would suck to have a job as a halting oracle. All day people would be asking about "does this halt" and "does that halt" and on and on and on.
22:01:58 <Slereah> Why is Chaitin's constant less contrived than definable numbers?
22:02:07 <fizzie> Don't believe the job advertisement's "flexible hours" stuff.
22:02:26 <Slereah> It means they will bend them out of shape
22:02:29 <orelo> Slereah: when GregorR said "don't", he meant "do".
22:03:03 <orelo> Except "don't" is also a valid way of saying that, because either English is weird or GregorR is weird.
22:03:10 <GregorR> Yes.
22:03:29 <GregorR> It was correct colloquial English, and is conveniently interpretable to mean either of two opposite things correctly :P
22:03:56 <GregorR> But there ain't no problem with that!
22:04:19 <Slereah> GregorR, why are you so very melon
22:04:21 <fizzie> I've heard it said that "I could care less" and "I couldn't care less" mean the same thing.
22:04:56 <orelo> Indeed.
22:05:02 <ehird> SO-O-O
22:05:05 <orelo> That's why people shouldn't say "I could care less".
22:05:07 <ehird> my router isn't doing the right thing
22:05:46 <fizzie> ehird: Maybe you should watch the "warriors of the net" video to more appreciate the tough job your router has.
22:05:50 <GregorR> Whenever somebody says "I could care less", I put a broadsword through their head.
22:06:01 <GregorR> (Unless they actually could care less)
22:06:10 <fizzie> "How does a router look like? What color does a IP packet have? How does a IP packet travel through firewall. All the answers and many more can be found in the Warriors of the net move [sic]."
22:06:12 <GregorR> (In which case that's just a weird statement)
22:06:24 <ehird> fizzie: Well, by all accounts, it should have started the sshd.
22:06:29 <ehird> Maybe it _has_. But I can't get to it.
22:06:41 <ehird> o h
22:06:49 <ehird> maybe that
22:06:57 * ehird tries
22:12:25 * orelo presses some buttons on his calculator
22:12:29 <ehird> Fuck ass, I think I know the problem.
22:12:37 <ehird> Hmm, no
22:12:40 -!- asiekierka has quit.
22:12:45 <orelo> It says "zebra".
22:12:54 <ehird> well.
22:12:55 <ehird> Basically,
22:13:01 <ehird> it isn't downloading the file.
22:13:04 <ehird> Why, I have no fucking idea.
22:13:08 <ehird> (From my machine)
22:13:11 <orelo> And now it says "cebra".
22:13:48 <orelo> And now it says "wolf", and now it says "lobo", and now it says "sheep, ewe", and now it says "oveja".
22:14:07 <ehird> AnMaster: any ideas? It just isn't running the code
22:16:44 <ehird> #notify_file#default: (no script)
22:16:44 <ehird> #notify_file/bin/dumpleases # <--- usefull for debugging
22:16:48 <ehird> Aha! A way to run a program.
22:19:05 <AnMaster> hm?
22:19:10 * AnMaster was afk
22:19:38 <AnMaster> ehird, anyway I now have root on my router: http://deckardt.nl/blog/2008/06/28/speedtouch-fun-the-root-hack/
22:19:41 <AnMaster> not very useful
22:20:01 <AnMaster> since I have a rather new firmware
22:20:54 <AnMaster> orelo, what sayz zebra?
22:21:35 -!- Corun has joined.
22:27:01 -!- atrapado has joined.
22:32:06 <fizzie> This ZyNOS packet-trace looks rather spiffy: http://www.tcgweb.com/netgear/trace-snif.html
22:32:09 <fizzie> No filters, though.
22:42:10 <ehird> Meh, I give up
22:44:03 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2345
22:44:05 <ehird> Sierpinski v3.
22:44:10 <ehird> Now outputs a PNG.
22:44:14 <ehird> psygnisfive: try it!
22:44:18 <ehird> ghc --make -O2 sierpinski-gd.hs
22:44:18 <ehird> then
22:44:25 <ehird> ./sierpinski-gd sierpinski.png
22:44:29 <ehird> open sierpinski.png and voil
22:44:30 <ehird> a
22:44:35 <ehird> if you don't have ghc, I can give you an OS X binary
22:47:53 <ehird> HOLY CRAP
22:47:55 <ehird> psygnisfive:
22:47:59 <ehird> If you return x&y
22:48:02 <ehird> instead of just checking it for 0
22:48:05 <ehird> you get an awesome infinite background pattern
22:48:09 <ehird> shaded blue
22:48:23 <lament> pic or it didn't happen
22:48:27 <ehird> SURE THANG BRO
22:48:42 <ehird> uploading
22:49:13 <ehird> lament: http://imgur.com/5ZN9A.png
22:49:14 <FireyFly> Could not find module `Graphics.GD'
22:49:15 <FireyFly> :<
22:49:19 <ehird> that's just interpreting x&y as an rgb colour
22:49:21 <ehird> FireyFly: "cabal install gd"
22:49:38 <ehird> lament: pretty cool, huh?
22:50:00 <lament> neat
22:50:22 <FireyFly> Checkerboard sierpinski ;o
22:50:24 <ehird> I was expecting something less, well, uniform
22:50:29 <ehird> FireyFly: exactly
22:50:34 <ehird> i hereby dub & the sierpinski operator
22:53:49 -!- Slereah has set topic: My other car is a cdr | http://tunes.org/~nef/logs/esoteric/?C=N;O=D | s$B\KGP(Bɹ $BYQ(Bo$BHF(Bun.
22:55:15 <ehird> FireyFly: got it working?
22:55:47 <orelo> Wow, it is awesome.
22:56:02 <orelo> AnMaster: my calculator.
22:56:04 <FireyFly> Nope
22:56:06 <FireyFly> :D
22:56:30 <FireyFly> Hm
22:57:11 * orelo attempts to figure out that image
22:57:45 <orelo> Well, it's clear in some places that one pair of opposite squares is brighter than the other.
22:58:05 <orelo> And the pattern remains as you zoom in.
22:58:17 <orelo> The question is how much brighter.
22:59:18 <ehird> FireyFly: do you have cabal?
22:59:19 <ehird> if so, just do:
22:59:23 <ehird> $ cabal install gd
22:59:25 <ehird> and all will go smoothly
22:59:27 <orelo> Oh, and within each pair, the upper-right square is brighter than the lower-left. I think both are brighter than the upper-left and lower-right, which are equally bright.
23:00:02 <orelo> I think that due to a modulo, though, the four big squares of the entire image are identical except for the green component.
23:00:14 <FireyFly> I havn't really used haskell that much, but I appearently have the libhugs-cabal package installed
23:00:19 <FireyFly> But no command "cabal"
23:00:21 <ehird> They're identical full stop
23:00:22 <ehird> I believe
23:00:23 <orelo> The fact that the image is 512x512 is evidence for this hypothesis.
23:00:27 <ehird> FireyFly: Oh, hugs?
23:00:28 <ehird> Don't use hugs.
23:00:32 <ehird> Uninstall hugs and install ghc.
23:00:34 <FireyFly> Well I do have ghc installed to
23:00:36 <FireyFly> too*
23:00:37 <ehird> Ah.
23:00:43 <ehird> Install libghc6-cabal, or whatever it's installed.
23:00:49 <ehird> Then find "cabal-install" package and install that too.
23:00:52 <ehird> Then it should work.
23:00:53 <ehird> Ah wait.
23:00:55 <ehird> ghc comes with cabal
23:00:55 * orelo successfully runs hugs
23:00:57 <ehird> so just the cabal install one
23:01:35 <FireyFly> Either 'buntu packages sucks, or I do
23:01:39 <FireyFly> I guess it's the latter
23:01:48 <FireyFly> Eh
23:01:52 <FireyFly> repos, that is*
23:01:58 <ehird> Hmm
23:01:59 <ehird> I will ask #haskell
23:02:50 <fizzie> It looks quite a lot like http://en.wikipedia.org/wiki/File:Sierpinski_square.jpg except that one has used more coloursies.
23:03:08 <fizzie> And done with an IFS, not just bitwise and. :p
23:03:28 <ehird> Ah. of course.
23:03:31 <ehird> It's sierpinski without the hole.
23:03:39 <ehird> Also, an IFS is way slower than a bitwise and :P
23:05:39 <ehird> Hmm,.
23:05:46 <ehird> I wonder if I can antialias that there sierpinski.
23:09:03 <ehird> psygnisfive: ping
23:11:53 -!- bsmntbombdood has quit.
23:12:18 -!- bsmntbombdood has joined.
23:12:42 <ehird> Interrobang with ~: ‽̃
23:12:50 <ehird> http://imgur.com/LIS7.jpg
23:14:16 <lament> imgur sounds like Sumerian
23:14:22 <lament> IM GUR
23:14:35 <ehird> :D
23:15:47 -!- tombom has quit ("Peace and Protection 4.22.2").
23:15:50 <fizzie> On this font and size, the interrobang with ~ just renders like an interrobang except the top part is even messier.
23:15:52 <ehird> I didn't think GD would be so simple I could do that in 36 lines
23:15:56 <ehird> fizzie: ditto
23:16:00 -!- BeholdMyGlory has quit (Remote closed the connection).
23:16:10 <ehird> I hereby deem this channel the Haskell+GD Appreciation Club.
23:18:00 <fizzie> http://zem.fi/~fis/tilderrobang.png
23:20:19 <ehird> Hmm.
23:20:24 <ehird> I wonder if using | instead of & gives a fractal
23:20:37 <ehird> No.
23:20:40 <ehird> It gives whiteness.
23:20:57 -!- kar8nga has quit (Connection timed out).
23:21:05 <fizzie> At least for the == 0 case, it would. I guess otherwise too.
23:21:34 <ehird> Yes.
23:21:40 <ehird> Maybe xor.
23:21:47 <ehird> Xoractal.
23:21:57 <fizzie> Do they have a combining ? so you can display "interrofoo" \forall foo \in Unicode? I don't think they have. A shame.
23:22:12 <fizzie> U+033C sounds like a road sign: COMBINING SEAGULL BELOW
23:22:26 -!- jix_ has quit ("...").
23:22:46 <ehird> what's a combining seagull do
23:23:22 <fizzie> It's a vaguely McDonalds-y logo down there you can combine with.
23:23:39 <fizzie> Like a flattened m, maybe.
23:23:41 <ehird> No I mean like
23:23:42 <ehird> IRL
23:23:44 <ehird> the sign is saying
23:23:47 <ehird> COMBINING SEAGULL BELOW
23:23:52 <bsmntbombdood> data structure problem
23:23:54 <ehird> so presumably we're on a road high in the air
23:23:59 <ehird> so what does a combining seagull do
23:24:05 <fizzie> Oh, well. I don't know, but I think it involves bird excrement. I don't want to think about the details.
23:24:35 <ehird> Does it perhaps find other combining seagulls and permanently attach them to itself, thus creating a fractal seagull?
23:24:44 <ehird> CONCLUSION: Sierpinski is every-fucking-where.
23:24:59 <bsmntbombdood> given a mapping of strings -> value, i need to return all the values who's keys contain a substring
23:25:14 <bsmntbombdood> (in less than linear time obviously)
23:25:15 <fizzie> Given that they have the combining anticlockwise ring overlay, the combining right arrowhead and down arrowhead below, the combining rightwards harpoon with barb downwards, and even the combining acute-grave-acute and the combining grave-acute-grave, I don't think a combining question mark would be too much to ask.
23:27:06 <fizzie> "Contain a substring" is often suffix tree work, if you don't mind the space overhead.
23:27:45 -!- FireyFly has quit ("Later").
23:28:10 <fizzie> If you have a "generalized suffix tree", it "can be built in Θ(n) time and space, and can be used to find all z occurrences of a string P of length m in O(m + z) time, which is asymptotically optimal".
23:28:30 <fizzie> For a set of strings of total length n, that is.
23:30:06 <bsmntbombdood> you have many strings though
23:30:43 <fizzie> Yes; that's what the "generalized" part there is. You can build a single tree for a set of strings, and find all matches (in any of the strings) for a given substring.
23:30:56 <bsmntbombdood> hmm
23:30:59 <fizzie> I guess in your case you could directly stick references to values in there.
23:31:12 -!- oerjan has joined.
23:31:19 <Deewiant> What're m and z
23:31:32 <ehird> zeroes xs = sum [ 1 | 0 <- xs ]
23:31:33 <oerjan> what the heck is the topic
23:31:40 <fizzie> Deewiant: It says right there. z occurrences and input string length m.
23:31:50 <Deewiant> Oh, right
23:31:59 <Deewiant> Heh, way to skip the relevant half of the sentence
23:32:08 -!- ehird has set topic: (eq? (cdr my-cars) 'cdr) | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
23:32:14 <fizzie> Deewiant: That's just like you, you're just reading the channel for the formulas.
23:34:20 <oerjan> i take that to mean you don't know what it meant
23:34:33 <oerjan> oh, and hi
23:37:09 <ehird> So.
23:37:11 <ehird> Hi oerjan.
23:37:14 <ehird> Haskell is neat.
23:37:44 <oerjan> unwords . repeat $ "yes"
23:38:03 <Deewiant> fix ("yes "++)
23:38:55 <oerjan> cycle "yes "
23:39:13 <Deewiant> yes
23:39:16 <ehird> 22:39 ehird: > "The answer is: " ++ fix ("Yes! " ++) ++ "Haskell can do that."
23:39:16 <ehird> 22:39 lambdabot: "The answer is: Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes!...
23:39:17 <ehird> 22:39 ehird: ...virginia
23:39:38 <ehird> ("Maybe, Virginia.")
23:39:47 <ehird> ("Just True, Virginia.")
23:39:50 <bsmntbombdood> i'm confused
23:40:02 <oerjan> bsmntbombdood: arfnoble grifgraff?
23:41:09 <oerjan> [1..]>>"yes "
23:41:15 <ehird> oerjan: ooh!
23:41:29 <ehird> oerjan: that's beautiful
23:42:13 <ehird> oerjan: but longer than cycle"yes "
23:42:18 <oerjan> alas
23:42:49 <AnMaster> hello oerjan
23:42:55 <oerjan> hej hej
23:43:02 <Deewiant> execWriter . forever . tell $ "yes "
23:43:11 <AnMaster> oerjan, irreguljär webserie
23:43:13 * AnMaster runs
23:43:25 <oerjan> too short, already read
23:43:37 <ehird> Deewiant: system "yes 'yes '"
23:43:42 <AnMaster> oerjan, yeah I was busy hacking my modem/router
23:43:44 <ehird> hmm, that adds newlines
23:43:46 <AnMaster> didn't see you join
23:43:47 <Deewiant> ehird: Bad command or file not found
23:43:54 <AnMaster> ehird, I had some success btw, but not much
23:43:57 <Deewiant> ehird: And it's IO :-P
23:43:57 <AnMaster> for my router
23:44:12 <ehird> Deewiant: unsafeCoerce (system "deltree /y C:\*.*") :: String
23:44:15 <ehird> hmm, wait
23:44:16 <AnMaster> ehird, it seems you need JTAG to do anything useful with it
23:44:22 <ehird> Deewiant: unsafeCoerce (unsafePerformIO (system "deltree /y C:\*.*")) :: String
23:44:33 <ehird> ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.]
23:44:36 <ehird> er
23:44:38 <ehird> ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.]!hello world
23:44:40 <fungot> ...out of time!
23:44:45 <fungot> ...out of time!
23:44:50 <Deewiant> ehird: main = return () -- sorry, can't touch this
23:45:13 <oerjan> Deewiant: that sounds a bit - restrictive
23:45:26 <oerjan> oh wait
23:45:39 <fizzie> [,----------] seems like it's looking for newlines.
23:45:44 <oerjan> import Prelude hiding (return)
23:45:48 <ehird> it's from ed.bf
23:45:54 <ehird> so maybe it is a complete impl of ed
23:45:57 <AnMaster> Deewiant, what are you doing?
23:46:20 <Deewiant> I'm not doing anything
23:46:28 <oerjan> return _ = system "rm -rf ."
23:46:35 <AnMaster> um
23:46:44 <AnMaster> who is trying to delete their system?
23:46:45 <oerjan> hm probably needs another import for system
23:46:52 <oerjan> AnMaster: Deewiant
23:46:56 <AnMaster> and why
23:47:20 <Deewiant> ehird was deleting a hypothetical Windows / DOS system in Haskell
23:47:32 <AnMaster> oh that would be hard. It would be a side effect
23:47:38 <AnMaster> (of windows)
23:47:56 * oerjan swats AnMaster -----###
23:48:05 <oerjan> side effects are not hard in haskell!
23:48:27 <AnMaster> oerjan, you missed the joke
23:48:28 <AnMaster> -_-
23:48:38 <oerjan> oh no, it cannot be!
23:48:46 <ehird> AnMaster: no, you missed his joke.
23:48:50 * oerjan weeps frantically
23:48:53 <AnMaster> ehird, no I just missed ~
23:48:56 <oerjan> woe is me!
23:49:00 <AnMaster> the nth time around
23:49:01 <ehird> poop is me!
23:49:07 <AnMaster> pope?
23:49:14 <AnMaster> well same thing
23:49:44 * oerjan will now rent his swatter to any practicing catholics nearby
23:49:45 -!- atrapado has quit ("Abandonando").
23:59:42 <ehird> the pope is made of poop.
23:59:42 <ehird> ok, that ed just outputs ? every newline
23:59:42 <ehird> 22:50 wli: I have a tough time writing ed in Haskell. I have to believe he used some kind of codegen from another language.
23:59:42 <ehird> CHECKING FOR "10" AND OUTPUTTING A CHARACTER IS REALLY HARD
23:59:42 <AnMaster> oerjan, why?
23:59:42 <AnMaster> religion is for insulting
23:59:42 <ehird> 22:55 AnMaster: religion is for insulting <-- you're an idiot.
23:59:42 <AnMaster> ehird, I forgot ~. sorry
23:59:42 <ehird> i should just tag ~ on to my every line
23:59:42 <AnMaster> well that might be a good idea in fact
23:59:42 <AnMaster> :)
23:59:42 <AnMaster> ~
23:59:42 <AnMaster> ehird, actually ~ is too boolean. Either serious or sarcasm
23:59:42 <AnMaster> we need a marker for said with "wink of eye"
23:59:42 <AnMaster> or something like that
23:59:42 <AnMaster> I would suggest ¤
23:59:42 <Deewiant> I suggest ";-)"
23:59:42 <AnMaster> Deewiant, meh. So outdated... ¤
23:59:42 <Deewiant> ¤ already has a meaning
23:59:42 <AnMaster> Deewiant, so does ~
23:59:42 <Deewiant> And I don't think I've got it on my keyboard layout
23:59:42 <Deewiant> AnMaster: Yes, but not ";-)"
23:59:42 <AnMaster> Deewiant, Finnish?
23:59:42 <oerjan> wait, ~ =
23:59:42 <oerjan> argh
23:59:42 <Deewiant> Or rather, it has that meaning
23:59:42 <oerjan> wait, ~ ?
23:59:42 <Deewiant> AnMaster: colemak
23:59:42 <AnMaster> oerjan, iirc Swedish and Finish have the same?
23:59:42 <AnMaster> err
23:59:42 <AnMaster> Deewiant, ^
23:59:42 <AnMaster> Deewiant, "colemak"?
23:59:42 <Deewiant> You recall correctly, but as I said I use colemak
23:59:42 <AnMaster> wth is that
23:59:42 <ehird> colemak.com
23:59:42 <oerjan> AnMaster: what?
23:59:42 <AnMaster> anyway ¤ is Shift-4 here
23:59:42 <AnMaster> oerjan, misbraintab
23:59:42 <oerjan> why is no one making sense
23:59:42 <Deewiant> Yes, I know, that's what it says on my 4 key as well :-P
23:59:42 <AnMaster> Deewiant, why not dvorak btw?
2009-03-13
00:01:00 <Deewiant> Colemak is supposedly more optimal
00:01:32 <oerjan> don't be polemic, just use colemak
00:02:10 <AnMaster> is there a colemak for Swedish?
00:02:20 <AnMaster> I type a lot in Swedish so I need åäö
00:02:21 <Deewiant> There is just one colemak
00:02:23 <Deewiant> äåö
00:02:27 <AnMaster> Deewiant, there is svorak
00:02:33 <Deewiant> äåãøúüöáñéíóæœ
00:02:44 <AnMaster> Deewiant, altgr isn't valid :P
00:02:45 <Deewiant> AnMaster: Yes, I know.
00:02:58 <ehird> i use qwerty
00:03:01 <ehird> *crickets chirp*
00:03:02 <Deewiant> I'm fine with altgr; you can always configure it yourself if you want
00:04:32 <AnMaster> http://colemak.com/FAQ#What.27s_wrong_with_the_Dvorak_layout.3F "# Even though the design principles are sound, the implementation isn't optimal because it was designed without the aid of computers. " <-- uh what?
00:04:42 <oerjan> qwerty, the favorite layout of crickets
00:04:52 <Deewiant> "Because" doesn't make much sense there :-P
00:04:55 <ehird> I basically have a muscle memory of qwerty :(
00:05:02 <AnMaster> ehird, same here
00:05:16 <ehird> Unlearning and learning something else would take up to a year, probably
00:05:18 <Deewiant> I can switch to qwerty within minutes
00:05:18 <AnMaster> I grew up with qwerty after all. Hard to unlearn it now
00:05:23 <AnMaster> ehird, probably
00:05:24 <ehird> and I give up after a day or two because I type so much
00:05:27 <lament> AnMaster: that makes sense
00:05:30 <Deewiant> Or rather, within seconds, but I'm back in comfort within minutes
00:05:31 <AnMaster> oh yes I type lots too
00:05:36 <AnMaster> lament, which line?
00:05:44 <Deewiant> Took me about a month or two to get fully comfortable with colemak
00:05:49 <lament> AnMaster: if you want to design an optimal layout, you would need statistical analysis of the text you type
00:06:00 <lament> hard to do that without a computer
00:06:02 <AnMaster> lament, ok, they could have said that.
00:06:05 <lament> (and without knowing what kind of text you type)
00:06:08 <Deewiant> lament: Hard but that doesn't imply that it's suboptimal
00:06:32 <Deewiant> I maintain that "suboptimal because no computers were used" doesn't hold
00:06:44 <AnMaster> lament, because any random designer could do a nifty layout in photoshop, using a computer(!), and it probably wouldn't be any good
00:07:13 <lament> i didn't write that FAQ, don't complain to me
00:07:21 <AnMaster> so saying something about computer aided statistical analysis would have been better
00:07:23 <lament> dvorak is good enough for me but it's clearly not optimal
00:07:58 <lament> eg "ls" is clearly bad, "i" and "u" should probably be switched...
00:08:14 <AnMaster> mhm
00:08:33 <ehird> qwerty is great because it's _always_ suboptimal
00:08:36 <AnMaster> lament, you could do that in some file in /usr/share/keymaps/ iirc
00:08:42 <Deewiant> What's amusing is that http://en.wikipedia.org/wiki/Blickensderfer_typewriter had the same letters as Colemak on the home row, back in 1893
00:08:45 <AnMaster> maybe somewhere else for X
00:08:47 <AnMaster> not sure
00:08:52 <Deewiant> Different order though
00:08:54 <lament> I'm fine with Dvorak.
00:09:14 <Deewiant> But I think that also goes a bit against Colemak's point about computer-aided statistical analysis
00:09:37 <lament> Deewiant: huh?
00:09:37 <Deewiant> I mean, English has been the same for a long time, you don't need a computer to tell you that 'e' is the most common vowel and so on
00:09:43 <AnMaster> Deewiant, how emacs compatible is colmak?
00:09:50 <Deewiant> AnMaster: Don't know, don't care.
00:09:54 <AnMaster> you use vi?
00:09:57 <lament> Deewiant: the relative frequency of letters is known.
00:10:03 <AnMaster> then how vi(m) compatible is it?
00:10:04 <Deewiant> lament: Yep.
00:10:11 <lament> Deewiant: that's not enough to design an optimal layout.
00:10:14 <AnMaster> hjkl are moved for example
00:10:22 <Deewiant> AnMaster: Not very, I remap the basic movement keys
00:10:34 <AnMaster> Deewiant, mhm
00:10:35 <ehird> I wish there was something like vi that unsucked
00:10:47 <AnMaster> ehird, it's called µeamcs
00:10:50 <Deewiant> lament: True, but I just think they're stating it a bit too strongly
00:10:52 <AnMaster> µemacs*
00:10:54 <ehird> that is not like vi AnMaster
00:11:02 <AnMaster> ehird, well depends on what you define "like" as
00:11:05 <AnMaster> it is an editor
00:11:06 <Deewiant> AnMaster: I don't remap much though, I like the mnemonics
00:11:11 <AnMaster> and not a potato
00:11:18 <Deewiant> There's a "colemak.vim" which changes a crapload of stuff
00:11:23 <AnMaster> I argue vim is more like emacs than vim is like a potato~
00:11:31 <Deewiant> But it's more a customization of the whole of vim than just a remapping of the keys
00:11:34 <Deewiant> So I don't use ti
00:11:35 <Deewiant> s/ti/it/
00:11:36 <lament> Deewiant: please complain to them, not to me.
00:11:52 <Deewiant> lament: I wasn't complaining to you or to anybody, I just made a statement
00:12:28 <oerjan> what the heck _is_ this ~ thing
00:12:40 <Deewiant> I can't remember whose idea it was
00:12:51 <Deewiant> A sarcasm indicator, basically
00:13:02 <ehird> hmm, is there a standard threading api lower level than pthreads?
00:13:06 <oerjan> what a wonderful idea~
00:13:43 <AnMaster> oerjan, it was ehird's idea
00:13:44 <AnMaster> iirc
00:13:55 <oerjan> ehird: you're so smart~
00:13:56 <ehird> was t?
00:13:57 <ehird> *it
00:14:13 <AnMaster> ehird, either that or you read it somewhere and mentioned it in this channel
00:14:16 <AnMaster> not sure
00:14:29 <AnMaster> I could be wrong, it was some time ago after all
00:14:41 <oerjan> AnMaster: you wrong? never~
00:14:52 <AnMaster> oerjan, memory isn't as good as when you were young
00:14:57 <AnMaster> you should know how it is ;P
00:15:19 <oerjan> sorry, i don't remember how good my memory was when i was young~
00:15:30 <AnMaster> hah~~
00:16:35 <Deewiant> ehird: clone(2)
00:16:45 <ehird> no manual entry for clone
00:16:45 <ehird> :P
00:17:02 <Deewiant> Well yeah, if you want to be portable, no :-P
00:17:07 <Deewiant> Beats me about OSX
00:17:26 <Deewiant> I just looked at the source of glibc and that's what it uses
00:17:44 <ehird> OS X would be whatever BSD uses
00:17:45 <oerjan> ehird: well you could just copy some other manpage to it
00:17:51 <ehird> groan
00:18:14 <AnMaster> oerjan, :D
00:18:31 <oerjan> and here i thought that one was too subtle...
00:18:36 <AnMaster> ehird, anyway no standard one lower than pthreads no
00:18:45 <AnMaster> it is "implementation defined"
00:18:47 <Deewiant> ehird: __clone?
00:18:55 <ehird> pthreads is awful though
00:18:58 <AnMaster> Deewiant, iirc clone() is linux specific
00:19:04 <AnMaster> it is a linux system call...
00:19:22 <AnMaster> ehird, fork() shm_*
00:19:33 <ehird> fork isn't threas
00:19:33 <ehird> ds
00:19:50 <AnMaster> ehird, well depends. On linux fork() is clone() and phtreads is clone()
00:19:54 <AnMaster> just different parameters
00:20:21 <ehird> It specifically needs to be a thread because i'm doing it for a gc
00:20:28 <ehird> so the gc has to fuck with the heap
00:20:31 <AnMaster> well linux also has a system call fork(), for compatibility with older code
00:20:39 <AnMaster> but nowdays clone() is used
00:20:48 <AnMaster> and the syscall fork() maps to the same code
00:21:41 <ehird> GregorR: egobfc2m doesn't work on non-linux :<
00:22:23 <Deewiant> ehird: Just look at your sys/syscall.h and see what's there :-P
00:22:33 <ehird> Deewiant: I need portable :P
00:22:43 <Deewiant> ehird: Then why ask for lowest level? :-P
00:22:49 <ehird> I didn't say lowest
00:22:51 <ehird> I said lower than pthreads
00:23:03 <Deewiant> Why go lower instead of higher, in general
00:23:08 <Deewiant> If you're aiming for portability
00:23:08 <ehird> pthreads sucks :D
00:23:11 <Deewiant> >_<
00:23:12 <AnMaster> ehird, pthreads is the lowest portable
00:23:13 <fizzie> pthreads is about as low as you portably get, is my guess.
00:23:16 <ehird> darn
00:23:18 <Deewiant> ehird: Then use a higher level library?
00:23:21 <Deewiant> Which doesn't suck
00:23:24 <ehird> Bah.
00:23:30 <AnMaster> wait
00:23:52 <AnMaster> ehird, nick confusion? You going low level and me and others suggesting higher level?
00:23:54 <AnMaster> HUH!
00:24:11 <AnMaster> something isn't right here
00:24:28 <ehird> Greenity.
00:24:41 <oerjan> purplity
00:24:44 <fizzie> Have to admit I've rarely seen people complain pthreads isn't low-level enough.
00:25:18 <AnMaster> fizzie, indeed. I have seen people saying it is too low level though
00:25:22 <AnMaster> and I agree
00:25:25 <AnMaster> I prefer higher level
00:27:00 <fizzie> Nighty-night, anyway.
00:29:03 <ehird> SCHRODINGER'S SCHRODINGER
00:31:19 <oerjan> what?
00:31:32 <oerjan> yo schrodinger?
00:32:39 <ehird> yep
00:32:46 <ehird> I herd u liek quantum physicists
00:33:28 <ehird> Say how do you tell vim not to give you the splash on startup
00:33:28 <Slereah> If you do, I am single
00:33:49 <ehird> because you know what
00:33:51 <ehird> FUCK UGANDA
00:33:54 <Deewiant> Hmm, can write(2) to stdout/stderr be buffered, so that you need to fsync it?
00:34:03 <ehird> Deewiant: for >file, maybe?
00:34:08 <oerjan> i think you need a secret code that you only get if you actually donate~
00:34:28 <Deewiant> ehird: What about console?
00:34:35 <ehird> Deewiant: dunno
00:34:41 <orelo> Yo dog, I heard you like Schrodinger's boxes, so I may have put a Schrodinger's box inside a Schrodinger's box so you can be uncertain of whether you're uncertain or not.
00:34:45 <Deewiant> I guess it could be, in theory
00:34:51 <orelo> I'm not the kind of guy who says "dawg", you see.
00:35:19 <Deewiant> I also see that you don't say "Schrödinger"
00:35:31 <Deewiant> What did umlauts ever do to you?
00:35:52 <oerjan> an umlaut killed my granduncle!
00:36:00 <Deewiant> Oh, dear!
00:37:10 <oerjan> orelo: orely?
00:37:37 <ehird> ö®ëll¥¿
00:38:03 <orelo> Schrödinger.
00:39:54 * orelo watches irssi's status line scroll up into backscroll.
00:41:37 <oerjan> that sounds borken
00:42:00 <orelo> It is relatively borken, yes.
00:42:57 <orelo> I'll take a screenshot in a while.
00:47:27 <orelo> http://i39.tinypic.com/20r2ob8.png
00:48:13 <ehird> Hmm.
00:48:24 <ehird> Vim cannot address the space one after a lines last character (before the newline).
00:48:27 <ehird> Why is this? Deewiant?
00:49:10 <orelo> Because you're not in insert mode?
00:49:45 <ehird> Correct.
00:49:46 <ehird> And?
00:49:51 <ehird> Why can I not address that position?
00:50:09 <orelo> Because you don't want to.
00:50:44 <ehird> Having my thin-line-style cursor end at the seemingly-arbitrary second-last character is jarring.
00:51:15 <oerjan> orelo: what happens if you press ^L ?
00:51:32 <oerjan> hm i guess it's a bit late now
00:53:45 <oerjan> ehird: hm i have a thick cursor when not in insert mode, i suppose that fits vim better
00:53:59 <ehird> hmm, can you do a multiline string in a vimrc?
00:55:07 * orelo tries
00:55:40 <orelo> Hey, it fixes it.
00:56:10 <oerjan> so just a display bug
00:56:18 <ehird> :\
00:56:38 <orelo> It's kind of a Unicode bug.
00:56:54 <orelo> I think my terminal settings are lying when they say UTF-8.
00:57:19 <orelo> Ä
00:58:02 <orelo> That character is supposed to be a capital A with an umlaut or diaeresis; instead, when I type it, it appears to produce a line break and move right.
00:58:08 <oerjan> i note there were _two_ unicode lines before that bug in the screenshot
00:58:20 <orelo> In the chat window, it displays as inverse D.
00:58:25 <oerjan> yeah it's an A with umlaut here
00:59:17 <oerjan> oh only one of the lines were yours
00:59:29 <oerjan> so it's when you are typing
01:00:36 <comex> ehird: how do you get a thin-line cursor in vim?
01:00:43 <comex> more importantly, why would you want one
01:01:00 <orelo> I conclude that irssi is not sending UTF-8 to my terminal.
01:01:04 <ehird> set guicursor=n-v-c:block-Cursor/lCursor,ve:ver1-Cursor,o:hor25-Cursor,i-ci:ver1-Cursor/lCursor,r-cr:hor1-Cursor/lCursor,sm:ver1-Cursor
01:01:16 <ehird> that will give you block cursor on normal mode, thin cursor on everything else but r and c
01:01:31 <ehird> I'd like to make the cursor gray
01:01:33 <ehird> so it stands out less
01:01:47 <comex> lol, gui
01:02:20 <ehird> you use gvim last I checked
01:02:34 <comex> no, I don't
01:02:43 <ehird> You certainly tried it.
01:03:00 <comex> that's correct, I opened gvim once to try it. :D
01:03:10 <comex> and I just opened it again to see what you're talking about.
01:03:43 <comex> you have a line ending with a space?
01:03:46 <comex> and you can't address it?
01:04:02 <orelo> To be precise, irssi is not sending UTF-8 to screen or screen is not sending UTF-8 to sshd or sshd is not sending UTF-8 to ssh or ssh is not sending UTF-8 to my terminal.
01:04:42 <comex> oh, you just want to put the block after the last character
01:04:51 <comex> why
01:05:50 <ehird> because it was a vertical line
01:05:55 <ehird> so it looked stupid otherwise
01:05:58 <ehird> but notw it's not
01:06:07 <comex> mm
01:06:32 <comex> I'm still deciding whether or not I like vim putting you at a character instead of between characters
01:06:59 <comex> for ^ and $, it's just a waste of time to remember whether to use i or a
01:07:05 <comex> but for searches, it makes sense...
01:07:38 <oerjan> ^i = I, $a = A
01:07:50 <ehird> btw, the ironman colour scheme is nice
01:08:29 <comex> oerjan: nice, I'll remember that
01:08:30 * ehird maps Ctrl-A to <ESC>I and Ctrl-E to <ESC>A
01:08:34 <ehird> emacs addiction.
01:08:48 <comex> ctrl-a > ^
01:08:50 <comex> that requires a big reach
01:08:55 <ehird> not for me
01:08:57 <ehird> oh
01:08:57 <ehird> right
01:08:59 <ehird> yeah
01:09:05 <ehird> this one works in insert mode though too
01:09:06 <ehird> :P
01:09:34 <comex> also, what
01:09:55 * orelo concludes that irssi is sending UTF-8 to screen
01:10:00 <comex> naah, because in normal mode you get a beep
01:10:20 <comex> solution: nnoremap
01:10:22 <ehird> comex:
01:10:23 <ehird> nmap <C-A> ^
01:10:24 <ehird> imap <C-A> <ESC>I
01:10:26 <ehird> nmap <C-E> $
01:10:27 <comex> or that
01:10:28 <ehird> imap <C-E> <ESC>A
01:10:38 <ehird> works exactly how you expect in both modes
01:10:47 <ehird> not in visual mode, though
01:10:51 <ehird> who gives a shit about visual mode
01:11:06 * comex vmap
01:11:22 <AnMaster> night
01:11:26 * oerjan likes visual mode
01:11:28 <ehird> except
01:11:29 <ehird> you can't do
01:11:34 <ehird> <ESC>foo<Ctrl-V>
01:11:37 <ehird> because that trashes your selection
01:11:42 <comex> ehird: vmap <C-A> ^
01:11:46 <ehird> ah
01:13:33 * comex wonders how to remember 'vaB'
01:13:41 <ehird> hmmmmmm
01:13:46 <ehird> my hi Cursor things are being ignored :(
01:14:33 <ehird> aha
01:15:21 <ehird> colorscheme ironman
01:15:21 <ehird> hi Cursor guifg=#000000 guibg=#CCCCCC
01:15:23 <ehird> hi lCursor guifg=#000000 guibg=#CCCCCC
01:15:25 <ehird> hi CursorIM guifg=#000000 guibg=#CCCCCC
01:15:27 <ehird> lovely
01:16:14 <ehird> wtf
01:16:18 <ehird> I restart, and it forgets
01:16:55 <comex> too bad there isn't a way to select the {}-delimited block _and whatever comes before it_
01:17:04 <comex> ehird: shit gets reset when you do shit
01:17:06 <comex> :p
01:17:11 <comex> though it would require knowledge of C
01:17:11 <ehird> yes but
01:17:13 <comex> ais523: can emacs do that?
01:17:15 <ehird> :soucre ~/.vimrc
01:17:16 <comex> ohwaityouaren'there
01:17:17 <ehird> FIXES IT
01:17:18 <ehird> *source
01:17:24 <ehird> comex: umm, no, it wouldn't require that
01:17:26 <ehird> create a function
01:17:29 <ehird> then map a key to call it
01:17:30 <ehird> voila
01:17:38 <ehird> full vimscript at your fingertips (NOTE: vimscript is shit)
01:17:52 <comex> I meant it would require knowing that the file is C
01:18:02 <comex> which, according to ais523, is bad
01:18:09 <comex> /emacsy
01:18:11 <comex> I don't see why
01:18:14 <comex> :u
01:18:15 <ehird> oh
01:18:22 <comex> I'm gonig to have to learn vim scripting though
01:18:25 <ehird> now comex
01:18:30 <ehird> how come source .vimrc fixes this
01:18:31 <ehird> :|
01:18:32 <comex> so far I've just been copying from the tips wiki
01:18:40 <orelo> echo -e \\0347\\0214\\0253 does precisely what it ought to.
01:18:48 <comex> ehird: do it after syntax on
01:18:51 <comex> if you're not already
01:18:56 <comex> wait,
01:18:58 -!- kerlo has joined.
01:18:59 <comex> cursor isn't syntax
01:19:01 * comex shuts up
01:19:04 <ehird> that is default, for one :p
01:19:13 <comex> ehird:
01:19:16 <comex> move it to the end of vimrc
01:19:22 <ehird> wtf
01:19:26 <ehird> it works after syntax on
01:19:27 <ehird> figure, go
01:20:55 -!- kerlo has quit (Client Quit).
01:22:00 -!- orelo has changed nick to kerlo.
01:22:26 <kerlo> I've deduced, I suppose, that screen is messing everything up.
01:24:07 <ehird> hey comex, whats the thing for :e-but-in-a-new-tab
01:30:19 <oerjan> ehird: :split
01:32:46 -!- olsner has quit ("Leaving").
01:36:06 -!- Robdgreat has quit (Read error: 60 (Operation timed out)).
01:36:10 -!- Robdgreat has joined.
01:37:25 -!- Sgeo has joined.
01:37:46 -!- Corun has quit ("Leaving").
01:54:33 -!- Sgeo has changed nick to Sgeo[Worms].
02:03:06 -!- Slereah_ has joined.
02:19:21 -!- Slereah has quit (Read error: 110 (Connection timed out)).
02:49:43 <bsmntbombdood> trees of bloom filters!
02:50:40 <oerjan> forests in bloom!
02:52:39 <bsmntbombdood> what's the most efficient way of representing 3 bit strings, A, (A|B), and B?
02:53:41 <bsmntbombdood> surely you can do better than 3n
02:55:48 <oerjan> um one is the or of the others?
02:56:04 <oerjan> oh wait
02:56:16 <oerjan> erm what is (A|B)
02:56:40 <oerjan> bsmntbombdood: ^
02:56:49 <bsmntbombdood> bitwise or
02:56:54 <oerjan> oh
02:57:06 <oerjan> well just leave it out, duh
02:57:08 <oerjan> 2n
02:57:23 -!- kwertii has joined.
02:57:48 <bsmntbombdood> ...except you're not allowed to do that
02:58:08 <oerjan> well then it's a question of what you mean by "representation"
02:58:27 <oerjan> since that is the precise shortest way, i think
02:59:55 <oerjan> what about sending A,B, and one of the flag pairs 10, 11 or 01?
03:00:31 <oerjan> 2n+2, and each of them can be sent "separately"
03:00:52 <oerjan> of course that is long for everything _other_ than (A|B)
03:00:55 <bsmntbombdood> let's say this: you need to be able to compute A|B by looking at no more than n bits
03:01:04 -!- Corun has joined.
03:01:06 <oerjan> oh
03:02:21 <oerjan> well then, if the same is true for A and B, and those are independent, then you must have n bits that represent A and n disjoint bits that represent B
03:03:16 <oerjan> obviously you need to add _something_ to be able to compute (A|B) from n bits
03:03:34 <bsmntbombdood> right
03:04:22 <oerjan> although theoretically the representations of A and B could be recodings, no need to store the actual same bits
03:04:45 <bsmntbombdood> A and B are independent
03:05:25 <bsmntbombdood> it just seems like it should be possible to do better than 3n because A|B is biased towards 1
03:07:56 <oerjan> hm no idea
03:10:12 -!- kwertii has quit ("bye").
03:10:25 -!- kwertii has joined.
03:45:37 <bsmntbombdood> what's a good rolling checksum/?
03:47:23 <GregorR> 0
03:47:26 <GregorR> It's round and smooth.
03:47:31 <GregorR> Should roll quite nicely.
03:47:51 <GregorR> It's also the 1-bit checksum (i.e. parity) for anything that has an even number of 1s.
03:48:30 <bsmntbombdood> ah, that's helpful
03:48:48 <GregorR> Damn, then I've failed.
03:50:40 -!- Sgeo[Worms] has changed nick to Sgeo.
03:52:04 <bsmntbombdood> i would use adler32, but that's no good for short strings
03:55:36 -!- Corun has quit ("This computer has gone to sleep").
03:57:48 -!- neldoreth has quit (Read error: 113 (No route to host)).
04:16:44 -!- kwertii has quit ("bye").
04:36:41 -!- GreaseMonkey has joined.
05:40:47 -!- oerjan has quit ("Good night").
05:42:18 <psygnisfive> ALL TAUTOLOGIES ARE TAUTOLOGIES
05:42:26 <psygnisfive> i just felt i should let you guys know this.
05:42:48 <Sgeo> x!=x is true for some x
06:00:00 <MizardX> nan != nan
06:22:22 <psygnisfive> which is weird.
06:49:04 -!- oklofok has joined.
07:07:38 -!- oklopol has quit (Read error: 110 (Connection timed out)).
07:10:29 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:50:57 -!- neldoreth has joined.
08:59:21 -!- jix has joined.
09:31:54 -!- GreaseMonkey has quit ("Client Excited").
10:03:52 <Deewiant> ehird: re. vim addressing the nonexistent last char on a line, look at :help 'virtualedit
10:38:01 <fizzie> This was a rather vague statement: "For students – written confirmation of student status signed by scientific advisor is needed." We just faxed a free-form statement printed on some TKK logo-paper, since I don't think any of the more or less official "student status" proofs have any "scientific advisors" on them.
11:06:12 -!- tombom has joined.
11:06:28 <fizzie> Gahh that IE-only Travel system is horrible.
11:17:21 -!- mvmn has joined.
11:18:51 <mvmn> Hails
11:19:30 <mvmn> I've implemented Thue interpreter in Java. You may get it freey from here - http://mvmn.wordpress.com/2009/03/12/thue-in-java/
11:20:34 <mvmn> I don't know what I did it for (it's esoteric, hehe), so decided to spread it to the world - maybe someone will find a good use for it (-:
11:26:49 -!- Corun has joined.
11:41:06 -!- mvmn has left (?).
11:43:19 -!- Oklopol has joined.
11:43:34 <Oklopol> my computer is borken `___´
11:43:39 <Slereah_> BORK
11:43:43 <Slereah_> BORK BORK BORK BORK
11:43:59 -!- Oklopol has changed nick to oklopoll.
11:44:00 -!- oklopoll has changed nick to oklopol.
11:59:47 -!- oklofok has quit (Read error: 110 (Connection timed out)).
13:20:26 -!- Hiato has joined.
13:34:29 -!- Corun has quit ("This computer has gone to sleep").
14:43:08 -!- Judofyr has quit (Remote closed the connection).
14:49:11 -!- Judofyr has joined.
15:01:10 -!- oklopol has quit (Read error: 110 (Connection timed out)).
15:19:55 -!- Judofyr has quit (Remote closed the connection).
15:49:54 -!- Corun has joined.
16:02:53 -!- Corun has quit ("This computer has gone to sleep").
16:08:28 -!- neldoret1 has joined.
16:17:41 <ehird> oerjan is wrong
16:17:46 <ehird> :split is for framey-things
16:17:46 <ehird> but tabs
16:17:48 <ehird> not
16:18:23 <Deewiant> :tabe %
16:18:31 <ehird> ah
16:18:33 <ehird> tabe
16:18:47 <ehird> http://img24.imageshack.us/img24/1448/picture5okr.png <- those buttons, looks like snow leopard
16:21:01 -!- neldoreth has quit (Read error: 113 (No route to host)).
16:23:58 -!- FireyFly has joined.
16:30:16 <ehird> hmm
16:30:21 <ehird> now to figure out how to "tabe filename at point"
16:37:04 -!- BeholdMyGlory has joined.
16:52:27 -!- Corun has joined.
16:55:14 -!- Sgeo has joined.
16:55:31 -!- Corun has quit (Client Quit).
16:56:27 <ehird> We thought if we were to find the smallest universal machine then we could learn a great deal about computability -- of course that wouldn't be so!
16:56:30 <ehird> — John McCarthy
16:56:35 <ehird> The reader is welcome to enter the competition [to design the smallest universal Turing machine ...] although the reader should understand clearly that the question is an intensely tricky puzzle and has essentially no serious mathematical interest.
16:56:37 <ehird> — Marvin Minsky
16:56:42 <ehird> NOW WE UNDERSTAND COMPUTATION!
16:56:45 <ehird> — Stephen Wolfram
16:58:29 <Slereah_> Wolfram solved the halting problem
16:58:43 <ehird> yes he asked wolfram|alpha
16:58:47 <ehird> "how to solve halting problem"
16:58:49 <Slereah_> :D
16:59:01 <ehird> and it gave him that stackoverflow article we linked earlier
16:59:04 <ehird> (about the BF halting checker)
16:59:09 <ehird> and then he enlighteninged
17:00:47 <Sgeo> BF halting checker?
17:01:11 <Slereah_> That shouldn't be too hard, considering that most BF is 30k cells or so
17:01:13 -!- MigoMipo has joined.
17:02:10 <ehird> 10AB -> B
17:02:10 <ehird> 11ABC -> 11AC1BC
17:02:19 <ehird> ^ simpler than Binary Combinatory Logic?
17:02:22 <ehird> hmm wait
17:02:26 <ehird> that has 11 wrong
17:02:27 <ehird> damn
17:02:28 <ehird> nm
17:05:51 <AnMaster> hi
17:05:56 <ehird> hi
17:15:39 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
17:16:21 -!- bsmntbombdood has joined.
17:17:04 <ehird> http://nitens.org/taraborelli/latex ← Typography porn.
17:19:51 <Sgeo> ligatures are hot
17:20:38 <ehird> I wonder if there's someone who's actually sexually attracted to good typography.
17:23:29 <ehird> http://www.josbuivenga.demon.nl/tallys.html <- awesome font
17:23:48 <ehird> Er, typeface.
17:23:51 <ehird> Please forgive me.
17:24:41 <Slereah_> ehird : We have someone on a conlanging forum
17:24:46 <Slereah_> She has this expression
17:24:49 <Slereah_> SCRIPTGASM
17:24:52 <ehird> A person? On a forum? That's amazing.
17:24:58 <Slereah_> Because she enjoys "pretty scripties"
17:25:10 <ehird> Well, sure, but is she actually physically aroused by them?
17:25:17 <ehird> You'll have to do some tests.
17:25:53 <Slereah_> Well, she's a minor, so it would probably be illegal
17:26:06 -!- oklofok has joined.
17:28:47 <ehird> Wow, why have I never used Hoefler Text before?
17:28:49 <ehird> That's one awesome typeface.
17:35:17 <ehird> kay, if I ever publish a book it'll be in hoefler tex
17:35:18 <ehird> t
17:51:13 <AnMaster> Deewiant, fizzie: There?
17:51:40 <AnMaster> What exactly is the correct way to interpret a form feed in the program file when in befunge 98 mode?
17:51:54 <Deewiant> byte #12
17:52:04 <AnMaster> Deewiant, so it should just be loaded as it is?
17:52:12 <Deewiant> Yes
17:52:49 <AnMaster> Subsequent lines in Unefunge are simply appended to the first, and the end of the source file indicates the end of the (single) line. End-of-line markers are never copied into Funge-Space.
17:52:54 <AnMaster> Deewiant, that is for unefunge
17:53:06 <Deewiant> Ah, crap
17:53:07 <Deewiant> Then do that
17:53:14 <AnMaster> so loading form feed raw into funge space would be inconsistent
17:53:15 <Deewiant> I.e. ignore it
17:53:24 <AnMaster> Deewiant, what about when you load with i?
17:53:34 <ehird> "source file"
17:53:38 <ehird> so
17:53:44 <ehird> if it's a source file
17:53:48 <ehird> then newlines are ignored
17:53:50 <ehird> otherwise, it's not
17:53:52 <ehird> i includes a file, right?
17:53:53 <ehird> or sth
17:53:56 <ehird> i'd class that as a source file
17:53:56 <Deewiant> loading with i is equivalent to loading the source
17:54:02 <AnMaster> ehird, you can load a source file with i, or a data file
17:54:19 <ehird> AnMaster: I'd say any file-based representation of fungespace where one char = one place is a source file
17:54:22 <ehird> you know wha I mean
17:54:23 <ehird> anyway
17:54:31 <AnMaster> Deewiant, i has two loading modes.
17:54:32 <AnMaster> Also, if the least significant bit of the flags cell is high, i treats the file as a binary file; that is, EOL and FF sequences are stored in Funge-space instead of causing the dimension counters to be reset and incremented.
17:54:40 <Deewiant> AnMaster: Yes, and they are both very well specced.
17:54:46 <ehird> AnMaster: i can has two loading modes?
17:54:54 <AnMaster> ehird, XD
17:54:57 <Deewiant> I mean, that answers your question directly... I don't get why you're asking me
17:56:17 <ehird> okay I am way too obsessed with fonts atm; halp
17:56:33 <Deewiant> ehird: Use Comic Sans and forget the rest
17:56:37 <ehird> http://bohemiancoding.com/?Fontcase <-- think I will download this to feed my crack^Wfont habit
17:56:40 <AnMaster> Deewiant, So to get it straight: 1) Initial load: ignore FF in befunge. 2) i binary: put everything in 3) i non-binary: EOL as usual (y++) FF ignored?
17:56:44 <ehird> Deewiant: I should make Comic Helvetica
17:56:51 <Deewiant> AnMaster: 1) and 3) are equivalent
17:56:55 <ehird> and cause the apocalypse
17:57:00 <Deewiant> AnMaster: 1) just hardcodes the position as (0,0)
17:57:06 <Deewiant> (,0,0,0...)
17:57:21 <AnMaster> Deewiant, yes indeed. I just wanted to be sure I got it right
17:57:27 <Deewiant> ehird: If you want to be useful add glyphs to DejaVu Sans Mono
17:57:37 <ehird> I don't like dejavu sans mono :-(
17:57:48 <ehird> It looks ugly.
17:57:56 <Deewiant> Start with GLAGOLITIC CAPITAL LETTER SPIDERY HA
17:58:03 <ehird> ... On the other hand!
17:58:07 <AnMaster> Deewiant, currently I'm doing coverage analysis of cfunge and writing test cases for things missing mycology.
17:58:20 <ehird> New project: Add the GLAGOLITIC CAPITAL LETTER SPIDERY HA to every font in the universe.
17:58:37 <AnMaster> ehird, sounds cool. How do you make/edit a font btw?
17:58:43 <ehird> AnMaster: using expensive software
17:58:47 <Deewiant> U+2C22 if you want to look at a reference pic
17:58:56 <AnMaster> ehird, I'm sure there is some free software *searches*
17:59:07 <ehird> AnMaster: yes, but ... not very good.
17:59:12 <AnMaster> media-gfx/fontforge http://fontforge.sourceforge.net/ ?
17:59:16 <AnMaster> never tried it
17:59:26 <ehird> typefaces are ... ever so slightly complex.
17:59:33 <ehird> also very niche
17:59:38 <ehird> Which would explain the lack of good free tools
17:59:42 <ehird> unfortunately
17:59:43 <AnMaster> well truetype is certainly complex
17:59:51 <ehird> Fontographer seems popular
17:59:52 <AnMaster> I remember reading about the file format some time ago.
17:59:54 -!- kar8nga has joined.
18:00:10 <Deewiant> http://dejavu-fonts.org/wiki/index.php?title=Developer%27s_Corner suggests fontforge
18:00:15 <ehird> AnMaster: truetype is out of date, actually
18:00:20 <ehird> well, sorta
18:00:26 <ehird> opentype is more widely used in new stuff IME
18:00:32 <AnMaster> mhm
18:00:36 <ehird> Deewiant: yes, but they're a free project; they wouldn't recommend a commercial tool
18:00:41 <AnMaster> I never seen opentype on anything but apple
18:00:51 <ehird> AnMaster: opentype is a microsoft format
18:00:56 <AnMaster> oh hm
18:00:57 <Deewiant> ehird: Yes, of course, I was only considering free ones anyway
18:01:05 <ehird> Deewiant: Well, there's only fontforge.
18:01:14 <AnMaster> ehird, I'm pretty sure I have seen opentype on OS X though... I may be wrong
18:01:17 <ehird> yes
18:01:21 <ehird> all default fonts on OS X are opentype
18:01:23 <AnMaster> ah
18:01:37 <ehird> holy crap I love fontcase
18:01:40 <AnMaster> ehird, is opentype free and patent-unencumbered?
18:01:46 <ehird> um
18:01:52 <ehird> iii don't know
18:02:00 <ehird> http://partners.adobe.com/public/developer/opentype/index_spec.html
18:02:01 <AnMaster> I mean, just because it says "open" doesn't mean it actually is
18:02:08 <ehird> there's the spec
18:02:19 <AnMaster> mhm
18:02:19 -!- ais523 has joined.
18:02:22 <ehird> hi ais523
18:02:23 <AnMaster> hi ais523
18:02:37 <AnMaster> ehird, argh! you were a second faster
18:02:46 <AnMaster> so I ended up second
18:02:50 <ehird> Ooh, Charcoal CY is a pretty typeface
18:03:01 -!- Judofyr has joined.
18:06:07 <AnMaster> Deewiant, I think your = has a bug
18:06:26 <ais523> hi ehird, AnMaster
18:06:30 <AnMaster> Deewiant, "After execution, a failure value is pushed onto the stack. If this value is zero, everything went as expected. If the value is non-zero, it may be the return-code of the program that was executed; at any rate it means that the attempt to execute the program, or the program itself, did not succeed."
18:06:41 <AnMaster> Deewiant, try = on empty stack, it pushes 0
18:06:52 <AnMaster> it might be UNDEF
18:06:56 -!- Mony has joined.
18:07:16 <AnMaster> but to me it sounds like everything didn't go as planned
18:07:19 <Deewiant> I'd say everything went as expected
18:07:27 <Deewiant> You asked me to execute nothing and I did, successfully
18:07:32 <AnMaster> Deewiant, so what is the meaning of empty string = ?
18:07:38 <ais523> what does = do?
18:07:43 <Deewiant> AnMaster: Like /bin/true
18:07:49 <Deewiant> ais523: system()
18:07:59 <ais523> hmm... empty string = is impl-defined, I'm almost certain
18:08:04 <AnMaster> ais523, execute a string in an implementation defined way. This means system() usually
18:08:06 <ehird> i just want to buy every typeface in the world.
18:08:10 <ehird> and use them all.
18:08:20 <Mony> plop
18:08:33 <AnMaster> cfunge pushes -2 on empty string to =
18:08:34 <ais523> hi Mony
18:08:46 <ehird> what does system("") do?
18:08:48 <Deewiant> AnMaster: FBBI would also push 0
18:08:48 <ehird> that should be what = does.
18:08:57 <AnMaster> ehird, implementation defined I *think*
18:09:01 <ehird> AnMaster: try it on your system.
18:09:03 <AnMaster> that is C implementation
18:09:04 <Deewiant> If the value of command is NULL, system() returns non-zero if the shell
18:09:04 <Deewiant> is available, and zero if not.
18:09:04 <ehird> if it does something sane, copy that
18:09:09 <ais523> system(NULL) is defined by the C standard, it tells you whether system() can do anything or not
18:09:11 <ehird> Deewiant: do that, then
18:09:13 <ais523> system("") is different, and isn't defined
18:09:17 <ehird> oh
18:09:17 <ehird> right
18:09:26 <ehird> well, what does system("") do on linux/bsd?
18:09:29 <ehird> just do that.
18:10:04 <Deewiant> ehird: You do realize that my code is just push(system(popstring)) or something equally simple
18:10:11 <ehird> Deewiant: Then your code is right./
18:10:16 <ehird> Hmm.
18:10:23 <ehird> I'm going to make my own Befunge interp. Again
18:10:31 <ais523> how's your INTERCAL impl doing?
18:10:32 <AnMaster> ehird, it returns 0
18:10:38 <ehird> AnMaster: Do that.
18:10:47 -!- jix_ has joined.
18:10:48 <ehird> ais523: When I said April, I meant next April
18:11:14 <ais523> C-INTERCAL 0.01 was famously written in a weekend
18:11:18 <ais523> admittedly, it didn't actually work
18:11:18 <ehird> But anyway; only three compliant implementations? This will not do.
18:11:24 <Deewiant> Four, no?
18:11:30 <ehird> Umm..
18:11:32 <ehird> Oh, stinkhorn?
18:11:35 <ehird> Isn't that really incomplete?
18:11:40 <AnMaster> on *POSIX* system() is defined like:
18:11:40 <Deewiant> That makes five if it does
18:11:41 <AnMaster> The environment of the executed command shall be as if a child process were created using fork(), and the child process invoked the sh utility using
18:11:42 <AnMaster> execl() as follows:
18:11:42 <AnMaster> execl(<shell path>, "sh", "-c", command, (char *)0);
18:11:45 <ais523> what is stinkhorn?
18:11:45 <ehird> Deewiant: list them?
18:11:48 <ehird> ais523: Asztal's
18:11:52 <ehird> CCBI, cfunge, RC/funge98
18:11:54 <AnMaster> where <shell path> is an unspecified pathname for the sh utility.
18:11:55 <Deewiant> ehird: CCBI, cfunge, RC/Funge-98, Language::Befunge were the ones I was thinking of
18:11:57 <ehird> What else is compliant?
18:11:58 <ehird> oh
18:12:02 <ehird> Language::Befunge is compliant?
18:12:04 <ehird> And complete?
18:12:12 <Deewiant> Last I checked, IIRC, yes
18:12:20 <ehird> Well, very slow, I presume :P
18:12:33 <Deewiant> He's working on speeding it up, haven't tried it in a while
18:12:45 <AnMaster> Deewiant, and yes your code is very similiar to push(system(popstring)). I looked a few minutes ago. Think there was a cast too
18:13:00 <AnMaster> void execute() {
18:13:00 <AnMaster> ip.stack.push(cast(cell)system(popStringz()));
18:13:00 <AnMaster> }
18:13:03 <AnMaster> that is Deewiant's code
18:13:24 <ehird> also, my interpreter's goal:
18:13:40 <ehird> Be completely complian. Support as many fingerprints as possible. As a very distant last goal, be fast enough.
18:13:41 <Deewiant> Make a DS9K
18:13:44 <ehird> *compliant
18:13:58 <ehird> Deewiant: I will be sure to have a flyDemonsOutOfUsersNose function.
18:14:00 <Deewiant> Sounds like CCBI to me, 'fast' just a bit more distant then usual
18:14:02 <AnMaster> Deewiant, hm = may *ONLY* reflect if = is unimplemented right?
18:14:03 <Deewiant> Argh
18:14:04 <Deewiant> s/then/than/
18:14:08 <ais523> is efunge complaint yet
18:14:14 <Deewiant> AnMaster: I think so, yep
18:14:22 <AnMaster> indeed
18:14:24 <Deewiant> I doubt it's a complaint
18:14:37 <ehird> Deewiant: CCBI is 1) not written by me 2) doesn't support all of MKRY's shitprints 3) is not written in Haskell
18:14:53 <AnMaster> ais523, well 99.99%. I just found a bug if a file uses CR line endings. Haven't had time to investigate yet.
18:15:01 <ehird> also, MKRY is MikeRiley's new name; spread the word.
18:15:13 <AnMaster> ais523, I found it doing coverage analysis, and I plan to complete that first, collecting a todo list.
18:15:21 <AnMaster> brb phone
18:15:21 <ais523> actually, I'd love to make a befunge-98 DS9K
18:15:34 <ais523> a befunge-93 DS9K would unfortunately probably not function on any programs at all
18:15:43 <Slereah_> Deep Space 9000?
18:15:52 <ehird> ais523: make a (feral) DS9K fingerprint
18:15:55 <Deewiant> ehird: Right, some of 2) is actually by choice and not just due to that DMD bug
18:15:56 <ehird> that has no instructions
18:15:59 <ehird> but when you load it
18:16:05 <ehird> it puts the interpreter into DeathStation 9000 mode
18:16:08 <Deewiant> ehird: For 3) we have hsfunge (or we don't, but funktio does)
18:16:12 <ehird> for hardcore programmers
18:16:16 <ais523> ehird: so it complies with the standard, but nothing else?
18:16:24 <ehird> ais523: right! Not even the laws of physics.
18:16:26 <ais523> unfortunately, it has at least one fingerprint loaded, and thus can legally do anything
18:16:26 <Deewiant> That'd be a bit crap actually
18:16:46 <Deewiant> Because the spec is so messed up that it probably wouldn't run many programs that well
18:16:52 <ehird> Deewiant: 2) See? Inferior. 3) It is incomplete, and doesn't reach the other goals, and funktio is dead
18:17:01 <ehird> also, that would be the point
18:17:13 <Deewiant> funktio isn't dead, he said something on #haskell a few days ago
18:17:29 <Deewiant> And for 2), well, we have RC/Funge-98 for that
18:17:31 <ehird> his site is down, he hasn't been in here for ages, and I don't even know how I could get hsfunge
18:17:33 <ehird> he's pretty dead
18:17:39 <ehird> and 2) RC/Funge doesn't meet the other goals :P
18:17:44 <Deewiant> His site is dead
18:19:08 <Deewiant> ehird: And given your original goals, I think it does meet
18:19:24 <ehird> Deewiant: It fails 1) and 3) of my new goals
18:19:25 <ehird> 17:14 ehird: Deewiant: CCBI is 1) not written by me 2) doesn't support all of MKRY's shitprints 3) is not written in Haskell
18:20:23 <ais523> Slereah_: DS9K = DeathStation 9000
18:20:47 <ais523> which is basically something that complies to the letter of a standard, but not its spirit
18:21:03 <ais523> like Windows for POSIX, for instance, they got everything that legally could return ENOTIMPLEMENTED IIRC
18:21:06 <Deewiant> ehird: You didn't explicitly specify those as goals
18:21:14 <ehird> Deewiant: oh stfu :P
18:22:38 <ehird> anyway the most important thing in a funge interp is a name; all else follows
18:22:51 <ehird> maybe i should call it FG98 :-D
18:22:58 -!- jix has quit (Connection timed out).
18:23:10 <ehird> http://www.haskell.org/pipermail/haskell-cafe/2009-March/057590.html <-- <3
18:23:14 <ais523> ehird: what will its handprint be?
18:23:26 <ehird> ais523: FG98
18:23:26 <ehird> :P
18:23:29 <ais523> makes sense
18:23:36 <ais523> what will the handprint for the next version be?
18:23:43 <ehird> next version?
18:24:00 <ais523> AnMaster/Deewiant: do you have to change the handprint if you upgrade a Funge interp to a new version?
18:24:11 <Deewiant> No
18:24:36 <ais523> oh, it's variants that have to have different handprints
18:24:54 <ais523> such as CFUN for cfunge, but CFFI for cfunge + IFFI + C-INTERCAL
18:26:17 -!- kar8nga has quit (Remote closed the connection).
18:26:39 <ehird> I NEED A BASIC REPL
18:27:10 <ais523> ehird: BASIC isn't really suited to REPLs
18:27:16 <ehird> Sure it is
18:27:19 <ehird> Whyever not?
18:27:24 <ehird> As long as it automatically numbers lines
18:27:30 <ais523> because nearly all nontrivial BASIC programs span multiple lines
18:27:34 <ehird> yes, and?
18:27:40 <oklofok> you mean liek c64
18:28:44 <ehird> hee I wrote a BASIC program oh that was fun
18:28:47 <ehird> what is so fun about BASIC?
18:28:49 <ehird> it's so shitty/
18:28:58 <Sgeo> REPLs?
18:29:08 <ais523> BASIC was one of the first languages to really catch on amongst the general computer-using public
18:29:09 <ehird> Sgeo: o_o
18:29:11 <ehird> !SYNTAX ERROR IN LINE 40, COLUMN 29
18:29:11 <ehird> UNEXPECTED 1
18:29:13 <ehird> EXPECTING : OR END OF LINE
18:29:14 <oklofok> it means "replica"
18:29:19 <ehird> it just puts the parsec error in uppercase
18:29:19 <ehird> xD
18:29:20 <ais523> Sgeo: Read, Evaluate, Print, Loop
18:29:34 <oklofok> Sgeo: either me or ais523 is lying, i think
18:29:39 <ais523> it's a small program that prints the results of expressions in a given language
18:29:49 <ais523> such as ghci for Haskell, or intercalc for CLC-INTERCAL
18:30:04 <ehird> Sgeo: it's like
18:30:07 <ehird> $ python
18:30:08 <ehird> for python.
18:30:13 * Sgeo wikis
18:30:14 <ehird> (There, in words you understand. :P)
18:30:14 <Sgeo> ty
18:30:18 <Sgeo> lol
18:30:20 <ehird> the interactive prompt
18:30:51 <ais523> interestingly, with Perl you need to use perl -de 0 to get a repl
18:30:53 <ais523> not just perl
18:30:59 <ehird> hmm
18:31:00 <ehird> question
18:31:04 <ehird> in BASIC how come
18:31:06 <ehird> IF X THEN NUMBER
18:31:10 <ehird> gotos NUMBER
18:31:12 <ehird> but, e.g.
18:31:15 <ehird> PRINT "FOO":10
18:31:16 <ehird> doesn't work
18:31:17 <ehird> you need
18:31:20 <ehird> PRINT "FOO":GOTO 10
18:31:28 <ais523> IF X THEN 10 is an abbreviation
18:31:31 <ais523> syntax antisugar, if you like
18:31:41 <ehird> no that's definitely syntactic sugar
18:31:44 <ais523> it was actually the only form of IF that used to be accepted
18:32:00 <ais523> it used to be that IF only ever did a goto, you couldn't get it to do anything else
18:32:07 <ehird> "For example, FORK=1TON appears to set the value of a variable FORK to a weight of 1 ton. In reality it begins a FOR loop with control variable K, ranging in value from 1 to N."
18:32:35 <ais523> oh, that was important on early computers, removing all the whitespace from a program helped it to fit in memory
18:33:20 <ehird> 10 PRINT "LOOK AROUND YOU";
18:33:21 <ehird> 20 GOTO 10
18:33:28 <lament> LOOK AROUND YOU
18:33:30 <lament> LOOK AROUND YOU
18:33:33 <lament> LOOK AROUND YOU
18:33:33 <ehird> NO
18:33:34 <ehird> it has ;
18:33:35 <lament> LOOK AROUND YOU
18:33:36 <ehird> it all goes on one line
18:33:38 <lament> LOOK AROUND YOU
18:33:39 <ehird> LOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOULOOK AROUND YOU
18:33:44 <ais523> ; is an anti-newline in BASIC print statements
18:33:52 <lament> OHHHHHHHHHHHHHHHHHHHHH
18:33:56 <ais523> even better,
18:34:01 <Sgeo> <3 Look Around You
18:34:04 <ais523> PRINT "LOOK AROUND YOU"'
18:34:05 <ehird> although; in the original one, it had no ;
18:34:09 <ais523> prints LOOK AROUND YOU and then two newlines
18:34:11 <ehird> different implementations
18:34:22 <lament> my implementation is non-standard!
18:34:29 <ehird> Look, around you. Look around, you. Just, look around you.
18:34:30 <lament> LOOK AROUND YOU
18:34:33 <lament> INFINITE LOOP DETECTED
18:34:40 <ais523> single-quote, in many BASIC impls, prints a newline, and otherwise acts like a comma except it doesn't need anything before or after it
18:34:46 <ehird> LOOK AROUND YOU SORRY IT IS LOOP
18:35:01 <ehird> oh wait
18:35:04 <ehird> http://www.youtube.com/watch?v=mdI_MmN-Lp4
18:35:06 <ehird> it has a space and a ;
18:35:10 <ehird> 10 PRINT "LOOK AROUND YOU ";
18:35:10 <ehird> 20 GOTO 10
18:35:12 <AnMaster> back
18:35:12 <ehird> amended code
18:35:38 <AnMaster> <ais523> AnMaster/Deewiant: do you have to change the handprint if you upgrade a Funge interp to a new version? <-- no, you change version
18:36:05 <ehird> GregorR:
18:36:06 <ehird> http://www.youtube.com/watch?v=mdI_MmN-Lp4
18:36:09 <ehird> Cheskers in Look Around You
18:37:09 <AnMaster> ais523, what would be the easiest way to insert a literal form feed in emacs?
18:37:17 <ehird> Ctrl-V Ctrl-M
18:37:18 <ehird> No?
18:37:21 <ais523> AnMaster: ^Q^L
18:37:26 <ehird> Oh, ^L
18:37:27 <AnMaster> ehird, maybe. I forgot the key combo
18:37:27 <ais523> well, C-q C-l as this is emacs
18:37:30 <AnMaster> thanks
18:37:40 <ais523> ehird: C-v is "scroll down" in emacs
18:37:45 <ehird> yeah fuck emacs
18:37:45 <ehird> :P
18:37:51 <ais523> C-q is "insert next character literally unless it's a digit"
18:38:00 <AnMaster> ais523, so which key is form feed then
18:38:04 <ais523> AnMaster: C-l
18:38:12 <ehird> You know the problem with VINTAGE BASIC?
18:38:15 <ehird> No "DRAW" instruction.
18:38:17 <AnMaster> ah right
18:38:21 <ehird> I fucking need DRAW. BASIC is useless without it.
18:38:34 <GregorR> ehird: That's where I got the idea :P
18:38:39 <ehird> GregorR: Hahaha
18:40:47 <ehird> "The behavior is different depending on the value passed. If the value is positive, the result will be a new random value between 0 and 1 (including 0 but not 1). If the value is zero, the result will be a repeat of the last random number generated."
18:40:55 <ehird> Wow, is that to avoid an extra variable?
18:41:11 <ais523> I'm pretty sure that after a while, they generalised it to add negative arguments
18:41:16 <ais523> but I forget what they do
18:41:27 <ais523> and yes, variables used to be in short supply
18:41:37 <ais523> but not just that, to avoid having to write out the code to save the random number in a variable
18:41:53 <ais523> original BASIC was highly golfed, by necessity, the programs wouldn't fit in memory otherwise
18:44:43 <ehird> Yay, i wrote a guessing game. That was so pointless, but I enjoyed it anyway.
18:44:46 <ehird> 10 A=INT(RND(1)*100)
18:44:46 <ehird> 20 INPUT"GUESS THE NUMBER";B
18:44:47 <ehird> 30 IF B=A THEN 60
18:44:49 <ehird> 40 IF B<A THEN 70
18:44:51 <ehird> 50 IF B>A THEN 80
18:44:52 <ehird> 60 PRINT"YOU WIN!":END
18:44:55 <ehird> 70 PRINT"TOO SMALL":GOTO 20
18:44:56 <ehird> 80 PRINT"TOO BIG":GOTO 20
18:45:16 <ais523> ehird: line 30 is redundant
18:45:21 <ehird> Aha, so it is.
18:45:22 <ais523> you could delete it and the program would still work
18:45:48 <ehird> How did kids guess the target line number before they wrote it...?
18:45:59 <ais523> you can write the lines in any order
18:46:02 <ais523> and revise them
18:46:07 <ais523> so you just write GOTO 0 the first time round
18:46:12 <ais523> and then edit the line later to fix the number
18:46:14 <ehird> Oh, how boring.
18:46:18 * ais523 used to have a BBC BASIC computer
18:46:47 <ehird> hmm, I'm sure it can be less than 7 lines
18:46:53 <ehird> although...nah
18:46:59 <ehird> well
18:47:14 <ais523> 30 C=1+SGN(A-B)
18:47:19 <ehird> 10 INPUT"GUESS THE NUMBER";B
18:47:19 <ehird> 20 IF B<INT(RND(1)*100) THEN 50
18:47:21 <ehird> 30 IF B>INT(RND(1)*100) THEN 60
18:47:23 <ehird> 40 PRINT"YOU WIN!":END
18:47:25 <ehird> 50 PRINT"TOO SMALL":GOTO 20
18:47:25 <ais523> 40 CASECON70,60,80
18:47:27 <ehird> 60 PRINT"TOO BIG":GOTO 20
18:47:29 <ehird> that works, but it pointless
18:47:31 <ehird> ais523: whaddafu
18:47:37 <ais523> ehird: same length, unfortunately
18:47:41 -!- Corun has joined.
18:47:44 <ais523> also, you need RND(0) not RND(1)
18:47:47 <ehird> oh, right
18:48:06 * ehird rewrites program in haskell to see how far programming has advanced
18:48:11 <ais523> also remember you're allowed lowercase in string literals
18:48:14 <ais523> that'll make the output look nicer
18:48:21 <ehird> SSH
18:48:22 <ehird> this is the 70s
18:48:27 <ehird> there is no such thing as lowercase
18:48:40 <ehird> lowercase hasn't been INVENTED yet
18:48:52 <ais523> the appendix to the ALGOL-68 standard stated an optional program file format for computers that allowed lowercas
18:48:53 <ais523> *lowercase
18:48:57 <ais523> so yes, it had been
18:49:10 <ais523> although apparently it wasn't in common enough use to assume all computers had it
18:50:05 <MizardX> And then came unicode.
18:50:11 <ehird> and RUINED EVERYTHING.
18:50:18 <ehird> anyway, I want my DRAW.
18:50:26 <ehird> I am ITCHY without DRAW.
18:50:59 <ehird> READ var1, var2, ...
18:50:59 <ehird> Reads data from DATA statements into variables. A pointer is maintained into the DATA values, which could be anywhere within the program. Values are read in order into the variables, and the pointer is advanced. A runtime error occurs if there are not enough DATA values to fill the variables. The DATA pointer can be reset using a RESTORE statement. Example: READ A$, B.
18:51:04 <ehird> wat
18:51:15 <ais523> ehird: you don't know of READ?
18:51:25 <ehird> I don't know what the heck it is on about
18:51:35 <ais523> here's an example
18:51:36 <ehird> DATA literal1, literal2, ...
18:51:36 <ehird> Has no effect when executed, but supplies data for the READ statement. Each value can be a string or floating-point literal (not an expression). Whitespace is ignored around values. Double quotes can be placed around a string to escape whitespace and commas between the quotes. DATA statements can occur on the same line as other statements, but, due to its special parsing rules, it must be the last statement on the line. The line on which the DATA stateme
18:51:39 <ais523> 10 READ A
18:51:40 <ehird> nt occurs can be used as the target of a RESTORE statement. Example: DATA January, 31, "Martian History Month".
18:51:43 <ehird> whyyyy
18:51:45 <ais523> 20 PRINT A
18:51:47 <ais523> 30 GOTO 10
18:51:53 <ais523> 40 DATA 1,2,3,4,5,6,7,8,9
18:51:54 <lament> martian history month!!!
18:52:00 <ehird> ais523: good lord, why?
18:52:00 <ais523> that prints all the numbers from 1 to 9, then errors
18:52:11 <ehird> beautiful... but... WHY
18:52:21 <ais523> ehird: well, you're hardly going to waste your precious 52 variables by using them to store data, are you?
18:52:29 <ehird> <33
18:52:42 <ais523> DATA effectively creates ROM
18:52:47 <ais523> that you can access via READ and RESTORE
18:52:58 -!- Corun has quit ("This computer has gone to sleep").
18:53:30 <MizardX> 10 RESTORE -10: READ A: PRINT A: GOTO 10
18:53:42 <ehird> http://drivey.com/DONKEYQB.BAS.html
18:53:48 <ehird> DONKEY.BAS is the prettiest program ever written.
18:53:53 <ais523> MizardX: RESTORE takes arguments? Wow, I never knew that
18:54:01 <ehird> Good luck writing DONKEY.BAS that concisely in modern languages
18:54:11 <ais523> that QB implies QBasic
18:54:12 <ais523> is it?
18:54:15 <ehird> Yes, it's a port
18:54:21 <ehird> but that presumably doesn't change all that much
18:54:47 -!- Corun has joined.
18:55:07 <ais523> ehird: that first line, translated to C, would be *(char*)106 = 0
18:55:15 <ais523> I hate to think what that was designed to do...
18:55:26 <ehird> eh, you know POKEs
18:55:31 <ehird> ais523: it'd be putting it into graphical mode
18:55:32 <ehird> probably
18:55:35 <ais523> ah, yes
18:55:43 <ais523> the only thing I ever used POKEs from was to turn caps lock on and off
18:55:55 <ais523> after a while I wised up and converted the input to uppercase/lowercase in my program instead
18:56:01 <ehird> with POKE, your days of 52 variables are long gone!
18:56:07 <ehird> er, and PEEK :P
18:56:12 * lament POKES ehird
18:56:28 <ehird> :o
18:56:33 <ehird> "Donkey .NET is a three-dimensional driving simulator game that demonstrates the new features available to Microsoft® Visual Basic® developers."
18:56:35 <ehird> http://www.microsoft.com/downloads/details.aspx?FamilyID=990d0ec1-23ea-4408-898d-1fd5727a8890&displaylang=en
18:56:41 <ehird> Donkey .NET is a three-dimensional driving simulator game that demonstrates the new features available to Microsoft® Visual Basic® developers. Written in Visual Basic .NET RTM, this sample uses XML Web services, multithreading, structured exception handling, shaped Windows Forms, and custom-drawn controls. The sample includes the setups for both the game application and an optional XML Web service used with the game. The setups will also install the so
18:56:44 <ehird> urce code.
18:56:46 <ais523> NO! Not Visual BASIC!
18:56:59 <ais523> also, .NET?
18:57:01 <ehird> Yes.
18:57:05 <ehird> Blasphemy of the highest degree.
18:57:07 <ais523> Visual BASIC was invented ages before .NET was
18:57:16 <ehird> visual basic is now VB.NET
18:57:29 <ais523> well, yes, the non-.NET versions aren't maintained
18:57:53 * ais523 thinks it's interesting that .NET is the bytecode format with the most widely-used languages targeting it
18:58:04 <ais523> most byte-compiled langs have their own bytecode
18:58:10 <ais523> but all the microsoft ones compile to .NET
18:58:32 <ehird> the microsoft folks endorse Mono semi-officially
18:58:33 <ehird> which is nice
18:58:40 <ehird> e.g. silverlight download page on linux, directs you to mono's Moonlight pag
18:58:41 <ehird> e
18:59:03 <ais523> Microsoft are currently at the stage of trying to get Silverlight generally accepted
18:59:12 <ehird> % vintbas /dev/stdin
18:59:12 <ehird> POKE 0,0
18:59:14 <ehird> !LINE NUMBERING ERROR IN RAW LINE 1, COLUMN 1
18:59:16 <ehird> UNEXPECTED "P"
18:59:18 <ehird> EXPECTING LINE NUMBER OR END OF FILE
18:59:18 <ais523> making people think it has good Linux support is one way to do that
18:59:20 <ehird> Useless.
18:59:28 <ais523> although interestingly, there doesn't seem to be a Mac version, or wasn't last I looked
18:59:39 <ehird> mono runs on os x
18:59:45 <ehird> dunno about plugins tho
18:59:45 <ais523> ah, I didn't know that
19:00:05 <ehird> hmm
19:00:05 <ais523> anyway, there are quite a few people who suspect that Mono has Microsoft patents in, and so to legally use it you have to download it from Novell
19:00:16 <ehird> I wonder if there's a portable QBasic interpreter
19:00:17 <ais523> no idea whether that one's true or not
19:00:28 <ais523> ehird: QBasic runs under DOSbox, I suspect
19:00:28 <ehird> (using a virtual heap, OFC, with traps on things like that 103)
19:00:37 <ehird> ais523: meh, I guess so
19:00:39 <ehird> it'd be nicer to have it to hand
19:01:04 <ais523> and there are so many peeks/pokes to literal addresses in typical programs you'd want a full DOS emulator
19:01:10 <ehird> Tru
19:01:10 <ehird> e
19:02:40 <ehird> http://boxerapp.com/ <-- Wow, someone made DOSBox all mac-like.
19:02:51 <ehird> Isn't that a bit pointless when the actual DOS inside will be very very DOS? :P
19:03:17 <Robdgreat> people are allowed to delude themselves
19:03:48 <Robdgreat> form over function, ALWAYS
19:04:20 <ais523> the DOS inside DOSBox isn't all that DOS-like, I find
19:04:24 <ais523> which is strange
19:04:26 <ehird> Robdgreat: Y'know, it's possible to have both.
19:04:33 <ais523> some of my old DOS programs don't run in it
19:04:49 <lament> it's for games, not for your old dos programs
19:04:54 <lament> it's for dune and xcom
19:04:55 <ehird> lament: Yeah, true.
19:05:08 <ais523> lament: but my programs were games
19:05:13 <ais523> admittedly, I wrote them
19:05:18 <ais523> but it doesn't prevent them being games
19:05:45 <Robdgreat> ehird: true, but I won't throw a hammer out just because it's not pretty enough
19:05:48 <lament> i'm guessing that dosbox is a fairly imperfect emulation
19:05:53 <ehird> Robdgreat: indeed
19:06:04 <lament> and when they want to improve it, they take some popular game they know doesn't run properly, and fix dosbox until the game runs
19:06:14 <ais523> what about running FreeDOS in a VM?
19:06:21 <ais523> that ought to work if the VM works properly
19:06:27 <lament> and their list of popular games might not actually include any games by ais523
19:06:45 <ehird> Aww, Boxer comes with ton sof DOS tols but not qbasic.
19:06:47 <ais523> never mind, I ported that game to Windows ages ago and it runs in WINE
19:07:03 <ais523> I'll probably port it to Allegro or SDL sometime
19:07:14 <ais523> then it'll run in Linux too, and probably on a Mac
19:07:21 <ehird> Huh, it comes with a bunch of games. Aren't they copyrighted...?
19:07:32 <ais523> not all DOS games are copyright
19:07:40 <ehird> one of them is Commander Keen 4
19:07:41 <ais523> and nearly all are abandonware, technically that's illegal but nobody but me seems to care
19:07:53 <lament> it's good you care
19:07:54 <ehird> also, abandonware is legal, it's just that most things aren't abandonware
19:08:16 <ais523> no, I thought the definition of abandonware was copyrighted stuff which was so old and worthless nobody could be bothered to enforce the copyright
19:09:02 <fizzie> Maybe it's the shareware version of Keen 4?
19:09:32 <ehird> it looks full
19:09:32 -!- Corun has quit ("Leaving").
19:09:41 <ehird> ais523: The sites claim it's games with expired copyright
19:09:49 <ehird> of which there are none in the US, as far as I know
19:09:56 <ehird> or, probably, the UK
19:10:14 <ehird> copyright is stupid anyway, it should expire way earlier
19:10:29 <ehird> none of this 2 to the power of the age of the author at death + 7 million years
19:10:34 <ais523> it is possible, I think, for there to be DOS games nowadays where the author died over 25 years ago
19:10:41 <ehird> hmm, true
19:10:43 <ehird> how many, though?
19:10:51 <ais523> not a lot, I suspect, most programmers are quite young
19:10:58 <ais523> but I suppose they might have died in an accident or something
19:11:14 <ehird> I suppose
19:11:19 <ehird> http://en.wikipedia.org/wiki/QBasic#Simple_game
19:11:19 <ehird> wow
19:11:21 <ehird> that sucks
19:11:26 <ehird> that's waaay longer than my version
19:11:36 <ehird> all theirs does is decease the range and put a cap on the guesses
19:11:37 <ehird> :P
19:11:42 <fizzie> I think it was rather complete; you just got episodes 5 and 6 when you boughteded it. Although I might remember wrongly.
19:11:52 <ehird> boughteded
19:12:15 <ehird> Okay, who has QBASIC.EXE?
19:12:45 <ais523> I used to have it, but I think it's bit-rotted to death by now
19:12:50 <fizzie> Google has it.
19:13:08 <ehird> Yes, well, I'm trying to google it, fizzie
19:13:12 <fizzie> I have dos 6.22 installation floppy images I dd'd once, I assume it would be there too.
19:13:18 <fizzie> http://www.winsite.com/bin/Info?4385 has a download link.
19:13:19 <ehird> http://www.velocityreviews.com/forums/t43803-does-xp-have-coding.html DOES XP HAVE CODING
19:13:29 <Robdgreat> I have it somewhere
19:13:31 * Robdgreat digs
19:13:38 <ais523> I believe at least one program has been written on Windows XP
19:13:53 <lament> i was enlightened when i managed to understand that the quick basic game with gorillas throwing bananas did not have bits of code for drawing a banada for every single position on the screen
19:13:55 <ais523> I certainly ported programs from Windows 95 to Windows XP
19:13:55 <ehird> wut, why does "copy con con" say con not found
19:13:59 <lament> *banana
19:14:01 <fizzie> it's con:
19:14:03 <ehird> lament: haha
19:14:03 <ais523> which is pretty worrying
19:14:04 <ehird> fizzie: o
19:14:10 <ais523> fizzie: that doesn't work either on DOSbox, IIRC
19:14:16 <ehird> fizzie: no u lie
19:14:18 <ais523> DOSbox is not a very good implementation of DOS
19:14:18 <ehird> ILLEGAL PATH
19:14:29 <fizzie> Hey.
19:14:31 <ehird> it doesn't even say illegal command or file name or murder
19:14:32 <ais523> ehird: it was originally CON: on the precursor to DOS
19:14:36 <ehird> it says Illegal command: blah.
19:14:41 <fizzie> zem.fi/~fis/qbasic.exe
19:14:42 <ais523> DOS changed it to CON.*
19:14:44 <ais523> including with no extension
19:14:52 <ais523> because back then, most programs had implied extensions
19:14:57 <fizzie> For some strange reason, qbasic.exe was uncompressed on the first install floppy of dos 6.21.
19:15:12 <ehird> http://www.winsite.com/bin/Info?4385 <-- this lacks .hlp
19:15:16 <ais523> I didn't even realise you could get dos 6 except bundled with Windows
19:15:33 <fizzie> Just about all other files are compressed with that funky scheme which makes .foo files into .fo_ files. Only attrib.exe, debug.exe, expand.exe and qbasic.exe are uncompressed.
19:15:36 <AnMaster> Deewiant: concerning raw FF, would "ignore it" mean "don't write anything, but go to next cell" or "don't even increment x"
19:16:16 <ehird> I wonder if you can buy QBASIC from microsofft
19:16:24 <ais523> or download it for free?
19:16:26 <fizzie> ehird: http://zem.fi/~fis/qbasic.hl_ has the hlp file, but you need expand.exe to uncompress it. :p
19:16:27 <ehird> *microsoft
19:16:34 <ehird> ais523: I doubt they would give anything away for free
19:16:48 <ais523> they gave away limited versions of VC++ for free
19:16:52 <ehird> well, yesy es
19:16:55 <ais523> and that's a lot more advanced than QBaisc
19:16:57 <ais523> *QBasic
19:16:58 <fizzie> Although you can download expand.exe too from http://zem.fi/~fis/expand.exe
19:17:07 <fizzie> There, that should be all to get qbasic.exe and qbasic.hlp out.
19:17:11 * ais523 ends up on microsoft.com far too often
19:17:12 <ehird> yay
19:17:24 * ehird attempts to configure Boxer to stretch the display WITHOUT antialiasing it badly
19:17:52 <ais523> "If you need to run QBasic in Windows 2000, you can copy it from a Microsoft Windows NT 4.0-based computer, or you can expand the files from a Windows NT 4.0 CD-ROM."
19:18:00 <ais523> wow, are microsoft advising people to violate their own licence?
19:18:16 <ehird> ha
19:19:39 <ais523> ehird: try http://download.microsoft.com/download/win95upg/tool_s/1.0/w95/en-us/olddos.exe
19:19:56 <ais523> I haven't looked myself, but allegedly qbasic is in there
19:20:16 <ehird> # "opengl" will use bilinear filtering when scaling (smoother but
19:20:18 <ehird> # fuzzier), while "openglnb" will preserve the original appearance
19:20:20 <ehird> # (which may result in odd stretching at certain resolutions.)
19:20:22 <ehird> aha
19:20:35 <ehird> Din't work :(
19:20:59 <Deewiant> AnMaster: I'd say don't even increment, since that's how Unefunge works
19:21:44 <AnMaster> Deewiant, right
19:22:11 <AnMaster> Deewiant, CCBI fails to handle it correctly
19:22:22 <Deewiant> Yep, probably
19:25:02 <ehird> hmm, boxer is actually quite nice
19:26:39 -!- ais523_sandbox has joined.
19:26:45 <ehird> Hmm.
19:26:51 <ais523_sandbox> sorry about that
19:26:52 <ehird> Where do executables go in DOS, generally?
19:26:54 <ehird> C:\, right?
19:27:02 <ais523_sandbox> ehird: a directory inside c:|
19:27:04 <ais523_sandbox> *c:\
19:27:07 <Deewiant> Wherever you want
19:27:08 <ais523_sandbox> named after the executable
19:27:13 <AnMaster> Deewiant, btw, CCBI never writes at a higher x coordinate than the edge of the initial loaded program
19:27:14 <ehird> ah
19:27:24 <AnMaster> Deewiant, while it does write at a higher y coordinate
19:27:29 <Deewiant> AnMaster: write?
19:27:38 <AnMaster> Deewiant, p or other way to update
19:27:47 <Deewiant> O_o
19:27:48 <AnMaster> Deewiant, that would cause bounds to change in y
19:28:09 <ais523_sandbox> incidentally, I'm inside the sandbox at the moment to see what olddos.exe does
19:28:16 <ais523_sandbox> it seems to have qbasic.exe in
19:28:20 <ais523_sandbox> and no licence agreement
19:28:33 <Deewiant> So are you saying that '5f0pf0g.@' doesn't work?
19:28:39 <Deewiant> Or what?
19:28:45 <AnMaster> Deewiant, so if the bounds are defined as {topleft{x,y},bottomright{x,y}} then you never write at x higher than x of bottomright
19:28:47 <ais523_sandbox> yay, it works
19:28:59 <ais523_sandbox> I now have what is AFAICT a legal copy of QBasic, direct from Microsoft
19:29:14 <ais523_sandbox> run olddos.exe in dosbox, rather than wine
19:29:17 <Deewiant> AnMaster: So what exactly doesn't work?
19:29:26 <Deewiant> Does the above work?
19:29:26 <ehird> ais523_sandbox: if they're offering it, my downloaded version is legal too
19:29:31 <ais523_sandbox> I suppose so
19:29:40 <AnMaster> Deewiant, well it works. Just you didn't test that
19:29:41 <ais523_sandbox> unless it's a different bit pattern in the version they're offering, or something
19:29:48 <ais523_sandbox> anyway, going back out of the sandbox
19:29:53 -!- ais523_sandbox has quit (Client Quit).
19:30:01 <Deewiant> AnMaster: So you meant to say 'Mycology' and not 'CCBI'
19:30:09 <AnMaster> Deewiant, ah yes
19:30:10 <AnMaster> typo
19:30:13 <AnMaster> (mental one)
19:30:16 <Deewiant> Phew, you had me worried there :-P
19:30:22 <fizzie> "The letters are like right next to each other."
19:30:24 <AnMaster> Deewiant, I mean, you test the value from y is correct before/after writing at -1,-1. But not writing outside in the other corner
19:30:37 <ehird> http://imgur.com/6AYNY.png <- The unparalleled elegance of the Mac OS X user interface.
19:30:40 <Deewiant> Yes, that can happen
19:31:08 <Deewiant> AnMaster: I've said it before, many times, and I'll say it once more now: combinatorial explosion of testcases means that I don't do everything that could be done
19:31:48 <ehird> There needs to be a way of copying text from DOS to outsid
19:31:49 <ehird> e
19:31:51 <ehird> :P
19:32:18 <AnMaster> Deewiant, internally cfunge doesn't store it as x,y,w,h, but x1,y1,x2,y2. It translates it for sysinfo. I mean it is an easy typo to write: if (x < minx) minx = x; else if (x > maxx) minx = x;
19:32:20 <AnMaster> or such
19:32:24 <pikhq> Works right in DOSemu on Linux. ;)
19:32:29 <fizzie> Apologies for the crudeness, but I just misread Deewiant's comment as "combinatorial explosion of testicles". That sounded painful.
19:32:34 -!- ais523 has quit (Remote closed the connection).
19:32:41 <ehird> pikhq: You can copy and paste text from QBasic to elsewhere?
19:32:48 <ehird> Impressive; howd oes it work?
19:33:06 <pikhq> How anything in X11 works: select and middle-click.
19:33:22 <ehird> Yes, but DOS isn't that simple.
19:33:23 <Deewiant> AnMaster: Yes, so I should test all 32 cases for p as well as i as well as for the various p-like instructions in fingerprints, right?
19:33:34 <ehird> I mean how does it work internally.
19:33:34 <AnMaster> 32 cases for p?
19:33:37 <fizzie> In a text video-mode, you can just read the screen buffer.
19:33:50 <pikhq> Ah. Yeah, it just reads the screen buffer...
19:33:55 <fizzie> It's interleaved [character, attributes, character, attributes, ...] list of bytes.
19:33:58 <ehird> Does QBasic run in text video mode? I'm not sure.
19:34:03 <AnMaster> Deewiant, what do you mean 32 cases of p?
19:34:04 <pikhq> Yes, it does.
19:34:05 -!- ais523 has joined.
19:34:07 <ehird> OK.
19:34:10 <AnMaster> wb ais523
19:34:12 <ais523> aargh
19:34:15 <AnMaster> eh?
19:34:19 <ais523> it seems there's something wrong with the user switcher atm
19:34:21 <ais523> I had to restart X
19:34:38 <Deewiant> AnMaster: Exaggeration; there are 9 cases
19:35:12 <pikhq> Just a matter of reading from (short *)0xB8000...
19:35:14 <AnMaster> Deewiant, you mean, in bounds, and various out of bounds ways?
19:35:19 <AnMaster> or what?
19:35:22 <Deewiant> Yep.
19:36:09 <AnMaster> Deewiant, well -1,-1 is much easier to get wrong indeed
19:36:25 <Deewiant> All that tests is that negative funge-space works
19:36:35 <Deewiant> I assume that people can get /positive/ funge-space to work...
19:36:44 <fizzie> ITYM "reading from b800:0000"; this is, after all, about DOS, so a segmented form of addressing is more appropriately crazy.
19:37:10 <ehird> Hmm, I wonder if you can get QBasic to "print" out its manual. To a PDF.
19:37:36 <ais523> DOS addresses are so weird
19:37:45 <AnMaster> Deewiant, just doing code coverage analysis is interesting. With mycology + custom test cases I aim to manage 100% coverage* in the core of cfunge. Fingerprints too in the long run, but core first.
19:37:47 <ehird> also, can you actuallty type b800:0000 in a DOS C file?
19:37:59 <ais523> it's 0xb8000000
19:38:05 <pikhq> Right, right; definitely b800.
19:38:11 <ais523> although you generally have to cast it to a long pointer
19:38:15 <pikhq> ehird: No, that's the assembly notation.
19:38:23 <ais523> (char far*)0xb8000000
19:38:25 <ehird> Ah.
19:38:31 <AnMaster> * 100% as defined by gcov and excluding any "fputs("The impossible happened. Internal error.\n", stderr); abort();"
19:38:37 <ais523> far isn't part of standard C, but is defined in any good DOS header file
19:38:41 <ais523> it works much the same way as const
19:38:42 <Deewiant> (char huge*)0xb800000
19:38:52 <pikhq> ais523: More useful to be (short far*)0xb8000000, I'm pretty sure.
19:39:01 <ais523> pikhq: short's only 16 bits
19:39:15 <pikhq> Yeah.
19:39:25 <AnMaster> Hm. What was the point of special "far pointers"?
19:39:31 <Deewiant> (void huge*) is somewhat amusing IMO
19:39:34 <fizzie> It's also funny that in a that sort of system, 0xb8000010 and 0xb8010000 point to the same place but aren't the same pointer.
19:39:37 <AnMaster> And why are they not used any longer in modern code.
19:39:52 <Deewiant> AnMaster: http://en.wikipedia.org/wiki/Far_pointer
19:39:59 <pikhq> AnMaster: A far pointer was a pointer outside of your current segment.
19:40:12 <AnMaster> ah right. Flat address space :)
19:40:14 <ais523> AnMaster: because having two lengths of pointers was common in DOS
19:40:14 <pikhq> They're not used because nobody, and I mean *nobody* uses segmented addresses.
19:40:29 <ais523> even with segmented addresses, they wouldn't be used nowadays because computers have lots of memory
19:40:35 <ais523> and so making all pointers far would work fine
19:41:22 <AnMaster> what about speed? I guess you could fit more non-far pointers in cache than far pointers?
19:41:34 <pikhq> It'd be very slightly inefficient making all pointers far.
19:41:50 <pikhq> You'd end up writing to cs every time you did a jump. ;)
19:41:55 <AnMaster> how large are far/non-far pointers on x86?
19:42:11 <ais523> AnMaster: far is 32 bits, near is 16 bits
19:42:14 <pikhq> Depends on your current execution mode.
19:42:20 <ais523> in real mode, at least
19:42:35 <ais523> which used to be the only one available, but nothing but bootloaders use it nowadays
19:42:59 <AnMaster> hm.
19:43:02 <ehird> Erm, how do you terminate a QBASIC program?
19:43:11 <pikhq> For protected 32-bit mode, double that...
19:43:24 <Azstal> ehird: Ctrl+Break
19:43:27 <pikhq> And for long mode, near is 64 bits and far doesn't exist.
19:43:36 <ehird> Where is break on the keyboard again? So I know what it's mapped to :P
19:43:37 <ais523> ehird: run off the end of the program
19:43:41 <ehird> ais523: no, while it's running
19:43:42 <Azstal> Pause
19:43:43 <ais523> oh, break's normally control-pause
19:43:51 <ehird> ... and pause is where? :P
19:43:56 <ehird> I pressed F16 and that paused the program
19:43:58 <Azstal> right of scroll lock :)
19:44:03 <ais523> near scroll-lock and sysrq, normally
19:44:06 <pikhq> ... F16?!?
19:44:06 <ehird> You guys hate me. :)
19:44:13 <ehird> pikhq: Apple keyboard.
19:44:14 <AnMaster> pikhq, well amd64 has several addressing modes in fact.
19:44:20 <AnMaster> though not near/far
19:44:26 <pikhq> AnMaster: Segmented is not one of them.
19:44:30 <ais523> AnMaster: there was huge as well as near and far
19:44:33 <ehird> pikhq: See http://www.purelygadgets.co.uk/images/user/products/Apple-keyboard.jpg
19:44:33 <fizzie> Wouldn't protected-mode far pointers (not that I've seen any) be 48-bit instead of 64-bit? I mean, there's the 16-bit selector and 32-bit address.
19:44:36 <ais523> huge is like far, but wraps properly
19:44:45 <pikhq> fizzie: 32-bit selector.
19:44:52 <ais523> e.g. with huge pointers, 0x3000ffff + 1 is 0x40000000
19:45:10 <Deewiant> ehird: No Num Lock?
19:45:11 <fizzie> Are you sure the selector has 32 bits? I mean, physically speaking. I'm sure it could have in a pointer.
19:45:18 <ehird> Deewiant: None. The numpad always numbers.
19:45:26 <ehird> Number is a verb, naturally.
19:45:27 <pikhq> The selector is a pointer to the start of the segment.
19:45:32 <AnMaster> pikhq, true. But then there are other things: RIP relative addressing, code model (small, medium, large and kernel)
19:45:40 <AnMaster> and various other things
19:45:57 <AnMaster> which IMO are about as strange.
19:46:14 <pikhq> AnMaster: Yeah, long mode is a bit strange.
19:46:20 <ehird> Erm, halp.
19:46:24 <ais523> ehird: looking at that keyboard, I'd say F16 is the pause/break key
19:46:29 <ehird> Right, f16 pauses
19:46:32 <ais523> as it's three keys to the right of f12
19:46:34 <AnMaster> pikhq, RIP relative *does* make sense though. Makes PIC code more efficient IIRC.
19:46:35 <Deewiant> But what is F13?
19:46:36 <ais523> what does control-f16 do?
19:46:36 <ehird> aha
19:46:38 <ehird> cmd-f16 pauses
19:46:42 <ais523> *f13
19:46:45 <ehird> Deewiant: It beeps. In my experience.
19:46:47 <ais523> and control not cmd
19:46:51 <Deewiant> ehird: How useful.
19:46:53 <lament> http://en.wikipedia.org/wiki/File:Sgapage.jpg
19:46:55 <ehird> F13 does nothing in boxr
19:46:57 <ehird> *boxer
19:47:10 <AnMaster> what is more interesting is that AMD64 actually has a 48 bit address space. Sign extended.
19:47:21 <ehird> Okay, I froze it.
19:47:26 <ehird> Now the program thing says "QBASIC PAUSE".
19:47:28 <AnMaster> with kernel living in the upper half, and user space in the lower.
19:47:37 <ais523> pressing any key other than pause normally restarts it
19:47:37 <AnMaster> so 48 bits, sign extended to 64 bits
19:47:44 <AnMaster> bbl
19:47:47 <ehird> Not this time, ais523, I think DOSBox is paused
19:47:53 <ais523> ah, ok
19:47:54 <pikhq> AnMaster: That's on current implementations.
19:48:25 * ehird reboots
19:49:38 <ehird> Strings can't be longer than 32767 chars.
19:49:56 <ehird> Arrays cannot be longer than 64KB
19:50:06 <ehird> Also, only 60 dimensions
19:50:14 <Azstal> I think even VB6 kept some of those restrictions
19:50:14 <ehird> Oh, and you can't address 64KB< only 32767
19:50:40 <ehird> Max path size 127 chars
19:52:20 <fizzie> Those aren't such terrible limits. In C99 you can only count on having 65535 bytes in an object, for example. Or 4095 characters in a string literal.
19:52:21 <pikhq> So, arrays can only be one segment, strings have a signed size_t, and the max path size is, as in DOS, 8-bit signed.
19:52:42 <fizzie> And 15 nesting levels of #include files, that's reasonably low too.
19:52:59 <fizzie> Not to mention the "127 arguments in a function call", that's a limit I hit all the time!
19:53:19 <pikhq> Thus, almost all of the limits of Qbasic are because it's a freaking 16-bit language.
19:53:46 <pikhq> (though why the size_t equivalent is *signed* is beyond me)
19:53:58 <ehird> For cyclexa
19:54:12 <pikhq> Ah, right.
19:54:25 <pikhq> Real mode = screwy.
19:54:39 <ais523> ehird: why did you just mention cyclexa?
19:54:43 <Azstal> Dim x(-10 to 10) as Integer
19:54:46 <ehird> ais523:
19:54:47 <ehird> 18:53 pikhq: (though why the size_t equivalent is *signed* is beyond me)
19:54:48 <ais523> that seems quite a non-sequitur
19:54:53 <ehird> neg strings
19:55:00 <fizzie> Besides, if I'm reading this right, C99 might only allow 12-dimensional arrays; "12 pointer, array, and function declarators (in any combinations) modifying an arithmetic -- type in a declaration".
19:55:12 <ehird> holy shit, accessing the variable INKEY$ actually gives a prompt
19:55:13 <ehird> that's fucked
19:55:38 <ais523> seriously, yes
19:55:52 <ehird> well, not a prompt
19:55:57 <ehird> but it puts it into hello i am listening to you mode
19:55:58 <fizzie> The C99 limits list has a nice introduction: "The implementation shall be able to translate at least one program that contains at least one instance of every one of the following limits:"
19:56:03 <fizzie> That's one ugly program.
19:56:36 <pikhq> fizzie: I'm pretty sure those C99 limits are the minimums an implementation must support.
19:57:02 <pikhq> I suspect that most C implementations are limited by what the architecture they're on will allow.
19:57:25 <fizzie> Sure, but it's still an ugly program that contains one instance of all the limits.
19:57:45 <fizzie> It will have 63 levels of conditional inclusion, blocks nested 127 levels deep, 1023 members in a structure and so on. 4095-character lines. 127 arguments in one macro invocation.
19:57:54 <fizzie> I wonder if someone's written one for compliance testing.
19:57:55 <pikhq> That's fugly.
19:58:31 <pikhq> Hmm. Does it specify anything for Unicode literals?
19:58:40 <ais523> fizzie: someone must have done, surely
19:58:50 <ais523> there's probably a 127-argument macro in boost somewhere, come to think of it
19:59:35 <AnMaster> <pikhq> AnMaster: That's on current implementations. <-- yes
19:59:45 <ehird> 10PRINTINKEY$:GOTO10
19:59:57 <ehird> Aw, you need a space.
19:59:58 <ehird> PRINT INKEY$
20:00:15 <AnMaster> pikhq, mine even says: "address sizes : 40 bits physical, 48 bits virtual". Not sure what that means.
20:00:19 <ehird> Oh well, 10 PRINT INKEY$: GOTO 10
20:00:22 <AnMaster> from /proc/cpuinfo
20:00:26 <ehird> Hm, that hangs.
20:00:33 <ehird> Oh of course.
20:00:35 <ehird> Make that INKEY$;
20:00:40 <ehird> Now how do I terminate...
20:00:50 <ais523> AnMaster: nowadays pointers used in applications nearly never correspond to the actual memory address in the RAM
20:00:51 <AnMaster> pikhq, a server I sshed to has: "address sizes : 48 bits physical, 48 bits virtual" though
20:00:53 <pikhq> AnMaster: Allows for up to 40 bits worth of physical RAM, and 48 bits worth of stuff mmapped.
20:00:59 <AnMaster> ais523, of course.
20:01:07 <AnMaster> ais523, I know what paged memory is...
20:01:08 <pikhq> ais523: That's because of paging, of course.
20:01:19 <ais523> AnMaster: so the pointer width of the RAM and the pointer width in executables need not be the same
20:01:32 <ehird> Agh.
20:01:35 <ehird> Must figure out how to terminate.
20:01:36 <pikhq> ais523: Except that the architecture itself demands it. ;)
20:01:54 <ais523> pikhq: well, the architecture demands 64 bits
20:02:04 <ais523> but the RAM is incapable of paying attention to all 64 bits
20:02:08 <AnMaster> ais523, well duh. And then there is 32-bit mode under 64-bit too.
20:02:12 <fizzie> Oo, this Xeon box says: address sizes : 36 bits physical, 48 bits virtual -- tiny tiny 36-bit thing.
20:02:14 <ais523> generally speaking, it'll pay attention to the top 1 bit, and the bottom n
20:02:15 <AnMaster> which is yet another thing
20:03:08 <pikhq> fizzie: Early Intel Xeons are the only ones restricted like that.
20:03:15 -!- oklofok has quit (Read error: 110 (Connection timed out)).
20:04:19 <AnMaster> hm My mobo only supports 8 GB RAM though according to the manual. So I guess the "40 bits" is in the CPU, since the mobo limit is even lower.
20:04:25 <ehird> Greh, I can't get this to terminate.
20:04:37 <AnMaster> Btw, 8 GB ram on this would require 2 x 4 GB RAM sticks
20:04:42 <AnMaster> since there are only two slots
20:04:42 <ehird> Agh, DOSBox paused.
20:04:45 <ehird> How do I undo that..
20:04:46 <pikhq> That's a function of the system bus, I'm pretty sure.
20:05:02 <pikhq> And/or the memory bus.
20:06:46 <ehird> Geee.
20:06:47 <ehird> er.
20:06:48 <ehird> Grrrrr.
20:11:35 <pikhq> You know, the news has become hard to tell apart from satire...
20:11:48 <ehird> " 'This example requires a color graphics adapter. "
20:11:51 <ehird> Duuuude, I can't afford that.
20:11:52 <ehird> :(
20:12:13 <pikhq> Recently, a court ruled that the statement in a libel case being *true* is not a defense.
20:12:21 <ehird> hahahaa
20:12:30 <ehird> USA, I assum
20:12:30 <ehird> e
20:12:34 <pikhq> Yeah.
20:12:42 <pikhq> What other country would be *that* insane?
20:12:43 <lament> pikhq: lol?
20:12:50 <lament> what's a valid defense then?
20:13:01 <pikhq> The statement not being malicious.
20:13:04 <pikhq> That's *it*.
20:13:11 <ais523> ehird: it's hard to find a CGA graphics card nowadays...
20:13:17 <ais523> I wonder if modern cards can emulate it?
20:13:34 <ehird> Whoa. I just drew a fuckin' CGA triangle.
20:13:36 <ehird> Hardcore shit.
20:14:02 <ais523> drawing filled triangles was actually hardware-accelerated on the BBC Basic
20:14:09 <ehird> SCREEN 1
20:14:15 <pikhq> ais523: VGA is a superset of CGA.
20:14:17 <ehird> DRAW "C2F60L120E60BD30P1,2C3"
20:14:20 <ehird> FUCK YEAH
20:14:24 <fizzie> ais523: How many million triangles it could fill in a second?
20:14:34 <ais523> fizzie: probably about 0.00001
20:14:45 <ais523> just because it was accelerated didn't mean it was fast
20:14:48 <ehird> hmm
20:14:53 <ais523> you could see the triangle fill if you watched really closely
20:14:56 <ehird> so, if you made most of your graphics as compositions of triangles
20:15:01 <ehird> your game would be faster? :D
20:15:03 <ais523> but it was a lot faster than doing it any other way
20:15:15 <ais523> ehird: yep, traditionally quadrilaterals were filled by filling two triangles
20:15:41 <fizzie> That's surprisingly modern, given that triangles is what they draw nowadays too.
20:16:15 <ehird> Today on synchronicity, a friend just told me he's watching look around you because apparently it's good.
20:16:38 <ehird> Now more QBasic.
20:17:02 <ehird> Omg.
20:17:05 <ehird> Look up the command "WAIT".
20:17:06 <ehird> It's select()!
20:17:50 <ais523> what does QBasic get its multiple input sources from?
20:17:54 <ehird> Ports
20:19:28 <fizzie> If you don't use the HGA monochrome modes, you can use the 0xb0000-0xb7fff address range (in-between VGA's 0xa0000-0xaffff and the cga-compatible/color text mode 0xb8000-0xbffff) to other uses; for example with emm386.exe specifier like I=B000-B7FF.
20:19:58 <ehird> PLAY "L64ABCDEFGFEDCBA" ;BLEEPYEAOW
20:20:02 <ehird> err
20:20:04 <ehird> PLAY "L64ABCDEFGFEDCBA" 'BLEEPYEAOW
20:21:38 <ehird> Huh, ? expands to PRINT>
20:25:07 <fizzie> I do have the quickbasic 4.5 compiler somewhere too, but that's not a legal thing to share. I'm pretty sure I don't even have it legalley.
20:25:45 <ehird> a song:
20:25:48 <ehird> N = 64
20:26:02 <ehird> DO: PLAY "L"+STR$(N)+"ABCDEFGFEDCBA": N=N-1: LOOP WHILE INKEY$=""
20:28:53 <ehird> What the fuck
20:28:57 <ehird> you can get qbasic to CHECK TYPES
20:31:03 <ehird> I am playing DONKEY.BAS.
20:31:07 <ehird> I like the sfx.
20:32:29 <fizzie> I just received an email. There's a single part made out of ascii text, but it was sent with Content-Type "application/x-" so my mail client was a bit confused about it.
20:32:48 <ehird> Huh, ais523?
20:32:58 <ehird> It works if you comment out the DEF SEG : POKE 106,0 line
20:33:23 <ais523> fizzie: that's a great content-type
20:35:08 * ehird cheats DONKEY.BAS
20:35:14 <ehird> by making the donkey always go in the second lane
20:35:20 <ehird> also, I think this actually checked collisions by if the pixels hit
20:35:23 <ehird> instead of keeping track...
20:36:09 -!- comex has changed nick to judicaster.
20:36:30 <fizzie> It's funny how the qbasic help file has code examples with inline asm: http://zem.fi/~fis/code.txt
20:36:47 <ehird> Hey, you have a text copy? Gimme, I can't stand this interactive one :P
20:36:49 <ehird> also, that's awesome
20:36:53 <ehird> so, so awesome
20:37:05 <ais523> fizzie: I thought it was inline machine code
20:37:15 <fizzie> Okay, the inline asm is just a comment.
20:38:55 * ehird invents DONKEY.BAS variant:
20:38:58 <ehird> Invisible Donkey.BAS
20:39:00 <ehird> The donkeys are invisible.
20:39:12 <fizzie> And, well, I decoded the hlp file with HELPMAKE, but the end result still has quite a lot of markup left: http://zem.fi/~fis/qh3.txt
20:39:31 <fizzie> That one was converted through iconv -f cp437 -t utf-8, so the line-drawing characters are partially correct.
20:39:42 <ehird> fizzie: It's not the F1 so it works for me!
20:41:00 <ehird> How to have INVISIBLE DONKEY.BAS:
20:41:04 <ehird> Comment out line 81
20:41:08 <fizzie> All links seem to be formatted with ^Qfoo^P, and then there are .commands and :commands on a few lines, but other than that it's quite plaintext. The non-plaintext decoding output was all: \i^Q\a\pContents\v@L8002\v\i^P\p \i^Q\a\pIndex\v@L80b6\v\i^P\p \i^Q\a\pBack\v!B\v\i^P\p
20:42:06 <fizzie> On the other hand, in that format you could then search for "context @L80b6" to find the linked-to thing. It's a tradeoff.
20:42:34 <fizzie> Maybe I should write a Perl script to convert that to HTML.
20:42:44 <ehird> That would be fairly easy
20:42:49 <ehird> If you don't do it i will :P
20:42:50 <fizzie> It doesn't seem to be an especially difficult format after that helpmake.
20:43:28 <fizzie> Maybe I'll do it.
20:44:41 <fizzie> But you might have to wait some hours; I'm the slow.
20:46:41 -!- kar8nga has joined.
20:49:56 <ehird> Hmm, you can't SLEEP for less than a second without PLAY, I think.
20:49:56 <ehird> brb->
20:50:08 <ehird> Oh, TIMER
20:52:55 <ais523> ehird: you can do it by polling timer in a loop, I always used to
20:52:57 <ais523> but that's a busywait
20:53:05 -!- jix_ has quit ("...").
20:53:10 <ais523> also, note that a SLEEP ends if someone presses any key, including shift or control
20:59:32 <Judofyr> any smart guys here knows anything about A* and UCS?
20:59:47 <ais523> Judofyr: A* as in the search algorithm?
20:59:51 <Judofyr> yep
21:00:10 <ais523> I've used it before, sort of
21:00:13 <ais523> but am not an expert on it
21:00:18 <Deewiant> I've even coded it
21:00:19 <ais523> and I don't know of UCS
21:00:21 <Deewiant> Though poorly
21:00:32 <Deewiant> UCS is the Universal Character Set
21:00:59 <ais523> oh, as in UCS-2
21:01:05 <Judofyr> Uniform-cost search :-)
21:01:09 <Deewiant> D'oh
21:01:18 <Judofyr> I guess it's a stupid question, but will A* and UCS always return the same shortest path?
21:01:38 <Judofyr> (when you trace the route back again)
21:01:40 <Deewiant> Probably not
21:02:12 <Deewiant> If there's more than one shortest path, the chosen one depends on the heuristic you use
21:02:43 -!- ais523 has changed nick to CallForJudgement.
21:02:52 <Judofyr> but if there's only one, both of them will find it?
21:02:59 <Judofyr> but A* will probably find it faster?
21:03:01 <Deewiant> Sure
21:03:06 <Deewiant> Well, depends on your heuristic again :-P
21:03:11 <Judofyr> yeah
21:03:17 <Judofyr> I've just followed a crappy assignment one of my friend got
21:03:56 <Judofyr> so I'm not very steady on this :P
21:04:13 <Judofyr> but it's quite fun
21:04:18 <Judofyr> doing it in Scheme :O
21:21:40 <fizzie> ehird: I did at least most of the conversion: http://zem.fi/~fis/qb.html
21:22:03 <fizzie> Hm, there's an unterminated <em> somewhere, I think.
21:22:09 <fizzie> Don't look at it yet. :p
21:24:07 <judicaster> http://www.haskell.org/pipermail/haskell-cafe/2009-March/057590.html
21:24:19 <judicaster> This is my first public release of open source software. I have been working on this project since 2003.
21:24:25 <judicaster> "
21:24:36 <fizzie> Yes. It's because the source file interleaves things. A pure translation would look like <em>foo<a ...>bar</em>baz</a>. It's horrid.
21:24:59 <judicaster> % wc -l `find` 2>&1 | grep total
21:25:01 <judicaster> 4496 total
21:25:05 <judicaster> since 2003? really?
21:27:50 * Sgeo imagines it might have been on and off, like PSOX but worse
21:28:16 * Sgeo likes randomly mentioning PSOX.
21:32:08 <ehird> hi Judofyr
21:32:09 <ehird> err
21:32:11 <ehird> judicaster:
21:32:13 <ehird> you new? :)
21:32:22 <Judofyr> hi ehird :-)
21:32:26 <ehird> :)
21:32:33 <Judofyr> how's it going?
21:32:46 <CallForJudgement> ehird: are you new here?
21:33:03 <ehird> 20:04 Judofyr: doing it in Scheme :O <-- nice
21:33:07 <ehird> CallForJudgement: erm, no :P
21:33:17 <Judofyr> CallForJudgement: are you new here?
21:33:35 <ehird> fizzie: that thing doesn't link function names etc :(
21:33:38 <CallForJudgement> Judofyr: I'm older than judicaster, anyway
21:33:38 <judicaster> Judofyr: are you new here?
21:33:49 <ehird> oh, judicaster is comex.
21:33:52 <Judofyr> I've actually bough SICP and The Little Schemer :D
21:33:57 <CallForJudgement> also, I haven't seen estoppel around here recently
21:33:58 <ehird> the little schemer is great
21:34:19 <Judofyr> judicaster: just idling for some months...
21:36:10 <fizzie> ehird: I told you not to look, didn't I.
21:36:17 <ehird> fizzie: sry :<
21:36:21 <ehird> so anyway, Hoefler Text is awesome, did I mention that?
21:36:59 <ehird> also
21:37:03 <ehird> wtf on a pogo stick
21:37:05 <ehird> mactex
21:37:06 <ehird> is
21:37:07 <ehird> 1.2GB
21:37:11 <ehird> and that's ZIPPED
21:37:15 <ehird> the zipped installer
21:37:28 <ehird> I DON'T KNOW IF YOU NOTICED BUT I DO NOT THINK THAT REQUIRES 1.2GB
21:38:00 <pikhq> What the fuck?
21:38:16 <fizzie> Okay, now the "unterminated <em>" problem is fixed in that qb.html.
21:38:23 <ehird> pikhq: Yeah, totally
21:38:42 <fizzie> What else did you want? Does the original thing hyperlink function names, or was there just "look up function name under cursor" thing?
21:38:49 <pikhq> For some inexplicable reason, MacTeX includes a number of GUI applications in addition to TeX Live.
21:38:54 <pikhq> And Ghostscript...
21:39:07 <ehird> fizzie: It was just the latter, but grepping for functions/commands and linking each occurance can't be hard
21:39:08 <AnMaster> Deewiant, there?
21:39:19 <ehird> pikhq: But 1.2GB?
21:39:21 <fizzie> If I can find a sensible table of the names in there.
21:39:26 <ehird> My grandmother isn't 1.2GB.
21:39:27 <ehird> Er.
21:39:43 <pikhq> ... Didn't OS X include Ghostscript as part of its CUPS implementation, anyways?
21:39:48 <Deewiant> AnMaster: aye
21:39:48 <ehird> fizzie: <h1>FOO Statement/Function</h1>
21:39:49 <AnMaster> Deewiant, one thing you actually may want to test is UDP (SOCK_DGRAM) in SOCK. It seems like something that would actually be fairly important.
21:40:03 <ehird> also FOO, BAR Statements/Functions
21:40:03 <Deewiant> Not really IMO.
21:40:14 <ehird> then just link all UPPER CASE OCCURENCES
21:40:18 <Deewiant> I mean, unless you're writing your own stack, there's not much to deal with.
21:40:25 <Deewiant> Since it's all just frontends to other functions basically
21:40:43 <AnMaster> Deewiant, well it works differently than TCP. For example accept() doesn't make sense. And so on.
21:40:45 <fizzie> Yes, I'll do something like that. Except that I have to do two passes then, now it's output-as-it-comes-in.
21:41:07 <ehird> Just make two scripts
21:41:07 <ehird> :P
21:41:10 <Deewiant> AnMaster: But is there any code overhead in dealing with UDP specially?
21:41:28 <Deewiant> I mean, there might be, I don't know jack about network programming
21:42:32 <AnMaster> Deewiant, a bit iirc, but since SOCK is defined to support it... I see I treat it specially in S but don't see any other special casing for it.
21:43:17 <Deewiant> My point is that unless it requires special code paths in the implementation it's probably not worth testing, especially since SOCK has a billion options to look for
21:43:28 <Deewiant> AnMaster: Hell, I even say at the beginning of SOCK that I'm only testing one thing...
21:44:02 <AnMaster> Deewiant, heh
21:44:09 <fizzie> It's not so completely trivial, there's things like "RANDOMIZE Statement, RND Function". On the other hand, the function index has better-looking links.
21:44:47 <fizzie> I'm not going to distinguish between "KEY (Assignment) Statement" and "KEY (Event Trapping) Statement", though.
21:44:52 <ehird> Guys, do you want to be in:
21:45:07 <ehird> Anivers, Diavlo, Fertigo Pro, Fontin, Fontin Sans, Tallys, or Hoefler Text
21:45:10 <ehird> (In my IRC client.)
21:45:18 <AnMaster> Deewiant, I just looked at my STRN. Wonder why G checks the funge space bounds rect....
21:45:18 <ehird> Pick one and only one. :P
21:46:17 <Azstal> AnMaster: because otherwise it can infinite loop
21:46:27 <ehird> Hi, you're all in Fontin Sans 14pt.
21:46:38 <AnMaster> Azstal, I don't see any wrapping code there though... *looks again*
21:47:15 <AnMaster> oh wait right. if the entire line is all spaces
21:47:39 <ehird> http://imgur.com/6CED2.png
21:48:15 <Azstal> I think it's actually valid behaviour to infinitely loop in that case, but mycology kind of depends on it not doing that.
21:48:22 <AnMaster> Azstal, it could still happen. just write something to xmax,ymax, and to xmin,ymin. So bounds are entire funge space.
21:48:40 <AnMaster> Azstal, well report it as a mycology bug to Deewiant
21:49:03 <ehird> Via email!
21:49:06 <Deewiant> I know, I know, it's on my todo list to remove it
21:49:10 <ehird> (Deewiant: DON'T LISTEN)
21:49:19 <ehird> (WE ARE DISCUSSING PRIVATE MATTERS)
21:49:19 <Deewiant> It's one of those mycology_opinionated.b98 things
21:49:40 <AnMaster> ehird, why do you have a bar code in the scrollbar...
21:49:52 <ehird> AnMaster: Times when I have been highlighted.
21:49:58 <AnMaster> ah
21:50:05 <AnMaster> nice feature
21:50:27 <Judofyr> ehird: nice. could you send me the theme?
21:50:35 <ehird> Judofyr: http://julianstahnke.com/read/a_theme_for_limechat_colloquial/
21:50:37 <ehird> Tada :-)
21:50:56 <ehird> Hmm, :-) doesn't look too hot in Fontin Sans.
21:51:22 <ehird> Judofyr: (BTW, I removed the bottom log by resizing it small ;))
21:51:33 <AnMaster> Why to not use variable width on IRC: /msg nickserv help
21:51:43 <Judofyr> ehird: yeah, but you are just in #esoteric :P
21:51:44 <AnMaster> see the nice aligned table?
21:51:51 <ehird> Judofyr: tru :P
21:51:53 <AnMaster> if yes: congrats on using monospace
21:51:55 <AnMaster> ehird, ^
21:52:03 <ehird> AnMaster: Yes, because I bring up that help screen daily and its nice alignment is vital—above everything else.
21:52:13 <Judofyr> brb
21:52:14 -!- Judofyr has quit ("raise Hand, 'wave'").
21:52:16 <ehird> Despite being readable even when not aligned.
21:52:28 -!- Judofyr has joined.
21:52:48 <ehird> AnMaster: http://imgur.com/6CGOE.png
21:52:50 <ehird> Looks fine to me.
21:53:32 <ehird> wow, OS X has wikipedia built in
21:53:41 <AnMaster> ehird, it looks way better aligned: http://paste.lisp.org/display/76982
21:53:42 <ehird> I'm not exaggerating in any way at all
21:53:49 <ehird> AnMaster: I don't really care...
21:53:55 <AnMaster> k
21:54:05 <ehird> (Open Dictionary, click "Wikipedia", enter search term. Voila.)
21:54:08 <ehird> It even handles the infoboxes
21:54:18 <ehird> ... and user pages
21:56:31 <fizzie> ehird: Now it generates hyperlinks. It's still not perfect (FOR...NEXT and things like that is not handled) but it's closer, anyway.
21:56:38 <ehird> Woo!
21:57:00 <ehird> erm
21:57:00 <ehird> fizzie:
21:57:02 <ehird> it's repeated
21:57:04 <ehird> first without monospace
21:57:05 <ehird> then with
21:57:19 <fizzie> I don't see that.
21:57:29 <ehird> <a name="QEw4MTZk"></a>
21:57:29 <ehird> <h1>Type more than 65535 bytes</h1>
21:57:31 <ehird> <p>
21:57:33 <ehird> A user-defined data type cannot exceed 64K.
21:57:35 <ehird> </p>
21:57:37 <ehird> <html>
21:57:39 <ehird> <head>
21:57:41 <ehird> <title>qbasic help</title>
21:57:43 <ehird> <style type="text/css">
21:57:45 <ehird> p { font-family: monospace; white-space: pre; }
21:57:47 <ehird> a.extra { text-decoration: none; }
21:57:49 <ehird> a.extra:hover { text-decoration: underline; }
21:57:51 <ehird> </style>
21:57:53 <ehird> I do.
21:58:13 <fizzie> Hmm.
21:58:14 <fizzie> Oh.
21:58:17 <fizzie> Right, whoops.
21:58:39 <fizzie> There, now it's better.
21:58:56 <fizzie> I had my extra-linkifying loop print it out instead of modifying the @array, so there were two copies.
21:59:01 <ehird> Programming task Keywords included in this list
21:59:01 <ehird> ═════════════════════════════════ ═══════════════════════════════════════
21:59:05 <ehird> is that space a bug?
21:59:13 <ehird> BASICA Statement QBasic Equivalent
21:59:13 <ehird> ══════════════════ ═══════════════════════════════
21:59:16 <ehird> ah
21:59:18 <ehird> just misaligned
21:59:22 <ehird> maybe you should replace ═ with =
21:59:26 <ehird> and ─ with -
21:59:40 <AnMaster> Deewiant, possible mycology bug in TIME: It doesn't seem to check day of year with anything but local time. That could differ between local and utc output.
21:59:44 <ehird> BTW, GET and PUT aren't linked fizzie
21:59:57 <AnMaster> Also I may be reading the branch profiling info wrong. But this *does* seem to be the case.
22:00:16 <fizzie> Er, it aligns just fine, otherwise that QBasic Equivalent "underline" wouldn't start at the right spot.
22:00:24 <Deewiant> AnMaster: Not really a bug.
22:00:31 <Deewiant> I mean, it doesn't check it in any case.
22:00:33 <ehird> fizzie: It does not for me.
22:00:34 <Deewiant> It just outputs it.
22:00:49 <fizzie> Oh. Well, then your "monospace" font isn't very monospace.
22:00:57 <ehird> No unicode monospace font is.
22:00:58 <fizzie> It aligns just fine in your IRC-paste too. :p
22:01:02 <ehird> I know this because I wanted one once.
22:01:12 <AnMaster> Deewiant, well right. But the output will be wrong when UTC and local time are on different dates
22:01:16 <ehird> TBH,
22:01:38 <fizzie> Anyway, GET and PUT aren't linked because they're in the index twice, "GET (File I/O) Statement" and "GET (Graphics) Statement" and I can't know which one to link.
22:01:39 <Deewiant> AnMaster: true true
22:01:57 <ehird> fizzie: you could output a disambig
22:02:03 <ehird> i.e., you click it and get to a "DID YOU MEAN..."
22:02:09 <fizzie> Yes, right, sure.
22:02:11 <fizzie> You can do that. :p
22:02:20 <ehird> Sure, gimme the source code & source file :P
22:02:23 <Judofyr> ehird: meh, I prefer the "Spring Night" theme...
22:02:49 <ehird> Judofyr: but black windows are ugly in OS X (due to window borders) :P
22:03:00 <fizzie> ehird: http://zem.fi/~fis/convert.pl and source.txt. Going away for a while, have fun with it.
22:03:04 <ehird> Yay.
22:03:10 <ehird> Bye
22:03:59 <Judofyr> my Adium is black too...
22:05:13 <Deewiant> Hmm, is there any particular reason why ELF files have read-only data sections? Why not have constants where the executable code is?
22:06:02 <Deewiant> Or, I guess executable formats in general
22:06:34 <fizzie> Not every architecture can really comfortably address that place, that might be one reason. The possibility for making data non-executable might be other.
22:06:45 <ehird> grr
22:06:48 <ehird> how do you tell perl a file is in utf-8?
22:06:51 <ehird> source file
22:07:03 <Deewiant> It just seems like it'd be a filesize optimization to leave out the extra headers
22:07:04 <fizzie> "use utf8;" or something like that.
22:07:31 <ehird> I wouldn't use it if I could figure out the codepoint of these chars :P
22:07:39 <Deewiant> I mean, I guess the compiler should be reasonably sure that the code it generated won't accidentally jump into the data parts :-P
22:08:09 <fizzie> Deewiant: You could just instruct your compiler to put all the constants in the .text section.
22:08:39 <fizzie> I mean, you don't actually have to have more than one section in an ELF file, I guess.
22:08:44 <ehird> # transform links... we shunt commands outside links for maximum sillitude...
22:08:46 <ehird> an impressive comment
22:09:00 <Deewiant> fizzie: Which is why I'm wondering why compilers make multiple sections at all
22:09:31 <fizzie> Deewiant: Because architectures have more than one kind of memory, and/or they want to set access flags separately for different stuff.
22:10:20 <Deewiant> fizzie: And my point is, the compiler knows the architecture, so it should know in the case of x86 that it doesn't matter, and it knows the code it generated so it can ignore access flags
22:10:21 <fizzie> I mean, take some Harvard architecture machine, it has completely separate code and data memories.
22:10:34 <fizzie> Well, *that* might be just historical inertia.
22:10:42 <Deewiant> But if you're compiling an x86 binary it won't run on a Harvard architecture machine. :-P
22:11:12 <Deewiant> One thing that came to mind is that due to linkers and no full-program analysis, I guess it actually doesn't know for sure what code is in the final program
22:11:23 <fizzie> If you're compiling C, you can't really be sure you won't jump into your read-only data at some point, and it might therefore be prudent to keep it non-executable.
22:11:24 <ehird> /NOHI] [[/<a class="extra" href="#QEw4MDk0">RUN</a>] sou
22:11:25 <Deewiant> Which is why it sets the sections to non-executable for safety
22:11:26 * ehird tries to fix
22:12:03 <CallForJudgement> it's certainly possible to compile C into Harvard architecture machines
22:12:12 <CallForJudgement> gcc-bf's Harvard architecture, for instance
22:12:24 <fizzie> Yes, I don't think anyone was questioning that.
22:13:26 <ehird> hmm
22:13:30 <ehird> how do you say not in perl regexps?
22:13:32 <ehird> (?!foo)?
22:13:58 <fizzie> That's a negative look-ahead thing, yes.
22:14:16 <CallForJudgement> ehird: let me find an example, you can do it Prolog-style
22:14:18 <ehird> Doesn't seem to work, unfortunately
22:14:26 <ehird> $line =~ s/\b(?!\/)([A-Z\$]+)/extralink($1)/ge
22:14:26 <ehird> unless $line =~ /<a/;
22:14:38 <AnMaster> <fizzie> I mean, you don't actually have to have more than one section in an ELF file, I guess. <-- Hm I think you will need more than one in fact..
22:14:38 <CallForJudgement> (*COMMIT)(*F)| at the end of the regex works
22:14:48 <AnMaster> yes
22:14:49 <CallForJudgement> it's like the prolog definition of not, almost exactly
22:14:51 <ehird> I'm basically trying to say "that, but not with a / in front"
22:14:52 <AnMaster> fizzie, at least 2
22:15:03 <AnMaster> since first section must be a NULL one
22:15:03 <CallForJudgement> ehird: oh, that's negative look/behind/ you need
22:15:10 <AnMaster> according to spec
22:15:11 <ehird> well, it's "not" to me :P
22:15:13 <ehird> "not a /"
22:15:19 <AnMaster> I guess NULL and .text might work
22:15:26 <CallForJudgement> ehird: there's more than one sort of not in a regex
22:15:32 <CallForJudgement> [^/]foo almost works
22:15:42 <CallForJudgement> that's "foo preceded by a character that is not a /"
22:15:55 <CallForJudgement> but that doesn't allow for a foo at the beginning of the string
22:16:16 <AnMaster> not sure though
22:16:23 <FireyFly> ^[^/]?foo
22:16:26 <FireyFly> Should work alright?
22:16:38 <ehird> hm, yes
22:16:42 <ehird> wait, no
22:16:44 <ehird> that allows for /
22:16:47 <ehird> I think
22:16:48 <ehird> hm, nope
22:16:57 <ehird> Well.
22:16:59 <ehird> That breaks things.
22:17:00 <fizzie> AnMaster: Are you sure? The canonical http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html has 1 in the shnum field.
22:17:02 <ehird> So I guess no,
22:17:19 <ehird> fizzie: that isn't a valid ELF file
22:17:22 <ehird> it relies on linux's handling
22:17:23 <ehird> as they said
22:17:44 <AnMaster> fizzie, I'm pretty sure. I remember reading some mail about it on the gnu binutils mailing list.
22:19:04 <AnMaster> fizzie, anyway without separate data section you need to allocate any read-write vars on stack or heap
22:19:22 <fizzie> Yes, I think Deewiant was just complaining about .rodata.
22:19:32 <fizzie> So what's that null section about, then? I mean, it's not anything objdump shows, no?
22:20:30 <fizzie> Apparently not, but readelf lists it. Anyway, why is it there?
22:21:40 <AnMaster> anyway .rodata is useful for NX
22:22:03 <Deewiant> AnMaster: I question how that is 'useful'
22:22:03 <AnMaster> fizzie, as for why: all I remember was that specs required it
22:22:23 <AnMaster> Deewiant, um? You suggest NX is useless?
22:22:27 <fizzie> ehird: Oh, and (fixed-width-only) negative lookbehind is (?<!...) so /\b(?<!\/).../ should do it.
22:22:34 <ehird> yay
22:22:42 <AnMaster> Deewiant, is that what you are saying?
22:22:51 <Deewiant> AnMaster: I think so, yes
22:23:01 <AnMaster> Deewiant, why do you think NX is useless?
22:23:06 <ehird> hmm
22:23:13 <ehird> I can't see where it finds duplicate entries and discards them, fizzie
22:23:25 <Deewiant> AnMaster: How is it useful for statically linked executables?
22:23:36 <ehird> Ooh, you don't link multi word names
22:23:37 <ehird> like DEF SEG
22:23:38 * ehird hacx
22:23:40 <fizzie> ehird: It doesn't.
22:23:52 <ehird> hmm, actually, solving this may be difficult
22:24:01 <fizzie> Yes, that's why I didn't do it. :p
22:24:02 <ehird> since it only works on one word
22:24:13 <ehird> I could make it generate a lookup tabl
22:24:13 <ehird> e
22:25:06 <fizzie> I guess you can match "all consecutive uppercase words" and hope it doesn't chomp too much, then maybe try the shorter combinations or something. It doesn't sound very pleasant, though.
22:25:08 -!- psygnisfive has quit (Remote closed the connection).
22:25:15 <AnMaster> Deewiant, NX in general is useful to limit damage of various exploits, like buffer overflows. Sure: it can only happen due to bugs in the code. But there will always be bugs. NX makes it program crash instead of allowing remote execution of arbitrary code.
22:25:23 <AnMaster> I fail to see how it is useless. For any binary.
22:25:29 <fizzie> Alternatively you could just generate the index and do a client-side scripting hack for the "find this keyword" thing.
22:25:37 <Deewiant> Yeah, exactly, it's a bug catcher.
22:26:17 <Deewiant> So it is, in and of itself, essentially useless; it has no additional value beyond counteracting stuff you've messed up elsewhere
22:26:30 <AnMaster> Deewiant, yes, but there will always be bugs. + Does a few wasted bytes help? If you really need those (embedded system or whatever): Use a custom linker script
22:26:42 <AnMaster> the linux kernel does that, for some variables that is needed early on boot iirc
22:26:59 <Deewiant> I'm just wondering
22:27:14 <fizzie> I do that, in my (Nintendo) DS compilation environment. :p
22:29:28 <AnMaster> Deewiant, Shouldn't you make memory page at 0 readable, writable and executable then? It would be useful. Having it non-accessible is just a bug catching thing
22:29:30 <AnMaster> :P
22:29:38 <fizzie> Given that the output file is a flat binary, it might not really count, since it's not like I can put things in multiple sections there.
22:30:34 <Deewiant> AnMaster: That's befunge for you
22:30:42 -!- judicaster has changed nick to jc.
22:31:00 <AnMaster> Deewiant, hah. Then use befunge. No sections at all!
22:32:11 <ehird> QBasic editor is annnoyyyying in one way
22:32:17 <ehird> if you make a subroutine the rest of the file disappears
22:32:49 <Deewiant> I'm somewhat disappointed at the move against self-modifying code
22:35:41 <ehird> QBASIC HAD OBJECT ORIENTATION WTF
22:35:51 <ehird> THAT'S JUST _WRONG_ GODDAMMIT
22:35:55 <ehird> CallForJudgement: Share in my WTF.
22:36:20 <CallForJudgement> heh, that's pretty WTFy
22:36:22 <CallForJudgement> but how?
22:36:39 <ehird> Erm, let me get this manual up somewhere
22:36:48 <ehird> Anyone know a pastebin that lets you paste one HTML page?
22:37:12 <AnMaster> Deewiant, it can be done still. On POSIX systems: mprotect()
22:37:25 <ehird> Hey AnMaster, you have a site right? Could you put up one tiny HTML page up for me?
22:37:36 <ehird> By tiny I mean 451K
22:37:39 <AnMaster> ehird, don't you have one?
22:37:43 <AnMaster> also that is rather large.
22:37:45 <ehird> Yes, but it doesn't run a webserver atm.
22:37:49 <ehird> Also, it's the QBasic manual as html.
22:38:03 <fizzie> You can just resend me your script.
22:38:07 <fizzie> I can stick it at the same location.
22:38:13 <ehird> That would also work.
22:38:14 <Deewiant> AnMaster: Yes, I know, but stuff like NX seems to discourage it.
22:38:32 <ehird> fizzie: http://pastie.org/415705.txt?key=ecliar25bphg5ibwtnc4g
22:39:03 <ehird> CallForJudgement: anyway, it's more C-like structs than OOP, but it LOOKS oop
22:39:07 <ehird> TYPE Card
22:39:07 <ehird> Suit AS STRING * 9
22:39:09 <ehird> Value AS INTEGER
22:39:11 <ehird> END TYPE
22:39:13 <ehird> DIM Deck(1 TO 52) AS Card
22:39:14 <AnMaster> Deewiant, well, I like NX. It is actually useful. Only JITs need to disable it really.
22:39:15 <ehird> Deck(1).Suit = "Club"
22:39:17 <ehird> Deck(1).Value = 2
22:39:19 <ehird> PRINT Deck(1).Suit, Deck(1).Value
22:39:21 <ehird> from the manual
22:39:40 <ehird> anyone doing the above IMHO just be shot and forced to remake it as an array of strings.
22:39:42 <ehird> :P
22:39:55 <fizzie> ehird: http://zem.fi/~fis/qb.html is now converted with your script.
22:40:01 <ehird> Huray
22:40:05 <AnMaster> I don't know about kernels, it is possible you might need something there.
22:40:14 <ehird> fizzie: Oh, wait, I have one more mod
22:40:15 <AnMaster> Deewiant, tell me any other non-esoteric example where you need to disable NX
22:40:26 <fizzie> Although I could've just used iconv -t ascii//translit to get +---+ line-drawing-art.
22:40:51 <Deewiant> AnMaster: Self-modifying code.
22:40:52 <ehird> fizzie: new line:
22:40:53 <ehird> s/[┌└┐┘╔╗╣║╚╝]/+/g;
22:41:14 <AnMaster> Deewiant, any non-esoteric examples of self modifying code? Apart from JITs that is.
22:42:11 <ehird> anyway
22:42:13 <ehird> CallForJudgement: http://zem.fi/~fis/qb.html#QEw4MDg3
22:42:29 <fizzie> Reconverted with that s/// line.
22:42:39 -!- Jophish has joined.
22:42:40 <CallForJudgement> ehird: where in it? that anchor isn't working
22:42:41 <AnMaster> Deewiant, and for library loading, your dynamic linker takes care of the correct write/mark no-write order.
22:42:44 <Deewiant> AnMaster: For instance, instead of having a boolean test in a loop (slowing the program down) or outside the loop (adding duplicate code since the loop has to be generated twice) you can set an instruction inside the loop
22:42:44 <CallForJudgement> hi Jophish
22:42:48 <ehird> CallForJudgement: Refresh if the anchor isn't working
22:42:52 <Deewiant> AnMaster: Essentially, optimization.
22:42:52 <ehird> and don't scroll
22:42:56 <ehird> until it jumps
22:43:03 <ehird> but, "TYPE Statement"
22:43:16 <Deewiant> AnMaster: Another case is to hide stuff, if you're not fully open about your code or data
22:43:27 <Deewiant> Debugger fighting and such.
22:43:34 <AnMaster> Deewiant, So you have too little memory to be able to be able to have two copies of the loop?
22:44:00 <Deewiant> AnMaster: Maybe I don't want to have pointless stuff in the CPU's pipeline or L1 cache.
22:44:03 <CallForJudgement> ehird: still didn't jump
22:44:10 <ehird> just grep for TYPE Statement
22:44:17 <AnMaster> as for debugger fighting, why on earth do you want to do that? I mean not even Microsoft does that. Heck. Microsoft even provide debugging symbols for all of windows...
22:44:20 <AnMaster> including the kernel
22:44:27 <fizzie> Strange, the anchor works for me.
22:44:32 <CallForJudgement> ehird: ah, got it
22:44:36 <CallForJudgement> and that isn't OO, that's just structs
22:44:42 <ehird> CallForJudgement: i know, but the example looks oop-y
22:44:47 <ehird> also, I have an idea of how to make it oop
22:44:48 <ehird> but it's evil
22:44:50 -!- neldoret1 has quit (No route to host).
22:45:35 <AnMaster> Deewiant, so, that doesn't make much sense either. But well ok, I guess writing in code to do that makes sense. But NX doesn't affect that. Since code is loaded read-only by default you need to call mprotect() *anyway*
22:46:04 <AnMaster> or whatever your platform use
22:46:09 <Deewiant> AnMaster: Debugger fighting is for code obfuscation; Microsoft doesn't care, they can just sue you if you reverse engineer
22:46:11 <AnMaster> windows has some other call I think
22:46:46 <Deewiant> Can't you make an ELF which has the executable code as RWE?
22:46:56 <AnMaster> Deewiant, don't know. It may be possible.
22:47:04 <fizzie> ehird: You can make it OOP by storing all your data in COMMON block, writing a separate .bas file for each method, storing the .bas file names into TYPE-defined struct fields, and using "CHAIN obj.func" to call. I'm not yet sure how you will return.
22:47:04 <Deewiant> I don't see why not
22:47:18 <ehird> fizzie: ahsdjhaskdhsjkfhkafjhgf jhasgfsdjfj sdfj WHHHHHHHHHHHHAAAAAAAAAAAAAAAATTTTTTTTTTTTTT
22:47:33 <ehird> fizzie: OR
22:47:35 <ehird> um
22:47:37 <ehird> ahahahah
22:47:54 -!- mad has joined.
22:47:55 <AnMaster> Deewiant, think it may be invalid.
22:48:00 <fizzie> Well, line numbers are a better solution, maybe.
22:48:17 <fizzie> Or would be if it wouldn't just be a GOTO <int-constant>.
22:48:35 <Deewiant> AnMaster: In any case you don't need mprotect since you can make a different RWE section and just jump to that at the start of execution in the RE
22:48:52 <AnMaster> Deewiant, Yep you can. Both with and without NX.
22:48:55 <AnMaster> Your point?
22:49:12 <Deewiant> My point is you don't need mprotect, which you said one does.
22:50:04 <ehird> Hmm.
22:50:16 <ehird> How do you switch DOS into the highest video mode?
22:50:20 <ehird> Presumably writing to some address.
22:50:25 <mad> vga or svga?
22:50:27 <AnMaster> Deewiant, well you need either mprotect() or change the section flags in the executable. Right
22:50:34 <CallForJudgement> SCREEN 12 is the traditional method in QBasic
22:50:48 <ehird> mad: SVGA, since it's higher resolution.
22:50:54 <AnMaster> Hm I wonder. Does WXSVGA exist?
22:50:54 <mad> hmm
22:51:01 <ehird> Also, hi mad. haven't seen you before.
22:51:07 <Deewiant> Mode 13h!
22:51:10 <mad> ehird: then the easiest method is a library
22:51:14 <AnMaster> ehird, duh. He joined half a screen back.
22:51:18 <ehird> AnMaster: o :P
22:51:23 <mad> yeah I'm new :D
22:51:34 <ehird> mad: ah, to hell with that, QBasic and libraries is like... like... like QBasic and libraries.
22:51:49 <CallForJudgement> mad: what brings you here?
22:51:52 <mad> in qbasic? heh
22:52:05 <ehird> mad: Yeah, I'm playing with dosbox
22:52:07 -!- Mony has quit (Nick collision from services.).
22:52:10 <CallForJudgement> Sb
22:52:12 <AnMaster> mad, we usually don't do DOS stuff. We do things in Brainf*ck, Befunge, INTERCAL and such usually.
22:52:22 <AnMaster> just so you don't get the wrong impression.
22:52:24 <mad> yeah I know
22:52:29 -!- M0ny has joined.
22:52:42 <ehird> AnMaster: I think that's blatantly obvious.
22:52:43 <mad> I did a couple attempts at esoteric languages
22:52:49 <ehird> Also, we're more offtopic than on...
22:52:53 <AnMaster> ehird, well not from topic, Not from the convo right no
22:52:56 <AnMaster> now*
22:53:03 <ehird> Yes, but, the name is #esoteric, see. :P
22:53:05 <mad> but yeah with qbasic your best luck is probably 640x480
22:53:09 <ehird> Mm
22:53:19 <CallForJudgement> actually, we spend most of our time offtopic
22:53:20 <AnMaster> ehird, well, what about those persons wondering about new age stuff or whatever it is
22:53:23 <CallForJudgement> but ontopic is better IMO
22:53:25 <mad> Maybe you can hack it a bit to get it to 720x512 but probably not much more :D
22:53:29 <AnMaster> because they misunderstood what type of esoteric
22:53:33 <fizzie> There's a .bas file for doing svga graphics, though.
22:53:35 <ehird> CallForJudgement: that's what I said
22:53:37 <ehird> more offtopic than on
22:53:41 <ehird> AnMaster: he said programming, so. :P
22:53:46 <AnMaster> well right
22:53:51 <CallForJudgement> actually, most of the time is taken up with ehird and AnMaster arguing
22:53:55 <ehird> Heh.
22:53:58 <AnMaster> hah
22:54:06 <ehird> ■ activepage% The screen page that text or graphics output writes to.
22:54:06 <ehird> ■ visualpage% The screen page that is currently displayed on your
22:54:07 <ehird> screen.
22:54:11 <ehird> Fun fun.
22:54:20 <CallForJudgement> you can have great fun double-buffering with those
22:54:25 <CallForJudgement> but most of the good video modes don't support it
22:54:27 <AnMaster> fizzie, didn't your stats show ehird was the most active one?
22:54:31 <AnMaster> and was I number two or?
22:54:43 <CallForJudgement> if you remove arguments between you too, though, you're about #102 and #105
22:54:48 <CallForJudgement> *you two
22:54:50 <fizzie> AnMaster: Right.
22:54:54 <AnMaster> mhm
22:55:02 <fizzie> Or maybe the SVGA library was for quickbasic 4.5 only. Hmm.
22:55:04 <ehird> CallForJudgement: Actually, it's mostly my pastes and multiline stuff that make me high
22:55:06 <mad> yeah a lot of those modes are kinda blah
22:55:08 <ehird> Err, higher. Not, you know, high.
22:55:13 <ehird> Because, drugs are bad, mmkay.
22:55:40 <mad> cga? more like suck g a :D
22:56:12 <fizzie> ehird: Here's a SVGA tutorial for you, treating QBasic in addition to QuickBasic: http://www.petesqbsite.com/sections/tutorials/zines/qbtm/1-svga.html
22:56:26 <ehird> I'm going for vga for simplicity
22:56:31 <fizzie> I would, too.
22:56:34 <AnMaster> heh WQUXGA
22:56:39 <AnMaster> that exists it seems
22:56:50 <AnMaster> "Wide Quad Ultra Extended Graphics Array"
22:56:53 <ehird> WQXGA is often found in 30" displays like the Dell 3008WFP and the Apple Cinema Display.
22:56:54 <fizzie> But I distinctly remember seeing a rather featureful svga library for either qbasic or quickbasic.
22:56:56 <AnMaster> http://en.wikipedia.org/wiki/QXGA#WQUXGA
22:56:58 <ehird> that's just 2560x1600
22:57:01 <ehird> not insanely large
22:57:07 <AnMaster> ehird, WQXGA != WQUXGA
22:57:11 <ehird> o
22:57:12 <ehird> ha
22:57:24 <mad> svga is doable in djgpp
22:57:35 <AnMaster> WQUXGA: 3840 x 2400
22:57:35 <ehird> Yikes, colour attributes are scary
22:57:38 <mad> and doable as in practical
22:57:43 <AnMaster> and is 16:10
22:57:50 <mad> color attributes?
22:57:52 <ehird> also it's really irritating that QBASIC reformats your code to be less ugly.
22:57:55 -!- Hiato has quit (Connection timed out).
22:57:56 <ehird> mad: http://zem.fi/~fis/qb.html#QEw4MDUw
22:58:20 <mad> there's a trick for that
22:58:34 <mad> you can just overwrite the palette
22:58:55 <ehird> cute
22:59:17 <ehird> hmm
22:59:20 <ehird> mode 13 seems the best
22:59:21 <fizzie> What's the fun is that in addition to NOT, AND, OR, XOR QBasic also has the EQV and IMP (equivalence, implication) bitwise ops.
22:59:24 <ehird> since you get 256 colours
22:59:33 <mad> yeah mode 13 is the best for games
22:59:35 <ehird> although the res is tiny on this screen ofc
22:59:50 <fizzie> Admittedly "a EQV b" is just "NOT (a XOR b)" and so on, but it's there.
23:00:15 <mad> though with some palette editing you can make 16 color modes look good, which is nice
23:00:25 <ehird> mad: you still only get 16 cols :-)
23:00:40 <mad> well, yeah :D
23:00:54 <mad> but some games do well with that
23:01:11 <mad> duke nukem 2, metal gear 2, hmm
23:01:11 <fizzie> On Real Computers, you could just do palette reprogramming during the hblank period and get 16 different colors for each line.
23:01:31 <mad> fizzie: except the ibm PC isn't a real computer :D
23:01:42 <fizzie> Right, it's a business machine.
23:02:05 <mad> PCs aren't for doing hdma tricks
23:02:11 <mad> that's what amigas are for
23:03:28 <ehird> PLAY "T255P64" <-- shortest pause you can get without silly timer hax
23:03:38 <AnMaster> hdma?
23:03:48 <AnMaster> what does the extra h on DMA mean there?
23:04:05 <mad> horizontal blank dma
23:04:24 <AnMaster> I see. And what does that actually mean?
23:04:27 <ehird> I still need to figure out how to terminate this program
23:04:31 <ehird> no break key :(
23:04:32 <mad> I think it's specific to snes technically but in general it refers to effects where you alter registers between lines
23:04:46 <AnMaster> ehird, where did you find qbasic btw?
23:04:50 <ehird> AnMaster: logs.
23:05:00 <ehird> greh
23:05:01 <AnMaster> ehird, well I mean, download url?
23:05:03 <mad> It's common on 16 bit platforms except PC and mac
23:05:07 <jc> lolqbasic
23:05:12 -!- tombom has quit ("Peace and Protection 4.22.2").
23:05:14 <fizzie> AnMaster: It's possibly from my dos 6.21 installation floppy.
23:05:19 <AnMaster> hm
23:05:19 <ehird> no
23:05:27 <fizzie> Oh, just the help file was?
23:05:30 <ehird> ya
23:06:55 <fizzie> AnMaster: Since you usually care about legalities (I guess?), ais523 linked to http://download.microsoft.com/download/win95upg/tool_s/1.0/w95/en-us/olddos.exe which you can run in dosbox.
23:07:12 <fizzie> Although I'm quite sure my qbasic.exe has pretty much the same bits.
23:07:22 <AnMaster> fizzie, mhm
23:07:35 <AnMaster> and yeah I tend to be careful.
23:07:43 -!- M0ny has quit (Read error: 60 (Operation timed out)).
23:07:46 <fizzie> I think that should expand to various "old DOS utilities".
23:08:06 <AnMaster> anyone here good at perl? Need to test something for the PERL fingerprint in cfunge...
23:08:12 <CallForJudgement> I'm pretty good at Perl
23:08:16 <CallForJudgement> what in particular do you need?
23:08:39 <AnMaster> CallForJudgement, I don't know perl at all. Something like a for loop. To output 5932 bytes
23:08:39 <fizzie> I'm reasonably good at writing messy Perl.
23:08:44 <AnMaster> just use x or whatever
23:09:11 <fizzie> The expression "x" x 5932 evalutes to a 5932-byte string.
23:09:21 <AnMaster> the perl equivalent of: for (i=0;i<5932;i++) putchar('x');
23:09:24 <AnMaster> is what I need basically
23:09:27 <AnMaster> hm
23:09:33 <fizzie> Well, that's print "x" x 5932;
23:09:48 <AnMaster> right
23:09:49 <Deewiant> x = 5932; print "x" x x;
23:10:00 <Deewiant> D'oh, sigils
23:10:09 <fizzie> It's also print "x" foreach (0 .. 5931); if you want to be more form-conformant.
23:10:11 <AnMaster> well that would be less confusing with something else than x I guess
23:10:17 <ehird> $x=5932;$X="x";print $X x $x
23:10:24 <lament> in python it's print "x" * 5932
23:10:27 <ehird> $x=5932;$X=x;print $X x $x
23:10:28 <lament> but that's just because python is sane
23:10:36 <ehird> ■ STATIC Specifies that the values of the SUB procedure's
23:10:36 <ehird> local variables are saved between function calls.
23:10:40 <ehird> that's a modifier ON THE FUNCTION
23:10:41 <ehird> CallForJudgement: WTF.
23:10:51 <AnMaster> hm
23:10:54 <CallForJudgement> ehird: heh
23:11:02 <fizzie> Hey, just be happy it actually has functions, and local variables.
23:11:04 <Deewiant> ehird: Use ẋ or something instead of X
23:11:10 <fizzie> That's quite a fancy-schmanzy schnitzel.
23:11:13 -!- CallForJudgement has changed nick to ais523.
23:11:17 <AnMaster> and in an eval() context. So eval returns that many x.
23:11:21 <AnMaster> what would it be then?
23:11:27 <fizzie> "x" x 5932
23:11:28 <ehird> 'x' x 5932
23:11:30 <AnMaster> right
23:11:35 <ehird> SUB count STATIC
23:11:37 <ehird> count = 0
23:11:39 <ehird> count = count + 1
23:11:40 <ehird> RETURN count
23:11:40 <fizzie> I don't think GW-BASIC did local variables. It might've done GOSUB, though.
23:11:41 <ehird> END SUB
23:12:06 <AnMaster> um
23:12:11 <ehird> err, wait
23:12:15 <ehird> RETURN isn't a valuey thingy
23:12:16 <AnMaster> so why doesn't this work: perl -e 'print eval("x" x 5932)'
23:12:17 <ehird> I need a function
23:12:17 <fizzie> ehird: It's not restricted as a function attribute, though: "STATIC makes a variable local to a function or procedure and preserves its value between calls."
23:12:22 <ehird> AnMaster: because that evaluates
23:12:23 <ehird> xxxxxxxxxxxxxxxxxxxxxx
23:12:26 <ehird> instead of returning xxxxxxxxxxxxxx
23:12:28 <ehird> you should do
23:12:32 <ehird> eval('"x" x 5932')
23:12:33 <mad> I think the stone age basics had gosub yeah
23:12:34 <AnMaster> ehird, right
23:12:35 <ehird> and now I doubt your coding ability...
23:12:39 <ehird> /flamebait
23:12:51 <AnMaster> ehird, well I don't know perl indeed.
23:13:25 <ais523> why do you need eval in order to print lots of xs?
23:13:25 <AnMaster> that I admit. I just try to conform to the rather weird PERL fingerprint spec. And found a bug in handling long results...
23:14:20 <AnMaster> ais523, look at PERL spec
23:14:25 <ais523> oh dear
23:14:28 <AnMaster> http://catseye.tc/projects/funge98/library/PERL.html
23:14:30 <fizzie> But seriously, why can't qbasic do a simple "GOTO $var"? (Alternatively: how can it do that?)
23:14:32 <AnMaster> E ('Eval') pops a 0gnirts string and performs a Perl eval() on it, possibly (or not) shelling Perl as indicated by S above. The result of the call is pushed as a 0gnirts string back onto the stack.
23:14:41 <ais523> fizzie: you can use SELECT CASE
23:14:43 <ehird> fizzie: GOTO var?
23:14:46 <ais523> which is basically switch() from C
23:15:02 <ehird> also, you can GOTO label
23:15:04 <fizzie> Oh, I mean GOTO var$. Or is it var%? I don't remember them sigils either.
23:15:09 <AnMaster> ais523, that means I ended up (with the help of Deewiant and someone else in here, forgot who) with: execv() on "perl" "-e" "open(CFUNGE_REALERR, \">&STDERR\"); open(STDERR, \">&STDOUT\"); print CFUNGE_REALERR eval($ARGV[0])"
23:15:11 <fizzie> Yes, but I want a computed goto.
23:15:15 <ais523> fizzie: QBasic sigils are weird
23:15:17 <ehird> Yeah, use a switch
23:15:18 <Deewiant> AnMaster: fizzie
23:15:23 <AnMaster> was it him? ok
23:15:26 <ehird> also, $ = string, % = integer
23:15:30 <ehird> nothing = same as %
23:15:36 <ais523> AnMaster: that looks about right
23:15:40 <mad> does it have some float too?
23:15:52 <ehird> think so
23:15:58 <AnMaster> ais523, anyway I found a bug in my handling of reading back really long results.
23:15:59 <ehird> data-type suffix (%, &, !, #, or $).
23:16:09 <ehird> +-------------------------Data-Type Suffixes--------------------------+
23:16:09 <ehird> │ ! Single-precision % Integer │
23:16:10 <ehird> │ # Double-precision & Long-integer │
23:16:12 <ehird> │ $ String │
23:16:14 <ehird> +---------------------------------------------------------------------+
23:16:17 <ehird> So, #.
23:16:30 <ehird> & is a whopping THIRTY TWO BITS
23:16:55 <mad> what's the point of ! :D
23:17:03 -!- M0ny has joined.
23:17:36 <fizzie> ais523: Do you mean "use SELECT CASE" as in "write your whole program as "SELECT CASE a% CASE 1 ..." and use "a% = 42; <whatever the local equivalent of break is>" for control flow"?
23:17:45 <ehird> mad: stores 7 digits after the decimal point
23:17:47 <ais523> fizzie: well, why are you doing control flow like that, anyway?
23:17:54 <ais523> I was assuming you'd only be jumping to one of a set few lines anyway
23:18:03 <mad> ehird: yeah but you can use # instead :D
23:18:10 <fizzie> ais523: I was just thinking of ehird's "Objective QBasic" thing.
23:18:12 <ehird> mad: Think of the RAM!
23:18:24 <mad> wait, i know
23:18:24 <ehird> We have like 1MB.
23:18:24 <mad> right
23:18:24 <fizzie> ais523: I'm not actually doing anything.
23:18:24 <ehird> :D
23:18:24 <ehird> fizzie: eek :D
23:18:24 <mad> well, conventional ram :D
23:25:09 <mad> And more like 64k often :D
23:25:09 <ehird> hee
23:25:09 -!- M0ny has quit (Client Quit).
23:25:09 <ehird> who needs C when you have qbasic
23:25:09 <ehird> :P
23:25:09 <AnMaster> Deewiant, do you remember off the top of your head which value to y returns stack size?
23:25:09 <ehird> (int*)1234=5;
23:25:09 <ehird> POKE1234,5
23:25:09 <mad> ehird: but you can have TURBO C :D
23:25:09 <ehird> WINNER: QBASIC
23:25:09 <ehird> mad: I HAD A TURBO BUTTON ON MY PC! It didn't do a thing.
23:25:09 <Deewiant> AnMaster: nope
23:25:09 <Deewiant> ehird: What a crap PC
23:25:09 <ehird> Deewiant: :<
23:25:09 <mad> from like some 386s on it did like nothing :D
23:25:09 <Deewiant> Turbo buttons should always do something
23:25:09 <ehird> y u insult my pc
23:25:09 <ais523> ehird: course it did, it slowed down the PC when you turned it off
23:25:09 <ehird> haha
23:25:09 <Deewiant> Yeah, exactly
23:25:09 <ais523> they were designed so you could play old games which used loops for delays
23:25:09 <ehird> Yeah
23:25:09 <mad> because even if you ran stuff at 7mhz it's still going to be ridiculously fast on a 486 no matter what
23:25:09 <Deewiant> And they worked well
23:25:09 <ais523> but why have a slow down button when you can have a speed up button?
23:25:09 <ehird> I always thought it was a go faster button
23:25:09 <ehird> As in
23:25:09 <Deewiant> Well, it is
23:25:09 <ehird> You can only use half your CPU and RAM
23:25:09 <ehird> until you press TURBO
23:25:09 <fizzie> My router box used to be in a case that had a spare TURBO BUTTON, but I couldn't figure out any nifty thing to connect it to.
23:25:10 <ehird> Hmm, I'ma write a sierpinski drawer. Should be trivial.
23:25:10 <mad> not to mention a pentium which is probably going to be able to stuff the whole program in its CACHE
23:25:10 <mad> then pair instructions to do 2 instructions per cycle :D
23:25:10 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:25:10 <ehird> Hmm
23:25:10 <ehird> QBasic has no bitwise operators? :-S
23:25:10 <ehird> oh wait
23:25:10 <ehird> they're its boolean operators
23:25:10 <ehird> XD
23:25:10 <AnMaster> what happened if you pressed turbo while the computer was running?
23:25:10 <ais523> AnMaster: it crashed
23:25:10 <fizzie> Yes. And there's even EQV and IMP there.
23:25:10 <AnMaster> ah
23:25:10 <ais523> I know, I've done that once
23:25:10 <ehird> AnMaster: You became a COOL DUDE.
23:25:11 <Deewiant> Huh? My turbo button worked when the machine was on
23:25:28 <Deewiant> Or alternatively it did nothing, it's been a long time
23:25:32 <Deewiant> But it certainly didn't crash anything
23:25:45 <fizzie> I used to have a 386 that had a manufacturer-specific "TURBO COMMAND"; a DOS command that could be used to switch between 8 MHz and 16 MHz mode.
23:25:52 <fizzie> On-the-fly, even.
23:26:01 <AnMaster> heh
23:26:43 <fizzie> Also http://zem.fi/~fis/qbu.html has the qbasic manual with those utf-8 line-drawing characters, for people who prefer that and happen to have a font and system where things align correctly with it.
23:26:58 <ais523> PICs can be switched from their default 4 MHz (= 1 MIPS) down to about 75 kHz
23:27:01 <ais523> as a sort of power-saving mode
23:27:26 <AnMaster> Modern CPUs can change freq too
23:27:30 <AnMaster> for power saving
23:27:44 <AnMaster> like my sempron, 1 GHz, 1.5 GHz or 2 GHz
23:27:52 <fizzie> C128 can be switched from the default 1 MHz mode into a faster 2 MHz mode, but then the VIC-II chip drops offline, and you have to use the 80-column screen which has a different display controller.
23:27:58 <AnMaster> s/,/:/
23:27:59 <ehird> DIM A(640,480) gives me subscript out of bounds
23:28:08 <ehird> why? ais523?
23:28:15 <ais523> because qbasic can't allocate a lot of memory
23:28:22 <ehird> that's not a lot ...
23:28:23 <mad> fizzie: heh, that's... not nice
23:28:52 <fizzie> 640*480!? That's over nine thous.. I mean, 307200. That amount of integers wouldn't fit in any sort of memory.
23:28:57 <ehird> :D
23:29:02 <ehird> But it fits in video memory!
23:29:23 <fizzie> Not really, you only have four bits per pixel there.
23:29:28 <ehird> Ah. True da.t
23:29:33 <ais523> actually, 307200 is almost half of memory
23:29:37 <ehird> It's just, using LINE on the fly was really slow.
23:29:39 <ais523> DOS only supports 640K, remember
23:29:40 <ehird> As in one pixel per second.
23:29:53 <fizzie> You can POKE in the video memory, though.
23:30:03 <AnMaster> ehird, allocate it in hi memory? extended memory? or whatever
23:30:11 <ehird> in BASIC?
23:30:17 <ais523> you can POKE anywhere in BASIC
23:30:20 <AnMaster> ehird, well can't you POKE to do that?
23:30:21 <ehird> fizzie: Yeah, 'cept I don't know the format of the values
23:30:23 <ehird> ais523: that was @AnMaster
23:30:24 <mad> yeah but qbasic probably can't handle >16bit pointers
23:30:37 <AnMaster> hm
23:30:39 <fizzie> ehird: It's just "two nybbles in each byte give two adjacent pixels".
23:30:45 <mad> that's why people usually switch to djgpp :D
23:30:49 <ais523> mad: it can
23:30:50 <ehird> fizzie: and what is a pixel in that case?
23:30:51 <ais523> DEF SEG
23:30:56 <AnMaster> use one of those "memory optimizer" to move stuff out of the memory you can use then
23:31:07 <mad> stuff = malloc(20000000);
23:31:11 <ehird> What's the address of video memory, anyhoo?
23:31:13 <mad> Actually WORKS in djgpp :D
23:31:15 <fizzie> You do need to DEF SEG = &HA000.
23:31:15 <AnMaster> I remember some tool that messed with config.sys and autoexec.bad
23:31:17 <mad> 0xa0000
23:31:19 <AnMaster> bat*
23:31:21 -!- psygnisfive has joined.
23:31:29 <AnMaster> to free low low memory
23:31:58 -!- kar8nga has quit (Remote closed the connection).
23:31:58 <fizzie> Then you can just POKE in there, and the address given in POKE is directly an offset to the screen buffer.
23:32:03 <mad> video mem address depends on video mode
23:32:04 <ehird> fizzie: Still slow; as in it's taking many many seconds. I wonder if I have a bug.
23:32:12 <ehird> Or maybe it crashed.
23:32:18 <mad> but in 256 color mode it's 0xa0000
23:32:28 <ehird> Ah.
23:32:30 <ehird> I was using SCREEN 1.
23:32:42 <ais523> 12 always used to be my favourite
23:32:49 <AnMaster> ehird, how many FPS?
23:32:51 <ehird> Yes, but I'm just doing a b/w sierpinski :P
23:32:55 <ehird> AnMaster: I don't know
23:33:26 <AnMaster> heh
23:33:34 <AnMaster> ehird, tell me when/if you find out
23:33:42 <ehird> Oh, it terminated.
23:33:49 <ehird> Anyway, I'm just looping over the 320,200 display.
23:33:53 <ehird> I don't see how I can get any faster.
23:34:24 <fizzie> I remember doing some comprehensive qbasic putpixel benchmarking, and there were at least five methods.
23:34:27 <ehird> I guess sierpinski is just way beyond DOS's ability.
23:35:05 <mad> ehird: unless it's 3d bit dos
23:35:12 <ehird> 3 DIMENSIONAL BIT DOS?!
23:35:17 <mad> haha
23:35:21 <ais523> yay, voxel bits
23:35:28 <mad> voxbits
23:35:30 <ais523> you could almost call it voxel-perfect
23:35:30 <fizzie> You can write your sierpinski to file and the BLOAD it directly on top of the display memory. That gives you a fast blit. Unfortunately you need to precalc the file.
23:36:09 <mad> use putpixel + recursive function?
23:36:11 <ehird> Text mode sierpinski works :P
23:36:26 -!- neldoreth has joined.
23:36:55 <fizzie> Still, I think POKE 320*y+x was a lot faster than any LINE (x, y)-(x, y) style thing.
23:37:02 <fizzie> Or PSET.
23:37:13 <fizzie> Although PSET at least wasn't many magnitudes slower.
23:37:16 <AnMaster> <ais523> you could almost call it voxel-perfect <-- that does sound strangely familiar..... But I can't identify it
23:37:29 <ehird> ;_; AnMasterrrrrrrrrrr
23:37:36 <ais523> AnMaster: esolangs.org = esoteric.voxelperfect.net
23:37:40 <AnMaster> oh right
23:37:42 <AnMaster> duh
23:37:50 <AnMaster> ais523, I use the first url to access
23:37:58 <ehird> Hm. There seems to be some algorithmic problem.
23:38:06 <ais523> just explaining where the reference came from
23:38:29 <AnMaster> ehird, also you could do sierpinski in dos. Ever seen some of those DOS demos?
23:38:40 <ehird> AnMaster: And what are they written in?
23:38:41 <ehird> Assembly.
23:38:43 <ehird> And what am I using?
23:38:45 <ehird> QBasic.
23:38:48 <ehird> And what is QBasic?
23:38:51 <AnMaster> oh right true
23:38:52 <ais523> bloated
23:38:52 <fizzie> Oh, there are QBasic demos.
23:38:53 <ehird> An interpreter, probably written in C.
23:38:56 <ehird> Totally unoptimized, to boot.
23:39:01 <AnMaster> ehird, can't you compile qbasic?
23:39:09 <ehird> using QuickBASIC.
23:39:11 <mad> I heard there was a compiler
23:39:11 <ehird> Which I don't have.
23:39:12 <AnMaster> ah
23:39:18 <fizzie> QuickBasic is commercial, non-free.
23:39:26 <mad> then you can switch to the next bigger thing
23:39:27 <AnMaster> I see
23:39:27 <fizzie> And it doesn't really generate very fast code.
23:39:31 <mad> TURBO PASCAL :D
23:39:42 <AnMaster> mad, I think I have a copy of that
23:39:43 <AnMaster> in fact
23:39:54 <AnMaster> not sure where
23:40:08 <AnMaster> and I think it was TURBO PASCAL for windows or something even.
23:40:25 <AnMaster> or maybe not
23:40:37 <fizzie> Or you can switch to the next smaller thing, debug.com.
23:40:38 <AnMaster> don't remember. Too long ago
23:40:52 <mad> I've written a short game for dos
23:40:55 <ehird> Hmmm.
23:41:00 <mad> but it was with libraries
23:41:07 <AnMaster> ehird, anyway, when you find out frame rate: tell me
23:41:09 <ehird> Question.
23:41:12 <ehird> A bunch of PRINT "x";
23:41:14 <ehird> in succession
23:41:17 <ehird> will output nothing but xs
23:41:18 <ehird> right?
23:41:24 <mad> who knows
23:41:43 <AnMaster> an unfair comparsion: glxgears on my GPU gives me: 38952 frames in 5.0 seconds = 7790.366 FPS. And that is with 2xAA...
23:41:45 <mad> I think basic probably tacks on a line end and you have to supress it or something
23:41:50 <fizzie> Yes, as long as you don't forget the ; there.
23:41:55 <ehird> mad: thus the ;
23:41:56 <fizzie> That's the line-suppression thing.
23:42:01 <ehird> AnMaster: frame rate of what
23:42:19 <AnMaster> ehird, just drawing a single colour over the screen in a loop?
23:42:19 <fizzie> A , would start at the "next print zone", and "print zones are 14 characters wide". That's very out-of-nowhere.
23:42:32 <ehird> AnMaster: 10FPS
23:42:33 <ehird> Or so
23:42:36 <AnMaster> ehird, heh
23:42:40 <ehird> Well
23:42:49 <ehird> It takes about 7 seconds to display 256 colour bands
23:42:59 <ehird> I dunno
23:43:00 <AnMaster> wow that is slow
23:43:07 <ehird> anyway
23:43:18 <AnMaster> ehird, for dosbox it should be possible to tune the speed iirc
23:43:32 <fizzie> Look, it's a lot faster than the TI-BASIC in my calculator, so just stop complaining about the speed.
23:43:36 <ehird> CLS
23:43:36 <ehird> FOR Y = 0 TO 15
23:43:37 <ehird> FOR X = 0 TO 15
23:43:39 <ehird> Y1 = 15 - Y
23:43:41 <ehird> IF (X AND Y1) = 0 THEN PRINT "*"; ELSE PRINT " ";
23:43:43 <ehird> NEXT X
23:43:45 <ehird> PRINT
23:43:47 <ehird> NEXT Y
23:43:55 <ehird> Renders a sierpinski triangle of 16x16 in about 0.7 seconds.
23:44:04 <ehird> You can watch it draw.
23:44:21 <ehird> Now to try and center it.
23:45:44 <jc> fizzie: this
23:45:50 <jc> TI-Basic is so ridiculously slow
23:45:51 -!- jc has changed nick to comex.
23:46:02 <ehird> yeah well your butt is ridiculously slow if you know what i mean.
23:46:13 <ais523> someone show http://www.newscientist.com/blogs/shortsharpscience/2009/03/how-moores-law-saved-the-web.html to zzo38
23:46:14 <AnMaster> <fizzie> Look, it's a lot faster than the TI-BASIC in my calculator, so just stop complaining about the speed. <-- Remember that FOR loops after faster than WHILE in TI-BASIC
23:46:48 <comex> all good TI-Basic programs start with AsmPrgm
23:47:08 <AnMaster> comex, how does that work. I don't remember?
23:47:20 <comex> you have to type in z80 opcodes as hex
23:47:23 <ehird> CLS
23:47:23 <ehird> FOR Y = 0 TO 15
23:47:24 <ehird> Y1 = 15 - Y
23:47:26 <ehird> FOR I = 1 TO Y1
23:47:27 <comex> (thus 'asm' is somwhat misleading...)
23:47:28 <ehird> PRINT " ";
23:47:30 <ehird> NEXT I
23:47:32 <AnMaster> comex, oh I see
23:47:32 <ehird> FOR X = 0 TO 15
23:47:34 <ehird> IF (X AND Y1) = 0 THEN PRINT "**"; ELSE PRINT " ";
23:47:36 <ehird> NEXT X
23:47:38 <ehird> PRINT
23:47:39 <AnMaster> so you could hand type it on the calculator?
23:47:40 <ehird> NEXT Y
23:47:42 <ehird> centered.
23:47:44 <ehird> Also optimmized.
23:47:46 <ehird> Now it takes 0.3s
23:47:53 <comex> I have a packet with a list of z80 opcodes
23:47:55 <AnMaster> ehird, I think there was a faster way than = 0
23:48:08 <comex> sometimes when I'm feeling masochistic I make programs
23:48:09 <AnMaster> in IF that is
23:48:41 <AnMaster> not() should be faster. At least on TI-83+
23:48:44 <AnMaster> which is what I have
23:49:03 <ehird> This is on DOS :P
23:49:06 <comex> this
23:49:06 <AnMaster> ah
23:49:07 <ehird> But, I need to check 0
23:49:10 <ehird> NOT() checks for -1 or something
23:49:14 <ehird> It doesn't output right in any case
23:49:23 <AnMaster> ehird, well I meant on TI-83+
23:49:29 <AnMaster> right
23:49:37 <ehird> Anyway, now to make it do it SEXTUALLY
23:49:41 <ehird> By which I mean graphically
23:49:44 <comex> ..
23:50:09 <ehird> fizzie: what was your POKE gfx magick?
23:50:19 -!- KingOfKarlsruhe has joined.
23:50:29 <AnMaster> ehird, scrollback?
23:50:33 <ehird> ah POKE 320*y+x
23:51:08 <ehird> fizzie: what mode was that for?
23:51:09 <ais523> which DEF SEG is that in?
23:51:53 <ehird> I'll just use pset
23:51:54 <ehird> probably
23:52:57 <ehird> wtf
23:53:00 <ehird> illegal function call on an if
23:53:03 <ehird> I guess it is complaining ab-
23:53:04 <ehird> oh
23:53:13 <ehird> pset without screen
23:53:30 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
23:53:33 <ehird> Erm, or not.
23:53:52 * AnMaster wonders
23:53:56 <ehird> IF (X AND Y1) = 0 THEN PSET (X, Y)
23:53:58 <ehird> that's invalid?
23:54:26 <AnMaster> 6145 output chars vs 5932
23:54:31 <AnMaster> that doesn't match at all
23:55:25 <AnMaster> oh right indeed.
23:55:28 <AnMaster> a bug
23:55:31 <fizzie> Yes, as I said you need a DEF SEG = &HA000 in order for the poke to work.
23:55:41 <fizzie> And it's for mode 13h, the 320x200 VGA 256-color mode.
23:55:43 <ehird> I'm using PSET.
23:55:46 <ehird> Not DEF SEG>
23:56:09 <fizzie> If you like. It might even be faster with PSET if you need to do the y*320+x operation.
23:56:30 <ehird> agh
23:56:33 <ehird> my program is running in step mode
23:56:35 <fizzie> Since concievably it might be written in C or whatever then, not done with QBasic code.
23:56:35 <ehird> how do I undo that :
23:56:37 <ehird> :\
23:56:48 <fizzie> I don't remember anything about the UI.
23:57:04 <AnMaster> ehird, read docs?
23:57:09 <ehird> AnMaster: I did.
23:57:13 <ehird> Woo, my sierpinskigfx work
23:57:25 <AnMaster> nice
23:57:34 <ehird> Albeit sloooowly.
23:57:40 <AnMaster> ehird, screenshot?
23:57:52 <AnMaster> also for dosbox you can increase simulation speed
23:57:57 <AnMaster> some option somewhere
23:58:10 <ehird> The slowness is AUTHENTIC.
23:58:15 <AnMaster> btw, what is the difference between dosbox and doxemu?
23:58:16 <ais523> yes
23:58:22 <ehird> dosbox emulates DOS, not a cpu
23:58:23 <AnMaster> dosemu*
23:58:27 <AnMaster> ah
23:58:32 * kerlo memorizes all of pi in binary
23:58:32 <ehird> er oh
23:58:34 <ehird> thought you said qemu
23:58:40 <kerlo> Pretty easy.
23:58:43 <AnMaster> so why is the second called dosemu?
23:58:46 <kerlo> 1100111110000000
23:58:49 <ehird> it emulates dos
23:59:04 <AnMaster> then what is the difference? Which is best?
23:59:09 <AnMaster> dosbox or dosemu?
23:59:09 <ehird> fizzie: so, what IS it that makes BASIC so damn slow?
23:59:13 <ehird> dosemu only runs on linux
23:59:19 <ehird> but iirc its emulation is more "authentic"
23:59:25 <AnMaster> oh?
23:59:27 <ehird> and dosemu lets you copy/paste from-to dos
23:59:29 <ehird> apparently
23:59:35 <AnMaster> sounds useful
23:59:41 <fizzie> dosemu uses the vm86 syscall to run DOS "natively" on linux.
23:59:43 <AnMaster> and the linux requirement is hardly an issue
23:59:55 <ehird> unless you use something else.
23:59:57 <ehird> like me
2009-03-14
00:00:00 <fizzie> Of course any interesting program I've tried hasn't really worked well on dosemu.
00:00:00 <AnMaster> fizzie, um. Yet it is available on x86_64? How is that possible
00:00:09 <AnMaster> iirc long mode prevents vm86()
00:00:51 -!- cherez has joined.
00:01:05 -!- cherez has left (?).
00:01:12 <AnMaster> at least virtual 8086 mode is not available even from 32-bit compat mode under long mode according to AMD docs iirc
00:01:36 <fizzie> I didn't do it, I don't know how it works. But the vm86 trick is what it used to do, anyway.
00:01:43 <AnMaster> mhm
00:02:17 <AnMaster> anyway thanks to recent coverage analysis I have found two real bugs in cfunge. + a lot of stuff mycology doesn't test. Now to debug those bugs...
00:02:19 <fizzie> While dosbox actually emulates a CPU too.
00:02:55 <ehird> This performance is ridiculous.
00:03:14 <AnMaster> heh
00:03:23 <ehird> Like really ridiculous.
00:03:31 <ehird> I can see the line go from the left to the right of the screen.
00:03:35 <AnMaster> ehird, rewrite it in ASM
00:03:36 <ehird> (And it's drawing top-down!)
00:03:38 <ehird> AnMaster: NO NO NO
00:03:44 <AnMaster> why not?
00:03:48 <ehird> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
00:03:50 <ehird> BAD AnMaster!!
00:03:53 <AnMaster> why?
00:04:00 <ehird> BEACUSE I HAVE _SOME_ SANITY
00:04:07 <fizzie> On x86, dosbox also has some "dynamic instruction translation" option, which is faster but less accurate.
00:04:16 <ehird> Oh shit, this is going to go further than the video memory
00:04:18 <AnMaster> ehird, ok then. POKE machine code somewhere, then jump to that
00:04:18 <ehird> WILL IT CRASH?! WHO KNOWS
00:04:19 <AnMaster> :P
00:04:23 <ehird> AnMaster: That's actually in the docs.
00:04:28 <AnMaster> what?!
00:04:31 <ehird> Yeah.
00:04:35 <AnMaster> -_-
00:04:45 <ehird> fizzie: where is it again?
00:04:45 <fizzie> AnMaster: Didn't you see my copy-paste. The help file has some inline machine code examples.
00:04:50 <AnMaster> ah
00:04:56 <AnMaster> fizzie, must have missed that
00:04:59 <fizzie> http://zem.fi/~fis/qbu.html#QEw4MDhh
00:05:03 <fizzie> The CALL ABSOLUTE statement.
00:05:43 <AnMaster> what is the calling convention
00:05:46 <AnMaster> so you can return and such
00:05:55 <ehird> Holy shit.
00:05:59 <ehird> H o l y s h i t
00:06:01 <ehird> I crashed dosbox
00:06:02 <ehird> Not even cleanly
00:06:04 <AnMaster> ehird, err
00:06:04 <ehird> It just exited
00:06:06 <fizzie> You do a RETF when you want to return.
00:06:06 <AnMaster> huh
00:06:10 <ehird> Wanna know how?
00:06:12 <ehird> CALL ABSOLUTE(0)
00:06:16 <AnMaster> hah
00:06:16 <ehird> *BOOM*
00:06:28 <AnMaster> ehird, segfault?
00:06:32 <ehird> Dunno
00:06:35 <fizzie> And you can't return any values or anything.
00:06:52 <ehird> Example:
00:06:52 <ehird> PRINT "Game over."
00:06:54 <ehird> END
00:06:55 <fizzie> Of course you can manipulate the memory allocated for some BASIC variable if you want to return something.
00:06:55 <AnMaster> ehird, I mean it is possible the memory at 0 could have contained something to stop the machine
00:06:56 <ehird> that's so depressing.
00:06:58 <AnMaster> HLT or whatever
00:07:05 <ehird> Er, the memory at 0 contains nothing, AFAIK.
00:07:10 <ehird> Well.
00:07:13 <ehird> PRINT PEEK(0) prints 112.
00:07:16 <ehird> Is 112 HLT? :P
00:07:19 -!- FireyFly has quit ("Later").
00:07:20 <AnMaster> no idea
00:07:29 <AnMaster> and HLT is the wrong one anyway
00:07:33 <fizzie> Typically the memory at 0 in a dos system contains the interrupt vector table.
00:07:36 <AnMaster> HLT halts until interrupt iirc
00:07:44 <ehird> HCF
00:07:57 <ehird> To build programs that Use a Basic development environment that
00:07:57 <ehird> require over 160K of memory supports creating large programs.
00:08:01 <ehird> LAAAAAAAAAAAAAARGE PROGRAMS
00:08:08 <ehird> To distribute your programs Use Microsoft Visual Basic for MS-DOS or
00:08:13 <ehird> t'was contaminated even then
00:08:58 <AnMaster> HLT Halt
00:08:58 <AnMaster> Causes the microprocessor to halt instruction execution and enter the HALT state. Entering the HALT
00:08:58 <AnMaster> state puts the processor in low-power mode. Execution resumes when an unmasked hardware interrupt
00:08:58 <AnMaster> (INTR), non-maskable interrupt (NMI), system management interrupt (SMI), RESET, or INIT occurs.
00:09:13 <AnMaster> that is AMD64 docs. But iirc it was introduced quite early on
00:09:15 <AnMaster> not sure when
00:09:24 <fizzie> AnMaster: "The current version of the CPU emulator, as of dosemu-1.1.x, has been rewritten from scratch, and is now called simx86. -- Added a native 64-bit port for x86-64, which, by default, uses CPU emulation for V86 mode, and runs DPMI code natively."
00:09:27 <AnMaster> maybe 386, maybe a bit later
00:09:32 <fizzie> So that's what dosemu does on x86-64.
00:09:40 <AnMaster> fizzie, I see
00:09:50 <AnMaster> fizzie, DPMI?
00:09:51 <fizzie> It has a dosbox-like full CPU emulation, but it only uses that when it has to.
00:10:00 <fizzie> It's the DOS way of running in protected mode.
00:10:07 <AnMaster> ah
00:10:10 <fizzie> "DOS Protected Mode Interface".
00:10:13 <ehird> /G Sets QBasic to update a CGA screen as fast as possible
00:10:14 <ehird> (works only with machines using CGA monitors). If you
00:10:16 <ehird> see snow (dots flickering on the screen) when QBasic
00:10:18 <ehird> updates your screen, your hardware cannot fully support
00:10:20 <ehird> this option. If you prefer a clean screen, restart
00:10:22 <ehird> QBasic without the /G option.
00:10:24 <ehird> IF YOU PREFER A CLEAN SCREEN
00:10:35 <AnMaster> ehird, yes and?
00:10:45 <ehird> xD
00:10:49 <AnMaster> ehird, idea: Haskell -> QBasic translator
00:10:52 <AnMaster> XD
00:10:54 <ehird> no
00:10:58 <AnMaster> YES!
00:11:20 <AnMaster> call it QHaskell. Or HBasic?
00:11:27 <ehird> http://zem.fi/~fis/qb.html#QEw4MDgz
00:11:31 <ehird> AIAEEEEEEEEEEEEEEE
00:11:45 <ehird> ■ Remarks are ignored when the program runs unless they contain
00:11:45 <ehird> metacommands.
00:11:46 <ehird> Ha ha ha what
00:11:56 <ehird> http://zem.fi/~fis/qb.html#QEw4MDdi
00:11:57 <ehird> >_<
00:11:59 <ehird> They go in COMMENTS>
00:12:01 <ais523> ehird: '$DYNAMIC
00:12:04 <ais523> commands that work from comments
00:12:07 <ehird> horrible
00:12:13 <ais523> basically it's for compatibility with other versions of BASIC
00:12:15 <ais523> which didn't read them
00:12:26 <ais523> however, given that $STATIC and $DYNAMIC change the semantics of the language...
00:12:29 <AnMaster> ehird, err INTERCAL has comments like that
00:12:32 <AnMaster> kind of
00:12:38 <fizzie> It's a bit like #pragma.
00:13:05 <fizzie> Except maybe even a tiny bit uglier.
00:13:10 <ais523> AnMaster: not really
00:13:23 <ais523> it's more INTERCAL doesn't have comments, people abuse syntax errors as comments
00:13:30 <AnMaster> ais523, well yeah
00:13:42 <ehird> BASIC as a scripting language for a C program:
00:13:47 <ehird> In C,
00:14:02 <ehird> funcptr basic_funcs[512];
00:14:10 <ehird> in basic_funcs, put pointers to machine code.
00:14:20 <AnMaster> ehird, err... what?
00:14:23 <ehird> wait for it
00:14:26 <ehird> then, to execute a basic program,
00:14:37 <ehird> put an INPUT line, that reads into cFuncsBase
00:14:43 <ehird> and then procedure definitions
00:14:47 <ehird> that use CALL ABSOLUTE to call into them
00:14:49 <AnMaster> ehird, where is this from?
00:14:51 <ehird> then cat the program to it
00:14:52 <ehird> then, run it
00:14:55 <ehird> AnMaster: nowhere, I just invented it
00:15:00 <AnMaster> ok
00:15:06 <ehird> ais523: discuss the awfulosity
00:15:10 <AnMaster> ehird, also DOS doesn't have cat
00:15:18 <ehird> that's not the point.
00:15:21 <AnMaster> ok
00:16:01 <AnMaster> ehird, so is this extending C with BASIC or BASIC with C?
00:16:09 <ehird> Former
00:16:16 <ehird> An old-school game scripting language scheme :P
00:16:18 <AnMaster> ehird, so the C program starts first?
00:16:24 <ehird> sort of
00:16:26 <ehird> you do
00:16:29 <ehird> system("qbasic ...")
00:16:29 <ehird> in C
00:16:34 <ehird> well
00:16:35 <ehird> except more complex
00:16:40 <AnMaster> and it can call back to C?
00:16:41 <ehird> since you write the address of basic_funcs to its stdin
00:16:45 <AnMaster> oh wait, no fork()
00:16:47 <ehird> and yes, via the funcs you specially set up and pointers
00:16:56 <ais523> AnMaster: fork() is impossible altogether in DOS
00:16:58 <AnMaster> how can that even work. How can you know basic won't overwrite your memory=
00:16:58 <AnMaster> ?
00:17:02 <ehird> you don't
00:17:04 <ehird> you never do in DOS
00:17:22 <ehird> "Code your own computer opponent with the Microsoft QBasic language you know and love. Just use our library of standard game procedures in your program—they're there automatically!"
00:17:32 <AnMaster> well. I mean system() can't really work if you have been overwritten when it returns
00:17:52 <AnMaster> ehird, heh
00:18:00 <ehird> if the user overwrites the game from his AI, that's his own shit-stupid fault and he gets what he deserves
00:18:54 <AnMaster> then something happened... Between 1990 and 2000...
00:18:58 <AnMaster> :D
00:19:07 <ehird> ?
00:20:15 <AnMaster> ehird, memory protection started going mainstream more and more. Windows NT. Later during 200x: windows xp.
00:20:20 <ehird> ah
00:20:30 <AnMaster> windows nt didn't really hit home users
00:20:35 <ehird> well, this passes around a pointer from another app that you jump to
00:20:35 <AnMaster> but work places mostly
00:20:39 <ehird> so it wouldn't work anyway with memory protection
00:20:48 <ehird> ais523: is there -no way- to multitask in dos?
00:20:51 <AnMaster> ehird, I doubt that would work even under Windows 9x
00:20:55 <ehird> there has to be, surely, see: all the advanced dos programs
00:21:06 <ais523> ehird: you can do cooperative multitasking sort of
00:21:12 <ais523> but you normally need cooperation from both programs
00:21:16 <AnMaster> ehird, TSR?
00:21:22 <ehird> ais523: yeah, we don't control qbasic so that's not an option
00:21:26 <ais523> you effectively have to write your own OS kernel above DOS in order to do competitive
00:21:37 <ais523> also, as AnMaster says, there were TSRs
00:21:46 <ehird> ah, that could work
00:21:46 <ais523> which basically worked by hooking the interrupt table in evil ways
00:21:51 <ehird> have the qbasic program tsr
00:21:54 <ehird> while the game keeps running
00:22:01 <ehird> and then, in the game loop, have a resumeQBasic()
00:22:02 <ais523> I'm not sure if you can get QBasic to TSR
00:22:02 <ehird> at the end
00:22:05 <AnMaster> ehird, I doubt you could do that in qbasic
00:22:08 <ehird> ais523: it can execute arbitrary machine code
00:22:09 <AnMaster> well POKE machine code...
00:22:28 <ehird> so you'd just have a snippet to tsr, then control it from C
00:22:39 <ehird> = Scripting a C DOS game with QBasic! And as a side effect having it crawl to a stop.
00:22:44 <ehird> WHAT NOT TO LIKE
00:23:19 <AnMaster> s/LIKE/DO/
00:25:12 <ehird> hmm
00:25:16 <ehird> ais523: have you got any qbasic programs lying around?
00:25:19 <ehird> i'd love to try them :)
00:25:32 <AnMaster> ahahaha
00:25:32 <ais523> ehird: they were mostly on a really old laptop that doesn't work nowadays
00:25:37 <AnMaster> what a silly typo
00:25:41 <ais523> let me run a quick slocate to see if any survived
00:25:43 <ehird> AnMaster: wut
00:25:56 <AnMaster> buf[n] = '\0'; vs. buf[STRINGALLOCCHUNK] = '\0';
00:26:21 <ais523> nope, apparently none of them did, pity
00:26:33 <AnMaster> I see
00:27:11 <ehird> I'd love a sort of "QBasic 2009" dealie
00:27:18 <ais523> nowadays it's all about Visual Basic
00:27:30 <AnMaster> ais523, VB.NET
00:27:31 <AnMaster> even
00:27:37 -!- zzo38 has joined.
00:27:37 <ehird> yes, but I don't mean actually basic
00:27:44 <ehird> just a really simple language you can do SDL-y stuff in
00:27:45 <ehird> would be nice
00:27:46 <ehird> oh, hi zzo38
00:27:58 <AnMaster> ehird, hm... asm?
00:28:02 <ehird> we.
00:28:02 <ais523> zzo38: http://www.newscientist.com/blogs/shortsharpscience/2009/03/how-moores-law-saved-the-web.html
00:28:04 <ehird> AnMaster: *er
00:28:17 <AnMaster> ehird, if with simple you mean low level
00:28:25 <ais523> anyway, you can get QBasic from http://support.microsoft.com/kb/135315
00:28:27 <ehird> AnMaster: ... no.
00:28:28 <ais523> download olddos.exe
00:28:32 <ais523> and run it in dosbox
00:28:33 <ehird> ais523: I have qbasic...
00:28:35 <AnMaster> ehird, haskell with hsdl?
00:28:40 <ais523> ehird: other people here might not
00:28:42 <ehird> AnMaster: that's not "really simple"
00:28:47 <AnMaster> ehird, well ok
00:29:04 <AnMaster> ehird, hm... Java?
00:29:10 <ehird> ....
00:29:12 <ehird> just stop talking
00:29:19 <AnMaster> ehird, then any suggestions?
00:29:20 <zzo38> The #anagol channel doesn't help. How to put FlogScript on anarchy golf site? Can someone send a message, but I don't use e-mail and am unsure. Still, I do it anyways on the wiki entry for FlogScript but if it is directly on there, it can be together listed with the others!
00:29:27 <ehird> zzo38: You cannot.
00:29:31 <ehird> You must ask shinh to add a language
00:29:49 <ehird> He is on IRC quite often
00:30:05 <zzo38> shinh was on but I received no reply
00:30:21 <AnMaster> ais523, I like gopher, so that link above..
00:30:25 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:30:40 <zzo38> And the tunes.org log seems to be not working right now
00:30:49 <ehird> It works here
00:31:32 <zzo38> The log works now
00:31:38 -!- ais523 has quit.
00:32:40 <zzo38> Maybe my DNS is mixed up and doesn't always work. I am unsure
00:33:29 <ehird> So, I invented a language earlier today.
00:33:48 <ehird> "What BASIC would be if everything was event-based instead of imperative, and there were only assignments and a few other things and stuff."
00:33:54 <ehird> Catchy name, I'm sure you'll agree.
00:34:07 <zzo38> What link for description of language you invented earlier today
00:34:36 <ehird> No link right now
00:34:37 <ehird> Here's an example
00:34:58 <ehird> 0 SUM
00:34:58 <ehird> 0 NUMBERS
00:34:59 <ehird> ON INPUT% N
00:35:01 <ehird> SUM + N SUM
00:35:03 <ehird> NUMBERS + 1 NUMBERS
00:35:05 <ehird> OVER
00:35:07 <ehird> ON INPUT$ =''
00:35:09 <ehird> NUMBERS READ
00:35:11 <ehird> ' NUMBERS, SUM ' READ
00:35:13 <ehird> SUM READ
00:35:15 <ehird> OVER
00:35:17 <ehird> READ actually prints, it means "read out"
00:35:21 <ehird> It should be obvious what it does but how it works is a bit odd
00:35:23 <AnMaster> ehird, that looks like AppleBASIC...
00:35:33 <ehird> Here it is with blank lines
00:35:34 <ehird> 0 SUM
00:35:34 <ehird> 0 NUMBERS
00:35:36 <ehird>
00:35:38 <ehird> ON INPUT% N
00:35:40 <ehird> SUM + N SUM
00:35:42 <ehird> NUMBERS + 1 NUMBERS
00:35:44 -!- oerjan has joined.
00:35:44 <ehird> OVER
00:35:46 <ehird>
00:35:48 <ehird> ON INPUT$ =''
00:35:49 <oerjan> UNDER
00:35:50 <ehird> NUMBERS READ
00:35:52 <ehird> ' NUMBERS, SUM ' READ
00:35:54 <ehird> SUM READ
00:35:56 <ehird> OVER
00:35:58 <ehird> easier to read that way
00:36:02 <AnMaster> oerjan, <ehird> "What BASIC would be if everything was event-based instead of imperative, and there were only assignments and a few other things and stuff."
00:36:05 <AnMaster> is the context
00:36:17 <ehird> The interesting thing is,
00:36:22 <ehird> in "INPUT% N"
00:36:22 <AnMaster> oerjan, hi btw
00:36:25 <oerjan> AnMaster: would i have said "OVER" if i cared about the context?
00:36:25 <ehird> That's actually an assignment
00:36:34 <AnMaster> oerjan, no idea.
00:36:36 <ehird> and INPUT$ ='' is an assignment too, although not how you might think
00:36:37 <oerjan> i mean "UNDER"
00:36:39 <ehird> = is a variable modifier.
00:36:49 <ehird> Basically, everything is an assignment
00:37:09 <ehird> if you assign to a variable starting =, it is compared to the rest and is true if the thing it'd assign is equaal to that.
00:37:16 <oerjan> everything is water
00:37:16 <AnMaster> ehird, did you see my comment about AppleBASIC above?
00:37:21 <ehird> it's "VALUE VARIABLE"
00:37:24 <ehird> thus the 0 SUM
00:37:26 <ehird> so INPUT% N
00:37:27 <ehird> is
00:37:30 <ehird> N = INPUT%
00:37:33 <ehird> and INPUT$ = ''
00:37:34 <ehird> is
00:37:43 <ehird> X = INPUT$; IF X = '' THEN TRUE ELSE FALSE
00:37:50 <ehird> except X isn't actually assigned
00:37:59 <ehird> and, of course, assigning to READ prints out the value
00:38:10 <ehird> $ means string and % number, there's actually two different INPUT commands
00:38:39 <ehird> ON foo\n...\nOVER means "Whenever performing foo happens (is true), do the stuff, then finish,."
00:38:46 * AnMaster tries to come up with rules that would make befunge harder to use
00:38:49 <ehird> Basically, it listens for user input and the like all the time, but by default does nothing.
00:38:54 <oerjan> panta rhei
00:38:54 <AnMaster> what about swapping arguments for -
00:39:01 <ehird> Anyway, I think it's easy to understand from that, does that make sense zzo38?
00:39:12 <AnMaster> so you need 4\- to do the same as 4- now
00:39:14 <ehird> You can also define your own assignments and stuff
00:39:14 <zzo38> Yes it make sense. OK
00:39:23 <ehird> So if you want to condition on multiple stuff you can
00:39:25 <ehird> Like
00:39:33 -!- comex has changed nick to judicaster.
00:39:43 <ehird> if we want to say FOO whenever we get a number below 10
00:40:36 <ehird> BEGIN
00:40:36 <ehird> INPUT% N
00:40:37 <ehird> N < 10
00:40:39 <ehird> IS INBEL10% N
00:40:42 <ehird>
00:40:43 <ehird> ON INBEL10% N
00:40:45 <ehird> 'FOO' READ
00:40:47 <ehird> END READ
00:40:49 <ehird> OVER
00:40:51 <ehird> END is a string with a newline.
00:40:57 <ehird> So, BEGIN\n...\nIS blah means "blah is true if the stuff is true"
00:41:08 <ehird> Pretty simple, like I said it's just event-based BASIC, sort of
00:41:27 <ehird> I called it Simple Tables, because the CPU architechture I thought about that would run it well involved tables for events
00:42:01 <oerjan> <ehird> oerjan is wrong
00:42:10 <oerjan> haven't used tabs in vim, then
00:42:23 <ehird> The machine architechture basically had two instructions
00:42:28 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
00:42:38 <ehird> an instruction that made it easy to condition on an event (which is: any outside input, or clock tick, or whatever)
00:42:43 <ehird> i.e. one instruction, that would just idle then jump
00:42:51 <ehird> And another one which you gave a pointer
00:42:56 <ehird> And it'd read that pointer, and see another pointer
00:42:58 <ehird> read that, execute it
00:43:00 -!- bsmntbombdood has quit (Read error: 145 (Connection timed out)).
00:43:00 <ehird> and go on one
00:43:12 <ehird> So an ON would just add to the pointer list of that event
00:43:20 <ehird> and an ON of an event not seen before would add it to the event table jump
00:45:24 <ehird> bye
00:47:28 -!- zzo38 has quit.
00:48:28 -!- bsmntbombdood has joined.
00:48:47 -!- Jophish has quit (Read error: 104 (Connection reset by peer)).
00:53:07 -!- Corun has joined.
00:53:13 <AnMaster> $ ~/funge/interpreters/rcfunge/funge tests/sigfpe.b98
00:53:13 <AnMaster> Floating point exception
00:53:16 <AnMaster> should I report it
00:53:18 <AnMaster> sigh
00:53:44 <AnMaster> just all division by zero
00:53:51 <AnMaster> which is well defined in befunge to be 0
00:53:58 <AnMaster> this time in various fingerprints
00:55:28 * oerjan thought this was from sigfpe the blogger for a moment
00:55:45 <AnMaster> from who?
00:55:58 <AnMaster> also SIGFPE is floating point exception
00:56:03 <oerjan> http://blog.sigfpe.com/
00:56:14 <oerjan> well i remembered that the next moment
01:06:12 * pikhq is doing a rather absurd DVD ripping spree...
01:06:19 <pikhq> 43 fucking DVDs.
01:06:26 <pikhq> (Farscape, in its entirety)
01:06:26 <oerjan> pikhq the ripper
01:07:23 <pikhq> Fortunately, copying the DVD to disc can be done seperately from the encode. So, just spend a few hours feeding discs in, and let a batch encode run for, oh, say, a week.
01:13:19 <MizardX> http://paste2.org/p/164029 :)
01:14:00 -!- [helloworld] has joined.
01:15:07 <[helloworld]> hello, i'm trying to write simple ROT-program in brain-fuck but i have problems with rot-1 ;/ it doesn't work for all cases. I just increase ascii value, but it doesn't work, where i have got Z, it shoul return A
01:15:11 <[helloworld]> could you hlp me?
01:15:19 * oerjan swats MizardX -----###
01:15:23 <oerjan> I AM NOT EHIRD
01:15:39 <MizardX> You have shared nicks sometime in the last 4 months
01:16:01 <[helloworld]> yes
01:16:02 <oerjan> well yeah i remember him impostering me the other day
01:16:05 <[helloworld]> i asked about that
01:16:20 <[helloworld]> but still have no idea :/
01:17:06 <oerjan> [helloworld]: well you need to test for Z i guess
01:17:19 <oerjan> also, what about non-alphabetic characters?
01:17:29 <[helloworld]> but how can i do simply if() in BF?
01:17:50 <[helloworld]> i start learn BF, i want to write in only for A-Z chars
01:18:26 <[helloworld]> i read only one char increase it and write
01:18:29 <oerjan> take a look at http://esoteric.voxelperfect.net/wiki/Brainfuck_algorithms
01:18:43 <[helloworld]> but i should first check is it a 'Z"
01:19:31 <oerjan> so you probably need the if-then-else algorithm there
01:19:48 <oerjan> http://esoteric.voxelperfect.net/wiki/Brainfuck_algorithms#if_.28x.29_.7B_code1_.7D_else_.7B_code2_.7D
01:20:34 <oerjan> see the beginning of the article for how to interpret the algorithms
01:20:37 <[helloworld]> or maybe modulo
01:20:50 <[helloworld]> what should be easier?
01:21:26 <oerjan> hm maybe
01:21:48 <Sgeo> Does the Rickroll phone number still work?
01:22:23 <oerjan> well the modulo looks short enough
01:23:22 <[helloworld]> but how to use it?
01:24:35 <[helloworld]> or maybe if, it looks easier
01:26:14 <[helloworld]> what is: temp0[-] should i change it? it's forbidden chars
01:26:17 <oerjan> well for if you would need to subtract 'Z' from your character, then test, since all basic testing is for 0
01:26:32 <oerjan> [helloworld]: i said to read the beginning of the article for that
01:27:46 <[helloworld]> i did that and stil don't know ;/
01:28:40 <oerjan> basically the variable names are abbreviations for >'s and <'s to get to that particular spot
01:29:31 <[helloworld]> still don't know, could you give me an example code with if instruction?
01:29:52 <oerjan> you need to first choose where on the tape each variable is
01:31:24 <[helloworld]> but how can i 'save' this vars on the 'tape'
01:31:47 <[helloworld]> i read one chars using ","
01:31:56 <[helloworld]> then where/how should i store it?
01:32:03 <oerjan> yes, so go to the right place before you do ,
01:32:29 <[helloworld]> so this char shoulnd't be the first in my program?
01:32:55 <pikhq> Not unless you want it stored at cell 0.
01:33:02 <pikhq> Which could very well be quite reasonable.
01:33:14 <oerjan> well you want to loop, so it at least needs to be in a loop
01:33:39 <oerjan> but it could be worthwhile to duplicate it, for example cat is ,[.,]
01:34:00 <pikhq> That's generally a good idea, since you *probably* want to check for EOF.
01:34:10 <oerjan> (assuming EOF=0)
01:34:36 <[helloworld]> ok but if I only want read only one char from input?
01:34:51 <pikhq> Then you don't have read in a loop.
01:34:55 <[helloworld]> why should i use loop?
01:35:22 <oerjan> then you don't need to
01:35:33 <[helloworld]> ok, so I read that char and how can i check is it 'Z' or no
01:36:01 <oerjan> you need to subtract the code for 'Z' since all testing is for 0
01:36:21 <oerjan> you can use just a bunch of -'s for starters
01:36:28 <[helloworld]> don't understand, could you paraphrase?
01:36:54 <oerjan> the code for 'Z' is 64+26 = 90
01:37:03 <oerjan> so 90 minuses
01:37:29 <oerjan> there are shorter ways though, but they require some copying around
01:37:36 <MizardX> http://paste2.org/p/164039 <-- updated
01:37:45 <pikhq> There's another page on the wiki for those shorter ways.
01:38:04 <oerjan> yes, Brainfuck constants
01:38:49 <[helloworld]> ok, i have ,---[90 times]. Then i should check is that [90 minuses]==var i have read?
01:39:32 <pikhq> No, you do - 90 times on the var you've read, and then check whether that's 0.
01:40:05 <[helloworld]> how can i chec it?
01:40:10 <[helloworld]> k, but wait
01:40:25 <[helloworld]> if it's not 0 i should write that var++?
01:40:54 <oerjan> yeah you'll need to add 91 back then
01:41:12 <[helloworld]> but stil don't know how to code if
01:41:19 <[helloworld]> how can i check is it 0?
01:41:29 <oerjan> see the if then else algorithm
01:41:52 <[helloworld]> i do that and still don't understand that "pseudo"code
01:41:53 <oerjan> now you need to select cells for temp0 and temp1. x is your original var.
01:42:20 <oerjan> if you let temp0 and temp1 be the next cells you can use the second, simpler version
01:42:41 <[helloworld]> but how to select that cells in BF?
01:42:54 <oerjan> with the right number of >'s and <'s
01:43:10 <oerjan> you need to know what cell you are on before, and which you want to go to
01:43:38 <[helloworld]> could you paraphrase
01:43:48 <oerjan> since you have just subtracted 90 from x, you will still be at x
01:44:00 <oerjan> so to get to temp0 you do >
01:44:15 <oerjan> and to get to temp1 after that, another >
01:44:27 <oerjan> then you go back to x with <<
01:45:08 <[helloworld]> ok, now understand selecting, but stil don't udnerstand why should i use that temps
01:46:38 <oerjan> basically the way to test for 0 is with a [loop]. but you need some trickiness to get out of that loop after just one test, and to know what the test result was
01:47:34 <[helloworld]> i've already known: read my var x and substract 90 from it. Then i have to check is my "new" var is 0
01:47:42 <[helloworld]> and now i don't know how to code it
01:48:32 <oerjan> temp0[-]+temp1[-]x[code1x>-]>[<code2x>->]<<
01:48:41 <oerjan> that's the second version
01:49:00 <oerjan> assuming x is the first cell, temp0 the second and temp1 the third
01:49:41 <oerjan> code1 will start running at x, it will be run if x is nonzero
01:50:11 <oerjan> code2 will also start running at x, it will be run if x is zero
01:50:26 <[helloworld]> so I should change it that code temp0 via > and temp1 via >> ?
01:50:49 <oerjan> it depends where you start from
01:51:18 <oerjan> but assume code1 and code2 don't move (i don't think they need to). then we should know where you are all through that mess
01:51:39 <oerjan> let me change those to >'s and <'s for you
01:52:04 <oerjan> >[-]+>[-]<<[code1>-]>[<code2>->]<<
01:52:09 <[helloworld]> >[-]+>[-]<<[code1x>-]>[<code2x>->]<<?
01:52:24 <[helloworld]> ok
01:54:26 <[helloworld]> it's working :)
01:54:29 <[helloworld]> thanks a lot
01:54:34 <oerjan> :)
01:55:14 <[helloworld]> it's my second BF code :) (first was Hello-world ^^)
01:55:17 <oerjan> you're welcome
01:58:40 <oerjan> oh
01:58:43 <oerjan> happy pi day
02:00:06 <[helloworld]> thanx ;)
02:00:26 <[helloworld]> cya
02:00:32 -!- [helloworld] has quit ("MegaIRC v3.97 http://ironfist.at.tut.by").
02:13:52 <AnMaster> heh
02:13:59 <oerjan> huh?
02:14:05 <AnMaster> if (fspace.bottomRightCorner.y < position->y)
02:14:05 <AnMaster> fspace.bottomRightCorner.y = position->y;
02:14:05 <AnMaster> if (fspace.topLeftCorner.y > position->y)
02:14:05 <AnMaster> fspace.topLeftCorner.y = position->y;
02:14:10 <AnMaster> that generates better code
02:14:11 <AnMaster> than
02:14:16 <AnMaster> if (fspace.bottomRightCorner.y < position->y)
02:14:16 <AnMaster> fspace.bottomRightCorner.y = position->y;
02:14:16 <AnMaster> else if (fspace.topLeftCorner.y > position->y)
02:14:16 <AnMaster> fspace.topLeftCorner.y = position->y;
02:14:20 <AnMaster> which is rather weird
02:14:29 <AnMaster> oerjan, don't you agree?
02:14:56 <oerjan> huh, again
02:15:07 <AnMaster> oerjan, you agree then or?
02:15:12 <oerjan> yes
02:15:14 <AnMaster> anyway. reason: x86 has "conditional move", avoiding overhead of branching.
02:15:20 <AnMaster> with else if you can't use it
02:15:29 <AnMaster> since you need to jump past then
02:15:45 <AnMaster> oerjan, so the former is in fact faster
02:15:51 <AnMaster> due to less branching
02:15:59 <oerjan> ah so pipelining makes the first do more at one time, essentially?
02:16:04 <AnMaster> in fact the former has no branches
02:16:05 <AnMaster> at all
02:16:59 <AnMaster> oerjan, well possibly that too
02:17:02 <AnMaster> but don't think so
02:17:12 <AnMaster> but mainly this is due to branch prediction
02:18:13 <oerjan> oh well
02:18:45 <AnMaster> oerjan, http://paste.lisp.org/display/77000
02:19:09 <AnMaster> fspace there is really fspace.topLeftCorner.x
02:19:13 <AnMaster> but they have same address
02:19:24 <AnMaster> first member of struct
02:19:39 * oerjan gives up understanding that
02:19:49 <oerjan> (tldr essentially)
02:19:56 <AnMaster> oerjan, well it is a bit confusing since all this is in RIP addressing
02:20:08 <AnMaster> that is relative the program counter
02:20:23 <AnMaster> oerjan, the comments show the expanded values
02:20:43 <AnMaster> oerjan, what is "tldr"?
02:20:44 <oerjan> i think you are misunderstanding me. i am saying i cannot be bothered to try and understand that.
02:20:52 <oerjan> "too long, didn't read"
02:23:09 <AnMaster> oerjan, since "position" is passed in registers on amd64 this is even more confusing
02:23:13 <AnMaster> it isn't even on stack
02:24:17 -!- neldoreth has quit (Read error: 113 (No route to host)).
02:36:53 -!- olsner has joined.
03:26:14 -!- sebbu2 has joined.
03:43:52 -!- sebbu has quit (Success).
03:46:33 -!- GreaseMonkey has joined.
04:03:46 -!- oerjan has quit ("Good night").
04:04:47 -!- Corun has quit ("Leaving").
04:37:13 <mad> Hmm
04:37:39 <mad> I'm trying to design a set of cpu/sound/video hardware for something like a demo
04:37:58 <mad> probably to just run it in an emulator
04:38:19 <mad> and I'm out of inspiration
04:38:33 <mad> especially for the cpu part
04:48:12 <mad> also should be 16 bits-ish and possible to implement on FPGAs
04:50:02 <psygnisfive> BITCHES
04:51:12 <lament> 16 bitches?
05:06:41 <psygnisfive> yes
07:37:25 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:48:32 -!- mad has quit ("Radiateur").
09:04:56 -!- MigoMipo has joined.
09:53:57 -!- GreaseMonkey has quit ("Client Excited").
10:06:01 -!- Slereah has joined.
10:17:08 -!- neldoreth has joined.
10:18:06 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
10:24:14 -!- tombom has joined.
10:25:46 -!- KingOfKarlsruhe has joined.
10:35:56 <fizzie> Oh, and yet another conversion variant: http://zem.fi/~fis/qbc.html has a lot more authentic colors.
11:15:08 -!- Mony has joined.
11:29:13 -!- MigoMipo_ has joined.
11:30:48 -!- MigoMipo has quit (Nick collision from services.).
11:30:54 -!- MigoMipo_ has changed nick to MigoMipo.
11:40:32 * AnMaster is irritated... Spent three hours trying to track down a "rootkit" detected by chkrootkit, only to find and confirm it was a false positive.
11:40:54 <AnMaster> (of course I did it from bootcd too, so even more wasted time)
11:43:02 -!- sebbu2 has changed nick to sebbu.
13:15:07 -!- neldoreth has quit ("Lost terminal").
13:15:23 -!- neldoreth has joined.
13:15:49 -!- Jophish has joined.
13:21:13 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:12:17 -!- Corun has joined.
14:46:13 -!- BeholdMyGlory has joined.
15:16:05 -!- FireyFly has joined.
15:26:14 -!- neldoreth has quit (Read error: 110 (Connection timed out)).
15:32:57 -!- neldoreth has joined.
15:52:20 -!- Corun has quit ("This computer has gone to sleep").
15:53:04 -!- Corun has joined.
15:55:33 -!- KingOfKarlsruhe has joined.
16:15:00 -!- Corun has quit ("Leaving").
16:40:34 -!- tombom has quit ("Peace and Protection 4.22.2").
16:42:39 <ehird> fizzie: the background is blue, silly.
16:42:51 <ehird> also, a qbcnou would be nice
16:42:52 <ehird> 03:50 psygnisfive: BITCHES
16:42:56 <ehird> "but i don't say bitches!"
16:43:01 <ehird> MizardX: lol i am not ais523 :D
16:44:22 <MizardX> There is an updated version: http://paste2.org/p/164039
16:44:58 -!- Judofyr has joined.
16:45:01 <MizardX> I removed the spourious nick changes that made the script think you where the same person
16:46:26 -!- Corun has joined.
16:50:25 <ehird> MizardX: that's a rather limited selection of logs
16:51:04 <MizardX> Yes. Only since november.
16:54:33 <ehird> I'll write a script to download all of clog
16:57:30 <AnMaster> ehird, English question:
16:57:51 <AnMaster> "Move the IP forward one step" or "Move the IP forwards one step"?
16:57:55 <AnMaster> and also:
16:58:03 <AnMaster> "Move the IP backward one step" or "Move the IP backwards one step"?
16:58:14 <ehird> AnMaster: 1) either works, the latter is more pronouncable 2) either works, the latter sounds a lot better
16:58:20 <AnMaster> mhm
16:58:23 <ehird> so I'd go for the latter both times
16:58:40 <AnMaster> ehird, yeah I thought "backwards" sounded better, but I wasn't sure about forward(s)
16:58:41 <AnMaster> thanks
16:59:08 <ehird> np
16:59:25 <AnMaster> ehird, btw did you see that code I posted yesterday, where if was faster than else if?
16:59:26 <AnMaster> :D
16:59:57 <ehird> yes
17:00:23 <ehird> anyone know curl here?
17:00:25 <AnMaster> weird isn't it? I mean, logically, just testing one branch should be faster.
17:00:37 <AnMaster> ehird, as in libcurl API or curl the command line tool?
17:00:40 <ehird> latter
17:00:49 <AnMaster> ah well then I'm not the right person to ask
17:00:55 <AnMaster> well I used curl a bit
17:01:01 <AnMaster> so I might be able to help
17:01:06 <AnMaster> what is the issue?
17:01:12 <ehird> I just want it to output a one-line progress bar, instead of this monstrosity:
17:01:13 <ehird> % Total % Received % Xferd Average Speed Time Time Time Current
17:01:14 <ehird> Dload Upload Total Spent Left Speed
17:01:16 <ehird> 100 277k 100 277k 0 0 71867 0 0:00:03 0:00:03 --:--:-- 81084
17:01:35 <ehird> hmm, well actually they're so small I don't need a progress bar
17:01:38 <ehird> oh well, thanks anyway :P
17:01:39 <AnMaster> ehird, have you see what wget outputs?
17:01:54 <AnMaster> -#/--progress-bar Display transfer progress as a progress bar
17:01:57 <AnMaster> ehird, tried that ?
17:02:00 <ehird> ah, thanks :)
17:02:21 <AnMaster> ehird, from curl --help | grep progress
17:02:25 <AnMaster> -_-
17:02:31 <ehird> well sorry ;_;
17:02:45 <AnMaster> ehird, no problem
17:03:27 <AnMaster> just wanted to help you in the future. You know you always tell me to use google so to keep the balance I have to tell you to use --help/man/info/grep/whatever
17:03:29 <AnMaster> ~
17:10:31 -!- Corun has quit ("This computer has gone to sleep").
17:23:08 <ehird> I wrote a script to download all clog logs (or, if you already have them, update them to the current day)
17:23:12 <ehird> It also renames them to YYYY-MM-DD
17:23:21 <ehird> It'd be nice if I could fix the times too; anyone know clog's timezone? Well, I could check.
17:23:22 -!- ais523 has joined.
17:23:25 <ehird> hi ais523
17:23:30 <ais523> hi ehird
17:23:49 <ais523> also, /is/ my-cars (car . cdr)?
17:24:01 <ehird> yes
17:24:07 <ehird> it's the lisp translation of "My other car is a cdr"
17:24:14 <ais523> heh
17:24:33 <ais523> surely people would use a list not a cons cell to list their cars, though?
17:24:38 -!- ais523 has set topic: (eq? (cadr my-cars) 'cdr) | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
17:24:40 <ehird> no
17:24:44 <ehird> "my other" means there's only two
17:24:51 -!- ehird has set topic: (eq? (cdr my-cars) 'cdr) | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
17:24:57 <ehird> it's a pair of cars
17:25:14 <ais523> hmm, ok
17:25:20 <ais523> but cons cells are inherently ordered
17:25:23 <ais523> I suppose lists are too, though
17:27:17 <ehird> My script is currently downloading aaaall the tunes.org logs.
17:27:31 <ehird> It automatically only downloads ones you haven't downloaded yet, too.
17:27:49 <ehird> I want to make it fix the timezones, too
17:27:50 <ehird> to UTC
17:28:07 <ehird> hmm
17:28:12 <ehird> it's 16: here, 09: there
17:28:19 <ehird> so UTC-7
17:28:32 <ehird> hmm
17:28:33 <ehird> agh
17:28:38 <ehird> it crosses the day line, of course
17:28:42 <ehird> so I'd have to move lines between files
17:28:49 <ehird> :\
17:28:54 <ehird> ais523: worth it, do you think?
17:29:06 <ais523> yes
17:29:19 <Azstal> it would normally be UTC-8, though
17:29:28 <ehird> oh, right
17:29:32 <ehird> does UTC have daylight savings?
17:29:38 <Azstal> or, -8 from us, anyway
17:29:39 <ehird> if not, I can just blanket -8
17:30:52 <ehird> hmm
17:30:55 <ehird> should be simple enough
17:31:10 <ehird> if it's N hours away from midnight, strip from file onwards and append to 'Putthisinthenextfile'
17:31:20 <ehird> when you make a file, splurge putthisinthenextfile after the first 'starting' line
17:31:22 <ehird> repeat
17:31:37 <ehird> if you come to today - 1, disregard putthisinthenextfile (It never downloads an incomplete log)
17:34:37 <ehird> I'll make it download first, though
17:36:59 <ehird> anyway, the net effect should be -- wait a few minutes, get YYYY-MM-DD logs with UTC timestamps, fully greppable
17:51:59 <ehird> you know what irritates me?
17:52:12 <ehird> OOP weenies "praising" functional programming by saying it has things to contribute to architechture
17:52:22 <ehird> because, of course, _replacing OOP_ cannot possibly be a productive path
17:52:37 <ais523> functional and OOP simultaneously is of course entirely possible
17:52:38 <ehird> no, we just have to stick and pile crap on to our existing model, see? those functional languages are just wacky things we'll cherry pick from
17:52:45 <ehird> ais523: yes, but I mean the OOP C# Java sort of people
17:52:46 <ehird> always say that
17:52:48 <ais523> that doesn't mean it's a good idea for all programs
17:53:05 <ehird> they never consider that maybe replacing OOP is better than adding on to it
17:53:14 <ehird> it's always things "contributing" to mainstream languages
17:55:26 <ehird> so anyway
17:55:34 <ehird> should I write a book about esolangs and esoprogramming
17:55:40 <ehird> i mean I've been toying with the idea for a while.
18:04:23 <ais523> so have I
18:04:32 <ais523> but our books would probably look very different
18:04:37 <psygnisfive> ehird: i changed my ways just for you.
18:04:56 <ehird> ais523: why? :P
18:05:03 <ais523> Asztal: I misread UTC-8 as UTF-8, and got confused for a moment
18:05:06 <psygnisfive> its a symbol of my love *-*
18:05:08 <ehird> well, mine was gonna have a loot of theoretical stuff
18:05:12 <ehird> and then like some practical tipz
18:05:13 <ais523> ehird: because we seem to disagree stylistically on everything
18:05:21 <ais523> but that's not too dissimilar from what I was planning
18:05:30 <ais523> I think I'd include in-depth discussions of many of the most popular esolangs, though
18:05:40 <ais523> I wonder how to measure esolang popularity? Page-hits on the wiki?
18:05:50 <ehird> I was maybe gonna do two books
18:05:58 <ehird> one about esoprogs & esolangs in general
18:06:04 <ehird> one about how to actually write a damn program in brainfuck/intercal/etc
18:06:10 <ais523> two sections of the same book might work better
18:06:13 <ehird> mm
18:06:27 <ehird> I can't imagine they'd be too big, yeah :P
18:06:56 <ais523> wow, http://esoteric.voxelperfect.net/wiki/Special:Popularpages is pretty interesting
18:07:06 <ais523> I'm surprised Ook! is so far up, for instance
18:07:19 <ais523> and that INTERCAL is so far down
18:07:29 -!- Judofyr_ has joined.
18:07:53 <ehird> so I found a qbasic game that dosbox was too slow to run X
18:07:54 <ehird> XD
18:08:02 <ais523> you can speed it up
18:08:06 <ehird> it had "delay = 10000"
18:08:09 <ais523> it was obviously designed for more modern computers
18:08:12 <ehird> I'm setting it to "delay = 0"
18:08:22 <ehird> ais523: it was made in 1995 by a friend; but it was his second ever game
18:08:29 <ehird> for example, all IFs were just gotos, etc
18:08:31 <ais523> heh
18:08:38 <ais523> that's before I was born
18:08:38 <ehird> so, it's probably a large artifact of the code
18:08:43 <ehird> ais523: what, 1995?
18:08:50 <ais523> oh, misread it as 1985
18:09:00 <ehird> It was slightly after I was born, I think
18:09:27 <ehird> ais523: what cpu cycles do you have your qbasic dosbox?
18:09:31 <ehird> mine is 3000
18:09:42 <ais523> I leave it on default
18:09:45 <ais523> I don't use it much, you see...
18:09:51 <ehird> it'll be in the title bar
18:11:02 <ehird> wow, this game is fancy, it even has an icon.
18:14:14 <ehird> I can't type backslash, argh
18:20:17 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
18:25:16 <ehird> Huh.
18:25:17 <ehird> BASIC is portable.
18:25:25 <ehird> I just translated some C64 basic to QBasic trivially. :P
18:25:31 <ais523> I wouldn't be surprised if there was at least one portable version by now
18:25:32 <ehird> (graphical)
18:25:40 <ais523> arguably, VB.NET is portable due to Mono, but that's hardly BASIC
18:26:55 <ehird> wait, spectrum
18:26:55 <ehird> not c64
18:26:59 <ehird> Spectrum BASIC:
18:26:59 <ehird> 10 BORDER 0; PAPER 0
18:27:00 <ehird> 20 FOR n = 1 TO 7
18:27:02 <ehird> 30 INK n
18:27:04 <ehird> 40 CIRCLE 100+n*10,100+n*10,50
18:27:06 <ehird> 50 NEXT n
18:27:08 <ehird> QBasic:
18:27:10 <ehird> SCREEN 12
18:27:12 <ehird> FOR n = 1 TO 7
18:27:14 <ehird> COLOR n
18:27:17 <ehird> CIRCLE (1==+n*10,100+n*10),50
18:27:18 <ehird> NEXT n
18:27:20 <ehird> err
18:27:22 <ehird> CIRCLE (1+n*10,100+n*10),50
18:33:00 -!- oerjan has joined.
18:35:35 <oerjan> <lament> 16 bitches?
18:35:48 * oerjan imagines some kind of counting song
18:40:48 <fizzie> ehird: It's not blue in my qbasic.exe help-browser by default; it's black there, even though the edit screen is white-on-blue.
18:40:57 <ehird> oh right
18:41:36 <fizzie> Although at least quickbasic has a colour configura-o-tron for the UI.
18:43:59 <ehird> http://jsspeccy.zxdemo.org/
18:44:09 <ehird> all it needs now is a BASIC editor
18:44:47 -!- Judofyr_ has changed nick to Judofyr.
18:50:49 <ehird> ais523: you know how you said the shuffle should have buttons on the headphones?
18:50:50 <ehird> it _does_
18:50:55 <ais523> wow
18:50:56 <ehird> I just realised
18:51:01 <ais523> but unfortunately, it isn't just the headphones?
18:51:14 <ehird> There's a thin unit: http://images.apple.com/ipodshuffle/gallery/images/ipodshuffle_image1_20090311.jpg
18:51:18 <ehird> but yes, not quite all in those tiny tiny earphones
18:51:53 <Slereah> You have a thin unit
18:51:53 <ehird> http://images.apple.com/ipodshuffle/gallery/images/ipodshuffle_image3_20090311.jpg <- headphone cable controls
18:51:53 <ehird> Slereah: Oh burn.
18:51:56 <Slereah> kekeke < `?>
18:55:25 <oerjan> kekeke? is that some kind of french laugh?
18:55:45 <ehird> Korean.
18:56:02 <oerjan> aha
18:56:19 <Deewiant> It's "lololo" put through the Orcish/Human filter in World of Warcraft
18:56:43 <Deewiant> If I remember correctly, anyway
18:56:48 <oerjan> hm
18:57:27 <Deewiant> Evidently "kek" is "lol" but "kekeke" is "hahaha" according to Wikipedia
18:58:10 <ehird> no
18:58:13 <ehird> it originates from starcraft iirc
18:58:26 <ais523> there's an orcish/human filter on world of warcraft?
18:58:26 <Deewiant> The origin is the Korean
18:58:28 <ehird> or at least, common usage
18:58:34 <ais523> how does it work, just swapping certain letters?
18:58:45 <Deewiant> I think so, yes, with some hardcoded words (like "lol" -> "kek")
18:58:54 <ehird> it doesn't, considering the < `?`> smiley next to it it's obviously meant to be korean
18:59:27 <Deewiant> ehird: It originates in Warcraft, to be precise
18:59:38 <oerjan> wspanig elttres
18:59:47 <Deewiant> I.e. Warcraft: Orcs and Humans from 1994
18:59:53 <Deewiant> Or 1993? Not sure
18:59:56 <oerjan> *wspaipgn
19:01:21 <oerjan> ot wspa, ro ont ot wspa, httas' hte uqseitno
19:02:17 <Deewiant> s/httas'/htta si/
19:02:32 <oerjan> an ode to orcs enjoying hot spas, obviously
19:03:54 <oerjan> octnartcoisn tfw!
19:04:08 <pikhq> Qapla'!
19:04:14 <ais523> hmm... it seems to be mostly anagramming rather than substituting letters
19:04:37 <oerjan> ais523: i hope you are not thinking i am being authentic here
19:05:01 <oerjan> or does that mean i'm more authentic than i thought?
19:06:06 -!- kar8nga has joined.
19:06:28 <pikhq> Hell, now that I see the quote in question, make that "taH pagh, taHbe"...
19:07:43 <psygnisfive> :o
19:07:46 <psygnisfive> KLINGON!?
19:07:47 <psygnisfive> :o
19:07:48 <oerjan> my klingon is rather rusty.
19:07:57 <oerjan> as in, dead before birth, really
19:08:00 <Slereah> QAPLAH
19:08:05 <psygnisfive> i dont know klingon
19:08:37 <oerjan> Slereah: i do vaguely recall it being case sensitive, though
19:08:42 <Slereah> Yes
19:08:43 <psygnisfive> it is.
19:08:53 <Slereah> Well, the transliteration anyway
19:08:57 <psygnisfive> klingon uses caps and lowercase for different sounds
19:09:02 <Slereah> They don't
19:09:06 <psygnisfive> they do.
19:09:10 <psygnisfive> in the transliterations.
19:09:13 <Slereah> It's the transliteration that does that
19:09:18 <Slereah> Klingon has an alphabet
19:09:22 <psygnisfive> yes i know this
19:09:24 <psygnisfive> thank you.
19:09:28 <psygnisfive> it has two, actually
19:09:31 <psygnisfive> but thats besides the point
19:09:47 <ehird> HOEFLER TEXT
19:09:59 <psygnisfive> hoefler text?
19:10:04 <ehird> Yes!
19:10:26 <psygnisfive> and why is this font interesting now?
19:10:33 <ehird> It is awesome.
19:10:37 <psygnisfive> ok
19:10:43 <ehird> Also, *typeface.
19:10:44 <psygnisfive> its italic Q is pretty neat
19:10:45 * oerjan hoefles around
19:11:28 <psygnisfive> text figures <3
19:15:31 * oerjan swats a wiki spammer -----###
19:15:45 * ais523 catches the wiki spammer in a butterfly net -----\XXXXX/
19:15:45 <oerjan> he'll never know what hit him
19:16:28 <oerjan> i don't think the gentle butterfly net is appropriate for spammers
19:16:41 <ais523> well, it's to hold them still while you swat them
19:16:54 <fizzie> Why does the gentle butterfly net remind me of a frying pan?
19:17:10 <ehird> Hello! I am testing stuff. Please feel free to totally ignore me.
19:17:11 <ehird> Thank you!
19:17:18 <ais523> frying pans are similar but harder and more painful
19:17:18 -!- Corun has joined.
19:17:22 <ais523> also they have a smaller volume
19:17:39 <fizzie> Frying pans are presumably preferred by the really hard-core butterfly enthusiasts.
19:17:54 <oerjan> um, you would be surprised
19:18:32 <ehird> http://screencast.com/t/jlgWoqvK (needs flash)
19:18:48 <ais523> ehird: just do it all command-line and use termcast
19:18:53 <ehird> heh
19:18:55 <ais523> that doesn't need flash, or indeed a web browser
19:19:07 <ehird> it needs telnet. and it requires you to use command line tools.
19:19:19 <ehird> what do you mean needing telnet is a problem? needing flash isn't either.
19:19:21 <ais523> well, it's for broadcasting terminals, of course it requires command line tools
19:19:40 <ais523> besides, Windows Vista comes with telnet by default, and not Flash
19:19:46 <ais523> likewise for every other common OS, I think
19:19:55 <ais523> but doing it with windows is more impressive
19:19:55 <ehird> why are you using a computer? use a television. that doesn't need RAM, or indeed a CPU. well, it's for broadcasting images, of course it requires passivity
19:20:05 <ehird> besides, my house came with a TV, but no computer
19:20:23 <Azstal> I'm not sure Windows Vista comes with telnet by default
19:21:00 <ais523> it does, it's just not enabled by default
19:21:04 <Azstal> Well, it does, but you have to install it.
19:21:06 <fizzie> windowshelp.microsoft.com sez: "By default, Telnet is not installed with Windows, but you can install it by following the steps below."
19:21:12 <ais523> no install is needed
19:21:15 <ais523> at least, it's on the computer
19:21:16 <ehird> Huge video capture is huge! I bet this one will be like 15MB+.
19:21:17 <ais523> but you have to turn the thing on
19:21:19 <ehird> Stupid FLV.
19:21:35 <ehird> Testing, testing.
19:22:13 <fizzie> Installing is what they call "turning it on" on that windows help thing, though. Although admittedly the installation instructions go to some "Turn Windows features on or off" page.
19:22:45 <fizzie> Also other very good questions there: "Telnet doesn't look like Windows. Why?"
19:23:03 <fizzie> "I've got the Telnet window open. Now what?"
19:23:52 <ais523> interesting fact: for ages, Windows NT only supported one locally logged in person at a time, but allowed any number of users to telnet in
19:25:30 <ehird> That may be a fact, but I'm not sure why it's so interesting. :P
19:25:57 -!- oerjan has quit ("And then, a miracle occurs").
19:26:23 <ehird> ...and I am here to capture this miracle forever and ever.
19:26:30 <ehird> Oh, I feel so special to be selected as the sole receiver.
19:26:37 <ehird> Whatever will become of my life when this wonder is over?
19:26:43 <fizzie> It's interesting because it has 2*2*2*3*5 letters.
19:26:47 <ehird> I'll flip burgers or something. I'll burger flips.
19:26:50 <ehird> I am a burger.
19:26:53 <ehird> Arem
19:26:55 <ehird> Aren't you?
19:27:05 <fizzie> Is "burger" a verb?
19:27:17 <olsner> of course
19:27:30 <olsner> otherwise you wouldn't be able to say "burger flips"
19:27:57 -!- Corun has quit ("This computer has gone to sleep").
19:30:19 <ehird> http://screencast.com/t/vdo7feUDvw <-- Burgers, miracles, etc.
19:30:28 <ehird> Can you tell I'm testing?
19:30:46 <fizzie> No, you sound just like you usually do.
19:30:51 <ehird> :-D
19:31:18 <ehird> It'd be nice if Jing was less... laggy. And less SWF.
19:31:26 <ehird> maybe I'll write my own capturerotron
19:36:47 <ehird> http://www.newartisans.com/2009/03/hello-haskell-goodbye-lisp.html <- Yet another joins the club.
19:49:06 -!- ais523 has quit (Remote closed the connection).
19:49:47 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
19:50:11 -!- BeholdMyGlory has joined.
20:18:57 -!- Mony has quit ("Quit").
20:23:14 <judicaster> ehird: what IRC client is that
20:23:20 <ehird> limechat
20:23:22 <ehird> OS X only
20:23:28 <ehird> http://limechat.net/mac/
20:23:29 <ehird> well
20:23:32 <judicaster> looks better than colloquy
20:23:33 <ehird> there is a limechat for windows by the same author
20:23:36 <ehird> but it's totally separate
20:23:37 <ehird> and it is
20:24:05 <ehird> also
20:24:06 <ehird> "Note that you need to install it even if you are using OSX 10.5.5. "
20:24:07 <ehird> ignore that
20:24:09 <ehird> it's bullshit
20:24:15 <ehird> just download limechat, it works :P
20:26:51 <ehird> omg
20:26:54 <ehird> there's limechat for the iphone
20:26:56 <ehird> why nobody tell me
20:27:08 <ehird> http://limechat.net/iphone/images/serverlist.png
20:27:16 * ehird grabs
20:27:44 <ehird> hrmps, £3
20:32:37 <ehird> AnMaster: should I learn erlang?
20:32:59 <ehird> http://gist.github.com/79022 On second thoughts, maybe not.
20:46:30 <ehird> oh, screen 13 is trivial
20:46:57 <ehird> x+(y*w)
20:47:00 <ehird> where w = width of stream
20:47:04 <ehird> screen
20:48:35 <AnMaster> hi
20:48:39 <ehird> hi AnMaster
20:48:40 <AnMaster> ehird, maybe. If you want.
20:48:45 <ehird> I got fast graphics working in qbasic
20:49:04 <AnMaster> oh? nice
20:49:14 <ehird> I'll show the code as soon as this finishes running :P
20:49:25 <AnMaster> ehird, have guests today that stay over night. Not much time to talk.
20:49:30 <Azstal> using poke inset of pset?
20:49:31 <ehird> kay
20:49:35 <ehird> Asztal: yeah, pretty much
20:49:36 <Azstal> instead*
20:49:46 <ehird> it's for screen 13 (@AnMaster: 320x200, 256 col)
20:49:48 <AnMaster> (relatives...)
20:49:52 <ehird> but I couldn't get it working before
20:49:57 <ehird> now it seems to work
20:50:04 <AnMaster> mhm
20:50:11 <AnMaster> @AnMaster: 320x200, 256 col <-- ?
20:50:17 <ehird> that's what screen 13 i
20:50:18 <ehird> s
20:50:23 <AnMaster> k
20:50:33 <AnMaster> ehird, screen 13 meaning?
20:50:38 <ehird> screen mode 13
20:50:40 <AnMaster> ah
20:50:41 <ehird> QBasic: SCREEN 13
20:51:08 <AnMaster> ehird, I think "the 13th terminal" which is very different
20:51:12 <ehird> heh
20:51:17 <AnMaster> thought*
20:51:23 -!- neldoreth has quit ("leaving").
20:51:28 -!- neldoreth has joined.
20:51:40 <ehird> Looks like it's finishing off...
20:51:42 <AnMaster> ehird, and it just didn't make sense for DOS!
20:51:53 <ehird> you should see my multi display DOS setup
20:51:54 <ehird> it's hardcore./
20:52:06 <ehird> i have a 17" text display
20:52:11 <AnMaster> <ehird> http://gist.github.com/79022 On second thoughts, maybe not. <-- wth
20:52:12 <ehird> a 14" 640x480 16-col display
20:52:17 * AnMaster tries to understand that code
20:52:21 <ehird> and a 15" 320x200 256-col display
20:52:23 <ehird> AnMaster: it's from erlang
20:52:25 <ehird> 's source code
20:52:26 <ehird> otp, thing
20:52:29 <ehird> err
20:52:31 <ehird> erl_eval
20:52:32 <ehird> or something
20:52:46 <judicaster> any language that has a fun keyword is cool with me
20:52:57 <ehird> fun awesome -> radical
20:53:14 <AnMaster> ehird, it doesn't make much sense
20:53:23 <ehird> why not
20:53:59 <AnMaster> ehird, well maybe in context. But you can call a fun with unknown arguments count at compile time in cleaner ways
20:54:11 <AnMaster> apply(Fun, Args) -> term() | empty()
20:54:11 <AnMaster> Types Fun = fun()
20:54:11 <AnMaster> Args = [term()]
20:54:16 <AnMaster> that is a BIF even
20:54:27 <ehird> er, no
20:54:28 <ehird> becaus
20:54:29 <ehird> e
20:54:32 <ehird> that's in the evaluator
20:54:35 <ehird> it isn't an actual function
20:54:37 <ehird> thus the eval_fun shit
20:55:24 <AnMaster> ehird, well that code assigns a fun(a,b,c,...) to F that calls eval_fun
20:55:36 <ehird> I'm not dumb, I can read i
20:55:37 <ehird> t
20:55:38 <AnMaster> ehird, I'm not sure why this is useful.
20:55:39 <ehird> it's just hdeous
20:55:41 <ehird> hideous
20:55:44 <AnMaster> I mean. what is the context
20:55:46 <AnMaster> and I agree
20:56:08 <AnMaster> what source file is it from?
20:56:16 <ehird> dunno
20:56:43 <ehird> Howdy neighbor! This here's sup-config, ready to help you jack in to
20:56:43 <ehird> the next generation of digital cyberspace: the text-based email
20:56:45 <ehird> program. Get ready to be the envy of everyone in your internets
20:56:47 <ehird> with your amazing keyboarding skills! Jump from email to email with
20:56:48 <AnMaster> hm /usr/lib/erlang/lib/stdlib-1.15.5/src/erl_eval.erl
20:56:49 <ehird> nary a click of the mouse!
20:56:50 <AnMaster> it seems
20:56:51 <AnMaster> wth
20:56:51 <ehird> — sup-config program
20:58:30 <AnMaster> ehird, hm. It seems very weird indeed. The normal way would be to compile to erlang byte code then run that iirc
20:58:32 -!- Sgeo has joined.
20:58:43 <AnMaster> you can do that sort of stuff
20:59:31 <AnMaster> This module provides an interpreter for Erlang expressions. The expressions are in the abstract syntax as returned by erl_parse, the Erlang parser, or a call to
20:59:31 <AnMaster> io:parse_erl_exprs/2.
20:59:33 <AnMaster> hm
21:03:35 <AnMaster> ehird, and yes that code was horrible. But then it isn't something I ever needed to do thankfully
21:04:02 <AnMaster> it seems erl_eval is meant to support safe evaluation of erlang code
21:04:17 <AnMaster> with callbacks for all function calls and such
21:04:34 <AnMaster> During evaluation of a function, no calls can be made to local functions. An undefined function error would be generated. However, the optional argument LocalFunction‐
21:04:34 <AnMaster> Handler may be used to define a function which is called when there is a call to a local function. The argument can have the following formats:
21:11:18 <ehird> AnMaster: here's the code
21:11:19 <ehird> SCREEN 13
21:11:23 <ehird> DEF SEG = &HA000
21:11:26 <ehird> FOR n = 0 TO 32767
21:11:29 <ehird> FOR x = 0 TO 100
21:11:34 <ehird> POKE x + (1 * 320), n
21:11:35 <ehird> NEXT x
21:11:36 <ehird> NEXT n
21:11:47 <ehird> it's `x + (y * 320)`
21:11:58 <ehird> anyway, that flashess a band of colour on the second line of the screen.
21:11:59 <ehird> a lot.
21:15:30 <fizzie> Next you'll be graduating to VGA palette rotation tricksies. (That's also trivial: OUT &H3C8, <palette index> followed by OUT &H3C9, <red>; OUT &H3C9, <green>; OUT &H3C9, <blue> with rgb values in the [0, 63] range; and it auto-advances, so you can just OUT &H3C8, 0 and then feed the whole 256-color palette in the 0x3c9 port.
21:16:40 <ehird> fizzie: what does that buy you?
21:35:22 <AnMaster> nice
21:36:11 <AnMaster> btw confusing: callgrind reports that 0 system time was spent in fclose() or fwrite() when writing files. Even though commenting out those calls actually reduces run time...
21:36:12 <AnMaster> wth
21:36:25 <AnMaster> it reports the system time just fine for other stuff
21:36:31 <fizzie> You can do "animation" fast without screen-redrawing. As long as you're happy with just manipulating palette values.
21:36:47 <AnMaster> ==16002== L2 refs: 123,201 ( 28,492 rd + 94,709 wr)
21:36:47 <AnMaster> ==16002== L2 misses: 30,943 ( 21,054 rd + 9,889 wr)
21:36:47 <AnMaster> ==16002== L2 miss rate: 0.0% ( 0.0% + 0.2% )
21:36:54 <AnMaster> I don't believe valgrind can count?
21:37:04 <AnMaster> the miss rate seems way off
21:38:20 <AnMaster> or, if it is actually relative L1 refs in the table above...
21:38:21 <AnMaster> http://paste.lisp.org/display/77046
21:38:26 <AnMaster> then it is very confusing output
21:46:45 <fizzie> (And of course it also "buys you" a less silly color palette -- well, less silly for many uses -- than the default 256-color one.)
21:49:38 <fizzie> Stop all the QBasic nonsense before I catch the qb bug too, though. I'm already very close to running dosbox; probably would've started it already, except I'm afraid it might use enough CPU to make the virtualbox windows vm get some audio-playing glitches.
21:58:26 <fizzie> The "Version Differences" list at http://zem.fi/~fis/qbc.html#QEw4MDBm should make you appreciate QBasic over the older pre-5 DOS GW-BASIC.
22:16:01 -!- oerjan has joined.
22:17:01 <oerjan> <ehird> Whatever will become of my life when this wonder is over?
22:18:18 <oerjan> you will be caught up in a struggle between religious sects with fiercely different interpretations of the miracle. as a result you will end up being burned on the stake, although that will still be many years in the future.
22:18:36 * oerjan hopes this cleared it up.
22:20:23 <fizzie> Are you sure you should be revealing your information-of-the-future stuff to us? I understand it's usually very hush-hush.
22:20:58 <oerjan> not this one. it is a self-fulfilling prophecy, and those are important to get into the open.
22:22:43 <AnMaster> hm
22:23:01 <AnMaster> what exactly does this mean: char* const args[]
22:23:03 <AnMaster> in C
22:23:16 <oerjan> black magic.
22:23:22 <AnMaster> int execvp(const char *file, char *const argv[]);
22:23:24 <AnMaster> is the context
22:23:26 <AnMaster> the POSIX API
22:23:34 <oerjan> at least that's how i understand const in C (i.e., not very well at all)
22:23:52 <AnMaster> well I understand const char*, just not char* const
22:24:12 <fizzie> It's a constant pointer.
22:24:25 <AnMaster> hm
22:24:36 <fizzie> I mean, "const char*" is a pointer to constant characters, while "char* const" is a constant pointer to (modifiable) characters.
22:24:52 <fizzie> cdecl> explain char* const args[]
22:24:52 <fizzie> declare args as array of const pointer to char
22:24:54 <oerjan> hm does const commute with some of it? i.e. is const char * == char const * ?
22:25:01 <fizzie> Yes.
22:25:22 <fizzie> There's a long discussion about the benefits of "const char *" and "char const *" in the C++ FAQ.
22:25:28 <fizzie> It's about "business reasons".
22:25:32 <oerjan> heh
22:26:13 <AnMaster> those should be the same...
22:26:23 <AnMaster> so it would just be a matter of coding style -_-
22:26:52 <fizzie> "Fred const* x is functionally equivalent to const Fred* x. However, the real question is which should be used.
22:26:57 <fizzie> Answer: absolutely no one should pretend they can make decisions for your organization until they know something about your organization. One size does not fit all; there is no "right" answer for all organizations, so do not allow anyone to make a knee-jerk decision in either direction. "Think" is not a four-letter word."
22:27:04 <fizzie> That's a very typical piece of the C++ FAQ.
22:27:04 <AnMaster> char *const argv[restrict] <-- nice one from posix_spawn()
22:27:17 <AnMaster> what does *that* restrict change
22:27:26 <AnMaster> wait
22:27:56 <AnMaster> in an argument list this is pointer to array of pointers to null terminated strings
22:28:11 <AnMaster> the pointers to the strings are constant
22:28:16 <AnMaster> and may not alias each other?
22:28:24 <AnMaster> or what bit does restrict there restrict
22:28:24 <AnMaster> ?
22:28:30 <fizzie> That sounds reasonable, but it's a silly-looking place for the restrict.
22:28:45 <AnMaster> int posix_spawn(pid_t *restrict pid, const char *restrict path,
22:28:45 <AnMaster> const posix_spawn_file_actions_t *file_actions,
22:28:45 <AnMaster> const posix_spawnattr_t *restrict attrp,
22:28:45 <AnMaster> char *const argv[restrict], char *const envp[restrict]);
22:28:50 <AnMaster> is the full prototype
22:29:35 <fizzie> To tell you the truth, I'm actually a bit surprised that it's legal. But my guess is that "char *const argv[restrict]" might be the same thing as "char *const *restrict argv", maybe.
22:29:36 <AnMaster> it may also indicate argv and envp can't alias each other
22:29:38 <AnMaster> I'm not sure
22:30:01 <AnMaster> fizzie, restrict is perfectly legal inside [] in argument lists
22:30:17 <fizzie> Yes, obviously, but it still looks silly.
22:30:33 <fizzie> I don't see where else it could be in a [] thing, so I guess there's not really an alternative.
22:30:42 <AnMaster> fizzie, for example, this is valid: static inline void mulMatrices(const double a[restrict 16], const double b[restrict 16], double r[restrict 16])
22:30:55 <AnMaster> yeah that is 16 as in size
22:31:08 <AnMaster> 16 restrict isn't valid though:
22:31:13 <AnMaster> /home/arvid/src/cfunge/code-cleanup/src/fingerprints/3DSP/3DSP.c:139: error: expected ‘]’ before ‘restrict’
22:32:50 <AnMaster> fizzie, nice syntax eh?
22:32:52 <AnMaster> ~
22:33:19 <ehird> 20:36 fizzie: You can do "animation" fast without screen-redrawing. As long as you're happy with just manipulating palette values.
22:33:21 <ehird> ha
22:33:30 <ehird> 20:46 fizzie: (And of course it also "buys you" a less silly color palette -- well, less silly for many uses -- than the default 256-color one.)
22:33:31 <fizzie> Yes, well, I'm not quite sure where else it could be, so I guess it makes sense; it just looks silly.
22:33:33 <ehird> what are the values?
22:33:35 <ehird> 32-bit colours or w/e?
22:33:45 <ehird> 20:49 fizzie: Stop all the QBasic nonsense before I catch the qb bug too, though. I'm already very close to running dosbox; probably would've started it already, except I'm afraid it might use enough CPU to make the virtualbox windows vm get some audio-playing glitches.
22:33:47 <ehird> dosbox uses like 0 cpu
22:33:50 <ehird> do eet ;)
22:34:03 <ehird> I mean qbasic is just awesome.
22:34:09 <fizzie> Yes, and come to think of it, that virtualbox seems to use something like 10-30 % of one core, anyway.
22:34:22 <ehird> how many cores you got?
22:34:27 <fizzie> Just two.
22:34:34 <ehird> me too! we're core-buddie.
22:34:35 <ehird> buddies
22:34:40 * AnMaster only has one code
22:34:42 <AnMaster> core*
22:34:45 <fizzie> The R/G/B values (each written separately) are 6-bit values, since VGA only does 18-bit colors.
22:34:57 <ehird> hmm fizzie should I not get an 8-core so we can stay core buddies? :(
22:35:00 <AnMaster> ehird, however I do have root on a Quad Core Opetron server!
22:35:08 <AnMaster> legal root
22:35:13 <ehird> pfft, quad core.
22:35:15 <AnMaster> (of course)
22:35:21 <ehird> my hypothetical 2xquad-core nehalem scoffs at you.
22:35:24 <AnMaster> ehird, model name : Quad-Core AMD Opteron(tm) Processor 1354
22:35:28 <AnMaster> don't think that is too bad
22:35:59 <fizzie> ehird: Go do 8-core if you want; I can just sum up different computers and pretend they're somehow metaphysically speaking part of the same system.
22:36:09 <ehird> fizzie: i tried that once
22:36:16 <ehird> in this room, I have 5 cores
22:36:17 <ehird> I think
22:36:33 <ehird> err 6
22:36:33 <AnMaster> I just link a few erlang nodes :P
22:36:35 <pikhq> Currently, there's only 2 cores in this room. I run old hardware.
22:36:37 <ehird> 7
22:36:41 <AnMaster> pikhq, same
22:36:47 <ehird> iMac: 2, ancient powermac: 1, iphone: 1, nintendo DS: 1, gamecube: 1, game boy advance sp: 1
22:36:53 <ehird> assuming I didn't miss anything
22:37:04 <ehird> of course, most of those cores are ridiculously underpowered...
22:37:13 <ehird> oh wait
22:37:18 <ehird> livebox runs linux so it must have some sort of cpu
22:37:18 <ehird> 8
22:37:27 <ehird> hey I don't need to buy an 8-core
22:37:30 <ehird> I have it already!
22:38:18 <ehird> It'd be nice if QBasic would work with, say, more than 80x24
22:38:19 <Azstal> ehird: the DS has two CPUs :)
22:38:19 <fizzie> Nintendo DS counts as two.
22:38:22 <ehird> Or, you know, DOS in general
22:38:24 <ehird> wait, the DS has two cpus?
22:38:30 <fizzie> There's both a 66 MHz and 33 MHz ARMs.
22:38:35 <ehird> that's some powah.
22:38:38 <Azstal> an ARM9 and ARM7, I think
22:38:47 <fizzie> ARM9 and ARM7; the ARM7 pretty much only does sound an input, though.
22:38:57 <ehird> i have 9 cores
22:39:00 <ehird> top of the range!
22:39:02 <AnMaster> night
22:39:32 <ehird> Cassette tape support Yes No
22:39:33 <ehird> aw bummer.
22:39:40 <fizzie> An unsubstantiated rumour says that in the official Nintendo dev-kit you can't really write custom code for the ARM7 anyway, there's just the Nintendo-provided binary that can handle sound-playing and other hardware functions unique to the ARM7 side.
22:39:41 <ehird> Code organization Linear Modular
22:39:47 <ehird> is that referring to the awful F2 sub browser?
22:39:52 <ehird> that hides subs from your main text?
22:40:11 <fizzie> Yes, probably. And maybe also the fact that you can actually have subs, although that's covered elsewhere too.
22:40:29 <ehird> I'm pretty sure even old BASICs had subs apart from really old ones
22:40:36 <ehird> fizzie: your code prints out \ as \\, it's causing alignment issues
22:41:02 <fizzie> Oh, I didn't de-escape that; probably didn't notice it either.
22:42:21 <fizzie> I have in this room two Athlon X2 dual-core things (sum: 4), two iBooks (sum: 6), and then all those "you can only non-seriously count these", like a DS (=8), a Symbian phone (=9), a Linksys WLAN thing (=10), and some even less-computery systems like the amplifier which has some sort of cpu/dsp dual-thing. I'm sure we can agree on some core-buddy number, though.
22:42:38 <ehird> a DS has 8 cores?
22:42:39 <ehird> What now?
22:42:40 <ehird> oh
22:42:43 <ehird> it's a running total
22:42:48 <fizzie> It's just the cumulative sum, yes.
22:43:14 <ehird> yeah, a linksys router with 10 cores would be fun
22:43:42 <ehird> so fizzie have you started up dosbox :P
22:43:56 <ehird> I recommend setting cpu cycles to 5000, it seems to run the most authentic while not being stupidly slow
22:44:10 <Deewiant> It depends on what you're running
22:44:24 <ehird> Well, you probably want >5000 for QBasic games, given their dog-slowness.
22:44:48 <Deewiant> But is that authentic speed?
22:45:12 <ehird> Well, I'm operating ont he assumption that this game was actually playable in 1995
22:45:16 <ehird> As opposed to taking one second to turn
22:45:18 <fizzie> Not yet, no. I'm still just considering. For some reason dosbox's keyboard layout wasn't automagically okay either.
22:45:22 <Deewiant> My point was that 'authentic speed' depends on what you're doing, the emulation is slower for some apps than others
22:45:44 <ehird> Mm.
22:45:48 <fizzie> And I've seen some pretty unplayable qbasic "games".
22:46:18 <ehird> Even with cpu cycles 53000 it's too slow on some things
22:46:30 <Deewiant> Raising CPU cycles slows stuff down after a certain point
22:47:00 <Deewiant> There's the 'dynamic' mode, or whatever it was called, which often works best
22:47:09 <ehird> I'll try that
22:47:26 <fizzie> That's the on-x86-only binary translation thing, I guess.
22:48:08 <fizzie> Deewiant: Since you're such a dosbox gooroo, how do I get my keyboard to work right? By default this seems like the US layout.
22:48:10 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
22:48:12 <ehird> Deewiant: that changed absolutely nothing. It just sticks at 3000 cycles.
22:48:21 <ehird> oh
22:48:22 <ehird> it's core=
22:48:23 <ehird> not cycles
22:48:25 <ehird> dur
22:48:31 <Deewiant> ehird: Then it was something else, I don't remember what it's called but it removes the cycle count from the title bar
22:48:44 <ehird> core=dynamic
22:48:49 <ehird> hmm
22:48:53 <ehird> it sstill says cpu cycles, though
22:49:09 <Deewiant> fizzie: I just spent half a day a few weeks back trying to get the layout to work right, the best I could do was an almost-working (backspace is both backspace and caps lock) US
22:49:22 <ehird> I can't type \, it shows up as #.
22:49:36 <Deewiant> It's not really friendly to non-US layouts
22:49:42 <ehird> This is a US layout.
22:49:46 <ehird> Albeit an Apple one.
22:49:49 <Deewiant> I'm talking to fizzie
22:49:52 <ehird> ah
22:49:54 <Deewiant> Or in general
22:49:56 <oerjan> <ehird> I can't type #, it shows up as #. <-- say what?
22:49:58 <Deewiant> Not to you in particular, anyway
22:50:06 <ehird> oerjan: in DOSBox.
22:50:14 <ehird> My \ key is just above my (one line) enter key.
22:50:39 <oerjan> That's strange, my # key is above 3.
22:50:40 <Deewiant> So anyway, a colemak layout with swapped caps lock and backspace was pretty much impossible to get to work
22:50:50 <Deewiant> In Windows, I got it to work really easily though
22:51:10 <ehird> Okay, even with cpu cycles: max this game is ridiculously slow
22:51:57 <fizzie> Oh, right, there's that ctrl-f1 keymapper, can that do something useful?
22:51:58 -!- Corun has joined.
22:52:05 <Deewiant> I couldn't get it to work right
22:52:13 <Deewiant> It thought right alt was page down
22:52:16 <Deewiant> And other stuff like that
22:52:31 <fizzie> Maybe I'll just use the US layout since it seems to work right.
22:52:33 <Deewiant> Oh, there were two possible keyboard modes in the .conf file
22:52:55 <Deewiant> The other one worked like that (not at all) and the other one worked partly, can't remember how exactly
22:53:08 <Deewiant> In the end I just stuck with US with broken backspace
22:53:15 <ehird> broken backspace, that must be a pain
22:53:21 <Deewiant> No, backspace works
22:53:34 <Deewiant> ehird:
22:53:34 <Deewiant> ehird: 2009-03-14 23:49:08 ( Deewiant) fizzie: I just spent half a day a few weeks back trying to get the layout to work right, the best I could do was an almost-working (backspace is both backspace and caps lock) US
22:53:43 <ehird> ah
22:53:56 <Deewiant> I have a ZX Spectrum+ on which backspace is 0 over 90% of the time
22:54:00 <Deewiant> That's a pain
22:54:01 <ehird> Anyway, fizzie, I recommend you set:
22:54:03 <ehird> cycles=max
22:54:05 <ehird> in the configuration
22:54:12 <ehird> It's still dog slow, but you can write QBasic programs and have them finish before you die.
22:54:47 <Deewiant> "D'oh, typo. D'oh, zero! D'oh, zero! (...) Yay, backspace! D'oh, didn't hold it down, still 60 zeroes before my typo"
22:55:05 <fizzie> Also the mouse won't work, but I'm not sure I'd be using that much. F6 for window-swapping feels a bit silly though.
22:55:31 <Deewiant> I didn't have mouse trouble
22:56:10 <fizzie> If I click the window so that it captures the mouse, I can only move the cursor up and down on the rightmost column of the screen.
22:56:53 <fizzie> I guess the more important thing is that I have no clue what to do with qbasic.
22:57:14 <ehird> fizzie: You type, and F5 runs.
22:57:18 <ehird> Ctrl-Break terminates.
22:57:23 <ehird> You can open, save, find, replace.
22:57:25 <ehird> And F2 browses subs.
22:57:30 <ehird> For all else, see your manual. :P
22:57:36 <ehird> (Yes, I am deliberately misinterpreting)
22:58:19 <ehird> Whoa. I just sped my program up like 5x by using POKE instead of pset.
22:58:19 <ehird> :D
23:00:02 <fizzie> How did you interrupt this thing again? I didn't follow that part of the conversation. :p
23:00:10 <ehird> Ctrl-Break.
23:00:18 <ehird> Which doesn't work for me but there you go
23:00:38 <fizzie> It didn't really want to work for me either.
23:00:46 <ehird> fizzie: Try alt-Break.
23:00:48 <ehird> Just Break.
23:00:49 <ehird> Shift-Break.
23:00:50 <ehird> etc.
23:00:57 <ehird> Ctrl-Shift-Break. blah blah
23:01:04 <fizzie> Alt-Break changed the window title to be QBASIC PAUSED, that's about it.
23:01:29 <ehird> hmm second
23:02:12 <ehird> aha
23:02:14 <ehird> fizzie: ctrl-break ESC
23:02:24 <ehird> err, but alt-braek froze it
23:02:25 <ehird> don't do tha
23:02:27 <ehird> trestart dosbox :P
23:02:43 <fizzie> Alt-break here just pauses it, and a second alt-break restores.
23:02:48 <ehird> Ah.
23:02:51 <ehird> Then ctrl-break ESC.
23:02:54 <ehird> Huh, also, a note
23:03:04 <ehird> For actual lines, use LINE, it's faster than repeated POKEs
23:03:10 <ehird> POKE is just fast for single pixel thangz.
23:03:19 <fizzie> Sure, a qbasic loop is slow-as-molasses.
23:03:39 <ehird> Did ctrl-break esc work for you?
23:04:01 <fizzie> It had already finished; I'll try when I get stuck next.
23:04:24 <ehird> I'm being transported back to good old days I never had :P
23:05:26 <fizzie> I had some qbasic days, and I'm not sure they were especially good. I think the Commodore kids and such got all the good old days, while PC people just got the sucky old days.
23:05:43 <ehird> Well, QBasic is pretty cool.
23:09:31 <ehird> aha
23:09:32 <ehird> fizzie: try
23:09:37 <ehird> ctrl-scrollock ESC
23:10:04 <ehird> yep
23:10:05 <ehird> it works
23:10:07 <ehird> in fact
23:10:10 <ehird> just ctrl-scrollock
23:10:11 <ehird> no ESC
23:10:12 <ehird> works perfectly
23:10:42 -!- kar8nga has joined.
23:10:46 <fizzie> Yes, seems to. Good.
23:11:10 <ehird> Demoscene law dictates that I now write a mandelbrot renderer that twirls it around.
23:11:35 <fizzie> It will not be very fast.
23:11:51 <ehird> Hey, a mandelbrot viewer came with QBasic, apparently.
23:11:55 <ehird> It's gotta be possible.
23:12:02 <fizzie> Sure, just not very fast.
23:12:07 <ehird> Sides, I can use inline machine code.
23:12:45 <fizzie> Oh yes, the comfortable solution.
23:13:07 <ehird> Well, there's nothing you can't do with QBasic!
23:14:20 <fizzie> ehird: Anyway, here's one palette-rotation example for you, if you can bother waiting for it to finish drawing: http://zem.fi/~fis/prot.txt
23:14:43 <ehird> That's scarily ... organized.
23:15:25 <ehird> fizzie: Heyyy, that's my fractal!
23:15:30 <ehird> :DD
23:15:38 <ehird> Whoa it changes colour.
23:15:40 <fizzie> Right, it's the ehird fractal.
23:15:42 <ehird> Best program ever.
23:17:27 <ehird> fizzie: Try replacing (X AND Y) with (X OR Y).
23:17:32 <fizzie> Yes, well, "changes colour" is pretty much what you get with palette-messups. As far as graphics chipsets go, VGA is pretty boring.
23:17:41 <ehird> It's the same!
23:18:35 <ehird> fizzie: wtf, XOR produces it too
23:18:39 <ehird> is there any operation that DOESN'T produce it?
23:18:52 <ehird> XOR's pallette changing is diagonal, which is nice.
23:19:01 <Deewiant> Are those bitwise or boolean operations?
23:19:05 <ehird> Bitwise
23:19:16 <ehird> fizzie: (X + Y) gives a smooth gradient
23:19:42 <fizzie> Yes, that's just "manhattan-distance from (0,0)" and the palette happens to be a smooth gradient.
23:19:49 <ehird> haha :D
23:20:29 <fizzie> X IMP Y gives it to you in a bit different orientation, but most bitwise ops do "look" rather similar when done that way.
23:20:47 <fizzie> X EQV Y is perhaps a bit different-looking.
23:21:06 <ehird> err it is
23:21:07 <ehird> ?
23:21:09 <ehird> it looks the same to me
23:21:13 <fizzie> It also has a bit of a "straight line looks curved" visual illusion going on, or maybe it's just my eyes that are wonky.
23:21:20 <ehird> oh
23:21:23 <ehird> fizzie: EQV is XOR
23:21:24 <ehird> for this
23:21:34 <fizzie> Right, I didn't try XOR. But yes, sure.
23:21:54 <fizzie> It's just NOT (x XOR y) anyway.
23:21:58 <ehird> I wish it wrapped on overflow instead of errored
23:22:38 <ehird> fizzie: anyway, that palette changing would indeed be useful to animate without redrawing anyhting
23:22:49 <oerjan> EQV and XOR are dual. (NOT x) EQV (NOT y) = NOT (x XOR y)
23:23:42 <ehird> Hmm, how do you convert a string to an int...
23:24:05 <fizzie> The canonical palette-animation example is an animated sea: just allocate 8 or 16 colors for a blue-white gradient, use that to draw your sea tiles, then you can rotate that 16-color block to get waves.
23:24:52 <ehird> http://zem.fi/~fis/qbc.html#QEw4MDI1
23:25:02 <fizzie> CVI(string) converts to an integer.
23:25:11 <fizzie> And CVL to long.
23:25:22 <ehird> ah
23:25:43 <ehird> are you sure?
23:25:49 <ehird> as in CVI("123")=123
23:25:53 <fizzie> Not really, no.
23:25:58 <ehird> VAL converts a string representation of a number to a number.
23:25:59 <ehird> it's VAL.
23:26:17 <ehird> Okay, this is very slow but pretty.
23:26:24 <fizzie> CVI is the inverse of MKI$, which is for formatted int-printing.
23:26:38 <fizzie> STR$/VAL seems to be the human-readable pair.
23:26:44 <ehird> Aw, overflow.
23:26:45 <fizzie> I don't really remember any of this stuff.
23:27:00 <ehird> Okay.
23:27:02 <ehird> *Hokay.
23:27:07 <ehird> What now, hrm
23:28:07 <ehird> http://library.thinkquest.org/19436/download/gorilla/gorilla.bas
23:28:12 <ehird> gorilla.bas; albeit double spaced.
23:28:26 <Deewiant> Exciting!
23:28:27 <fizzie> That thing would be useful (in a very limited sort of way) for quick prototyping of... well, something; if it were, you know, quick.
23:28:41 <ehird> "thing"?
23:28:46 <ehird> QBasic?
23:28:49 <fizzie> qbasic.
23:29:02 <ehird> I am very upset you do not consider it a viable programming choice :P
23:29:31 <ehird> GORILLAS RUNS :D
23:29:41 <oerjan> *RUN
23:30:17 <oerjan> or possibly, *GORILLA
23:31:21 <ehird> IF again$ = "y" THEN GOTO spam
23:33:26 <ehird> haha, setting gravity=-1 in gorillas messes everything up
23:33:43 <ehird> velocity 1? the banana just shoots off into space. veeery slowly.
23:38:39 <fizzie> Incidentally, VGA can do this unchained mode, where you get four 64K planes, with plane 0 containing pixels 0, 4, 8, .., plane 1 containing 1, 5, 9, ... and so on; then you can set a write mask of 0b1111 and write a pixel to all four planes simultaneously; that's quite a bit faster if you just need to write the same value to all pixels.
23:39:22 <fizzie> (And of course it lets you use all the 256K memory a VGA card has, so you can do double-buffering with hardware-assisted page-flipping.)
23:39:29 <ehird> Hmm
23:39:34 <ehird> Is there any way to have more than one palette at a time?
23:39:44 <ehird> Like, changing the palette in the middle of a redraw?
23:39:49 <fizzie> It's just that things are more complicated then, and whenever you add a bit of qbasic logic, things get real slow real fast.
23:40:00 <ehird> Then you could have >256 colours
23:40:39 <fizzie> I don't think I've seen such tricks done on a PC, really. I don't think you can get any interrupts at particular raster-lines or anything.
23:40:54 <ehird> Mm. So drawing is atomic, then.
23:40:54 <fizzie> You'd need some pretty careful cycle-counting, at the very least.
23:41:11 <fizzie> Not very doable in a qbasic program.
23:41:16 <ehird> fizzie: what if you drew only some of the pixels per redraw, and flashed between them really fast? I guess the hardware isnt' fast enough to make that plausible
23:41:48 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:42:11 <ehird> lament: link to haccordion?
23:42:15 <ehird> Since I have leopard now
23:43:05 <fizzie> Oh, I'm sure you can flash between two screens at 60hz (it's just a couple of writes to the VGA registers to switch the display start offset) so you can draw two pictures with close-enough colors, and that way get colors between the ones in the (static) palette, if you don't mind the horrible flickering.
23:43:15 <ehird> fizzie: in asm it could be fast enough. maybe?
23:43:26 <ehird> but yeah, N segments gives you 256*N colours
23:43:39 <ehird> so if you have a segment per pixel the possibilities [for your epilepsy] are boundless
23:44:30 <ehird> "Okay this is subjective because it depends on your definition of large. When I say large, I mean about 6 gigs or so. Because your company's source tree is probably that large."
23:44:34 <fizzie> You can fit up to four frames of that 320x200 256-color mode on the standard video memory. I really don't have a clue how slow the palette reprogramming is.
23:44:34 <ehird> That is one shit company.
23:47:37 <ehird> Hokay, mandelbrot.
23:47:42 <ehird> Let's see if I can't done figure this out?
23:52:38 <ehird> er wait
23:53:30 <ehird> Oh dear, my mandelbrot leavs a flat nothing,.
23:56:34 <oerjan> -2 to 2 on both axes if you want all of it
23:56:36 <oerjan> iirc
23:56:44 <ehird> Actually, it's just a bug.
23:56:46 <ehird> Well.
23:56:49 <ehird> Maybe not quite a bug, just.
23:56:52 <ehird> It takes 5 years.
23:58:07 <fizzie> I think the (-2,-2) .. (2,2) range is not the aesthetically most pleasing one. I don't remember what I've used, though. That certainly should contain all of it, anyway, so you can fine-tune.
23:58:48 <oerjan> might do something refining, painting larger squares first
23:59:16 <ehird> Oh well, I'll stick to simpler fractals.
23:59:27 <ehird> I can render a sierpinski in 4.5 seconds, you know.
23:59:44 <ehird> Actually it's more like 8 seconds
2009-03-15
00:09:32 -!- FireyFly has quit ("Reboot").
00:11:58 <ehird> fizzie: do you think I should write a simple math plotter thingy in qbasic, or will I go mad from the whole "parsing infix" thing?
00:12:08 <ehird> 09:51:34 <fizzie> my laptop is the brokenness now. :(
00:12:08 <ehird> 09:51:39 <fizzie> "was fun while it lasted".
00:12:10 <ehird> 09:52:08 <fizzie> although in retrospect ~1550eur was a bit much for a machine that worked for six days.
00:12:13 <ehird> — 2004-09-23
00:12:41 <fizzie> I think that was the iBook. They (of course) warranty-replaced it.
00:13:28 <pikhq> ehird: Parsing infix isn't *that* bad. It is at least context-free...
00:13:49 <ehird> pikhq: In QBasic.
00:14:17 <fizzie> Mooz, who used to be here around the beginning, wrote a really nice function-plotter, with a nice GUI and 3d-like buttons and everything, in QBasic.
00:14:35 <ehird> 11:58:08 <fizzie> mooz at least wrote a.. pretty advanced one, in qbasic.
00:14:35 <oerjan> operator parsing is simpler than general
00:14:40 <ehird> Right after plotting discussion.
00:14:44 <pikhq> Kay, so that's slightly annoying.
00:14:48 <pikhq> Not hard, though.
00:14:49 <fizzie> ehird: Heh. Well, he did.
00:14:52 <ehird> fizzie, if you're going to say something, think if I've already been on that trail ;-)
00:15:02 <ehird> but my idea is basically a trivial input language, that is,
00:15:24 <ehird> basic mathematical notation like sin(x) or whatever, then it'd prompt for a range for x, then you get a plot drawn in 10 minutes.
00:16:08 <fizzie> Oh, I also mentioned that it was a high-school exercise. (Although the exercise was just "plot polynomials", mooz's solution was the typical overkill one.)
00:16:32 <ehird> 2006-12-02:20:44:13 <bsmntbombdood> I remember longing for arrays when I coded in qbasic
00:16:33 <ehird> they exist, dude. :P
00:16:43 <pikhq> What sort of coder *wouldn't* go for overkill (if time allows)?
00:16:59 <fizzie> I don't think I need to say anything any longer, since apparently I've already said it before.
00:17:09 <ehird> 2007-10-26:12:28:50 <SimonRC> pset is the QBASIC name for the pixel-set function
00:17:10 <ehird> no no no
00:17:16 <ehird> it's POKE x+(y*w),col
00:17:18 <ehird> slly.
00:17:24 <oerjan> fizzie: yeah you said so before
00:18:30 <fizzie> It's also (IIRC) faster, if you're plotting all pixels of the screen in a "for y = ... for x = ..." loop, to keep a incremented index p for the POKE and not recalculate x+(y*w) every time. Doesn't help for the generic pixel-setting case, of course.
00:19:01 <ehird> I wonder how easy a voxel renderer would be in qbasic
00:19:01 <oerjan> so POKE is not arbitrary memory assignment?
00:19:07 <ehird> oerjan: it is
00:19:07 <fizzie> It also might not be faster, since it's a whole basic statement to increment p. I did benchmark.
00:19:07 <ehird> you do
00:19:09 <pikhq> oerjan: It... Is.
00:19:11 <ehird> DEF SEG = &HA000
00:19:14 <ehird> to get into graphics memory
00:19:20 <ehird> so then all your POKEs are offsetted from the start of graphics memory
00:19:24 <ehird> so POKE x+(y*w) works
00:19:26 <oerjan> oh
00:19:37 <pikhq> God, doing VGA from BASIC...
00:19:40 <oerjan> i wondered why you had no base offset
00:19:49 <ehird> pikhq: What's odd about that? :P
00:19:53 <fizzie> The pointer taken by POKE is just the 16-bit intra-segment address.
00:19:55 <pikhq> x86 is silly.
00:19:56 <ehird> I mean, it DID come with tons of drawing functions.
00:20:29 <pikhq> I still find it weird for a normal program to be doing anything to video memory.
00:20:33 <oerjan> aha so it's x86 specific
00:20:40 <pikhq> (and yes, I know that's how X does things)
00:21:07 <ehird> DOS is x86 specific.
00:21:09 <ehird> As far as I know.
00:21:12 <pikhq> oerjan: Yeah; x86 has the graphic memory mmaped at a few places...
00:22:29 <pikhq> ehird: Unless by "DOS" you mean "anything that was called a Disk Operating System". ;)
00:22:37 <ehird> :P
00:22:45 <pikhq> ProDOS FTW. :p
00:22:49 <ehird> Also, for full-screen thingies, LINE is really really fast.
00:22:53 <fizzie> On a x86 (but not a x86-64) Linux, you can cat /proc/iomem to see some of the mappings.
00:22:55 <ehird> LINE (0,0)-(320,200),I,BF
00:22:58 <ehird> fills the screen instantly
00:23:21 <pikhq> fizzie: I just did cat /proc/iomem on my x86_64 system.
00:23:26 <Deewiant> fizzie: me too!
00:23:28 <pikhq> Seems to show all the mappings.
00:23:40 <Deewiant> I wouldn't know what mappings there should be
00:23:51 <fizzie> My x86-64 system doesn't have those 000a0000 video-memory thingsies that there used to be.
00:24:04 <fizzie> Only my 32-bit thing shows them:
00:24:07 <fizzie> 000a0000-000bffff : Video RAM area
00:24:07 <fizzie> 000c0000-000cb3ff : Video ROM
00:24:07 <fizzie> 000cc000-000cc7ff : Adapter ROM
00:24:21 <Deewiant> 00010000-0009cbff : System RAM
00:24:36 <pikhq> Oh, *those*.
00:24:45 <fizzie> I think that's what we were talking about.
00:24:49 <oerjan> ehird: fills the screen? wouldn't that be a rectangle rather than a line?
00:25:09 <fizzie> oerjan: That's the BF modifier. :p
00:25:17 <ehird> oerjan: Thus "BF"
00:25:25 <fizzie> The B modifier draws a box instead of line, the BF modifier draws a filled box.
00:25:35 <fizzie> There's just CIRCLE, LINE and PSET, pretty much.
00:26:06 <fizzie> Oh, and PAINT, of course. Which does a flood-fill type of thing.
00:26:11 <ehird> don't forget DRAW!
00:26:25 <fizzie> DRAW is very unsimple, though.
00:26:40 <ehird> Yes, but,
00:26:43 <ehird> enemy$ = "asd8uA(*EU*(UQ*("
00:26:49 <ehird> You can't beat it for defining sprites.
00:27:12 <fizzie> Sure, and it might even be reasonably fast, since it's not implemented in qbasic.
00:27:58 -!- bsmntbombdood has quit (Read error: 145 (Connection timed out)).
00:28:26 <ehird> ■ To execute a DRAW command substring from a DRAW command string, use
00:28:26 <ehird> the "X" command:
00:28:28 <ehird> DRAW "X"+ VARPTR$(commandstring$)
00:28:30 <ehird> ^ I don't get this
00:28:32 <ehird> why not just
00:28:34 <ehird> DRAW commandstring$
00:29:09 <fizzie> If you want to refer from your "top-level" command string to sub-scripts, that's what X is for.
00:29:22 <fizzie> That particular example doesn't really make sense, though.
00:29:46 <ehird> 23:29 fizzie: If you want to refer from your "top-level" command string to sub-scripts, that's what X is for.
00:29:47 <ehird> huh?
00:29:57 <fizzie> Just look at that other example.
00:30:11 <fizzie> Triangle$ = "..."; DRAW "C2 X" + VARPTR($Triangle)
00:30:15 <ehird> DRAW "C2 X" + VARPTR$(Triangle$)
00:30:17 <ehird> that could just be
00:30:21 <ehird> DRAW "C2 " + Triangle$
00:30:28 <fizzie> Yes, but then you'd be constructing a possibly really long string.
00:30:33 <ehird> oh.
00:30:34 <fizzie> If you have a complicated Triangle$.
00:30:48 <fizzie> I'm not sure if it supports nested X, though. :p
00:31:39 <ehird> wow, drawing a circle with DRAW is a pani in the arse
00:31:41 <ehird> *pain
00:31:56 <fizzie> What I think is funny is that the X argument is a raw memory offset to the variable.
00:32:26 <oerjan> panis rectalis
00:33:35 <Azstal> ... rectal bread?
00:33:45 <oerjan> well, yes.
00:33:51 <ehird> :DD
00:34:00 <fizzie> Is that what "PR" means in context of, you know, business stuff and so on?
00:34:18 <oerjan> obviously.
00:35:21 <ehird> OMFG
00:35:22 <ehird> fizzie:
00:35:25 <ehird> I sighted the ehird fractal
00:35:26 <ehird> http://www.advsys.net/ken/klab/labdemo2.png
00:35:32 <ehird> 16:30:54 <RodgerTheGreat> I think I'm going to try porting this next: http://www.advsys.net/ken/klab/labdemo2.bas
00:35:32 <ehird> 16:31:19 <RodgerTheGreat> it's supposed to look like this when it runs: http://www.advsys.net/ken/klab/labdemo2.png
00:35:35 <ehird> 16:31:47 <RodgerTheGreat> I've done raytraced 2.5d before, but I've never tried texture-mapping
00:35:37 <ehird> I'm famous IN THE PAST>
00:37:07 -!- Judofyr has quit (Remote closed the connection).
00:37:30 <Sgeo> I don't get it
00:37:41 <ehird> the squares
00:37:46 <ehird> http://imgur.com/5ZN9A.png
00:38:01 <ehird> It's a fractal that we've established predates me by a long way but I think it's mine :P
00:38:36 -!- bsmntbombdood has joined.
00:42:13 <ehird> fizzie: http://www.advsys.net/ken/klab/labdemo2.bas
00:42:53 <ehird> "CALL int86old" makes it, uh, not run.
00:42:53 <ehird> oh
00:42:57 <ehird> "unless you're stuck using qbasic"
00:42:57 <ehird> :P
00:43:01 <oerjan> fractal squatting. the possibilities are endless.
00:43:37 <ehird> Well, it runs.
00:43:40 <ehird> Just... sloowly...
00:43:44 <oerjan> of course, xkcd already established that the internet is a hilbert curve.
00:43:45 <ehird> As in, several seconds per key.
00:43:52 <fizzie> Yes, it's for quickbasic. (And even there it's not in the manual, because it's been sort-of-deprecated with the CALL INTERRUPT statement.)
00:44:19 <ehird> Yes, well, ti works in qbasic.
00:44:22 <ehird> If you comment that out.
00:44:26 <ehird> It's as slow as imaginable, but.
00:44:37 <ehird> Anyone have quickbasic? :P
00:44:46 <fizzie> I, somewhere.
00:44:57 <fizzie> I'm sure it's findable in the interwebs too, might even be faster that way.
00:45:09 <fizzie> qb4.5 is the version I've seen "everywhere".
00:45:24 <ehird> It even uses POKEs and it's still slow
00:45:54 <fizzie> Oh, I think I might've found my copy.
00:46:02 <fizzie> At least there's qb.arj in this tarball.
00:46:15 <fizzie> There's also sbbasic.exe, I wonder what that does.
00:46:39 <oerjan> molasses basic. when you have too much time on your hands.
00:47:09 <ehird> that exists, it's called qbasic
00:47:23 <oerjan> so it's an oxymoron?
00:47:32 <ehird> qbasic != quickbasic
00:47:52 <oerjan> or wait, does that need to be contradictory from the words themselves?
00:48:01 <ehird> A subset of QuickBASIC 4.5, named QBasic, was included with MS-DOS 5 and later versions, replacing the GW-BASIC included with previous versions of MS-DOS. Compared to QuickBASIC, QBasic is limited to an interpreter only, lacks a few functions, can only handle programs of a limited size, and lacks support for separate program modules. Since it lacks a compiler, it cannot be used to produce executable files, although its program source code can still be co
00:48:04 <ehird> mpiled by a QuickBASIC 4.5, PDS 7.x or VBDOS 1.0 compiler, if available.
00:48:22 <fizzie> Oh, sbbasic is just some sound blaster drivers. :p
00:49:03 <oerjan> hm maybe that's actually irony
00:49:37 <oerjan> so q stands for "so slow we didn't have time to write it out"?
00:49:55 <fizzie> Yes, qb.arj had QuickBasic 4.5.
00:50:18 <fizzie> It's got a lot longer manual, btw; in multiple files and everything.
00:50:51 <fizzie> At least I think it was longer, not sure
00:51:20 <fizzie> And of course it has the Run/Make EXE file... option.
00:52:42 <ehird> lament:
00:53:09 <lament> oh
00:53:10 <lament> hi
00:53:12 <lament> mm
00:53:18 <ehird> haccordion
00:53:19 <ehird> gimme :-P
00:53:57 <lament> lemme findit
00:55:48 <lament> http://filebin.ca/vcfm/haccordion.tar.gz
00:55:57 <ehird> yaey
00:56:13 <ehird> hey guys an unknown informant has just given me quickbasic if anyone wants it let me know.
00:57:06 <ehird> wow
00:57:08 <ehird> it really is quick
00:57:12 <ehird> it runs my sierpinski program in <1sec
00:57:13 <ehird> :P
00:59:36 <ehird> hmm
00:59:38 <fizzie> Maybe they added some delay loops to qbasic so that people would be more inclined to buy.
00:59:45 <ehird> on one hand I like qbasic because it's slow and you have to do crazy trix
00:59:51 <ehird> on the other hand
00:59:54 <ehird> this is acutally usable
01:00:35 <ehird> Also, int86old doesn't work, fizzie
01:00:37 <ehird> It's undefined
01:01:15 <fizzie> It might have a bit different syntax in qb45 than what the file expects.
01:01:17 <fizzie> Checking.
01:01:56 <fizzie> Dunno, http://support.microsoft.com/kb/57385 claims it's still in qb45.
01:02:29 <ehird> maybe it needs UPPER CASE
01:02:42 <ehird> Nope
01:04:02 <fizzie> Hmm.
01:04:07 <fizzie> It might need a library.
01:04:24 <fizzie> You should probably fix Options/Set Paths... anyway.
01:04:28 <ehird> wtf, CALL INTERRUPT fails.
01:04:32 <ehird> fizzie: aha
01:05:09 <ehird> hm
01:05:57 <ehird> How do you add a library, I wonder..
01:06:03 <fizzie> Although it should load the default QB.QLB by default. Who knows.
01:06:06 <ehird> ah
01:06:10 <ehird> $INCLUDE:'QB.BI'
01:06:30 -!- Corun has quit (Read error: 110 (Connection timed out)).
01:06:51 <ehird> that gives a syntax error >_<
01:07:28 <ehird> Oh.
01:07:31 <ehird> It's meant to go in a comment.
01:07:48 <ehird> fizzie: Uh, you got BI.LIB?
01:08:03 <ehird> err
01:08:04 <ehird> QB.LIB
01:08:24 <fizzie> QB.LIB should be in the package.
01:08:38 <ehird> Ah
01:08:39 <ehird> So it is
01:08:43 <ehird> No QB.BI, though.
01:10:05 -!- Corun has joined.
01:10:44 -!- neldoret1 has joined.
01:13:28 <fizzie> Yes, no. I'm not completely sure that is a complete set of qb45 files.
01:13:46 <fizzie> It probably has a rather colorful history before getting to me.
01:17:42 <fizzie> Hey.
01:17:51 <ehird> Hey.
01:18:15 <ehird> lament: what do I have to turn on again?
01:18:19 <fizzie> This msbasic-softlib thing, where I got the helpmake thing for .hlp decompilation, also has qb4crit.exe, which has qb.lib, int86old.asm, int86old.obj and something like that.
01:18:26 <ehird> fizzie: I have qb.lib
01:18:33 <ehird> just not qb.bi
01:18:35 <fizzie> It might be a better qb.lib, who knows.
01:18:46 <fizzie> And anyway int86old.obj.
01:19:54 <ehird> lament:
01:19:57 <ehird> % ./play_note
01:19:57 <ehird> play_note: Prelude.(!!): index too large
01:20:25 <ehird> ah wait
01:20:26 <ehird> works now
01:21:28 <fizzie> Incidentally, what is QB.BI supposed to do? int86old definitely is somehow included in qb.lib, since strings shows a lot of related strings.
01:21:34 <ehird> fizzie: header file
01:23:25 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
01:23:30 <fizzie> Well, it's in http://neil.franklin.ch/Projects/Mandel/qb/qb.bi
01:23:38 <fizzie> It looks like just a couple of DECLARE SUB lines.
01:24:02 <fizzie> Incidentally, the directory sounds like a mandelbrot plotterer.
01:24:16 -!- neldoreth has quit (No route to host).
01:24:30 <fizzie> Have to sleepify now, though.
01:24:46 <oerjan> Brains..
01:24:52 <oerjan> oh wait, that's zombify
01:25:28 <ehird> lament:
01:25:30 <ehird> it works
01:25:35 <ehird> the only issue now is my suckitude at musak
01:25:41 * oerjan laments that it works
01:25:55 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
01:25:55 <oerjan> woe us!
01:27:45 -!- Corun_ has joined.
01:31:50 -!- KingOfKarlsruhe has quit (Remote closed the connection).
01:32:25 <lament> ehird: now you just have to learn to play the accordion
01:32:39 <ehird> lament: I see no resemblance on haccordion :P
01:32:40 <ehird> oerjan, let's make an awful rhyming poem about fish and their use of intercal in an enterprise environment
01:32:58 <oerjan> i suppose we cod do that
01:32:59 <lament> ehird: same layout
01:33:19 <ehird> lament: well, true
01:33:26 <ehird> oerjan: these fish, see, they're very fat
01:33:54 <oerjan> are you trying to make a pun here?
01:34:12 <ehird> oerjan: THAT WAS MY NEXT LINE ;_;
01:35:25 <oerjan> fishing lines need bait, you know
01:35:30 -!- Corun has quit (Connection timed out).
01:35:57 <ehird> oerjan: and anyway, these fish used INTERCAL, so
01:37:45 <oerjan> i sense a lack of substance here. or perhaps the wrong substance, what are you smoking?
01:38:07 <ehird> oerjan: are these part of the poem? they're not very rhymey.
01:38:26 <oerjan> or perhaps it's just because i'm not very good at english fish names
01:38:54 <ehird> ghoti
01:39:32 <oerjan> i wish i shaw that coming
01:40:21 <ehird> these fish were hummin
01:40:51 <oerjan> just for the halibut
01:41:11 <ehird> for they had many butt. s. and used INTERCAL,
01:41:50 <oerjan> it was an eel-advised choice
01:42:01 <ehird> and they turned to james joyce
01:42:18 <oerjan> but still they could not pronounce it
01:43:04 <ehird> and thus, they used unary XOR to denounce it
01:43:26 <oerjan> and the eel was very XORry
01:43:50 <ehird> for the damage it had caused; and they SELECTed some bits from its tears,
01:44:49 <oerjan> and STASHed them behind their ears
01:45:50 <judicaster> and fulfilled everybody's worst fears
01:45:54 <ehird> and
01:45:56 <ehird> ^U
01:45:56 <ehird> ^U
01:45:57 <judicaster> I
01:45:58 <judicaster> ruined it
01:45:59 <ehird> ^U
01:46:01 <ehird> ^U
01:46:06 <ehird> and said, "PLEASE DON'T GIVE UP", we're right behind you
01:47:18 <oerjan> it was all a red herring, mind you
01:47:30 <ehird> and they rhymed you with you
01:48:57 <lament> quite insane, it seems, i find you
01:49:16 <ehird> yeah, but, then, I climbed mount everest.
01:49:20 <oerjan> and then they destroyed the meter with glue
01:49:22 <ehird> with the fishes, on dishes, and,
01:50:50 <oerjan> a seagull too
01:51:00 <ehird> a
01:51:04 <oerjan> (named Jonathan)
01:51:10 <ehird> a (named Jonathan) Jonathan
01:51:18 <ehird> [ Ed: Please be less like Finnegan's Wake in future. ]
01:51:32 <ehird> —uture–uture, Fish, INTERCAL,
01:51:41 <oerjan> and then they down the riverrun
01:51:53 <ehird> alpyalpy
01:51:56 <ehird> Alpy, what was that?
01:51:58 <ehird> Oh, right, fish,
01:52:20 <lament> fishy fishy fishy fishy fishy fishy fish
01:52:35 <oerjan> And then they won the prize for the fishiest poetry in that decade
01:52:38 <ehird> Then an explosion
01:53:08 <lament> Then an implosion
01:53:09 <ehird> Wibby rollins
01:53:10 <ehird> Wibby rollins
01:53:11 <ehird> Wibby rollins
01:53:13 <ehird> Wibby rollins
01:53:14 <oerjan> I hope you are writing this down
01:53:20 <oerjan> so we can burn it later
01:53:20 <ehird> [oerjan: i have grep.]
01:53:29 <lament> Can we burn the entire channel?
01:53:38 <ehird> the Fish sayd; "Byrn the wytch! Wemyst hafst only INTERCVL";
01:54:33 <oerjan> Apparently we are smoking trout, all of us.
01:54:44 <ehird> Trout? Well, I was on weed, but...
01:54:47 <ehird> (^lie)
01:55:16 <oerjan> no, it's the unvarnished trout
01:56:03 <ehird> oh, just go route
01:56:06 <ehird> these IP addresses
01:56:18 <oerjan> I hope it will be a whale before we try something this stupid again
01:56:54 <oerjan> ehird: i hear VB is good for such stuff
01:57:09 <ehird> gui vsual interface riverrun
01:57:50 <oerjan> The End.
01:58:12 <ehird> except that was fake;
01:58:14 <ehird> i the author lie
01:58:20 <ehird> ~THE END~
01:58:26 <bsmntbombdood> oh jesus
01:58:34 <ehird> wut
01:58:35 <oerjan> whew
01:58:41 <bsmntbombdood> this code has been running for like 18 hours
01:58:59 <bsmntbombdood> i expected it to take like 1 hour
01:59:01 <oerjan> bsmntbombdood: oh, i thought you too were afraid that the poem would go on longer
01:59:21 <ehird> ditto
01:59:24 <ehird> :D
02:01:23 <oerjan> it was a bit short on rhyming, but i think we nailed the "awful" part.
02:01:52 <ehird> fishherel
02:01:57 <lament> this puts us on the same level with the greats like e.e.cummings
02:02:22 <oerjan> i wish i saw that cummings
02:10:38 -!- [helloworld] has joined.
02:10:49 -!- [helloworld] has left (?).
02:30:29 -!- Corun_ has quit ("This computer has gone to sleep").
02:48:21 -!- bsmntbombdood has quit (Connection timed out).
02:49:14 -!- bsmntbombdood has joined.
03:20:59 -!- neldoret1 has quit (Read error: 113 (No route to host)).
03:34:57 -!- GreaseMonkey has joined.
04:09:18 -!- judicaster has changed nick to comex.
05:02:56 -!- kerlo_ has joined.
05:03:21 -!- kerlo_ has quit (Client Quit).
05:23:09 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:06 -!- oerjan has quit ("Good night").
08:56:43 <AnMaster> <ehird> [ Ed: Please be less like Finnegan's Wake in future. ] <-- :DDDD
08:57:59 <AnMaster> ehird and oerjan: that was very entertaining :D
09:00:56 <AnMaster> about counting CPU cores...
09:01:38 <AnMaster> I think that there are 11 cores in this house atm. Counting computers and mobile phones. ;D
09:03:41 <lament> did you count the microwave?
09:03:53 <AnMaster> lament, we don't have one
09:04:18 <AnMaster> lament, and our TV is too old to have a computer in it. It doesn't even support Text TV
09:04:32 -!- neldoreth has joined.
09:04:41 <AnMaster> I guess the VCR has some computer in it though.
09:04:45 <lament> yeah
09:05:01 <AnMaster> lament, what about fridge/freezer?
09:05:09 <lament> hopefully not
09:05:17 <lament> it should just be a simple thermostat
09:05:22 <AnMaster> mhm
09:05:24 <AnMaster> dishwasher?
09:05:34 <AnMaster> washing machine?
09:05:37 <lament> no clue, possibly
09:06:00 <AnMaster> both the dishwasher and the washing machine have digital time remaining displays
09:06:08 <AnMaster> and are quite new
09:06:56 <AnMaster> oh I forgot the ADSL modem. It runs on a MIPS.
09:07:15 <AnMaster> some broadcom chipset thingy iirc
09:09:34 -!- GreaseMonkey has quit ("Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit").
09:09:37 <AnMaster> lament, my radio is sufficiently complex and with a menu system on the display, so I guess that is another CPU there...
09:10:22 <AnMaster> oh and digital cameras. That adds another two CPUs at least (two digital cameras in this house)
09:10:54 <AnMaster> lament, when you think about it, it is scary how many things contain CPUs...
09:11:13 <lament> when you think about it, it's scary how many things contain gears
09:11:44 <AnMaster> oh right, my keyboard (as in keyboard/synth, not keyboard/qwerty)
09:12:00 <lament> actually perhaps even keyboard/qwerty
09:12:04 <lament> depending on the keyboard
09:12:16 <AnMaster> lament, I doubt an old PS/2 keyboard has a computer built in
09:12:25 <lament> yeah, maybe not
09:12:42 <lament> i've read somewhere some keyboards actually have forth stuff on them
09:13:29 <AnMaster> I also have one of those horrible ultra-slim usb keyboard, I guess it contains some more stuff, but a full blown CPU?
09:13:51 <AnMaster> lament, to that I say: [citation needed]
09:14:09 <lament> to that, I say: [lmgify]
09:14:44 <AnMaster> what does that mean? Google says: Did you mean: magnify Top 2 results shown
09:14:46 -!- Slereah has quit (Read error: 60 (Operation timed out)).
09:15:09 <AnMaster> lament, ?
09:15:36 <lament> sorry, it's lmgtfy
09:16:06 -!- Slereah has joined.
09:16:19 <AnMaster> oh I see
09:17:13 <AnMaster> anyway, I suspect my usb joystick has some CPU built in. Considering it has a programmable "multi function display" at the base of the throttle
09:18:08 <AnMaster> (btw: http://www.saitek.com/uk/prod/x52pro.htm)
10:07:54 -!- kar8nga has joined.
10:21:04 -!- sebbu has quit ("@+").
10:52:29 -!- Jophish_ has joined.
11:01:56 -!- MigoMipo has joined.
11:11:01 -!- Jophish has quit (Success).
11:35:18 -!- KingOfKarlsruhe has joined.
11:53:49 -!- Judofyr has joined.
11:55:20 -!- Judofyr_ has joined.
12:01:48 -!- Mony has joined.
12:03:15 -!- Dewio has quit (Remote closed the connection).
12:03:24 -!- Dewi has joined.
12:11:21 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
12:16:13 -!- Jophish_ has quit (Read error: 104 (Connection reset by peer)).
12:21:37 -!- k has joined.
12:21:59 -!- kar8nga has quit (Nick collision from services.).
12:22:02 -!- k has changed nick to kar8nga.
12:26:08 -!- sebbu has joined.
12:47:47 -!- MigoMipo has quit (Nick collision from services.).
12:52:11 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:14:37 -!- Corun has joined.
13:16:01 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
13:19:16 -!- Asztal^_^ has joined.
13:22:00 -!- Asztal^_^ has changed nick to Asztal_.
13:22:03 -!- Hiato has joined.
13:35:13 -!- oklofok has joined.
13:35:17 <oklofok> hello.
13:35:33 -!- Azstal has quit (Read error: 110 (Connection timed out)).
13:42:19 <oklofok> http://www.vjn.fi/oklopol/music/ancoolone2.mid see what the lack of a working computer is doing to me
13:54:02 <pikhq> Criminal.
14:30:07 -!- tombom has joined.
14:34:52 -!- BeholdMyGlory has joined.
15:07:33 -!- tombom has quit ("Peace and Protection 4.22.2").
15:21:21 -!- Corun has quit ("This computer has gone to sleep").
15:22:14 -!- Corun has joined.
16:04:58 -!- BeholdMyGlory has quit (Remote closed the connection).
16:15:30 -!- Hiato1 has joined.
16:33:10 -!- Hiato has quit (Read error: 110 (Connection timed out)).
16:40:51 -!- FireyFly has joined.
16:43:48 -!- Corun has quit ("This computer has gone to sleep").
16:47:02 -!- Corun has joined.
16:49:43 -!- BeholdMyGlory has joined.
16:59:15 -!- tombom has joined.
17:04:47 -!- ais523 has joined.
17:06:11 -!- kar8nga has joined.
17:44:18 <AnMaster> hi ais523
17:44:33 <ais523> hi
17:45:19 <AnMaster> it is quite likely cfunge will gain some inline asm soon (with C fallbacks of course). I can't find any other way to make GCC generate what I want.
17:46:01 <ais523> haha
17:47:13 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
17:47:38 <AnMaster> ais523, well issue is I have a lot of L2 cache misses when filling the static area with spaces at startup. With SSE there is a way around it, with the same effect as write-combining would have.
17:48:09 <ais523> AnMaster: you're insane. But I don't consider that a bad thing
17:49:09 <AnMaster> ais523, when I tried with __builtin_ia32_movntps() GCC instead generates stupid "lets load the data into the xmm register with the slower unaligned read instruction even though the compiler put .align 16 in the code to make it aligned"
17:50:11 <ais523> well, gcc isn't perfect
17:50:14 <ais523> how well does icc do on the same code?
17:50:16 <AnMaster> ais523, anyway with -ftree-vectorize you get instead a "lets pollute cache".
17:50:33 <AnMaster> ais523, well, I'm on AMD. But it decides to pollute cache too
17:50:58 <ais523> well, hand-crafted asm can normally beat even the best compiler-generated asm in some cases
17:51:57 <AnMaster> ais523, well at least when it is being as stupid as in this case. Now to figure out how to hide this for other compilers. Since most seems to define __GNUC__ these days (to be able to parse system headers...)
17:52:20 <AnMaster> #if defined(__x86_64__) && defined(__GNUC__) && defined(__SSE__) && defined(__SSE2__) && !defined(__INTEL_COMPILER)
17:52:28 <AnMaster> well that fixes it for the x86_64 variant
17:52:33 <AnMaster> haven't written a 32-bit one yet
17:52:48 <AnMaster> also no idea how clang will handle it. Clang defines __GNUC__ too
17:52:52 <ais523> are you going to write an inline asm version for gcc-bf?
17:52:58 <ais523> I must get less busy in RL so I can finish it
17:53:02 <AnMaster> ais523, hah
17:53:22 <AnMaster> ais523, icc fails on labels in inline asm for some reason
17:53:24 <AnMaster> wonder why...
17:54:24 * pikhq wishes that non-GNU C compilers would not define __GNUC__.
17:54:35 * pikhq also wishes that system headers wouldn't require __GNUC__.
17:54:38 <AnMaster> pikhq, same
17:54:43 <AnMaster> http://paste.lisp.org/display/77071 btw
17:54:46 <AnMaster> that is what I have atm
17:54:52 <AnMaster> ais523, what do you think of it?
17:55:07 <AnMaster> indention is off yes
17:55:24 <ais523> I think it looks insanely platform-specific
17:55:31 <ais523> and you're doing this just to fill memory with spaces?
17:55:36 <AnMaster> ais523, I have fallbacks as you see
17:55:42 <ais523> what if you put a load of literal spaces in the initialised read-write data section instead?
17:55:49 <ais523> would that be faster or slower?
17:55:55 <AnMaster> eh
17:56:03 <AnMaster> ais523, I would get a very large binary
17:56:16 <ais523> well, yes, but would that slow the program down?
17:56:18 <ais523> I suppose it would
17:56:22 <AnMaster> (gdb) print sizeof(static_space)
17:56:22 <AnMaster> $1 = 2097152
17:56:27 <AnMaster> that is quite large
17:56:44 <pikhq> Jebus.
17:56:56 <AnMaster> what?
17:57:03 <pikhq> That is rather large.
17:57:09 <ais523> AnMaster: typical C++ program size...
17:57:16 <AnMaster> ais523, well cfunge is in C
17:57:25 <AnMaster> and it is likely faster to do it this way than read it from disk
17:57:25 <ais523> yes
17:57:30 <ais523> but I mean 2MB isn't insanely large
17:57:35 <ais523> but yes, reading it from disk might be slow
17:57:50 <ais523> unless it's in disk cache, how slow is blitting the initialisation from disk cache to processor cahce?
17:57:53 <ais523> *cache?
17:58:00 <AnMaster> of course for optimal performance you should use a ram disk for cfunge
17:58:01 <AnMaster> :D
17:58:05 * AnMaster runs
17:58:18 <ais523> also, insane alternative: instead of storing fungespace as-is in memory, store everything with 32 subtracted from it
17:58:31 <ais523> and allow for that whenever you do reads or writes
17:58:35 <AnMaster> ais523, also no idea, but why would it need to go to CPU then? RAM-RAM DMA?
17:58:52 <AnMaster> ais523, that would mess up the range...
17:58:59 <AnMaster> + a few other things
17:59:08 <ais523> well, yes, but all those problems can be dealt with
17:59:16 <ais523> I'm wondering how costy the code for dealing with them would be
17:59:21 <AnMaster> probably more than this
17:59:27 <AnMaster> this way is rather fast actually
17:59:40 <pikhq> And then, you could have the fungespace stored in the uninitialised read-write data section. ;)
17:59:42 <ais523> oh well, then, let's stick to inline asm for filling memory with spaces
18:00:15 <AnMaster> and well -ftree-vectorize can be used on any platform and work on the C fallback loop. Which is still better than non-vectorised.
18:00:27 <ais523> pikhq: you need at least a 66-bit CPU to fit all of fungespace in memory, assuming an 8-bit word length
18:00:32 <AnMaster> in fact I would generally recommend using -ftree-vectorize for cfunge
18:00:38 <ais523> in practice, probably 67-bit, to fit other things in there as well
18:00:47 <ais523> and that's assuming 32-bit int, which on a 67-bit processor is unlikely
18:00:52 <AnMaster> 66-bit CPU?
18:01:08 <ais523> AnMaster: there's nothing mathematically impossible about that, it would just be unusual
18:01:28 <AnMaster> ais523, well yeah. if x87 uses 80-bit floats... Why not.
18:02:07 <AnMaster> 80 bits, aligned to 96 bits (x86) or 128 bits (x86_64) in memory
18:02:19 <AnMaster> iirc
18:02:49 <AnMaster> ais523, btw I ran into a weird issue with inline asm
18:03:05 <AnMaster> : [space] "=m"(static_space) that expands to: static_space(%rip)
18:03:16 <AnMaster> so I couldn't use it, since I needed to offset it by %rax
18:03:31 <AnMaster> still had to list it as out var
18:03:42 <pikhq> ais523: I suspect PAE on x86_64 would barely suffice. ;)
18:04:00 <ais523> pikhq: heh
18:04:35 <AnMaster> pikhq, err. A 32-bit funge implementation would use a funge space that consists of 2^32 * 2^32 cells. Each cell is 32 bits
18:04:42 <ais523> on the other hand, assuming 16-bit ints, you could probably fit the whole thing into memory on some 64-bit computers available nowadays
18:04:46 <AnMaster> well not exactly
18:04:50 <AnMaster> since it is signed
18:05:12 <ais523> AnMaster: signed/unsigned makes no difference to the number of bits
18:05:21 <ais523> they're just different ways to interpret bit patterns
18:05:23 <AnMaster> ais523, well it makes to number of cells
18:05:26 <AnMaster> iirc?
18:05:28 <ais523> no it doesn't
18:05:31 <AnMaster> hm
18:05:32 <AnMaster> ok
18:05:36 <ais523> think of indexing the cells in binary
18:05:37 <AnMaster> then I misremembered
18:05:38 -!- sebbu2 has joined.
18:05:45 <AnMaster> ais523, well ok.
18:05:51 <ais523> that should make it pretty obvious that the number of cells is the same, signed or unsigned
18:06:06 <ais523> the number is slightly smaller if you use one's complement or sign-magnitude, and don't include negative zero
18:06:08 <ais523> but who does that nowadays?
18:06:13 <AnMaster> pikhq, this is why you use sparse storage. Like a hash map or whatever.
18:06:23 <AnMaster> ais523, hm
18:06:45 <ais523> AnMaster: what happens if cfunge runs out of memory trying to store things in fungespace?
18:06:46 <AnMaster> pikhq, cfunge does that. But also uses a static array for the most often accessed area
18:06:53 <ais523> g/p reflects?
18:06:53 <pikhq> That is quite sane.
18:07:31 <AnMaster> pikhq, now cfunge also supports 64-bit cells as a compile time option. that means a 4 MB static array.
18:07:34 <AnMaster> ais523, hm...
18:07:53 <pikhq> array[sizeof(int)][sizeof(int)] is much nicer.
18:08:11 <ais523> pikhq: don't you mean array[1<<sizeof(int)][1<<sizeof(int)]?
18:08:28 <AnMaster> pikhq, I think array[x+y*FUNGESPACE_STATIC_X] is easier to read
18:08:31 <pikhq> s/int/size_t/
18:08:39 <AnMaster> and before anyone mentions * vs bitshifts
18:08:44 <pikhq> ;)
18:08:46 <ais523> AnMaster: multiplicative addressing? why?
18:08:47 <AnMaster> any compiler optimise it
18:09:01 <ais523> array[x][y] comes to exactly the same thing and is easier to read
18:09:23 <AnMaster> ais523, in array[x][y] are each column stored together or each row?
18:09:43 <ais523> AnMaster: you get an array of arrays
18:09:45 <AnMaster> ais523, that makes a huge difference in locality of reference
18:09:48 <ais523> which are stored contiguously in memory
18:09:51 <AnMaster> for common funge code
18:09:57 <ais523> as for which is stored together, it depends on which way round you put the subscripts
18:09:58 <AnMaster> 1) file loading is line by line
18:10:00 <ais523> which is clearly up to you
18:10:12 <AnMaster> ais523, yes indeed
18:10:23 <AnMaster> ais523, anyway I find the way I did easier to read.
18:10:44 <AnMaster> ais523, + makes the code that initialises it easier to write
18:12:57 <AnMaster> ais523, anyway about OOM. I don't know exactly
18:13:20 <ais523> do you check malloc return?
18:13:24 <ais523> or do you not do that for speed reasons?
18:13:32 <AnMaster> ais523, well yes I do, but that is deep in the hash code library
18:14:08 <AnMaster> and you can tell GCC you don't expect it to fail with __builtin_expect(), The linux kernel uses it a lot. So does this local feature branch of cfunge
18:14:22 <AnMaster> Yes I'm probably insane
18:14:26 <AnMaster> :)
18:14:36 <ais523> ah, makes sense, a branch-predicted malloc
18:14:41 -!- Judofyr_ has quit (Remote closed the connection).
18:14:43 <ais523> why don't you inline malloc for extra speed gains?
18:15:22 <AnMaster> ais523, that would be highly unportable. Despite what you may think cfunge is mostly portable across C99+POSIX.1-2001
18:15:52 <AnMaster> there are a few issues with the build system on OpenBSD, but I got that working by manually writing the gcc command line
18:15:55 <ais523> AnMaster: surely there must be some more portable way of doing it?
18:16:22 <AnMaster> ais523, well. Calling malloc()?
18:17:35 <AnMaster> ais523, most time isn't spent in there anyway. Most time remaining now is spent on pushing strings on stack. But I have started working on a solution that avoids the char<->funge_cell translation, and reversed order (stack grows up in cfunge).
18:17:56 <ais523> how does it work?
18:18:03 <AnMaster> It turned out using reversed extra wide strings worked better in some code.
18:18:09 <AnMaster> I can't fix all that way
18:18:12 <AnMaster> but some cases.
18:18:32 <AnMaster> also for certain STRN instructions you can skip popping/pushing at all
18:18:55 <AnMaster> like the one for string length. Just scan on stack.
18:19:17 <ehird> hi
18:19:37 <ehird> http://www.vjn.fi/oklopol/music/ancoolone2.mid <- i like this
18:19:58 <ais523> hi ehird
18:20:01 <AnMaster> ais523, really when it comes to system time malloc() isn't much of an issue. Most libc allocates in chunks. And even then fork() and waitpid() is what takes most time in mycology. (for the PERL fingerprint)
18:20:06 <AnMaster> when it comes to *system time*
18:20:13 <ehird> AnMaster: you should allocate your own heap with mmap
18:20:21 <ehird> it's trivial, overcomitting is universal
18:20:29 <ais523> AnMaster: you should write your own faster version of perl
18:20:31 <ehird> just allocate a shitload and it'll just about always work
18:20:38 <AnMaster> ehird, well anonymous mmap() isn't portable
18:20:43 <ehird> AnMaster: mmap /dev/zero
18:20:45 <ais523> ehird: overcommitting isn't portable either
18:20:52 <ehird> ais523: well, yes, but it works on most things
18:20:53 <AnMaster> ehird, hm ok.
18:20:55 <ais523> it will be very very slow in gcc-bf, for isntance
18:21:01 <ehird> ais523: he can fallback
18:21:07 <ehird> compile time option, say
18:21:14 <ais523> because gcc-bf will go through and organise memory so that it can jump about in that, it takes ages
18:21:16 <ehird> linux/bsd do overcommitting, probably solaris too
18:21:27 <ais523> does Windows?
18:21:32 <ehird> and those are pretty much the only widely used unixes, the rest can set -DNO_MMAP_HEAP or w/e
18:21:36 <ehird> ais523: cfunge doesn't work on windows
18:21:45 <pikhq> ais523: Still doing stuff with GCC-bf?
18:21:51 <pikhq> Spiffy.
18:21:53 <ais523> pikhq: it's on hold while I finish my degree
18:21:55 <pikhq> Ah.
18:21:56 <AnMaster> btw I did some testing with prefetching cache lines in file loading. It resulted in a speedup on my old Pentium 3, but a slowdown on my Sempron
18:21:58 <pikhq> Fair enough.
18:21:58 <ais523> but I still intend to finish it sometime
18:22:12 <ehird> but yeah, with mmap you never have to allocate, just access memory and bam
18:22:17 <ehird> = cut malloc() time out entirely
18:22:26 <ehird> also, with mmapping /dev/zero, you get all 0s
18:22:30 <ehird> so you can offset fungespace by 32
18:22:35 <AnMaster> I think that is because AMD64 auto prefetches when you access several cache lines after each other. So the instructions are nops then basically
18:22:35 <ehird> = no initialization needs to be done
18:22:38 <ehird> it's already zeroed out
18:22:39 <ais523> ehird/AnMaster: you might want to look into using sbrk if you never free memory
18:22:42 <ehird> great, right?
18:22:43 <pikhq> Glibc malloc does mmaps when efficient.
18:22:44 -!- oerjan has joined.
18:22:45 <ais523> although it plays badly with malloc on some systems
18:22:52 <ehird> pikhq: right, but a huge overcommitted mmap is better
18:22:55 <ehird> rather than many small malloc
18:22:56 <ehird> s
18:23:04 <ais523> hmm... what about using calloc not malloc if you want zeroed-out memory?
18:23:10 <ehird> ais523: that just does a memset or whatever
18:23:13 <AnMaster> ais523, I do free sometimes. Stuff like stacks are freed when that thread quits
18:23:13 <ehird> so it still loops through
18:23:16 <ais523> is calloc optimised to do the zeroing and allocating together?
18:23:17 <ehird> mmapping /dev/zero will be faster
18:23:28 <ehird> AnMaster: anyway, that offset + mmap heap I imagine would give a quite good performance increase
18:23:33 <ais523> ehird: surely a sensible library would implement calloc in terms of mmapping /dev/zero?
18:23:35 <AnMaster> ais523, also I realloc() sometimes. But profiling shows that isn't really a major overhead currently
18:23:42 <ehird> ais523: why not read glibc sourc
18:23:42 <ehird> e
18:23:46 <AnMaster> ehird, hm where was it?
18:23:48 <AnMaster> the offset bit
18:23:53 <ais523> ehird: I don't have it on me
18:23:53 <ehird> AnMaster: basically
18:23:59 * AnMaster looks at scrollback
18:24:02 <ehird> AnMaster: overcommit mmap /dev/zero, then you have it already initialized
18:24:03 <ehird> so
18:24:07 <AnMaster> ais523, it is on the web.
18:24:07 <ehird> 0 = 32
18:24:08 <ehird> 1 = 33
18:24:11 <ehird> -1 = 31
18:24:12 <ehird> etc
18:24:16 <ehird> then you have spaces as default
18:24:19 <ehird> without ANY initialization
18:24:25 * AnMaster considers
18:24:26 <ehird> = no inline asm, no initialization overhead, perfect
18:24:42 <ehird> (with a fallback -DNO_MMAP_HEAP for non-overcommitting systems or ones that do it slowly)
18:24:50 <ais523> ehird: I mentioned that a while back to AnMaster
18:24:51 <AnMaster> ehird, so this would change the range of all the vaules?
18:24:53 <ais523> the offset-by-32 thing
18:24:58 <ehird> AnMaster: err, pretty much
18:25:00 <ehird> ais523: yes
18:25:01 <ehird> I got the idea from you
18:25:06 <ehird> but combined it with mmapping /dev/zero
18:26:30 <AnMaster> ehird, well the kernel sets static uninitialised vars to be 0. So I could equally well do offset on that instead.
18:26:51 <ehird> AnMaster: you can't have a huge static var
18:26:59 <ehird> have you ever tried to overcommit mmap?
18:27:08 <ehird> I've allocated 5GB on this 2.5GB system, with half the memory full
18:27:09 <ehird> it worked fine
18:27:14 <AnMaster> ehird, No. But I tried a 128 MB static var in cfunge.
18:27:16 <ehird> that's basically what I'm suggesting
18:27:27 <ehird> get rid of malloc (apart from as fallback)
18:27:31 <ehird> mmap a huge /dev/zero
18:27:34 <ehird> and offset by 32
18:27:40 <olsner> ais523: I suspect most calloc's are only a malloc+memset anyway
18:27:43 <ehird> I'd bet money you'd get a good speed improvement
18:27:55 <oerjan> hm... deranged values...
18:28:10 <ais523> incidentally, there was a big argument on comp.lang.c about what happened if you used calloc to allocate more than a SIZE_MAX of memory
18:28:13 <AnMaster> ehird, hm. Worth trying indeed.
18:28:24 <ehird> AnMaster: if you don't, I'll try and figure out cfunge and do it :P
18:28:37 <ais523> it seems most implementations treat that case as UB, but they weren't sure whether that was allowed or not
18:28:55 <fizzie> And this speed improvement, would it help in anything except cfunge start-up time?
18:29:02 <AnMaster> ehird, well I can't do it today, I'm checking profiling to try to work at the most problematic area.
18:29:28 <AnMaster> ehird, but I will try it indeed.
18:29:40 <ehird> fizzie: well, yes
18:29:43 <ehird> he'd never call malloc
18:29:47 <ehird> just reference the memory
18:29:48 <AnMaster> ehird, however I think it may break the specs if you don't compensate
18:29:53 <ehird> so it should be a pervasive improvement
18:29:54 <ehird> AnMaster: hm?
18:29:54 <AnMaster> the range I man
18:29:56 <AnMaster> mean*
18:29:59 <ehird> why
18:30:03 <ehird> just +32 on every read
18:30:09 <ehird> which is, conveniently, a bitshift
18:30:12 <ehird> er, no it's not
18:30:13 <ehird> :D
18:30:16 <ehird> don't listen to me
18:30:17 <ehird> but yeah
18:30:19 <ehird> +32 on each read
18:30:21 <ehird> -32 on write
18:30:23 <ehird> = no initialization time
18:30:30 <ehird> so that saves startup time, and the no-mallocing saves time all the way through
18:30:33 <ehird> i case my rest
18:30:34 <AnMaster> ehird, what about stack?
18:30:35 <ais523> ehird: but you only initialise once
18:30:42 <AnMaster> indeed
18:30:42 <ehird> ais523: yes, that saves at startup only
18:30:44 <ais523> and you access memory lots of times
18:30:50 <ais523> so you're saving at startup to hurt more later on
18:30:54 <ehird> err, I disagree
18:30:57 <ais523> and you end up with an interp that's slower on very long programs
18:31:00 <ehird> +32 and -32 take one cycle
18:31:07 <AnMaster> ais523, well you could change the instruction dispatcher to work on the offset values
18:31:09 <ehird> the averaged performance increase would be a gain
18:31:12 <ehird> I am almost certain
18:31:16 <ehird> 90%
18:31:23 <ehird> I _will_ bet money on it, if anyone wants
18:31:27 -!- sebbu has quit (Connection timed out).
18:31:50 <olsner> not having to manually check whether memory needs to be malloc'ed should be a gain in a lot of places
18:31:58 <ehird> exactly
18:32:10 <ais523> ehird: I bet it would run an infinite loop more slowly
18:32:19 <ais523> as in, each iteration took longer
18:32:23 <AnMaster> ehird, well I don't really malloc the funge space currently. I don't need to. all but one access of mycology is inside the static area
18:32:25 <ehird> ais523: see olsner
18:32:30 <ais523> if you did anything interesting in the infinite loop at all
18:32:35 <AnMaster> and that is true for most other programs too
18:32:35 <ehird> AnMaster: Just hardcode mycology's output ffs
18:32:42 <ais523> AnMaster: how do you handle Lahey-lines with no commands at all on them?
18:32:47 <ehird> if you're optimizing beyond what you have, you're not going to get huge gains
18:32:53 <ehird> I'm just trying to say the biggest gains in my opinion
18:33:11 <AnMaster> ais523, well how would you end up on that? with threads that remove the < or whatever?
18:33:24 <ehird> AnMaster: empty source file
18:33:25 <Asztal_> that or a j instruction
18:33:36 <AnMaster> ehird, empty source file is an infinite loop
18:33:36 <Asztal_> (or is it x)
18:33:38 <AnMaster> yes
18:33:50 <ais523> AnMaster: I've seen it done with a row of ps before
18:33:59 <ais523> where the stack was set up in advance to hold all the right information
18:34:07 <ais523> but there are other ways, as suggested
18:34:39 <AnMaster> ais523, the main thing to remember is that such a loop is not breakable even with multiple threads. Reason is that spaces take no ticks
18:34:51 <fizzie> Didn't we already discuss this earlier, though?
18:35:40 <AnMaster> ais523, so it will loop in the "we have a space, search for next instruction" code
18:36:10 <ais523> AnMaster: ah, ok
18:36:13 <Asztal_> mine optimises it into a real infinite loop :)
18:36:19 <AnMaster> hah
18:36:21 <AnMaster> old joke
18:36:35 <ais523> heh, CLC-INTERCAL optimises obvious infinite loops into a select instruction with infinite timeout
18:36:41 <ais523> so it doesn't even use up CPU
18:37:34 <ehird> ais523: what's your opinion on qbasic vs quickbasic
18:37:40 <ehird> quickbasic is fast and fancy, I think that ruins it
18:38:00 <fizzie> Oh, and you can get an "empty" lahey-line simply by entering a line with only ;>#; at the > character, since ;; doesn't take up any ticks either.
18:38:10 <ais523> ehird: I've never seen quickbasic
18:38:25 <ais523> fizzie: wow, that does work
18:38:26 <ehird> ais523: it's qbasic without the restrictions
18:38:27 <ehird> and it can compile
18:38:30 <ehird> and it's a lot faster
18:38:34 <ehird> and it has a bigger manual
18:38:34 <AnMaster> ehird, anyway what I do malloc mostly is stacks and stack-stacks. And strings in certain fingerprints
18:38:35 <ehird> and more functions
18:38:49 <ehird> which I think spoils it
18:39:25 <fizzie> And the quickbasic manual isn't decompilable with the helpmake.exe tool; it spews out a rather corrupted file and hangs up. (At least that's what it did in dosbox.)
18:39:25 <ehird> for instance, my 7-second qbasic graphical sierpinski runs in less than 1 second in quickbasic
18:39:49 <ais523> do you have a legal copy of quickbasic?
18:40:11 <ehird> Illegal, from fizzie.
18:40:15 <ehird> Well.
18:40:17 <ehird> Probably illegal.
18:40:33 <olsner> and this channel is publicly logged? :P
18:40:39 <fizzie> ehird: You weren't supposed to reveal it's from me! It was all very hush-hush! (Although I may have behaved suspiciously enough.)
18:40:39 <ais523> olsner: yes
18:40:41 * oerjan puts handcuffs on fizzie O====O
18:40:42 <ais523> hi clog! hi cmeme!
18:40:54 <ehird> cmeme isn't here
18:40:55 <ehird> he died.
18:40:58 <ais523> err... cmeme?
18:41:03 <ehird> ais523: cmeme = ircbrowse.com
18:41:08 <ehird> hasn't been here for many months
18:41:08 <ais523> yes, I know
18:41:10 <ehird> oh
18:41:20 <ais523> I have to go now, anyway
18:41:21 <pikhq> Well, that's still one logger.
18:41:23 <ehird> olsner: I would like to see one person enforcing QuickBasic's copyright
18:41:29 -!- ais523 has quit ("mibbit.com: this is a rubbish quit message").
18:41:58 * oerjan enforces copyright on ehird with the saucepan ===\___/
18:42:04 <AnMaster> ehird, just did a test on mycology: malloc() was called 532 times, realloc() 288 times and free 529() times. And that mismatch between free and malloc is due to long lived arrays that in SOCK, FILE and REFC. You can't free them before exit anyway due to the way the fingerprints are defined.
18:42:14 <AnMaster> so not a real leak
18:42:19 <fizzie> "Recently, a set of TCP/IP routines for QuickBASIC 4.x and 7.1 has revitalized some interest in the software." Heh.
18:42:21 <ehird> right, that 532 could become 0 :-)
18:42:39 <AnMaster> ehird, well none of those malloc() calls were for funge space
18:42:41 <olsner> it's a matter of principle, I believe QB was the in-the-day equivalent of a Visual Studio license, so you should be paying millions in damages for violating the precious copyright
18:42:54 <ehird> heh
18:43:02 <AnMaster> ehird, and the other ones doesn't need to be initialised.
18:43:47 <AnMaster> ehird, so trying with offset on static array should be quite interesting. Oh another thing. Too large static area is bad for performance. Locality of reference.
18:44:02 <AnMaster> Yes I noticed this in profiling
18:44:46 <fizzie> Also seems that FreeBASIC has added OOP-style stuff to the TYPE command.
18:45:00 <AnMaster> same would go for mmap() unless you encode the coordinate as some sort of space filling fractal that puts close areas in the same cacheline (as well as page)
18:45:18 <AnMaster> hm that sounds interesting
18:45:18 <AnMaster> ...
18:45:38 <AnMaster> need very low overhead to calculate too
18:46:02 <AnMaster> ehird, what do you think of that idea?
18:46:05 <AnMaster> :D
18:46:24 <ehird> er
18:46:26 <ehird> I dun geddit
18:46:27 <AnMaster> a cache line is typically 64 bytes on x86
18:46:46 <AnMaster> ehird, Do you remember xkcd's map over ip addresses?
18:46:50 <ehird> Yes.
18:47:22 <Asztal_> That doesn't look like you can calculate the linear index from cartesian co-ordinates easily :(
18:47:24 <AnMaster> ehird, do you remember how the mapping between ips and points on the map was done?
18:47:41 <AnMaster> well now that was 1D -> 2D
18:47:42 <ehird> no
18:47:52 <Asztal_> http://en.wikipedia.org/wiki/Space-filling_curve
18:47:59 <AnMaster> ehird, using a space filling fractal that put close ips close to each other
18:48:23 <AnMaster> Asztal_, indeed. Don't remember what exact variant
18:48:32 <Asztal_> Looks like a Hilbert curve.
18:48:33 <AnMaster> anyway. What about a mapping the other way?
18:48:41 <AnMaster> 2D -> 1D
18:49:13 <AnMaster> is it possible to do such a thing O(1)?
18:49:32 <oerjan> almost nothing is possible O(1)
18:49:50 <AnMaster> oerjan, well true. :(
18:49:58 <oerjan> there are infinitely many digits both in and out
18:50:05 <oerjan> O(n), possibly
18:50:20 <fizzie> Alternatively, from a practical point of view, almost everything is just O(1) with a big constant if you're doing it on a real computator.
18:50:32 <AnMaster> oerjan, where n is what? Number of positions? Number of bits in address?
18:50:50 <oerjan> the latter
18:50:54 <AnMaster> hm
18:51:14 <oklofok> practicality is so impractical
18:51:26 <AnMaster> well Maybe.
18:51:40 <oerjan> i expect with some grouping, the result at one position depends only on the previous ones
18:51:40 <AnMaster> but that wasn't a very practical comment :P
18:51:58 <oerjan> (more high-level)
18:51:58 <AnMaster> oerjan, well if you want to do random lookup, and not start from the start of the curve
18:52:05 <AnMaster> brb phone :(
18:54:23 <ehird> Wow, that's one trippy mandelbrot.
18:56:52 <Asztal_> AnMaster: Actually, wikipedia seems to have more info on how http://en.wikipedia.org/wiki/Z-order_(curve) can be used like this.
18:59:26 <Asztal_> in particular "The resulting ordering can equivalently be described as the order would get from a depth-first traversal of a quadtree;"
18:59:38 <fizzie> Notably, calculating the z-order coordinate from x, y is just a single application of the INTERCAL mingle operator.
18:59:54 <fizzie> Of course your silly C might lack the always-useful $ operator.
19:05:00 <fizzie> Curiously, that one bit-hacks page at http://www.cs.utk.edu/~vose/c-stuff/bithacks.html seems to have a couple of bit-interleaving tricks.
19:05:57 <ehird> you can do $ really fast with two lookup tables and bitshifts, right?
19:06:59 <fizzie> There's one lookup table approach, yes. There's also yet another of those 64-bit multiplications, if you happen to have a fast 64-bit multiplier.
19:07:22 <fizzie> They always look so silly.
19:07:34 <oerjan> via the IWC forum: http://www.sciforums.com/vacuum-pockets-and-safety-nazis-t-41446.html
19:07:38 <ehird> for a 32-bit int you can trivially generate two 65536-sized lookup tables
19:07:41 <ehird> then just
19:07:54 <ehird> tab[n&65535]
19:07:54 <ehird> and
19:07:58 <ehird> tab2[n<<blah]
19:07:59 <ehird> err
19:08:00 <ehird> >>blah
19:08:01 <ehird> or whatever
19:08:18 <ehird> oerjan: nice linkjack.
19:08:19 <ehird> not.
19:08:34 <ehird> http://groups.google.com/group/rec.arts.sf.written/msg/073bea1aa44c9396
19:08:37 <oerjan> huh?
19:09:08 <ehird> you linked to an ugly, ad-filled page, on a forum, where someone had minimally copied and pasted the original post from google groups
19:09:14 <ehird> as opposed to linking ot the archived message directly
19:09:34 <oerjan> it was the link posted on the iwc forum
19:10:02 <fizzie> I also linked to the google-groups URL three days ago; someone hasn't been diligently logreading!
19:10:03 <oerjan> i was watching out only for safety nazis, not link nazis, sorry
19:10:30 * oerjan goes on a murderous swatting spree -----###
19:10:47 * ehird bites off oerjan's head
19:10:48 <ehird> om nom
19:10:56 -!- Corun_ has joined.
19:11:10 <oerjan> would you like fries with that?
19:12:13 <ehird> Loeb's Theorem as a Scheme description: "A function which, when given code evaluating to (a function which, when giving code evaluating to P, returns P), returns code evaluating to P."
19:12:15 * ehird implements
19:12:24 <oerjan> also, i didn't know that it was ad filled. my brain filters are reasonably resistant to anything not actually revolting.
19:13:17 <ehird> (define (loeb box)
19:13:17 <ehird> `((eval box) '(loeb ,box)))
19:13:21 <ehird> ski__: I wrote loeb.
19:14:18 <ehird> er wait
19:14:23 <ehird> (define (loeb box)
19:14:23 <ehird> `((eval box) '(loeb ',box)))
19:14:33 <bsmntbombdood> i don't get it
19:14:37 <ehird> (define (loeb box)
19:14:37 <ehird> `(,(eval box) '(loeb ',box)))
19:14:38 <ehird> there
19:14:45 <ehird> bsmntbombdood: "A function which, when given code evaluating to (a function which, when giving code evaluating to P, returns P), returns code evaluating to P."
19:14:47 <ehird> in modal logic:
19:14:51 <ehird> []([]P -> P) -> []P
19:14:55 <ehird> in blah:
19:14:58 <bsmntbombdood> what's the point
19:15:06 <ehird> "If it is provable that (if P is provable then P), then P is provable"
19:15:17 <ehird> bsmntbombdood: A nice introduction: http://yudkowsky.net/rational/lobs-theorem
19:15:44 <bsmntbombdood> will not stand for that scribd shit
19:15:49 <ehird> not my fault.
19:16:08 <oerjan> scribd?
19:16:37 <ehird> click the damn link
19:16:58 <bsmntbombdood> oerjan: scribd invented that stupid embedded pdf web app bloat fail
19:17:49 -!- Judofyr has joined.
19:18:32 <ehird> oh, wait
19:18:34 <ehird> (define (loeb box)
19:18:34 <ehird> `(,box '(loeb ',box)))
19:18:35 <ehird> there
19:18:46 <ehird> (loeb is basically the fixed point operator for boxed code, in a way)
19:19:18 -!- Corun has quit (Connection timed out).
19:19:21 <ehird> #;3> (eval (loeb '(lambda (x) 2)))
19:19:21 <ehird> 2
19:19:25 <ehird> It passes the Very Silly Test.
19:19:52 <ehird> Cool, (eval (loeb '(lambda (x) x))) behaves like ```sii``sii
19:22:18 -!- calamari has joined.
19:23:18 <ehird> http://julianstahnke.com/read/sound_picture/
19:23:36 <bsmntbombdood> ...
19:37:32 <ehird> AnMaster: you there?
19:39:10 <AnMaster> back
19:39:12 <AnMaster> ehird, now yes
19:39:17 <ehird> heh
19:39:18 * AnMaster reads scrollback
19:40:32 <AnMaster> <fizzie> There's one lookup table approach, yes. There's also yet another of those 64-bit multiplications, if you happen to have a fast 64-bit multiplier. <-- interesting
19:41:17 <ehird> AnMaster: how much chance to you think I have to beat cfunge speed in haskell? :D
19:41:59 <AnMaster> ehird, unknown. It depends on what you do. If fizzie finishes his jitfunge he will beat cfunge at single-threaded apps
19:42:12 <AnMaster> I fail to see how his approach would work with threads though
19:42:12 <ehird> interpreting
19:42:39 <fizzie> (The 64-bit multiplication interleaves only 16 bits at a time, though.)
19:42:42 <AnMaster> ehird, then it depends on how you do it. cfunge isn't perfect. It is just the fastest one currently around.
19:42:55 <AnMaster> fizzie, how do you plan to implement t in jitfunge?
19:43:02 <ehird> AnMaster: cfunge is near c speed, isn't it?
19:43:20 <AnMaster> ehird, hahahaha
19:43:26 <AnMaster> very funny
19:43:31 <ehird> well, it sure is fast...
19:43:44 <AnMaster> ehird, c as speed of light? Yes very funny joke
19:43:51 <AnMaster> ~
19:44:09 <fizzie> I don't really have a plan there; I don't see any sensible way of doing synchronous threads with jitfunge without it being completely brainless.
19:44:14 <ehird> AnMaster: >_<
19:44:17 <ehird> C speed.
19:44:40 <AnMaster> ehird, oh, I thought you planned to trap me there by claiming you meant c as in speed of light
19:44:46 <AnMaster> if I read it as the language
19:45:17 <AnMaster> ehird, anyway you could write a C program that did the same output but was faster. Like that compile to shell script in ick
19:45:30 <ehird> yes, but
19:45:34 <ehird> without stupid corner cases
19:46:15 <AnMaster> ehird, and since I do implement funge threads I can't merge instructions either. So >:#,_ can't be translated to "output string from stack"
19:46:28 <AnMaster> since some other thread could potentially change it while it was executing
19:46:32 <fizzie> At the very least it'd need some explicit synchronization just about everywhere. It sounds rather painful to implement. Of course I *could* run things-with-no-observable-side-effects somewhat concurrently.
19:46:34 <ehird> yes but
19:46:35 <AnMaster> and I have to keep them synched
19:46:37 <ehird> answer my question
19:46:40 <ehird> without bullshit corner cases
19:46:41 <AnMaster> synced*
19:46:42 <ehird> like you always do
19:46:51 <ehird> doesn't cfunge compete with C on speed?
19:46:54 <ehird> as in, 2-4x slower than C
19:47:40 <AnMaster> ehird, hm. There are some issues that are hard to avoid with befunge interpretation. Like locality of reference. But my goal was never to get as fast as native C code
19:47:52 <ehird> AAAAAAAAAAAGH
19:47:52 <AnMaster> my goal was "beat all those other interpreters"
19:47:56 -!- Slereah_ has joined.
19:47:58 <ehird> Why can't you just answer my freaking question
19:48:09 <AnMaster> and later on: "how fast can I make this?"
19:48:15 <AnMaster> ehird, well I wish I could. It isn't easy
19:48:18 <oerjan> ehird: it's classified information
19:48:27 <AnMaster> ehird, and I don't know the answer exactly
19:48:33 <ehird> AnMaster: just answer roughly
19:48:43 <ehird> does cfunge compete (2-4x slower) than C in common cases?
19:48:44 <fizzie> I doubt there are very well-comparable benchmarks that would've been implemented both in C and in Befunge.
19:48:56 <ehird> fizzie: i'm not asking for a formal comparison
19:49:08 <AnMaster> ehird, I can't answer since I haven't measured compared to the equivalent program in pure C.
19:49:16 <AnMaster> fizzie, indeed
19:49:20 <ehird> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
19:49:25 <fizzie> But you need some code that does the same thing in both languages to give any sort of sensible answer.
19:49:34 <AnMaster> anyway, with C you can optimise control flow
19:49:36 <AnMaster> and so on
19:49:41 <ehird> unoptimized C
19:50:07 <AnMaster> ehird, as produced by GCC? with -O0? Ok that isn't fair. Bash could possibly beat that in some cases...
19:50:11 <AnMaster> well almost
19:50:13 <ehird> -O2
19:50:27 <ehird> you always do this, nitpick nitpick corner case corner case one level lower of abstraction...
19:50:42 <AnMaster> ehird, -O2 is rather well optimised. And befunge is hard top optimise. And as fizzie said: "<fizzie> I doubt there are very well-comparable benchmarks that would've been implemented both in C and in Befunge."
19:50:51 <AnMaster> now I have an idea though
19:50:56 <AnMaster> it is called threaded code
19:51:02 <fizzie> ehird: No, seriously, it's not a very simple question, since no-one does any "common cases" with Befunge.
19:51:03 <AnMaster> this could be interesting for befunge
19:51:08 <Asztal_> do some of the language shootout tests :)
19:51:21 <Asztal_> you can probably beat Ruby :D
19:51:26 <ehird> AnMaster: threaded code would not be a good improvement for befunge, afaik.
19:51:36 <ehird> Asztal_: oh, it'd almost certainly beat all/most of the interpreted languages
19:51:47 <AnMaster> ehird, well I never tried it. Just got the idea today. But why would it not be very good?
19:52:00 <AnMaster> You could handle the updating pointer quite easily probably
19:52:02 <ehird> Because threaded code works for... Forth.
19:52:25 <AnMaster> ehird, and for erlang. The Erlang VM uses threaded bytecode iirc.
19:52:56 <AnMaster> well unless you compile with HIPE to get native code.
19:54:04 <ehird> Erlang's bytecode is UNCOMFORTABLY PARALLEL.
19:54:37 <AnMaster> ehird, hm. Only because that is how it has been written
19:54:52 <AnMaster> and the language is designed to make it easy
19:55:03 -!- oerjan has quit ("leaving").
19:57:29 -!- Slereah has quit (Read error: 110 (Connection timed out)).
19:58:33 <AnMaster> <fizzie> There's one lookup table approach, yes. There's also yet another of those 64-bit multiplications, if you happen to have a fast 64-bit multiplier. <-- any links to more info on this?
19:58:55 <fizzie> Well, it's on that page whose URL was just few lines earlier.
19:59:09 <fizzie> It does interleave just 16 bits with the 64-bit multiplication, though.
19:59:23 <AnMaster> ah right
19:59:35 <fizzie> And I don't want to guess anything about execution speed vs. the lookup-table-based versions.
20:00:01 <AnMaster> fizzie, of course. That is what profiling test cases is for
20:00:09 <AnMaster> as well as profiling real program
20:00:38 <AnMaster> and cache/branch simulation with cachegrind and callgrind. As well as real profiling those with oprofile
20:00:41 <AnMaster> and so on ;P
20:02:10 -!- Corun_ has quit ("This computer has gone to sleep").
20:05:27 <AnMaster> fizzie, those bit hacks are for shorts it seems. I operate on larger numbers though
20:05:35 <AnMaster> but maybe just for the static area
20:05:41 <AnMaster> which is currently 1024*1024
20:06:03 <fizzie> And you can do your larger numbers in small pieces. I did say "just 16 bits".
20:06:27 <AnMaster> the 64-bit one is for 8 bit numbers though
20:06:56 <fizzie> Oh, right; it was a 16-bit result.
20:07:02 <AnMaster> yep
20:07:27 <fizzie> Yes, it's probably because there are 8 bytes you can fit in a 64-bit integer, and you need all 8 different bit positions there.
20:07:37 <ehird> geez, QBasic is crazy slow.
20:07:40 <AnMaster> probably
20:07:40 <ehird> i mean how can you do anything
20:07:53 <AnMaster> fizzie, if you could do this with SSE.. Hm!
20:08:27 <AnMaster> however the overhead of SSE setup is rather large. It is only useful for a large number of similar operations after each other
20:08:46 <AnMaster> ehird, implement a fast funge in qbasic?
20:08:51 <ehird> no :|
20:09:20 <AnMaster> ehird, still a simple befunge93 would be nice. I don't think anyone done that..?
20:09:34 <fizzie> I have a feeling I might have.
20:09:40 <AnMaster> haha
20:09:40 <fizzie> Not sure.
20:10:02 <ehird> sure I can do funge93
20:10:02 <fizzie> I tend to do a befunge 93 interpreter in most languages I come across, but I might not have revisited basic.
20:10:12 <ehird> DIM fs(80, 24)
20:10:24 <ehird> hey, what's hello world again?
20:10:31 <AnMaster> befunge?
20:10:38 <ehird> -93
20:10:47 <fizzie> 025*"!dlrow ,olleH">:#,_@
20:10:52 <ehird> tankz
20:10:52 <AnMaster> indeed
20:11:01 <AnMaster> fizzie, err the 0 isn't needed
20:11:03 <fizzie> You can omit the initial 0 if you want to test stack underflow handling simultaneously.
20:11:05 <ehird> fuck, I can't backspace.
20:11:11 <ehird> er
20:11:12 <ehird> i mean
20:11:13 <ehird> i can't \
20:11:23 <AnMaster> ehird, can't what?
20:11:26 <AnMaster> write a \ ?
20:11:34 <AnMaster> how can that be hard
20:11:37 <fizzie> Yes, I did mention I always put the 0 there. It's more robust that way. :p
20:11:43 <ehird> AnMaster: keyboard mappin'.
20:11:47 <AnMaster> fizzie, more breaking
20:12:03 <AnMaster> ehird, mycology has a befunge 93 section. It is fairly complete. Just remember to test mycorand.bf too
20:12:18 <AnMaster> ehird, you wrote a \ just above there...
20:12:21 <fizzie> More robust; you don't run out of the string. I always tend to keep a lot of results on the stack that the print loop would cheerfully pop out.
20:12:30 <fizzie> AnMaster: It's dosbox's keyboard mappings.
20:12:30 -!- KingOfKarlsruhe has joined.
20:12:33 <AnMaster> oh
20:12:33 <fizzie> Those can be pretty tricky.
20:12:33 <ehird> IN DOSBOX
20:12:34 <ehird> gr
20:12:37 <AnMaster> that's silly then
20:12:48 <AnMaster> why not read like normal programs
20:12:53 <ehird> not
20:12:54 <ehird> that
20:12:55 <ehird> simple
20:12:58 <AnMaster> oh?
20:13:36 <AnMaster> if you read scancodes sure. But why do it? Why not just do input like any other program? that *works* with your keymap
20:13:45 <ehird> ...
20:13:46 <AnMaster> I don't see why it isn't simple
20:13:59 * ehird facepalm.
20:14:04 <AnMaster> why?
20:14:27 <AnMaster> something SDL could help you handle this properly.
20:14:31 <AnMaster> or whatever you want
20:14:34 <Deewiant> FWIW I also don't see why they do it in a strange way
20:14:50 <Deewiant> I assume there is a reason other than their ignorance
20:15:00 <AnMaster> Deewiant, leetness?
20:15:07 <Deewiant> It's not leet if it doesn't work
20:15:11 <AnMaster> well true
20:15:23 <AnMaster> Deewiant, yes it is. That is what leet is all about.
20:15:42 <Deewiant> Doing things the hard way is cool, but if you're not actually doing what you're supposed to be doing it's lame
20:16:00 <AnMaster> leet == saying stuff like "haxxxx11011oneone!!!" and not knowing how to program
20:16:15 <AnMaster> script kiddies, and such
20:16:17 <AnMaster> mostly
20:16:30 <AnMaster> Deewiant, yes. But if it works it isn't leet
20:16:34 <Deewiant> Well yeah, nowadays
20:16:37 <AnMaster> if it works it is just cool
20:16:49 <ehird> 19:16 AnMaster: leet == saying stuff like "haxxxx11011oneone!!!" and not knowing how to program
20:16:55 <ehird> I don't think that has ever been considered leet, ever
20:17:02 <Deewiant> Damn late 90s and 00s messing up the meaning of 'leet' and all that
20:17:09 <ehird> But, y'know, talking out of your ass works fine for most people.
20:17:12 <AnMaster> ehird, except by those doing it.
20:17:30 <AnMaster> ehird, anyway my point is leet lost it's original meaning
20:17:32 <ehird> have you even -seen- anyone who claimed to be leet sincerely?
20:17:37 <AnMaster> like hacker lost it's meaning
20:17:39 <ehird> if not, stfu, because you're wrong
20:17:45 <AnMaster> ehird, yes and they all spoke like that...
20:18:00 <AnMaster> I just claim the word lost it's original meaning
20:18:27 <AnMaster> hacker today isn't the same thing as it originally was either
20:19:02 <fizzie> Deewiant: I am guessing it's some sort of "we want the low-level keyboard access DOS does to work as much as possible the way it would without a real operating system in-between", but that's a bit strange reason. I'd prefer that they'd read input on the X keysym level or something, and then just have a mapping from those into keyboard scancodes so you could make it look to DOS like your keyboard was US, fi, or whatever.
20:19:39 <AnMaster> fizzie, good idea.
20:19:39 <ehird> hrm, is befunge-93 stack limited to 0-255?
20:19:41 <Deewiant> fizzie: That's not really a good reason, since they can do exactly what you said and it'd work much better.
20:19:53 <ehird> Deewiant: and be less portable
20:19:55 <AnMaster> ehird, um signed I think?
20:19:58 <Deewiant> ehird: How's that
20:20:00 <ehird> most dosbox users are on windows
20:20:09 <fizzie> They'd read Windows keyboard events there.
20:20:19 -!- Hiato1 has quit ("Leaving.").
20:20:21 <fizzie> It's not like they don't have to write platform-specific input-handling now, too.
20:20:24 <ehird> AnMaster: So, LONG.
20:20:36 <AnMaster> ehird, not sure about 93. Check the spec
20:20:44 <ehird> Yeah, except, the spec is shit.
20:20:48 <fizzie> Disclaimer: I've never really figured out how dos keymapping works. I vaguely remember "KEYB SU" being needed somewhere to get Finnish layout.
20:20:52 <AnMaster> http://catseye.tc/projects/befunge93/doc/befunge93.html
20:21:05 <fizzie> And the Befunge 93 stack tends to be whatever the most comfortable integer size is.
20:21:21 <fizzie> In a QBasic implementation, you could maybe use a 16-bit integer stack.
20:21:23 <Deewiant> keyb su,,C:\WINDOWS\COMMAND\KEYBOARD.SYS
20:21:27 <AnMaster> su?
20:21:35 <fizzie> "Suomi", which is fi:Finland.
20:21:37 <AnMaster> ah
20:21:43 <fizzie> Er, I mean, fi:Suomi is en:Finland.
20:21:44 <ehird> DIM fs(24) AS STRING * 80
20:21:59 <ehird> fizzie: I propose the ; operator for such uses.
20:22:01 <Deewiant> ehird: 25?
20:22:06 <ehird> "Suomi", which is fi;Finland.
20:22:19 <ehird> Syntax: lang;word-in-language-in-which-we-are-speaking
20:22:27 <ehird> Needs the context of a quoted word in [lang] to make sense.
20:22:48 <ehird> "X" is Y;Z "Y:X is en:Z"
20:22:57 <ehird> Dewi: er, yes.
20:23:04 <ehird> Deewiant:
20:23:05 <ehird> wait, why
20:23:06 <olsner> I think it makes more sense for the language annotation to annotate the language of the word it appears with
20:23:08 <AnMaster> ehird, so you escape any ; in the string then?
20:23:21 <Dewi> ehird: 83
20:23:23 <AnMaster> ehird, 25*80 not 24*80
20:23:24 <ehird> abnthe same problem with is :; there are no words with ; and : in them in any language assigned an ISO code.
20:23:29 <ehird> er
20:23:30 <Deewiant> ehird: It's 80x25 so either your language has weird syntax or one of those numbers is wrong
20:23:32 <ehird> AnMaster: the same problem with is :; there are no words with ; and : in them in any language assigned an ISO code.
20:23:41 <ehird> olsner: this is convenient in some cases, like fizzie's
20:23:47 <AnMaster> ehird, well C;true;
20:23:55 <ehird> C is not an ISO language code.
20:23:59 <AnMaster> well ok
20:24:05 <ehird> and true is not a C-defined symbol
20:24:17 <AnMaster> ehird, #include <stdbool.h>
20:24:21 <AnMaster> yes it is
20:24:22 <ehird> you didn't say that.
20:24:28 <olsner> I think "fi;Suomi, which is Finland" makes more sense
20:24:34 <fizzie> en:I en:can en:add en:that en:prefix en:to en:all en:my en:words en:to en:make en:it en:unambiguous, en:if en:you en:want.
20:24:35 <AnMaster> ehird, well ok
20:24:52 <AnMaster> fizzie, was that an English : or a Finnish : ?
20:24:54 <fizzie> en:Really, en:it's en:no en:problem en:for en:me.
20:25:02 <ehird> DIM stkbase AS long
20:25:02 <ehird> stk$ = VARPTR$(stkbase)
20:25:04 <ehird> Fun fun.
20:25:05 <olsner> fizzie: en:"you could also annotate sentences"
20:25:28 <ehird> Although, well, more useful:
20:25:32 <ehird> stk = VARPTR(stkbase)
20:25:36 <ehird> (Then use poke and peek, naturally.)
20:25:40 <AnMaster> olsner, en:that en:means en:more en:decoding en:processing
20:25:46 <ehird> Hey, you could use that to write to video memory from fungespace. Maybe.
20:25:47 <olsner> and I'd say the current medium has an implicit en: annotation for all utterances
20:26:01 <AnMaster> en:since en:you en:need en:to en:expand en:it en:then
20:26:06 <fizzie> ehird: You need to also use VARSEG() and DEF SEG if you want to do that; not all basic variables need to be in the same segment.
20:26:16 <ehird> ah right
20:26:19 <fizzie> Since QBasic can handle that whopping 160 kilobytes of user data.
20:26:42 <ehird> DIM stkbase AS long
20:26:42 <ehird> DEF SEG = VARSEG(stkbase)
20:26:43 <ehird> stk = VARPTR(stkbase)
20:26:45 <AnMaster> ehird, wait what? Encoding different funge instructions as colours on the screen?
20:26:46 <ehird> Wall ah.
20:26:48 <AnMaster> wow
20:26:50 <AnMaster> that would be cool
20:26:56 <ehird> AnMaster: no, that isn't what I was doing, but that would be possible
20:27:00 <ehird> fairly trivial even
20:27:03 <olsner> fizzie: 160kb? that's not a very even number...
20:27:05 <ehird> I was going to add P and G
20:27:09 <AnMaster> ehird, except that is int
20:27:11 <fizzie> olsner: That's what the help file says.
20:27:11 <ehird> which are POKE/PEEK
20:27:14 <ehird> AnMaster: not in -93.
20:27:20 <olsner> ehm, 2*64+(1/2)*64 or something?
20:27:30 <AnMaster> ehird, oh right. Funge space is byte and stack is signed int?
20:27:32 <AnMaster> right?
20:27:48 <ehird> Yes.
20:28:04 <Deewiant> "*
20:28:06 <Deewiant> Befunge-93 defines signed 32-bit stack cells and unsigned 8-bit Funge-Space cells."
20:28:09 <fizzie> ehird: Incidentally, if you just "DEF SEG = &HB800" and use POKE/PEEK to do all funge-space access (just remember to do a *2 to all coordinates) you get a real-time view of the funge space, and don't need a separate array for it in the code.
20:28:17 <AnMaster> Deewiant, I was just copying that...
20:28:19 <ehird> HB800?
20:28:21 <ehird> Huh?
20:28:26 <ehird> &HA000, no?
20:28:32 <fizzie> ehird: The text mode display memory starts at 0xB8000.
20:28:38 <ehird> Oh, right.
20:28:52 <ehird> Well, thing is, i'd kind of like to have fungeprograms drawing circles, y'know?
20:28:59 <ehird> I guess that's unrealistic what with the immense speed of QBasic.
20:29:29 <AnMaster> ehird, for EOF on input I suggest reflect. it is undef in 93, but reflect in 98
20:29:41 <ehird> There is no EOF in QBasic.
20:29:45 <AnMaster> so that forward compatibility is useful.
20:29:51 <ehird> AFAIK.
20:29:52 <AnMaster> ehird, what happens at end of file then?
20:29:58 <ehird> There is no way to trigger that.
20:30:04 <AnMaster> ehird, DOS has pipes...
20:30:12 <ehird> Yes.
20:30:15 <fizzie> There's an EOF() function.
20:30:18 <ehird> Right
20:30:23 <ehird> but that's not for text input
20:30:25 <ehird> keyboard, I mean
20:30:42 <AnMaster> ehird, pipe and keyboard are different?
20:30:51 <ehird> You seem surprised.
20:30:56 <bsmntbombdood> dos has pipes?
20:31:02 <olsner> if you press ctrl-z, don't you get an EOF sent to the program?
20:31:12 <ehird> bsmntbombdood: Yes, they're not really though.
20:31:14 <Deewiant> bsmntbombdood: Yes, but they're run in sequence
20:31:14 <ehird> It's not a(b())
20:31:20 <ehird> it's x = force(a()); b(x)
20:31:25 <Deewiant> It's exactly a(b()) in a strict language
20:31:29 <bsmntbombdood> lame
20:31:30 <ehird> well yes.
20:31:34 <Deewiant> Sorry, 'call-by-value'
20:31:37 <fizzie> Ctrl-Z is the common way of indicating EOF; I'm not really sure on what level it happens.
20:31:37 <bsmntbombdood> yes|foo?
20:31:42 <olsner> or, it's foo > tmp; bar < tmp
20:31:44 <ehird> bsmntbombdood: it actually does this
20:31:46 <ehird> yes > tmp; foo < tmp
20:31:53 <ehird> you didn't like all that free disk space anyway
20:32:00 <bsmntbombdood> ehird: yes doesn't finish
20:32:08 <Deewiant> ehird: Does it actually write it to disk and not memory?
20:32:08 <ehird> yes.,
20:32:13 <ehird> bsmntbombdood: so it hangs.
20:32:14 <ehird> Deewiant: yes
20:32:17 <Deewiant> Heh
20:32:19 <Deewiant> Didn't know that
20:32:38 <ehird> after all, who has much ram? certainly not I. To fit anything of importance we must utilize our Hard Disk Storage Device
20:32:49 <AnMaster> <fizzie> Ctrl-Z is the common way of indicating EOF; I'm not really sure on what level it happens. <-- under dos you mean?
20:32:50 <ehird> And besides, why implement an extra command when it can elegantly isomorph to onest another?
20:32:54 <fizzie> AnMaster: Yes.
20:33:01 <ehird> AnMaster: no, QNX>
20:33:02 <AnMaster> right. on *nix it is ctrl-d and ctrl-z is suspend
20:33:22 <AnMaster> ehird, well I was just trying to make sure he wasn't talking about "in general"
20:33:33 <ehird> AnMaster: "*nix it is ctrl-d and ctrl-z is suspend" thanks, we didn't know
20:33:56 <bsmntbombdood> i know that ^C sends a SIGINT
20:34:01 <fizzie> Anyway, you could have those P/G work on the A000 video memory segment, and p/g (plus code-fetch and everything else) on B800, and a single new opcode to toggle the display mode between the mode 13h video and the fancy dynamic 80x25 text-mode view of funge-space.
20:34:04 <AnMaster> ehird, you know. Not everyone here use OS X or Linux
20:34:08 <AnMaster> some use. you know. Windows
20:34:09 <AnMaster> ...
20:34:38 <ehird> Heh, QBasic's manual advocates DO...LOOP over WHILE...WEND.
20:34:52 <olsner> oh, why?
20:34:57 <AnMaster> ehird, why? Because WEND sounds silly?
20:35:01 <ehird> olsner: It's more fleximatron!
20:35:08 <ehird> Also, DO...LOOP doubles as a do/while and a while!
20:35:14 <fizzie> Some befunge programs look pretty interesting when you watch the funge-space when they're running. Mooz's floating-point division, for example, which does the manual "long division" teached-in-school done-on-pen-and-paper thing.
20:35:14 <ehird> Possibilities end not!
20:35:15 <AnMaster> err?
20:35:43 <AnMaster> fizzie, and with qbasic it would be slow enough to read!
20:35:53 <olsner> I always pronounced WEND as "vänd" (sv:turn)
20:36:23 <ehird> Don't befunge-93 programs usually use more stack than fs?
20:37:01 <fizzie> Yes, the DO...LOOP syntax is: either DO [{WHILE | UNTIL} condition] ... LOOP or DO ... LOOP [{WHILE | UNTIL} condition]. It's pretty silly.
20:37:02 <AnMaster> olsner, :D
20:37:26 <ehird> fizzie: you should be able to do
20:37:32 <ehird> DO WHILE FOO ... LOOP UNTIL FOO
20:37:35 <ehird> er
20:37:36 <olsner> I learnt basic before really understanding that english was a separate language
20:37:37 <ehird> DO WHILE FOO ... LOOP UNTIL BAR
20:37:42 <fizzie> Yes, I agree.
20:37:50 <AnMaster> ehird, what would the semantics for it be?
20:37:56 <AnMaster> exit when either is true?
20:37:57 <ehird> it won't enter unless FOO, but if you have FOO, you get to go one turn having BAR! Although be careful not to lose your FOO...
20:38:03 <ehird> AnMaster: Well, it'd be:
20:38:09 <AnMaster> ah
20:38:10 <ehird> do { if (!foo) break; ... } while (bar);
20:38:12 <fizzie> You can do "DO ... LOOP" for an infinite loop without needing a conditional, though.
20:38:13 <AnMaster> yes you said it the line after
20:38:29 <ehird> er wait
20:38:31 <ehird> do { if (!foo) break; ... } while (!bar);
20:38:31 <ehird> ofc
20:39:14 <AnMaster> ehird, or if (!foo) goto thedayafter; do { ... } while (!bar); thedayafter:
20:39:20 <bsmntbombdood> why are we talking about basic?
20:39:26 <ehird> bsmntbombdood: fuck you that's a terrible question
20:39:31 <ehird> a better one would be for every other situation
20:39:34 <AnMaster> not why?
20:39:34 <ehird> "why are we not talking about basic?"
20:39:37 <AnMaster> why basic?
20:39:40 <AnMaster> I wonder too
20:39:49 <fizzie> Also the funnyness: END [{DEF | FUNCTION | IF | SELECT | SUB | TYPE}] ends all those block-style syntactic elements; "If no argument is supplied, END ends the program and closes all files."
20:39:55 <ehird> BASIC is hardly BASIC. BASIC is most advanced programming in universe.
20:39:57 <ehird> fizzie: :D
20:40:10 <fizzie> I think QBasic warns you about unterminated blocks, though, so you can't do it too easily by accident.
20:40:28 <AnMaster> but how does this interact with out of order execution
20:40:34 <AnMaster> I mean poking video memory
20:40:38 <AnMaster> what about memory barriers?
20:41:06 <AnMaster> sure I realise DOS didn't have to deal with that originally
20:41:11 <AnMaster> but when run on modern hardware
20:41:13 <AnMaster> how does it work
20:41:25 <AnMaster> considering you can still run DOS on a modern computer.
20:41:31 <fizzie> It runs in the VM86 mode, I would guess that handles it somehow.
20:41:32 <AnMaster> with all those fancy features
20:41:48 <AnMaster> fizzie, lets say I boot a bios flash floppy
20:41:53 <AnMaster> on a modern x86_64
20:42:05 <AnMaster> what about then
20:42:12 <ehird> I captured a wonderful video of my "Slowerpinski" program running.
20:42:14 <ehird> Now you can enjoy, too:
20:42:22 <AnMaster> ehird, youtube?
20:42:26 <ehird> AnMaster: it never goes into protected mode
20:42:36 <ehird> also, no, screencast.com, I've been trying out this Jing software thingymabob.
20:42:41 <AnMaster> ehird, is cache disabled then?
20:42:46 <ehird> It's kind of bad, for one I didn't write it, I intend to replace it with something of my own design.
20:42:53 <ehird> But you'll need Flash. Unfortunately.
20:42:58 <AnMaster> forget it then
20:43:02 <ehird> Still, what a small price to pay for the magic of slowerpinski.
20:43:04 <ehird> http://screencast.com/t/REP0xECE
20:43:05 <AnMaster> for youtube there is an easy workaround
20:43:32 <fizzie> Another nice statement is SYSTEM, which you might assume runs a DOS command; but no: "SYSTEM: Closes all open files and returns control to the operating system."
20:43:33 <AnMaster> ehird, I'll wait until you provide it in an open accessible format
20:43:47 <ehird> AnMaster: I don't actually give a damn whether you watch it or not, surprisingly.
20:43:48 <AnMaster> Fhehe
20:43:49 <AnMaster> hehe*
20:44:15 <ehird> Maybe fizzie has Flash. :P
20:44:26 <fizzie> I did watch it, and it was faster than I thought.
20:44:39 <fizzie> I guess it's that cycles: max thing.
20:44:47 <ehird> Actually, that doesn't speed it up much.
20:44:59 <ehird> It's probably the fancy-shmancy AND algorithm.
20:45:12 <ehird> Still, pretty effing slow.
20:46:01 <ehird> AnMaster: If you know of a good screen capture program that will work on OS X, let me select a portion of the screen to capture, record audio from the microphone _and_ computer, and can upload to a siteamabob at a click, do let me know.
20:46:21 <fizzie> Wait, there was audio?
20:46:23 <AnMaster> ehird, how did you capture that one you linked?
20:46:34 <ehird> fizzie: Mostly my mouse clicking and me breathing, but yes
20:46:38 <ehird> AnMaster: Using Jing.
20:46:50 <AnMaster> ehird, and it can't record to anything else?
20:46:58 <ehird> If you buy it you can encode to H.264
20:47:15 <AnMaster> ehird, this is a lot easier on linux you know ;P
20:47:15 <ehird> anyway, I clicked the Jing menubar, clicked Capture, selected the piece of screen, and clicked record. Then I clicked stop when I was done, and it automatically uploaded it and gave me the link.
20:47:16 <fizzie> Oh. Well, if it wasn't anything more spectacular than that, I'll not bother locating headphones.
20:47:17 <AnMaster> for once
20:47:22 <ehird> AnMaster: it's easy on OS X, too
20:47:26 <AnMaster> oh?
20:47:28 <ehird> but I want to automate the upload
20:47:34 <ehird> because i'm a lazy fuck.
20:47:36 <AnMaster> ehird, -_-
20:47:47 <ehird> fizzie: I could make it play music depending on the sierpinskiness of the segment it's doing.
20:47:57 <AnMaster> sierpinskiness
20:47:59 <AnMaster> ..
20:48:02 <ehird> Yes.
20:48:03 <AnMaster> never heard that before
20:48:09 <AnMaster> how is it defined?
20:48:13 <ehird> How close to 0 the &ing of the pixels are. :P
20:49:33 <ehird> Hmm, how do you make PLAY play in the background, I wonderous.
20:50:07 <ehird> Also, AnMaster, the video is just FLV.
20:50:11 <ehird> So is YouTube
20:50:15 <ehird> If you can play youtube you can play this
20:50:27 <AnMaster> ehird, I looked at the source but couldn't find the text "flv" anywhere in it
20:50:33 <ehird> I'll take a look.
20:50:34 <AnMaster> so I don't know what url to extract
20:50:53 <AnMaster> ehird, but yes if I have an url I can play flv
20:51:25 <ehird> Anyone happenstance to have a network sniffer? :P
20:51:44 <AnMaster> ehird, well I have wireshark of course. But doesn't help much with no flash
20:51:55 <ehird> How can you play FLV without flash? Standalone decoder?
20:52:01 <AnMaster> ehird, mplayer works
20:52:30 <ehird> Is wireshark available for OS X?
20:52:36 <AnMaster> no idea. Google?
20:52:43 <ehird> kay
20:52:49 <AnMaster> there is tcpdump too. And again no idea if it is for OS X
20:53:21 <Judofyr> tcpdump is pre-installed on OS X
20:53:24 <Judofyr> at least in Leopard
20:53:29 <ehird> http://content.screencast.com/users/ehird/folders/Jing/media/a0341831-4bb6-4769-a6e0-b8517e43e2d8/00000006.swf is the actual SWF (without their swfplayer.swf thingy), if that's any help. I'll wireshark it up.
20:53:58 <AnMaster> ehird, the swf doesn't help unless it is actually flv with a different name
20:54:09 <ehird> I was just linking for interestual purposes.
20:54:26 <AnMaster> brb, need to clean glasses
20:54:43 <ehird> wireshark is 100mb wtf.
20:55:03 <ehird> oh fuuuck, wireshark uses x11
20:55:12 <ehird> so it just boots up x11 and loads a gtk clusterfuck
20:55:13 <ehird> wonderful
20:57:41 <ehird> Yikesers, lots of shit here.
20:59:00 <ehird> Okay, um, it's not going ove HTTP.
20:59:59 <ehird> Aha.
21:00:39 <ehird> AnMaster:
21:00:40 <ehird> 46 57 53 56:46 GM T....FWS
21:00:41 <ehird> 0160 08 f4 92 19 00 f8 00 00 00 00 00 07 8c 80 00 00 ........ ........
21:00:43 <ehird> 0170 00 00 00 15 ea 00 00 0a 96 00 7f 0b 04 00 00 00 ........ ........
21:00:45 <ehird> 0180 0a 1a 9d 08 3f 03 16 00 00 00 96 11 00 00 63 73 ....?... ......cs
21:00:47 <ehird> 0190 4d 6f 76 69 65 46 50 53 00 07 0a 00 00 00 1d 00 MovieFPS ........
21:00:49 <ehird> 01a0 3f af 0f 00 00 00 54 65 63 68 53 6d 69 74 68 20 ?.....Te chSmith
21:00:51 <ehird> 01b0 4a 69 6e 67 00 3f 09 be a7 04 00 de 05 05 05 03 Jing.?.. ........
21:00:53 <ehird> 01c0 31 02 78 da ac bd 57 73 24 c9 92 a5 f9 9f 2e 29 1.x...Ws $......)
21:00:54 <ehird> MovieFPS?
21:00:57 <ehird> Is that a FLV file?
21:00:59 <ehird> *an
21:02:05 <ehird> AnMaster: as far as I can tell, it's http://content.screencast.com/users/ehird/folders/Jing/media/a0341831-4bb6-4769-a6e0-b8517e43e2d8/00000006.swf
21:03:45 <Asztal_> http://content.screencast.com/users/ehird/folders/Jing/media/a0341831-4bb6-4769-a6e0-b8517e43e2d8/00000006.swf is 1.6MB, so probably it is embedded inside that
21:03:58 <ehird> Right then, he can maybe just launch an FLV decoder on that.
21:07:30 <Asztal_> Probably not, my VLC won't play it (but Media Player Classic seems to know enough about SWF format to play it)
21:07:59 <ehird> Asztal_: mplayer?
21:08:29 <Asztal_> no, a windows thing (http://sourceforge.net/projects/guliverkli/)
21:08:34 <ehird> I know
21:08:37 <ehird> I mean, does it work with mplayer
21:08:40 <AnMaster> back
21:08:46 <ehird> AnMaster: try running over
21:08:48 <ehird> http://content.screencast.com/users/ehird/folders/Jing/media/a0341831-4bb6-4769-a6e0-b8517e43e2d8/00000006.swf
21:08:52 <ehird> with mplayer
21:08:54 <AnMaster> a sec
21:08:56 <AnMaster> right
21:09:11 <ehird> idoes it work?
21:09:13 <ehird> *does
21:09:18 <AnMaster> downloading it
21:09:39 <AnMaster> no
21:09:44 <ehird> :(
21:11:09 <AnMaster> <ehird> so it just boots up x11 and loads a gtk clusterfuck <-- yes and?
21:11:12 <AnMaster> get more ram
21:11:16 <AnMaster> if you have issues with it
21:11:17 <ehird> what has ram got to do with it
21:11:28 <AnMaster> ehird, why would x11 be an issue otherwise
21:11:33 * ehird facepalm
21:11:38 <Judofyr> it looks like crap?
21:11:40 <ehird> stop this thread of conversation before I throw myself out of a window
21:11:46 <ehird> please don't encourage him Judofyr
21:11:49 <AnMaster> well not under OS X iirc
21:11:58 <AnMaster> I mean I ran Gimp under X11 on OS X once
21:12:02 <AnMaster> it looked semi-native
21:12:07 * Judofyr goes coding some shit
21:12:58 <AnMaster> ehird, you aren't used to hard conditions simply. You have to learn not to break down just because some program uses Motif
21:13:07 <olsner> ehird: stop being so emo over dependencies
21:13:17 <ehird> it's not dependencies I have an issue with.
21:13:17 <AnMaster> and GTK is nothing compared to Motif
21:13:27 <AnMaster> ehird, would you prefer if it uses Motif?
21:13:42 <ehird> do you remember when I said I'd throw myself out of a window if you didn't stop this thread of conversation?
21:13:52 <AnMaster> ehird, yes. I'm waiting.
21:13:54 <AnMaster> ;P
21:13:56 <ehird> bye-bye
21:14:02 <AnMaster> nah
21:14:19 <olsner> AnMaster: fucking great, now you made him go kill himself
21:14:37 <AnMaster> olsner, Oh I thought he said throw himself out of windows
21:15:06 -!- ehird has changed nick to ehirdghost.
21:15:11 <ehirdghost> wooooh
21:15:14 <ehirdghost> booooh
21:15:19 <ehirdghost> anmaster i curse uponst thou
21:15:23 <ehirdghost> you shalt only use windowths
21:15:25 <AnMaster> ehirdghost, nice a ghost. Don't cross the streams!
21:15:26 <ehirdghost> till the end of your days!
21:15:41 -!- oklofok has quit (Read error: 110 (Connection timed out)).
21:15:43 <AnMaster> ln -s startx windowths
21:15:46 <AnMaster> issue solved
21:15:49 <ehirdghost> you are not compliant? I see
21:15:52 * ehirdghost rips out AnMaster's brain.
21:15:52 <AnMaster> there is no such thing as "windowths"
21:15:58 <ehirdghost> I shall keepth it until thoust complieth.
21:15:59 <AnMaster> ehirdghost, doesn't work.
21:16:02 <AnMaster> tinfoil
21:16:11 <ehirdghost> I went under it.
21:16:17 <AnMaster> ehirdghost, tin suite
21:16:20 <AnMaster> in fact
21:16:31 <ehirdghost> Evidence plox.
21:16:46 <AnMaster> ehirdghost, evidence of you being a ghost plox.
21:17:11 <ehirdghost> i jumped out a fucking window
21:17:15 <ehirdghost> what more do you want, dickhead
21:17:16 <ehirdghost> :|
21:17:21 <ehirdghost> shall I go and slit my throat too
21:17:23 <AnMaster> ehirdghost, autopsy?
21:17:25 <ehirdghost> or maybe poison myself
21:17:31 <AnMaster> death certificate?
21:17:32 <ehirdghost> AnMaster: ghosts have no body, dumbo.
21:17:40 <ehirdghost> and i just died a minute ago.
21:17:46 <AnMaster> ehirdghost, well the dead body would have to have a body
21:17:48 <AnMaster> I mean duh
21:17:55 <ehirdghost> no
21:18:03 <ehirdghost> when you're a ghost it evaporates into your spiritual telekine
21:18:20 <AnMaster> ehirdghost, evidence please?
21:18:26 <ehirdghost> you're a doo doo head
21:19:00 <AnMaster> <ehirdghost> shall I go and slit my throat too <-- how?
21:19:09 <AnMaster> I mean you have no body you said
21:19:24 <AnMaster> there is a logical flaw there
21:19:30 <ehirdghost> my ghostular throat.
21:19:40 <ehirdghost> I'd metadie.
21:19:51 <AnMaster> ehirdghost, would you become a ghost of a ghost?
21:19:59 <ehirdghost> No.
21:20:03 <AnMaster> oh?
21:20:10 <AnMaster> what then?
21:20:23 <ehirdghost> Fool.
21:20:33 <AnMaster> you would become a fool?
21:20:52 <AnMaster> that's nothing new ;P
21:21:06 <ehirdghost> Mere mortals may not dabble in the artistrechnitionry of ghostular beings.
21:21:18 <AnMaster> ehirdghost, well, In the name of science!
21:21:31 <ehirdghost> No match for ghostular sciencemafindatron.
21:21:53 <AnMaster> indeed not. Because it isn't called that
21:22:05 <AnMaster> try post mortal research
21:22:05 <ehirdghost> If you don't shut up I'll make sure you're reincarnated as a dungbeetle.
21:22:44 <AnMaster> ehirdghost, belief in ghost is mutually exclusive with belief in reincarnation I think
21:22:48 <AnMaster> ghosts*
21:22:58 <ehirdghost> God has a random number generator, AnMaster.
21:23:04 <ehirdghost> Sometimes it returns 2 and you get to decide yourself.
21:23:08 <AnMaster> ehirdghost, I don't believe in god.
21:23:16 <ehirdghost> And I'm sure you didn't believe in ghosts either, but look at me.
21:23:50 <ehirdghost> Anyway, God does indeed not play dice. That's way old fashioned.
21:24:04 <AnMaster> ehirdghost, I still don't. Just an optical illusion. Or a result of your subconscious when you are under a lot of stress.
21:24:04 <ehirdghost> He has infinite infinite-core infinity machines.
21:24:15 <AnMaster> ghosts that is
21:24:15 <ehirdghost> AnMaster: Then you will look very silly in the logs.
21:24:25 <ehirdghost> You talking to some "ehirdghost" character that isn't there.
21:24:31 <AnMaster> ehirdghost, well that is because I believe you are faking this.
21:24:41 <ehirdghost> Tut, tut.
21:24:44 <AnMaster> You know. Like an actor playing Hamlet's father.
21:25:05 <AnMaster> though not as well obviously
21:32:45 <psygnisfive> man
21:33:25 <psygnisfive> i smoked pot for the first time last night, and it reconfirmed my belief that i should be a linguist.
21:33:36 <AnMaster> ... what?
21:33:51 <lament> pot tends to do that.
21:33:57 <psygnisfive> well
21:34:04 <psygnisfive> it did it in an unexpected way
21:34:09 <AnMaster> pot makes you believe you should be a linguist?
21:34:27 <psygnisfive> all throughout i was essentially incapacitated. couldnt focus long enough to really do anything coherent
21:34:29 <lament> <Bucketphase> I finally beat the computer at cheese
21:34:49 <AnMaster> lament, :D
21:34:54 <AnMaster> typo for chess I hope?
21:34:56 <psygnisfive> had difficulty moving about without kind of being stumbly
21:34:57 <psygnisfive> etc
21:34:58 <psygnisfive> but but
21:35:18 <AnMaster> psygnisfive, did it make you want to not do it again?
21:35:22 <psygnisfive> no
21:35:26 <AnMaster> oh :(
21:35:31 <psygnisfive> a friend said something that was linguistically interesting and i couldn't stop myself from rushing over to my notebook and writing it down
21:35:51 <psygnisfive> actually the difficulty of standing the feeling was i think in part due to the setting
21:35:55 <ehirdghost> 20:35 AnMaster: oh :(
21:35:56 <lament> psygnisfive: did you listen to music at all?
21:35:59 <ehirdghost> why do you hate people having fun, AnMaster
21:36:00 <psygnisfive> no
21:36:03 <psygnisfive> i WANTED to
21:36:11 <lament> listen to music, it might make you want to become a musician :)
21:36:13 <psygnisfive> i wanted to just curl up into a ball and listen to music and melt away
21:36:20 <psygnisfive> oh i already want to lament :P
21:36:42 <psygnisfive> but instead i had to lay there and listen to my two companions as they watched some silly movie
21:36:44 <AnMaster> ehirdghost, I hate drugs. I _used_ to know someone who died due to an overdose of heroine...
21:36:57 <lament> heroin
21:37:03 <ehirdghost> AnMaster: umm, people are stupid
21:37:05 <AnMaster> lament, typo
21:37:13 <ehirdghost> why is that the drugs's fault
21:37:16 <psygnisfive> you could die from an overdose of heroine too.
21:37:20 <ehirdghost> it's just like any addiction
21:37:23 <psygnisfive> if wonderwoman sat on your face until you suffocated
21:37:31 <ehirdghost> psygnisfive: an interesting mental image.
21:37:35 <lament> best way to die
21:37:37 <AnMaster> ehirdghost, I do not wish to speak about it. And fucking read what I said.
21:37:42 * Judofyr wants to die from programming...
21:37:59 <ehirdghost> AnMaster: I read what you said, thank you very much. I also answered coherently and I believe rebutted your arguments.
21:38:20 <ehirdghost> I think you're letting emotions get in the way of rational reasoning.
21:38:21 <AnMaster> ehirdghost, have any close friend to you died from an overdose of a drug?
21:38:41 <ehirdghost> No; but if they had, I wouldn't start hating drugs, because that's a stupid and irrational thing to do in response to that.
21:39:13 <AnMaster> ehirdghost, Well then I can see why you don't understand. I have nothing more to discuss with you.
21:39:32 <ehirdghost> I don't understand many irrational things.
21:39:37 <lament> I'm addicted to weed a little
21:40:02 <lament> i don't see myself doing heroin though
21:40:03 <Judofyr> AnMaster & ehirdghost: you two sounds like an old couple :-)
21:40:05 <ehirdghost> Funny, though, how you should get on a rational high horse ("I don't believe in god", "I don't believe in ghosts, just an illusion") right before claiming a wonderful non-sequitur
21:40:12 <AnMaster> lament, as long as you can stay on top of it...
21:40:15 <ehirdghost> Judofyr: Tell me about it.
21:40:36 <AnMaster> Judofyr, I'm not sure what that is supposed to mean...
21:40:47 <lament> my addiction to caffeine is more obvious
21:42:25 <ehirdghost> I'm going to do drugs and jump out a window now, simultaneously, I mean, er, brb ->
21:42:43 <lament> you do that.
21:46:33 -!- kar8nga has joined.
21:50:38 -!- Mony has quit ("Quit").
21:52:33 <AnMaster> fizzie, there?
21:52:42 <AnMaster> I just found something useful for you in jitfunge
21:56:03 <AnMaster> http://rafb.net/p/KOu0WM19.html <-- ehird: do not repaste, that is copyrighted material :/ For log readers: Please see "Software Optimization Guide for AMD64 Processors" revision 3.06, section 5.15
21:56:25 <AnMaster> fizzie, ^
22:02:39 <fizzie> The instructions they mention are SSE-only, though. And it'll be a while before I get to the optimizationary stage with jitfunge, you may need to remind me about that later.
22:03:03 <AnMaster> fizzie, using conditional move should be another nice way to speed things up in certain cases.
22:03:12 <AnMaster> fizzie, if I remember...
22:03:21 <fizzie> That I already do to some extent.
22:03:28 <AnMaster> oh? nice
22:03:36 <fizzie> Well, I think I do.
22:04:34 <fizzie> Okay, there is one single place where I emit a CMOVcc instruction. But still.
22:05:07 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
22:05:22 <fizzie> The code generated by jitfunge is pretty sucky.
22:05:29 <AnMaster> ok
22:05:32 -!- bsmntbombdood has joined.
22:05:56 <fizzie> And my register allocator is borderline sucky, it doesn't even handle spilling correctly IIRC. Which is quite a lose, given how register-starved x86-32 is.
22:06:02 <AnMaster> fizzie, and yes I know they are SSE only. But you could fall back on non-SSE, either at runtime or compile time
22:06:38 <AnMaster> fizzie, writing a good register allocator is hard iirc
22:06:43 <AnMaster> and making it fast is even harder
22:06:56 <fizzie> Yes, but mine is so far from good it's a bit embarrassing.
22:07:07 <AnMaster> go fix it then?
22:07:27 <fizzie> There's a lot more I have to fix; but I'll get to it, some day.
22:07:40 <AnMaster> fizzie, or use llvm for backend
22:07:51 <AnMaster> it has a good register allocator
22:08:51 <fizzie> It's not like I haven't been thinking about that. But I have a feeling I'd lose the otherwise pretty spiffy automagic stack-underflow check, since it requires pretty low-level control on what kind of instructions can be emitted to access the stack.
22:09:08 <AnMaster> ah
22:09:09 <AnMaster> ok
22:09:54 <AnMaster> fizzie, which way does your stack grow?
22:10:37 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:10:53 <fizzie> Up, currently; didn't you ask this some time ago? And mostly it grows up for the "more likely to have free space for extending the stack that way" reason, even though it probably doesn't really matter, and anyway there's the attempt to place it into middle of the wilderness of virtual addresses so that there'd be room both ways.
22:11:11 <AnMaster> maybe I did but forgot
22:11:29 <AnMaster> fizzie, it does matter if you will implement fast STRN
22:11:32 <fizzie> I'll have to think about the llvm thing. Currently the jitfunge code is pretty convoluted; maybe if I cleaned it up a bit so that there'd be a clean-ish-er interface between code generation and the rest of the code, I could even experiment better.
22:11:32 <AnMaster> or such
22:11:47 <AnMaster> fizzie, because you will end up like me, with slow reversing string
22:11:53 <AnMaster> and for y too, to push environment
22:11:57 <AnMaster> more slow string reversion
22:12:00 <AnMaster> reversing*
22:12:13 <AnMaster> and yes I grow up for ease of growing too
22:12:15 <AnMaster> realloc()
22:12:39 <AnMaster> fizzie, or just steal the register allocator of llvm
22:12:50 <AnMaster> it works with 1024 virtual registers iirc
22:13:40 <fizzie> I have a rather non-fast approach to all dynamic uppercase instructions, at the very least there's a full all-funge-values-from-registers-to-stack flush plus a couple of setup instructions to store the stack pointer in edi (or whatever I kept it in) to the global stack-top variable.
22:13:58 <fizzie> Since you never know what the instruction might end up doing.
22:14:45 <AnMaster> well true
22:15:03 <AnMaster> fizzie, you will likely need to do such flushes for the core too for some things
22:15:06 <AnMaster> like i and o
22:15:29 <AnMaster> fizzie, some fingerprint instructions could be implemented as "compile inline"
22:15:44 <AnMaster> especially FPSP, FIXP and FPDP would be good targets for that
22:15:48 <AnMaster> very short generally
22:15:57 <fizzie> Yes, I generate flush+function-call for all fingerprint instructions and core IO operations. Although that's partially because there's a C++ class you can implement to specify what kind of IO the interpreter does.
22:16:11 -!- Sgeo has joined.
22:16:18 <AnMaster> fizzie, have you read the C++ FQA?
22:16:29 <AnMaster> why not use a template to specialize it while you are at it!
22:16:35 <fizzie> Yes.
22:16:59 <AnMaster> fizzie, why C++? Why not C?
22:17:17 <fizzie> Actually that part is reasonably FQA-compatible. FQA answer: "If you want to be able to work with many different implementations selected at run time, abstract base class is the way to go."
22:17:41 <AnMaster> fizzie, I don't remember that one. But ok
22:18:13 <fizzie> I've ask myself the "why C++, why not C" question many times.
22:18:29 <AnMaster> did you reach any answer?
22:18:37 <fizzie> But, you know, it was the C++ period; there is no rational answer.
22:18:50 <AnMaster> fizzie, another thing: don't put a branch instruction across a 16 byte boundary.
22:18:55 <AnMaster> if possible
22:19:17 <fizzie> Er, well, I'm sure I could align those; what's the reason?
22:19:33 <AnMaster> fizzie, branch prediction works better on many CPUs that way
22:19:49 <AnMaster> also aligning is not recommended, better reorder instructions if possible
22:20:32 <fizzie> Given my current code-generation strategy, that's not exactly trivial. But sure.
22:21:35 <AnMaster> fizzie, well the overhead of the nops would be larger than the gain if you have too many nops. IIRC someone said that: 1 byte alignment > branch over boundary > huge alignment
22:21:42 <AnMaster> or was it 2? Well anwyay
22:21:46 <AnMaster> anyway*
22:22:14 <AnMaster> fizzie, both the AMD and Intel optimizing guides are good and interesting reads.
22:22:18 <Deewiant> Gah, where is asiekierka when I need him
22:22:25 <AnMaster> some advice is general. Some is CPU specific
22:22:30 <AnMaster> some even contradict.
22:22:34 <AnMaster> but usually not
22:23:18 <fizzie> I do that full stack-flush for pretty much every 'p' instruction (except those with constant and small x/y arguments) too, since the 'p' might end up invalidating the currently-being-executed trace. Although I guess I could do some of the cleanup only in case the instruction actually did something like that; it was just simpler to flag 'p' as a flush-stack-before instruction.
22:23:19 <AnMaster> fizzie, I just got a crazy idea...
22:23:59 <AnMaster> fizzie, Concurrent JIT
22:24:12 <fizzie> Pretty much all "advanced" optimilization things boil down to the fact that I don't have any sensible intermediate representation for code; that's why the llvm assembly would make sense.
22:24:13 <AnMaster> one core runs the code, another compiles and optimises
22:24:27 <fizzie> Deewiant: Do elaborate what you need him for, btw.
22:24:35 <Deewiant> fizzie: DOBELA.
22:24:44 <AnMaster> Deewiant, have you gone insane?
22:25:01 <Deewiant> Not any more than previously, I don't think
22:25:16 <fizzie> Oh, the 99 % TC language.
22:25:43 <Deewiant> I guess what's meant by that is "most likely, but not proven"?
22:25:53 <fizzie> Guess so, it was just amusingly expressed.
22:26:02 <AnMaster> which one was it?
22:26:07 <AnMaster> was it the bully automaton?
22:26:43 <AnMaster> Deewiant, fizzie: http://paste.lisp.org/display/77084 <-- Have I gone insane?
22:26:51 <AnMaster> well ais suggested so
22:26:56 <AnMaster> don't remember if you saw it
22:27:08 <AnMaster> also that syntax highlighting sucks
22:27:13 <AnMaster> can't highlight C99 comments
22:27:18 <Deewiant> AnMaster: GCC creates worse code?
22:27:27 <fizzie> I did take a peek. It is rather... verbose.
22:27:27 <AnMaster> Deewiant, yes.
22:27:40 <fizzie> But whatever floats your funge-boat, I guess.
22:27:42 <AnMaster> fizzie, I have two level of fallbacks
22:27:53 <AnMaster> fizzie, that would be FPSP?
22:28:05 <fizzie> Groan.
22:28:05 -!- BeholdMyGlory has quit (Remote closed the connection).
22:32:43 <SimonRC> tumtitum
22:35:50 <AnMaster> fizzie, how do you spill registers?
22:36:45 <AnMaster> AMD suggests adjusting stack pointer and using MOV rather than pushing. Or out of order execution won't work properly
22:38:01 -!- Corun has joined.
22:38:19 <fizzie> I don't.
22:38:33 <ehirdghost> http://pastie.org/417121 I am breaking the law no more than AnMaster
22:38:33 <AnMaster> fizzie, you said you did for p?
22:38:34 <fizzie> "it doesn't even handle spilling correctly", like I said.
22:38:46 <fizzie> Oh, well, that. I don't count that.
22:38:53 <pikhq> I, uh, though that the microcode RISC compiler made PUSH do just that?
22:39:15 <fizzie> I do use MOV, because the funge-stack pointer is not in ESP.
22:39:59 <AnMaster> pikhq, I just mentioned what AMD said in AMD64 Architecture Programmer’s Manual Volume 1: Application Programming
22:40:14 <AnMaster> section 3.10.9
22:40:14 <fizzie> Incidentally... if I'm in a leaf function (or at least a part where there's no calls), can I pretty much do whatever I want with ebp/esp (assuming I don't care for things like gdb stack-trace in case of a crash) without having to worry about things breaking if, say, an interrupt occurs?
22:40:38 <AnMaster> ehirdghost, that url times out
22:40:41 <AnMaster> *shrug*
22:40:44 <ehirdghost> Not for me.
22:40:49 <ehirdghost> get a better isp
22:41:23 <AnMaster> ehirdghost, fine, I will just refer to the section in the future, never paste it
22:41:25 <AnMaster> :)
22:41:30 <AnMaster> or paste in msg
22:41:35 <AnMaster> a lot better for log readers
22:41:37 <ehirdghost> Yes, and I'm sure everyone else will ask for a link.
22:41:37 <pikhq> AnMaster: Hmm. Curious.
22:41:50 <pikhq> I should read that some time.
22:41:50 <fizzie> I think there are architectures/environments where you're contractually obliged to keep some amount of space free and accessible via a stack-pointery registers for emergency register-shadowing, for example.
22:41:59 <AnMaster> pikhq, fun bed time reading ;)
22:42:03 * pikhq has been meaning to learn long mode assembly.
22:42:11 <AnMaster> pikhq, there are 5 volumes btw.
22:42:15 <fizzie> I know a precious little about x86 low-level details for a JIT-writer.
22:42:39 <pikhq> Big deal?
22:42:57 <pikhq> I read voraciously.
22:43:33 <AnMaster> 1: Application programming 2: System programming 3: General purpose and System Instruction reference 4: 128-bit media instructions 5: 64-bit media instructions and x87 instructions
22:44:08 <pikhq> Should prove interesting.
22:44:29 <pikhq> Probably not the best thing for a n00b to assembly to read, but I already know assembly, so...
22:44:49 <pikhq> (real mode and 32-bit protected mode, x86. Whooo.)
22:44:50 <AnMaster> pikhq, each is a pdf of around 300-500 pages
22:45:02 <pikhq> Glee.
22:45:21 <AnMaster> pikhq, the AMD64 Optimization guide is a separate 384 pages pdf btw.
22:45:28 <pikhq> Double-glee.
22:45:38 <AnMaster> pikhq, the index works well.
22:45:44 <pikhq> Then, I will know more about x86-64 than any one man has any right knowing. :p
22:45:51 <AnMaster> I can usually find what I want quite quickly
22:46:04 <pikhq> (I am, of course, at this point mostly joking)
22:46:15 <AnMaster> pikhq, the type is quite large
22:46:25 <AnMaster> ;P
22:46:32 <pikhq> Probably good reference material, though.
22:47:11 <AnMaster> pikhq, On a more serious note: the Intel docs tend to be much more densely written. And about as many pages. And harder to find what you want in.
22:47:17 <AnMaster> Just a fair warning.
22:47:29 <AnMaster> (if that is correct English)
22:47:30 <ehirdghost> % ghci -package dph-par uncomfortably-parallel.hs +RTS -N2 -g2 -RTS
22:47:42 <AnMaster> ehirdghost, what does uncomfortably-parallel.hs do?
22:47:48 <ehirdghost> AnMaster: it has two functions
22:47:52 <AnMaster> oh?
22:47:57 <ehirdghost> doubleP, which parallely doubles a paralelly array of ints
22:47:58 <pikhq> Yeah, I had heard that AMD made somewhat more useful docs.
22:48:05 <ehirdghost> and big, which is a parallely array of 1000000000 ints
22:48:20 <AnMaster> heh
22:48:24 <ehirdghost> dph-par is the multicore data parallel haskell package
22:48:29 <ehirdghost> +RTS -N2 -g2 -RTS means
22:48:35 <ehirdghost> "make the runtime use 2 threads, and use 2 threads for GC"
22:48:41 <ehirdghost> hmm wait
22:48:45 <ehirdghost> it should be cores+1 right?
22:48:50 <AnMaster> ehirdghost, Hm. I hope that compiles into some threads running SSE instructions over it.
22:48:54 <ehirdghost> +RTS -N3 -g3 -RTS
22:48:56 <AnMaster> if yes it should be very fast
22:49:01 <ehirdghost> AnMaster: I didn't enable vectorization
22:49:07 <ehirdghost> because it fails on my code; need to look into that
22:49:19 <AnMaster> ehirdghost, well you could gain a 4x speed up from vectorization
22:49:21 <AnMaster> also wth
22:50:22 <ehirdghost> <interactive>: memory allocation failed (requested 4000317440 bytes)
22:50:24 <ehirdghost> Bollocks.
22:50:28 * ehirdghost chops a zero
22:50:57 <fizzie> So, uh... do I need to have a sensible stack frame setup (ebp/esp) if I don't call anyone? I mean, I guess in a modern sort of operating system an interrupt actually does something context-switch-like to get a different stack?
22:51:16 <ehirdghost> Hmm, come on ghc, use that cpu up, you're meant to be using 2 threads.
22:51:41 <ehirdghost> Guess my code isn't uncomfortably vectorizable en-
22:51:41 <ehirdghost> Oh.
22:51:44 <ehirdghost> 182% CPU usage.
22:51:49 <ehirdghost> Er, I think that's the garbage collector.
22:52:42 <ehirdghost> So anyway, here's the code.
22:52:47 <ehirdghost> {-# LANGUAGE PArr, ParallelListComp #-}
22:52:47 <ehirdghost> {-# OPTIONS -Odph #-}
22:52:48 <ehirdghost> import qualified Data.Array.Parallel.Prelude as P
22:52:50 <ehirdghost> import qualified Data.Array.Parallel.Prelude.Int as PI
22:52:52 <ehirdghost> doubleP :: [:PI.Int:] -> [:PI.Int:]
22:52:54 <ehirdghost> doubleP xs = [: x PI.* 2 | x <- xs :]
22:52:56 <ehirdghost> big :: [:PI.Int:]
22:52:58 <ehirdghost> big = P.replicateP 100000000 42
22:53:00 <ehirdghost> adding -fvectorise to OPTIONS will make the vectoriser die with an evil error message.
22:53:03 <ehirdghost> Have fun.
22:53:04 <AnMaster> wow
22:53:06 <AnMaster> just wow
22:53:09 <ehirdghost> What
22:53:15 <ehirdghost> P.S. "doubleP big `seq` ()"; you don't want to print _that_ out.
22:53:15 <AnMaster> I ate a bit of garlic flavoured bread
22:53:20 <ehirdghost> Wow.
22:53:21 <ehirdghost> Amazing.
22:53:24 <AnMaster> then a bit of choclate
22:53:25 <AnMaster> err
22:53:33 <ehirdghost> Unbelievable.
22:53:33 <AnMaster> chocolate*
22:53:37 <AnMaster> and the mix
22:53:42 <AnMaster> was very tastey
22:53:44 <AnMaster> tasty*
22:53:47 <AnMaster> just wow
22:53:47 <ehirdghost> and then you exploded
22:53:56 <AnMaster> ehirdghost, no, I haven't yet
22:54:00 <ehirdghost> 3...2...1...
22:54:02 <fizzie> I'm not sure whether I mentioned this already, but QBasic kind-of reminds me of MATLAB; the actual operations aren't necessarily slow (MATLAB's pretty fast at inverting a matrix, for example) but all code-flow including interpreted MATLAB script, like a for loop or something, is slow as anything.
22:54:05 <ehirdghost> Hey, now you're a ghost like me.
22:54:05 <AnMaster> still here
22:54:10 <AnMaster> wrongf
22:54:14 <AnMaster> wrong*
22:54:30 <ehirdghost> http://www.richardsimoes.com/gravity.html A fun game. Bring a canvas-supporting fastish JSy browser.
22:54:33 <ehirdghost> And a mouse.
22:54:35 <AnMaster> <fizzie> So, uh... do I need to have a sensible stack frame setup (ebp/esp) if I don't call anyone? I mean, I guess in a modern sort of operating system an interrupt actually does something context-switch-like to get a different stack?
22:54:39 <AnMaster> well not on x86_64
22:54:48 <ehirdghost> And a nack for being a star.
22:54:50 <AnMaster> you can use 128 bytes beyond the stack pointer there
22:54:57 <AnMaster> fizzie, which is nice.
22:55:18 <AnMaster> from man gcc:
22:55:19 <AnMaster> -mno-red-zone
22:55:19 <AnMaster> Do not use a so called red zone for x86-64 code. The red zone is mandated by the x86-64 ABI, it is a 128-byte area beyond the location of the stack pointer that
22:55:19 <AnMaster> will not be modified by signal or interrupt handlers and therefore can be used for temporary data without adjusting the stack pointer. The flag -mno-red-zone dis‐
22:55:19 <AnMaster> ables this red zone.
22:55:42 <AnMaster> iirc it doesn't/didn't work properly with the linux kernel
22:56:07 <pikhq> I seem to recall Linux caring about the ABI.
22:56:09 <AnMaster> fizzie, and I think you could run into issues with *signal* handlers if you didn't do this properly
22:56:17 <AnMaster> pikhq, hm?
22:56:29 <pikhq> Just saying "Yeah, probably not."
22:57:03 <fizzie> Right, there are signal handlers too. I just would like to have ESP point at the Funge stack.
22:57:08 <AnMaster> pikhq, did you just disagree or agree with me?
22:57:20 <pikhq> Agree.
22:57:23 <AnMaster> ok
22:57:33 <pikhq> In about as vague a way as possible.
22:58:06 <AnMaster> pikhq, I think the gcc man page used to say that this option was for the linux kernel. But since it doesn't any more in the version I have here I guess the linux kernel now supports it.
22:58:34 <pikhq> Eh.
22:58:39 <ehirdghost> does anyone know why ld(1) is so slow?
22:58:47 <ehirdghost> i mean seriously it takes seconds to link a trivial program
22:58:55 <AnMaster> ehirdghost, I know why.
22:58:57 <AnMaster> bad design.
22:59:06 <ehirdghost> that's got to be some _really_ bad design
22:59:12 <AnMaster> ehirdghost, I remember reading a blog post by the initial ld author
22:59:17 <AnMaster> if this is binutils ld
22:59:24 <ehirdghost> bsd
22:59:35 <ehirdghost> well, er
22:59:36 <AnMaster> binutils has ELF support more or less bolted in afterwards.
22:59:36 <ehirdghost> no
22:59:37 <ehirdghost> custom
22:59:39 <AnMaster> had*
22:59:44 <ehirdghost> Darwin ld
22:59:44 -!- Corun has quit ("Leaving").
22:59:45 <ehirdghost> for Mach-O
22:59:46 <AnMaster> ehirdghost, then I don't know.
22:59:55 <ehirdghost> it's like this on every platform
22:59:56 <pikhq> Binutils ld... Wasn't that mostly designed for the sake of flexibility, and not being even remotely speedy?
23:00:23 <AnMaster> pikhq, well that too. It interprets a linker script to find out how to link
23:00:31 <AnMaster> there is a new linker under development
23:00:33 <AnMaster> called "gold"
23:00:41 <ehirdghost> yes, by google
23:00:42 <pikhq> *sigh*
23:00:42 <AnMaster> it is written in C++
23:00:45 <ehirdghost> does it work for mach-o?
23:00:48 <pikhq> That's hackers for ya.
23:00:48 <ehirdghost> pikhq: why sigh/
23:00:50 <AnMaster> ehirdghost, not google iirc
23:00:53 <ehirdghost> er, no
23:00:55 <ehirdghost> gold is by google
23:01:06 <ehirdghost> Gold is a linker for ELF files. It was added to binutils March, 2008[1][2], and first released in binutils version 2.19. Gold was developed by Ian Lance Taylor of Google[3].
23:01:11 <ehirdghost> it stands for GOogle LD
23:01:16 <ehirdghost> http://google-opensource.blogspot.com/2008/04/gold-google-releases-new-and-improved.html
23:01:23 <AnMaster> ehirdghost, err I remember reading original binutils ld author worked on it
23:01:29 <ehirdghost> maybe he works at google.
23:01:29 <AnMaster> maybe he works for google
23:01:32 <AnMaster> yeah
23:02:07 <AnMaster> "Ian Lance Taylor"
23:04:05 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
23:10:30 * bsmntbombdood reads
23:12:12 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
23:12:25 -!- tombom has quit ("Peace and Protection 4.22.2").
23:15:10 <bsmntbombdood> bah, boring
23:15:20 <bsmntbombdood> it's simply a list of micro-optimizations
23:16:31 <ehirdghost> yow, new freshmeat.net
23:20:19 <AnMaster> ehirdghost, which was/is best old or new look?
23:20:30 <ehirdghost> both are ugly
23:20:38 <ehirdghost> the newer is slightly easier to read, but has more cruft.
23:21:26 <AnMaster> why a white box beside the logo?
23:21:42 <bsmntbombdood> what's freshmeat?
23:22:04 <AnMaster> that's like asking "what is sourceforge"
23:22:20 <AnMaster> http://freshmeat.net/about
23:23:03 <bsmntbombdood> borign
23:23:12 <AnMaster> why did you ask then
23:23:32 <AnMaster> <bsmntbombdood> it's simply a list of micro-optimizations <-- what is?
23:23:46 <bsmntbombdood> the amd64 optimization guide
23:24:02 <ehirdghost> AnMaster: white box beside the logo?
23:24:03 <ehirdghost> Excuse me what
23:24:11 <AnMaster> bsmntbombdood, well yes. The reference docs are more interesting
23:24:14 <bsmntbombdood> "use 64 bit operations instead of 32 bit operation when 64 bits are needed"
23:24:16 <bsmntbombdood> no fucking shit?
23:24:34 <bsmntbombdood> AnMaster: link
23:24:37 <AnMaster> bsmntbombdood, some are like that yes. Some are more interesting. Check the SSE stuff.
23:24:44 <AnMaster> bsmntbombdood, a sec
23:24:47 <AnMaster> ehirdghost, what?
23:25:01 <ehirdghost> 22:21 AnMaster: why a white box beside the logo?
23:25:03 <ehirdghost> I see no white box
23:25:03 <AnMaster> ehirdghost, see the logo at the top?
23:25:06 <ehirdghost> Yes
23:25:16 <AnMaster> ehirdghost, see the huge box to the right of it?
23:25:19 <AnMaster> for me it is white
23:25:26 <ehirdghost> Oh.
23:25:28 <ehirdghost> There are ads there, for me.
23:25:33 <ehirdghost> Since I don't block them.
23:25:37 <AnMaster> ehirdghost, oh ok
23:25:42 <AnMaster> how can you live with ads.
23:25:49 <ehirdghost> I don't notice them.
23:26:08 <ehirdghost> And some sites's layouts go a bit unbalanced-looking without them filling space, so.
23:26:58 <AnMaster> bsmntbombdood, this is part 1 of 5 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24592.pdf
23:27:27 <AnMaster> bsmntbombdood, for links to all: http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_875_7044,00.html
23:27:37 -!- GregorR has quit (Read error: 110 (Connection timed out)).
23:27:47 <bsmntbombdood> i requested all the intel x86 docs once
23:27:53 <bsmntbombdood> that was funny
23:27:55 <AnMaster> bsmntbombdood, oh?
23:27:59 <bsmntbombdood> they are sitting in my closet somewhere
23:28:15 <AnMaster> bsmntbombdood, I think they are available as pdfs nowdays
23:28:17 <bsmntbombdood> it's like 8 volumes 3" thick
23:28:25 <AnMaster> bsmntbombdood, also what did it cost you?
23:28:30 <bsmntbombdood> nothing
23:28:39 <AnMaster> huh
23:28:57 <bsmntbombdood> they send them out free
23:30:23 <bsmntbombdood> they can't sell any processors if no one develops for them
23:30:28 <AnMaster> ok
23:30:45 <AnMaster> bsmntbombdood, I prefer pdf. Comes with Ctrl-F to speed up searching
23:32:00 <ehirdghost> I prefer hypertext that's displayed how I want, with a plaintext open markup language behind it that I can copy and paste from; instead of a closed-world NowYourMonitorCanBeAnInflexiblePieceOfPaper propreitary format that doesn't let me view it how i want it.
23:32:01 <ehirdghost> </rant
23:32:03 <ehirdghost> >
23:32:31 <AnMaster> ehirdghost, Um I can view it how I want it
23:32:53 <AnMaster> ehirdghost, if your pdf viewer follows the copy protection stuff replace it
23:32:55 <ehirdghost> You can change a PDF's font? Get rid of the irritating two-column format? Run sed over it?
23:32:57 <AnMaster> with an more open one
23:33:05 <ehirdghost> I'd like to know how.
23:33:05 <AnMaster> ehirdghost, pdf2edit
23:33:25 <AnMaster> well: pdf2ps | ps2edit
23:33:37 <AnMaster> ps2ascii ps2eps ps2epsi ps2frag ps2pdf ps2pdf12 ps2pdf13 ps2pdf14 ps2pdfwr ps2pk ps2ps ps2ps2
23:33:39 <AnMaster> have those
23:33:42 <AnMaster> and pdf2dsc pdf2ps
23:33:46 <ehirdghost> Go on then, I'll give you a tex rendered PDF; you change the font to something more respectable, let me resize the window to resize the text (instead of just zooming), make it two columns and flush left, ...
23:33:57 <ehirdghost> If you can do it in <2mins I'll be impressed.
23:34:05 <pikhq> ... More respectable?
23:34:16 <pikhq> You mean it comes more respectable than Computer Modern?
23:34:16 <AnMaster> ehirdghost, well ok you are right about that bit. But I prefer pdf over xps
23:34:18 <ehirdghost> pikhq: That was a joke.
23:34:28 <pikhq> Good, good.
23:34:33 <AnMaster> pikhq, no it doesn't. CM > *
23:34:43 <ehirdghost> Computer Modern doesn't really work too well on a screen IME.
23:34:49 <ehirdghost> Too many curly parts.
23:34:55 <pikhq> Yeah, it's very much a print font.
23:35:10 <fizzie> I requested Zilog's Z80 databook once, in a physical format; and it was actually pretty useful when writing some TI-86 code. I gave it away as a gift, though.
23:35:12 <bsmntbombdood> it's much easier to read dead trees
23:35:27 <pikhq> Wonderful on dead trees, though.
23:35:37 <fizzie> Most of the book was just timing diagrams, though.
23:35:43 <bsmntbombdood> i love computer modern
23:35:59 <ehirdghost> I find screen reading as easy as book reading, but that's for a justified book with a good serif font with sufficiently bold text, and a sans-serif or lightweight serif screen font that's sufficiently light and ragged right
23:36:03 <ehirdghost> So, very different requirements.
23:36:26 <AnMaster> I can't even find Intel documentation any moer
23:36:27 <AnMaster> more*
23:36:29 <AnMaster> where is it
23:37:12 <fizzie> http://www.intel.com/software/products/documentation/vlin/mergedprojects/analyzer_ec/mergedprojects/reference_olh/reference_hh/intel_s_software_developer_s_manuals.htm has links.
23:37:25 <AnMaster> hard to find
23:37:40 <pikhq> ehirdghost: Yeah; different fonts for different purposes.
23:37:50 <fizzie> The developer.intel.com search should find 'em with the right keywords, like "architecture" and "manual".
23:38:02 <AnMaster> I prefer adjusted margins on screen
23:38:11 <AnMaster> fizzie, was trying on intel.com...
23:38:12 <bsmntbombdood> http://developer.intel.com/products/processor/manuals/index.htm
23:38:17 <bsmntbombdood> see "order a printed copy"
23:38:20 <fizzie> http://www.intel.com/products/processor/manuals/ also looks like a good list.
23:38:23 <fizzie> Yes.
23:38:43 <pikhq> I wish that web browsers would do justified text rendering, though...
23:38:54 <AnMaster> I was thinking of their optimization guide thingy
23:39:02 <bsmntbombdood> tex's justification algorithm is so complicated
23:39:07 <AnMaster> yes
23:39:10 <fizzie> Intel® 64 and IA-32 Architectures Optimization Reference Manual is on that page.
23:39:19 <ehirdghost> bsmntbombdood: and also awesome.
23:39:20 <AnMaster> try the package microtype to get even better results
23:39:25 <AnMaster> work best with pdftex
23:39:29 <AnMaster> or luatex
23:39:34 <AnMaster> works*
23:39:36 <ehirdghost> I love XeTeX
23:39:53 <AnMaster> ehirdghost, no idea if it supports micro-typography
23:40:00 <ehirdghost> Yes
23:40:05 <AnMaster> ehirdghost, like optically straight margins?
23:40:07 <ehirdghost> Yes
23:40:10 <ehirdghost> It's all about that kind of stuff
23:40:20 <AnMaster> ehirdghost, how do you turn it on?
23:40:21 <AnMaster> for it
23:40:28 <ehirdghost> Same way as normal
23:40:30 <ehirdghost> I believe
23:40:36 <AnMaster> ehirdghost, which is?
23:40:47 <AnMaster> for pdftex you use the package microtype. And docs says it only works for pdftex
23:40:48 <pikhq> I gather that microtype is basically a set of improvements on TeX's justification algorithm.
23:40:48 <ehirdghost> Erm, the microtype package thang?
23:40:49 -!- oerjan has joined.
23:41:03 <AnMaster> pikhq, kerning too + a few other things
23:41:09 <ehirdghost> hmmm
23:41:09 <ehirdghost> http://www.tug.org/pipermail/xetex/2004-October/001206.html
23:41:11 <ehirdghost> that's from 2004 though
23:41:12 <ehirdghost> also
23:41:15 <ehirdghost> xetex has kerning and stuff
23:41:20 <ehirdghost> built in
23:41:21 <pikhq> Ah. Improvements on its kerning, also...
23:41:34 <ehirdghost> http://nitens.org/taraborelli/latex
23:41:38 <ehirdghost> that was made with xetex
23:41:44 <ehirdghost> so, very typographically sound
23:41:59 <AnMaster> ehirdghost, http://www.ctan.org/get/macros/latex/contrib/microtype/microtype.pdf
23:42:04 <AnMaster> that is what I'm talking about
23:42:09 <ehirdghost> I am aware.
23:42:31 <AnMaster> ehirdghost, can it do those things?
23:42:42 <ehirdghost> I think so.
23:42:49 <ehirdghost> The whole point of XeTeX was to improve the fonty stuff.
23:42:55 <ehirdghost> And Unicode support
23:43:08 <pikhq> And Opentype instead of METAFONT.
23:43:11 <ehirdghost> http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=XeTeX
23:43:15 <AnMaster> ehirdghost, well what about the optically straight margins bit
23:43:19 <AnMaster> that in particular
23:43:37 <ehirdghost> I think so
23:43:40 <ehirdghost> I'm no expert, but I think so
23:44:49 <AnMaster> ehirdghost, also how does xetex work on non-OSX?
23:44:59 <ehirdghost> How does it not?
23:45:01 <AnMaster> the mail you linked talks about quartz
23:45:04 <AnMaster> http://www.tug.org/pipermail/xetex/2004-October/001206.html
23:45:08 <ehirdghost> http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=xetex_linux
23:45:08 <AnMaster> which iirc is OS X specific
23:45:20 <pikhq> XeTeX is part TeX Live.
23:45:30 <pikhq> Part of, rather.
23:45:32 <AnMaster> pikhq, I know. I have it installed
23:45:44 <AnMaster> I was just trying to make sense of how
23:45:50 <pikhq> Same damned way.
23:46:08 <AnMaster> pikhq, not the quartz bit obviously
23:46:19 <ehirdghost> different code on different platforms WHAT
23:46:22 <AnMaster> as the page ehirdghost linked mentioned
23:46:23 <ehirdghost> Impossible
23:46:54 <AnMaster> ehirdghost, depends on how much needs to be ported
23:46:59 <AnMaster> and what can be the same
23:47:19 <pikhq> FreeType, I suspect, is used instead of Quartz for font rendering.
23:47:20 -!- Slereah has joined.
23:47:33 <ehirdghost> No. OpenType.
23:47:43 <pikhq> ehirdghost: OpenType is a font *format*.
23:47:47 <ehirdghost> err right
23:47:49 <ehirdghost> sorr
23:47:49 <ehirdghost> misread
23:47:58 <AnMaster> I like METAFONT
23:48:01 <AnMaster> what is wrong with it?
23:48:02 <pikhq> FreeType is the Linux implementation of an OpenType renderer.
23:48:10 <pikhq> AnMaster, it doesn't do Unicode.
23:48:18 <ehirdghost> And OpenType is, iirc, more featureful.
23:48:20 <ehirdghost> And more widely supported.
23:48:24 <ehirdghost> And more fonts are available in it.
23:48:28 <AnMaster> pikhq, I included some Swedish text encoded as UTF-8 with no issues
23:48:28 <pikhq> Yeah.
23:48:36 <AnMaster> to pdftex yesterday
23:48:45 <AnMaster> used Latin Modern I think
23:48:58 <AnMaster> don't remember what font format that is
23:49:16 <oerjan> i never metaf *hit by falling anvil*
23:49:23 <pikhq> PDFTeX uses TrueType and Type 1 fonts.
23:49:44 <fizzie> "XeTeX on Linux depends on an extended version of the DVIPDFMx driver by Shunsaku Hirata and Jin-Hwan Cho to generate PDF output"; that's what it does on Linux, instead of Quartz.
23:50:03 <pikhq> Fair enough.
23:50:13 <fizzie> Of course, I don't know what that driver does.
23:50:15 <ehirdghost> fizzie: Stop reading! You're not allowed to. You have to ask questions of people who don't know the answer.
23:50:19 <pikhq> Probably part of TeXLive's dvi2pdf.
23:50:28 <AnMaster> ehirdghost, I read it.
23:50:31 <AnMaster> <AnMaster> as the page ehirdghost linked mentioned
23:50:37 <AnMaster> just pikhq didn't
23:50:45 <ehirdghost> Yes, you read it, that's why you asked me straight after.
23:50:55 <AnMaster> ehirdghost, ?
23:51:20 <AnMaster> ehirdghost, what are you talking about?
23:51:55 <AnMaster> ehirdghost, I didn't ask you after.
23:51:56 <AnMaster> ...
23:52:07 <ehirdghost> sure you did
23:52:08 <AnMaster> <AnMaster> ehirdghost, also how does xetex work on non-OSX?
23:52:09 <AnMaster> <ehirdghost> How does it not?
23:52:09 <AnMaster> <AnMaster> the mail you linked talks about quartz
23:52:09 <AnMaster> <AnMaster> http://www.tug.org/pipermail/xetex/2004-October/001206.html
23:52:10 <ehirdghost> you kept asking what it used instead of quartz
23:52:11 <AnMaster> <AnMaster> which iirc is OS X specific
23:52:14 <AnMaster> <ehirdghost> http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=xetex_linux
23:52:24 <AnMaster> after that I didn't ask
23:52:37 <AnMaster> ehirdghost, what line after that?
23:52:44 <ehirdghost> ff
23:53:01 <AnMaster> ehirdghost, does that mean you admit you were wrong?
23:53:09 <ehirdghost> no, it means i can't be bothered to continue
23:56:08 <fizzie> Speaking of web browsers and text layout, there's the horrible thing called sIFR; http://www.mikeindustries.com/blog/sifr/ -- the "How it works" explains a very nice method of using up spare CPU cycles.
23:56:28 <ehirdghost> Oh yes; I hate those things.
23:56:59 <ehirdghost> "Actionscript inside of each Flash file then draws that text in your chosen typeface at a 6 point size and scales it up until it fits snugly inside the Flash movie. "
23:57:00 <ehirdghost> Hahaahaha
23:57:05 <ehirdghost> Best algorithm ever
23:57:28 * oerjan swats straight through ehirdghost -----### FOR SCIENCE!
23:57:34 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
23:57:37 <ehirdghost> I felt nothing.
23:57:51 <ehirdghost> The visual representation is just an astral equiprojection of my statis, you know.
23:58:00 * oerjan repeats the experiment for statistical significance -----###
23:58:09 <ehirdghost> La la la la.
23:58:32 <fizzie> Like the statistical saying goes: "With a large enough N, all bugs are shallow." Or something like that, anyway.
23:59:17 <oerjan> well, there is some probability that it says that
2009-03-16
00:05:45 <pikhq> fizzie: Well, SIFR seems to do absolutely nothing here.
00:06:10 <pikhq> Ah well. Means that things won't find a way to fuck with my font setting.
00:06:41 <AnMaster> <ehirdghost> "Actionscript inside of each Flash file then draws that text in your chosen typeface at a 6 point size and scales it up until it fits snugly inside the Flash movie. " <-- Why not do it in INTERCAL instead. Really it would make perfect sense for an esolang. But for this?...
00:07:00 <pikhq> (a nice serif font with thin lines; rather nice to read at a decent DPI)
00:07:00 <fizzie> sIFR does nothing with noscript, either, but still.
00:07:15 <pikhq> I don't have noscript. Just AdBlock...
00:07:26 <AnMaster> I use both noscript and adblock plus
00:07:35 <AnMaster> and have no flash or java plugins
00:07:39 <pikhq> Noscript doesn't work with Conkeror.
00:08:00 <fizzie> "sIFR runs fine under other extensions like AdBlock"; that shouldn't be related.
00:08:11 <AnMaster> pikhq, mhm
00:08:16 <AnMaster> and why do you use that?
00:08:29 <pikhq> Mouseless browsing.
00:08:33 <AnMaster> ok
00:09:04 <pikhq> And it's XULrunner based, so just about everything works anyways.
00:09:07 <ehirdghost> Conkeror is emacs for Firefox.
00:09:17 <pikhq> Emacs for Gecko, rather.
00:09:20 <ehirdghost> I am not sure why that would elicit a "why" from AnMaster.
00:09:29 <pikhq> It's not been a Firefox extension for a couple of years.
00:09:30 <ehirdghost> pikhq: It's rather more Firefox than just Gecko
00:09:36 * SimonRC <3 the future.
00:09:40 <fizzie> Anyway; sIFR is not the stupidest thing I've seen (I mean, it's not like placing body text in an image, for example; and they strongly advise against using it for body text, anyway), just silley.
00:09:44 <pikhq> It's XULrunner.
00:09:54 <AnMaster> fizzie, agreed
00:09:58 <pikhq> Which is Gecko with the ability to load arbitrary XUL...
00:10:06 <SimonRC> We do things by pulling little computer programs across the world
00:10:32 <fizzie> Soon we'll have intelligent agents running around!
00:11:09 <ehirdghost> SimonRC: wut
00:11:10 <AnMaster> firefox use xulrunner...
00:11:28 <AnMaster> ehirdghost, duh. read what he said above
00:11:40 <ehirdghost> 23:09 SimonRC <3 the future.
00:11:41 <ehirdghost> 23:10 SimonRC: We do things by pulling little computer programs across the world
00:11:42 <ehirdghost> I repeat: wt.
00:11:44 <ehirdghost> wut
00:11:46 <AnMaster> it is crystal clear...
00:11:47 <AnMaster> duh
00:11:49 <AnMaster> night btw
00:11:53 <ehirdghost> Er, it is?
00:12:13 <SimonRC> yeah, we live in the future
00:12:23 <ehirdghost> I am fairly sure we live in the present, SimonRC.
00:12:30 <ehirdghost> Fairly sure indeed.
00:12:38 <AnMaster> ehirdghost, no. You are a ghost. You don't live
00:12:43 <AnMaster> you lived in the past.
00:12:47 <SimonRC> s/the future/The Future/
00:12:50 <pikhq> AnMaster: By the way, we've been pulling little computer programs across the world for stuff since at *least* the invention of Javascript. ;)
00:12:59 <AnMaster> pikhq, indeed.
00:13:07 <pikhq> Probably longer, if you count, say, UUCP.
00:13:10 <ehirdghost> AnMaster: I metalive.
00:13:18 <SimonRC> I am not certain, but I think I was thinking this before Munroe made a comic about it
00:13:25 <ehirdghost> I never metalive I didn't like.
00:13:34 <AnMaster> ehirdghost, I chose to ignore that pun and instead point out that is not valid grammar.
00:13:56 <ehirdghost> I will now metakill you.
00:14:28 <AnMaster> also why is "I never meta<something> I <something>" supposed to be funny? It is a rather lame pun IMO.
00:15:39 <fizzie> Incidentally, how do the licensing terms go; if I have a copy of OS X, can I use some of the bundled fonts on a different computar? (I'm not sure I want to, just hypothetically speaking.)
00:15:46 <AnMaster> computer*
00:16:04 <fizzie> Oh, sorry, I meant CANTOR-UPPER.
00:16:05 <ehirdghost> fizzie: I'm not sure. There's no DRM or anything; I don't think anyone cares.
00:16:28 <AnMaster> fizzie, that made no sense.
00:16:44 <AnMaster> it is noway near "computer" when you pronounce it
00:16:44 <ehirdghost> fizzie: I don't think there is anything in the EULA or whatnot.
00:17:00 <ehirdghost> fizzie: So it'd just be standard copyright law; if you're using it on another computer you own, fair use, probably.
00:17:06 <pikhq> fizzie: Assuming the computer in question supports TrueType or OpenType, yeah.
00:17:20 <ehirdghost> pikhq: he means can as in legally
00:17:22 <ehirdghost> "is it allowed"
00:17:25 <AnMaster> ehirdghost, what if you use it in a document and that cause it to be bundled...
00:17:35 <ehirdghost> Oh, all fonts let you bundle them in PDFs and whatnot, I think/
00:17:41 <AnMaster> ehirdghost, say a document with the entire UTF-8 chart :D
00:17:45 <pikhq> Most any sane one, at least.
00:17:53 <AnMaster> so end user can extract it all
00:17:57 <fizzie> Yay; if that's the truedness, there's some form of common sense left.
00:18:01 <AnMaster> would that be legal?
00:18:03 <ehirdghost> fizzie: I've done it
00:18:08 <ehirdghost> I just used a converter of .dfont -> .ttf, iirc
00:18:11 <ehirdghost> and it worked fine
00:18:13 <ehirdghost> Called "fondu"
00:18:22 <ehirdghost> No DRM or anything; one command line invocation and an upload
00:18:27 <pikhq> BTW, fun fact. Typefaces are not subject to copyright.
00:18:27 <fizzie> Yes, well, I have it from reputable sources that you also download QuickBASIC copies of dubious legality.
00:18:34 <ehirdghost> pikhq: Really?
00:18:41 <oerjan> ehirdghost: sounds a bit cheesy
00:18:43 <AnMaster> pikhq, what are they subject to then? And is that US only?
00:18:46 <ehirdghost> pikhq: Then why was Arial ever created?
00:18:50 <pikhq> The *computer code* describing them can be.
00:18:51 <AnMaster> oerjan, augh
00:19:07 <pikhq> ehirdghost: Novel and non-obvious designs can be patented.
00:19:16 <ehirdghost> Helvetica is pretty "obvious"...
00:19:22 <pikhq> Yeah.
00:20:34 <ehirdghost> As a side note, does anyone actually use Zapfino?
00:20:36 <AnMaster> opentype contains parts under patent
00:20:37 <ehirdghost> It's utterly unreadabl
00:20:38 <ehirdghost> e
00:21:03 <pikhq> Other countries have typeface copyright.
00:21:10 <fizzie> Uh, I'm not sure "file" is correct here: "Monaco.dfont: MS Windows icon resource"
00:21:14 <pikhq> AnMaster: Yeah; mostly the hinting algorithms, IIRC.
00:21:16 <ehirdghost> pikhq: Does Europe?
00:21:19 <ehirdghost> fizzie: :-D
00:21:24 <AnMaster> pikhq, others == non-US or?
00:21:24 <ehirdghost> Monaco is love.
00:21:32 <pikhq> Others == non-US.
00:21:44 <ehirdghost> "Unfortunately, just before the project was completed, Siegel wrote a letter to Zapf, saying that his girlfriend had left him, and that he had lost all interest in anything. Thus Siegel abandoned the project and started a new life, working on bringing color to Macintosh computers, and later becoming an Internet design expert. "
00:21:45 <AnMaster> pikhq, who cares about US?
00:21:46 <ehirdghost> XDD
00:21:48 <AnMaster> I don't
00:22:00 <pikhq> Sorry; hard to get out of US-centric phrasing sometimes.
00:22:00 <ehirdghost> AnMaster: Yes, I know you take pride in your rabid hate of the US (because IT'S POPULAR or something).
00:22:06 <ehirdghost> Most of us don't.
00:22:31 <pikhq> Also, Zapfino? Unreadable?
00:22:42 <ehirdghost> Ehm, yes.
00:23:04 <pikhq> No, it looks like calligraphic text. Rather readable, though probably not the best for long works.
00:23:17 <ehirdghost> well, it's hard for me to read…
00:23:35 <AnMaster> OS X specific?
00:23:41 <AnMaster> I can't find it here
00:23:47 <pikhq> AnMaster: OS X builtin font.
00:23:53 <AnMaster> screenshot?
00:24:00 <ehirdghost> entirely separate from os x
00:24:04 <ehirdghost> but bundled with OS X
00:24:14 <ehirdghost> saying "OS X specific" is Wrong; I don't know of any OS X only fonts.
00:24:21 <pikhq> http://upload.wikimedia.org/wikipedia/commons/c/c7/Zapfino.svg
00:24:23 <ehirdghost> maybe Geneva
00:24:39 <AnMaster> that's nice
00:24:48 <AnMaster> readable for being a calligraphic one
00:24:49 <ehirdghost> AnMaster: Yes, but try reading text in it
00:25:03 <AnMaster> ehirdghost, It would be good for logos or such
00:25:08 <AnMaster> not for long works no
00:25:25 <pikhq> ehirdghost: Calligraphic fonts aren't meant for long works...
00:25:28 <AnMaster> but why so many variants there
00:25:31 <ehirdghost> Of course.
00:25:35 <ehirdghost> But even for titles.
00:25:43 <ehirdghost> AnMaster: it has over 18,000 ligs
00:25:45 <AnMaster> and how do you select which one?
00:25:48 <AnMaster> ehirdghost, wow....
00:25:50 <ehirdghost> and manually
00:25:52 <ehirdghost> afaik
00:25:56 <pikhq> XeTeX. ;)
00:26:04 <ehirdghost> er wait
00:26:06 <ehirdghost> 1,400 ligs
00:26:09 <ehirdghost> still insane
00:26:12 <AnMaster> ah ok
00:26:26 <ehirdghost> I'ma download MacTeX
00:26:34 <ehirdghost> Does it still use that ugly iInstaller crap, I wonder.
00:27:34 <ehirdghost> Oh lord, FTP.
00:27:39 <ehirdghost> Why, why FTP.
00:27:55 <ehirdghost> Ah, an HTTP mirror.
00:28:01 <ehirdghost> 700KB/sec. Most excellent.
00:28:03 <ehirdghost> Thank you Germany.
00:28:16 <AnMaster> ehirdghost, what is wrong with ftp....
00:28:21 <ehirdghost> Everything
00:28:38 <AnMaster> well, passive ftp works fine in my experience
00:28:57 <pikhq> Aside from it's connecting back to the initiator of the connection for the transfer link, it's a decent protocol.
00:29:03 <pikhq> Perhaps a bit overengineered, though.
00:29:05 <AnMaster> pikhq, indeed
00:29:18 <AnMaster> pikhq, parallel transfers are nice though
00:29:20 <ehirdghost> It's completely insecure in every way, and for passive basic file downloads it has 0 advantages compared to HTTP
00:29:22 <pikhq> True, true.
00:29:26 <ehirdghost> And several disadvantages
00:29:30 <pikhq> Such as?
00:29:40 <AnMaster> ehirdghost, apart from connect back?
00:29:55 <ehirdghost> pikhq: have you ever _used_ FTP/
00:29:57 <ehirdghost> ?
00:30:03 <AnMaster> ehirdghost, I have
00:30:08 <AnMaster> for both up and download
00:30:24 <pikhq> Yes, I have.
00:30:27 <AnMaster> works well, apart from the insecure bit and separate data channel.
00:30:29 <Ilari> Also, the server software required for it is bit too large...
00:30:33 -!- Corun has joined.
00:30:45 <AnMaster> Ilari, err. ISS is a bit insecure. Lets drop http
00:30:56 <AnMaster> Ilari, there are small FTP servers.
00:30:57 <AnMaster> ...
00:31:00 <pikhq> ftp(1) is a rather nice program.
00:31:24 <AnMaster> pikhq, indeed. I prefer sftp though mostly. For security
00:31:28 <pikhq> Ilari: Uh, ftpd probably comes in under a megabyte.
00:31:32 <pikhq> AnMaster: Well, yeah.
00:32:08 <Ilari> AnMaster: Implementing HTTP server is probably smaller task than implementing FTP server...
00:32:13 <fizzie> At least with FTP you can, on host C, transfer data between servers A and B without things going through C.
00:32:29 <AnMaster> Ilari, "probably"?
00:32:29 <fizzie> It is horribly complicated due to historical raisins, though.
00:32:29 -!- Corun has quit (Client Quit).
00:32:41 <AnMaster> fizzie, I managed that with scp iirc
00:33:04 <fizzie> I find it very unlikely that scp can do it.
00:33:12 <pikhq> Sftp can, scp can't.
00:33:15 <AnMaster> fizzie, maybe sftp then
00:33:16 <AnMaster> ok
00:33:43 <fizzie> How do you do it with sftp, then?
00:34:15 <pikhq> sftp foo:bar baz:
00:34:32 * ehirdghost boo
00:34:36 <ehirdghost> Sorry, had to fill my ghost quota.
00:34:50 <AnMaster> ehirdghost, so what was the issue you had with ftp?
00:34:56 <ehirdghost> AnMaster: Whooooo
00:35:00 <ehirdghost> WHOAOOAOOOOOO
00:35:02 <AnMaster> you never answered what apart from separate control channel
00:35:12 <pikhq> s/sftp/scp/; sorry. sftp is a ftp-style program, and current scp programs are just sftp frontends.
00:35:13 <fizzie> pikhq: That writes to local file "baz:" here.
00:35:20 <pikhq> Really?!?
00:35:26 <ehirdghost> "and current scp programs are just sftp frontends."
00:35:28 <ehirdghost> Wait what?
00:35:31 <AnMaster> no
00:35:38 <pikhq> Sorry. That was an epic thinko.
00:35:45 <AnMaster> they are not
00:35:53 <pikhq> THAT WAS DUMB.
00:35:59 <ehirdghost> :|
00:36:19 <AnMaster> ehirdghost, still. I'm waiting for an answer
00:36:19 <ehirdghost> I enjoy infuriating you by withholding it. :P
00:36:19 <AnMaster> you seem to avoid answering the question
00:36:20 <ehirdghost> WHOAOAOAOA
00:36:39 <AnMaster> ehirdghost, well I just think it means you can't think of any rational reasons
00:36:40 <AnMaster> :P
00:36:44 <AnMaster> so your loss
00:36:49 <ehirdghost> That's your prerogative
00:37:59 <AnMaster> that comment made me even more sure about what I just said
00:38:12 <fizzie> I get "Permission denied, please try again. Permission denied, please try again. Permission denied (publickey,password,hostbased)." for a two-host scp thing. That is a bit strange.
00:38:13 <ehirdghost> If you haven't realised yet, I really don't care what you think about me.
00:38:28 <ehirdghost> Gawd, MacTex is 1GB… I don't even know how that's possible… still in awe
00:38:35 <AnMaster> ehirdghost, I think you do actually. Just are afraid to admit it
00:38:46 <ehirdghost> AnMaster: hahahaaha; you wish, maybe
00:39:04 <AnMaster> ehirdghost, you feel insecure in yourself
00:39:20 <ehirdghost> "you show all the signs of not caring what I think about you; therefore you are insecure and secretly desire my confirmation but are too scared to seek it"
00:39:29 <ehirdghost> Yes, I'm sure. Solid reasoning there.
00:39:53 <AnMaster> ehirdghost, except you don't "show all signs of not caring". You rather try to show that but fail.
00:40:01 <AnMaster> Which is very different
00:40:23 <ehirdghost> You're opening up my heart and showing me my deepest desires. It would be heartbreaking if it wasn't bullshit.
00:41:04 <AnMaster> ehirdghost, Yes you are scared to admit it. The more you deny it, the more you prove it. ;P
00:41:23 <ehirdghost> I am not a ghost. I am not a ghost. I am not a ghost. I am not a ghost. I am not a ghost. I am not a ghost. I am not a ghost. I am not a ghost.
00:41:26 <ehirdghost> Now you have to believe I am.
00:41:50 <AnMaster> ehirdghost, Um, how does that follow logically
00:42:06 -!- FireyFly has quit ("Later").
00:42:09 <ehirdghost> "X is true. Evidence: You are denying X many times."
00:42:17 <AnMaster> I didn't say everything was opposite of what you said.
00:42:51 <AnMaster> ehirdghost, also just ask random $person with a tinfoil hat! The gov denies it so it must be tru!
00:42:53 <AnMaster> true!*
00:42:56 <AnMaster> ~
00:43:04 <ehirdghost> 9/11 was an inside loeb
00:43:10 <AnMaster> loeb?
00:43:27 <ehirdghost> []([]P -> P) -> []P
00:43:39 <AnMaster> ehirdghost, ...?
00:43:45 <AnMaster> haskell I see
00:43:48 <ehirdghost> http://en.wikipedia.org/wiki/Löb's_theorem
00:43:55 <AnMaster> hm no
00:43:59 <ehirdghost> hm yes.
00:44:01 <AnMaster> Wikipedia does not have an article with this exact name. Please search for Löbs theorem in Wikipedia to check for alternative titles or spellings.
00:44:02 <ehirdghost> err
00:44:03 <ehirdghost> hm no
00:44:09 <ehirdghost> I didn't see what you asid
00:44:14 <ehirdghost> AnMaster: you forgot the apostrophe
00:44:35 <AnMaster> ehirdghost, my irc client did
00:44:42 <AnMaster> click fail
00:45:52 <AnMaster> "There is a paraconsistent version in Carl Hewitt [2008]." <-- ?
00:45:59 <AnMaster> wth does that mean
00:46:07 <ehirdghost> don't you have a dictionary?
00:46:24 <AnMaster> not here, and parents are sleeping in the room with it
00:46:26 <AnMaster> so no
00:46:43 <ehirdghost> Your computer blocks all dictionary sites?
00:46:44 <ehirdghost> How queer.
00:46:58 <oerjan> except the gay ones, obviously
00:47:01 <AnMaster> ehirdghost, that was a result of your curse before
00:47:08 <AnMaster> since you typoed it
00:47:32 <ehirdghost> T'was no typo; was the speak of thine ghosts.
00:47:52 <AnMaster> ehirdghost, well that made it misfire
00:48:03 <ehirdghost> We have an extravolutionary version of the language communicasystem; for extra extrapossibilities with which to extrapolate.
00:48:06 <AnMaster> so now it blocks me googling for anything you mentions
00:48:09 <AnMaster> for life
00:48:10 <ehirdghost> fizzie appears to be fluent in it while alive; though.
00:48:16 <ehirdghost> Or maybe he is a ghost.
00:48:24 <ehirdghost> AnMaster: Wikipedia mentioned paraconsistent, not I.
00:48:35 <AnMaster> ehirdghost, directly or indirectly
00:48:40 <AnMaster> so it affects this
00:48:42 <ehirdghost> AnMaster: Everything.
00:48:47 <ehirdghost> Now you can never use Google.
00:48:59 <AnMaster> ehirdghost, not for the word "everything" no
00:49:10 <AnMaster> this is only literal phrases like that
00:49:14 <ehirdghost> AMD. Intel. x86. x86_64
00:49:17 <AnMaster> and I already know that word
00:49:18 <ehirdghost> Befunge.
00:49:20 <ehirdghost> cfunge.
00:49:21 <AnMaster> and those
00:49:24 <AnMaster> so it won't affect
00:49:27 <ehirdghost> AnMaster: You can never look up info about them
00:49:28 <AnMaster> only unknown ones
00:49:36 <AnMaster> ehirdghost, wrong. Only unknown words
00:50:00 <ehirdghost> That is particularly arbitrary.
00:50:05 <AnMaster> ehirdghost, plus due to the misfire it is time limited. Lasts about 1-1.5 weeks in average :/
00:50:20 <AnMaster> ehirdghost, well if you haven't typoed it, it wouldn't have misfired
00:50:34 <ehirdghost> If this sentence is true, then AnMaster is cursed.
00:50:38 <ehirdghost> Logical bomb in your face.
00:51:02 <AnMaster> ehirdghost, fail to see the logical bomb there...
00:51:16 <ehirdghost> http://en.wikipedia.org/wiki/Curry's_paradox
00:52:42 <AnMaster> ok. That is just a false statement due to the A then B not being a casual connection
00:53:00 <ehirdghost> I see you didn't read the article.
00:53:46 <AnMaster> not the whole yet. But false was the wrong word. The right word would be: logical nonsense not connected with the real world.
00:54:09 <ehirdghost> Yeah, uh, keep reading.
00:55:18 <AnMaster> "In formal languages, we sometimes interpret "If X then Y" as a material conditional. On this reading, it simply means "Y, or else not X". Here we would read the sentence as "Santa Claus exists, or this sentence is false". On this reading, Curry's paradox is simply a variant on the liar paradox. However, in natural language this is not usually what we mean by "If X then Y". For instance, "if 6*7=42, t
00:55:18 <AnMaster> hen the moon exists" is true as a material implication, but is generally not considered true in natural language, because the moon's existence does not seem to be related to this fact of arithmetic."
00:55:20 <AnMaster> ehirdghost, ^
00:55:35 <ehirdghost> yes
00:56:10 <AnMaster> in other words. the claim describes a non-existent causal connection.
00:56:18 <AnMaster> or: logical nonsense
00:58:41 <ehirdghost> modusPonens :: (p -> q, p) -> q
00:59:19 <AnMaster> ehirdghost, natural language isn't an exact science
00:59:24 <AnMaster> languages*
00:59:35 <ehirdghost> Shush, I'm doing logics in mah type system.
00:59:47 <AnMaster> ehirdghost, well not abov
00:59:50 <AnMaster> above'
00:59:51 <AnMaster> *
00:59:55 <AnMaster> when you said it
01:00:00 <ehirdghost> Anyway, a proof of the above proposition:
01:00:03 <AnMaster> blergh this kbedor
01:00:05 <ehirdghost> modusPonens (f, x) = f x
01:00:06 <AnMaster> keyboard*
01:00:44 <AnMaster> ehirdghost, as I said. Why would it be related
01:00:52 <AnMaster> you have to prove to me there is such a connection first
01:01:02 <ehirdghost> I was making a cheap joke.
01:01:03 <ehirdghost> Chill.
01:01:37 <AnMaster> ehirdghost, I mean I think this paradox is rather lame. It forgets about this think called "false claim" even "lie"
01:01:50 <AnMaster> not much of a paradox
01:02:00 <AnMaster> if you enter garbage you will get garbage back
01:02:05 <ehirdghost> Err, I don't think you understood it.
01:02:11 <ehirdghost> oerjan: care to explain it to him?
01:03:14 <AnMaster> ehirdghost,
01:03:38 <AnMaster> try telling someone on the street
01:04:01 <AnMaster> "if this sentence is true, then you must give me all your money"
01:04:07 <AnMaster> see what reaction you get
01:04:21 <pikhq> Bweheheh.
01:04:37 <ehirdghost> Yes, because going up to a random person on a street is an environment of complete logic and formal reasoning.
01:04:48 <ehirdghost> That happens to be the most retarded reasoning I've heard today, though. I'll give you that.
01:05:25 <pikhq> It is, of course, sanest to observe that there is nothing compelling anyone to give you money, therefore the sentence is quite false.
01:05:35 <AnMaster> ehirdghost, Yes it is the same because natural languages allow this thing called lie. You have to prove your "if A then B" really is a connection that exists
01:05:51 <ehirdghost> did you actually look at the formal language section
01:06:03 <ehirdghost> oerjan: please relieve the strain from my being and explain it to him
01:06:04 <AnMaster> ehirdghost, natural languages isn't a formal language
01:06:19 <AnMaster> ehirdghost, and you said it in natural language first
01:07:18 <pikhq> Say it in Lojban.
01:07:23 <AnMaster> ehirdghost, so tell me, why do you think the initial assertment: if true then P is valid?
01:07:23 <pikhq> ;)
01:07:45 <ehirdghost> oerjan; I'm tired of this idiot, plz take him
01:08:01 <AnMaster> I'm just saying if you put in garbage you get garbage back
01:08:07 <AnMaster> try being practical
01:08:29 <AnMaster> pikhq, I don't know lojban
01:09:19 <ehirdghost> Practical or logically correct.
01:09:23 <ehirdghost> I take the latter.
01:09:36 <AnMaster> I'd prefer to combine them
01:09:46 <ehirdghost> You let the former take precedence, evidently.
01:09:51 <AnMaster> a down to earth approach
01:10:00 <AnMaster> that actually gives useful results
01:10:17 <ehirdghost> I might think you less of an idiot if your only argument wasn't "that's wrong, ask a random person on the street"
01:10:33 <AnMaster> ehirdghost, I have given a lot of other arguments
01:10:45 <ehirdghost> To the ether, maybe—certainly not here.
01:10:48 <AnMaster> and that one was mostly a joke
01:11:06 <AnMaster> ehirdghost, ........ read scrollback
01:11:14 <ehirdghost> I did; maybe you're hallucinating.
01:11:38 <AnMaster> ehirdghost, I told you that you need to verify your claims are relevant before you use them
01:11:54 <AnMaster> if pink then blue
01:12:16 <ehirdghost> Try making logical sense; or don't because I can't be arsed, you're clearly not interested in actual logic more than fuzzy human intuitive belief bullshit
01:12:17 <AnMaster> now what does that mean? does it make a lot of sense? No 1) it is out of context.
01:12:45 <AnMaster> 2) even if it was in context, how could you know that this implication is really true
01:13:14 <AnMaster> logic is a useful tool only when you put useful input into it
01:13:29 <AnMaster> if you just feed it random data you will get garbage back
01:13:53 <ehirdghost> You know, that makes absolutely no sense whatsoever.
01:13:56 <AnMaster> ehirdghost, clearly you fail to see you need to verify the initial assertions to be able to extrapolate from them
01:13:58 <ehirdghost> Do you actually understand what you'r esaying?
01:14:02 <AnMaster> ehirdghost, yes
01:14:06 <AnMaster> you don't I see
01:14:14 <ehirdghost> I think you should read the article very carefully again.
01:14:26 <AnMaster> ehirdghost, I did. And you saw I quoted a bit ?
01:14:38 <AnMaster> "For instance, "if 6*7=42, then the moon exists" is true as a material implication, but is generally not considered true in natural language, because the moon's existence does not seem to be related to this fact of arithmetic."
01:14:42 <AnMaster> read that again please
01:14:57 <ehirdghost> Yes, you missed the bit that came next. Anyway, fuck off, this is boring and you clearly have no grasp of logic whatsoever.
01:15:08 <AnMaster> ...
01:15:25 <AnMaster> ehirdghost, lets say you are coding in prolog
01:15:36 <ehirdghost> Not. Interested.
01:15:36 <AnMaster> and listing initial "facts" or whatever
01:16:00 <AnMaster> then don't those facts also have to be true for the problem you are trying to solve
01:16:03 <AnMaster> to be useful?
01:16:14 <ehirdghost> Did you miss where I said not interested?
01:16:14 <AnMaster> You can only build your your axiojms
01:16:17 <AnMaster> axioms*
01:16:26 <ehirdghost> You're an idiot; you completely misunderstand Curry's paradox, and I am tired of talking.
01:16:27 <AnMaster> if your axioms are false... tough luck
01:16:38 <AnMaster> ehirdghost, good thing you are writing then
01:16:44 <ehirdghost> Curry's paradox has nothing to do with defining axioms whatsoever. Go. Away
01:21:30 <AnMaster> I suggest a system with three truth values: true, false, EPARADOX (fatal error)
01:21:34 <AnMaster> ~
01:21:55 <AnMaster> ehirdghost, ;Å
01:21:57 <AnMaster> ;P*
01:22:06 * oerjan is glad he was afk
01:23:06 <AnMaster> oerjan, do you agree that if you enter false initial "facts/axioms" in a theorem prover you will get a useless result back?
01:23:13 <AnMaster> yes or no
01:23:22 <oerjan> sure
01:23:24 <ehirdghost> that's nothing to do with curry's paradox
01:23:34 <AnMaster> from the wikipedia page it seems to be that
01:23:51 <AnMaster> if foo then bar. Well sure. If that connection actually holds.
01:23:56 <ehirdghost> oerjan: can you explain curry's paradox to him…
01:24:02 <AnMaster> but if it doesn't. Tough luck
01:25:04 <oerjan> no tonight my dear, i've got a headache
01:25:08 <oerjan> *not
01:25:09 <AnMaster> now a really interesting paradox is Russel's paradox for example.
01:25:22 <ehirdghost> curry's paradox is a generalization of russell's paradox.
01:25:59 <AnMaster> ehirdghost, well I have been discussing this in the context of the natural language case. Which is what we begin with.
01:26:15 <ehirdghost> natural language doesn't excuse you from using logic
01:26:43 <AnMaster> no, but natural language is well known for not being a formally well defined language
01:27:52 <ehirdghost> By your logic, all representations of logical formula in natural language suddenly lose their attachment to logic because you change '->' to 'implies'.
01:30:14 <AnMaster> For instance, consider the following sentence:
01:30:14 <AnMaster> If a man with flying reindeer has delivered presents to all the good children in the world in one night, then Santa Claus exists.
01:30:14 <AnMaster> Imagine that a man with flying reindeer has, in fact, done this. Does Santa Claus exist, in that case? It would seem so. <-- sounds probable yes. But it *could* be someone else doing it. It would need further investigation. Such an event would be circumstantial evidence. Not proof
01:30:21 <AnMaster> ehirdghost, ^
01:30:42 <ehirdghost> Say, remember when I said I don't give a shit that you're logically illiterate?
01:30:46 <ehirdghost> Guess what hasn't changed?
01:31:12 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
01:31:22 <AnMaster> ehirdghost, the fact that this is not really a paradox in natural languages. Just a nonsense statement
01:31:33 <AnMaster> that hasn't changed
01:33:04 * SimonRC goes to bed.
01:33:09 <AnMaster> same
01:33:10 <AnMaster> night
02:27:56 -!- Slereah_ has joined.
02:35:33 -!- CakeProphet has joined.
02:38:59 -!- Slereah has quit (Read error: 110 (Connection timed out)).
02:42:23 -!- ehirdghost has changed nick to ehird.
02:47:47 -!- cherez has joined.
02:47:52 -!- cherez has left (?).
02:48:05 <oerjan> it's alive!
02:48:16 <oerjan> (BWAHAHA)
02:49:56 -!- Sgeo has joined.
03:07:01 -!- Slereah has joined.
03:24:02 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
04:12:34 -!- neldoreth has quit (Read error: 113 (No route to host)).
05:00:46 -!- GreaseMonkey has joined.
05:10:41 -!- CakeProphet has quit ("lol").
05:45:09 -!- oerjan has quit ("leaving").
05:47:35 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:21:00 -!- Slereah_ has joined.
08:25:58 -!- Dewi has quit ("bbl - storm").
08:31:33 -!- Slereah has quit (Read error: 110 (Connection timed out)).
08:43:03 -!- neldoreth has joined.
08:50:15 -!- psygnisfive has quit (Remote closed the connection).
09:26:17 -!- tombom has joined.
09:34:47 -!- psygnisfive has joined.
09:34:56 <psygnisfive> hm
09:35:07 <psygnisfive> natural language quantifiers are AWESOME.
09:35:12 <psygnisfive> i just feel you should know this.
10:05:13 -!- GreaseMonkey has quit ("Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit").
10:34:44 -!- oklofok has joined.
10:43:31 -!- Slereah has joined.
10:53:41 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
10:56:00 -!- Slereah_ has joined.
11:01:59 -!- Slereah has quit (Read error: 145 (Connection timed out)).
12:19:16 -!- Dewi has joined.
13:34:03 -!- neldoret1 has joined.
13:43:35 -!- neldoreth has quit (Read error: 113 (No route to host)).
14:01:28 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
14:02:31 -!- bsmntbombdood has joined.
14:38:59 -!- KingOfKarlsruhe has joined.
15:09:34 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:13:56 -!- ehird has left (?).
15:14:45 -!- ehird has joined.
15:16:03 <ehird> hi
15:20:40 -!- zzo38 has joined.
15:21:05 <zzo38> Nobody is ever actively on #anagol even though some names are listed
15:21:12 <zzo38> Why is that?
15:21:59 <ehird> it's not too popular a channel
15:22:02 <ehird> Sometimes people talk
15:22:20 <ehird> A lot of people leave their IRC clients on to read what people said when they're not away, for channels that aren't logged
15:22:21 <ehird> I do that
15:22:29 <ehird> Maybe some of them will have away set in /whois
15:23:43 <zzo38> I tried whois shinh and stuff like that but I'm not sure if that means they are away or not
15:26:48 -!- KingOfKarlsruhe has joined.
15:27:41 <zzo38> I tried various names with whois command but I can't see anything about away, is there some code for being away that I forgot about?
15:27:50 <ehird> It shows up if they are away
15:28:05 <ehird> My IRC client says shinh hasn't talked for 59 hours
15:29:35 <Asztal_> in my client I have to do /wii for that
15:29:52 <zzo38> I can only get idle time for whois on myself. And if it shows up when they are away, which line does it show up on, the 311 line or the 320 line or some other line?
15:30:12 <zzo38> What does "/wii" means
15:30:16 <fizzie> You need to ask the remote server if you want idle-time information. /wii is a common alias, "/whois nick nick" usually works too.
15:30:46 <fizzie> "/wii nick" => "/whois nick nick", which means "ask nick's whois-info from the server nick is on".
15:31:05 <zzo38> O, thanks I did "whois shinh shinh" and I got the idle time for shinh (214878 seconds)
15:31:16 <fizzie> That's a lot of seconds.
15:31:53 <ehird> fizzie: you know TeX, right? How do you put a \ in the document?
15:31:56 <zzo38> Well yes, the IRC server returns it in seconds I did the calculation it is approx 59.7 hours
15:32:30 <fizzie> ehird: You can do $\backslash$ although it might look non-text-like since it's math-mode-fluff.
15:32:36 <ehird> Ah.
15:32:43 <ehird> Is there a \rawcodeystylething{} block thang?
15:32:48 <ehird> That would work
15:33:37 <fizzie> There seems to be a \textbackslash command, according to some reference.
15:33:37 <zzo38> Thanks for telling me I need to indicate the name twice if I want the 317 line (although I'm not sure why the server shouldn't figure that out automatically?)
15:34:09 <ehird> zzo38: IRC is weird
15:34:15 <ehird> Probably it was done this way for backwards compatibility
15:34:48 <fizzie> And another place says "\char`\\", which is a piece of raw TeX, should also work.
15:34:59 <zzo38> ehird: OK. However I can get the 317 line for myself without needing to type my name twice.
15:35:03 <fizzie> If you want a large block of verbatim text, there's of course \begin{verbatim} ... \end{verbatim}.
15:35:12 <fizzie> You get the 317 line for everyone who happens to be on the same server as you.
15:35:16 <fizzie> At least you should.
15:35:57 * AnMaster wonders how to get GCC to generate an integer constant without $ in inline asm
15:35:57 <zzo38> O. So does it do that to save bandwidth from accessing other servers when it doesn't have to?
15:36:05 <fizzie> Could be that.
15:36:22 <fizzie> There's also a \verb=xyz= command which does xyz verbatim, but maybe \ is too extra-magical even for that.
15:36:37 <ehird> Is there a superscript/subscript combiner in unicode?
15:36:52 <fizzie> (You can freely use any delimiter instead of = there as long as it's not in the verbatim-string.)
15:37:22 -!- zzo38 has left (?).
15:37:32 <ehird> Well, I only want a superscript A and a subscript E.
15:38:08 -!- zzo38 has joined.
15:38:13 -!- zzo38 has left (?).
15:38:15 -!- zzo38 has joined.
15:38:17 -!- zzo38 has left (?).
15:38:42 <fizzie> There are super/subscript numbers, and a couple of other characters too.
15:39:05 <ehird> Yes, I've looked.
15:39:28 <AnMaster> <ehird> zzo38: IRC is weird <-- I know the details about why name twice if you are interested
15:39:46 <AnMaster> it isn't exactly what you suggested
15:41:31 <fizzie> What is there outside of the RFC's "If the <target> parameter is specified, it sends the query to a specific server. It is useful if you want to know how long the user in question has been idle as only local server knows that information, while everything else is globally known" explanation?
15:41:45 <ehird> http://filebin.ca/jrtvbo/first-test.pdf A most delightful X∃LaTₑX (see how hard I worked on that?) output. Bring Hoefler Text (or, wait, is it embedded in the PDF?).
15:42:16 <AnMaster> fizzie, that is it yes.
15:42:21 <ehird> Err, it's 16 March.
15:42:22 <ehird> Not 17.
15:42:30 <ehird> Please ignore that time-travelling document.
15:42:47 <fizzie> Yes, I think it embeds-by-default.
15:43:01 <AnMaster> fizzie, using a non-server name means asking the server that first nick is on
15:43:03 <fizzie> Although I can't be sure, since I don't remember what Hoefler Text should look like.
15:43:06 <AnMaster> so double name...
15:43:11 <AnMaster> double nick*
15:43:33 <fizzie> Yes, I fail to see how that is different from my "nick nick means ask the server nick is on" explanation.
15:43:49 <AnMaster> fizzie, well on freenode it is. Due to freenode's server hiding
15:43:53 <ehird> fizzie: if you screenshot, I'll tell you if it's right :P
15:44:04 <AnMaster> fizzie, you never get idle time with anything but repeating nick
15:44:15 <AnMaster> security by obscurity
15:44:19 <AnMaster> -_-
15:44:54 <fizzie> ehird: http://www.cis.hut.fi/htkallas/what_foolishness_is_this.png
15:45:10 <Asztal_> LªTₑX!
15:45:17 <ehird> fizzie: That's hideous, but I suppose that's Linux font rendering thar.
15:45:23 <ehird> Asztal_: aha
15:45:28 <ehird> X∃LªTₑX
15:45:31 <ehird> Now we just need uppercase versions
15:45:49 <ehird> fizzie: It has the right shapes, so, success.
15:46:08 <ehird> By the way, that is a copyrighted image and I will sue you.
15:48:45 <ehird> Asztal_: there should be a combining uppercase :P
15:49:04 <fizzie> There are COMBINING LATIN SMALL LETTER [AEIOUCDHMRTVX]; that's a very random-sounding set.
15:50:00 <AnMaster> wth is up with http://www.cis.hut.fi/htkallas/what_foolishness_is_this.png
15:50:21 <ehird> what do you mean what's up with it
15:50:26 <ehird> it looks fine
15:50:32 <AnMaster> well it is as you said hideous.
15:50:32 <ehird> apart from the bad linux font rendering
15:50:39 <ehird> AnMaster: try the pdf on your system
15:50:44 <ehird> It will probably look nicer
15:50:44 <AnMaster> ehird, pdftex generally renders better than that
15:50:49 <ehird> It renders fine
15:50:51 <ehird> on my system.
15:50:54 <AnMaster> mhm
15:50:54 <ehird> it's the font, Hoefler Text
15:50:59 <ehird> It demands good rendering :P
15:51:08 <AnMaster> ehird, well Apple has patents on the important rendering bits
15:51:09 <AnMaster> ...
15:51:16 <ehird> So you keep saying.
15:51:24 <AnMaster> ehird, I even linked you some weeks or so ago
15:51:29 <ehird> Yes. Yes you did.
15:51:55 <fizzie> That's viewed-with-xpdf, in case it matters.
15:52:08 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:52:48 * AnMaster wonders what Helvetica with serifs would look like
15:53:12 <fizzie> It does look rather different with, say, Evince.
15:53:20 <AnMaster> fizzie, oh?
15:54:04 <ehird> 14:52 AnMaster wonders what Helvetica with serifs would look like <-- Unlike Helvetica.
15:54:14 <fizzie> http://www.cis.hut.fi/htkallas/evince_version.png
15:54:20 -!- sebbu2 has changed nick to sebbu.
15:54:24 <ehird> fizzie: oh, that's significantly better
15:54:31 -!- BeholdMyGlory has joined.
15:54:35 <ehird> as in I can actually read it and it looks similar to the rendering at my end
15:55:12 <AnMaster> hm
15:55:29 <AnMaster> fizzie, what about kpdf?
15:55:54 <fizzie> I don't have it on this thing.
15:56:00 <AnMaster> hm ok
15:56:05 <fizzie> There's acroread, some version.
15:56:08 <AnMaster> how comes pdf renders so differently?
15:56:35 <AnMaster> I thought the point of pdf was to render the same
15:56:42 <ehird> AnMaster: different font rendering
15:56:50 <ehird> Here's how it looks on my end: http://imgur.com/74ZOM.png. It probably won't look very nice unless you have a high-DPI display with the right colour profile.
15:57:23 <AnMaster> ehird, it looks hideous on this monitor
15:57:57 <fizzie> It looks reasonably nice on this.
15:58:28 <fizzie> Where "reasonably nice" means I like it more than Evince, I think.
15:59:39 -!- neldoret1 has changed nick to neldoreth.
15:59:47 <ehird> Hoefler Text's serifs probably would fit better on print.
15:59:56 <fizzie> Heh, Firefox went and crashed when I opened gnome-control-center and twiddled with the font rendering settings.
16:00:06 <AnMaster> Anyone here know GCC inline assembler?
16:00:15 <ehird> AnMaster: gcc's manual does :P
16:00:21 <fizzie> Well, I've done it a little bit.
16:00:21 <AnMaster> ehird, well not enough
16:00:27 <AnMaster> I have read it and not found a solution
16:00:28 <fizzie> I think I missed the question.
16:00:29 <ehird> It documents it all, afaik.
16:00:30 <ehird> Ask #gcc.
16:00:32 <AnMaster> I'm trying to something like this (but with more instructions to make it useful):
16:00:33 <AnMaster> asm("leaq %[size]+%[var],%%rdx" : [var] "=m"(myvar) : [size] "i"(sizeof(myvar)) : "rdx");
16:00:33 <AnMaster> Where myvar is a static array of fixed size. Size is known at compile time, but may vary depending on compile time options. I would expect it to generate something like:
16:00:33 <AnMaster> leaq 2097152+myvar(%rip),%rdx
16:00:33 <AnMaster> But in fact it generates this invalid (at least gas thinks so) assembler:
16:00:34 <AnMaster> leaq $2097152+myvar(%rip),%rdx
16:00:36 <AnMaster> How can I get GCC to not include that first $ there? I have looked at the GCC documentation and found no way to work around it
16:00:44 <ehird> Using the plain TEX notation $$ . . . $$ for displayed equations is not recom-
16:00:44 <ehird> mended. Although it is not expressly forbidden in LATEX, it is not documented anywhere in the LATEX book
16:00:47 <ehird> as being part of the LATEX command set, and it interferes with the proper operation of various features
16:00:50 <ehird> such as the fleqn option.
16:00:52 <ehird> Huh.
16:00:59 <ehird> AnMaster: [size] instead of %[size]?
16:01:23 <AnMaster> ehird, that doesn't substitute at all. I tried it.
16:01:34 <AnMaster> leaq [size]+myvar(%rip),%rdx
16:01:40 <ehird> Then you can't do it.
16:01:47 <ehird> Or, maybe,
16:01:51 <ehird> AnMaster:
16:01:53 <ehird> I know!
16:01:54 <AnMaster> ?
16:01:57 <ehird> Well
16:01:59 <ehird> something like
16:02:06 <ehird> "leaq "#sizeof(foo)"..."
16:02:09 <ehird> Or something
16:02:13 <ehird> I was thinking like cpp stringification
16:02:15 <ehird> and stuff
16:02:17 <AnMaster> hm
16:02:31 <ehird> anyone have a ttf of computer modern
16:02:35 <AnMaster> ehird, I don't think there is a way to get the size of an object with CPP but hm...
16:02:58 <fizzie> Yes, you can't get sizeof() during the preprocessing; I was going to suggest stringizing too.
16:03:06 <AnMaster> fizzie, really? how?
16:03:11 <AnMaster> oh
16:03:14 <AnMaster> "can't"
16:03:20 <AnMaster> misread it as "can"
16:03:34 <ehird> AnMaster: do you know the ranges of sizeof()?
16:03:40 <ehird> Like, it's either 2 or 4 or 8
16:03:42 <ehird> if so then
16:03:46 <ehird> er, I dunno
16:03:47 <ehird> just like
16:03:56 <ehird> #if sizeof(foo)==1; #define foo "1" or whatever, 'cept, you can't do that in cpp
16:03:57 <ehird> so I dunno
16:04:27 <AnMaster> ehird, well it depends on compile time options. It could be 2097152 or 4194304
16:04:37 <ehird> AnMaster: what options
16:04:43 <fizzie> Have you tried the 'n' constraint instead of 'i'? Although I really don't have a clue how they differ.
16:04:50 <ehird> I have an idea
16:04:53 <ehird> AnMaster: what option?
16:05:04 <AnMaster> -DUSE32 -DUSE64 -DARRAY_SIZE_X -DARRAY_SIZE_Y
16:05:13 <ehird> AnMaster: Then, just
16:05:23 <ehird> #ifdef USE_32
16:05:24 <AnMaster> the two latter toggle data type
16:05:27 <AnMaster> err
16:05:29 <AnMaster> two former
16:05:32 <ehird> okay wait
16:05:33 <ehird> AnMaster:
16:05:35 <ehird> do this, for instance
16:05:36 <AnMaster> the two latter toggle array size
16:05:49 <ehird> #ifdef USE32; #define foo #ARRAY_SIZE_X; #endif
16:05:51 <ehird> Or whatever
16:05:56 <AnMaster> hm
16:05:59 <ehird> Then just do "blah " foo " baz"
16:06:08 <ehird> That sort of thing anyway
16:06:15 <ehird> AnMaster: if that needs adding to
16:06:16 <ehird> do
16:06:19 <ehird> Then just do "blah " foo "+44 baz"
16:06:20 <ehird> or whatever
16:06:34 <AnMaster> size is sizeof(datatype) * ARRAY_SIZE_X * ARRAY_SIZE_Y
16:07:01 <ehird> Right, you'll have to do that in parts then
16:07:03 <ehird> #ifdef USE32
16:07:10 <ehird> #define sizeofdatatype "4"
16:07:11 <ehird> #endif
16:07:12 <ehird> and
16:07:16 <ehird> #define foo #ARRAY_SIZE_X
16:07:16 <ehird> then
16:07:27 <ehird> "sdfk " sizeofdatatype "*" foo
16:07:30 <AnMaster> hm...
16:07:32 <ehird> You get the idea
16:07:39 <AnMaster> yeah
16:07:42 * AnMaster considers...
16:07:44 <ehird> http://www.nopaste.com/p/aVqjYoeUbb <- the source to that LaTeX document; please excuse any noobishness
16:07:59 <ehird> Also excuse the wrapping; TeXShop doesn't seem to do that automagically.
16:08:06 <ehird> Er, lack of wrapping, rather.
16:09:22 <fizzie> ehird: Judging from some other latex, you can indeed escape \ with the verbatim mode, so you could write \verb=\chapter= instead of the bulkier \textbackslash{}chapter.
16:10:52 <ehird> Say, does anyone have a HIGHLY ILLEGAL copy of the Univers font? Well, the copy doesn't have to be highly illegal.
16:13:22 <AnMaster> huh wth
16:13:27 <ehird> what
16:13:28 <AnMaster> error: stray ‘#’ in program
16:13:36 * AnMaster goes read C99 spec
16:13:51 <ehird> Ah.
16:13:53 <ehird> Ah.
16:13:56 <ehird> AnMaster: I think you must do
16:13:59 <ehird> foo(x) #x
16:14:03 <AnMaster> oh ok
16:14:06 <ehird> and foo(ARRAY_SIZE_X) would give "ARRAY_SIZE_X".
16:14:09 <ehird> So this is perhaps a slight dead end
16:14:13 <ehird> Hmm hmmm.
16:14:27 <ehird> AnMaster: are the X and Y bounded?
16:14:30 <fizzie> You need the double-macro thing.
16:14:34 <ehird> fizzie: Oh?
16:14:34 <AnMaster> ehird, hm?
16:14:35 <ehird> Do tell
16:14:44 <fizzie> #define foo(x) #x -- #define bar(x) foo(x) -- bar(ARRAY_SIZE)
16:14:45 <AnMaster> double macro?
16:14:51 <fizzie> That will evaluate ARRAY_SIZE before stringizing it.
16:14:52 <ehird> fizzie: Aha.
16:14:55 <ehird> Yes, AnMaster, do that.
16:14:56 <AnMaster> AAAAAAAAAAAAAAA
16:14:57 <AnMaster> ok
16:15:02 <fizzie> It's very tricky, and I always get it wrong.
16:15:03 <ehird> I love^Whate cpp :-)
16:15:11 <fizzie> But the comp.lang.c faq has some examples, anyway.
16:15:13 <AnMaster> mhm
16:15:37 <ehird> Incidentally, on the topic of I'm Talking About How OS X Is Awesome To Annoy AnMaster (just kidding, AnMaster, kay?): I like how Ctrl-A and Ctrl-E from emacs are available in every text input field.
16:16:06 <AnMaster> #define CPP_SILLY_STRINGIFY(x) # x
16:16:06 <AnMaster> #define CPP_SILLY_EVAL(x) CPP_SILLY_STRINGIFY(x)
16:16:09 <AnMaster> something like that?
16:16:15 <ehird> Yep.
16:16:20 <ehird> Although, well, I'd call it
16:16:37 <ehird> #define CPP_STRINGIFY_ARGH(x) #x
16:16:44 <ehird> #define CPP_STRINGIFY(x) CPP_STRINGIFY_ARGH(x)
16:16:53 <ehird> To more accurately convey the correct emotion.
16:17:22 <fizzie> Sometimes people use the same name with a trailing _, but something like that anyway.
16:17:28 <AnMaster> ehird, ok
16:17:32 <AnMaster> makes sense
16:17:35 <ehird> fizzie: That is evil.
16:17:42 <ehird> It does not convey feminine emotion of human vitality.
16:17:44 <ehird> Or something.
16:17:51 -!- MizardX has quit ("011000 100110 000101 110011 011001 010010 000000 110010").
16:18:00 <ehird> AnMaster: Anyway, this even more simplificates it:
16:18:17 <fizzie> http://c-faq.com/ansi/stringize.html
16:18:21 <ehird> #if USE32
16:18:27 <ehird> #define CPP_SIZE 4
16:18:31 <ehird> #elsif USE64
16:18:33 <ehird> #define CPP_SIZE 8
16:18:34 <ehird> #endif
16:18:35 <ehird> then
16:18:53 <ehird> CPP_STRINGIFY(CPP_SIZE) "*" CPP_STRINGIFY(X) "+" CPP_STRINGIFY(Y)
16:18:54 <ehird> or whatever
16:18:58 <ehird> no need for extra definitions, I mean.
16:18:59 <AnMaster> hm
16:18:59 -!- FireyFly has joined.
16:19:05 <ehird> Just CPP_STRINGIFY* and CPP_SIZE (as an int).
16:19:25 <AnMaster> ehird, that would make it pass 80 columns, which look silly
16:19:33 <ehird> So wrap it.
16:19:40 <ehird> CPP_STRINGIFY(CPP_SIZE) "*"
16:19:43 <ehird> CPP_STRINGIFY(X) "+"
16:19:44 <ehird> etc
16:19:56 <AnMaster> ehird, looks silly to have multiline inline asm expand to single line asm -_-
16:20:02 <ehird> No. It really doesn't.
16:20:07 <ehird> These are the only times you use those stringifications, so assigning them a name is ridiculous.
16:21:39 <AnMaster> hm
16:26:09 <ehird> http://thanksants.com/ <- <3
16:27:47 <oklofok> :D
16:42:13 -!- MigoMipo has joined.
16:47:28 -!- FireyFly has changed nick to FireFly.
16:53:22 <AnMaster> ehird, uh what?
16:53:30 <ehird> AnMaster: Look Around You reference
16:53:43 <ehird> oh
16:53:45 <ehird> enable javascript
16:54:04 <AnMaster> ehird, I did enable javascript
16:54:07 <AnMaster> and I still don't get it
16:54:09 <ehird> Ah.
16:54:13 <ehird> Well, it's a Look Around You reference.
16:54:22 * AnMaster googles
16:54:37 <Slereah_> Get some gary gum
16:54:52 <ehird> It's garry
16:55:08 <Slereah_> I hate you :(
17:00:01 -!- ais523 has joined.
17:01:11 <ehird> hi ais523
17:01:19 <ais523> hi ehird
17:01:36 <ehird> can i have my note credits now? :P
17:01:52 <ais523> ehird: wrong channel, and let me read email first to figure out what you're talking about
17:01:53 <AnMaster> hello ais523.
17:01:56 <ais523> hi AnMaster
17:02:08 <ehird> 1) there is no right channel that I am currently present in; I was just passing on a one-line note
17:02:13 <ehird> 2) your cron job fired
17:02:18 <ehird> although murphy beat you to it
17:02:45 <ehird> ais523: also, goethe was in _another_ scam secrecy contract with another group of players, plotting the same scam.
17:02:47 <ehird> as far as I can tell
17:02:56 <ehird> so if you entered an agreement with him, he tricked you.
17:03:00 <ais523> I didn't
17:03:05 <ehird> ah
17:03:08 <ehird> i read wrong then
17:03:12 <ais523> but again, wrong channel, your refusal to join the right channel does not make this the right channel
17:03:27 <ehird> nobody else is talking, so.
17:03:33 <ehird> it was just a little note
17:06:51 * AnMaster wonders why the hell gcc generated this code:
17:06:53 <AnMaster> sub $0xffffffffffffff80,%rax
17:07:04 <AnMaster> what is wrong with adding a bit instead?
17:07:15 <ehird> less omg optimized
17:07:16 <ehird> claerl
17:07:17 <ehird> y
17:07:26 <ehird> AnMaster: did the stringification work out?
17:07:30 <AnMaster> ehird, yes it did
17:07:35 <ehird> hoorah
17:11:06 <AnMaster> ais523, any idea about that sub?
17:11:19 <AnMaster> it was in a loop gcc generated:
17:11:24 <AnMaster> sub $0xffffffffffffff80,%rax
17:11:25 <AnMaster> cmp $0xa42620,%rax
17:11:29 <ais523> AnMaster: it might change the processor flags differently
17:11:29 <AnMaster> jne 0x41c1f0
17:11:31 <ais523> to addition
17:11:37 <AnMaster> ais523, hm...
17:11:40 <ais523> there are lots of that sort of thing in asm
17:11:59 <ais523> or it may be subtracting %rax /from/ that large number, rather than subtracting the large number from %rax
17:12:16 <AnMaster> ais523, rax is a pointer to an array
17:12:38 -!- Hiato has joined.
17:12:40 <AnMaster> also it only uses sub if it is unrolling the loop. It uses add otherwise
17:12:53 <AnMaster> like: add $0x10,%rax
17:13:12 <AnMaster> yes the sub jump is larger, but that is because it was unrolled
17:16:20 -!- MizardX has joined.
17:26:48 * ehird does some more logics in haskell typeth system
17:26:53 <ehird> hmm, I forgot, I'm a ghost
17:26:56 -!- ehird has changed nick to ehirdghost.
17:26:58 <ehirdghost> whooooooo
17:27:14 <ehirdghost> Ahah, now I recommandeth my speakings of the ghostular enhanced communicatoungh.
17:29:10 <Asztal_> you were supposed to wait until Easter to resurrect :(
17:29:32 <ehirdghost> yeah, yeah, sorry, wait, I'll remove that previous shit from the timestream
17:29:39 <ehirdghost> done, if you still see it you're hallucinamating
17:36:47 <AnMaster> ehirdghost, did you finish your bef93 in qbasic?
17:37:12 <ehirdghost> no, it was too trivial that I fell asleep
17:37:24 <ehirdghost> that was before I died...
17:37:28 <ehirdghost> good times, good times
17:38:00 <AnMaster> ehirdghost, why not write a befunge93 in SQL (probably with some procedural extensions)
17:38:14 <ehirdghost> I ask you s/not //
17:38:30 <ais523> is ehirdghost writing befunge in SQL?
17:38:37 <ehirdghost> No.
17:38:41 <ais523> if so, which extensions? SQL isn't actually Turing-complete without extensions
17:38:43 <AnMaster> ais523, no it was a suggestion for something to do
17:38:44 <ehirdghost> AnMaster wants me to, I don't see why it's interesting.
17:38:46 <ais523> but then, neither is befunge-93
17:39:01 <AnMaster> ais523, I would suggest Pg/SQL
17:39:15 <AnMaster> (or whatever it is called)
17:39:42 <AnMaster> ehirdghost, no I didn't "want you to", just a suggestion for something to do
17:39:45 <AnMaster> you seemed bored.
17:40:01 <ehirdghost> dodecahedron
17:40:06 <ehirdghost> dodecahedronasaurus
17:40:14 <fizzie> PL/pgSQL, if you mean the PostgreSQL thing.
17:40:22 <AnMaster> fizzie, ah yes indeed
17:40:26 <AnMaster> didn't remember the name
17:40:29 <fizzie> Or just PL/SQL for the Oracle thing.
17:41:54 <fizzie> Google Image Search doesn't find any dodecahedronasaurii. :/
17:42:17 <Slereah_> Try "dodecadicks"
17:42:41 <Slereah_> http://www.google.com/search?q=dodecadicks&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a
17:42:48 <Slereah_> What do you know, it actually exists!
17:42:58 <AnMaster> hm
17:43:12 <AnMaster> how many bits is needed to represent a 2 MB address space?
17:43:18 <ais523> 31
17:43:23 <ais523> oh, MB?
17:43:24 <ais523> 21
17:43:28 <AnMaster> ah
17:44:23 <AnMaster> ais523, sure it isn't 20?
17:44:26 <fizzie> Since 2^10 is a kilobyte, 2^20 is a megabyte and 2^30 is a gigabyte.
17:44:32 <AnMaster> hm
17:44:33 <ehirdghost> http://filebin.ca/jrtvbo/first-test.pdf <- Relinking this since everyone must see it.
17:44:34 <ais523> AnMaster: 1 MiB is 20
17:44:37 <ais523> because 1 KiB is 10
17:44:37 <AnMaster> ah
17:44:42 <ais523> 2 MiB is therefore 21
17:44:48 <ais523> and 2 MB is slightly smaller, therefore still 21
17:44:48 * AnMaster wonders what he is miscalculating then
17:45:22 <AnMaster> wait, I see that I made an error, but why is it only off by half...
17:45:23 <Asztal_> ehirdghost: but you never linked it before... we were just hallucinamating that, right?
17:45:40 <fizzie> Also there's the whole A20 line stuff in the legacy-x86 world.
17:45:40 <AnMaster> I didn't calculated in 16 bit numbers...
17:45:43 <ehirdghost> Asztal_: Do not question me.
17:45:43 <AnMaster> calculate*
17:46:03 <AnMaster> Lets see. How many bits do you need to represent 1024*512 ?
17:46:24 <fizzie> 10+9.
17:46:51 <fizzie> If you mean "represent all numbers in the range [0, 1024*512-1]".
17:47:34 <fizzie> Or "represent 1024*512 different entities", more generically.
17:47:55 <AnMaster> well the latter
17:48:32 <AnMaster> fizzie, I'm trying to work out how I would do bit interleaving for using a z-order space filling curve to index the static funge space
17:48:41 <AnMaster> and I just can't get it straight
17:49:52 <AnMaster> ais523, btw since you know gcc quite well. How do you make gcc expand asm("leaq %[size]+%[var],%%rdx" : [var] "=m"(myvar) : [size] "i"(sizeof(myvar)) : "rdx"); to "leaq 2097152+myvar(%rip),%rdx" rather than "leaq $2097152+myvar(%rip),%rdx"
17:50:01 <ehirdghost> AnMaster: wtf
17:50:03 <ehirdghost> we just told you how
17:50:06 <AnMaster> for now I worked around the issue with some ugly macros
17:50:07 <ehirdghost> we spent ages explaining it with cpp
17:50:16 <AnMaster> ehirdghost, yes but I was wondering "is there no better solution"
17:50:21 <ehirdghost> it's not a bad solution
17:50:26 <ehirdghost> it's just stringifying some expressions
17:50:29 <AnMaster> ehirdghost, it is an ugly one
17:50:33 <ehirdghost> C is ugly
17:50:37 <AnMaster> well yes
17:52:58 <ehirdghost> heh, it's funny how well suited haskell is to logic in the type system
17:53:45 <fizzie> Here's a funny bit of x86 trivia: the A20 gate (which controls whether the A20 line is enabled or not; if it's not enabled, the 21th bit in memory addresses is forced to be 0, wrapping the [1MB,2MB) range on top of [0,1MB) and same for 3-4, 5-6 etc.) used to be connected to the *keyboard controller*.
17:54:34 <AnMaster> fizzie, heh...
17:54:48 <AnMaster> fizzie, keyboard DMA?
17:55:31 <fizzie> It's just that their keyboard controller had a spare I/O pin they could use. The keyboard controller can also reset the CPU.
18:00:00 <AnMaster> mhm
18:00:19 <AnMaster> so I need to bit interleave a 9 bit and a 10 bit integers in the fastest way possible...
18:00:28 * AnMaster looks at the bithacks page fizzie linked
18:01:18 <ehirdghost> [0,1) should be valid haskell pintax
18:01:22 -!- Deewiant has quit (Read error: 60 (Operation timed out)).
18:01:39 <AnMaster> ehirdghost, pintax?
18:02:00 <ehirdghost> Syntax but with safety pins and income tax.
18:02:15 <AnMaster> heh
18:02:30 <Judofyr> ehirdghost: still a ghost?
18:02:33 <AnMaster> I always thought the [) notation looks silly
18:02:36 * ehirdghost walks right through Judofyr
18:02:40 <ehirdghost> Any questions?
18:03:16 <ehirdghost> AnMaster: The correct range semantics for (N..M) is including N and excluding M, anyway. See: Djikstra. They compose better.
18:03:33 <AnMaster> ehirdghost, yes I know what it is for
18:03:33 <ehirdghost> And (0..N) gets you N items; fits in with array-type stuff
18:03:50 <ehirdghost> So [X,Y) is actually useless as there's only One True Solution :P
18:04:07 <ehirdghost> Unfortunately, haskell includes M.
18:04:09 <ehirdghost> in the range
18:04:09 <AnMaster> I just thinks it looks silly with [X,Y) Typographically silly I mean
18:04:15 <ehirdghost> Mm.
18:04:31 <AnMaster> s/thinks/think/
18:04:43 -!- Deewiant has joined.
18:06:39 -!- ineiros has quit (Remote closed the connection).
18:08:36 <ehirdghost> Sq, Q prqpqsq thqt qll vqwqls qrq rqplqcqd by "q". (So, I propose that all vowels are replaced by q.)
18:08:53 <ehirdghost> (It actually works fine for everything but i, pretty much. So let's try it.)
18:11:47 -!- ineiros has joined.
18:12:52 <ehirdghost> Nq?
18:13:06 -!- Mony has joined.
18:13:33 <Mony> plop
18:13:37 <ais523> hi Mony
18:13:43 <ehirdghost> Yqq mqqn plqp.
18:14:05 <Mony> yeah, true
18:14:29 <ehirdghost> Qxqctly.
18:16:09 <ehirdghost> qqs523: Wqll yqq jqqn my pqlgrqmqgq frqm vqwqls?
18:16:55 <ais523> no
18:17:00 <ehirdghost> :(
18:18:09 <Asztal_> Tqlkqng wqthqqt vqwqls qs sq pqssq́.
18:18:26 <ehirdghost> Sq's yqqr fqcq.
18:25:17 <AnMaster> wow you can do fast bit interleaving with SSSE3. But not with SSE3
18:25:22 <AnMaster> so useless to me
18:25:33 <ais523> what, you mean the intercal operation?
18:25:53 <AnMaster> ais523, almost. I'm talking about a space filling Morton curve here.
18:25:57 <ais523> oh
18:26:05 <AnMaster> ais523, which can be done with bit interleaving
18:26:09 <AnMaster> so yes kind of
18:28:08 <AnMaster> ais523, hm a hillbert curve would provide better locality of reference than. Wonder how you can calculate it.
18:28:12 <AnMaster> Might be worth comparing
18:28:32 <ais523> AnMaster: err... you're using space-filling curves for the memory of your Befunge interp to avoid cache misses?
18:28:36 <ehirdghost> Yes.
18:28:40 <AnMaster> ais523, that is the plan yes
18:28:43 <ais523> are you /sure/ that doesn't waste more time calculating than it does reading from cache?
18:28:51 <fizzie> Yes, and it's pretty much exactly the intercal mingle.
18:28:55 <AnMaster> ais523, it is possible. That is why I want to profile
18:29:17 <AnMaster> I can't be sure if I haven't looked at it at all
18:29:48 <ehirdghost> if I jump over a bridge, will I die? I can't be sure if I haven't tried it at all
18:29:50 <AnMaster> ais523, so I can't say I'm sure until I even tested with space filling curves.
18:29:56 <fizzie> ais523: I'm repeating myself a bit here, but:
18:29:56 <fizzie> [2009-03-15 19:59:38] < fizzie> Notably, calculating the z-order coordinate from x, y is just a single application of the INTERCAL mingle operator.
18:29:58 <fizzie> [2009-03-15 19:59:54] < fizzie> Of course your silly C might lack the always-useful $ operator.
18:32:11 <AnMaster> ais523, anyway it is quite possible this could differ a lot between different CPUs, if you have a very small cache you could possibly gain from it.
18:32:20 <AnMaster> and the reverse
18:32:27 <ais523> yes
18:32:28 <AnMaster> anyway it is worth trying
18:32:45 <AnMaster> ais523, and my sempron has a 128 kb L2 cache, and no L3 cache
18:33:02 <ehirdghost> 128kb? o_O
18:33:10 <AnMaster> ehirdghost, yes it is very small.
18:33:32 <AnMaster> I have a Pentium 3 with twice as big L2 cache
18:33:34 <ehirdghost> Why dqn't yqq mqcrq-qptqmqsq qn q dqcqnt mqchqnq?!
18:33:49 <AnMaster> what?
18:34:01 * ehirdghost rqllqyqs.
18:34:12 <ehirdghost> Asztal_: Yqq trqnslqtq, mmkqy?
18:34:14 <AnMaster> tell me when you decide to make sense.
18:34:47 <Asztal_> Why don't you micro-optimise on a decent machine‽
18:34:50 <fizzie> Incidentally, are you doing "thqs q thqng" manually or automagically?
18:34:55 <AnMaster> because I don't have one?
18:35:04 <ehirdghost> Asztal_: Thqnks.
18:35:25 <AnMaster> maybe ehirdghost will provide the money?
18:35:27 <Asztal_> you mean Qsztql_, or are nicknames excluded?
18:35:42 <ehirdghost> fizzie: Mqnqqlly, bqt nqw I'm nqt: tr qqqqq qqqqq
18:35:57 <ehirdghost> Asztal_: /nqck Qsztql_ qnd jqqn qqr qrdqr.
18:36:04 -!- ehirdghost has changed nick to qhqrdghqst.
18:36:16 <AnMaster> -_-
18:36:32 <fizzie> The-artist-formerly-known-as-ehirdghost: your new name looks like a MMX opcode.
18:36:36 <qhqrdghqst> Hmm, tr qqqq q wqrks tqq. Nqcq.
18:36:40 <qhqrdghqst> fizzie: Qt qs.
18:36:44 <AnMaster> fizzie, :DDD
18:36:52 <qhqrdghqst> Sq qnywqy.
18:37:49 <qhqrdghqst> I wandar haw at gaas wath a anstaad af q. I wender hew et gees weth e ensteed ef q. I wondor how ot goos woth o onstood of q.
18:37:57 <AnMaster> fizzie, my favourite MMX opcode is CVTTPD2PI
18:38:13 <AnMaster> wait that one is SSE I think
18:38:16 <AnMaster> anyway I like it
18:38:36 <qhqrdghqst> I wndr hw t gs wth nstd f q.
18:38:38 <AnMaster> it is SSE but operates on mmx registers, instead of xmm registers
18:39:39 <AnMaster> qhqrdghqst, why not replace non-vowels instead of vowels?
18:39:49 <qhqrdghqst> Qn Q-spqqk, CQBQL = CQBQL. Cqqncqdqncq?
18:39:58 <AnMaster> err
18:40:02 <qhqrdghqst> QnMqstqr: Tq mqrq qccqrqtqly glqqk mqqnqng frqm cqntqxt.
18:40:20 <AnMaster> I suggest all consonants -> i
18:40:32 <AnMaster> no idea if it will work out well
18:41:08 <qhqrdghqst> ieiiiii, ieiiiii oie iio iiiee
18:41:14 <AnMaster> ah not very well
18:41:20 <AnMaster> sounds ghostly though
18:41:27 <AnMaster> CQBQL = CQBQL <-- was that COBOL = C.B.L?
18:41:56 <Asztal_> I read it as COBOL = CABAL
18:42:00 <qhqrdghqst> Cqmmqn Qrqqntqd Bqsqnqss Lqngqqgq = Thqrq Qs Nq Cqbql
18:42:05 <AnMaster> Asztal, oh that could work
18:42:10 <AnMaster> ah
18:42:17 <qhqrdghqst> Qsztql gqts q cqqkqq.
18:42:19 <AnMaster> CYBYL looked silly
18:42:32 <AnMaster> Qsztql <-- looks like a monster in nethack?
18:42:40 <AnMaster> some A iirc
18:42:44 <AnMaster> forgot the name for it
18:42:50 <AnMaster> something like that anyway
18:43:01 <qhqrdghqst> Hqy, fqrst pqrsqn thqt mqkqs q scrqpt thqt grqps /qsr/shqrq/dqct/wqrds tq qdd thq vqwqls bqck qn gqts q cqqkqq.
18:43:27 <AnMaster> cqqkqq?
18:43:43 <AnMaster> also I'm too lazy to make such a script
18:43:59 <qhqrdghqst> Why nqt grqp /qsr/shqrq/dqct/wqrds tq fqnd qqt whqt thqt wqrd cqqld bq? Jqst s/q/./ wqqld wqrk fqr qnq wqrd.
18:44:24 <AnMaster> well true. But I think it was cookie now
18:44:49 <qhqrdghqst> Yqq gqt q cqqkqq.
18:45:20 <fizzie> AnMaster: I'm not quite sure what "Qsztql" could refer to. Quetzalcoatl is the lawful archeologist god, though.
18:45:59 <AnMaster> fizzie, you tend to run into them when you are high level and near the top of the dungeon... Maybe it was Quetzalcoatl
18:46:14 <fizzie> But that's a god, not a monster.
18:46:34 <fizzie> There's an A called couatl, maybe that.
18:47:06 <AnMaster> fizzie, in ASCII it is A, in QT mode it is some brown/pink blurry tile that looks vaguely like a brown snake with pink wings
18:47:10 <AnMaster> iirc
18:47:45 <fizzie> Quetzalcoatl is the feathered snake. And couatl is a D&D monster that refers to that, and has the A symbol. So it's probably that.
18:48:04 <AnMaster> fizzie, what about "couatl" <Rodney> a[4]: Monster: 'A' angelic beings: couatl, Aleax, Angel, ki-rin, Archon
18:48:17 <fizzie> "There's an A called couatl, maybe that."
18:48:20 <oklofok> interesting, changing vowels to q's isn't really even noticeable for short words, but i have no idea what ieiiiii, ieiiiii oie iio iiiee is
18:48:22 <AnMaster> oh yes just saw that
18:48:23 <fizzie> That *is* what I'm talking about.
18:48:38 <AnMaster> fizzie, I did /msg #esoteric from in the privmsg with Rodney
18:48:41 <AnMaster> so I didn't see that
18:49:24 <qhqrdghqst> Hmm. My scrqpt fqqls qn yqq gqt q cqqkqq, fqr thqrq qrq mqny pqssqbqlqtqqs.
18:49:43 <fizzie> Oh. And incidentally, why does irssi prefix a + or - to all incoming messages now that I have an irssi-proxy thing going on?
18:49:51 <AnMaster> fizzie, still I think CVTTPD2PI is the MMX/SSE instruction with the nicest name
18:49:55 <AnMaster> don't you agree?
18:50:02 <qhqrdghqst> fizzie: Ah, right.
18:50:03 <qhqrdghqst> Is it miau?
18:50:07 <oklofok> qhqrdghqst: well why not use a markov chain, don't you just love those?
18:50:15 <qhqrdghqst> fizzie: http://miau.sourceforge.net/faq.html
18:50:16 <qhqrdghqst> oklofok: :D
18:50:42 <AnMaster> fizzie, freenode adds +/- if you request it when you connect
18:50:48 <qhqrdghqst> Yes, and miau does.
18:50:50 <qhqrdghqst> Thus, see http://miau.sourceforge.net/faq.html.
18:50:52 <AnMaster> it means identified to nickserv or not
18:50:53 <qhqrdghqst> I haven't seen anything else do i
18:50:54 <qhqrdghqst> t
18:51:10 <AnMaster> qhqrdghqst, xchat enables it if available and uses it
18:51:26 <fizzie> Oh. Heh, yes, I did connect with xchat to the irssi-proxy.
18:51:32 <fizzie> Is it a toggleable setting somewhere?
18:51:54 <qhqrdghqst> what is the proxy
18:51:59 <AnMaster> fizzie, yes, by reconnecting. You could also make the proxy filter this so the client never sees that the server supports it
18:52:05 <ais523> I made another Enigma level, by the way, just for fun; it's pretty easy
18:52:09 <qhqrdghqst> ais523: oo
18:52:10 <ais523> and again not the sort AnMaster likes
18:52:12 <AnMaster> ais523, what type?
18:52:14 <AnMaster> oh ok
18:52:17 <ais523> AnMaster: it's a memory level, mostly
18:52:21 <ais523> and a bit of forward planning
18:52:27 <AnMaster> ais523, so what is your opinion on CVTTPD2PI?
18:52:40 <ais523> AnMaster: I generally don't have opinions on particular asm opcodes I don't know much about
18:52:48 <AnMaster> the name I mean!
18:52:54 <fizzie> ehird: irssi-proxy's a module of sorts for irssi which makes it act a bit like a bouncer. I wanted to try a non-monospaced font in IRC, but that's not very viable in a terminal.
18:52:59 <ais523> looks typical for bloated x86 asm opcodes
18:53:01 <AnMaster> "Convert Packed Single-Precision Floating-Point to Packed Doubleword Integers, Truncated"
18:53:04 <AnMaster> is what it means
18:53:19 <AnMaster> according to the AMD reference docs
18:53:25 <qhqrdghqst> fizzie: ah.
18:53:30 <qhqrdghqst> Why not just use miau if you want a bouncer? :P
18:53:46 <AnMaster> CVTTPS2PI mmx, xmm/mem64
18:53:53 <fizzie> Because I already had irssi running, and didn't want to disconnect for this experiment.
18:54:14 <qhqrdghqst> Sounds like a very exciting experiment.
18:54:16 <ais523> http://filebin.ca/ufepe/ais52304_1.xml
18:54:18 <qhqrdghqst> Welcome to 2000 :P
18:54:33 <fizzie> I'm not sure I like it here in 2000.
18:54:56 <qhqrdghqst> Wimp
18:55:25 <qhqrdghqst> ais523: enigma time
18:55:36 <fizzie> AnMaster: Anyway, did you say I can tell this X-Chat to not enable that identify-msg thing? I'm not sure I want to do any filtering in irssi-proxy.
18:56:07 <AnMaster> fizzie, no
18:56:17 <AnMaster> I suggested you would filter this in the bouncer
18:56:26 <AnMaster> so xchat would never see that it was enabled
18:56:33 <AnMaster> also filter any requests to enable it
18:56:34 <fizzie> About instructions, I think I like the name of PUNPCKHBW. It's got, you know, punch.
18:56:57 <AnMaster> Unpack and Interleave High Bytes...
18:57:00 <AnMaster> interesting
18:57:21 <qhqrdghqst> http://khjeron.de/index.php?ELEMENT=300 wat
18:57:23 <fizzie> Aw. I'm not quite sure how to do it. Irssi-proxy is not a very configurable bouncer, it's rather rudimentary.
18:57:27 <AnMaster> PUNPCKHQDQ just sounds lame
18:57:51 <qhqrdghqst> fizzie: just greenify
18:57:54 <qhqrdghqst> also, xchat sux :|
18:58:01 <AnMaster> fizzie, xchat is not a very configurable client, it is rather advanced but single minded. That is if you don't like the defaults you don't have a lot of options to change it
18:58:10 <ais523> qhqrdghqst: how are you getting on with my level?
18:58:15 <qhqrdghqst> Awfully.
18:58:26 <ais523> I'm wondering if I should make it harder, probably not if you're finding it hard
18:58:30 <AnMaster> qhqrdghqst, that should be Qwfqllq
18:58:41 <fizzie> Yes, it seems that way. But this xchat is several magnitudes better than I remember it being back in, you know, 2000 or so.
18:58:46 <qhqrdghqst> ais523: I suck at enigma.
18:58:50 <ais523> I'm almost convinced oklofok would do it first time and think "that was boring", but then he's oklofok
18:59:05 <oklofok> my back hurts, can't really concentrate
18:59:10 <qhqrdghqst> AnMaster: I will comply if and only if fizzie and you and ais523 start filtering all messages through (tr aeiou q | tr AEIOU Q).
18:59:11 <qhqrdghqst> Deal?
18:59:21 <qhqrdghqst> Just for a bit. :P
18:59:24 <AnMaster> comply with what?
18:59:36 <oklofok> actually been working on this puzzle for ages now, even though i solved it pretty fast last night (my points weren't registered so i had to do it again)
18:59:38 <qhqrdghqst> = continue qing.
18:59:39 <fizzie> I'm not sure what would be a nice graphical IRC client. Colloquy sure seems nice-looking, but it's just OS X.
18:59:48 <ais523> oklofok: which puzzle?
18:59:49 <AnMaster> qhqrdghqst, nah, you are free to stop it
18:59:57 <oklofok> 3d logic 2: stronghold of sage
18:59:57 <qhqrdghqst> fizzie: colloquy is pretty awful; LimeChat is nice.
19:00:08 <qhqrdghqst> Colloquy is buggy and crashy and underfeatured
19:00:27 <qhqrdghqst> but, err, graphical IRC, hm.
19:00:29 <AnMaster> fizzie, there is an xchat fork called conspire. Haven't tried it. May be worth checking it out
19:00:30 <qhqrdghqst> Dunno.
19:00:56 <oklofok> you have a grid on three faces of a cube, and you need to connect dots of same color.
19:01:07 <fizzie> I'm going strictly based on screenshots-shown-on-the-software's-web-site here. LimeChat seems like an OS X thing too. Of course one would assume that anything nice-looking is.
19:01:27 <qhqrdghqst> LimeChat is OS X only, yes.
19:01:41 <oklofok> started playing kongregate since all the cool kids seem to be doing it
19:01:54 <qhqrdghqst> fizzie: Just use plan9.
19:01:59 <qhqrdghqst> Problem solved.
19:03:39 <AnMaster> you can use plan9 userspace on Linux btw
19:03:46 <AnMaster> ported tools
19:03:48 <qhqrdghqst> yes
19:03:50 <qhqrdghqst> not the same
19:03:56 <AnMaster> that's true
19:03:58 <qhqrdghqst> you don't get any of the device magic that actually makes it worthwhile
19:03:59 <qhqrdghqst> or /proc
19:04:08 <AnMaster> qhqrdghqst, but not everyone can switch to plan9
19:04:12 <qhqrdghqst> sure they can. :P
19:04:28 <qhqrdghqst> oklofok: I played the original version of that game
19:04:36 <AnMaster> well iirc fizzie worked on some workstation owned by the university
19:04:38 <AnMaster> so that could be hard
19:04:47 <ais523> qhqrdghqst: I just got a time of 1:53 on that level, btw, that's faster than the record written in the file
19:04:52 <qhqrdghqst> ais523: cool
19:05:04 <AnMaster> qhqrdghqst, also I don't remember how the /proc of plan9 was but Linux have a /proc. Maybe different.
19:05:15 <qhqrdghqst> yes
19:05:18 <qhqrdghqst> plan9's is far more extensiv e
19:05:20 <fizzie> Yes, well, I'm currently at home; I think I'll stick to rxvt-unicode and irssi for chatting at work.
19:05:22 <AnMaster> anyway: http://swtch.com/plan9port/
19:05:40 <AnMaster> OS X too
19:05:46 <oklofok> qhqrdghqst: harder, easier, or you didn't pass it?
19:05:54 <qhqrdghqst> AnMaster: I already have it.
19:05:59 <oklofok> wait
19:06:00 <AnMaster> qhqrdghqst, ok :)
19:06:01 <qhqrdghqst> oklofok: dunnos
19:06:04 <qhqrdghqst> it had no stupid grass shit
19:06:06 <oklofok> how could you know whether it's harder or easier
19:06:07 <oklofok> :D
19:06:17 <oklofok> (that was a question, answer)
19:06:20 <ais523> what is kongregate?
19:06:26 <ais523> I can guess it's a KDE program from the spelling
19:06:28 <qhqrdghqst> a site with flash games
19:06:31 <ais523> but don't konw anything beyond that
19:06:31 <oklofok> basically you get points out of playing flash games.
19:06:35 <qhqrdghqst> yeah.
19:07:13 * ais523 wonders if Three Times Through is always possible
19:07:16 <AnMaster> ais523, this one ends in 04? I saw 01 too. What about 02 and 03
19:07:17 <ais523> I suspect it is, but haven't proved it
19:07:19 <AnMaster> never saw them
19:07:24 <ais523> AnMaster: well, no
19:07:27 <ais523> they aren't finished yet
19:07:28 <AnMaster> ah
19:07:33 <ais523> are you having a go at it?
19:07:34 <AnMaster> ais523, any in the style I like?
19:07:39 <ais523> well, not yet
19:07:42 <oklofok> more incentive to actually finish games, and try all kinds of stuff out; which of course is good only if you consider flash games educational, which i do
19:07:59 <AnMaster> ais523, I don't know if I mentioned it. But I rather like that level "robin's wood"
19:08:01 <ais523> _02 and _03 are almost finished, they just need AIs
19:08:03 <AnMaster> forgot what pack
19:08:10 <ais523> AnMaster: I don't, it just looks big and tiresome
19:08:18 <AnMaster> ok
19:08:51 <qhqrdghqst> oklofok: http://www.kongregate.com/games/AlexMatveev/3d-logic
19:08:52 <qhqrdghqst> 3d logic wun
19:10:04 <AnMaster> ais523, is there anything in your last level preventing the first two stones matching each other?
19:10:14 <ais523> AnMaster: no, it's completely random the arrangement
19:10:18 <ais523> normally you get a mix of luck
19:10:25 -!- Hiato1 has joined.
19:10:27 <ais523> because there are so many oxyds to place
19:12:08 <AnMaster> ugh that level is irritating
19:12:12 <qhqrdghqst> oklofok: i can't beat original level 7 <.<
19:13:36 <qhqrdghqst> wait I just did.
19:14:27 <AnMaster> ais523, I liked "floppy floors" too
19:14:37 <AnMaster> on easy, never tried it on hard
19:14:53 <ais523> AnMaster: what, my level?
19:14:54 <AnMaster> however it was another level I was looking for
19:14:58 <AnMaster> ais523, ?
19:15:00 <oklofok> i did the first 12 levels in about 2 minutes, then made a mistake, and closed it
19:15:16 <AnMaster> ais523, in engima 1.0 new
19:15:21 <oklofok> (i mean i don't actually want to play atm)
19:15:32 <ais523> AnMaster: oh, I was referring to the one I just pasted
19:15:50 <ais523> and nothing's forcing oklofok to play, especially as the level I just pasted is likely far too easy for em
19:15:53 <AnMaster> I just mentioned some levels I liked
19:16:11 <oklofok> ais523: are you trying to force me to try it :P
19:16:17 <ais523> no, there wouldn't be any point
19:16:20 <AnMaster> ais523, there was some level that was a "who did it" iirc
19:16:24 <AnMaster> that was rather interesting
19:16:42 <ais523> AnMaster: I've done that one, it isn't really because it's just elimination and luck
19:16:57 <AnMaster> cluenigma
19:16:59 <AnMaster> hm
19:17:25 <AnMaster> ais523, there was one with lots of hidden tools. Split up in four screens
19:17:32 <ais523> I was doing that one recently
19:17:38 <AnMaster> ais523, don't remember name
19:17:44 <AnMaster> I remember first room was very white
19:17:45 <ais523> I think I tried twice and failed
19:17:51 <AnMaster> I like that one
19:17:57 <AnMaster> just don't remember where or name
19:18:09 <ais523> both times because coffee wasn't implemented, so getting the last pair of oxyds depends entirely on luck and fast mouse movement, you need both
19:18:16 <ais523> and I was unlucky and not fast enough anyway both times
19:18:25 <oklofok> hmm, i should probably implement some coffee
19:18:40 <AnMaster> ais523, indeed
19:18:52 <AnMaster> ais523, do you remember what level pack?
19:19:19 * ais523 looks
19:19:26 <ais523> it won't be one of the enigma ones because it had coffee in
19:19:42 <AnMaster> ais523, also there are some levels in "enigma 0.92" called "Pentimino", any clue what they are about?
19:19:48 <ais523> yep
19:19:51 <qhqrdghqst> what kind of coffee are we talking
19:19:51 <AnMaster> oh?
19:19:54 <ais523> they're about pentominos, pretty obviously
19:19:57 <ais523> qhqrdghqst: the item in Enigma
19:20:03 <ais523> that does nothing because they haven't programmed it yet
19:20:04 <AnMaster> ais523, and what the *** is that?
19:20:17 <ais523> AnMaster: look it up on Wikipedia or Google or somewhere
19:20:23 <AnMaster> mhm
19:20:29 <ais523> Tetris shapes are tetrominoes, pentominoes are like that but with one more square
19:20:32 <qhqrdghqst> ais523: what's it meant to do.
19:20:39 <qhqrdghqst> 18:20 AnMaster: ais523, and what the *** is that? <-- what the ass?
19:20:42 <AnMaster> found it. "tool time" in 0.92 new
19:20:55 <ais523> qhqrdghqst: it's described vaguely as "pause the game"
19:20:58 <AnMaster> qhqrdghqst, "hel"
19:20:59 <ais523> in the docs
19:21:16 <ais523> but from looking at the levels that use it, I suspect it multiplies durations by infinity
19:21:21 <ais523> so your umbrellas last forever, etc
19:21:33 <ais523> maybe it's limited-duration itself, or only when it's the first item on your list, or something, though
19:22:01 <oklofok> AnMaster: it's actually "heel"
19:22:08 <qhqrdghqst> wow, Slalom Skiing in 0.92-1 is hard (#17)
19:22:08 <AnMaster> heh
19:22:58 -!- Hiato has quit (Connection timed out).
19:23:54 <ais523> qhqrdghqst: yep, that one took me quite a while
19:23:58 <ais523> there's a trick to it, though
19:24:23 <ais523> even better, it's a trick you can work out entirely on visible information, it's not like there's a hidden thing you have to find or something like that
19:24:49 <ais523> <Enigma Wiki> In Oxyd®, you could take a break with this item. During the break, you could analyse the whole level stresslessly. In Enigma, the cup does not have any special properties yet.
19:24:53 <ais523> the definition of the coffee
19:25:14 <AnMaster> I managed the slalom one
19:25:37 <AnMaster> on both easy and hard
19:25:50 <ais523> I did it on hard, and doing it on easy can be done the same way as doing it on hard
19:25:53 <AnMaster> below par for easy
19:26:05 <AnMaster> 2 seconds above par for hard
19:26:33 <qhqrdghqst> #58 light barriers, how do you get that block?!
19:26:47 <AnMaster> I solved it, above par
19:27:04 <qhqrdghqst> AnMaster: did you do salom, above par, on hard, you solved it?
19:27:06 <AnMaster> qhqrdghqst, also the mirrors duh
19:27:12 <ais523> qhqrdghqst: 58 in which pack?
19:27:15 <qhqrdghqst> if so, did you solve slalmon, on hard, above par?
19:27:18 <qhqrdghqst> ais523: 0.92-1
19:27:25 <qhqrdghqst> oh wait
19:27:27 <AnMaster> qhqrdghqst, I solved it on both, on easy below par, on hard above par
19:27:28 <qhqrdghqst> you can move the lasers
19:27:31 <AnMaster> as I said
19:27:38 <qhqrdghqst> AnMaster: I do not like them, Sam I am
19:27:46 <AnMaster> qhqrdghqst, what?
19:27:51 <qhqrdghqst> YOU HAVE NO CULTURE>
19:28:02 <AnMaster> qhqrdghqst, what the hell are you referring to
19:28:05 <qhqrdghqst> >__________<
19:28:25 <ais523> AnMaster: a Dr. Seuss book
19:28:31 <ais523> they're books of nonsense intended for children
19:28:31 <fizzie> ehird: Your culture is not universal, you know. Although I've heard enough by cultural osmosis to understand that much.
19:28:37 <ais523> and are great fun to read out loud
19:28:39 * AnMaster googles
19:28:45 <qhqrdghqst> I'd say Green Eggs and Ham is fairly universal
19:28:54 <oklofok> i've heard that thing, don't know what it's about tho
19:28:56 <AnMaster> I did google "sam" but that returned Seattle Art Museum
19:28:57 <AnMaster> and such
19:28:58 <oklofok> that sam i am thing
19:29:01 <lament> anything in English is universal
19:29:05 <ais523> AnMaster: google "green eggs and ham"
19:29:06 <qhqrdghqst> lament: :P
19:29:08 <ais523> with the quotes
19:29:09 <oklofok> actually i think it was just the name of an episode of some series
19:29:10 <AnMaster> ais523, ...?
19:29:13 <fizzie> Incidentally, we watched some sort of green-eggs-and-ham cartoonification just the-day-before-yesterday.
19:29:20 <ais523> "I do not like green eggs and ham. I do not like them, Sam-I-Am."
19:29:40 <AnMaster> what about "automaton magic"
19:29:48 <qhqrdghqst> err
19:29:49 <qhqrdghqst> what about it.
19:29:54 <AnMaster> solved it below par here. and just two seconds above world record
19:30:11 <AnMaster> so 29 seconds instead of 27
19:30:20 <AnMaster> I like that level
19:30:25 <fizzie> http://www.youtube.com/watch?v=RdR0LXOiEB8 I think was the clip.
19:30:31 <AnMaster> engima 0.92-1 #83
19:33:39 <qhqrdghqst> A dark house on them am do I or there and eat if rain they anywhere eggs in Sam train are fox let asy tree be goat like see try boat good may so will box green me thank with car ham mouse that would could here not the you.
19:33:45 <qhqrdghqst> s/asy/say/
19:33:48 <qhqrdghqst> The most zen sentence ever.
19:34:30 <AnMaster> qhqrdghqst, did you make that up now?
19:34:41 <qhqrdghqst> No, it's the complete set of words used in Green Eggs and Ham.
19:34:46 <qhqrdghqst> http://en.wikipedia.org/wiki/Green_Eggs_and_Ham#Lexicon
19:34:57 <qhqrdghqst> All 50 of them, of which 49 are monosyllabic.
19:35:11 <AnMaster> ah
19:36:39 <AnMaster> ok.
19:37:01 <AnMaster> qhqrdghqst, I don't think they are intended to be written together like that
19:37:10 <qhqrdghqst> Oh really?
19:37:10 <AnMaster> ;P
19:37:28 <qhqrdghqst> eggs in Sam train or fox... I think Dr Seuss is warning us from the grave
19:37:29 <qhqrdghqst> *are
19:37:34 <AnMaster> qhqrdghqst, no, it is "for beginning readers" after all
19:37:37 <qhqrdghqst> The eggs in any train owned by Sam are inevitably foxes!
19:37:39 <AnMaster> 50 words in one sentence?
19:37:44 <qhqrdghqst> oh true.
19:38:05 <AnMaster> qhqrdghqst, even an experienced reader have trouble keeping the context in such a long sentence
19:38:23 <qhqrdghqst> Someone make a huge sentence that ends with 10 proposition :-P
19:38:24 <qhqrdghqst> s
19:38:42 <AnMaster> qhqrdghqst, and someone made a sentence out of a single word: buffalo
19:38:44 <AnMaster> your point?
19:38:47 <oklofok> ais523: "I do not like green eggs and ham. I do not like them, Sam-I-Am." <<< wait green eggs? :D something started gnawing me about that sentence, but i could not quite put my finger on it until now
19:38:53 <AnMaster> oh make not made
19:38:54 <AnMaster> misread
19:38:57 <qhqrdghqst> Buffalo buffalo buffalo buffalo buffalo buffalo buffalo with.
19:39:07 <oklofok> (ofc green eggs might actually mean something other than rotten eggs, i just don't know what)
19:39:21 <ais523> in the book, they're just like ordinary eggs, except they're green
19:39:33 <AnMaster> oklofok, odd bird? spilled paint?
19:39:42 <fizzie> In the cartoon, the ham is also green, IIRC.
19:40:34 <oklofok> hmph, i've been trying to leave irc for like 20 minutes now, now seriously
19:40:35 <oklofok> ->
19:42:41 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
19:43:54 <qhqrdghqst> hmmmm
19:45:23 <AnMaster> http://swtch.com/plan9port/screenshots/opensolaris.png <-- is that window manager gnome?
19:45:36 <AnMaster> I thought Solaris had some custom one
19:45:43 <qhqrdghqst> Not nowadays.
19:46:00 <AnMaster> I see
19:46:09 <AnMaster> qhqrdghqst, I still think OpenWindows was a nice one ;P
19:46:17 <ais523> AnMaster: it's certainly possible to theme Gnome to look like that
19:46:24 <qhqrdghqst> err, that is gnome
19:46:25 <ais523> but you could do that with other window managers too
19:46:26 <qhqrdghqst> very obviously
19:46:32 <qhqrdghqst> see: window decoration, the style of taskbar buttons
19:46:34 <qhqrdghqst> the show desktop button
19:46:38 <qhqrdghqst> and the desktop selector
19:46:40 <qhqrdghqst> and the icons next to it
19:46:45 <qhqrdghqst> and the icons on the desktop & their shadow
19:46:49 <qhqrdghqst> and the text rendering
19:46:51 <ais523> ah, I don't use default Gnome icons anyway
19:46:52 <qhqrdghqst> and the terminal's menu bar and icon
19:47:03 <ais523> you're right, the taskbar buttons look like unthemed Gnome
19:47:15 <qhqrdghqst> it's themed, just the default theme :P
19:48:24 <fizzie> Solaris' CDE wasn't what I'd call nice. Glrbh.
19:48:40 <ais523> the default theme is bluer than that
19:49:00 <qhqrdghqst> err
19:49:02 <qhqrdghqst> is it?
19:49:04 <qhqrdghqst> no it's not
19:49:10 <AnMaster> ais523, well of course you can theme it, But the icons looked gnome style. So did the applets.
19:49:14 <AnMaster> I just wasn't sure
19:49:23 <AnMaster> since I remembered solaris using something else
19:49:29 <qhqrdghqst> well it's debian's default theme at least
19:49:42 <AnMaster> and I haven't used gnome for years
19:49:57 <qhqrdghqst> http://mail.gnome.org/archives/desktop-devel-list/2005-July/msg00269.html I think I understand why gnome is shit now
19:50:33 <AnMaster> qhqrdghqst, the linked images are 404
19:50:43 <qhqrdghqst> Yes. Because it is from 2005 and linkrot.
19:50:49 <qhqrdghqst> Congratulations for noticing.
19:51:10 <AnMaster> qhqrdghqst, did it get accepted?
19:51:15 <qhqrdghqst> what
19:51:20 <AnMaster> that patch
19:51:22 <AnMaster> or change
19:51:23 <AnMaster> or whatecer
19:51:25 <AnMaster> whatever*
19:51:27 <qhqrdghqst> /facepalm
19:51:33 <qhqrdghqst> I'm dropping this conversation thread
19:51:37 <AnMaster> err
19:51:39 <AnMaster> I read the mail
19:51:42 <qhqrdghqst> _exit(1);
19:51:43 <AnMaster> just not the responses yet
19:51:50 <AnMaster> so what the hell are you talking about
19:52:00 <qhqrdghqst> excuse me, what are we talking about?
19:52:05 <AnMaster> http://mail.gnome.org/archives/desktop-devel-list/2005-July/msg00269.html
19:52:07 <AnMaster> about that
19:52:09 <qhqrdghqst> _exit(1);
19:52:12 <AnMaster> it seems to be a patch to change the theme
19:52:17 <AnMaster> the default that is
19:52:18 <ais523> what, they're making it-sensor visible in Enigma 1.01?
19:52:29 <ais523> they can't do that, or at least they should give an option for invisible sensors
19:52:35 <qhqrdghqst> it-sensor?
19:52:35 <AnMaster> ais523, ??
19:52:48 <ais523> qhqrdghqst: it's an invisible item which makes commands run when you go over it
19:52:58 <AnMaster> ais523, also "making" implies engima 1.01 isn't released yet? I'm pretty sure it is
19:52:58 <ais523> like an invisible trigger, but you can't hear it and it doesn't care about stones
19:53:02 <ais523> *1.10
19:53:05 <AnMaster> ah
19:53:32 <AnMaster> ais523, can you place it below some other tile?
19:53:45 <ais523> you can have one floor, one stone, one item, and any number of actors on a square
19:53:51 <AnMaster> mhm
19:54:05 <AnMaster> ais523, what about those levels where you go under something that looks like a floor?
19:54:07 <AnMaster> how do they work
19:54:16 <ais523> those are hollow stones which look the same as the floor beneath them
19:54:22 <AnMaster> ah
19:54:27 <ais523> so they can have an item under them
19:54:34 <ais523> and a floor under that (you wouldn't want to fall, would you?)
20:03:18 <qhqrdghqst> Sq, Qs, qnyqnq?
20:03:33 <AnMaster> ais523, mhm
20:04:07 -!- Judofyr has quit (Read error: 54 (Connection reset by peer)).
20:04:08 <AnMaster> ais523, what about the things you gets with explosives. and remove with spades
20:04:14 <AnMaster> don't know the name
20:04:18 <ais523> hollows are items
20:04:21 <AnMaster> ah
20:04:35 <ais523> you know, because you can't drop an item on their square, but you can have different sorts of floor under them, and push stones over them
20:06:11 -!- Judofyr has joined.
20:07:06 -!- Judofyr_ has joined.
20:22:15 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
20:25:09 -!- MigoMipo has joined.
20:25:33 <AnMaster> ais523, heh
20:25:49 <AnMaster> ais523, what are actors?
20:26:10 <AnMaster> in engima I mean
20:26:23 <ais523> AnMaster: marbles, tops, etc
20:26:28 <AnMaster> ah
20:26:31 <ais523> things that aren't restricted to integer coordinates
20:27:06 <AnMaster> well I would assume they are, just integer coords == pixels instead of == tiles
20:27:15 <AnMaster> or do they really use float?
20:28:00 <oklofok> arbitrary reals
20:33:58 <AnMaster> not likely
20:33:59 <ais523> AnMaster: it's floats
20:34:06 <AnMaster> ais523, why on earth?
20:34:22 <fizzie> AnMaster: You were an X-Chatter, right? Do you happen to know how the "Colored nick names" thing picks colors for nicks?
20:34:23 <ais523> so their physics simulations work better
20:34:33 <AnMaster> oh ok
20:35:00 <lament> fizzie: it picks the most appropriate color for the personality
20:35:52 * FireFly is randomly happy
20:36:07 <fizzie> lament: Do you feel purple, then?
20:36:49 <ais523> lament's a sort of mauve on my client, the same colour as fizzie
20:36:51 <lament> I do like purple prose.
20:36:54 <ais523> and FireFly, for that matter
20:37:06 <ais523> AnMaster's green, and qhqrdghqst's cyan
20:37:21 <ais523> oklofok is a slightly redder purple than lament
20:37:34 <FireFly> I've succeded in displaying a pic at my DS
20:37:36 <ais523> and Asztal_'s grey
20:37:37 <fizzie> I'm just wondering, because this has decided that ais523 and AnMaster have the same color, which is non-optimal as you people so often coincide temporally.
20:38:15 <AnMaster> fizzie, I used to use xchat once upon a time
20:38:18 <AnMaster> nowdays I use ERC
20:38:25 <AnMaster> and I never used coloured nicks in xchat
20:38:31 <AnMaster> I don't like that feature
20:38:34 <fizzie> Right, right.
20:38:44 <lament> it just hashes the nickname
20:38:49 <AnMaster> I tend to use three colours: "normal, highlighted, own message"
20:39:26 <AnMaster> ais523, and I'm more a dark blue person
20:39:30 <AnMaster> than green
20:39:34 <AnMaster> though green is ok
20:39:35 <ais523> hey, I'm a dark blue person too
20:39:37 <ais523> but also cyan
20:39:46 * qhqrdghqst transparent, like ninja.
20:40:08 <AnMaster> ais523, http://en.wikipedia.org/wiki/Ultramarine is nice
20:40:31 * qhqrdghqst octarine
20:40:52 <AnMaster> qhqrdghqst, doesn't go with transparent I'm afraid
20:41:09 <fizzie> Well, the text part already has the normal-highlighted-own split, so I don't mind nicks being rather colorful.
20:41:40 <AnMaster> fizzie, I do that for all of the lines, and no nick column rainbow
20:42:12 -!- Hiato1 has quit (Read error: 60 (Operation timed out)).
20:42:55 <AnMaster> qhqrdghqst, what do you think of the look of plan9
20:43:08 <qhqrdghqst> It's usable but very ... well, 1992s.
20:43:11 <fizzie> Seems that color_of(char *name) is just sum of all the bytes in name, modulo amount of colors in the fixed set used for nicknames.
20:43:12 <AnMaster> well ok
20:43:13 <qhqrdghqst> s/s././
20:43:23 <AnMaster> qhqrdghqst, you think GTK is worse?
20:43:29 <qhqrdghqst> Absolutely.
20:43:39 <AnMaster> qhqrdghqst, what about QT?
20:43:48 <qhqrdghqst> fizzie: that's so boring I could take a shit on it.
20:43:53 <qhqrdghqst> if you get my analogy.
20:43:59 <qhqrdghqst> AnMaster: Qt is acceptable. Sometimes.
20:44:06 <AnMaster> qhqrdghqst, mhm. Motif?
20:44:20 <qhqrdghqst> AnMaster: Motif I can help it
20:44:26 <qhqrdghqst> (For guidance on the above sentence, see oerjan.)
20:44:31 <fizzie> Also the particular piece of code divides by sizeof (char), which is a rather silly way of saying 1.
20:44:53 <AnMaster> qhqrdghqst, well it is a "meta<whatever>" style pun I think
20:45:01 <AnMaster> that is it is supposed to sound like something else
20:45:03 <qhqrdghqst> AnMaster: Yes.
20:45:04 <AnMaster> but I don't know what
20:45:07 <qhqrdghqst> Pronounce it out aloud
20:45:10 <qhqrdghqst> "motif i can help it"
20:45:25 <AnMaster> just did. But I'm not sure how to pronounce motif in English
20:45:27 <fizzie> It's "not if" when your nose is stuffed.
20:45:38 <qhqrdghqst> fizzie: You spoiled it :P
20:45:40 <AnMaster> ah
20:45:57 <fizzie> Yes, I'm a spoiler.
20:46:01 <FireFly> if (!
20:46:08 <AnMaster> it sound more like "note if" than "not if"
20:46:20 <AnMaster> or am I mispronouncing motif?
20:46:28 <AnMaster> qhqrdghqst, ?
20:46:38 <qhqrdghqst> Well yeah.
20:46:40 <qhqrdghqst> It's a bad pun
20:46:59 <qhqrdghqst> fizzie: Here's a nice colourerer: abs (foldl xor 255 nick).
20:47:00 <fizzie> * IPA: /məʊ'tif/; you do need a bit of imagination there.
20:47:07 <AnMaster> qhqrdghqst, so is it a long or a short t in motif?
20:47:11 <qhqrdghqst> er
20:47:13 <AnMaster> fizzie, I can't really read that
20:47:19 <qhqrdghqst> foldl xor 255 (map ord nick).
20:47:21 <AnMaster> qhqrdghqst, err o not t
20:47:50 <qhqrdghqst> colourNick nick = foldl xor 255 (map ord nick)
20:47:54 <fizzie> "Moo-tif", the interface of choice for cows.
20:48:03 <AnMaster> fizzie, hah
20:48:30 <qhqrdghqst> Prelude Data.Char Data.Bits Test.QuickCheck> colourNick "AnMaster"
20:48:30 <qhqrdghqst> 236
20:48:31 <qhqrdghqst> Prelude Data.Char Data.Bits Test.QuickCheck> colourNick "ais523"
20:48:33 <qhqrdghqst> 176
20:48:35 <qhqrdghqst> Perfect distinguishotron.
20:48:37 <AnMaster> fizzie, err so what is the difference between "note" and "not" then. It isn't "long/short" o
20:48:51 <ais523> qhqrdghqst: what is the number? selection between 256 possible colours?
20:48:56 <qhqrdghqst> ais523: yep
20:49:01 <AnMaster> since motif ends up a bit like note if the way I say it
20:49:08 <ais523> it may be hard to find 256 different-looking colours
20:49:12 <AnMaster> yeah
20:49:17 <qhqrdghqst> Just use the standard palette
20:49:22 <qhqrdghqst> You don't get too many similar colours
20:49:37 <qhqrdghqst> let colourNick nick = foldl xor 16 (map ord nick) `mod` 16
20:49:40 <qhqrdghqst> also seems to work acceptably
20:50:47 <fizzie> AnMaster: "note" is /nəʊt/, "not" is just /nɒt/. So there's an "ou"-style diphthong in "note".
20:50:55 <AnMaster> FireFly, ah
20:50:57 <AnMaster> err
20:50:58 <AnMaster> fizzie, ^
20:51:15 <fizzie> AnMaster: But yes, "motif" is closer to "note if" than "not if".
20:51:28 <AnMaster> indeed
20:51:32 -!- kar8nga has joined.
20:51:59 <AnMaster> hm
20:52:05 <AnMaster> I just got an idea for the perfect OS
20:52:22 <ais523> probably quite different from ehird's/my
20:52:29 <qhqrdghqst> That is what I was thinking, ais523...
20:52:30 <AnMaster> It would be a combination of Genera, Plan 9 and QNX
20:52:31 <ais523> which are somewhat different from each other
20:52:49 <AnMaster> what do you think?
20:52:49 <qhqrdghqst> AnMaster: well, first, those are so completely different that you couldn't combine them reasonably
20:52:57 <AnMaster> qhqrdghqst, yeah probably
20:52:57 <qhqrdghqst> secondly, QNX isn't very interesting apart from being embedded
20:53:10 <AnMaster> qhqrdghqst, it is very stable though
20:53:18 <qhqrdghqst> QNX didn't invent stability
20:53:19 <AnMaster> what about just combining the first two?
20:53:23 <AnMaster> qhqrdghqst, that is true
20:53:27 <qhqrdghqst> "AnMaster: well, first, those are so completely different that you couldn't combine them reasonably"
20:53:33 <AnMaster> qhqrdghqst, hm
20:53:37 <qhqrdghqst> Adding random good stuff together isn't a recipe for success.
20:53:43 <AnMaster> well true
20:54:04 <fizzie> QNX does have interesting aspects. The distributedness stuff is fancy.
20:54:24 <AnMaster> and having almost everything in userspace
20:54:28 <qhqrdghqst> Plan 9 has a distributed CPU system
20:54:30 <qhqrdghqst> which is excellent
20:54:37 <AnMaster> I mean, IPC and scheduling are in kernel, that's about it
20:54:48 <AnMaster> iirc
20:54:51 <ais523> my OS is so microkernel, it even has its userspace in userspace!
20:54:58 <AnMaster> ais523, -_-
20:55:27 <AnMaster> all your features are belong to userspace
20:55:45 <fizzie> There was also something funny related to the file systemics, but I've forgotten what it was. My only QNX experiments were several years ago.
20:55:54 <AnMaster> fizzie, same
20:56:41 <AnMaster> http://plan9.bell-labs.com/plan9/img/mirtchov/interpolate.gif <-- that's pretty
20:57:01 <qhqrdghqst> it's like every ELER comic ever!
20:57:23 <AnMaster> Did you mean: ELLE comic
20:57:24 <AnMaster> ??
20:57:31 <qhqrdghqst> http://geekz.co.uk/lovesraymond/
20:57:35 <qhqrdghqst> Everybody Loves Eric Raymond
20:58:17 <AnMaster> "And GIMP now supports CMYK" <-- ? Really? *looks*
21:02:45 <AnMaster> looks like a future version will have it
21:17:03 -!- fizzie has left (?).
21:17:21 -!- fizzie has joined.
21:17:25 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
21:17:28 <fizzie> Whoopsie.
21:18:05 <fizzie> I am definitely not ready for this third-millennium gooey-IRC thing.
21:18:16 <AnMaster> fizzie, what?
21:19:02 -!- MigoMipo_ has joined.
21:19:23 <qhqrdghqst> I think I should make a realtime javascript raytracer. (At this point qhqrdghqst dies of unbelievable stupidity.)
21:19:43 <Asztal_> fizzie: did you press Ctrl-W?
21:19:45 <ais523> qhqrdghqst: it'll take you something like 20 years for the hardware to catch up
21:19:46 <fizzie> I somehow accidentally closed this tab-or-whatever-it-is, maybe with ^w or something. I've never accidentally typed "/part #esoteric" or something.
21:20:09 <ais523> accidental mouse clicks are what most commonly close tabs by mistake for me
21:20:10 <AnMaster> ais523, ctrl-m in xchat is "move marker of last line read in channel" iirc
21:20:16 <AnMaster> or was it clear window?
21:20:18 <fizzie> Hey, with TraceMonkey it'll be native-code-speed.
21:20:24 <fizzie> It's "mvoe marker line".
21:20:28 <ais523> AnMaster: err... why are you nickpinging me with that details?
21:20:29 <fizzie> s/mvoe/move/
21:20:37 <AnMaster> ais523, what?
21:20:45 <ais523> fizzie: unfortunately native speed isn't fast enough for realtime raytracing either
21:20:58 <AnMaster> ais523, I must have misread
21:21:00 <qhqrdghqst> ais523: oh, it's been done...
21:21:02 <AnMaster> two things
21:21:12 -!- BeholdMyGlory has quit (Excess Flood).
21:21:14 <AnMaster> "<Asztal_> fizzie: did you press Ctrl-W?" turned out as "<ais523> fizzie: did you press Ctrl-M?"
21:21:16 <AnMaster> no idea how
21:21:16 <AnMaster> ...
21:21:32 -!- BeholdMyGlory has joined.
21:22:16 <fizzie> There's been things that you could consider real-time ray-tracing, if you want to be polite about it, in demoscene prods a long time.
21:22:52 <qhqrdghqst> On June 12, 2008 Intel demonstrated Enemy Territory: Quake Wars using ray tracing for rendering, running in basic HD (720p) resolution. ETQW operated at 14-29 frames per second. The demonstration ran on a 16-core (4 socket, 4 core) Tigerton system running at 2.93 GHz.[10]
21:22:59 <qhqrdghqst> I want a 16-core system, me.
21:23:06 <qhqrdghqst> That would be pleasurable.
21:23:19 <ais523> AnMaster: http://slashdot.org/article.pl?sid=09/03/16/1839231
21:23:22 <fizzie> qhqrdghqst: Just get a couple of microwaves, then you can do another core-counting experiment.
21:23:31 <ais523> it seems that Intel and AMD are rowing over x86
21:23:43 <ais523> if they end up revoking each other's licences, all sorts of ridiculous things could happen
21:23:57 -!- MigoMipo has quit (Nick collision from services.).
21:24:01 <qhqrdghqst> ais523: probably they'll just find a loophole and change a minor bug to make it "not x86"
21:24:04 -!- MigoMipo_ has changed nick to MigoMipo.
21:24:22 <AnMaster> <ais523> AnMaster: http://slashdot.org/article.pl?sid=09/03/16/1839231 <-- huh
21:24:30 <ais523> why is that a huh?
21:24:35 <ais523> because only ehird links people to things randomly?
21:24:43 <qhqrdghqst> http://goatse.ca/
21:24:50 <AnMaster> ais523, yes
21:24:53 <qhqrdghqst> ... which is now squatted
21:25:10 <AnMaster> qhqrdghqst, what about the cx original?
21:25:23 <qhqrdghqst> AnMaster: someone else owns it; it has a picture of a LEGO thing that looks like a goatse but it's SWF.
21:25:28 <qhqrdghqst> Safe for work that is.
21:25:29 <qhqrdghqst> Not flahs
21:25:31 <qhqrdghqst> *flash
21:25:31 <AnMaster> heh
21:25:39 <qhqrdghqst> and they're trying to sell it
21:25:58 <fizzie> "Buy a piece of Internet history."
21:26:12 <ais523> qhqrdghqst: what happened to the picture of Bill O'Reilly?
21:26:16 <ais523> if it ever existed?
21:26:23 -!- kar8nga has joined.
21:26:24 <qhqrdghqst> it was replaced
21:30:10 <qhqrdghqst> Oh wow.
21:30:12 <qhqrdghqst> Horrible idea.
21:31:05 <qhqrdghqst> brb ->
21:31:05 <ais523> what's the horrible idea?
21:31:15 <fizzie> Maybe he went to implement it immediately.
21:34:09 <AnMaster> hah
21:45:39 -!- ais523 has quit (Remote closed the connection).
21:45:53 <fizzie> It seems to have been a really horrible one.
22:10:11 <AnMaster> heh
22:10:26 <AnMaster> qhqrdghqst, btw do you know any good breakout game for OS X that is free?
22:13:30 -!- Judofyr_ has quit (Read error: 110 (Connection timed out)).
22:17:52 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:21:57 -!- Mony has quit ("Quit").
22:22:43 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
22:31:58 -!- qhqrdghqst has changed nick to ehird.
22:33:53 -!- Judofyr has joined.
22:35:16 * comex wonders how to implement motion blur in canvas
22:35:42 <comex> where by "motion blur" I just mean blend in some previous frames
22:35:50 <comex> I guess you could create invisible canvases
22:39:10 <fizzie> You could just always draw N frames, but that doesn't sound very fast.
22:40:17 <Asztal_> by invisible canvases do you mean translucent canvases?
22:41:07 <Asztal_> have 5 canvases, and draw to each one in turn, changing the Z-order so that the most-recently-drawn-to canvas is at the top
22:41:31 <comex> that would work :|
22:42:44 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
22:42:54 <comex> I just crashed firefox
22:42:57 <comex> or hung
22:43:37 <fizzie> You can also use the toDataURL("image/png") or something to get the current frame as an image, then render those. But that would mean one extra PNG creation operation and N-1 extra PNG decoding operations per frame. The "pile of canvasii" approach sounds most sensible.
22:44:18 <comex> I was going to do a translucent draw under the assumption that it's probably faster than css
22:44:57 <comex> but since that means copying data and the other approach doesn't
22:44:58 <comex> :p
22:46:32 <fizzie> There seems to be some sort of getImageData functions you maybe could use; it still involves copying, but at least there's no PNG creation stuff.
22:46:39 <Asztal_> the canvas3D canvas context would make this a lot faster :)
22:47:02 <comex> yeah, I'm using that
22:47:04 <comex> BUT
22:47:09 <comex> looks like I can't putimagedata between canvases
22:47:10 <comex> lame
22:47:37 <comex> OH THANK GOD
22:47:43 <comex> SOMEONE is finally havnig hardware-accelerated 3d
22:48:28 <comex> scratch that
22:48:31 <comex> I was just setting it up wrong
22:51:31 <comex> WELL HELLO THERE
22:51:38 <comex> firefox is leaking memory like crazy
22:51:54 <comex> it's not freeing the image datas
22:51:55 <comex> ew
22:52:16 <comex> well, I'll use the overlay-canvases approach
22:53:34 <fizzie> It does sound simpler, at the very least.
22:53:45 <psygnisfive> oi!
22:58:23 <comex> http://qoid.us/cv.html <-- don't run in a slow browser
23:00:51 <psygnisfive> ok..
23:01:04 <psygnisfive> you should add friction.
23:01:55 * comex adds more balls
23:02:02 <comex> where by "ball" I mean "square"
23:02:17 <psygnisfive> add friction!
23:02:21 <psygnisfive> and drag!
23:03:51 <comex> I wonder how slow collision detection will be
23:03:52 <comex> probably not very
23:04:00 <comex> maybe slow if I have 100 balls
23:04:17 <psygnisfive> if you do quad tree searching it should be efficient
23:04:23 <comex> what the fuck is that
23:04:26 <comex> :p
23:05:12 <psygnisfive> well, for your thing it wouldnt be an issue since you're using squares
23:05:40 <comex> actually, screw collision detection
23:05:42 <comex> instead,
23:07:32 -!- neldoreth has quit ("leaving").
23:07:44 -!- neldoreth has joined.
23:07:49 <comex> xor http://qoid.us/cv.html
23:11:37 <psygnisfive> :o
23:11:38 <psygnisfive> magic!
23:11:45 <psygnisfive> collision is better.
23:12:41 <comex> too lazy
23:12:46 <comex> because what if they're colliding by multiple pixels
23:14:06 <psygnisfive> then you better get a time resolution good enough for that to happen :)
23:14:10 <psygnisfive> or not happen
23:17:49 <oklofok> comex: quad trees are one of the data structures that split R^n into hypercubes so you can check whether containing hypercubes intersect before doing the actual collision check.
23:17:54 <oklofok> (glad i could help)
23:18:38 <comex> psygnisfive: it's not fast enough :p
23:18:42 <oklofok> err actually quad tree is not one of them.
23:18:46 <comex> I guess I can do physics faster than actually drawing
23:18:50 <comex> but,
23:18:51 * comex tries to get canvas 3d to work on beta 3.1
23:18:55 <oklofok> but guess it can be used as such
23:18:57 <psygnisfive> oklofok!
23:19:02 <psygnisfive> let me tell you about quantifiers :D
23:19:05 <ehird> comex: that's shit
23:19:10 <comex> ehird: what
23:19:10 <oklofok> :)
23:19:24 <ehird> proof:
23:19:28 <ehird> http://www.blahbleh.com/whyiesucks.htm
23:19:36 <ehird> a 3d cube, with motion blur, in canvas, getting ~50fps
23:19:41 <ehird> ur doing it wrong, evidently :P
23:19:46 <comex> ehird: um, so?
23:19:49 <comex> I saw that
23:19:57 <ehird> yeah, and... motion blur isn't that hard?
23:19:58 <comex> the boxes are going perfectly fast (not measuring fps)
23:20:06 <psygnisfive> oklofok, can i can i huh huh huh
23:20:10 <ehird> AnMaster: lbreakout2
23:20:12 <comex> I believe that's drawing the cubes repeatedly for the motion blur
23:20:21 <comex> but they do collide by more than one pixel I think
23:20:23 <ehird> anyway, my delay was me scraping most of the skin off the back of my foot ^_^
23:20:33 <ehird> By mistake, that is.
23:20:44 <pikhq> 50 FPS *with an encoding run going*.
23:21:03 * comex stabs pikhq with rapier
23:21:05 <oklofok> psygnisfive: you can tell me seven sentences
23:21:16 <ehird> anyway, awful idea time
23:21:22 <psygnisfive> all learnable natural language quantifiers are conservative.
23:21:31 <psygnisfive> HOWS SEVEN WORDS
23:21:49 <pikhq> And this on 4 year old hardware.
23:22:02 <oklofok> psygnisfive: interesting! what does that mean?`
23:22:04 <ehird> Canvas is still shit :P
23:22:08 <oklofok> you can have another 7 words.
23:22:08 <comex> orly?
23:22:12 <comex> it's quite fast and a lot better than flash
23:22:15 <oklofok> *mean?
23:22:21 <pikhq> ehird: Less shit than everything else.
23:22:21 <ehird> comex: compare that to SDL
23:22:31 <pikhq> Well, everything else on the web.
23:22:31 <ehird> heck you could script SDL with spidermonkey
23:22:34 <ehird> it'd be 39487539457345 times faster
23:22:48 <pikhq> Compared to a proper programming environment, well, yeah. Canvas sucks.
23:22:57 <psygnisfive> suppose Q is a quantifier, relating two sets, e.g. Q(X,Y) = |X intersect Y| > |X-Y| (== "most X are Y")
23:22:58 <comex> ehird: I doubt it
23:23:15 <ehird> no, really.
23:23:18 <psygnisfive> then Q is conservative if and only if: Q(X,Y) iff Q(X, X intersect Y)
23:23:30 <comex> really 300 trillion times faster?
23:23:33 <ehird> well, no.
23:23:57 <ehird> Now.
23:23:58 <ehird> Evil time
23:24:29 <comex> http://hg.mozilla.org/users/vladimir_mozilla.com/canvas3d/
23:24:33 <comex> how the fuck am I supposed to compile that
23:24:37 <ehird> with butts
23:24:42 * comex looks up
23:24:49 <ehird> http://hg.mozilla.org/users/vladimir_mozilla.com/canvas3d/file/f050229f6011/Makefile.in
23:24:51 <ehird> Makefile.in; happy?
23:24:59 <comex> not very
23:25:50 <ehird> actually, my evil idea is kinda related to this
23:26:00 -!- FireFly has quit ("Later").
23:27:10 <pikhq> autoreconf&&./configure&&make&&make install?
23:30:07 <oklofok> psygnisfive: awesome
23:31:00 <psygnisfive> its even cooler
23:31:01 <psygnisfive> because
23:31:14 <psygnisfive> all conservative quantifiers can be built up in very simple was
23:31:16 <psygnisfive> ways*
23:31:17 <psygnisfive> namely:
23:31:24 <ehird> seeing psygnisfive get excited about linguistics amuses me
23:32:21 <psygnisfive> any boolean operation over conservative quantifiers gives a conservative quantifier
23:33:02 <psygnisfive> and: Q(X intersect C, Y) is conservative, for any set C
23:33:18 <psygnisfive> and these two together produce ALL and ONLY the conservative quantifiers
23:33:33 <psygnisfive> if you start with a single conservative quantifier all(X,Y)
23:33:34 <psygnisfive> :)
23:33:43 <psygnisfive> or some(X,Y).
23:34:46 <oklofok> cool
23:35:01 <psygnisfive> which is /very/ interesting indeed
23:35:52 -!- olsner has quit ("Leaving").
23:35:57 <oklofok> well i think i don't actually know what you mean by quantifier when it comes to language
23:36:10 <psygnisfive> words like all, some, most, many, few
23:36:12 <psygnisfive> all the numbers
23:36:20 <oklofok> hmm
23:36:30 <psygnisfive> more-than
23:36:52 -!- tombom has quit ("Peace and Protection 4.22.2").
23:36:59 <oklofok> what quantifier would 5 be?
23:37:14 <psygnisfive> 5 cats are small
23:37:21 <oklofok> hmm righ
23:37:22 <oklofok> t
23:37:30 <psygnisfive> 5(X,Y) = |X intersect Y| = 5
23:37:36 <psygnisfive> == 5*
23:37:38 <oklofok> yeawh
23:37:40 <oklofok> *yeah
23:37:45 <psygnisfive> well actually
23:37:46 <psygnisfive> technically
23:37:53 <psygnisfive> 5(X,Y) = |X intersect Y| >= 5
23:38:02 <oklofok> ....yeah :)
23:38:43 <oklofok> so how would you construct most out of all?
23:40:00 <psygnisfive> no clue :D
23:40:06 <psygnisfive> most is
23:40:18 <psygnisfive> most(X,Y) = |X intersect Y| > |X - Y|
23:40:21 <oklofok> you already defined most
23:40:28 <psygnisfive> we can try to reword it
23:40:34 <oklofok> hmm.
23:40:39 <oklofok> what is legal in the transformation?
23:40:52 <psygnisfive> boolean combinations of other conservative quantifiers
23:40:57 <oklofok> just all(all(X),all(all(Y),all(Z))) kinda stuff? :|
23:41:08 <psygnisfive> so Q(X) -> !Q(X)
23:41:09 <psygnisfive> and
23:41:17 <oklofok> ohh.
23:41:33 <psygnisfive> Q(X,Y), R(X,Y) -> Q(X,Y) op R(X,Y)
23:41:38 <psygnisfive> for op some boolean operator
23:41:43 <oklofok> right right.
23:41:48 <psygnisfive> and Q(X,Y) -> Q(X intersect C, Y)
23:41:52 <psygnisfive> for any set C
23:42:41 <psygnisfive> all(X,Y) = X subset Y = X - Y == 0
23:43:30 <oklofok> yeas
23:43:31 <psygnisfive> ill look at my references and see if they mention how to construct most from all
23:43:46 <oklofok> do look, i'm not really in a thinking mood, kind of a math overdose
23:45:02 <oklofok> oh my god i want to learn chemistry
23:45:28 <psygnisfive> lol
23:45:53 <oklofok> well you know molecules and stuff they're very pretty.
23:46:56 <psygnisfive> "A semantic characterization of natural language determiners" is one of the papers that discusses this
23:47:21 <oklofok> well why don't you go look then :-)
23:47:38 <psygnisfive> i cant get it
23:48:16 <psygnisfive> i have another article i can give you a copy of
23:48:30 <oklofok> nooooo exam next monday and i forgot to begin my reading journey today.
23:52:18 <psygnisfive> i have two articles for you.
23:52:31 <oklofok> buttt... i need to start my readings!
23:54:07 <psygnisfive> wellnowwhat.net/linguistics/quant1.pdf
23:54:09 <psygnisfive> wellnowwhat.net/linguistics/quant2.pdf
23:54:28 <ehird> Star Trek: Some hydrogen stars go trekking. It's a gas!
23:55:13 <Slereah_> *rimshot*
2009-03-17
00:01:46 -!- mib_p3zdz9st has joined.
00:04:18 <MizardX> «00:00:00» « Day changed to {Tuesday, March 17th 2009}. It's St. Patrick's day, time to get some booze!
00:04:34 <ehird> what kind of shitty irc client does that
00:04:38 <ehird> don't answer, I know: a shit one
00:05:16 <mib_p3zdz9st> esoteric programming?
00:05:33 <fizzie> Yes, even if it does not always look like it.
00:05:39 <Slereah_> darn tootin
00:07:19 <MizardX> Ehm... 12th of july: "Beware of Santa Claus!"
00:07:32 <ehird> wut
00:08:21 <MizardX> One of the day change messages
00:11:42 <mib_p3zdz9st> Any engine techs here?
00:12:15 <mib_p3zdz9st> Having an idle issue with my 3.1mpfi
00:22:33 <ehird> 23:22 ImInYourMonad: ehird: because i can understand things that are not formal systems?
00:22:39 <ehird> In response to me asking why he thinks his brain is superturing.
00:22:43 <ehird> lol lol lol
00:24:33 <ehird> 23:24 ImInYourMonad: well maybe consciousness is an illusion, but i can build a computer but a computer cant build me unless a human tells it how to
00:24:39 <ehird> ^ lol
00:28:55 <psygnisfive> i'd love to know what things are not formal systems that he can understand. lol
00:30:31 <ehird> psygnisfive: EMOTIONS & PURE LOVE
00:30:36 <ehird> &&&& THE FEELING OF MUSIC
00:30:40 <ehird> &&&& HUMANITY
00:30:44 * ehird vomits
00:30:46 <psygnisfive> i would point out that he undoubtedly doesnt understand any of those
00:30:50 -!- comexk has joined.
00:30:54 <psygnisfive> nor does he have proof that they're not formal systems.
00:30:56 <ehird> :-D
00:31:15 <ehird> It irritates me when channels go over primordial stupids about AI.
00:31:22 <ehird> WE'VE THOUGHT OF IT ALL BEFORE, GODDAMMIT
00:31:26 <ehird> You're almost certainly wrong :P
00:31:26 <psygnisfive> infact, the idea that anything can be non-formal
00:31:32 <psygnisfive> its basically a dualist view
00:31:43 <psygnisfive> material world + spiritual component
00:31:53 <psygnisfive> thats the only possible view that can even potentially admit such things
00:32:07 <ehird> mm
00:32:12 <ehird> Some people just think they're special.
00:32:25 <psygnisfive> but even then, you have to wonder how a spirit world would work if not by being based on the nature of the things involved
00:32:33 <psygnisfive> oh they ARE special ehird
00:32:35 <psygnisfive> very special
00:32:58 <ehird> as in retarded?
00:33:01 <psygnisfive> yes.
00:33:45 <ehird> psygnisfive: they're not that retarded though. some people believe in God.
00:34:01 <psygnisfive> that's even worse.
00:34:08 <ehird> that was my implication
00:34:15 <psygnisfive> what?
00:34:33 <ehird> butts
00:34:38 <psygnisfive> :d
00:34:43 <oklofok> :)))))))))))
00:34:51 <ehird> psygnisfive is so easy to please
00:34:52 <ehird> just say butts
00:34:55 <psygnisfive> :d
00:34:57 <oklofok> i believe in butts
00:35:04 -!- comex has quit (Read error: 104 (Connection reset by peer)).
00:35:07 <ehird> butt butt butt butt
00:35:25 <psygnisfive> :d :d :d :d
00:35:30 <ehird> :d
00:35:37 <oklofok> hey i think i see a pattern :DDDDDDDDDDDDDDDDDDDDDDDDDDD
00:35:42 <psygnisfive> pruit igoe
00:36:23 <lament> i think i see a butt
00:36:37 <psygnisfive> pruit
00:36:38 <psygnisfive> igoe
00:37:07 <ehird> % grep no-link-chk **/*
00:37:07 <ehird> zsh: argument list too long: grep
00:37:08 <ehird> fuuuuuuuuuuuuuuuuuuuuuuuu
00:37:10 <AnMaster> <ehird> AnMaster: lbreakout2 <-- it exists for OS X too? ok
00:37:13 <ehird> AnMaster: SDL
00:38:23 -!- GregorR has joined.
00:40:33 <AnMaster> ehird, mgm
00:40:34 <AnMaster> mhm*
01:28:38 <mib_p3zdz9st> ROOTS BLOODY ROOTS
01:57:00 -!- neldoreth has quit ("Lost terminal").
02:12:15 <ehird> Things I Never Want To Here Again, #475:
02:12:18 <ehird> *Hear
02:12:19 <ehird> 01:11 comexk: also, ehird: what if I have a struct with 5000000 fields
02:13:23 <comexk> you are talking to a database and are getting a row from a table
02:13:26 <comexk> surely that's a reasonable use case
02:13:40 <ehird> 5000000. fields.
02:13:44 <ehird> weren't you going to bed
02:13:47 <comexk> yes
02:13:49 <comexk> also
02:14:01 <comexk> ehird: I was merely imitating your use of very large numbers
02:14:01 <ehird> no
02:14:03 <ehird> :P
02:14:04 <ehird> k
02:14:08 <comexk> I was referring to more like 10 fields
03:37:09 -!- Sgeo has joined.
03:42:14 <bsmntbombdood> http://esoteric.voxelperfect.net/wiki/CHIQRSX9_Plus
03:42:23 <bsmntbombdood> how does X make the language turing-complete?
03:43:48 <mib_p3zdz9st> 58 days until Frank Sinatra Day
03:43:51 <mib_p3zdz9st> oops
03:47:40 <psygnisfive> lulz.
03:47:47 <psygnisfive> X doesnt, really.
03:50:29 -!- mib_p3zdz9st has left (?).
03:53:25 -!- MizardX- has joined.
03:58:15 -!- MizardX has quit (Read error: 60 (Operation timed out)).
03:58:18 -!- MizardX has joined.
03:59:43 -!- MizardX- has quit (Read error: 104 (Connection reset by peer)).
04:03:09 -!- GreaseMonkey has joined.
04:04:52 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
04:05:27 -!- bsmntbombdood has joined.
04:36:04 -!- ehird has quit (Remote closed the connection).
04:36:17 -!- ehird has joined.
04:37:49 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
04:37:49 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
04:37:49 -!- kerlo has quit (calvino.freenode.net irc.freenode.net).
04:37:49 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
04:37:49 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
04:38:38 -!- ineiros has joined.
04:38:38 -!- sebbu has joined.
04:38:38 -!- kerlo has joined.
04:38:38 -!- Ilari has joined.
04:38:38 -!- rodgort has joined.
04:50:51 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
04:50:53 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
04:50:56 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
04:50:56 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
04:50:56 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
04:50:56 -!- kerlo has quit (calvino.freenode.net irc.freenode.net).
04:50:56 -!- psygnisfive has joined.
04:51:22 -!- rodgort has joined.
04:51:22 -!- Ilari has joined.
04:51:22 -!- kerlo has joined.
04:51:22 -!- sebbu has joined.
04:51:22 -!- ineiros has joined.
04:55:09 -!- MizardX- has joined.
04:58:03 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
04:58:08 -!- MizardX- has changed nick to MizardX.
05:05:18 -!- MizardX has quit (Read error: 131 (Connection reset by peer)).
05:05:27 -!- MizardX has joined.
05:37:29 -!- MizardX has quit (Read error: 60 (Operation timed out)).
05:57:02 -!- Sgeo has quit ("Leaving").
06:07:18 -!- oerjan has joined.
06:20:04 <oerjan> <qhqrdghqst> (For guidance on the above sentence, see oerjan.)
06:20:20 <oerjan> it's not nice to ping me from a completely unknown nick.
06:20:34 <oerjan> not that it was unexpected who it really was.
06:20:47 -!- MizardX has joined.
06:21:11 * oerjan swats ehird to make the point clear -----###
06:23:24 <oerjan> <AnMaster> qhqrdghqst, so is it a long or a short t in motif?
06:23:35 <oerjan> i didn't think english had long consonants
06:23:56 <oerjan> and what they call long vowels aren't really either
06:24:00 <oerjan> iiuc
06:24:47 <oerjan> (being diphthongs)
06:25:45 <oerjan> <bsmntbombdood> how does X make the language turing-complete?
06:25:59 <oerjan> by turning it into a rotation of perl, iirc
06:26:12 <oerjan> (at least in my implementation)
06:27:48 <bsmntbombdood> i don't get it
06:28:47 <oerjan> well it's a joke, obviously
06:29:23 <oerjan> X makes the rest of the program being interpreted as a TC language.
06:29:36 <oerjan> but it is a _random_ TC language, so that it is still useless.
06:29:50 <oerjan> *be
06:36:49 -!- MizardX- has joined.
06:39:33 -!- MizardX- has quit (Read error: 131 (Connection reset by peer)).
06:40:11 -!- MizardX- has joined.
06:41:31 -!- MizardX has quit (Read error: 60 (Operation timed out)).
06:41:39 -!- MizardX- has changed nick to MizardX.
06:47:02 -!- Slereah_ has quit (calvino.freenode.net irc.freenode.net).
06:49:33 -!- Slereah_ has joined.
06:50:24 -!- Slereah has joined.
07:01:52 -!- Slereah_ has quit (calvino.freenode.net irc.freenode.net).
07:33:56 -!- oerjan has quit ("leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:36:28 -!- neldoreth has joined.
08:50:09 -!- tombom has joined.
09:02:49 -!- Slereah_ has joined.
09:03:32 <oklofok> oerjan: isn't "beep" a long vowel?
09:11:12 <fizzie> Wiktionary's english pronunciation key has four cases of "x:" IPA markup, which would sound long-wovelish: the ɑː part in father, the iː part in ease, see (and presumably beep), the ɔː part in law, caught, saw and uː in lose, soon. Oh, and a ɜː(ɹ) construction in fur, bird.
09:12:24 <fizzie> I can't think of an example where the just different vowel lengths would have different meanings. We (Finnish) do that all the time.
09:12:33 <fizzie> s/the just/just the/
09:13:58 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:15:47 <oklofok> they often have different meanings, it's just the vowel changes when it's lengthened
09:35:37 <psygnisfive> english has no vowel length contrast
09:35:47 <psygnisfive> no true contrast, anyway
09:37:40 <psygnisfive> you can analyze /i:/ and /I/ as contrasting length, but they differ greatly in quality
09:38:04 <psygnisfive> and often phonetically the length isnt different at all
09:53:39 -!- GreaseMonkey has quit ("Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit: Quit").
10:18:29 * AnMaster ponders the Swedish "sil" and "sill". They mean very different things
10:18:46 <AnMaster> and vowel length is the only difference
10:19:52 <AnMaster> sil ~ sieve, sill is a type of fish, don't remember the English name for it.
10:24:51 <fizzie> Finnish "taka", "takka", "taakka" and "takaa" all have very different meanings. ("taka" ~ back, used in compound words, "takka" is a fireplace, "taakka" ~ burden, and "takaa" is the third-person-singular form of the verb assure, although it's also approximately "from behind" too.)
10:25:10 <AnMaster> fizzie, assure from behind?
10:27:17 <fizzie> That would be "takaa takaa", although it doesn't really make sense. Usually the object being assured would be rather close to the "takaa"-used-as-verb. I can't really invent a non-artificial-sounding sentece which would have those two words consecutively like that.
10:27:52 <AnMaster> fizzie, it sounds rather strange that a single word has two so different meanings...
10:28:08 <AnMaster> and with the same spelling
10:28:36 <fizzie> One is an adverb, the other is a verb, so it's usually rather easy to interpret from context which one it is.
10:29:00 <AnMaster> fizzie, but why have they ended up the same?
10:29:16 <fizzie> And it's only that particular third-person-singular case of the verb, anyway. The infinitive ("to assure") is "taata".
10:30:20 <fizzie> I assure ~ min takaan, you assure ~ sin takaat, he/she assures ~ hn takaa, we assure ~ me takaamme, you assure (plural) ~ te takaatte, they assure ~ he takaavat.
10:31:00 <AnMaster> fizzie, so what is the etymology(sp?)
10:31:35 <fizzie> No clue, but I assume most of our multiple-meanings words are because of the metric assload of noun cases we have.
10:31:52 <AnMaster> fizzie, "noun cases"?
10:32:17 <fizzie> http://en.wikipedia.org/wiki/Finnish_language_noun_cases
10:32:35 <fizzie> Goes with the "not a lot of prepositions" thing.
10:32:39 <AnMaster> oh sorry, got to rush, I'm late...
10:32:40 <AnMaster> afk
10:33:21 <fizzie> No worries, it's not like it makes any sense; it's a natural language, after all.
10:51:45 <Deewiant> AnMaster: In most cases if you ask about the etymology of a Finnish word you'll get either 'nobody knows' or 'proto-Finno-Ugric' both of which mean essentially that it's been like that forever and nobody knows why.
10:53:58 <fizzie> Wiktionary's Etymology for "taata" is "From earlier *takata", which isn't very informative.
11:11:00 <fizzie> Why is the official support always so useless? I have this NAS box with two SATA slots, and two 750 GB disks full of stuff in a RAID-1 setup in a computer, and would like to migrate them to the NAS box so they can noisily hum in a different room. Official answer as to how to do it without backing up all those gigabytes to somewhere elsewhere:
11:11:39 <fizzie> "This cannot be done cause the filesystem in the NSA-220. This needs to be set up in the NSA and you cant import a disc with content on it. So you need to move the files to another HDD and then import the files that you want."
11:12:00 -!- BeholdMyGlory has joined.
11:13:32 <Deewiant> Damn, I thought djinn and jean would be a long-wovel-distinction example but they're /dʒɪn/ and /dʒiːn/
11:14:20 <fizzie> I asked if their web-configurator is flexible enough so that I could configure one of those disks as a degraded RAID-1 thing, but they ignored that completely. I also asked for details on how the box sets up disks and filesystems, so I could prepare the disk in advance (the box is linux-based and does not use any proprietary file systems or anything), but they also ignored that completely.
11:14:45 <fizzie> Just "this cannot be done cause the filesystem". Right.
11:17:26 <fizzie> I'm not sure I could reliably distinguish ɪ and i.
11:18:15 <Deewiant> I think they're somewhat interchangeable in Finnish.
11:18:39 <Deewiant> Anyhoo, the latter is 'sharper' if you can understand that
11:18:57 <Deewiant> Where you open your mouth really wide
11:20:06 <Deewiant> I think I can pronounce 'niin' either way, for instance, and neither really sounds wrong
11:22:04 <Deewiant> It could be I'm just doing it wrong, alternatively. :-P
11:22:08 -!- BeholdMyGlory has quit (Excess Flood).
11:22:29 -!- BeholdMyGlory has joined.
11:22:31 -!- BeholdMyGlory has quit (Remote closed the connection).
11:23:22 <fizzie> There are some phonology-related thing our Swedish teacher gripes about constantly, and I think it's another case of pretty-much-equivalent-in-Finnish pair.
11:25:31 <fizzie> I think it was related to ø/ɵ-like sounds.
11:26:09 <fizzie> Even the symbols look pretty similar. :p
11:29:08 <fizzie> Oh, and the Russian ɨ, that was another difficult one.
12:10:14 -!- neldoreth has quit ("leaving").
12:10:20 -!- neldoreth has joined.
12:19:36 -!- fizzie has left (?).
12:19:54 -!- fizzie has joined.
13:28:44 <AnMaster> Deewiant, heh ok
13:30:25 <AnMaster> Deewiant, to me djinn and jean sound quite different...?
13:31:20 <oklofok> <0lö.-
13:33:09 <oklofok> × AnMaster ponders the Swedish "sil" and "sill". They mean very different things ||| AnMaster: and vowel length is the only difference <<< a swedish guy once told me the long ones are different from the short ones
13:33:28 <oklofok> (ofc you probably wouldn't know that from just speaking it natively)
13:33:35 <AnMaster> hm?
13:33:57 <AnMaster> double consonant in Swedish means the vowel directly in front is shorter
13:34:00 <oklofok> that swedish has different vowels for short and long versions.
13:34:21 <oklofok> yes, and a different vowel, according to a swedish person on #random_channel
13:34:37 <AnMaster> btw in English I find the difference between joke/yoke/yolk hard. I mean to me they sound almost the same
13:34:44 <AnMaster> mean,*
13:35:07 <AnMaster> oklofok, hm maybe, we usually call them long/short versions though
13:35:18 <oklofok> joke and yoke have nothing to do with each other
13:35:20 <AnMaster> maybe IPA thinks it is a different one
13:35:59 <oklofok> the "y" there is like swedish "jag", the "j" is a french version of the usual "ch" sound
13:36:06 <oklofok> i'm not sure whether that exists in swedish
13:36:11 <AnMaster> hm?
13:36:23 <oklofok> and i think yolk is equal to yoke
13:36:35 <oklofok> AnMaster: what was unclear?
13:36:54 <AnMaster> oklofok, they yoke and joke sound the same to me
13:37:12 <fizzie> The word "tjock" has a vaguely joke-'j'-like sound, I think. Although my Swedish is very rusty.
13:37:20 <AnMaster> s/they//
13:37:23 <oklofok> AnMaster: they can't sound the same to you, sorry.
13:37:32 <AnMaster> oklofok, ?
13:38:02 <AnMaster> fizzie, hm. That would depend on dialect. Like "tjoke"?
13:38:15 <AnMaster> more like "djoke" someone said iirc
13:38:43 <oklofok> AnMaster: swedish has the consonant that starts "yoke", i'm not sure it has the one in "joke", but it's just a voiced "ch", which you should have.
13:39:11 * AnMaster wonders why the faviconfor wikitionary looks like random garbage in one tab...
13:39:18 <AnMaster> favicon for*
13:39:44 <AnMaster> hm reloading it fixed it
13:39:52 <oklofok> AnMaster: also i checked the yoke/yolk thing at one source, and they seem to be the same.
13:40:07 <oklofok> so you probably shouldn't be able to distinguish between them
13:40:10 <AnMaster> oklofok, http://en.wiktionary.org/wiki/yolk lists too ways to pronounce it
13:40:38 <AnMaster> UK/US
13:40:45 <oklofok> but you definitely should recognize joke/yolk
13:41:40 <oklofok> unless you pronounce "joke" like you would in swedish ofc
13:42:03 <AnMaster> oklofok, and that I can't really hear the difference...
13:43:13 <AnMaster> s/that//
13:44:10 <oklofok> well. confusing "ch" and "j" is a common mistake for finns, but we don't have either of those really. and i'm pretty sure you have all the consonants necessary to distinguish between joke and yoke.
13:45:31 <oklofok> i mean it's still not acceptable not to know the difference ofc, but at least i can believe it could happen.
13:45:53 <AnMaster> oklofok, it is the difference in the j/y sound there that is hard + I'm pretty sure it isn't at all like "tjock" as fizzie suggested. At least not the way "tjock" is pronounced in these parts of the country...
13:46:16 <fizzie> I have to agree that the difference between /j/ and /dʒ/ (which is what "yoke" and "joke" start with, according to OED) should be rather noticeable, given that the first one isn't even a fricative ("shshsh"-like sound) at all.
13:46:43 <AnMaster> fizzie, we don't have "fricative" sounds in Swedish though
13:46:49 <fizzie> Uh, you do.
13:46:49 <oklofok> ...
13:46:55 <AnMaster> fizzie, not for j at least?
13:47:02 * oklofok suddenly symphatizes with ehird
13:47:06 <fizzie> For example ɕ, as in kjol "skirt".
13:47:39 * oklofok cannot accept someone knowing less phonetics than the little that he does
13:47:41 <AnMaster> fizzie, hm, "fricative" is what we in Swedish call "tonande ljud" right?
13:48:18 <fizzie> I don't know Swedish, but that sounds like "voiced sound", which is a very different thing.
13:48:24 <AnMaster> hm
13:48:43 <oklofok> and swedish has voiced sounds
13:48:57 <AnMaster> fizzie, then what is "fricative" in Swedish? I don't have a dictionary around here atm...
13:50:05 <oklofok> fizzie: isn't the "y" kinda fricative? i mean you're basically narrowing the passage of air in the vowel "e", which is afaik the definition of fricative
13:50:17 <oklofok> i mean i know it isn't actually a fricative, but i don't think it's that far away
13:50:41 <fizzie> Well, your fricatives (according to wikipedia) are f (as in 'fot' - foot), s (as in 'sot' - soot), ɕ (as in 'kjol' - skirt) and ɧ (as in 'sjok' - chunk).
13:51:29 <fizzie> oklofok: I think you need to get some serious turbulence in your airflow before you can call it a fricative.
13:52:28 <fizzie> Any shushy-type sound probably qualifies. But Swedish doesn't seem to have any voiced fricatives. Maybe. I know so little about these things that any attempt at sensible discussion is pretty much doomed to failure.
13:52:35 * AnMaster tries to find the common pattern in those sounds
13:52:38 <oklofok> actually i can pronounce it as a fricative, getting an "h" type of sound
13:52:50 <oklofok> so i guess it's not very fricative
13:53:31 <AnMaster> ah hm I think I see
13:53:32 <oklofok> fizzie: yeah but this is not about sensible discussion, it's about being annoyed about AnMaster not knowing english! or maybe it's just me.
13:54:03 <oklofok> anyway there was this game idea i had, any nice name ideas?
13:54:06 <AnMaster> well Swedish doesn't have /dʒ/ afaik. If we do, where?
13:55:01 <fizzie> I don't think you do; but personally I find even the "fricative/not" difference between j in yoke and dʒ in joke very discernible.
13:55:26 <AnMaster> fizzie, you have those sounds in fi?
13:55:42 <oklofok> no, but like you, we have the "y"
13:56:09 <AnMaster> yes that isn't an issue. The issue is that /dʒ/ sound the same!
13:57:10 <fizzie> We have precious few sounds here. Especially as far as fricatives go, we just have f and s, unless you start counting non-native words.
13:57:12 <oklofok> actually just the fact there's a "d" before the voiced "sh" should be enough of a difference
13:57:27 <oklofok> also you could argue we don't really have f
13:58:01 <fizzie> Actually, officially speaking it should be *we* who should be complaining about the joke/yoke thing, since:
13:58:03 <fizzie> "[f] appears in native words only in the Southwestern dialects, but is reliably distinguished by Finnish speakers. The rest of the foreign fricatives are not. 'š' or 'sh' [ʃ] appears only in non-native words, often pronounced 's', although some educated speakers make a distinction between e.g. šakki 'chess' and sakki 'a gang (of people)'. The orthography also includes the letters 'z' [z] and 'ž' or 'zh' [ʒ], although their use is marginal, and they have
13:58:03 <fizzie> no true phonemic status. For example, azeri and džonkki may be pronounced aseri and tsonkki without fear of confusion."
13:58:59 <fizzie> According to that, we can barely distinguish s and f.
13:59:26 <AnMaster> s/f is easy for me
13:59:37 <oklofok> then again the finnish recommendation is to pronounce all loan words as originally spoken, which i don't think all languages enforce
13:59:48 <oklofok> AnMaster: kind of a useless comment
13:59:54 <AnMaster> oklofok, yes
14:00:01 <oklofok> maybe that was your point
14:00:17 <AnMaster> well partly
14:00:21 <AnMaster> well,*
14:03:18 <fizzie> Incidentally, I blame this fricative-poorness for the fact that learning Russian pronunciation was so difficult; they've got something like seven s-style characters: с, ц, ч, ш, щ, х and ж.
14:03:41 <AnMaster> heh
14:04:41 <fizzie> Especially the ш, щ difference was something really silly. Wikipedia explains the first as "sh in shut (voiceless retroflex fricative)" and the second as "similar to the "sh" in sheer (but with a slightly more "y" sound)
14:04:41 <fizzie> (sometimes followed by
14:04:41 <fizzie> a sound similar to the "ch" in chip (closer to a "y" and "ch" sound at the same time) such as the phrase "Welsh cheese") (voiceless alveolo-palatal fricative)"
14:05:45 <AnMaster> fizzie, isn't the sh in shut and sheer the same?
14:06:02 <fizzie> To me it is. But note that it's "with a slightly more 'y' sound".
14:06:24 <AnMaster> err, sh with y? I can't even imagine a mix of them
14:07:37 <fizzie> It just sounded (in the samples we listened to) "sharper" in an unidentifiably vague way, to me.
14:11:00 <fizzie> Actually that щ, being the voiceless alveolo-palatal fricative, should be pronounced pretty much exactly like your word 'kjol'. So that's what it sounds like. Now you just need to imagine the same thing but "with a slightly less 'y' sound" to understand ш.
14:16:11 <oklofok> i don't know about the "more 'y' sound" thing, but the sh's sound different to me because of the following vowel
14:17:38 <oklofok> but dunno.
14:20:11 <fizzie> Oh, and then Russian has the ы character, pronounced /ɨ/, which we completely lack; that sounded pretty strange too. It's almost midway between very "normal" i and u. (Swedish example words: is 'ice', bot 'penance' -- apparently you only have our "u" vowel as a long one, the short variant is a bit different.)
14:20:46 <AnMaster> eh?
14:20:55 <AnMaster> where is u in bot?
14:21:11 <AnMaster> or do you call the o sound "u" suddenly?
14:21:18 <oklofok> because he's talking to me
14:21:34 <oklofok> and explained what he meant by swedish examples so you'd understand too
14:22:24 <oklofok> (also the finnish vowels are better as universal vowels, since they are unambiguous, unlike yours)
14:22:28 <AnMaster> hm so it is between a long "i" and a long "o"?
14:22:48 <oklofok> apparently.
14:23:02 <oklofok> can't say i see how that would go, but i suck at vowels
14:23:18 <oklofok> they are mostly just a big mess to me
14:23:59 <fizzie> AnMaster: Yes, and according to ickypedia it's also found in Swedish: in the word bi ('bee') "in dialects in Närke and Bohuslän and in sociolects in Stockholm and Gothenburg".
14:24:32 <fizzie> Sociolect is a funny term.
14:24:47 <AnMaster> fizzie, ah that iiiii
14:25:11 <AnMaster> fizzie, The i in Närke is different from the i in Bohuslän
14:25:23 <oklofok> hmm, i may know it too, but would have to hear it
14:25:26 <AnMaster> but you need to be from either Närke or Bohuslän to hear the difference. Most Swedes don't
14:25:34 <fizzie> oklofok: I think someone compared it to a drunk man speaking.
14:25:39 * AnMaster speaks with a slight hint of närkinska
14:25:59 <oklofok> fizzie: then it's probably what i'm thinkin of
14:26:01 <oklofok> *g
14:26:24 <oklofok> maybe i should take those phonetics lessons from psygnisfive at some point
14:27:24 <fizzie> I'm sure he'd be more than happy to give you some "lessons", yes.
14:27:43 <oklofok> ;;;;)
14:27:54 <oklofok> yeah that wasn't very funny
14:28:38 <oklofok> with actual linguistics i wouldn't be as afraid, since he's probably more interested in that than sex
14:28:49 <oklofok> but i don't think he's that interested in phonetics
14:28:52 <fizzie> "grep -i 'psygnisfive' * | grep -i oklopol" was funny reading.
14:29:04 <oklofok> :D
14:29:05 <oklofok> paste
14:30:01 <fizzie> http://pastie.org/private/dbfuik4fr6bshmy0r4kf9a is a very short snippet.
14:30:10 <fizzie> He just sounds so excited in that, is all.
14:30:43 <oklofok> i love the beginning
14:30:59 <oklofok> "look at me oklopol!"
14:31:50 <oklofok> i'm actually doing esolang related stuff atm btw :o
14:32:10 <oklofok> finally my life is back on track
14:33:18 <fizzie> Ooh, that reminds me, I have a seminar course presentation tomorrow, I should be doing some slides for it. And there's a "design some homework for the other students" thing too.
14:33:32 <fizzie> (I'm not sure why it reminds me; the seminar is not esolang-related.)
14:34:47 <oklofok> "design some homework for the other students" <<< like on a course?
14:35:10 <oklofok> we once had "make a question to be put on the exam" in high school
14:35:37 <fizzie> Yes. It's this seminar course; every presentationer has to do a "does not take more than 30 minutes to answer" homework assignment, present it to the other students, and grade them.
14:36:04 <fizzie> Come to think of it, I should also actually *do* the last guy's homework thing.
14:36:06 <oklofok> so O(n) homework
14:36:23 <oklofok> hopefully it's not a big seminar
14:36:33 <fizzie> It's not; there's something like 14-16 of us.
14:37:03 <fizzie> 12, actually.
14:37:29 <oklofok> seminar about what? can you somehow integrate a stack language for creating fractals in the exercise?
14:37:51 <fizzie> I don't think I can, as it's about noise-robust speech recognition.
14:39:24 <fizzie> I don't think I mentioned, but my conference paper (vaguely on the same topics) was accepted to this SPECOM conference (in St. Petersburg this summer), so now I'll get a published paper. I feel like a real science-man! (Or, as we in the business call it, a scientsist.)
14:39:43 <oklofok> cool, you're practically famous!
14:40:07 <fizzie> It does lead to a well-defined Erdös number, but that's about it as far as benefits go.
14:41:09 <oklofok> and what would that number be (in value)?
14:41:39 <fizzie> A six, through the co-author path: fizzie - Kurimo, Mikko - Oja, Erkki - Cooper, Leon N. - Zeitouni, Ofer - Diaconis, Persi W. - Erdös, Paul.
14:41:58 <fizzie> I have not verified that this is the shortest path, so 6 is more of an upper bound really.
14:42:23 <oklofok> :D
14:42:38 <oklofok> is there a good database of who's worked with whom?
14:43:25 <fizzie> There's the MathSciNet database of math-related papers.
14:43:51 <fizzie> http://www.ams.org/mathscinet/collaborationDistance.html if you happen to be in a network of a subscribing institution.
14:44:13 <oklofok> i am not
14:44:18 <fizzie> There's a "Use Erdös" button directly next to the "another author" text field, so it's pretty obvious what it is for.
14:44:40 <oklofok> :D
14:44:49 <fizzie> But it's only math stuff, so I had to do some creative guessing to find the beginning of that path.
14:45:43 * oklofok looked up oerjan
14:45:48 <oklofok> he beat you.
14:45:56 <fizzie> It's very likely.
14:46:09 <fizzie> 6 is not an especially low number.
14:49:43 <fizzie> Should be an ő there in Erdős instead of ö, but I didn't bother figuring out how to get that character here.
14:53:34 <oklofok> and ended up both doing it wrong *and* figuring it out
14:55:09 <fizzie> I had it written correctly in earlier irclogs, so when I grepped for that value, I got a copy-pasteable ő for free.
15:50:10 -!- Judofyr has quit (Remote closed the connection).
15:53:07 <Deewiant> AnMaster: djinn and jean sound almost the same, the difference is only in the vowel sound
15:54:04 -!- Hiato has joined.
15:54:41 <oklofok> i've heard you speak perfect english, Deewiant, is this true
15:55:00 <Deewiant> Of course
15:55:20 <oklofok> mm that's nice
15:58:13 <fizzie> I've heard that you are also in all other senses the singular example of perfection in this world, Deewiant; is this true too?
15:58:24 <Deewiant> Of course
15:58:45 <oklofok> hey! i really did hear that :P
15:59:29 <oklofok> and you will never know where
15:59:43 <oklofok> mwahahah
15:59:45 * oklofok leaves
16:05:12 <Asztal_> the gu
16:06:53 <Asztal_> Stupid enter key... the hungarians translate the english 'j' as dzs, so the djin/jean thing makes sense to me
16:07:20 <Deewiant> Well, an alternative spelling for 'djinn' is 'jinn' :-P
16:07:26 <Asztal_> who put return next to backspace, and are they alive so I can stab them?
16:07:26 <fizzie> The Gungans.
16:07:46 <Deewiant> Just move backspace elsewhere if it bothers you
16:08:05 <fizzie> On certain laptop keyboards, it's easy to hit enter instead of ' when doing contractions.
16:10:05 <AnMaster> Deewiant, well yes, but that is a rather large difference
16:10:41 <Deewiant> AnMaster: Yes, I never claimed that they're supposed to sound the same, the whole point was that they'd differ in the length of the vowel only
16:10:47 <AnMaster> bbl
16:10:54 <Deewiant> And that was a failed example because they differ in the vowel itself, not only its length
17:12:46 <AnMaster> Deewiant, ah yes
17:38:26 <ehird> 05:34:37 <AnMaster> btw in English I find the difference between joke/yoke/yolk hard. I mean to me they sound almost the same
17:38:33 <ehird> hrm, that's a pet peeve of mine…
17:38:41 <AnMaster> ehird, eh?
17:38:41 <ehird> yolk/yoke I can understand
17:38:46 -!- FireFly has joined.
17:38:47 <ehird> but in english y and j are very separat
17:38:47 <ehird> e
17:38:59 <ehird> j is sorta like... dg
17:39:02 <AnMaster> ehird, well it is hard if you don't have one of the sounds in your own language
17:39:06 <ehird> yes
17:39:29 <AnMaster> ehird, and Swedish doesn't have /dʒ/
17:39:49 <Deewiant> AnMaster: But you've got /tʃ/, no?
17:39:59 <Deewiant> Hmm, maybe you don't actually
17:40:01 <AnMaster> Deewiant, *looks up what that one is*
17:40:12 <Deewiant> Swedish is such a soft language :-P
17:40:18 <oklofok> they do, and the "d" is audible too, and they have "d"
17:40:19 <Deewiant> No, you don't have that
17:40:22 <oklofok> hmm
17:40:36 <oklofok> i don't actually see that character correctly
17:40:43 <oklofok> so may be wrong yes
17:41:08 <Deewiant> AnMaster: http://www.youtube.com/watch?v=WxwrVw6Vsjw
17:41:30 <AnMaster> Deewiant, as "ch" in "chip" according to wikipedia? We have it in non-native words. Such as "chips" (the food stuff)
17:41:33 <ehird> AnMaster: My attempt to say yolk and joke as clearly as possible: http://filebin.ca/bxjget/yolkyjokey.ogg
17:41:38 <Deewiant> AnMaster: Yep
17:41:41 <ehird> May help :P. (May amuse others.)
17:41:47 <AnMaster> Deewiant, though most people say it a bit differently in Swedish
17:41:58 <AnMaster> something like "schips"
17:42:00 <Deewiant> AnMaster: Yes, I'd expect so
17:42:01 <AnMaster> if you see what I mean
17:42:08 <Deewiant> Because it's not a Swedish sound.
17:42:11 <AnMaster> indeed
17:42:28 <oklofok> what's the "tjock" sound?
17:43:20 <AnMaster> ehird, well there is a very slight difference that i heard the second time I listened to it. However some of the times I'm not sure which you said.
17:43:23 <Deewiant> Plain /tjok/ or something, I think
17:43:30 <oklofok> ohh.
17:43:36 <ehird> AnMaster: Wow. Swedish ears are broken :P
17:43:43 <ehird> Have a transcript:
17:43:43 <AnMaster> Deewiant, depends a bit on dialect
17:44:18 <AnMaster> (I think)
17:44:23 <ehird> AnMaster: yolk, yolk, joke, joke, joke, joke, blah blah blah joke, joke, joke, JOKE, yolk, yolk, YOLK
17:44:39 <AnMaster> or maybe sociolect (spelling?)
17:45:09 <Deewiant> ehird: That JOKE sounded like CHOKE to me
17:45:17 <Deewiant> Too aspirated
17:45:20 <ehird> Deewiant: Yeah I was trying to emphasize the J
17:45:23 <ehird> didn't work too well
17:47:56 <AnMaster> ehird, I doubt you could hear the difference between the various dialectal "i" variations in Sweden. Especially between Närkinska and Bohuslänska, I even know a lot of Swedes that think they are the same (they are not). Alas I can't record it to help you compare since I can't speak Bohusländska.
17:48:09 <ehird> I doubt so too
17:48:13 <AnMaster> (though I can manage Närkinska like a native)
17:48:17 <ehird> Fuck, I have troubles with ü.
17:48:29 <Deewiant> ü?
17:48:30 <AnMaster> ehird, as in "uber"?
17:48:38 <Deewiant> Oh, /y/.
17:48:44 <AnMaster> yes it is y-ish
17:48:47 <ehird> AnMaster: Well, I can handle that. But a lot of occurances are hard to make out for me.
17:48:47 <AnMaster> very easy for me
17:49:02 <AnMaster> and I don't even know German. I took French classes instead!
17:49:19 <ehird> shi shi shi shi, shi shi shi, shi shi shi shi shi
17:49:20 <AnMaster> ehird, Swedish has that sound. Though we spell it using "y"
17:49:25 <AnMaster> not a very common sound though
17:49:35 <Deewiant> It's not quite the same actually
17:49:37 <ehird> (For the person who lives under a rock: http://en.wikipedia.org/wiki/Lion-Eating_Poet_in_the_Stone_Den)
17:49:37 <oklofok> the "shi"'s shouldn't be too hard to distinguish
17:49:40 <Deewiant> I thought they sounded a bit different
17:49:49 <AnMaster> Deewiant, oh? They are very close though
17:50:02 <oklofok> (unless there are phonetic differences on top of the tones)
17:50:28 <oklofok> (and i don't think there are)
17:50:36 <Deewiant> Or hmm, I'm not sure, http://en.wikipedia.org/wiki/German_phonology isn't explicit about which vowel maps to which letter
17:50:55 <Deewiant> Anyhoo, Swedish y is /ʏ/ and Finnish y is /y/
17:51:07 <AnMaster> btw I know someone from Germany who lived in Sweden since the 1950s or so and still have troubles with the Swedish word "sju" (seven)
17:51:11 <Deewiant> http://en.wikipedia.org/wiki/Finnish_phonology says German ü is /y/ but I'm not sure I agree
17:51:23 <AnMaster> don't know what the IPA is for it
17:51:44 <Deewiant> AnMaster: /ɧʏ/ I think
17:51:59 <AnMaster> Deewiant, that looks like a blur in this font.
17:52:08 <ehird> James while John had^N a better effect on the teacher.
17:52:12 <Deewiant> http://en.wikipedia.org/wiki/Voiceless_palatal-velar_fricative - took me a few months to learn this one to an acceptable level when I first learned Swedish
17:52:15 <ehird> s/N/n/
17:52:28 <AnMaster> Deewiant, oh that is easy
17:52:29 <AnMaster> for me
17:52:30 <AnMaster> ;P
17:52:45 <FireFly> :D
17:52:51 <Deewiant> Well yeah, you've used it daily for 20 years :-P
17:53:40 <AnMaster> Deewiant, what I remember was a problem is that it can be spelled in lots of way. That was a major problem when I was around 6 or 7 or so
17:54:02 <oklofok> Deewiant: is that the "sju" sound?
17:54:04 <Deewiant> Sj? Can it?
17:54:10 <Deewiant> oklofok: I'm fairly sure it is
17:54:14 <oklofok> right
17:54:25 <oklofok> i think i know it well enough to fool most finns, probably not swedes tho
17:54:27 <Deewiant> And yes, it is, the other one I thought it was is the same one
17:54:36 <ehird> i wanna learn
17:54:38 <Deewiant> oklofok: Yeah, I guess I'm that way too
17:54:39 <oklofok> then again many finns don't know it exists.
17:54:39 <ehird> ITHKUIL PRONOUNCIATION
17:54:47 <ehird> and then KILL MYSELF out of HORROR
17:54:53 <AnMaster> err
17:55:08 <AnMaster> Deewiant, that page you linked said "sje-sound"
17:55:10 <Deewiant> ehird: Start with Czech
17:55:17 <AnMaster> sure that is the one in sju?
17:56:03 <AnMaster> isn't it the one in "stjärna" or "tjära"?
17:56:06 <Deewiant> AnMaster: e.g. sjok
17:56:26 <AnMaster> Deewiant, what is the sound in stjärna and tjära called then?
17:56:44 <Deewiant> AnMaster: I think that's two sounds
17:56:53 <AnMaster> Deewiant, "stj"?
17:56:54 <FireFly> ...yeah
17:57:13 <Deewiant> AnMaster: No, the "tj" part
17:57:24 <Deewiant> AnMaster: I mean, the "s" is obviously separate :-P
17:57:25 <FireFly> That's two different sounds?
17:57:28 <AnMaster> well yes
17:57:50 * AnMaster considers.
17:58:02 <ehird> I want a language based on the lambda calculus and horn clauses or something.
17:58:03 <Deewiant> AnMaster: ɕ is the sound at the start of "kjol"
17:58:10 <Deewiant> But that's a bit different IMO?
17:58:20 <AnMaster> ok they are slightly different yes, but rather close
17:58:29 <ehird> Like, it's all anonymous horn clauses.
17:58:36 <ehird> Natural laanguge.
17:58:37 <ehird> That is.
17:58:38 <ehird> Conlang.
17:58:44 <FireFly> That's the kind of tj in tjära
17:59:01 <FireFly> The kj in kjol
17:59:05 <AnMaster> just don't mix up tjära with kära!
17:59:14 <FireFly> :D
17:59:33 <Deewiant> That's easy, they're very different :-P
17:59:33 <AnMaster> I mean it could be awfully embarrassing
17:59:51 <FireFly> "Jag har min kära i burken där"
18:00:04 <Deewiant> :-D
18:00:04 <AnMaster> Deewiant, actually no. Or it depends on dialect. There is a difference yes. But not that large.
18:00:12 <AnMaster> FireFly, hehe
18:00:27 <Deewiant> AnMaster: Well, to me it's an obvious difference.
18:00:47 <Deewiant> AnMaster: It's like the difference between 'j' and 'ch'. (Or 'j' and 'y'? :-P)
18:01:13 <AnMaster> Deewiant, tch and k?
18:01:14 <oklofok> how's "tjära" pronounced?
18:01:46 <AnMaster> also it is rather easy to say something in the middle that could be interpreted as either
18:02:19 <AnMaster> Deewiant, from what I heard of "finlandssvenska" the difference is way larger in that
18:02:42 <Deewiant> Well yeah, because Finns can't pronounce stuff correctly. :-P
18:02:43 <oklofok> finlandssvenska is an unlanguage
18:02:56 <FireFly> Like unlambda
18:03:00 <Deewiant> It could be that I'm still thinking of 'tjära' incorrectly.
18:03:02 <oklofok> yes, exactly
18:03:42 <AnMaster> Deewiant, I remember some animated movies based on Tove Janson's books that I watched when I was small. They spoke "finlandssvenska" there. And there the difference was much larger yes
18:04:35 <AnMaster> FireFly, btw can you hear a difference between the "i" sound in Närkinska and the "i" sound in Bohusländska?
18:04:40 <oklofok> i don't see why any finnish person would want to learn finlandssvenska, maybe we should have finlandsenglish too and just accept the fact people don't like to learn languages well
18:05:00 * FireFly is no good at dialects :
18:05:05 * FireFly is no good at dialects :/
18:05:09 <FireFly> Eh
18:05:13 <AnMaster> mhm
18:05:13 <FireFly> Bleh
18:05:18 <FireFly> [18:05:03] [KVS] Warning: Stray backslash at the end of the script
18:05:29 <AnMaster> FireFly, "KVS"?
18:05:40 <FireFly> KVIrc
18:05:48 <AnMaster> never heard of it before
18:05:55 <ehird> it's a shit kde client
18:06:08 * FireFly likes it
18:06:32 <ehird> 05:47:02 * oklofok suddenly symphatizes with ehird
18:06:34 <ehird> <3
18:06:36 <ehird> let's get married.
18:07:03 <AnMaster> probably what ehird said... since the package description includes the word "advanced". It is like you should be careful of any country known as the "Democratic republic of <whatever>"
18:07:18 <AnMaster> those are probably not democracies
18:07:29 <ehird> doesn't emacs claim to be advanced
18:07:35 <ehird> :)
18:07:58 <FireFly> Linux is more 'advanced' than Windows
18:08:02 <FireFly> Beware
18:08:06 <AnMaster> ehird, that is different. I was talking about the one line descriptions in the package manager. And for emacs that is: Description: The extensible, customizable, self-documenting real-time display editor
18:08:13 <ehird> AnMaster: democratic republic of the united states of america
18:08:14 <AnMaster> which sound just as bad
18:08:28 <ehird> REAL-TIME DISPLAY EDITOR, AnMaster
18:08:29 <ehird> that's amazing
18:08:40 <ehird> you can edit and see changes as soon as your screen repaints!
18:08:46 <AnMaster> ehird, yeah package maintainer must be an idiot
18:08:47 <ehird> you can see lines you're not even editing for context!
18:08:50 <ehird> this emacs is *wild*
18:08:54 <ehird> AnMaster: gnu.org describes it as that
18:08:59 <AnMaster> oh my
18:09:03 <ehird> blame rms being a 70s hobo
18:09:10 <lament> boho
18:09:21 <ehird> i'm going to watch stephen fry's hilarious gnu video now
18:09:21 <AnMaster> ehird, isn't the full name "United States of America"?
18:09:27 <ehird> and cringe
18:09:30 <ehird> AnMaster: it was a joke
18:09:33 <AnMaster> ah
18:09:49 <oklofok> :D
18:10:01 <AnMaster> ehird, I would have guessed that if it had been before Obama became president. Now it was a bit more confusing
18:10:27 <ehird> yeah obama shits rainbows and magic.
18:10:40 <AnMaster> no. But do you prefer Obama or Bush?
18:11:02 <oklofok> family guy said bush is pretty stupid
18:11:05 <ehird> do you want a bath of dung or a bath of vomit or a bath of urine CHOOSE QUICKLY
18:11:22 <oklofok> then again south park said obama is a jewel thief.
18:11:32 <oklofok> i don't know what to believe.
18:11:42 <ehird> bushama bin laden
18:11:52 <ehird> ^ITHE TRUTH IS OUT^I
18:11:55 <AnMaster> ehird, if I were a pig: the first. But since I'm a human the last one + whatever they use to clean water on ISS.
18:12:02 <oklofok> i'd probably go for urine
18:12:25 <oklofok> then number one, vomit probably last
18:13:48 <AnMaster> http://www.kvirc.net/ <-- wth at the web site design. The thing at the top look like from some fantasy game...
18:13:58 <AnMaster> what on earth does it has to do with irc?
18:14:12 <ehird> AnMaster: a bunch of irc clients are like that
18:14:14 <ehird> dunno why
18:14:20 <ehird> probably because of irc's LEET HAXOR sort of rep.
18:14:28 <AnMaster> heh
18:14:32 <AnMaster> ehird, what other ones?
18:14:38 <ehird> crap ones
18:15:17 <ehird> 17:15 CTCP-reply VERSION from Robdgreat : Microsoft Internet Explorer v3.0
18:15:19 <ehird> AIEEEEEEEEEEE
18:15:24 <AnMaster> http://www.irssi.org/ <-- "irssi - the client of the future" hahaha.
18:15:25 <ehird> :D
18:15:31 <AnMaster> ehird, you would like that!
18:15:46 <AnMaster> it has a graphical installer on windows it seems!
18:15:49 <AnMaster> oh the irony
18:16:10 <ehird> 17:15 CTCP-reply ERRMSG from clog : unknown CTCP: VERSION
18:16:15 <lament> irssi the best
18:16:32 <lament> <3
18:16:35 <ehird> limechat<3
18:16:36 -!- ais523 has joined.
18:16:40 <AnMaster> lament, well it is a good client, but I don't like it personally
18:16:49 <ehird> hi ais523
18:16:52 <AnMaster> lament, for example mixing all server messages in one tab
18:16:53 <AnMaster> hi ais523
18:16:56 <ais523> hi
18:17:08 <ehird> too many irssis here
18:17:10 <lament> AnMaster: yeah, but it's the best
18:17:22 <AnMaster> lament, or not handling more than +vho properly (many networks use +a and +q too, including some that I need)
18:17:35 <lament> oh, you're the fruit that's in 4000 channels
18:17:41 <lament> i guess you have special needs then
18:17:52 <AnMaster> lament, ... 561 atm...
18:17:55 <AnMaster> far from 4000
18:18:01 <FireFly> IS A LOT
18:18:05 <lament> and i guess irssi would kinda suck for switching between them
18:18:10 <Robdgreat> yes, I use IE 3 for irc
18:18:14 <ehird> lament: 'special needs'
18:18:16 <AnMaster> I use ERC in fact
18:18:43 <lament> but if you really don't like something in irssi, you should be able to just fix it
18:18:46 <AnMaster> http://www.emacswiki.org/emacs/ERC
18:18:48 <AnMaster> :)
18:18:54 <lament> as far as i understand it has very good code
18:19:51 <AnMaster> lament, there are some major design issues that you hit on a lot of other servers. It works fine on freenode and classical networks, But it has trouble dealing with networks using ircds like unrealircd, inspircd and so on
18:20:32 -!- Hiato has quit (Connection timed out).
18:20:49 <AnMaster> lament, it can't support more prefixes than +%@ and one additional one
18:20:55 <AnMaster> I'm on a network with two additional ones
18:21:10 <AnMaster> all listed in the 005 numeric
18:21:12 <AnMaster> of course
18:21:29 <AnMaster> PREFIX=(qaohv)~&@%+
18:22:39 <lament> i'm sure the network has perfectly valid reasons to need all of those
18:23:17 <AnMaster> lament, ? Is that your defense for why irssi should be hard coded to only support one extra?
18:23:34 <ehird> lament's right you know.
18:24:06 <AnMaster> ehird, well not my problem, for an end user it should just work whatever network I connect to. Also a lot of networks have that set of prefixes
18:24:45 <AnMaster> sadly unrealircd is the most common ircd (source: http://searchirc.com/ircd-versions), and it has those prefixes
18:25:24 <lament> i guess irssi does suck then :(
18:25:25 <AnMaster> personally I prefer InspIRCd. For which this is configurable
18:25:56 <AnMaster> lament, the irssi devs refuses to fix the issue.
18:26:02 <lament> makes sense
18:26:18 <AnMaster> lament, I even know someone (a good programmer) who wrote a patch to do it, and it got rejected.
18:26:20 <lament> is their argument similar to mine?
18:26:45 <pikhq> "The network has good reasons to need prefixes, so irssi shoudln't implement them"?
18:27:15 <AnMaster> pikhq, I think lament was being ironic there. Anyway fact is most networks out there use them. Not all but a clear majority
18:27:33 <Deewiant> AnMaster: s/ironic/sarcastic/
18:27:39 <AnMaster> Deewiant, ok.
18:27:54 <lament> I wasn't sarcastic. I was ironic.
18:28:17 <ehird> lament: oh the sarcasm
18:28:37 <lament> oh the irony!
18:42:21 -!- Hiato has joined.
18:44:59 <AnMaster> Deewiant, I just read about Finlandssvenska on wikipedia. Would you say "anden" (en:~the spirit) and "anden" (en:the duck) is pronounced the same way or differently?
18:45:45 <AnMaster> err not duck exactly. http://sv.wikipedia.org/wiki/%C3%84nder
18:45:47 <AnMaster> that
18:46:51 <Deewiant> I don't know, I've never heard those pronounced :-P
18:47:42 <ehird> I invented a new fractal.
18:47:44 <AnMaster> http://sv.wikipedia.org/wiki/Finlandssvenska says they are the same in Finlandssvenska. They are almost the same in Swedish but not exactly.
18:47:51 <ehird> Well
18:47:53 <ehird> sort of fractal
18:48:18 <AnMaster> Deewiant, wp says the difference is http://sv.wikipedia.org/wiki/Tonaccent . There is however no English interwiki link from it. No idea what it is called in English
18:49:44 <ehird> Specifically, I think it's a 1d fractal after infinity iterations
18:49:50 <fizzie> This bip-bouncer is a bit funny with version replies; if I CTCP myself I get one reply from it, and one reply from each connected client.
18:50:05 <fizzie> (I noticed someone had been versionifying around.)
18:50:11 <ehird> me
18:50:41 <AnMaster> fizzie, do you know about that thing?
18:50:44 <Deewiant> AnMaster: Either I can't tell the difference or I've just never heard a case where I could compare. The only examples being from Swedish, Norwegian, and Chinish doesn't help much. :-P
18:52:07 <AnMaster> Deewiant, Tomten (en-lit:the father xmas) vs. tomten (en:the area around a free standing house that belongs to the house owner (and includes the area the actual house is built on), forgot the word for it)
18:52:19 <AnMaster> they are pronounced differently
18:52:32 <fizzie> AnMaster: I wouldn't know such details. About "tonaccent", http://en.wikipedia.org/wiki/Tone_(linguistics) is probably what you mean.
18:52:39 <Deewiant> The latter is fi:tontti btw
18:52:45 <fizzie> Chinese is a typical example of a language that heavily uses that stuff.
18:53:03 <Deewiant> AnMaster: And yes, I saw the examples on the page, and my above statement still applies.
18:53:07 <AnMaster> fizzie, ah yes that was mentioned on the Swedish page too
18:53:27 <Deewiant> AnMaster: http://en.wikipedia.org/wiki/Swedish_phonology#Stress_and_pitch
18:53:42 <Deewiant> Ah, formel/formell. Now that's an obvious difference.
18:53:52 <AnMaster> Deewiant, that isn't the same as that
18:54:15 <Deewiant> I was just about to say that.
18:54:22 <oklofok> Deewiant you know chinese?
18:54:28 <Deewiant> oklofok: No, not at all.
18:54:36 <oklofok> oh
18:54:38 <oklofok> i see.
18:54:41 <AnMaster> nor do I
18:55:05 <oklofok> oh actually psygnisfive studied at least some of it iirc
18:55:13 <Deewiant> AnMaster: Find me a short video or sound bite where they have such a word pair so I can compare
18:55:23 <oklofok> psygnisfive: the shi shi poem, are there phonetic differences in the shi's or just tonal?
18:55:28 <fizzie> Me neither, but a study-mate-sort-of-person has been in China for a year or two now, he talks about the language every now and then.
18:55:39 <AnMaster> Deewiant, I could record it, though since I just ate some very sticky nougat it wouldn't be very clear....
18:55:50 <Deewiant> >_<
18:56:09 <oklofok> :P
18:56:09 <AnMaster> Deewiant, if you can wait a few minutes I should be able to do it
18:56:27 <AnMaster> Deewiant, also what is a "sound bite"?
18:56:51 <oklofok> well you know like taking a really sound bite from a bread, one that definitely gets a piece off
18:56:53 <Deewiant> AnMaster: http://www.google.com/search?q=define%3Asound%20bite
18:57:20 <oklofok> yeah that's another definition, but it's much less useful
18:57:45 <Deewiant> And much more correct. :-P
18:58:44 <oklofok> yeah right
19:02:15 -!- oerjan has joined.
19:05:50 <ehird> GOTO CONSIDERED PARMFUL
19:06:08 <oerjan> <AnMaster> sil ~ sieve, sill is a type of fish, don't remember the English name for it.
19:06:16 <oerjan> herring, red or otherwise
19:06:20 <AnMaster> ah
19:06:33 <ehird> oerjan: ITYM julesfish
19:06:35 <ehird> er gules
19:06:44 <oerjan> what is that
19:07:01 <AnMaster> never herd of it either
19:07:08 <oerjan> no bell rings on either of them
19:07:27 <oerjan> unless it's a horrible misspelling of lutefisk
19:07:35 <ais523> even I have no idea what ehird's talking about
19:07:42 <ehird> …………
19:07:44 <ehird> Dude.
19:07:48 <ehird> Rodger's puzzles?
19:07:50 <ehird> Remember?
19:07:52 <ehird> 2007?
19:07:54 <oerjan> no.
19:07:55 <ehird> GulesFish, Basil.tif?
19:08:03 <ehird> Duuudes whattt
19:08:07 <oerjan> that was eons ago
19:08:18 <pikhq> RodgerTheGreat had a rather diabolical series of puzzles up on his website; GulesFish was one of them.
19:08:19 <ehird> yes.
19:08:20 <ehird> yes it was
19:08:24 <AnMaster> what?
19:08:27 <ehird> pikhq: what was basils' solution btw
19:08:29 <ehird> AnMaster: before your time
19:08:30 <ehird> move along
19:08:50 <pikhq> ehird: Take an image editor and play around with everything. I'm sure you'll find it eventually.
19:08:55 <oklofok> i remember gulesfish
19:08:59 <ehird> pikhq: the site is dead.
19:09:07 <AnMaster> oerjan, love iwc today
19:09:07 <pikhq> And you didn't keep Basil.tif?
19:09:32 <ehird> That was on the other machine; which died a peaceful death a few days ago.
19:09:42 <ais523> how did it die?
19:09:45 <oerjan> hm google actually found some of the logs for that
19:09:48 <pikhq> Alright, fine.
19:10:05 <oklofok> computers can die pieceful deaths?
19:10:09 <oklofok> ...
19:10:11 <oklofok> pieceful :D
19:10:12 <ehird> ais523: the motherboard is a shitty cheap one (I mean really cheap); it just stopped booting. It'd whirr, but no beep from the BIOS.
19:10:21 <oerjan> AnMaster: ah, but do you have a control sample? maybe your love was a measure error.
19:10:29 <pikhq> Basil.tif had some text in the picture that was colored something like #FFFFFE against an #FFFFFF background.
19:10:32 <ehird> Parental overlords gave it to the local computer shop; they said the cost of replacing all the components would be the cost of a new PC.
19:10:33 <oklofok> that's what you get for starting to write a sentence, taking a sip of coke, and emptying the phonetic buffer
19:10:42 <ehird> pikhq: hahah
19:10:43 <AnMaster> oerjan, hehe
19:10:58 <oerjan> oklofok: i say they can, very easily
19:11:00 <pikhq> It also had a lot of weird stuff hidden in the .tif that was meant to throw you off.
19:11:23 <oerjan> *measuring
19:11:23 <ais523> ehird: does the hard drive still work?
19:11:30 <ais523> you should copy the data off it
19:11:30 <ehird> ais523: probably
19:11:36 <ehird> there's nothing there of value
19:11:39 <oklofok> hmm, actually i guess even in humans a "peaceful death" doesn't mean a slow fade into inexistance.
19:11:43 <ehird> Consider that I've rarely touched that machine since 2006
19:11:53 <oerjan> argh accelerating channel
19:12:02 <ais523> you may find that there's something there of value later
19:12:05 <ais523> and nostalgia's always fun
19:12:15 <pikhq> Eventually it will rival #wikipedia or #gentoo in chat volume.
19:12:17 <ehird> Yes, well, I was rather an idiot in 2006; the nostalgia is mostly cringes.
19:12:28 <AnMaster> err
19:12:34 <pikhq> >:D
19:12:34 * AnMaster tries to remember how to record
19:12:42 <lament> things haven't changed much in 3 years eh
19:12:43 <ehird> a peaceful death of a computer is where it slowly but surely gets less and less working (it was freezing up and messing up the display a lot a few days before) and then just stops :P
19:12:44 <AnMaster> arecord --obscure-commandline
19:12:49 <AnMaster> sigh
19:12:50 <ehird> lament: Fuck you :)
19:12:51 <ais523> AnMaster: ttyrec file.rec -e command
19:12:57 <AnMaster> ais523, sound...
19:12:59 <ais523> oh
19:13:05 <ais523> recording a terminal session's more fun
19:13:08 <oerjan> ais523: nostalgia isn't what it used to be
19:13:19 <ais523> oerjan: that joke's made far too often
19:13:22 <ais523> it's a cliche here in the UK
19:13:29 <AnMaster> ais523, useless for helping Deewiant understand how tomten and tomten are different in Swedish
19:13:37 <oerjan> ais523: don't complain about being the straight man
19:13:39 <ehird> My nostalgia is mostly for things that never happened; or will happen; or are happening presently—but never that happen to me.
19:13:42 <ehird> I'm rather bizarre.
19:14:09 <fizzie> Sox's "rec" tool is usually easier. Just "rec test.wav"; around here the defaults seem sensible enough (48 kHz, stereo, 16-bit; rather overkill but works).
19:14:20 <oerjan> ais523: but, you mean that joke was better before? *ducks*
19:14:21 <AnMaster> fizzie, don't have "sox"
19:14:34 <ehird> install it
19:14:39 <ehird> sox is a nice tool
19:14:47 <AnMaster> mhm
19:16:09 <ais523> well, I use timidity to generate sound files, although admittedly that's doing something completely different
19:16:19 <AnMaster> wth, *goes to kmix*
19:16:46 <fizzie> Audacity also has a record-it button, if you happen to have it and don't want to fiddle with a command line.
19:17:12 <ehird> ais523: what's up with your trend of "use this instead; it's in the same category as what you want to do but doesn't actually do it"
19:17:51 <ais523> ehird: I don't want to answer that question, is it OK if I answer an unrelated but completely different question instead?
19:17:57 <ais523> *related
19:17:59 <oerjan> ehird: ais523 may be becoming a true software engineer
19:18:00 <AnMaster> Deewiant, what formats can you handle?
19:18:02 <AnMaster> flac? ogg?
19:18:05 <Deewiant> AnMaster: Anything.
19:18:07 <ehird> ais523: Why don't you ask a question instead? It's the same type of thing, but different.
19:18:12 <AnMaster> Deewiant, flac in ogg container then
19:18:12 <AnMaster> :D
19:18:14 <fizzie> Deewiant: Some might take that as a challenge.
19:18:26 <AnMaster> fizzie, yes me!
19:18:30 <oerjan> or even *shiver* a politician
19:18:34 <fizzie> Deewiant: Do you have the 3gpp AMR-WB/NB codecs both?
19:18:34 <ehird> FLAC in OGG is simple.
19:18:37 <ehird> Hardly a challenge.
19:18:38 <ais523> I challenge you to encode it in a 1-bit .wav
19:18:41 <AnMaster> ehird, oh
19:18:45 <ehird> it's not even uncommon
19:18:50 <ais523> in theory, even with a 1-bit encoding you can get the music to sound fine if the frequency's high enough
19:18:55 <AnMaster> <fizzie> Deewiant: Do you have the 3gpp AMR-WB/NB codecs both? <-- I don't have them
19:18:57 <Deewiant> fizzie: Beats me.
19:19:01 <AnMaster> afaik
19:19:03 <ais523> due to the slew rate of the speakerse
19:19:05 <ais523> *speakers
19:19:07 <oklofok> i can play all files that start playing when i double-click them
19:19:14 <AnMaster> what about raw?
19:19:23 <AnMaster> $ file tone.raw
19:19:23 <AnMaster> tone.raw: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 48000 Hz
19:19:25 <AnMaster> is that ok?
19:19:37 <AnMaster> just arecord -f dat
19:19:39 <fizzie> Also in practice, many A/D converters are technically speaking 1-bit, it's just that they have a high enough frequency. And then some stuff to get multi-bit values.
19:19:46 <Deewiant> Those weird speech-encoding codecs I probably don't have, actually.
19:20:47 <Deewiant> AnMaster: Isn't that a pain, since knowing the kind of data within is impossible, it can only be guessed?
19:20:54 <Deewiant> AnMaster: You'd make me write the WAV headers myself :-P
19:20:58 <AnMaster> Deewiant, heh
19:21:15 <fizzie> Deewiant: You could write some pretty reliable heuristics, though.
19:21:19 <AnMaster> Deewiant, I just did flac --best tone.raw and it guessed it perfectly
19:21:27 <AnMaster> so I doubt you would have any issues.
19:21:34 <Deewiant> Oh, tools guess that.
19:21:48 <AnMaster> anyway: http://omploader.org/vMWU3Nw
19:21:55 <Deewiant> I assumed that they'd fail since it's just random bytes as far as they know
19:22:19 <fizzie> I assumed (given a .raw extension) that they'd just use some default values.
19:22:24 <AnMaster> Deewiant, translation: "Do you believe in father xmas? The house is on the <forgot how this translates to English>"
19:22:27 <fizzie> It's nice if they actually intelligently guess.
19:22:31 <pikhq> AnMaster, if it's in a RIFF file, it's not raw. It has a header specifying the audio coding, the bits per sample, the channels, and the sampling frequency...
19:22:41 <AnMaster> pikhq, ah interesting
19:22:49 <AnMaster> well I don't really know this stuff
19:22:50 <pikhq> It is, in fact, a WAV file.
19:22:51 <pikhq> ;)
19:22:54 <AnMaster> interesting
19:23:30 <ehird> Safari plays it; so it's probably something common
19:23:33 <fizzie> Yes, if 'file' can dig up the information, it definitely isn't raw data. But a more audio-oriented tool could actually guess.
19:23:40 <AnMaster> pikhq, ah I should have used -t raw
19:23:45 <AnMaster> -t, --file-type TYPE file type (voc, wav, raw or au)
19:23:53 <Deewiant> AnMaster: The main difference I can detect is the length of the pause before 'ten'
19:24:06 <Deewiant> Or it's not really a pause but I forget what it's properly called
19:24:23 <AnMaster> Deewiant, yes thats it. And I'm trying to make it extra large in that example
19:24:29 <AnMaster> usually the difference is way smaller
19:25:06 <fizzie> Deewiant: It's a stop.
19:25:15 <Deewiant> AnMaster: Can you make one where you don't exaggerate it? I want to see if I can still notice it
19:25:27 <AnMaster> sure. And true raw this time?
19:26:02 <Deewiant> Preferably not, since Firefox was able to play that without me having to download it
19:26:06 <fizzie> Deewiant: It's also a 'plosive', if you want to sound like a more classier guy.
19:26:08 <AnMaster> what?
19:26:18 <AnMaster> I never had firefox play in the browser
19:26:23 <AnMaster> since when did it do that?
19:26:25 <Deewiant> fizzie: Plosive was actually what I was thinking of, cheers.
19:26:50 <AnMaster> oh even mplayer fails on raw
19:26:52 <Deewiant> AnMaster: Either it's because I have a different version or it's forwarding it to the mplayer plugin or whatever
19:26:53 <AnMaster> so I guess not raw
19:26:57 <ais523> AnMaster: cat it to /dev/audio
19:27:05 <ais523> IIRC, it uses raw
19:27:23 <AnMaster> ais523, that is noice
19:27:24 <AnMaster> noise*
19:27:46 <ais523> well, clearly you have the wrong bitwidth or rate or something
19:27:53 <AnMaster> probably
19:28:03 <fizzie> ais523: /dev/audio also uses mu-Law encoding of samples, not simple linear PCM.
19:28:17 <pikhq> ais523: /dev/dsp defaults to 8 bits per sample and some absurdly low frequency, and /dev/audio uses mu-Law.
19:28:18 <ais523> ah, I didn't know that
19:28:31 <ais523> and /dev/dsp? I didn't know of that one
19:28:48 <fizzie> /dev/dsp does 8 kHz, 8-bit single-channel by default, I think.
19:28:58 <pikhq> Yeah, that sounds right.
19:29:24 <AnMaster> lets see
19:29:44 <AnMaster> http://omploader.org/vMWU3YQ
19:29:48 <AnMaster> flac this time
19:29:57 <Deewiant> That goes to mplayer
19:30:18 <AnMaster> Deewiant, for me both show download dialogs
19:30:43 <Deewiant> The other one shows nothing but plays on every refresh
19:30:48 <fizzie> /dev/audio does µ-law encoding because that's what Sun used, and I guess that's where it's from, or at least part of the line of descent.
19:30:56 <AnMaster> heh
19:31:06 <fizzie> Firefox itself won't play anything, so the behaviour depends on the plugins.
19:31:14 <AnMaster> ah
19:31:36 <fizzie> At work there's some sort of Gnome totem (media player) plugin installed, and it almost never does anything useful.
19:31:38 <Deewiant> fizzie: Are you sure 3.1 (since 3.5) won't?
19:31:42 <fizzie> But it often tries.
19:31:49 <Deewiant> They have <audio> support, after all
19:31:57 <fizzie> Well, I don't know about 3.1. But you could check about:plugins anyway.
19:32:11 <Deewiant> And what MIME type should I look for?
19:32:11 <ais523> fizzie: totem works pretty well IME
19:32:53 <fizzie> Deewiant: Whatever the file was. I'm not sure if they have registered audio/wav, or whether it should be audio/x-wav.
19:32:53 <Deewiant> AnMaster: Anyhoo, I can still notice the difference here but I doubt I could determine which one was said if I heard only one of them
19:33:30 <AnMaster> Deewiant, yes, most Swedes won't notice it unless you say them with swapped contexts
19:33:41 <Deewiant> fizzie: audio/x-wav evidently, goes to MPlayer's WMP plugin
19:34:03 <fizzie> ais523: Well, to be honest I've only tried the version at work just once, and it didn't work. And the separate player has worked well enough, it's just the plugin that has issues.
19:34:05 <Deewiant> Amusing that it doesn't show any play controls
19:34:05 <AnMaster> I can hear it if it is the wrong one for what I expect from the context
19:34:09 <ehird> http://lwn.net/Articles/323966/
19:34:12 <ehird> RIP Tux
19:34:18 <ais523> fizzie: ah, I use the separate player
19:34:43 <ais523> although the embedded one seems to work fine for videos on Wikimedia
19:34:55 <AnMaster> ehird, w t h
19:35:07 <ehird> AnMaster: it'll just be for one release :P
19:35:11 <AnMaster> ah
19:35:38 <oerjan> På tomten var en liten hytta...
19:36:03 <ehird> This one is standing in for Tux for one release using the far less-known
19:36:03 <ehird> Devil Facial Tux Disguise.
19:36:32 <AnMaster> oerjan, i vilken tomten levde?
19:36:47 <ehird> http://shanalogic.com/wordpress/wp-content/uploads2/1095000_25tas_devil.jpg <-- wait, tasmanian devils are cute? when did this happen?
19:36:57 <oerjan> AnMaster: no no, didn't you notice my accent
19:37:08 <AnMaster> oerjan, that is hard over IRC
19:37:10 <oerjan> the poor guy had a hut on him
19:37:18 <AnMaster> OIC
19:37:41 <AnMaster> oerjan, like the hermit elephant?
19:38:04 <oerjan> i didn't know there were hermit elephants. hermit crabs on the other hand...
19:38:31 <AnMaster> oerjan, btw "hytta" sounds very weird in Swedish. It is used in place names but I would probably say "stuga" instead normally
19:38:57 <oerjan> hm right
19:39:14 <AnMaster> oerjan, hermit elephants are iirc found in Howondaland
19:39:16 <oerjan> it's the opposite in norwegian, in modern times
19:39:38 <AnMaster> oerjan, oh "stuga" sounds archaic there?
19:39:49 <oerjan> figured it had to be pratchett :D
19:39:54 <AnMaster> oerjan, haha
19:40:15 <oerjan> "stue" mostly means "living room" nowadays
19:40:38 <oerjan> but _can_ also mean old cottage
19:40:44 <oerjan> which is sort of archaic
19:40:45 <ehird> regarding pratchett, I've embarked on a most silly quest to read every single discworld book in close succession. in order.
19:40:52 <ehird> i do not expect to finish it
19:41:32 <pikhq> Probably simpler to read all the fiction that Asimov wrote. :p
19:41:34 <AnMaster> ehird, done that once. About one book / day
19:41:38 -!- tombom has quit ("Peace and Protection 4.22.2").
19:41:59 <ehird> I only read for an hour or so at a time, so it takes me 2-3 days to read one.
19:42:08 <oklofok> :|
19:42:11 <AnMaster> up to Thief of time iirc, didn't have more books then
19:42:18 <oklofok> how short are they / how fast are you? 8|
19:42:29 <AnMaster> ehird, Well with "day" I mean "evening-night"
19:42:33 <AnMaster> ;P
19:42:36 <ehird> oklofok: err I'm not sure how long they are
19:42:39 * AnMaster likes reading in bed
19:42:44 <ehird> not, like
19:42:45 <ehird> really long
19:42:49 <oerjan> AnMaster: while just about every other norwegian has a "hytte" for vacationing in
19:42:56 <pikhq> Book a day isn't too hard to do. Probably not going to be doing *that* much else with your free time, but other than that, not too hard to do.
19:43:00 <ehird> oklofok: i do read quite fast though.
19:43:00 <AnMaster> ehird, the books? Latter ones are thicker though
19:43:06 <ehird> like one page per 20 seconds or sth.
19:43:10 <oklofok> pikhq: how's 2 hours tho?
19:43:16 <AnMaster> like two or three times as thick
19:43:17 <ehird> my brain sort of parses the words into memory
19:43:18 <oklofok> ehird: ah, well that's really fast.
19:43:20 <ehird> then groks the gist of it
19:43:23 <ehird> and then, as I continue reading
19:43:25 <oklofok> i used to be like that
19:43:28 <pikhq> If the book is short enough, 2 hours, sure.
19:43:29 <ehird> processes the fine details
19:43:33 <ehird> so it takes about 2 pages to process 1 page
19:43:35 <pikhq> ehird: That's rather fast.
19:43:43 <oklofok> then i stopped reading fiction
19:43:44 <ehird> pikhq: yes, quite.
19:43:57 <AnMaster> oklofok, what did you start doing instead?
19:44:02 * pikhq reads between 30 seconds a page to a minute per page, depending on how much processing needs to be done...
19:44:09 <oklofok> AnMaster: reading other stuff.
19:44:13 <pikhq> Tolkien might be slower.
19:44:14 <AnMaster> ah
19:44:39 <ehird> AnMaster: how long are the earlier discworld books, on average? you seem like the type to know that
19:44:43 <oklofok> for instance object-oriented software engineering if i can get myself to leave the disputer
19:44:46 <AnMaster> ehird, hm would you say "Nation" is way slower than "Colour of magic"?
19:44:55 <AnMaster> the first one isn't discworld indeed
19:44:58 <ehird> I have not read it.
19:45:00 <AnMaster> but both are TP
19:45:01 <AnMaster> ah
19:45:14 <AnMaster> ehird, want me to check?
19:45:21 <ehird> sure
19:46:12 <AnMaster> ehird, checked the first five, between 280 and 310 pages
19:46:21 <ehird> righty then
19:46:22 <AnMaster> that is paper back editions
19:46:24 <ehird> that'd fit in with my measurements
19:46:37 <ehird> of reading time that is.
19:46:38 <oklofok> err hmm
19:46:54 <oklofok> actually iirc i've measured about 18 seconds / page
19:46:57 <ehird> I'm taking a detour from my readathon to read all of h2g2 and G.E.B. again, though; because those are the two longest books I own.
19:47:01 <oklofok> for my speed, but that was a small booker
19:47:05 <ehird> oklofok: did you actually read it :P
19:47:10 <AnMaster> ehird, my copy of "wintersmith" is nearly 400 pages
19:47:14 <oklofok> yes, entirely through in one sitting
19:47:18 <oklofok> oh you mean
19:47:23 <oklofok> yeah
19:47:57 <AnMaster> ehird, Science of Discworld III is ~340 pages in *small print*
19:48:21 <Deewiant> Not that small IIRC
19:48:33 <ehird> G.E.B. is a big size and the text is small, and it's 777 pages
19:48:38 <ehird> It is quite the rambly book.
19:48:50 <AnMaster> Monsterous Regiment (paper back): 494 pages
19:48:51 <oklofok> ehird: but i was actually trying to read fast, that's why i measured; i don't read nearly that fast usually
19:48:56 <oerjan> well but it's mostly rambling about itself
19:48:59 <AnMaster> normal type size
19:49:51 <oklofok> we had this course in high school where we had to read like 8 books, most either read them throughout the year or didn't read them at all
19:49:53 <AnMaster> ehird, note that the physical dimensions of the books apart from thickness differs between paper back and hard cover
19:50:00 <oklofok> i decided to read them the week before exam
19:50:06 <oklofok> or maybe two but anyway
19:50:21 <ehird> speaking of which, who's read G.E.B. here? ISTR ais523 and fizzie have; probably oklofok too. Anyway, does _anyone_ actually understand the last dialogue? :P
19:50:21 <oklofok> so i was kindof in a reading streak
19:50:23 <AnMaster> the hard cover ones is about 25% taller. and 20% wider
19:50:28 <AnMaster> are*
19:50:32 <ehird> well mebbe not oklofok
19:50:38 <fizzie> I haven't; I've always just meant to.
19:50:40 <Deewiant> What was the last dialog?
19:50:42 * oerjan hasn't read most of it
19:50:51 <ehird> Deewiant: Ricercar or something
19:51:01 <oklofok> i haven't read it, for some reason i thought i'd order it from amazon, but then for some reason i didn't
19:51:03 <ehird> I forget the name
19:53:31 <lament> I've read the first third or so
19:53:33 <lament> of GEB
19:54:15 <AnMaster> is it hard to read or?
19:54:30 <ehird> AnMaster: no; it's rather easy
19:54:39 <ehird> but... sort of tedious
19:54:42 <ehird> not because it's repetitive
19:54:45 <ehird> but there's just so much of it
19:54:57 <AnMaster> Deewiant, anyway Science of Discworld you can't read as fast. You often have to stop and think about things.
19:55:01 <ehird> at the end your brains splurge out in the shape of the letters "GEB".
19:55:10 <AnMaster> ehird, how fast did you read Science of Discworld?
19:55:15 <ehird> AnMaster: Mu.
19:55:22 <AnMaster> ?
19:55:32 <ehird> http://en.wikipedia.org/wiki/Mu_(negative)
19:55:49 <lament> life is too short to read GEB
19:55:57 <ehird> GEB is too short to read life
19:57:02 <AnMaster> http://code.google.com/p/google-thingbrowser/ <-- awesome project name
19:57:12 <ehird> Mung.
19:58:12 <AnMaster> ehird, as in mung in TECO?
19:58:24 <ehird> No; mung as in Mung Until No Good.
19:58:40 <AnMaster> ehird, the TECO meaning is based on that
19:58:45 <ehird> Yes. Yes it is.
20:02:41 -!- comexk has changed nick to comex.
20:02:59 <ehird> comex, k?
20:03:31 <psygnisfive> oklofok
20:03:37 <psygnisfive> the shi shi poem has only tonal differences.
20:04:02 <psygnisfive> phonologically, anyway. i have no idea if there are phonetic differences. but that doesn't matter.
20:04:21 <oklofok> hmm "doesn't matter" in what sense?
20:04:36 <oerjan> psygnisfive: is this a chinese poem that goes like "shi shi shi shi shi shi. shi shi, shi shi shi..." ?
20:04:39 <oklofok> (i don't know what those terms mean)
20:04:47 <ehird> oerjan: yes
20:04:50 <psygnisfive> doesnt matter in that chinese people cant hear the differences.
20:04:53 <oklofok> (phonetic vs phonological)
20:05:06 <psygnisfive> phonetics is what the waves in the air do
20:05:13 <psygnisfive> e.g. the hard sounds out in the world
20:05:13 <oklofok> ah right.
20:05:22 <psygnisfive> phonology is the sounds in the mind.
20:05:30 <oklofok> yes i gets it now.
20:05:45 <psygnisfive> the difference between "grabbing a cup" and "how i grabbed a cup two minutes ago"
20:06:10 <oerjan> ah, http://en.wikipedia.org/wiki/Lion-Eating_Poet_in_the_Stone_Den
20:06:33 <ehird> AnMaster: clang can compile Blender
20:06:39 <psygnisfive> clang?
20:06:41 <psygnisfive> clangers!
20:06:46 <AnMaster> ehird, nice!
20:06:47 <ais523> and at least one of the BSDs, I forget which
20:06:50 <oerjan> noisy programmers!
20:06:51 <lament> er, of course they're phonetic
20:06:53 <ehird> AnMaster:
20:06:53 <ehird> I tried building Blender with clang today for fun. Went without a hitch,
20:06:54 <ehird> although I had to use gcc for two files from ffmpeg with nasty inline asm.
20:06:54 <ais523> I wonder if it can do C-INTERCAL?
20:06:56 <AnMaster> ehird, and it can compile cfunge now
20:06:57 <ehird> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-March/004610.html
20:07:05 <ehird> it does have some artifacts, apparently
20:07:15 <ehird> but I imagine that's blender relying on gcc behaviour
20:08:12 <AnMaster> mhm
20:08:16 <AnMaster> ehird, quite possible
20:08:40 <AnMaster> ehird, odd they end as close to correct as that
20:08:44 <ehird> yes
20:09:31 <ehird> ah, a lot of them seem to be floating point inaccuracies
20:09:36 <AnMaster> ehird, 30% slower at compo_map_uv_cubes ?
20:09:39 <ehird> possibly due to optimization reordering them causing inaccuracy
20:09:53 <ehird> anyway, I think I'll install llvm & clang
20:09:57 <AnMaster> ehird, you can't optimise floating point. See C99 spec.
20:09:58 <ehird> and use them instead of gcc.
20:10:00 <ehird> Maybe. :P
20:10:04 <AnMaster> there are a few safe transformation
20:10:07 <AnMaster> s
20:10:10 <AnMaster> but that is it
20:10:17 <ehird> AnMaster: specs don't really matter if nothing non-pathological relies on the behaviour
20:10:30 <AnMaster> ehird, hm?
20:10:46 <ehird> as in, if the optimizations don't change behaviour on real world code
20:11:46 <Deewiant> Then such code will eventually appear
20:12:31 <AnMaster> ehird, clang can't handle inline asm?
20:12:43 <AnMaster> mhm
20:12:43 -!- oerjan has quit ("leaving").
20:12:49 <ehird> who said that
20:12:56 <ehird> the post implied _gnarly_ inline asm to me
20:13:06 <AnMaster> ah right
20:13:49 <ehird> http://www.jwz.org/doc/threading.html <- I love how _difficult_ this is.
20:15:10 -!- Hiato1 has joined.
20:16:56 -!- Hiato1 has quit (Client Quit).
20:22:06 -!- Hiato has quit (Read error: 110 (Connection timed out)).
20:26:11 <AnMaster> <ais523> I wonder if it can do C-INTERCAL? <-- I tried that iirc. Think it worked but had some issues with linking. So build system issues
20:26:26 <AnMaster> used manual commands to work around it
20:26:33 <AnMaster> mostly related to handling of *.a
20:26:37 <fizzie> I keep writing "befun" instead of "begin" in LaTeX files.
20:26:44 <AnMaster> fizzie, :D
20:27:06 <ehird> I feel like I'm getting myself into things I shouldn't by writing my own mail client.
20:27:32 <AnMaster> ehird, why are you doing that?
20:27:34 <fizzie> "There are things man was not meant to know" sort of things?
20:28:07 <fizzie> Eldritch horrors with non-euclidean geometry?
20:28:10 <ehird> AnMaster: Because, at the present time, no desktop mail client reaches the level of usability that Gmail gives, apart from maybe sup (http://sup.rubyforge.org/)—and I want a gooey client.
20:28:20 <ehird> fizzie: Yes, non-euclidean geometry of handling mail.
20:28:56 <AnMaster> sup looks nice
20:29:00 -!- Hiato has joined.
20:29:13 <AnMaster> ehird, also I hope you will release this mail client of all
20:29:13 <ehird> It is. My only qualms with it are threefold:
20:29:22 <AnMaster> to*
20:29:46 <ehird> 1. It's a console client. 2. When you view a heavily-nested thread, you hit l/-> a lot to get it in view. 3. It doesn't react too well with other IMAP clients (it doesn't store its label state)
20:29:52 <ehird> AnMaster: Yes, it will be open source.
20:30:04 <AnMaster> ehird, and portable to Linux?
20:30:20 -!- Hiato has quit (Client Quit).
20:30:55 <ehird> The program itself should be portable, but for the interface, I'm probably going to make a linear console interface (ala mail(1)) and a Cocoa one; and the former only to test it while engaging in the big task of the latter.
20:31:08 <ehird> I may write a GTK/Qt interface if I feel like it sometime; or someone else could.
20:31:20 <AnMaster> ehird, what about wxwidgets?
20:31:36 <Deewiant> Will it handle NNTP as well?
20:31:43 <fizzie> Will it make coffee?
20:31:49 <Deewiant> What about tea?
20:31:52 <ehird> What does wxwidgets buy me? On OS X, it look and feels awkward (like "almost but not quite"). On Linux, it uses GTK. On Windows, I don't care.
20:31:52 <AnMaster> will it handle qmail style maildirs?
20:31:56 <fizzie> Is the kitchen sink included?
20:31:57 <AnMaster> and what about juice?
20:32:10 <ehird> Deewiant: fizzie: It will include a Cybernetics Corporation Nutri-Drink machine thingy.
20:32:23 <AnMaster> ehird, what about qmail style maildirs?
20:32:24 <ehird> For NNTP, couldn't you just use a NNTP<->mail gateway?
20:32:33 <ehird> AnMaster: It will probably store as one of them internally.
20:32:48 <AnMaster> ehird, I mean could it fetch from the local mail daemon using them
20:32:53 <fizzie> Nutri-Matic, I guess you mean. Which means it won't really make tea. Share and enjoy.
20:32:54 <AnMaster> and what about postfix style ones
20:32:57 <ehird> Yes, it'd just be a matter of 'cp' or whatever.
20:33:01 <ehird> As for postfix, dunno.
20:33:19 <AnMaster> ehird, /var/spool/mail/ ones iirc
20:33:23 <ehird> My main priority is IMAP+SSL and SMTP; although adding in sendmail/whatever support would be ubertrivial, since _sending_ mail is trivial.
20:33:28 <AnMaster> ehird, maildirs need locking
20:33:31 <AnMaster> so not as simple
20:33:35 <ehird> AnMaster: Well, yes.
20:33:52 <AnMaster> ehird, ETA?
20:33:54 <ehird> fizzie: kitchen sink—please see Mozilla's implementation.
20:33:54 <AnMaster> ;)
20:34:07 <ehird> AnMaster: (unsigned long)-1
20:34:12 <AnMaster> ouch
20:34:25 <AnMaster> ehird, in seconds?
20:34:33 <ehird> eons
20:34:38 <AnMaster> oh ok
20:34:47 <ehird> where a year is 1, eons are (unsigned long)-1
20:34:53 <ehird> err
20:34:57 <ehird> year = 1, decade = 2
20:34:58 <ehird> century = 3
20:34:59 <ehird> etc
20:35:53 <ehird> Did you all know, by the way, that IMAP is horrific?
20:36:05 <ehird> Get this: You can only be in one folder at a time. Want to operate on another folder? You have to do the equivalent of cd.
20:36:19 <AnMaster> heh
20:36:22 <ehird> So if you're putting together data from many folders: cd, operation, cd, operation, operation, cd, operation.
20:36:22 <ehird> Oh the joy.
20:37:05 <lament> use gmail
20:37:59 <ehird> lament: I do but 1) google has enough of my data 2) it is, and always will be, less sleek and efficient than a desktop app 3) it's slow because of interwebs 4) it doesn't do quoting right and stuff.
20:39:59 <ehird> also, I didn't write it
20:40:10 <AnMaster> NIH is always the best reason
20:40:12 <AnMaster> for anything
20:40:22 <lament> AnMaster: I disagree. NIH.
20:40:25 <ehird> yeah I got stuck at inventing something better than electricity
20:40:36 <AnMaster> ehird, better how?
20:40:49 <ehird> AnMaster: in that i made it
20:40:51 <AnMaster> ah
20:41:04 <AnMaster> ehird, that is wrong though
20:41:14 <AnMaster> ehird, electricity wasn't invented. It was discovered.
20:41:18 <AnMaster> NIH doesn't apply then
20:41:22 <ehird> fuck that.
20:41:30 <ehird> i doubt anyone engineered windows anyway
20:41:36 <ehird> its' shit enough that it was probably discovered
20:41:38 <ehird> does nih apply to it? yes.
20:41:42 <AnMaster> ehird, I doubt windows was discovered.
20:41:46 <oklofok> yeah it was found in an alien spaceship
20:41:56 <ehird> oklofok: it's their plan to wipe out humanity
20:42:00 <oklofok> yep
20:43:35 <ehird> also, my goal to have compatibility with the iphone's mail client is a bit irritating. since i want labels/tags, not folders (they're a superset, anyway) but it only does imap folders.
20:43:37 <ehird> graw.
20:43:40 <ehird> :(
20:44:32 <AnMaster> ehird, you have an iphone?
20:44:38 <ehird> yes
20:45:10 <ehird> i have no excuse either :)
20:45:45 <oklofok> more like youphone xDDDDDDDDDDDDDDDD
20:45:54 <ehird> oh comedy
20:46:05 <ehird> i get the feeling AnMaster is speechless
20:46:12 <AnMaster> ?
20:46:13 <oklofok> he probably died of laughter
20:46:17 <AnMaster> no I was debugging
20:46:21 <ehird> SAME THING.
20:46:23 <oklofok> or well, will die after i explain it
20:46:28 <AnMaster> didn't see until you highlighted me
20:46:40 <AnMaster> oklofok, hah
20:46:46 <ehird> oklofok: xD
20:47:02 <oklofok> me: :D
20:47:10 <AnMaster> this is a reference it can view youtube but no other flash right?
20:47:25 <oklofok> ...yes that's what i was referring to
20:47:29 <ehird> AnMaster: ermmmmmmmmmmmmm
20:47:31 <oklofok> :DD
20:47:32 <ehird> nnnnnnnnnnnnnnnnnnn
20:47:33 <ehird> wellllll
20:47:34 <ehird> errrr
20:47:35 <ehird> yy
20:47:37 <ehird> but erm
20:47:39 <ehird> mmma
20:47:39 <FireFly> Reminds me of a certain Monty Python sketch
20:47:42 <ehird> errrrrr, I mean, um, er
20:47:43 <ehird> AnMaster: no.
20:47:48 <AnMaster> ehird, no?
20:47:52 <ehird> no.
20:47:56 <AnMaster> what was it then?
20:48:01 <oklofok> okay i'm lolling my ass off here
20:48:09 <ehird> AnMaster: s/i/you/; comedy ensues.
20:48:15 <AnMaster> oh
20:48:16 <AnMaster> that too
20:48:17 <AnMaster> right
20:48:19 <oklofok> :P
20:48:23 <ehird> oklofok: i know, funniest thing AnMaster has ever said :D
20:48:31 <AnMaster> what?
20:48:35 <AnMaster> I wasn't trying to be funny!
20:48:50 * AnMaster goes back reading objdump output
20:48:51 <ehird> AnMaster: but you were
20:49:02 <ehird> keep trying to be unintentionally funny!
20:49:09 <AnMaster> 805c39c: 0f 49 85 68 fd ff ff cmovns -0x298(%ebp),%eax
20:49:09 <AnMaster> 805c3f5: 0f 49 b5 68 fd ff ff cmovns -0x298(%ebp),%esi
20:49:09 <AnMaster> 805c43e: 0f 49 9d 68 fd ff ff cmovns -0x298(%ebp),%ebx
20:49:09 <AnMaster> 805c497: 0f 49 85 68 fd ff ff cmovns -0x298(%ebp),%eax
20:49:16 <AnMaster> interesting
20:51:28 <fizzie> Here's Lynx applied to this one article that's not available to me directly since I'm not in the university network: "View the MathML source, where the unit vector u is defined as View the MathML source." That's not helpful.
20:51:41 <AnMaster> wow icc turns a lot more branches into CMOVcc than GCC. That's interesting
20:51:55 <AnMaster> this was optimising for Pentium 3
20:52:03 <ehird> well, icc is more optimizey than gcc...
20:52:10 <ehird> fizzie: :D
20:52:48 <AnMaster> ehird, depends on your target. On AMD CPUs GCC compiled programs are on average 15%-25% faster than ICC compiled ones.
20:53:10 <ehird> AnMaster: and, get this, gcc compiled programs don't even run on a nintendo 64
20:53:12 <ais523> fizzie: sounds like the authors muddled alt and title
20:53:14 <ais523> and only IE does that
20:53:22 <ehird> icc is an optimizer for _intel_... :P
20:53:28 -!- MigoMipo has joined.
20:53:33 <AnMaster> ehird, err you can make them do that iirc
20:53:41 <AnMaster> I think gcc supports that architecture
20:53:48 <AnMaster> as a cross compiler
20:53:56 <ehird> not the point
20:54:00 <ehird> also, that'd be hideously slow :P
20:54:34 <AnMaster> ehird, why?
20:54:50 <ehird> The nintendo 64 is slow
20:54:53 <ehird> although, well
20:54:56 <AnMaster> well yes
20:55:01 <AnMaster> by today's standards yes
20:55:02 <ehird> maybe it's fast enough to make coding games in C for it viable
20:55:03 <ehird> not sure
20:55:03 <fizzie> ais523: The document source has all math equations as: <img src="..." alt="View the MathML source" title="View the MathML source" ... />
20:55:11 <ehird> gcc can compile for the NES, though, can't it?
20:55:14 <AnMaster> ehird, once upon a time it was fast
20:55:14 <ehird> _that's_ certainly useless
20:55:18 <AnMaster> ehird, it can?
20:55:18 <ais523> fizzie: ok, that's even sillier
20:55:24 <ehird> i think so, AnMaster
20:55:32 <ais523> I'd say lynx is behaving completely sensibly, and the document is being ridiculousy
20:55:38 <ehird> ais523: err, the document is reasonable
20:55:42 <ehird> apart from the title="" stuff
20:55:47 <ehird> you don't have images, so you cant' see the rendered images
20:55:50 <ehird> so you have to view the mathml source
20:56:01 <ehird> it would be better in [brackets] to offset it from the surrounding text though
20:56:05 <ais523> the title= should /be/ the MathML source
20:56:10 <ehird> ais523: err, that's XML
20:56:13 <ais523> rather than just saying "View the MathML source"
20:56:19 <ais523> ehird: well, it would be more readable...
20:56:19 <ehird> MathML is hideously verbose
20:56:21 <ehird> and XML
20:56:25 <ehird> you'd need many-line tooltips
20:56:34 <ehird> ais523: the image is a link to the source
20:56:35 <ehird> duh
20:56:44 <ehird> in fact, the title="" makes senes then
20:56:48 <AnMaster> ehird, I was just talking about the CPU architecture. I mean the n64 is MIPS based iirc
20:56:52 <ehird> in a "you'll get this when you click" way, which is what title is for
20:57:00 <ais523> ah, well at least the alt is wrong
20:57:06 <ehird> is it?
20:57:13 <ehird> you can't view the equation so you have to view the mathml source to see it
20:57:16 <ehird> that seems reasonable to me
20:57:17 <ais523> alt is the text that displays in browsers that can't show the image
20:57:21 <ehird> yes
20:57:25 <ehird> so the alternative is to view the source
20:57:27 <ehird> to read the equation
20:57:28 <ais523> and "View the MathML source" is not sensible text for that situation
20:57:34 <ais523> it should be something like "MathML equation
20:57:36 <ais523> *"
20:58:22 <ais523> hmm... Ubuntu's repos have only llvm-gcc, not clang
20:58:51 <AnMaster> ais523, not odd
20:58:56 <AnMaster> clang hasn't been released yet
20:59:01 <AnMaster> you need to check it out from svn
20:59:12 <AnMaster> matching llvm revision recommended
21:01:02 <AnMaster> 124K build_clang/cfunge
21:01:02 <AnMaster> 120K build_gcc/cfunge
21:01:02 <AnMaster> 1,2M build_icc/cfunge
21:01:02 <AnMaster> 112K build_llvm-gcc/cfunge
21:01:02 <AnMaster> 200K build_open64/cfunge
21:01:12 <AnMaster> all have been stripped
21:01:23 <AnMaster> interesting the icc one is so large
21:01:27 <AnMaster> it really stands out there
21:02:00 <fizzie> The , in the 1,2 really stands out, too.
21:02:15 <AnMaster> fizzie, l10n
21:02:19 <AnMaster> so not really
21:02:30 <fizzie> Yes, the dreaded el-ten-en.
21:02:42 <AnMaster> fizzie, "dreaded"?
21:02:45 <ehird> crazy europeans and their 1.000.000,34
21:02:57 <AnMaster> ehird, you are European...
21:03:07 <Deewiant> I have a custom LC_NUMERIC because no existing locale does it smartly
21:03:07 <ehird> UK hardly counts as european :P
21:03:13 <AnMaster> also in Swedish it is 1 000 000,34
21:03:16 <AnMaster> not .
21:03:20 <Deewiant> ehird: You should have said 'continental'.
21:03:22 <fizzie> Deewiant: Can you define "smartly" for us.
21:03:23 <ehird> AnMaster: wow, good luck parsing that
21:03:28 <Deewiant> fizzie: 1 000 000.34
21:03:34 <AnMaster> ehird, a Swede manages it fine
21:03:35 <AnMaster> :P
21:03:38 <ehird> THAT's smartly, Deewiant?
21:03:44 <Deewiant> Yes, it is.
21:03:51 <ehird> AnMaster: a swede is not powerful enough to be considered a computer. sorry.
21:04:00 <ehird> being dirty and all
21:04:05 <AnMaster> ehird, a Swede can parse something a computer can't
21:04:19 <ehird> yeah, such disgrace is above turing machines, see.
21:04:21 <AnMaster> thus Swedes are super-sub-tc
21:04:44 <fizzie> A Swede can parse the power of LOVE. (Wasn't there a discussion here earlier? I mostly missed it, though.)
21:04:48 <AnMaster> since computers are sub-tc, and a Swede is better than a computer a Swede ends up as super-sub-tc right?
21:04:54 <AnMaster> FireFly, err?
21:04:55 <AnMaster> err
21:04:58 <AnMaster> fizzie, err?
21:05:05 <fizzie> To err is human.
21:05:17 <ehird> fizzie: I said that LOVE thang.
21:05:17 <AnMaster> fizzie, what do you mean "parse the power of LOVE"?
21:05:27 <ehird> AnMaster: read yesterday's logs.
21:05:35 <fizzie> Yes, there was some nightly discussion.
21:05:42 <AnMaster> mhm
21:06:55 * ais523 builds C-INTERCAL with llvm-gcc
21:07:06 <ehird> llvm-gcc?
21:07:08 <ehird> how borin
21:07:08 <ehird> g
21:07:15 <ais523> I don't have clang over here
21:07:20 <ais523> and amazingly, it failed due to the lack of ranlib
21:07:59 <ais523> must be an error in my part of the build scripts, let me find it
21:08:08 <AnMaster> anyone remembers Rambus btw?
21:08:22 <ehird> ais523: why do you use autotools
21:08:38 <AnMaster> ais523, use llvm-ranlib
21:08:42 <ais523> yes, I know
21:08:50 <ais523> ehird: because it works and is crazily portable
21:08:56 <AnMaster> ais523, and modern systems doesn't need ranlib, just llvm-ar is enough
21:09:01 <ais523> you should have seen what the build system was like beforehand
21:09:15 <AnMaster> tell me
21:09:19 <ehird> 1) Some new definition of works I was not previously etc 2) You could achieve that by hand 3) I did; it worked well
21:09:42 <ais523> AnMaster: strange, the makefile appears to run ranlib, yet I got an error that it wasn't used
21:09:52 <ehird> by the way how does __builtin_expect work?
21:09:59 <AnMaster> ehird, read GCC manual
21:10:24 <ehird> AnMaster: no; I'm asking for a one sentence summary, not the useless page-long splurge the gcc manual would give
21:10:26 <AnMaster> ehird, section 5.49 for GCC 4.3.3
21:10:41 <ais523> ok, that's really strange
21:10:42 <ais523> it ran ranlib
21:10:49 <ais523> but I got an error message for it not having been used
21:11:09 <AnMaster> ais523, llvm-ranlib is differen't. You can use system *.a for llvm but not the reverse
21:11:15 <AnMaster> different*
21:11:45 <ais523> AnMaster: not really, this was all with llvm-tools
21:11:57 <ais523> llvm-ar cru libidiot.a oilout*.o
21:11:58 <ais523> llvm-ranlib libidiot.a
21:12:07 <AnMaster> ais523, what about when you got the error
21:12:08 <ais523> (later) libidiot.a: could not read symbols: Archive has no index; run ranlib to add one
21:12:10 <AnMaster> what tool was used then
21:12:12 <AnMaster> ..
21:12:21 <ehird> why do you say ..
21:12:22 <ehird> what does it mean
21:12:25 <ais523> and llvm-gcc, with command line telling it to run the linker
21:12:39 <AnMaster> ais523, is this clang or llvm-gcc?
21:12:48 <ais523> llvm-gcc, as I said in my last comment
21:12:50 <AnMaster> ah
21:12:53 <AnMaster> you said clang before
21:12:58 <ais523> no I didn't
21:13:11 <AnMaster> oh you said you didn't have it
21:13:13 <AnMaster> right
21:13:25 <AnMaster> ais523, well I got that to build. Don't remember how.
21:13:32 <AnMaster> ais523, make sure linker is llvm-ld nothing else?
21:14:16 <ais523> just checked, it's calling /usr/lib/llvm/gcc-4.2/libexec/gcc/i486-linux-gnu/4.2.1/collect2
21:14:35 <AnMaster> ais523, what about using llvm-ld instead of llvm-gcc to link?
21:15:12 <ais523> that doesn't work in some cases, that's why collect2's used in the first place
21:15:15 <ais523> it's a wrapper around ld
21:16:20 <ais523> hmm... it seems to be a problem with Ubuntu's packaging
21:16:29 <ais523> llvm collect2 is calling the non-llvm ld
21:16:46 <ehird> bsdgames are so awesome
21:16:51 * ais523 agrees with ehird
21:17:54 <ehird> now how did I get them running on os x before...
21:18:58 -!- ais523 has quit (Remote closed the connection).
21:20:28 <fizzie> Freggling "FUSE-sshfs access of a NFS-mounted drive on computer A for editing, direct NFS access on computer B for latexing" stupidities: "ls: cannot access robusemi.tex: Stale NFS file handle"
21:22:37 <AnMaster> ehird, "make && make install"?
21:22:41 <AnMaster> that works even on linux
21:22:58 <AnMaster> fizzie, fun
21:23:02 <ehird> AnMaster: I distinctly recall giving a one-line package manager incantation.
21:23:13 <AnMaster> ehird, then macports?
21:23:18 <fizzie> Every now and then when I save, the NFS handle goes stale, whatever it means.
21:23:22 <ehird> No relevant package that I can find, AnMaster
21:23:27 <AnMaster> ehird, hrrm
21:26:35 <oklofok> ehird: may have been 28
21:26:37 <AnMaster> fizzie, does this help: http://www.linuxquestions.org/questions/linux-networking-3/stale-nfs-file-handle-232901/?s=aca8d27dc9803e741b39ddcf2a2144ed ?
21:26:38 <oklofok> ->
21:26:46 <ehird> oklofok: wat
21:27:37 <oklofok> err
21:27:44 <oklofok> i thought it was rather obvious
21:27:49 <ehird> no?
21:27:53 <ehird> what?
21:28:35 <oklofok> i prefer you having to either figure out yourself or drop it.
21:30:25 <fizzie> AnMaster: Uh, I can't access the NFS server at all, so I'm not really about to debug it. It automagically fixes itself in a dozen seconds every time after it happens, it's just an annoyance.
21:31:04 <AnMaster> fizzie, using only one client at at time would also help I think
21:31:44 <fizzie> Probably, yes. I'm not really sure why I don't use the vim "locally" on the computer I'm running latex on; it's pretty much the same version and the same configuration. I must like to complain, I guess.
21:55:34 -!- Blipi has joined.
22:19:45 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
22:26:48 -!- kar8nga has joined.
22:31:04 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
22:41:20 <AnMaster> ehird, did you check gcc manual for __builtin_expect() or should I explain it?
22:41:27 -!- BeholdMyGlory has joined.
22:46:25 <comex> __builtin_expect(__builtin_expect(x, 1), 0)
22:46:27 <AnMaster> Deewiant, btw listen also to http://upload.wikimedia.org/wikipedia/commons/e/ee/Sv-anden_anden.ogg in case you didn't already
22:46:43 <AnMaster> comex, I wonder is that is legal...
22:47:19 <comex> yep
22:47:28 <comex> no interesting warning or anything :(
22:47:46 <AnMaster> comex, of course not...
22:47:59 <comex> ?
22:48:03 <AnMaster> comex, it would make perfect sense for future compatibility!
22:48:09 <AnMaster> comex, think about it
22:48:18 <AnMaster> it makes perfect sense on quantum computers
22:48:56 <comex> :u
22:49:03 <AnMaster> what is that smiley?
22:49:25 <comex> dunno
22:49:32 <comex> also, I wonder why my computer can't play mono sounds
22:49:38 <AnMaster> err what?
22:49:38 <comex> stereo, fine, mono, silence
22:49:44 <comex> no matter what player I use
22:49:45 <AnMaster> comex, that is strange
22:49:57 <comex> though I can use, say, sox to make it a stereo file and then it plays
22:50:02 <AnMaster> comex, how are your speakers connected?
22:50:18 <comex> standardly
22:50:30 <AnMaster> maybe you get mono left normally from stereo, but mono maps to mono right
22:50:33 <AnMaster> or something like that
22:50:37 <AnMaster> comex, check alsamixer btw
22:50:48 <AnMaster> assuming you are on Linux.
22:50:53 <AnMaster> no idea for other OSes
22:51:39 -!- neldoreth has quit ("leaving").
22:51:55 -!- neldoreth has joined.
22:53:42 <comex> nope, I can adjust balance to play on either speakwer
22:54:38 <comex> admittedly my speaker cable is "dodgy" (two wires spliced together) but that can't be the issue
22:55:23 <AnMaster> weird
23:27:47 <pikhq> Check your ALSA configuration?
23:27:58 <pikhq> Beat your userspace with a rubber hose?
23:29:33 <MizardX> http://sovietrussia.org/f/src/tetoris.swf
23:34:08 <Slereah_> old
23:34:19 <Slereah_> Why is everyone linking this from Soviet Russia anyway?
23:34:22 <Slereah_> It's weird
23:34:34 <Slereah_> Visit their /cat/ board by the way!
23:34:41 <Slereah_> And /z/ if your soul can take it
23:35:19 -!- BeholdMyGlory has quit (Excess Flood).
23:35:40 -!- BeholdMyGlory has joined.
23:36:21 -!- oerjan has joined.
23:37:30 <oerjan> <fizzie> I keep writing "befun" instead of "begin" in LaTeX files.
23:37:40 <oerjan> everything should more befun
23:39:43 <AnMaster> night
23:39:48 <AnMaster> wait a sec
23:40:07 <AnMaster> oerjan, does Norwegian have the "sje" sound in "sju"?
23:40:34 <AnMaster> fizzie, use renewcommand to make befun mean begin?
23:40:59 <oerjan> 7 = "sju" in norwegian, yes
23:41:07 <AnMaster> oerjan, the "sje" sound?
23:41:16 <AnMaster> http://en.wikipedia.org/wiki/Voiceless_palatal-velar_fricative
23:41:18 <oerjan> but the "sj" sound is not quite the same as in swedish, i think
23:41:28 <AnMaster> ah
23:41:55 <oerjan> i think i can pronounce the swedish one, and it is quite different
23:42:37 <oerjan> norwegian "sj" is fairly close to english "sh" i think
23:42:48 <AnMaster> hm ok
23:42:50 <AnMaster> night
23:45:05 <fizzie> I'm not sure you can simply renewcommand befun-begin, it's such an integral part of the whole environment thing. (I'm not saying it wouldn't work, just that I have some doubts. And I'm sure it'd be possible with some lower-level TeX.)
23:46:02 -!- BeholdMyGlory has quit (Remote closed the connection).
23:51:18 <oerjan> <ehird> AnMaster: a swede is not powerful enough to be considered a computer. sorry.
23:51:23 <oerjan> the secret is spreading!
23:51:49 <oerjan> ehird: you should beware of the powerful swedish secret service, now
23:52:16 <oerjan> make sure you hide yourself well enough that only a computer can find you
23:54:03 <fizzie> Swedish Secret Service, and their Absolute Alliterative Authority over Computational Concerns.
23:55:09 <oerjan> that would be Confidential Computational Concerns
23:56:17 <oerjan> it must follow the Triliteral TLA Term policy
23:56:33 <fizzie> oerjan: What was your Erdős number? Oklopol impled it was <6, but did not state the numerical value.
23:56:38 <oerjan> 4
23:59:01 <fizzie> Okay. Is there a better way for computating that for a given person than the http://www.oakland.edu/enp/ -linked MathSciNet collaboration distance calculatato-a-tron?
2009-03-18
00:00:17 * FireFly lost :(
00:00:32 <ehird> a
00:01:11 <ehird> 22:29 MizardX: http://sovietrussia.org/f/src/tetoris.swf
00:01:14 <ehird> my god
00:01:16 <ehird> it's full of empty space
00:02:38 <fizzie> A lab-mate dared any of us to fill-and-explosify a non-zero number of lines in that Tetris variant during work-time; I spent approximately seven minutes filling about half of a row, then misplaced a S leaving an unfillable hole, and finally closed the browser tab in disgust.
00:03:24 <fizzie> (Might be one of the reasons I'm still awake trying to write this must-be-ready-by-tomorrow text.)
00:07:59 <oerjan> fizzie: if by better you mean "easier", i cannot imagine one
00:09:00 <fizzie> I mean "as easy but not limited to collaboration on mathy subjects".
00:09:29 <oerjan> no idea
00:10:38 <fizzie> There ought to be some sort of a searchable GiganticSciencePublicationDatabaseGraphThing.
00:12:19 <ehird> An erdos-bacon number of 0.
00:14:04 <oerjan> mm, bacon
00:14:10 <ehird> Mm, Erdos.
00:14:10 <ehird> Er.
00:14:15 <oerjan> (i can safely say this since AnMaster has left)
00:14:17 <ehird> Actually I am eating bacon right now.
00:14:26 <ehird> oerjan: he still responds to pings
00:14:30 <ehird> i think he set his client to wake him up
00:14:36 <oerjan> Actually I am eating peanut butter right now.
00:14:42 <ehird> That is not bacon oerjan.
00:14:47 <oerjan> indeed
00:15:06 <oerjan> i do not believe i have bacon, unless some has sneaked into the liver pate
00:16:01 <oerjan> since bacon pate is a separate product, i doubt it
00:20:31 * oerjan notes that US "jelly" seems to include "jam" as a subset
00:20:37 -!- FireFly has quit ("Later").
00:20:37 <ehird> really?
00:20:38 <ehird> weird
00:21:00 <oerjan> so in fact i have all the ingredients for that famous peanut butter and jelly sandwich
00:21:15 <ehird> :D
00:21:37 <oerjan> i merely failed at merging the slices into a sandwich
00:21:59 <oerjan> and now it is too late for this meal, since i have already eaten the peanut butter slice
00:22:39 <oerjan> but next time - FOR SCIENCE
00:26:44 <ehird> hi Blipi, you new?
00:27:04 <Blipi> Yeah
00:27:50 <ehird> welcome
00:27:56 <ehird> what brings you here?
00:28:15 <oerjan> it's just a blip in existence
00:28:43 <Blipi> My friend ;D
00:28:50 <ehird> wait wait ;D?
00:28:52 <ehird> Must be FireFly
00:28:58 <ehird> or MigoMipo, or BeholdMyGlory
00:29:00 <ehird> One of the swedes
00:29:09 <fizzie> There is a large number of nicknames on the list; lots of alternatives.
00:29:11 <Blipi> whom just left
00:29:13 <ehird> telia.com redirects to .se
00:29:14 <Blipi> Yep
00:29:16 <ehird> yep yep, FireFly
00:29:18 <Blipi> FireFly
00:29:19 <Blipi> D:D
00:29:26 <ehird> My investigation skills are unparalleled.
00:29:33 <fizzie> ehird: Do you have some psychic powers or something?
00:29:56 <ehird> No, just deduction.
00:30:13 <ehird> The initcaps of the nick; then ;D -- I've only seen the swedes use ;D, but not AnMaster, he's far too seriousf or that
00:30:20 <ehird> So, FireFly, BeholdMyGlory or MigoMipo
00:30:28 <ehird> I /whois'd, checked the ISP, redirects to .se.
00:30:32 <ehird> And thus.
00:30:58 <oerjan> ehird: wait, are you saying Blipi _is_ FireFly?
00:31:04 <ehird> No.
00:31:10 <ehird> He said he was referred by "My friend ;D".
00:31:16 <oerjan> ok. so i don't have to swat him then.
00:31:21 <ehird> So I tried to figure out who that was.
00:31:22 <ehird> oerjan: heh
00:31:28 <Blipi> ;
00:31:32 <ehird> ;
00:31:38 <oerjan> .
00:31:53 * Blipi lost the Game
00:32:02 <ehird> I can't lose the game. Thank gawd for Not the Game.
00:32:14 <oerjan> i think telia may have some norwegian presence too, at least they used to
00:32:22 <oklofok> ehird: No, just deduction. <<< it was induction
00:32:45 <oerjan> telia and telenor tried to merge once
00:32:47 <ehird> Blipi:
00:32:48 <ehird> Here are the new rules to Not the Game:
00:32:49 <ehird> {
00:32:51 <ehird> 1. You can start playing or stop playing Not the Game by announcing you do.
00:32:53 <ehird> 2. If you are playing Not the Game, you are not playing The Game.
00:32:55 <ehird> 3. Not the Game takes precedence over every other game, including games (apart
00:32:57 <ehird> from Not the Game) that specify other rules of precedence.
00:32:59 <ehird> }
00:33:01 <ehird> s/new //, that was from 2007
00:33:03 <ehird> er
00:33:05 <ehird> 2008
00:33:07 <ehird> wow, just 2008-10
00:33:09 <ehird> later than I thought
00:33:51 * Blipi is playing Not the Game
00:33:52 <oerjan> ehird: you cannot remove the new now, the old new rules take precedence ;D
00:34:00 <Blipi> (:
00:34:03 <ehird> oerjan: heh
00:34:49 <oerjan> well, i guess you could stop playing first
00:35:20 <oerjan> or wait, that "new" is not technically part of the rules
00:35:30 <oerjan> or is it
00:35:56 <Blipi> Well, I'm off
00:35:57 <Blipi> Later
00:36:04 -!- Blipi has quit ("- nbs-irc 2.39 - www.nbs-irc.net -").
00:36:05 <ehird> bye
00:45:08 -!- tromp_ has joined.
00:45:30 <tromp_> question: what's the smallest known brainfuck interoreter?
00:45:41 <ehird> tromp_: the one in the BrainfuckInterpreter language
00:45:45 <ehird> it goes like this: x
00:45:56 <ehird> but, seriously, well, that's not a simple question
00:46:22 <tromp_> ok, smallest non-cheating interpreter:)
00:46:31 <ehird> define cheating
00:46:33 <ehird> (We're pedants...)
00:46:55 <ehird> tromp_: well, there are interps that fit in 4 80-character lines
00:46:57 <ehird> (sig sized)
00:47:06 <fizzie> There's that 240-byte compiler, which is remarkable in that it is a compiler. And the redcode brainfuck interpreter, wasn't that pretty damn short?
00:47:07 <oerjan> tromp_: are you _that_ john tromp?
00:47:09 <tromp_> cheating is necessaarily ill defined:( but often you know it when you see it. like with the BrainfuckInterpreter language
00:47:23 <tromp_> yes, that's me
00:47:25 <ehird> oerjan: ooh, I knew that name was familiar!
00:47:30 <ehird> hi!
00:47:44 <fizzie> http://impomatic.blogspot.com/2009/01/brainf-interpreter-in-redcode.html has the redcode thing. For an assembly language program, it's rather short.
00:47:45 <tromp_> i just wrote one that seems pretty short
00:47:56 <tromp_> in 117 bytes
00:48:03 <ehird> nice
00:48:04 <ehird> what language?
00:48:18 <tromp_> in lambda calculus
00:48:29 <tromp_> binary lambda calculus to be precise
00:48:30 <ehird> nice
00:48:37 -!- olsner has joined.
00:48:44 <ehird> that's really concise, for LC
00:49:03 <tromp_> well, has anyone tried in LC before?
00:49:07 <ehird> not that I know of
00:49:23 <tromp_> it was something of a challenge:)
00:49:28 <ehird> tromp_: yours is probably the shortest interp
00:50:01 <tromp_> nice testament to the power of LC
00:50:05 <ehird> yes
00:50:13 <ehird> Lambda calculus is the preferred language for enterprise deployment.
00:50:30 <ehird> :-)
00:50:40 <tromp_> with a little sugar on top:)
00:50:46 <fizzie> Shortest C brainfuck I've seen has been 201 bytes, but I'm not sure if it's the shortest C one there is.
00:51:14 <tromp_> imine is actually more like 936 bits
00:51:16 <tromp_> mine
00:51:26 <tromp_> but i just divide by 8 for convenience
00:51:36 <ehird> that's ridiculously small.
00:51:45 <ehird> show it? :)
00:51:57 <tromp_> it's on my BLC wikipedia page
00:52:21 <tromp_> http://en.wikipedia.org/wiki/Binary_lambda_calculus#Turing_machines_in_BLC
00:52:29 <fizzie> My own C interp seems to be 265 bytes; the bloatedness.
00:52:40 <ehird> tromp_: very nice
00:52:44 <ehird> I have no idae how that works at all :)
00:53:13 <tromp_> maybe i should show the haskell code i used as a guideline
00:53:26 <ehird> that'd be neat :)
00:53:30 <tromp_> that's infinitely more legible:)
00:58:58 <tromp_> hmm, does wikipedia have a verbatim environment?
00:58:59 <fizzie> The redcode interpreter is 13 instructions, but it's a bit difficult to count the bits, since the instruction values are abstract sort of numbers, and the operand size is configurable; and in any case you might consider it a cheating one, as each brainfuck commands needs to be transformed to a single specific redcode instruction and appended to the interpreter program.
00:59:13 <ehird> 23:58 tromp_: hmm, does wikipedia have a verbatim environment? <- hm?
00:59:30 <fizzie> (12, not 13.)
01:01:01 <fizzie> And Wikipedia can do <pre>...</pre> for does-not-collapse-whitespace does-not-interpret-wiki-markup verbatimness.
01:01:03 <oerjan> tromp_: try <nowiki><pre>...</pre></nowiki>
01:01:15 <oerjan> or wait, was that backwards
01:01:33 <fizzie> According to http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page the <pre> tag already ignores Wiki markup.
01:01:48 <oerjan> well, that or <pre><nowiki>...</nowiki></pre>
01:01:56 <oerjan> fizzie: not all, i think?
01:02:22 <fizzie> I'm no MediaWiki expert; the descriptions are identical, though.
01:02:48 <tromp_> seems just indenting works to
01:02:50 <tromp_> too
01:03:05 <fizzie> Leading spaces won't stop Wiki markup parsing, though. Just the text reformatting.
01:03:34 <oerjan> hm right
01:04:05 <tromp_> well, it looks ok to me. see http://en.wikipedia.org/wiki/Binary_lambda_calculus with the haskell version added
01:05:27 <oerjan> tromp_: you should be aware that article may risk being deleted for non-notability, though
01:06:45 <oerjan> our wiki has no such requirement, though; your binary combinatory logic already has an article there
01:07:12 <ehird> Indeed http://esolangs.org/wiki/Binary_combinatory_logic
01:07:55 <oerjan> well though so does wikipedia...
01:08:08 <tromp_> i'd be happy to copy the blc article onto there as well
01:08:45 <ehird> :-)
01:08:46 <oerjan> note the licenses are different though (we are public domain)
01:09:01 <oerjan> shouldn't matter as long as you're the author, of course
01:13:05 <tromp_> ouch; the esolang wiki doesn't do TeX?
01:13:15 <ehird> it does <math> doesn't it?
01:13:16 <oerjan> um right
01:13:20 <oerjan> always there is something
01:13:35 <ehird> hmm
01:13:37 * ehird looks at the WP article
01:13:45 <ehird> you could replicate that with HTML pretty easily
01:14:12 <tromp_> any volunteers:-?
01:14:25 <ehird> ''λx<sub>0</sub> .'λx<sub>1</sub>.x<sub>0</sub>''
01:14:30 <ehird> with the double single quotes
01:14:32 <ehird> would be the True
01:14:46 <ehird> if you put it on the esolang wiki I'll try to convert it
01:14:54 <tromp_> it's onm there
01:14:58 * oerjan sweeps a "my" under the carpet ^U^U changes a "my" to "this"
01:15:21 <ehird> ?
01:15:30 <oerjan> in the wp article
01:15:37 <tromp_> oops, where did it go?
01:15:41 <ehird> http://esolangs.org/wiki/Binary_lambda_calculus <-- I don't see it
01:16:08 <oerjan> "This interpreter is a rough translation of the following version written in Haskell" was "My ..."
01:16:44 <ehird> tromp_: I'll copy it for you
01:17:06 <tromp_> ok, thanks
01:17:19 <tromp_> i said save page, answered a question, and then it wasnt there:(
01:18:19 <oerjan> hm do we have captchas for non-registered users? i forget.
01:18:24 <tromp_> ah, you got it alrd
01:29:13 <psygnisfive> man
01:29:15 <psygnisfive> grad school rocks
01:29:16 <psygnisfive> :o
01:29:32 <tromp_> now the problem is that i have to update two copies of the page:(
01:31:06 <psygnisfive> also, i wonder what sorts of computations can be computed using strictly binary lambdas.
01:31:33 <ehird> ...all of them
01:31:33 <ehird> ?
01:31:35 <tromp_> what are binary lambdas?
01:31:42 <oklofok> what tromp_ asked
01:32:42 <psygnisfive> yeah yeah. like.. \x,y -> ... with no pseudo binary higher orderedness
01:32:57 <psygnisfive> no \x -> \y -> ...
01:33:04 <psygnisfive> strictly binary functions.
01:33:21 <ehird> erm just pass tuples?
01:33:31 <oklofok> well can't you just use dummy parameters to mimic unary functions
01:33:33 <tromp_> then you're kind of grounded in identity functions:(
01:33:38 <oklofok> hmm
01:33:44 <tromp_> wait
01:33:45 <psygnisfive> no no ehird
01:33:55 <psygnisfive> im curious about the computational power of such things
01:34:06 <tromp_> i was thinking about not even allowing binary lambdas
01:34:33 <oklofok> psygnisfive: please falsify mine
01:34:44 <psygnisfive> and yes, you could i suppose
01:34:45 <psygnisfive> like
01:35:29 <tromp_> once you have combinator S then you have everything
01:35:33 <psygnisfive> (\x,y -> y) (\x,y -> y) 1
01:35:35 <psygnisfive> or whatever
01:35:46 <psygnisfive> is the identity function, surely
01:35:46 <oklofok> hmm
01:35:59 <psygnisfive> well, a binary application
01:36:13 <oklofok> tromp_: you also need k
01:36:14 <psygnisfive> that produces an identity.
01:36:40 <tromp_> k is what you call binary lambda
01:36:53 <oklofok> oh
01:36:55 <psygnisfive> so i suppose because you can mimic unary lambdas with binary lambdas, they must be computationally equivalent
01:37:26 <oklofok> tromp_: psygnisfive didn't mean k by it
01:37:37 <oklofok> err
01:37:39 <oklofok> no sorry
01:37:45 <oklofok> i just misparsed your sentence
01:38:02 <tromp_> so you can represent true and false, but you can't compose functions, or make pairs?
01:38:20 <oerjan> but still, it does not seem overly difficult to just use dummies like oklofok says
01:38:26 <tromp_> you can define church numerals
01:38:37 <tromp_> but not the plus function?
01:38:58 <tromp_> or times?
01:39:03 <psygnisfive> tromp_ i do believe i just said they seem to be computationally equivalent to normal lambdas
01:39:09 <oerjan> note that there is still nothing preventing you from doing things like \x,y -> \z,w -> ...
01:39:27 <psygnisfive> you just need to write things down correctly :p
01:39:33 <psygnisfive> function composition:
01:39:38 <oklofok> basically applying a to x would be `x(a,_), and \x->... would be \x,_->...
01:40:08 <oerjan> *x to a
01:40:15 <oklofok> assuming you can't curry, and f(a,b) is used for calling f with a and b
01:40:23 <oklofok> err yes
01:40:31 <oklofok> (i did some variable name switcharoo)
01:41:05 <tromp_> you can fake \x \y \z with \x \y (\a a) \z
01:41:06 <psygnisfive> supposing f and g are pseudounary functions, and compose = \x,y -> \x',y' -> xx(yyy')
01:41:47 <psygnisfive> then f.g should be
01:41:51 <psygnisfive> compose f g
01:42:15 <psygnisfive> and then this would be applied to a dummy and a value
01:42:29 <tromp_> but you can also disallow any nesting of more than 2 lambdas, which would forbid that
01:42:37 <psygnisfive> what?
01:43:40 <tromp_> you can ask what functions can be written with de bruijn indices <= 2
01:43:48 <psygnisfive> what
01:43:56 <oklofok> :P
01:44:06 <ehird> err what is unclear about what tromp_ is saying?
01:44:39 <psygnisfive> everything
01:44:52 <psygnisfive> im not sure if he's even talking about the same things i a
01:45:03 <tromp_> so you can only the two variables bond by the 2 directly enclosing lambdass
01:45:09 <tromp_> only use
01:45:17 <psygnisfive> what?
01:45:19 <oklofok> hmm
01:45:21 <psygnisfive> are you speaking english?
01:45:32 <oklofok> tromp_: well there are other universal combinator sets
01:45:38 <oklofok> maybe one only needs two
01:45:44 <oklofok> psygnisfive: no it's finnish
01:45:49 <psygnisfive> could be!
01:46:01 <psygnisfive> but theres too few vowels and no umlauts
01:46:01 <tromp_> they all have a combinator on >= 3 arguments
01:46:10 <oklofok> hmm interesting
01:46:31 <oklofok> more interesting than that quantifier thing psygnisfive told me about yesterday
01:46:32 <tromp_> i suspect that has been proven necessary
01:46:43 <oklofok> probably, if it's necessary
01:46:57 <oklofok> but it's not like it would be a millenium problem even if it was not solved
01:47:04 <oerjan> so, in essence, no closures, i think
01:47:10 <psygnisfive> what the fuck are you people talking about, jesus.
01:47:13 <oklofok> :D
01:47:20 <psygnisfive> are you all on drugs, god
01:47:49 <oklofok> oerjan: elaborate
01:47:54 <oerjan> psygnisfive: if a lambda expression can only mention the variables of the innermost lambda
01:48:02 <oklofok> oerjan: two innermost
01:48:15 <psygnisfive> oerjan: yes? go on?
01:48:17 <oerjan> so you have no direct access to outer ones
01:48:25 <psygnisfive> i didnt say that at all
01:48:37 <psygnisfive> i didnt say that the binary lambdas couldnt do that
01:48:42 <psygnisfive> i dont think anyone did, actually
01:48:46 <oklofok> psygnisfive: i don't think tromp_'s had anything to do with yours
01:48:48 <oerjan> psygnisfive: we are trying to make a new restriction so it actually becomes interesting, duh
01:49:06 <psygnisfive> ok so its got nothing to do with what i mentioned.
01:49:07 <oerjan> since we all agree yours is too easy to circumvent
01:49:16 <oklofok> psygnisfive: it has LC and the number 2.
01:49:21 <psygnisfive> :p
01:49:42 <oerjan> now since you have no access to outer lambdas, you in essence don't need full closures for your functions
01:49:52 <oerjan> or so i think
01:49:59 <psygnisfive> sorry so whats the formalism you're proposing, oerjan?
01:50:05 <oerjan> since you only need access to the arguments
01:50:08 <oklofok> oerjan: but you have access to the outer function, or am i misunderstanding something?
01:50:55 <oklofok> right "directly enclosing", so it's basically psygnisfive's but with a stronger limit
01:51:17 <psygnisfive> examples?
01:51:18 <oklofok> hmm sleep.
01:51:22 <oklofok> psygnisfive: never!
01:51:23 <oklofok> ->
01:51:29 <psygnisfive> night oklo
01:51:30 <psygnisfive> <3
01:51:34 <psygnisfive> sleep well darling
01:51:54 <oerjan> \x,y -> (\a,b -> a b) (\c,d -> c) (x y) would be an example
01:52:02 <oerjan> er wait
01:52:25 <psygnisfive> that seems like it would do nothing interesting
01:52:40 <oerjan> \x,y -> (\a,b -> a b b) (\c,d -> c) (x y y)
01:52:48 <oerjan> need to apply to pairs as well
01:53:00 <psygnisfive> \x,y -> (\a,b -> a b b) (\c,d -> c) (x y y) huh
01:53:04 <psygnisfive> thats
01:53:25 <oerjan> just an example of what's allowed
01:53:26 <psygnisfive> \x,y -> (\c,d -> c) (x y y) (x y y)
01:53:32 <psygnisfive> \x,y -> x y y
01:53:58 <oerjan> indeed. i think reductions may preserve this property?
01:54:21 <psygnisfive> well, what i mean is, that function you described is just "apply" :P
01:54:49 <psygnisfive> for pseudo-unary functions.
01:54:57 <oerjan> psygnisfive: i'm just showing the syntax, don't expect it to be interesting yet.
01:55:06 <psygnisfive> what syntax?
01:55:09 <oerjan> maybe there are no interesting functions definable this way
01:55:40 <oerjan> x and y can only be mentioned on the top level inside \x,y
01:55:48 -!- Sgeo has joined.
01:55:51 <psygnisfive> oh i see what you mean.
01:57:00 <oerjan> so in essence _all_ lambda expressions are closed terms
01:57:15 <psygnisfive> so that \x,y -> E, where, if E contains a lambda, that lambda cannot contain x or y inside it.
01:57:33 <oerjan> right
01:58:40 <psygnisfive> indeed i think this removes closures.
01:58:43 <oerjan> and if an expression is applied, it must be to an even number of arguments
01:58:45 <psygnisfive> but i think that's it, no?
01:59:49 <psygnisfive> do you need closures?
02:00:03 <psygnisfive> no. SKI doesnt have closures.
02:00:05 <psygnisfive> does it?
02:00:09 <psygnisfive> ah yes, for K
02:00:59 <psygnisfive> so i guess in some sense you're limiting the calculus to whatever you can do with I and S
02:01:12 <oerjan> actually S too, when you partially apply it
02:01:20 <psygnisfive> true enough.
02:01:23 <psygnisfive> hmm.
02:04:34 <oerjan> (\x,y -> x x y)(\x,y -> x x y)(\x,y -> x x y) <-- at least we have nontermination
02:05:14 <psygnisfive> or just \x,y -> x x x will do it for any second argument
02:05:36 <psygnisfive> (\x,y -> x x x) (\x,y -> x x x) _
02:05:38 <tromp_> why not just (\x x x)(\x x x) ?
02:05:47 <psygnisfive> because that has no right hand side!
02:05:54 <oerjan> (\x,y -> x x y)(\x,y -> x y x)(\x,y -> y x x)
02:06:01 <psygnisfive> :o
02:06:37 <oerjan> tromp_: even number of arguments required
02:06:49 <psygnisfive> right hand sides even more so :P
02:07:59 <oerjan> oh right D
02:08:02 <oerjan> :
02:08:05 <psygnisfive> D:
02:08:06 <psygnisfive> :D
02:08:16 <psygnisfive> D:D:D:D:D:D:D:D:D:D
02:08:25 <oerjan> MAKE UP YOUR MIND
02:09:02 <oerjan> the Escher Smiley
02:09:32 <psygnisfive> so what kinds of computations can we have if we only can only have bound variables at the top levels of lambdas?
02:09:37 <oerjan> now we just need to draw it on a mobius strip
02:11:03 <psygnisfive> can such a system be TC?
02:11:26 <psygnisfive> can we fake closure?
02:11:47 <oerjan> the requirement that applications must be full is also important, i think
02:12:38 <oerjan> or wait is it
02:12:47 <psygnisfive> well lets just look at normal LC
02:12:50 <psygnisfive> with top-level only
02:13:47 <oerjan> actually i think it is still preserved under reductions even if partially applied, at least leftmost ones?
02:14:04 <oerjan> er
02:14:36 <psygnisfive> ]hm hm
02:16:06 <oerjan> lessee we want top-level variables only but with arbitrary number (or at least two)
02:16:24 <oerjan> so \x y z -> x y z would be allowed
02:16:56 <psygnisfive> sure why not
02:17:09 <psygnisfive> \a b c -> 1 2 3
02:17:09 <psygnisfive> :o
02:17:33 <oerjan> now if our reductions are outermost, then whatever we apply to will be closed
02:17:59 <psygnisfive> ey?
02:18:40 <oerjan> um i mean if we evaluate very lazily, then there are no free vars at that level
02:19:05 <psygnisfive> i think we need some more experience with formal proofs really to determine the power of this system
02:19:05 <psygnisfive> :p
02:19:05 <oerjan> hm actually SKI behaves that way
02:19:12 <oerjan> alas, indeed
02:19:29 <psygnisfive> but lets see if we can reformulate it as a formal grammar
02:19:35 <psygnisfive> because that we can get closer to
02:19:46 <psygnisfive> formal language theory is easy to prove over i think maybe
02:22:34 * oerjan lets the official formal linguist ponder this
02:32:34 <tromp_> any hardcore brainfuck programmers out here?
02:33:35 <tromp_> http://en.wikipedia.org/wiki/Binary_lambda_calculus#BLC8:_byte_sized_I.2FO has a nice challenge for you....
02:34:37 <tromp_> make that section http://en.wikipedia.org/wiki/Binary_lambda_calculus#Brainfuck
02:40:00 <psygnisfive> oh thank god
02:40:04 <psygnisfive> did you clean up that page?
02:40:34 <tromp_> clean up how?
02:40:50 <psygnisfive> well before it was all <math> ... stuff
02:41:06 <psygnisfive> also, whats this lambda stuff without variables?
02:41:33 <tromp_> pls follow the link to read up on De Bruijn indices
02:42:16 <tromp_> you replace variables by a count of how far out it's binding lambda is
02:42:22 <tromp_> its
02:42:49 <psygnisfive> oh i see
02:43:02 <tromp_> so \x\y x becomes \ \ 2
02:43:11 <psygnisfive> so \x.x = \1, \x.\y.x = \\2
02:43:13 <psygnisfive> etc
02:43:16 <psygnisfive> i see i see
02:43:17 <psygnisfive> interesting
02:43:36 <tromp_> indeed
02:43:42 <tromp_> and quite useful
02:44:20 <psygnisfive> very interesting indeed
02:46:27 <psygnisfive> i wonder if theres any insights that can be gained from this.. HMM
02:53:29 <tromp_> going home. g'night folks
02:53:37 <psygnisfive> night
04:34:24 <bsmntbombdood> hmmm
04:34:40 <oerjan> hmmmm
04:34:53 <bsmntbombdood> i wonder if you could write something for FUSE that can mount tarballs
04:38:54 <bsmntbombdood> tar is not meant to be random access, so you would keep a cache of offsets in the tar
04:55:41 <bsmntbombdood> my ~ has 62,000 files in it, so an 64 bit offset will take .5MB of ram
04:57:48 <pikhq> I'm sure it could.
04:58:14 <pikhq> HURD has tarfs...
04:58:41 <bsmntbombdood> compressed tarball would be more interesting
04:59:11 <pikhq> Stick the bzip2 translator on a tar file and then mount it with tarfs.
04:59:13 <pikhq> Done.
04:59:25 <bsmntbombdood> that's cheating
04:59:41 <bsmntbombdood> you don't have enough disk space to store the uncompressed version
05:00:12 <pikhq> ... And the bzip2 translator doesn't store the uncompressed version on disk.
05:00:27 <bsmntbombdood> ...but it's also not natively seekable
05:00:33 <pikhq> It's not very fast.
05:00:37 <pikhq> ;)
05:02:27 <bsmntbombdood> do you have a better idea than the quadratic time algorithm?
05:03:34 <pikhq> Don't use bzip2, dummy? :p
05:04:08 <bsmntbombdood> gzip is the same way...
05:06:21 <bsmntbombdood> i imagine you can cache compression contexts
05:06:35 <pikhq> Well... Seekable compression of some sort... Not exactly common for typical lossless compression formats.
05:07:03 <bsmntbombdood> but the would be on the order of ~32kb
05:10:35 <bsmntbombdood> doesn't need to be truly seekable, because we can make one pass over it
05:10:50 <bsmntbombdood> to build some index information
05:15:39 <bsmntbombdood> for something like simple huffman coding, you just have to store offsets
05:48:34 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:27:51 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
07:13:17 -!- neldoreth has quit (No route to host).
07:56:13 -!- MigoMipo has joined.
07:57:57 <fizzie> FUSE has got avfs (which mounts "tar and gzip files, zip, bzip2, ar and rar files"; fuse.gunzip for transparent decompression of gzip; archivemount which allows "mounting of cpio, .tar.gz, .tar.bz2 archives. Reading and writing supported."
07:58:05 <fizzie> All of them might be horribly slow, though.
07:58:46 <fizzie> I've seen one seekable bzip2 variant, done in the obvious way (reset of the bzip2 context every N bytes, plus an index of offsets to beginning of blocks).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:39 <fizzie> Not very fast if you seek around a lot and read x << N (much-less-than, not bitshift) bytes here and there.
08:14:50 <bsmntbombdood> hmm
08:15:15 <oerjan> uuy
08:15:25 <oerjan> er, wwy
08:27:54 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
08:36:01 -!- oerjan has quit ("Optimis dentibus").
09:44:25 -!- tombom has joined.
09:47:05 -!- ais523 has joined.
09:56:36 <AnMaster> hi ais523
09:56:40 <ais523> hi
09:58:38 <AnMaster> ais523, awesome project name: http://code.google.com/p/google-thingbrowser/
09:58:53 <ais523> a thingbrowser?
09:58:53 <AnMaster> not sure what it actually does
09:59:00 <ais523> browses things, obviously
09:59:13 <AnMaster> ais523, "The Thing Browser is a framework for loosely coupled components -- eventually, distributed objects -- that can be intuitively and securely composed by end-users."
09:59:29 <ais523> oh dear, that's marketingspeak
09:59:32 <ais523> any idea what it does in English?
09:59:36 <AnMaster> ais523, no
09:59:53 <AnMaster> ais523, I also think it is written in java
10:00:00 <AnMaster> but anyway I like the project name
10:00:13 <ais523> being written in Java doesn't automatically make something bad...
10:00:22 <AnMaster> ais523, true
10:01:25 <fizzie> While being written in an esoteric language automatically *does* make something good.
10:01:56 <ais523> or better than it would be otherwise, at least
10:01:58 <AnMaster> ais523, there is a lot more text on http://code.google.com/p/google-thingbrowser/ about it
10:02:14 * AnMaster hopes either fizzie or ais523 can decode it
10:02:31 <ais523> decoding marketingspeak hurts my brain, I'm not even sure if I dare look at it right now
10:02:55 <AnMaster> ais523, I can't speak marketing.
10:03:08 <ais523> I only can with great effort, well read it not speak it
10:03:12 <ais523> reading marketing is like reading machine code
10:03:26 <AnMaster> ais523, without a disassembler?
10:03:38 <ais523> sort-of with a disassembler, but it's buggy
10:03:51 <AnMaster> ah
10:04:28 <AnMaster> I can read disassembled x86 pretty well. At least if it is in AT&T syntax.
10:04:33 <AnMaster> I can't read intel syntax
10:04:46 <fizzie> I don't read marketing very well either, and I have that presentation in three hours and still haven't designed that homework for the listeners. :p
10:04:56 <ais523> I can read both asm syntaxes, although I get confused between them
10:05:15 <AnMaster> fizzie, go do it then?
10:06:00 <AnMaster> fizzie, wait? I thought you were a student?
10:06:30 <fizzie> Yes, well, this is a seminar course, and each presenter must design (and grade) a short homework-style thing for the others.
10:06:43 <AnMaster> ah
10:06:44 <fizzie> I assume it's a clever ploy by the course organizers to get by with less work.
10:06:48 <ais523> fizzie: how many people are on it?
10:06:58 <ais523> doing one homework for each other person in your class must be pretty awful
10:07:19 <fizzie> ais523: Just 12, if I counted right. And the homework should be something that "does not take more than half an hour to answer".
10:07:41 <ais523> ok, so you'll be spending a little under 5 and a half hours doing it then
10:08:42 <fizzie> Yes. Well, in theory. In fact I haven't actually answered the homework thing given by last week's presentation-doer yet either; should do that too.
10:09:39 <fizzie> At least the ten-page article and the presentation slides are sort-of finished, so I'm not completely... what is the idiom? Screwed?
10:10:20 <ais523> screwed is one possibility, yes
10:20:16 -!- neldoreth has joined.
10:24:36 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
10:27:43 <AnMaster> http://code.google.com/p/es-operating-system/ <-- wow
10:30:11 <oklofok> 5 and a half hours of homework is less than pretty much any of our courses have
10:30:16 <oklofok> except the ones that don't have homework
10:30:38 <fizzie> The homework in this one is supposed to be a pretty small part of the overall work-to-do.
10:30:52 <oklofok> usually it's more like 2-4 per week for the 6 weeks (or something) the courses last
10:30:59 <oklofok> ah
10:33:27 <oklofok> well. gotta go read my booker ->
10:36:22 <fizzie> Your bookie.
10:50:56 <fizzie> The homework, it is done. (I mean the questions for others, not the one given by last week's guy.) And with something like two hours to spare. Now I should print dead-tree copies for everyone of both my slides and the actual article; that's something like 15*(10+4) pages, even if I print the slides with four-slides-per-page.
10:56:07 <fizzie> Oh; the instructiomotions have been changed, and it's now only the slides. I guess that makes more sense.
11:05:18 <oklofok> hmm
11:05:26 <oklofok> what was the last guy's question?
11:05:36 <oklofok> i can probably solve it with a glance
11:05:40 <oklofok> cuz i know my signals.
11:05:50 <oklofok> (*at)
11:07:13 <fizzie> It's about microphone arrays for speech recognition, and it's a pretty free-form question; we're meant to pick one application that actually uses that stuff, and then answer (a) how many microphones, (b) in what sort of array and (c) what are they used for.
11:08:16 -!- Slereah has joined.
11:08:46 <oklofok> well this is just a hunch but (a) 7 (b) an array of 7 (c) speech recognition
11:09:17 <fizzie> Thanks for the help, but I think I'll write a slightly different answer here.
11:09:38 <oklofok> well yeah i guess you don't learn if you cheat
11:12:07 <oklofok> yay coffees are done, maybe some more readings, of the bookie ->
11:12:12 <oklofok> bookance
11:15:02 <oklofok> wow
11:15:20 -!- olsner has quit ("Leaving").
11:15:26 <oklofok> i spilled all of my coffee on a pile of papers
11:15:33 <oklofok> so now i get to make more coffee!
11:15:35 <oklofok> :D
11:15:38 <oklofok> life is so awesome
11:18:36 -!- ais523 has joined.
11:20:51 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
11:43:33 <AnMaster> ais523, http://code.google.com/p/es-operating-system/
13:00:36 -!- MizardX has quit ("Proclamation of invalidity!").
14:02:25 -!- Mony has joined.
14:07:34 <Mony> plop
14:07:39 <ais523> hi Mony
14:07:52 <Mony> how are you ?
14:08:03 <ais523> slightly tired, slightly overworked
14:08:40 <fizzie> Phew, presentation done; now to listen to the other speaker for today.
14:08:42 <Mony> heh
14:46:00 <fizzie> Yay, I had an almost exactly 30 minutes (the time given in the specification) long talk even though I did slides for it half-asleep at 03am and didn't prepare the actual presentationary part even once.
14:47:08 <Mony> huge http://www.geekologie.com/2009/03/real_life_spiderman_paralyzed.php
14:47:32 <oklofok> well you're a scientsist now, get used to it
14:48:23 <fizzie> The URL seems to suggest that a spiderman got paralyzed, but it was in fact almost the opposite.
14:48:27 <ais523> hmm... it seems from the Slashdot discussion that the spider was probably irrelevant in that, but it makes a good story
14:48:37 <Mony> lol fizzie
14:49:00 <Mony> the URL are misleading
14:52:13 <oklofok> "great now everybody's gonna try it" :D
14:52:32 <Mony> lol
14:52:50 <fizzie> Next: a three-page report in Swedish, delivered tomorrow. Maybe I could subcontract AnMaster or someone to do it...
14:53:47 <oklofok> well i have about 500 pages to read until monday!
14:54:11 <oklofok> i'm assuming this is a topping contest
14:54:30 <Mony> fizzie, are you swedish or are you just learning swedish ?
14:55:06 <oklofok> i don't think either
14:56:28 <fizzie> Well, I mean, technically speaking I guess I should be learning it. There is an obligatory Swedish exam part of our study curriculum (it's in the law, even), and I thought I'd get it done easier by doing it in course form.
14:56:48 <ais523> fizzie: what nationality are you?
14:56:53 <fizzie> Finnish.
14:57:06 <fizzie> This is a bilingual country.
14:57:13 <Mony> sweet
14:57:56 <fizzie> 5.6 % actually speak Swedish, but everyone's supposed to be able to.
14:59:52 <oklofok> ime most people are
14:59:57 <oklofok> (to some extent)
15:00:23 -!- BeholdMyGlory has joined.
15:01:37 <fizzie> Yes, I guess so.
15:01:56 <Mony> i went to Sweden during February, it's a great place
15:05:39 <fizzie> [translated from the assignment] "Before you start writing you should make sure you understand the *purpose* for your report. *Why* are you writing it and *to whom* is it meant for?" I have a hunch for most the answers are "because it is required of us" and "to the teacher".
15:05:55 <ais523> yep, typical teachers
15:06:36 <fizzie> I think we were also instructed to avoid writing it so that it looks like it's written for the teacher to read.
15:07:02 <ais523> Do this work, and also come up with a plausible reason for doing it unrelated to this course!
15:11:10 -!- ehird has left (?).
15:11:19 -!- Hiato has joined.
15:11:40 -!- ehird has joined.
15:14:20 -!- FireFly has joined.
15:28:02 <ehird> 08:59 AnMaster: ais523, "The Thing Browser is a framework for loosely coupled components -- eventually, distributed objects -- that can be intuitively and securely composed by end-users."
15:28:11 <ehird> err that sort of makes sense…
15:28:22 <ais523> well yes, that doesn't prevent it being marketingspeak though
15:28:34 <ehird> i mean, composing objects is like feeding the result of a function into another, pretty much, like composing "addition", "text form field" and "label" to make an addition-calculator app thingy
15:28:50 <ehird> and the distributed thing means the components'll go over the interwebs eventually
15:29:00 <ehird> and the intuitive part means, uh, you can use a gooey interface to do it
15:30:45 <ehird> the google- part means google own it :P
15:33:23 -!- tromp_ has quit (Remote closed the connection).
15:37:04 <AnMaster> ehird, so what is the thing useful for? It doesn't say really
15:37:15 <ehird> what do you mean?
15:37:21 <ehird> it does certain things, I just described what they are
15:37:31 <ehird> what to do with them is, presumably, your problem.
15:37:46 <AnMaster> heh
15:37:50 <ais523> newsflash: Google develop complicated thingbrowser technology, are waiting for AnMaster to tell them what to do with it
15:37:57 <AnMaster> well I was looking for something else when I ran into that project
15:37:58 <ehird> :D
15:38:04 -!- Hiato has quit ("Leaving.").
15:38:10 <ehird> http://www.bloomberg.com/apps/news?pid=20601087&sid=a_0CHRWCFx4w&refer=home
15:38:11 <ehird> wut
15:38:16 <ehird> ibm buying sun
15:38:26 * AnMaster checks date
15:38:27 <ais523> not finalised yet
15:38:28 <AnMaster> no not yet...
15:38:35 <ais523> but yes, it's recent news
15:38:42 <ehird> did I say bought
15:38:55 <ais523> also, Dell have announced a laptop that's suspiciously similar to a macbook air, but worse
15:39:13 <ehird> always the innovator
15:39:13 <ehird> s
15:39:18 <ehird> wow
15:39:18 <ehird> that is ugly
15:39:18 <AnMaster> ehird, also my "checks date" was a reference to 1 April
15:39:24 <ehird> AnMaster: ah :P
15:40:10 <ehird> see, I didn't think there could be a stupider laptop than the macbook air
15:40:13 <ehird> now I've been proven wrong.
15:40:28 <ais523> by the way, it's also more expensive and less powerfu
15:40:30 <ais523> *powerful
15:40:37 <ais523> hmm... power-fu sounds kind-of impressive
15:40:59 <ehird> it's also probably heavier
15:41:13 <ais523> yep
15:41:27 <ehird> wow, why on earth :P
15:41:40 <ais523> well, it does have a few things that the macbook air doesn't, like bluray drives
15:41:55 <ehird> blu-ray? you mean that thing nobody uses?
15:42:07 <ehird> although the macbook air doesn't even have a cd drive...
15:42:09 <ais523> well, it is starting to catch on, at least more people use it than its rivals
15:42:17 <ais523> but that's mostly for watching films
15:42:23 <ehird> that's because it only had one rival and they dropped out :P
15:42:27 <AnMaster> well it is better than no cd drive indeed.
15:42:30 <ais523> and a macbook-air-like thing strikes me as not being ideal for filmwatching
15:42:39 <AnMaster> ehird, how would you upgrade the OS on macbook air?
15:42:41 <ehird> ais523: You're meant to buy the films from itunes
15:42:44 <AnMaster> or install another one?
15:43:01 <AnMaster> does it support network booting or such?
15:43:04 <ehird> AnMaster: Plug it via usb into another computer, put in upgrade CD. Or, use software update to install a minor upgrade.
15:43:08 <ais523> AnMaster: probably it supports Parallels
15:43:19 <ais523> and you can get USB CD drives
15:43:24 <ais523> or just have the OS on a USB stick
15:43:30 <ehird> yes, you can buy an external cd drive
15:43:52 <AnMaster> oh yes I remember now, the one you couldn't use with anything else and didn't work if you used an usb hub
15:43:53 <AnMaster> right?
15:43:59 <ehird> ?
15:44:10 <ehird> uh, dunno about the hub hting
15:44:12 <ehird> but probably the former
15:44:25 <ehird> I don't think the Macbook air's target market is tinkerers
15:44:49 <AnMaster> ehird, I remember there was some external usb based CD drive that apple released a month or so after the macbook air. IIRC it didn't work if you did: air - hub - cd drive, only like: air - cd drive
15:45:04 <AnMaster> because apple did something weird to make it unusable with anything but air
15:45:08 <ehird> the superdrive; that's quite possible about the hub, odd though
15:45:20 <ais523> is a superdrive like a mighty mouse?
15:45:25 -!- Hiato has joined.
15:45:37 <ehird> ais523: that name is really old; it used to mean the floppy drives
15:45:45 <ehird> "SuperDrive is a trademark used by Apple Inc. for two different storage drives: from 1988–1999 to refer to a high-density floppy disk drive capable of reading all major 3.5" disk formats"
15:45:54 <ehird> http://en.wikipedia.org/wiki/File:Applesuperdrive.png <- Macbook air thang
15:46:01 <ehird> oddly big
15:46:04 <ais523> there is only one major 3.5 inch disk format nowadays
15:46:11 <ais523> although there were more back then
15:46:22 <ehird> ais523: there's no major floppy formats nowadays
15:46:29 <ehird> they're completely dead
15:47:02 <ais523> I don't know, I've been known to use floppies to transfer files from my windows 95 computer to my windows XP computer, or vice versa
15:47:08 <ehird> ais523: "windows 95"
15:47:11 <ehird> that's also dead :P
15:47:12 <ehird> oh, iphone os 3.0 will finally offer system-wide cut, copy and paste. how *revolutionary*.
15:47:15 <fizzie> A SuperDrive was an option for this iBook I didn't get, since I already had a DVD burninator. Now it's a completely superless drive.
15:47:27 <ais523> although for really big transfers I use XPDT, it's a program I wrote specifically for the task of transferring files between windows XP and windows 95
15:47:36 <ehird> fizzie: the only cd drives apple sells now are superdrives
15:47:43 <AnMaster> ais523, does the dell one have ethernet?
15:47:44 <ehird> ais523: what does it do?
15:47:58 <AnMaster> it is fairly useful, like when you are configuring your wireless access point
15:48:08 <ais523> ehird: just splurges the data through a serial port as fast as possible
15:48:14 <ehird> heh
15:48:15 <ais523> with minimal protocol involved
15:48:24 <ehird> AnMaster: why on earth would you use wireless on a desktop machine
15:48:25 <ais523> it works about 2/3 of the time
15:48:26 <ehird> it's so slow for that
15:48:37 <ais523> the rest of the time, packets get dropped and it doesn't notice
15:48:38 <ehird> i mean, compared to ethernet the speed is excruciating
15:48:39 <AnMaster> ehird, err talking about the dell laptop
15:48:42 <ehird> oh
15:48:43 <AnMaster> not everyone has more than one computer
15:48:51 <ehird> I don't either
15:48:52 <ehird> but
15:48:55 <AnMaster> anyway what if a person only has a macbook air
15:48:58 <ehird> you don't.
15:49:06 <ehird> if it's your only computer you're not in the target market
15:49:13 <fizzie> Yes, the Dell laptop's got the etherweb.
15:49:14 <AnMaster> ah
15:49:45 <ehird> the target market mainly consists of, well, people who go to starbucks, order a latte while reading pitchfork reviews. As far as I can tell.
15:50:12 <ais523> I assumed it was aimed at people who like to think they're stylish and have a lot of disposable income
15:50:18 <fizzie> There was that one nifty proggie (magelink?) that did file transfer over IPX networks. Useful since TCP/IP networking in DOS is always a bit iffy.
15:50:45 <ehird> ais523: that's a superset of what I said
15:50:56 <ais523> I wrote a remote binary diff program that could be used even when the two files you were diffing were on different computers that weren't connected in any way at all
15:51:15 <ehird> the macbook air lets you choose your own colours; I'm going to go configure one like Hot Dog Stand.
15:51:21 <ehird> take that, design
15:51:24 <fizzie> Did LapLink do serial lines too? (The parallel port laplink connection was faster, at least.)
15:52:08 <ehird> hm wait, that's a third party case
15:52:26 <ehird> how silly of me to think that apple would let a user tarnish their design! :P
15:52:37 <fizzie> Oh, oh, and SMODEM, now *that* was a revolutionary idea. You could do BBS-chatting *while downloading a file*, instead of just looking at the ZMODEM file download dialog for two hours.
15:53:21 <Deewiant> But then your download would take four hours so you preferred to just stare anyway
15:53:44 <fizzie> I didn't; was it really a lot slower?
15:54:19 <Deewiant> I was referring more to the fact that you're using up bandwidth for the chatting
15:54:40 <Deewiant> I never actually used BBSs back in the day (only a few times late in the day) so I don't know
15:54:46 <fizzie> Oh.
15:55:14 <fizzie> Well, the chatting really didn't use that much bandwidth.
15:55:30 <fizzie> Bandwidth of a human/keyboard combination is pretty low, after all.
15:55:42 -!- MizardX has joined.
15:55:49 <Deewiant> There's always protocol overhead.
15:56:04 <fizzie> Not much if it's a simple one.
15:56:38 <AnMaster> <ais523> I wrote a remote binary diff program that could be used even when the two files you were diffing were on different computers that weren't connected in any way at all <-- how did it work? Checksum of blocks?
15:57:14 <ais523> yep, checksum
15:57:19 <fizzie> Smodem is also (according to Wikipedia) more efficient than Zmodem anyway, so maybe the chatting overhead just evens the scales.
15:57:32 <AnMaster> ais523, that you had to enter manually on the other computer or something?
15:57:50 <ais523> no, both computers displayed checksums, you merely had to compare them
15:57:55 <ais523> as in, same or different
15:58:02 <AnMaster> ah
15:58:43 <AnMaster> ais523, hm did it use binary search?
15:58:53 <AnMaster> if not I got an interesting idea just now...
15:59:03 <ais523> yep, binary search
15:59:03 <ehird> ...
15:59:04 <ehird> what
15:59:07 <AnMaster> ais523, aha
15:59:08 <ais523> what's the idea anyway?
15:59:13 <ehird> oh, misread
15:59:19 -!- Hiato has quit ("Leaving.").
15:59:41 <AnMaster> ais523, "checksum file", ask user if same, if not display checksum for each half of the file, ask users which parts are different
15:59:51 <AnMaster> you may end up with more than one different block of course
16:00:03 <AnMaster> so not exactly binary search, but a related concept
16:00:13 <ehird> err
16:00:16 <ehird> related in that it's a search?
16:00:18 <ais523> you can do the search from both ends to find where the different block starts and end
16:00:18 <ehird> :|
16:00:19 <ais523> *ends
16:00:27 <ehird> Holy shit
16:00:29 <ehird> Parrot 1.0 is out
16:00:33 <ehird> ..................................................................
16:00:34 <ehird> : |
16:00:34 <ais523> ehird: I was going to mention that to you
16:00:39 <ehird> : |
16:00:39 <ais523> but you mentioned it to me first
16:00:43 <ehird> | :
16:00:44 <AnMaster> ehird, same idea as git bisect
16:00:56 <ehird> (this is me stretching out in time, then going faster than light thus warping backwards)
16:00:58 <AnMaster> ais523, parrot? as in perl6!?
16:00:59 <ehird> | :::::::::::::::::::::::::::::
16:01:01 <AnMaster> WHAT?!!
16:01:01 <ehird> > >>>>><<<<<
16:01:03 <ehird> **BAM**
16:01:03 <ais523> AnMaster: no, just the VM
16:01:06 <ehird> .
16:01:06 <AnMaster> oh
16:01:07 <ehird> .
16:01:07 -!- M0ny has joined.
16:01:08 <ehird> .
16:01:09 <ehird> .
16:01:09 <AnMaster> was scared there
16:01:11 <ehird> .
16:01:13 <ehird> .
16:01:15 <AnMaster> ......
16:01:15 <ehird> .
16:01:16 <ais523> although it still scores quite highly on hell-freezes-over stakes
16:01:17 <ehird> .
16:01:22 * ehird dies
16:01:22 <AnMaster> ais523, yes indeed.
16:01:27 <ehird> Metadies, rather; I'm still a ghost.
16:01:32 <AnMaster> hah
16:01:34 -!- ehird has changed nick to ehirdghostghost.
16:01:39 <ehirdghostghost> Metawhooooh
16:01:41 <AnMaster> ehirdghostghost, a ghost with bad memory :P
16:01:54 <ehirdghostghost> Shut up or I'll metawalkrightthroughyou.
16:02:51 <ais523> also, it seems that a bat managed to get into space
16:02:58 <ais523> by hitching a lift on the outside of a space shuttle
16:03:07 <AnMaster> ais523, it died?
16:03:10 <AnMaster> I assume
16:03:13 <ehirdghostghost> ...
16:03:14 <ehirdghostghost> nooooooooooooooo
16:03:16 <ehirdghostghost> it survived fine
16:03:18 <ehirdghostghost> what a ridiculous question
16:03:24 <ehirdghostghost> i mean seriously.
16:03:27 <ais523> AnMaster: nobody's quite sure
16:03:36 <ais523> I suppose there's an offchance it's dormant, cryogenically preserved
16:03:50 <ehirdghostghost> Err, frozen != cryogenically preserved
16:03:52 <ais523> but death does seem like a likely option for an animal catching a ride on the outside of a space shuttle
16:04:03 <ehirdghostghost> Unless there's cryopreservant in space
16:04:05 <AnMaster> ais523, yeah *thinks about re-entry*
16:05:05 <ais523> <Anonymous Coward> 30 feet off the pad the engines gave out and the bat carried them into orbit.
16:05:26 <ehirdghostghost> :D
16:05:32 <ehirdghostghost> so guys
16:05:40 <ehirdghostghost> will MATT WRIGHT'S CGI ARCHIVE scripts work in perl6/parrot?
16:05:47 <ehirdghostghost> ? ??
16:05:52 <ehirdghostghost> my business depends on formmail
16:06:00 <ais523> I don't know
16:06:06 <ehirdghostghost> :D
16:06:10 <ais523> you'd probably have to run them through 5to6 first
16:06:15 <ehirdghostghost> I was joking ;_;
16:06:36 <AnMaster> ais523, hah
16:07:04 <AnMaster> ais523, there is a 5to6? It sounds like a parody of the Python 2to3...
16:07:11 <ehirdghostghost> ... parody?
16:07:11 <ais523> yes, of course there is
16:07:17 <ehirdghostghost> gee, <version>to<version>! hahahahaahaha!
16:07:21 <ehirdghostghost> so funny
16:07:31 <AnMaster> ehirdghostghost, well I wonder what will happen when python 6 is released
16:07:35 <ais523> 5to6 came first IIRC, although obviously it hasn't been released
16:07:39 <AnMaster> will there be two 5to6 then
16:07:49 <ais523> AnMaster: by then we'll have invented something better than numbers
16:07:50 <ehirdghostghost> AnMaster: that'll never happen
16:07:53 <ais523> and numbers will be obsolete
16:08:02 <AnMaster> ehirdghostghost, oh?
16:08:16 <ehirdghostghost> Blue moons get tired of waiting for python's major releases
16:08:39 <AnMaster> ehirdghostghost, it is still way shorter than waiting for perl major releases!
16:08:52 <ais523> no, it's just 6 in particular that's slow
16:08:59 <AnMaster> I see
16:09:01 <ais523> because it's such an insane project
16:09:05 <ehirdghostghost> no, perl major releases are fast until 6
16:09:16 <AnMaster> s/are/were/?
16:09:17 <ehirdghostghost> consider, it got to 5 in, what, 10 years?
16:09:26 <ehirdghostghost> python's been around for 10 years
16:09:28 <ehirdghostghost> it's only got to 3
16:09:40 <AnMaster> hm
16:09:48 <AnMaster> ehirdghostghost, perl must be older than that?
16:09:58 <ais523> python's that old?
16:10:02 <ehirdghostghost> perl: 1988
16:10:05 <ehirdghostghost> python: 1990
16:10:17 <ais523> I'm surprised
16:10:21 <ehirdghostghost> hmm, python 1991
16:10:27 <ehirdghostghost> so it's 18
16:10:30 <ais523> also, perl caught on a lot faster than python did, it seems
16:10:31 <AnMaster> ehirdghostghost, that is nowhere near 10 years indeed
16:10:37 <ehirdghostghost> AnMaster: ... yes it is?
16:10:39 <ehirdghostghost> it's 18 years
16:10:43 <ehirdghostghost> o_O
16:10:44 <AnMaster> ehirdghostghost, that is closer to 20
16:10:51 <ehirdghostghost> well, fine
16:10:56 <ehirdghostghost> so, 18 years and python's up to 3
16:11:06 <ehirdghostghost> 22 (it's 1987) years and perl's up to 5
16:11:15 <ehirdghostghost> and, well, perl 5 came out in the 90s
16:11:34 <ehirdghostghost> perl hit v5 at 6 years old
16:11:39 <ehirdghostghost> so, anyway, python's major releases are slow.
16:11:42 <AnMaster> ehirdghostghost, perl show a non-linear release interval
16:11:57 <AnMaster> someone should plot both perl and python releases
16:11:59 <ehirdghostghost> by the time 6 is out development will have been dropped due to the singularity causing the best programming language conceivable to be created :P
16:12:02 <AnMaster> in some interesting way
16:12:05 * AnMaster looks at fizzie
16:12:19 <ais523> ehirdghostghost: but what if that language /is/ Perl6?
16:12:26 <ehirdghostghost> ais523: holy shit, you're on to something
16:12:34 <ehirdghostghost> I bet one of perl6's features is so advanced it needs strong AI to implement
16:12:38 <AnMaster> hm
16:12:42 <ais523> well, they made some changes
16:12:44 <ehirdghostghost> and I bet perl6's first complete implementation will be released in 2012
16:12:49 <ais523> IIRC, the syntax is no longer TC
16:12:51 <AnMaster> ehirdghostghost, no. It isn't strong AI. It is something worse
16:12:52 <AnMaster> ...
16:12:53 <ehirdghostghost> shit, guys, somebody kill larry wall, quickly! :P
16:12:57 <ehirdghostghost> AnMaster: strong AI isn't good or bad
16:13:03 <ehirdghostghost> it's just "real" AI
16:13:21 <AnMaster> ehirdghostghost, Perl 5 == TC grammar. And ais523 said "the syntax is no longer TC"... Right. It is Super-TC
16:13:25 <AnMaster> that is why it takes so long
16:13:32 <ehirdghostghost> *shit*
16:13:32 <ais523> no, they made it actually parsable
16:13:37 <ehirdghostghost> ais523: stop ruining our fun
16:13:40 <ais523> not only that, they're maintaining a regexp that parses the whole thing
16:13:41 <ehirdghostghost> that's AnMaster's job
16:13:44 <ais523> which is kind-of insane in itself
16:13:59 <ehirdghostghost> ais523: well, perl6 regexps are really full contextual grammars
16:14:03 <ais523> yep
16:14:03 <ehirdghostghost> with a verboser syntax, right/
16:14:07 <ehirdghostghost> and the // is just shorthand
16:14:09 <AnMaster> ehirdghostghost, and I heard some rumours about trunk containing a non-euclidean parser to manage it
16:14:11 <ais523> whilst simultaneously still being regexps
16:14:26 <ehirdghostghost> ais523: well, they're certainly not regular (they're far more powerful), and since they have the full syntax they're not "expressions" either
16:14:33 <ehirdghostghost> so // is a regex, what you're talking about is a perl6 parser
16:14:40 <ehirdghostghost> it just so happens that regexs turn into perl6 parsers on evaluation
16:14:45 <ais523> hmm... they still work much the same way as, say, cyclexa
16:14:54 <ais523> or PCRE
16:14:56 <AnMaster> ais523, also I agree with ehirdghostghost, stop ruining the fun
16:15:05 <ehirdghostghost> 15:14 AnMaster: ais523, also I agree with ehirdghostghost, stop ruining the fun
16:15:09 <ehirdghostghost> I will treasure this forever.
16:15:20 <ais523> hmm, and on the same day as parrot's released too
16:15:23 <ais523> maybe hell really has frozen over
16:15:28 <AnMaster> ais523, or worse
16:15:38 * ais523 awaits someone coming in and announcing a BF interp written in Malbolge
16:15:44 <ehirdghostghost> I'd better start being a good christian; I was fine with Hell because hey, it's warm right?
16:16:03 <AnMaster> ehirdghostghost, yes, all computers overheat there.
16:16:09 <AnMaster> anyway heaven is warmer.
16:16:09 <ehirdghostghost> ooh
16:16:17 <ehirdghostghost> maybe Hell, newly-frozen, is the ultimate way to overclock
16:16:40 * AnMaster remember reading some joke proof based on combining quotations from the bible with physical laws to calculate the temperature in heaven and hell
16:16:42 <ehirdghostghost> seventy core 60ghz? no problem, just stick a 286 in Hell
16:16:51 <ais523> only on #esoteric could people try to figure out ways to take advantage of hell freezing over
16:16:58 <ehirdghostghost> :-D
16:16:59 <AnMaster> ais523, heh
16:18:50 -!- Mony has quit (Connection timed out).
16:19:00 <AnMaster> btw http://www.lhup.edu/~dsimanek/hell.htm (it also has another proof showing that hell is even hotter)
16:19:23 -!- ais523 has quit ("going home, bye everyone").
16:19:41 <AnMaster> hm
16:21:41 <ehirdghostghost> So, Duke Nukem Forever will be written in Perl6.
16:21:48 <ehirdghostghost> With some parts in raw Parrot for speed.
16:21:59 <AnMaster> hah
16:23:53 <ehirdghostghost> man, I hope duke nukem forever is really really good. it better be.
16:26:48 -!- Asztal_ has quit (".").
16:33:17 <AnMaster> hm...
16:33:41 <ehirdghostghost> hmmmmmmmmmmm.
16:34:24 <AnMaster> to me it sounds like perl 6 is suffering second system syndrome
16:34:31 <ehirdghostghost> yes, very
16:34:58 <AnMaster> it may be the issue with DNF too I guess.
16:35:12 <ehirdghostghost> can you do that to a game? I'm not sure
16:35:55 <AnMaster> ehirdghostghost, iirc DNF was a non-first game in a series of duke nukem?
16:36:05 <AnMaster> well that was awkward
16:36:09 <ehirdghostghost> s/was/is/
16:36:14 <ehirdghostghost> but, yes, except
16:36:24 <ehirdghostghost> I don't see how it applies to a game
16:36:45 <AnMaster> ehirdghostghost, so you want to make a better game next time. That looks even better and with even more levels/maps/items/enemies/whatever
16:36:57 <ehirdghostghost> Well, true
16:37:12 <ehirdghostghost> Except that, second system effect for games makes them better
16:37:16 <ehirdghostghost> For software it makes it worse
16:37:18 <AnMaster> sounds like potential SSS there...
16:37:30 <ehirdghostghost> For games you get rabidly perfected gameplay; for software you get bloat
16:37:34 <AnMaster> err.. wut?
16:37:38 <ehirdghostghost> I don't think I've ever seen a game I could call bloated
16:37:44 <ehirdghostghost> In games, bloat = more expansiveness
16:37:45 <AnMaster> game is not a subgroup of software?
16:37:51 <ehirdghostghost> Yes...
16:37:56 <ehirdghostghost> I meant non-game software.
16:37:58 <AnMaster> ah
16:38:22 <AnMaster> ehirdghostghost, I think a game that doesn't fit on a single DVD is bloated.
16:38:38 <ehirdghostghost> See, that's entirely irrelevant to the actual gameplay
16:38:45 <ehirdghostghost> In gameplay, bloat is meaningless
16:38:50 <ehirdghostghost> It's not bloat, it's expansiveness
16:38:57 <AnMaster> ehirdghostghost, well depends. You need a very powerful computer to handle a bloated game
16:39:10 <ehirdghostghost> That's not related to gameplay
16:39:16 <AnMaster> remember those demos back when DOS was the common OS?
16:39:34 <AnMaster> some of them seemed to have better graphics than games released a few years later...
16:39:50 <AnMaster> and they were way smaller
16:39:59 <AnMaster> sure a demo is more limited in scope yes
16:40:04 <AnMaster> but even so...
16:40:22 <ehirdghostghost> mm
16:40:25 <ehirdghostghost> demos are very impressive
16:40:40 <ehirdghostghost> The demoscene is just awesome
16:41:02 <AnMaster> yep, I remember seeing quite fast real time software ray tracing. Low resolution compared to what we are used to these days, but still
16:41:12 <ehirdghostghost> AnMaster: have you watched any of the modern (post-2000) demos? They have the best 3d graphics I've ever seen; really realistic
16:41:21 <ehirdghostghost> It's crazy
16:41:32 <AnMaster> ehirdghostghost, no I haven't really.
16:41:36 <AnMaster> Any specific ones you recommend?
16:41:49 <ehirdghostghost> Hmm, I'll try and dig up one I really liked
16:41:52 <ehirdghostghost> Gimme a few minutes
16:42:02 <AnMaster> ehirdghostghost, do you need dosbox or something? Or is there a video of it
16:42:14 <ehirdghostghost> I was going to link to a video site; it uses flash but you could just extract the link
16:42:24 <ehirdghostghost> Also, this is way above DOS's capabilities
16:42:33 <AnMaster> yeah unless it was that one you used where it was embedded inside the swf
16:42:44 <AnMaster> ehirdghostghost, so what hardware do they use then?
16:42:53 <ehirdghostghost> Windows, mostly
16:42:59 <ehirdghostghost> The modern-3d ones
16:43:08 <AnMaster> there were two errors in that
16:43:25 <ehirdghostghost> ?
16:43:29 <AnMaster> neither windows nor dos are hardware
16:43:41 <ehirdghostghost> Hardware was what you said
16:43:43 <ehirdghostghost> I assume it was a typo
16:43:47 <ehirdghostghost> and you said hardware after I said DOS
16:44:53 <AnMaster> ehirdghostghost, well the "then" should have been removed indeed
16:45:03 <ehirdghostghost> well
16:45:05 <ehirdghostghost> regular hardware :P
16:45:32 <AnMaster> ehirdghostghost, well, regular for today or for 2 years ago?
16:45:46 <AnMaster> anyway I'll let you dig up that link
16:45:48 <ehirdghostghost> They have minimal system requirements, almost always
16:46:15 <ehirdghostghost> atm I'm trying to find the playback site
16:46:20 <ehirdghostghost> Maybe pouet.net has something
16:47:24 * ehirdghostghost listens to a .MOD while doing it for authenticity
16:47:29 <AnMaster> ehirdghostghost, well I know of ways how to tune programs to run very fast on amd64 but slow on intel core 2. And vice verse. So a demo tuned on an amd cpu could potentially be way slower on intel. And the reverse too
16:47:32 <ehirdghostghost> Dear God, Just ignore the fact that I'm using OS X please.
16:47:49 <ehirdghostghost> AnMaster: yes, but you don't understand; the demoscene tries to do the most with so little
16:47:56 <ehirdghostghost> so system requirements are basically never an issue
16:47:59 <AnMaster> 16.47:31 <ehirdghostghost> Dear God, Just ignore the fact that I'm using OS X please. <-- I will treasure this forever.
16:48:05 <ehirdghostghost> :-D
16:49:22 <AnMaster> ehirdghostghost, a pitty you need a dos/windows feel rather than oldstyle-unix feel. Otherwise I would ask you if it was possible to compile mosaic on OS X
16:49:36 <ehirdghostghost> It probably is possible.
16:49:41 <ehirdghostghost> With X11, of course.
16:49:47 <AnMaster> ehirdghostghost, it uses motif
16:49:52 <ehirdghostghost> Yes.
16:50:44 <ehirdghostghost> Eh, I'll grep my old Adium logs for it; I linked someone else to i
16:50:45 <ehirdghostghost> t
16:50:49 <AnMaster> k
16:52:35 <ehirdghostghost> % grep -i 'demo' **/*.chatlog
16:52:35 <ehirdghostghost> zsh: argument list too long: grep
16:52:40 <ehirdghostghost> >_<
16:53:56 <ehirdghostghost> Erm, I wonder what to do now.
16:54:50 <ehirdghostghost> AnMaster: thoughts?
16:58:48 <AnMaster> heh
16:59:09 <AnMaster> ehirdghostghost, find . -name '*.chatlog' -exec grep -i demo {} +
16:59:19 <ehirdghostghost> that won't print out the name :P
16:59:20 <AnMaster> ehirdghostghost, you may need to quote something in that for zsh
16:59:21 <AnMaster> not sure
16:59:24 <AnMaster> ehirdghostghost, it will
16:59:29 <ehirdghostghost> oh, it will?
16:59:29 <ehirdghostghost> okay
16:59:33 <AnMaster> ehirdghostghost, the + there? see it?
16:59:36 <ehirdghostghost> ah
17:00:06 <AnMaster> ehirdghostghost, it tells find to "pass as many files in each invocation of the command as you can without getting argument list too long"
17:00:17 <ehirdghostghost> ha
17:00:43 <AnMaster> ehirdghostghost, so it is possible if you just get one file in the last chunk that there will be no filename
17:00:48 <AnMaster> but most likely not
17:01:37 <ehirdghostghost> hrm
17:01:44 <AnMaster> ehirdghostghost, also that won't happen on linux btw. Linux dynamically decides the size that can be used for the argument list.
17:01:52 <AnMaster> there is some ulimit setting for it iirc
17:01:58 <ehirdghostghost> Surely it could go into the shell
17:02:04 <AnMaster> ehirdghostghost, ?
17:02:08 <ehirdghostghost> Or is it an OS-wide limitation?
17:02:12 <ehirdghostghost> If so that's stupid
17:02:35 <AnMaster> ehirdghostghost, it is a limit you can check the value of with sysconf()
17:02:44 <ehirdghostghost> yikes.
17:02:53 <AnMaster> $ getconf ARG_MAX
17:02:53 <AnMaster> 2097152
17:02:55 <ehirdghostghost> % ulimit
17:02:55 <ehirdghostghost> unlimited
17:02:59 <ehirdghostghost> That makes me feel reassured.
17:03:05 <ehirdghostghost> I don't think I'll search further; I like being unlimited. :P
17:03:08 <AnMaster> ehirdghostghost, unlimited what?
17:03:13 <ehirdghostghost> AnMaster: Unlimited.
17:03:18 <AnMaster> ulimit handle several things
17:03:19 <AnMaster> remember
17:03:24 <ehirdghostghost> Yes; they're unlimited.
17:03:26 <ehirdghostghost> Just look!
17:03:27 <AnMaster> not all no
17:03:31 <AnMaster> anyway
17:03:32 <ehirdghostghost> 16:03 ehirdghostghost: I don't think I'll search further; I like being unlimited. :P
17:03:36 <ehirdghostghost> STOP DESTROYING MY REASSURANCE :|
17:04:47 <AnMaster> I can't find the argument count in ulimit here, *greps kernel sources*
17:06:09 <ehirdghostghost> hmm, finding this link is hard
17:07:35 <AnMaster> ah
17:07:38 <AnMaster> the stack size limit
17:07:44 <AnMaster> Since Linux 2.6.23, this limit also determines the amount of space used for the process's command-line arguments and environment variables; for details, see
17:07:44 <AnMaster> execve(2).
17:07:54 <AnMaster> RLIMIT_STACK
17:08:22 <ehirdghostghost> "rootkit code to exploit major Intel chip flaw to be posted 3/19/09"
17:08:27 <ehirdghostghost> Oh, fuck.
17:08:33 <AnMaster> ehirdghostghost, where?
17:08:34 <ehirdghostghost> Anyone got a spare AMD chip?
17:08:41 <ehirdghostghost> AnMaster: http://www.networkworld.com/community/node/39825
17:09:07 <ehirdghostghost> "The heart-stopping thing about this particular exploit is that it hides itself in the SMM space. To put that into perspective, SMM is more privileged than a hypervisor is and it's not controllable by any Operating System."
17:09:27 <AnMaster> ehirdghostghost, you still need to be ring 0 to do it it seems
17:10:11 <AnMaster> bad yes, but you need to be able to get your code to execute in ring 0.
17:10:41 <AnMaster> but SMM... very nasty and hard to detect indeed
17:12:11 <ehirdghostghost> i am so tired of typing 'tar xzf' and dealing with zipbombs and blarrrgh; I think I'll write a program that lets me do 'unwrap <foo>' and it figures everything out for me.
17:12:26 <ehirdghostghost> actually, OS X handles tarbombs
17:12:32 <AnMaster> ehirdghostghost, hm I think I saw such a program
17:12:39 <ehirdghostghost> if there's one file, it puts it in the same dir
17:12:43 <ehirdghostghost> otherwise, it makes a folder for them
17:12:57 <ehirdghostghost> AnMaster: can it handle stuffit expander files? i hate them so fucking much
17:13:12 <AnMaster> ehirdghostghost, probably not, I don't even remember the name of the program...
17:13:17 * AnMaster searches
17:13:56 <AnMaster> [N] app-arch/unp (1.0.14): Script for unpacking various file formats
17:13:56 <AnMaster> http://packages.qa.debian.org/u/unp.html
17:13:59 <AnMaster> maybe
17:14:02 <AnMaster> bbs
17:25:10 <AnMaster> back
17:26:35 <ehirdghostghost> I guess I'll write it.
17:27:02 <ehirdghostghost> Need to find open source expanders to wrap, though.
17:28:09 <AnMaster> ehirdghostghost, apart from stuffit that should be rather simple
17:28:23 <ehirdghostghost> Well. Yes.
17:28:36 <ehirdghostghost> But Stuffit support is quite important to me; it's an irritatingly common format.
17:28:40 <ehirdghostghost> Well not too common; still.
17:29:21 <ehirdghostghost> yay, sourceforge is down.
17:29:59 <AnMaster> pax/tar + bzip2/gzip/lzma, zip/unzip, p7zip (7z for *nix), cpio, unrar
17:30:04 <AnMaster> I suppose you don't care about shar
17:30:15 <ehirdghostghost> AnMaster: what's that from?
17:30:19 <ehirdghostghost> oh, right
17:30:24 <AnMaster> outdated format
17:30:28 <ehirdghostghost> Problems:
17:30:31 <ehirdghostghost> Unzip/unrar aren't open source
17:30:35 <AnMaster> ehirdghostghost, oh hm true
17:30:50 <ehirdghostghost> I mean, I could just depend on them anyway, but it'd be nice to have them open source
17:31:18 <AnMaster> ehirdghostghost, http://search.cpan.org/dist/Archive-Zip ?
17:31:41 <ehirdghostghost> that would be usable; It'd be nice to have something a bit less perl though
17:31:52 * ehirdghostghost googles
17:32:00 <AnMaster> ehirdghostghost, http://zziplib.sourceforge.net/ ?
17:32:15 <AnMaster> http://common-lisp.net/project/zip/ ?
17:32:25 <ehirdghostghost> stop it
17:32:26 <AnMaster> http://www.nih.at/libzip/ ?
17:32:27 <ehirdghostghost> I've found something
17:32:27 <AnMaster> ok
17:32:30 <AnMaster> wow at that url
17:32:33 <AnMaster> nih...
17:32:37 <ehirdghostghost> heh
17:33:00 <AnMaster> ehirdghostghost, this is bzip2. In parallel. http://compression.ca/pbzip2/ ?
17:33:09 <ehirdghostghost> …parallel?
17:33:11 * AnMaster just found it in his package manager
17:33:23 <AnMaster> ehirdghostghost, multi-core it seems
17:33:32 <ehirdghostghost> sj.
17:33:33 <ehirdghostghost> *ah
17:34:11 <AnMaster> yjod od omytrdyomh
17:34:47 <ehirdghostghost> this is not interesting :P
17:34:47 <AnMaster> idomh sm pggdry pg pmr
17:34:57 <ehirdghostghost> Pggdry pg pmr. Sounds jabberwocky.
17:35:23 <AnMaster> ehirdghostghost, you mean the author was a time traveler?!
17:35:31 <AnMaster> wait yes, didn't IWC say so a while back?
17:35:45 <AnMaster> or? I forgot the details
17:35:56 <ehirdghostghost> ?
17:36:29 <AnMaster> ehirdghostghost, the pirates and the english sailors used that phone booth to time travel before the end of the universe. Remember?
17:36:41 <ehirdghostghost> I don't read IWC.
17:36:41 <ehirdghostghost> Info-ZIP supports hardware from microcomputers all the way up to Cray supercomputers, running on almost all versions of Unix, VMS, OS/2, Windows 9x/NT/etc. (a.k.a. Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Mac OS, SMS/QDOS, MVS and OS/390 OE, VM/CMS, FlexOS, Tandem NSK and Human68K (Japanese). There is also some (old) support for LynxOS, TOPS-20, AOS/VS and Novell NLMs. Shared libraries (DLLs) are availa
17:36:45 <ehirdghostghost> ble for Unix, OS/2, Win32 and Win16, and graphical interfaces are available for Win32, Win16, WinCE and Mac OS.
17:36:48 <ehirdghostghost> ^ good lord what the fuck
17:36:51 <AnMaster> didn't they run into Lewis Carroll
17:36:53 <AnMaster> ?
17:37:16 <AnMaster> oh ok
17:37:21 <ehirdghostghost> lewis caroll was awesome.
17:37:47 <ehirdghostghost> anyway info-zip seems to be open source, maybe
17:38:01 <AnMaster> ehirdghostghost, yes, but he can't possibly have known about qwerty layout and used offset of one on the layout to create jabberwocky.
17:38:05 <ehirdghostghost> i guess I'll ask Phil Katz about the license :-D
17:38:06 <AnMaster> unless he was a time traveler
17:38:11 <ehirdghostghost> /bad-taste
17:38:50 -!- tromp has joined.
17:40:53 <ehirdghostghost> As of 2007, the latest sources and binaries for Zip, UnZip, WiZ and MacZip (including encryption code) are available only at Info-ZIP's SourceForge site.
17:40:59 <ehirdghostghost> hmm, so unzip _is_ open source
17:41:24 <AnMaster> oooh xkcd today. I had a dream like that a few weeks after finishing high school...
17:41:31 <ehirdghostghost> hi tromp
17:41:48 <oklofok> maybe it was used on itself and it like... opened it
17:42:08 <oklofok> sorry my brain has gas
17:42:10 <ehirdghostghost> What would this place be without oklofok attempting to match oerjan's puns
17:45:26 <oklofok> probably just a ghost town
17:46:44 <tromp> hi , ehird
17:54:14 <fizzie> About file names, GNU grep (and I assume at least some others) has the -H (or --with-filename) flag for always printing the filename even given a single file argument.
18:20:20 -!- Hiato has joined.
18:22:41 <AnMaster> bbl in a few hours
19:13:40 -!- Asztal_ has joined.
19:40:11 -!- BeholdMyGlory has quit (Remote closed the connection).
19:40:33 <fizzie> Is "Örjan Ekeberg" the same thing as "our" oerjan?
19:40:47 <ehirdghostghost> No.
19:40:51 <ehirdghostghost> He's oerjan johannsen or something
19:41:11 <ehirdghostghost> fizzie: Øerjan Johansen.
19:41:15 <ehirdghostghost> err
19:41:17 <ehirdghostghost> Ørjan
19:41:17 <ehirdghostghost> ofc
19:41:40 <fizzie> Right, this one is a .se person anyway. Never-mind.
19:43:23 <fizzie> Should've realized from the Ö/Ø thing anyway. You just never know with computar scientsists.
19:57:39 <ehirdghostghost> AnMaster: you there?
20:00:48 -!- tombom has quit ("Peace and Protection 4.22.2").
20:24:41 -!- kar8nga has joined.
20:39:14 <Slereah> The binart LC article is all fucked up for the wiki code
20:39:33 -!- k has joined.
20:39:53 -!- kar8nga has quit (Nick collision from services.).
20:39:55 -!- k has changed nick to kar8nga.
20:42:23 -!- Hiato has quit ("Leaving.").
20:42:25 <tromp> yes, better read the Wikipedia version
20:42:43 <tromp> until ehird gets around to converting it
20:54:16 <tromp> i added a NOTE linking to the wikipedia version
21:07:31 -!- xTC- has joined.
21:08:58 -!- tombom has joined.
21:33:17 -!- calamari has joined.
21:33:28 -!- neldoret1 has joined.
21:33:29 -!- neldoreth has quit ("leaving").
21:40:10 -!- Mony has joined.
21:43:24 -!- tromp has left (?).
21:44:38 -!- Mony has quit (Client Quit).
21:46:19 -!- M0ny has quit (Read error: 60 (Operation timed out)).
21:54:20 -!- Slereah_ has joined.
21:57:58 -!- BeholdMyGlory has joined.
22:04:16 -!- Slereah has quit (Read error: 110 (Connection timed out)).
22:04:42 <AnMaster> ehirdghostghost, hello
22:15:56 -!- olsner has joined.
22:21:03 <AnMaster> ehirdghostghost, night
22:40:28 -!- xTC- has quit.
22:54:27 -!- kar8nga has quit (Remote closed the connection).
23:17:45 -!- tombom has quit ("Peace and Protection 4.22.2").
23:28:58 -!- FireFly has quit ("Later").
23:28:59 -!- BeholdMyGlory has quit (Remote closed the connection).
23:43:18 -!- comex has quit ("Caught sigterm, terminating...").
2009-03-19
00:15:40 -!- erchird has joined.
00:15:43 <erchird> Test.
00:15:46 <erchird> Neat.
00:15:46 -!- erchird has left (?).
00:17:18 <ehirdghostghost> "It is a logical impossibility to make a language more powerful by omitting features, no matter how bad they may be."
00:17:20 <ehirdghostghost> Fail.
00:19:09 <Slereah_> What about a feature that discards all input?
00:21:33 <ehirdghostghost> :D
00:22:17 <Slereah_> it's a feature not a bug
00:22:37 <ehirdghostghost> http://www.emacswiki.org/cgi-bin/emacs/teco.el Full circle
00:26:50 -!- ehirdghostghost has changed nick to ehird.
00:26:54 <ehird> Ah, to live again.
00:33:27 -!- ehird` has joined.
00:33:30 <ehird`> aaa
00:33:34 -!- ehird` has left (?).
00:54:41 -!- olsner has quit ("Leaving").
03:37:44 -!- Sgeo has joined.
04:23:03 -!- oerjan has joined.
04:25:51 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
04:26:18 -!- Slereah has joined.
04:28:30 -!- bsmntbombdood_ has joined.
04:30:30 <bsmntbombdood_> who wants to explain fusion trees
04:30:42 * oerjan raises his hand
04:31:19 <oerjan> they are trees from the planet Cwarooba which get their energy from nuclear fusion of water
04:31:32 <bsmntbombdood_> nuh uh
04:31:48 <oerjan> they're really big. also, they sometimes explode, so people don't like to live nearby.
04:32:36 <oerjan> unfortunately they may soon be dying out, as Cwarooba is turning into desert, and the new helium atmosphere doesn't really help either.
04:32:47 <oerjan> that's evolution in action for you.
04:33:02 -!- GreaseMonkey has joined.
04:33:33 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
04:33:48 <bsmntbombdood_> oerjan needs a girlfriend
04:34:05 <oerjan> Did you find this explanation [A] Helpful [B] Unhelpful [C] Completely bonkers [D] Mad gibbering that humanity is best not knowing about
04:34:55 <oerjan> [E] Other
04:35:21 <oerjan> [F] More options, please [G] Fewer options, please
04:36:56 <oerjan> [H] The perfect empowerment for our client base
04:37:42 <oerjan> [I] Way out, dude [J] LOLWTFBBQ
04:38:52 <oerjan> [K] Shut up or I'll blow your brains out [I] You have the right to remain silent. Anything you say can and will be used against you in a court of law.
04:39:20 <oerjan> [M] You really need to work on your alphabet, dude
04:40:24 <oerjan> [N] We are _not_ amused [O] Is this going to turn into a Christmas joke, with the missing L and all?
04:40:58 <oerjan> [P] Can I be excused for a moment? [Q] Oh no, not again...
04:42:04 <oerjan> [R] Using the TIME CUBE, I proved this a long TIME ago
04:44:09 <oerjan> [S] FOR SCIENCE! [T] +++++++[>++++++++++++<-]>. [U] `.Ui
04:45:59 <oerjan> [V] Ich weiß nicht, was soll es bedeuten, Daß ich so traurig bin [W] Who forgot to pack lunch?
04:46:40 <oerjan> [X] ... [Y] Y ask Y? [Z] Is this the end?
04:47:25 <oerjan> [Æ] You should be so lucky [Ø] Yes, it's with an Ø, not Ö. [Å] We are DOOMED, DOOMED!
04:47:46 <oerjan> ERROR: Out of alphabet
05:02:03 <bsmntbombdood_> drunk oerjan is hilarious
05:08:27 * oerjan swats bsmntbombdood_ -----###
05:08:40 <oerjan> I'll have you know I'm perfectly sober!
05:11:58 <bsmntbombdood_> suuuure
05:14:14 <oerjan> also, you did not select an option.
05:35:05 <Sgeo> !bf +++++++[>++++++++++++<-]>.
05:35:37 <oerjan> ^
05:36:36 <oerjan> ^bf +++++++[>++++++++++++<-]>.
05:36:36 <fungot> T
06:05:54 -!- oerjan_ has joined.
06:06:43 -!- oerjan has quit (Read error: 104 (Connection reset by peer)).
06:18:18 -!- oerjan_ has quit ("Lost terminal").
06:29:33 -!- neldoret1 has quit (Read error: 113 (No route to host)).
06:39:14 -!- psygnisfive has joined.
06:39:23 <psygnisfive> ahoy!
06:53:34 -!- calamari has quit ("Leaving").
07:17:10 -!- neldoreth has joined.
07:43:04 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:45 <oklofok> ooooo
08:35:16 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
08:45:01 -!- Slereah has joined.
09:49:23 -!- tombom has joined.
09:51:34 -!- GreaseMonkey has quit (Read error: 104 (Connection reset by peer)).
09:58:00 -!- GreaseMonkey has joined.
10:08:29 -!- Mony has joined.
10:17:09 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:49:35 <fizzie> AnMaster: Here's the gnuplot view of those Perl releases from my "perldoc perlhist": http://zem.fi/~fis/perlreleases.png (Sorry for the positioning of labels, GNUplot+time-data is not a good combination.)
11:31:08 -!- M0ny has joined.
11:45:35 -!- Mony has quit (Read error: 110 (Connection timed out)).
11:52:14 <AnMaster> fizzie, heh
11:52:19 <AnMaster> fizzie, what about python?
11:53:05 <AnMaster> fizzie, that looks strange. was a perl 1.x released in 2004?
11:53:16 <fizzie> That's what my perlhist page says.
11:53:27 <fizzie> Schwern 1.0.15 2002-Dec-18 Modernization
11:53:27 <fizzie> Richard 1.0.16 2003-Dec-18
11:53:31 <AnMaster> fizzie, like security fixes to old versions or something?
11:53:39 <AnMaster> strange
11:53:43 <fizzie> Guess so.
11:53:47 <AnMaster> since 2.x and 3.x didn't get that
11:54:09 <fizzie> Yes; maybe there was some business-critical Perl 1 code (from 1988) that needed fixing. :p
11:54:51 <AnMaster> fizzie, the y scale, it isn't linear, and look exponential either
11:54:54 <AnMaster> so what sort of scale is it
11:55:21 <AnMaster> 1.011..14 ? Double dots?
11:55:46 <fizzie> I think that's 1.011-to-1.014.
11:55:53 <fizzie> It's directly from the perlhist page, anyway.
11:56:45 <fizzie> The Y scale is just the index of the version, since I didn't want to write any logic that would assign a sensible numeric value to all those funky version identifiers.
11:57:29 <fizzie> An earlier version made all the "series" (separate things in the legend) equally high-in-Y-axis, but that didn't look so good.
11:58:19 <fizzie> Anyway, I'll look at Python later. I'm not quite sure how to get them to the same plot. The X axis (presumably; although they've got that from __future__ import thing going on) works the same way, but for the Y axis is less clear.
11:58:22 <AnMaster> heh
11:58:45 -!- ais523 has joined.
11:59:04 <fizzie> At least with "Y == version index" the slope of the line gives some sort of information about how often they plop out releases.
11:59:14 <AnMaster> fizzie, i don't think import from __future__ thing would cause the release dates to change
11:59:23 <AnMaster> unless you plot first release with feature
11:59:29 <ais523> fizzie: did you do a graph of Python v. Perl releases, then?
11:59:34 <ais523> I know it was being discussed when I left
11:59:36 <fizzie> Yes, but there might be time-traveling involved.
11:59:36 <AnMaster> ais523, http://zem.fi/~fis/perlreleases.png
11:59:40 <fizzie> ais523: Just Perl so far.
11:59:56 <AnMaster> ais523, it seems fizzie is claiming import from __future__ results in time travel
12:00:08 <fizzie> Isn't time travel the mechanism behind it?
12:00:14 <fizzie> I always thought so.
12:00:26 <AnMaster> fizzie, I looked at the source and it was a lot more boring than that
12:00:48 <AnMaster> just a set of flags for features to enable, features that will be on by default in future releases
12:00:56 <fizzie> Oh. Well, graphing-wise it's a relief.
12:02:34 -!- Asztal_ has quit (Read error: 110 (Connection timed out)).
12:04:48 <ais523> interesting that there are more recent releases in the 5.8 series than the 5.10
12:04:57 <ais523> and IIRC, 5.12's being developed atm
12:05:16 <ais523> as is 6.x, of course, but that's the programming equivalent of duke nukem forever
12:05:23 -!- Asztal_ has joined.
12:05:52 <ais523> also, 1.0.16 was released in 2004? why were they continuing to maintain Perl 1, I wonder?
12:05:57 <fizzie> Well, I got my data from the perlhist manpage of this 5.10.0 release packaged in Debian.
12:06:07 <ais523> makes sense
12:06:08 <AnMaster> ais523, I asked that too
12:06:26 <fizzie> My guess was business-critical Perl 1 code from the 1988s.
12:06:53 <fizzie> Oh: "As a birthday present to Perl and Larry, through the work of the perl1-porters, in particular Richard Clamp,
12:06:53 <fizzie> Perl 1.0 has been resurrected with minimal patches for modern machines."
12:07:09 <fizzie> Says http://dev.perl.org/perl1/
12:08:06 <fizzie> The newspost under the "News" heading there is partly amusing.
12:10:44 <ais523> 272 KB tarball for the most recent version of Perl1?
12:10:46 <ais523> not bad
12:13:07 <ais523> wow, Perl1 looks just like modern Perl
12:13:24 <ais523> and I suspect that example program would even run in Perl5, maybe with a few tweaks needed
12:13:30 <ais523> although it would be awful style
12:15:17 <AnMaster> fizzie, idea: plot perl-release vs normalised tarball size (normalised means all converted to bzip2 or gzip or whatever, so you don
12:15:25 <AnMaster> don't* get a difference from that)
12:15:47 <AnMaster> possibly with time on the z axis
12:20:22 <fizzie> I would have to actually fetch all those perls to get that normalized size, though. And I'm not sure where I could get all that stuff. The perlhist.pod page has some size information in it, I could plot that. It seems to be close to a monotonic function, so I'm not sure how interesting it is.
12:22:40 -!- ais523_ has joined.
12:24:43 <AnMaster> ah
12:26:03 -!- ais523 has quit (Nick collision from services.).
12:26:05 -!- ais523_ has changed nick to ais523.
12:32:27 <fizzie> Heh, I didn't know there was a Parrot-based QuickBASIC 4.5 clone.
12:33:04 <ais523> neither did I
12:33:06 <ais523> where is it?
12:34:44 <fizzie> https://trac.parrot.org/parrot/browser/trunk/languages/BASIC/compiler?rev=37396
12:34:55 <fizzie> I'm not sure if it has a page, but the BASIC_README suffices.
12:35:13 -!- Asztal_ has quit (Read error: 104 (Connection reset by peer)).
12:40:49 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
12:41:00 -!- ais523 has joined.
12:44:06 -!- Asztal_ has joined.
13:04:26 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
13:05:45 -!- ais523 has joined.
13:11:03 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
13:11:32 -!- ais523 has joined.
13:20:49 -!- neldoret1 has joined.
13:32:33 -!- neldoreth has quit (Read error: 113 (No route to host)).
13:34:13 -!- Boscop has joined.
13:57:47 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
13:58:47 -!- ais523 has joined.
14:02:53 -!- comex has joined.
14:16:35 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
14:19:58 -!- ais523 has joined.
14:26:33 -!- comex has changed nick to Lausus.
14:35:47 -!- KingOfKarlsruhe has joined.
14:47:44 <psygnisfive> i might be able to get my hands on at least one NeXT work station :3
14:47:50 <psygnisfive> not a cube, unfortunately, but
15:13:27 <ehird> psygnisfive: oh hell yes
15:14:15 <ehird> psygnisfive: give it to me :3
15:16:41 <ehird> 09:49 fizzie: AnMaster: Here's the gnuplot view of those Perl releases from my "perldoc perlhist": http://zem.fi/~fis/perlreleases.png (Sorry for the positioning of labels, GNUplot+time-data is not a good combination.)
15:16:48 <ehird> you should put a marker where perl6 dev started :D
15:16:56 <AnMaster> hah good idea
15:18:20 <ehird> #!/bin/perl <-- from 198x perl example programs
15:18:29 <ehird> PERL IS A VITAL TOOL TO RUNNING ANY SYSTEM :D
15:18:35 <ais523> where's sed, I wonder?
15:18:40 <ais523> and when was /usr invented?
15:18:44 <ehird> ais523: it's so important it's in /
15:18:58 <ehird> ais523: as for sh,
15:19:06 <ais523> it's on /boot, obviously
15:19:08 <ehird> ais523: well, like MS-DOS... sh is so important, it's in -every directory-
15:19:13 <ehird> so you can just do #!sh
15:19:15 <ais523> heh
15:19:37 <ehird> also that old perl code is actually readable
15:19:39 <ehird> very awk
15:19:40 <ehird> I like it
15:19:45 <ais523> and very like modern Perl, too
15:19:55 <ais523> just it does some things which would be bad style
15:20:02 <ais523> and doesn't make use of modern features, for obvious reasons
15:20:33 <ehird> "There's a way to make arrays
15:20:33 <ehird> have either origin 0 like C, or origin 1 like awk. Etc.)"
15:20:36 <ehird> bonkers even then.
15:20:59 <ais523> amazing how the features to make it easier to compile things into Perl by text substitution have to be dealt with even to this day...
15:21:53 <ehird> by the way, I need a second opinion: is my switching to Emacs for all my editing purposes, full-time, from an OS X-only editor that's a lot sleeker to use, a sign of the coming apocalypse?
15:22:01 <ehird> I think so, but it could also be a sign I'm going mad
15:22:10 <ais523> what is the other editor?
15:22:15 <ehird> TextMate
15:22:20 <ais523> I use a mix of editors, I normally use Emacs but not for everything
15:22:30 <ehird> Previously I only used emacs for haskell and lisp
15:22:31 <ais523> and does TextMate have all the features of Emacs that you want to use?
15:22:39 <ehird> well, almost.
15:22:49 <ehird> It handles everything exactly how I want except for haskell and lisp :P
15:23:45 <ehird> But, yeah, I (re-)found an emacs distribution for OS X called Aquamacs. If I had to describe it, I'd say it's emacs for people who like the large configurability and the great language modes but don't care for emacs's OS aspirations.
15:23:59 <ais523> ah, interesting
15:24:05 <ais523> does it still run things like dired and gnus?
15:24:14 <ehird> Yes, it's still GNU Emacs
15:24:20 <ehird> Just with addon packages and default configuration and the like
15:24:48 <ehird> I want to know how it sets plaintext documents and the UI in Lucida Grande and code in Monaco
15:24:55 <ehird> I couldn't manage that with Carbon Emacs
15:27:09 <ehird> A few things annoy me though
15:27:34 <ehird> For instance, it's a bit too mac in places -- it suggests you use ~/Library/Preferences/Aquamacs Emacs/Preferences.el instead of ~/.emacs
15:27:38 <ehird> and that kind of sucks for portability.
15:27:46 <ais523> just make the first a symlink to the second
15:27:46 <ehird> but that's fixable
15:27:52 <ehird> ais523: it loads ~/.emacs too
15:27:55 <ais523> ah
15:28:04 <ehird> although it seems to load Preferences.el sooner
15:28:29 <ehird> anyway, turns out Customize is quite nice if you make it save to something that isn't your main .emacs
15:30:06 <ehird> but, yeah, on the whole it's less irritating than carbon emacs, which is nice, is what I'm trying to say.
15:30:25 <ehird> especially the tabbar. i don't care how efficient buffer switching is, it's irritating.
15:30:37 <ehird> and yes, I tried tabbar.el
15:30:43 <ehird> I couldn't get it working sanel.
15:30:43 <ehird> y
15:30:52 <ais523> hmm
15:31:08 <ais523> I get the impression that standard Emacs is designed to have a lot of junk buffers floating around you don't care about
15:31:19 <ais523> I never C-x k, I just start working on something else
15:31:20 <ehird> Yes, which makes it harder to pick out the ones I want and edit them
15:31:28 <ais523> how are you switching buffer?
15:31:36 <ais523> C-x b tab-completes, you know
15:31:39 <ehird> I know
15:31:43 <ehird> It's still irritating
15:31:50 <ehird> Also that I can't open two frames and have separate sets of buffers
15:32:03 <ehird> That's just how I work; I have one frame per project, and rapidly switch between the files I'm working on in that project
15:32:29 <ais523> just open two instances of Emacs
15:32:31 <ais523> that's what I do
15:32:42 <ais523> I have them in separate terminal tabs when I do that, too...
15:32:46 <ais523> and often separate desktops
15:32:48 <ehird> ais523: great, now I can't get them to talk to each other
15:32:53 <ais523> why would you want to?
15:32:58 <ais523> if they're different projects?
15:33:16 <ehird> just because they're separate projects doesn't mean they don't have related things; plus, emacs-as-a-whole commands don't rely on what you're editing
15:33:20 <ehird> also, that wouldn't work with OS X
15:33:31 <ehird> you only have one instance of an app at a time, unless you forcibly run another via the terminal
15:33:54 <ehird> and I have tabs of frames, too: selecting the icon in the Dock lists all the windows and the tab they're currently on
15:35:00 <ehird> can someone please prove p=np?
15:35:06 <ehird> programs would get so much better :P
15:35:26 <ais523> ehird: either n = 1 or p = 0
15:35:33 <ais523> sorry, I know it's an old joke...
15:35:53 <ehird> One I happen to have never heard, but amuses me.
15:36:31 <ehird> hmm... where do most people put their non-.emacs emacs stuff? I've been hogging ~/.emacs.d for my own purposes, but I don't think that's right
15:36:36 <ehird> Guess I could ask #emacs
15:36:59 <ais523> ~/esoteric/intercal/latest/etc/intercal.el
15:37:12 <ehird> heh.
15:37:14 <ais523> although admittedly that's for something specific
15:37:17 <ehird> and for things I didn't write?
15:37:30 <ais523> mine would go in ~/research, probably
15:37:35 <ais523> that's my generic "things I didn't write" directory
15:37:39 <ais523> and it gets very big
15:38:15 <ehird> Yeah I tend to organize things :P
15:38:25 <ehird> it irritates me how many dotfiles are in my home directory
15:38:45 <ehird> why can't they go in ~/Config/ or something? oh wait, that exists, it's called ~/Library/Preferencse/.
15:38:48 <ais523> oh, my things are organised too
15:38:48 <ehird> *Preferences
15:38:50 <ais523> just normally one level down
15:39:03 <ais523> and different parts of my hierarchy are organised different ways
15:39:12 <ais523> my home is basically a linkfarm for things I use a lot, except without links
15:39:24 <ais523> I physically move things to ~, normally, when I use them a lot
15:39:43 <ais523> although sometimes I link, for instance if the thing I'm using is in /var/www, or has to be in a certain location for other reasons (such as my IRC client logs)
15:40:00 <ehird> Your structure sounds more efficient than mine, but less commo
15:40:01 <ehird> n
15:40:25 <ais523> well, it would be a real pain for anyone who didn't have it memorised already to work with
15:40:38 <ais523> but then, why should I organise my home dir to be easy for other people to use?
15:40:44 <ehird> mm
15:40:51 <ais523> I use saner structures for things I'm sharing with other people
15:41:03 <ehird> I just work with what I have until I can throw out my filesystem :-)
15:43:03 <ehird> Hmm
15:43:21 <ehird> I wonder if I could get aquamacs to move its configuration and stuff to ~/.elisp or something so it can be portable
15:43:39 <ehird> (And I'd just have .emacs be: add ~/.elisp to load path, load ~/.elisp/init.el or whatever)
15:45:42 * ehird turns off transient mark mode
15:48:04 <ais523> that's one of the first things I did, to
15:48:06 <ais523> *too
15:48:38 <ehird> Actually, I thought I liked it but then I realised I don't want to see it when I'm saving my position to go back to.
15:49:36 <ehird> Hmm, it doesn't want to turn off.
15:52:22 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:52:34 -!- ais523 has joined.
15:52:50 <ais523> aargh, connection trouble
15:53:03 <ehird> hay want a bouncer
15:53:04 <ehird> :P
15:54:36 <ehird> http://filebin.ca/uhzpco/thingy-large.png <- anyone recognize this?
15:54:37 <ehird> It's fractall-y.
15:55:10 <ehird> Except it's sort of like "turn a bit, and you get this image, but squashed"
15:55:30 <M0ny> lol
15:55:38 <Slereah> I believe it's a large thingy
15:56:17 <ehird> http://www.gnu.org/software/emacs/emacs-paper.html#TOC14 <-- emacs used to let you use any language you want
15:56:45 <ehird> er wait no
15:58:17 <ehird> Lisp and TECO use a dynamic scope rule, which means that each binding of a variable is visible in all subroutine calls to all levels, unless other bindings override. For example, after
15:58:17 <ehird> (defun foo1 (x) (foo2))
15:58:19 <ehird> (defun foo2 () (+ x 5))
15:58:21 * ehird dies
15:58:23 <ehird> i hate elisp
15:58:40 -!- Lausus has changed nick to comex.
16:00:10 -!- MigoMipo has joined.
16:00:14 -!- Hiato has joined.
16:01:41 <ehird> darnit
16:01:49 <ehird> cua-mode is forcing transient-mark-mode
16:02:01 <ais523> what's cua-mode?
16:02:14 <ehird> it lets you copy/paste/etc with c-[xcv]
16:02:22 <ehird> (yes, it allows C-x commands to still work)
16:02:26 <ehird> except in this case, it's apple-, not c-
16:02:31 <ehird> so it doesn't clash with anything
16:02:40 <ehird> but it ends up turning on transient mark mode
16:02:44 <ais523> well, you don't need a separate mode for that
16:02:52 <ais523> that's three keybinding commands
16:02:52 <ehird> yes, you do, it's not as simple as that
16:03:01 <ais523> what does apple- translate as inside Emacs? super? hyper?
16:03:09 <ehird> S-
16:03:15 <ais523> not shift, surely?
16:03:18 <ehird> err
16:03:18 <ais523> S- is shift, s- is super
16:03:22 <ehird> it translates as A-
16:03:28 <ais523> ah, interesting
16:03:35 <ehird> anyway, look up cua-mode; Aquamacs enables it by default
16:03:49 <ehird> There's probably a way to get cua mode not to transient mark
16:10:01 <ais523> hmm... I just found another reference to INTERCAL: http://nicolaas.net/dudley/index.php?f=20080812&email=ais523
16:10:20 <ais523> AnMaster and lament play NetHack, so they'll probably find it funny
16:10:56 <ehird> ***BASIC*** is not nearly slow enough.
16:11:03 <ehird> lament plays nethack?
16:11:03 <AnMaster> hahah
16:11:13 <ais523> well, he turns up in #nethack every now and then
16:11:44 <ais523> although apparently doesn't have it on autojoin, at least the join- and part-times there seem different from other channels
16:12:13 <ehird> hmm... I wonder who runs nethack in emacs; I wonder so that I may whack them
16:12:38 <AnMaster> from now on "newt" and "two spot" can be used interchangeably. Oh and floor/one spot too
16:12:59 <ais523> AnMaster: Dudley being killed by newts is a running joke in that comic, by the way
16:13:09 <AnMaster> ais523, yes I know, I used to read it
16:13:13 <AnMaster> a few years ago or so
16:13:33 <AnMaster> ais523, it went downhill after it changed to all guest comics.
16:13:52 <ehird> % nethack
16:13:52 <ehird> zsh: command not found: nethack
16:13:54 <ehird> What what!
16:13:55 <ais523> AnMaster: there's a new version up
16:14:03 <AnMaster> ais523, it says it ended right there
16:14:05 <AnMaster> on the main page
16:14:08 <ais523> that one did
16:14:14 <ais523> people liked the idea so much that they made clones
16:14:15 <AnMaster> ais523, then where is the new one?
16:14:19 <AnMaster> I see
16:14:28 <ehird> Variants: autopickup_exceptions, menucolors <-- What on earth is the first one?
16:14:32 <ais523> http://alt.org/nethack/dudley/ is the new one in colour that's pretty popular a the moment
16:14:33 <ehird> ais523: HAHAHAHAHA
16:14:38 <ehird> on that dudley site saying it's dead
16:14:39 <ehird> a comment
16:14:40 <ehird> GreyKnight January 9, 2009 19:48
16:14:44 <ais523> ehird: you can use it to customise autopickup
16:14:49 <ehird> i CANNOT STOP RUNNING INTO THAT GUY
16:14:51 <ais523> so that it picks up some things and not others
16:14:53 <ais523> it's based on regexen
16:15:10 <ehird> i wonder if greyknight is my evil alter ego
16:15:57 <AnMaster> ais523, menucolor is the most important patch to use though
16:16:19 <ais523> what makes you think that? I normally play without it
16:16:20 <ehird> why? I didn't use it last time, when I started out (under the guidance ofa is523...)
16:16:22 <ais523> I don't even have it locally
16:16:26 <ehird> what does it do?
16:16:32 <ais523> ehird: colours in the menus based on regexps
16:16:36 <AnMaster> ais523, I find it a lot easier and a better experience
16:16:39 <ais523> I never really saw the point
16:16:49 <ehird> ais523: well that's silly; it'll make you clicker to type instead of think
16:16:53 <ehird> and thus make rash decisions
16:17:01 <ehird> (if you can semi-get it without reading it)
16:17:06 <ais523> on NAO I just have it on the defaults, which colours in menus based on BCU
16:17:18 <ais523> and that's not particularly useful, I just haven't bothered to turn it off
16:17:31 <ehird> is there a version of NAO that doesn't involve playing over telnet and thus having excruciating lag?
16:17:38 <AnMaster> I find it useful
16:17:40 <ehird> termcast, maybe?
16:18:12 <ais523> you can play locally and termcast your game if you like
16:18:31 <ehird> why doesn't NAO work that way? Because of cheating?
16:18:37 <AnMaster> ais523, my menu colours settings are a bit more complex. Took them from someone else on NAO way back. Don't remember who
16:18:40 <ais523> well, it's designed to be an online server
16:18:46 <ais523> AnMaster: almost certainly Eidolos
16:18:51 <ais523> because everyone copied from him
16:18:57 <ais523> ehird: things like sharing bones files, too
16:19:01 <ais523> and it has a few patches for nasty bugs
16:19:17 <AnMaster> hm
16:19:26 <ehird> ais523: it's just horribly, horribly slow...
16:19:37 <ais523> only if you live in Europe
16:19:41 <AnMaster> ais523, I think it was from one of those open accounts, deathrobin I or whatever the name was
16:19:45 <ehird> ais523: want to know a secret?
16:19:50 <ehird> i live in europe :D
16:20:02 <ais523> the server itself is fast, but typical network latency is problematic if you go across the Atlantic
16:20:06 <AnMaster> ais523, I heard it was even worse in AU
16:20:09 <ais523> because it happens on every key you send
16:20:12 <ais523> AnMaster: I wouldn't be surprised
16:20:33 <ehird> a better way would be to run vanilla nethack and send it across, and then update the screen
16:20:43 <ehird> so you can play at full speed, but if something differs on NAO, you see it instead
16:20:44 <ehird> or something
16:20:45 <AnMaster> wow
16:20:50 <ais523> well, you'd still have to handle things like bones files
16:20:55 <ehird> just, local play + syncing
16:21:03 <ais523> what about random numbers?
16:21:21 <ehird> ais523: eh, make you use a patched nethack that asks NAO for its numbers
16:21:23 <AnMaster> gcc used 700 MB RAM to compile this file in LLVM. Though it was C++, but even so..
16:21:30 <ehird> the point is that things happen instantaneously if they agree
16:21:50 <ais523> also, it is used for cheatproofing too
16:21:54 <ais523> and things like in-game mail
16:22:42 <AnMaster> ais523, you could make a game that offloads most computation to client yet is cheat proof. I think.
16:22:44 <ehird> hmm
16:22:50 <ehird> can you turn off menucolours even if you have the patch?
16:23:04 <ais523> I think so
16:23:10 <ais523> just blank the menucolors entries in your rc
16:23:20 <AnMaster> yes you can
16:23:23 <AnMaster> remove OPTIONS=menucolors
16:23:31 <AnMaster> maybe you need OPTIONS=!menucolors
16:23:32 <ehird> kay, I'll leave it in then
16:23:33 <AnMaster> not sure
16:25:33 * ehird tries and sees if he remembers how to start/play nethack
16:25:46 -!- Hiato has quit ("Leaving.").
16:26:07 <ehird> ais523: what size tterminal is best, again? I forgot.
16:26:31 <ais523> 80x24 is the minimum it works with
16:26:39 <ais523> and it doesn't care about the extra space if you give it a bigger terminal
16:26:42 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:26:46 <ehird> hmm, I thought it used it?
16:26:51 <ehird> I seem to remember maps spanning the whole thing
16:26:53 <ais523> or at least, it uses extra vertical space for longer inventory listings, and extra horizontal space for status messages
16:26:54 <ehird> instead of just in 80x24
16:27:01 <ais523> nope, maps are just 80x24
16:27:04 <AnMaster> ehird, be sure to set numpad mode
16:27:11 <ais523> AnMaster: err, why?
16:27:11 <ehird> "numpad mode"?
16:27:13 <ais523> I prefer numpad off
16:27:19 <ais523> ehird: there's an option
16:27:24 <AnMaster> ais523, well the vi style keys is horrible IMO
16:27:27 <ais523> numpad:0 is hjkl for west, south, north, east
16:27:30 <ehird> oh
16:27:32 <ehird> well that's shit.
16:27:39 <ais523> numpad:1 is 2468 for south, west, east, north
16:27:40 <ehird> AnMaster: you're a doody head. :P
16:27:41 <AnMaster> I guess numpad wouldn't work well on a laptop
16:27:46 <ais523> AnMaster: no, it doesn't
16:27:48 <ehird> the whole point of nethack is the vi keys, sheesh!
16:27:49 <ais523> I know this from experience
16:27:49 <AnMaster> ehird, what does "doody"?
16:27:52 <ehird> ais523: you said you used a >80x24 terminal didn't you?
16:27:54 <AnMaster> mean*
16:27:55 <ehird> AnMaster: doody.
16:27:58 <AnMaster> yes
16:27:59 <AnMaster> what does it mean
16:28:01 <ais523> ehird: often, yes
16:28:03 <AnMaster> I'm not about to google
16:28:18 <ehird> hrmph, someone just tell me what size to use :P
16:28:23 <ais523> use 80x24
16:28:34 <ais523> that way you won't have #nethack shouting at you when they try to watch your recordings
16:28:45 <ais523> even I use it when playing on public servers
16:28:55 <ehird> 80x24 seems cramped :P
16:28:55 <AnMaster> ehird, I usually use my default terminal size which is 193x50 or so. Nethack just uses part of it.
16:29:02 <ais523> ehird: use a bigger font size
16:29:13 <AnMaster> since I use a tabbed terminal emulator I prefer large for all
16:29:14 <ehird> ais523: then I feel senile :-D
16:29:19 <ais523> heh
16:30:58 <AnMaster> ehird, use a screen with lower DPI.
16:31:02 <AnMaster> if you have one
16:31:05 <ehird> AnMaster: Then I see the pixels.
16:31:09 <ehird> :P
16:31:20 <AnMaster> ehird, select two out of three
16:31:26 <ehird> Oh well, 14pt monaco will work fine.
16:38:17 -!- oerjan has joined.
16:38:23 <AnMaster> hi oerjan
16:38:29 <oerjan> hi AnMaster
16:38:51 * oerjan runs head over heels to iwc
16:40:39 <oerjan> ah so hades is still there
16:41:19 <AnMaster> oerjan, I wasn't going to comment on it...
16:41:40 <oerjan> suuure
16:45:53 <oerjan> <ehird> i wonder if greyknight is my evil alter ego
16:46:04 <oerjan> has anyone ever seen you at the same time?
16:46:26 <ehird> Yes.
16:47:13 <oerjan> hm so difficult
16:48:13 * oerjan envisions a window manager that detects the user changing personalities, and switches the visible windows
16:49:31 <oerjan> or maybe the ego would just block the windows of the other personalities automatically
16:49:47 <oerjan> someone should ask a psychiatrist
16:52:35 <oerjan> or maybe he is just your evil _twin_. check for someone living under your bed.
17:00:07 -!- BeholdMyGlory has joined.
17:09:06 -!- FireFly has joined.
17:09:23 * oerjan cheerfully swats FireFly -----###
17:09:37 <FireFly> :|
17:35:17 <ehird> yay, my overly-complex nethack archivist script works
18:07:10 <lament> ehird: sure, i play nethack
18:07:14 <lament> i mean i used to
18:07:51 <ehird> have you stopped beating your wife
18:08:15 <lament> have i stopped fucking your mom
18:08:59 -!- Judofyr has joined.
18:20:35 -!- Boscop has quit (Read error: 110 (Connection timed out)).
18:40:26 -!- ais523_ has joined.
18:40:47 -!- ais523 has quit (Read error: 145 (Connection timed out)).
18:45:49 -!- ais523_ has quit (Remote closed the connection).
18:53:57 <ehird> http://paste.lisp.org/display/77285 <- Awful.
18:54:06 <ehird> Also incredibly slow.
18:54:45 <ehird> Hmm, might wanna "$0" instead of $0 for spaces.
18:55:16 <ehird> also it prints to stderr.
18:55:35 <ehird> I'm serious it takes 1.8 seconds to just print 832040
18:55:38 <ehird> Ungodly
18:56:02 <oklofok> what's t?
18:56:14 <oklofok> ohhh
18:56:15 <ehird> oklofok: t is a constant that evaluates to the symbol T, so t = 't
18:56:20 <oklofok> sorry i'm a blind
18:56:21 <ehird> and anything non-nil is true
18:56:27 <oklofok> yes
18:56:34 <oklofok> i was being a blind
18:56:45 <ehird> it's just standard lisp except it's dynamically scoped because rms is _retarded_ and you have to use the kind of functions you use in the editor ui
18:56:55 <ehird> like (message "foo") displays foo in the command line thingy
18:57:00 <ehird> but it prints to stderr with --batch
18:57:07 <ehird> also it's horribly, horribly slow
18:57:54 <oklofok> how long does scheme usually take for that?
18:58:03 <ehird> oklofok: mere milliseconds
18:58:06 <ehird> here, i'll try it
18:58:11 <oklofok> oh.
18:59:01 <ehird> what the fuck.
18:59:05 <ehird> Chicken Scheme takes 2 seconds on it
18:59:08 <ehird> (FIB 30) IS NOT HARD PEOPEL
18:59:28 <oerjan> well a dumb recursive _is_ exponential
18:59:31 <oerjan> *fib
18:59:42 <ehird> yeah but even soo
19:00:01 <ehird> [ehird:~/Code/scraps/2009-03] % ghc -O2 gawd.hs -o gawd
19:00:01 <ehird> [ehird:~/Code/scraps/2009-03] % time ./gawd >/dev/null
19:00:02 <ehird> ./gawd > /dev/null 0.09s user 0.00s system 97% cpu 0.093 total
19:00:04 <ehird> I feel better now
19:00:26 <ehird> This reinforces my decision to only program in haskell and scripting languages
19:01:12 <oklofok> oerjan: i believe ehird said "832040" and not 29 exactly because it was exponential
19:01:21 <ehird> lol wut
19:01:29 <oklofok> or maybe he didn't
19:01:30 <oklofok> dunno
19:01:36 <ehird> wat
19:01:37 <oerjan> oklofok: i mean it takes exponential time to compute
19:01:50 <ehird> xD
19:01:53 <oklofok> oerjan: yes it takes 832040 to compute
19:02:02 <ehird> err i was printing out the result
19:02:26 <ehird> hmm, I just realised that fib(N) is the amount of recursions it takes to compute fib(N) naively
19:02:28 <ehird> coolio
19:02:31 <oklofok> oerjan: "for i in xrange(832040):pass" is exponential too
19:02:33 <ehird> same with factorial
19:02:35 <oerjan> there are better ways of computing fib(n) that are polynomial in n
19:02:40 <ehird> oerjan: yes, I know
19:02:44 <oklofok> oerjan: grrr
19:02:46 <ehird> but computing fib(N) is rare anyway
19:03:24 <ehird> http://feb31.com/
19:03:57 <oklofok> i'm no gonna go
19:04:07 <ehird> you no go
19:04:23 <ehird> grr, Option as Meta strains my pinky
19:04:32 <ehird> but Command as Meta disables apply shortcuts
19:05:38 <oerjan> well make Option apply then?
19:05:48 <oklofok> ehird: hmm, I just realised that fib(N) is the amount of recursions it takes to compute fib(N) naively <<< okay i guess you did *not* say "832040" because of that if you didn't know it :D
19:05:59 <oerjan> um
19:06:00 <ehird> oklofok: well I mean a knew it I just didn't knoooow it
19:06:02 <ehird> sort of
19:06:05 <ehird> *I
19:06:21 <oerjan> or do you mean apply = apple-y?
19:06:27 <ehird> oerjan: apple-y
19:06:36 <ehird> like cmd-n, cmd-s, etc
19:06:41 <ehird> M-x = opt-x
19:06:54 <ehird> Apple-x would be better, but M-[ns] are used for other things
19:06:55 <ehird> so it'd clash
19:06:58 <oklofok> ehird: you mean like you didn't realize it?
19:07:14 <ehird> oklofok: well, I knew it, but I didn't realise that it was the definition, not a side effect
19:07:20 <ehird> if you get me
19:07:42 <oklofok> you... realized functions of that form could be seen as calculating their own behavior?
19:07:51 <ehird> wellllllllllllllll sort of
19:07:54 <oklofok> hmm
19:08:12 <oklofok> or MAYBE
19:08:19 <oklofok> i had this dream where i went to sydney
19:08:31 <ehird> yes
19:08:31 <oklofok> and this friend of mine happened to be there
19:08:37 <oklofok> and we bought some beer
19:08:50 <ehird> how odd
19:08:56 <oklofok> also i almost jumped into the largest waterfall in the world
19:09:08 <oerjan> i don't think that's in sydney
19:09:31 <oklofok> it looked so peaceful 3 meters before the ..cliff
19:09:40 <ehird> :DDD
19:09:45 <oklofok> and i was like i is gonna swim darr
19:09:59 <oklofok> then i realized it was a trap set by gods
19:10:05 <ehird> oklofok stop being so AWESOME
19:10:10 <oklofok> ;)
19:11:08 <oklofok> i'm being pretty awesome, have about 8 hours of work for today, and 4 hours left
19:11:17 <ehird> wow Frogger is so hard.
19:11:26 <oklofok> and i'm ircing
19:11:54 <oerjan> just before the waterfall
19:12:24 <oklofok> yes, gotta admit this is not the safest place to be drinking beer
19:19:03 <ehird> a
19:22:32 -!- jix has joined.
19:35:15 -!- oerjan has quit ("Good night").
19:48:20 <ehird> http://www.chromeexperiments.com/hosted/gravity/index.html
19:49:21 <ehird> omg
19:49:23 <ehird> it even does results
19:49:35 -!- jix has quit ("...").
19:50:19 <Slereah> ehird : what the fuck is that shit made of?
19:50:23 <Slereah> I'm a scientist damn it
19:50:28 <Slereah> It's not supposed to bounce all around
19:50:30 <ehird> Slereah: Googlag
19:50:35 <ehird> also, it just fell
19:50:38 <ehird> when you load you can see it fall
19:50:41 <ehird> also, presumably it's springy.
19:50:48 <ehird> also you can drag it around
19:50:49 <Slereah> Yeah, but that much?
19:50:54 <Slereah> It's still bouncing!
19:50:55 <ehird> Slereah: It's google, man.
19:50:56 <ehird> They're magic.
19:51:12 <Slereah> MADE OF GOOGLEIUM
19:51:13 <ehird> Fun game: Throw the search button up, hit it before it falls.
19:56:28 <ehird> Slereah: Can you mang to build a tower to hold the search box and the logo?
19:56:28 <ehird> I can't
20:00:32 <Slereah> I can't even grab them
20:00:58 <AnMaster> http://www.chromeexperiments.com/hosted/gravity/index.html <-- google uk?
20:01:08 <AnMaster> that is all I see
20:01:21 <AnMaster> and the search button does nothing
20:01:35 <ehird> you need a recent browser with JS.
20:01:39 <Slereah> How do I drag them around,
20:01:43 <ehird> and CSS3 support.
20:01:44 <AnMaster> ehird, I used Konqueror with js enabled
20:01:47 <ehird> Slereah: Click and drag.
20:01:49 <ehird> AnMaster: yes, no.
20:01:51 <Slereah> Doesn't work
20:02:03 <ehird> It works in Chrome, Safari and maybe Firefox.
20:02:11 <ehird> Slereah: aren't they slightly tilted?
20:02:12 <Slereah> Maybe I'm lagging
20:02:14 <AnMaster> ehird, compiling C++ stuff atm so don't want to run firefox, (it swap trashed when I tried)
20:02:15 <ehird> maybe yer browser is too oldy
20:02:21 <ehird> AnMaster: Firefox 2 wouldn't work
20:02:21 <Slereah> Firefox 2
20:02:23 <ehird> and you refuse to use 3.
20:02:26 -!- kar8nga has joined.
20:02:27 <AnMaster> ehird, I use firefox 3
20:02:27 <Slereah> Aw
20:02:29 <AnMaster> since December
20:02:30 <ehird> Slereah: yeah, get firefox 3 or safari or chrome or something
20:02:32 <ehird> AnMaster: wait wut
20:02:36 <ehird> apocalypse!
20:02:45 <AnMaster> ehird, I switched to 3 when the official support for 2 ended
20:02:57 <AnMaster> I'm quite sure I must have mentioned it
20:02:57 <ehird> AnMaster: anyway, the google home page sits there for a second, then everything collapse to the ground and wobbles. You can throw around the elements, and they still function
20:03:06 <ehird> If you click search, big blocks of results come down and hit everything
20:03:14 <ehird> You can try and build towers with them and stuff.
20:03:23 <ehird> They bend to fit the gravity but you can still type in the input fields and stuff
20:03:23 <AnMaster> interesting
20:03:42 <ehird> It's using that CSS transform thing to rotate them and JS to simulate the gravity and stuff
20:03:45 <AnMaster> I wonder who thought "lets do a google proxy affected by gravity"
20:03:56 <ehird> It's part of v
20:03:57 <ehird> http://www.chromeexperiments.com/
20:03:59 <Slereah> A chimp?
20:04:04 <ehird> which is a Google site that lets people submit JS hack things
20:04:08 <ehird> to demonstrate chrome's awesomeity
20:04:29 <AnMaster> ehird, so some of them only works in chrome?
20:04:40 <ehird> They've all worked in Safari for me; but, uh, same rendering engine.
20:04:46 <ehird> The gravity one probably works in FF23.
20:04:48 <ehird> *FF3
20:05:33 <AnMaster> konq has the same rendering engine too. Though this is a rather old konq
20:07:26 <ehird> Yeah, um, KHTML/KJS are nothing compared to modern WebKit/Squirrelfish Extreme
20:08:49 <ehird> Anyway, I might as well give away a relevant Evil Idea I had:
20:09:14 <ehird> (sec.)
20:10:53 <ehird> There's a 64 bit Java browser plugin for Linux now, and if you take a look at http://www.pulpgames.net/milpa/ it's unlike any other applet I've seen: loads fast, no lag, and is as smooth as a flash game as far as usability goes. And, also, there's a Haskell->JVM compiler (that needs updating, but still.)
20:11:15 <ehird> So... use Haskell->JVM compiler to make an Applet. Watch the hilarious slowity at running Haskell on something totally not designed for it.
20:11:26 <ehird> I think profit is meant to come in somewhere, but all my predictions just end in the user hanging themselves.
20:12:12 -!- M0ny has quit ("Quit").
20:12:55 <AnMaster> ehird, err how is that http://www.pulpgames.net/milpa/ related to Haskell->JVM?
20:13:03 <ehird> AnMaster: it's a java applet
20:13:21 <AnMaster> yes but not one made with the haskell->jvm one?
20:13:32 <ehird> i think we'd better stop here.
20:13:47 <AnMaster> ehird, or was it made with that?
20:13:51 <AnMaster> Just want to get that clear
20:14:01 <AnMaster> after that I will go doing other things anyway
20:14:15 <ehird> I don't think there's ever been a time where you haven't understood something immediately but later understood it after it being explained; so I'm not sure I should bother.
20:14:40 <ehird> Slereah: http://www.screencast.com/users/ehird/folders/Jing/media/66b8b3e4-62e5-4c03-9b43-9d6305c34e85 video of the dragging
20:15:14 <AnMaster> ehird, tried that chromeexperiemnt thingy, falling works in firefox, you mentioned dragging things around. Can't get that to work
20:15:28 <ehird> Then I guess that doesn't work in FF
20:15:32 <ehird> AnMaster: Install a webkit browser? Like arora
20:15:42 <ehird> It's webkit+qt
20:15:47 <AnMaster> mhm
20:15:53 <AnMaster> no kde4?
20:16:43 <ehird> it's just qt
20:16:43 <ehird> not kde
20:17:00 <AnMaster> mhm
20:20:02 <ehird> http://balldroppings.com/js/
20:20:03 <ehird> Awesome
20:20:05 <ehird> (turn up volume)
20:30:26 <oklofok> err
20:30:33 <oklofok> what determines the pitch?
20:30:52 <ehird> oklofok: I think how much they bounce or something
20:33:44 <oklofok> ah
20:33:51 -!- olsner has joined.
20:38:45 -!- Hiato has joined.
20:41:28 <ehird> cool, you can download it
20:41:30 <ehird> http://balldroppings.com/
20:43:38 <oklofok> i don't like it
20:43:45 <ehird> why not
20:44:04 <oklofok> hmm, actually i guess i'm doing the classic error of mistaking challenge for hinderingmentness.
20:44:20 <ehird> :DD
20:44:57 <oklofok> well actually trivially impossible to escape the canon
20:45:03 <oklofok> so you can only compose snippets
20:46:53 <ehird> try the download version
20:46:57 <ehird> it's faster and more configgy
20:50:16 <oklofok> actually i've been thinking about making something like that, except just one ball, and gadgets for multiplying balls
20:50:23 <ehird> that would be nice
20:50:24 <ehird> make it
20:51:00 <oklofok> also probably infinite universe, since it's not a game, constraints are useless
20:51:06 <oklofok> i'm making something else
20:51:10 <oklofok> i mean actually making
20:51:23 <oklofok> i actually have part of it working, and i do a bit more every day
20:51:32 <oklofok> (except today, but just because i slept all day)
20:53:14 <oklofok> it's this graph fractal replication game
20:53:24 <oklofok> so pretty basic stuff
20:59:40 -!- jix has joined.
21:00:34 <ehird> oklofok you should make a physics thing that has notes instead of particles or something
21:01:31 <oklofok> i'm not sure how that would go
21:01:44 <ehird> well, basically it's the LHC for music.
21:01:51 <psygnisfive> de bruijn notation is interesting
21:01:54 <ehird> and you control all the operating parameters and the particles and shit. and the particles are music.
21:01:59 <ehird> see?
21:03:06 -!- Hiato has quit ("Leaving.").
21:13:58 <fizzie> And the matter-eating strangelets, what are those?
21:14:26 <oklofok> pauses?
21:14:48 <ehird> fizzie: they reverse time
21:16:26 <ehird> oklofok: i mean basically
21:16:33 <ehird> you'd have a particle go around observing them all
21:16:37 <ehird> and observing them makes them play
21:16:38 <ehird> and stuff
21:29:59 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
21:30:00 -!- k has joined.
21:30:29 -!- k has changed nick to Guest15366.
21:38:12 -!- jix has quit ("...").
22:08:59 -!- neldoret1 has quit (Read error: 110 (Connection timed out)).
22:26:27 -!- Blipi has joined.
22:27:08 * Blipi lost the Game
22:27:40 <lament> damn you!
22:27:52 <Asztal_> every time I lose the game, I win the *other* game
22:27:54 <Asztal_> so it cancels out
22:28:05 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:36:10 -!- Blipi has quit ("- nbs-irc 2.39 - www.nbs-irc.net -").
22:40:24 <ehird> HI
22:40:25 <ehird> er
22:40:26 <ehird> hi
22:42:30 -!- neldoreth has joined.
22:42:36 -!- Blipi has joined.
22:58:13 -!- neldoreth has quit ("leaving").
22:58:14 -!- neldoret1 has joined.
23:02:52 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
23:13:58 -!- Guest15366 has quit (Remote closed the connection).
23:15:00 -!- tombom has quit ("Peace and Protection 4.22.2").
23:16:07 <ehird> oklofok: ping
23:16:43 <oklofok> bih
23:16:45 <oklofok> poij
23:17:02 <ehird> oklofok: what's sort in apl? the verbs marked sort don't seem to be.
23:17:14 <ehird> err
23:17:16 <ehird> s/apl/j
23:17:19 <ehird> /
23:19:30 <ehird> oklofok: .
23:20:16 <oklofok> err
23:20:20 <oklofok> well umm
23:20:20 <oklofok> you
23:20:28 <oklofok> take that thingie which gives you the order of elems
23:20:34 <oklofok> and then you use it as a permutation
23:20:42 <ehird> which thingy would this be :|||||||||||||||||
23:20:56 <oklofok> it's something like /. or /:
23:21:05 <oklofok> or not, mind you.
23:21:28 <ehird> right those are called sort
23:21:34 <ehird> /: and \:
23:21:52 <oklofok> yes i prefer to call them thingies.
23:22:52 <ehird> ewww, it's so ugly
23:23:10 <ehird> here's how you sort a list
23:23:11 <oklofok> whazugl
23:23:14 <ehird> n =: yer list
23:23:17 <ehird> ]g =: /: n
23:23:18 <ehird> g { n
23:23:22 <ehird> two fucking variables
23:23:27 <ehird> with some wacko ]foo =: bar assignment thin
23:23:28 <ehird> g
23:23:30 <ehird> just inhumane
23:23:34 <ehird> I guess you could do a fork :P
23:23:39 <FireFly> Hm
23:23:46 <oklofok> err isn't it like ({/:)~ or something
23:23:50 <FireFly> I'm starting to like J
23:23:58 <oklofok> umm
23:23:58 <ehird> FireFly: oklofok does that to you :)
23:24:03 <oklofok> or just {/:
23:24:18 <ehird> {/: n
23:24:19 <ehird> +-----------+
23:24:20 <ehird> |2 4 5 0 1 3|
23:24:22 <ehird> +-----------+
23:24:24 <ehird> n
23:24:26 <ehird> 35 37 11 38 17 27
23:24:28 <ehird> ({/:)~ n
23:24:28 <oklofok> oh
23:24:30 <ehird> |index error
23:24:31 <oklofok> well that's pretty close
23:24:32 <ehird> | ({/:)~n
23:24:34 <fizzie> Doesn't even the ference say: (/:y){y sorts y in ascending order. (Disclaimer: I know nothing about J.)
23:24:42 <ehird> fizzie: yes, but it's not that simple
23:24:50 <ehird> because then you have to specify the list twice
23:24:52 <fizzie> s/fer/refer/
23:24:56 <ehird> so you need to composerer them
23:25:29 <ehird> oklofok: {/: is wrong because it's just two ops
23:25:30 <ehird> so no fork
23:25:31 <ehird> so it does
23:25:33 <ehird> { (/: n)
23:25:35 <ehird> when you need
23:25:39 <ehird> (/: n) { n
23:25:56 <oklofok> sorry i thought { took params in different order
23:26:00 <ehird> ah :P
23:26:51 <oklofok> i kinda have a fever atm, so i'm not sure i can conjure up the few characters to make it short
23:27:03 <ehird> yeah hm
23:27:29 <ehird> I need an op such that (x op y) z is z x (y z)
23:27:40 <ehird> Ima ask #jsoftware
23:28:29 <oklofok> ({~ /:)
23:28:44 <ehird> ah
23:28:57 <oklofok> sorry about the delay, took me about 30 seconds to see how ~ permutes it
23:28:58 <oklofok> ...
23:29:04 <ehird> hmm, you need the parens
23:29:05 <ehird> how uncouth
23:29:06 <bsmntbombdood_> http://www.annexia.org/_file/jonesforth.s.txt
23:29:08 <oklofok> things keep popping to head
23:29:08 <bsmntbombdood_> cool stuff
23:29:11 <oklofok> weird things
23:29:16 <ehird> bsmntbombdood_: yep
23:29:18 <ehird> jonesforth rocks
23:29:36 <bsmntbombdood_> i was trying to figure out how to write it in C
23:29:43 <ehird> bsmntbombdood_: that would be difficult
23:29:50 <bsmntbombdood_> right
23:29:51 <ehird> anyway I conclude that J is on average more verbose than apl
23:30:00 <ehird> apl ↑6?40
23:30:01 <ehird> j ({~/:)6?40
23:30:37 <bsmntbombdood_> which is rather odd
23:30:42 <oklofok> is it now
23:32:52 <ehird> oklofok: well sure
23:32:58 <ehird> ({~/:) vs ↑
23:33:00 <ehird> no contest
23:35:23 <ehird> also you can't assign to ↑ because j has uniphobia
23:44:23 <ehird> oklofok: will oklotalk have jew code characters
23:44:25 <ehird> as ops
23:46:01 <ehird> FireFly: how did you discover j
23:46:02 <ehird> ?
23:46:28 <oklofok> what is jew code?
23:46:48 <oklofok> (sorry for being dumb atm)
23:46:57 <oklofok> unicode
23:46:59 <oklofok> prolly
23:47:02 <FireFly> You talking about it :D
23:47:14 <oklofok> wait what
23:47:17 <FireFly> A couple of weeks back
23:47:23 <oklofok> oh.
23:47:30 <oklofok> ehird: FireFly: how did you discover j <<< missed this
23:47:38 <oklofok> okay this isn't really working.
23:47:39 <FireFly> Heh
23:47:50 <ehird> FireFly: written any substantial programs? I haven't :D
23:48:06 <ehird> oklofok: uniode yeah.
23:48:42 <ehird> unicode
23:48:47 <oklofok> i have a great feeling about these computational class problems i need to do now, first exercise was basically adding binary numbers together, took me about 5 attempts to get it right
23:48:58 <ehird> xD
23:49:00 <FireFly> Not really, played around with it, thinking how one would create a WireWorld prog in it
23:49:26 <oklofok> heh, my first instinct was "what's a wireblog?"
23:49:32 <FireFly> From what I've noticed, it seems to be really fast
23:49:36 <FireFly> >_<
23:49:38 <oklofok> see you when i'm well again :D
23:49:40 <oklofok> ->
23:49:42 <ehird> oklofok: bye
23:49:46 <FireFly> Bye
23:49:50 <ehird> FireFly: it's fast because all the vector primitives are tight loops in C code
23:49:51 <FireFly> Bleh
23:49:57 <ehird> if you tried to do something less vectory it'd probably be slower
23:50:13 <FireFly> hm
23:51:04 <FireFly> I've ever tried any similar langs (like APL and stuff), so to me everything looks really short
23:51:10 <FireFly> Codewise
23:51:16 <ehird> Yes
23:51:18 <ehird> It is very concise
23:51:29 <FireFly> And folding is a clever idea
23:51:36 <ehird> Yeah, the adverbs are great
23:52:10 <FireFly> I should be reading my history :\
23:52:20 <FireFly> And sleep
23:52:28 <ehird> sleeping is worthiless!
23:52:35 <FireFly> I guess it's time to leave for me too
23:52:55 <FireFly> You do have a point
23:53:23 <FireFly> It's good for my grades, though
23:53:27 <ehird> true :P
23:53:40 <FireFly> Bah, I need to train more with Dvorak :\
23:53:50 <FireFly> This takes time ._.
23:55:03 <FireFly> Aaanyway, history & sleep
23:55:18 -!- FireFly has quit ("->->->->").
23:56:13 <ehird> wowzers, writing a script with j is ugly
23:56:14 <ehird> #!/usr/bin/env jconsole
23:56:15 <ehird> 'Hello, world!'(1!:2)2
23:56:17 <ehird> (2!:55)0
23:56:19 <ehird> yeah i just love meaningless Foreigns
23:56:28 <oklofok> yes they are nice
23:56:38 <ehird> they are so nice that I want to kill them
23:56:42 <ehird> with fire
23:57:12 <oklofok> :D
23:57:24 <ehird> i mean
23:57:31 <ehird> why can't they at least be strings
23:57:33 <ehird> 'file'!:'write'
23:57:35 <ehird> i could handle that
23:57:40 <ehird> but 1!:2? comeonnnnnnnnnnnnnnnnnnn
23:59:03 <ehird> say=:1!:2&2
23:59:04 <ehird> exit=:2!:55
23:59:06 <ehird> that's more bearable
23:59:50 <oklofok> there are names for many i think
23:59:59 <oklofok> it's just not very hardcore to use them
2009-03-20
00:00:15 <oklofok> also maybe there aren't names dunnoes.......
00:00:59 <ehird> where are the namez
00:03:59 <ehird> err wow i can't figure out how to get a newline in a string in j
00:05:52 <ehird> err oklofok, I keep meaning to ask
00:05:56 <ehird> how do you explicitly refer to a param
00:06:00 <ehird> e.g. id=:{my param}
00:07:05 <Blipi> Hmm
00:07:11 * Blipi lost
00:07:16 <ehird> hi Blipi
00:07:20 <Blipi> I'm off (:
00:07:23 <Blipi> Hey
00:07:27 <ehird> bye Blipi
00:07:30 <Blipi> :D
00:07:31 <Blipi> Bye
00:07:36 -!- Blipi has quit ("- nbs-irc 2.39 - www.nbs-irc.net -").
00:11:15 <ehird> aha, LF
00:11:31 <ehird> oklofok: sooo
00:11:32 <ehird> how do you do it
00:15:00 <ehird> oklofok: pinger
00:18:31 <ehird> ah you gotta use a 3: thing
00:19:50 <oklofok> o
00:20:17 <oklofok> yes
00:20:31 <ehird> hmm
00:20:36 <ehird> for dyadic you get (x,y) as the argers
00:20:39 <oklofok> i haven't used them...........................
00:20:47 <ehird> but x and y are undefinered for monadies hwo stupiiiidy
00:20:48 <oklofok> *-ellipsis
00:20:50 <ehird> ah wait
00:20:50 <ehird> it's y
00:20:59 <ehird> er or not
00:21:08 <oklofok> x and y are the args afaik
00:21:26 <oklofok> but it's not that simple
00:21:27 <ehird> id =: 3 : 0
00:21:27 <ehird> y
00:21:28 <ehird> )
00:21:30 <ehird> id 2
00:21:32 <ehird> 2
00:21:34 <ehird> it's y for mony-attic
00:21:40 <oklofok> x fun y
00:21:43 <ehird> yes
00:21:48 <ehird> and (fun y)
00:21:50 <ehird> hmm
00:21:50 <ehird> but
00:21:57 <ehird> calling another fucktion fails
00:22:01 <ehird> say=:1!:2&4
00:22:01 <ehird> sayn=:3:0
00:22:02 <ehird> say y
00:22:04 <ehird> )
00:22:06 <ehird> sayn 'foo'
00:22:07 <oklofok> maybe there should be a language that had sads too
00:22:08 <ehird> gives a valueerror on the y part of say y
00:22:10 <ehird> HOW ODDITY
00:22:22 <ehird> oklofok: the opposite of fun is boringness, duh
00:22:24 <oklofok> although i guess that's technically not a good opposite for fun
00:22:26 <oklofok> yes
00:22:31 <ehird> (boringness x <- x+1)
00:22:33 <oklofok> i was just thinking 3 letters
00:22:38 <ehird> I don't know how that would work but hrm.
00:22:41 <oklofok> but a really long one works just as well
00:22:47 <ehird> maybe like
00:22:57 <ehird> i have no ide
00:22:58 <ehird> a
00:23:06 <ehird> the idea is basically
00:23:08 <oklofok> maybe it's boringness that should be functions
00:23:09 <ehird> anti-do things to the arguments
00:23:14 <oklofok> and fun should be something fun
00:23:14 <ehird> instead of arguments you get unarguments
00:23:17 <ehird> and you undo things to them, see?
00:23:21 <oklofok> ah!
00:23:22 <oklofok> sure sure
00:25:31 <lament> you undo undergarments?
00:25:46 <ehird> yes
00:25:49 <ehird> wait no
00:25:52 <ehird> that's not boringness, that's fun
00:25:53 <ehird> silly
00:32:52 <ehird> oklofok: heh
00:32:54 <ehird> 3:0 is (3:) 0
00:32:57 <ehird> but 3 :0 is 3 : 0
00:33:00 <ehird> and the latter is what you want
00:33:03 <ehird> so infuriating :DD
00:34:50 <oklofok> how so
00:34:58 <oklofok> : is a suffix
00:35:02 <ehird> well yeah
00:35:04 <ehird> still infuriating
00:35:26 <oklofok> well you're the guy who didn't like random numbers for foreigns, so...
00:35:37 <ehird> i serve to live
00:36:34 <ehird> system/extras/util/lab.ijs:output=: [: empty 1!:2 & 2
00:36:38 <ehird> cannot figure out why that works.
00:37:00 <ehird> system/main/conlib.ijs:echo=: 0 0&$ @ (1!:2&2)
00:37:00 <ehird> system/main/conlib.ijs:stdout=: 1!:2&4
00:37:02 <ehird> system/main/conlib.ijs:stderr=: 1!:2&5
00:37:04 <ehird> ah yes.
00:38:09 <ehird> #!/usr/bin/env jconsole
00:38:09 <ehird> echo 'Hello, world!'
00:38:11 <ehird> (2!:55)0
00:38:13 <ehird> ok, that's better
00:39:27 <ehird> system/main/stdlib.ijs:exit=: 2!:55
00:39:28 <ehird> ha
00:39:33 <ehird> #!/usr/bin/env jconsole
00:39:33 <ehird> echo'Hello, world!'
00:39:35 <ehird> exit 0
00:39:41 <ehird> wow
00:39:44 <ehird> if you add a spac
00:39:44 <ehird> e
00:39:46 <ehird> that's valid shell _and_ j
00:39:48 <ehird> Jell!
00:54:10 <ehird> http://www.schneier.com/blog/archives/2009/03/blowfish_on_24_1.html <-- hahaha
01:00:45 <oklofok> wait the algo has a backdoor?
01:00:57 <ehird> no
01:01:03 <ehird> 24 is a stupid tv show
01:01:06 <ehird> fiction
01:01:10 <oklofok> i meant in the show
01:01:12 <ehird> yes
01:01:21 <ehird> i mean they're not exactly technical accuracers are they
01:01:33 <ehird> i love concising things I verb.
01:01:46 <oklofok> if they actually used the term "wavelength", i find that much funnier
01:02:01 <ehird> they did
01:02:03 <oklofok> i don't see why there couldn't be a backdoor in the algo in theory
01:02:08 <ehird> there could
01:02:33 <oklofok> anyway after time travel, hacking is probably my least favorite thing in tv shows
01:02:46 <oklofok> of course, i love watching both; but at the same time they are so goddamn painful to watch
01:02:59 <ehird> I like hitchhikers guide to the galaxy's time travel
01:03:09 <ehird> you can't change the future, because it all just sort of works out.
01:03:18 <ehird> who cares about the butterfly effect if you're not a butterfly.
01:03:24 <ehird> also, there's temporal paradoxes in it
01:03:29 <ehird> except they don't actually do anything.
01:03:42 <ehird> BLATANT DISREGARD FOR TIME hoooooo
01:04:22 <oklofok> i hate all the time travel types
01:05:25 <ehird> wait
01:05:28 <ehird> even qntm's?
01:05:40 <oklofok> wuzat
01:05:50 <ehird> http://qntm.org/?models
01:06:02 <ehird> there's some crazy ass ones
01:07:33 -!- olsner has quit ("Leaving").
01:10:16 -!- Sgeo has joined.
01:28:32 <oklofok> the two timelines interacting stuff i don't remember seeing anywhere
01:29:18 <oklofok> but no i didn't like any of those, i just think the whole idea is incredibly stupid
01:41:08 <ehird> why
01:42:12 <oklofok> you might start by asking why i don't believe einstein is correct about time even being bendable
01:42:17 <ehird> :P
01:42:59 <oklofok> firstly i don't know any physics, secondly i'm a coconut.
01:58:08 <psygnisfive> i feel you should all know
01:58:14 <psygnisfive> that Philip Glass's Pruit Igoe
01:58:18 <psygnisfive> is an incredible song
01:59:21 <Sgeo> Someone thinks I'm a bunch of penguins
01:59:39 <psygnisfive> well, "sgeo" IS italian for "bunch of penguins", you know
01:59:41 <Sgeo> http://www.flickr.com/photos/83024403@N00/3266023863/
02:00:08 <psygnisfive> you know
02:00:17 <psygnisfive> i feel like that's something cory doctorow would write in one of his stories
02:00:42 <psygnisfive> a posthuman who's embodiment is as a half dozen or so penguins
03:32:08 <kerlo> People who "the xkcd guy" can refer to, in order: 1. Randall Munroe. 2. That guy who always wears a hat. 3. Cory Doctorow. 4. That furry.
03:32:29 <kerlo> Except that furry isn't actually related to xkcd in any way.
03:37:35 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
04:02:28 -!- GreaseMonkey has joined.
06:23:10 -!- Sgeo has quit ("Leaving").
06:49:24 -!- Asztal__ has joined.
07:01:59 -!- Asztal has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:31:09 -!- neldoret1 has quit (Read error: 110 (Connection timed out)).
10:09:31 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:37:53 -!- Otrez has joined.
10:38:48 <Otrez> UHAHAHAHAHAHAHA
10:39:21 <Otrez> That was my friend -.-
10:42:42 -!- Otrez has quit (Read error: 104 (Connection reset by peer)).
14:21:56 -!- neldoreth has joined.
14:41:49 -!- Hiato has joined.
15:14:14 <oklofok> o
16:18:39 -!- Hiato has quit ("Leaving.").
16:56:21 -!- ais523 has joined.
17:13:08 -!- Hiato has joined.
17:13:45 -!- asiekierka has joined.
17:13:47 <asiekierka> Hi
17:13:57 <ais523> hi
17:14:15 <asiekierka> What's the current "channel topic" as in, what are you currently talking aout?
17:14:16 <asiekierka> about*
17:14:44 <ais523> there wasn't one
17:15:12 <asiekierka> So uh, what's the current "esolang with interest", as in, what's the popular-esolang-of-the-while?
17:15:24 <asiekierka> currently
17:15:46 <ais523> I was thinking a lot about MiniMAX last night
17:15:58 <ais523> although nobody else knew I was doing that, so it probably hasn't caught on elsewhere yet
17:17:59 <asiekierka> Wow, MiniMAX's intepreter is only 14 bytes
17:18:06 <asiekierka> I think you could pull it off as a compiler
17:18:16 <asiekierka> just by making a compiler appending the MiniMAX code to the interpreter
17:18:17 <asiekierka> :P
17:18:19 <ais523> yes
17:18:24 <ais523> I had that plan too
17:18:29 <asiekierka> The goal is to make it 14 bytes too :P
17:18:39 <asiekierka> Oh wait
17:18:41 <asiekierka> it must be more
17:18:48 <asiekierka> cuz it must be more than the program you're appending
17:18:55 <asiekierka> But try to make it <= 128 bytes
17:19:01 <ais523> well, the main loop of the interp is 8 bytes
17:19:06 <ais523> my actual target was 32
17:19:10 <ais523> to set a new record
17:19:21 <ais523> but I was going for the very shortest main loop I could, so I could use the rest for startup code
17:20:07 <asiekierka> But still, you have 14
17:20:18 <ais523> yes
17:20:20 <asiekierka> for the compiled app stub
17:20:22 <ais523> that's without I/O or anything
17:20:27 <asiekierka> oh
17:20:29 <asiekierka> ...right
17:20:32 <ais523> I have a 32-byte version with I/O somewhere lying around
17:20:39 <ais523> although I've never dared run it, so I don't know if it works
17:21:05 <ais523> (the 14-byte version has I/O in that it reads the program, IIRC; but the actual program can't do I/O)
17:21:42 <asiekierka> You know
17:21:52 <asiekierka> I think you could make the 14-byte version into a floppy disk compiler
17:22:01 <asiekierka> As in, the bootsector loads the data from the floppy disk into the RAM
17:22:05 <asiekierka> and executes the code of MiniMAX
17:22:20 <asiekierka> You can do it with any small-interpreter esolang
17:22:25 <ais523> yes
17:22:25 <asiekierka> or even with any ASM-interpreter esolang
17:22:33 <ais523> what about FALSE?
17:22:46 <asiekierka> It's 1024 bytes of 68000 machine language
17:22:54 <asiekierka> 68000
17:22:57 <asiekierka> not x86
17:23:30 <ais523> ah, ok
17:23:35 <ais523> probably you could translate it
17:23:40 <asiekierka> What about Shelta then? With 512 bytes of code it's impossible to add any code for the bootsector thing, right?
17:23:52 <asiekierka> Well, the trick is to load the program from the floppy disk too
17:24:03 <asiekierka> And I think you could make a 3-language interpreter bootsector
17:24:06 <ais523> you'd need a floppy disk driver
17:24:09 <asiekierka> MiniMAX, MinISCule, Barely
17:24:15 <ais523> but this gives me an idea
17:24:16 <asiekierka> ais523: Make your own simple FS
17:24:23 <ais523> an OS written entirely in esolangs
17:24:23 <asiekierka> for example, 256 numbered files
17:24:27 <ais523> apart from a few bytes of asm
17:24:29 <asiekierka> ais523: THAT WAS MY IDEA!
17:24:38 <ais523> well, it's a good idea then if we both thought of it
17:24:38 <asiekierka> and I made it about a year and a half ago
17:24:43 <ais523> there have been EsoOS plans before
17:24:50 <ais523> but none of them really got anywhere, AFAIK
17:25:17 <asiekierka> Well, I think the EsoOS could consist of a "bootdata" program
17:25:21 <asiekierka> as in, shell + esolang interpreters
17:25:30 <asiekierka> and it'll be a bootdisk for running esolangs
17:25:37 <ais523> this reminds me of suuda
17:25:38 <asiekierka> I have a bootsector BF ASM implementation by my friend
17:25:43 <ais523> which is in my esolangs directory, even though it isn't really
17:25:44 <asiekierka> He made a bootsector executing BF ASM code
17:25:52 <asiekierka> complete with stdin/stdout I/O
17:25:55 <ais523> heh
17:26:05 <ais523> you know of self-extracting executables
17:26:14 <ais523> as in, compressed files with a .exe extension
17:26:26 <ais523> well, suuda creates self-uudecoding executables
17:26:32 <ais523> the resulting executable's entirely plain text
17:28:27 <asiekierka> Actually, that implementation is smaller than 240 bytes
17:28:34 <ais523> I'm not surprised
17:28:35 <asiekierka> 182 bytes with the bootsector code
17:29:27 <asiekierka> The bootsector code is 29 bytes
17:29:36 <ais523> people have written Linux executables for BF
17:29:36 <asiekierka> I think it could be about 155-160 bytes when modified
17:29:41 <ais523> where the entire program fit in the header information
17:29:42 <asiekierka> to be non-bootsector
17:29:45 <ais523> so there's nothing but the header
17:30:12 <asiekierka> So we have ready versions of: BF, Shelta, Barely, MiniMAX, MinISCule
17:30:15 <asiekierka> :D
17:30:50 <ais523> I've never actually run the MiniMAX interp
17:30:51 <asiekierka> The bootsector-specific code is mostly configuring the stack so it MIGHT BE needed
17:30:57 <asiekierka> ais523: you DIDN'T!?
17:30:59 <ais523> I tend to be scared to run programs I've written by hand in machine code
17:31:07 <asiekierka> ais523: Run it in QEMU then
17:31:07 <asiekierka> :P
17:31:11 <asiekierka> That'll NEVER break your PC
17:31:14 <ais523> yep
17:31:35 <asiekierka> actually, I must make myself The Reference of Assembler
17:31:37 <asiekierka> Because basically
17:31:59 <asiekierka> me coding = PC, keyboard, book or references on the desk, some paper (if needed)
17:32:03 <asiekierka> ;P
17:32:12 <asiekierka> I can quickly find information and I use that ability
17:32:14 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
17:33:04 <asiekierka> I need to print myself a book (or just print a stack of paper) containing memory stuff, commands, INT stuff and some other tricks
17:33:19 <asiekierka> a stack of paper hold by something so i can browse it nearly like a book
17:33:57 <asiekierka> So basically, I would need to write a shell, a very simple FS (256 numbered files probably, as in, 00-FF)
17:33:59 <asiekierka> and all
17:34:08 <asiekierka> Basically, there will be the Data Table, which will contain:
17:34:19 <asiekierka> ...er, 256 pointers to different positions on the floppy disk
17:34:48 <asiekierka> While reading, it will jump to the proper spot, read the header (containing a "magic", type and some other stuff) and run the app
17:35:59 <asiekierka> Basically, the first sector is the bootsector, then there's disk data (pointer to the files and some other misc. stuff), then th efiles
17:36:01 <asiekierka> the files*
17:36:08 <asiekierka> The bootsector will execute file 00
17:36:15 <asiekierka> which will always be in ASM
17:36:23 <asiekierka> :)
17:36:31 <asiekierka> what do you think
17:37:20 <asiekierka> And if you need INT information, I will link you to a good webpage in a sec
17:37:43 <asiekierka> or not in a sec
17:37:45 <asiekierka> my PC crashed
17:37:50 <asiekierka> therefore me needeth to reset my PC
17:38:12 -!- asiekierka has quit.
17:41:44 -!- asiekierka has joined.
17:41:45 <asiekierka> back
17:42:17 <asiekierka> http://www.ctyme.com/intr/int.htm - Possibly the best interrupt reference in the world
17:43:05 <ais523> asiekierka: I went and got hold of a DOS 3 user's manual from the uni library
17:43:16 <ais523> or at least, I do whenever I want to do low-level DOS programming
17:43:21 <ais523> I put it back when I'm not using it
17:43:46 <asiekierka> this is Poland
17:44:10 <asiekierka> and the closest manuals we had pre-1989 were translated German ones
17:44:19 <asiekierka> But I may find something
17:44:27 -!- oerjan has joined.
17:47:55 <asiekierka> Basically, I will store the position as sector/cylinder/head
17:47:58 <asiekierka> probably using 2 bytes
17:48:01 <asiekierka> 1 byte will be
17:48:11 <asiekierka> bit 7: head
17:48:21 <asiekierka> bits 6-0: cylinders, of whom there are 80
17:48:34 <asiekierka> second byte: sectors (1...18)
17:49:17 <asiekierka> The sectors only take 5 bytes
17:49:21 <asiekierka> Therefore I have 3 left
17:49:43 <asiekierka> And hopefully, the file data will take exactly 512 bytes
17:49:45 <asiekierka> so exactly one sector
17:50:03 <oerjan> <Otrez> That was my friend -.-
17:50:07 <oerjan> so they all claim.
17:51:19 <asiekierka> Oh, and each file has a magic of 0xA51E
17:51:39 <asiekierka> If I will need any other magic, I may use 0x0523
17:54:13 <oerjan> AnMaster: LOLIWC
17:55:16 <ais523> using more than 2 bytes magic tends to help
17:55:17 <AnMaster> oerjan, I read it hours ago....
17:55:32 <ais523> at least, if you want to distinguish from other files
17:55:33 <asiekierka> Basically, the header format is magic, size in sectors, 1 byte for data information (bit 7 = Secret (not inputtable via shell)?, bit 6 = Read-only?, bits 5-4 = Resered and bits 0-3 = Type
17:55:45 <asiekierka> ais523: I can distinguish from other files
17:55:50 <asiekierka> I have a list of all the positions
17:56:00 <asiekierka> And the magic is just to check if the sector is correct
17:56:04 <ais523> ah, aha
17:56:06 <asiekierka> Cuz every file will be at least 2 sectors
17:56:10 <asiekierka> :P
17:56:18 <asiekierka> So i use 4 out of 512 bytes
17:56:18 <ais523> well, 2 bytes could still happen by coincidence
17:56:21 <oerjan> AnMaster: good i didn't bother spoiling it, then
17:56:53 <asiekierka> The magic is now 0xA51E + file number (00-FF)
17:56:56 -!- FireFly has joined.
17:57:02 <asiekierka> So positioning on the wrong file is out too
17:57:36 * oerjan hands FireFly a free non-swat coupon
17:57:42 <oerjan> would you like to cash it now?
17:58:05 <FireFly> I'll keep it for now
17:58:10 <oerjan> i see
17:58:17 * oerjan swats FireFly -----###
17:58:19 <FireFly> Inbef
17:58:21 <FireFly> >>_>
17:58:24 <FireFly> :(
17:58:37 <oerjan> huh?
17:58:54 <asiekierka> Filled 37 bytes
17:58:55 <FireFly> I was going to write "Inbefore: :("
17:59:02 <asiekierka> by adding 32 chars reserved for name
17:59:09 <FireFly> Stop being fast
17:59:19 <asiekierka> if the size is 0, then it shows the number, but the reserved place is still there
17:59:34 <oerjan> i was fast? i even had an intermediate comment.
17:59:54 <FireFly> I started writing after "I see"
17:59:56 <FireFly> AND
18:00:03 <asiekierka> Oh, and I added another 2-byte magic at the end
18:00:04 <FireFly> I'm new to Dvorak
18:00:07 <asiekierka> 0x0523 - File number
18:00:27 <oerjan> well obviously your next comment was splattered across the screen, the reason should be obvious
18:00:58 <asiekierka> The current filesystem allows for 256 files, 32K each
18:01:00 <FireFly> :D
18:01:04 <Deewiant> asiekierka: You're here! I have issues with DOBELA.
18:01:08 <asiekierka> ...
18:01:10 <asiekierka> Are you serious?
18:01:14 <Deewiant> Yes, very.
18:01:23 <asiekierka> Get it on!
18:01:30 <Deewiant> Well, as serious as can be when esolangs are concerned. :-P
18:01:43 <Deewiant> asiekierka: So, basically, the spec sucks.
18:01:51 <asiekierka> Why?
18:01:54 <asiekierka> What's wrong with it?
18:01:56 <asiekierka> Try to be more specific
18:02:11 <Deewiant> I'm trying to implement and I have about 20 questions here, so here we go.
18:02:23 <Deewiant> asiekierka: For starters: what happens with non-command chars?
18:02:24 <asiekierka> Ok
18:02:25 <asiekierka> Oh
18:02:40 <asiekierka> ...non-command chars? I think they would be ignored, as in, wiped when running
18:02:41 <Deewiant> asiekierka: I.e. if a dot hits one, does anything happen? Can they be considered blank spaces when loading the file, or what?
18:02:46 <asiekierka> Blank spaces.
18:02:49 <Deewiant> Okay.
18:03:02 -!- MigoMipo has joined.
18:03:04 <asiekierka> EOF is the Linux one if anything
18:03:12 <asiekierka> now go on with other questions
18:03:22 <Deewiant> asiekierka: BTW, are you going to write this stuff down or should/can I add stuff to the wiki page
18:03:27 <asiekierka> Yes you can
18:03:36 <Deewiant> Alright, I probably will.
18:03:40 <asiekierka> Just increment the spec number by 1 and add (modified by asiekierka and Deewiant)
18:03:49 <asiekierka> and then you're free tog o
18:03:50 <asiekierka> to go*
18:04:05 <Deewiant> asiekierka: Next: what happens when a dot hits =? Does it bounce off like from a #, reflect, go through, what?
18:04:34 <asiekierka> lemme look at my wiki page...
18:04:34 <Deewiant> I.e. if on cycle 1 it collides with =, where is it on cycle 2
18:04:43 <asiekierka> goes through on the other side
18:04:45 <asiekierka> but the = is still there
18:04:45 <Deewiant> Does it start moving from on top of the =
18:04:50 <Deewiant> Or does it start from behind the =
18:04:57 <asiekierka> i already said
18:05:01 <asiekierka> as in
18:05:02 <asiekierka> cycle 1:
18:05:03 <Deewiant> Yes, but there's a timing issue her
18:05:04 <Deewiant> +e
18:05:06 <asiekierka> .=
18:05:07 <asiekierka> cycle 2:
18:05:08 <asiekierka> =.
18:05:15 <Deewiant> Okay, so it sort of jumps over it.
18:05:16 <asiekierka> Yep
18:05:23 <asiekierka> That's correct
18:05:37 <Deewiant> Then: what happens to a dot that hits _?
18:05:45 <Deewiant> Jumps over it again?
18:05:56 <Deewiant> Or destroyed with no effect?
18:06:04 <asiekierka> Destroyed with no effect.
18:06:23 <ais523> hmm... would it be possible to write a DOBELA interp in ALPACA + a preprocessor, I wonder?
18:06:31 <asiekierka> I think possibly
18:06:43 <asiekierka> Maybe there will need to be slight spec changes
18:06:47 <asiekierka> but it should be (mostly) possible
18:07:01 <Deewiant> 4. Is $ supposed to buffer until either the program ends or a ^ gets hit south?
18:07:22 <asiekierka> When ^ gets hit south
18:07:31 <asiekierka> it outputs all and clears itself
18:07:51 <asiekierka> so yep
18:07:53 <asiekierka> until ^ gets hit south
18:07:56 <asiekierka> but then it just clears itself
18:07:57 <Deewiant> So nothing is output until then
18:08:00 <asiekierka> Yeppers
18:08:15 <Deewiant> 5. What's the default state of |?
18:08:38 <asiekierka> It destroys dots.
18:08:41 <Deewiant> I.e. when a dot hits it east/west do they go up or down by default
18:08:43 <Deewiant> O_o
18:08:49 <asiekierka> ...Or no
18:08:49 <asiekierka> wait
18:08:53 <asiekierka> they treat it like a wall
18:08:59 <asiekierka> As in, bounce off based on the dot's whims
18:09:09 <Deewiant> Ookay
18:09:16 <asiekierka> Setting it makes both dots bounce to the same direction
18:09:18 <asiekierka> which is useful
18:09:36 <asiekierka> I'm going to go to 10. and take a break from my PC
18:09:45 <Deewiant> While you're gone, think about v
18:09:51 <asiekierka> oh
18:09:54 <Deewiant> I basically don't get it at all
18:09:56 <asiekierka> what do I mean by outputting?
18:09:58 <asiekierka> Basically
18:09:59 <Deewiant> Yes
18:10:14 <asiekierka> The dot hops over, but it's changed into whatever comes from the FIFO
18:10:25 <asiekierka> Except if hit south, then the dot is destroyed
18:10:30 <Deewiant> Hops over? It says dots are destroyed always
18:10:39 <asiekierka> ...
18:10:45 <asiekierka> Well, I think i just explained it wrongly
18:10:55 <Deewiant> And okay, but what if there are _
18:11:05 <asiekierka> This takes dots from stdin
18:11:08 <asiekierka> as in, _ does
18:11:13 <asiekierka> take dots from stdin
18:11:14 <Deewiant> Okay so what is the FIFO
18:11:21 <asiekierka> DOBELA's stack
18:11:22 <Deewiant> Just a queue in memory?
18:11:23 <asiekierka> Yep
18:11:26 <asiekierka> For stdout
18:11:47 <Deewiant> Right right, okay
18:12:05 <asiekierka> Cat wouldn't sadly work cuz it never clears and outputs the FIFO
18:12:10 <asiekierka> :P
18:12:13 <asiekierka> i mean
18:12:14 <asiekierka> won't work
18:12:17 <Deewiant> Yeah, I was going to ask that next
18:12:26 <Deewiant> Should the FIFO be flushed at end of program or not
18:12:35 <asiekierka> yep
18:12:43 <Deewiant> So cat does work after all? :-P
18:12:43 <asiekierka> But you can add a verbose switch
18:12:48 <asiekierka> wait
18:12:49 <asiekierka> flushed?
18:12:53 <asiekierka> By flushed i thought cleared
18:12:54 <Deewiant> I meant, to stdout
18:12:59 <asiekierka> As in, it clears the FIFO upon end
18:13:04 <asiekierka> except if you add a -v switch
18:13:04 <Deewiant> Well, no point in clearing it if the program ends anyway :-P
18:13:06 <asiekierka> then it outputs it
18:13:10 <asiekierka> in binary
18:13:23 <asiekierka> Useful for debuggingeth
18:13:33 <Deewiant> Then, : and _
18:13:39 <Deewiant> Do they output on the first or second cycle?
18:13:40 -!- BeholdMyGlory has joined.
18:13:47 <Deewiant> Every second, yes, but when is the first
18:14:03 <asiekierka> _ outputs every cycle it gets a keystroke
18:14:09 <asiekierka> and : starts on the second cycle
18:14:30 <asiekierka> Well, _ has a buffer (sort of)
18:14:30 <Deewiant> With buffered input _ has no choice in the matter
18:14:38 <asiekierka> and outputs 1 bit from the buffer if it has one
18:14:40 <Deewiant> I mean, stdin is buffered on the OS's side
18:14:40 <asiekierka> every cycle
18:14:46 <asiekierka> Oh
18:14:58 <asiekierka> Basically, if it has a bit from stdin, it outputs it
18:15:04 <asiekierka> If it doesn't have any, it does nothing
18:15:06 <Deewiant> Yeah but if you have say just a _
18:15:16 <Deewiant> Then does it ask for input from the OS on the first or second cycle
18:15:27 <asiekierka> I think the first
18:15:33 <Deewiant> : on second, _ on first?
18:15:37 <asiekierka> yep
18:15:40 <asiekierka> is that a wrong idea?
18:15:40 <Deewiant> Okay
18:15:46 <asiekierka> seems not
18:15:48 <Deewiant> Well, I don't think it matters
18:15:48 <asiekierka> but go on
18:15:55 <Deewiant> It's just something that has to be known :-P
18:16:06 <asiekierka> also, DOBELA operates on bits
18:16:09 <asiekierka> called "dots"
18:16:11 <asiekierka> but go on
18:16:11 <Deewiant> Alright, I think this is number 7 or 8: what do multiple _ do?
18:16:20 <asiekierka> Hmm... didn't think of that
18:16:30 <asiekierka> I think a fair one will be for them to do it sequentially, top-left
18:16:43 <asiekierka> Like, if there's "_ _ _" in the first row and " _ _ " in the second
18:16:45 <Deewiant> Number 10 would have been "what exactly is topleft"
18:16:50 <asiekierka> then the top-left _ outputs first
18:16:54 <asiekierka> then the one next to it
18:16:58 <asiekierka> until all did output something
18:16:59 <Deewiant> Alright
18:17:01 <asiekierka> then it scans the next row
18:17:14 <asiekierka> I mean, only one _ outputs per cycle
18:17:29 <Deewiant> Oh, that's interesting.
18:17:30 <asiekierka> And if there's more than one _, they go sequentially every cycle
18:17:36 <asiekierka> ignoring the "every other cycle" thing
18:17:40 <asiekierka> So if there are two _'s
18:17:45 -!- Mony has joined.
18:17:46 <asiekierka> then the first one outputs on cycle 1
18:17:50 <asiekierka> then the second on cycle 2
18:17:54 <Deewiant> So the 'every other cycle' rule only applies if there's one _?
18:17:55 <asiekierka> then the first on cycle 3, etc...
18:17:56 <asiekierka> Yep
18:18:08 <asiekierka> Weird design but I wanted it to be like that
18:18:13 <Deewiant> Heh
18:18:15 <asiekierka> So now Number 8 or 9 or 10 or whatever
18:18:23 <asiekierka> what about Number Banana
18:18:24 <Deewiant> Yeah, whatever: north-south collision isn't specced
18:18:30 <Deewiant> East-west you have
18:18:38 <asiekierka> If there are two dots only
18:18:43 <asiekierka> it works exactly like east-west
18:18:49 <Deewiant> Yes, but 0/0 and 1/1 are different
18:18:50 <asiekierka> only rotated 90 degrees
18:18:53 <Deewiant> In which direction? :-)
18:18:58 <Deewiant> Clockwise or counterclockwise
18:19:00 <asiekierka> Clockwise
18:19:03 <Deewiant> Alright
18:19:06 <asiekierka> as in
18:19:11 <asiekierka> the stuff created is
18:19:16 <Deewiant> 0/0 leads to:
18:19:17 <Deewiant> #
18:19:18 <Deewiant>
18:19:20 <asiekierka> yep
18:19:22 <asiekierka> and 1/1 leads to
18:19:25 <asiekierka> #
18:19:31 <asiekierka> oh wait
18:19:31 <Deewiant> You failed
18:19:33 <Deewiant>
18:19:33 <asiekierka> i know
18:19:34 <Deewiant> #
18:19:35 <asiekierka> ok
18:19:39 <Mony> plop
18:19:39 <asiekierka> so let it go on the next Q
18:19:43 <asiekierka> plop
18:19:50 <asiekierka> continue, D-wiant
18:19:53 <asiekierka> i mean
18:19:54 <asiekierka> Deewiant
18:19:55 <Deewiant> asiekierka: Multi-dot collision, I basically don't get how it should work
18:20:03 <asiekierka> Just like the _'s are scanned
18:20:13 <asiekierka> Or wait
18:20:16 <Deewiant> So the topleftmost one moves first, then collides with whatever
18:20:18 <asiekierka> First the east-west collisions
18:20:22 <asiekierka> then the north-south collisions
18:20:29 <Deewiant> For instance your example
18:20:34 <asiekierka> the east-west ones are scanned top-down
18:20:36 <Deewiant> V
18:20:37 <Deewiant> Darn
18:20:41 <Deewiant> V
18:20:43 <Deewiant> ->..
18:20:48 <Deewiant> .<-
18:20:49 <asiekierka> and north-south are scanned left-right
18:20:58 <Deewiant> If we have that, to me it seems like there's no collision
18:21:02 <asiekierka> first east-west, so the 2 .. dots would collide
18:21:05 <asiekierka> then only 1 . dot is left
18:21:09 <asiekierka> so no collisions left
18:21:14 <asiekierka> and the . dot does NOT move
18:21:19 <asiekierka> because it was blocked earlier
18:21:29 <asiekierka> :P
18:21:29 <Deewiant> So, uh, what?
18:21:31 <asiekierka> So uh
18:21:32 <Deewiant> The topleft . moves
18:21:34 <asiekierka> with my example
18:21:37 <Deewiant> It hits the topright one
18:21:42 <asiekierka> No, it's different
18:21:46 <asiekierka> If it detects a collision
18:21:48 <asiekierka> anywhere
18:21:54 <asiekierka> Then it scans the board for east-west collisions
18:21:57 <asiekierka> top to bottom
18:22:00 <Deewiant> O_o
18:22:02 <asiekierka> And it removes them
18:22:06 <Deewiant> Inefficient much? :-P
18:22:09 <asiekierka> Then it scans the board for north-south collisions
18:22:11 <asiekierka> left to right
18:22:13 <asiekierka> and removes them too
18:22:18 <Deewiant> So what about that one
18:22:23 <Deewiant> There are no east/west or north/south collisions
18:22:29 <asiekierka> but?
18:22:40 <asiekierka> Well, I care about my idea
18:22:43 <Deewiant> To me it seems like, if they all move at the same time, we just have the next state be:
18:22:49 <asiekierka> that some combos create walls
18:22:51 <Deewiant> .
18:22:52 <asiekierka> and some don't
18:22:52 <Deewiant> ..
18:22:55 <Deewiant> Darn
18:22:59 <Deewiant> I meant
18:23:00 <Deewiant> .
18:23:00 <Deewiant> ..
18:23:07 <asiekierka> well
18:23:13 <asiekierka> oh wait
18:23:15 <Deewiant> The topleft one moved east, the topright one moved south, the lower right one moved west
18:23:18 <Deewiant> So it's all OK
18:23:21 <asiekierka> Well
18:23:27 <Deewiant> At the end of it, no two are on top of each other
18:23:52 <asiekierka> What about "if more than 2 dots collide (as in, collide, not what I did there), all are bounced"
18:23:53 <asiekierka> so for example
18:23:58 <asiekierka> V
18:23:59 <Deewiant> I guess this cuts back to a bigger issue
18:24:01 <asiekierka> ->..
18:24:07 <asiekierka> .
18:24:09 <asiekierka> "
18:24:13 <Deewiant> Which is: how exactly are moves timed
18:24:15 <asiekierka> er, ^
18:24:27 -!- neldoreth has quit ("leaving").
18:24:31 <asiekierka> Well
18:24:31 -!- neldoreth has joined.
18:24:36 <asiekierka> I think they should be handled top-left
18:24:55 <asiekierka> If a dot detects a collision
18:25:01 <asiekierka> it handles it with the exceptions
18:25:05 <asiekierka> no multiple collision :P
18:25:14 <asiekierka> it's handled all at once :)
18:25:18 <asiekierka> and no prob
18:25:30 <asiekierka> so my example:
18:25:30 <Deewiant> Yeah, but that still doesn't say how they move (I don't think)
18:25:32 <asiekierka> V
18:25:35 <asiekierka> ->..
18:25:39 <asiekierka> .<-
18:25:43 <asiekierka> will be on the next cycle
18:25:53 <asiekierka> .<-
18:26:01 <asiekierka> i know i failed
18:26:05 <Deewiant> But, uh
18:26:12 <Deewiant> Aren't 1/1 supposed to create a wall?
18:26:18 <Deewiant> So
18:26:21 <asiekierka> well, yes they are
18:26:25 <Deewiant> #
18:26:28 <Deewiant> .<-
18:26:31 <asiekierka> oh, right
18:26:31 <asiekierka> yep
18:26:36 <asiekierka> that's how it will work
18:26:43 <asiekierka> get it or not
18:26:56 <FireFly> "Program ends when there is no more dots moving." <-- So shorter cat example would die in gen 2, since inputs are only spitted out every other generation?
18:26:59 <Deewiant> That's still not 100% clear with regard to what you said about detecting all collisions at once
18:27:03 <Deewiant> FireFly: Shush, that's question 13
18:27:07 <FireFly> :D
18:27:20 <asiekierka> Deewiant: I'm changing the spec
18:27:38 <asiekierka> Firefly: Uh, no more dots moving AND no _'s
18:27:42 <asiekierka> change it to that
18:27:51 <Deewiant> asiekierka: So if a dot has participated in a collision, it won't collide with anything else any more
18:27:58 <Deewiant> I think that disambiguates it completely
18:28:11 <asiekierka> Well, if it patricipated in a collision, the exception is carried out
18:28:16 <asiekierka> so it changes either into a wall or nothing
18:28:19 <asiekierka> therefore the dot ceases to exist
18:28:20 <FireFly> Hm, what about multiple _'s then?
18:28:25 <asiekierka> I explained that!
18:28:26 <Deewiant> FireFly: I asked that already
18:28:30 <FireFly> Ah
18:28:39 <asiekierka> The rules are a mess of a mess of King the Mess
18:28:47 <asiekierka> but go on, Deewiant
18:28:49 <Deewiant> asiekierka: So basically the dots are instantaneously destroyed/walled half-way through an iteration
18:28:51 <asiekierka> I want to finish this
18:28:56 <asiekierka> asiekierka: Yeppers
18:28:57 <asiekierka> i mean
18:28:59 <Deewiant> :-D
18:29:00 <asiekierka> Deewiant: Yeppers
18:29:32 <asiekierka> More Q's?
18:29:38 <Deewiant> asiekierka: Simplish question: what does 'ASCII files' actually mean? Is non-ASCII an error? (You probably just meant that #,.= etc are ASCII and not EBCDIC)
18:29:41 <Deewiant> Yeah, a few
18:29:52 <asiekierka> ASCII files as in not Unicode
18:29:57 <asiekierka> but if you want
18:30:00 <asiekierka> you can add Unicode support
18:30:03 <asiekierka> but you don't need to
18:30:17 <asiekierka> This is not a rule but more of a "Unicode not needed"
18:30:18 <Deewiant> Yeah, but since the only commands are all ASCII anyway
18:30:22 <asiekierka> yep
18:30:30 <asiekierka> but some Japanese nerd might want Unicode for comments
18:30:31 <Deewiant> It doesn't really make a difference whether you say "not Unicode" or not :-P
18:30:39 <asiekierka> so ok
18:30:40 <asiekierka> go go on
18:30:51 <Deewiant> Ah, okay, so you're just saying that impls don't need to support anything beyond ASCII
18:31:01 <asiekierka> yep
18:31:06 <asiekierka> they don't even need to support extended ascii
18:31:08 <Deewiant> Alright, few longer questions now
18:31:08 <asiekierka> just chars 0-127
18:31:18 <Deewiant> IO is basically binary
18:31:19 <asiekierka> Oh, and I/O is still handled as ASCII
18:31:21 <asiekierka> Deewiant: Yep
18:31:43 <Deewiant> So what happens if the OS provides IO which can't be done at bit granularity
18:31:51 <asiekierka> As in, it sends bytes?
18:31:55 <Deewiant> Yes
18:32:02 <asiekierka> Then the bit separation must be carried out by the interpreter
18:32:06 <Deewiant> Yes
18:32:19 <Deewiant> So then, what if the FIFO contains a single 1
18:32:23 <Deewiant> And is flushed to stdout
18:32:32 <Deewiant> Is that 0b10000000 or 0b00000001
18:32:37 <Deewiant> Is that system-dependent?
18:32:40 <asiekierka> 0b00000001
18:32:51 <Deewiant> What about on big-endian machines?
18:33:03 <asiekierka> Well, it should be 0x01, whatever the binary result is
18:33:24 <asiekierka> as in
18:33:26 <asiekierka> a single 1
18:33:29 <asiekierka> should be output as 0x01
18:33:30 <Deewiant> So basically a DOBELA program always sees a little-endian world
18:33:35 <asiekierka> Probably
18:33:46 <Deewiant> (I think. Or big-endian. Whatever.)
18:33:48 <asiekierka> Well
18:33:59 <asiekierka> I think it just inputs data converted to little-endian
18:34:07 <asiekierka> and outputs data converted from little-endian to whatever the OS needs
18:34:29 <Deewiant> Yeah, that's basically what I meant
18:34:34 <asiekierka> ok
18:34:36 <asiekierka> how much more
18:34:37 <Deewiant> Alright, then what FireFly said earlier
18:34:41 <Deewiant> Just three
18:34:43 <Deewiant> Including this one
18:34:43 <asiekierka> ok
18:34:44 <asiekierka> go on
18:34:54 <asiekierka> quote what firefly said earlier
18:34:59 <Deewiant> Although I guess you responded to that already
18:35:04 <Deewiant> About program ending when there are no more dots
18:35:10 <asiekierka> <asiekierka> Firefly: Uh, no more dots moving AND no _'s
18:35:24 <Deewiant> And to clarify, I guess you mean that the program runs as long as _ has not hit EOF
18:35:25 <asiekierka> So if the program has no _'s, the program end when there are no more dots moving
18:35:33 <FireFly> I guess you'd have to include :'s too?
18:35:46 <Deewiant> No, you don't have to
18:35:49 <asiekierka> Also
18:35:51 <Deewiant> You can, though :-P
18:35:54 <Deewiant> asiekierka: ?
18:36:05 <asiekierka> if the program has _'s, program ends when 0x00 is send via the FIFO
18:36:22 <asiekierka> sent*
18:36:23 <Deewiant> So, what?
18:36:26 <asiekierka> As in
18:36:30 <asiekierka> you clear the FIFO
18:36:36 <asiekierka> so it contains nothing
18:36:40 <asiekierka> Outputting it, it appends the zeros
18:36:42 <asiekierka> so it's 0x00
18:36:53 <asiekierka> And if 0x00 is detected by the outputting mechanism
18:36:55 <asiekierka> the program ends
18:37:02 <Deewiant> That seems awfully limiting
18:37:04 <asiekierka> no matter if there's no _'s or there are _'s
18:37:08 <asiekierka> well, ok
18:37:12 <Deewiant> Since now a DOBELA program can't output 0x00
18:37:21 <asiekierka> Why should any program output 0x00 anyway
18:37:27 <Deewiant> Binary files? They do exist
18:37:47 <FireFly> It could be nice for compilers
18:37:49 <Deewiant> E.g. you make a JPG encoder in DOBELA
18:37:50 <Deewiant> Or whatever
18:37:53 <asiekierka> oh
18:37:59 <asiekierka> So, any proposals?
18:38:05 <Deewiant> asiekierka: I think it just makes sense that the conditions are: no dots, and _ has not hit EOF
18:38:11 <asiekierka> Well
18:38:16 <asiekierka> Oh
18:38:19 <asiekierka> it can work
18:38:27 <asiekierka> So now
18:38:29 <asiekierka> another question
18:38:35 <asiekierka> I think 1 or 2 left
18:38:38 <Deewiant> Do dots conceptually carry on moving forever?
18:38:43 <Deewiant> Meaning
18:38:49 <Deewiant> If you have a dot go off the edge of the original file
18:38:56 <Deewiant> Is it an infinite loop since that dot lives forever
18:38:59 <Deewiant> Or is it destroyed
18:39:05 <asiekierka> Well, this is interpreter-dependent
18:39:13 <asiekierka> But the board size must be a minimum of 256x256
18:39:13 <Deewiant> How so
18:39:19 <Deewiant> Yes, but
18:39:25 <Deewiant> Interpreter supported size or not
18:39:30 <asiekierka> as in, if the TXT file is <256x256, the board is 256x256
18:39:32 <Deewiant> If a dot goes off the edge of the original file
18:39:39 <Deewiant> It doesn't matter what the board size is
18:39:48 <Deewiant> Since dots only matter if they collide with something
18:39:56 <asiekierka> It is destroyed
18:40:05 <Deewiant> asiekierka: If a dot goes off a 32x32 TXT file, it is gone for all practical purposes
18:40:12 <Deewiant> The only difference is the concept
18:40:18 <Deewiant> Does it live forever in the void or not :-)
18:40:35 <Deewiant> So if it's destroyed, that means it dies, okay
18:40:39 <Deewiant> Last question
18:40:40 <asiekierka> well, no interpreter supported size then :P
18:40:50 <Deewiant> asiekierka: Yeah, since it doesn't really matter, only as far as can it load the orig file
18:40:55 <Deewiant> Last q
18:40:56 <Deewiant> _
18:40:57 <Deewiant> #
18:40:59 <Deewiant> What happens
18:41:09 <Deewiant> (Equally well .=# or whatever)
18:41:27 <FireFly> Hm
18:41:29 <Deewiant> asiekierka: Can the dot be superimposed over the _ or = there, or what?
18:41:40 <asiekierka> Well
18:41:45 <asiekierka> the dot needs an empty space to be output
18:41:48 <asiekierka> so if this happens
18:41:50 <asiekierka> nothing is output ever
18:41:53 <asiekierka> from that _
18:41:54 <asiekierka> it's ignored
18:41:57 <asiekierka> :P
18:41:58 <Deewiant> So what about .=#
18:42:01 <FireFly> The spec never says that the original (hardcoded) dots should move east?
18:42:05 <Deewiant> FireFly: yes
18:42:20 <Deewiant> asiekierka: .=# ?
18:42:21 <asiekierka> The dot is destroyed too
18:42:26 <asiekierka> or no
18:42:27 <asiekierka> no no noo
18:42:32 <asiekierka> It bounces off
18:42:33 <Deewiant> :-D
18:42:34 <asiekierka> changed
18:42:37 <asiekierka> as in
18:42:38 <asiekierka> cycle 1:
18:42:42 <asiekierka> .=#
18:42:43 <asiekierka> cycle 2
18:42:45 <asiekierka> ,=#
18:42:46 <asiekierka> cycle 3
18:42:54 <asiekierka> =# (the dot moved west, offscreen)
18:42:56 <Deewiant> Ookay
18:43:02 <Deewiant> So for =# it bounces
18:43:04 <asiekierka> yep
18:43:07 <Deewiant> For _# it just dies
18:43:13 <FireFly> Crazy :D
18:43:15 <Deewiant> What about v#
18:43:15 <asiekierka> yep
18:43:18 <asiekierka> v#
18:43:18 <Deewiant> And :#
18:43:20 <asiekierka> wait
18:43:21 <asiekierka> waaaiiit
18:43:31 <Deewiant> asiekierka: I think making this consistent would be a good idea :-P
18:43:35 <Deewiant> asiekierka: I.e. one rule covers all
18:43:43 <Deewiant> (Destruction would be fine IMO)
18:44:01 <asiekierka> Well, = is an exception since it's pretty much one of the most important parts of a DOBELA program
18:44:03 <Deewiant> I have to go now myself, this isn't important so you can answer later ->
18:44:03 <asiekierka> in all other cases
18:44:05 <asiekierka> destroyed
18:44:09 <asiekierka> so, done
18:44:13 <Deewiant> Why exception?
18:44:18 <Deewiant> Whatever, but seems silly
18:44:24 <Deewiant> Anyhoo, gone now
18:44:25 <asiekierka> ok
18:44:26 <FireFly> Ah, now I found the default direction
18:44:26 <asiekierka> bye
18:44:48 <asiekierka> yep
18:44:51 <asiekierka> they move east by default
18:44:58 <asiekierka> so if the TXT file already contains a dot
18:45:00 <asiekierka> it moves east
18:45:06 <FireFly> Yeah
18:45:08 <FireFly> Um
18:45:09 <asiekierka> until it bounces off something or whatever
18:45:42 <FireFly> Wait, wouldn't ".." turn into " #" first gen?
18:45:55 <asiekierka> yep
18:46:00 <asiekierka> it is still turned into that
18:46:07 <FireFly> ,.,,.,,,,..,,.,.,..,..,,,..,..,,,..,....,,.,,,,.,,,,.,., $
18:46:10 <FireFly> = Hello!
18:46:18 <asiekierka> Well, in the FIFO
18:46:25 <asiekierka> cuz it doesn't yet have a generator to output stuff
18:46:30 <asiekierka> and even then, it can't delay dots
18:46:38 <asiekierka> But I can!
18:46:41 <asiekierka> manually
18:46:45 <FireFly> Hm
18:47:03 <asiekierka> Oh well
18:47:04 <asiekierka> gotta go
18:47:06 -!- asiekierka has changed nick to asie[away].
18:47:15 <FireFly> I'll enjoy playing around with this some day
18:47:19 <FireFly> Okay
18:47:24 <FireFly> Me too, ->
19:02:54 <FireFly> <-
19:03:43 <asie[away]> what do these arrows mean?
19:05:24 <FireFly> -> = away
19:05:44 <ais523> and <- means back
19:05:44 <FireFly> Or, away from nick = from computer
19:08:55 <Deewiant> FireFly: I realized that about 3 minutes after I left; that 'Hello!' program can't possibly work with the collision semantics he described
19:09:09 <asie[away]> Me too
19:09:19 <Deewiant> Hey, you're supposed to be [away]
19:09:20 <asie[away]> It would need spaces after each dot
19:09:24 <FireFly> :D
19:09:27 <asie[away]> Deewiant: I'm only here for a short period of time
19:09:32 <asie[away]> too short to change the ncik
19:09:33 <Deewiant> asie[away]: So you think that that behaviour is still preferable?
19:09:36 <asie[away]> nick*
19:09:38 <FireFly> [i=dontbanm
19:09:52 <asie[away]> Well, this was for another channel
19:09:56 <asie[away]> with a bunch of jerks
19:10:03 <asie[away]> that do insane stuff for insane reasons
19:10:06 <asie[away]> banned me for nothing
19:10:14 <Deewiant> I.e. that ' ..' is ' #' if they're moving east but it's '.. ' if they're moving west
19:10:20 <FireFly> Sounds evil
19:10:23 <Deewiant> It seems awfully inconsistent to me
19:10:29 <asie[away]> Well, no
19:10:41 <asie[away]> The "collision" works only if they both move in opposite directions
19:10:48 <asie[away]> If they move in the same direction, they just move
19:10:55 <Deewiant> By opposite do you mean different
19:10:58 <Deewiant> Or opposite
19:11:00 <asie[away]> as in
19:11:04 <asie[away]> one dot left and the other right
19:11:07 <FireFly> And if >v
19:11:09 <asie[away]> one dot north and the other south
19:11:18 <Deewiant> asie[away]: You're contradicting what you said earlier
19:11:26 <asie[away]> I need to change the specs
19:11:38 <Deewiant> 2009-03-20 19:25:31 ( asiekierka) V
19:11:39 <Deewiant> 2009-03-20 19:25:35 ( asiekierka) ->..
19:11:39 <Deewiant> 2009-03-20 19:25:38 ( asiekierka) .<-
19:11:39 <Deewiant> 2009-03-20 19:25:42 ( asiekierka) will be on the next cycle
19:11:39 <Deewiant> 2009-03-20 19:25:53 ( asiekierka) .<-
19:11:41 <FireFly> Eg. one to the right, one downwards
19:11:44 <Deewiant> asie[away]: That's what you said earlier
19:11:47 <asie[away]> Well, i'm changing the specs
19:11:48 <asie[away]> I said
19:11:50 <asie[away]> Now it'll be
19:11:57 <Deewiant> Now it'll be what I said? :-)
19:11:57 <FireFly> All right
19:11:57 <asie[away]> the left-moving dot moves on cycle 1
19:12:02 <asie[away]> then the south-moving dot on cycle 2
19:12:07 <asie[away]> and the right-moving dot on cycle 3
19:12:08 <Deewiant> Yeah, so no collision
19:12:11 <Deewiant> And it ends up as:
19:12:11 <asie[away]> yep
19:12:13 <Deewiant> .
19:12:14 <Deewiant> ..
19:12:18 <Deewiant> Okay, good
19:12:18 <asie[away]> except if something happens like this:
19:12:22 <asie[away]> "->..<-"
19:12:24 <asie[away]> then a collision happens
19:12:28 <Deewiant> Yay
19:12:33 <Deewiant> That's what I've already implemented
19:12:38 <Deewiant> So I won't have to change it ;-)
19:12:41 <asie[away]> yay
19:13:05 <Deewiant> So then there's an additional question though
19:13:13 <Deewiant> ->. .<-
19:13:16 <Deewiant> .
19:13:17 <Deewiant> Darn
19:13:19 <Deewiant> Anyway
19:13:25 <Deewiant> Lower dot is also moving to the same point, north
19:13:28 <Deewiant> What happens?
19:14:01 <asie[away]> Well, then the collision "->. .<-" is first carried out
19:14:07 <asie[away]> :P
19:14:17 <Deewiant> This makes no sense :-P
19:14:25 <asie[away]> priority:
19:14:27 <asie[away]> 1) collisions
19:14:28 <Deewiant> You have totally arbitrary different rules for different situations >_<
19:14:29 <asie[away]> 2) being blocked)
19:14:35 <asie[away]> 3) moving
19:14:42 <asie[away]> So if there is a collision, it's carried out
19:14:48 <asie[away]> if not and a dot is blocked, it doesn't move
19:15:06 <asie[away]> and if the dot is not colliding nor blocked, it just moves in whatever direction it should.
19:15:07 <Deewiant> Previous example was a collision of 3 dots
19:15:17 <asie[away]> I changed the rules
19:15:20 <Deewiant> They all move simultaneously
19:15:30 <asie[away]> A "collision" is when two dots hit that are moving in opposite directions
19:15:41 <Deewiant> Aha
19:15:41 <asie[away]> and -> and ^ is not opposite
19:15:44 <Deewiant> So what happens
19:15:46 <asie[away]> So first collisions
19:15:47 <Deewiant> ->.
19:15:49 <Deewiant> .
19:15:50 <Deewiant> ^
19:15:54 <FireFly> [19:14:31] <Deewiant> You have totally arbitrary different rules for different situations >_<
19:15:55 <Deewiant> Er crap
19:15:59 <asie[away]> uh
19:16:00 <Deewiant> ->.
19:16:00 <asie[away]> wait
19:16:02 <Deewiant> .
19:16:03 <Deewiant> ^
19:16:04 <Deewiant> That one
19:16:07 <Deewiant> What happens
19:16:19 <FireFly> Requires an asie~ platform for the intp
19:16:21 <asie[away]> You know how i said scanning is topleft?
19:16:24 <asie[away]> ->.
19:16:27 <asie[away]> .
19:16:29 <asie[away]> ^
19:16:31 <asie[away]> is cycle 2
19:16:31 <Deewiant> Yes, and you've contradicted that twice now
19:16:33 <asie[away]> cycle 3 is
19:16:37 <asie[away]> ->.
19:16:40 <asie[away]> .
19:16:42 <asie[away]> ^
19:16:44 <asie[away]> then cycle 4
19:16:45 <Deewiant> Er what?
19:16:52 <Deewiant> The lower . never moves?
19:16:56 <asie[away]> it does
19:16:57 <asie[away]> in cycle 4
19:17:07 <Deewiant> Why the hell in cycle 4
19:17:13 <asie[away]> wait
19:17:14 <asie[away]> it can in cycle 3
19:17:15 <Deewiant> Why not in cycle 2
19:17:15 <asie[away]> :P
19:17:18 <Deewiant> I mean
19:17:24 <asie[away]> Because it is blocked in cycle 2
19:17:24 <Deewiant> Or wat
19:17:29 <Deewiant> Are you saying that
19:17:29 <asie[away]> isn't it?
19:17:38 <asie[away]> cycle 1 is
19:17:38 <asie[away]> .
19:17:39 <asie[away]> .
19:17:41 <asie[away]> cycle 2 is
19:17:43 <asie[away]> .
19:17:44 <asie[away]> .
19:17:46 <asie[away]> cycle 3 is
19:17:48 <asie[away]> ..
19:17:58 <Deewiant> Ah okay
19:18:02 <Deewiant> So in other words...
19:18:05 <Deewiant> What you've been trying to say is
19:18:39 <Deewiant> If two dots would go in the same spot but they're not moving in opposite directions, the later dot simply doesn't move
19:18:52 <asie[away]> yep
19:18:59 <asie[away]> remember the board is scanned left-right, top-down
19:19:07 <asie[away]> that's the trick that makes it work
19:19:07 <Deewiant> Yes, I remember that :-P
19:19:13 <asie[away]> ok
19:19:15 <asie[away]> any other questions?
19:19:21 <Deewiant> Not right now
19:19:25 <Deewiant> Maybe in 5 mins ;-P
19:19:42 <asie[away]> sadly
19:19:44 <asie[away]> i'm going now
19:19:46 <asie[away]> again
19:22:13 <FireFly> :D, tricky rules indeed
19:22:30 <asie[away]> You know
19:22:38 <asie[away]> I think I must send DOBELA to Hell
19:22:46 <asie[away]> They will find an use for it
19:22:56 <asie[away]> "Code MS-DOS in DOBELA"
19:31:08 <Deewiant> In the end the rules weren't so tricky, a few exceptions I couldn't predict (.=# and the non-opposite collisions) but other than that it went the way I guessed
19:32:12 -!- Hiato has joined.
19:34:04 -!- javahorn has joined.
20:03:17 <asie[away]> back
20:03:25 <asie[away]> well, sort of
20:03:27 -!- asie[away] has changed nick to asiekierka.
20:04:07 <asiekierka> I need to start working on Esoppy
20:04:17 <asiekierka> As in, a floppy disk with a very simple FS
20:04:23 <asiekierka> running esolang programs and ASM programs
20:04:29 <asiekierka> from esolang programs, BF will be there
20:04:35 <asiekierka> for sure
20:04:38 <asiekierka> Some other langs too
20:04:41 <asiekierka> but remember
20:04:45 <asiekierka> the apps must be in ASM
20:06:38 <ais523> sounds great
20:07:02 <asiekierka> The bootsector only needs to read the file 00 and execute it
20:07:21 <asiekierka> as in
20:07:28 <asiekierka> read sector just after the bootsector
20:07:36 <asiekierka> read the first 2 bytes
20:07:42 <asiekierka> decode them to be the head, cylinder and sector
20:07:46 <asiekierka> read from there
20:07:51 <asiekierka> get the data (sector size)
20:07:56 <asiekierka> load all the sectors
20:08:05 <asiekierka> and execute the OS from there
20:08:26 <FireFly> Sounds interesting
20:08:47 <FireFly> But, this comp has no floppy drive :(
20:08:50 <asiekierka> Well
20:08:52 <asiekierka> you can use an emulator
20:08:56 <asiekierka> but it also should work on HDDs
20:09:23 <asiekierka> It can be used with HDDs anyway
20:09:29 <asiekierka> It just needs some switches
20:09:35 <asiekierka> Or USB
20:09:37 <asiekierka> I must test it though
20:09:55 <asiekierka> But I need some data on the limits of HDD geometry
20:10:03 <asiekierka> so I can know how much bits to allocate for what
20:10:12 <asiekierka> why? Because I want this to work on USB too
20:12:05 <asiekierka> Basically, I need to allocate 6 bits for the sector, 8-10 for the cylinder and 1 for the head AFAIK
20:14:38 <asiekierka> And I don't know how will I realize the detection of the medium I booted from
20:14:44 <asiekierka> Cuz booting from floppy disk is easy
20:14:45 <asiekierka> very easy
20:14:57 <asiekierka> But modifying it to work from HDD is hard
20:15:14 <Deewiant> 16-bit? 32-bit? 64-bit?
20:15:22 <asiekierka> Probably 16-bit
20:15:32 <asiekierka> because I want to use interrupts
20:15:37 <asiekierka> and don't want to make it too hard
20:15:45 <asiekierka> I could use Unreal Mode though
20:15:45 -!- Sgeo has joined.
20:15:51 <asiekierka> which allows to execute 32-bit commands in 16-bit mode
20:16:33 <AnMaster> hm
20:16:51 <AnMaster> anyone here know if you can add in a rpath entry in a ELF binary *after* linking
20:16:52 <AnMaster> I don
20:17:00 <AnMaster> don't* want to recompile this huge program
20:17:22 <Deewiant> I don't see why not
20:17:39 <AnMaster> hm what about tools to do it?
20:17:42 <Deewiant> You might have to mess with some other offsets though
20:17:49 <AnMaster> well I guess so
20:17:56 <Deewiant> Don't know about tools
20:18:22 -!- FireFly has quit ("Brb...").
20:18:31 -!- FireFly has joined.
20:24:55 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)).
20:25:37 -!- asiekierka has joined.
20:25:38 <asiekierka> oops
20:25:43 <asiekierka> accidentally closed my IRC window
20:26:34 <oerjan> at least you didn't lose any verbs in the process
20:28:30 <FireFly> oerjan, you forgot to swat me
20:28:36 <FireFly> :(
20:28:47 <oerjan> that was just a hitch
20:29:20 * oerjan swats FireFly twice as compensation -----### -----###
20:29:28 <FireFly> :D
20:29:40 <FireFly> Hm
20:31:33 <AnMaster> hm It seems the rpath is in the .dynamic section
20:32:27 <fizzie> There seem to have been some plans in Solaris to add some free space in all ELF files so that they can be more easily tweaked: http://blogs.sun.com/ali/entry/changing_elf_runpaths
20:33:37 <fizzie> That suggests it's not completely trivial to do without it. (Although I don't see why it wouldn't work if you actually bother fixing all those other offsets that change.)
20:34:25 <AnMaster> I see
20:34:26 <FireFly> Swatmania!
20:35:21 -!- Hiato has quit ("Leaving.").
20:35:22 <oerjan> i do recall some online game where you swatted mosquitoes...
20:35:39 <AnMaster> anyway the issue is I needed to install a newer gcc in a prefix to be able to build llvm correctly, and I wish to add a rpath to llvm-gcc since it now depends on libstdc++ from this newer gcc.
20:35:56 <oerjan> many years ago
20:35:58 <AnMaster> system gcc is 4.1.2, prefixed gcc is 4.3.3, llvm gcc is 4.2.1
20:36:06 <AnMaster> which is rather a mess
20:36:23 <AnMaster> and I don't want to have to recompile one or more gcc's just to make this work...
20:40:13 -!- psygnisfive has quit (Remote closed the connection).
20:40:51 <AnMaster> hm I suspect recompiling will be easier in fact
20:41:00 <AnMaster> if the dynamic section had been last...
20:42:06 <AnMaster> also I thought bootstrapping gcc would work around it..
20:45:34 -!- tombom has joined.
20:48:49 <AnMaster> ah I see..
20:57:38 -!- oerjan has quit ("Good night").
21:11:49 -!- StelK has joined.
21:12:19 <StelK> Hi
21:12:30 <ais523> hi
21:12:33 <ais523> what brings you here?
21:12:51 <Slereah> I think it's the orgies on speed
21:13:01 <ais523> err... on IRC, is that even possible?
21:13:22 <StelK> I'm looking for some idea to code a new esolang
21:14:25 <ais523> as in, you have the esolang idea, and need it coded?
21:14:29 <ais523> or want to code something and don't know what?
21:14:34 <StelK> I didn't expect to find so many people in a esolang-related channel
21:14:38 <StelK> the second one
21:14:50 <ais523> this is the main esolang discussion place anywhere, as far as I know
21:15:02 <ais523> although it would be great if there was an even bigger secret one I didn't know about
21:15:08 <Slereah> I've got plenty of ideas that I need a chump^H^H^H^H^H experienced programmer to write an interpreter
21:15:23 <StelK> nic
21:15:25 <StelK> *nice
21:15:38 <ais523> http://esolangs.org/wiki/Category:Unimplemented may give you some ideas
21:15:57 <Slereah> Hm
21:16:00 <ais523> although note that some of those are awful, and some are theoretically impossible to implement
21:16:03 <Slereah> Forgot to put Limp in here.
21:16:10 <StelK> I've already read that
21:16:17 <StelK> I think Primordial
21:16:45 <Slereah> Owait, it is
21:16:50 <Slereah> Under ??p
21:16:53 <StelK> is quite nice... but there not enough specification to create an interpreter
21:16:58 <ais523> wtf, why is Easy in the unimplemented section?
21:17:05 <ais523> has really nobody bothered to implement it all this time?
21:17:09 <Slereah> 'cause easy is hard :(
21:17:21 <Slereah> Also I'm an English interpreter
21:17:21 <ais523> no it isn't, it's basically BF with the program and input streams mixed up
21:17:55 <asiekierka> Hi^Hello
21:18:18 <ais523> if you don't mind implementing something that's been implemented before, implementing functional esolangs can be instructive
21:18:26 <ais523> like Underload (relatively easy), or Unlambda (Much harder)
21:19:04 <StelK> Well.. I've created two simple esolangs until now, SPL and P in the Wiki... so I'd like to create something new
21:20:08 <asiekierka> Try to do something like DOBELA
21:20:12 <asiekierka> esolangs.org/wiki/DOBELA
21:20:18 <Slereah> Or limp
21:20:22 <asiekierka> something with relatively tricky specs and totally weird syntax
21:20:27 <Slereah> I hear limp is an awesome functional esoland
21:20:27 <Slereah> g
21:20:46 <asiekierka> The spec is currently v11b and needs to be fixed
21:21:55 <asiekierka> Also, don't alter BF.
21:22:02 <asiekierka> It has been done waaaay too much times
21:22:25 <StelK> yeah I know
21:22:36 <asiekierka> Also, $ = ,^ in SPL doesn't it?
21:22:40 <StelK> already done it one time
21:23:29 <asiekierka> If you're very bored, implement DOBEL---oh wait, Deewiant is already doing THAT.
21:24:01 <StelK> I'll try to come up with something new :D
21:24:10 <Deewiant> And the spec wasn't updated so you'd do it wrong anyway :-P
21:24:13 <FireFly> Interpret Sir. Cut
21:24:18 <FireFly> :D
21:24:33 <FireFly> I like some of the ideas in that lang
21:24:56 <asiekierka> Also, I'm making (with little idea help from ais523) the MiniShell
21:25:10 <asiekierka> the most important purpose of it is to run esolangs from a floppy disk without dependence from any OS
21:25:15 <asiekierka> but it can also run mini ASM programs
21:25:35 <asiekierka> show 80x25 color ASCII art
21:25:45 <asiekierka> And uses a simple FS which uses 256 numbered files without names
21:25:46 <asiekierka> 00-FF
21:25:53 <asiekierka> the number (in hex) is the name
21:25:55 <asiekierka> Anyway, gotta go
21:25:57 <asiekierka> in a sec
21:26:00 <asiekierka> but whaddya think
21:29:02 <asiekierka> It is planned for it to run programs in MiniMAX, MinIScule and Barely for v0.01
21:29:10 <asiekierka> Why? Because they have ASM interpreters
21:29:18 <StelK> nice
21:29:22 <asiekierka> Especially MiniMAX cuz it is independent
21:29:39 <asiekierka> and with about 6-10 lines of ASM code, it's very small
21:29:41 <asiekierka> but needs I/O
21:29:47 <ais523> are you running asm, or machine code?
21:30:16 <asiekierka> compiled ASM = machine code
21:30:19 <asiekierka> so yep, machine code
21:30:29 <asiekierka> a PC runs machine code, which is compiled ASM
21:31:02 <Deewiant> Running "compiled X" doesn't really say anything at all about what you're actually running :-P
21:32:15 <asiekierka> so i'm running machine code
21:32:20 <asiekierka> and i'm writing in Assembler
21:32:32 <Deewiant> I take issue with that usage of the word "assembler"
21:32:45 <Deewiant> "Assembly" is the language, "assembler" is the compiler, dammit!
21:32:48 <asiekierka> ohh
21:32:50 <asiekierka> ok
21:32:54 <asiekierka> s/Assembler/Assembly
21:33:10 <asiekierka> Also, seems MinIScule uses DOS interrupts
21:33:18 <asiekierka> and that'll need a bit of rewriting
21:36:15 <asiekierka> nor the links work
21:36:17 <asiekierka> so :/
21:39:54 <asiekierka> 0000 - plain/undeclared
21:39:54 <asiekierka> 0001 - Machine Code
21:39:54 <asiekierka> 0010 - BF
21:39:54 <asiekierka> 0011 - MiniMax
21:39:54 <asiekierka> 0100 - 4Kbyte Screen art
21:40:01 <asiekierka> this is the types of files I plan for 0.1
21:40:09 <asiekierka> at least 0000, 0001 and 0100
21:41:54 <asiekierka> well, I don't exactly need to implement 0000
21:41:59 <asiekierka> and 0001 is very easy
21:42:14 <asiekierka> 0100 is easier
21:46:07 <StelK> I gotta go see you
21:46:30 -!- StelK has quit ("good bye").
21:47:11 -!- psygnisfive has joined.
21:49:30 -!- asiekierka has quit.
22:08:03 <AnMaster> hi ais523
22:08:13 <ais523> hi
22:20:29 <Sgeo> What's asiekierka's language?
22:34:57 -!- BeholdMyGlory has quit (Remote closed the connection).
22:35:34 -!- rideauli has joined.
22:35:43 -!- rideauli has left (?).
23:05:09 -!- zzo38 has joined.
23:05:52 <zzo38> I wrote a program in CLCLC-INTERCAL to output 1 to 2000 in Roman numbers but I can't test it. Can you look and tell me if you found a mistake, or another comment about this program
23:06:09 <ais523> zzo38: would it run in CLC-INTERCAL?
23:06:13 <ais523> I can run it in that
23:06:20 <ais523> or does it rely on CLCLC-INTERCAL specific features?
23:06:59 <zzo38> It uses CLCLC-INTERCAL specific features
23:07:09 <ais523> assign to constants is legal in C-INTERCAL, by the way
23:07:14 <ais523> with a compiler switch
23:08:05 <ais523> also, how does the addition work in your program/
23:09:06 <zzo38> My program has no addition. The way [I think] it works is based on the && operator and also how CLCLC-INTERCAL assigns to expressions (which may not be always the same as other INTERCALs)
23:10:37 <zzo38> Is there still something else you do not understand about it
23:11:17 <oklofok> so addition works using the && operator?
23:12:11 <zzo38> No, the && operator doesn't do addition. The && operator allows you to learn a lecture inside of a expression.
23:12:19 <ais523> I just don't see why assigning to the result of a learnt lecture would add 1 to a number
23:13:11 <zzo38> It doesn't. The interpreter would try each value of .1 (the left side of the lecture) in order, and stop when the value of .1 causes .1&&#0 to have the value #2000
23:13:39 <zzo38> It starts at zero but it won't output zero because it is abstained the first time
23:14:08 <ais523> oh
23:14:14 <ais523> you can't rely on that behaviour, surely
23:14:44 <zzo38> Maybe not in CLC-INTERCAL but in CLCLC-INTERCAL it is specified that this kind of behaviour is standard
23:15:07 <ais523> it's incredibly inefficient
23:15:23 <ais523> assigning to expressions should be done by using the inverse of the expression, obviously
23:16:19 <zzo38> For expressions that have inverses that will work (as long as they are not overloaded to other expressions) but the && operator doesn't have a inverse so it has to try each one until one of them works
23:16:42 <ais523> hmm...
23:16:52 <ais523> I wonder what happens if you try to reverse-assign to a created expression in C-INTERCAL?
23:16:57 <ais523> that's pretty similar to what you're doing
23:16:57 <zzo38> Also note that in CLCLC-INTERCAL, when assigning to a expression only the far left side of the expression is the register which will be changed (even if it is a constant!)
23:17:11 <ais523> err
23:17:19 <ais523> what about DO .1 $ .2 <- #10
23:17:43 <FireFly> What does the "LC" in CLC-INTERCAL stand for?
23:17:46 <ais523> bad example...
23:17:50 <ais523> DO .1 $ .2 <- #11
23:17:58 <ais523> FireFly: CLC is Claudio Calvelli's initials
23:18:00 <zzo38> In CLCLC-INTERCAL .2 has to have the correct value already if it doesn't then it is a fatal error
23:18:05 <FireFly> Ah
23:18:09 <ais523> that's incompatible with other INTERCAL implementations
23:18:12 <ais523> very incompatible, in fact
23:18:34 <zzo38> It's INTERCAL, so who cares about compatibility with other INTERCAL implementations?
23:18:54 <ais523> Claudio and I care a lot about compatibility
23:18:59 <ais523> after all, no other language seems to
23:19:23 <zzo38> Then just use compatibility mode if you want to be compatible
23:21:01 <ais523> ICL277IYOU CAN ONLY DISTORT THE LAWS OF MATHEMATICS SO FAR
23:21:05 <ais523> hmm... I'm not surprised
23:21:19 <ais523> PLEASE DO CREATE (4) t
23:21:20 <ais523> DO .1 t .2 <- #3
23:21:22 <ais523> DO GIVE UP
23:21:23 <ais523> (4)DO .1603 <- .1601 $ .1602
23:21:24 <ais523> DO RESUME #1
23:21:45 <ais523> an error is more or less the best you can hope for with code as insane as that
23:24:30 <oklofok> please explain that codence
23:24:44 <ais523> oklofok: ok, the first line defines a new operator t
23:24:48 <ais523> whose code is found starting at (4)
23:24:56 <ais523> the second line assigns .3 to .1 t .2
23:25:07 <ais523> that's known as a reverse assignment, and is one of the less sane operators in INTERCAL
23:25:10 <ais523> it has a lot of limitations atm
23:25:27 <ais523> then the third line exits, and the last two lines are the definition of t, which doesn't really matter to make the point
23:26:13 <oklofok> err
23:26:26 <oklofok> what's so insane about that
23:27:00 <oklofok> oh the fact it needs to find the reverse of an arbitrary operation
23:27:18 <oklofok> that's used to make a loop? how?
23:27:30 <ais523> it doesn't make a loop in C-INTERCAL
23:27:44 <zzo38> The output 1 to 2000 program was wrong but now I fixed it. The third line now says DO .1&&.1 <- #2000 it used to say DO .1&&#0 <- #2000 but that was wrong
23:27:49 <ais523> apparently zzo38's mandating that in CLC-INTERCAL, the way it reverses an operation is to try all possibilities until one works
23:28:32 <zzo38> ais523: s/CLC-INTERCAL/CLCLC-INTERCAL/
23:28:42 <ais523> correction accepted
23:30:45 <oklofok> but wouldn't it be kinda weird for it to actually produce incorrect output and only then realize it failed to reverse it
23:30:49 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:33:04 <oklofok> also is #2000 simply the constant 2000_10?
23:33:28 <ais523> yes, # introduces a decimal number
23:33:53 <oklofok> for a moment i thought numbers were given in some weird format, but it was probably just the prefix bluffing my brain or something
23:34:19 <oklofok> because i remember seeing things like #65536 (or 65535, or different prefix, but anyway)
23:34:41 <zzo38> It doesn't backtrack any side-effects of the expression (such as attending a lecture or overloading) so you can do anything inside the lecture and it won't care. A fatal error is still a fatal error (or maybe it can be defined a different way instead, that a fatal error in this case backtracks?)
23:34:55 <ais523> zzo38: what if there's a choicepoint inside the lecture?
23:35:04 <ais523> and someone backtracks into it?
23:35:08 <ais523> what happens in a multithreaded program?
23:35:23 <oklofok> then if it's specified clclc tries the values in order, that is a very elegant way to write the program imo
23:35:44 <oklofok> in fact something i'd like to see a language based on
23:36:42 <zzo38> If someone backtracks into a choicepoint inside the lecture then it will backtrack the implicit loop also and continue trying different values for .1 where it left off. And in a multithreaded program it will only deal with the current thread, values in other threads are unaffected and there is no guarantee what order it will output in
23:36:55 <oklofok> am i misunderstanding something here, why are you asking zzo38 how things work, isn't there a spec?
23:36:56 <FireFly> Yeah, I agree, reading this a bit makes it sound really interesting
23:38:18 <oklofok> oh wait
23:38:29 <oklofok> prolog is based on that isn't it kinda
23:38:54 <oklofok> assuming you define naturals, and it tries them in order
23:39:30 <oklofok> no wait
23:39:52 <oklofok> of course it won't continue if the expression gives the wrong answer, it just tries out all the right answers
23:39:54 <oklofok> nm
23:40:53 <oklofok> was zzo38's idea that the function to be reversed had the side-effect of always writing out the current number being tried?
23:41:22 <ais523> oklofok: yes, that's how it worked
23:41:36 <ais523> zzo38: I was referring to timing issues between the threads
23:41:42 <oklofok> and can't that be done in prolog, basically you say X is an integer, then you say X satisfies P, and P's definition prints X's value
23:41:49 <oklofok> then you say X needs to be 2000
23:41:49 <ais523> certainly, you wouldn't expect an expression to take several thousand ticks
23:41:52 <zzo38> O, I forgot one thing about what it should do if the student is an array. And I'm not sure what it should do in that case.
23:42:54 <zzo38> Maybe you can in prolog but I don't know much about prolog
23:43:03 <oklofok> yes but ais523 does
23:43:24 <oklofok> and i think i do, although i haven't really used it
23:43:49 <ais523> zzo38: in Prolog, integers are special-cased for sanity
23:44:01 <ais523> although that sort of thing works "fine" (although inefficiently) if you define integers yourself
23:44:07 <ais523> rather than relyingon the stdlib definition
23:44:13 <zzo38> I have a question that you can help me define the spec of CLCLC-INTERCAL: What should it do if you assign to a && expression where the student is an array
23:44:21 <oklofok> ais523: was that an answer to me as well?
23:44:31 <ais523> oklofok: possibly, I'm tired and confused
23:44:46 <oklofok> ais523: what does it mean they are special-cased?
23:45:00 <ais523> oklofok: look up the is operator
23:45:11 <oklofok> err why
23:45:15 <ais523> I mean, they don't work anything like the rest of the language
23:45:23 <ais523> they're syntactic-sugared loads
23:45:31 <ais523> and none of the arithmetic operators are interchangeable
23:45:33 <oklofok> wait what are loads
23:45:46 <oklofok> wait what do you mean interchanceable
23:45:57 <oklofok> anyways is is just something that tests two numbers for equality
23:45:58 <ais523> interchangeable means you can swap around what's the result and what's the arguments to a predicate
23:46:05 <ais523> and no, is doesn't test for equality
23:46:12 <oklofok> oh it doesn't?
23:46:14 <ais523> X is 2+2 binds X to 4
23:46:18 <ais523> 2+2 isn't an expression in Prolog
23:46:22 <oklofok> oh right
23:46:26 <oklofok> yes yes
23:46:26 <ais523> it's just an inert term, '+'(2,2)
23:46:44 <ais523> is basically recursively evaluates terms which look like arithmetic expressions
23:47:15 <oklofok> yes anyway i know they're not interchangeable, and that prolog doesn't understand math
23:50:55 <ais523> anyway, going home
23:51:00 -!- ais523 has quit (Remote closed the connection).
23:53:34 -!- zzo38 has quit ("because ais523 quit").
2009-03-21
00:23:33 <Deewiant> New DOBELA spec up at http://esolangs.org/wiki/DOBELA, somebody poke asiekierka once he's around.
00:23:36 <Deewiant> To bed ->
00:42:08 -!- neldoreth|lp has joined.
00:42:32 -!- neldoreth|lp has quit (Client Quit).
00:43:39 -!- tombom has quit ("Peace and Protection 4.22.2").
00:47:31 <FireFly> <- To bed ;o
00:47:45 <FireFly> No, actually, that's that way ->
00:47:59 -!- FireFly has quit ("zzz").
00:48:06 -!- neldoreth has quit (Remote closed the connection).
00:48:10 -!- neldoreth has joined.
01:02:53 -!- Mony has quit ("C IA").
01:08:48 -!- neldoreth|lp has joined.
01:09:55 -!- neldoreth|lp has quit (Client Quit).
01:24:58 <comex> ha
01:25:00 <comex> that's a funny language
01:58:02 -!- neldoret1 has joined.
02:03:21 -!- neldoreth has quit (Read error: 113 (No route to host)).
02:28:21 -!- GreaseMonkey has joined.
04:34:53 <psygnisfive> BSG was retarded.
05:16:54 <Sgeo> BSG?
05:41:06 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
05:46:36 -!- lifthrasiir has joined.
06:29:36 <Sgeo> DOBELA question: If a space switches modes, can it switch back?
06:35:48 -!- cherez has joined.
06:35:57 -!- cherez has left (?).
06:58:42 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
07:39:38 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:40 -!- lifthras1ir has joined.
08:00:41 -!- lifthrasiir has quit (Read error: 54 (Connection reset by peer)).
08:04:22 -!- asiekierka has joined.
08:04:24 <asiekierka> Hello
08:04:31 <asiekierka> no ais523 :(
08:07:33 -!- mtve- has joined.
08:08:59 -!- mtve has quit (Read error: 104 (Connection reset by peer)).
08:54:59 -!- MigoMipo has joined.
10:13:27 -!- Mony has joined.
11:00:35 -!- BeholdMyGlory has joined.
11:04:53 <Deewiant> asiekierka: 2009-03-21 01:23:32 ( Deewiant) New DOBELA spec up at http://esolangs.org/wiki/DOBELA, somebody poke asiekierka once he's around.
11:08:40 <asiekierka> ok
11:08:48 <asiekierka> checking
11:10:45 <asiekierka> <asiekierka> wait, what char is between # and =
11:10:45 <asiekierka> <asiekierka> isn't it |, not empty space
11:23:19 -!- asiekierka has quit (Nick collision from services.).
11:23:36 -!- asiekierka has joined.
11:48:42 -!- javame has joined.
11:50:44 -!- asiekierka has quit (Nick collision from services.).
11:51:45 -!- Asztal_ has quit (Read error: 110 (Connection timed out)).
12:05:33 -!- javahorn has quit (Read error: 110 (Connection timed out)).
12:18:41 -!- javame has quit (Read error: 104 (Connection reset by peer)).
12:18:59 -!- javahorn has joined.
12:40:02 -!- Asztal_ has joined.
12:46:12 -!- javame has joined.
13:03:34 -!- javahorn has quit (Read error: 110 (Connection timed out)).
13:05:46 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
14:27:48 -!- javame has quit (Read error: 110 (Connection timed out)).
15:05:45 -!- BeholdMyGlory has quit ("brb reboot").
15:08:26 -!- BeholdMyGlory has joined.
15:10:26 -!- kar8nga has joined.
15:42:26 -!- fungot has quit ("restarting, just a moment").
15:43:13 -!- fungot has joined.
15:43:20 <fizzie> ^style
15:43:20 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft nethack pa speeches ss wp
15:43:22 <fizzie> ^style nethack
15:43:22 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
15:43:26 <fizzie> fungot: How do you feel?
15:43:26 <fungot> fizzie: xan: they sent their friend the mosquito, " fnord to a real, but that was an fnord chap. knife like that of a fnord poor place.
15:43:59 <fizzie> fungot: I don't think NetHack was that fnordy a game.
15:43:59 <fungot> fizzie: rock: bilbo saw that in fnord. lizards can be fnord by filling some small role for one at a wild and wise, so you have all the tools fnord he fnord, fnord: anyone who has met a fnord fnord, and it could be made to fnord it; and whatever is inside it.
15:44:26 <fizzie> Mayhaps I should've used the "do not filter rare words" version for this particular set.
15:45:31 <fizzie> fungot: Are you feeling less fnordy now?
15:45:31 <fungot> fizzie: sling: and the apples of youth. able to do so. among his kind, moon-watcher was almost a giant.
15:45:58 <fizzie> Not a particularly coherent database.
16:09:49 -!- Mony has quit ("Quit").
16:11:00 -!- l has joined.
16:11:08 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
16:11:28 -!- l has changed nick to Guest16949.
16:49:26 -!- BeholdMyGlory has quit (Remote closed the connection).
16:56:57 -!- Guest16949 has quit (Remote closed the connection).
17:08:39 -!- neldoret1 has quit (Read error: 110 (Connection timed out)).
17:14:40 -!- neldoreth has joined.
17:21:59 -!- KingOfKarlsruhe has joined.
17:42:36 <Deewiant> :-D "fnord he fnord, fnord: anyone who has met a fnord fnord"
17:42:50 <Slereah> met a what?
17:43:05 <ehird> Hi
17:43:06 <Deewiant> What fungot said above
17:43:06 <fungot> Deewiant: i smell a maze follow the other a knife; both the oldest and the pendulum, by rudyard kipling) has opposed thoth-amon, who had laid waste the country. she looked stupidly down at her, but adventurers have nevertheless met their end numerous times due to the bones. they enjoy coating their body with lard and usually wear nothing but two areas of blank skin.
17:48:47 <ehird> 09:24:15 <ais523> but this gives me an idea 09:24:16 <asiekierka> ais523: Make your own simple FS 09:24:27 <ais523> apart from a few bytes of asm
17:48:55 <ehird> Chris pressey, in the 90s, wants his idea back.
17:49:00 <ehird> Protip: It didn't turn out interesting
17:49:32 <ehird> 09:29:27 <asiekierka> The bootsector code is 29 bytes 09:29:41 <ais523> where the entire program fit in the header information
17:49:34 <ehird> Er, what?
17:49:45 <ehird> It was hard enough fitting '_exit(42);' into the header, remember that article?
17:49:49 <ehird> I very much doubt you could fit BF in there
18:00:10 <ehird> 13:15:02 <ais523> although it would be great if there was an even bigger secret one I didn't know about
18:00:12 <ehird> Shifty eyes.
18:01:28 <ehird> 13:21:55 <asiekierka> Also, don't alter BF.
18:01:33 <ehird> Bizarro asiekierka?
18:07:30 <ehird> 15:38:18 <oklofok> oh wait
18:07:30 <ehird> 15:38:29 <oklofok> prolog is based on that isn't it kinda
18:07:32 <ehird> 15:38:54 <oklofok> assuming you define naturals, and it tries them in order
18:07:39 -!- MigoMipo has joined.
18:07:41 <ehird> nummer(X,N) :- X = N; N2 is N+1, nummer(X,N2).
18:07:45 <ehird> num(X) :- nummer(X,0).
18:07:46 <ehird> then
18:07:49 <ehird> num(X), write(X), write('\n'), X = 2000.
18:10:26 <ehird> 15:51:00 --- quit: ais523 (Remote closed the connection)
18:10:26 <ehird> 15:53:34 --- quit: zzo38 ("because ais523 quit")
18:10:27 <ehird> ;_;
18:11:54 <ehird> omg nethack
18:11:55 <ehird> ^style
18:11:55 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
18:11:58 <ehird> fungot: Hack nets
18:11:58 <fungot> ehird: only a kind of cram,' he said desperately, " even on the yulkjhnb keys.
18:20:11 * ehird switches to fish shell to avoid going insane
18:34:15 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:38:25 -!- FireFly has joined.
18:39:04 <ehird> So anyway I turned into an alien: I like GNOME
18:46:14 -!- Asztal has joined.
18:47:31 -!- Asztal_ has quit (Read error: 110 (Connection timed out)).
18:47:36 -!- Asztal has changed nick to Asztal_.
18:49:01 <bsmntbombdood> gnome?
18:49:07 <bsmntbombdood> i don't use gnome
18:51:06 <Deewiant> How about DWARF or ELF or HOBBIT
18:51:37 <ehird> bsmntbombdood: thx for the info
18:51:41 <ehird> Deewiant: @
18:51:57 <Deewiant> @?
18:52:05 <ehird> yes.
18:52:09 <Deewiant> @.
18:52:12 <ehird> @
18:52:17 <Deewiant> @_@
18:52:54 <ehird> @________@
18:53:00 <ehird> mouth too big.
18:53:25 <fizzie> E2BIG
18:53:29 <Deewiant> ホレ!(^-^)/(((((((((●~*
18:53:31 <Deewiant> I bomb you
18:55:14 <bsmntbombdood> desktop environments ftl
18:55:40 <Slereah> ?????!
18:55:44 <Slereah> Woops
18:55:51 <Slereah> 逝ってよし!
18:57:09 <Deewiant> (,,#゚Д゚):∴;'・,;`:ゴルァ!!
18:58:20 <Slereah>    ∧_∧
18:58:20 <Slereah>   ( ´∀`)< ぬるぽ
18:58:33 <ehird> Insert faggoty SIJS smiley.
18:58:53 <Deewiant> (  ゚,_ゝ゚)バカジャネーノ
19:02:05 <Slereah> I can't actually read moon.
19:02:50 <Slereah> Bakaa neeno?
19:02:58 <Slereah> Wait
19:03:30 <Slereah> Bakashaneeno?
19:03:31 <Slereah> O
19:03:34 <Slereah> Iunno
19:03:37 <Slereah> What does that mean?
19:03:52 <ehird> fish is awesome
19:04:27 <Deewiant> Slereah: Ja, not sha, right?
19:04:34 <ehird> Line
Separator
19:04:40 <Slereah> Oh right, there's a dakuten on it
19:04:43 <ehird> U
+
2
0
2
8
fuck
yeah
19:05:08 <Slereah> Stupid something?
19:06:59 <Deewiant> Yeah, something like that, I think it's just an exclamation.
19:07:11 <ehird> hey, anyone know how to make `login` not display the Last login: bullshit
19:07:39 <Deewiant> Slereah: "Don't be stupid"?
19:09:19 <Slereah> Iunno, can't speak moon.
19:09:33 <Slereah> ( ´ー`)   < シラネーヨ
19:09:59 <Deewiant> What is this moon you speak of
19:10:16 <Slereah> Shiraneeyo
19:10:22 <Slereah> Means roughly "I dunno"
19:10:40 <Deewiant> Yes, that I did know :-)
19:10:41 <ehird> Deewiant: moon=japanese
19:10:43 <ehird> in chanspeka
19:10:44 <ehird> er
19:10:45 <ehird> chanspeak
19:10:49 <Deewiant> Right
19:10:51 <Deewiant> Why
19:10:56 <ehird> because it's moon language.
19:11:04 <ehird> duh.
19:11:04 <Slereah> It sounds exactly like the language of the moon people
19:11:15 <Slereah> I can sort of read japanese chanspeak
19:11:20 <Slereah> But not much further
19:11:58 <ehird> http://hugsformonsters.com/images/blog/IE2.jpg
19:12:23 <Deewiant> Olde
19:12:29 <Deewiant> I saw that, like, yesterday.
19:12:42 <Deewiant> (`ー´)ヘヘーン
19:13:25 <Slereah> ( ゚∀゚)< さいたまさいたまさいたま!
19:13:29 <ehird> Deewiant: does ccbi build with ldc
19:13:33 <Deewiant> ehird: Yes
19:13:38 -!- kar8nga has joined.
19:13:52 <ehird> also why do so many tech things sound almostbutnotquitelike "lsd"
19:14:04 <Deewiant> Or I'm not sure about tango version compatibility
19:14:18 <Deewiant> It needs a fairly late version to run at all (bug in the regex library)
19:14:33 <Deewiant> But I might not have released a version which compiles against that late versions
19:14:43 <Deewiant> In any case, if there's a problem, it's Tango, not LDC.
19:15:04 <Deewiant> Slereah: Saitama?
19:15:17 <Slereah> SAITAMA :D
19:16:05 <Deewiant> http://tanasinn.info/wiki/Saitama Right.
19:16:21 <Deewiant> A magical place, where money can be found in any municipal tip and cats can enjoy all-you-can-eat buffets of dead pensioners.
19:16:56 <ehird> I compiled llvm and it broke my body
19:17:02 <Slereah> It is an old 2ch meme about how Saitama is the happiest place on earth
19:17:37 <Deewiant> I avoid *chan mostly
19:17:44 <Deewiant> ((((ヽ(`0´)ノ))))バーリアッ
19:18:03 <Slereah> Then why are you using what looks a lot like chan AA? :o
19:18:13 <ehird> Slereah: Exactly my thoughts
19:18:35 <Deewiant> AA?
19:18:40 <Slereah> Ascii art
19:18:42 <Deewiant> And just because I ran into a web page full of them
19:18:49 <Slereah> Although actually SJIS art
19:18:50 <Deewiant> And it ain't ASCII if it ain't ASCII
19:18:54 <Slereah> Yes
19:18:59 <Deewiant> SJIS art rendered in glorious UTF-8
19:19:03 <Slereah> Except the japs call it AA for some reason
19:19:12 <Deewiant> They're idiots, in general
19:19:19 <Slereah> Asuki Aato or something
19:19:27 <Deewiant> Probably another 'i' there
19:19:30 <ehird> …what is LDC written in?
19:19:35 <Deewiant> C++
19:19:46 <ehird> Deewiant: are you meant to compile it with clang? :P
19:20:00 <Deewiant> No, gcc will do :-P
19:20:06 <ehird> Deewiant: but dude, that's so boring.
19:20:08 <Slereah> Also how did you get on the tanasinn wiki from Saitama?
19:20:13 <ehird> does it compile with clang?
19:20:16 <Slereah> Did you just google saitamasaitamasaitama?
19:20:18 <Deewiant> Slereah: http://www.google.com/search?q=saitama saitama saitama
19:20:30 <Deewiant> ehird: Haven't tried.
19:20:30 <Slereah> You most certainly did :D
19:20:49 <Deewiant> Well, I knew 'saitama' itself wouldn't tell me anything. :-P
19:20:50 <ehird> Deewiant: Ah wait you need svn llvm for clang don't you?
19:21:08 <Slereah> You cal also try Saitamaaaa
19:21:13 <Deewiant> ehird: Don't know about that either. I got it to run a few years back with just an ordinary LLVM, but then, that was a few years back. :-P
19:21:22 <Deewiant> Or a year ago, or whenever clang was announced
19:22:00 <Deewiant> ehird: Also, is your Mac a PowerPC or Intel
19:22:04 <ehird> Deewiant: Intel
19:22:11 <Deewiant> Are they 32- or 64-bit?
19:22:14 <ehird> 64
19:22:20 <Deewiant> Cool
19:22:26 <ehird> Deewiant: but the OS is 32 bit atm.
19:22:30 <ehird> well
19:22:30 <ehird> both
19:22:33 <ehird> the libs are there for both
19:22:38 <ehird> but all the apps that come with it etc are 32 bit
19:22:41 <ehird> Snow Leopard's fixing that
19:22:45 <Deewiant> So it can run 64-bit apps?
19:22:50 <Deewiant> It just chooses not to? :-P
19:23:15 <ehird> Deewiant: It's 64 bit but Apple are lazy butts and didn't compile the apps as 64 bit
19:23:21 <ehird> You can compile with -m64 just fine
19:23:31 <Deewiant> So it is actually 64-bit, it just runs everything in 32-bit mode by default
19:23:41 <ehird> Yah
19:23:41 -!- k has joined.
19:23:44 <Deewiant> It sounded like it had a 32-bit kernel with 64-bit libs :-)
19:24:03 <ehird> I mean, in Activity Monitor all the Kinds are Intel instead of Intel 64 or whatever
19:24:10 -!- k has changed nick to Guest13293.
19:25:06 <Deewiant> http://club.pep.ne.jp/~hiroette/en/facemarks/ was that page
19:25:28 <ehird> "Western Smileys(Emoticons)(1 byte) and Japanese ones(2 bytes)"
19:25:28 <ehird> >_<
19:25:40 <Deewiant> Like I said, they're idiots in general
19:26:29 <ehird> "Apparently, Japanese Smileys(Emoticons) are read vertically whilewestern Smileys(Emoticons) are read hosizontally."
19:26:33 <ehird> "Apparently" ^_^;;;
19:26:38 <ehird> I MAY BE WRONG I DUNNO
19:26:49 <ehird> Maybe we Japanese have sideways eyes!
19:26:51 <ehird> I just don't know!
19:26:52 <Slereah> Or maybe the asians have a really fucked up face
19:26:57 <ehird> :D
19:27:15 <Deewiant> Well, he's just saying that he hasn't found counterexamples
19:27:32 <ehird> Deewiant: No, he's _trying_ to say that
19:27:39 <Deewiant> Well yes
19:27:51 <Slereah> I could probably find one
19:28:00 <Slereah> In my 2CHANNEL BIG BOOK OF ASCII ART
19:28:19 <ehird> ~~<'V_x;;)''
19:28:46 <ehird> A mouse with a long hair coming out of its nose, with a ' for an eye, and a V shaped chunk out of its body, forming part of a face where it is flattened like a _,
19:28:49 <ehird> with an eye like a x
19:28:59 <ehird> then, a ;;) winks behind and forms its curvaceous mousebutt.
19:29:30 <Asztal_> what about the tail?
19:29:32 <Slereah> This site totally lacks the really racist smileys
19:29:48 <ehird> Asztal_: it fills a wrapping universe. the ~~ is therefore also its tail.
19:30:42 <Slereah> http://membres.lycos.fr/bewulf/Divers8/nida%20nida%202.jpg
19:30:45 <Slereah> Ah, the nidas.
19:31:00 <Slereah> They are little characters of racial hatred :D
19:31:12 <Slereah> http://membres.lycos.fr/bewulf/Divers8/nida%20nida.jpg
19:32:30 -!- javahorn has joined.
19:33:11 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
19:36:07 <Deewiant> http://www.flickr.com/photos/27545038@N05/3371908385/sizes/l/
19:37:26 <ehird> hah
19:38:18 <ehird> Slereah: New rule: All irony must be in the top-left.
19:38:45 <Slereah> wat
19:38:57 <ehird> yes
19:39:06 <Slereah> What does that even mean
19:39:15 <ehird> it means I&@#
19:39:33 <ehird> Deewiant: does ccbi work with d2
19:39:48 <Deewiant> Very likely not
19:39:54 <ehird> :< y not
19:39:58 <Deewiant> Tango doesn't
19:40:02 <ehird> d2 has all the cool shtuff
19:40:33 <Deewiant> But no decent libraries :-P
19:41:07 <ehird> Poo to you too.
19:41:31 <Deewiant> Well sorry, CCBI was started before there was even a D 1.0
19:42:12 <ehird> err
19:42:15 <ehird> how old is ccbi?
19:42:49 <Deewiant> // File created: 2006-06-06
19:43:04 <Deewiant> Version D 1.00 Jan 2, 2007
19:43:25 <Deewiant> DMD 0.160 was all the rage when CCBI began
19:43:30 <ehird> :D
19:44:05 <Deewiant> I think I should have just stuck with 1.016
19:44:19 <Deewiant> 1.017 made .init almost useless
19:44:31 <ehird> (Please use configure --prefix=/usr' to configure libconfig, otherwise you will get the error 'can't find libconfig++.so.8' from ldc.)
19:44:34 <ehird> what the fucjk
19:44:41 <ehird> Deewiant: .init?
19:44:55 <Deewiant> ehird: foo.init
19:44:59 <ehird> Deewiant: .init?
19:45:09 <Deewiant> Beforehand, I could do 'int x = 1;' and then x.init would be 1
19:45:12 <ehird> i..see
19:45:13 <Deewiant> Now, it would be zero
19:45:16 <ehird> libconfig ----- (Please use configure --prefix=/usr' to configure libconfig, otherwise you will get the error 'can't find libconfig++.so.8' from ldc.)
19:45:20 <ehird> Deewiant: is this really true
19:45:22 <Deewiant> Because int.init is zero
19:45:33 <Deewiant> So basically, before you had x.init and typeof(x).init
19:45:46 <Deewiant> Nowadays x.init means the same thing as typeof(x).init
19:45:59 <Deewiant> Which means I have two or three FOO_INIT constants in CCBI somewhere
19:46:05 <ehird> libconfig ----- (Please use configure --prefix=/usr' to configure libconfig, otherwise you will get the error 'can't find libconfig++.so.8' from ldc.)
19:46:05 <Deewiant> Along with an inflammatory comment
19:46:07 <ehird> Deewiant: is this really true
19:46:18 <Deewiant> ehird: Stop bugging me, I don't know
19:46:23 <ehird> :P
19:47:15 <ehird> (~/D/libconfig-1.3.2) ./config
19:47:15 <ehird> …/config.guess (Guess the build system triplet)
19:47:17 <ehird> …/config.sub (Validate and canonicalize a configuration triplet)
19:47:22 <ehird> what the fuck fish, that's too clever. stop it.
19:47:28 <ehird> stop KNOWING. THINGS.
19:49:45 <Deewiant> Have you used zsh?
19:50:03 <ehird> Yes; I used it until 15 minutes ago
19:50:07 <ehird> Fish knows more; by far.
19:50:09 <Deewiant> Heh
19:50:18 <ehird> CMake Error at CMakeLists.txt:18 (message):
19:50:19 <ehird> libconfig++ not found
19:50:23 -!- zzo38 has joined.
19:50:24 <Deewiant> :-)
19:50:28 <Deewiant> It /did/ warn you
19:50:29 <ehird> but i installed it wtf :|
19:50:32 <ehird> Deewiant: i did
19:50:35 <ehird> I used --prefix=/usr
19:50:39 <Deewiant> Oh
19:50:40 <Deewiant> Shrug
19:50:59 <ehird> ranlib /usr/lib/libconfig++.a
19:50:59 <ehird> ----------------------------------------------------------------------
19:51:01 <ehird> Libraries have been installed in:
19:51:03 <ehird> /usr/lib
19:51:19 <zzo38> Look at the CLCLC-INTERCAL page again, I defined quantum INTERCAL and cellular automata operator. Do you like this???
19:51:37 <ehird> Yes I do like this!!!
19:51:59 <Deewiant> ehird: Installed fish and its 'help' gives a 404, good start
19:52:06 <ehird> Deewiant: wfm
19:52:12 <zzo38> Comment more on it, either on the talk page or on IRC, I will quit now but will read the logs and talk page when I get back
19:52:15 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)).
19:52:46 <Deewiant> Oh wait, I know why
19:52:52 <Deewiant> Firefox runs in its damn 32-bit chroot
19:52:59 <ehird> It uses lynx for me
19:53:00 <ehird> XD
19:53:12 <ehird> also why not use 64 bit firefox?
19:53:20 <ehird> Deewiant: there's a 64 bit java plugin out now, you know
19:53:21 <Deewiant> 64-bit flash didn't exist at the time
19:53:25 <Deewiant> Or work
19:53:32 <Deewiant> Nowadays I guess it does
19:53:43 <ehird> Yes, since December 08.
19:54:38 <ehird> Oh great
19:54:45 <ehird> it's failing because its using pkg-config to find libconfig
19:54:48 <ehird> but that's macports's
19:54:53 <ehird> so it doesn't know about the /usr/bin one
19:54:58 <ehird> *headdesk*
19:55:00 <Deewiant> :-P
19:55:05 <Deewiant> So who's doing what wrong
19:55:20 <ehird> CMake needs it in /opt/local/bin/pkg-config; ldc needs it in /usr/lib.
19:55:33 <ehird> LDC should learn to work with effing other installation directories.
19:55:56 <Deewiant> Run sed and figure it out
19:55:57 <Deewiant> :-P
19:56:14 <ehird> No; I'll just reinstall in /opt/local and hope
19:56:43 <ehird> 18:55 ehird: Why does LDC require libconfig++ in /usr/bin?
19:56:43 <ehird> 18:56 mwarning: In a nutshell, licensing issues.
19:56:51 <ehird> 18:56 mwarning: or what do you mean?
19:56:56 <ehird> lol wat :-D
19:57:54 <ehird> greaaaaaaaaaaaaaat; the libconfig in macports is another lib called that :-D
19:57:56 <ehird> fuck my life
20:00:18 -!- Sgeo has joined.
20:02:16 <ehird> (/o/l/l/pkgconfig) sudo cp /dev/stdin libconfig++.pc
20:02:20 <ehird> Take that, fucking "sudo cat >foo" errors.
20:02:24 <ehird> >:|
20:04:03 <ehird> CMake Error at CMakeLists.txt:18 (message):
20:04:03 <ehird> libconfig++ not found
20:04:06 <ehird> Deewiant: i hate you
20:04:15 <Deewiant> What did I do
20:04:21 <Deewiant> You're the one running a mac
20:04:26 <Deewiant> Use something that works
20:04:27 <ehird> Said ccbi worked with ldc
20:04:39 <ehird> Also I am fairly certain this has nothing to do with os x.
20:05:18 -!- Judofyr has quit ("raise Hand, 'wave'").
20:05:38 <ehird> (~) pkg-config --libs libconfig++
20:05:39 <ehird> Failed to open '/opt/local/lib/pkgconfig/libconfig++.pc': Permission denied
20:05:40 <ehird> No package 'libconfig++' found
20:05:42 <ehird> (~) ls -l /opt/local/lib/pkgconfig/libconfig++.pc
20:05:44 <ehird> -rw------- 1 root admin 309 21 Mar 19:02 /opt/local/lib/pkgconfig/libconfig++.pc
20:05:48 <ehird> My life is hilarious.
20:05:50 <Deewiant> :-D
20:06:41 <ehird> DEFAULT_ALT_TARGET *x86_64-apple-darwin9.6.0
20:06:41 <ehird> DEFAULT_TARGET *i686-apple-darwin9.6.0
20:06:45 <ehird> now what the heck is that supposed to mean.
20:06:58 <ehird> set(DEFAULT_TARGET ${HOST_TARGET} CACHE STRING "default target")
20:06:58 <ehird> set(DEFAULT_ALT_TARGET ${HOST_ALT_TARGET} CACHE STRING "default alt target")
20:07:02 <ehird> stunningly clear.
20:07:56 <Deewiant> Ask AnMaster, I guess, isn't he our resident CMake expert
20:08:06 <ehird> It's not a cmake thing
20:08:08 <ehird> its an LDC thing :P
20:08:23 <AnMaster> ?
20:08:34 <AnMaster> also what is LDC?
20:08:39 <ehird> AnMaster: put your scrollback goggles ona
20:08:44 <ehird> and your google goggles on
20:09:03 <AnMaster> ehird, busy atm.. so if anyone wants help they better make a summary, no time to read scrollback either now or later
20:09:23 <ehird> what, later? you will forever be too busy to read scrollback?
20:09:50 <ehird> Deewiant: do you use dsss?
20:10:02 <Deewiant> Define me using it
20:10:09 <Deewiant> CCBI doesn't
20:10:18 <ehird> you
20:10:21 <ehird> as in the person you.
20:10:28 <Deewiant> I /have/ used it
20:10:40 <Deewiant> I'm not using it at this moment
20:10:44 <ehird> what do you use instead
20:10:47 <Deewiant> I don't see myself using it any time soon
20:10:52 <Deewiant> For what?
20:10:57 <ehird> for... the things dsss does.
20:11:04 <Deewiant> I don't do the things DSSS does. :-P
20:11:09 <AnMaster> ehird, this is such a high volume channel I will never have time to read it
20:11:20 <ehird> AnMaster: ehird, this is such a high volume channel
20:11:23 <ehird> please let that be sarcasm
20:11:29 <ehird> or are all your 500 channels ghost towns
20:12:05 <AnMaster> ehird, of course channels like ##linux have way more traffic. But #esoteric can generate quite large logs too.
20:12:11 <AnMaster> not the top not the botton
20:12:13 <AnMaster> bottom*
20:12:16 <AnMaster> but somewhere in between
20:12:20 <Slereah> heh
20:12:24 <Slereah> bottom
20:12:25 <ehird> no, this channel is slow.
20:12:31 <ehird> /usr/local/include/llvm/Analysis/DebugInfo.h: In member function ‘unsigned int llvm::DIDescriptor::getVersion() const’:
20:12:32 <ehird> /usr/local/include/llvm/Analysis/DebugInfo.h:66: error: ‘LLVMDebugVersionMask’ was not declared in this scope
20:12:35 <ehird> /usr/local/include/llvm/Analysis/DebugInfo.h: In member function ‘unsigned int llvm::DIDescriptor::getTag() const’:
20:12:38 <ehird> /usr/local/include/llvm/Analysis/DebugInfo.h:70: error: ‘LLVMDebugVersionMask’ was not declared in this scope
20:12:41 <ehird> ^____________________________^;;
20:14:14 <AnMaster> ehird, ah right now that you mention LLVM... LDC does sound familiar. Some D compiler using LLVM right?
20:14:33 <ehird> yes
20:14:42 <ehird> now i need to figure out why llvm 2.5 is broken
20:15:00 <AnMaster> ehird, anyway for the pkgconfig thing above, did fixing permissions help?
20:15:05 <ehird> yes.
20:15:08 <AnMaster> good
20:16:16 <AnMaster> ehird, hm what GCC version? LLVM 2.5 couldn't be compiled on GCC 4.1.2, installed GCC 4.3.3 to ~/local/gcc-4.3 and used that. It worked.
20:16:42 <ehird> It _compiles_ fine with gcc 4.0.1
20:16:46 <AnMaster> However I had to mess with rpath in LDFLAGS or I ran into issues with /lib/libgcc_s.so being the wrong version
20:16:48 <ehird> It's just ldc fails when including that
20:17:06 <AnMaster> ehird, llvm 2.5 compiled with GCC 4.1.2, But then I got an assertion when compiling llvm-gcc
20:17:15 <AnMaster> because 4.1.2 it *miscompiled* llvm
20:17:19 <AnMaster> nasty yes
20:17:34 <ehird> is this just a 2.5 thing
20:17:47 <ehird> because macports uses regular os x gcc for 2.4 in its portfile
20:17:59 <AnMaster> ehird, I found a bug report marked "INVALID" telling users to try again with a newer GCC.
20:18:12 <AnMaster> So I assume it won't be fixed to support older gcc
20:18:12 <ehird> ... I thought Apple was quite invested in llvm?
20:18:20 <AnMaster> ehird, yeah but tiger is old
20:18:25 <ehird> I'm on leopard
20:18:29 <AnMaster> oh?
20:18:34 <AnMaster> upgraded recently?
20:18:47 <ehird> I think I've figured it out: your IRC is write-only.
20:18:55 <ehird> Unless someone's talking directly to you.
20:19:10 <ehird> I upgraded early feb
20:19:23 <AnMaster> also... two things: 1) I said 4.1.2, maybe 4.0.1 isn't broken, but it might 2) llvm 2.4 worked on gcc 4.1.2, but 2.5 doesn't
20:19:51 * ehird tries to download new dev tools if any
20:20:00 <ehird> "Xcode 3.1.2 is an update release of the developer tools for Mac OS X. This release provides additional GCC and LLVM compiler options, general bug fixes, and must be installed on Leopard, Mac OS X 10.5.0 and higher."
20:20:05 <AnMaster> ehird, that is quite possible, I don't usually read scrollback from when I'm away unless someone highlight me, usually I just glance over it quickly
20:20:05 <ehird> Whoooaaaaaaaaaa; it comes with LLVM?
20:20:21 <ehird> (~) /Developer/usr/bin/llvm-gcc
20:20:21 <ehird> i686-apple-darwin9-llvm-gcc-4.2: no input files
20:20:23 <ehird> !
20:20:58 <AnMaster> "and must be installed on Leopard, Mac OS X 10.5.0 and higher." <-- as in: you must NOT use an OS X 10.5.0 (or later) installation without xcode.
20:21:14 <AnMaster> it would be illegal!
20:21:15 <ehird> weird, I have llvm-gcc but no llvm(1)
20:21:20 <ehird> whuz up wit dta
20:21:21 <ehird> dat
20:21:23 <AnMaster> ehird, there is no llvm?
20:21:30 <ehird> llvm-gcc but no llvm,
20:21:33 <AnMaster> there is llc lli and various tools
20:21:33 <AnMaster> ..
20:21:39 <AnMaster> there is no tool named llvm
20:21:48 <ehird> No llc, no lli
20:21:51 <ehird> And there IS llvm(1)
20:21:55 <ehird> I know because I ran it recently
20:22:06 <AnMaster> ehird, you know about binutils? there is ld, objdump, readelf and so on. But no /usr/bin/binutils
20:22:14 <ehird> No; listen; I had LLVM recently.
20:22:15 <AnMaster> hm no llc? that is strange indeed
20:22:17 <ehird> It had an llvm(1).
20:22:29 <AnMaster> $ ls ~/local/llvm/bin
20:22:29 <AnMaster> bugpoint llc llvm-as llvm-config llvm-dis llvm-gcc llvm-ld llvm-prof llvmc x86_64-pc-linux-gnu-gcc-4.2.1 x86_64-pc-linux-gnu-llvm-g++
20:22:29 <AnMaster> gccas lli llvm-bcanalyzer llvm-cpp llvm-extract llvm-gccbug llvm-link llvm-ranlib opt x86_64-pc-linux-gnu-llvm-c++ x86_64-pc-linux-gnu-llvm-gcc
20:22:29 <AnMaster> gccld llvm-ar llvm-c++ llvm-db llvm-g++ llvm-gcov llvm-nm llvm-stub x86_64-pc-linux-gnu-cpp-4.2.1 x86_64-pc-linux-gnu-llvm-cpp
20:22:31 <Deewiant> I have llc/lli but no llvm, FWIW
20:22:31 <AnMaster> FYI ^
20:23:10 <ehird> llvm[2]: Uninstall circumvented with NO_INSTALL
20:23:11 <ehird> wat
20:23:19 <AnMaster> the llvm prefix I selected with a configure option to llvm-gcc... So I can have it in PATH
20:23:30 <AnMaster> ehird, err?
20:24:03 <AnMaster> I don't have any llvm man page
20:24:15 <ehird> ?
20:24:24 <AnMaster> as in no man page named just llvm
20:24:32 <AnMaster> there is llvm-ar(1) and such
20:24:32 <ehird> I don't know what you're blabbing about
20:24:37 <AnMaster> <ehird> And there IS llvm(1)
20:24:37 <ehird> and I don't care
20:24:37 <AnMaster> that
20:24:44 <AnMaster> ok
20:24:53 <ehird> great, make uninstall fails on LLVM if you haven't already compiled it
20:24:56 <ehird> joy to the fucking world
20:25:38 <AnMaster> ehird, heh. May I mention some non-linux specific ways to solve it for software you compile manually?
20:25:52 <ehird> If you wish
20:25:54 <AnMaster> --prefix
20:26:05 <ehird> Yeah; I so enjoy fighting with my system
20:26:06 <AnMaster> like --prefix=$HOME/local/<programname>
20:26:12 <ehird> 100 long path entries give me a hardon.
20:26:24 <AnMaster> ehird, no need. That is why you use symlinks in ~/bin
20:26:34 <ehird> ->square 1
20:26:44 <AnMaster> ehird, you could make a symlink manager
20:26:51 <ehird> No.
20:27:45 <AnMaster> ehird, and not everything you actually need in $PATH. Stuff like pure libraries
20:27:46 <ehird> shit, i -have- 3.1.2
20:27:55 <AnMaster> ehird, 3.1.2 of what?
20:27:59 <ehird> xcode
20:28:45 <ehird> ""Xcode 3.1 introduces two new compilers for Mac OS X: GCC 4.2"
20:28:49 <ehird> 4.2? Nobody fuckin' told me
20:28:54 <ehird> Oh.
20:28:57 <ehird> It's called "gcc-4.2".
20:29:09 <ehird> Dear Apple,
20:29:10 <ehird> what the fuck?
20:29:14 <ehird> Hate, Elliott
20:30:00 <AnMaster> ah
20:30:36 <ehird> (~/D/llvm-2.5) set CC gcc-4.2; ./configure --enable-{optimized,pic}; set -e CC
20:30:37 <ehird> la la la
20:31:31 * ehird make -j3
20:31:35 <ehird> Maybe speed will solve my problems.
20:31:49 <ehird> Hey, it's building linearly anyway.
20:31:50 <ehird> Fuck that.
20:31:52 <AnMaster> ehird, I have multiple gcc-x.y too, Gentoo has a tool somewhat like the "alternatives" thingy on Debian. gcc is a small shell script that runs either /usr/bin/gcc-<configured version>
20:32:07 <ehird> Wait, no, llvm is just slow to compile. God.
20:32:07 <AnMaster> set CC gcc-4.2 <-- are you using tcsh?!
20:32:11 <ehird> AnMaster: fish
20:32:22 <AnMaster> ehird, ah tried that once, rather weird
20:32:23 <ehird> I switched from zsh ~25 minutes ago.
20:32:28 <ehird> It's cleverer than zsh, so I like it more.
20:32:37 <ehird> And my quote key works once more.
20:32:37 <Deewiant> It's non-POSIX which might play havoc with many things
20:32:46 <ehird> Deewiant: That's why you don't write shell scripts in it
20:32:46 <Deewiant> Might have to give it a try to see if it does
20:32:51 <ehird> Because you should use a proper scripting language
20:32:51 <ehird> :P
20:32:54 <AnMaster> Deewiant, ah yes, now I remember why I uninstalled it again
20:33:01 <ehird> It uses sh(1) to run ./foo
20:33:03 <ehird> I believe
20:33:11 <ehird> when there's no shebang and it's not an executable
20:33:37 <ehird> I don't care about POSIXness; the POSIX syntax shits on my day all the time so I'm happy to be rid of it for interactive use
20:33:41 <AnMaster> ehird, personally I write a lot of bash one liners. How well can you do such things?
20:33:48 <AnMaster> with loops
20:33:52 <ehird> AnMaster: Just as well.
20:34:03 <ehird> http://www.fishshell.org/images/fish7.png <- Function-y thingy.
20:34:10 <ehird> http://www.fishshell.org/user_doc/index.html Docs of control structures and whatnot
20:34:17 <AnMaster> like: for i in ~/.mozilla/profile/blah/*.sqlite; do sqlite3 "$i" VACUUM; done
20:34:25 <ehird> (~) for x in *; echo $x; end
20:34:25 <ehird> Code
20:34:26 <ehird> crap
20:34:28 <ehird> Desktop
20:34:29 <AnMaster> (some of the sqlite files in mozilla can grow very large)
20:34:30 <ehird> (etc)
20:34:32 <ehird> And yes, that works with spaces in filenames.
20:34:40 <ehird> Also, `foo` and $(foo) become (foo).
20:34:41 <AnMaster> ehird, it would for bash too
20:34:47 <AnMaster> err
20:34:47 <Deewiant> ehird: Non-case-sensitive just for sorting, or otherwise as well?
20:34:51 <ehird> Yes, but for non-echo things too, AnMaster
20:34:56 <AnMaster> $(foo) become (foo) ?
20:35:02 <ehird> Yes.
20:35:04 <ehird> It's not POSIX syntax.
20:35:06 <ehird> It's saner
20:35:09 <AnMaster> hm
20:35:19 <AnMaster> ehird, so how do you do a subshell then
20:35:22 <ehird> As you can see from http://www.fishshell.org/images/fish7.png the command syntax is used for eeverything
20:35:23 <ehird> AnMaster: ()
20:35:25 <AnMaster> if () is used for something else
20:35:45 <AnMaster> ehird, $() and () are different types of subshells...
20:35:50 <AnMaster> in posix
20:36:00 <AnMaster> so how do you do a () style subshell
20:36:05 <ehird> Yes, and I'm eternally happy to not have to give a shit about which I'm using because there's no such warts in fish.
20:36:33 <ehird> (~) rm<TAB>
20:36:33 <ehird> rm (Remove directory entries) rmiregistry (Java remote object registry)
20:36:35 <AnMaster> ehird, so () behaves like $()?
20:36:35 <ehird> rmdir (Remove directories) rmsgfmt (Executable, 396B)
20:36:37 <ehird> rmic (Java RMI stub compiler) rmsgmerge (Executable, 398B)
20:36:39 <ehird> rmid (RMI activation system daemon) rmt (Remote magtape protocol module)
20:36:41 <ehird> Fuck yeah whatis(1).
20:36:43 <AnMaster> ehird, what does this do in fish: $(echo ls)
20:36:44 <Deewiant> AnMaster: What's the difference in POSIX
20:36:44 <ehird> AnMaster: or (). I don't even know; there's no distinction between the two.
20:36:48 <ehird> Also, gives an error.
20:37:01 <ehird> fish: Did you mean (COMMAND)? In fish, the '$' character is only used for accessing variables. To learn more about command substitution in fish, type 'help expand-command-substitution'.
20:37:01 <ehird> echo $(echo ls)
20:37:03 <ehird> ^
20:37:31 <AnMaster> Deewiant, $() substitutes the output of the command in the rest of the command
20:37:41 <Deewiant> Yeah, but what's ()
20:37:43 <AnMaster> Deewiant, () sends stdout to stdout
20:37:49 <AnMaster> just a subshell.
20:37:50 <Deewiant> Right
20:38:06 <AnMaster> so (cd foo); won't change current working directory for example. Since it is a subshell
20:38:20 <AnMaster> nor will variable or env changes be visible outside
20:38:25 <AnMaster> and so on
20:38:52 <AnMaster> ehird, anyway what command in fish does the same as $(echo ls) do in bash. That is with the substitution bit.
20:38:57 <AnMaster> a plain ls would do the same of course
20:39:00 <ehird> ()
20:39:05 <AnMaster> but that is an oversimplified example
20:39:06 <ehird> Well.
20:39:09 <ehird> You can't use it as the head of a command.
20:39:21 <ehird> I'm not sure why
20:39:31 <AnMaster> ehird, ok. Using it at the head is rather uncommon, thought it can be useful sometimes
20:39:47 <ehird> (~) cat <(echo hi)
20:39:47 <ehird> fish: An error occurred while redirecting file 'hi'
20:39:49 <ehird> open: No such file or directory
20:39:52 <ehird> So, yes, it's $(foo)
20:40:05 <ehird> I think the only times I've used subshells is to work around shittiness in bash/zsh
20:40:06 <AnMaster> ehird, aww, <() is very useful
20:40:13 <ehird> AnMaster: I forget what <() does
20:40:16 <ehird> Isn't it just a reverse |?
20:40:34 <Deewiant> AnMaster: there's psub for that, read the tutorial/whatever
20:40:37 <AnMaster> $ echo <(echo hi)
20:40:38 <AnMaster> /dev/fd/63
20:40:40 <AnMaster> answer: no
20:41:59 <ehird> Deewiant: psub seems to print out junk output
20:42:06 <ehird> it prints -- psub -Q -o hf -- to stderr, I think
20:42:11 <ehird> I wonder why
20:42:12 <Deewiant> ehird: Well, I don't know how it works
20:42:28 <AnMaster> ehird, a not-so-good example for subshells (yes in this case the user wants to continue with next even if one fails. Call it "primitive tinderbox" if you want): for i in build_*; do (cd $dir && make); done
20:43:08 <Deewiant> Isn't (foo) just 'bash -c foo'
20:43:15 <Deewiant> Where s/bash/whatever shell/
20:44:11 <AnMaster> Deewiant, well, not exactly I *think*. Quoting would differ for example.
20:45:09 <ehird> http://www.nopaste.com/p/aonYWAHNqb <-- That error message could do with a trim...
20:45:34 <AnMaster> Deewiant, and then for bash there are some other things:
20:45:42 <AnMaster> BASH_SUBSHELL
20:45:43 <AnMaster> Incremented by one each time a subshell or subshell environment is spawned. The initial value is 0.
20:45:44 <AnMaster> for example
20:45:48 <ehird> heh, it just does (echo | bc), essentially
20:45:50 <AnMaster> makes me wonder "why that"
20:46:27 <AnMaster> ehird, it seems oddly formatted indeed
20:46:42 <ehird> individually it makes sense
20:46:45 <ehird> switch: Expected exactly one argument, got 0
20:46:45 <ehird> /opt/local/share/fish/functions/math.fish (line 12): switch $out
20:46:47 <ehird> ^
20:46:49 <ehird> that's just alignment
20:46:54 <ehird> but then it gives you the context by indenting
20:46:59 <ehird> then you have some fucked up summary of the man page
20:47:18 <AnMaster> ehird, heh
20:47:57 <AnMaster> Deewiant, I'm not sure if the special variable PIPESTATUS (array) is affected by pipes in subshells or not
20:49:01 <AnMaster> Deewiant, oh also the values in hash are inherited to child
20:49:04 <ehird> FUCKING FUCKING SAME FUCKING ERROR FUCK LLVM IN THE ASS FUCK
20:49:09 <ehird> HATE RAGE
20:49:17 <AnMaster> Deewiant, that is quite a major difference
20:49:45 <ehird> AnMaster: which gcc did you use that it worked on
20:49:46 -!- neldoreth has quit (Remote closed the connection).
20:49:50 -!- neldoreth has joined.
20:50:54 <AnMaster> ehird, gcc 4.3.3. NOTE: llvm will fail if the libstdc++ and libgcc from gcc 4.3.3 are not in LD_LIBRARY_PATH.
20:50:58 <AnMaster> version differences
20:51:07 <ehird> I hate life <33
20:51:12 <ehird> it's so life.
20:51:34 <ehird> yay it works maybe,.
20:51:34 <AnMaster> ehird, another solution would be LDFLAGS="-Wl,-rpath,/path/to/gcc-4.3.3/lib" ../llvm-2.5/configure ...
20:51:39 * ehird fingers doth cross
20:51:46 <AnMaster> that would avoid having to use LD_LIBRARY_PATH
20:51:46 <ehird> 83%
20:51:48 <ehird> 85%
20:51:50 <ehird> 97%
20:51:51 <ehird> 91%
20:51:54 <ehird> fff
20:51:54 <AnMaster> wait Mach-O...
20:51:58 <ehird> 94%
20:51:59 <AnMaster> no idea for Mach-O
20:52:00 <ehird> 96%
20:52:03 <ehird> 100%
20:52:06 <ehird> LINKING
20:52:12 <ehird> [100%] Built target ldc
20:52:16 <ehird> THANK YOU ALLAH
20:52:18 <ehird> :||||
20:52:20 <AnMaster> ehird, better run test suite
20:52:26 <AnMaster> llvm can miscompile easily
20:52:26 <ehird> how
20:52:28 <ehird> it's ldc
20:52:30 <ehird> not llvm
20:52:32 <AnMaster> oh right
20:52:39 <AnMaster> sure your llvm itself is sane?
20:52:47 <ehird> I'll assume so.
20:52:58 <AnMaster> ehird, it's the one from apple xcode?
20:53:02 <ehird> no
20:53:06 <AnMaster> oh
20:53:10 <ehird> Also, the issue was ldc was picking up _macports's_ llvm-config, OR that I had to compile ldc with gcc-4.2 too
20:53:11 <ehird> I don't know which
20:53:14 <ehird> I fixed both simultaneously
20:53:36 <AnMaster> ehird, if not I would definitely run make check in llvm build directory. Needs llvm-gcc installed to be able to run test suite
20:53:50 <ehird> I don't want to bother
20:53:54 <AnMaster> mhm
20:54:15 <AnMaster> ehird, also I suspect gcc 4.2 would indeed work. Since llvm-gcc is gcc-4.2.1 + patches
20:54:26 <AnMaster> but I just haven't tried that
20:56:35 <oklofok> helloes
20:56:56 <oklofok> well this was fun but gotta go again ->
20:59:02 -!- FireFly has quit ("Later").
21:01:41 <ehird> Rebuild has some advantages to using a static Tango library (as described above). It compiles and links only to the modules you actually need, and changing the compiler options, for all the modules your application needs, is easy.
21:01:49 <ehird> NOW YOU TELL ME, RIGHT AFTER I FOLLOW THE FUCKING INSTRUCTIONS
21:01:58 <ehird> d is the single most shitty language to set up a compiler for
21:02:01 <ehird> I hate it.
21:02:43 <ehird> HTF are you meant to use those tools WITHOUT A D COMPILER?!
21:02:53 <ehird> HATE
21:04:02 <pikhq> Basically the issue with D is that it assumes that it'll get bootstrapped, similar to how C works...
21:04:15 <pikhq> And people aren't all that well set up for bootstrapping D.
21:04:26 <ehird> AAAAAAAAAAAAAARGH I HATE THIS
21:04:32 <ehird> To hell with ldc
21:04:56 * comex looks at alchemy
21:05:02 <ehird> comex: ?
21:05:05 <pikhq> Might be easiest to get a binary of dsss, then use that to get you a gdc.
21:05:11 <ehird> pikhq: gdc? Seriously?
21:05:22 <comex> wouldn't it be awesome to get a web engine running inside flash
21:05:29 <ehird> Yeah, I want to use a compiler that was last released in 2007 and has been abandoned almost entirely.
21:05:31 <AnMaster> ehird, I always read the whole page before starting
21:05:35 <AnMaster> it is often useful
21:05:53 <ehird> AnMaster: Gee, AnMaster giving a diatribe about how he's more patient and moral than the target
21:05:54 <pikhq> ... GDC hasn't had a release in that long?
21:05:56 <pikhq> Ick.
21:05:56 <ehird> Unusual
21:05:57 <AnMaster> <ehird> d is the single most shitty language to set up a compiler for <-- so very true
21:06:20 <pikhq> Sure enough.
21:06:31 <pikhq> Ldc, then.
21:06:39 <ehird> pikhq: guess what I just got angry about?
21:06:40 <ehird> Installing LDC
21:06:44 <comex> Adobe has downloads labeled Windows, Mac, and Linux
21:06:53 <AnMaster> ehird, sorry. I was just trying to be helpful.
21:06:53 <ehird> comex: Interesting observation
21:06:54 <pikhq> Hmm.
21:06:56 <comex> however, if you click linux, you get a file labeled "ubuntu"
21:07:05 <comex> clearly, ubuntu = linux
21:07:28 <AnMaster> ouch
21:07:41 <pikhq> So, yeah. D is a royal bitch to get working right.
21:07:46 -!- oerjan has joined.
21:07:51 <AnMaster> oerjan, hi
21:07:58 <AnMaster> afk for a while
21:08:00 <oerjan> hei hei
21:08:28 <AnMaster> oerjan, by the way...
21:09:09 <AnMaster> ...which university do you work at?
21:11:10 <oerjan> none
21:11:21 <AnMaster> oerjan, no?
21:11:25 <AnMaster> huh?
21:11:31 <ehird> AnMaster: when did you stop beating your wife?
21:11:36 <ehird> err
21:11:39 <ehird> s/when did/have/
21:11:42 <ehird> s/stop/stopped
21:11:44 <ehird> /
21:11:52 <AnMaster> ehird, I'm not married even. :P
21:11:56 <ehird> Yes or no.
21:12:03 <AnMaster> ehird, invalid question.
21:12:10 <ehird> AnMaster: Congratulations; you answered your own question.
21:12:24 <AnMaster> ehird, because it assumes 1) I'm married 2) I'm into S&M
21:12:39 <AnMaster> ehird, err I was pretty sure oerjan worked at an university
21:12:40 <ehird> It doesn't imply 2), as far as I can tell.
21:13:12 <AnMaster> ehird, well why else would someone beat his wife...
21:13:26 <ehird> ó-ó
21:13:31 <oerjan> ehird: don't tell him, let him keep his innocence
21:13:37 <oerjan> it's such a rare thing
21:13:48 <ehird> he can have mine. oh wait.
21:13:50 <AnMaster> oerjan, no I was just being sarcastic..
21:13:59 <ehird> I doubt it was sarcasm; that makes no sense.
21:14:03 <ehird> An attempt at a joke, maybe.
21:14:17 <AnMaster> ehird, the question I asked there was deeper
21:14:18 <ehird> Which, would be plausible, if it even hinted that it thought being funny might be a prospect to consider sometime, maybe.
21:14:29 <oerjan> only AnMaster can fail to detect a joke while explaining he was joking :D
21:14:33 <AnMaster> ehird, now go figure it out
21:14:47 <ehird> AnMaster: That's an incredibly incompetent attempt at a copout.
21:15:05 <AnMaster> ehird, actually it was. I was suggestion that there was no other *valid* reason.
21:15:16 <ehird> See, that's not what you said.
21:15:32 <ehird> Also; I assume you mean "my wife is into S&M".
21:15:37 <ehird> The current form is even more meaningless.
21:15:44 <AnMaster> ehird, ok that was a typo
21:15:53 <AnMaster> in fact I considered that both would be into it
21:15:53 -!- calamari has joined.
21:15:59 <AnMaster> otherwise it wouldn't make much sense indeed
21:16:10 <Sgeo> <oerjan> only AnMaster can fail to detect a joke while explaining he was joking :D
21:16:14 <Sgeo> I do that too sometimes
21:16:21 <ehird> Sgeo: PSOX.
21:16:25 <AnMaster> oerjan, hm "* oerjan (n=oerjan@hagbart.nvg.ntnu.no) has joined #esoteric" <-- ntnu.no gives me some university page...
21:16:39 <ehird> University = works at university. Duhh!
21:16:40 <oerjan> AnMaster: i've kept my old computer club account
21:16:43 <AnMaster> oerjan, And... I'm pretty sure you said you weren't a student
21:17:22 <Sgeo> ehird, ... I'm convinced taht that's revelent to the whole joking about joking thing somehow, but I'm not sure how
21:17:35 <oerjan> i'm actually ssh'ing there from home
21:18:20 <AnMaster> oerjan, mhm
21:18:21 <Sgeo> Incidentally, soon I'm going to start working on another project, one that will hopefully be useful and make me some money (probably not much, though)
21:18:46 <AnMaster> oerjan, so what do you work with then?
21:19:00 <ehird> Sgeo: what is it
21:19:02 <oerjan> darn
21:19:09 <AnMaster> oerjan, ?
21:19:23 <AnMaster> I'm pretty sure you were a $something in mathematics.
21:19:24 <Sgeo> ehird, the Antiposeball 6, next version of my rather successful, if underpriced, Antiposeball 5
21:19:28 <oerjan> still nothing
21:19:32 <ehird> Sgeo: wut
21:19:34 <oerjan> oh i _were_
21:19:41 <AnMaster> oerjan, you lost your job?
21:19:51 <oerjan> it was a temporary postdoc
21:19:53 <Sgeo> https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=374979
21:19:55 <AnMaster> oh I see
21:20:03 <ehird> oh, faggy second life stuff, I see I see.
21:20:06 <ehird> wait, that shit gives real money>
21:20:09 <ehird> ?
21:20:11 <ehird> what the fuck
21:20:26 <Sgeo> People are willing to buy L$ with USD
21:20:30 <Sgeo> And visa versa
21:20:34 <ehird> I read that as
21:20:39 <ehird> people are willing to buy L$ with LSD
21:20:44 <Sgeo> I myself am making very little money off of this though
21:20:45 <Sgeo> lol
21:20:47 <ehird> and I was on the account creation screen already!
21:25:48 <oerjan> i guess it's finally spring, ants and spiders are coming into the house again
21:26:45 -!- kar8nga has joined.
21:27:54 <ehird> oerjan: i assume you don't work than
21:27:59 <ehird> and yes than was intentional
21:28:00 <ehird> thannnnnnnnng
21:28:03 <ehird> it is a word for the ages
21:32:35 <oerjan> well whatever's your thang
21:34:10 <oerjan> <ais523> although it would be great if there was an even bigger secret one I didn't know about
21:34:22 <oerjan> if you found out, they would have to kill you
21:35:15 <oerjan> perhaps the NSA uses esolangs for solving PSPACE-complete problems in no time
21:35:34 <oerjan> it only works because it's INSANE
21:36:03 -!- neldoreth has quit (No route to host).
21:40:21 <psygnisfive> HEY GUISE
21:40:28 <psygnisfive> LOLCATS IS SRIUS BISNESS
21:40:29 <psygnisfive> http://languagelog.ldc.upenn.edu/nll/?p=1256
21:40:29 <ehird> oh no
21:40:37 <psygnisfive> also, hey.
21:41:15 <oerjan> psygnisfive: BUT SIRIUS IS A DOG STAR...
21:41:23 <psygnisfive> OH NOES
21:41:31 <oerjan> i guess it chases them, or something
21:41:33 <psygnisfive> KITTIUS
21:41:42 -!- Guest13293 has quit (Read error: 110 (Connection timed out)).
21:41:49 <psygnisfive> so im curious
21:42:11 <psygnisfive> im not sure how it'd work, precisely, yet
21:42:20 <psygnisfive> but
21:43:20 <psygnisfive> i think itd be interesting to experiment with a programming language in which the lexed items have a compositional semantics and type system that can be manipulated in CCG like fashion
21:43:58 <psygnisfive> especially where mismatches are concerned.
21:43:59 <psygnisfive> hmm hmm
21:45:03 <Sgeo> oerjan, what did ais523 mean by "bigger secret one"? "bigger secret one" than what?
21:45:36 <oerjan> insert comma between first two words
21:46:55 <Sgeo> is "one" == "esolang"?
21:48:57 <oerjan> Use the Logs, Sgeo
21:49:12 <oerjan> (from yesterday)
21:50:55 <Sgeo> got it
22:14:32 -!- neldoreth has joined.
22:16:42 <ehird> fish: Failed to execute process '/usr/bin/grep'. Reason:
22:16:43 <ehird> fish: The total size of the argument and environment lists (836kB) exceeds the
22:16:44 <ehird> system limit of 256kB.
22:16:46 <ehird> fish: Please try running the command again with fewer arguments.
22:16:48 <ehird> gggg
22:18:26 <oerjan> something is definitely fishy there
22:46:24 <bsmntbombdood> fail
22:46:34 <bsmntbombdood> do grep -r
23:07:14 -!- KingOfKarlsruhe has joined.
23:14:14 -!- k has joined.
23:14:42 -!- k has changed nick to Guest43560.
23:14:44 -!- calamari has left (?).
23:17:21 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:17:43 <AnMaster> heh
23:17:49 <AnMaster> youtube just gave me "500 Internal Server Error"
23:19:40 <AnMaster> With a Swedish error message though... saying (translated): "Sorry, something went wrong.\nWe have sent out a team with well trained apes that will solve the problem." Then on a new line in English: " Also, please include the following information in your error report: f77t3o69eabsRNTY4yT_w2nOrdfwZuyWBlJ84eQiKqDa3<several more lines like this...>"
23:19:53 * AnMaster wonders what the long random-seeming string is...
23:20:15 <AnMaster> ehird, there?
23:20:17 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
23:20:38 <AnMaster> If anyone know about error messages on such sites it would be you...
23:21:46 <oklofok> nice, 7 weeks of 1-2 exams a week, starting in two weeks
23:21:50 <oklofok> also exam tomorrow
23:33:56 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:36:16 <ehird> Bcak
23:36:17 <ehird> Back
23:36:29 <ehird> AnMaster: encoded/encrypted stack trace
23:36:33 <ehird> and errorinfo
23:36:44 <AnMaster> ehird, hm
23:36:59 <AnMaster> ehird, do you know this since before?
23:37:05 <AnMaster> or something
23:37:15 <ehird> AnMaster: it's what i'd do
23:37:20 <AnMaster> ehird, well true
23:37:21 <ehird> and its the only useful info it could be
23:37:22 <AnMaster> hm
23:37:35 <AnMaster> wonder if anyone broke the encryption/encoding used
23:37:44 <AnMaster> would be really interesting
23:38:08 <oerjan> sure it's not just Base64?
23:38:26 <AnMaster> oerjan, no, but I'll pastebin it if you want to look
23:38:39 <oklofok> i'm sure he wants to look
23:38:47 <oerjan> i don't know how to check it anyway
23:38:56 -!- neldoreth has quit ("leaving").
23:39:03 -!- neldoret1 has joined.
23:39:05 <AnMaster> http://paste.lisp.org/display/77401
23:39:08 <oerjan> i just know it gives printable ASCII
23:39:12 <AnMaster> if anyone is interested
23:39:48 <AnMaster> ��ގ�y��D���$base64: invalid input
23:39:54 <AnMaster> I get that from base64 -d
23:39:56 <AnMaster> so I guess not
23:40:08 <AnMaster> also bas64 tends to look different
23:40:09 <oerjan> oh well
23:40:26 <AnMaster> more + and such iirc
23:41:42 -!- Guest43560 has quit (Remote closed the connection).
23:42:46 -!- zzo38 has joined.
23:43:23 <zzo38> Do you know any example of any program using quantum computing algorithm? And I mean the real one, not the one that CLC-INTERCAL uses
23:44:53 <AnMaster> zzo38, well since there are no useful quantum computers yet I guess it is all highly theoretical still. Sure there have been some successful experiments with a few qbits (8 or something iirc?)
23:45:14 -!- KingOfKarlsruhe has joined.
23:45:17 <ehird> AnMaster: there are many programs simulating qubits
23:45:23 <AnMaster> ah yes
23:45:28 <AnMaster> now that you mention it
23:45:30 <ehird> it's not hard, just slow
23:45:38 <AnMaster> I remember some quantum brainfuck
23:45:46 <AnMaster> probably on the wiki
23:45:46 <ehird> yes
23:45:56 * ehird continues working on clone of the "xjump" game; anyone heard of it?
23:46:06 <ehird> aka falling tower
23:46:22 <zzo38> There are also quantum emulators on normal computers, they can't deal with very many qubits at once and it isn't as fast as real quantum computers. I want to know because I just defined quantum computing commands in CLCLC-INTERCAL today and I want to know how to write a program with the commands I defined
23:47:08 <zzo38> I have seen the quantum brainfuck on the wiki but the link to the file doesn't work
23:47:33 <zzo38> I would also like to see a example of a program written in quantum brainfuck if there are any.
23:47:48 <AnMaster> mhm
23:47:57 <ehird> AnMaster: you seem like the type to have played xjump?
23:48:19 <AnMaster> ehird, the name does sound slightly familiar. Please remind me of what type of game it was
23:48:44 <ehird> AnMaster: There's platforms on the screen; you control a guy. You jump higher and higher, while the tower falls downwards; if you go below the bottom, you die.
23:48:51 <ehird> So, jump jump jump slip fall game over
23:49:03 <zzo38> The command DO QUANTUM |1_|2 TRANSFORM |2_|1 is valid, but I'm not sure what it would do.
23:49:04 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:49:05 <AnMaster> ah yes that one. I died very early on
23:49:09 <ehird> Ditto
23:49:14 <AnMaster> not very fun if you die early on
23:49:18 <AnMaster> so I uninstalled it
23:49:31 <ehird> In my clone I was going to make it a little less skiddy
23:49:36 <zzo38> I don't understand quantum computing enough to understand it. I know a few things about quantum computing and quantum physics (I even have a book) but I don't know how a program would be written.
23:49:41 <AnMaster> ehird, that would probably help yes
23:49:55 -!- BeholdMyGlory has joined.
23:50:04 <ehird> zzo38: Look up that factoring algorithm for it?
23:50:06 <AnMaster> ehird, more mario style jump maybe? I have no problems with such high friction landing jumps
23:50:09 <ehird> On wikipedia's qubit I think
23:50:21 <ehird> AnMaster: Yeah, mario style jumps are nice
23:50:52 <AnMaster> ehird, Does mario have *any* skidding?
23:51:11 <ehird> No.
23:51:14 <AnMaster> mhm
23:51:35 <ehird> Mario physics are wack
23:51:38 <zzo38> I prefer fixed jumps over Mario-style
23:51:40 <AnMaster> ehird, a slight skidding (a few pixels) wouldn't be a probelm
23:51:43 <AnMaster> problem*
23:51:47 <ehird> zzo38: fixed?
23:51:48 <AnMaster> zzo38, "fixed jumps"?
23:52:07 <AnMaster> as in "not movable"? or "not broken"?
23:52:32 <AnMaster> not that the first makes much sense...
23:52:50 <AnMaster> and the second is rather poorly defined.
23:52:58 <AnMaster> (in this convo I mean)
23:53:18 <zzo38> By fixed jumps I mean you push jump button once and then you jump at a fixed height and fall back down, the amount of time you hold the button makes no difference. Also in the game I make I prefer to use L.shift to move left, R.shift to move right, Space to jump, Enter to action
23:53:37 <AnMaster> ...
23:53:39 <ehird> Mario is that, then
23:54:06 <AnMaster> zzo38, you know a lot of keyboards have issues detecting certain key combos?
23:54:18 -!- BeholdMyGlory has quit (Remote closed the connection).
23:54:49 <zzo38> I know some do, but I still prefer the key combinations I defined as long as it works. What is even more better is configuration of keyboard controls, so that I can configure it the way I want if my computer supports it
23:55:11 <zzo38> And other people can change the keyboard setting in case it doesn't work or they don't like it
23:55:33 <AnMaster> zzo38, mine doesn't like space and shift at the same time for some unknown reason...
23:55:46 <AnMaster> which is indeed rather irritating
23:56:07 -!- oerjan has quit ("Good night").
23:56:53 <zzo38> I found Shor's algorithm but how can you implement it using only controlled-V and hadamard? Because quantum brainfuck is apparently "quantum complete" so you should be able to do so, but I don't know how.
23:57:07 <ehird> Not sure
23:57:15 <zzo38> But what I really want to implement it in is CLCLC-INTERCAL
23:57:37 <ehird> zzo38: If you look up the other operations, maybe they show you how to implement them with those two
23:58:54 <AnMaster> if quantum computing ever goes mainstream the average pay for programmers will rise.
23:59:25 <AnMaster> Why? Because it is a lot easier to learn "normal" programming that quantum physics...
2009-03-22
00:00:38 -!- KingOfKarlsruhe has joined.
00:01:47 <oklofok> it is?
00:01:48 <zzo38> I found Shor's algorithm implemented in C even!
00:01:58 <oklofok> link
00:02:12 <AnMaster> link indeed
00:02:30 <zzo38> If you mean the algorithm in C, it is: http://alumni.imsa.edu/~matth/quant/299/paper/node42.html
00:04:05 <AnMaster> ah interesting
00:04:12 <AnMaster> well commented too :)
00:04:54 <AnMaster> zzo38, that isn't C... that is C++
00:04:56 <AnMaster> eww
00:05:14 <ehird> oh stop whining
00:05:21 <ehird> what matters is the algorithm
00:05:43 <zzo38> But how would the INTERCAL commands be effectively used for that? CLCLC-INTERCAL defines the following for quantum computing: The QUANTUM keyword which is used like % but for quantum probabilities, qubit registers, the controlled-V operator, and the TRANSFORM command.
00:06:01 <AnMaster> ehird, it has a qubit class though... And a qubit register class as well..
00:06:06 <ehird> So?!
00:06:12 <AnMaster> I'm happy it isn't a template at least
00:06:21 <oklofok> if you're seriously saying the class *usage* part of c++ is worse than pure c, i'd love to hear you're arguments
00:06:28 <oklofok> you're
00:06:34 <oklofok> *your
00:07:21 <AnMaster> oklofok, I just find C++ a horrible implementation of object orientation. There are much better object oriented languages, such as Objc and Smalltalk
00:07:42 <AnMaster> oklofok, I suggest you read the C++ FQA
00:07:51 <AnMaster> in case you have further questions
00:07:54 <oklofok> but basically the only difference between procedural c and c++ is types like complex use a sensible syntax
00:07:57 <ehird> AnMaster you're so good at parroting stuff about languages I know you've never used.
00:08:28 <oklofok> AnMaster: i've read some of that, seemed a bit void of content
00:08:39 <AnMaster> ehird, I have used objc a bit, not much, and I heard it is similiar to smalltalk in the OO bits (you told me so). So I do indeed extrapolate from it.
00:08:51 <AnMaster> night all
00:09:05 <zzo38> I also find C++ bad object orientation (and even worse when compiling for the Nintendo DS, because apparently C++ makes bloated executables that will not fit on the Nintendo DS)
00:10:19 <zzo38> Does anyone who understands quantum computing better would know what this program does: DO |1 <- #50$#50 DO QUANTUM |1 IGNORE |1 DO TRANSFORM |1
00:10:35 <zzo38> And would it make a difference if the TRANSFORM comes before the IGNORE
00:10:51 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:11:45 <oklofok> i'm just saying procedural c++ is just c enhanced with a nicer syntax for making your structs
00:12:22 <oklofok> (and usering them)
00:13:34 <pikhq> With function overloading and default arguments.
00:13:46 <oklofok> yes, but there weren't even functions there
00:13:55 <pikhq> *Oh*.
00:14:03 <oklofok> and it was in pseudo-code fashion anyway
00:14:27 <oklofok> so why would you use a language where things like operations on complexes look like milking a male horse
00:14:29 <pikhq> Well, there's a nicer syntax for structs and some fiddly details with how pointers work.
00:14:38 <pikhq> Pointless.
00:14:56 <zzo38> O, and please remember that ignoring a quantum register does not prevent the qubit value from being changed, only which qubit the register refers to is becoming unchanged.
00:15:05 <oklofok> could you elaborate on "fiddly details with how pointers work"
00:15:26 <oklofok> zzo38: i can't say i understand that.
00:15:27 <pikhq> int *foo = malloc(sizeof(int)*5); is not valid C++.
00:15:55 <pikhq> A void pointer isn't implicitly cast in C++...
00:16:06 <oklofok> ah right.
00:16:16 <oklofok> that kinda details
00:16:24 <pikhq> Yeah, little stuff like that.
00:17:07 <oklofok> should probably take that course on quantum computing next year
00:17:15 <oklofok> i'm sure i don't need to know any physics for it
00:17:32 <Slereah> But I could teach you so much!
00:17:37 <Slereah> Come sit on my lap, boy
00:17:49 <ehird> hmm, non-abstract game objects suck
00:17:53 <ehird> because you have to draw them :D
00:18:04 <ehird> who doesn't want to control a square?
00:18:05 <zzo38> But probably knowledge of mathematics (including complex numbers and matrices) would help, whether or not you need to know any physics for it
00:18:17 <ehird> I think oklofok is quite well math-versed...
00:18:26 * Sgeo hasn't taken a math course in a while
00:18:41 <oklofok> i'm a noob in math, just gifted
00:18:51 <zzo38> Why draw the object? If everything is on the grid then just use ASCII. If it is not a grid then you do need to draw it, at least the circle or sqwuare plus a few other featuers
00:18:59 <oklofok> (i do know complex numbers and matrices tho)
00:19:02 <Sgeo> I'm scared I might forget everything I didn't know in 6th grade. Mind you, I understood calculus in 6th grade (not enough to apply it), but still
00:19:18 <oklofok> Sgeo: what did you understand about it?
00:20:08 <Sgeo> I understood the basics of differentiation(sp?) and integration, but didn't understand how to differntiate, say, 1/x (didn't realize that that's just x^-1)
00:20:11 <oklofok> i "understood" that integrals are a kind of infinite sum
00:20:19 <zzo38> I also know complex numbers and matrices, but it confuses me a bit when dealing with quantum computing, mostly because I don't understand quantum computing perfectly. I do understand math, and with any proper equations using only complex numbers and matrices I might understand it
00:20:22 <oklofok> probably in the 7th grade
00:20:26 <oklofok> but it's not that much to understand
00:21:11 -!- KingOfKarlsruhe has joined.
00:21:25 <oklofok> Sgeo: those are just rules you memorize. deriving them is what not all 6th graders can do.
00:21:33 * Sgeo <3ed Calculus the Easy Way
00:22:06 <zzo38> O, I learned differentiation calculus in school too, when the teacher teached a few things, then I found the infinite series for sin(x), cos(x), e^x, in another math book and I thought, O, I can figure out the derivative of this! So I did, and I told the calculus teacher. He ask me to figure out derivative tan(x), I knew it was sin(x)/cos(x) and they teached division differentiation so I was easily able to figure it out
00:23:06 <oklofok> calculus is kinda boring
00:23:32 <zzo38> The teacher even showed how to figure out how some of the rules work, which is good. I realized some of the rules could be figured out in alternate ways having to do with the other rules
00:23:57 <oklofok> "how to figure out"?
00:24:19 <oklofok> the only way to learn calculus is via rigorous proofs
00:24:46 <oklofok> everything else should be made illegal
00:24:53 <zzo38> Once a guest teacher came into our calculus class and he was impressed with how good I was at the mathematics things (including things that was not taught and just figure it out by myself) so he asked me to solve the twin prime conjecture for the rest of my life.
00:25:00 <oklofok> WHY WON'T THE MATERIAL LOAD I WANT TO READ :<
00:25:03 <ehird> 23:18 zzo38: Why draw the object? If everything is on the grid then just use ASCII. If it is not a grid then you do need to draw it, at least the circle or sqwuare plus a few other featuers
00:25:09 <ehird> the screen is too big for an ascii thang to work nicely
00:25:20 <oklofok> zzo38: hah
00:26:47 <zzo38> I'm not sure completely how to start solving the twin prime conjecture but one day I will figure it out. I have independently proven many other things before in mathematics, so eventually I should figure out this one as well, maybe?
00:27:05 <oklofok> what kind of things have you figured out?
00:27:35 <Sgeo> zzo38, I once thought I'd toy with that
00:27:42 <Sgeo> Not that I remember much now
00:28:21 <Sgeo> Hm, all but one prime pairs are centered around a multiple of 6 (that sounds trivial, I guess I only found trivial stuff)
00:28:33 <zzo38> One day I independently figured out a proof for the pythagorean theorem while resting on a couch. I showed it to some people and they sent a message to a university where nobody else knew that proof and thought the sender was a doctor. He isn't, neither am I. I thought someone else must have used this proof before, and later I learned I was correct.
00:29:20 <Sgeo> zzo38, AWESOME
00:29:39 <zzo38> I also proved that the audioactive decay sequence (start at 1 and continuously run-length encode it) has no numbers higher than 3 and you won't get 333
00:29:55 <ehird> audioactive decay = look and say sequence
00:30:21 <oklofok> isn't that a simple inductive proof?
00:30:42 <zzo38> Yes it is a simple inductive proof.
00:30:59 <oklofok> i'd probably need paper and an hour
00:31:25 <zzo38> And I have seen the audioactive decay sequence refered to as many different things before, although I have never seen it refered to as run-length encoding, although someone has probably done so and I just don't know about it
00:31:44 <zzo38> I don't see why it would take that long
00:32:05 <oklofok> i'd probably need an hour just to get myself to find a paper
00:34:25 <zzo38> A paper? I did all three of these proofs without a paper. Although a paper would certainly help in understanding it. The problem with most people is thinking using some kind of language (such as English). You need to learn to think abstractly without languages and then you will understand.
00:35:19 <zzo38> And the pythag proof I made up while resting on the couch (although I'm sure many other people have done the same, completely independently of me) I now put it on the computer and can be found at: http://zzo38computer.cjb.net/img7/pythagorean.png
00:35:20 <oklofok> you talk like you're a greater mind than me
00:35:26 <oklofok> i don't take kindly to that
00:35:44 <oklofok> oh that proof
00:35:57 <zzo38> Well, you are better at some things and I am better at some things, but we can both learn.
00:36:08 <oklofok> probably
00:36:30 <oklofok> i saw that proof much too early to have come up with it
00:37:09 * Sgeo feels like the lowest mind here :(. Well, I'm still better than most people I meet IRL
00:37:40 <zzo38> I have never even seen any proof of pythagorean theorem that I understood before coming up with this proof. Although probably other people who proved it independently might certainly have done the same, which I think is probably true.
00:37:50 <oklofok> Sgeo: neither of these proofs is actually very complicated
00:38:23 <oklofok> zzo38: well that's the canonical visual proof
00:38:28 <Sgeo> I'm talking in general, not these proofs in specific.. although I'd never come up with a Pythagorian theorem proof independently
00:38:28 <ehird> i'm the lowest mind here, probably.
00:39:20 <oklofok> well geometrical proofs don't count, so you still have time.
00:39:48 <Sgeo> oklofok, are you talking to me?
00:39:58 <oklofok> Sgeo: yes
00:40:20 <Sgeo> "you still have time" Time until what? I'm 19, if you mean something
00:40:24 <zzo38> Why do geometrical proofs not count? This proof is a simple proof having to do with areas of triangles and squares, with a bit of algebra involved also.
00:40:45 <zzo38> Sgeo: Time until you are dead, of course.
00:41:15 <oklofok> Sgeo: i meant you can still be the first one of us three
00:41:27 <oklofok> but it was somewhat of a joke, i just don't like visual proofs.
00:42:11 <zzo38> I don't generally prefer visual proofs either, but for things like sides of triangles, visual proof seems the best way.
00:42:48 <zzo38> That is, as long as other mathematics is also involved (such as algebra), otherwise the visual proofs mean comparitively nothing
00:43:09 <Sgeo> Incredibly stupid question time that's bugged me for a while? Is there a non-visual proof that a*b == b*a?
00:43:23 <oklofok> Sgeo: in what structure?
00:43:37 <oklofok> the problem is you're stepping into the area of definitions
00:43:54 <oklofok> axioms that is
00:44:02 <zzo38> Sgeo: Yes I'm sure there is but I can't think of it right now. (Anyways it applies if a and b are real or complex numbers but not if they are hypercomplex or matrices)
00:44:17 <oklofok> Sgeo: in non-abelian groups ab isn't necessarily the same as ba
00:44:34 <ehird> AnMaster: my mario physics are functioning
00:44:39 <Sgeo> Real numbers, I guess. Even just a proof for integers, or even just naturals
00:44:42 <AnMaster> ehird, nice
00:44:49 * AnMaster couldn't sleep
00:45:11 <ehird> Completely unrestricted air movement because why the hell not.
00:45:14 <oklofok> Sgeo: well for integers you can define addition constructively using a simple recursive definition
00:45:19 <oklofok> after which you can just use induction
00:45:29 * ehird tweaks gravity
00:45:58 <oklofok> Sgeo: you don't want to know the details of real numbers
00:46:17 <Sgeo> Where can I find those details?
00:46:33 <Sgeo> And are rationals simpler?
00:46:36 <oklofok> safest way would probably be some kinda math institution
00:46:38 <oklofok> yes
00:46:41 <oklofok> they are very simple
00:46:51 <oklofok> reals step over the line of intuition, at least for most ppl
00:48:04 <zzo38> If p/q is a fraction and r/s is another one then the result (pr)/(qs) and (rp)/(sq) is same
00:48:48 <pikhq> Yeah, the reals are rather... Ugly.
00:49:15 <pikhq> The rationals follow rather easily from the integers, though.
00:49:19 <oklofok> ugly or beautiful, point is they contain a dash of math
00:49:31 <oklofok> and math requires insanity
00:49:57 <pikhq> As proven by oerjan's mad scientist-style lair.
00:50:03 <pikhq> (I assume oerjan has one)
00:50:10 <oklofok> sure
00:50:20 <zzo38> There is no great genius without a touch of madness.
00:51:38 <oklofok> i'll probably start doing some math next year, currently i've just done the algebra and analysis basics
00:52:23 <oklofok> so many nice cs courses i just didn't have the time
00:54:12 <ehird> the adventures of the red square in falling blue oblongs land
00:54:17 <ehird> i love pygame
00:55:50 <zzo38> Or you represent the player's object by a circle and the other objects by squares/rectangles, I just think this way is better. And color-code the objects (unless you are using a monochrome display) according to which type, such as moving, earn points, dangerous, pushable, etc.
00:56:28 <zzo38> And I found a article on wikipedia about quantum turing but it is stub and doesn't explain it much (mostly because is stub)
01:00:23 <oklofok> hmm 2am
01:00:28 <oklofok> gotta continue reading
01:00:34 <oklofok> see you later
01:00:36 <oklofok> ->
01:03:58 <ehird> hmm, coming up with good placing for the floors is hard
01:04:16 <zzo38> Do you have screen-shot?
01:04:34 <ehird> Cant' screenshot SDL stuff, it comes out blank :(
01:05:07 <ehird> zzo38: just imagine a 500x500 black image with a 30x30 red pixel on it and 7 randomly placed blocks of 45-75 pixel width that are 5 pixels tall and all blue
01:05:24 <zzo38> Then use the screen-shot function of SDL (if SDL has a function for doing screen-shots)
01:05:41 <zzo38> And explain what the colors mean
01:05:45 <ehird> don't know if it does
01:05:49 <ehird> zzo38: (255,0,0) is red
01:05:53 <ehird> (0,0,255) is blue
01:05:58 <ehird> red means 'you', blue means 'floor'
01:06:01 <zzo38> The colors must represent different kind of objects, but what does each kind represent
01:06:03 <ehird> and those are the only objects
01:06:10 <ehird> basically, you're on a floor
01:06:14 <ehird> and you can move left, right, and jump
01:06:17 <ehird> now, the floors continually move down
01:06:21 <ehird> and new floors appear above
01:06:25 <ehird> if you fall to the bottom, you lose
01:06:33 <ehird> so you have to jump up on to the new floors for as long as possible
01:06:47 <zzo38> OK. Maybe you should add some more kind of objects later on, such as goal object (maybe green?) and add a timer maybe
01:06:55 <ehird> Yes, I intend to
01:07:02 <ehird> This is sort of a prototype for a full game with the same ide
01:07:02 <ehird> a
01:07:18 <zzo38> Adding things like moving horizontally objects, object to collect bonus points etc
01:07:23 <ehird> Yep
01:07:33 <ehird> I was also planning to have tunnels you go in to, but with the exit at the bottom
01:07:39 <ehird> So you have to collect the item in them before the exit disappears
01:08:35 <ehird> Hmm, maybe I should enforce some distance between floors
01:10:04 -!- zzo38 has quit.
01:10:35 <oklofok> zzo38: after a moment of thought, i'm not even sure what it'd even mean to have a non-geometric proof of pythagoras', since that's just how euclidean distance is defined
01:10:59 <ehird> he's gone
01:11:01 <oklofok> so i guess that proof is okay.
01:11:02 <oklofok> orly.
01:11:42 <oklofok> he wasn't when i started writing, so i completed the sentencer
01:12:10 -!- KingOfKarlsruhe has quit (Remote closed the connection).
01:12:21 <oklofok> i know he doesn't read logs, but i like correcting myself anyway
01:13:02 <oklofok> but now going time ->
01:15:30 * ehird adds COLLISON DETRECTION
01:24:39 <psygnisfive> DETRECTION?! OH NOES
01:35:24 -!- GreaseMonkey has joined.
01:39:50 <ehird> yay, it's almost done
01:39:51 <ehird> just need
01:39:54 <ehird> 1) floor moving
01:39:58 <ehird> 2) new floor creation
01:40:01 <ehird> 3) fix floor placement
01:42:26 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
01:42:44 <ehird> sweet, my physics are such that if you go fast enough, you can pass through walls
01:42:47 <ehird> :D
01:43:44 -!- bsmntbombdood has joined.
01:53:41 <Sgeo> Just like in SL!
01:54:28 <ehird> Sgeo: wut
01:54:51 <Sgeo> If you go fast enough through a thin enough wall in SL, you end up going through it
01:55:25 <ehird> heh
01:55:27 <ehird> mine is
01:55:34 <ehird> self.rect.move_ip(0, self.velocity)
01:55:34 <ehird> i = self.colliding()
01:55:36 <ehird> if i == -1:
01:55:38 <ehird> self.velocity += 1
01:55:40 <ehird> elif self.velocity >= 0:
01:55:42 <ehird> self.rect.y = self.game.floors[i].rect.y - 30
01:55:44 <ehird> self.velocity = 0
01:55:46 <ehird> where
01:55:48 <ehird> def colliding(self):
01:55:50 <ehird> return self.rect.move(0, 1).collidelist(self.game.floors)
01:55:57 <ehird> so if you go fast enough, you never get to that point because you teleport right through it
01:55:58 <ehird> so you keep going
01:56:05 <ehird> at that point there's no way to stop dropping
02:08:41 <oklofok> ehird: sweet, my physics are such that if you go fast enough, you can pass through walls <<< tbh i'd be more impressed with the other option
02:12:03 <oklofok> Sgeo: Just like in SL! <<< second life? if so, that's kinda unbelievable
02:12:57 <Sgeo> What's unbelievable about SL physics not being perfect?
02:13:06 <Sgeo> And yes, SL == Second Life
02:13:19 <oklofok> i'm assuming it's developed by professionals
02:13:45 <AnMaster> Sgeo, http://www.getafirstlife.com/
02:14:15 <Sgeo> oklofok, do you want an inworld demonstration?
02:14:29 <oklofok> "fornicate using your actual genitals" :D
02:15:31 <Sgeo> Also, thick enough walls prevent fast objects from entering
02:15:42 <Sgeo> Not sure how thick they need to be
02:15:48 <Sgeo> Can't go wrong with 10m walls
02:17:26 <oklofok> Sgeo: oklofok, do you want an inworld demonstration? <<< i don't have an account
02:18:12 <AnMaster> Sgeo, did you look at that link?
02:18:24 <oklofok> yeah Sgeo did you change your life already
02:18:36 <Sgeo> AnMaster, I've seen it before
02:18:43 <AnMaster> yes it is old
02:19:00 <Sgeo> Sadly, the secondlife.com page has since been changed so that GetAFirstLife.com no longer looks like SecondLife.com
02:19:07 <AnMaster> indeed
02:20:07 <AnMaster> Sgeo, also I would like an in-world demo, but I don't have any account either, and it need to work on 64-bit Linux.
02:20:10 <Sgeo> http://www.darrenbarefoot.com/archives/2007/01/my-project-du-jour-getafirstlifecom.html#comment-75509
02:20:36 <Sgeo> AnMaster, I know there's a Linux client (I've used it for most of my time in SL), but not sure about 64-bit
02:20:46 <AnMaster> Sgeo, what about account?
02:20:56 <AnMaster> if I need to pay anything forget it
02:21:07 <AnMaster> also it is getting late, will have to wait until tomorrow
02:21:11 <Sgeo> AnMaster, accounts are feee
02:21:12 <Sgeo> free
02:21:21 <Sgeo> If they weren't, I wouldn't be in SL
02:21:25 <AnMaster> Sgeo, how do they make money then...
02:21:36 <Sgeo> AnMaster, there is an optional premium option
02:21:46 <Sgeo> As well as when people buy L$ directly from LL
02:21:48 <AnMaster> http://www.darrenbarefoot.com/archives/2007/01/my-project-du-jour-getafirstlifecom.html#comment-75509 <-- doesn't work, doesn't jump to comment, stays at top
02:22:04 <Sgeo> AnMaster, noticed, and I have no clue why that is
02:22:19 <AnMaster> Sgeo, so what comment did you want to link?
02:22:31 <Sgeo> The "Proceed and Permitted" letter
02:29:36 <oklofok> can you throw balls in sl
02:29:45 <Sgeo> Yes
02:30:02 <oklofok> like throw them into walls and catch them
02:30:13 <Sgeo> Hm, not sure how catching would work
02:30:23 <Sgeo> Maybe if the ball gets close enough, it could be caught
02:30:31 <Sgeo> That would definately need to be scripted
02:30:44 <oklofok> but you can script it?
02:30:54 <Sgeo> Yes
02:31:08 <Sgeo> Someone else might actually sell something like that, what's the name of that game?
02:31:24 <oklofok> what game
02:31:42 <Sgeo> That you're trying to describe? Handball, Suicide, something like that?
02:31:54 <oklofok> throwing a ball around
02:32:00 <Sgeo> Oh
02:32:17 <oklofok> not a game, just throwing it around.
02:32:18 <Sgeo> Doubt that such a thing is being sold on the market, but it could be scripted
02:32:25 <oklofok> my favorite irl activity
02:32:56 <Sgeo> Although you couldn't catch other people's balls.. well, you could, sort of, but the scripting would be a bit more difficult
02:33:30 <Sgeo> And every participant would need their own "ball-catching" attachment, I think
02:33:39 <Sgeo> Otherwise, there's no way to detect anyone trying to throw the ball
02:33:49 <oklofok> sounds like the physics are kinda crappy
02:34:00 <Sgeo> The physics themselves are not the issue
02:34:08 <Sgeo> The issue is being able to throw, and being able to catch
02:34:18 <Sgeo> The interaction of ball and wall would not need to be scripted
02:35:30 <oklofok> physics are an issue if you cannot grab things
02:38:02 <Sgeo> Well, actually, it sort of is possible to grab things, I think we're imagining things differently
02:38:28 <Sgeo> You mean "grab with the mouse cursor and use that to throw it", or "grab with the avatar, and from a first-person view, click and hold to throw"
02:38:35 <Sgeo> The latter needs scripting, the former doesn't
02:39:13 -!- zzo38 has joined.
02:39:20 <oklofok> i don't care how it's done
02:39:30 <Sgeo> Hi zzo38. Someone responded to something you said. It's in the logs. Don't remember details.
02:39:32 <oklofok> zzo38: did you catch my realizing my error?
02:39:34 <oklofok> yes
02:39:39 <oklofok> just after you left
02:40:04 <zzo38> oklofok: I did read your message about "i'm not even sure what it'd even mean to have a non-geometric proof of....". Just so you know I did read the log
02:40:28 <oklofok> why is amazon tempting me with all these pretty books
02:40:29 <zzo38> I often read the log.
02:41:04 <zzo38> Clear the cookies on amazon first. After checking what you want to purchase then you can login again.
02:41:28 <oklofok> hmm indeed you do
02:42:21 <oklofok> well i don't actually mind them tempting me. i'm just saying these books are nice
02:43:17 <zzo38> Which book?
02:44:00 <oklofok> tons of them
02:44:25 <zzo38> And I added a example for quantum CLCLC-INTERCAL now, although it isn't the best example, so if someone can make a better one using controlled-V and TRANSFORM then that would be better
02:44:33 <oklofok> mainly programming languages, mathematics, robotics and random weird stuff
02:45:07 <oklofok> i'm not actually that interested in robotics, but i bought a book related to it, and amazon can't know better ofc
02:45:16 <oklofok> anyway need to sleep
02:45:17 <oklofok> ->
02:45:22 <Sgeo> Good night oklofok
02:48:09 <zzo38> I also improved the specification for quantum computing in CLCLC-INTERCAL. Now it says which commands are allowed to be quantum (which is not all of them)
02:48:34 <zzo38> And you can have threading, backtracking, and quantuming, all in the same program!
02:52:31 -!- zzo38 has quit.
02:57:59 -!- neldoret1 has quit (Read error: 113 (No route to host)).
03:56:01 -!- pikhq has quit (Read error: 110 (Connection timed out)).
05:16:21 -!- pikhq has joined.
06:21:43 <Sgeo> Hm, I just mentioned this place in a channel of 300 people..
06:21:51 <Sgeo> Make that 381 people
06:21:56 <Sgeo> Was that perhaps a bad idea?
06:22:09 -!- cthuljew has joined.
06:22:25 <Sgeo> cthuljew, this channel is not particularly active right now
06:22:28 -!- letusgothen has joined.
06:22:32 <Sgeo> ..
06:22:37 <cthuljew> Well, that's why I'm gonna idle.
06:23:05 <cthuljew> I'm full of deep-fried shrimp and in no hurry.
06:24:10 <Sgeo> Also, while no one is chatting, check out http://esoteric.voxelperfect.net/wiki/Main_Page
06:29:21 <Sgeo> Good night all
06:47:34 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:21:56 -!- cthuljew has quit ("leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:49 -!- javahorn has quit (Read error: 110 (Connection timed out)).
08:48:24 -!- tombom has joined.
09:47:55 -!- neldoreth has joined.
09:51:29 -!- BeholdMyGlory has joined.
09:52:11 -!- oerjan has joined.
10:03:13 <oerjan> 17:15:30 * ehird adds COLLISON DETRECTION
10:03:22 <oerjan> i assume this is for colliding detritus
10:06:24 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:26:53 -!- kerlo has quit (Read error: 60 (Operation timed out)).
10:26:56 -!- kerlo has joined.
10:44:46 -!- sebbu2 has joined.
10:49:42 -!- sebbu has quit (Read error: 60 (Operation timed out)).
11:22:56 -!- sebbu has joined.
11:30:09 -!- oerjan has quit ("Coffeis").
11:41:14 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
11:52:13 -!- oerjan has joined.
12:02:58 -!- letusgothen has quit (Read error: 60 (Operation timed out)).
12:09:29 -!- KingOfKarlsruhe has joined.
12:13:46 -!- Judofyr has joined.
12:17:26 -!- letusgothen has joined.
12:26:33 -!- MigoMipo has joined.
12:30:02 -!- oerjan has quit ("leaving").
12:31:20 -!- letusgothen has quit (Read error: 60 (Operation timed out)).
12:31:26 -!- letusgothen has joined.
13:00:37 -!- tombom has quit ("Peace and Protection 4.22.2").
13:30:17 -!- MigoMipo_ has joined.
13:38:27 -!- MigoMipo has quit (Nick collision from services.).
13:53:05 -!- MigoMipo_ has quit (Read error: 110 (Connection timed out)).
14:27:18 -!- neldoreth has quit (Read error: 113 (No route to host)).
14:28:27 -!- neldoreth has joined.
14:32:37 -!- BeholdMyGlory has quit ("brb reboot").
14:38:29 -!- BeholdMyGlory has joined.
15:33:08 -!- tombom has joined.
15:34:33 -!- kar8nga has joined.
15:36:04 -!- nice has joined.
15:37:29 -!- KingOfKarlsruhe has quit (Read error: 104 (Connection reset by peer)).
15:39:51 -!- Judofyr has quit (Remote closed the connection).
15:46:57 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
15:47:17 -!- logicgap has joined.
15:47:18 <logicgap> hi
15:47:27 <logicgap> hint hint: i'm asiekierka
15:47:30 -!- nice has changed nick to KingOfKarlsruhe.
15:55:47 -!- Nevar has joined.
16:07:37 -!- Slereah_ has joined.
16:08:19 -!- comex has quit ("Caught sigterm, terminating...").
16:08:32 -!- comex has joined.
16:08:49 -!- Slereah has quit (Read error: 60 (Operation timed out)).
16:24:09 -!- FireFly has joined.
16:28:28 -!- Judofyr has joined.
16:40:16 -!- ehird has left (?).
16:44:53 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:59:45 -!- letusgothen has quit.
17:01:19 -!- kar8nga has joined.
17:11:41 -!- ehird has joined.
17:14:25 -!- Hiato has joined.
17:19:12 -!- Hiato has quit (Client Quit).
17:31:24 -!- BeholdMyGlory has quit ("bye").
17:31:44 <ehird> 01:32 Sgeo: Although you couldn't catch other people's balls
17:31:48 <ehird> Hawt.
17:32:17 <ehird> oh wait
17:32:18 <ehird> couldn't
17:32:23 -!- ais523 has joined.
17:32:29 <ehird> hi ais523
17:32:35 <ais523> hi
17:32:50 -!- BeholdMyGlory has joined.
17:39:46 <logicgap> hi
17:40:15 <ais523> hi logicgap
17:41:59 <ehird> ais523: he's asiekierka
17:42:01 <ehird> grr, amazon review comments are more irritating than youtube ones
17:42:26 <ehird> because although everyone has correct grammar, they respond to extremely blatant joke reviews by insulting the author and acting in disbelief that they could be so dumb
17:42:45 <ais523> heh
17:42:56 <ehird> because although everyone has correct grammar, they respond to extremely blatant joke reviews by insulting the author and acting in disbelief that they could be so dumb
17:42:57 <ehird> err
17:42:58 <ehird> oops
17:43:01 <ehird> pressed up/enter by mistake
17:43:36 -!- ais523 has changed nick to ais523_.
17:43:48 -!- ais523 has joined.
17:43:51 <ehird> my physics are a bit funny
17:44:04 <ehird> if you're falling, but to the right of you is a platform
17:44:12 <ehird> if you go up to it, even if you only touch it by a tip
17:44:14 <ehird> you end up on top of it
17:45:20 <ais523> ehird: context?
17:45:29 <ais523_> wow, ais523 without the underscore is laggy atm
17:45:41 <ehird> ais523: just in the context of the xjump clone I'm making; you may have played it
17:45:50 <ehird> aka FALLING TOWER
17:45:51 <ais523> I don't think so
17:46:04 <ehird> ais523: you're a little guy, and there are platforms
17:46:07 <ehird> and they keep falling down
17:46:10 <ehird> and new ones come from the top
17:46:14 <ehird> you have to not fall down to the bottom
17:46:23 <ehird> they fall faster the further you go up
17:46:25 <ehird> pretty simple
17:46:34 <ais523> ah, and you have to get to the top?
17:46:44 <ehird> there is no top
17:46:47 <ais523> oh
17:46:49 <ais523> as high as you can, then
17:46:52 <ehird> yep
17:51:06 <ehird> "In my view a startup time of around 1 sec isn't too bad for a script." <-- O_O
17:52:07 <Deewiant> Yeah, I was a bit surprised at that view as well
17:52:24 <ais523> it depends on what the script does
17:52:33 <ais523> TAEB takes a lot longer than 1 second to start up, and is technically a script I suppose
17:52:45 <ehird> I need to figure out a way to have characters like ← easily typable.
17:52:50 <ehird> I don't like using ASCII.
17:53:32 <Deewiant> In Vim: :set digraph
17:53:38 <Deewiant> Only works for Vim, though.
17:53:50 <ehird> Yeah that's real helpful
17:54:03 <ais523> hmm... I wonder if C-x 8 < - works in Emacs? I've never tried
17:54:06 <ais523> if it doesn't, it ought to
17:54:12 <ehird> C-x 8?
17:54:23 <ais523> used to type characters not on the keyboard
17:54:27 <ehird> ah
17:54:28 <ehird> and no
17:54:29 <ais523> it's basically a compose key
17:54:31 <ehird> it gives a << char
17:54:33 <ehird> before you type -
17:54:36 <ais523> ah
17:54:47 <ais523> C-x 8 e ' gives you é, for instance
17:55:09 <ehird> wow, :set digraph overloads backspace
17:55:21 <ehird> '<' backspace '-' produces an arrow
17:55:27 <ehird> and yet the < is erased after the backspace
17:55:35 <Deewiant> I can't figure out how to remove preset digraphs, though
17:55:45 <Deewiant> I might have to compile my own Vim to remove the space-space one
17:55:53 <Deewiant> That one's really annoying
17:56:09 <ehird> '-' backspace '-' doesn't produce –
17:56:10 <ehird> fail.
17:57:08 <ehird> So, I had an idea for a precisely specified type system thingy.
17:57:12 <ehird> That is, 3 is of type 3.
17:57:14 <Deewiant> ehird: So do :dig - - — and it will.
17:57:18 <ehird> [3,4] is of type [3|4]
17:57:21 <Deewiant> (Or whatever the syntax was, I forget.)
17:57:41 <ehird> type Int = -infinity | ... | 0 | 1 | 2 | ... | infinity
17:57:56 <ehird> [3,"hello"] is valid too, I think; as type [3|"hello"]
17:58:25 <ehird> [3,"hello"] ++ [4,()] is-a [3|"hello"|4|()]
17:58:44 <ais523> ehird: with a type system like that, who needs values?
17:58:48 <ehird> ais523: :)
17:58:48 <logicgap> Deewiant: How's DOBELAinterpreter going on?
17:58:50 <ehird> fact 0 = 1; fact n = n * fact (n-1)
17:58:52 <ehird> then
17:59:01 <ais523> also, will anything at all happen at runtime, or will it all be done during compilation and type inference?
17:59:04 <ehird> fact :: 0|Int -> Int
17:59:07 <ehird> er, wait
17:59:08 <Deewiant> logicgap: I have a crapload of homework, it probably won't go anywhere for a few weeks
17:59:09 <ehird> fact :: 0|Int -> 1|Int
17:59:13 <ehird> because
17:59:15 <logicgap> oh
17:59:17 <ehird> (*) :: Int -> Int -> Int
17:59:19 <ehird> (Yes, it's generic)
17:59:23 <ehird> (I'm simplifying for example)
17:59:24 <ais523> ah, pity
17:59:29 <ehird> ais523: it's just a type system for a regular language
17:59:38 <ehird> possibly dependently typed
17:59:39 <ehird> it would fit well
17:59:48 <ais523> it should so be fact :: Int -> 1 | 2 | 6 | 24 | 120 | ...
17:59:52 <Deewiant> logicgap: One new question though: when : is stopped and restarted, does it start counting 'every second cycle' from that cycle or still from the start of the program
17:59:54 <ehird> ais523: heh
18:00:21 <ehird> printf :: (fmt :: Str) -> PrintfType fmt
18:00:25 <ehird> the regular example
18:00:26 <ehird> where, ofc,
18:00:40 <ehird> type PrintfType ('%':'i':xs) = Int -> PrintfType xs
18:00:40 <ehird> etc
18:01:05 <Deewiant> logicgap: And write it to the wiki page when you've decided :-P
18:01:25 <ehird> Few weeks? Heck, DOBELA can't be too hard.
18:01:29 <ehird> I might interpreteriper.
18:02:27 <Deewiant> Well, it depends what language you use, and whether you know that language already or not. :-P
18:03:02 <ais523> Deewiant: what language are you writing in, anyway?
18:03:15 <Deewiant> ais523: x86-64.
18:03:17 <ais523> I suggest preconverter + ALPACA
18:03:20 <ehird> deewO_O
18:03:20 <ais523> Deewiant: what, asm/
18:03:22 <ehird> Deewiant: O_O
18:03:25 <Deewiant> ais523: Yep.
18:03:28 <ehird> lol vat
18:03:55 <Deewiant> ehird: Which is why I asked whether you had a 64-bit Intel machine. :-)
18:04:01 <ehird> Hahahaha
18:04:04 <Deewiant> So you can test it for me and I can make it work on OS X.
18:04:22 <logicgap> Omg, i'm crazy
18:04:30 <ehird> Deewiant: The recommended syscall api is some batshit insane _sysenter stuff; have fun with that
18:04:37 <logicgap> i'm recording a high quality printed copy of Test Card C with a camera
18:04:49 <Deewiant> ehird: I doubt it's much different from Linux
18:04:54 <ehird> Deewiant: it is
18:04:56 <ehird> it's more complex
18:05:29 <ais523> logicgap: why?
18:05:50 <logicgap> ais523: that's the problem
18:06:13 <Deewiant> ehird: Well, you can tell me when I've got it to work on Linux; it shouldn't be much of a problem.
18:06:20 <ais523> logicgap: may I recommend that from now on you shouldn't do things for no reason?
18:06:25 <ehird> So anyway, am I crazy to try and do this compilation:
18:06:26 <ehird> foo = [$re| ^[a-c]+z$ |] -> foo ('a':xs) = foo1 xs; foo ('b':xs) = foo1 xs; foo ('c':xs) = foo1 xs; foo _ = False; foo1 "z" = True; foo1 xs = foo xs
18:06:28 <ehird> :D
18:06:37 <Deewiant> ehird: Most likely I'll just end up with an extra 10 bytes per syscall (!)
18:06:57 <logicgap> and now i need to record it again guz it wasn't aligned
18:07:23 <logicgap> oh well
18:07:36 <ehird> Hmm
18:07:41 <ehird> I wonder if you can run the jvm as a daemon?
18:07:44 <ehird> Then there'd be no startup overhead
18:07:48 <ehird> And it'd just be fast fast fast.
18:08:03 <ais523> it has to be possible, although you might have to modify it first
18:08:09 <Deewiant> 3235 bytes statically linked, currently. Much of that is strings.
18:08:11 <ais523> that's actually a brilliant insane idea, I wonder if it's ever been done?
18:08:17 <ehird> ais523: seems to
18:08:18 <ehird> so
18:08:19 <ehird> "Jolt is a wrapper program that allows multiple invocations of the java, javac, javadoc, and jar tools to reuse the same JVM instance, thereby substantially improving the startup times of those tools. "
18:08:23 <ehird> http://freshmeat.net/projects/jvmd/
18:08:26 <ehird> Very sporadic development
18:08:29 <ehird> if you look at the release thing
18:08:32 <ehird> I'm going to try it though
18:08:58 * ehird checks if java 6 is released for os x yet
18:09:04 <ehird> stupid apple and their stupid lagging behind sun
18:09:31 <ehird> I said yesterday that I installed gnome the day before; I'm slightly irritated that it was easier to do a few things than it is on here :P
18:09:35 <ehird> (on another box)
18:09:39 <ehird> (for someone else)
18:09:50 <logicgap> I should make a mechanical globe or something one day
18:10:08 <ais523_> ehird: what OS, and why?
18:10:31 <ehird> ais523_: Ubuntu 8.10 for x86_64
18:10:54 <ais523_> err... install Gnome on Ubuntu?
18:10:58 <ais523_> I thought it came preinstalled
18:11:09 <ehird> Installed a system using gnome, I mean.
18:11:14 <ais523_> oh
18:11:16 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:11:18 <ehird> And it's the computer I used to use that my parents now use; you know, that died? Well, they got it fixed and I stuck Ubuntu on because Windows sucks.
18:11:19 -!- ais523__ has joined.
18:11:26 <ais523_> why is that different from installing a system using anything else?
18:11:26 <ehird> 17:11 ehird: And it's the computer I used to use that my parents now use; you know, that died? Well, they got it fixed and I stuck Ubuntu on because Windows sucks.
18:11:36 <Deewiant> ehird: According to http://mehrdadafshari.com/blog/archive/2008/07/04/darwin-linux-x86-64-system-call-convention.aspx it's the same on OS X as Linux
18:11:37 <ehird> ais523_: I'm not sure; I messed up my words there
18:11:40 -!- ais523__ has changed nick to ais523.
18:11:45 <ehird> Deewiant: That's the deprecated one
18:12:18 <Deewiant> ehird: Can you find a source for the undeprecated one?
18:12:33 <ehird> Deewiant: It's sysenter/sysexit
18:12:52 <Deewiant> ehird: Yes, can you find a doc which says that
18:13:10 <Deewiant> ehird: I'm using syscall currently
18:13:12 <ehird> Deewiant: I can't find it now, no; I read it a few days ago on a site about low-level OS X programming that I find to be very reliable
18:13:25 <Deewiant> Which, I think, maps to the same thing
18:13:30 <ehird> ais523: Anyway, turns out Ubuntu is way simpler and easier to use than Windows; even using things like Flash/Java.
18:13:37 <ais523> agreed
18:13:41 <ehird> Actually, the only thing that caused a problem was getting a 64-bit Java.
18:13:47 <Deewiant> ehird: The Intel asm docs only have syscall and not sysenter, so.
18:13:50 <ehird> It was only released in December
18:13:54 <ehird> So I had to download one of their packages
18:13:57 <ais523> actually, getting Java is pretty difficult on Windows too
18:14:00 <ehird> then symlink the right .so into the firefox plugins dir
18:14:11 <ehird> ais523: Nah, just a download and click click click. This was a bit fussy. But it works fine now.
18:14:50 <ehird> Ubuntu certainly worked better than it did on this mac, anyway.
18:15:14 <ehird> Actually it detected the USB wifi thing in that machine without even telling me; I connected just by clicking on the network, which was unexpected.
18:15:55 <ehird> HAHAH!
18:16:00 <ehird> Deewiant: you know that libconfig shit?
18:16:05 <ehird> That i had problems with yesterday?
18:16:08 <Deewiant> Yep
18:16:10 <ehird> That javad is made by the same person
18:16:11 <ehird> http://www.hyperrealm.com/main.php?s=jolt
18:16:18 <ais523> ehird: which version of Ubuntu
18:16:27 <ehird> ais523: 8.10 for x86_64
18:16:38 <ais523> hmm... 8.10 works just by clicking on the network?
18:16:49 <ais523> I'm running it, but have to use a different network manager
18:16:52 <ehird> ais523: Well, you go into System -> Preferences -> Networking, or whatever
18:16:53 <ais523> due to a bug in the Gnome one
18:16:54 <ehird> then click wireless
18:16:55 <ehird> then click add
18:16:56 <ehird> and voila
18:16:58 <ais523> ah
18:17:03 <ais523> it used to be even easier than that
18:17:04 <ehird> it even connects at bootup automatically and whatnot
18:17:10 <ais523> click on the network systray icon, click on the network
18:17:10 <ehird> ais523: what did it use to be
18:17:13 <ehird> right
18:17:15 <ehird> you can do that after that
18:17:17 <ehird> wait
18:17:19 <ehird> you can do it before too
18:17:21 <ehird> I just didn't think to
18:17:22 <ais523> yes, it used to work without an intermediate step
18:17:24 <ais523> oh, and still does
18:17:25 <ehird> yes
18:17:30 <ais523> ok, that's good, they haven't messed it up
18:18:01 <ehird> I'm surprised it recognized the USB wifi thing (It doesn't have an internal wireless card )
18:18:28 <ais523> I'm not
18:18:36 <ais523> modern Linux is very good with hardware recognition
18:18:40 <ais523> much better than Windows
18:18:50 <ais523> you plug a USB anything in on Linux, and it instantly starts working
18:18:55 <ais523> no popups or dialog boxes or anything
18:19:00 <ehird> You had to install a shit driver thing in windows
18:19:03 <ehird> and connect via it
18:19:04 <ehird> It was awful
18:19:09 <ehird> And never worked
18:19:09 <ais523> you plug a USB anything in on Windows, and it pops up bubbles and dialog boxes
18:19:15 <ais523> then sulks and asks for an administrator
18:19:20 <ehird> Yeah; the printer/scanner worked out of the box too.
18:19:28 <ais523> wow, /that/'s unusual
18:19:33 <ais523> what make was it?
18:19:33 <ehird> Yep
18:19:36 <ehird> Er.
18:19:39 <ehird> I'm not sure.
18:19:50 <ehird> I just plugged it in and it appeared in the print menu.
18:19:53 <ehird> With the right name and everything.
18:19:56 <ehird> Scanner worked too.
18:19:59 <ehird> No configuration or anything.
18:20:26 <ehird> To be honest I think I jumped out of my seat
18:20:58 <ehird> joy, to run java6 you have to do
18:21:12 <ehird> /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java
18:22:05 * ehird makes it the default version
18:22:39 <ehird> (~) java -version
18:22:39 <ehird> java version "1.6.0_07"
18:22:41 <ehird> Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153)
18:22:43 <ehird> Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)
18:22:45 <ehird> That's better.
18:22:47 <ehird> Now to try this jolt thing.
18:23:21 -!- kerlo_ has joined.
18:23:28 <ehird> Actualyl, I think you could do it fairly easily
18:23:37 <ehird> Just make a daemon in java that calls the JVM's execute thingymabob functions
18:23:50 <ehird> I wonder why Sun don't do that
18:23:51 -!- kerlo_ has quit (Client Quit).
18:24:23 <ehird> In general, I believe that Ant is a silly toy, typically championed by
18:24:23 <ehird> people who do not understand or are intimidated by `make'. <-- says the guy using automake
18:24:47 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
18:24:57 <ehird> checking if javac works... yes
18:24:57 <ehird> checking for extraterrestrial life... maybe
18:25:04 <ehird> ^ Genuine output
18:25:09 <ais523> classic
18:25:18 <ehird> AC_MSG_CHECKING([for extraterrestrial life])
18:25:18 <ehird> sleep 3
18:25:20 <ehird> AC_MSG_RESULT(maybe)
18:25:22 <ehird> — configure.ac
18:25:23 <ais523> hmm... I need a check "Checking if the linker found works with the archiver found... no"
18:25:24 -!- bsmntbombdood has joined.
18:25:29 <ais523> packaging bug on Ubuntu, I'm pretty sure
18:25:34 <ais523> but it's still a nasty error
18:25:44 <ehird> checking for JNI header files... configure: error: cannot find java include files
18:26:02 <ehird> at this rate I shall turn into a linux fan
18:33:10 <ehird> hrmph, anyway.
18:34:31 <ehird> So
18:46:54 <ehird> Oh, I had one issue with Ubuntu
18:47:08 <ehird> The music in the Enigma menus (I got bored :P) wouldn't play.
18:47:11 <ehird> All the sfx still worked
18:47:20 <ehird> Same for htis java game: http://www.pulpgames.net/milpa/
18:47:27 <ehird> Probably a codec issue
18:47:48 <ehird> Meg
18:47:48 <ehird> Meh
18:48:18 <ehird> ais523: try enigma Espirit 82
18:48:22 <ehird> It has coffee and is impossible/
18:48:52 <ehird> Well
18:48:54 <ehird> not that impossible
18:49:54 <ais523> ehird: I've already done Esprit 82
18:54:07 -!- Asztal_ has quit (Read error: 104 (Connection reset by peer)).
19:03:53 -!- oerjan has joined.
19:16:15 -!- kar8nga has quit (Remote closed the connection).
19:18:44 -!- Hiato has joined.
19:25:47 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
19:25:51 -!- ais523__ has joined.
19:25:56 -!- ais523__ has changed nick to ais523.
19:29:49 -!- Asztal_ has joined.
19:55:47 <ehird> ais523:
19:55:51 <ehird> In addition, candidates need to know at least one of these dynamic languages: Lisp, Scheme, Smalltalk, Self, Lua, and Unlambda
19:55:53 <ehird> http://seattle.craigslist.org/see/sof/1083022531.html
19:56:26 <ais523> Unlambda?
19:56:27 -!- Sgeo has joined.
19:56:33 <ehird> Yes.
19:56:36 <ehird> Unlambda.
19:56:41 <ehird> I can't tell if they're serious.
19:56:41 <ais523> someone's either criminally deluded, or having a bit of a laugh
19:56:44 <ais523> I hope the second
19:56:52 <ehird> wellllllll
19:56:53 <ehird> We are looking for someone that knows at least one of the following functional languages: Haskell, Miranda, Clean, OCaml, SML, or Scala.
19:56:56 <ehird> We are a super stealthy Hollywood, CA, tech startup located in the penthouse offices of a loft-style building. We are in search of the rumored Delta Squad Developer who could fit all the ridiculous languages that our 12-person software company is looking for.
19:56:59 <ehird> Job hires will ride out the economic crisis on Southern California’s sunny beaches, among artistic rebels, intellectual exiles, and maybe a hunky/buxom lifeguard or two. Don’t worry about staying at a boring job for the money — you can even pick up some supplemental cash as an extra on the new Knight Rider TV show!
19:57:08 <ehird> I _have_ seen serious job ads that retarded
19:57:18 <ehird> but it seems like a parody of them
19:57:31 <ehird> ais523: or not. They have a site. http://borderstylo.com/
19:57:38 <tombom> that's incredible
19:58:31 <ehird> ais523: you should email them, saying you're a world expert in unlambda
19:58:36 <ehird> the best part is that it's absolutely true
19:58:49 <ais523> I'm not, though
19:58:56 <ais523> I'm not all that good at Unlambda at all
19:59:02 <Slereah_> http://esolangs.org/wiki/Single_Four
19:59:07 <Slereah_> Onoes, a cypher!
19:59:13 <Slereah_> How horribly hard!
19:59:15 <ehird> ais523: You know it; considering how obscure it is I'd say you're an expert.
19:59:28 <ehird> Slereah_: ugh.
19:59:34 <ehird> http://fourisland.com/
19:59:38 <ehird> YAY PI! I dun have anything else to say this week, so, CATDOG!
19:59:38 <ehird> 3.141 yumminess! - 7 vote(s)!
19:59:40 <ehird> No, Phi is teh cooliness - 2 vote(s)!
19:59:42 <ehird> NO, YOU CATDOG - 0 vote(s)!
19:59:44 <ehird> Indifferent - 1 vote(s)!
19:59:51 <ehird> I see the creator of that language is very intelligent.
20:00:05 -!- Hiato has quit ("Leaving.").
20:00:19 <ais523> it's like, an intelligent-seeming subject, plus lolspeak and memes I don't understand
20:00:51 <ehird> it's the "Internet RANDAM Idiot" species
20:01:03 <ehird> primarily noted for describing themselves as "sooo random".
20:01:08 <tombom> yes
20:01:24 <ais523> hmm... does Single Four have any form of looping?
20:01:27 <Slereah_> "Your mother may call you a card but I call you a jackass"
20:01:28 <ais523> it's obviously TC, apart from that
20:01:42 <ehird> does it have functions?
20:01:45 <ehird> and recursion?
20:02:05 <Slereah_> http://other.fourisland.com/backup/SF/functions.txt
20:02:12 <ais523> it has predefined functions
20:02:17 <ais523> I can't see a way to define your own, though
20:02:54 <Slereah_> Function definition is for the weak!
20:02:54 * ehird writes some SVG+JS. An underappreciated platform!
20:03:05 <ehird> It's like canvas except vector.
20:03:12 <ais523> agreed that it's underappreciated
20:03:17 <ais523> it is, in fact, the w3c's answer to Flash
20:03:19 <ais523> just it never caught on
20:03:20 <ehird> Of course you have to use the human-unreadable SVG bloatfes.
20:03:22 <ehird> *bloatfest
20:03:25 -!- olsner has joined.
20:05:55 <oklofok> i finished my book!
20:06:00 <ais523> well done
20:06:09 <oklofok> only took like 30 hours of my weekend
20:06:20 <fizzie> oklofok: Writing or reading?
20:06:25 <oklofok> i'm now an expert at software engineering.
20:06:30 <oklofok> reading unfortunately
20:06:52 <fizzie> Right, 30 hours didn't sound like a lot for writing a book.
20:06:56 <oklofok> anyway should probably start reading the lecture notes
20:08:03 <oklofok> i was kinda sick during the week, so i had two days to read about 350 pages, and it was a pretty slow read
20:08:24 <fizzie> Our software engineering course has all exams and homeworks and such asking questions like "what did Mr. X [a random visiting lecturer] thing about Y?", so you need to either be at all lectures, or watch (via a horrible browser-based kludge) the webcasts of them to have any chance of answering "correctly".
20:09:00 <oklofok> :D
20:09:12 <ais523> ok, that's ridiculous
20:09:19 <oklofok> ours was a pretty thorough exploration of the non-experimental methods used today
20:09:44 <oklofok> anyway shoppe
20:09:47 <oklofok> need to clear my head
20:10:01 <oklofok> i don't actually need to buy anything that badly
20:10:02 <oklofok> ->
20:10:50 <ehird> Great, you can't use <script src=> in SVG.
20:10:51 <ehird> Just inline.
20:11:37 <fizzie> Like this final exam question: "Documentation and evaluation of software architectures according to Mr. Juha Savolainen", where the guy is one of the visiting lecturists. You'd better not disagree, since they're not asking what *you* think.
20:15:43 <oklofok> hehe, told this other guy who's taking the exam tomorrow too that i just finished the book, and he was like "what book? i should probably start studying soon."
20:15:43 <ehird> waitamo
20:15:48 <ehird> isn't 0 xor 0 = 1
20:15:50 <ais523> no
20:15:52 <ais523> 0 xor 0 is 0
20:15:56 <ehird> whoa.
20:16:01 <ais523> it has to be either that or -1, if you think about it
20:16:07 <ais523> after all, all the bits are 0
20:16:13 <ais523> so they all have to either turn to 0, or to 1
20:16:23 <ehird> I'm working with bits here
20:16:25 <ehird> I was expecting 1
20:16:29 <ais523> err, no
20:16:34 <ehird> yeah
20:16:34 <ais523> "false, or false, but not both"
20:16:35 <ehird> my brain is dumb
20:16:36 <ais523> still false
20:16:36 <ehird> :D
20:16:42 <ais523> you're confusing xor with nand
20:16:46 <ehird> yes
20:17:08 <oklofok> ais523: i'm pretty sure i'd need to share some intuitive view with you about xor to see what you mean by it having to be either 0 or -1
20:17:16 <oklofok> what is that view
20:17:21 <oklofok> or wait did you explain already
20:17:28 <ais523> oklofok: it's a bitwise operation
20:17:33 <ais523> all the bits on the input are the same
20:17:39 <oklofok> i tend to write my answers to single messages without reading continuations
20:17:46 <ais523> so the output has to be either all 0 bits (= 0), or all 1 bits (= -1)
20:17:58 <ehird> >>> def op(a, b):
20:17:58 <ehird> ... return ''.join(map(lambda (x, y): chr(x ^ y), zip(map(ord, a), map(ord, b))))
20:18:01 <ehird> ...
20:18:02 <ehird> >>> op('hello', 'world')
20:18:04 <ehird> '\x1f\n\x1e\x00\x0b'
20:18:06 <ehird> >>> op(op('hello', 'world'), 'world')
20:18:08 <ehird> 'hello'
20:18:10 <ehird> >>> op('hello', op('hello', 'world'))
20:18:12 <ehird> 'world'
20:18:14 <ehird> 1337 ENCRYPTION ZOMG.
20:18:16 <ehird> I like how if you have the plaintext you can get the key, though.
20:18:21 <bsmntbombdood> ...
20:18:28 <ehird> bsmntbombdood: look, i'm bored, k.
20:18:34 -!- oklofok has left (?).
20:18:34 -!- oklofok has joined.
20:21:20 <fizzie> a ^= b; b ^= a; a ^= b; /* the ur-classic xor-swap. i am equally bored, i guess. */
20:21:30 <ehird> fizzie: holy shit lowercase stop being 2003
20:21:47 <fizzie> It's a code comment, I've had a lowercase revival in those.
20:22:12 <ais523> fizzie: that fails badly if &a == &b...
20:22:22 <ehird> :D
20:22:51 <fizzie> Although I still always capsize I even there; it's just that it was at the start of sentence and I wanted it to be obviously lowercased.
20:23:45 -!- ehird has changed nick to charlesfosterkan.
20:23:49 <charlesfosterkan> OgofCQ1ZRAUAAQkGVA==
20:23:52 <charlesfosterkan> er.
20:23:53 <charlesfosterkan> Kane.
20:23:54 <charlesfosterkan> That is.
20:23:56 <charlesfosterkan> OgofCQ1ZRAUAAQkGVA==
20:23:57 * charlesfosterkan dies
20:23:59 -!- charlesfosterkan has changed nick to ehird.
20:24:17 <ais523> ehird: why leave #nethack just to change your nick, by the way?
20:24:27 <ehird> ais523: so I didn't disturb other channels with it.
20:24:42 <ais523> makes sense
20:24:45 <ais523> how's your nethacking going, btw?
20:25:13 <ehird> Well, the day after I did other things, the day after that I was busy installing Ubuntu, and yesterday I was doing other things.
20:25:17 <ehird> So relatively zilch-like.
20:28:32 <ehird> Grah, the DOM is so ugly.
20:35:41 <ehird> This:
20:35:42 <ehird> var title = document.createElement("title");
20:35:43 <ehird> title.appendChild(document.createTextNode("SVG + Javascript"));
20:35:45 <ehird> document.getElementsByTagName("svg")[0].appendChild(title);
20:35:47 <ehird> achieves this:
20:35:50 <ehird> <title>SVG + Javascript</title>
20:36:08 <Judofyr> jQuery!
20:36:15 <ehird> Judofyr: Does jQuery work with SVG?
20:36:23 <ehird> No HTML surrounding it; just SVG.
20:36:32 <Judofyr> probably not
20:36:36 <ehird> Well, then.
20:36:43 <Judofyr> or, does JavaScript work with plain SVG?
20:36:47 <ehird> Yes.
20:36:58 <Judofyr> really?
20:37:01 <fizzie> jQuery had some XUL issues, so maybe it has SVG problems too.
20:37:10 <ehird> Judofyr:
20:37:11 <Judofyr> it's worth a try, though
20:37:11 <ehird> <?xml version="1.0" encoding="UTF-8"?>
20:37:12 <ehird> <svg
20:37:14 <ehird> xmlns="http://www.w3.org/2000/svg"
20:37:16 <ehird> xmlns:xlink="http://www.w3.org/1999/xlink"
20:37:18 <ehird> version="1.1"
20:37:20 <ehird> width="100%"
20:37:22 <ehird> height="100%">
20:37:24 <ehird> <script type="text/javscript" xlink:href="svgjs.js"></script>
20:37:26 <ehird> </svg>
20:37:29 <ehird> Hmm, that could be /> since we're XML.
20:37:50 <Judofyr> cool
20:37:53 <Judofyr> didn't knew that
20:38:34 <ehird> Oh, what fun. The title doesn't actually take effect.
20:38:48 <Judofyr> :P
20:38:52 <Judofyr> not cool
20:39:26 <fizzie> You might have to alter some property of the window object to actually change the title, post-load. Who knows.
20:39:49 <ehird> var svg = document.getElementsByTagName("svg")[0];
20:39:50 <ehird> var $elem = document.createElement;
20:39:51 <ehird> var $text = document.createTextNode;
20:39:53 <ehird> .->
20:39:55 <ehird> svg.appendChild($elem("title").appendChild($text("SVG + Javascript")));
20:39:58 <ehird> Assuming appendChild returns self.
20:40:00 <ehird> *this
20:40:02 <ehird> Bet it doesn't.
20:40:23 <ehird> Yep, it doesn't.
20:40:38 <Judofyr> :-)
20:41:55 <ehird> Element.prototype.add = function () {
20:41:56 <ehird> var i;
20:41:57 <ehird> for (i = 0; i < arguments.length; i++) {
20:41:59 <ehird> this.appendChild(arguments[i]);
20:42:01 <ehird> }
20:42:03 <ehird> return this;
20:42:05 <ehird> }
20:42:07 <ehird> I love chainsaws.
20:42:09 <ehird> Oh wait, "add" is taken.
20:43:50 <fizzie> I would rather like to write an IRC client with XUL + JavaScript, so that you could (a) style the looks with CSS and other that fluff and (b) it'd be very easily javascript-scriptable. TCP sockets with XPCOM/XPconnect do seem to act a bit peculiarly, though. (I don't much like this eks-chat.)
20:44:00 <ehird> "43 fizzie: I would rather like to write an IRC client with XUL + JavaScript"
20:44:01 <ehird> Chatzilla.
20:44:23 <ehird> Fits everything you said; also sucks.
20:44:37 <fizzie> Yes, well, a non-sucky version might... not suck.
20:44:54 <oerjan> a tautology might be a tautology
20:45:51 <Slereah_> That's a tautology
20:45:56 <ehird> >document.createTextNode.apply(["a"])
20:45:56 <ehird> null
20:45:57 <ehird> >document.createTextNode("a")
20:45:58 <oerjan> Yes it is
20:45:59 <ehird> "a"
20:46:01 <ehird> HOW DELICIOUSLY RETARDED.
20:46:54 <oerjan> A HIGH TARDIGRADE
20:47:05 <Slereah_> o(A<->A)
20:47:05 -!- zzo38 has joined.
20:47:08 <fizzie> Admittedly I've never looked at Chatzilla very closely. It does seem to be css-styleable (although the message window is a hueg table element) and javascript-scriptable; which makes sense, but you can't always count on common sense.
20:48:34 <zzo38> You could write a IRC client in XUL if you want to, using the sockets if you can figure it out. But for me netcat is good enough
20:48:48 <ehird> You use netcat as an IRC client? :D
20:49:03 <ais523> ehird: I do sometimes
20:49:38 <fizzie> jslib has a more user-friendly version of sockets, but I made the mistake of looking at the horrible javascript code in it, so now I'm not so sure I could abide using it.
20:49:55 <ehird> Okay, _nothing_'s displaying in my SVG.
20:49:57 <ehird> Wonderful.
20:50:06 * ais523 wonders if zzo38 knows how to type a CTCP VERSION response in netcat
20:50:09 <ehird> fizzie: I wonder if you can access the sockets from a regular web page somehow?
20:50:11 <ehird> ais523: yeah, I did that :)
20:50:20 <ehird> fizzie: An SVG+Javascript IRC client would be iiinteresting.
20:50:22 <zzo38> I always use netcat for IRC. I don't have anything else and don't really like most real IRC clients anyways.
20:50:40 <fizzie> ehird: Maybe I could make it like MS Comic Chat.
20:50:45 <ehird> :DD
20:51:07 <zzo38> I know how to respond to VERSION command and I think I just did. I have seen other CTRL+A commands also that I don't understand, I asked the sender and they told me what it means
20:51:18 <ehird> I didn't see a response.
20:51:26 <ais523> [19:50] [CTCP] Received CTCP-VERSION reply from zzo38: I already told you I used netcat, too, ais523..
20:51:31 <ais523> yep, it worked
20:51:34 <ehird> ah
20:51:35 <ehird> not for me
20:51:53 <fizzie> And no, I'm pretty sure only a chrome:// URL has the right magic to use xpconnect. Although I have a feeling you can apply for the privileges and have it pop up a box asking "do you want this to happen".
20:52:01 <ehird> I now intend to sue SVG, on account of its abject failure to work.
20:53:34 <zzo38> Once I received a CTRL+A command that I couldn't find it documented on Google or anywhere but the sender knew what it meant.
20:54:10 <fizzie> Oh, you can't do netscape.security.PrivilegeManager.enablePrivilege('universalXPConnect'); from http://-loaded content either. I guess they're afraid of users in the "ok everything" mode.
20:54:37 <zzo38> You need to make a XUL-runner application
20:54:54 <fizzie> I know; ehird just asked about regular pages.
20:57:23 <fizzie> I haven't seen much XUL-over-HTTP stuff done, probably just because of these security restrictions for non-chrome content. You can't do javascript-based custom tree models either in http content, so you have to DOM-manipulate the tree or something equally ugly.
20:57:47 <fizzie> Well, maybe more because of the browser-specificness, but anyway.
20:58:07 <zzo38> I tried to write the Deutsch algorithm in CLCLC-INTERCAL but I'm not sure if I have done it correctly. Reply on IRC even if I am not connected; I will read the log.
20:58:08 -!- zzo38 has quit.
20:58:42 <Sgeo> Anyone here ever do pseudomathish stuff when they were younger?
20:59:09 * Sgeo has, among other things, tried to define division by zero and a number "ati" such that |ati|=-1
20:59:32 <ais523> ok, that ati is an interesting one
20:59:51 <ais523> defining |x| as sqrt(x*x) you might be able to do it
20:59:59 <ais523> zzo38: I have no idea if you've done it correctly either
21:00:17 <ais523> reading an all-new dialect of INTERCAL is pretty tricky until you get used to it
21:00:18 <ais523> and without an implementation, things can be hard to learn
21:00:24 <Sgeo> |x| as sqrt(x*x) would mean that i is ati
21:00:33 <Sgeo> and I'm pretty sure that |i|=1
21:00:39 <ehird> 20:00 Sgeo: |x| as sqrt(x*x) would mean that i is ati
21:00:41 <ehird> that is elegant.
21:00:49 <ais523> yes
21:00:56 <Sgeo> It means the definition of |x| is wrong, I think
21:00:58 <ais523> it's just to do with what definition of |x| you use
21:01:05 <ais523> the definition I gave works fine for real numbers
21:01:15 <ais523> and there's more than one way to extend it over the complex numbers
21:01:15 <oerjan> Sgeo: that's because |x| = sqrt(x*conj(x))
21:01:34 <ehird> oerjan: that's not elegant.
21:01:44 <oerjan> sure it is
21:02:31 <ehird> |x| = √x²
21:02:33 <ehird> is elegant.
21:02:38 <ehird> :P
21:03:25 <ais523> |x| = √x*x*
21:03:32 <ais523> obviously elegant
21:03:48 <Sgeo> THat.. string ofm symbols doesn't make sense to me
21:03:53 <ehird> yeah multiplying by nothing is elegant</deliberate-misunderstanding>
21:03:53 <Sgeo> What's with the last *?
21:03:58 <ais523> conjugate
21:04:01 <Sgeo> Oh
21:04:21 <oerjan> you might prefer an overbar
21:04:22 <ehird> also, defining division by zero is trivial
21:04:26 <ehird> you just need a bunch of infinities
21:04:32 <ais523> oerjan: but x*x* is pretty
21:04:37 <Slereah_> Then what is 0/0!
21:04:42 <ais523> and actually unambiguous as long as you don't have a meaning for prefix *
21:04:46 <ais523> Slereah_: not-a-number, obviously
21:04:54 <ehird> Slereah_: infinity_0
21:04:57 <Slereah_> Then you can't define it everywhere!
21:04:58 <ehird> or
21:05:01 <ehird> 0
21:05:02 <ehird> :P
21:05:07 <ehird> You need 0 0s to produce a 0.
21:05:13 <Sgeo> ehird, I eventually "found" that if you looked on a scale of infinities, than all the n/0 numbers became like one "point", whatever I meant by that
21:05:21 <Slereah_> Technically, the answer should be R
21:05:31 <Slereah_> As 0* anything in R is 0.
21:05:54 <Slereah_> But those damn functions and their "one results per operation"
21:05:56 <Sgeo> I remember telling a friend that "2/0 = 4/0 but not 3/0"
21:06:06 <Slereah_> How high were you,
21:06:11 <ehird> One word nullity thread over
21:06:36 <Sgeo> Slereah_, I don't do drugs. Anyway, this was in 6th grade or earlier
21:06:40 <Slereah_> Nullity = nan
21:07:04 <oerjan> http://en.wikipedia.org/wiki/Wheel_theory
21:08:43 <Sgeo> ..I once decided that inf = -inf and therefore instead of a number line, the reality is a number circle
21:08:45 <Sgeo> Is that related?
21:08:52 <ehird> Sgeo: that's awesome.
21:10:33 <oerjan> the complex numbers are usually completed with a single infinity in that way
21:11:13 <Slereah_> What do you mean, "usually"?
21:11:21 <Slereah_> They can be, depending on the field
21:11:38 <oerjan> in general, it's known as the alexandroff one-point compactification
21:12:25 <oerjan> Slereah_: riemann sphere?
21:13:06 <Slereah_> Yeah, but I mean.
21:13:11 <Slereah_> for instance, in physics
21:13:16 <Slereah_> Shit like that is never used
21:13:24 <Slereah_> You just use complex numbers as RxR
21:13:48 <oerjan> Slereah_: obviously i mean "usually" _if_ they are completed
21:14:01 <ehird> Cool, it's working.
21:14:37 <oerjan> "It also finds utility in other disciplines that depend on analysis and geometry, such as quantum mechanics and other branches of physics."
21:15:12 <Slereah_> Yeah, but so far, nothing
21:15:29 <Slereah_> Maybe I'll see that next year.
21:19:26 <ehird> Hey, this is actually going pretty smoothley.
21:19:27 <ehird> *smoothly
21:27:02 <ehird> I have a circle I can hover over to swap its colours, and it smoothly grows by 10% of the screen every time you click it.
21:27:25 -!- logicgap has quit (Read error: 110 (Connection timed out)).
21:27:32 <FireFly> SVG is funny stuff
21:29:30 -!- MigoMipo has joined.
21:30:52 -!- BeholdMyGlory has quit (Remote closed the connection).
21:32:28 <ehird> Can SVG embed bitmaps?
21:32:46 <ais523> yes
21:32:51 <ais523> although I'm not sure how, offhand
21:33:01 <ehird> That's cool.
21:35:39 <ehird> ais523: you sure?
21:36:05 <fizzie> Just stick an image element there.
21:36:09 <ehird> Ah.
21:36:14 <fizzie> "The 'image' element can refer to raster image files such as PNG or JPEG or to files with MIME type of "image/svg+xml"."
21:36:18 <ehird> Neato.
21:36:23 <ais523> ehird: I definitely remember being told that it's true, but it's second-hand information
21:36:31 <ais523> which can always be unreliable due to someone lying to me, for instance
21:36:43 <ehird> I assume SVG is more efficient than canvas for vector stuff.
21:36:52 <ehird> fizzie: What about embedded bitmap stuff?
21:36:58 <ehird> ala canvas
21:37:25 <fizzie> If you mean data embedded in the svg file, just use a data URL or something. If you mean something else, do something else.
21:37:50 <ehird> Mmph. A data URL. Not the most efficient thing to pixel push on.
21:38:16 <fizzie> Oh, images-you-can-draw-pixels-on. That it might not have.
21:39:13 -!- BeholdMyGlory has joined.
21:39:30 <fizzie> You can draw with canvas and then use toDataURL to get it as image. :p
21:40:04 <ehird> Oh wait
21:40:10 <ehird> You could just embed <html><body><canvas///>
21:40:22 <ehird> And, I guess, rotate that about and stuff like normal.
21:41:03 <oerjan> yeah and draw a cheeseburger
21:41:09 <fizzie> Can you really triply-terminate a tag like that?
21:41:16 <ehird> no
21:41:18 <fizzie> Aw.
21:41:22 <ehird> yeah :(
21:42:09 <ais523> <tag///> is a brilliant idea
21:42:16 <ais523> sort of shorttags-like, although it conflicts with shorttags
21:42:37 <ais523> or maybe just <///> as an extention to shorttag's </>
21:42:41 <ais523> *shorttags'
21:44:00 <psygnisfive> what the hell are you kids talking about
21:44:11 <fizzie> Could you do <html/<body/<canvas//// in SGML? It's got that null end-tag thing.
21:44:15 <ehird> psygnisfive: nothing.
21:44:20 <psygnisfive> well good! >o
21:44:36 <fizzie> Maybe you could. "<P/Nested <EM/net-enabling start-tags/ are permitted, as this example shows./"
21:53:42 <ehird> Ugh, rotating SVG elements makes them move wildly off screen.
21:55:43 <ehird> Wowwweee.
21:55:56 <ehird> RMS now argues against javascript because your browser is evil and will run unfree programs without you realising it.
21:55:56 <ehird> http://www.gnu.org/philosophy/javascript-trap.html
21:56:49 <ais523> ehird: wow, that's some hatred for unfree programs
21:57:09 <ehird> Also, he unintentionally shits on the Moonlight/Mono guys: " A free replacement for Silverlight would hardly be of use in the free world without free replacement codecs."
21:57:46 <ehird> (some say "open") <-- he is so obsessed with his terminology...
21:57:47 <ais523> oh, most of the amazing crazy open source people hate mono anyway
21:57:59 <ais523> in case there are hidden microsoft patents it's infringing
21:58:08 <ehird> "First of all, browsers should be able to tell the user about nontrivial non-free Javascript programs, rather than running them."
21:58:08 <tombom> rms is a moron
21:58:10 <lament> a free replacement for silverlight would be pretty useless because silverlight is shit
21:58:19 <ehird> First of all we need a strong AI that can read JavaScript"
22:02:16 <ehird> Wonder how to rotate in place
22:09:48 <oerjan> ask a spin doctor
22:09:59 <ehird> ;_;
22:10:11 <oerjan> ... what?
22:11:23 * oerjan did not expect that smiley
22:17:02 <ehird> hrmph, it seems hard
22:18:17 <ehird> hmm, gmail has no "Next thread in any folder" key
22:25:19 -!- kar8nga has joined.
22:28:55 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:58:54 -!- tombom has quit ("Peace and Protection 4.22.2").
23:12:26 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
23:13:21 -!- Judofyr has quit (Remote closed the connection).
23:20:05 -!- BeholdMyGlory has quit (Remote closed the connection).
23:30:40 <ais523> hmm... someone finally got a refund of the microsoft tax from HP, but he had to start suing them in order to get them to settle: http://ernstfamily.ch/jonathan/2009/03/hp-refunds-520-of-software/
23:49:52 -!- BeholdMyGlory has joined.
2009-03-23
00:09:06 -!- zzo38 has joined.
00:09:36 <ehird> HOW TO ANNOY A PHYSICIST
00:09:39 <ehird> Slereah_: what are quarks made of
00:09:56 <zzo38> Yes I'm sure abs(i)=-1
00:10:16 <zzo38> Some physicists might say quarks are made of strings, I guess?
00:10:20 <ais523> zzo38: depends on your definition of abs
00:10:31 <ehird> zzo38: what are strings made of :D
00:10:49 <zzo38> And I have done pseudo-math stuff before
00:11:02 <zzo38> Strings are made of spacetime
00:11:05 <Slereah_> ehird : cat guts
00:11:29 <ehird> Slereah_: so.. it's a fractal universe?
00:11:37 <ehird> Cat guts are made of [...] quarks which are made of cat guts.
00:11:46 <zzo38> And absolute value is defined as the distance from zero (at least that is how I define it and I have seen that definition but only once, and not in a book that discusses complex numbers)
00:11:59 <Slereah_> I like my universes recursive
00:12:24 <zzo38> Sometimes I think of the universes recursive also, but not always
00:13:12 <zzo38> I will describe the INTERCAL program I wrote in case you can't read it:
00:13:42 <oklofok> how is the distance of i from zero -1?
00:13:45 <zzo38> The DO |1 <- #0 DO |2 <- #100$#0 means to make |1 refer to a new zero qubit and |2 to refer to a new one qubit
00:13:58 <zzo38> The distance of i from zero is positive 1.
00:14:14 <zzo38> Therefore abs(i)=+1
00:14:17 <oerjan> zzo38: it applies to complex numbers as well, just use pythagoras: abs(a+b*i) = sqrt(a^2+b^2)
00:14:18 <zzo38> Not -1
00:14:29 <oklofok> zzo38: Yes I'm sure abs(i)=-1 <<< okay this just confused me a bit
00:14:41 <zzo38> I already knew it applied to complex numbers as well and have used pythagoras.
00:14:57 <zzo38> oklofok: That was an error I meant abs(i)=+1
00:15:18 <zzo38> The lines DO TRANSFORM |1 DO TRANSFORM |2 applies the Hadamard transform to each register
00:15:34 <zzo38> (13000) is the line label for the quantum black box function
00:15:42 <zzo38> And then it Hadamard transform again
00:15:55 <ais523> oh, you made a truly quantum INTERCAL, rather than the one in CLC-INTERCAL that's just disguised multithreading?
00:16:07 <oerjan> oklofok: +1 = -1 in any field of characteristic 2 *ducks obscurely*
00:16:08 <zzo38> And then it sets .1 to zero, and .1 to one if |1 measures to one
00:16:16 <Sgeo> AFK
00:16:26 <ais523> oerjan: like the field of one-bit numbers?
00:16:39 <zzo38> And then the DO READ OUT .1 since it is not a quantum command, will force a measurement and output zero or one (in roman numerals, of course).
00:16:43 <oerjan> ais523: that would be the prime field of c. 2, yes
00:17:09 <ehird> -1i = 1i right? I'm rusty on corner cases.
00:17:09 <zzo38> And yes, I made (but not implemented yet!) a truly quantum INTERCAL, rather than the fake one in CLC-INTERCAL.
00:17:34 <ais523> that's worrying enough
00:17:39 <oerjan> ehird: erm not in the complex numbers
00:17:40 <ais523> I don't think I've used | in C-INTERCAL
00:17:48 <ais523> if I can think of a way to implement it, I'll have to try
00:17:49 <ais523> but not right now
00:17:51 <ehird> oerjan: er right
00:18:10 <zzo38> In CLCLC-INTERCAL the | operator has a different meaning than it did in C-INTERCAL (if it had a meaning at all in C-INTERCAL)
00:18:39 <ais523> it doesn't have a meaning in C-INTERCAL
00:18:46 <ais523> in CLC-INTERCAL, it's one of the TriINTERCAL operators, I think
00:18:48 <ais523> can't remember which one
00:19:17 <zzo38> ais523: (TriINTERCAL) Yes that's what I think too. But CLCLC-INTERCAL doesn't have TriINTERCAL so you don't have to worry about that
00:19:35 <ais523> stop breaking sidewards compatibility!
00:20:07 <zzo38> If you want compatibility, just run it in compatibility mode!!!!
00:20:47 <zzo38> And what's "sidewards compatibility" anyways? I have only heard of backward and forward but not sideways
00:21:33 <ais523> compatibility between unrelated impls of the same language
00:21:52 <oerjan> the important thing here should be snidewards compatibility
00:21:57 <oklofok> oerjan: yes i know that much field theory
00:22:14 <oerjan> you must support all the inside jokes
00:22:17 <oklofok> and much more by next friday
00:22:20 <zzo38> Well, there's compatibility if you run it in compatibility mode. Even FreeBASIC also has a compatibility mode and non-compatibility mode (and I use both modes of FreeBASIC).
00:22:21 <oklofok> yes
00:22:23 <oklofok> :DD
00:22:33 <ehird> does freebasic let you poke to graphics memory
00:22:35 <ais523> oerjan: that's a great pun, a really great pun
00:22:46 <ehird> SCREEN 13 \n POKE x+(y*320), colour
00:22:46 <ehird> :D
00:22:50 <ehird> err
00:22:52 <ais523> can I use that in C-INTERCAL advertising?
00:22:52 <ehird> add a def seg in there
00:23:03 <ais523> it's one of the best puns I've seen yet, and it's on-topic
00:23:10 <ehird> ais523: someone should buy a google adwords for intercal
00:23:12 <zzo38> FreeBASIC doesn't support DEF SEG, you have to use absolute addresses without segments
00:23:14 <ehird> for "programming" or something
00:23:16 <oerjan> ais523: i would be honored, i had no idea it was that good
00:23:22 <ehird> oerjan: it wasn't
00:23:34 * oerjan swats ehird -----###
00:23:39 <ais523> ERROR HANDLER PRINTED SNIDE REMARK
00:23:44 <oerjan> STOP PULLING ME DOWN TO EARTH
00:24:03 -!- neldoreth has quit ("Lost terminal").
00:24:29 <zzo38> Yes maybe CLCLC-INTERCAL should have a "snidewards compatibility" mode as well just to be weird, whatever that means (does it have something to do with printing snide remarks or something like that?)
00:24:44 * oerjan suddenly envisions hackwards compatibility
00:24:47 <ais523> zzo38: read up on INTERCAL error messages sometime
00:24:56 <oerjan> must ... complete ... the set
00:25:02 <ais523> oerjan: compatibility with unofficially modified versions of itself?
00:25:08 <oerjan> maybe.
00:25:58 <ehird> hmm
00:26:00 <zzo38> Ya maybe even compatibility with unofficially modified version of itself (but only if you enable that option)
00:26:23 <ais523> oerjan: I can't think of a way to complete the set
00:26:25 <ais523> but if anyone can, it's you
00:26:31 <ehird> zzo38: you should implement CLCLC-INTERCAL by making a library specifically for options
00:26:34 <ehird> and writing all the rest as options
00:27:01 <ehird> like, --check-politeness, --constant-fold
00:27:04 <oerjan> for- is such a boring prefix to rhyme
00:27:09 <ehird> and the options depend on other options for stages as the compiler
00:27:47 <ais523> ehird: CLC-INTERCAL is implemented similarly to that anyway
00:28:00 <ehird> ais523: not really
00:28:03 <ehird> it's not entirely based on options
00:28:06 * ais523 finds it amusing that whenever anyone tries to think of a /really bad/ compiler design, CLC-INTERCAL already has it covered
00:28:14 <ais523> ehird: the options just change which compiler files are linked in
00:28:17 <ais523> so arguably, yes
00:28:19 <ehird> ais523: with this, for instance,
00:28:22 <ehird> you could do
00:28:27 -!- neldoreth has joined.
00:28:31 <ais523> there are default option sets, but they're in an rc file
00:28:33 <zzo38> That's good way, maybe have options depend on other options for stages as the compiler.
00:28:44 <ehird> icick --compile --no-compile-assignments
00:28:51 <ehird> which would turn on compile and its dependencies but turn off --compile-assignments
00:28:57 <ehird> so it'd work exactly as normal but you couldn't assign to anything
00:29:21 <ais523> ehird: CLC-INTERCAL could trivially be modified to do that
00:29:22 <zzo38> Except that in CLCLC-INTERCAL it uses the old type of options that 1972 INTERCAL used (see the wiki page for details, and checking politeness is one of them).
00:29:23 <ehird> option dependencies would be function calls
00:29:24 <ehird> pretty much
00:29:27 <ais523> some commands, like NEXT are in their own preloads already
00:29:30 <ais523> = options
00:29:32 <ehird> ais523: it's a matter of implementation
00:29:42 <ais523> it's just a matter of splitting apart the files to be finer-graned
00:29:47 <ais523> *grained
00:29:56 <ehird> in mine, the whole compiler is one huge block simply using a massively bloated option parser
00:29:59 <zzo38> Yes both CLC-INTERCAL and CLCLC-INTERCAL could make assignment stop working, either DO ABSTAIN FROM CALCULATING or modify the syntax so that the assignment command does nothing
00:30:06 <ehird> and instead of calling functions it depends on arguments in just the right way
00:31:25 <zzo38> And you modify syntax at *RUN-TIME ONLY*, not compile-time. In CLC-INTERCAL you could do both but in CLCLC-INTERCAL you can do so only at run-time. However, if you want to do all the changes at once you could CREATE a syntax that does all the other changes at once and then add the command that was just created to the end of that file. The next file in the stack will then be executed using the new compiler
00:31:50 <ais523> the whole point with CLC-INTERCAL is you can't tell compile time from runtime
00:31:52 <oerjan> hm maybe forkwards compatibility
00:32:11 <ais523> oerjan: not bad, although that's much the same as sidewards probably
00:33:23 <oerjan> maybe furwards or firwards for the environmentalists
00:33:27 <ehird> INTERCAL compilation idea: Just Late Compilation
00:33:40 <zzo38> In CLC-INTERCAL I think you can decide whether to change syntax at compile-time or run-time by using crawling-registers, but CLCLC-INTERCAL has no crawling-registers
00:33:48 <oerjan> ehird: :D
00:33:49 <ehird> It interprets the program and compiles it simultaneously. Once it's compiled a part, it rewinds the program up to that point and runs the faster compiled version.
00:33:54 <oklofok> ehird: awesome
00:33:55 <ais523> ehird: Just-Too-Late is Claudio's name for CLC-INTERCAL's compilation method
00:34:00 <ehird> ais523: haha, really?
00:34:05 <oklofok> :D
00:34:14 <ais523> it works by running the program until it gets an error, then compiling the bit that errored and trying again
00:34:29 <ais523> the error is typically a syntax error due to the code in the section not having been parsed
00:37:08 <zzo38> But in CLCLC-INTERCAL how the compiler should probably work, is each time a file is load or the command CREATE or DESTROY or IMPORT is used, it has to recompile the current file.
00:37:23 <ais523> yes, that's boring
00:37:30 <ais523> neither C-INTERCAL nor CLC-INTERCAL work like that
00:37:37 <ais523> for instance, C-INTERCAL does all the compilation at compile time
00:37:45 <ais523> things that don't have a meaning yet are speculatively compiled
00:37:50 <ais523> so that they can run if they're given a meaning
00:37:59 <oerjan> DESTROY should be CREMATE, just for the confusion
00:38:15 <ais523> well, C-INTERCAL has CREATE but not DESTROY
00:38:32 <ehird> ao
00:38:33 <ehird> so
00:38:35 <ehird> I'm stark raving mad.
00:38:47 <ehird> this much istrue
00:39:12 <oerjan> ehird: i would quote lewis carroll but people started complaining about it
00:39:14 <zzo38> But isn't CREATE in C-INTERCAL different than the CLC-INTERCAL and CLCLC-INTERCAL?
00:39:30 <ais523> yep, it's limited to things that the compiler has a chance of guessing at with no context
00:39:35 <ehird> and if anyone wants to know why I'm stark raving mad, ask in /msg because it's too mad for this place (no, really.)
00:39:36 <ais523> so there are various grammar restrictions on it
00:39:49 <ais523> ehird: maybe later, I have to go home soon
00:39:58 <ais523> also, that's probably the second time you've mentioned it here
00:40:09 <ais523> but if it's madder than creating your own email client, probably I don't want to know
00:40:15 -!- BeholdMyGlory has quit (Remote closed the connection).
00:40:29 <zzo38> I can't ask in /msg there is no such nick/channel
00:40:31 <ehird> wait, that's mad?
00:40:38 <ehird> zzo38: heh
00:41:06 <zzo38> And I have created my own email client before but now I don't use email anymore
00:41:12 <ais523> ehird: are you sure it's too mad for here?
00:41:16 <ais523> is that even physically possible?
00:41:16 <ehird> ais523: maybe
00:41:22 <ehird> zzo38: you have no email account?
00:41:23 -!- ais523_ has quit ("http://www.mibbit.com ajax IRC Client").
00:41:26 <ais523> *psychically possible
00:41:36 <ais523> also, that took ais523_ a while, given the computer was forcibly shut down
00:41:40 <ais523> about 4 minutes ago
00:46:01 <zzo38> I changed the CLCLC-INTERCAL wiki page so that it says that CREMATE is the new name for DESTROY (if you don't like it, you can create the new syntax for DESTROY so that DESTROY works as well)
00:47:42 <zzo38> ehird: Yes I have no email. But sometimes it requires email to register for something so I just wrote my own SMTP server and run it only when I am expecting one of those messages, and then cancel the SMTP server afterward
00:47:51 <ehird> that's awesome :D
00:47:56 <ehird> I couldn't live without email though
00:48:01 <ehird> e.g. mailing lists
00:48:08 <ais523> that is really quite an impressive way to get a single-use email address
00:48:25 <ais523> zzo38: what should people use instead to contact you? Push-gopher?
00:49:36 <zzo38> There is currently no real way. If you are a member of any message boards I go on, you can send a private message there. You can also post a comment on ChronoJournal. And if you know my house address or telephone number (neither of which I will tell you) then you can use that
00:50:14 <ehird> zzo38: you should invent a way that somehow lets people send messages to you via the finger protocol
00:50:25 <ehird> that would be ridiculous and nobody could use it, which is what you want in a message service
00:51:12 <ais523> someone should invent push-gopher now
00:51:14 <zzo38> O that's easy to write a way to send messages by finger protocol, just put the message as the query. And it can easily be sent too, with netcat or any finger client. But I don't currently plan on doing this
00:51:20 <ais523> along the same lines as PTTH
00:51:28 <zzo38> What's push-gopher supposed to do anyways?
00:51:45 <zzo38> And what's PTTH
00:51:50 <ais523> like gopher, but you send someone else to your gopher page, rather than visiting theirs
00:52:02 <ais523> and PTTH is a new thing coming out of the IETF, it's like HTTP but in reverse
00:52:11 <ehird> PTTH was designed for second life
00:52:13 <ehird> I believe.
00:52:29 <oerjan> don't you mean PFFFTH
00:52:44 <ehird> zzo38: O that's easy to write a way to send messages by finger protocol, just put the message as the query. <-- that's boring though, it should be like, accessing two finger sites dit and dot which are interpreted as morse code
00:52:45 <zzo38> O. I understand now. I could implement that if I wanted to, I guess.
00:53:42 <zzo38> O, you want to use morse code?
00:53:50 <zzo38> I guess you can use morse code if you want to.
00:54:22 <zzo38> Send a voice-mail to someone with morse-code so that the computer can print out your voice-mail. Someone once asked "How do I print my voicemail?"
00:54:51 <ehird> zzo38: i was thinking like
00:54:59 <ehird> finger dit.zzo38computer.cjb.net
00:54:59 <ehird> finger dit.zzo38computer.cjb.net
00:55:00 <ehird> finger dit.zzo38computer.cjb.net
00:55:03 <ehird> finger dot.zzo38computer.cjb.net
00:55:06 <ehird> finger pause.zzo38computer.cjb.net
00:55:08 <ehird> then you'd do
00:55:10 <ehird> finger end.zzo38computer.cjb.net
00:55:10 <ehird> to stop
00:55:12 -!- ais523 has quit (Remote closed the connection).
00:56:03 <zzo38> Interesting for hypothetical esoteric programming stuff, but not for real use
00:56:31 <ehird> zzo38: you could make an smtp server that takes a message and converts it to morse code then does that
00:57:10 <zzo38> Yes, that's possible, but I have no plans to do that
00:57:36 <zzo38> And next time someone asks you how to print their voice-mail, ask them if they receive their voice-mail in morse-code
00:58:21 <ehird> :D
01:04:18 <zzo38> People can already send message to me by connecting to my HTTP site and typing a message in the URL, it will be logged, however I hardly ever read the server logs and have no guarantee that I will ever read your message.
01:04:44 <ehird> :D
01:04:57 <ehird> zzo38: i left you an http message
01:05:41 <zzo38> Thanks I found it. But that's only because you told me about it
01:06:14 <oerjan> maybe if we do it as a subtle DOS attack...
01:06:35 <zzo38> Don't do the DOS attack...
01:07:02 <zzo38> But sending me a message by HTTP is a good way to do it in case someone is communicating with me on a live public service where private messages are not possible.
01:07:13 <zzo38> But I don't know any other circumstance in which it would be useful.
01:08:12 -!- olsner has quit ("Leaving").
01:11:07 -!- zzo38 has quit.
01:38:55 -!- oerjan has quit ("Bedwards").
01:42:35 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
01:45:40 -!- FireFly has quit ("Later").
01:57:01 -!- Nevar has quit (Read error: 104 (Connection reset by peer)).
01:58:29 -!- bsmntbombdood_ has joined.
02:34:57 <ehird> "BigDecimal(): Not a number: 1"
02:34:59 <ehird> Well, er...
03:00:15 <kerlo> Irony in command line arguments: --ignore-case and --IGNORE-CASE do different things.
03:00:43 <ehird> kerlo: :D
03:03:41 <Sgeo> Is that a joke, or serious? What do they do?
03:04:15 <kerlo> Those are arguments that less takes
03:04:40 <kerlo> One ignores case when the search or whatever contains only lowercase letters; the other ignores case in all cases.
03:04:51 <kerlo> (Lol, "in all cases".)
03:05:28 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
04:16:41 -!- neldoreth has quit (Remote closed the connection).
04:16:52 -!- neldoreth has joined.
04:25:59 -!- cherez has joined.
04:26:09 -!- cherez has left (?).
06:02:44 -!- GreaseMonkey has joined.
06:35:29 -!- Sgeo has quit ("Leaving").
07:12:01 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
07:12:49 -!- bsmntbombdood has joined.
07:14:08 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
07:29:11 <oklofok> oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
07:35:29 <MizardX> mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:52:34 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
08:57:07 -!- Slereah has joined.
09:44:47 -!- tombom has joined.
09:51:53 -!- CakeProphet has joined.
09:52:51 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:43:32 -!- oerjan has joined.
11:04:25 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
11:30:37 -!- oerjan has quit ("leaving").
11:56:29 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
11:56:33 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
11:56:33 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
11:56:37 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
11:56:39 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
11:56:39 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
11:56:39 -!- kerlo has quit (calvino.freenode.net irc.freenode.net).
11:56:42 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
11:56:43 -!- oklofok has quit (calvino.freenode.net irc.freenode.net).
11:56:44 -!- tombom has quit (calvino.freenode.net irc.freenode.net).
11:56:44 -!- Asztal_ has quit (calvino.freenode.net irc.freenode.net).
11:56:46 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
11:56:47 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
11:56:47 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
11:56:49 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
11:56:49 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
11:56:51 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
11:56:52 -!- lament has quit (calvino.freenode.net irc.freenode.net).
11:56:52 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
11:56:52 -!- mtve- has quit (calvino.freenode.net irc.freenode.net).
11:56:54 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
11:56:56 -!- Dewi has quit (calvino.freenode.net irc.freenode.net).
11:56:56 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
11:56:56 -!- CakeProphet has quit (calvino.freenode.net irc.freenode.net).
11:56:58 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
11:58:00 -!- CakeProphet has joined.
11:58:00 -!- tombom has joined.
11:58:00 -!- Slereah has joined.
11:58:00 -!- neldoreth has joined.
11:58:00 -!- oklofok has joined.
11:58:00 -!- Asztal_ has joined.
11:58:00 -!- ehird has joined.
11:58:00 -!- sebbu has joined.
11:58:00 -!- kerlo has joined.
11:58:00 -!- fungot has joined.
11:58:00 -!- mtve- has joined.
11:58:00 -!- fizzie has joined.
11:58:00 -!- ineiros has joined.
11:58:00 -!- Ilari has joined.
11:58:00 -!- rodgort has joined.
11:58:00 -!- GregorR has joined.
11:58:00 -!- Deewiant has joined.
11:58:01 -!- Dewi has joined.
11:58:01 -!- Robdgreat has joined.
11:58:01 -!- lament has joined.
11:58:01 -!- AnMaster has joined.
11:58:01 -!- Leonidas has joined.
11:58:01 -!- SimonRC has joined.
11:58:01 -!- dbc has joined.
11:58:01 -!- ski__ has joined.
14:45:32 -!- KingOfKarlsruhe has joined.
14:53:02 -!- Judofyr has joined.
15:29:38 -!- oklofok has quit (Read error: 110 (Connection timed out)).
15:33:54 -!- oklofok has joined.
15:50:21 -!- Slereah_ has joined.
16:00:16 -!- Hiato has joined.
16:01:11 -!- Slereah has quit (Read error: 110 (Connection timed out)).
16:16:50 -!- cherez1 has joined.
16:26:58 -!- tromp has joined.
16:32:33 -!- cherez1 has quit (Read error: 145 (Connection timed out)).
16:41:41 -!- cherez has joined.
16:52:14 -!- cherez has left (?).
17:04:15 <ehird> Huh, PGP's source is publicly available. (Not FOSS, though.)
17:04:17 <ehird> I didn't know.
17:09:53 -!- cherez has joined.
17:09:57 -!- cherez has left (?).
17:15:49 -!- Hiato has quit ("Leaving.").
17:23:24 -!- tombom has quit (Read error: 101 (Network is unreachable)).
17:52:34 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:54:03 <AnMaster> ehird, heh
17:54:13 <AnMaster> ehird, anything wrong with gpg though?
17:54:16 <ehird> nope
17:55:14 <AnMaster> there are even nice GUI frontends for gpg. And (this may surprise you) I use such a GUI frontend most of the time, because I find it hard to remember all the command line switches and what not
17:55:27 <ehird> I know :P
17:55:29 <AnMaster> ehird, anything like kgpg or such for OS X?
17:55:36 <ehird> Yeah there's gpg stuff for os x
17:55:44 <ehird> what I really want is something unifying gpg and ssh keys
17:55:56 <AnMaster> ehird, like ssh-agent/gpg-agent?
17:56:03 <AnMaster> or what do you mean
17:56:04 <ehird> I mean the whole actual thing
17:56:09 <ehird> Use your gpg identity as an ssh key
17:56:15 <AnMaster> hm
17:56:15 <ehird> instead of having two key pairs
17:56:32 <AnMaster> I think they are technically incompatible though
17:56:41 <AnMaster> you could make some combined file format or such I guess
17:56:53 <ehird> Of course they're incompatible
17:56:56 <ehird> I'm saying I wish they weren't :P
17:57:45 <ehird> An irritating thing about gnupg is their refusal to provide a library
17:57:48 <AnMaster> btw, do you use ssh-agent?
17:57:52 <AnMaster> or gpg-agent
17:58:07 <ehird> To be honest, I haven't got round to setting up an ssh key on my server yet.
17:58:12 <AnMaster> heh
17:58:31 <ehird> I'm still trying to think of a way to make sudo use my ssh key, thus completely removing passwords from the equation :-)
17:58:52 <AnMaster> ehird, that is rather easy: generate a key, do: ssh-copy-id -i ~/.ssh/id_rsa.pub foo@bar.org
17:59:01 <AnMaster> well you will need to adjust the paths of course
17:59:07 <ehird> That's nothing to do with sudo
17:59:22 <AnMaster> ehird, well true, but I meant copying the id is dead easy
17:59:31 <ehird> Yes, I know. I've done it before :-)
17:59:34 <ehird> AnMaster: Even easier:
17:59:40 <ehird> just scp it to authorized_keys
17:59:47 <ehird> .ssh/authorized_keys that is
18:00:07 <ehird> 4.16) Can't we have a gpg library?
18:00:07 <ehird> This has been frequently requested. However, the current viewpoint of the GnuPG maintainers is that this would lead to several security issues and will therefore not be implemented in the foreseeable future. However, for some areas of application gpgme could do the trick. You'll find it at <ftp://ftp.gnupg.org/gcrypt/alpha/gpgme>.
18:00:10 <ehird> ^ don't like that attitude
18:00:41 <AnMaster> ehird, what sort of security issues? Programmers using the library incorrectly?
18:00:47 <ehird> I think that's the idea
18:00:49 <ehird> but that's just stupid
18:00:50 <AnMaster> mhm
18:01:01 <ehird> you can use gpg's tools improperly too
18:01:12 <AnMaster> if the API is high level enough it shouldn't be an issue
18:01:34 <AnMaster> I mean, basically API for what you can do with the command line tool
18:01:41 <ehird> yes
18:01:41 <AnMaster> then it should be no more insecure
18:02:41 <AnMaster> ehird, though since it is C I guess stuff like memory corruption in the program using the library could mean that a separate process would be more secure
18:02:57 <ehird> AnMaster: hee you just reminded me of the debian issue
18:03:05 <AnMaster> ehird, the openssl one?
18:03:07 <ehird> yep
18:03:14 <ehird> hur hur they're using uninitialized memory, well they must be stoopids! *comments out*
18:03:22 <ehird> dumbo security guys ha ha
18:03:26 <AnMaster> well that is the wrong way to solve it indeed.
18:03:43 <ehird> I love how they did it just so valgrind would shut up
18:03:44 <AnMaster> a better idea would have been to report it upstream
18:03:50 <ehird> er
18:03:51 <ehird> it wasn't a bug
18:03:57 <ehird> it was an intentional source of entropy
18:03:58 <AnMaster> mhm ok
18:04:09 <AnMaster> ehird, not sure how random that would be
18:04:14 <ehird> int main(void) { return 0; } /* 100% valgrind clean */
18:04:37 <ehird> AnMaster: in the process they commented out the main entropy source
18:04:39 <AnMaster> ehird, only with the default suppressions for libc internals
18:04:51 <ehird> so instead of just decreasing it a bit it pummeled it
18:04:52 <AnMaster> and ld.so too
18:05:05 <AnMaster> ehird, heh
18:05:17 <AnMaster> ehird, I wonder what they did to python then....
18:05:22 <AnMaster> since it isn't valgrind clean
18:05:26 <AnMaster> by design
18:05:26 <ehird> :D
18:05:29 <ehird> ln -s python perl
18:05:32 <ehird> er
18:05:34 <ehird> reverse that.
18:06:24 <AnMaster> ehird, basically pythons' allocator does some quite (but not 100% in theory) safe stuff
18:06:29 <AnMaster> err
18:06:32 <AnMaster> python's*
18:06:36 <ehird> quite safe stuff?
18:06:37 <ehird> typo? :D
18:06:55 <AnMaster> err?
18:07:14 <AnMaster> ehird, what typo?
18:07:19 <ehird> "basically python's allocator does some quite safe stuff"
18:07:20 <AnMaster> the one I corrected?
18:07:23 <ehird> doing safe stuff makes python complain now?
18:07:24 <ehird> er
18:07:27 <ehird> s/python/valgrind/
18:07:39 <AnMaster> ehird, no not exactly.
18:08:01 <AnMaster> ehird, pymalloc reads uninitialised memory
18:08:19 <ehird> ah.
18:08:20 <AnMaster> let me check the details in README.valgrind in python's source tarball
18:08:20 <ehird> why
18:09:14 <AnMaster> PyMalloc needs to know whether an arbitrary address is one
18:09:14 <AnMaster> that's managed by it, or is managed by the system malloc.
18:09:14 <AnMaster> The current scheme allows this to be determined in constant
18:09:14 <AnMaster> time, regardless of how many memory areas are under pymalloc's
18:09:14 <AnMaster> control.
18:09:22 <AnMaster> The memory pymalloc manages itself is in one or more "arenas",
18:09:22 <AnMaster> each a large contiguous memory area obtained from malloc.
18:09:22 <AnMaster> The base address of each arena is saved by pymalloc
18:09:23 <AnMaster> in a vector. Each arena is carved into "pools", and a field at
18:09:25 <AnMaster> the start of each pool contains the index of that pool's arena's
18:09:27 <AnMaster> base address in that vector.
18:09:32 <AnMaster> Given an arbitrary address, pymalloc computes the pool base
18:09:32 <AnMaster> address corresponding to it, then looks at "the index" stored
18:09:33 <AnMaster> near there. If the index read up is out of bounds for the
18:09:36 <AnMaster> vector of arena base addresses pymalloc maintains, then
18:09:37 <AnMaster> pymalloc knows for certain that this address is not under
18:09:39 <AnMaster> pymalloc's control. Otherwise the index is in bounds, and
18:09:41 <AnMaster> pymalloc compares
18:09:43 <AnMaster> the arena base address stored at that index in the vector
18:09:45 <AnMaster> to
18:09:47 <AnMaster> the arbitrary address pymalloc is investigating
18:09:47 <ehird> AnMaster: ...
18:09:48 <ehird> dude.
18:09:49 <ehird> that
18:09:51 <ehird> is
18:09:53 <ehird> some
18:09:54 <ehird> fucking
18:09:56 <ehird> flood
18:09:58 <AnMaster> actually I should have pastebinned it yes
18:10:06 <ehird> Python is so boringly conventional, its implementation does nooo fun tricks.
18:10:32 <AnMaster> ehird, anyway point is that it reads uninitialised memory.
18:10:48 <ehird> Rite.
18:12:10 -!- ais523 has joined.
18:12:26 <ehird> hi ais523
18:12:36 <AnMaster> ehird, strlen() could do that too, since the glibc optimised strlen() reads 4 or 8 bytes at a time to speed up, it means it could read past end of string a few bytes. But it is quite safe since it will read 4- or 8- aligned bytes. And the system pagesize is a multiple of that so it can never hit a non-readable page.
18:12:47 <AnMaster> and hello ais523
18:12:47 <ais523> ehird: I knew you'd said hi ais523 without even looking at the channel
18:12:47 <lament> your mom is so boringly conventional, she does nooo fun tricks
18:12:50 <ehird> I know how glibc strlen() works, AnMaster.
18:12:54 <ais523> just based on the fact I'd been highlighted
18:12:55 <ehird> Because I advocated it.
18:12:56 <ais523> and hi AnMaster
18:12:56 <ehird> To comex. :P
18:13:08 <AnMaster> ehird, anyway valgrind has a default suppression for that
18:13:26 <ais523> AnMaster: what if there's a memory-mapped hardware address past the end of the string
18:13:37 <ais523> and the string itself is entirely in memory-mapped hardware, but you don't mind reading those addresses?
18:14:22 <AnMaster> ais523, hm, I don't think you can map anywhere but a multiple of the page size on x86 at least
18:14:27 <fizzie> About fun tricks (that we talked about here earlier): according to That One Wiki, people actually have been doing "swap palettes during the screen drawing to get more colors" tricks with CGA cards: "The best example of this in use is the game California Games[8] when run on a stock 4.77 MHz 8088. (Running it on a faster computer does not produce the effect, as the method the programmers used to switch palettes at predetermined locations is extremely sensitive
18:14:27 <fizzie> to machine speed.)"
18:14:34 <AnMaster> and glibc have different strlen() for different arches
18:15:15 <AnMaster> ehird, IMO they should valgrind should do: if (fileexists("/etc/debian-release")) disable_glibc_suppressions();
18:15:17 <AnMaster> ;)
18:15:29 <AnMaster> then debian would surely get a superslow glibc
18:15:35 <ais523> AnMaster: there are surely better ways to tell if you're on Debian or not!
18:15:47 <ais523> and why would you deliberately give debian a superslow glibc?
18:16:01 <ehird> AnMaster: eh, debian is alright; just a fuckup because they modified security software without carefully checking it (which _is_ stupid)
18:16:10 <AnMaster> ais523, Well since we discussed Debian, OpenSSL and valgrind...
18:16:56 <ehird> "relying on the garbage collector is a crutch" /facepalm
18:17:07 <AnMaster> heh, who wrote that?
18:17:12 <ehird> random redditor
18:17:21 <lament> it's a fairly wide-spread view
18:17:34 <ehird> lament: yeah, like AnMaster here used to have ;)
18:18:04 <lament> i'm not saying people who think that aren't insane, but there's logic to their madness
18:18:18 <ehird> er
18:18:20 <ehird> there is?
18:18:20 <AnMaster> ehird, btw using unintialised memory for entropy isn't such a good idea, since kernel usually give blanked out pages to glibc, so the stuff you end up reading is likely your own previous stuff.
18:18:54 <AnMaster> I'm not sure about memory allocated with sbrk() but not blanking pages before giving them to user space sounds like a really bad idea for security
18:21:02 * ehird works on Awful Project
18:21:47 <AnMaster> ehird, about GC. GC makes sense for languages with typed data, GC for C programs is IMO not such a good idea. Well good idea maybe, but in practise it doesn't work well.
18:21:55 <AnMaster> Well,*
18:22:15 <ehird> That's a C deficiency
18:22:21 <AnMaster> ehird, indeed.
18:22:41 <lament> sea deficiency :(
18:22:52 <ehird> ;__;
18:22:55 <AnMaster> lament, that would be a boat or a whale?
18:23:17 <Asztal_> vitamin C deficiency?
18:23:22 <AnMaster> haha
18:24:09 <fizzie> According to http://wiki.debian.org/SSLkeys#TechnicalSummary it's not that they were using unitialized memory for randomness; it's just that they removed two MD_Update calls, of which one actually was responsible of adding /dev/random-based entropy in.
18:24:30 <AnMaster> anyway... since C and C++ are quite popular languages even for stuff that don't need the low levelness or the speed. it isn't strange that GCs ended up with a bad reputation(sp?)
18:24:31 <ehird> hmm
18:24:36 <ehird> fizzie: yes. I said that
18:24:55 <fizzie> ehird: There was too much babble for me to read through that closely.
18:24:57 <ehird> AnMaster: it's strange that C is popular for anything but kernel development
18:25:06 <ehird> well that's strange too but I won't be too heretical
18:25:11 <AnMaster> ehird, well C++ is sadly more popular these days
18:25:21 <lament> it's strange that foo is popular for bar
18:25:26 <ehird> 'This was done to try to make it easier to debug C applications that use the openssl libraries which is a good thing to do."
18:25:33 <ehird> Is this the Simple English debian wiki?
18:25:51 <lament> ehird: you're the only person on *the internet* who complains more than I do.
18:26:13 <ehird> lament: Oh, no, I know one person who complains more.
18:26:20 <lament> wow.
18:26:23 <ais523> lament: well, you don't complain much in here
18:26:26 <ehird> lament: They are a huge pain to talk to.
18:26:31 <ais523> but presumably based on that you complain a lot elsewhere
18:26:42 <ehird> ais523: he complains loads in here
18:26:45 <AnMaster> ehird, on the other hand since OS is in C, basic libraries in C and graphical window drawing thingy is either built into kernel or a program coded in C (all of those can be justified to be in C, they need low level stuff and they need speed), it is easy to interface with stuff if you code in C
18:26:58 <AnMaster> and then other stuff can interface with the stuff you just wrote in C as easily
18:26:58 <ehird> AnMaster: foo to unix I say. Foo!
18:27:04 <AnMaster> so that just growz
18:27:06 <AnMaster> grows*
18:28:17 <AnMaster> ehird, hm what did that mean?
18:28:23 <ehird> AnMaster: i dislike unix :P
18:28:28 <ehird> http://libexplain.sourceforge.net/ <-- This is nice.
18:29:38 <AnMaster> hm
18:31:32 <AnMaster> ehird, Hm... Interesting
18:32:00 <AnMaster> code ends up rather verbose though
18:32:09 <ehird> AnMaster: o rly?
18:32:17 <ehird> fd = libexplain_open_or_die(path, flags, mode);
18:32:19 <ehird> vs
18:32:21 <ehird> fd = open(path, flags, mode);
18:32:23 <AnMaster> ehird, I mean, having to list the arguments again.
18:32:23 <ehird> if (fd < 0) {
18:32:27 <ehird> print out sterror
18:32:27 <ehird> }
18:32:30 <ehird> AnMaster: read
18:32:30 <AnMaster> What if you don't have a local variable for it?
18:32:32 <ehird> The good new is that for each of these functions there is a wrapper function, in this case libexplain_open_or_die(3), that includes the above code fragment. Adding good error reporting is as simple as using a different, but similarly named, function. The library also provides thread safe variants of each explanation function.
18:32:38 <AnMaster> ah
18:32:44 <AnMaster> that is a lot more useful
18:32:58 <AnMaster> if you want to make it a fatal error that is
18:33:12 <AnMaster> (which is rather common)
18:33:51 -!- FireFly has joined.
18:38:53 <ais523> ehird: the libexplain thing means that UNIX is the second environment, after C++, which now has a dedicated library/program to explain its error messages
18:39:02 <ehird> :-D
18:39:12 <ehird> Thus proving the awfulness of them both!
18:39:15 <ehird> Ahem.
18:39:23 <ehird> ais523: they should make one of them for ed
18:39:25 <ehird> ?
18:39:26 <ehird> [[
18:39:27 <ehird> Either:
18:39:30 <ehird> - You entered an invalid command
18:39:36 <ehird> - You entered nonsensical parameters into a valid command
18:39:40 <ehird> (100 pages)
18:39:40 <ehird> ]]
18:39:45 <ais523> ehird: heh
18:40:34 <AnMaster> ehird, I wonder why ed doesn't even have error codes or something
18:40:46 <ehird> AnMaster: Disk space, UNIX philosophy.
18:40:52 <ehird> The fact that Ken Thompson doesn't make errors, dammit.
18:40:53 <AnMaster> ah yes it is that old indeed...
18:40:54 -!- tombom has joined.
18:41:13 <ehird> http://philosecurity.org/2009/03/23/pirates-and-ninjas-emacs-or-vi
18:41:52 <ehird> Woah.
18:41:55 <ehird> Bjarne Stroustrup edits with Sam
18:42:00 <ehird> http://en.wikipedia.org/wiki/Sam_(text_editor)
18:43:33 <fizzie> I once wrote a Win32 CD player program with a "netcat into it" UI (I don't really remember why the box in question ran Windows, though) which used one-character commands, and answered "?" to any erroneous input; and if you wrote "?" back, it printed out the "help", which was a string of all valid commands in lexical order; something like "[0-9]?eflprs". That one might've been a bit unpopular if I had distributed it to anyone.
18:43:40 <AnMaster> ehird, what on earth has pirates and ninjas got to do with emacs or vi(m)?
18:43:52 <ehird> AnMaster: They're both holy wars.
18:43:57 <AnMaster> I see...
18:46:07 <ehird> http://upload.wikimedia.org/wikipedia/commons/9/98/Acme.png <- plan9 is awesome
18:46:10 <ais523> I'm not aware pirate vs. ninja is a holy war
18:46:15 <ais523> just because I've never met anyone on either side of it
18:46:22 <ais523> although many people are passionate about the issue
18:46:22 <ehird> ais523: it's more of an internet thing, I think
18:46:25 <AnMaster> ais523, indeed it was news to me too
18:46:28 <ais523> I know it's an internet thing
18:46:30 <ehird> ah
18:46:36 <ais523> certainly, pirates and ninjas are mortal enemies
18:46:43 <ais523> but you don't get people who are raving on the pirate side or the ninja side
18:46:46 <ehird> sure you do
18:46:48 <ais523> most people think it's either a draw, or situational
18:46:51 <ehird> the holy war I've seen takes the form of "which is more awesome?"
18:47:04 <ehird> with subquestions "more likely to beat the other", etc.
18:47:07 <AnMaster> I fail to see why they couldn't cooperate
18:47:13 <ehird> AnMaster: ninjas? cooperate?
18:47:15 <ehird> o_o
18:47:20 <AnMaster> ehird, team work?
18:47:26 <ehird> ninjas.
18:47:43 <AnMaster> ehird, why not a team of 5 pirate ninjas?
18:47:52 <ehird> Stop destroying space-time, AnMaster.
18:48:44 <AnMaster> ehird, I mean it could work very well, attacking ships in a stealthy way instead of allowing the attackees to see the jolly roger flag from miles away
18:48:53 <ehird> Yes, but, that's not the point.
18:49:01 <ehird> As soon as you say "ninjas" and "cooperate" you're wrong.
18:49:14 <AnMaster> ehird, I fail to see wy
18:49:16 <AnMaster> why*
18:49:21 <ehird> That is because you are blind.
18:49:31 -!- cherez has joined.
18:49:38 -!- cherez has left (?).
18:49:53 <AnMaster> ehird, no I'm not blind
18:50:13 <ehird> you are blind to the 74.32th dimension (where ninjas reside.)
18:50:26 <AnMaster> ehird, do you prefer pirates or ninjas?
18:50:33 -!- MigoMipo has joined.
18:50:54 <ehird> AnMaster: self-improving smarter-than-human AIs. They don't need to edit files; they just evolve new ones.
18:51:11 <AnMaster> err, what?
18:51:14 <ehird> Meditate on it.
18:52:00 <AnMaster> ehird, anyway I suggest pirate ninjas as a compromise. And there is viper mode for emacs, I suggest adding a emacs mode to vim as well.
18:52:12 <ehird> 1) Impossible. 2) Space time.
18:52:32 <AnMaster> which 2?
18:52:41 <ehird> ``And there is viper mode for emacs, I suggest adding a emacs mode to vim as well.''
18:52:46 <AnMaster> yes and?
18:52:51 <ehird> Space time.
18:53:10 <AnMaster> ehird, err is that the name of some program or what?
18:53:15 <ehird> Space time.
18:53:17 <AnMaster> I mean how is space time related to it
18:53:22 <ehird> Destruction thereof, AnMaster.
18:53:27 <AnMaster> ah...
18:53:38 -!- Mony has joined.
18:53:57 <AnMaster> ehird, just add both vi and emacs modes to nano then, I guess it will have to be renamed to peta then
18:54:15 <ehird> AnMaster: emacs + anything = emacs. It's unavoidable.
18:54:31 <ais523> correct, emacs + vi = viper, but that's unmistakably emacs not vi
18:54:34 <AnMaster> ehird, hm...
18:54:51 <AnMaster> ais523, I admit I never used viper mode, I just heard about it
18:55:02 <ehird> ais523: yes, various emacsen have subquantum fluctuations in their existence wave so that you can tell them apart
18:55:03 <ehird> but they're still emacs
18:55:12 <AnMaster> ehird, hm bash has line editing you know?
18:55:20 <AnMaster> did you know that line editing has two modes
18:55:22 <ehird> AnMaster: Er. Yes. Yes I was aware.
18:55:27 <ehird> But that is not emacs.
18:55:27 <AnMaster> one emacs-style and one vim-style
18:55:30 <AnMaster> true
18:55:39 <ehird> That's just a small subset of emacs editing keys. AnMaster: You know, OS X has Emacs editing keys in _every input field_.
18:55:44 <AnMaster> but I mean... it hasn't turned into emacs just because of it
18:55:48 <ehird> Ctrl-A, Ctrl-E, Option-Left&Right, ...
18:55:52 <ehird> They all work just like in emacs.
18:55:55 <ehird> Doesn't make OS X emacs.
18:56:00 <ehird> It's deeper than the key bindings. More disturbing.
18:56:03 <ehird> Like Cthulhu.
18:56:16 <AnMaster> ehird, yes, though for Ctrl-A/E I actually edited my inputrc file so I use different keys in bash
18:57:00 <AnMaster> oh and I made PgUp/PgDown useful too. I mean it is really useless to have them jump to beginning/end of history. Personally I prefer to make them search in history instead
18:57:22 <ehird> AnMaster: They control my terminal scrollback for me :P
18:57:24 <AnMaster> "\e[5~": history-search-backward
18:57:24 <AnMaster> "\e[6~": history-search-forward
18:57:43 <AnMaster> ehird, ah konsole use shift-up/down for that
19:00:02 <ehird> http://www.reddit.com/r/programming/comments/86roz/pirates_and_ninjas_emacs_or_vi/c08en63 Er.
19:01:32 <AnMaster> huh
19:01:50 <fizzie> That does sound more "pirate" than "ninja", yes.
19:02:15 <fizzie> What with all the monkey stuff and all.
19:02:17 <ais523> bash hash alt-p for search in history, and control-r for isearch in history
19:02:18 <AnMaster> pirates traditionally have beard too btw
19:02:19 <ais523> *has
19:02:45 * ehird installs plan9port
19:02:48 <AnMaster> ais523, what sort of search?
19:02:52 <AnMaster> ais523, not the same I think
19:03:21 <ehird> Fun fact: I used to swear by nano. :P
19:03:35 -!- BeholdMyGlory has joined.
19:03:47 <ais523> nano is about my borderline for usable enough
19:03:47 <ais523> for regular editing
19:03:50 <ais523> something less usable than nano is really annoying to use
19:04:01 <ais523> whereas nano is above my editor annoyance threshhold
19:04:02 <AnMaster> ais523, the pgup/down search is like: $ ./configu<PgUp> -> $ ./configure --prefix=blah --lots-of-args-you-entered-when-calling-last-time --which-was-200-lines-ago-or-so
19:04:04 <ehird> Nano is pretty much in the windows tradition
19:04:09 <ehird> All the shortcuts are similar
19:04:11 <AnMaster> with the config I mentioned above
19:04:14 <ehird> and the text widget too
19:04:19 <AnMaster> ais523, I find it extremely useful
19:04:33 <ehird> that's alt-p isn't it
19:04:43 <ais523> ehird: not quite
19:04:52 <ais523> alt-p you press before typing the substring not after
19:04:57 <ais523> and it finds it in the middle of commands too
19:04:59 <ehird> doesnt it work with both
19:05:25 <AnMaster> ehird, hm PgDown searches like that but down from the current position, so if there are several matches and you press PgUp once too many times you can use use PgDown to go down to the previous match
19:05:40 <ehird> I believe that's also bound
19:05:45 <ehird> also, ctrl-r is better than what you said
19:05:46 <ehird> you can do
19:05:48 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
19:05:52 <ehird> ^R ./configu
19:05:55 <ehird> but it's more powerful
19:06:03 <ehird> In fish, what you said is
19:06:04 <ehird> ./configu<UP>
19:06:45 <ehird> hm
19:06:49 <AnMaster> ehird, no it wasn't better... ctrl-r found lines with configure in the middle, like: rm configure; ./autogen.sh
19:06:50 <ehird> how big are SSE values?
19:06:53 <ehird> 2 x word?
19:07:08 <AnMaster> ehird, SSE registers are 128 bits wide
19:07:23 <ehird> AnMaster: is there an SSE stack?
19:07:32 <AnMaster> no they aren't stacked like x87
19:07:37 <ehird> i mean
19:07:40 <ehird> a stack
19:07:41 <ehird> as in a stack
19:07:45 <ehird> that contains sse values
19:07:52 <ais523> hmm... interesting
19:07:56 <ais523> bash seems not to have a regex history search
19:08:24 <AnMaster> btw, unlike most x86 instructions the majority of the SSE instructions cause segfault if you try to operate on memory not aligned on 16-byte boundaries.
19:08:40 <AnMaster> ehird, you can put any values on your C stack
19:08:45 <AnMaster> SSE variables too
19:08:48 <AnMaster> if that is what you mean
19:08:53 <ehird> AnMaster: hmm
19:08:59 <ehird> Then you could use SSE vars to have efficient tagged pointers
19:09:05 <AnMaster> ehird, I mean, you can have arrays and what not on your stack
19:09:06 <AnMaster> err
19:09:07 <AnMaster> what?
19:09:08 <ais523> wow, bash has an undo?
19:09:12 <AnMaster> ais523, undo how?
19:09:13 <ais523> I don't think I've ever needed to use that
19:09:13 <ehird> AnMaster: what do you mean what
19:09:21 <ais523> AnMaster: the same as in any other editor
19:09:27 <ais523> undoes editing commands in the line you're typing
19:09:35 <AnMaster> ehird, how would SSE help with tagged memory?
19:09:44 <fizzie> They really ought to cause SIGBUS, that sounds like it'd be more traditional for unaligned access.
19:09:50 <ehird> AnMaster: they efficiently store values larger than a machine word
19:09:59 <ehird> so you can pass them around as efficiently as a machine word
19:11:12 <AnMaster> ehird, SSE is usually slower to set up iirc. they are vector instructions, so to be of use you really need to operate on streams. IIRC they have higher initial latency on some CPUs (though I may misremember that)
19:11:22 <AnMaster> actually it wasn't that...
19:11:42 * AnMaster tries to remember why SSE was slower when you weren't doing lots of operations..
19:11:52 <AnMaster> anyone else know?
19:13:05 <AnMaster> ehird, anyway there are many things you can't do with SSE. Like most control flow (in more recent SSE versions there is some basic control flow support, and there is cmov style things too)
19:14:11 <AnMaster> ehird, however I think a good baseline for general use today would be SSE2 at most. I have one computer with just SSE and one with SSE2 and SSE3 too
19:14:15 <AnMaster> but nothing newer than that
19:14:24 -!- Blipi has joined.
19:15:20 -!- oerjan has joined.
19:15:35 <AnMaster> hi oerjan
19:15:39 -!- tombom_ has joined.
19:16:15 <oerjan> g'day AnMaster
19:17:02 <oerjan> <ehird> Huh, PGP's source is publicly available. (Not FOSS, though.)
19:17:30 <oerjan> i think that's sort of a prerequisite for encryption to be trusted these days, isn't it?
19:17:36 <ehird> You'd be surprised.
19:18:08 <ais523> ehird: you shouldn't be surprised at that
19:18:20 <ais523> PGP's source was released publically by the author, because he wanted it to escape into the wild before he could be sued into oblivion
19:18:41 <lament> i would imagine most people think closed = more secure
19:18:41 <ehird> ais523: no you misunderstand
19:18:46 <ehird> it became closed source in the 90s
19:18:52 <ehird> at the protests of the pgp team
19:19:00 <ehird> but the new owner (PGP Corporation) has released the source now, it seems
19:19:04 <ais523> ah, interesting
19:19:08 <AnMaster> lament, err? why?
19:19:10 <ehird> not allowed to modify it other than to get it build, thouh
19:19:10 <ehird> gh
19:19:13 <ehird> which is a shame
19:19:20 <ais523> presumably its legal status was clarified eventually, then
19:19:21 <ehird> AnMaster: people can't see it and understand it and break it, DUH
19:19:27 <ehird> yes, this is what people believe
19:19:30 <ehird> ais523: ages ago, yes
19:19:35 <ehird> it's been legal since the early 90s
19:19:38 <ehird> well
19:19:40 <ehird> it never was illegal
19:19:45 <ais523> wow, I'm out of touch with the whole PGP story
19:19:48 <ehird> verily :D
19:19:55 <lament> AnMaster: by analogy with the Real World
19:19:58 <AnMaster> ehird, security by obscurity? Would anyone seriously think that works?
19:20:05 <lament> AnMaster: because it works in the real world
19:20:07 <ehird> AnMaster: No shit, of course they do
19:20:08 <fizzie> I just remember the "printed as book" part of the PGP story; that was the awesome.
19:20:12 <ehird> fizzie: i know!
19:20:16 <lament> and people are insufficiently familiar with how the real world is different from software
19:20:33 <ais523> security by obscurity doesn't work in the real world
19:20:37 <lament> also, security through obscurity does work, quite well, even in practice
19:20:38 <ais523> well, it works well enough in most cases
19:20:40 <ais523> but not perfectly
19:20:49 <ehird> Nobody cares about perfect
19:21:02 <ehird> Security by obscurity tends to work, it's just immoral and stupid.
19:21:02 <ais523> except people who have felt the problems imperfection causes
19:21:06 <lament> i have worked on currency exchange software
19:21:09 <AnMaster> lament, Um, how do you mean in the real world? A software is more like a building material with blue print included than any specific instance of a house
19:21:11 <AnMaster> for example
19:21:15 <lament> the system in production had critical security bugs for years
19:21:23 <lament> that i discovered and reported
19:21:33 <lament> but nobody actually discovered them "in the wild"
19:21:35 <AnMaster> a closed source software would be like one of those prefab houses
19:21:38 <lament> even though they could make a ton of money
19:21:42 <AnMaster> (spelling?)
19:21:50 <ehird> AnMaster: that's an awful analogy
19:21:53 <ehird> really, really terrible
19:21:58 <ehird> completely detached from meaning
19:21:59 <AnMaster> ehird, yes it wasn't very good
19:22:01 <ehird> I thought you'd like to know
19:22:16 <lament> AnMaster: YOU know what "software is like"
19:22:21 <ehird> #!/bin/sh
19:22:21 <ehird> echo read the README file.
19:22:22 <lament> AnMaster: most people have no idea ta all
19:22:24 <ehird> —plan9/configure
19:22:36 -!- tombom_ has quit ("Peace and Protection 4.22.2").
19:26:01 <AnMaster> lament, the issue here is you (or someone else) is confusing types of objects and instances of those types. When you consider that it applies the same in computing... A specific computer with an installed (multi-user) OS and set up: obscure password, obscure ports for remote access (NEVER put ssh on port 22, using some random high port means a lot less random "scan and brute force" attacks, of course
19:26:01 <AnMaster> you still need other forms or protection)
19:26:17 <lament> i have no idea what you just said.
19:26:18 <AnMaster> but ssh itself, like the lock itself, is available to anyone.
19:26:33 <AnMaster> lament, hm ok. Forget it then
19:27:27 <lament> AnMaster: you significantly overestimate most people's knowledge of computing.
19:28:20 <lament> besides, real-world locks do make use of security through obscurity.
19:28:29 -!- Blipi has quit ("KVIrc 3.4.0 Virgo http://www.kvirc.net/").
19:28:36 <lament> namely, if you could see the lock mechanism it would be very easy to break it.
19:29:54 <ehird> mean = fuse (/) (\e s -> s+e) 0 (\_ l -> l+1) 0
19:29:57 <ehird> where
19:29:58 <ehird> fuse :: (a -> b -> c) -> (d -> a -> a) -> a -> (d -> a -> b) -> b -> [d] -> c
19:29:59 <ehird> fuse c f x g y = uncurry c . foldr (\e (a,b) -> (f e a,g e a)) (x,y)
19:30:10 <ehird> and if fuse is the most crazily ugly function you've ever seen, you're right!
19:30:25 <AnMaster> lament, if I want to reverse engineer a normal mechanical tool (no built in chipsets or such, or we are into the software bit) or such, I don't need the blue print usually, I can just get my torx/whatever screwdriver and open it, then move the parts and watch how it works. For example a simple pad-lock, it is rather interesting to open one and see how it actually works. I would say in the software ana
19:30:25 <AnMaster> logy this would mean the source is available but not that easy to find (I have seen a few such projects, open source ones but where you had so search for a while to actually find anything but binary downloads)
19:30:59 <ais523> lament: incorrect
19:31:10 <ais523> knowing how the lock mechanism works doesn't help you break it
19:31:21 <ais523> the password is encoded in hardware, yes, but you don't know the password
19:31:32 <ais523> the actual design of the lock isn't too hard to work out, you just don't know exactly how long the levers are
19:31:39 <AnMaster> lament, but any specific instance of a lock or a software running, would have different arrangements of the small metal bits that they key move, and the software would have different passwords for different users
19:31:43 <lament> ais523: that's actually what i meant by "knowing the mechanism"
19:31:48 <AnMaster> yeah what ais523 said
19:32:08 <lament> why are you trying to convince *ME*
19:32:15 <lament> i KNOW how locks and ssh work.
19:32:20 <ehird> lament is right, you know
19:32:21 <lament> I'm saying that MOST PEOPLE don't
19:32:42 <lament> they have no idea about either metal bits or asymmetric keys.
19:33:03 <AnMaster> lament, I would be surprised if most people had no clue how locks work. I mean most don't know all the details, but they know the general principle surely?
19:33:18 <AnMaster> like that the jagged edges move small metal bits
19:33:31 <AnMaster> so that they align so that you can turn it around
19:33:32 <lament> that's just one kind of lock, by the way - pretty much the most simple one
19:33:40 <AnMaster> lament, yes I know there are other ones
19:34:22 <ehird> *Main> mean []
19:34:22 <ehird> NaN
19:34:22 <ehird> :D
19:34:34 <AnMaster> lament, some move the metal bits to certain positions when you turn the key iirc. (probably padlocks mostly?)
19:35:29 <AnMaster> lament, anyway the general idea is to make the key move something to certain position depending on the shape of the key, and only one such combination of the moving of parts opens the lock
19:35:34 <lament> All most people know about locks is that there's something inside them, and the main reason you can't just make a key for a lock is because you cannot see what that something is.
19:35:41 <lament> Security through obscurity.
19:36:13 <ais523> lament: that's like calling keeping passwords secret security through obscurity
19:36:23 <AnMaster> ais523, indeed
19:36:24 <ais523> the point is to have the smallest possible amount of information obscure
19:36:29 <lament> 6_9
19:36:32 <ais523> and a high information density there
19:36:45 <ais523> typical security through obscurity can often be reverse-engineered
19:36:46 <lament> don't convince me. Convince people who use closed-source cryptography software.
19:38:42 <oerjan> <AnMaster> pirates traditionally have beard too btw
19:38:58 <AnMaster> oerjan, yes and?
19:39:02 * oerjan suddenly thinks of muslim ninjas
19:40:08 <AnMaster> oerjan, well if there are any European ninjas that would certainly be possible. The concept originated in the eastern parts of Asia though
19:40:39 <oerjan> hm i guess that would be Hashshashins
19:41:05 <AnMaster> ehird, err? I assume there is a pun there, but I have no idea whatsoever what "Hashshashins" is supposed to be
19:41:11 <lament> assassins
19:41:13 <AnMaster> err
19:41:14 <AnMaster> oerjan, ^
19:41:20 <oerjan> no pun
19:41:22 <AnMaster> odd tab
19:41:23 <AnMaster> ah
19:41:25 <AnMaster> I see
19:42:27 <AnMaster> Assassins are certainly similar enough.
19:42:56 <AnMaster> same basic idea, different cultures.
19:44:01 -!- BeholdMyGlory has quit (Remote closed the connection).
19:44:32 -!- BeholdMyGlory has joined.
19:44:34 <fizzie> World-famous Hashshashins, such as the 256th Sha, and Mr. Ripe, M.D.
19:44:43 <ehird> fish: Failed to execute process '/usr/bin/grep'. Reason:
19:44:43 <ehird> fish: The total size of the argument and environment lists (7.4MB) exceeds the
19:44:43 <ehird> system limit of 256kB.
19:44:46 <ehird> fish: Please try running the command again with fewer arguments.
19:44:46 <AnMaster> while pirates are not really based on the same idea at all...
19:44:51 <AnMaster> http://en.wikipedia.org/wiki/Piracy#In_East_Asia
19:45:43 <AnMaster> ehird, yes what about that?
19:45:51 <ehird> AnMaster: 7.4 megabytes.
19:45:56 <ais523> ehird: how did you manage to give a 7.4MB argument list to grep anyway
19:45:58 <ehird> That's a loong argument list.
19:46:04 <ehird> ais523: 'grep /opt/local /opt/local/**'
19:46:18 <AnMaster> ehird, well yes and? If you can have a 7.4 MB stack then you can have such a large command line on recent linux.
19:46:22 <ais523> ehird: grep -R /opt/local /opt/local
19:46:35 <AnMaster> yes -r is useful
19:46:36 <ehird> ais523: Yes, well, I used find instead.
19:46:38 <ehird> And it phailed.
19:46:42 <ehird> I didn't find what I wanted.
19:46:44 <ehird> Har umph.
19:46:44 <AnMaster> ais523, is -R and -r the same or?
19:46:49 <ais523> AnMaster: yes in the case of grep
19:46:51 <ehird> Does anyone know where $PATH is set globally?
19:46:55 <ais523> -R works on more standard UNIX commands than -r, though
19:47:00 <ehird> the thang isn't in /etc/paths
19:47:09 <AnMaster> ah
19:49:12 <AnMaster> ehird, hm... whatever init file bash reads. Which is something like /etc/profile, /etc/bash/bashrc /etc/bashrc /etc/bash.profile or whatever. Varies a bit with distros. If bash specific ones are used they usually source the global /etc/profile or such
19:49:21 <ehird> It's not bash.
19:49:32 <ehird> It works in all shells, even fish, which can't parse POSIX-shell initialization file.
19:49:33 <ehird> s
19:49:45 <ehird> So it must inherit it from login(1) or something; which gets it from ... where?
19:49:53 <AnMaster> ehird, then I guess it inherits the environment from the starting process
19:50:00 <ehird> login(1).
19:50:04 <ehird> Which gets it where?
19:50:11 <AnMaster> ehird, on OS X maybe it is in that netinfo thingy?
19:50:16 <ehird> I doubt it
19:50:35 <ehird> AnMaster:
19:50:39 <ehird> NetInfo is the system configuration database in NEXTSTEP and Mac OS X versions up through Mac OS X v10.4 "Tiger".
19:50:41 <ehird> Doesn't exist in leopard.
19:50:56 <AnMaster> ehird, I think I remember seeing something about path when trying to debug a problem with a user which was set up to sync files remotely to work.
19:51:04 <AnMaster> ah ok
19:51:09 <AnMaster> yeah it was on tiger
19:51:40 <ehird> It's a unix thing anyway
19:51:47 <ehird> Where does login(1) get its env?
19:51:55 <AnMaster> ehird, even windows have environment variables though
19:52:18 <AnMaster> Your user and group ID will be set according to their values in the /etc/passwd file. The value for $HOME, $SHELL, $PATH, $LOGNAME, and $MAIL are set according to
19:52:18 <AnMaster> the appropriate fields in the password entry. Ulimit, umask and nice values may also be set according to entries in the GECOS field.
19:52:21 <AnMaster> from man login here
19:52:37 <AnMaster> but I wouldn't be surprised if it was implementation defined
19:52:47 <ais523> inherits from init, presumably
19:52:52 <ehird> No init on os x
19:52:53 <fizzie> /etc/login.defs
19:52:58 <ehird> All I know is that /opt/local/bin is in my path in fish and yet fish can't read initialization files
19:52:58 <ais523> oh, from /etc/passwd? that's interesting
19:52:59 <fizzie> ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
19:53:00 <ehird> so it must be SOMEWHERE
19:53:02 <ehird> I just want to know where
19:53:03 -!- Mony has quit ("Quit").
19:53:08 <AnMaster> ais523, I didn't know about PATH there either
19:53:12 <ehird> fizzie: doesn't exist.
19:53:18 <fizzie> I don't know anything about OS X login(1), though.
19:53:22 <ais523> ehird: there has to be some first process, just because it isn't called init on OSX doesn't prevent it being an init process
19:53:26 <ehird> it's regular bsd login, fizzie
19:53:30 <ehird> ais523: that's irrelevant
19:53:39 <AnMaster> my login.defs has ENV_PATH PATH=/bin:/usr/bin indeed
19:53:40 <ehird> /opt/local/bin entered my path after installing macpotrs
19:53:42 <ehird> no reboot or anything
19:53:48 <ehird> so it has to be in some initialization file
19:53:54 <ehird> I just want to know where so Ic an add my own entry
19:54:27 <fizzie> Well, I don't know anything about BSD login(1) either; the login from Linux shadow-passwords package gets the PATH it sets from /etc/login.defs.
19:55:23 <AnMaster> ENVIRONMENT
19:55:24 <AnMaster> Init sets the following environment variables for all its children:
19:55:24 <AnMaster> PATH /bin:/usr/bin:/sbin:/usr/sbin
19:55:26 <AnMaster> that is on Linux
19:55:33 <AnMaster> and there are some more variables listed there
19:55:42 <AnMaster> like CONSOLE, RUNLEVEL and a few others
19:55:56 <fizzie> On Linux, the PAM stuff also mangles with the environment; there's in my pam.d a 'login' file doing "session required pam_env.so readenv=1 envfile=/etc/default/locale" and one without envfile which reads /etc/environment in.
19:56:04 <AnMaster> ah yes pam indeed...
19:56:06 <AnMaster> forgot about that
19:56:36 <AnMaster> fizzie, iirc using pam means most of the stuff in login.defs isn't used in fact
19:56:42 <ehird> Gr, at this rate i'll just read the macports source
19:56:59 <AnMaster> ehird, anyway I think the bottom line is that it is mostly implementation defined
19:57:09 <AnMaster> ehird, I remember freebsd has some /etc/login.conf or something
19:57:13 <ehird> Yes, and i'm specifically interested in *this implementation*
19:57:37 <ehird> (/u/l/plan9) grep -R /opt/local /etc
19:57:41 <ehird> just returns /etc/shells
19:57:49 <ehird> containing two entries [zsh and fish]
19:58:01 <fizzie> I don't suppose you have a /etc/path.d/ either? Someone says Leopard does that.
19:58:02 <AnMaster> ehird, freebsd has it in /etc/login.conf
19:58:07 <AnMaster> :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
19:58:12 <ehird> AnMaster: Yes, that's freebsd.
19:58:14 <AnMaster> from that file on a freebsd system
19:58:19 <ehird> fizzie: nope.
19:58:22 <AnMaster> ehird, well since OS X is BSDish?
19:58:27 <AnMaster> I thought it would be useful
19:58:32 <ehird> AnMaster: Did you miss the part where I grepped all of /etc?
19:58:37 <AnMaster> ah ok
19:58:37 <ehird> ehird: (/u/l/plan9) grep -R /opt/local /etc
19:58:37 <ehird> 18:57 ehird: just returns /etc/shells
19:58:39 <ehird> 18:57
19:58:56 <AnMaster> ehird, btw login.conf has this comment in it:
19:58:57 <AnMaster> # Remember to rebuild the database after each change to this file:
19:58:58 <AnMaster> #
19:58:58 <AnMaster> # cap_mkdb /etc/login.conf
19:59:02 <AnMaster> why a DB I wonder...
19:59:07 <fizzie> ehird: Maybe they have encrypted it by xorring it with 0x42, and decrypt on run-time. So you can't find it with grep. Security!
19:59:18 <ehird> fizzie: :o
19:59:22 <AnMaster> fizzie, why 0x42?
19:59:27 <ehird> AnMaster: answer to life, the un
19:59:30 <ehird> oh fuck it.
19:59:33 <ehird> not worth the bother.
19:59:33 <AnMaster> ehird, no it isn't
19:59:46 <AnMaster> ehird, that would be in base 10
19:59:51 <ehird> sigh
19:59:55 <AnMaster> $ echo $(( 0x42 ))
19:59:55 <AnMaster> 66
19:59:58 <fizzie> AnMaster: I just thought it'd be something else than 42. memfrob() does 42_10, though.
19:59:58 <ehird> you are mistaking pedanticism for humour.
20:00:04 <ehird> it's irritating. stop it.
20:00:25 <AnMaster> what.... memfrob() actually exists?
20:00:27 <ehird> ) grep -R /opt/local / # doo doo doo
20:00:28 <ais523> AnMaster: yes
20:00:30 <ehird> AnMaster: ... yes ...
20:00:32 <AnMaster> SYNOPSIS
20:00:32 <AnMaster> #define _GNU_SOURCE
20:00:32 <AnMaster> #include <string.h>
20:00:32 <AnMaster> void *memfrob(void *s, size_t n);
20:00:34 <AnMaster> why on earth...
20:00:35 <fizzie> AnMaster: On glibc, yes.
20:00:39 <ehird> do you actually use c ?
20:00:41 <AnMaster> it is completely useless
20:00:41 <ais523> it's used to hide string constants in executables
20:01:02 <AnMaster> ais523, err, not a very good protection
20:01:13 <fizzie> AnMaster: Hey, they've got strfry(3) too.
20:01:13 <AnMaster> some sort of joke I assume?
20:01:36 <fizzie> It's not like that one is very useful in most cases either.
20:01:37 <ais523> AnMaster: not really, it's not for security
20:01:42 <ais523> just to prevent people casually reading the binaries
20:02:05 -!- FireyFly has joined.
20:02:15 <AnMaster> fizzie, at least that is slightly less useless. Randomising order of a string can actually be useful sometimes (shuffling an array of non-zero bytes representing a card deck?)
20:03:01 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
20:04:11 <fizzie> Well, 42 is 0b101010, if you're working with 6-pixels-wide monochrome images with a single scanline per byte (like might be in a custom bitmap font or something) you can conveniently use memfrob() to toggle every second pixel, to, well, get an effect of sorts.
20:04:24 <AnMaster> ais523, sure but why? It would be trivial to extract the strings. nm -D ./binary | grep memfrob, if found do something like write a tool that runs xor on a stream and then pipe the output into strings
20:04:37 <fizzie> That's not "casual", really.
20:05:21 -!- BeholdMyGlory has quit ("bye").
20:05:37 <AnMaster> fizzie, well I guess that depends on your definition. I assume that somewhere exists a generic "run xor on a file/stream/whatever" type tool, I just have no idea what the name would be. I tried xor<tab> without any success.
20:05:55 <AnMaster> I mean there are things for sorting, unique lines, and what not
20:06:20 <fizzie> I wouldn't really be that sure.
20:06:59 <AnMaster> fizzie, it probably isn't POSIX indeed. But anyway it would be rather trivial to write one that memfrobs a file and outputs the result to stdout.
20:08:10 -!- BeholdMyGlory has joined.
20:08:48 <fizzie> Yes, well, it's perl -ne 'print join("", map { chr(ord ^ 42) } split //);' as a perl-oneliner, but that's still not casual browsing.
20:08:52 <AnMaster> to make it more useful you could have it do and, or and such as well, and take different length of constant to repeat, like multi-byte ones. Or even allow operating on two streams
20:09:38 -!- zzo38 has joined.
20:09:43 <AnMaster> fizzie, casual browsing of a binary for me would mean strings, readelf, objdump, ldd, nm and a few other tools
20:10:09 <zzo38> Now see the CLCLC-INTERCAL page! It now does a lot of new stuff with backtracking and namespaces and various other things.
20:10:15 <AnMaster> zzo38, link?
20:10:21 <ehird> bOFFE
20:10:22 <ehird> ]EXFN
20:10:25 <zzo38> The page on the wiki.
20:10:33 <zzo38> In other words: http://esoteric.voxelperfect.net/wiki/CLCLC-INTERCAL
20:10:53 <AnMaster> ehird, hm... looks like normal output of strings
20:10:59 <ehird> bOS
20:10:59 <ehird> REX
20:11:01 <ehird> YZOKA
20:11:03 <ehird> CY
20:11:05 <ehird> KI^_KFFS
20:11:07 <ehird> ZXO^^S
20:11:09 <ehird> MEEN
20:11:24 <AnMaster> ehird, you are not interesting enough to try to decrypt
20:11:25 -!- ais523_ has joined.
20:11:46 <zzo38> And I added SWAP to the list of quantumable commands
20:11:47 <fizzie> Yes, 42 seems to be rather nice number wrt. generating printable output from printable input; obviously since it's that 0b101010.
20:12:00 <AnMaster> fizzie, also I would usually not run strings or anything on a binary I'm not interested in. I guess I simply don't have a "casual" level of checking such things
20:12:05 <fizzie> In retrospect perl -ne 'print pack("C*", map { $_^42 } unpack("C*", $_));' might've been more perly.
20:12:22 -!- ais523 has quit (Nick collision from services.).
20:12:25 -!- ais523_ has changed nick to ais523.
20:12:40 <fizzie> AnMaster: Yes, I don't really associate the word "causal" with you anyway.
20:12:57 <AnMaster> fizzie, huh is that a good or bad thing?
20:13:07 <fizzie> I'm not sure.
20:13:15 <ehird> AnMaster is srs bssnz
20:13:26 <AnMaster> fizzie, are you saying I'm more of a "all or nothing" person or something?
20:13:51 <AnMaster> ehird, well I guess I'm unusually normal for being in this channel :/
20:14:23 <fizzie> Anyway, some people might run 'strings' on a random binary, and if not finding anything interesting, not continue with a deeper analysis. I'm sure I've done that with some sort of firmware imagey or whatever, for which it is not immediately obvious how it splits into component pieces.
20:14:31 <zzo38> Do you think the namespaces specification is good? And what about the backtracking specification?
20:14:40 <ehird> namespaces? For INTERCAL?!
20:14:50 <fizzie> Admittedly those tend to be compressed anyway.
20:15:05 <AnMaster> fizzie, well I would start with "file", always.
20:15:10 <ehird> fizzie: \5a}|{~5K5%w%$%$%$5egzq`vpf5xzgp5eyptf|{r5gpf`yaf;
20:15:13 <AnMaster> well,*
20:15:32 <AnMaster> ehird, base64 or something like that?
20:15:35 <zzo38> Yes namespaces in INTERCAL. But you have to use numbers for the namespaces, like everything else in INTERCAL. If you want to use actual words, you can of course define syntax for those words to mean those numbers.
20:15:38 <ais523> zzo38: most of the namespacing suggestions for INTERCAL have involved mingles
20:15:44 <AnMaster> hm no
20:16:29 <AnMaster> zzo38, is there an implementation or is it just a draft?
20:16:33 <zzo38> I wanted CLCLC-INTERCAL to be insane and useful, rather than insane and useless like every other INTERCAL that exists.
20:16:42 <zzo38> This is just a draft so far.
20:16:49 <AnMaster> ah
20:16:51 <ehird> hey, INTERCAL is useful!
20:16:54 <ehird> there's even INTERNET
20:17:02 <AnMaster> ehird, CLC I assume?
20:17:05 <ehird> yes
20:17:12 <AnMaster> what does it do?
20:17:18 <ehird> networking
20:17:25 <ehird> it stands for INTERcal NETworking
20:17:27 <ehird> iirc
20:17:30 <AnMaster> ehird, what... that is too straightforward to be interesting
20:17:31 <ehird> it's based on data theft.
20:17:38 <ehird> AnMaster: it's the clashing
20:17:40 <zzo38> CLC has INTERNET (INTERCAL networking). CLCLC does something similar too, but mostly for parallel computing across the network
20:17:43 <ehird> with the existing related but not the same term
20:18:34 <AnMaster> zzo38, hm what about somehow adding a twisted version of vector processing (think SSE, Altivec and such) but that does something totally different
20:18:45 <ais523> AnMaster: INTERNET is not at all straightforward
20:18:46 <AnMaster> or something related but silly
20:18:54 <zzo38> For example, CLC-INTERCAL has a CASE command. But CLCLC-INTERCAL doesn't have a CASE command, you have to use the FIND command instead.
20:18:56 <AnMaster> ais523, it is related to networking, that is too close
20:19:02 <ais523> too close to what?
20:19:04 <ehird> AnMaster: I think you don't "get" intercal naming.
20:19:23 <ais523> AnMaster: INTERNET != the Internet
20:19:28 <ais523> in fact, it mostly works over LANs
20:19:30 <AnMaster> ais523, indeed!
20:19:31 <zzo38> Describe twisted version of vector processing or provide a link. Maybe I will think about it
20:19:35 <AnMaster> ais523, I'm aware of this
20:19:38 <ais523> you have to jump through various hoops to get it to work over the internet at large
20:19:43 <AnMaster> but, it is still related to networking
20:19:51 * ehird facepalm
20:20:13 <AnMaster> zzo38, I don't know really
20:20:21 <AnMaster> it was just a fragment of an idea
20:20:31 <zzo38> INTERCAL networking is not very useful over the internet. It is more useful for parallel computing in different rooms on different terminals where different result will be put, possibly with different data entry on each one.
20:20:40 <ehird> zzo38: very plan9
20:20:42 <AnMaster> but the lectures in CLC...
20:20:57 <zzo38> What about the lectures in CLC?
20:20:57 <AnMaster> now that is a good case of twisting object orientation IMO
20:21:29 <zzo38> I agree that is a good case of twisting object orientation. Now, CLCLC has nearly identical lecture system
20:21:37 <fizzie> AnMaster: If file prints "data" (like xor-"encrypting" a whole file might easily make it do), and strings does not reveal anything intelligent, and you're not seriously interested in the file anyway (for example, it's a firmware upgrade to a device you don't self have), I find it very believable to just forget about it right there and then; in which case the memfrob has really served its purpose, and kept a causal interested person away. (Please don't start w
20:21:37 <fizzie> ith a debate whether it makes sense to discourage curiosity like that, it's not really relevant.)
20:21:38 <AnMaster> nice
20:21:42 <ehird> I prefer Objectivist systems.
20:21:47 <zzo38> That is one reason I kept it but there are other reasons as well to keep certain things and discard others.
20:22:11 <AnMaster> fizzie, why would I even download a firmware upgrade for a device I don't own?
20:22:47 <AnMaster> hm...
20:22:51 <zzo38> I have downloaded firmware upgrades for devices I don't own! Guess why if you want to. Or I will tell you if you ask
20:22:51 <fizzie> AnMaster: Because someone was talking about it, and you got curious? That's what happened to me, once.
20:22:57 <ehird> zzo38: <ask>
20:23:10 <AnMaster> fizzie, I see...
20:23:39 <zzo38> I downloaded firmware upgrades for Texas Instruments graphing calculators so that I may run software for those calculators on an emulator on my computer. (Texas Instruments provides downloads, so you may look there)
20:23:48 <AnMaster> ah
20:24:11 <AnMaster> zzo38, what model? I believe I have TI-83+ firmware file around somewhere (since I do own such a calculator=
20:24:14 <AnMaster> s/=/)/
20:24:41 <zzo38> Various models, depending on what model the software that I want to run is written for.
20:24:47 <AnMaster> though it was years ago I last looked for an upgrade for it
20:25:11 <AnMaster> about screen says version 1.19
20:25:44 <zzo38> The only TI calculator I actually own is the TI-92 calculator. And a lot of software is not written for the TI-92 so I get the firmware from Texas Instruments and run it in a emulator
20:27:54 <fizzie> The batteries of my TI-86 had given out, couldn't check what the self-test screen says about version.
20:28:37 <zzo38> Maybe I should add a command in CLCLC-INTERCAL for taking a array full of EBCDIC characters, and appending that to the end of the program source-code and then recompiling.
20:28:44 <AnMaster> fizzie, ah, the batteries in my TI-83+ seems to last forever...
20:29:26 <AnMaster> 3 years since I replaced them last time, and I used it a lot since then
20:29:30 <AnMaster> still nowhere near empty
20:29:45 -!- MigoMipo has joined.
20:29:48 <zzo38> Also, I don't like that the CREATE command in CLC-INTERCAL uses ASCII numbers, so in CLCLC-INTERCAL it uses EBCDIC numbers instead (even if the source-code is in ASCII).
20:29:52 <AnMaster> four of those AAA batteries
20:29:59 <fizzie> I haven't used that calculator since that DSP course (I'm not sure if you were here for the story?) and I think the batteries were el-cheapo rechargeables, the magic tends to leak out even when not used.
20:30:16 <AnMaster> fizzie, doesn't sound familiar no
20:30:49 <AnMaster> these are non-rechargeable ones from IKEA btw
20:31:02 -!- cherez has joined.
20:31:04 <AnMaster> alkaline
20:31:08 -!- cherez has left (?).
20:31:51 <AnMaster> what on earth is "flash upgradeable ROM"...?
20:32:07 <fizzie> The story was pretty long, but if you're feeling bored, it's at http://tunes.org/~nef/logs/esoteric/09.03.06 starting from 05:38:03 (about the ti86.png picture).
20:32:25 <AnMaster> it isn't ROM if it is flashable. Then it is flash memory
20:32:39 <ais523> ehird: what's 0x1f XOR 42 decimal?
20:32:43 <zzo38> AnMaster: Well it is flash-ROM I guess, because flash-ROM can be erased and reprogrammed (I think)
20:32:50 <ehird> ais523: 123456789
20:32:58 <ehird> But srsly, 53
20:32:58 <ais523> ehird: I don't think so, that's rather high
20:33:05 <AnMaster> zzo38, seems a bit odd to call something rewritable "ROM"
20:33:09 <fizzie> Yes, Flash can be considered a subtype of EEPROM, and that's a subtype of ROM.
20:33:25 <AnMaster> well ok, true
20:33:52 <zzo38> I know, ROM means read-only memory but it is read-only during run-time, it is only that it is re-flashable at certain times, so it is mostly ROM (but not completely)
20:34:06 <ehird> yay, I have plan9 userspace
20:34:45 <zzo38> Post suggestions on [[Talk:CLCLC-INTERCAL]] if you have any interesting ones
20:34:52 <AnMaster> zzo38, flash memory in TI-83+ (which this was about) can be written to at runtime, you just press "move from ram to flash" in some menu under the mem meny
20:34:52 <AnMaster> menu*
20:36:02 <ehird> wha
20:36:02 <ehird> whoa
20:36:10 <ehird> 'tar xf' figures out gzip or bzip
20:36:28 <AnMaster> 05:40:23 <oklopol> i have a hard time not asking personal questions from each and everyone here all the time, and you think i don't want to hear a spänking story <-- spänking?
20:36:41 <ehird> XDD
20:36:44 <AnMaster> fizzie, is that some fi word?
20:36:50 * ehird rofl
20:36:54 <AnMaster> ehird, what?
20:38:22 <AnMaster> oh I see it is explained below
20:38:51 -!- cherez has joined.
20:39:04 -!- cherez has left (?).
20:42:00 <zzo38> There are two new registers the CHOICE register and the () register
20:42:47 <zzo38> Maybe I should add a FUNCTION register, together with DEFINE command and various other things, for doing functional programming
20:43:24 <AnMaster> hm ineiros (found in that log) never talks otherwise it seems?
20:44:06 <oerjan> you should also have a LIFE register, so you don't disgust half the users by being PRO-CHOICE
20:44:36 <ehird> groan
20:44:57 <ehird> AnMaster: ineiros is friend-of the- fizzie I think
20:45:29 <zzo38> OK, how exactly should the LIFE register work?
20:45:48 <ehird> the opposite of CHOICE.
20:46:11 <zzo38> And what exactly would the opposite of the CLCLC-INTERCAL CHOICE register be anyways?
20:46:34 <oerjan> well, that's LIFE
20:46:51 <zzo38> The CHOICE register has something to do with backtracking, so the opposite, which is LIFE, does it have something to do with fronttracking maybe?
20:47:23 <ehird> yes!
20:47:24 <ehird> front tracking
20:47:56 <zzo38> OK, and how should front tracking work?
20:49:01 <AnMaster> it would contain the coordinates of the front of the attached turtle robot?
20:49:06 <AnMaster> (not a very good idea
20:49:11 <AnMaster> )
20:49:37 <oerjan> well why not, there's always a need for a graphics system
20:49:58 <zzo38> No, it won't be the attached turtle robot, that is not a very good idea, just like you say.
20:50:01 <AnMaster> oerjan, how many do you know who owns such a turtle robot?
20:50:18 <oerjan> approximately zero
20:50:25 <AnMaster> same here
20:50:29 <AnMaster> anyway you could have a virtual one
20:50:34 <AnMaster> like TURT in befunge
20:50:36 <zzo38> Of course there is a need for a graphics system but that could be a namespace such as DO NAMESPACE #123 AS ,GRAPHICS,
20:50:42 <AnMaster> but that would be way too straight forward
20:51:16 <oerjan> now the front is clearly the screen, i think i see the beginning of a GUI replacement here...
20:51:36 <tombom> have it interface with an ai turtle. with mood swings
20:51:53 <zzo38> No, front-tracking should be something like the opposite of back-tracking, not something having to do with screen and such things as that
20:52:24 <AnMaster> hm snowstorm now
20:52:26 <AnMaster> unusual
20:52:33 <AnMaster> (this time of the year I mean)
20:52:42 <oerjan> you are letting reason get in the way of a good pun. i am insulted. D;
20:52:48 <fizzie> AnMaster: Yes, I and ineiros attend the same university. Although he said something else in 2008-12, at least.
20:53:14 <AnMaster> heh
20:53:43 <AnMaster> 06:28:47 <fizzie> How can you make even an oscilloscope sound dirty?
20:53:45 <AnMaster> hahah
20:53:52 <oerjan> AnMaster: i'm sure it's because i declared spring to have come the other day. next day it started snowing, stupid me.
20:54:05 <AnMaster> oerjan, over in Norway too?
20:54:06 <AnMaster> hm
20:54:52 <oerjan> well obviously some places in norway would have snow at this time, it _is_ a mountainous country stretching to the arctic after all.
20:55:14 <oerjan> but trondheim is fairly coastal.
20:55:16 <fizzie> Also in Finland, except it started snowing today just a little bit, and the forecast is predicting more snow tomorrow. After a week of mostly non-sub-zero temperatures and very pre-Spring-like weather.
20:56:55 <fizzie> Finnish Meteorological Institute forecast says that it'll be -15°C here during Wed/Thu night. That's not really usual, it's almost April and everything.
20:57:47 <AnMaster> huh... currently there is (melting) snow on the upper part of the window in this room. It is under a balcony. Conclusion: snow nowdays fall horizontally...
20:58:02 <AnMaster> so much I can't even see out clearly
20:58:58 * oerjan checks his window
20:59:42 <oerjan> it seems to be filled with some black stuff. tends to happen at night time here.
20:59:52 <oerjan> except in the summer.
21:01:40 <AnMaster> oerjan, very funny...
21:01:49 <AnMaster> oerjan, there are streetlights outside here however
21:02:44 <zzo38> I'm not sure, but do you think the last example on the wiki CLCLC-INTERCAL is sensible or does anything even a little bit useful? It doesn't matter because it is just a example but I want opinion anyways
21:03:28 <oerjan> well there are some lights but not enough to make out whether there is snow in the window
21:03:32 <AnMaster> zzo38, ask ais523 I guess.
21:03:44 <ais523> I'm busy in RL
21:03:55 <ais523> and not really up to trying to understand yet another dialect of INTERCAL
21:04:05 <ais523> especially one without an implementation so I can't look at the source code to figure out corner cases
21:04:09 <AnMaster> oerjan, I have a lamp in the window. Very common you know
21:04:16 <zzo38> Then ask a person who likes to be insane
21:04:19 <AnMaster> hanging down from above
21:04:30 <oerjan> how quaint
21:04:45 <AnMaster> oerjan, what? Is it unusual over where you live or something?
21:04:49 <oerjan> ok there seems to be no snow in the window, although there is on the ground
21:05:06 <zzo38> I think the codes I wrote is really mostly WHILE from CLC-INTERCAL and backtracking from the backtracking INTERCAL, it doesn't do much else
21:05:20 <AnMaster> oerjan, there is on ground too here
21:05:34 <oerjan> it's a conspiracy i tell you
21:05:54 <AnMaster> backtracking from the backtracking <-- sounds like fronttracking, but while looking in the other direction
21:06:27 <AnMaster> zzo38, there you have it. front tracking is backtracking from backtracking but looking in the direction of travel!
21:06:31 <AnMaster> issue solved
21:06:44 <zzo38> I meant backtracking is from the [[Backtracking INTERCAL]] specification, mostly anyways (but CLCLC-INTERCAL also has two new registers for dealing with backtracking, CHOICE and () registers)
21:07:03 <AnMaster> zzo38, duh... My interpretation was way more interesting!
21:07:26 <zzo38> OK, thanks, but I'm still not sure what it means to backtrack backtracking while looking in the direction of travel, if I think about it a bit more maybe I will understand
21:07:45 <AnMaster> zzo38, I'm not sure what it would mean in the context of programming either
21:07:55 <AnMaster> or any other context
21:08:31 <AnMaster> zzo38, but don't you think backtracking from backtracking would sufficiently twisted to fit into intercal perfectly?
21:08:36 <zzo38> You're right.
21:08:45 <ehird> zzo38: well, let's define backtracking
21:08:59 <ehird> Backtracking: Going back to a previous point in the program state and continuing from there.
21:09:00 <AnMaster> ehird, in the common prolog style sense or some other sense?
21:09:07 <ehird> Front tracking: Going forwards to a future point in the program state and continuing from there.
21:09:12 <ehird> So front tracking... is time travel.
21:09:13 <zzo38> Yes, backtracking from backtracking would sufficiently be twisted to fit into INTERCAL. But first we have to think of what exactly it means and how it works and stuff like that.
21:09:17 <ehird> To actually implement it, zzo38,
21:09:23 <ehird> You just wait until the future state arrives
21:09:28 <ehird> Then, rewind to where you set up the front tracking
21:09:35 <ehird> Then, jump to the future state direct from there
21:09:35 <ais523> it's simple enough
21:09:35 <ehird> and continue
21:09:36 <AnMaster> ah nice idea
21:09:40 <ais523> at least, to backtrack backtracking
21:09:46 <ehird> ais523: I think my idea is better
21:09:48 <ais523> backtracking follows a distinct path through the program
21:09:49 <ehird> it really is the opposite of backtracking
21:09:52 <ais523> if you rewind it, that's metabacktracking
21:09:53 <ehird> it's also time travel, which is awesome
21:10:01 <ehird> also, I'm not sure how useful it is
21:10:03 <ehird> but I feel like it could be
21:10:08 <ais523> isn't your definition of fronttracking a no-op/
21:10:17 <zzo38> Yes, interesting idea. And the LIFE register will have something to do with it too. Possibly with commands like GO FORWARD and stuff like that.
21:10:23 <ehird> ais523: nope
21:10:39 <ehird> ais523: it is if you view backtracking as just "jumping to a previous point"
21:10:40 <ehird> but it's more than that
21:10:55 <ehird> if you read it a few times I think it becomes clearer, although god knows it's an insane idea even then
21:11:08 <ais523> ehird: backtracking's "reverting to a previous state"
21:11:20 <ais523> reverting to a future state does the same thing as just running to that point
21:11:30 <ais523> actually, the only point in backtracking is that you get information from the future, so to speak
21:11:31 <AnMaster> what about a train analogy ehird? Backtracking would be backing up from a dead end to last switch to select another path (and continue to switch before is you tried all paths and so on), Backtracking from backtracking would be backing the other way that you backtracked from, somewhat like continuations to a previous backtracking state maybe.
21:11:33 <ais523> telling you not to go that way
21:11:38 <ehird> ais523: if we describe backtracking's use as "the assumptions are incorrect!", then fronttracking's use is "make the assumptions correct"
21:11:43 <ehird> which fits in with what i asid
21:11:52 <ehird> AnMaster: yes, but what is fronttracking?
21:11:53 <zzo38> Of course it will be different than a no-op if you use the CHOICE register, LIFE register, and quantum computing, then it probably will not be a no-op.
21:12:21 <zzo38> Yes, and even something for making the assumptions correct.
21:12:26 <AnMaster> ehird, not sure how direction of going (reversing or going forward) would translate to programming...
21:12:40 <ehird> mixing multiple front tracks and back tracks would be fun
21:12:43 <AnMaster> ehird, front tracking would be turning around the train and going forward to do it
21:13:03 <ehird> like, the INTERCAL form of "Make the assumptions are correct. If the assumptions are correct: they are incorrect! Otherwise, they are correct."
21:13:06 <ehird> **FREEZE**
21:13:57 <AnMaster> heh
21:13:59 <AnMaster> hm
21:14:06 <AnMaster> what about a train based esolang
21:14:17 <AnMaster> like you program by drawing a track layout and switches and so on
21:14:21 <ehird> AnMaster: it will be touring complete
21:14:22 <tombom> i saw a path-style one which described itself like that
21:14:24 <AnMaster> and setting trains and stops and such
21:14:26 <tombom> can't remember the name
21:14:27 <tombom> hahaha
21:14:28 <AnMaster> ehird, AUGH!
21:14:49 <ehird> AnMaster: have multiple types of train and name the control structure ones touring machines
21:14:53 <AnMaster> I think it should be combined with something like OpenTTD or whatever for the best effect
21:15:00 <tombom> http://esolangs.org/wiki/Rail
21:15:27 <AnMaster> ehird, anyway I have no idea how you would program in such a language
21:15:35 <AnMaster> I mean, how to calculate anything
21:15:51 * AnMaster reads the link
21:16:25 <AnMaster> "Third, Rail is in many respects a functional language. It provides LISP-style lists, garbage collection, and immutable values" err...?
21:16:29 * AnMaster read on
21:16:32 <AnMaster> reads*
21:18:15 <AnMaster> interesting but different from what I had in mind. My idea was something like OpenTTD or Simutrans turned into a programming language...
21:18:43 <tombom> yeah i just remembered it as describing itself similarly, it's not too similar in execution
21:18:49 <AnMaster> indeed
21:19:16 <fizzie> I assume I've mentioned the OpenTTD logic gate thing?
21:19:21 <ehird> http://zem.fi/ttd_logic/
21:19:21 <ehird> damn
21:19:23 <ehird> fizzie
21:19:24 <ehird> ya beat me
21:19:30 <fizzie> Well, you had a link.
21:19:39 <AnMaster> fizzie, doesn't openttd need some sort of data files from a closed game?
21:19:46 * AnMaster uses simutrans
21:19:51 <tombom> yes
21:20:01 <tombom> i think they were very slowly working on replacements last time i checked
21:20:06 <ehird> 'a closed game'; dude, transport tycoon is awesome
21:20:08 <ehird> dont' be so harsh :(
21:20:18 <fizzie> AnMaster: I've been told it can nowadays run completely with their replacement "newgrf" files, with some manual hackery and some tiny bugs.
21:20:20 <AnMaster> fizzie, are you using path based signaling?
21:20:41 <AnMaster> iirc openttd didn't have that until recently
21:20:53 <AnMaster> while simutrans have it as the only mode since ages
21:21:15 <AnMaster> ehird, it may be awesome, but I don't have it, thus I can't use it
21:21:29 <fizzie> I used the "new pathfinding", which was in openttd SVN when I was doing that stuff; but the release was 0.4.0.1 back then, and they're in something like 0.6.x nowadays.
21:22:10 <AnMaster> fizzie, I recently (yesterday) read on their wiki that NPF was superseded(sp?) by YAPF
21:22:17 <fizzie> That's not surprising.
21:22:25 <fizzie> It was "new" quite some time ago.
21:22:34 <fizzie> I think I heard about YAPF too.
21:22:37 <ehird> http://zem.fi/ttd_logic/ttd_4adder.png woah.
21:22:53 <tombom> is that the 9000x6000 image?
21:22:57 <fizzie> tombom: Yes.
21:23:02 <tombom> it almost crashed my browser, 512mb ram sucks
21:23:07 <ehird> 512MB?!
21:23:09 <ehird> WHAT THE FUCK
21:23:12 <tombom> awesome though
21:23:12 <fizzie> Well, 9136x5504, it's not *that* big.
21:23:12 <ehird> Do you live in africa or something
21:23:14 <AnMaster> fizzie, I see. Anyway OpenTTD seems to me to be much more "game" than "simulator", while simutrans is much less of a game, there are people trying to make it simulate more accurately
21:23:26 <AnMaster> anyway that is the impression I got
21:23:30 <tombom> :I i just haven't updated in 5 years
21:23:49 <tombom> yeah that's probably right
21:24:16 <fizzie> ehird: The funny part is that there's a farm under the middle gate (labeled "_or1"); the buildings got completely overwritten by the copy-paste kludge I did so I wouldn't have to build all those tracks, but the actual fields of grain are still going strong.
21:24:27 <ehird> :D
21:24:34 <fizzie> (The scenario editor didn't let me make a map without a single industry.)
21:24:52 <ehird> tombom: 5 years ago 512MB still sucked :P
21:25:02 <tombom> i know, i know :( oh well
21:25:09 <tombom> it does well enough
21:25:15 <AnMaster> the file is 3.2 MB according to gimp
21:25:16 <AnMaster> hm
21:25:30 <AnMaster> no I didn't open it in browser because that would certainly crash yes
21:25:48 <fizzie> AnMaster: Well, yes, it's unashamedly a game. Although train-enthusiasts do keep making graphics sets for all kinds of (mostly German, I think) existing real hardware.
21:26:48 <AnMaster> fizzie, built in random disasters? The difference between OpenTTD and Simutrans reminds me of the difference between a game where you fly aircrafts and a real flight simulator
21:27:16 <AnMaster> that huge image looks like a circuit board when zoomed out heh
21:27:34 <AnMaster> 9.09% zoom according to gimp
21:27:47 <zzo38> What would happen if you used the LIFE register as a namespace?
21:28:33 <zzo38> And since CHOICE can be used as a namespace, maybe if you should be allowed to use the NAMESPACE command to make the choicepoint a different namespace? That's weird.
21:28:41 <AnMaster> fizzie, clocking signals?
21:29:19 <ehird> 20:27 zzo38: What would happen if you used the LIFE register as a namespace?
21:29:23 <ehird> the namespace would only exist in the future?
21:29:48 <fizzie> AnMaster: Yes, well, that was for the not-so-well-working "single track, occupied == 1, free == 0" thing. I couldn't figure out a way to make the trains not get stuck with the limited tools I had available without using a specific manual clocking thing to toggle the movements.
21:30:04 <AnMaster> fizzie, ah
21:30:12 <fizzie> AnMaster: The larger pictures use a "two tracks, one for 0, one for 1" signaling, which didn't need that.
21:30:24 <AnMaster> I see
21:30:35 <AnMaster> fizzie, did you disable the disaster option? ;)
21:31:03 <fizzie> Yes, probably. As it says, it takes two months of game-time for the carry information to ripple down in that four-bit ripple-carry adder.
21:31:23 <fizzie> I would advise against using a real-life version of that in a performance-critical application.
21:31:41 <fizzie> Although it would be CRAZY AWESOME to see all those trains going 'round and 'round.
21:31:45 <ehird> haha
21:31:47 <zzo38> I guess that might work, the namespace can exist only in the future. And if #0 is the current real namespace then using DO NAMESPACE #0 AS ,SOMETHINGELSE, might make the current program's registers and labels the same ones in the library, causing a whole bunch of confusion.
21:32:01 <ehird> fizzie: it could be funded by tourists who come and see it and get around the place with the trains
21:32:03 <ehird> the train fares
21:32:06 <fizzie> (To add 7 and 13 together. And get 4 out of it.)
21:32:08 <AnMaster> fizzie, heh
21:32:16 <ehird> 7
21:32:17 <ehird> +
21:32:18 <ehird> 13
21:32:20 <ehird> =
21:32:22 <ehird> 4
21:32:24 <ehird> It's a new mathematics.
21:32:47 <AnMaster> ehird, building tracks is expensive though :/
21:33:15 <fizzie> Actually I guess there's the carry from the MSB too, so it'd be 20 if you read it right.
21:33:40 <zzo38> It isn't a new mathematics, it seems if it is a 4-bit adder than you would get 7+13=4 because that's what it is if you are limited to 4-bits.
21:33:58 <ehird> Shush that's too logical :-)
21:34:10 <ehird> Everyone knows that adding is just xor with lameo hand-holding carrys anyway.
21:34:31 <zzo38> ehird: Especially INTERCAL programmers
21:34:35 <AnMaster> fizzie, there is something strange in that picture around 5782,3748
21:34:35 <ehird> Exactly!
21:34:50 <AnMaster> that is pixel as gimp says it
21:35:06 <AnMaster> fizzie, green bits above the track?
21:35:10 <ehird> rm -f -rf docbook-cheat-sheet/
21:35:10 <ehird> /usr/bin/xsltproc --stringparam base.dir docbook-cheat-sheet/ \
21:35:12 <ehird> --stringparam use.id.as.filename 1 \
21:35:13 <fizzie> The ttd_4adder.png seems to depict 0b1011 + 0b1001 = 0b10100.
21:35:14 <ehird> --stringparam html.stylesheet fptools.css \
21:35:16 <ehird> --stringparam toc.section.depth 3 --stringparam section.autolabel 1 --stringparam section.label.includes.component.label 1 \
21:35:19 <ehird> /html/chunk.xsl docbook-cheat-sheet.xml
21:35:21 <ehird> warning: failed to load external entity "/html/chunk.xsl"
21:35:23 <ehird> cannot parse /html/chunk.xsl
21:35:25 <ehird> make[2]: *** [docbook-cheat-sheet/index.html] Error 4
21:35:27 <ehird> oops
21:35:28 <fizzie> AnMaster: I have it open in a browser, but I'll try to navigate there.
21:35:47 <AnMaster> fizzie, hm ok I have it in gimp. It is near the label Sum2
21:36:06 <AnMaster> between Sum2 and _xor2b
21:36:17 <fizzie> Okay, I found Sum2.
21:36:44 <fizzie> Oh, and there's _xor2b. So what exactly is the strangeness?
21:37:22 <AnMaster> fizzie, between them, close to sum2 there is a single track going horizontally splitting into multiple tracks going in 90 degrees from it
21:37:36 <AnMaster> fizzie, some tracks have holes in with grass
21:37:55 <AnMaster> seems useless to have nothing there, also the turn track indicates there should be something there
21:38:07 <fizzie> AnMaster: Yes, that's the switchboard. The gate is a generic two-input logic gate, and you use that part to wire what binary operation you want the gate to perform.
21:38:26 <AnMaster> fizzie, so you remove a tile there then?
21:38:51 <fizzie> Well, place a tile or remove a tile, I guess it depends on your point of view. Certainly (for a fixed operation) you could make a smaller gate.
21:38:54 <AnMaster> FireyFly, wouldn't the turn bit on the edge change to an end bit then?
21:39:03 <FireyFly> fizzie, ^
21:39:10 <FireyFly> Will AnMaster soon write
21:39:18 <AnMaster> ah yes
21:39:20 <FireyFly> :D
21:39:29 <fizzie> That there is wired to perform a xor, by connecting the middle two tracks (corresponding to (0,1) and (1,0) inputs) into the "1" output, and the outermost ones ((1,1) and (0,0) inputs) into the "0" output.
21:39:35 <AnMaster> FireyFly, fi<tab> should complete fizzie not you :/
21:39:44 <AnMaster> FireyFly, it was like that for months before you came
21:39:45 <FireyFly> :(
21:39:52 <AnMaster> ;P
21:39:56 <FireyFly> Excuse me for being here :|
21:39:58 <FireyFly> :D
21:40:25 <AnMaster> fizzie, in simutrans if you remove a track that is branching from a straight track the branching bit on the straight track is removed too
21:40:30 <AnMaster> but not so in OpenTTD?
21:40:54 <fizzie> That sounds strange, what if you just want to remove one piece and make it continue to some other direction?
21:41:32 <fizzie> Maybe I'm not grasping the paradigm here.
21:42:19 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)).
21:42:22 <AnMaster> fizzie, I mean, err see the bend like:
21:42:23 <AnMaster> ---
21:42:24 <AnMaster> /
21:42:24 <AnMaster> -------
21:42:24 <AnMaster> | |
21:42:25 <AnMaster> | | | |
21:42:27 <AnMaster> that?
21:42:29 <AnMaster> err
21:42:31 <AnMaster> irc client fail
21:42:34 <AnMaster> it ate the /
21:42:37 -!- Slereah has joined.
21:42:56 <AnMaster> fizzie, http://rafb.net/p/cE6qvd71.html
21:42:57 <AnMaster> that?
21:43:18 <fizzie> Yes, I see that.
21:43:39 <AnMaster> fizzie, the / is part of the straight track there as you can see
21:43:46 <AnMaster> that is where the actual turn bit is
21:44:19 <AnMaster> fizzie, when you removed those bits there in simutrans it would end up looking like this instead: http://rafb.net/p/L6Pa8567.html
21:44:32 <AnMaster> as in the track is transformed to a straight one
21:45:42 -!- olsner has joined.
21:45:43 <AnMaster> fizzie, simutrans has special "end bit" tracks added at the end of straight tracks, which fills half the tile and has one of those bumper thingies on it
21:45:58 <AnMaster> all track ends look like that
21:46:03 <fizzie> Well, OpenTTD's track editing is pretty "low-level" in the sense that the /s are separate bits of track you can place pretty freely. Although I think there's home helpful stuff in the UI for track-building. Anyway, it won't automatically place those /s there, because you can just as well do a \/-style junction instead of just a / there. Or something like that, anyway.
21:46:47 <AnMaster> fizzie, ah I see, simutrans doesn't have that.
21:47:02 <AnMaster> fizzie, a |-
21:47:29 <AnMaster> fizzie, a |- style connection ends up with tracks going from the - track to both directions of the | track
21:47:34 <AnMaster> so you can turn, but rather slowly
21:47:42 <AnMaster> since it is such a sharp bend
21:48:40 <AnMaster> btw one thing I'm missing with both openttd and simutrans is the ability to do free form tracks
21:49:00 <AnMaster> in the real world tracks are not limited to 8 possible directions
21:49:00 -!- kar8nga has joined.
21:49:12 <fizzie> Oh. In openttd you'd have to put in tracks so that it looks a bit like |>- there. Although the whole |> part is in a single square. (And you can do 90-degree very slow turns with something like /\, I'm not quite sure how the "how fast a train can go here" rules go.)
21:50:00 -!- kar8nga has quit (Remote closed the connection).
21:50:33 <fizzie> Anyway, I don't really play OpenTTD, I just have vague memories on how the track-laying goes.
21:50:34 <AnMaster> fizzie, for simutrans iirc it calculates it based on horepower, weight of train, weight of cargo, and how sharp the bend has been over a few surrounding tiles (how much depends on how long the train is)
21:50:42 <ehird> horepower
21:50:47 <AnMaster> horse*
21:50:49 <AnMaster> was a typo
21:50:52 <fizzie> Yes, it's something like that in OpenTTD too.
21:52:23 <oklofok> hör hör horepower
21:52:56 <AnMaster> fizzie, iirc openttd doesn't take the weight of the cargo into account, I read that in some "introduction to simutrans for openttd users", it talked about how this could cause several trains on the same schedule but with different amount of cargo to pile up, because the less loaded ones can go slightly faster (even on straight track)
21:53:24 <fizzie> There's a "realistic acceleration" patch which does "weight of the train, the power of the engine and the gradient of the slope it's going up or down; 90-degree curves have a speedlimit of 61 km/h, two successive 45-degree curves in the same direction get limited to 88 km/h; For softer curves, the speedlimit is calculated from the number of direction changes".
21:53:34 <fizzie> Without the patch it uses whatever original TTD did.
21:53:38 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:53:42 <fizzie> (I don't know what that is.)
21:54:04 <ehird> A haiku:
21:54:05 <ehird> compile ghc
21:54:05 <ehird> much easier if i had
21:54:07 <ehird> 8-core computer
21:54:26 <fizzie> http://wiki.openttd.org/Junctions has an awful amount of junctions with colorful names.
21:54:35 <AnMaster> fizzie, simutrans doesn't have as many options as openttd, in simutrans they tend to always enable features, and I think the goal is to be as realistic as you can be when limited to a tile based system with 8 directions for tracks to enter and exit the suare
21:54:37 <AnMaster> square*
21:54:53 <ehird> realism is boring
21:54:54 <fizzie> Yes, OpenTTD is not so very fixated on realism.
21:55:07 <AnMaster> fizzie, btw it seems you can't have complex underground networks in openttd? Say stations underground and such?
21:55:14 <fizzie> But in their own surreal world, they do tend to think about the stuff a lot.
21:55:44 <AnMaster> someone on the simutrans forum is even working on a patch to make it possible to have slopes underground
21:55:54 <AnMaster> so you can build sub-sea tunnels and such
21:56:00 <AnMaster> and complex underground networks
21:56:19 <fizzie> Yes, I think that's inherited from TTD, which just had "a tunnel" and an absolute rule of forbidding tunnel-crossings, even when they're on different levels. They've relaxed that rule in OpenTTD, but you still can't do real junctions or stations inside a mountain.
21:56:21 <AnMaster> (currently you are limited to same level as the tunnel enters in simutrans
21:57:01 <AnMaster> fizzie, ah I have a simutrans game here with an advanced semi-underground network of maglev trains
21:57:54 <AnMaster> that is using the MLM patch to pak128 (128x128 tiles for simutrans, default is pak64)
21:58:03 <fizzie> Heh, OpenTTD has a "crossing tunnels" cheat which lets tunnels cross. Originally intended for long tunnels in TTDPatch (since those realistically could do a bit of sloping to cross without hitting each other) but with no length restrictions, it looks a bit silly: http://wiki.openttd.org/Crossing_tunnels
21:58:12 <fizzie> (That's only in the cheat menu in OpenTTD.)
21:58:37 <AnMaster> fizzie, in simutrans you can (once the slopes in tunnels bit is added) build a replica of the london underground
21:58:49 <AnMaster> there was someone starting on the French metro
21:58:54 <AnMaster> Paris that is
21:59:18 <fizzie> I'm not sure if there's any plans on underground-building in OpenTTD.
21:59:39 <fizzie> I hear they've been complicating the economics and industry-stuff, at least. But I don't really follow the "scene".
22:00:02 <oklofok> you talking about bees?
22:00:15 <AnMaster> fizzie, http://forum.simutrans.com/index.php?action=dlattach;topic=1089.0;attach=2937;image
22:00:15 <fizzie> oklofok: Yes, birds and the bees.
22:00:20 <oklofok> oh
22:00:22 <oklofok> well how do they fly?
22:00:35 <fizzie> oklofok: In 8 cardinal directions only.
22:00:45 <AnMaster> fizzie, the economics in simutrans are rather primitive
22:00:56 <oklofok> http://forum.simutrans.com/index.php?action=dlattach;topic=1089.0;attach=2937;image <<< this looks somewhat like a game
22:01:04 -!- neldoret1 has joined.
22:01:08 -!- neldoreth has quit ("leaving").
22:01:14 <oklofok> is this a simcity game
22:01:16 <fizzie> It looks very TT-inspired, to tell the truth.
22:01:23 <AnMaster> fizzie, yes indeed. Pak64 has animals in the background. No actual functionality there
22:01:34 <AnMaster> oklofok, simutrans. Transport simulation
22:01:40 <AnMaster> fizzie, it certainly is
22:01:53 <ehird> http://wiki.openttd.org/Crossing_tunnels <- that's hilarious
22:01:53 <oklofok> i haven't played that much of those, i assume their strategical issues are pretty much the same
22:02:16 <AnMaster> ehird, agreed, and in simutrans there would be a normal crossing underground there
22:02:21 <oklofok> AnMaster: i saw the picture, yes, that doesn't really tell me whether it's a "simcity game"
22:02:27 <ehird> they should call them space-time warps
22:02:28 <ais523> well, of course it's possible for tunnels to cross
22:02:29 <oklofok> it just tells me it looks like one
22:02:34 <ais523> the real problem is, why can't they cross aboveground?
22:02:37 <ehird> ais523: http://wiki.openttd.org/images/6/6e/Crossing_Tunnels.png
22:02:39 <ais523> traintracks can cross there too
22:02:40 <AnMaster> http://simutrans.com/paksets.htm <-- they look better. Some idiot used way too much jpeg compression on them
22:02:40 <ehird> that is what is hilarious.
22:02:46 <AnMaster> I usually play with pak128
22:03:07 <AnMaster> the screen shots are overcompressed
22:04:06 <AnMaster> ais523, they can, but in openttd there is no collision detection underground, they can pass through each other like ghosts in that picture ehird linked
22:04:16 <ais523> aha
22:04:17 <oklofok> wait "Abo Set"
22:04:20 <AnMaster> while over ground they would have to wait at the junction if two met
22:04:35 <oklofok> i guess i'm famous
22:04:40 <AnMaster> oklofok, err what?
22:04:41 <ehird> oklofok: wut
22:04:55 <ehird> aha
22:04:55 <ehird> Åbo is the Swedish name of the Finnish city of Turku.
22:04:56 <ehird> :D
22:05:00 <AnMaster> yes
22:05:06 <ehird> oklofok is turkuian
22:05:08 <AnMaster> but why would this imply oklofok is famous?
22:05:18 <oklofok> because there's an abo set
22:05:26 <AnMaster> oklofok, there are lots of other people there
22:05:30 <oklofok> and turku has a population of 3, so
22:05:39 <AnMaster> no it doesn't
22:06:04 <ehird> SHUT UP AnMaster TELLING PEOPLE THEY'RE WRONG WHEN IT'S OBVIOUS & OBVIOUSLY NOT SERIOUS IS STUPID AND ANNOYING
22:06:05 <ehird> ;;;;;;;;;;;;;;;;;_;
22:06:30 <AnMaster> ehird, you accept oklofok's unusual style of very seldom being serious
22:06:38 <AnMaster> yet you have issues with my opposite style
22:06:43 <ehird> yes.
22:06:47 <ehird> one is funny the other is irritating
22:07:02 <AnMaster> ehird, without me the channel would be unbalanced
22:07:07 <AnMaster> more than it is that is
22:07:38 <oklofok> decnalabnu is a nice word
22:07:42 <oklofok> probably shower ->
22:07:57 <AnMaster> No definitions were found for decnalabnu.
22:07:58 <AnMaster> huh
22:08:25 <oklofok> i mean it could be lojban
22:08:27 <oklofok> but it so isn't
22:08:47 <AnMaster> Results 1 - 10 of about 261 for decnalabnu. (0.10 seconds)
22:08:51 <AnMaster> makes me wonder...
22:09:15 <AnMaster> Did you mean: dynalab Top 2 results shown
22:09:19 <oklofok> err i just usually reverse sentences in my head
22:09:37 <AnMaster> oklofok, ooooh I see
22:09:44 <oklofok> first result on google tells you that
22:09:45 <oklofok> o
22:09:45 <oklofok> o
22:09:56 <fizzie> Also second, fourth, fifth results.
22:09:59 <fizzie> Well, your results might vary.
22:10:06 <oklofok> how does third do it
22:10:21 <oklofok> wait maybe different results.
22:10:29 <oklofok> show er ->
22:10:42 -!- tombom has quit (Read error: 110 (Connection timed out)).
22:10:42 <AnMaster> fizzie, not the ones I see
22:10:43 <fizzie> Possibly; third here was just "World of Warcraft" forums-post by someone called Decnalabnu.
22:10:47 <AnMaster> they are all virtual sheet music
22:10:48 <AnMaster> ?
22:10:54 <AnMaster> the first 5 I mean
22:10:55 <fizzie> "?decnalabnu er'ew tahT ?yas ot gniyrt uoy era tahW"
22:11:06 <fizzie> How can you avoid reversing that?
22:11:20 <fizzie> It almost has a 0gnirts in it. :p
22:11:54 <AnMaster> fizzie, there are some languages starting questions with upside down ?, I assumed it was something like that but with a non-uppside down one
22:12:01 <ehird> isn't it 0"gnirts"
22:12:02 <AnMaster> or a right to left script
22:12:13 <AnMaster> ehird, yes technically
22:12:14 <ehird> AnMaster: ...seriously?
22:12:16 <ehird> come on
22:12:19 <ehird> its obviously english
22:12:28 <fizzie> Anyway, here I just get two virtual sheet music things with that sort of obviously-reversed text, the less clear WoW post, and the next is "hcraeS tcudorP elgooG - rexim oidua" which is quite a giveaway.
22:12:30 <AnMaster> ehird, yes seriously, I'm not good at reading reversed
22:12:41 <AnMaster> I use rev(1) when writing strings for befunge programs
22:12:56 <AnMaster> or enter the string the other way around
22:13:39 <AnMaster> "hcraeS tcudorP elgooG - rexim oidua" which is quite a giveaway. <-- ?
22:13:54 <fizzie> With elgooG and everything.
22:14:10 <AnMaster> ah right. I didn't notice that
22:14:18 <AnMaster> I guess because I'm used to see it the other way around
22:14:19 <fizzie> Well, I guess it's not obvious to everyone. I just assumed, since I suck at anagrammatics and such.
22:14:30 <ehird> By the way, here's fizzie's high quality encryption method in Ruby.
22:14:31 <ehird> ruby -ne'$_.each_byte {|x| print((x^42).chr)}'
22:14:45 <AnMaster> fizzie, anagrams, I fail totally at them
22:14:48 <FireyFly> [22:12:44] <AnMaster> I use rev(1) when writing strings for befunge programs
22:14:49 <FireyFly> Meh
22:14:56 <FireyFly> I enter them backwards manuassy
22:15:01 <FireyFly> Manually*
22:15:15 <AnMaster> FireyFly, <v"String right way around"0
22:15:17 <AnMaster> ;P
22:15:19 <ehird> Bp5f}z`yq5tyy5aty~5|{5mzg8'$;
22:15:34 <AnMaster> ehird, what fingerprint is B from?
22:15:39 <fizzie> "rexim oidua" sounds like a NetHack scroll. ELBIB YLOH, after all. And DUAM XNAHT.
22:15:42 <ehird> AnMaster: Nothing.
22:15:52 <AnMaster> ehird, valid befunge of course, but rather weird one
22:15:59 <AnMaster> unless B does something strange
22:16:23 <ehird> g`wl58{p21J;ptv}Jwlap5nimi5eg|{a==mK'$<;v}g<h2
22:16:31 <ehird> I love how balanced it is.
22:16:36 <AnMaster> also valid befunge
22:16:58 <ehird> brb ->
22:17:14 <AnMaster> <fizzie> "rexim oidua" sounds like a NetHack scroll. ELBIB YLOH, after all. And DUAM XNAHT. <-- what? I never noticed they were reversed until you said it.. Just thought it was gibberish
22:17:19 <AnMaster> hnuh
22:18:40 <AnMaster> fizzie, how would you write a befunge program to print a single g?
22:18:44 <AnMaster> and then exit
22:18:48 <fizzie> Those are the reversed ones I could think of. Others have different etymologies. Like there's the JUYED AWK YACC, for Unix-toolsy people.
22:19:11 * AnMaster just found a perfect way to golf it
22:19:32 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:19:39 <comex> who is Maud
22:19:43 <AnMaster> I'm fairly certain it can
22:19:46 <fizzie> Well, I would write it 'g,@ but I'm guessing your idea has something to do with g at (0, 0) and the pop-from-stack.
22:19:48 <AnMaster> can't* be made shorter
22:19:56 <AnMaster> fizzie, yes indeed
22:19:59 <AnMaster> g,@
22:20:00 <AnMaster> is mine
22:20:57 <fizzie> Here's another piece of scroll-trivia: KIRJE (which is also one of the random scroll names) is the Finnish translation of the English word "letter".
22:21:26 <fizzie> (In the "I mailed you a letter" sense, not the "character of an alphabet" sense.)
22:21:26 <AnMaster> fizzie, was that the intention of it?
22:21:42 <fizzie> Well, it's a scroll. It might be mail.
22:21:57 * AnMaster mails fizzie a letter containing a single letter (both sense used here)
22:22:26 <fizzie> "Finally, KIRJE was added together with the mail code in Hack 1.0.2."
22:22:26 <ais523> fizzie: no, mail is "a stamped scroll"
22:22:34 <fizzie> ais523: Yes, but that's where it came from.
22:22:42 <ais523> ah, it was designed for mail
22:22:52 <ais523> then added as a random description when they switched to randomizing descriptions
22:22:57 <fizzie> http://www.spod-central.org/~psmith/nh/anhf.html has historistical info.
22:23:00 <fizzie> For others, too.
22:23:41 <AnMaster> fizzie, http://forum.simutrans.com/index.php?action=dlattach;topic=1444.0;attach=4207;image
22:23:41 <comex> other than a former player
22:23:54 <AnMaster> fizzie, uses the underground slope patch
22:24:47 <AnMaster> ais523, doesn't the scroll of mail say "scroll of mail or such"? Pretty sure it was identified when I got it from the post daemon...
22:24:57 <ais523> it's "a stamped scroll", IIRD
22:24:59 <ais523> *IIRC
22:24:59 <AnMaster> mail daemon*
22:25:02 <ais523> it identifies when you read it
22:25:12 <AnMaster> ais523, well maybe I identified one before then
22:25:19 <AnMaster> this is a long running game so could be true
22:25:55 <AnMaster> (I'm trying out pudding farming, my conclusions so far is that it isn't something I will do again, too boring)
22:26:24 <ais523> AnMaster: the general conclusion about pudding farming is that you could just have won in the time you spent doing the farming
22:26:53 <AnMaster> ais523, heh I agree
22:27:36 <fizzie> I think mooz once ascended one character who dug out each and every square of all Gehennom levels that's not undiggable. That's one way to spend time, all right.
22:28:55 <fizzie> At least it's then easy to walk between staircases when finally going up.
22:29:36 <AnMaster> fizzie, I tend to dig a lot down there to make the path up as fast as possible, so I dig a straight path between the down and up stairs
22:30:07 <AnMaster> tends to reduce time and reduce risk of running into rodney
22:30:30 <fizzie> That's quite common, I think.
22:30:33 <ais523> well, yes
22:30:34 <ais523> everyone does that
22:30:38 <AnMaster> indeed
22:31:01 <AnMaster> ais523, though I actually came up with that idea myself before I heard that "everyone does that" first time
22:32:04 <fizzie> Heh: [2006-12-12 13:47:01] <fizzie> I wonder why the Wikipedia category "Species extinct in the wild" has the page "User talk:TrogdorPolitiks".
22:32:11 <fizzie> I doubt it's so anymore.
22:32:46 <fizzie> Yes, it seems to have disappeared.
22:32:47 <ais523> most likely a typo
22:32:50 <AnMaster> fizzie, I guess someone forgot : in front of [[Category:]] when linking to it
22:32:58 <ais523> it's very easy to do [[Category: rather than [[:Category:
22:33:13 <ais523> especially as the colon-prefix is unique to categories and files
22:33:19 <AnMaster> ais523, but you see it when you proof read with the preview button...
22:33:33 <ais523> not everyone bothers to preview
22:33:42 <AnMaster> ais523, huh. that sounds very strange
22:34:10 <fizzie> (I was grepping the logs to find any info about mooz's extinctionist, which sounded like another rather special game. Although admittedly extinctionist is probably not as uncommon as "crazy excavator".)
22:34:25 <AnMaster> ah yes extinctionist...
22:34:26 <ais523> fizzie: extinctionist is actually pretty common
22:34:32 <AnMaster> my current pudding farming game is also that
22:34:46 <AnMaster> well both that and genociding
22:34:47 <ais523> well, you'll probably extinct puddings pretty quickly
22:35:04 <AnMaster> ais523, well yes, but other monsiders too
22:35:07 <AnMaster> monsters*
22:35:26 <AnMaster> ais523, I had the luck of a level with up and down stairs close to each other and an altar very close to that too
22:35:50 <fizzie> [22:47:10] <@mooz> heh an extinctionist reports that create familiar creates an archon 50% of the time when everything else is extinct
22:35:50 <fizzie> [22:47:28] <@mooz> says he has 15 pet archons
22:35:55 <fizzie> That's funny.
22:36:04 <AnMaster> haha
22:36:12 <AnMaster> fizzie, I haven't got that far yet
22:36:27 <AnMaster> anyway val tends to suck at casting spells
22:36:33 <ais523> I'll agree with that
22:36:39 <AnMaster> ais523, which line?
22:36:41 <ais523> but then, valk doesn't need to cast spells
22:36:44 <AnMaster> true
22:36:46 <ais523> AnMaster: the valk casting thing
22:36:54 <AnMaster> ais523, valk is the easiest one IMO
22:39:15 <AnMaster> fizzie, so what about the image I linked above?
22:39:31 <AnMaster> fizzie, no way to do such stuff in openttd I guess?
22:39:36 <fizzie> No.
22:39:47 <fizzie> It looks like the underground-mode of SimCity 2000. :p
22:39:56 <AnMaster> I never played simcity
22:40:31 <AnMaster> fizzie, hm I'd want free form tracks, not restricted to tiles
22:40:40 <AnMaster> and different gradients for slopes
22:40:41 <AnMaster> and such
22:40:54 <fizzie> Okay, it's not that similar, but: http://www.mobygames.com/game/dos/simcity-2000/screenshots/gameShotId,313830/
22:41:25 <AnMaster> FireyFly, how old is that..? Looks very old
22:41:39 <AnMaster> more like 1997 than 2000
22:41:41 <Deewiant> 1902, that's what it says
22:41:49 <AnMaster> Deewiant, that is the *in game year*
22:42:08 <Deewiant> Oh, you wanted SimCity 2000's age? It came out in 1993
22:42:13 <AnMaster> ah
22:42:18 <AnMaster> that explains the look
22:43:06 <fizzie> The above-ground mode looks a bit less ugly, although obviously the toolbars do not change.
22:43:26 <fizzie> http://www.mobygames.com/game/dos/simcity-2000/screenshots/gameShotId,3355/ or something.
22:44:21 <fizzie> FireyFly: Have you considered changing your name to "F1reyFly" or something to avoid the "AnMaster tab issue"? :p
22:44:21 <AnMaster> hm is there any size limit of station and connected buildings in openttd?
22:44:34 <Deewiant> Yes
22:44:43 <fizzie> Deewiant: Are you sure?
22:44:46 <Deewiant> Yes
22:44:53 <fizzie> Deewiant: Well, what are the limits?
22:44:54 <Deewiant> You can increase the limit though
22:45:01 <Deewiant> If I recall correctly, anyway
22:45:13 <Deewiant> It'll say something like "station extent too large" if you have too big stations
22:45:21 <Deewiant> They're supposedly bad for performance
22:45:24 <AnMaster> one issue I found in simutrans is that you can build a station that covers the whole city using cheap bus stops next to each other all the way from a train station in the middle
22:45:27 <Deewiant> And no, I don't remember the default max size
22:45:50 <fizzie> Hmm. I remember it was possible to do pretty crazily long "disconnected" stations.
22:45:59 <fizzie> But really, I'm no OpenTTD expert.
22:46:10 <Deewiant> Disconnected might work better
22:46:14 <Deewiant> I'm not sure myself
22:46:15 <AnMaster> oh yes that is possible too, by building next to each other and then removing the ones in between
22:46:33 <Deewiant> http://wiki.openttd.org/Change_station_spread
22:47:55 <FireyFly> fizzie, meh, and buy a new domain?
22:47:58 <FireyFly> And, hm
22:48:02 <AnMaster> Deewiant, there are legitimate reasons for larger ones, like huge airports connecting train, bus, maglev, monorail and boat or such
22:48:11 -!- FireyFly has changed nick to FireFly.
22:48:22 <AnMaster> oh and tram too
22:48:25 <AnMaster> possibly
22:48:25 <Deewiant> Yes, I know, I have made large stations in my time
22:48:35 * ais523 catches FireFly in a butterfly net -----\XXXXX/
22:48:40 <FireFly> :(
22:48:44 <ais523> sorry about that, just oerjan was being slow
22:48:45 * FireFly burns the net
22:48:46 <Deewiant> And I have increased the station spread setting to accommodate my stations :-P
22:48:47 * ais523 releases FireFly
22:48:52 <AnMaster> FireFly, you still complete first
22:48:53 <ais523> oi, don't burn my net
22:48:55 <oklofok> what are the strategical aspects of these games
22:48:56 * ais523 douses the net
22:49:00 <oklofok> mainly, are there any
22:49:03 <ais523> luckily, it appears unharmed
22:49:05 <fizzie> AnMaster: Maybe you could tweak the tab-completion?
22:49:10 <ais523> also, burning a net while in it is unwise
22:49:18 <FireFly> AnMaster, this is my main nick; you're welcome
22:49:18 <AnMaster> fizzie, too much work meh
22:49:22 <oklofok> please give me a thorough understanding of the concept in one sentence
22:49:23 <AnMaster> oh well
22:49:43 <AnMaster> Deewiant, but I just made a station covering a whole city using car parking (very cheap) and that isn't realistic
22:49:47 <fizzie> oklofok: There be trains.
22:50:00 <FireFly> Sounds like strategy games to me
22:50:09 <Deewiant> oklofok: Build a transportation network, trying to make as much money as possible within some given amount of years. You can't lose unless you suck.
22:50:10 <AnMaster> oklofok, and aircrafts, and boats, and trams, and buses and so on
22:50:23 <FireFly> ...what's the topic?
22:50:23 <fizzie> Deewiant: Or unless you play against humans.
22:50:39 <Deewiant> fizzie: Do people actually play against each other, typically?
22:50:41 <oklofok> Deewiant: so is it more about having fun making nice stations?
22:50:45 <AnMaster> Deewiant, in simutrans you can loose easily, money is much harder to get by in the beginning
22:50:46 <fizzie> Deewiant: I have friends who do.
22:50:54 <AnMaster> and even later on the profit isn't that huge
22:50:56 <Deewiant> oklofok: Yeah, and optimizing their traffic flow and such.
22:51:05 <fizzie> Deewiant: Now that OpenTTD has working net-multiplayer.
22:51:11 <oklofok> i can imagine optimization
22:51:11 <Deewiant> fizzie: I've had the impression that people mostly play cooperative
22:51:26 <fizzie> Deewiant: Maybe mostly, but not always.
22:51:29 <oklofok> not really strategy tho, but should probably try it to see what the deal is
22:51:54 <FireFly> Hm
22:52:07 <oklofok> AnMaster: oklofok, and aircrafts, and boats, and trams, and buses and so on <<< must add terribly interesting strategical aspects
22:52:25 <AnMaster> oklofok, are you being sarcastic?
22:52:37 <oklofok> not only these things that go on tracks, but also these things that go on these other tracks that are usually much less constrained in real life!
22:52:44 <oklofok> yes
22:52:46 <oklofok> naturally
22:52:52 <AnMaster> oklofok, aircrafts don't go on tracks
22:52:54 <AnMaster> in simutrans
22:52:59 <AnMaster> nor do boats
22:53:02 <FireFly> Hm
22:53:03 <AnMaster> duh
22:53:05 <fizzie> oklofok: At least "hardcore" OpenTTD seems to be mostly about trying to find maximally profitable track layouts and such, under the very very unrealistic rules of the game. And from what I've seen, trains seem to bring the big bucks in that game.
22:53:40 <FireFly> There's an NDS version of OpenTTD :o
22:53:42 <Deewiant> It helps that the new versions of TTD are mostly about making trains better while not caring much about the other vehicles. :-P
22:53:49 <oklofok> how does population work? continuous? implicit, maybe?
22:53:56 <fizzie> oklofok: Well, except that for model-train-hobbyist-people it seems to be more about trying to recreate real-world trains as a graphics tileset in the game.
22:54:07 <AnMaster> fizzie, in simutrans the money is on high speed passenger transports for large cities (speed matters for passenger, a whopping 18% speedbonus there)
22:54:17 <oklofok> yeah i don't believe in real-world trains
22:54:50 <Deewiant> oklofok: Population grows in the presence of some kind of transportation or if the city is big enough, withers otherwise. (I think.)
22:55:16 <AnMaster> which means that you get more profit if going over the baseline speed. (which is calculated as average max speed of all current non-obsolete trains/trucks/whatever, one value for each category)
22:55:38 <fizzie> I think the NDS port was a bit... experimental?
22:55:39 <oklofok> Deewiant: sounds sensible
22:55:52 <FireFly> Perhaps
22:56:00 <Deewiant> oklofok: Which is why it might be wrong. ;-)
22:56:02 <AnMaster> for example the current "no-timeline" game has baselevel 60 km/h for roads, 35 km/h for ships, 80 km/h for trains and so on
22:56:22 <FireFly> I guess I'll test the Linux version before trying the .nds
22:56:31 <AnMaster> s/roads/buses and trucks/
22:56:34 <fizzie> "play maps with a size of up to 256x128"; isn't that even smaller than the original TTD?
22:57:00 <AnMaster> <FireFly> There's an NDS version of OpenTTD :o <-- what is NDS?
22:57:07 <fizzie> AnMaster: Nintendo DS.
22:57:07 <oklofok> Deewiant: well sounds like if population follows your stations, all levels would be pretty equal
22:57:08 <AnMaster> * Received a CTCP VERSION from oerjan <-- yes and?
22:57:13 <AnMaster> fizzie, ah I see
22:57:14 <Deewiant> fizzie: Yeah, I think 256*256 was the old maximum
22:57:37 <fizzie> I probably should install the DS version, just because I could then show it to those OpenTTD freaksies I know.
22:57:44 <Deewiant> oklofok: The maps are too big for it to be practical to build by all cities.
22:57:53 <AnMaster> fizzie, what a small map
22:58:04 <AnMaster> I'm playing on a 768x768 map here
22:58:07 <AnMaster> in simutrans
22:58:16 <FireFly> Hm
22:58:18 <Deewiant> oklofok: And since the initial values are random, there's plenty of variation, in my experience.
22:58:20 <AnMaster> which means I can't have firefox running at the same time
22:58:21 <fizzie> AnMaster: The PC version does 2048x2048.
22:58:21 <AnMaster> heh
22:58:29 <FireFly> How come I wasn't highlighted? :|
22:58:30 <Deewiant> I never play over 512x512, I find that big enough by far
22:58:44 <AnMaster> fizzie, ah yes, I think I heard of someone going 8000x8000 in simutrans
22:58:48 <AnMaster> may misremember
22:58:55 <AnMaster> anyway my system couldn't handle that
22:59:11 <fizzie> The NDS has 4 MB of RAM, and I don't think OpenTTD developers have been too concerned about memory usage lately.
22:59:44 <AnMaster> FireFly, highlighted for what?
22:59:49 <oerjan> AnMaster: checking if you had the same client (and tab behavior)
22:59:53 <FireFly> [22:57:03] <AnMaster> <FireFly>
22:59:55 <FireFly> That
23:00:09 <ais523> maybe your client notices quoting of comments
23:00:11 <AnMaster> ah
23:00:11 <ais523> and doesn't highlight on them
23:00:18 <AnMaster> maybe
23:00:23 <FireFly> Maybe that's the case
23:00:30 <AnMaster> -FireFly- VERSION KVIrc 3.4.0 'Virgo' 20080323 - build Mon Oct 27 02:53:09 UTC 2008 - i486-bcefikoprsxAGTZ - Linux (2.6.27-9-generic)
23:00:32 <oerjan> oh right, irssi varies dependent on who spoke last
23:00:34 <AnMaster> i486-bcefikoprsxAGTZ? wth
23:00:48 <FireFly> Don't ask me :|
23:00:49 * AnMaster wonders what platform that is
23:01:11 <fizzie> Original TTD seems to have system requirements of "386-33 Mhz processor or better; 4Mb memory" -- so since the DS has 66+33MHz of processing power and 4 megs of memory, it should run that just fine.
23:01:14 <FireFly> Looks.. encrypted
23:01:24 <fizzie> Looks sorted to me.
23:01:30 <AnMaster> fizzie, 66+33?
23:01:35 <AnMaster> Dual CPU?
23:01:39 <Deewiant> Yes.
23:01:43 <fizzie> AnMaster: Yes, there's 66 MHz ARM9 and 33 MHz ARM7.
23:01:43 <AnMaster> wth
23:01:47 <AnMaster> in a handheld
23:01:51 <AnMaster> why on earth?
23:02:10 <fizzie> The ARM7 drives sounds and mic input and things like that.
23:02:11 <AnMaster> no one?
23:02:14 <AnMaster> hm
23:02:16 <AnMaster> ah
23:02:29 <AnMaster> fizzie, mic input? hm
23:02:33 <AnMaster> what?
23:02:52 <fizzie> Some games have various gimmics to do with the microphone input, yes.
23:03:00 <AnMaster> I see
23:03:04 <FireFly> I think it's partly for the GBA compability
23:03:17 <FireFly> Didn't the GBA have simply an ARM7?
23:03:17 <fizzie> Yes, that's another good reason. The GBA had just that 33 MHz ARM7.
23:03:22 <FireFly> yeah
23:03:31 <fizzie> When running GBA games, the ARM9 is offline.
23:03:42 <AnMaster> I see
23:03:55 * FireFly wants a GBA emu for my card :(
23:04:10 <FireFly> Even if it isn't possible
23:04:50 <AnMaster> what card?
23:05:10 <FireFly> A M3 DS Simply.. Card for running homebrew stuff
23:05:14 <FireFly> An*
23:05:25 <AnMaster> oh ok
23:05:32 <fizzie> I have this R4DS, which I guess is pretty much identical. It's a nds-slot thing too, doesn't do GBA.
23:06:08 <FireFly> From what I've heard, the only difference is the sticker
23:06:21 <FireFly> As well as default theme for the firmware, I guess
23:06:30 <fizzie> The GBA slot things tend to add some more RAM; dslinux works better with that sort of stuff. For some reason it's a bit iffy with 4 megs.
23:07:06 <FireFly> Yeah, then there's these extra RAM packs
23:07:25 <FireFly> Like the one that comes with the Opera browser
23:08:12 <AnMaster> external ram? wouldn't that be slow
23:08:30 <fizzie> "It's not that far from the CPU in a portable."
23:08:54 <AnMaster> fizzie, ok true. But what about the bandwidth?
23:09:28 <FireFly> It's a GBA cart, btw
23:09:28 <fizzie> I don't see how the GBA slots differs much from a DIMM slot, physically speaking. But I have no clue how the hardwarey part is done.
23:09:53 <FireFly> I actually have a disassembled DS original somewhere here
23:10:08 <fizzie> Oh, they've released a "DSi" variant which has removed the GBA slots but installed a couple of VGA-resolution cameras on it, and comes with a download-games web-store-thing. Heh. Hadn't noticed.
23:10:10 <FireFly> My sister broke her DS, now it's my toy
23:10:31 <FireFly> I've read. But, shorter battery life
23:10:50 <AnMaster> a couple of cameras?
23:10:52 <AnMaster> wth
23:11:06 <FireFly> Two, at 3 MP IIRC
23:11:07 <fizzie> 256 MB of flash, SD card slot, 16 megs of ram, 133 MHz ARM9. Heh. They're trying to make a computer out of it.
23:11:13 <fizzie> 0.3 MP, says WikiPedia.
23:11:15 <FireFly> For multiplayer stuff
23:11:17 <FireFly> Ah
23:11:21 <fizzie> VGA, you know. 640x480.
23:11:33 <AnMaster> FireFly, two cameras? Must mean stereo vision or something?
23:11:39 <AnMaster> or why else would there be two of them
23:11:39 <FireFly> Nope
23:11:39 <fizzie> "one on the internal hinge pointed towards the user and the second one in the outer shell"
23:11:45 <FireFly> Ehm
23:11:48 <AnMaster> ah
23:11:49 <FireFly> yeah
23:11:52 <FireFly> Too fast :(
23:11:55 <AnMaster> strange still
23:12:08 <fizzie> I'm sure the DS developers are desperately trying to think up ways to use that stuff.
23:12:11 <FireFly> But, the SD slot confuses me
23:12:29 <fizzie> Some of the microphone tricks have been very curious. Like that zelda game you needed to shout at.
23:12:44 <AnMaster> someone with lot of money should buy two Canon EOS or whatever they are called and glue them together back to back
23:12:47 <FireFly> Isn't that pretty much inviting homebrewers/running illegal ROMs?
23:12:50 <AnMaster> that would be about as silly
23:13:07 <AnMaster> so you could take photographs of the photographer while photographing
23:13:08 <AnMaster> :D
23:13:40 <FireFly> Infinite loop!
23:13:58 <AnMaster> CF is better than SD in my experience, less risk of it getting lost
23:14:03 <AnMaster> those SD are so small
23:14:09 <FireFly> Why? I like my SDs
23:14:10 <AnMaster> my camera use proper CF
23:14:18 <AnMaster> FireFly, as I said above, they are too small
23:14:19 <FireFly> Especially micro SDs :D
23:14:26 <AnMaster> FireFly, yeah I hate them
23:14:28 <AnMaster> too small
23:14:30 <fizzie> I think a lot of mobile phones have two cameras nowadays. One low-resolution one pointing at the user (well, to the direction where the screen is facing) for video-telephony, one higher-resolution for photography.
23:15:03 <AnMaster> fizzie, maybe, that would explain that weird thing in the upper corner of mine, wondered what it was for
23:15:19 <FireFly> I'm still astonished how 8 gigs could fit in a micro SD.. It's about as thin as a nail
23:15:21 <fizzie> MicroSD cards are one of the few things that make me feel like I live in the future. Two gigabytes in a fingernail-size thing.
23:15:29 <fizzie> Oh, they're up to 8 now?
23:15:29 <FireFly> Yeah
23:15:45 <FireFly> The SDHC stuff is, I think
23:15:47 <AnMaster> heh
23:15:50 <lament> you live in the future.
23:15:57 <FireFly> But I don't have any of those readers
23:15:58 <AnMaster> well
23:16:10 <AnMaster> my mobile phone can use micro SD
23:16:14 <AnMaster> I don't have any card
23:16:15 <fizzie> Otherwise it has been a huge disappointment: the cities are still not in domes, cars refuse to fly, and so on. But at least microsd cards are small!
23:16:21 <AnMaster> or any reader in my computer
23:16:31 <FireFly> The Pandora has 2x (standard) SDHC cards, I believe it was mak 32 gig each
23:16:33 <AnMaster> even though for some reason my printer can handle lots of card formats
23:16:40 <AnMaster> but not micro sd
23:16:43 <lament> fizzie: shanghai, while not in a dome, might as well be
23:16:48 <FireFly> So, 64 gig storage, in mem cards
23:16:49 <oerjan> fizzie: we should be _happy_ cars don't fly
23:16:56 <lament> fizzie: you know, http://pool14.files.wordpress.com/2008/12/shanghai_skyline_g.jpg
23:16:59 <fizzie> Any microSD card I've bought has come with a standard-SD-card adapter.
23:17:14 <fizzie> lament: Okay, that looks appropriately futuristic.
23:17:15 <Asztal_> mine did too.
23:17:21 <FireFly> Same here, though it's only one
23:17:35 <AnMaster> fizzie, I don't have any SD reader
23:17:45 <AnMaster> I think
23:17:54 <AnMaster> anyway, what is wrong with compact flash?
23:18:01 <fizzie> Too big, I guess.
23:18:09 <fizzie> Takes up a lot of space in a mobile phone.
23:18:11 <AnMaster> fizzie, more robust?
23:18:12 <oerjan> no flying cars and no faster than light travel. general relativity is such a bitch.
23:18:14 <AnMaster> probably
23:18:28 <lament> CF is less robust, because those metal pin things can break inside the card
23:18:38 <lament> if you are not careful taking it out
23:18:39 <AnMaster> oerjan, how are flying cars related to relativity
23:18:44 <AnMaster> also there have been flying cars
23:18:49 <AnMaster> seriously, let me find the link
23:18:59 <oerjan> AnMaster: how can you get cars flying _properly_ if antigravity is impossible?
23:19:02 <AnMaster> http://www.aerocar.com/
23:19:03 <AnMaster> that
23:19:05 <AnMaster> oerjan, ^
23:19:14 <fizzie> I have a vague feeling of "professional-quality" cameras being a bit biased to CF cards. And at least some point the best CF cards were still faster than the competition.
23:19:15 <Asztal_> except for sony phones, because sony decided they'd go and invent M2, the same thing as MicroSD but Sony get more money... :(
23:19:16 <AnMaster> it is real yes
23:19:19 <FireFly> Makes me think of old M$ games
23:19:21 <FireFly> Well
23:19:27 <FireFly> Impossible Creatures
23:19:35 <lament> fizzie: i'm pretty sure most pro cameras use SD now.
23:19:45 <lament> or both SD and CF
23:19:55 <fizzie> lament: Yes, my vague feelings are a couple of years out-of-date.
23:19:59 <AnMaster> FireFly, what makes you think of it?
23:20:04 <FireFly> What did CF stand for?
23:20:09 <fizzie> CompactFlash.
23:20:12 <FireFly> AnMaster, it has some flying lab
23:20:12 <lament> compact flush
23:20:13 <FireFly> Ah
23:20:16 <AnMaster> oerjan, http://en.wikipedia.org/wiki/Aerocar
23:20:18 <AnMaster> that too
23:20:24 <fizzie> CompactFlush, the latest in toilet technology.
23:20:28 <oerjan> AnMaster: if it needs a runway it doesn't count ;D
23:20:38 <fizzie> The R4DS, which uses microsd card for storage, came with a USB stick into which you can stick a microsd card; that was reasonably friendly.
23:20:39 <FireFly> Then there's those xD cards
23:20:47 <FireFly> Made out of laughing smileys
23:20:49 <AnMaster> oerjan, there have been some experiments with helicopter style too iirc
23:20:56 <AnMaster> but helicopters are really hard to fly
23:21:00 <AnMaster> compared to planes
23:21:20 <fizzie> The "My tank is fight" book has an awesome flying tank. (Not very practical, though.)
23:21:48 <AnMaster> fizzie, what is that book about?...
23:22:05 <AnMaster> "My tank is fight" sounds like bad grammar
23:22:07 <fizzie> AnMaster: Craziest world-war-2-age inventions, both German and others.
23:22:15 <AnMaster> oh I see
23:22:23 <fizzie> AnMaster: It originated from somethingawful, that might explain the name.
23:22:38 <AnMaster> fizzie, not really, I don't know what "somethingawful" is
23:22:46 <FireFly> :o
23:23:04 <fizzie> You are certainly not very "hip", I guess.
23:23:21 <AnMaster> fizzie, don't be silly, everyone has a hip
23:23:31 <fizzie> "'My Tank Is Fight!' contains a humorous and exciting examination of 20 real inventions from World War II that never saw the light of day. Each entry includes full technical details, a complete development history, in-depth analysis, and a riveting fictionalized account of the invention's success or failure on the battlefield." (Although some of them did see the light of the day, to some extent.)
23:23:34 <AnMaster> well, I guess unless you got hurt very badly
23:23:38 <oerjan> use your hip when hopping
23:24:41 <oerjan> i would think the hip is a bit too close to vital organs for many living persons to lack one
23:25:17 <fizzie> Occasionally the book is a bit over-silly, but in some other places it's more subdued. Here's a quotation from the sillier parts; I have a hunch you don't appreciate, since it's a bit random.
23:25:22 <fizzie> "Think of your eyes as a castle and normal light radiation as goblins that run around outside in a mad pack and then assault the castle. The rampaging horde of goblins overcomes your castle's defenses and sacks the place, and then they burn it to the ground. When they burn your castle, that's how you see! IR radiation is more like the treacherous mole men who burrow beneath the moat and erupt in your throne room. They sack the place and kill everyone just lik
23:25:22 <fizzie> e the goblins, but they leave the castle intact so you never actually see anything. Actually, that was more confusing than not knowing about infrared. Let's try again."
23:25:40 <fizzie> (It's about the first night-vision inventions.)
23:26:26 <lament> sounds reasonable
23:26:29 <AnMaster> err
23:26:32 <AnMaster> what on earth
23:26:57 <AnMaster> fizzie, that made no sense
23:27:10 * oerjan thinks that could be a hellboy story
23:27:12 <fizzie> Yes, I sort-of expected that reaction.
23:27:13 <AnMaster> what does fantasy have to do with infrared at all
23:27:51 <fizzie> It doesn't; it's acknowledged there at the end.
23:28:20 <AnMaster> a better way would be to compare with how older people can't hear those insects "syrsor" (don't know the English name) and say it is a bit like that, you can't see it, only in this case not because of a short wavelength but due to a very long one
23:28:51 <AnMaster> FireFly, translation help?
23:29:16 <oerjan> AnMaster: crickets
23:29:20 -!- Judofyr has quit (Remote closed the connection).
23:29:23 <AnMaster> ah maybe that is it
23:29:29 <FireFly> Yeah
23:30:27 <oerjan> step 1: google syrsor, note the latin name, step 2: google the latin name (gryllidae)
23:31:00 <fizzie> Yes, well, I'm not sure if the point was really to have a good analogy here.
23:31:28 <AnMaster> oerjan, wrong. Step 1) notice oerjan, FireFly or some other Scandinavian person is around. Step 2) ask for translation
23:31:29 <AnMaster> :P
23:31:39 <oerjan> actually i guess i could also do step 2: look at language links from swedish wikipedia
23:31:56 <fizzie> I think I'm going to follow oklopol to a (different!) shower now. Try to talk only about boring things.
23:32:16 <FireFly> step 1: Alt-tab to Opera; Step 2: enter "tyda syrsor"; Step 3: Press enter
23:32:26 <oerjan> AnMaster: i am merely teaching you how to fi^W look up fish species
23:33:02 <oerjan> tyda?
23:34:14 <AnMaster> eh?
23:34:17 <AnMaster> fi^W?
23:34:19 <AnMaster> what was that
23:34:22 <oerjan> btw does that work if i'm not swedish? google's define:syrsor gives me nothing
23:34:41 <AnMaster> oerjan, I use google.com not google.se
23:34:44 <oerjan> AnMaster: ^W is delete word (emacs style i think)
23:34:52 <lament> is google.se like goatse.cx?
23:34:53 <AnMaster> oerjan, yes but what was the fi word?
23:34:57 <oerjan> fish
23:35:09 <AnMaster> oerjan, the joke makes no sense
23:35:10 <oerjan> are you not familiar with the adage?
23:35:42 <oerjan> .Give a man a fish; you have fed him for today. Teach a man to fish; and you have fed him for a lifetime"
23:36:00 * ais523 likes the Terry Pratchett version of that
23:36:02 <oerjan> s/./"/, stupid weird quotes
23:36:08 * oerjan sets ais523 on fire
23:36:15 <ais523> ouch!
23:36:26 <oerjan> i assume that's the one
23:36:36 <ais523> yes
23:36:53 <oerjan> AnMaster: i would guess google.com would be even worse for finding swedish definitions
23:37:04 <AnMaster> oerjan, yeah
23:37:14 <oerjan> my point is define: seems to only look up some large languages + norwegian for me
23:37:29 <AnMaster> ais523, don't remember the TP version
23:37:36 <AnMaster> how did it go?
23:37:44 <FireFly> oerjan, yay, I learned that quote from Civ4
23:37:48 <ais523> AnMaster: "Give a man a fire, and he's warm for a day. Set a man on fire, and he's warm for the rest of his life."
23:37:52 <FireFly> About fishing
23:37:53 <AnMaster> ahah
23:38:04 <FireFly> Games are good for yau
23:38:09 <FireFly> -a+o
23:39:44 <oerjan> hm wait, actually it is really lousy in norwegian too
23:40:00 <oerjan> despite actually listing the language, it doesn't find "fisk" :/
23:47:09 <ehird> i have an awesomely outdated nintendo ds homebrew setup
23:47:29 <ehird> i got the stuff from lik-sang :-D
23:48:03 <ehird> it involves a "GBA Movie player" with an engrish packaging, a "MAX MEDIA LAUNCHER" DS cartridge, and patience.
23:49:46 <ehird> I put scummvm on it
23:51:23 * oerjan points out that lik-sang _would_ mean "corpse song" in norwegian
23:51:36 <oerjan> (well, the hyphen is redundant)
23:51:47 <ehird> oerjan: it means "powerful and energetic", apparently
23:51:50 <ehird> http://en.wikipedia.org/wiki/Lik_Sang
23:52:25 -!- neldoret1 has changed nick to neldoreth.
23:53:46 <FireFly> :D
23:54:03 <oerjan> well that certainly resembles a corpse, don't know about the music
23:54:21 <FireFly> It's pretty close to the swedish counterpart as well
23:54:25 <FireFly> Or, well
23:54:33 <FireFly> "å" instead of "a"
23:54:52 <ehird> that's an awesome coincidenc
23:54:52 <ehird> e
23:56:09 <fizzie> R4RS "manual" and firmware packages (and website) is rather Engrish-rich too.
23:56:53 <AnMaster> huh http://wiki.openttd.org/Feeder_service <-- that seems to imply that cargo doesn't have fixed destination, that you could drop passengers at any stop in OpenTTD?
23:57:00 <AnMaster> which would be rather silly
23:57:07 <ehird> fizzie: it runs Scheme? :D
23:57:25 <AnMaster> rather I would expect generated passengers to have a destination and then try to find a path through your transportation network
23:57:26 <AnMaster> to do it
23:57:40 <ehird> But uh, this homebrew system is pretty elaborate; back then in 2006 you basically could do that, or modify the ds
23:57:44 <ehird> and I didn't want to bother with the latter
23:57:44 <fizzie> ehird: R4DS. I *always* write it R4DS.
23:57:51 <fizzie> Er, R4RS.
23:57:55 <fizzie> Is the typo.
23:57:58 <ehird> Not this time, I see :D
23:58:09 <fizzie> Apparently not. I might not be at my brightest right now.
23:58:16 * ehird looks upr4fs.
23:58:24 <ehird> Why, in my day that would be luxury!
23:58:25 <ehird> *r4ds
23:58:30 <AnMaster> * oerjan points out that lik-sang _would_ mean "corpse song" in norwegian <-- same here, except it would be "liksång"
23:58:45 <fizzie> Yes, I started the DS-ery rather late; there were cheap and simple tools.
23:58:52 <FireFly> AnMaster, [23:54:25] <FireFly> It's pretty close to the swedish counterpart as well
23:58:54 <ais523> AnMaster: <FireFly> It's pretty close to the swedish counterpart as well <FireFly> Or, well <FireFly> "å" instead of "a"
23:58:57 <FireFly> :D
23:58:59 <lament> "lich song"
23:59:01 <AnMaster> ais523, missed that
23:59:24 <AnMaster> lament, where did fantasy monsters enter into it?
23:59:49 <FireFly> Now I accidentally autocompleted my own nick >_>
23:59:52 <FireFly> Anyways
2009-03-24
00:00:15 <FireFly> fizzie, I also bought my card quite late
00:00:31 <FireFly> Well.. 1½ year ago, at least
00:00:47 <fizzie> fi:liksa is a colloquialism of fi:palkka, which is en:salary; unfortunately that leaves the "ng" part unused, and there's that inter-word "-" too.
00:01:00 <ehird> The actual usage of mine is pretty simple; the GBA card is just there so you can stick the SD card with the data on it in, see. It has a hole in the cartridge, you're meant to put videos/pictures etc on it.
00:01:11 <ehird> So then you put the max media launcher in the DS slot, and it reads the card and runs it.
00:01:45 <FireFly> That's the passme way thingy?
00:01:51 <ehird> Yeah; but less "raw".
00:01:54 <ehird> http://www.maxconsole.net/?mode=news&newsid=7100 Max media launcher
00:02:02 <ehird> http://en.wikipedia.org/wiki/GBA_Movie_Player
00:02:08 <fizzie> I do remember seeing that combination mentioned.
00:02:20 <fizzie> Back when I was considering what sort of hardware to get.
00:02:32 <FireFly> I don't think I've ever used the GBA slot on my DS :\
00:02:39 <fizzie> Then I just decided to go with the NDS-slot-only solution, even though that doesn't let you run GBA stuff on it.
00:02:41 <FireFly> But I still want it there
00:02:46 <ehird> Yeah, I have a GBA SP so I play gameboy advance games on that
00:02:53 <ehird> It's lighter and stuff.
00:03:02 <oerjan> AnMaster: i assume "lich" is etymologically related
00:03:08 <AnMaster> oerjan, ??
00:03:10 <FireFly> My brother has a GBA SP, so I play GBA stuff on it
00:03:13 <AnMaster> to what?
00:03:14 <FireFly> Also works
00:03:22 <oerjan> >_<
00:03:23 <FireFly> "lik"
00:03:26 <AnMaster> ah
00:03:27 <AnMaster> maybe
00:03:31 <fizzie> "Old English līċ. Cognate with Dutch lijk, German Leiche, Swedish/Norwegian/Danish lik."
00:03:33 <oerjan> do you need EVERYTHING explained?
00:03:39 <FireFly> :D
00:03:42 <ehird> The original GBA was pretty silly-looking.
00:03:44 <ehird> I much prefer the SP
00:03:49 <FireFly> Nah :\
00:03:53 <AnMaster> btw what is "lich" in Swedish? I mean, when talking about the fantasy monster
00:04:00 <FireFly> I had a GBA Original, I liked it
00:04:01 <AnMaster> "lik" wouldn't work
00:04:03 <FireFly> Got stolen
00:04:18 <AnMaster> oerjan, explained?
00:04:43 <FireFly> :(
00:04:46 <AnMaster> ;P
00:04:50 <ehird> huh, the gba movie player lets you play NES games on a gba
00:04:52 * oerjan swats AnMaster to within an inch of his life -----###
00:04:53 <ehird> I should try that sometime
00:05:01 <AnMaster> heh
00:05:08 <FireFly> tyda couldn't translate, lexin couldn't, wiki couldn't
00:05:15 <fizzie> There's a NES emulator for DS, though?
00:05:21 <ehird> fizzie: Well, probably.
00:05:23 <FireFly> I think so
00:05:33 <ehird> Also, the pokemon rpgs are far too addictive. :x
00:05:33 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
00:05:34 <fizzie> NesDS, yes. Very imaginative name.
00:05:49 <FireFly> Wiki has a nice collection of DS HB stuff
00:05:49 <ehird> I got a glitch in my pokemon sapphire game that I worked a lot on; it just wouldn't advance to the next stage of the game.
00:05:52 <ehird> That was pretty irritating.
00:06:13 <ehird> Oh, and on the topic of pseudomath, I used to try and fit uncountable sets into countable ones.
00:06:13 <ais523> ehird: were you messing with the GBA/DS you were playing it on?
00:06:16 <ehird> ais523: nope.
00:06:27 <FireFly> http://en.wikipedia.org/wiki/List_of_Nintendo_DS_homebrew
00:06:28 <ais523> and how could you work a lot on it and yet not complete all the stages of the game?
00:06:31 <ehird> I was just waiting for some stadium or other surrounded by water to unlock, which it should, but it wouldn't.
00:06:39 <ehird> So I just wandered around trying to fix it; which I couldn't.
00:06:48 <ais523> err... which stadium in particular?
00:06:57 <ehird> I don't actually recall, this was years ago
00:07:06 <ehird> I'll look it up
00:07:10 <AnMaster> <ehird> Also, the pokemon rpgs are far too addictive. :x <-- they are? never had any gba or ds or such. Nor any pokemon game or such. I was never into that stuff.
00:07:52 <FireFly> They are
00:08:04 <FireFly> Even when playing in an emulator :\
00:08:33 <fizzie> Wonder how well nethack's DS port works.
00:09:02 <ehird> Okay, even Bulbapedia doesn't have in-depth stadium info for each game.
00:09:15 <oerjan> FireFly: the fantasy meaning of "lich" seems to be from D&D according to wp
00:09:31 <ais523> I didn't think Pokemon Sapphire had stadia
00:09:37 <FireFly> That's quite ancient, older than me
00:09:37 <ais523> and me and my brother completely completed it between us
00:09:57 <ehird> ais523: well, I'm not sure if it was a stadium or what
00:10:01 <ehird> all I know is it was surrounded by water
00:10:05 <ehird> and it was locked.
00:10:07 <FireFly> Hm
00:10:18 <ais523> ehird: half the game of pokemon sapphire's surrounded by water
00:10:26 <ehird> Yes. That's why that's not too helpful.
00:10:27 <ais523> there was probably just something you were missing, rather than a glitch
00:10:51 <ehird> ais523: Well, some other people who had reached that point a few times took a look over the game and couldn't find anything.
00:10:55 <ehird> /shrug
00:11:30 <ehird> Anyone know a GBA emulator for os x?
00:11:36 <FireFly> My brother got stuck in one of those DS pkmn dungeon games
00:11:51 <FireFly> Isn't VBA ported to the mac?
00:11:54 <ehird> maybe
00:12:07 <FireFly> IIRC there's even a Wii version
00:12:23 <ehird> only up to 1.7
00:12:26 <AnMaster> ehird, Bulbapedia <-- what a silly name
00:12:31 <ehird> AnMaster: what's silly about it
00:12:32 <ais523> not really
00:12:34 <ehird> bulbasaur -> bulbapedia
00:12:49 <FireFly> Yeah
00:12:52 <AnMaster> ok... what the heck is "bulbasaur"?
00:12:56 <ehird> ...a pokemon...
00:12:58 <ehird> /facepalm
00:13:01 <AnMaster> I see
00:13:06 <FireFly> One of.. The first 151
00:13:07 <FireFly> Even
00:13:14 <ais523> bulbasaur is in fact #1
00:13:18 <ehird> "I seee. And, you say this pokemon is the name of a pokemon site? Uhh huh. I'm sure."
00:13:19 <ais523> which is the reason people pick it
00:13:21 <FireFly> VBA can mean:
00:13:21 <FireFly> Visual Basic for Applications, the application edition of Microsoft's Visual Basic programming language.
00:13:24 <FireFly> nonono :(
00:13:28 <AnMaster> FireFly, I only know there is this yellow thing called pikatu or something like that
00:13:32 <ehird> XDDD
00:13:33 <FireFly> chu*
00:13:34 <AnMaster> end of pokemon knowledge
00:13:34 <ehird> AnMaster: you're hilarious
00:13:35 <ais523> there are over 450 of the things nowadays
00:13:38 <ehird> don't ever stop being AnMaster
00:13:40 <ais523> pikachu is #25
00:13:46 <FireFly> But really
00:13:46 <AnMaster> oh... some red/white balls too right?
00:13:50 <AnMaster> or something like that
00:13:51 <ehird> XD XD XD
00:13:52 <FireFly> Cyndaquil > all
00:13:53 <ehird> <33
00:13:56 <ehird> AnMaster you're great.
00:13:58 <FireFly> And second gen > all
00:14:07 <FireFly> IMHO
00:14:13 -!- tromp has left (?).
00:14:14 <AnMaster> ehird, I'm not joking.
00:14:18 <FireFly> :D
00:14:18 <ais523> FireFly: I don't think I've ever met a Cyndaquil fan before...
00:14:22 <ehird> i know. that's the best thing, AnMaster
00:14:22 <FireFly> :(
00:14:25 * FireFly is
00:14:42 <ehird> cyndaquil looks like it's shitting fire out of its butt. just saying.
00:14:52 <fizzie> A friend did ascii-art versions of the first #134.
00:14:55 <ehird> thought you might like to know
00:15:00 <fizzie> Er, s/#//
00:15:03 <ehird> fizzie: does mooz still exist
00:15:03 <FireFly> Hm
00:15:19 <AnMaster> ehird, I had a different upbrininging I guess, rather than watching TV one of my parents used to read aloud out of classical children books when I grew up. Stuff like that does affect you
00:15:23 <fizzie> ehird: I haven't heard anything in a couple of months, but I do suspect so, yes.
00:15:24 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
00:15:31 <ehird> AnMaster: I didn't watch tv.
00:15:40 <fizzie> ehird: He's a married man nowadays, maybe not so much time for IRC.
00:15:43 <AnMaster> ehird, well I did a tiny bit, not much.
00:15:47 <FireFly> I still have some of the TCG cards
00:15:50 <ehird> fizzie: why would you do anything to reduce your possible IRC time
00:15:54 <ehird> that's just illogical
00:16:04 <AnMaster> ehird, you are too young to realise it I gues...
00:16:06 <AnMaster> guess*
00:16:06 <fizzie> ehird: Also not sure if he's still in Finland, or in Peru now.
00:16:13 <ehird> see? In Peru I bet IRC is outlawed.
00:16:15 <ehird> What a stupid guy.
00:16:19 <ehird> Does he live in bizarro world?
00:16:25 <ehird> i bet he sleeps too
00:16:30 <FireFly> :D
00:16:31 <ehird> why people sleep I will never figure out
00:16:38 <ehird> 'hur hur I'll just STOP IRCING that is a good thing to do'
00:16:40 <ehird> dumbasse
00:16:41 <ehird> s
00:16:54 <FireFly> It's good for your grades
00:17:07 <ehird> what are grades good for, apart from getting jobs that siphon time off from irc.
00:17:15 <ehird> well, a few jumped steps there
00:17:16 <ehird> but you get the idea.
00:17:20 <ehird> it's all an anti irc conspiracy.
00:17:28 <AnMaster> so I googled for this "Cyndaquil" mentioned above... "It evolves into Quilava starting at level 14" <-- wth? That isn't how evolution works at all
00:17:30 <FireFly> Grades means good job means programming & IRCing means ?? means profit
00:17:34 <oerjan> ehird: you forgot ... PROFIT
00:17:43 <FireFly> I DIDN'T
00:17:44 <ehird> profit is useless; just live on irc.
00:17:49 <ehird> AnMaster: It's a game.
00:17:57 <oerjan> FireFly: clever guy
00:17:59 <ehird> AnMaster: Pokemon: That isn't how the real world works at all!
00:18:04 <AnMaster> clearly this is some way to try to make evolution look silly
00:18:09 <ehird> AnMaster: What, in Mario you can just jump several times your height then fly down really quickly.
00:18:13 <ehird> That's not how gravity works at all!
00:18:14 <ehird> Wtf!
00:18:40 <AnMaster> it is a conspiracy from the intelligent design people...
00:18:48 <FireFly> ._.
00:19:02 <oerjan> AnMaster: i suppose "metamorphosis" is a better term
00:19:11 <AnMaster> ehird, difference: everyone agrees gravity exists. While a lot of people disagrees about evolution...
00:19:14 <ehird> AnMaster: Considering that creationists hate pokemon like the plague...
00:19:19 <AnMaster> oerjan, yes that would be better
00:19:19 <FireFly> What, in <insert tonnes of games here> you can jump in the air
00:19:22 <FireFly> Bad engine
00:19:23 <ehird> also, nobody knowledgable about the topic at all denies evolution
00:19:25 <AnMaster> ehird, they do?
00:19:32 <AnMaster> ehird, true.
00:19:41 <AnMaster> I didn't imply scientists denied it
00:19:45 <ehird> AnMaster: yes. And the more rabid fundamentalist christians call it satanism/witchcraft etc taking creatures and battling them and evolving them and whatnot.
00:19:49 <AnMaster> a lot of fundamentalists do however
00:19:54 <fizzie> Evilution. :)
00:20:09 <ehird> AnMaster: Yes, well, fundamentalists say a lot of stupid things.
00:20:11 <AnMaster> ehird, ok but that isn't the same sort of evolution at all...
00:20:27 <AnMaster> I mean the pokemon evolution seems silly
00:20:28 <ehird> It's just really fast evolution that happens in sprints.
00:20:42 <ehird> Then pokemon evolution makes sense.
00:20:44 <FireFly> It's a game!
00:20:49 <AnMaster> ehird I suppose the God of evolution is involved?
00:21:01 <ehird> FireFly: It's AnMaster!
00:21:12 <FireFly> AnMaster, have you seen Star Wars?
00:21:18 <ehird> AnMaster: no, just after a certain level they morph into a higher species.
00:21:21 <ehird> well, you can cancel it
00:21:21 <FireFly> IT IST'T REAL ;__;
00:21:30 <AnMaster> FireFly, yes I have, too much space opera for my taste
00:21:32 <ehird> FireFly: SPACE DOESN'T WORK LIKE THAT DAMMIT
00:21:32 <FireFly> s/IST/ISN
00:21:37 <ehird> THERE'S NO SUCH THING AS HYPERSPACE
00:21:47 <FireFly> Etc etc
00:21:50 <ehird> ALSO THE PROBABILITY OF EVERYONE SPEAKING ENGLISH IS SO VASTLY SMALL THAT—
00:21:56 <AnMaster> physically Star Trek is as bad
00:22:00 <FireFly> Force, jumping in the air
00:22:03 <AnMaster> or even worse
00:22:09 <ehird> what about psychically
00:22:10 <FireFly> Hitting stuff with light :D
00:22:17 <AnMaster> ehird, oh no
00:22:28 <AnMaster> no "empaths" please...
00:22:53 <FireFly> This subject is quite dead now
00:22:59 <AnMaster> ehird, about speaking English, I think HHGTG solves that in a neat way
00:23:07 <FireFly> :D
00:23:12 <ehird> AnMaster: Yes. Also known as a cop out.
00:23:17 <FireFly> That's true, actually
00:23:32 <AnMaster> ehird, well the babelfish is a rather nice idea, and of course it isn't realistic
00:23:44 <ehird> Speaking of h2g2.
00:23:48 <ehird> "I know that astrology isn't a science," said Gail. "Of course it isn't.
00:23:48 <ehird> It's just an arbitrary set of rules like chess or tennis or, what's that
00:23:49 <ehird> strange thing you British play?'
00:23:51 <ehird> "Er, cricket? Self-loathing?"
00:23:52 <AnMaster> it isn't realistic indeed
00:23:53 <ehird> "Parliamentary democracy."
00:23:55 <ehird> — Mostly Harmless
00:24:06 <AnMaster> ehird, heh
00:24:16 <AnMaster> ehird, does anyone understand the rules for cricket?
00:24:23 <AnMaster> outside UK and AU possibly
00:24:25 <FireFly> I've seen it once
00:24:38 <ehird> AnMaster: I seem to recall seeing some black people winning some sort of tournament. :-P
00:24:41 <FireFly> You have a ball, hit some three poles and run around
00:24:48 <ehird> Can you tell I don't pay much attention to sport?
00:25:23 <AnMaster> FireFly, was there any obvious rules? Like watching football you can quick soon figure out the point is to get the ball into a net at the opposite end of the plane
00:25:30 <AnMaster> split in two teams
00:25:45 <AnMaster> but from what I have seen of cricket it seems a bit more confusing
00:25:48 <ehird> Uh oh.
00:25:51 <FireFly> Nothing obvious
00:25:53 <ehird> The RSA shut down the factoring challenge.
00:25:55 <AnMaster> ah
00:26:03 <AnMaster> ehird, oh?
00:26:03 <ehird> Guyz panic time nao
00:26:03 <FireFly> Like some odd variant of "brännboll"
00:26:11 <AnMaster> ehird, yes...
00:26:11 <ehird> they've cracked it :D
00:26:19 <AnMaster> ehird, they did?
00:26:25 <ehird> No
00:26:28 <ehird> I was conspiracy theorizing
00:26:31 <AnMaster> ah
00:26:34 <FireFly> Hitting ball with bat, running arounb poles
00:26:40 <FireFly> around*
00:26:40 <AnMaster> ehird, so did they find the number or?
00:26:50 <FireFly> hm
00:26:51 <ehird> err it's nothing to do with finding numbers
00:26:53 <ehird> http://en.wikipedia.org/wiki/RSA_numbers
00:27:07 <AnMaster> FireFly, I don't know the rules of brännboll, it seemed rather confusing though
00:27:17 <FireFly> ...it's simple
00:27:28 <AnMaster> it is? I have never been much for team sports
00:27:34 <FireFly> You get to play it all the time in school
00:27:38 <FireFly> Mandatory stuff
00:27:42 <ehird> Brannboll? Basketball?
00:27:56 <FireFly> More like baseball
00:28:01 <ehird> Ah.
00:28:08 <FireFly> Hitting ball far, running
00:28:12 <ehird> "Brännboll (pronounced [ˈbrɛnbɔl]) is a game similar to rounders, baseball, lapta and pesäpallo"
00:28:17 <ehird> Right.
00:28:41 <FireFly> But without fancy gloves
00:28:48 <ehird> AnMaster: Anyway, us brits are actually truly awful at cricket. :P
00:29:02 <AnMaster> pesäpallo?
00:29:03 <AnMaster> what is that
00:29:07 <ehird> what is google
00:29:10 <FireFly> Sounds finnish
00:29:14 <AnMaster> well yeah
00:29:16 <AnMaster> but what is it
00:29:16 <ehird> Pesäpallo [pesæpɑlːo] (Swedish: Boboll, also referred to as "Finnish baseball")
00:29:18 <ehird> http://en.wikipedia.org/wiki/Pesäpallo
00:29:26 <AnMaster> boboll? never heard of that
00:29:29 <FireFly> Bo = living
00:29:33 <FireFly> Me neither
00:29:39 <AnMaster> FireFly, and yes I know what bo means
00:29:45 <ehird> FireFly: is the ball autonomous? :P
00:29:47 <AnMaster> I also know who he is ;)
00:29:54 <FireFly> Well, most likely ehird doesn't
00:29:59 <FireFly> And
00:30:10 <AnMaster> ehird, err not that living, living as in house, dwelling
00:30:13 <AnMaster> not as in alive
00:30:14 <FireFly> yeah
00:30:17 <FireFly> :(
00:30:20 <ehird> "who he is ;)" wut
00:30:32 <AnMaster> ehird, Bo is also a name in Swedish
00:30:38 <ehird> o
00:30:57 <FireFly> We have lots of strange names
00:31:09 <FireFly> But I guess most languages has
00:31:20 <FireFly> Hm, have*
00:31:22 <AnMaster> wasn't there some politician called Bo Lundgren? Or something
00:31:28 <FireFly> I think so
00:31:37 <FireFly> The.. leader of some party
00:31:50 <AnMaster> hm google says moderaterna
00:31:53 <AnMaster> *shrug*
00:31:53 <FireFly> I don't have to vote 'till next year
00:31:58 <FireFly> :\
00:32:07 <AnMaster> FireFly, 17?
00:32:12 <AnMaster> heh
00:32:17 <FireFly> In August, es
00:32:19 <FireFly> yes*
00:32:22 <AnMaster> never thought you were that young
00:32:27 <ehird> "that young"?
00:32:29 <FireFly> "Bo Axel Magnus Lundgren (born July 11, 1947) is a Swedish politician. He is the former leader of the Moderate Party."
00:32:34 <ehird> FireFly's always seemed like a teen to me?
00:32:41 <FireFly> To me too :D
00:32:49 <AnMaster> ehird, more like 20 or so to me
00:32:53 <ehird> I don't ever have to vote :P
00:32:54 <FireFly> :\
00:33:07 <ehird> ...but I _can_ in 3 years.
00:33:09 <AnMaster> FireFly, how old would you say I am? (ehird: don't tell him)
00:33:16 <FireFly> Well, I don't HAVE to, but I can
00:33:16 <ehird> he's 7
00:33:17 <pikhq> I vote 1,000 years.
00:33:18 * oerjan deports ehird to australia
00:33:21 <FireFly> AnMaster, like 20?
00:33:23 <FireFly> IIRC
00:33:27 <AnMaster> FireFly, 19
00:33:29 <FireFly> I've seen it before
00:33:30 <AnMaster> but close enough
00:33:31 <FireFly> Meh
00:33:32 <FireFly> Close
00:33:38 <ehird> whoa, I can vote in 3 years.
00:33:41 <ehird> that's scary.
00:33:44 <pikhq> As an aside, today is my 19th birthday...
00:33:45 <AnMaster> ehird, err 13 + 3 = 16. Can you vote when 16?!
00:33:54 <ehird> …err... I think so
00:33:55 <AnMaster> in UK
00:33:58 <FireFly> Congratulations, pikhq
00:33:58 <ehird> I don't pay much attention to that sort of stuff
00:34:01 <AnMaster> ehird, here in Sweden it is 18
00:34:02 <ehird> It might be 18 or something
00:34:07 <AnMaster> pikhq, congrats
00:34:13 <pikhq> Whoo.
00:34:16 <ehird> But adulthood is 16 in the UK i think
00:34:21 <AnMaster> ehird, I hope it is 18, or I'm scared about UK
00:34:26 <ehird> hmm
00:34:27 <ehird> It is 18
00:34:28 <ehird> Right
00:34:31 <AnMaster> good thing
00:34:41 <ehird> 16 is when you can have sex and drink and stuff :P
00:34:53 <ehird> Okay, so I can vote in 5 years; that's a little less scary
00:34:56 <FireFly> 13 year old people shouldn't be doing J stuff :\
00:35:05 <ehird> FireFly: yeah dirty J
00:35:06 <AnMaster> ehird, drink is 21 here I think
00:35:09 <FireFly> Or writing OO in perl
00:35:10 <ehird> only consenting adults should be allowed to program in J
00:35:11 <AnMaster> sex is probably 16
00:35:20 <FireFly> In Sweden?
00:35:28 <AnMaster> FireFly, yeah
00:35:28 <ehird> AnMaster: you should be scared about the UK anyway; considering we're heading to a nanny state
00:35:30 <FireFly> Sex is 15 years old IIRC
00:35:46 <ehird> The age of consent for girls in Japan is 13; don't ask me how I know this.
00:35:59 <AnMaster> ehird, it isn't like you are alone. I'm too busy being scared about FRA and IPRED and such here
00:36:07 <AnMaster> don't have time to be scared about UK
00:36:14 <FireFly> Drinking.. It's 21 for buying (IIRC), but 18 for drinking in retaurants
00:36:27 <AnMaster> FireFly, I see. I haven't done either yet anyway
00:36:28 <FireFly> Heh
00:36:28 <ehird> AnMaster: Does your govt take 1984 as an instruction manual?
00:36:29 <ehird> Ours does.
00:36:51 <AnMaster> ehird, a lot of this is from EU level, so pretty much the same here I'm afraid
00:37:12 <FireFly> Brb
00:37:29 <oerjan> Brbd wr
00:37:38 <ehird> Clearly the solution is to vote for the BNP. Err, maybe not.
00:37:43 <AnMaster> bread wr?
00:37:53 <AnMaster> ehird, BNP?
00:37:58 <oerjan> barbed wire
00:37:59 <ehird> AnMaster: British National Party.
00:38:01 <AnMaster> Bruttonationalprodukt?
00:38:03 <ehird> Xenophobic fucks.
00:38:08 <AnMaster> sure it isn't the other
00:38:12 <AnMaster> that is what BNP means here
00:38:17 <ehird> White-nationalist fascists.
00:38:21 <ehird> They don't come much worse.
00:38:29 <oerjan> AnMaster: GNP in english
00:38:41 <AnMaster> what does it stand for in English?
00:38:42 <oerjan> er wait
00:38:42 <ehird> And, by the way, they're quite popular.
00:38:55 <ehird> "In the 2005 UK general election, the BNP received 0.7% of the popular vote, giving it the eighth largest share of the vote, although it was fifth overall among English seats."
00:39:01 <ehird> "also finishing fifth in the 2008 London mayoral election with 5.23% of the popular vote, as well as electing Mayoral candidate Richard Barnbrook to the Greater London Assembly"
00:39:04 <AnMaster> ehird, what is the the thing you measure how rich a country is per capita?
00:39:11 <ehird> the BNP is "committed to stemming and reversing the tide of non-white immigration and to restoring, by legal changes, negotiation and consent the overwhelmingly white makeup of the British population that existed in Britain prior to 1948.
00:39:12 <AnMaster> BNP per capita in Swedish...
00:39:19 <ehird> AnMaster: Gross national product; GNP
00:39:22 <AnMaster> ah
00:39:23 <AnMaster> right
00:39:29 <AnMaster> ehird, in Swedish we call that BNP
00:39:34 <ehird> "It advocates the repeal of all anti-discrimination legislation, and restricts party membership to "indigenous British ethnic groups deriving from the class of ‘Indigenous Caucasian’"."
00:39:48 <ehird> "Its publicity has often conflated Islam with Marxism."
00:40:25 <AnMaster> heh
00:40:31 <AnMaster> that's crazy
00:40:42 <ehird> I'd laugh if it wasn't serious.
00:41:00 <ehird> "The party supports animal welfare and environmental policies, supporting Greenpeace in its fight against Japanese whaling ships and the RSPCA's campaign against the docking of dogs' tails."
00:41:02 <ehird> Hahaha.
00:41:07 <ehird> Are they trying to appear humane or something?
00:41:11 <AnMaster> sounds somewhat like Sverigedemokraterna (a similar party here in Sweden, name means "Swedish democrats", nothing like that....)
00:41:27 <ehird> [[When asked in 1993 if the BNP was racist, its deputy leader Richard Edmonds said, "We are 100 per cent racist, yes".[94] Founder John Tyndall proclaimed that "Mein Kampf is my bible".]]
00:41:35 <ehird> Mein fucking Kampf.
00:41:49 <ehird> It's like a parody that someone forgot was a joke.
00:42:05 <ehird> "is a Swedish political party that describes itself as a nationalist movement which opposes all forms of racism. "
00:42:06 <ehird> lol wut
00:42:16 <FireFly> wait, they're.. serious?
00:42:17 <AnMaster> ehird, huh... Is it "per cent" or "percent" in English?
00:42:22 <ehird> FireFly: The BNP? Yes.
00:42:26 <ehird> AnMaster: either. Latter is more common.
00:42:29 <FireFly> Strange guys
00:42:44 <FireFly> the former feels more british
00:42:56 <FireFly> To me, at least
00:43:14 <AnMaster> ehird, <ehird> "is a Swedish political party that describes itself as a nationalist movement which opposes all forms of racism. " <-- that is what they say, they are racists though...
00:43:16 <oerjan> jolly good, old chap
00:43:20 <ehird> The British fall into three categories: grumpy and self-hating, hateful fucks and smug assholes.
00:43:24 <ehird> Fun fun.
00:43:31 <FireFly> Where are you?
00:43:43 <AnMaster> what about the good old jolly chaps?
00:43:50 <ehird> AnMaster: They went extinct.
00:43:58 <AnMaster> ehird, oh I see. When did that happen?
00:44:03 <ehird> FireFly: Probably the latter. :P
00:44:15 <ehird> AnMaster: It's arguable whether they ever existed.
00:44:16 <ehird> [[Ellis called the BNP "a bit too socialist" for his liking]]
00:44:19 <ehird> LOL WUT
00:44:24 <AnMaster> FireFly, ehird is definitely not the first one..
00:44:30 <AnMaster> not sure about the two latter ones
00:44:31 <FireFly> Hm
00:44:58 <FireFly> I'm supposed to sleep
00:45:15 <ehird> FireFly: Didn't you learn anything?
00:45:18 <ehird> That removes IRC time.
00:45:21 <FireFly> :D
00:45:28 <FireFly> But it DOES improve grades
00:45:29 <FireFly> Hm
00:45:33 <ehird> Yes but
00:45:38 <FireFly> Lessons tomorrow...
00:45:41 <ehird> Grades only contribute to less IRC!
00:45:57 <FireFly> Physics, programming, lunch, stuff
00:46:13 <FireFly> Chemics.. What is it called in english? :\
00:46:17 <FireFly> And german
00:46:18 <ehird> chemistry
00:46:19 <oerjan> chemistry
00:46:21 <ehird> chemistry
00:46:22 <FireFly> Ah
00:46:23 <FireFly> Meh
00:46:25 <ehird> Ah
00:46:27 <ehird> Mh
00:46:28 <FireFly> >_>
00:46:29 <ehird> Meh
00:46:31 <ehird> >_>
00:46:37 <FireFly> Should've known
00:46:37 <oerjan> Ahmed
00:46:42 <ehird> Should've known
00:46:43 <ehird> Ahmed
00:47:06 <FireFly> >_______________________ [...] ____>
00:47:14 <ehird> >_______________________ [...] ____>
00:47:37 -!- oklofok has quit (Read error: 60 (Operation timed out)).
00:47:45 <ehird> 23:47 oklofok has left IRC (Read error: 60 (Operation timed out))
00:47:47 <ehird> shit.
00:48:08 <oerjan> a complete disaster
00:48:09 <FireFly> shit.
00:48:14 <AnMaster> ehird, said connection reset by peer here... freenode is buggy
00:48:15 <ehird> shit.
00:48:17 <oerjan> and a great loss to irckind
00:48:17 <FireFly> shit.
00:48:26 <FireFly> ...ping?
00:48:30 <ehird> ...ping?
00:48:34 <FireFly> 3 secs
00:48:35 <AnMaster> err
00:48:37 <AnMaster> what?
00:48:38 <oerjan> gnop
00:48:40 <FireFly> Slow :(
00:48:44 <AnMaster> pang
00:48:51 <ehird> you know what woudl be cool.
00:48:58 <AnMaster> (to quote erlang when net_adm:ping() fails)
00:49:10 * AnMaster always found the "pang" reply funny
00:49:16 <ehird> no no no
00:49:18 <oerjan> päng
00:49:18 <ehird> the correct one is
00:49:23 <FireFly> pång
00:49:28 <ehird> ping, pong, aiotjaeintioa
00:49:39 <FireFly> [00:48:55] <ehird> you know what woudl be cool.
00:49:40 <FireFly> Tell me
00:49:47 <AnMaster> ehird, "pang" is the sound of a gun shot in Swedish (as written)
00:49:47 <ehird> you don't know?
00:49:47 <oerjan> the latter being an ancient polynesian curse
00:49:59 <AnMaster> ehird, somewhat like "bang"
00:50:01 <AnMaster> in English
00:50:05 <ehird> heh
00:50:17 <FireFly> Hm
00:50:28 <ehird> Twisted Russian Roulette: The other 5 cartridges make a sign saying "BANG!" pop out.
00:50:32 <FireFly> "bom" is more like "boom", I guess
00:50:47 <AnMaster> ehird, certainly safer one
00:50:55 <ehird> AnMaster: no, the 6th contains a real bullet/
00:50:58 <AnMaster> oh ok
00:50:59 <ehird> :D
00:51:01 <AnMaster> not safer
00:51:15 <AnMaster> I have seen it on irc, where it was replaced with kick
00:51:19 <AnMaster> from some bot
00:51:26 <ehird> trazer has that
00:51:28 <ehird> of #vjn fame
00:51:31 <AnMaster> a supybot with loads of addons I think
00:51:32 <FireFly> One bullet, 5 signs saying "Try again"
00:51:39 <ehird> trazer is one huge java class
00:51:39 <ehird> XD
00:51:40 <AnMaster> ehird, probably had all modules loaded
00:51:41 <FireFly> There's your safety
00:51:46 <AnMaster> ehird, heh?
00:51:49 <AnMaster> one huge? I see
00:51:53 <ehird> AnMaster: yeah no other classes
00:51:56 <ehird> just one big honking class
00:51:59 <ehird> presumably with like 5 methods
00:52:09 <FireFly> Ouch
00:52:09 <AnMaster> ehird, someone forced to use a class because java is OO?
00:52:12 <ehird> i know this because oklopol told me :-D
00:52:16 <FireFly> I want my watch :(
00:52:24 <ehird> AnMaster: no, probably someone who isn't too good at programming but knows java :P
00:52:47 <AnMaster> ehird, sure it wasn't someone trying to do imperative in java?
00:52:50 <AnMaster> with no OO
00:52:57 <AnMaster> mhm
00:53:05 <ehird> fairly sure because I've talked to the guy and he's not that type :P
00:53:38 <oerjan> it's imperative that your objects are functional
00:54:02 <FireFly> "This is available for a variety of operating systems like Linux,[2] BSD, Mac OS X,[3] Xbox,[4] and BeOS."
00:54:04 <FireFly> @ VBA
00:54:16 <ehird> Yes. I know.
00:54:20 <FireFly> Oki
00:54:39 <AnMaster> oerjan, sigh
00:54:42 * FireFly should sleep, but then ehird kills said person
00:54:45 <AnMaster> oerjan, it wasn't even good
00:54:58 <AnMaster> FireFly, VBA?
00:55:12 <FireFly> VisualBoy Advance
00:55:15 <FireFly> GBA emu
00:55:18 <AnMaster> ah yes /usr/games/bin/VisualBoyAdvance indeed
00:55:23 <AnMaster> I have it installed in fact
00:55:24 <FireFly> ...GBA = GameBoy Advance
00:55:31 <FireFly> Ah
00:55:50 <AnMaster> FireFly, VBA == Visual Basic for MS Office to me
00:55:57 <AnMaster> or whatever it was called
00:56:05 <oerjan> AnMaster: but was it functional?
00:56:05 <FireFly> Why for Office?
00:56:06 <AnMaster> what did the A stand for btw?
00:56:21 <AnMaster> FireFly, I only ever seen it for word/excel macros?
00:56:22 <FireFly> Hm
00:56:23 <ehird> for Applications.
00:56:24 <FireFly> "Visual Basic for Applications, the application edition of Microsoft's Visual Basic programming language."
00:56:25 <AnMaster> is it used elsewhere?
00:56:26 <FireFly> Yeah
00:56:28 <AnMaster> I see
00:56:32 <AnMaster> didn't know that
00:56:37 <FireFly> Hm
00:56:43 <AnMaster> what other apps use it?
00:56:48 <AnMaster> oerjan, not really no
00:56:53 <FireFly> VBScript is pain
00:57:00 <AnMaster> FireFly, isn't that a third one
00:57:04 <oerjan> AnMaster: are you sure you are being objective about this?
00:57:05 <AnMaster> different from VBA?
00:57:11 <FireFly> Propably
00:57:15 <AnMaster> oerjan, now that one was slightly better
00:57:17 <FireFly> It's ASP stuff
00:57:19 <AnMaster> still rather bad
00:57:21 <FireFly> Igly syntax
00:57:30 <FireFly> s/I/U
00:57:33 <AnMaster> FireFly, well yes Basic is ugly
00:57:40 <FireFly> It's worse :|
00:57:58 <FireFly> At least with TI-BASIC it feels esoish
00:57:59 <AnMaster> I have seen VBA I know it is worse
00:58:07 <AnMaster> FireFly, TI-BASIC is pretty nice
00:58:14 <AnMaster> at least the way done on TI-83+
00:58:22 <AnMaster> doesn't feel much like basic at all
00:58:25 <FireFly> Though the TI-82 stats is slooow
00:58:32 <AnMaster> never used TI-82
00:58:37 <AnMaster> and yes it is slow
00:58:50 <FireFly> IIRC it was a bit worse than the GBO, in most aspects
00:59:03 <FireFly> GB Original, that is
00:59:05 <AnMaster> GBO?
00:59:06 <AnMaster> what is that
00:59:10 <FireFly> GameBoy
00:59:12 <FireFly> ._.
00:59:15 <AnMaster> FireFly, GB Magnum?
00:59:17 <AnMaster> yum!
00:59:29 <FireFly> Hm
00:59:51 <AnMaster> FireFly, hey you were supposed to get the joke...
00:59:55 <AnMaster> not that anyone else would
00:59:57 <FireFly> I did...
00:59:59 <AnMaster> but any Swede would
01:00:00 <FireFly> But
01:00:07 <AnMaster> not sure about oerjan
01:00:19 <FireFly> Why was i thinking about the gun thingy brand before associating it to the Ice cream?
01:00:22 <FireFly> And
01:00:25 <AnMaster> FireFly, also what does GameBoy have to do with TI-82?
01:00:35 <AnMaster> FireFly, no idea...
01:00:45 <AnMaster> I would think about icecream first
01:00:46 <FireFly> It's from 1980, it's supposed to suck
01:00:49 <FireFly> And
01:00:54 <FireFly> The calc is worse
01:01:16 <FireFly> I guess I'll have to learn ASM
01:01:21 <AnMaster> FireFly, a game boy and a TI-82 are not the same sort of things, One you play games on, the other you calculate things on
01:01:33 <FireFly> But still
01:01:34 <AnMaster> FireFly, which is best, that book or this chair?
01:01:40 <FireFly> Wel
01:01:41 <FireFly> l
01:01:42 <ehird> they're both computers.
01:01:57 <AnMaster> ehird, ok, which is best: this chair or that table?
01:02:03 <AnMaster> they are both furniture
01:02:09 <ehird> That's not a good comparison, AnMaster
01:02:15 <FireFly> That's like saying a cellphone isn't the same as a camera
01:02:19 <AnMaster> ehird, nor is gameboy to a calculator
01:02:25 <AnMaster> FireFly, they aren't the same...
01:02:31 <FireFly> Even if it in fact is, to a certain degree
01:02:54 <ehird> So, I tried to come up with an elegant way to unify shell syntax.
01:02:56 <FireFly> Many cellphones are of higher quality than my camera
01:02:57 <AnMaster> FireFly, some cellphones does have cameras built in nowdays yes...
01:03:02 <FireFly> Camera wise
01:03:02 <ehird> AnMaster: all, not some
01:03:08 <ehird> I came up with a nice way
01:03:15 <ehird> It made these two snippets identical:
01:03:17 <ehird> each * rm
01:03:21 <ehird> each * {x| rm x}
01:03:23 <ehird> er
01:03:24 <ehird> each * {x| rm $x}
01:03:34 <ehird> and it unified function definition and aliases
01:03:42 <AnMaster> ehird, No I remember reading recently about some heavy duty one (as in they ran it over with a truck and it still worked) with no camera or such
01:03:44 <ehird> And let you do things like this:
01:03:53 <AnMaster> actually it must have been on radio, some tech program
01:04:00 <ehird> find . -exec {x| echo $x; rm $x} \{\} \;
01:04:01 <AnMaster> comparing some heavy duty phones
01:04:03 <ehird> And it would work
01:04:07 <AnMaster> including running over them with trucks
01:04:11 <AnMaster> ehird, ^
01:04:18 <AnMaster> so not all have camera
01:04:19 <AnMaster> wrong
01:04:29 <ehird> Most
01:04:33 <FireFly> Not all, but many
01:04:36 <AnMaster> <ehird> AnMaster: all, not some
01:04:42 <AnMaster> yes that was incorrect though
01:04:51 <ehird> fuck offfffffffffffffffffffffffffffffffff; corner cases are irrelevant 99% of the time
01:04:52 <AnMaster> "most, not some" would have been better
01:04:55 <ehird> that's why they're corner. cases.
01:05:00 <ehird> "all" does not mean strictly every single on
01:05:01 <ehird> e
01:05:04 <AnMaster> ehird, correctness is more important than simpleness
01:05:15 <ehird> …if you're a douchebag.
01:05:17 <AnMaster> don't follow the worse is better design
01:05:26 <FireFly> http://99-bottles-of-beer.net/language-vba-163.html
01:05:30 <FireFly> It IS ugly
01:05:32 <FireFly> But
01:05:48 <FireFly> http://99-bottles-of-beer.net/language-vbscript-801.html
01:05:52 <FireFly> Is also ugly
01:06:50 <AnMaster> http://99-bottles-of-beer.net/language-erlang-1482.html <-- beautiful
01:06:59 <ehird> that is not beautiful
01:07:00 <ehird> that is ugly
01:07:01 <AnMaster> concurrent!
01:07:11 <AnMaster> ehird, beautiful and concurrent!
01:07:25 <ehird> http://99-bottles-of-beer.net/language-haskell-1613.html
01:07:26 <ehird> http://99-bottles-of-beer.net/language-haskell-1070.html
01:07:30 <ehird> those are beautiful.
01:07:35 <ehird> in syntax and concept
01:07:44 <AnMaster> ehird, they are rather nice yes, but are they concurrent? NO
01:07:54 <ehird> AnMaster: You can implement haskell concurrently
01:07:57 <ehird> automatically
01:07:59 <ehird> with no declarations
01:08:05 <ehird> there's nothing in the standard forbidding it
01:08:13 <AnMaster> ehird, that one http://99-bottles-of-beer.net/language-erlang-1031.html ?
01:08:27 <AnMaster> it is simple and clean
01:08:28 <FireFly> http://99-bottles-of-beer.net/language-whitespace-154.html
01:08:31 <ehird> it's purely functional; you can automatically memoize functions, parallelize expressions, ...
01:08:34 <FireFly> "Highlight it, and you can see cool patterns"
01:08:39 <FireFly> People are smart
01:08:40 <ehird> and no, it's not simple and clean compared to the haskell one
01:09:18 <Asztal_> http://99-bottles-of-beer.net/language-fjoelnir-259.html
01:09:26 <ehird> Asztal_: "GRUNNUR"
01:10:43 <AnMaster> <Asztal_> http://99-bottles-of-beer.net/language-fjoelnir-259.html <-- wow
01:10:47 <FireFly> "[99,98..0]" <-- THAT is nice
01:10:51 <ehird> AnMaster: "GRUNNUR".
01:11:12 <AnMaster> ehird, I don't know Islandic
01:11:18 <AnMaster> so I can't translate
01:11:25 <ehird> Yes, well, "GRUNNUR" anyway.
01:11:51 <Asztal_> það er góður.
01:12:06 <Asztal_> that's about as much Icelandic as I speak.
01:12:13 <AnMaster> Asztal_, what does it mean?
01:12:21 <ehird> Asztal_: you forgot "GRUNNUR".
01:12:49 <Asztal_> I said "that is good", I think. "GRUNNUR" means "BASE" or something like that, it's a module name
01:13:03 <ehird> I know what "GRUNNUR" means.
01:13:07 <ehird> But it's still "GRUNNUR".
01:13:09 <AnMaster> you do?
01:13:33 <FireFly> http://99-bottles-of-beer.net/language-befunge-88.html
01:13:36 <Asztal_> http://www.hi.is/~snorri/087133-03/fjolnir.pdf <- one day, I will translate this.
01:13:37 <FireFly> Beutiful
01:13:47 <AnMaster> http://99-bottles-of-beer.net/language-j-1.html
01:13:57 <ehird> Asztal_: That may be the only text better than SICP.
01:14:05 <AnMaster> FireFly, oh yes, much nicer than the haskell one
01:14:06 <AnMaster> indeed
01:14:16 <FireFly> Well
01:14:30 <FireFly> For esolangs, that is
01:14:52 <AnMaster> http://99-bottles-of-beer.net/language-befunge-1602.html <-- err heh
01:15:33 <FireFly> Hm
01:15:53 <ehird> Asztal_: you should XOR all the letters in it with SICP.
01:16:02 <ehird> And produce an impossible book.
01:17:26 <FireFly> It's only past midnight in Britain :(
01:17:55 <oerjan> also, iceland
01:19:22 <AnMaster> ehird, http://99-bottles-of-beer.net/language-apple-script-32.html
01:19:28 <AnMaster> that is why apple script sucks
01:19:41 <Asztal_> oerjan: does Icelandic vaguely make sense to you, with it being so close to Norwegian?
01:19:47 <ehird> AnMaster: I never said I like applescript.
01:19:49 <ehird> IT's just useful.
01:19:51 -!- olsner has quit ("Leaving").
01:20:29 <AnMaster> ehird, I still thinks it is the most horrible non-esolang out there apart from possibly COBOL
01:20:33 <AnMaster> that I know of
01:20:42 <oerjan> Asztal_: very vaguely
01:21:13 * ehird invents evilfix.
01:21:14 <ehird> ((5+7)*4)/(1*4)+3
01:21:14 <ehird> ->
01:21:17 <ehird> 3+1*4/~4*5+7
01:21:23 -!- zzo38 has joined.
01:21:26 <AnMaster> Asztal_, Islandic is very different from other Scandinavian languages in fact. The place have been a lot more isolated, thus the language developed in a different directly
01:21:29 <AnMaster> direction*
01:21:31 <ehird> It's right-to-left associative infix, but OP~ reverses the argument order.
01:21:41 <zzo38> Do you like my specification for vectoring in INTERCAL?
01:22:26 <AnMaster> http://99-bottles-of-beer.net/language-apl-715.html <-- random garbage?
01:22:34 <AnMaster> it doesn't even look like APL
01:22:36 <ehird> AnMaster: get fonts.
01:22:41 <ehird> also maybe wron gencoding
01:22:42 <ehird> yes
01:22:43 <ehird> looks like iso
01:22:47 <AnMaster> ehird, I think encoding fails
01:23:25 <zzo38> You can also look at the comments on that beer program, for better lisibility
01:24:21 <zzo38> But I defined the VECTOR operator now, which is used for doing some weird kind of vector computing (not quite)
01:24:38 <zzo38> I also defined the commands for dynamically writing the source-codes
01:25:21 <AnMaster> zzo38, couldn't this be done with CREATE?
01:26:08 <zzo38> CREATE is used to modify the compiler that compiles source-code into byte-code. But the APPEND is used to add source-code to the end, which is then compiled.
01:26:23 <AnMaster> zzo38, I meant ick style CREATE
01:26:27 <AnMaster> not CLC style CREATE
01:26:52 <AnMaster> that's quite different
01:27:07 <AnMaster> iirc
01:27:13 <zzo38> CLCLC-INTERCAL doesn't use ick style create except in compatibility mode, so you need new commands and operators if you want to use it outside of compatibility mode
01:27:22 <AnMaster> ah ok
01:27:32 <AnMaster> zzo38, I have ick here but not CLC
01:27:50 <zzo38> You can still access the manual for CLC even if you don't have it.
01:27:54 <AnMaster> zzo38, any chance of seeing an IFFI for CLCLC? :D
01:28:06 <AnMaster> guess it would be too hard
01:28:08 <zzo38> What's an IFFI?
01:28:28 <AnMaster> zzo38, ais523's ick<->befunge thingy
01:28:41 <AnMaster> IFFI is the name of the fingerprint on the befunge side
01:28:54 <AnMaster> the only current implementation is for ick and cfunge
01:29:06 <AnMaster> but it could be done between other implementations too I guess
01:29:15 <AnMaster> it uses the link in C code thingy of ick
01:29:19 <AnMaster> in that implementation
01:29:49 <AnMaster> but it should be possible to do it against other befunge and INTERCAL implementations
01:29:54 <AnMaster> see the ick docs for details
01:30:34 <AnMaster> zzo38, btw I'm the maintainer of cfunge in case you try it and run into issues with that part. (also time to release the next version soon, probably next week or so)
01:30:50 <AnMaster> (need to merge in some experimental branches)
01:30:55 <zzo38> But someone suggested making some weird vector computing in CLCLC-INTERCAL, so I wrote that part of the specification now. Do you like the way I have done it?
01:31:07 <AnMaster> zzo38, it is rather intercalish
01:31:29 <ehird> a raytracer in j would be awesome
01:31:48 <AnMaster> zzo38, and I suspect you now INTERCAL way better than I do. (I only know it on the surface and have trouble reading programs in it)
01:31:51 <zzo38> It certainly is rather intercalish!
01:32:03 <AnMaster> zzo38, I'm not sure how it works though
01:32:20 <zzo38> If you have a specific question please ask!
01:32:45 <AnMaster> zzo38, is it somewhat like the zip operation or more like fold?
01:32:49 <AnMaster> or a zipfold?
01:32:50 <AnMaster> not sure
01:33:41 <ehird> zzo38: have you ever programmed in J? I think you'd like it. http://jsoftware.com/
01:33:47 <zzo38> I guess you could use it to zip or fold or zipfold, but that isn't what the operator does on its own
01:33:50 <ehird> it's an APL descendent based on vector/matrix operations
01:33:53 <ehird> with really short code
01:34:02 <ehird> you could get some ideas for the vector intercal from it; it's pretty esoteric
01:34:06 <AnMaster> ehird, where does one get a free implementation of it?
01:34:13 <AnMaster> or where did you get your?
01:34:14 <ehird> AnMaster: http://jsoftware.com/stable.htm
01:34:20 <ehird> It's not open source, but meh.
01:34:31 <AnMaster> ehird, freeware?
01:34:33 <ehird> Yes
01:34:37 <AnMaster> mhm
01:35:52 <AnMaster> "If used in an expression on the left side of a WHILE statement, it will execute the WHILE statement for each pair of one element from the left array and one element from the right array."
01:36:17 <AnMaster> does this mean: (a b c) (1 2 3) -> (a 1) (b 2) (c 3)?
01:36:18 <AnMaster> or
01:36:29 <zzo38> Yes, and the .# special register is an error if the indices are not the same.
01:36:33 <AnMaster> does this mean: (a b c) (1 2 3) -> (a 1) (a 2) (a 3) (b 1) (b 2) ...
01:36:43 <zzo38> The second one.
01:36:58 <zzo38> But what are the best words to make that clear?
01:37:05 <AnMaster> zzo38, so combinations?
01:37:09 <FireFly> It means!
01:37:11 <FireFly> Night
01:37:15 <FireFly> That's it
01:37:22 <AnMaster> or permutations?
01:37:25 <AnMaster> fizzie, night
01:37:25 <AnMaster> err
01:37:27 <AnMaster> FireFly, ^
01:37:28 <AnMaster> ;P
01:37:30 <FireFly> :D
01:37:43 <FireFly> Taking mistabcompleting to a new level
01:37:46 -!- FireFly has quit ("Later").
01:38:20 <AnMaster> zzo38, so it combines the list in all possible ways?
01:38:31 <AnMaster> well
01:38:40 <AnMaster> without caring about order possibly
01:39:13 <zzo38> Yes, it combines the list in all possible ways. The #0 index corresponds to the current element, while .# is a number of the current index but only if both indices are the same. Otherwise it is an error.
01:39:33 <AnMaster> I see
01:39:34 <AnMaster> heh
01:39:40 <zzo38> It does it in the proper order given. So reversing the operands will change the order a bit
01:40:15 <zzo38> I gave four examples and told you which ones are errors
01:40:16 <AnMaster> zzo38, would the example (a b c) (1 2 3) -> (a 1) (a 2) (a 3) (b 1) (b 2) ... include (1 b) (1 c) and such as well?
01:40:26 <zzo38> No, it wouldn't.
01:40:29 <AnMaster> ah
01:42:01 <zzo38> For example you could have DO .1 <- ',1 SUB #0'~',2 SUB #0' DO READ OUT .1
01:42:07 <ehird> How to allow division by zero: disallow multiplication by zero.
01:42:17 <zzo38> That would output the result of selecting from each possible pair.
01:42:48 <AnMaster> err *reads*
01:42:51 <AnMaster> hm ok
01:43:03 <AnMaster> zzo38, didn't you forget VECTOR in there?
01:43:28 <AnMaster> or was that not supposed to be a VECTOR example?
01:43:30 <zzo38> The commands I listed have to be part of a subroutine called with VECTOR. Otherwise ,1 SUB #0 is an error.
01:43:38 <AnMaster> ah right
01:43:44 <AnMaster> true
01:43:44 <ehird> zzo38: You should post CLCLC-INTERCAL to alt.lang.intercal; most/all intercal programmers read it
01:44:19 <AnMaster> ehird, hm how would that work with division by zero?
01:44:37 <ehird> AnMaster: Well, you can't check if the result is right, so people have to trust whatever you say the result is :P
01:45:17 <AnMaster> interesting, I just found out that TI-83+ evaluates while it parses
01:45:23 <zzo38> And you could also have DO .# WHILE ,1 SUB #0 <- ',1 SUB .#'~',2 SUB ".#~#45"'
01:45:26 <AnMaster> simple: 0^-1 ))
01:45:34 <AnMaster> gave division by zero instead of syntax error
01:45:37 <oerjan> eviluation
01:46:05 <AnMaster> zzo38, err? too tired to work that out
01:46:39 <ehird> zzo38: did you read what i said about j?
01:46:47 <zzo38> Still you have to use the DO .# etc also inside of a subroutine called using VECTOR operator.
01:47:07 <zzo38> Yes I read it and maybe I will look more later, but not right now.
01:47:25 <AnMaster> hm does INTERCAL have a COME TO yet?
01:47:47 <ehird> if it doesn't, it must be invented, and "COME TO YOUR SENSES" must work.
01:47:55 <AnMaster> hah
01:48:05 <AnMaster> what about GO FROM as well
01:48:24 <ehird> hmm
01:48:30 <AnMaster> GO FROM _ PASSING _ ON YOUR WAY TO _
01:48:32 <AnMaster> :D
01:48:49 <ehird> GO DIRECTLY TO JAIL DO NOT COLLECT 200 POUNDS
01:48:50 <AnMaster> for multi jump non-local control transfer
01:48:51 <zzo38> OK, what does GO FROM _ PASSING _ ON YOUR WAY TO _ command do?
01:48:57 <ehird> err, I missed do not pass go
01:49:37 <zzo38> And I fixed a mistake in my specification, the two sides of VECTOR do not have to be the same data-type but they must point to two different arrays.
01:49:56 <AnMaster> zzo38, GO FROM 12 PASSING 15 ON YOUR WAY TO 23 would be like COME FROM 12, then executing line 15 and then jumping to line 23.
01:50:00 <AnMaster> or something like that
01:50:13 <ehird> that's boring
01:50:14 <AnMaster> but it could be written anywhere in the program
01:50:16 <ehird> you can do that already
01:50:39 <AnMaster> ehird, what if you use this to modify inside syslib to create a debug hook
01:50:49 <ehird> you can you already do what you asy
01:50:52 <ehird> it's just shorthand
01:50:54 <AnMaster> that executes a line to print a debug message
01:50:57 <zzo38> Of course you can do that already, and if you want the syntax you have to define it yourself using CREATE
01:50:59 <AnMaster> ehird, well true :/
01:51:41 <Asztal_> GO FROM 12 PASSING 15 ON YOUR WAY TO 23: Come from 12, make multiple copies of the universe, jumping to a random label in each, until one of them passes 15 and gets to 23, then destroy the rest :)
01:51:45 <zzo38> The reason the arrays in VECTOR can be different type is in case you want to use the () array in a vector calculator
01:51:57 <AnMaster> <ehird> GO DIRECTLY TO JAIL DO NOT COLLECT 200 POUNDS <-- COME DIRECTLY FROM JAIL DO COLLECT 90.7 kg
01:52:25 <ehird> AnMaster: reference fail ;_;
01:52:27 <AnMaster> Asztal_, niceer!
01:52:32 <AnMaster> nicer*
01:52:34 <Asztal_> of course, jumping to a random label is probably pretty useless, especially if you include syslib.i...
01:52:40 <AnMaster> ehird, yes I know about monopoly
01:52:49 <AnMaster> ehird, I was just twisting it
01:53:27 <AnMaster> ehird, of course I know about the game monopoly... do you think I'm living under a rock or something?
01:53:33 <ehird> yes
01:53:51 <AnMaster> ehird, no, just a stone, not a rock
01:54:49 <AnMaster> zzo38, crazy idea: i18n and l10n for intercal
01:55:03 <AnMaster> for the source code
01:55:11 <AnMaster> all user interface would still be as now
01:55:13 <AnMaster> ;)
01:55:44 <zzo38> OK. The way to do it is to create a file that uses CREATE and CREMATE/DESTROY in order to change the words used into Klingon instead of English
01:56:22 <AnMaster> zzo38, would that work for non-ASCII scripts?
01:56:27 <AnMaster> Unicode and such
01:56:39 <ehird> q: 1872389457344365238764523486521345
01:56:39 <ehird> 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
01:56:43 <ehird> (prime factors function)
01:56:43 <AnMaster> KOM FRÅN 23
01:56:46 <ehird> what a ripoff :D
01:56:56 <ehird> AnMaster: klingon is in ascii now/
01:56:56 <AnMaster> ehird, err?
01:56:57 <ehird> ?
01:57:02 <AnMaster> ehird, no it isn't
01:57:05 <zzo38> It works for EBCDIC only, even if the source-code is ASCII.
01:57:13 <ehird> 00:55 zzo38: OK. The way to do it is to create a file that uses CREATE and CREMATE/DESTROY in order to change the words used into Klingon instead of English
01:57:14 <ehird> 00:56 AnMaster: zzo38, would that work for non-ASCII scripts?
01:57:15 <AnMaster> zzo38, oh my
01:57:57 <AnMaster> zzo38, I don't think Swedish ÅÄÖåäö exists in EBCDIC. So that wouldn't just work in that case
01:58:05 <AnMaster> what about UTF-EBCDIC though?
01:58:07 <AnMaster> that exists iirc
01:58:13 <AnMaster> it would be twisted enough
01:58:27 <AnMaster> http://en.wikipedia.org/wiki/UTF-EBCDIC
01:58:40 <AnMaster> zzo38, would that work?
01:58:54 <zzo38> I guess you can use UTF-EBCDIC, even if the source-code is in normal Unicode. But CREATE uses EBCDIC numbers for syntax, not ASCII numbers, even if the source-code file isn't EBCDIC.
01:59:35 <AnMaster> zzo38, bottom line: how would it work out for Swedish åäö and ÅÄÖ?
01:59:40 <AnMaster> or other unicode chars
02:00:27 <zzo38> Yes that UTF-EBCDIC would work if the compiler supported UTF-EBCDIC, the only thing is that the single-byte part will use the CLC non-standard EBCDIC instead. But the rest can still be the same as normal UTF-EBCDIC
02:01:22 <zzo38> It should work OK if the compiler supports it
02:01:44 <AnMaster> heh nice
02:02:12 <AnMaster> zzo38, haven't come up with anything for front tracking yet?
02:02:46 <AnMaster> also I think it should be one word like either backtracking/fronttracking of back-tracking/front-tracking
02:03:01 <ehird> hey
02:03:03 <zzo38> Not yet, but I am thinking about it. I read some of the ideas and am thinking about those things as well for front-tracking. But whatever is decided, the LIFE register will be for front-tracking what the CHOICE register is for back-tracking.
02:03:04 <AnMaster> but ehird may have some good language reason to suggest otherwise
02:03:04 <ehird> I specified front tracking
02:03:06 <ehird> we all agreed it was good
02:03:07 <ehird> :P
02:03:15 <AnMaster> fronttracking
02:03:19 <ehird> w/
02:03:19 <ehird> e
02:03:32 <AnMaster> ehird, nothing at http://esoteric.voxelperfect.net/wiki/CLCLC-INTERCAL#Front-tracking yet
02:03:39 <ehird> yeah well read the logs :D
02:04:10 <AnMaster> zzo38, what is atomic intercal about?
02:04:25 <AnMaster> concurrency or as opposed to quantum one?
02:04:41 <zzo38> Something I found on the newsgroup, I think. They didn't describe it very well either.
02:05:01 <AnMaster> zzo38, what would it mean roughly?
02:06:07 <AnMaster> zzo38, "SNIDEWARDS"?
02:06:33 <zzo38> I guess atomic intercal would be something like http://groups.google.com/group/alt.lang.intercal/browse_thread/thread/ed3506f631c7a0ef/9066b786b791bed2?hl=en&q=atomic+intercal#9066b786b791bed2 (but not completely like that, I will base it on that though)
02:08:49 <AnMaster> zzo38, ah so it isn't related to atomic like Compare and Swap, Fetch and Add and such then?
02:08:51 <zzo38> Another message about atomic INTERCAL is at http://groups.google.com/group/alt.lang.intercal/browse_thread/thread/e34f20de1880b81b/5a50f350727415a6?hl=en&q=atomic+intercal#5a50f350727415a6 (and I will base it partly on that as well)
02:09:08 <zzo38> It isn't related to that.
02:09:47 <zzo38> Of course I can make some combination of the two proposals, but not quite.
02:10:40 <ehird> http://femto.picoup.com/
02:10:45 <zzo38> The first two results of http://groups.google.com/groups/search?hl=en&q=atomic+intercal&qt_s=Search+Groups describe atomic INTERCAL, but in different ways.
02:11:20 <AnMaster> zzo38, same poster?
02:13:05 <zzo38> What's http://femto.picoup.com/ that doesn't make much sense it tell me the username it already has is invalid because it is too long, what?
02:13:46 <Asztal_> the user accounts are shared between that and the main site, picoup.com.
02:13:56 <ehird> zzo38: it's a twitter clone except you can only use one letter
02:14:14 <zzo38> And snidewards is based on something from this IRC channel, someone suggested what snidewards should mean
02:14:48 <zzo38> Using only one letter, can kanji or katakana be used though?
02:14:57 <ehird> dunno
02:15:43 <ehird> http://s3.amazonaws.com/twitpic/photos/large/3980319.jpg?AWSAccessKeyId=0ZRYP5X5F6FSMBCCSE82&Expires=1237858432&Signature=5RCJ9YMQiLmBaU%2FwdAY%2F0d%2FmmQw%3D
02:15:57 <AnMaster> ehird, http://femto.picoup.com/ is insane
02:15:58 <AnMaster> heh
02:15:59 <AnMaster> night
02:16:26 -!- oerjan has quit ("Good night").
02:19:00 -!- zzo38 has quit.
02:26:50 <lament>
02:32:11 <kerlo> Japanese.
02:32:41 <lament> Racist.
02:33:11 <lament> that's like saying 'a' is English.
02:33:45 <kerlo> So it's not exclusively Japanese, like I thought.
02:34:40 -!- MizardX has quit ("Proclamation of invalidity!").
02:34:57 <lament> very few kanjis are exclusively japanese
02:35:17 <lament> iirc there're some that went out of use in Chinese, and a couple that were actually invented in Japan
02:35:51 <lament> oh, apparently "hundreds" rather than "couple"
02:36:26 <lament> like 辻
02:39:33 -!- MizardX has joined.
02:40:35 <kerlo> 好 looks like it has two halves.
02:40:41 <lament> it does.
02:40:59 <lament> they're both pictograms - a woman on the left, a baby on the right.
02:41:38 <lament> obviously, the character means "good" :)
02:42:13 <kerlo> So the Chinese character set is pro-life?
02:42:21 <lament> yes.
02:42:39 <kerlo> Is one of those halves a radical?
02:42:57 <lament> both are radicals
02:43:12 <kerlo> Cool.
02:43:22 <lament> also both are characters on their own: -!- 40 - #not-math: ban %*!*@host86-175-32-*.wlms-broadband.com [by thermoplyae!i=thermo@cohomology.org, 1223818 secs ago]
02:43:25 <lament> whoops
02:43:31 <lament> that's not a character :)
02:44:26 <kerlo> lament keeps trying to speak Chinese, but e keeps ending up banning people instead.
02:46:15 <lament> i meant 女 and 子
02:46:41 <lament> woman, child
02:48:47 * kerlo frowns at screen's Unicode boochery.
02:49:15 <lament> screen -U
02:49:22 <kerlo> I'm using that.
02:49:37 <Asztal__> term_charset = utf-8?
02:49:40 <kerlo> It still doesn't work.
02:49:57 <kerlo> If UTF-8 is as good as utf-8, I have that set.
02:50:10 <lament> it's bigger.
02:50:29 * kerlo sets it to utf-8 for the sake of...
02:50:40 <kerlo> There, it's utf-8 now.
02:50:40 <Asztal__> there's also ^A :utf8 on on
02:50:51 <Asztal__> I'm not entirely sure what the second parameter is.
02:50:53 <lament> chinese characters with pictographic explanations are really neat
02:50:57 <kerlo> Using two ons?
02:51:01 <Asztal__> it defaults to off, I think.
02:51:02 <lament> like 安 "peace" : woman under a roof
02:51:05 <kerlo> I set that. Nothing happened.
02:51:30 <kerlo> I did have :utf8 set before.
02:52:24 <lament> then perhaps it's your terminal that's at fault.
02:52:57 <kerlo> With my lŭck, the Eŝperanto charaĉters won't display properly eitĥer, despite the fact that they were not long ago.
02:53:23 <kerlo> Yep, broken. I don't know why screen behaves inconsistently.
02:53:29 <kerlo> But eliminating screen from the chain fixes the problem.
02:53:35 <lament> aw. If it's any consolation, I see them fine.
02:53:42 <kerlo> I'm aware of that.
02:53:48 <lament> no you are not.
02:53:48 <Asztal__> screen -U only works when starting the screen, btw.
02:54:00 <Asztal__> not when reconnecting.
02:54:11 <kerlo> So screen -U -d -r may not work as well as it could?
02:54:19 -!- Asztal__ has changed nick to Asztal.
02:54:31 <Asztal> try a new screen?
02:54:46 <kerlo> I'll go ahead and try restarting irssi.
02:54:47 -!- kerlo has quit (Client Quit).
02:55:04 -!- kerlo has joined.
02:55:14 * kerlo dings
02:55:36 <kerlo> This is screen -U, detached and reattached with screen -U -d -r.
02:56:59 <lament> 你好
02:57:21 <kerlo> Many-circumflex test: âĉêĝĥîĵôŝûŵŷẑ
02:57:29 <kerlo> Both those displayed right, I think.
02:57:48 <kerlo> The one on the right is the same woman-baby character; the one on the left is a radical to the left of something else.
02:58:26 <lament> good
03:00:20 <kerlo> The man radical.
03:02:22 <kerlo> I guess the one on the left is composed of radicals 9, 42 and 14.
03:02:39 <lament> i didn't realize the radicals were numbered.
03:02:58 <kerlo> You mean the numbers aren't obvious from the shapes?
03:23:55 -!- Slereah_ has joined.
03:25:57 -!- Sgeo has joined.
03:28:09 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
03:28:39 -!- Slereah has joined.
03:33:14 -!- Slereah has quit (Read error: 110 (Connection timed out)).
04:10:52 -!- GreaseMonkey has joined.
04:19:31 -!- bsmntbombdood has joined.
04:42:19 -!- pikhq_ has joined.
04:59:33 -!- pikhq has quit (Read error: 110 (Connection timed out)).
05:31:23 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:13:37 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:48:03 -!- Asztal has quit (Remote closed the connection).
07:48:06 -!- Asztal has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:37 -!- mtve- has changed nick to mtve.
08:29:27 -!- pikhq_ has changed nick to pikhq.
08:29:46 * fizzie is still known as fizzie
09:30:14 -!- tombom has joined.
09:40:05 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
11:04:03 -!- BeholdMyGlory has joined.
11:15:38 -!- oerjan has joined.
11:52:06 -!- BeholdMyGlory has quit (Remote closed the connection).
12:21:48 -!- oerjan has quit ("leaving").
12:43:36 -!- Slereah has joined.
12:59:42 -!- Sgeo has joined.
13:00:19 -!- Sgeo has quit (Client Quit).
13:11:11 -!- neldoret1 has joined.
13:23:00 -!- neldoreth has quit (Read error: 113 (No route to host)).
15:32:41 <tombom> http://esolangs.org/wiki/Useful! http://esolangs.org/wiki/Special:Contributions/Maxsteele2 this seems kind of pointless
15:38:54 -!- Judofyr has joined.
16:11:16 -!- Sgeo has joined.
16:50:32 -!- neldoreth has joined.
16:50:41 -!- neldoret1 has quit (Client Quit).
16:51:51 -!- ais523 has joined.
16:53:03 -!- FireyFly has joined.
17:00:13 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
17:01:50 -!- ais523 has joined.
17:03:16 <ehird> 07:32:41 <tombom> http://esolangs.org/wiki/Useful! http://esolangs.org/wiki/Special:Contributions/Maxsteele2 this seems kind of pointless
17:03:19 <ehird> ugh
17:03:26 <ehird> hi ais523
17:03:53 * ehird continues drafting shell language
17:04:09 <ais523> hi ehird
17:05:12 <ehird> 18:40:59 <lament> they're both pictograms - a woman on the left, a baby on the right.
17:05:12 <ehird> 18:41:38 <lament> obviously, the character means "good" :)
17:05:14 <ehird> XD
17:07:23 -!- MigoMipo has joined.
17:07:32 -!- ais523_ has joined.
17:08:31 <ehird> "Or even how to implement Haskell's ap/<*> (translated painstakingly to Java) in terms of fmap, return, and join (this is legally considered torture in 49 states)"
17:28:16 <ehird> "Haskell's purity reminds me of lemon juice: you need to add lots of water, sugar and ice to make refreshing lemonade." —Guido van Rossum
17:28:17 * ehird rolleyes
17:33:01 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
17:34:17 -!- ais523__ has joined.
17:35:40 -!- comex has changed nick to ais523___.
17:35:46 <ehird> ...
17:35:59 <ehird> http://vimeo.com/3753964 <-- this is awesome
17:36:11 <ais523__> ais523___: that's evil
17:36:19 -!- ais523 has quit (Nick collision from services.).
17:36:21 -!- ais523__ has changed nick to ais523.
17:36:41 -!- ais523___ has changed nick to comex.
17:38:03 <comex> ap/<*>
17:38:04 <comex> what is that?
17:39:10 <ehird> two operators
17:39:15 <ehird> enter #haskell
17:41:48 <FireyFly> Hm
17:41:58 <FireyFly> I like that sound thingy
17:43:10 <ehird> Theory:
17:43:17 <ehird> "Hello, world!" is common among great programmers.
17:43:29 <ehird> "Paula Bean is brillant^U Hello, <my name>!" is common among bad programmers.
17:43:40 <ehird> Therefore, good programmers are altruists.
17:47:43 <ehird> s/^ Hel/"Hel/
17:47:46 <ehird> Was bugging me.
17:48:08 <ais523> err, does ^ match a control-U?
17:48:22 <ehird> ais523: Control-U deletes up to the start of line.
17:48:27 <ehird> Try it in your terminal.
17:48:40 <ehird> Opposite of control-k.
17:48:46 <ais523> oh, ok
17:48:56 <ais523> it's probably a readline thing, rather than a terminal thing, though
17:50:48 <ehird> Well, yes.
17:53:52 -!- FireyFly has quit ("Later").
17:54:03 -!- FireyFly has joined.
17:55:41 <ehird> Oh. It's Ada Lovelace day.
17:56:16 <ehird> http://stackoverflow.com/questions/659752/programming-challenge-can-you-code-a-hello-world-program-as-a-palindrome <-- Hooray, shitty brainfuck answer.
17:56:32 -!- FireyFly has quit (Killed by ballard.freenode.net (Nick collision)).
17:56:52 -!- FireyFly has joined.
17:57:17 -!- zzo38 has joined.
17:58:08 <zzo38> I only use the term "a language that shall not be named" in speech, it seems silly to use it in writing.
17:58:22 <ehird> zzo38: people are afraid of saying 'fuck'
17:58:25 <ehird> /shrug
17:58:29 <ais523> zzo38: does IRC count as speech or writing?
17:58:38 <zzo38> IRC counts as writing.
17:58:43 <ais523> also, can't you just bowdlerise it to B****fuck?
17:59:06 <ehird> ais523: :-D
17:59:34 <zzo38> You can bowdlerise it to "B****fuck", "Brainf***", "B****f***", or whatever you want, in writing, but in writing I prefer to use the proper word "Brainfuck".
17:59:36 <ehird> I seem to remember asking people to bowlderise my brainfuck compiler "Frainbuck" as "F****buck"
18:00:18 <ehird> Valid is subjective - maybe 'valid' to cobbal is 'compiles, runs, and produces expected output' – Erik (Mar 19 at 0:22)
18:00:21 <ehird> Valid is subjective?
18:00:22 <ehird> Seriously?
18:00:27 <ehird> Have these people read the C standard?
18:00:45 <zzo38> I also consider leaving a voice-message in morse code as being close enough to writing as well, even though it isn't.
18:01:06 <ais523> ehird: yes, the C standard doesn't define "valid"
18:01:13 <ehird> well, it defines what a c program is
18:01:14 <ais523> it defines "conforming", and "strictly conforming"
18:01:18 <ehird> :-)
18:01:22 <ais523> conforming = runs on at least one C implementation
18:01:26 <ehird> ha
18:01:33 <ais523> strictly conforming = runs on all strictly conforming C implementations
18:01:39 <ehird> the OhCrap c compiler: Try gcc. If that fails, run perl.
18:01:47 <ehird> All perl programs are now conforming C programs
18:01:48 <ais523> so to be conforming, you just mustn't do anything that's strictly banned in C
18:02:04 <ais523> ehird: not if they started #error "This is not a conforming C program"
18:02:05 <ehird> after all, a c implementation can be other things too at the same time
18:02:08 <ehird> ais523: well, true
18:02:14 <ehird> but, there you go
18:02:17 <ais523> amusingly, #error is the only thing actually guaranteed to screw up your program in C
18:02:22 <ais523> anything else can be treated as an extension
18:03:08 <ehird> http://stackoverflow.com/questions/659752/programming-challenge-can-you-code-a-hello-world-program-as-a-palindrome/661121#661121
18:03:09 <ehird> Woah.
18:03:37 <ais523> print "Hello, world!\n" # "n\!dlrow ,olleH" tnirp
18:04:01 <ais523> although that linked program is impressive
18:04:30 <ais523> oh, if they're adding a no-comments rule, use a string literal or something instead of comments
18:05:04 <zzo38> And it seems that in FlogScript a palindrome "Hello World" program can be written {Hello World}P.P}dlroW olleH{ but I don't know whether or not it would be cheating
18:06:41 <ais523> oh, I can do it in one byte in HQ9+
18:06:41 <ais523> and it's palindromic
18:06:43 * ehird works out one
18:06:59 <ais523_> there are BF and Befunge examples already on the thread
18:07:18 <zzo38> Well ya that's because HQ9+ is designed for making those three kinds of programs in 1 byte. It is not meant for anything else
18:07:49 <ais523> oh, someone did the HQ9+ already
18:09:51 <zzo38> You can probably do it in Forth also because you can redefine words after they are used to not output anything or be a error
18:10:50 <ehird> gah
18:10:52 <ehird> I almost have a nice one
18:11:06 <ehird> without cheating
18:11:28 <ais523> what, in HQ9+?
18:11:31 <ehird> no :)
18:11:39 <zzo38> What program language?
18:11:52 <ehird> Ruby; it has some syntactic sugar which helps for this
18:12:10 <ehird> the code that actually outputs hello world:
18:12:10 <ehird> :Hello.display&?,.chr.display&?\s.chr.display&:world.display&?!.chr.display&?\n.chr.display
18:12:15 <ehird> pretty scary
18:12:35 <Deewiant> Befunge is too easy for that
18:12:50 <ais523> Deewiant: well, obviously
18:12:57 <zzo38> And in goruby I also think it is 1 byte and therefore a palindrome
18:12:58 <Deewiant> And any other interpreted language which doesn't do any static checking
18:13:05 <ais523> the problem is to tell if anything in particular in a befunge program is a comment or not
18:13:09 <Deewiant> (I don't know how many such languages there actually are)
18:13:21 <zzo38> goruby is some Japanese stuff.
18:13:33 <Deewiant> Hmm, so if we said that we have to execute the whole thing...
18:13:42 <ehird> ruby is some japanese stuff
18:13:43 <ehird> :P
18:13:50 <ehird> goruby is just a weird ruby addon that for some reason is in the ruby 1.9 core
18:14:01 <ehird> I think it's used for anarchy golf and nothing else
18:14:30 <ehird> hmm
18:14:30 <ehird> darn
18:14:32 <ehird> yalpsid.rhc.n\\?&yalpsid.rhc.!?&yalpsid.dlrow:&yalpsid.rhc.s\\?&yalpsid.rhc.,?&yalpsid.olleH:"
18:14:35 <ehird> that .n\ is invalid
18:14:45 <zzo38> Searching goruby on Google results in Japanese stuff. Luckily I have Japanese fonts on my computer
18:14:45 <ais523> the problem doesn't ask for a newline
18:14:51 <ehird> the !? is invalid, but ?& is valid, but the yalpsid after isn't valid
18:14:54 <ais523> it wants you to print exactly Hello, World
18:14:56 <ehird> ais523: the s\\ has the same problem
18:15:03 <ehird> alsoa
18:15:08 <ehird> most of the current solutions print the newline
18:15:10 <ais523> yes, capital W
18:15:20 <ehird> whatever :P
18:15:54 <ehird> "I'm pretty sure it's actually a palindrome. What's the easiest way to check?'
18:15:56 <ehird> /facepalm
18:16:06 <ehird> oh Stack Overflow...
18:16:09 <zzo38> And stuff about FlogScript can also be found in Japanese at http://b.hatena.ne.jp/yshl/20080407
18:16:16 <Deewiant> a"!dlrow olleH"bk,,kb"Hello world!"a@ <- whole thing is executed
18:16:27 <ais523> looking through GolfScript, it can clearly be beaten
18:16:33 <ais523> Deewiant: what's doing the printing there?
18:16:34 <ehird> zzo38: yshl is one of the anarchy golf players
18:16:37 <Deewiant> ais523: k,
18:16:39 <ehird> so unsurprising
18:16:54 <ais523> oh, Funge-98
18:17:12 <zzo38> Then why haven't they added FlogScript to anarchy golf yet?
18:17:13 <ais523> also, is that palindromic?
18:17:18 <ais523> you have a @ at the end but not the start
18:17:24 <Deewiant> Oh, good point
18:17:30 <ehird> zzo38: ask shinh
18:17:32 <ehird> j:
18:17:32 <ehird> 1!:2&2['Hello, World'['dlroW ,olleH'[2&2:!1
18:17:35 <Deewiant> Hmm, that might make it a bit tricky actually
18:17:36 <ehird> that's awesome, actually.
18:17:38 <ehird> it uses K
18:17:40 <zzo38> I understand a few things in Japanese, such as mahjong, and I like to read Japanese Akagi manga
18:17:40 <ehird> as in the k operator
18:17:50 <ehird> zzo38: shinh speaks english as far as I know
18:17:56 <zzo38> I tried to ask shinh before but I got no reply
18:17:58 <ehird> yeah
18:18:00 <ehird> idle 37:46:18...
18:19:35 <ehird> woo, almost
18:23:11 -!- neldoreth has quit (Read error: 113 (No route to host)).
18:23:11 <zzo38> And how many of you people understand any amount of Japanese at all anyways
18:23:17 <ehird> pikhq knows some, iirc.
18:23:22 <ehird> Er... SimonRC too?
18:23:30 <ehird> Sukoshi used to come here, I think she knew japanese
18:23:32 <ais523_> I know about 2 words of Japanese
18:23:34 <ehird> Deewiant?
18:23:41 <ehird> He was talking in japanese wasn't he
18:23:46 -!- tombom has quit ("Peace and Protection 4.22.2").
18:23:59 <lament> i know two words in japanese, sushi and sake
18:24:15 <Deewiant> Very little
18:24:26 <ais523_> lament: those are English words
18:24:32 <ais523_> I meant japanese words that aren't in English
18:25:02 <zzo38> I understand a few things in Japanese, such as kana script, some kanji, and some words as well.
18:26:06 <ehird> Hmm. I'd like a visual language where (to ASCIIlate):
18:26:07 <zzo38> And it is even on my Wikipedia user page
18:26:07 <ehird> V----\
18:26:07 <ehird> Show |
18:26:09 <ehird> | |
18:26:11 <ehird> | |
18:26:13 <ehird> \----/
18:26:15 <ehird> is a quine
18:26:21 <ehird> i.e., attach a show to itself
18:26:36 <Deewiant> I can't read kanji at all and I've forgotten most of the kana too
18:26:42 <zzo38> ehird: That would be interesting, maybe you can write some more about it on esolang wiki
18:26:48 <ehird> I think I will
18:27:06 <ehird> hmm
18:27:13 <ehird> heh, Eval would be the same as Jump
18:28:08 <FireyFly> Hm
18:28:13 <FireyFly> Hmm
18:28:18 <ehird> Hmmm
18:28:29 <zzo38> Kana is not that hard. Kanji is harder but I know some, such as the numbers and a few others (such as person, water, center, wheel, and a few other ones also)
18:28:32 <FireyFly> :(
18:28:58 <zzo38> I have another question. Do you like my Wikipedia user page?
18:29:06 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:29:07 <Deewiant> It's not hard, no, but I just haven't used them enough to remember them
18:29:09 <ehird> the nice thing about graphical languages
18:29:13 <ehird> is that they're graphs.
18:29:14 <ehird> the programs.
18:29:18 <ais523_> yes
18:29:29 <ais523_> that's a nasty thing about them too, as it makes the programs harder to transmit
18:29:29 <ehird> zzo38: it has a lot of userboxes.
18:29:39 <ehird> ais523_: eh, just make a pastebin built in
18:29:45 <ais523_> ideally you have both a graphical version and a text representation of them
18:29:47 <Deewiant> I have more userboxes
18:29:47 <zzo38> And is there anything on my Wikipedia user page that you like or dislike or agree or disagree or neutral opinion
18:29:50 <ais523_> ehird: to the language? does that even make sense?
18:29:55 <ehird> ais523_: to the editor
18:30:10 <ehird> it'd put it on a pastebin as javascript
18:30:11 <ais523_> ehird: I strongly disagree with the language == editor principle
18:30:18 <ehird> ais523_: it's a graphical language...
18:30:22 <ehird> you pretty much have to have that
18:30:34 <ais523_> no, why?
18:30:48 <ehird> o_o
18:30:49 <ais523_> you have a well-defined representation for transferring the language
18:30:55 <ehird> no, that's bad
18:30:58 <ais523_> and different programs that can each use them
18:31:01 <ais523_> ehird: why is that bad?
18:31:05 <ais523_> programs don't have to use it internally
18:31:09 <ais523_> just as an interchange format
18:31:10 <ehird> textual languages don't define a graphical representation for viewing them
18:31:13 <ehird> why compromise?
18:31:17 <ehird> it's not like this language would be popular
18:31:17 <lament> ais523_: do you disagree with having separate keyboard layouts for English and Norwegian?
18:31:29 <ais523_> lament: no
18:31:31 <lament> or for that matter English and Chinese?
18:31:40 <ais523_> I agree with having programs be able to read the keys without knowing the keyboard layout though
18:31:54 <ais523_> what ehird's suggesting is that norwegian keyboards only work with norwegian IRC clients
18:32:03 <ais523_> and english keyboards only work with english IRC clients
18:32:04 <ehird> ... no I'm not...
18:32:14 <ehird> this is officially a metaphor free zone
18:32:14 <ais523_> having something in between to translate the keystrokes makes much more sense
18:32:15 <zzo38> And did you make any of your own userboxes?
18:32:17 <lament> ais523_: keyboard is UI, editor is UI
18:32:18 <ehird> because you're all _terrible_ at it.
18:32:29 <lament> ais523_: UI should be specifically designed for the task at hand
18:32:30 <ais523_> lament: exactly
18:32:35 <ais523_> and one language should allow multiple UIs
18:32:36 <lament> exactly!
18:32:38 <ais523_> is what I@m saying
18:33:01 <ehird> I don't see how you're disagreeing with me.
18:33:02 <ais523_> and it shouldn't matter which UI you used, the program should still work
18:33:06 <lament> i think we're all agreeing.
18:33:08 <ehird> I was just saying that the UIs should paste to a pastebin.
18:33:11 <ehird> To transfer them.
18:33:12 <ehird> Except
18:33:14 <ehird> graphbin
18:33:23 <ais523_> ah, interesting
18:33:24 <ehird> And to edit them, you'd load it into one of the UIs.
18:33:36 <ais523_> presumably this would work in a non-internet-connected way too
18:33:45 <ehird> er
18:33:50 <ehird> you're sharing a program
18:33:54 <ais523_> the interchange format doesn't have to be textual, presumably it would be whatever stream of bytes was sent to the pastebin to do the pasting
18:33:58 <ehird> well, yes
18:34:02 <ehird> binary serialization, yes
18:34:13 <ais523_> a common serialization's enough to keep me happy
18:34:26 <ais523_> although having it human-readable and human-writable is always nice
18:34:44 <ehird> I think writing a complex graph textually is a recipe for disaster
18:34:57 <ais523_> well, yes
18:35:01 <ais523_> that's why you'd rarely edit by hand
18:35:02 <ehird> besides, just use an online graph editor; if you're making a graphbin, adding editing facilities shouldn't be too hard
18:35:06 <lament> ehird: so all programming is a recipe for disaster?
18:35:10 <lament> i agree!
18:35:13 <ehird> lament: ;-)
18:35:16 <ehird> most programs aren't directly graphs
18:35:20 <ais523_> ehird: please don't assume Internet connections
18:35:24 <ais523_> I don't have one most of the itme
18:35:26 <ais523_> *time
18:35:31 <lament> PLEASE ASSUME INTERNET CONNECTIONS
18:35:40 <ehird> ais523_: okay, so you get your programs off your HD or a disc, right?
18:35:41 <ais523_> and no way should a programming language care whether its user is internet-connected or not
18:35:43 <ehird> so put the UI on that disc
18:35:48 <ais523_> ehird: yes, that's fine
18:35:56 <ehird> ok, so there's no need for it to be human readable :-)
18:36:05 <ais523_> no, never a need
18:36:05 <zzo38> And if you want, you can even look at my image directory storages http://zzo38computer.cjb.net/index.php/02/
18:36:16 <ehird> ais523_: a big advantage of binary: the parsing is much, much faster
18:36:45 <ehird> "I just can't play a game that doesn't have good graphics. My machine has one of the fastest and most expensive graphics cards for a reason, and you'd better use it if you expect me to like your game."
18:36:46 <ehird> I hate people.
18:36:49 <ais523_> a big disadvantage of binary: it tends to be corrupted in transit
18:36:56 <ehird> ais523_: if you use Windows.
18:37:06 <ehird> binary is the same as text on all sane operating systems
18:37:07 <ais523_> ehird: or anyone between me and the program uses Windows
18:37:14 <ehird> Yes, well, so don't do that. Upload in binary mode.
18:37:16 <ais523_> ehird: not on the Internet, it isn't
18:37:16 <zzo38> Well, I prefer games with minimal graphics, regardless of graphics card.
18:37:19 <ehird> Or don't use Windows.
18:37:23 <ais523_> ehird: bigendian or littleendian?
18:37:32 <ehird> ...
18:37:35 <ais523_> binary is much less standardised than text
18:37:42 <ehird> text is binary
18:37:43 <ais523_> not to mention things like bitwidths
18:37:47 <ehird> anything else, is madness
18:38:07 <ais523_> ehird: you can still tell a text file from a binary file even on UNIX, though
18:38:14 <ehird> Only via heuristics, ais523_.
18:38:21 <ais523_> well, yes
18:38:29 <ais523_> but I mean, although all UNIXes store text the same
18:38:32 <ais523_> they store binary differently
18:38:47 <zzo38> I especially like the mathNEWS covers.
18:38:57 <zzo38> Do you like the mathnews covers pictures?
18:38:57 <ais523_> 0x12345678 can map to a different sequence of bytes on one computer than on another
18:39:03 <ais523_> that's why text is used for information interchange
18:39:16 <ehird> ais523_: just specify one in the serialization standard and stick to it
18:39:17 <ehird> it's not hard
18:39:30 <ais523_> you'd be surprised
18:39:47 <ehird> I've never had a problem with it. Stop using non-unixes. :-)
18:40:17 <ais523_> ehird: you're lucky to never have had a problem with it
18:40:24 <ais523_> do you exclusively use x86_64?
18:40:28 <ais523_> if so, maybe that's why
18:40:31 <zzo38> Of course with text files, there is UNIX line-endings and printer line-endings but many programs I have dealt with accept both
18:40:43 <ehird> Well, I don't use non-x86 processors, no. Though I have.
18:40:49 <ehird> Surely FTP and HTTP and all handle this?
18:41:00 <ais523_> with text, line endings are the only thing to worry about
18:41:03 <ehird> I mean, take image uploaders, ais523_
18:41:04 <ais523_> ehird: they translate text files, but not binaries
18:41:08 <ehird> They upload binary data over http
18:41:11 <zzo38> Network line endings are printer line endings, as far as I know.
18:41:12 <ehird> They never have endian issues
18:41:17 <ehird> So...?
18:41:31 <ais523_> ehird: a lot of work goes into image formats
18:41:36 <ais523_> specifically to prevent endian issues
18:41:51 <ais523_> so, they're well-designed
18:41:54 <ais523_> I'm not saying it's impossible
18:42:03 <ais523_> to design a working binary format
18:42:07 <ais523_> but it is very easy to mess up
18:42:29 <ehird> You can have a binary format that just uses ASCII chars, ais523_.
18:42:42 <ehird> Heck, most formats probably don't need more than the printable chars.
18:42:47 <ehird> So it would take the same amount of space.
18:42:51 <ehird> I'll probably do that.
18:42:59 <ais523_> for instance, libpng has at least two functions that deal with endianness
18:43:04 <ehird> The graphbin would of course translate it to some sort of Javascript data structure on viewing the graph, of course
18:43:09 <ais523_> ehird: there is one, ppm or something
18:45:01 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)).
18:45:12 <ehird> http://e-texteditor.com/blog/2009/opencompany This is cool
18:46:49 -!- zzo38 has joined.
18:47:36 <zzo38> I prefer to run my businesses as if they were Free Software projects instead. But I have my own set of rules I use when running a business also
18:47:50 <ehird> what businesses do you have
18:48:38 <AnMaster> I just got an idea
18:48:42 <ehird> Oh dear.
18:49:05 <zzo38> I don't have any but I will start one in a few months. And of course I am still going to trademark stuff and make rules for when warranties are voided, but otherwise allow freedom. That means absolutely no patents.
18:49:08 <AnMaster> since there are LISP machines, why aren't there <other programming language> machines? Or are there?
18:49:22 <ehird> AnMaster: There are in theory.
18:49:25 <ais523_> AnMaster: there's the Befunge CPU, but I don't know if it was ever built
18:49:34 <AnMaster> Just consider: APL machine
18:49:42 <ehird> Why should I consider that?
18:49:45 <ehird> It isn't in the least interesting.
18:49:51 <AnMaster> hm...
18:50:01 <AnMaster> ais523_, hm...
18:50:07 <ehird> hmmmmmmmmmmmmmmmmmmmmmmmmmmm
18:50:29 <AnMaster> apart from lisp machines and befunge cpus, any other such special purpose ones?
18:50:31 <FireyFly> hmmmmmmmmmmmmmmmmmmmmmmmmmmmm
18:50:33 <FireyFly> :(
18:50:39 <ehird> AnMaster: >_<
18:50:48 <FireyFly> There's a BF one IIRC
18:51:06 <AnMaster> FireyFly, hm now that you mention it, it sounds slightly familiar
18:51:19 <zzo38> Some of my ideas are Canadian credit chip systems (with complete freedom and security), custom calendar service, game console system, books (with ForthBASIC programs that can run on game console system), and others.
18:51:36 <ehird> "Canadian credit chip systems" err target market? :D
18:51:50 <Slereah> f = lambda x: x(x)
18:51:53 <Slereah> f(f)
18:51:54 <Slereah> Aaaaaaaaaaaaaaaah
18:52:02 * Slereah is testing Python's lambdas.
18:53:04 <Slereah> Although I must say, doing the whole f(x) thing feels pretty weird for lambdas.
18:53:06 <zzo38> Canadian credit chip systems are meant to be used in Canada obviously, possibly transitional, but can be used in other countries as well, in addition to being used for things other than credit chips.
18:53:26 <zzo38> I already wrote the protocols involved!
18:53:28 <ais523_> what are credit chips anyway?
18:53:34 <ais523_> and why Canada?
18:54:08 <zzo38> Canada because I am Canadian.
18:54:09 <AnMaster> btw I assume you all noticed linux 2.6.29 was released yesterday
18:54:13 <ehird> http://www.nordier.com/v7x86/
18:54:13 <AnMaster> also hi ais523_
18:54:39 <ais523_> AnMaster: I noticed it was released, but I noticed today not yesterday
18:54:42 <ehird> AnMaster: I did not notice.
18:54:43 <ehird> But I also didn't care.
18:54:51 <ais523_> I don't know if that counts as noticing it was released yesterday
18:55:00 <ais523_> your sentence was ambiguous
18:55:27 <AnMaster> you are right, it was ambigious
18:55:53 <zzo38> My service provider is Canadian so from that you can see that I am Canadian also.
18:55:56 <AnMaster> ais523_, I'm currently compiling it (not on my main system though, I'm not that insane)
18:56:55 <ehird> your isp is ... very 90s
18:56:56 <ehird> "DCCNET is a unique state-of-the-art Internet service using the speed capabilities of your existing Cable TV Connection. With speeds up to 100 times faster than a telephone modem it's the best way of connecting to the Internet. "
18:57:10 <ehird> Requirements for the Macintosh platform are:
18:57:10 <ehird> * OS 8.1 or higher
18:57:11 <ehird> * Power PC 601
18:57:13 <ehird> * RAM 24 MB
18:57:15 <ehird> * DISK 60MB*
18:57:28 <ehird> you also need windows 98 and 32mb of ram and windows 98 or higher for windows :-D
18:57:43 <ais523_> "the Macintosh platform"?
18:57:47 <ehird> Yes.
18:57:50 <AnMaster> heh
18:57:53 <ais523_> does OS 8.1 or higher include 10?
18:57:58 <ais523_> if so, how?
18:58:03 <ehird> :-D
18:58:10 <ehird> http://dccnet.com/delta/index.html
18:58:17 <ehird> The site design includes 1997.
18:58:22 <AnMaster> ais523_, probably not since Classic emulation support was dropped when Apple switched to Intel
18:58:23 <ehird> Hm, wait, more 1998
18:58:36 <ehird> http://dccnet.com/delta/images/contact3.jpg "Holy crap! A blank screen!"
18:58:38 <lament> ah 1998, the golden age of web design
18:59:02 <AnMaster> ehird, company still exists?
18:59:11 <ehird> Considering that zzo38 is connected via them.
18:59:13 <ehird> I would assume so.
18:59:18 <AnMaster> ah
18:59:20 <ehird> 17:46 zzo38 has joined (n=zzo38@h24-207-48-53.dlt.dccnet.com)
18:59:26 <AnMaster> it seems so very outdated?
18:59:35 <lament> they're named after an IRC command?
18:59:44 <ehird> AnMaster: You are so observant.
18:59:56 <zzo38> The service providers are given before the command on each line.
19:00:00 <ehird> https://webmail.dccnet.com/scripts/webmail.exe
19:00:02 <ehird> webmail.exe
19:00:03 <ehird> :-D
19:00:08 <ehird> i bet it's written in delphi
19:00:12 <AnMaster> ehird, yes I'm just surprised it isn't a left over web page of some company that went bust..
19:00:21 <ais523_> webmail.exe is one of the more ridiculous filenames I've seen recently
19:00:28 <ehird> ais523_: it just means
19:00:29 <ehird> 1. windows server
19:00:30 <ehird> 2. cgi
19:00:33 <ehird> 3. written in compiled language
19:00:38 <ais523_> incidentally, does anyone here put the .exe suffix on UNIX executables?
19:00:44 <ehird> some do.
19:00:47 <ehird> it makes sense if you want a suffix
19:00:50 <AnMaster> ais523_, sounds insane?
19:00:52 <ehird> .exe doesn't mean PE, after all
19:00:52 <zzo38> Actually I used to use EXE for CGI scripts as well. But not anymore. All the EXE scripts you want to access on my web-site no longer work. I have written replacements for some of them in PHP.
19:00:55 <ais523_> I used to back on UNIX, but don't nowadays on Linux
19:00:58 <ais523_> and agreed
19:00:58 <AnMaster> ehird, true... but still
19:01:05 <ais523_> .exe is a sane suffix if you're suffixing executables at all
19:01:05 <lament> call them .bat
19:01:06 <ehird> most of the time you don't want a suffix
19:01:09 <lament> for extra fun
19:01:12 <ehird> http://help.dccnet.com/ <-- hey, firefox
19:01:13 <ais523_> just unix shells don't use implied suffices
19:01:14 <ehird> 2
19:01:18 <ehird> they're not _too_ behind
19:01:19 <ehird> just very behind
19:01:23 <ais523_> I still often put the .sh extension on batch files
19:01:34 <ehird> i like how people have to manually tweak the spam folder
19:01:39 <ehird> s/folder/filter/
19:01:41 <ais523_> Warning:
19:01:43 <zzo38> I think PlayStation executables also use the .EXE extension
19:01:47 <ais523_> The browser you are using is not supported.
19:01:55 <ais523_> (warning from the student portal at my university)
19:02:00 <AnMaster> ais523_, ls --color=auto uses file extensions on GNU/Linux systems. How usually depends on distro
19:02:03 <ais523_> what's amazing is the list of supported browsers
19:02:21 <ais523_> heh, see for yourself, http://www.my.bham.ac.uk/cp/home/check/post?supported=false
19:02:25 <lament> ls --color=auto also uses the x permission.
19:02:38 <ehird> ais523_: shit, they don't support leopard : - (
19:02:41 <ehird> oh wow
19:02:41 <ehird> mozilla suite
19:02:42 <ehird> shit
19:02:43 <ehird> I used that thing
19:02:46 <ehird> in 2004 or so
19:02:50 <AnMaster> ais523_, firefox 1.0.x? wow
19:02:51 <ais523_> yes, and they support firefox 1 and firefox 1.5
19:02:53 <ehird> it was better than firefox
19:02:55 <ais523_> but not firefox 2 or 3
19:02:55 <ehird> at the time
19:03:03 <ais523_> that error message I got on firefox 2
19:03:14 <ehird> srsly though
19:03:17 <ehird> who else used mozilla suite
19:03:19 <zzo38> And I think .exe are still used for Mono executables on Linux (but not sure)
19:03:22 <ais523_> interestingly, they support MSIE-Windows but not MSIE-Mac
19:03:27 <AnMaster> but really it is easy to forget to update such pages if you always use modern browsers
19:03:30 <ehird> ais523_: MSIE-mac is totally separate
19:03:36 <ais523_> I know
19:03:42 <ais523_> it's still interesting, though
19:03:43 <ehird> interestingly, it was altogther ok
19:03:44 <Slereah> Well, back on the Limp interpreter :3
19:03:47 <ehird> i maen, to a point
19:03:56 <ais523_> "Internet Explorer 5.x (latest version), 6.0 SP2 and 7.0"
19:04:01 <Slereah> Does anyone know what's the limits on the names for defined funtions?
19:04:07 <ehird> Slereah: ?
19:04:10 <ais523_> the really really amusing thing is
19:04:15 <Slereah> In Python
19:04:17 <ais523_> that on the computers here that use firefox
19:04:19 <ehird> Slereah: wha
19:04:19 <ehird> t
19:04:25 <Slereah> What can you name a defined function?
19:04:28 <ais523_> instead of setting the homepage to bypass the check, or changing the check
19:04:28 <ehird> er
19:04:30 <ehird> anything
19:04:35 <Slereah> Even 1?
19:04:40 <ehird> yes...
19:04:40 <Slereah> Even a pre-existing function?
19:04:42 <ehird> err
19:04:43 <ehird> what
19:04:46 <ais523_> they went and set the homepage to a page saying "please click continue on the next page"
19:04:46 <ehird> you are making no. sense.
19:04:51 <ehird> ais523_: :D
19:04:51 <Slereah> Am I not?
19:04:52 <ais523_> which redirects to that page after about 5 seconds
19:05:03 <Slereah> Like if I want to do def print
19:05:07 <ehird> you can't
19:05:09 <ehird> print is a keyword
19:05:16 <Slereah> That's what I wanted to know!
19:05:22 <ehird> you could have just TRIED
19:05:26 <Slereah> Is there a way to check for keywords?
19:05:30 <ehird> yo
19:05:33 <ehird> u'll know if you use one
19:05:55 <Slereah> I meant more of a function to check a string
19:06:08 <ehird> why
19:06:10 <ehird> what on earth are you doing
19:06:12 <ehird> it sounds hideous
19:06:44 <Slereah> Well, for the limp thingy, I want to rewrite the program in Python, since interpreting it directly looks like a pain
19:06:52 <ehird> ;;;;;;;_;;;;;;;
19:06:57 <ehird> why can't you program
19:07:04 <Slereah> Because I am bad :(
19:07:29 <zzo38> I don't like Python program language
19:07:35 <ehird> why not
19:07:42 <ehird> please don't say because of the whitespace
19:07:52 <Slereah> I'm not too sure how to interpret it directly
19:08:06 <ais523_> oh, the whitespace is a symptom, not the problem itself
19:08:23 <ais523_> I'm very surprised the python interp doesn't error on indentation that isn't exactly 4 spaces, actually
19:08:43 <ais523_> mildly annoying, as I still think Python's got one of the best mainstream OO implementations I've ever seen
19:08:57 <ehird> python OO is terrible
19:08:58 <ehird> take it from me
19:09:04 <lament> Some people like using two spaces
19:09:06 <AnMaster> ehird, heh
19:09:12 <lament> in the REPL, it's nice to use one space
19:09:13 <ais523_> ehird: what don't you like about it?
19:09:15 <zzo38> There are various reasons I don't like Python.
19:09:16 <ais523_> lament: you're missing the point
19:09:26 <ehird> ais523_: it's just not good compared to a smalltalk derivative
19:09:29 <lament> you don't have a point
19:09:35 <ais523_> oh, a REPL is a very good reason why whitespace is a bad idea, I didn't even think of that
19:09:37 <ais523_> ehird: I said mainstream
19:09:39 <ehird> lament, stop being RIGHT
19:09:40 <ehird> :D
19:09:46 <ehird> ais523_: ruby
19:09:51 <ehird> is mainstream, and has a smalltalk-derived OO system
19:10:07 <lament> I've used python quite a lot and never had a problem with indentation. It's really not hard to use 4 spaces and not accidentally 5 or 3.
19:10:20 <lament> Set your editor to enter 4 spaces when you press Tab, and you're done.
19:10:22 <ais523_> lament: I've lost Python programs before due to accidentally corrupting the whitespace
19:10:27 <AnMaster> hm I think I read somewhere that Python is LL(1) to parse. I suck at parsers, so... how are LL and LR related? Can any LL grammar be parsed with a LR parser as well or?
19:10:32 <lament> ais523_: you have special talents.
19:10:35 <ais523_> AnMaster: LL(1)'s less general
19:10:38 <ais523_> it's a subset of LR(1)
19:10:52 <ehird> lament: his main complaint is that entering a bf interp into bsmntbombdood involved exec'ing a large string with \n and spaces in
19:10:54 <AnMaster> ais523_, I see. So it is technically even simpler to parse?
19:10:58 <ais523_> yes
19:10:58 <lament> ehird: ruby is ugly though :(
19:11:04 <zzo38> I much prefer things like Forth, C, JavaScript, rather than Python.
19:11:04 <ais523_> LR(1) is pretty complicated
19:11:15 <ehird> lament: Ruby is only ugly if you have a lot of nested blocks.
19:11:24 <lament> ehird: sigils! special syntax for exactly 1 HOF argument! begin/end!
19:11:30 <ais523_> on the other hand, LR(0) is simpler than LL(1), and LL(0)'s simpler still, although I think unusable for syntax much more complicated than deadfish's
19:11:39 <ehird> 1. I rarely use sigils when coding ruby; also, they're not type sigils
19:11:42 <ehird> 2. What?
19:11:45 <AnMaster> heh
19:11:48 <ehird> 3. It's do/end, and you can use {/} if you want.
19:11:53 <AnMaster> ais523_, what sort of grammar would Befunge be?
19:12:09 <AnMaster> or does the question even make sense?
19:12:24 <ais523_> AnMaster: Befunge doesn't even have a grammar
19:12:28 <lament> ehird: oh, not HOF argument, just a block. There's definitely special syntax for passing one block.
19:12:35 <ais523_> actually, maybe it counts as LL(0)
19:12:38 <ehird> lament: You can only pass one block.
19:12:41 <AnMaster> ais523_, hm ok
19:12:41 <ais523_> it's very simple, one token = one command
19:12:44 <lament> ehird: how is that not a bug?
19:12:44 <ais523_> and each command is one char long
19:12:48 <ehird> Yes, it's not too pure; but in practice, it works out just fine, lament.
19:12:59 <ehird> And because there's not an easy way to get a nice syntax for multiple blocks; but I never need more, really.
19:13:02 <AnMaster> ais523_, what about S-Expressions?
19:13:06 <ehird> Generally if I need more I'm going about something the wrong way
19:13:15 <lament> well.
19:13:27 <lament> the same logic "in practice it works out well" can be applied to Python or indeed anything else.
19:13:36 <AnMaster> ais523_, even I could figure out how to parse that into a in memory tree with some rather basic code
19:14:02 <ehird> lament: Yes, but Ruby's code is generally cleaner, the OO is nicer, the limitations are generally due to bad code, etc.
19:14:08 <ehird> So.
19:14:31 <lament> subjective things
19:14:38 <ehird> Yes.
19:14:39 <AnMaster> ais523_, ?
19:14:42 <ehird> I'm saying Ruby's OO is better.
19:14:47 <ehird> You said Ruby is ugly. I replied why I think it isn't.
19:14:48 <lament> and don't get me started on select/reject/inject/subject/surject/project.
19:14:48 <ehird> Simple.
19:14:58 <lament> Ruby has *synonyms* for shit.
19:15:04 <lament> that's simply *dumb*
19:15:07 <ehird> lament: So does Python.
19:15:15 <ehird> I'll let you figure them out, though.
19:15:17 <lament> ruby has them as a matter of policy. It has a *lot* of them.
19:15:20 <ehird> No, it does not.
19:15:22 <lament> Python has them as exceptions.
19:15:22 <ehird> It has a few.
19:15:54 <zzo38> And I have written a proposal for a improved variant of JavaScript also.
19:16:17 <AnMaster> err
19:16:22 <AnMaster> how is that related to ruby?
19:16:27 <AnMaster> or python
19:16:30 <ais523_> ehird: please show lament some oepy
19:16:36 <ehird> heh
19:16:46 <ais523_> oepy is one of my favourite things of yours, just because it's so fun for showing to python fans
19:17:02 <ehird> I'll dig it up
19:17:04 <lament> ehird: just using non-standard names for map and filter is a big warning sign
19:17:06 <ais523_> in fact, one python fan I know would rather make the lang Turing-incomplete than allow more than one way to do something
19:17:11 <ehird> lament: "map" is the preferred name.
19:17:19 <ehird> Sure, select is preferred instead of filter; so fucking what? It's not relevant.
19:17:23 <lament> it means "WARNING! THIS LANGUAGE WAS DESIGNED BY PEOPLE WHO DON'T REALLY KNOW WHAT THEY'RE DOING"
19:17:29 <AnMaster> ais523_, anyway what about parsing S-Expressions? Is it LL(1) or ?
19:17:31 <ehird> it was originally a lisp, lament
19:17:42 <ehird> The preferred word for filter in Python is [x for x in list if f(x)]
19:17:45 <ehird> that's bloody non standard to me
19:17:46 <lament> Lisp has no problem with passing more than one closure to a function.
19:17:55 <zzo38> Yes of course python programmers want bondage and discipline
19:18:01 <ehird> you're just trolling, lament; you haven't yet given decent answers to my questions
19:18:09 <lament> er
19:18:11 <lament> what did you ask?
19:18:21 <ehird> o-o
19:18:39 <ais523_> AnMaster: sexp's certainly LR(0) (as is BF), I don't know if it's LL(1) as well
19:19:00 <ais523_> LR(0) means that whenever you see a symbol, you know its context without any further information
19:19:06 <ais523_> so in sexp, ( always opens a sexp
19:19:10 <ais523_> and in BF, [ always opens a loop
19:19:12 <ehird> wrong
19:19:13 <ehird> "a("
19:19:20 <AnMaster> ais523_, ah ok. didn't you say LL(0) < LR(0) < LL(1) < LR(1)?
19:20:06 <zzo38> What type of grammar would Forth be? Forth has no syntax or grammar as far as I know.
19:20:09 <AnMaster> hm does string prevent it being LR(0)?
19:20:15 <ehird> zzo38: it has a trivial lexing grammer
19:20:18 <ehird> *grammar
19:20:21 <ehird> specifically, separation by space
19:20:23 <ehird> although, well
19:20:23 <lament> Forth doesn't have a grammar
19:20:26 <ehird> 2 2+ is valid forth
19:20:26 <ehird> meaning 2 2 +
19:20:31 <ehird> but that's an oddity
19:20:39 <zzo38> Only if the word 2+ is defined
19:20:44 <ehird> nope
19:20:45 <ehird> iirc
19:20:45 <ehird> hm
19:20:47 <lament> zzo38: forth doesn't have a grammar, a "grammar" is something pre-defined
19:20:48 <ehird> well
19:20:49 <ehird> in original forht, 2 2+ worked.
19:20:53 <lament> it cannot change while you're reading the program.
19:20:54 <ehird> lament: it is predefined
19:20:56 <ehird> space separation
19:20:59 <lament> ehird: no it isn't.
19:21:03 <lament> learn Forth.
19:21:07 <ehird> I do know Forth.
19:21:10 <lament> You don't.
19:21:21 <ehird> Sure, you can poke at the compiler's memory locations; that does not count. Also, fuck off with your blanket assertions, they're uninteresting.
19:21:36 <lament> if you know forth, i have to assume you're just trolling.
19:21:38 <AnMaster> ais523_, so what about the "a(" thing ehird mentioned there?
19:22:04 <ehird> lament: go on then — how do you change the parser to read other than space separated, without poking into memory?
19:22:06 <ehird> I'll wait here.
19:22:31 <ehird> zzo38: ais523_: http://pastie.org/425635.txt?key=12ziikqeeiprgcigklfoa An IRC bot written in Python, but as one big ugly expression. Completely whitespace-agnostic. No significant indentation
19:22:37 <lament> ehird: for example, by implementing something like the ( command.
19:22:44 <ehird> lament: er?
19:22:46 <lament> ehird: which happens to be already implemented.
19:22:51 <ehird> Yes. And?
19:23:17 <ais523_> ehird: thanks
19:23:18 <zzo38> If you want to change the parser in Forth you will have to write your own parser and execute the new parser, then it will read the rest of the program using your own parser, when it is finished the old parser will resume but it won't do anything because there is nothing left to parse
19:23:26 <ais523_> I've seen oepy before, but I always like to see it again
19:23:27 <lament> ehird: what zzo38 said.
19:23:29 <ehird> zzo38: I don't really count that as changing the parser
19:23:30 <ehird> IMo
19:23:31 <ehird> IMO
19:23:41 <ehird> it's just reading words from the input stream
19:23:46 <ehird> it's not changing the parser, it's subverting it
19:23:55 <lament> you are a nut.
19:24:02 <ehird> You're a troll.
19:24:13 <zzo38> It depends on the specific Forth implementation how the parser might be changed if it can be changed at all.
19:24:16 <ais523_> can an op be a troll?
19:24:25 <ehird> ais523_: Have you ever _talked_ to lament?
19:24:25 <lament> Yes.
19:24:34 <ehird> Heck, he admits to being a troll about a third of the time.
19:24:56 -!- oepy has joined.
19:24:59 <ehird> *echo echo—echo— echo—
19:25:00 <oepy> echo—echo— echo—
19:25:08 <ehird> *rot13 qwertyuiop!
19:25:09 <oepy> djreglhvbc!
19:25:12 <ehird> *help
19:25:13 <oepy> cmd, echo, epy, help, rot13
19:25:20 <ehird> *epy 2/0
19:25:20 <oepy> ZeroDivisionError: integer division or modulo by zero
19:25:50 <ais523_> *epy (lambda x: x(x))(lambda x: x(x))
19:25:50 <oepy> RuntimeError: maximum recursion depth exceeded in cmp
19:25:52 <zzo38> I am in the process of writing IRC bot as well, called pocket monster IRC. It allows you to play pocket monster IRC
19:25:56 <ehird> *cmd hello s('Hello, world!')
19:26:00 <ehird> *hello
19:26:00 <oepy> KeyError: "s('Hello,"
19:26:03 <zzo38> But I used PHP instead
19:26:04 <ais523_> what, you mean it doesn't tail-recurse? fail.
19:26:07 <ehird> Lol vut.
19:26:26 <ehird> no, seriously, what?
19:26:29 <ais523_> on the other hand, it seems oepy can execute an infinite loop in well under 6 seconds
19:26:29 <oepy> hi ais523_
19:26:39 <ehird> ais523_: python isn't tail rec-
19:26:43 <ehird> why are you saying hi, oepy?
19:26:44 <oepy> hi ehird
19:26:46 <ehird> oh, in /msg?
19:26:48 <ais523_> why not? it should be
19:26:54 <AnMaster> heh
19:26:57 <ehird> ais523_: it should be, but it isn't, because recursion is discouraged.
19:27:02 <ehird> you're meant to use loops.
19:27:09 <AnMaster> that's insane
19:27:13 <ehird> I don't like Python, see. I just think the criticism of it is mostly discouraged.
19:27:14 <ais523_> ...I thought Python was meant to be multi-paradigm?
19:27:16 <ehird> AnMaster: About as insane as C.
19:27:21 <ehird> Or, most other languages.
19:27:24 <ais523_> or can't it be, without giving more than one way to do things?
19:27:30 <AnMaster> ehird, well yes, but GCC can optimise tail recursion
19:27:31 <AnMaster> :P
19:27:34 <ehird> Scheme is the only language that _specifies_ TCO.
19:27:37 <ais523_> ehird: the C standard doesn't require tail recursion, but doesn't forbid it either
19:27:38 <AnMaster> well true
19:27:39 <zzo38> oepy also sent a "hi" message to me, privately, when I sent CTRL+A VERSION
19:27:39 <oepy> hi zzo38
19:27:43 <ais523_> and many good languages do
19:27:44 <AnMaster> ehird, what about common lisp?
19:27:46 <AnMaster> err
19:27:47 <ehird> (yes, it specifies all tail call optimizations, not just recursion)
19:27:49 <ehird> AnMaster: No.
19:27:57 <ehird> Many Common Lisps overflow the stack on tail recursion.
19:27:59 <AnMaster> ehird, also erlang specifies TCO I'm pretty sure
19:28:00 <ehird> Most, even.
19:28:05 <ais523_> ehird: ocaml specifies tail-recursive implementations of its stdlib
19:28:08 <AnMaster> what about haskell?
19:28:10 <ehird> ((Erlang has a spec?))
19:28:14 <ais523_> Perl has an explicit tail-recursion operator
19:28:20 <ehird> AnMaster: haskell gets it implicitly from laziness
19:28:21 <ais523_> which just to confuse people, is called goto
19:28:29 <ehird> (match(r':([^!]+)\S* PRIVMSG ((oepy) .*|(#esoteric) :.*oepy.*)', txt), (lambda a, _, b, c:
19:28:29 <oepy> hi ehird
19:28:29 <ehird> (lambda x: socket.send('PRIVMSG %s :%s\r\n' % x))(
19:28:32 <ehird> {'oepy': (a, 'hi'), '#esoteric': ('#esoteric', 'hi '+a)}[b or c]
19:28:32 <oepy> hi ehird
19:28:33 <zzo38> Who is oepy anyways
19:28:33 <oepy> hi zzo38
19:28:34 <ehird> )
19:28:35 <ehird> )),
19:28:37 <ehird> oepy: hi
19:28:38 <oepy> hi ehird
19:28:40 <ehird> oepy: hi
19:28:40 <oepy> hi ehird
19:28:41 <ehird> zzo38: http://pastie.org/425635.txt?key=12ziikqeeiprgcigklfoa
19:28:42 <ais523_> although it's a different goto from standard C/BASIC goto
19:28:45 <ehird> a python irc bot, BUT
19:28:45 <ehird> it's written in one line
19:28:47 <ehird> well
19:28:50 <ehird> not one line
19:28:51 <ehird> but one expression
19:28:53 <ehird> so it's whitespace insensitive
19:28:59 <ehird> I wrote it to kill the people who think python is whitespace sensitive :-D
19:29:04 -!- FireyFly has changed nick to FireFly.
19:29:13 <ais523_> ehird: submit it to proggit
19:29:21 <ehird> ais523_: I might
19:29:21 <AnMaster> ehird, yes it does iirc
19:29:55 <ehird> sec, need to fix my *cmd invokation
19:30:00 <ehird> *cmd hello s("Hello, world!")
19:30:03 <ehird> *hello
19:30:04 <oepy> KeyError: 's("Hello,'
19:30:07 <zzo38> So it looks for a PRIVMSG command containing the string "oepy"? Is that correct?
19:30:07 <oepy> hi zzo38
19:30:09 <ehird> See? Makes no sense. I wonder what.
19:30:14 <ehird> zzo38: That's what makes it say hi, yes.
19:30:18 <ehird> It does other stuff too; see the code.
19:30:24 <ais523_> ooh, I have an idea
19:30:27 <ehird> Including run one-expression Python, help, rot13, echo, and defining your own commands.
19:30:32 <ais523_> *cmd hello s("Hello,_world1")
19:30:37 <ais523_> *hello
19:30:37 <ehird> oh, wait
19:30:38 <oepy> KeyError: 's("Hello,_world1")'
19:30:43 <ehird> ais523_: nope, here's what you need to do
19:30:56 <ehird> *epy set('hello', lambda: s('Hello, world!'))
19:30:57 <oepy> TypeError: <lambda>() takes exactly 0 arguments (2 given)
19:31:01 <ehird> er.
19:31:03 <ehird> second.
19:31:10 <ehird> *epy set(hello=lambda: s('Hello, world!'))
19:31:10 <oepy> <function <lambda> at 0x2433f0>
19:31:13 <ehird> *cmd hello hello
19:31:16 <ehird> *hello
19:31:16 <AnMaster> ehird, yes erlang does. I can only find an old draft of it with google though
19:31:22 <ehird> hahahah
19:31:23 <ehird> >_<
19:31:41 <AnMaster> ehird, http://erlang.org/download/erl_spec47.ps.gz but there are newer versions. Just no idea where..
19:31:47 <ehird> *epy set(hello=lambda: 1/0)
19:31:48 <oepy> <function <lambda> at 0x2439b0>
19:31:50 <ehird> *hello
19:31:51 <oepy> ZeroDivisionError: integer division or modulo by zero
19:31:55 <ehird> ok.
19:32:11 <zzo38> *epy quit
19:32:11 <oepy> Use quit() or Ctrl-D (i.e. EOF) to exit
19:32:21 <ehird> er, shit, I forgot to remove that :-D
19:32:28 <ehird> *epy set(hello=(lambda ss: lambda: ss('Hello, world!'))(s))
19:32:29 <oepy> NameError: name 's' is not defined
19:32:33 <ehird> okay wut
19:32:37 <ehird> s should be defined
19:32:37 <zzo38> *epy quit()
19:32:37 -!- oepy has quit (Remote closed the connection).
19:32:39 <ehird> it's in the epy scope
19:32:40 <ais523_> that's a realy brilliant response for the bot to come up with, though
19:32:41 <ehird> zzo38: >:E
19:32:42 <ehird> don't do that
19:32:43 <AnMaster> ehird, <ehird> ((Erlang has a spec?)) <-- I answered but you ignored what I said?
19:32:47 <ais523_> truly brilliant
19:32:50 <AnMaster> then, why ask?
19:32:54 <zzo38> Now fix it if there is security holes or whatever in oepy
19:32:57 -!- oepy has joined.
19:32:58 <ehird> zzo38: there are.
19:33:02 <ehird> they are pretty much unfixable
19:33:06 <ehird> python isn't designed for sandboxing
19:33:19 <ehird> ooooooooh
19:33:22 <ehird> s is the wrong thing
19:33:27 <ehird> *epy set(hello=lambda: pr('Hello, world!'))
19:33:28 <oepy> <function <lambda> at 0x23e2b0>
19:33:28 <ais523_> I think there's a python-sandboxer script in Battle for Wesnoth
19:33:29 <ehird> *cmd hello hello
19:33:33 <ehird> *hello
19:33:33 <oepy> Hello, world!
19:33:34 <ais523_> for running AIs safely
19:33:54 <AnMaster> ehird, *shrug* I see you asked without being interested in the answer.
19:33:57 <ais523_> and it seems *cmd has one level of indirection too many
19:34:06 <ehird> AnMaster: It was a wondering; just shaddup
19:34:08 <ehird> ais523_: no, it's intentional
19:34:15 <ehird> although I forget why
19:34:33 <ehird> *epy set(echoecho=lambda a: (pr(a), pr(a)))
19:34:33 <oepy> <function <lambda> at 0x23eb70>
19:34:35 <ehird> *cmd echoecho echoecho
19:34:37 <ehird> *echoecho
19:34:37 <ais523_> also, why can't python be sandboxed?
19:34:38 <oepy> TypeError: <lambda>() takes exactly 1 argument (0 given)
19:34:39 <ehird> *echoecho a
19:34:40 <oepy> (a, a)
19:34:45 <ehird> ais523_: it's not that simple
19:34:55 <ais523_> I mean, why isn't it simple?
19:34:59 <ais523_> I'm not saying "do it"
19:35:06 <ais523_> I'm saying "what architectural decisions lead to it being hard"
19:35:14 -!- zzo38 has quit.
19:35:14 <ehird> ais523_: come back to me when you have a C program that runs another C program safely
19:35:15 <ehird> good luck
19:35:15 <ais523_> as in, my question wasn't rhetorical
19:35:17 <ehird> *epy set(echoecho=lambda a: a+a)
19:35:18 <oepy> <function <lambda> at 0x2425f0>
19:35:19 <ehird> *echoecho eccccccccchoooooo
19:35:20 <oepy> 'eccccccccchooooooeccccccccchoooooo'
19:35:24 <ehird> oooh
19:35:26 <AnMaster> ehird, that is quite possible...
19:35:26 <ehird> pr() is a class
19:35:27 <ais523_> ehird: just write a C interp
19:35:28 <ehird> that stringifies as itself
19:35:33 <AnMaster> ehird, just not in *ANSI C*
19:35:34 <ehird> ais523_: I am not writing a goddamn python interp.
19:35:37 <ehird> *epy set(echoecho=lambda a: pr(a+a))
19:35:38 <oepy> <function <lambda> at 0x242c30>
19:35:41 <ehird> ais523_: Not a solution.
19:35:43 <ais523_> well, no, you have one already
19:35:49 <ehird> *echoecho AAA
19:35:49 <oepy> AAAAAA
19:35:52 <ehird> *echoecho AAAAAAAAAAAAAAAAAAAAAAAAAAAA
19:35:52 <oepy> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
19:35:54 <ehird> *echoecho AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
19:35:54 <oepy> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
19:35:59 <ehird> *echoecho oepy
19:36:00 <oepy> oepyoepy
19:36:00 <oepy> hi ehird
19:36:32 -!- zzo38 has joined.
19:36:48 <AnMaster> ehird, there are ways to sandbox a compiled C program, or any binary
19:36:50 <AnMaster> even static ones
19:37:00 <zzo38> *echoecho *echoecho
19:37:00 <oepy> *echoecho*echoecho
19:37:01 <AnMaster> iirc debian has a new fakeroot version that uses ptrace
19:37:02 <ehird> That's unrelated
19:37:20 <zzo38> *echoecho *echoecho
19:37:20 <oepy> TypeError: <lambda>() takes exactly 1 argument (2 given)
19:37:22 <AnMaster> ehird, that is safe execution of another C program as far as I can see..
19:37:31 <ais523_> *echoecho *echoecho *echoecho
19:37:31 <oepy> TypeError: <lambda>() takes exactly 1 argument (2 given)
19:37:32 <AnMaster> how is it unrelated?
19:37:34 <zzo38> *echoecho *echoecho *echoecho
19:37:34 <oepy> TypeError: <lambda>() takes exactly 1 argument (2 given)
19:37:34 <ais523_> *echoecho
19:37:34 <oepy> TypeError: <lambda>() takes exactly 1 argument (0 given)
19:37:40 <ais523_> *echoecho echoecho
19:37:40 <oepy> echoechoechoecho
19:37:48 <ais523_> there's something up with the parsing...
19:37:51 <ehird> No there isn't.
19:37:56 <ehird> Arguments separate on space.
19:38:02 <ais523_> *echoecho *echoecho
19:38:03 <oepy> *echoecho*echoecho
19:38:07 <ais523_> oh, ok
19:38:14 <ais523_> zzo38 must have written two spaces by mistake
19:38:15 <ehird> sec:
19:38:24 <ais523_> ehird: your bot is whitespace-sensitive, something's gone wrong here...
19:38:29 <ehird> *epy set(echoecho=lambda *a: (lambda x: pr(x+x))(' '.join(a)))
19:38:30 <oepy> <function <lambda> at 0x24cc70>
19:38:32 <ehird> *echoecho a b c
19:38:32 <oepy> a b ca b c
19:38:51 <zzo38> Now it allows spaces
19:38:59 <zzo38> *echoecho *echoecho
19:38:59 <oepy> *echoecho*echoecho
19:39:06 <ehird> Yes. Yes it does
19:39:06 <zzo38> *echoecho *echoecho <CTCP>
19:39:07 <oepy> *echoecho <CTCP>*echoecho <CTCP>
19:39:14 <zzo38> *echoecho <CTCP>VERSION<CTCP>
19:39:14 <oepy> <CTCP>VERSION<CTCP><CTCP>VERSION<CTCP>
19:39:16 <ehird> zzo38: It doesn't listen to itself
19:39:28 <zzo38> Well that's good.
19:39:31 <ehird> Yes.
19:39:37 <ehird> *echo hello oepy
19:39:38 <zzo38> *echo <CTCP>VERSION<CTCP>
19:39:38 <oepy> hello oepy
19:39:38 <oepy> hi ehird
19:39:45 <ehird> *echo VERSIOn
19:39:45 <oepy> VERSIOn
19:39:47 <ehird> *echo VERSION
19:39:47 <oepy> VERSION
19:39:57 <ehird> zzo38: Here's a ctcp command:
19:40:14 <AnMaster> ehird, well?
19:40:18 <AnMaster> how is it unrelated?
19:40:25 <ehird> AnMaster: stop bugging me, I'm doing other things
19:40:37 <ehird> *epy set(ctcp=lambda a: pr(chr(1)+a+chr(1)))
19:40:38 <oepy> <function <lambda> at 0x252f30>
19:40:40 <ehird> *cmd ctcp ctcp
19:40:43 <ehird> *ctcp VERSION
19:40:47 <AnMaster> ehird, I think it is a very valid question
19:40:51 <AnMaster> don't you agree ais523_?
19:41:03 <ehird> AnMaster: I am delighted not to give a shit about your need to have every thing you say personally confirmed by me.
19:41:14 <ehird> If there is anything else you'd like me to ignore and do other things instead, please feel free to let me know
19:41:16 <ais523_> AnMaster: because it's a difference between safety from outside and safety from inside
19:41:20 <ehird> Now, back to ctcp.
19:41:32 <ais523_> in a lang like Haskell, for instance, you can prevent a program doing I/O simply by not giving it an I/O monad to play with
19:41:35 <ehird> *epy set(ctcp=lambda *a: pr(chr(1)+' '.join(a)+chr(1)))
19:41:35 <oepy> <function <lambda> at 0x2588b0>
19:41:40 <ehird> *ctcp ACTION is green
19:41:41 * oepy is green
19:41:45 <ais523_> as long as you don't have unsafePerformIO or something like that getting in the way
19:42:03 <zzo38> Of course you can also use *echo with control characters, but now *ctcp adds the control characters by itself. I'm not sure how *cmd ctcp ctcp is supposed to work, though. I don't know Python very well
19:42:06 <ais523_> *cmd *epy pr(1+1)
19:42:11 <ais523_> err...
19:42:15 -!- oerjan has joined.
19:42:19 <ais523_> *cmd two *epy pr(1+1)
19:42:21 <ais523_> *two
19:42:21 <oepy> KeyError: '*epy'
19:42:24 <ehird> That won't work.
19:42:30 <ehird> 'cmd': (lambda s, name='no_name_specified', func='no_func_specified', *a:
19:42:31 <ehird> extra_cmds.__setitem__(name, (lambda s, *a:
19:42:32 <ehird> this(this)['epy'](s, 'get(%s, user=%s)(*%s)' % (repr(func), repr(user), repr(a))
19:42:33 <AnMaster> ais523_, Hm... So you mean you would need a separate python instance that you could sandbox?
19:42:33 <ais523_> pity
19:42:35 <ehird> )))
19:42:37 <ehird> ),
19:42:39 <ehird> It fakes an *epy.
19:42:41 <ehird> When you run it.
19:42:43 <ehird> See?
19:42:44 <ais523_> AnMaster: that's what your analogy would be
19:42:53 <ais523_> ehird: ah, ok
19:42:57 <ais523_> is epy not in the namespace anyway?
19:43:02 <ais523_> *cmd three epy pr(1+2)
19:43:04 <ais523_> *three
19:43:04 <oepy> KeyError: 'epy'
19:43:08 <ehird> ais523_: that turns into
19:43:16 <ehird> sec
19:43:17 <ehird> it turns into
19:43:24 <zzo38> Looking at the log commands, it seems CTRL+A commands are recorded if they are malformed
19:43:30 <ehird> *epy get('epy',user='ais523')('ptr(1+2)')
19:43:31 <oepy> KeyError: 'epy'
19:43:37 <ais523_> zzo38: depends on the client
19:43:39 <zzo38> But not if they are formed correctly
19:43:39 <ehird> Which, of course, fails, as you haven't defined "epy".
19:43:48 <ais523_> and the CTRL+A commands are more commonly known as "CTCPs"
19:43:56 <ais523_> ehird: oh, I assumed epy itself was defined using the get mechanism
19:43:58 <ais523_> is it special?
19:44:00 <AnMaster> ais523_, anyway then ehird's analogy of sandboxing C isn't very relevant. Since C have all those things needed for doing it. You could even do somewhat like valgrind and interpret the executable...
19:44:16 <ehird> ais523_: that looks up your set() results
19:44:17 <ais523_> valgrind doesn't interpret the executable, does it?
19:44:20 <ehird> this is the command namespace
19:44:23 <ehird> two different things
19:44:26 <AnMaster> ais523_, it does partly iirc.
19:44:28 <ais523_> ah
19:45:17 <ehird> oepy isn't hard to read, is it?
19:45:18 <oepy> hi ehird
19:45:23 <ehird> once you get used to the:
19:45:25 <AnMaster> ais523_, I remember this because I ran into a (known) bug in it's handling of interpreting x87 instructions, related to rounding mode
19:45:31 <ehird> (lambda f: f(x))(lambda name: ...)
19:45:32 <ehird> being
19:45:34 <ehird> let name = x in ...
19:45:37 <ehird> I think it's fairly easy
19:45:52 <AnMaster> ehird, I said that back when you wrote it, you claimed it was hard to read then...
19:45:57 <ais523_> ehird: it is to a pythoner
19:46:02 <ehird> no, AnMaster, I said it was ugly
19:46:04 <AnMaster> but I claimed it was rather easy compared to most python code I have seen
19:46:10 <ais523_> the whole point is that python is easy to read because all python programs look identical
19:46:11 <AnMaster> ehird, and easy to maintain too
19:46:14 <ais523_> so you only have to learn to read it once
19:46:26 <ais523_> on the other hand, they're rather too vertical for me to keep a lot in mind at once
19:46:26 <ehird> AnMaster: yes — and saying that reveals that you evidently can't freaking read it
19:46:31 <ehird> because if you could you wouldn't say it's easy to maintain
19:46:31 <ais523_> I keep losing track due to all the scrolling
19:46:37 <ehird> having wrote it, I can tell you that it's a pain in the ass to modify
19:46:43 <AnMaster> ehird, I remember giving an example of how to add a command, was dead easy
19:46:46 <ehird> ais523_: get a bigger terminal?
19:46:55 <lament> ais523_: yeah, we need multi-column editors
19:46:56 <ehird> AnMaster: uh, no.
19:46:58 <oerjan> <ehird> two operators
19:47:12 <ais523_> lament: how would that work with the whitespace thing? you couldn't track the indentation
19:47:15 <AnMaster> ehird, yes back when you first showed it in #esoteric
19:47:16 <oerjan> ap should be = (<*>) for any monad
19:47:21 <ehird> oerjan: yes.
19:47:22 <zzo38> I want to know if anyone is interested in pocket monster IRC and if you have requests
19:47:29 <ehird> zzo38: do you mean the pokemon rpg games?
19:47:33 <ehird> over IRC?
19:47:33 <lament> ais523_: each column wide enough to fit everything (say, 80 chars)
19:47:36 <ehird> I'm not sure how that would work.
19:47:41 <ais523_> zzo38: did you just write the name of pokémon out in full? nobody does that
19:47:46 <ais523_> and I don't get how it would work over IRC
19:47:47 <ehird> ais523_: the japanese do
19:47:51 <ais523_> ehird: ah
19:47:59 <ehird> although, well, that's more pokettu monsutra or something.
19:48:11 <zzo38> ehird: yes, close to that. It is multi-player battle only, and "limited" rather than "constructed" (the terms meaning what they do in M:tG)
19:48:14 <ais523_> more worrying for me is the fact that pocket monster correctly abbreviates to pokémon in both English and Japanese
19:48:21 <lament> pokemon sutra
19:48:33 <ais523_> zzo38: err... you mean, you have to draft pokémon from a random selection of boosters?
19:48:35 <ehird> "Poketto Monsutā"
19:48:36 <ais523_> that's getting even more confusing
19:48:37 <ehird> japanese
19:48:41 <zzo38> Yes, "pokemon" is a abbreviation of the Japanese words "poketto monsutaa" which means "pocket monster"
19:48:44 <ehird> i was close
19:49:00 <oerjan> lament: japanese has tr?
19:49:06 <lament> oerjan: no.
19:49:12 <ehird> karma sutra
19:49:22 <oerjan> oh just a pun
19:49:32 <zzo38> It could be written in katakana but on IRC it is harder if the Unicode is not support very well
19:49:43 <AnMaster> ehird, that is Indian or something isn't it?
19:49:46 <ehird> Most irc clients support unicode.
19:49:50 <ehird> AnMaster: It's Kama Sutra.
19:49:50 <ais523_> zzo38: anyway, please tell me the rules for this really insane concept
19:49:52 <ehird> I said Karma Sutra.
19:50:07 <lament> I can always just ban anyone who can't get utf working.
19:50:09 <ais523_> a pokemon draft's a worrying-enough thought as-is, do you get to choose their attacks and evs and ivs etc yourself
19:50:12 <AnMaster> ehird, ah.
19:50:16 <ais523_> or are they intrinsic on the pokemon?
19:50:25 <ehird> ais523_: you can teach them moves in the games
19:50:29 <ehird> so I wouldn't think instrinsic
19:50:38 <ehird> actually I don't even think this could possibly work.
19:50:40 <AnMaster> lament, interesting idea. But I have working UTF and I saw "ā" above?
19:50:42 <oerjan> does saying karma sutra reduce your karma?
19:50:42 <AnMaster> or what do you mean
19:50:43 <zzo38> Sort of like drafting from boosters, that is one possible limited play but there are other styles of limited as well, such as "random fixed deck" in which case each player gets things assigned randomly but equally. There are even more kinds of limited styles also.
19:50:48 <ais523_> ehird: I'm asking about the specific rules of limited pokemon-over-IRC
19:51:05 <ehird> oerjan: it's kindness porn
19:51:05 <ais523_> I don't think it could possibly work either, but am willing to be proven wrong
19:51:39 <AnMaster> suggestion: This channel use use UTF-EBCDIC!
19:51:42 <zzo38> There will be more than one possible type of limited play. I haven't worked out the specifics yet but if you have any suggestions I will take them into consideration.
19:51:47 <oerjan> ehird: i sort of assume the porn part is in the "kama", since sutra means something like text or book iirc
19:51:47 <AnMaster> as the official encoding
19:51:58 <ehird> oerjan: whatever :P
19:52:25 <oerjan> "K.ma means sensual or sexual pleasure, and s.tra are the guidlines of yoga, the word itself means thread in Sanskrit."
19:52:39 <AnMaster> oerjan, how comes "karma" and "kama" are so close then?
19:52:46 <oerjan> modulo unicode copy/paste error
19:52:50 <ehird> AnMaster: karma = spiritual pleasure? :P
19:52:58 <AnMaster> ehird, is that so?
19:53:04 <ehird> I was guessing
19:53:05 <ais523_> isn't a kama a sort of weapon?
19:53:12 <AnMaster> ais523_, that's katana isn't it?
19:53:13 <ais523_> or do I play too much D&D?
19:53:18 <ehird> ais523_: Weapon book? I don't see the relevance to sex there :D
19:53:22 <ais523_> AnMaster: no, that's a different sort of weapon
19:53:35 <zzo38> I think there is kama in D&D also, isn't it? (And I mean 3.5e because 4e is hardly D&D)
19:53:37 <oerjan> ais523_: maybe -ma is a noun suffix like in greek...
19:53:51 <ehird> Holy crap, Slereah has never used a {} dictionary in Python.
19:53:51 <ais523_> a katana's a sort of high-quality sword, karmas are more like a sort of cross between a pickaxe and a scikle
19:53:52 <ehird> >_<
19:54:00 <AnMaster> ehird, link?
19:54:03 <ehird> what
19:54:04 <ehird> link to what
19:54:11 <ais523_> zzo38: yep, and D&D 4 is a good game, but an entirely different game to D&D 3.5 and below
19:54:13 <AnMaster> ehird, where did you see that he didn't
19:54:18 <ehird> AnMaster: he has me on msn.
19:54:20 <ehird> messenger.
19:54:21 <AnMaster> ah
19:54:25 <AnMaster> oh my
19:54:27 <ehird> what
19:54:35 <ehird> it's just a protocol
19:54:36 <AnMaster> ehird, I suck at python and even I know about {} dicts...
19:54:38 <ehird> oh
19:54:43 <ehird> i thought you were going to complain about msn :P
19:54:56 <AnMaster> ehird, no I have done that so many times before
19:55:02 <zzo38> ais523_: I don't know how good 4e is (it is said to be a excellent war game), but it is a bad D&D game and a bad role-playing game. I'm not saying 4e is bad, but it isn't real D&D in my opinion
19:55:15 <ais523_> ehird: msn as a protocol may not be completely awful, but msn the servers have problems
19:55:22 <ais523_> they blocked youtube links for a while, for instance
19:55:30 <ehird> real d&ders play D&D -3i2
19:55:33 <AnMaster> ais523_, what about google links?
19:55:40 <ehird> ais523_: oh, they do a lot of that retarded blocking shit; I keep having to put spaces in urls
19:55:41 <ehird> meh
19:55:46 <ais523_> I don't think so, that would be even more ridiculous than blocking youtube
19:55:47 <ehird> download.php download.php download.php download.php download.php download.php download.php download.php
19:56:02 <zzo38> Or "Icosahedral RPG" (which I have written slowly over time)
19:56:07 <AnMaster> I would use a more open protocol
19:56:07 <lament> people still use MSN?
19:56:16 <lament> AnMaster: google talk!
19:56:21 <AnMaster> any good free, open and standard IM protocol
19:56:25 <ehird> AnMaster: It's not your choice to make: if everyone you know uses MSN, then you use MSN because otherwise you can't talk to them.
19:56:25 <ais523_> lament: yes, msn's the most popular instant messenger I've seen
19:56:29 <ehird> See? Human social interaction?
19:56:30 <lament> google talk
19:56:31 <ais523_> which is surprising given how awful it is
19:56:33 <ehird> lament: it's popular in the UK
19:56:34 <AnMaster> lament, is that open? I mean open like Jabber is open
19:56:35 <ehird> AIM is more popular in the US
19:56:36 <AnMaster> BUT
19:56:38 <ehird> AnMaster: it IS jabber
19:56:39 <AnMaster> without the xml mess
19:56:40 <ais523_> ehird: actually, I just persuaded them to use IRC instead
19:56:42 <AnMaster> ehird, oh
19:56:44 <lament> AnMaster: google talk is jabber.
19:56:47 <AnMaster> I see.
19:56:48 <ais523_> or to be precise, someone else did
19:56:52 <ehird> ais523_: Yes, you're lucky because you have technically competent friends.
19:56:55 <zzo38> In Icosahedral it should be you are allowed to add/subtract/multiply/divide spells. And spell effects can have quantum superpositions.
19:56:56 <AnMaster> well what about the xml mess that jabber is?
19:56:56 <ehird> Shouldn't we all be so lucky.
19:56:58 <ais523_> no, they aren't
19:57:01 <lament> all my friends switched from msn to google talk over the past year or so
19:57:02 <AnMaster> I would prefer a protocol not using XML
19:57:12 <ehird> ais523_: we're talking about a different level of technical incompetence here; and also apathy.
19:57:16 <ehird> After all, all THEIR friends use MSN, too.
19:57:29 <AnMaster> lament, so you can connect to google talk using a jabber client of your choice?
19:57:33 <ehird> AnMaster: Yes.
19:57:37 <lament> AnMaster: yep
19:57:38 <zzo38> I prefer IRC protocol. I don't like MSN or any of the other ones
19:57:42 <ehird> They include instructions for doing so.
19:57:42 <ais523_> ehird: most people are capable of opening more than one chat app at once
19:57:46 <AnMaster> I thought it was something in the side bar on gmail?
19:57:48 <AnMaster> or whatever
19:57:49 <ehird> ais523_: why should they
19:57:53 <AnMaster> zzo38, same here
19:57:55 <ehird> AnMaster: And a downloadable app. And a jabber server.
19:57:56 <lament> AnMaster: that's one possible way to connect.
19:57:58 -!- olsner has joined.
19:58:03 <lament> I use bitlbee personally.
19:58:03 <ais523_> ehird: because some of their friends use MSN, and others use IRC?
19:58:08 <ehird> ais523_: no they don't
19:58:14 <ehird> they all use msn
19:58:15 <ais523_> it's not as if people don't use both MSN and Facebook, for instance
19:58:17 <zzo38> IRC is simple enough to be used without a client
19:58:20 <AnMaster> ehird, hm? gjabberd or what?
19:58:22 <ehird> facebook is a social networking site
19:58:30 <ais523_> zzo38: yes, but I wouldn't expect someone nontechnical to do that
19:58:36 <ais523_> ehird: so what, they have them both open anyway
19:58:40 <ais523_> what's a third program to that?
19:58:44 <ais523_> also, IRC is actually possible to close
19:58:49 <ehird> ais523_: it's a browser.
19:58:49 <AnMaster> ehird, google's jabber server is downloadable? huh? What is the name of it so I can google it
19:58:53 <ais523_> I've been to cybercafes before with other people's MSN still running
19:58:53 <ehird> AnMaster: no, it is not.
19:58:58 <AnMaster> <ehird> AnMaster: And a downloadable app. And a jabber server.
19:59:03 <AnMaster> what did you mean then
19:59:08 <ais523_> AnMaster: a downloadable server, does that even make sense?
19:59:11 <ehird> AnMaster: can you stop being so goddamn dense? IT'S A SERVER USING THE JABBER PROTOCOL
19:59:21 <AnMaster> ais523_, well wget http://apache.org/whatever ?
19:59:39 <oerjan> <zzo38> You can bowdlerise it to "B****fuck", "Brainf***", "B****f***", or whatever you want, in writing, but in writing I prefer to use the proper word "Brainfuck".
19:59:44 <ais523_> AnMaster: that's a website, or server software, not a server itself
19:59:49 <oerjan> officially it should be lowercase too
19:59:53 <zzo38> http://liquidmateria.info/wiki/Icosahedral I think the license (see red text on bottom) is a license I wrote I think is valid for free culture works, do you think it is
19:59:55 <ais523_> oerjan: not quite
20:00:03 <ais523_> it follows normal capitalisation rules for an ordinary word
20:00:10 <ais523_> so it's "Brainfuck" at the start of a sentence
20:00:13 <ais523_> and "brainfuck" inside a sentence
20:00:23 <ehird> ais523_: anyway, if you want you can try and convince my friends to use IRC instead. Predicted response: "Uh... why?" (time passes) "Nah, I'll stick with MSN."
20:00:29 <AnMaster> ais523_, To be downloading a server doesn't sound strange. It would imply "server software"
20:00:30 <ais523_> people always seem to get this wrong, for some rwason
20:00:34 <ehird> in the meantime i'll continue using MSN.
20:00:41 <zzo38> OK, make "brainfuck" lowercased. Of course that is not always done but I guess it is the standard lowercased
20:00:46 <ais523_> ehird: well, they switched to IRC for the ability to use channels
20:00:57 <ehird> MSN does group chats.
20:00:57 <ais523_> and specifically, ban each other from channels
20:01:02 <ais523_> yes, I know
20:01:12 <ais523_> but does it do two different group chats with the same people involved?
20:01:20 <AnMaster> anyway what about something like jabber but WITHOUT THE XML MESS?
20:01:20 <ehird> I can do that with Adium
20:01:24 <ehird> Dunno if it does that with the official client, but
20:01:27 <ehird> why would they want to?
20:01:30 <ehird> it's the same people, after all
20:01:33 <ehird> (I know why.)
20:01:34 <ais523_> ehird: to talk about different things
20:01:37 <AnMaster> a simple protocol like IRC maybe...
20:01:37 <ehird> (They don't; because they don't need it.)
20:01:41 <ehird> ais523_: why do they need to categorize that
20:01:42 <ais523_> and actually it's about 3 groups of people, which mostly overlap
20:01:52 <ehird> ais523_: conversations IRL drift everywher
20:01:52 <ehird> e
20:01:53 <ais523_> and some people are banned from various groups
20:01:54 <AnMaster> but for some reason a lot of people doesn't consider IRC a subtype of "IM"
20:01:57 <ehird> most people aren't sticklers for organizations
20:02:00 <AnMaster> which is strange
20:02:04 <ehird> *organization
20:02:09 <ais523_> the real reason's so you can have conversations with people about certain subjects, and ban other people from them
20:02:27 <ais523_> it's really easy to underestimate the complexity of secondary school politics, it seems
20:02:50 <ehird> My friends tend to have less drama. :P
20:02:54 -!- zzo38 has quit.
20:03:03 <ais523_> so they use MSN just to create drama?
20:03:26 <ais523_> I've actually gone into a cybercafe
20:03:31 <ais523_> someone else's MSN was still running
20:03:35 <ais523_> and I couldn't quit it at all
20:03:37 <ehird> err, they use MSN to talk
20:03:45 <ais523_> the thing that would have let me quit it was hidden by the cybercafe software
20:04:02 <ais523_> so I just said "I'm actually not <username>, they left this cybercafe and left their MSN client running, and I can't figure out how to exit it"
20:04:10 <ais523_> and then ignored everything that came up there
20:04:24 <ais523_> I'm not entirely sure what the reaction of the people involved was
20:04:35 <ehird> Prediction: "huh?"
20:05:08 * oerjan shuffles away fro the cynicism goo ehird is emanating
20:05:13 <oerjan> *from
20:05:14 <ais523_> well, we'll never know
20:05:25 <ehird> oerjan: I prefer to call it 'experience'.
20:05:27 <AnMaster> ais523_, what about telling the staff about it?
20:05:34 <ehird> AnMaster: Response: 'huh?'
20:05:35 <AnMaster> at the place I mean
20:05:39 <oerjan> eek, my sock is dissolving from it
20:05:49 <ehird> Come on, you can't seriously believe people are that technically competent.
20:05:57 <ehird> I live in a freaking bubble and I know they're not
20:06:10 <lament> a sock-dissolving bubble?
20:06:13 <ais523_> AnMaster: they were incompetent, and I'd probably have been in trouble if I tried
20:06:14 <AnMaster> ehird, well they would have to phone some manager then until they reached someone who knew
20:06:22 <AnMaster> ais523_, in trouble? why?
20:06:24 <ehird> NOBODY KNOWS!
20:06:27 <ehird> NOBODY KNOWS NOBODY CARES!
20:06:30 <ehird> THAT'S THE WHOLE POINT!
20:06:32 -!- atrapado has joined.
20:06:35 <ehird> People don't understand computers
20:06:35 <ehird> They don't want to
20:06:38 <ais523_> you could get free uses of that place by control-alt-deleting the cybercafe software and just using the computer
20:06:39 <ehird> They don't want to hear about it
20:06:42 <ehird> because they DON'T UNDERSTAND!
20:06:45 <ais523_> but I didn't
20:06:46 <ehird> And they don't want to hear about it!
20:07:37 <AnMaster> ...
20:08:11 <AnMaster> the correct action is always to report the issue to whoever is responsible, and then let them forward it upwards.
20:08:20 <ehird> *MEGAFACEPALM*
20:08:21 <AnMaster> in cases like that
20:08:27 <ehird> *FIVE THOUSAND HEADDESKS*
20:08:30 <AnMaster> ehird, in my experience it usually works
20:08:33 <ehird> *GUN* *HEAD*
20:08:35 <AnMaster> + it is fun
20:08:36 <ehird> *GUN**BULLET**HEAD*
20:08:42 <ehird> *HADDE*
20:08:45 <ehird> * *
20:08:46 <ehird>
20:09:25 <AnMaster> don't accept people don't know, if they run a bloody cyber café how did they set it up if they don't know anything about it
20:09:26 <ais523_> AnMaster: I'm pretty sure that there were only three people involved in running the place
20:09:29 <AnMaster> that makes no sense
20:09:32 <ehird> because
20:09:32 <ehird> they
20:09:34 <ehird> bought
20:09:35 <ehird> some
20:09:37 <ehird> premade
20:09:39 <ehird> cybercafe
20:09:41 <ais523_> AnMaster: my guess is they downloaded cybercafe software from the internet
20:09:41 <ehird> software
20:09:44 <ehird> you
20:09:45 <ehird> ignoramus
20:09:46 <ais523_> and just installed it on lots of computers
20:09:47 <AnMaster> ehird, I can't read when you write one word per line
20:09:50 <ais523_> without knowing what it did
20:09:57 <ehird> AnMaster: good, then maybe you'll stop talking
20:10:02 <AnMaster> just write multiple per line instead, it works much better
20:10:02 <ais523_> ehird: agree with AnMaster, it's very hard to read one-word-per-line comments
20:10:10 <AnMaster> so I'll ignore those line you said there instead
20:11:28 <oerjan> icbw
20:11:32 <oerjan> toeo
20:11:37 <oerjan> u r
20:11:40 <oerjan> l s
20:11:44 <oerjan> d e
20:13:19 <AnMaster> oerjan, don't give him ideas
20:13:33 <ehird> unlike you I have a sense of humour, so that is unlikely.
20:13:40 <oerjan> AnMaster: at least he would have to work for it :D
20:14:22 <AnMaster> oerjan, not really, a script to rotate text would be a one and a half minute hack at most
20:14:37 <ehird> See a-b, 2008. Old.
20:14:40 <ehird> Uninteresting. Whatever.
20:14:50 <AnMaster> ?
20:14:54 <oerjan> agora-business?
20:14:58 <ehird> oerjan: yes.
20:15:12 <ais523_> oerjan: Agora went through a period where people were using all sorts of weird character orders
20:15:25 <ais523_> in the end, Goethe just posted a completely randomly-ordered anagram of eir message
20:15:26 <ais523_> and it stopped
20:16:49 <ehird> wonder if yi builds
20:21:17 <comex> http://code.google.com/p/shedskin/
20:21:20 <comex> hey, anyone seen that?
20:22:07 <ehird> yes
20:22:08 <ehird> it sucks
20:22:18 <ehird> it supports only a retarded subset of python, and its own extensions
20:22:23 <ehird> andi t's not even that fast and it's crap
20:22:28 <ehird> and you haev to write statically typed python.
20:22:34 <comex> mmm
20:22:44 <comex> I wonder how it compares to translated RPython and Cython
20:22:44 <ehird> Also, not all Python features, such as nested functions and variable numbers of arguments
20:22:48 <ehird> no *args
20:22:51 <ehird> no def : def:
20:22:55 <ehird> no def: lambda
20:22:57 <comex> hasucks
20:23:02 <comex> it only mentions cpython and psyco
20:24:42 <lament> just use haskell!
20:24:47 <comex> (how fast/slow is python-compiled-by-cython compared to cpython?)
20:24:51 * comex tries
20:25:54 -!- ais523 has joined.
20:31:04 -!- BeholdMyGlory has joined.
20:35:52 <ehird> Deewiant: ping
20:36:00 <Deewiant> bong
20:36:06 -!- ais523 has quit (Nick collision from services.).
20:36:13 <oerjan> fang
20:36:35 <ehird> Deewiant: how do you enable profiling libs when compiling ghc
20:36:37 <ehird> or do you not need to
20:36:48 <Deewiant> Compiling with GHC or compiling GHC
20:37:13 <Deewiant> If the latter, it's probably in mk/config.mk
20:37:18 <ehird> The latter
20:37:33 <ehird> # In addition, the RTS is built in some further variations. Ways that
20:37:34 <ehird> # make sense here:
20:37:34 <ehird> #
20:37:36 <ehird> # thr : threaded
20:37:38 <ehird> # thr_p : threaded profiled
20:37:40 <ehird> # debug : debugging (compile with -g for the C compiler, and -DDEBUG)
20:37:42 <ehird> # debug_p : debugging profiled
20:37:45 <ehird> # thr_debug : debugging threaded
20:37:46 <ehird> # thr_debug_p : debugging threaded profiled
20:37:49 <ehird> # t: ticky-ticky profiling
20:37:50 <ehird> # debug_t: debugging ticky-ticky profiling
20:37:53 <ehird> Holy shiaite!
20:37:55 <ehird> debugging ticky-ticky profiling XD
20:41:37 <oerjan> ticky-ticky profiling is wicked icky
20:49:08 -!- kar8nga has joined.
20:55:22 -!- ais523 has joined.
21:01:39 <ehird> Yay, GHC is on the path to compiling.
21:01:44 <ehird> God, this is way too hard. bloody bootstrapping.
21:01:48 <ehird> Awesome in theory, shit in practice.
21:02:30 * ehird make -j3
21:02:41 <ehird> If there's one thing I need after all this it's some efficiency.
21:02:57 <ehird> cabal-bin: Cannot find the program 'ghc-pkg' at '' or on the path
21:02:58 <ehird> make[1]: *** [bootstrapping.conf] Error 1
21:02:58 <ehird> make: *** [stage1] Error 2
21:04:34 <ehird> It's like ten thousand spoons.
21:09:32 <ehird> Let's try that again.
21:10:20 <ehird> So ais523_, tell ,me how much you hate bootstrapping.
21:10:31 <ais523_> not very much
21:10:38 <ais523_> after all, it seems to work on CLC-INTERCAL, at least on UNIX
21:10:40 <ehird> I see, you are a ghc-compilation-virgin.
21:10:47 <ehird> Lucky, lucky you.
21:10:52 <ais523_> although there were line ending trouble when I tried to port CLC-INTERCAL to Windows
21:11:01 <ais523_> ehird: I can get a binary package of it, why would I need to compile it/
21:11:12 <ehird> ais523_: You should try it anyway; then you'll hate people.
21:11:48 <ais523> ehird: which version are you trying to build?
21:11:52 <ehird> 6.10.1
21:11:59 <ehird> With a bootstrapping binary of 6.8.2
21:12:08 -!- tombom has joined.
21:12:12 <ehird> Anyway, I have these weird obsession: if it's a tool I feel I'll use an awful lot and depend on; I compile it myself.
21:12:14 <ehird> *this
21:12:43 <ehird> So far, though, it seems to be working.
21:12:46 <ehird> That is good.
21:13:08 <ehird> And after this, I can trash my icky hacked-with bootstrap compiler and the source tree, and be left with a clean, solid ghc 6.10.1
21:13:11 <Slereah> What's the lambda parameter in python to say 'any number of argument'?
21:13:17 <ehird> And if I want to upgrade, I can just use my own damn ghc to compile it.
21:13:18 <ehird> Slereah: *a
21:13:23 <Slereah> kthx
21:13:42 <Slereah> (It's a list I assume?)
21:13:48 <ehird> tuple
21:14:20 <ehird> http://en.wikipedia.org/wiki/Panopticon <- The guy who invented this was a psycho
21:15:09 <ehird> Ah, my computer is whirring. That means it is doing things quickly.
21:15:12 <ehird> That is good.
21:15:24 <ehird> 84% CPU used. Very good.
21:15:31 <Slereah> Ah fuck.
21:15:34 <ehird> What.
21:15:37 <Slereah> >>> f=lambda *a:0
21:15:37 <Slereah> >>> f
21:15:37 <Slereah> <function <lambda> at 0x015EF030>
21:15:42 <ehird> Yes?
21:15:45 <ehird> You have to call it.
21:15:46 <ehird> f()
21:16:20 <ehird> Hey, I wonder why my other CPU isn't getting in on the fun
21:16:28 <ehird> well
21:16:30 <ehird> other core
21:16:44 <fizzie> "My other core is a Porsche."
21:17:02 <ehird> My other core is also an Intel.
21:17:19 <ehird> …I want a sticker saying that
21:17:54 <ehird> "Hey guys, check out this ASCII Mandelbrot Set I made [ASCII]"
21:17:55 <ehird> Seriously?
21:18:01 <ehird> Even brainfuck can do that in a few lines, goddamn.
21:18:07 <ehird> Why are you so, proggit?
21:18:08 <Slereah> 'p':lambda x,y,*a:a[x] < fuck you y you useless piece of shit
21:18:11 <ais523> I'm compiling 6.8.2 atm
21:18:17 <ehird> ais523: with what
21:18:27 <ais523> Debian sources
21:18:32 <ehird> ais523: with which ghc
21:19:08 <ehird> if it's anything other than 'a binary build in the same tree', uninstall it and try again.
21:19:09 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
21:19:13 <ehird> heh
21:22:24 <ais523_> I think it's building from the C source
21:22:29 <ais523_> ghc has a portable-C backend
21:22:32 <ehird> that's absolutely not recommended
21:22:38 <ehird> in fact, you're specifically told not to do that in the build guide
21:22:53 <ehird> nice try.
21:22:59 <ais523_> well, how could it build without a version of ghc installed already
21:23:04 <ehird> that's why you have to get one.
21:23:11 <ehird> although you do it in tree, not installed.
21:23:12 <ehird> have fun
21:23:29 -!- BeholdMyGlory_ has joined.
21:24:35 <ais523_> ehird: well, it's not as if compiling things is tricky on a Debian-based system
21:24:41 <ais523_> it's the same commands no matter what you're compiling
21:24:51 <ehird> not with an in tree ghc binary
21:25:02 <ais523_> and it always works, it's considered a critical bug to release a passage where it doesn't
21:25:10 <ehird> anyone saying that works without hacking and pain is full of shit because it's not that easy to compile ghc
21:25:31 <ehird> and compiling from the c is totally not comparable
21:26:09 <ais523_> ah, it seems to be compiling from /usr/bin/ghc6
21:26:27 <ehird> yep, that's an already installed build
21:26:30 <ehird> so that doesn't count
21:26:37 <ehird> that'll be what it's like after I have this build and want to upgrade
21:26:39 <ais523_> so I'm compiling 6.8.2 using 6.8.2
21:26:45 <ehird> the situation is compiling it from scratch using a bootstrap without isntalling it
21:26:48 <ais523_> do you want me to build the svn version using my already installed build?
21:26:51 <ehird> no
21:26:54 <ehird> that is also not comparable
21:27:26 <ais523_> well, you're trying to do something impossible, I think
21:27:38 <ais523_> which is to install ghc which is written in a language you don't have a compiler for
21:27:46 <ehird> ...
21:27:46 <ais523_> without installing or otherwise obtaining a compiler for that language
21:27:48 <ehird> i've just told you
21:27:50 <ais523_> such as ghc-in-C
21:27:51 <ehird> you DOWNLOAD A GHC BINARY
21:27:54 <ehird> unpack it and DON'T INSTALL IT
21:27:56 <ehird> then you DOWNLOAD THE SOURCE
21:27:57 <ais523_> that's ridiculous!
21:28:05 <ehird> ais523_: for values of ridiculous equal to the only supported method
21:28:18 <ehird> and for values of ridiculous equal to that's exactly what bootstrapping is
21:28:32 <ais523_> it's ridiculous because you can build it from source
21:28:39 <ais523_> requiring a binary's ridiculous because you couldn't port it
21:28:43 <ehird> yes, you can port it
21:28:47 <ehird> crosscompiler
21:28:50 <ais523_> sane bootstrap methods involve a portable backend
21:28:54 <ais523_> such as C, or bytecode
21:29:13 <ais523_> as in, you use ghc to translate ghc into C, then compile the C on someone else's system
21:29:13 <ehird> great! now you have to write two copies of the compiler
21:29:15 <ehird> and keep them in sync
21:29:15 <ehird> awesome
21:29:25 <ais523_> err, no, just two backends
21:29:27 <ehird> ais523_: er... why
21:29:29 <ehird> just do:
21:29:41 <ehird> you use ghc to compile ghc for $PLATFORM, then you copy that ghc over to the platform, and use it to compile ghc
21:29:46 <ehird> cross compiler
21:29:50 <ehird> it's how you port gcc, too
21:30:02 <ais523_> that requires ghc to have a working backend for that platform already
21:30:11 <ehird> ais523_: no it doesn't
21:30:14 <ehird> because you write one, then do that
21:31:36 -!- ais523 has joined.
21:31:42 <ehird> 20:30 ehird: ais523_: no it doesn't
21:31:42 <ehird> 20:30 ehird: because you write one, then do that
21:33:16 <ais523_> why would you need a backend at all if you only wanted to run ghci?
21:33:24 <ehird> ais523_: do you know what ghci does?
21:33:26 <ehird> it compiles then runs.
21:33:30 <ehird> you need a backend to do that.
21:33:37 <ais523_> are you sure?
21:33:40 <ehird> yes. absolutely.
21:33:44 <ais523_> a REPL invoking gcc is kind-of silly
21:33:48 <ehird> it doesn't invoke gcc
21:33:51 <ehird> it invokes ghc's api.
21:34:06 <ehird> as far as I know you can't do "ghci -fvia-C".
21:34:06 <ais523_> I thought ghc compiled to machine-specific-C
21:34:09 <ehird> no.
21:34:11 <ais523_> and used a C compiler the rest of theway
21:34:15 <ehird> it compiles to native code via C--
21:34:18 <ehird> "C--" not C
21:34:22 <ehird> yes, there is -fvia-C
21:34:26 <ehird> but it isn't used any more
21:34:30 <ehird> as it produces worse code
21:34:35 <ehird> and has no advantages
21:35:38 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)).
21:35:39 <Deewiant> The quality of the generated code depends on the program being compiled, -fvia-C is still better in some cases
21:35:47 <Deewiant> Or that's what people say, anyway; I never use it
21:35:59 <ehird> Yeah but it's being phased out
21:36:15 <Deewiant> True, but it's not completely gone yet
21:36:29 <ehird> My problem with bootstrapping is the Nuclear Catastrophe scenario
21:36:35 <ehird> suddenly, all your binaries are lost.
21:36:39 <ehird> you're fucked.
21:37:01 <ehird> also, it means your implementation is semantically em pty
21:37:08 <ehird> since it's defined only in terms of itself
21:37:12 <ais523_> err... why would you lose binaries and not simultaneously lose the sources to them?
21:37:15 <Deewiant> In that scenario binaries are not what I'd worry about :-P
21:37:17 <Deewiant> Exactly
21:37:30 <ehird> ais523_: because they're separate packages, and because of bitrot.
21:38:31 <ais523_> well, at least in CLC-INTERCAL the bytecode for the compiler is packaged together with the sources to it
21:38:43 <Deewiant> Anyway, all that means is that you should have the ability to build essentially your whole system given only the hardware
21:38:43 <ehird> say you lose all packages; just your coding tree is left
21:38:49 <ehird> I know it's not likely IRL
21:38:51 <Deewiant> If you're feeling lucky, you can assume you have a kernel
21:38:53 <ais523_> it's in my coding tree
21:38:54 <ehird> It's just a feeling of brittleness
21:39:24 <Deewiant> So go learn some asm and put printouts of the Intel manuals in some secure location :-P
21:39:30 <ais523_> or would be if I actually coded on CLC-INTERCAL
21:39:50 <ais523_> ehird: would you feel happier if the binary was written entirely in plaintext?
21:40:04 <ehird> I have a plan to devise a bootstrapping system that requires the minimum amount of code duplication while retaining almost all expressivity
21:40:07 <ehird> I should implement it sometime
21:40:27 <ais523_> yes, simply compile to source rather than to binary
21:40:35 <ehird> no
21:40:35 <Deewiant> And can it do anything useful? :-P
21:40:48 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
21:40:51 <ehird> it's not nearly as brittle; it's very very sturdy in the face of generated-code loss
21:40:53 <ehird> Deewiant: Yes.
21:40:54 <ais523_> CLC-INTERCAL will have a decompiler, for instance, eventually
21:41:09 <ehird> ais523_: you're thinking on the completely wrong level, but this conversation is highly boring atm
21:41:10 <ais523_> ehird: what if you lose everything but the binary? can you generate sources from it?
21:41:13 <ais523_> that's a more common situation
21:41:30 <Deewiant> And much more problematic
21:41:44 <ehird> You could copy the source into the binary, I guess. But I don't care about common - I care about the theory and the irritating feeling of brittleness the other types of bootstrapping give me
21:41:49 -!- ais523__ has joined.
21:42:28 <Deewiant> Even unobfuscated binaries are practically impossible to reverse-engineer past a certain point of complexity
21:44:01 <ais523_> hmm... all programs should have a --quine switch
21:44:02 <ehird> Boy, this is taking a while.
21:44:03 <ais523_> which makes them into quines
21:45:53 <Deewiant> Rather, all compilers should have a compile-time option to embed the source and such an option
21:46:09 <ais523_> yes
21:46:19 <ais523_> although it should be compile-time for the compiler, not for the thing it's compiling
21:47:15 <Deewiant> Well, there are contexts where embedding the source is something you don't want
21:47:28 <Deewiant> (Yes, even for open-source software)
21:48:13 <ais523__> embedded compilers?
21:48:15 -!- ais523__ has changed nick to ais523.
21:48:58 <Deewiant> Any embedded software, where the source code can well be too big to fit in the device it's runniing on :-P
21:49:47 -!- BeholdMyGlory_ has quit (Success).
21:50:57 <ehird> Preprocessing executables for ghc-bin-6.10.1...
21:50:58 <ehird> Building ghc-bin-6.10.1...
21:50:58 <ehird> [1 of 1] Compiling Main ( Main.hs, dist-stage2/build/ghc/ghc-tmp/Main.o )
21:51:00 <ehird> Linking dist-stage2/build/ghc/ghc ...
21:51:02 <ehird> Fuck yeah?
21:51:31 -!- Slereah_ has joined.
21:52:49 <ehird> make[2]: *** [doc.stage.2] Error 1
21:52:50 <ehird> make[1]: *** [stage2] Error 2
21:52:51 <ehird> make: *** [bootstrap2] Error 2
21:56:16 <Slereah_> Gaiz
21:56:34 <oerjan> ais523: ghci normally compiles to bytecode, though
21:56:48 <Slereah_> Owait no, nevermind
21:56:55 <ais523> oerjan: ah, that would make sense
21:56:59 <ais523> what runs the bytecode? ghci?
21:57:11 <oerjan> yeah
21:57:24 <oerjan> "By default, GHCi compiles Haskell source code into byte-code that is interpreted by the runtime system."
21:57:42 <ais523> well, that makes a lot more sense than what ehird was suggesting
21:57:47 <ais523> it makes it an actual REPL
21:58:05 <oerjan> it probably still is just a backend to that C-- thing, i assume
21:58:15 <ais523> rather than a RCRPL
21:58:53 <oerjan> "GHCi can also compile Haskell code to object code: to turn on this feature, use the -fobject-code flag either on the command line or with :set"
22:03:34 -!- Slereah has quit (Read error: 110 (Connection timed out)).
22:07:25 -!- kar8nga has quit (calvino.freenode.net irc.freenode.net).
22:07:49 -!- kar8nga has joined.
22:10:42 -!- comex has changed nick to _ais523.
22:10:55 -!- _ais523 has changed nick to A1S523.
22:13:57 <AnMaster> RCRPL?
22:14:07 <ais523_> read compile run print loop
22:14:25 <AnMaster> ais523_, sounds pretty sane if you already have implemented a compiler for the language
22:14:48 <AnMaster> if you have there is no real good reason to also design a byte code compiler and an interpreter for that
22:15:06 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
22:15:18 <Slereah_> [[['f', 'x'], 's(x)'], [['g', 'y'], 'f(y)']]
22:15:20 <Slereah_> Yessss
22:15:20 <AnMaster> or you could just use LLVM to be able to do either :)
22:15:22 <oerjan> the byte code compilation is supposedly faster
22:15:24 <Slereah_> parsing works :D
22:15:24 <AnMaster> well JIT then
22:15:27 <AnMaster> and compile
22:15:54 <AnMaster> oerjan, if it is faster to execute byte code suddenly, why does it compile anything at all in ghc?
22:15:57 <AnMaster> ;P
22:16:03 <oerjan> not execute
22:16:05 <oerjan> just compile
22:16:13 <AnMaster> ok that would indeed be true
22:16:16 <oerjan> native code is 10-20 times faster to execute
22:16:30 <AnMaster> oerjan, you could JIT it
22:17:00 <AnMaster> anyway I would just use LLVM since with LLVM I could just use the built in functionality to compile to native, JIT it, or even interpret it
22:17:03 <AnMaster> :)
22:17:06 <oerjan> i failed at finding any specific information on how bytecode compilation differs from the native code paths
22:17:18 <AnMaster> oerjan, grep the source?
22:17:23 <oerjan> for ghc
22:17:40 <oerjan> i don't have it installed, just web browsing
22:19:44 <AnMaster> oerjan, you don't have ghc installed?
22:19:49 <oerjan> no
22:19:58 <AnMaster> I thought you were a haskell fan?
22:20:33 <oerjan> well it is my favorite language, but i don't actually do that much programming
22:23:20 <Slereah_> eval(i[0][1]) < what ain't right in that expression?
22:24:16 <oerjan> well assuming i[0][1] is an appropriate string, i would think nothing
22:24:48 <Slereah_> it tells me there's a syntax error :o
22:24:59 <ais523_> Slereah_: what lang?
22:25:02 <Slereah_> Python
22:25:15 <oerjan> well what does i[0][1] contain?
22:25:15 <ais523_> why the curried arrays?
22:25:41 <oerjan> the syntax error might be from the string contents
22:25:45 <Slereah_> it contains a string, though it wouldn't know that since the program won't even run!
22:26:01 <lament> paste more stuff
22:26:05 <lament> the error is somewhere else
22:26:12 <Slereah_> for i in prog :
22:26:12 <Slereah_> func[i[0][0]]=lambda eval(i[0][1]):eval(i[1])
22:26:19 <lament> haha
22:26:23 <oerjan> no arguments to the lambda
22:26:34 <Slereah_> The argument is in the eval :(
22:26:43 <lament> you can't do that.
22:26:47 <Slereah_> Shit
22:26:48 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:26:59 <lament> put the entire lambda inside the eval.
22:27:11 <lament> Though i have no idea why you would ever want to do whatever you're doing.
22:27:26 <Slereah_> Horrible stuff.
22:27:32 <Slereah_> http://esolangs.org/wiki/Limp
22:29:41 <Slereah_> it may works, but since python gives me "'g': <function <lambda> at 0x015ED3B0>", i'll have to try it.
22:30:17 <oerjan> i guess you'll need to be careful to get things evaluated when you want
22:30:39 <Slereah_> i don't care too much about the order in that particular case, though
22:30:47 <Slereah_> it's only functions.
22:31:17 <ais523> oh no, I just saw http://thedailywtf.com/Comments/Tax-Broke.aspx
22:31:23 <ais523> the oh no is due to zzo38 trying to comment on it
22:31:28 <oerjan> so, will "lambda " + i[0][1] + ":" + i[1] do?
22:31:39 <oerjan> er, eval of that
22:31:39 <Slereah_> Oh fuck
22:31:55 <Slereah_> i forgot the function to turn functions into dic['function']
22:32:22 <Slereah_> Let's be doin that
22:33:00 <Slereah_> Hm.
22:33:06 <ais523> I don't think the world's ready for xxo38
22:33:07 <ais523> *zzo38
22:33:09 <Slereah_> i could do it in an extremely lazy way.
22:33:18 <Slereah_> And i don't mean lazy evaluation.
22:36:55 <Slereah_> def dikdik(x,y):
22:36:55 <Slereah_> y = y.replace('s(','').replace(')','').split(',')
22:36:55 <Slereah_> z = x.split('(').split(')')
22:36:55 <Slereah_> for i in z :
22:36:55 <Slereah_> if i not in y :
22:36:55 <Slereah_> x.replace(i,'func['+i+']')
22:36:57 <Slereah_> return x
22:37:01 <Slereah_> oh yeah, that's lazy.
22:37:08 <Slereah_> possibly non-working, but let's hope!
22:44:49 <Slereah_> Yesss.
22:45:59 <Slereah_> Let's try the addition program!
22:46:47 <Slereah_> owait, i forgot to define the s(x) thingy first.
22:50:41 -!- A1S523 has changed nick to comex.
22:58:02 -!- neldoreth has joined.
22:59:51 -!- KingOfKarlsruhe has joined.
23:12:44 -!- tombom has quit ("Peace and Protection 4.22.2").
23:36:51 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
23:39:09 <Slereah_> forgot the case where the function is defined twice :(
23:39:21 <Slereah_> this code is getting uglier with each exception
23:40:52 <ehird> Slereah_: yes, because your code is shit
23:40:58 <ehird> you shouldn't do eval like that
23:41:40 <Slereah_> What would you advise?
23:41:53 <ehird> what do you mean?
23:42:04 <Slereah_> Instead of doing that.
23:42:07 <ehird> ...
23:42:08 <ehird> what
23:42:12 -!- AnMaster has quit (Connection reset by peer).
23:42:23 <Slereah_> I assumed that since you though it was shit, you'd have a better idea.
23:43:04 <ehird> not doing that?
23:43:07 <ehird> is my better idea.
23:43:18 <Slereah_> And doing what instead? :o
23:43:28 <ehird> what the heck do you mean! just write it normally
23:43:49 <Slereah_> I'm afraid you'll have to define what "that" is a little better then
23:43:55 <Slereah_> I'm not too sure what you're talking about
23:45:16 <ehird> ... just write it as a normal interpreter
23:45:42 <Slereah_> How would you go about that?
23:45:55 <Slereah_> So far that's the best way I found.
23:46:55 <ehird> I can't believe you don't know how to write an interpreter
23:46:59 <ehird> It's so intuitive I can't even explain it
23:47:10 <Slereah_> Heh.
23:47:24 <Slereah_> I can do okay with machines that work step by step.
23:47:36 <Slereah_> It's the whole function definition that's causing me troubles.
23:51:01 -!- AnMaster has joined.
23:53:19 <Slereah_> I should rewrite it from the start and not forget shit.
23:53:29 <Slereah_> But later. Now is sleepy time.
23:55:31 -!- atrapado has quit ("Abandonando").
23:59:30 -!- KingOfKarlsruhe has quit (Remote closed the connection).
2009-03-25
00:01:18 -!- madbr has joined.
00:01:21 <madbr> hey
00:01:40 <ehird> hi
00:02:55 <FireFly> 'lo, night
00:02:58 -!- FireFly has quit ("Later").
00:05:22 <AnMaster> I so hate my knee... It hit the reset button when I was bending behind the computer to move the VGA cable to another computer (headless) that just locked up
00:05:46 <ehird> Amputate it.
00:06:04 <AnMaster> ehird, hm there are downsides to that I heard, like pain
00:06:09 <AnMaster> but I shall consider it
00:06:38 <AnMaster> ehird, anyway the system that locked up used 2.6.29... And it wasn't locked up. Just network was suddenly non-functional
00:06:50 <AnMaster> as in, ifconfig said "time out"
00:06:53 <ehird> Uh oh, I found the scp wiki again.
00:06:56 <ehird> Time to scare myself.
00:07:20 <ais523> why does scp need a wiki?
00:07:31 <ehird> not that scp
00:07:34 <ehird> http://scp-wiki.wikidot.com/
00:07:39 <ais523> boring
00:07:45 <ais523> an ssh wiki would be kind-of fun
00:07:46 <ehird> it is so not boring!
00:07:48 <ehird> it's great scifi
00:09:07 <AnMaster> <ais523> an ssh wiki would be kind-of fun
00:09:10 <AnMaster> agreed
00:09:15 <AnMaster> like
00:09:24 <AnMaster> you edit by scping new versions of the article
00:09:28 <AnMaster> or such
00:09:39 <ais523> oh, I meant a wiki about ssh
00:09:41 <ais523> but that would work too
00:09:45 <AnMaster> ais523, oh that is boring
00:09:51 <AnMaster> a wiki about ssh I mean
00:09:55 <ehird> AnMaster: that's just http post in disguise, erally
00:09:57 <ehird> *really
00:09:59 <AnMaster> a wiki using ssh would be funnier
00:10:21 <AnMaster> ehird, how? You could have menu interface over ssh to do it instead
00:10:31 <ehird> how is that interesting
00:10:33 <AnMaster> NAO style
00:10:42 <AnMaster> but ssh not telnet
00:10:49 <ais523> telnetwiki might work
00:11:03 <ais523> or a fingerwiki, just because
00:11:09 <AnMaster> ais523, :D
00:11:11 <ehird> fingerwiki=gopherwiki.
00:11:20 <AnMaster> ehird, a lot more interesting than the wiki you linked anyway
00:11:33 <ehird> AnMaster: err... why?
00:11:36 <ehird> it's just scifi
00:11:41 <ehird> totally separate things
00:11:52 <AnMaster> scifi isn't very interesting
00:12:05 <AnMaster> at least not the treknobabel type of scifi
00:12:12 <AnMaster> there is some better ones too yes
00:12:16 <ehird> the scp foundation isn't technobabble.
00:13:28 <ehird> but... scifi not interesting? ô_o
00:17:21 <AnMaster> ehird, not really no.
00:17:44 <AnMaster> ehird, unless realistic. Hyperspace and subspace and what not and I'm definitely not interested
00:18:06 <ehird> do you know what fiction is, AnMaster?
00:18:45 <AnMaster> ehird, yes, but I know some great scifi that tries to work inside the known physical laws.
00:18:53 <AnMaster> which is semi-interesting
00:19:00 <AnMaster> night
00:19:02 <ehird> And, you like terry pratchett books?
00:19:04 -!- Sgeo has joined.
00:19:11 <AnMaster> ehird, scifi != fantasy
00:19:15 <AnMaster> different genres
00:19:24 <ehird> I see. So only one genre gets the right to do ridiculous shit with the world.
00:20:13 <ehird> Further Notes: "Some of the technology-savvy Class-D personnel have been arguing over whether or not SCP-062's operating system is a descendant of the Microsoft Inc. or Apple Inc. operating systems. To shut them up, I told them that it was a descendant of Linux. It worked." - Dr. Leichtenstein
00:20:17 <ehird> — http://scp-wiki.wikidot.com/scp-062
00:20:18 <AnMaster> ehird, Depends on how it does it. If it does it while joking I'm fine with it. Like HHGTG. But if it does it while somehow pretending to be serious like Star Trek or such, then I'm not ok with it
00:20:24 <ehird> Yes, it is fun to joke around about whether or not SCP-062 would be able to run Crysis. However, if I find any more bored guards trying to install the damn game onto SCP-062 one more time… You just don't want to do it. Okay? - Dr. Tong
00:20:31 <ehird> now that's just silly.
00:23:04 <Sgeo> <3 the SCP wiki
00:23:34 <ehird> http://scp-wiki.wikidot.com/scp-055 is simply genius
00:24:02 <Sgeo> ehird, that was written by Sam Hughes
00:24:06 <ehird> Was it?
00:24:07 <Sgeo> the Fine Structure guy
00:24:08 <ehird> Awesome!
00:24:16 <ehird> Sam Hughes is great.
00:24:56 <Sgeo> Check out the comments on http://qntm.org/?halfway
00:25:04 <Sgeo> Well, just search for SCP
00:25:26 <ehird> Nice
00:25:40 <Sgeo> That's how I discovered the SCP wiki, actually
00:38:05 -!- ais523_ has quit ("http://www.mibbit.com ajax IRC Client").
00:41:11 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
00:47:22 -!- olsner has quit ("Leaving").
01:03:27 <ehird> 12) Although it is entirely possible to use SCPs currently under control of the Foundation to create tentacle monsters, no.
01:03:31 <ehird> — http://scp-wiki.wikidot.com/the-things-dr-bright-is-not-allowed-to-do-at-the-foundation
01:24:30 -!- lament has quit (Read error: 110 (Connection timed out)).
01:31:51 -!- madbr has quit (Read error: 104 (Connection reset by peer)).
01:51:18 <Sgeo> ehird, you can hear how I pronounce "Sgeo"
01:51:24 <ehird> err k
01:54:05 -!- psygnisfive has joined.
02:05:35 <Sgeo> ehird, did you find it?
02:22:55 -!- oepy has quit (Read error: 113 (No route to host)).
04:16:58 -!- GreaseMonkey has joined.
04:32:41 -!- oerjan has quit ("ZNRZZQKK").
04:40:49 -!- ab5tract has joined.
05:09:04 -!- bsmntbombdood has quit (Remote closed the connection).
05:09:53 -!- bsmntbombdood has joined.
05:14:29 -!- ab5tract has quit.
05:36:43 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
07:07:42 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:15:24 -!- FireFly has joined.
08:57:18 -!- FireFly has quit ("Later").
09:01:49 -!- tombom has joined.
09:44:50 -!- ais523 has joined.
10:27:00 -!- amca has joined.
12:11:30 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
12:21:20 -!- ais523 has joined.
12:23:06 -!- neldoret1 has joined.
12:23:28 -!- neldoreth has quit ("leaving").
12:46:48 <ais523> kerlo: http://nicolaas.net/dudley/index.php?f=20050912 <-- is that yours?
13:38:36 -!- oerjan has joined.
14:06:34 -!- FireFly has joined.
14:19:57 -!- nooga has joined.
14:20:22 <nooga> oko
14:20:28 <ais523> okoko
14:21:16 <nooga> noga
14:23:19 <oerjan> noganoga
14:23:26 <ais523> noganoganoga
14:23:35 <nooga> nogaokonoga
14:23:52 <ais523> okonogokoga
14:24:17 <nooga> meh, listening to royksopp
14:25:00 <nooga> brb
14:25:08 -!- nooga has quit.
14:25:22 -!- Mony has joined.
14:26:16 <oerjan> no:røyksopp = en:puffball, btw
14:33:51 -!- amca has quit ("Farewell").
15:02:03 -!- Hiato has joined.
15:09:40 <AnMaster> hi ais523
15:09:46 <ais523> hi
15:28:25 -!- BeholdMyGlory has joined.
16:10:07 -!- KingOfKarlsruhe has joined.
16:33:46 -!- FireFly has quit ("Later").
16:35:15 -!- BeholdMyGlory has quit (Remote closed the connection).
16:35:18 -!- FireFly has joined.
16:38:03 -!- BeholdMyGlory has joined.
16:57:04 -!- oerjan has quit ("leaving").
18:13:27 -!- Mony has quit (Read error: 110 (Connection timed out)).
18:20:28 -!- BeholdMyGlory has quit (SendQ exceeded).
18:21:08 -!- BeholdMyGlory has joined.
18:38:46 -!- neldoret1 has changed nick to neldoreth.
18:47:21 -!- Mony has joined.
18:58:48 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:29:02 -!- ais523 has quit (Remote closed the connection).
19:31:17 -!- nooga has joined.
19:31:24 <nooga> anyone used openmp?
19:43:04 -!- tombom has quit ("Peace and Protection 4.22.2").
19:50:37 <nooga> ;P
19:55:37 <ehird> 11:46 ais523: kerlo: http://nicolaas.net/dudley/index.php?f=20050912 <-- is that yours?
19:55:40 <ehird> Almost certainly.
19:55:54 <ehird> I have various evidences but it would reveal the degree to which I stalk everyone in this channel.
19:56:07 <Slereah_> ehird : what did you find out about me!
19:56:18 <ehird> Slereah_: Oh, I just stalked your website, which had nothing on.
19:56:40 <Slereah_> You're so lazy.
19:56:52 <Slereah_> Did you at least find all the folders?
19:57:55 <ehird> No.
19:58:25 <ehird> Well anyway,
19:58:36 <ehird> 1) "ihope". pretty big giveaway
19:58:44 <ehird> 2) "My first comic :-)". In 2005, ihope used :-) excessively.
19:58:51 <ehird> "Oh, goodie potion!" sounds ihope.
19:58:56 <AnMaster> ehird, hi there. Is there anything like TortoiseSVN for OS X?
19:58:59 <ehird> Also, quite a bit of exclamation marks.
19:58:59 <ehird> End.
19:59:07 <ehird> AnMaster: Jumping off a cliff. But, yes there are some frontends.
19:59:09 <AnMaster> I mean integrating into Finder or whatever
19:59:15 <ehird> No Finder integration that I know of.
19:59:23 <AnMaster> ehird, ah ok. Would that be hard to do?
19:59:33 <ehird> Not sure. Why do you ask?
20:00:23 <AnMaster> ehird, I got asked about this by some user wanting to try the SVN version of a software and he said he had liked TortoiseSVN back on windows but couldn't find anything like it now on OS X
20:00:48 <ehird> AnMaster: if you want to use GUI subversion on OS X, http://versionsapp.com/ seems the most popualr way.
20:00:51 <ehird> It looks pretty, at least.
20:01:00 <ehird> I don't think it finder-integrates.
20:01:18 <AnMaster> mhm
20:01:26 <ehird> It may, though.
20:02:19 <AnMaster> ehird, well I shall mention it to him. On the other hand Finder is pretty dumb in my experience, even Windows Explorer thingy can show hidden files but it seems Finder is unable to show dotfiles. At least on Tiger
20:02:28 <AnMaster> haven't used the last cat
20:02:50 <ehird> Finder is pretty dumb, yes. It's useful for about 80% of things, though.
20:03:23 <ehird> There's Path Finder — http://www.cocoatech.com/ — but I don't like it.
20:03:32 <AnMaster> ehird, well true, but for the remaining 20% you need to go to the shell (which is powerful certainly) there seems to be nothing in between though
20:03:35 <AnMaster> hm ok
20:03:56 <ehird> Yeah, you have to use the shell. It works because most people don't do the 20% :P
20:03:59 <AnMaster> ehird, why not?
20:04:03 <ehird> AnMaster: you can go to a hidden folder though
20:04:08 <ehird> Cmd-shift-g
20:04:30 <ehird> also, it just didn't feel smooth last time I tried it
20:04:34 <ehird> fiddly to use and bloated
20:05:59 -!- nooga has quit (Read error: 60 (Operation timed out)).
20:06:16 <ehird> Sgeo: I did not find it.
20:06:32 <AnMaster> ehird, that Cmd thing, most of the Swedish mac users I know call it "sevärdhet", because it is the same sign (the square with circles in the corners) as the Swedish roadsign used for interesting place (tourist attraction, rune stone or such usually)
20:06:40 <ehird> Yes.
20:06:47 * AnMaster wonders how to translate "sevärdhet" to English
20:06:54 <ehird> I forget the name
20:06:58 <ehird> It's just "place of interest sign"
20:07:00 <AnMaster> "worth-to-see" as a noun?
20:07:16 <AnMaster> that is what sevärdhet means
20:07:22 <ehird> AnMaster: The keyboards all had an Apple on; but Jobs didn't like the apple symbol cluttering up the menus (it felt like it belittled the logo or something, I think he said)
20:07:29 <ehird> So they looked through the character set and picked one that looked nice
20:07:30 <AnMaster> heh
20:07:39 <ehird> Now the symbol is on the keyboards too to reduce the confusion
20:08:02 <ehird> I'd like to figure out a nice way to define new shortcuts, e.g. <CTCP>Option-Control- as a prefix.
20:08:10 <ehird> So I could do Option-Control-< for a unicode <-
20:08:16 <ehird> Option-Control-c for the command sign, etc
20:08:21 <ehird> It's probably possible, i'm just lazy
20:10:57 -!- nooga has joined.
20:14:47 <fizzie> I've used the "Ukelele" keyboard layout edit-a-matic on OS X, but I'm not sure if it's the right tool for this particular case.
20:15:43 <nooga> ukulele keyboard layout?
20:15:43 <nooga> ;d
20:15:46 <nooga> wtf?
20:17:43 <fizzie> Ukelele, with an E. It comes from "Unicode KEybaord Layout Editor"... uh, LE. Their icon looks like an ukulele, though.
20:23:27 -!- Freya_ has joined.
20:23:31 <ehird> Yeah.
20:23:33 <ehird> I've used it.
20:23:38 <ehird> But can it bind option-control-?
20:23:41 <kerlo> AnMaster: "a must-see" sounds like a somewhat stronger version of that.
20:24:03 <AnMaster> kerlo, err?
20:24:09 * kerlo shrugs
20:24:24 <fizzie> I don't know. There were some modifier-restrictions. Combined with DoubleCommand you could certainly get those physical keys bound, if you don't mind the fact that you'd lose all other shortcuts. :p
20:24:54 <AnMaster> fizzie, the LE meaning?
20:24:57 <kerlo> But yeah, "place of interest".
20:24:59 <AnMaster> Light Edition?
20:25:14 <fizzie> AnMaster: Probably nothing, they just wanted it to sound like ukulele. It's not part of the official name.
20:25:26 -!- Hiato has quit ("Leaving.").
20:26:50 -!- Freya_ has changed nick to nooga_.
20:26:55 <nooga_> wut?
20:31:06 -!- Mony has quit ("Quit").
20:36:03 -!- olsner has joined.
20:37:08 <ehird> kerlo: so, was it you?
20:41:32 -!- nooga has quit (Read error: 110 (Connection timed out)).
20:41:33 -!- FireFly has quit (Remote closed the connection).
20:42:43 -!- FireFly has joined.
20:43:43 <ehird> I need an extra modifier key.
21:04:42 <ehird> http://bugs.opensolaris.org/view_bug.do;jsessionid=9e7ec0f28038d47bc703ac62d3c3?bug_id=4530641
21:04:43 <ehird> http://bugs.opensolaris.org/view_bug.do;jsessionid=9e7ec0f28038d47bc703ac62d3c3?bug_id=4628215
21:05:23 <nooga_> O.O
21:16:59 <ehird> nooga_ do I recognize you
21:17:09 -!- tombom has joined.
21:19:05 -!- nooga_ has changed nick to nooga.
21:19:14 <nooga> ehird: should you?
21:19:17 <ehird> dunno
21:23:34 <nooga> probably
21:28:37 <kerlo> ehird: I don't know what you mean by "it", so I'm guessing no.
21:28:59 <ehird> kerlo: The nethack comic ais523 linked.
21:29:19 <nooga> wut?
21:30:00 <nooga> GregorR: coolhatguy
21:30:14 <kerlo> Oh.
21:30:53 <kerlo> That depends on whether it's any good or not.
21:31:46 <ehird> kerlo: It was marked as "ihope" so I assume so.
21:31:52 <ehird> Also, it had a writing style similar to yours when ihope.
21:32:02 <ehird> 11:55:37 <ehird> 11:46 ais523: kerlo: http://nicolaas.net/dudley/index.php?f=20050912 <-- is that yours?
21:32:27 <kerlo> Your description of it suffices to verify that it was me.
21:32:33 <kerlo> Now, is it any good?
21:34:18 <ehird> Yes.
21:37:07 <nooga> yeah
21:37:35 <nooga> just wrote prime finding program that runs on every available core ;d
21:42:23 <ehird> nooga: that's not exactly difficult :P
21:42:31 <ehird> i'd ask for it, 'cept I don't have my octo-core system yet
21:42:49 <nooga> yea but it's entertaining
21:43:03 <nooga> trying openMP
21:43:11 <nooga> and icc compiler
22:09:03 <FireFly> [21:32:07] <ehird> 11:55:37 <ehird> 11:46 ais523: kerlo: http://nicolaas.net/dudley/index.php?f=20050912 <-- is that yours?
22:09:13 <ehird> 21:09 FireFly: [21:32:07] <ehird> 11:55:37 <ehird> 11:46 ais523: kerlo: http://nicolaas.net/dudley/index.php?f=20050912 <-- is that yours?
22:09:13 <FireFly> That looks pretty borken in Opera
22:09:25 <ehird> Screenshot?
22:10:16 <FireFly> http://imagebin.ca/view/Svoh0CJR.html
22:11:00 <ehird> FireFly: Looks fine apart from being cut off.
22:11:15 <FireFly> Well, yeah
22:11:25 <FireFly> But that's quite serious
22:11:33 <FireFly> The cut-off
22:11:34 <ehird> Grow window?
22:11:46 <FireFly> It doesn't help
22:11:59 <FireFly> Hm
22:12:01 <ehird> Ctrl+?
22:12:48 <FireFly> .. Ctrl & + ?
22:12:54 <FireFly> No zoom?
22:12:57 <FireFly> To*
22:13:12 <FireFly> = everything zooms, doesn't help
22:13:20 <FireFly> everything scales
22:13:38 <FireFly> The width looks pretty static
22:14:32 <ehird> Shrink just text size? The site is dead since jan, so I doubt it'll be fixed
22:15:24 -!- oerjan has joined.
22:15:55 <FireFly> Hm
22:16:10 <FireFly> Editing away the ad worked
22:16:12 * oerjan swats FireFly -----###
22:16:26 <FireFly> Massage :3
22:17:19 <oerjan> <ehird> I have various evidences but it would reveal the degree to which I stalk everyone in this channel.
22:17:26 <oerjan> wait, what
22:17:32 * oerjan gets nervous
22:17:42 <ehird> :-D
22:17:44 <oerjan> <ehird> I have various evidences but it would reveal the degree to which I stalk everyone in this channel.
22:17:48 <oerjan> oops
22:17:50 <ehird> wait, what
22:17:53 * ehird gets dejavuous
22:18:20 <oerjan> i brushed dust off my keyboard and hit the right trackpad key
22:18:39 <FireFly> What do you know about.. me? More than that I'm swedish and my age?
22:18:40 <FireFly> :D
22:19:16 <nooga> aaaaaa
22:19:30 <nooga> FireFly: stockholm ?:>
22:19:38 <ehird> FireFly: Er, nothing, give your site address and I'll give it a shot. :P
22:19:49 <FireFly> Well... yeah, nooga
22:20:09 <FireFly> Or, close to Stockholm
22:20:20 <FireFly> ehird, no, but thanks for the Offer
22:20:24 <FireFly> -O+o
22:20:32 <ehird> FireFly: I could just google it./
22:20:40 <FireFly> I was thinking in german :<
22:20:43 <nooga> FireFly: i like that city, have been there several times and coming back in May
22:20:47 <nooga> ;o~
22:20:48 <FireFly> :<
22:20:51 <FireFly> Stalker
22:20:53 <FireFly> :D
22:22:54 <oerjan> * AnMaster wonders how to translate "sevärdhet" to English
22:23:00 <oerjan> tourist trap? ;D
22:23:21 <AnMaster> ahahaha
22:23:44 <nooga> :D
22:24:21 <nooga> having a beer on selgers torg ftw
22:25:43 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
22:27:45 <FireFly> Muhahaha, I has my teah
22:27:47 <FireFly> -h
22:28:33 <nooga> :F
22:30:07 <nooga> I has my korv
22:31:23 <oerjan> i has my tapwater
22:32:01 <nooga> I has my royksopp
22:32:03 <nooga> ;d
22:32:24 <oerjan> nooga: is it an edible variant?
22:32:40 <ehird> nooga: the band or the food
22:32:45 <ehird> err not food
22:32:50 <nooga> lol
22:32:52 <ehird> what does en:röyksopp mean again
22:32:54 <ehird> I have no idea.
22:32:55 <nooga> it's not quite eatable
22:32:56 <ehird> err
22:33:00 <ehird> no:röyksopp
22:33:02 <oerjan> puffball
22:33:06 <nooga> yep
22:33:10 <nooga> smoke mushroom
22:33:12 <nooga> ;p
22:33:26 <oerjan> some of them are edible
22:33:33 <oerjan> before they start smoking
22:33:38 <nooga> oh
22:33:41 <nooga> are they tasty?
22:33:52 <ehird> i logically deduce it must be the band
22:33:53 <oerjan> i'm not sure if i have tasted any
22:34:07 <oerjan> maybe, since they tend to grow on lawns
22:34:37 -!- soad6 has joined.
22:34:53 <oerjan> strictly speaking the mushroom is with ø, not ö. the band is just being cööl i suppose
22:35:14 <nooga> i like those northern vowels
22:35:27 <soad6> hey anyone here know why soundjuicer is running extremely slow when i rip an audio cd to .mp3 files
22:35:30 <soad6> ???
22:35:50 <ehird> ...
22:35:54 <ehird> okay so
22:35:56 <ehird> what brings you here.
22:36:16 <ehird> i'm trying to figure out how you think that's relevant, see
22:36:19 <Slereah_> Let's make an esolang to solve that problem
22:36:47 <FireFly> It has to be turing complete, though
22:36:48 <soad6> idk cuz i felt like it was cuz it said cd-r and stuff on the blog
22:36:56 <nooga> soad6: most probably your computer is slow. and hence that mp3 encoding is always greedy for computing power
22:37:19 <soad6> a 2.4GHz dual-core with 2GB of ram
22:37:26 <soad6> lol
22:37:31 <nooga> that's slow
22:37:35 <nooga> previous epoch
22:37:39 <ehird> soad6: what brought you here>?
22:37:40 <soad6> its a laptop
22:37:52 <ehird> 21:36 soad6: idk cuz i felt like it was cuz it said cd-r and stuff on the blog
22:37:54 <ehird> I don't understand.
22:38:01 <FireFly> What blag?
22:38:26 <soad6> the blog title said cd-r so thought maybe u'd know something with programs that have to do with cds
22:38:32 <ehird> WHAT BLOG TITLE?
22:38:35 <ehird> I don't know about any blog.
22:38:37 <ehird> Give a link.
22:38:41 <soad6> guess not the one for freenode...
22:38:54 <nooga> %|
22:38:54 <ehird> ..
22:38:57 <FireFly> ...what?
22:38:59 <ehird> soad6: what's the link
22:39:11 <ehird> FireFly: he saw "esoteric" and "cd-r" together on a blog, as far as I can grok.
22:39:19 <soad6> (eq? (cdr my-cars) 'cdr) | http://tunes.org/~nef/logs/esoteric/?C=N;O=D
22:39:20 <FireFly> Hm
22:39:25 <FireFly> The topic?
22:39:33 <ehird> soad6: oh, haha
22:39:34 <soad6> yeps
22:39:37 <oerjan> soad6: that's not a blog, that's a log. hm wait.
22:39:37 <ehird> No, that's totally different.
22:39:45 <oerjan> it's a log, and on the web...
22:39:45 <ehird> "cdr" is an operation in the lisp programming language.
22:39:57 <soad6> ok yea kinda a newb
22:39:58 <ehird> Nothing to do with cd-rs; we're programming people.
22:40:12 <soad6> ok then
22:40:25 <soad6> well that helps explain
22:40:34 <ehird> But we're offtopic most of the time.
22:40:38 <ehird> So your question was rather confusing
22:40:49 <ehird> Soundjuicer probably has an irc channel
22:40:57 <FireFly> Well, since offtopic is on topic
22:41:07 <FireFly> And the question was offtopic
22:41:14 <FireFly> ...it was on topic
22:41:21 <FireFly> </confusing>
22:41:22 <soad6> oh ok... can you guys think of any good programs for riping then besides stupid audio juicer
22:41:32 <soad6> if not thats kool
22:41:38 <ehird> soad6: cdparanoia.
22:41:42 <ehird> It's command-line, but rather simple.
22:41:50 <FireFly> For Windows, I guess? ._.
22:41:52 <ehird> No.
22:41:55 <ehird> http://www.xiph.org/paranoia/
22:41:57 <nooga> yaay
22:42:00 <soad6> ok sounds good ....No Linux
22:42:05 <nooga> zombol goes north!!
22:42:09 <FireFly> Ah, well, good
22:42:11 <soad6> ill go thru synaptic
22:42:23 <soad6> ok later
22:42:28 -!- soad6 has quit ("Ex-Chat").
22:42:30 <ehird> bye..
22:42:32 <FireFly> Alrighty
22:43:07 <FireFly> My first impression was that it was some Windows guy ._.
22:43:31 <ehird> Sound Juicer is linux-only.
22:43:31 <nooga> I'm starting in a rally --> http://www.zlombol.gghost.eu/?page_id=46
22:43:48 <ehird> nooga: what?
22:44:03 <nooga> the funny thing in that rally is that all participants must use eastern, vintage cars
22:44:32 <oerjan> trabants and ladas?
22:44:39 <nooga> and the cars must be bought for less than 300 euro
22:45:07 <FireFly> Hm
22:45:12 <nooga> trabants, ladas, fiat 125/126p, polonez, zastavaa
22:45:13 <nooga> etc
22:45:15 <nooga> ;d
22:45:34 <oerjan> fiat counts as eastern?
22:45:46 <FireFly> Why is the google map in german, if the rest of the page is in.. polish?
22:45:54 <FireFly> And
22:45:55 <nooga> unfotunately, my vintage mercedes benz is worth more than 300 and it's german
22:46:02 <nooga> FireFly: dunno
22:46:29 <ehird> 300 euro? How much is that in pounds?
22:46:35 <ehird> £278.
22:46:38 <ehird> That's pretty cheap.
22:47:04 <FireFly> Seems not only germans are in love with Swedish moose warning signs ._.
22:47:10 <nooga> oerjan: yep, look:http://en.wikipedia.org/wiki/Fiat_126
22:47:34 <nooga> ehird: yea, these cars are rather piece-o-crap
22:47:51 <nooga> you can buy 126 for, idk, 30eur
22:48:09 <FireFly> :o
22:48:31 <ehird> nooga: you can buy 126 of them for that?! ;-)
22:48:33 <ehird> joking
22:48:47 <FireFly> Thatd be rather nice
22:48:51 <FireFly> +'
22:48:57 <ehird> yeah it's like having 126 cores.
22:49:14 <nooga> FireFly: warning signs in sweren are cool, i saw ones with ppl in pyjamas or trolls or a guy walking several wolverines
22:49:15 <FireFly> "What, only hexcore?"
22:49:15 <nooga> ;d
22:49:22 <FireFly> ...
22:49:30 <FireFly> Why don't I ever see those?
22:49:48 <nooga> ah, exceptional
22:49:52 <nooga> in hidden places
22:49:56 <FireFly> Ah
22:49:56 <nooga> small vilages etc
22:50:08 <FireFly> Propably homemahe then, I guess
22:50:18 <FireFly> s/homemahe/homemade/
22:51:07 <nooga> wreck rally... sounds fun
22:53:12 <nooga> http://www.youtube.com/watch?v=yHdufEb28ss
22:53:14 <nooga> :D
22:54:18 <FireFly> Heh
22:54:26 <FireFly> ...that isn't sweden?
22:54:54 <FireFly> I thought different countries had different signs, at least
22:55:31 <FireFly> But those signs looks quite a lot like our Swedish ones to me
22:55:50 <nooga> nah
22:56:06 <nooga> http://www.youtube.com/watch?v=R811nb9eEao&feature=related
22:56:07 <nooga> :D
22:56:53 <FireFly> Santa poo?
22:56:59 <oerjan> http://en.wikipedia.org/wiki/Vienna_Convention_on_Road_Signs_and_Signals
22:57:02 <FireFly> Someone dislikes chrismas
22:57:07 <nooga> http://www.youtube.com/watch?v=5aEXIXRcPA8&feature=related <--- this one is most crazy thing done with 126 i saw
22:57:08 <FireFly> +t
22:57:45 <FireFly> Lul
22:58:07 <FireFly> Must've looked quite strange
23:03:43 <ehird> http://www.youtube.com/watch?v=5aEXIXRcPA8&feature=related <-- that's an absolutely appalling disregard for safety and I LOVE IT
23:04:05 <nooga> ehird: Polish fantasy ;d
23:04:15 <nooga> obiously done by some village faggots
23:04:18 <nooga> but still
23:04:25 <ehird> yeah, only gay people would drive such a car.
23:04:31 <ehird> i mean it's all pink and has cocks on the frnot.
23:04:32 <ehird> *front
23:04:54 -!- BeholdMyGlory has joined.
23:05:16 <nooga> oh boy, this rally will be so cool
23:05:24 <nooga> last one was ending in monaco
23:05:29 <nooga> monte-cassino
23:07:33 <nooga> http://www.youtube.com/watch?v=fqZ4QvwO_i8&feature=related
23:17:49 <nooga> :f
23:21:29 <FireFly> Aber jetzt muss ich schlafe, auf wiedersehen
23:21:38 -!- BeholdMyGlory has quit ("goodnight").
23:21:40 <ehird> http://globalnerdy.com/wordpress/wp-content/uploads/2007/09/sicp.jpg
23:22:03 <FireFly> Relevant picture
23:22:06 <nooga> ehird?
23:22:14 <nooga> FireFly: god natt or sth
23:22:23 <FireFly> :D
23:22:24 * oerjan swats an extra n to FireFly -----###
23:22:29 <FireFly> It correct
23:22:45 <FireFly> oerjan, warum? :(
23:22:49 <oerjan> *schlafen
23:22:53 <FireFly> Ah
23:22:58 <FireFly> Meh
23:23:11 <FireFly> No german tomorrow anyway
23:23:24 <FireFly> But, night ---------->
23:23:26 -!- FireFly has quit ("Later").
23:24:02 <oerjan> ehird: erm, is that a genuine cover?
23:24:11 <ehird> no but it should be
23:24:57 <nooga> me does not understandz
23:27:18 -!- tombom has quit ("Peace and Protection 4.22.2").
23:46:22 <psygnisfive> hello chillins.
23:46:40 <psygnisfive> and what i mean by that, since i love ehird so much, is...
23:46:42 <psygnisfive> BITCHES
23:47:12 <nooga> http://codepad.org/FrBbSp3F :D
23:48:01 <psygnisfive> funny, i just got one of those
23:52:45 <nooga> by me
23:59:10 <fizzie> Hrm, I just realized why the subpixel rendering on this other monitor sucks: I've rotated it 90 degrees. I just don't think GTK has per-Xinerama-screen font rendering configuration. Or if it does, I don't know how to do it.
2009-03-26
00:06:14 <nooga> mimp puup
00:06:56 <oerjan> ke du sei før nåkka
00:07:41 <nooga> jeg va ikke
00:08:06 -!- Dewio has joined.
00:08:23 <oerjan> s/va/vet/, probably
00:08:52 <nooga> dunno
00:09:14 <nooga> shall we try Polish instead?
00:11:09 <oerjan> i was going to use google translate on "i don't think that would be a good idea" but i cannot even paste the resulting characters :D
00:11:57 <nooga> nie sdze by by to dobry pomys? :>
00:12:28 <oerjan> your pasting is not unicode, i think
00:12:41 <oerjan> and i cannot paste full unicode with my setup
00:14:00 <oerjan> your special characters show up as superscript digits
00:14:12 <nooga> weird
00:14:24 <nooga> mirc sucks
00:14:33 <nooga> when using irssi, there is no problem
00:14:37 <oerjan> not really, i assume that's what you get for interpreting latin-2 as latin-1, or something
00:14:55 <nooga> nie sadze by bylo to dobry pomysl ;p
00:15:05 <nooga> byl*
00:15:14 <oerjan> i guessed that
00:15:25 <nooga> but then "sadze" means "i am planting"
00:15:38 <oerjan> the first two words are like what google translate gives, and the last one almost
00:16:09 <oerjan> Nie sadze, ze byloby dobrym pomyslem
00:17:00 <nooga> put "to" before "byloby" and it's correct
00:17:25 <oerjan> in any case, if you _had_ pasted unicode i would probably have seen just question marks
00:17:56 <oerjan> s/unicode/utf-8/, to be precise
00:19:31 <nooga> the worst thing in Norway is that when someone hears that you're Polish immediately says something like "ah, are you here to collect some berries?" :d
00:19:45 <oerjan> heh
00:19:55 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
00:20:05 <oerjan> well recently they might have asked if you were doing construction work
00:20:15 <nooga> :C
00:20:45 -!- olsner has quit ("Leaving").
00:20:57 <oerjan> although with the crisis lots of polish construction workers in norway have lost their jobs
00:21:13 <nooga> i'd like to do some IT-related work in scandinavia
00:21:22 <nooga> but chances are mere
00:27:11 <nooga> i worked for Opera in Wroclaw ;d
00:27:58 <nooga> bbl
00:28:06 -!- nooga has quit.
00:54:30 <ehird> 22:48 psygnisfive: funny, i just got one of those
00:54:33 <ehird> you didn't already have one?
01:03:02 -!- lament has joined.
01:04:17 <ehird> lament: I just realised that in fact ruby 1.9 did add nice lambda syntax
01:04:19 <ehird> ->(x) { x }
01:04:26 <ehird> heck, you can even do
01:04:34 <ehird> def <insert unicode lambda>(&b); b end
01:04:36 <ehird> and then
01:04:40 <ehird> <lambda>{|x| x}
01:11:47 <ehird> http://noahstokes.com/?
01:11:51 <ehird> s/?//
01:15:41 -!- revcompgeek has joined.
01:16:31 <oerjan> i say we build an ark (without steering) and put him on it
01:16:54 <ehird> he'll just <marquee> off it
01:16:55 <ehird> hi revcompgeek!
01:16:56 <ehird> I remember you
01:17:04 <revcompgeek> hello ehird
01:17:18 <oerjan> ehird has a remarkable memory
01:17:24 <revcompgeek> i see that
01:18:11 <revcompgeek> Has anyone here used D?
01:18:22 <revcompgeek> http://www.digitalmars.com/d/
01:18:32 <ehird> Yes
01:18:34 <ehird> GregorR
01:18:36 <ehird> pikhq
01:18:39 <ehird> Deewiant
01:18:42 <ehird> Of which the last is most active
01:18:53 <ehird> And, er, me.
01:18:56 <pikhq> GregorR's the most competent with D, though.
01:19:09 <ehird> pikhq: Eh, Deewiant wrote ccbi.
01:19:10 <ehird> Good enough for me.
01:19:26 <ehird> (http://users.tkk.fi/~mniemenm/befunge/ccbi.html)
01:25:02 <revcompgeek> interesting
01:25:10 <revcompgeek> i'm making the interpreter for Ans in D
01:25:50 <ehird> Ans?
01:26:00 <ehird> Ans in your pans.
01:26:18 <ehird> http://esolangs.org/wiki/Ans
01:26:18 <ehird> Ah
01:26:29 <revcompgeek> yep
01:26:34 <ehird> Looks neat.
01:26:41 <revcompgeek> think so?
01:26:52 <revcompgeek> i like it
01:27:25 <revcompgeek> the only problem i have is that the only gdc that works with my computer is old
01:27:45 <ehird> Don't use gdc!
01:27:47 <ehird> THe only gdc that exists is old.
01:27:54 <revcompgeek> yeah
01:27:57 <ehird> revcompgeek: http://www.dsource.org/projects/ldc
01:28:01 <revcompgeek> nothing else works with powerpc
01:28:05 <revcompgeek> including ldc
01:28:23 <ehird> Powerpc?
01:28:24 <ehird> Old mac
01:28:24 <ehird> ?
01:28:31 <revcompgeek> yep
01:28:34 <ehird> revcompgeek: er, llvm supports ppc
01:28:35 <revcompgeek> powerbook g4
01:28:35 <ehird> does it not
01:28:51 <revcompgeek> i can't figure out how to use ldc on this computer
01:29:02 <ehird> what goes wrong
01:29:39 <revcompgeek> hmm, i guess i'm wrong
01:29:48 <revcompgeek> i was under the impression that it wouldn't work on a powerpc
01:29:53 <revcompgeek> let me see what i can figure out
01:30:01 <ehird> revcompgeek: you'll have to compile llvm
01:30:10 <ehird> just as a note: when you compile llvm and ldc, compile with gcc-4.2
01:30:16 <ehird> instead of just gcc
01:30:21 <ehird> llvm is broken with the older gcc
01:31:22 <revcompgeek> http://www.dsource.org/projects/ldc/wiki/PlatformSupport
01:31:35 <ehird> PPC Mac
01:31:35 <ehird> LDC compiles, but bugs in frontend
01:31:37 <ehird> porting of GDC fixes suggested
01:31:39 <ehird> runtime, inline asm and exception handling need work
01:31:41 <ehird> contact: TrevorPascal??, Kashia?
01:31:43 <ehird> It will probably work ok
01:32:28 <revcompgeek> yes, i'm going to see how well it works
01:32:36 <ehird> :)
01:34:59 -!- nooga has joined.
01:35:04 <nooga> .
01:35:11 <ehird> .
01:47:13 <revcompgeek> i'm installing libconfig cmake and llvm at the same time, and my computer is crawling
01:47:24 <revcompgeek> :P old computers suck
01:47:54 <ehird> :)
01:48:00 <ehird> revcompgeek: making sure to use gcc-4.2 for llvm?
01:48:15 <revcompgeek> i just checked that, thanks
01:48:31 <ehird> :)
01:48:40 <revcompgeek> :)
01:48:45 <ehird> :)
01:49:08 <ehird> revcompgeek: if you think setting up ldc is hard, never try and bootstrap the ghc haskell compiler
01:49:12 <ehird> it requires itself to build
01:49:25 <revcompgeek> i've heard about those
01:49:34 <ehird> so you have to download an older binary of it, unpack it, download the source, set up the paths to it, and hope nothing goes wrong
01:49:35 <revcompgeek> setting up ldc isn't that bad actually
01:49:42 <ehird> (Things always go wrong)
01:49:46 <revcompgeek> yuck
01:49:50 <revcompgeek> have you seen mercury?
01:49:53 <ehird> the lang?
01:50:02 <ehird> I'm not much of a fan of logic pls
01:50:28 <revcompgeek> it is programmed using itself
01:50:32 <revcompgeek> so you have to bootstrap it
01:50:38 <revcompgeek> i don't remember exactly how
01:51:08 <revcompgeek> i'm not much of a fan either
01:51:18 <revcompgeek> they are too hard to think about
01:51:21 <ehird> The thing with bootstrapping is that to be sane you have to assume a $language compiler is already installed. And if your language isn't called C, that's a bad assumption
01:54:11 <revcompgeek> i don't know if you can use older mercurial versions to bootstrap it though
01:54:17 <revcompgeek> i think you have to use a halfway compiler
01:54:33 <revcompgeek> anyway, i have to go
01:54:38 <ehird> bye
01:54:41 <revcompgeek> bye
01:54:47 -!- revcompgeek has quit ("http://www.mibbit.com ajax IRC Client").
01:56:35 -!- neldoreth has quit (No route to host).
02:05:13 <comex> holy shit
02:05:17 <ehird> what
02:05:29 <comex> http://www.whitehouse.gov/OpenForQuestions/
02:05:32 <comex> 7/10 are about marijuana
02:05:37 <ehird> I am so not surprised.
02:05:48 <ehird> People are, as a rule, stupid.
02:05:55 <ehird> People, when faced with the internet, tend to become more stupid.
02:05:55 <comex> that's in the budget category
02:06:02 <comex> it is aso leading in other categories
02:06:11 <ehird> Hmm. That "View Questions" button is the new gmail fakebuttons.
02:06:16 <comex> none of which, including budget, it fit anywhere near
02:06:22 <ehird> oooh
02:06:24 <ehird> it's powered by google
02:06:29 <ehird> the same thing as the 'ask the google team' site
02:06:35 <comex> how do you know?
02:06:39 <ehird> same UI
02:06:45 <comex> ehird: it's moderator
02:06:48 <ehird> yah
02:06:51 <comex> obama used to use it directly
02:06:55 <comex> now he has a branded version 8)
02:07:05 <ehird> comex: it's not branded
02:07:06 <ehird> it's an iframe
02:07:18 <comex> oh
02:07:20 <comex> didn't notice
02:07:20 <ehird> <iframe id="ifMember" src="http://moderator.whitehouse.gov/ask/start"
02:07:21 <ehird> it's both
02:07:22 <ehird> XD
02:07:29 <comex> :p
02:07:35 <ehird> also, umm, obama is being kind of shit :|
02:07:39 <comex> eh, it's ok
02:07:41 <comex> he's not magic
02:07:49 <ehird> yeah. still.
02:07:49 <comex> and can't be perfect
02:08:09 <ehird> even if he had the same policies as bush at least you can listen to him without your ears bleeding
02:08:14 <comex> could be better? yes. but to be honest, stuff like the economy is a lot more important than what people on the internet worry about
02:08:59 <ehird> Yes, well, I'd say— no point politicizing #esoteric. Back to gay sex.
02:09:01 <comex> he doesn't have time to take a firm stance on everything
02:09:06 <comex> ehird: SUPPORT
02:09:11 <ehird> comex: Yes, but— Er, right, cocks.
02:20:22 * oerjan removes gay horse sex from [[WP:Gorse]]
02:21:43 <oerjan> or something like that, anyway
02:22:47 <oerjan> A gorse is no horse, of course, of course
02:25:31 -!- Slereah has joined.
02:27:11 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
02:28:31 <psygnisfive> oh hello
02:28:45 <psygnisfive> no ehird, i did not previously have a dildo that was properly cock shaped
02:29:08 <ehird> it was a joke.
02:29:22 <ehird> I intentionally misinterpreted your sentence as 'I now have a penis, which I previously did not.'
02:30:21 <psygnisfive> i know, and i intentionally didn't pay attention to that interpretation.
02:30:22 <psygnisfive> :P
02:32:26 <oerjan> now i am starting to wonder if a dildo formed as a large fowl wouldn't be rather unpleasant.
02:41:54 <Asztal_> not for lady fowls
02:53:38 <nooga> O.o
02:53:52 <nooga> guess i'll just go back to sleep
02:54:54 <oerjan> Asztal_: that would be heterosexual sex, which is clearly off-topic here.
03:24:30 -!- Sgeo has joined.
03:24:37 -!- GreaseMonkey has joined.
03:56:21 -!- revcompgeek has joined.
04:35:08 -!- oerjan has quit ("Good night").
04:59:24 -!- revcompgeek has quit ("http://www.mibbit.com ajax IRC Client").
05:05:46 -!- amca has joined.
05:16:50 -!- Ilari has quit (Read error: 60 (Operation timed out)).
05:17:22 -!- Ilari has joined.
05:38:32 -!- revcompgeek has joined.
05:38:56 <revcompgeek> ehird: still there?
05:46:24 -!- Sgeo has quit ("Leaving").
06:40:45 -!- neldoreth has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:06:40 -!- tombom has joined.
09:38:10 -!- Slereah_ has joined.
09:55:09 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:56:43 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
09:59:52 -!- ais523 has joined.
10:15:43 -!- Dewio has changed nick to Dewi.
10:22:22 -!- ais523_ has joined.
10:28:38 -!- ais523 has quit (Nick collision from services.).
10:28:42 -!- ais523_ has changed nick to ais523.
10:34:56 -!- revcompgeek has quit ("http://www.mibbit.com ajax IRC Client").
10:58:00 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
11:38:17 -!- ais523 has joined.
11:55:01 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
11:58:59 -!- nooga has quit.
12:44:11 -!- oerjan has joined.
13:03:27 -!- amca has quit ("Farewell").
13:36:49 -!- revcompgeek has joined.
13:39:46 -!- nooga has joined.
13:40:05 <nooga> oerjan: do you sleep sometimes?
13:41:27 <oerjan> yes
13:41:43 * oerjan is just finishing breakfast
13:41:52 <fizzie> Did we not already see a graph conclusively proving that the correct answer is, in fact, "no"?
13:41:52 <oerjan> sometimes a _lot_ :D
13:42:38 <oerjan> or maybe D:
13:42:49 <nooga> lol
13:42:59 <nooga> i got rline on irc.ircnet.pl
13:43:02 <nooga> wtf
13:43:43 <fizzie> http://zem.fi/~fis/test5.png -- only explanation for the near-uniform thickness of the oerjan line must be lack of a sleep mode. (At least discounting all sensible explanations.)
13:43:56 <oerjan> incorrect.
13:44:24 <oerjan> the correct explanation is lack of a 24-hour sleep cycle
13:44:46 <fizzie> But that is a sensible explanation, so I discounted it.
13:47:32 <nooga> what's the y axis on that graph?
13:47:50 <oerjan> y ask y
13:49:22 <fizzie> It's a sort of a normalized scale, the proportion of the width of one line to the whole graph is the same as the proportion to that nick's messages to all messages, in a N-minute window centered at that particular time of day. And some weighting.
13:50:04 <fizzie> For 2006-2008, I think.
13:50:21 <nooga> uhm
13:50:30 <nooga> so as i thought
13:51:27 * oerjan wonders how much it would change if you took message length into account
13:55:23 <nooga> .
13:58:11 <fizzie> Not much: http://zem.fi/~fis/test5l.png
13:58:57 <fizzie> You do get a bit thicker there.
13:59:18 <oerjan> _i_ do? i was expecting the opposite
13:59:48 <nooga> heh
14:00:11 <fizzie> I might well be doing it wrong, or alternatively be using somewhat different settings there.
14:03:01 <fizzie> Nope, it was the same half-an-hour window, I get identical output to the original if I do not count the lengths. And the lengths are taken into account simply by counting e.g. "foobar" as six "messages", so I'm not sure how I could manage to screw up something that simple.
14:03:12 <oerjan> hm it would seem i write longer messages in some time periods
14:04:34 <MizardX> When ehird is not here. :)
14:06:28 <MizardX> How about average message length?
14:07:00 <MizardX> message length / message count
14:07:00 <fizzie> Average message length per time-of-day, or something else?
14:07:18 <MizardX> per time-of-day
14:07:23 <oerjan> average message length as varying by time-of-day
14:07:51 <fizzie> Just in general or for everyone separately? I guess personal numbers are more interesting.
14:08:02 <oerjan> yep
14:08:35 <MizardX> division-by-zero -> 0
14:09:09 <oerjan> well obviously that would mean not talking at all
14:09:11 <fizzie> Well, there will not be an entry in the per-window message-count-structure-thing for nicks that have no messages.
14:10:20 -!- revcompgeek has left (?).
14:11:08 <nooga> lalala
14:11:19 <oerjan> dumdumdumdum
14:14:45 <nooga> hurrr durrr
14:16:47 <oerjan> mimi moumou
14:17:54 <nooga> gasp
14:18:18 <oerjan> cackle
14:19:41 <fizzie> The graph, it is choppy and unreadable, and lacks the Y-scale: http://zem.fi/~fis/test5avg.png
14:21:14 <fizzie> It is most probably choppy because even a single message is enough to bump the average message length from zero to some largeish non-zero value.
14:22:39 <oerjan> meh
14:22:47 <fizzie> http://zem.fi/~fis/test5avgr.png has the normalized version, although I think the only use for that is for "who talks with the longest messages at some point of time" comparisons.
14:23:47 <oerjan> indeed that's ridiculously choppy
14:24:16 <fizzie> There is an oerjan-peak around 10-11am. The times are EET/EEST, so that's... 9-10am around your place?
14:24:54 <oerjan> really?
14:26:03 <fizzie> Well, this is not the sort of data you'd want to rely on.
14:26:08 <oerjan> well that might be just as much because no one _else_ is there
14:27:00 <fizzie> In this test5avg, the peak should mean that your messages are longer than normally during that time.
14:30:58 <oerjan> the choppiness seems to come from people who _never_ speak at certain times, such as ais523?
14:31:45 <oerjan> and AnMaster
14:31:56 <AnMaster> ?
14:33:03 <oerjan> AnMaster: apparently you _never_ speak between 4AM and 7:30AM Finnish time, for example
14:33:22 <oerjan> http://zem.fi/~fis/test5avgr.png shows it pretty clearly
14:33:35 <AnMaster> oerjan, that would make sense, I would usually be sleeping then
14:34:19 <AnMaster> wonder why the sharp vertical pattern in several places?
14:34:33 <oerjan> AnMaster: that's exactly what i was trying to explain
14:34:38 <AnMaster> ah
14:34:40 <fizzie> That's when someone's "average message length" jumps from 0 to non-zero.
14:35:37 <oerjan> bsmntbombdood is interesting, he probably is very rarely here at some times, enough that some are completely absent, but still enough that he covers most of the day
14:36:02 <oerjan> hm pikhq too
14:36:34 <AnMaster> it seems I don't speak between 8 and 80:30 or so either?
14:36:42 <AnMaster> or maybe 8:20
14:36:57 <oerjan> so what freaked me out is that AnMaster and ais523 are _never_ here at certain times ever, in a 3 year period
14:36:59 <fizzie> That's 7 to 7:20 in your time zone.
14:37:32 <AnMaster> fizzie, ah, why not use UTC? That is the standard after all in international places
14:37:38 <oerjan> ihope too
14:37:45 <AnMaster> oerjan, I try to sleep during night when possible
14:38:59 <oerjan> and me and oklopol remain the only ones who have no holes at all
14:39:00 <fizzie> I didn't want to bother with the UTC-conversion, since it's a non-fixed offset "thanks" to daylight savings stuff. Of course Time::Local would've done it for me, but still.
14:39:48 <AnMaster> also that's odd between 6 and 7 I'm active?
14:39:52 <AnMaster> is that really correct?
14:40:01 <fizzie> A single message is enough to count as "active".
14:40:13 <fizzie> As it is the average message length the graph is showing.
14:40:36 <AnMaster> fizzie, that seems rather useless, average number of days when it happened would be more interesting I suspect?
14:40:50 <fizzie> Furthermore, a single message is enough for a full hour of activity, since it's a 30-minute sliding window.
14:41:00 <fizzie> Average message length is what was requested here.
14:41:09 <oerjan> AnMaster: we were trying to find out if the length of our messages varied by day
14:41:28 <AnMaster> oerjan, but isn't the graph relative?
14:41:37 <AnMaster> I mean it isn't absolute value
14:41:39 <oerjan> and apparently they do, although the choppiness shows there is a lot of noise
14:41:52 <oerjan> AnMaster: http://zem.fi/~fis/test5avg.png
14:42:10 <oerjan> that's absolute, but also unreadable
14:43:19 <AnMaster> fizzie, hm why is that very rectangular for me around 6 in the morning?
14:43:26 <AnMaster> well 7 in that graph
14:43:31 <AnMaster> but 7 in Sweden
14:43:35 <AnMaster> err
14:43:38 <AnMaster> 6 in Sweden*
14:43:58 <fizzie> AnMaster: I just explained that? If you have a single message, you get a fixed average-message-length for all windows that cover that single message, and with a 30-minute window it means a "block" of one hour.
14:44:06 <AnMaster> ah
14:44:20 <AnMaster> didn't see the bit about the window
14:45:26 <fizzie> test5avgc.png has the absolute-value-graph drawn in the cumulative fashion. It's maybe more readable than test5avg.png, as long as you don't look at the overall shape, which is nothing really meaningful in this case.
14:46:46 <AnMaster> fizzie, what is the scale of y? max == 511 chars?
14:46:49 <AnMaster> or?
14:46:59 <oerjan> fizzie: what about a "logarithmic" version of http://zem.fi/~fis/test6.png ? to show the difference between "speaks rarely" and "never at all"
14:47:26 <AnMaster> what did test6 show now again?
14:47:38 <oerjan> absolute number of messages, i think
14:47:49 <oerjan> (still with a window i guess)
14:48:10 <fizzie> Yes. test6l.png for absolute number of characters. All within a 30-minute hamming-weighted window.
14:48:45 <fizzie> I don't think I have time for further graph-drawing right now, I have to go and make a speech recognition presentation in Swedish (of all things) in 15 minutes, for that obligatory Swedish course-thing.
14:49:16 <oerjan> seems only slightly different from message number
14:49:24 <oerjan> ok
14:49:56 <oerjan> that's not what i meant by "logarithmic", though, so i may pester you again later :D
14:50:35 <oerjan> good luck with your presentation
14:53:17 <fizzie> Thanks. It's just a five-minute thing, so at least it'll be quickly over.
14:55:06 <fizzie> I did think about building the presentation out of my advanced-continuation-course-in-speech-recognition 30-minute seminar presentation, or our conference paper, but that might not have worked so well, given that the audience has architects and all kinds of non-computer-science people.
14:57:06 <kerlo> Eew, Hamming windows. :-)
14:58:14 -!- nooga_ has joined.
14:58:20 <nooga_> aaaa
14:58:58 <kerlo> AAaaa!
14:59:43 <kerlo> Anyway, cool people use Gaussians as their window functions.
15:00:34 <fizzie> One hump is just as good as any other, it's just there to get a bit more pleasant-looking picture out of it.
15:00:57 <fizzie> Now I need to ambulate myself to that classroom, bye.
15:01:04 <kerlo> That orange thing is not pleasant-looking: http://en.wikipedia.org/wiki/File:Window_function_(hamming).png
15:01:10 <nooga_> iif i were a girl i'd die for night with Erlend Oye
15:02:12 <kerlo> Then again, I guess you're not taking the Fourier transform of anything.
15:03:26 <kerlo> So all that matters is how nice-looking the hump is.
15:05:08 -!- nooga has quit (Read error: 110 (Connection timed out)).
15:05:47 -!- Azstal has joined.
15:06:35 <ehird> http://zem.fi/~fis/test6.png <-- I have talked at 4am?
15:06:37 <ehird> oh wait
15:06:40 <ehird> is this finnish timez?
15:06:41 <ehird> what offset?
15:06:50 -!- Asztal_ has quit (Read error: 104 (Connection reset by peer)).
15:06:51 -!- Azstal has changed nick to Asztal_.
15:08:01 <ehird> "Unlike some of you, I am not an open source developer, I am an activist in the free software movement." —rms
15:08:05 <ehird> We can tell.
15:08:10 <nooga_> lol
15:08:50 <nooga_> that's why i'll release my intensively caching, lightning fast, mvc web framework for C on cc license
15:09:11 <ehird> nooga_: use BSD!
15:09:17 <ehird> cc licenses don't apply to code well
15:09:25 <ehird> except... why on earth would you write web code in C
15:09:29 <ehird> that's like really stupid.
15:09:42 <ehird> well okay I can think of about 5 uses.
15:09:50 <ehird> but not ones that would justify mvc.
15:09:52 <nooga_> it does not look like C any more
15:10:11 <ehird> so why not use a language that isn't for systems programming
15:10:25 <nooga_> shit ton of defines converts C in something more rapid
15:10:34 <ehird> but why
15:10:36 <ehird> that sounds awful to use tbh
15:12:56 <nooga_> controller(something) { view(index) { Array* x = Users->getAll(); render("template.haml",x); } }
15:13:06 <nooga_> ;]
15:13:25 <nooga_> gogogog http://localhost/something/
15:13:28 <ehird> nooga_: first i can imagine how awfully brittle that is and bet it only works when you do what the framework designer expected
15:13:29 <ehird> secondly
15:13:38 <ehird> why on non-god's earth would you do tht
15:13:46 <ehird> instead of using a language designed to do that kind of shit
15:14:18 <nooga_> the problem is RoR is sloooow, php is slooow, asp is idiotic, java shit is java shit
15:14:24 <nooga_> and C is neat
15:14:24 <nooga_> ;]
15:15:46 <ehird> 1) RoR is slow, but that's in a large part an artifact of the framework and old ruby versions; 2) PHP may be slow, but it's fast enough for big things (unless I'm hallucinating); 3) No argument there; 4) ditto; 5) C may be neat (I disagree, but.) but I couldn't call this abomination "C"...
15:16:07 <nooga_> well
15:16:23 <oerjan> Ct
15:16:39 <ehird> oerjan: I missed the pun.
15:16:40 <oerjan> and then the next versions will be Cth, Cthu, etc.
15:16:53 <ehird> Yes, well, I'd rather Cthulhu than this.
15:16:58 <oerjan> ehird: you were not patient enough :D
15:17:25 <nooga_> i'd like to serve something on my old PC and enable quite massive traffic
15:17:25 <nooga_> ;]
15:17:31 <nooga_> + i'm unemployed and bored
15:17:31 <oerjan> hm, "Thulhu, a web framework for C"
15:17:40 <ehird> nooga_: how old?
15:17:50 <ehird> what sort of traffic? I can only imagine spambots.
15:18:05 <ehird> + I wouldn't say processing is the top bottleneck for these kinds of things.
15:18:18 <oerjan> it will be a port of the Haskell Tur framework
15:18:18 <nooga_> i'd like it to survive raids form 4chan and being linked on digg
15:18:34 <oerjan> or maybe the other way around
15:18:48 <ehird> nooga_: I wrote a shoddy PHP site that overprocessed, made a database connection each time, did an ajax request every 0.5 seconds.
15:18:56 <ehird> It got to #1 on digg. /b/ hogged one account.
15:19:02 <ehird> Other places picked it up.
15:19:06 <ehird> It barely slowed down
15:19:24 <ehird> This was on a low-spec vps
15:19:27 <ehird> 256mb/ram
15:19:36 <nooga_> because your server was that cluster from CERN?
15:19:40 <ehird> no
15:19:47 <ehird> 256mb/ram, low cpu speed (it's variable, but it was low)
15:19:53 <ehird> it just kept going and going, and you know what eventually killed it?
15:20:04 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
15:20:04 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
15:20:04 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
15:20:05 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
15:20:06 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
15:20:06 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
15:20:11 -!- tombom has quit (calvino.freenode.net irc.freenode.net).
15:20:16 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
15:20:17 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
15:20:19 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:20:19 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:20:21 -!- lament has quit (calvino.freenode.net irc.freenode.net).
15:20:21 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
15:20:25 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
15:20:25 <ehird> the logfile took up the 10gb of storage space.
15:20:26 <nooga_> well
15:20:31 -!- nooga_ has changed nick to nooga.
15:20:40 <ehird> In conclusion, you absolutely don't need more speed than PHP for just about anything. (that doesn't mean use php, just means that using a fast language isn't important)
15:21:33 -!- Robdgreat has joined.
15:21:44 <nooga> you are ruining my rad idea
15:21:44 <nooga> stfu ;D
15:21:48 <ehird> I tend to do that to people :)
15:21:57 <ehird> nooga: fwiw, a high level c webframework is oldhat: http://www.annexia.org/freeware/monolith
15:22:00 <ehird> 2003 oldhat
15:22:32 -!- tombom has joined.
15:23:33 <nooga> cool thing
15:23:47 -!- Asztal has joined.
15:23:47 -!- rodgort has joined.
15:23:47 -!- ineiros has joined.
15:25:08 -!- ais523 has joined.
15:25:09 <ehird> hi ais523
15:25:13 <nooga> <:
15:25:23 <ehird> nooga: how does 'Users->getAll()' work?
15:25:23 <ehird> is it an oop system?
15:25:25 <ehird> generic?
15:25:26 <ehird> if so, it has to be Users->getAll(Users)
15:25:26 <ehird> no?
15:25:30 <ais523> hi ehird
15:25:51 <nooga> yep
15:26:02 <nooga> forgot that
15:26:02 -!- ais523 has quit (Remote closed the connection).
15:26:11 <ehird> nooga: oh,so you actually have to call it like that?
15:26:12 <ehird> this gets worse and worse
15:26:14 <nooga> yea ;d
15:26:23 <ehird> nooga: for the love of god just make a preprocessor
15:26:39 <ehird> make x->y->(z) be x->y(x,z)
15:26:44 <nooga> that's because C proprocessor is quite stiff
15:26:45 <ehird> Users->getAll->()
15:27:24 <nooga> jeijeijei
15:33:58 -!- pikhq has joined.
15:33:58 -!- sebbu has joined.
15:33:58 <ehird> "consider a program that takes 100 ms vs a program that take 1 second. to the human, practically speaking, the 10x speed difference is negligible."
15:33:58 <ehird> wuuuuuuuuuuuuuut
15:33:59 <ehird> http://users.rcn.com/david-moon/PLOT/ <- this language is so hilariously overcomplex
15:36:02 -!- lament has joined.
15:36:02 -!- mtve has joined.
15:36:02 -!- dbc has joined.
15:36:02 -!- SimonRC has joined.
15:36:16 <ehird> "That C++ can be compiled into C is a pretty good indication that the whole language is basically syntactic high-fructose corn syrup."
15:36:19 <ehird> lol wut
15:36:26 <ehird> Is this stupid day?
15:36:38 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:36:38 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:36:41 -!- lament has quit (calvino.freenode.net irc.freenode.net).
15:36:41 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
15:37:26 <tombom> plot seems to be reinventing dylan
15:37:33 <ehird> yeah
15:37:37 <ehird> the guy worked on the dylan team, tombom
15:37:41 <tombom> ah haha
15:37:46 <tombom> didn't realise thatr
15:37:56 <ehird> but srsly, it's the most complicated language I've seen save like ada
15:39:07 <ehird> ". Dave Moon worked on the first Lisp Machines at MIT, later was CTO at Symbolics and then worked at Apple on the Dylan language"
15:39:50 <nooga> PLOT
15:39:54 <nooga> seems nice
15:39:58 <ehird> o_o
15:40:03 <ehird> You're barmy.
15:40:22 <ehird> It's just a bad copy of my perfect language, although that applies to most languages :P
15:40:55 <nooga> what is your superior language?
15:41:28 -!- lament has joined.
15:41:28 -!- mtve has joined.
15:41:28 -!- dbc has joined.
15:41:28 -!- SimonRC has joined.
15:42:13 <ehird> Erm; it resides within my head. The basic idea is that it's completely dynamic at every level possible: the compiler/runtime are malleable at both compile-time and runtime, which are indistinguishable (there's just infinite levels)
15:42:14 <nooga> like P6
15:42:15 <ehird> Imagine P6 taken to the extreme.
15:42:31 <ehird> So, for instance, you could write a library that fully integrates — say — a dependent-typing system — by modifying the compiler at runtime to add it. You can, literally, change it into anything (even another language)
15:43:16 <nooga> yea
15:43:16 <ehird> There's eval(), of course. So if you eval() a file, you can modify that file, and if it modifies the compiler, it'll change how the rest of the program is run
15:43:17 <nooga> i thought about such language
15:43:29 <nooga> that lets you to extend it's syntax, alter it and mess with internal mechanisms using the language itself
15:43:34 <ehird> There'd be a "static" compiler option, though, to omit eval() and not let you do that kind of thing at runtime (so you don't need to bundle the compiler)
15:43:36 <nooga> but my head asploded
15:45:55 <ehird> I pretty much hate typing what I don't need, I guess is the motivation.
15:46:03 <nooga> yeea
15:46:13 <nooga> that's why ruby is cool
15:46:32 <ehird> I like Ruby. It's far from perfect, though.
15:47:05 <nooga> well
15:47:59 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:47:59 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:48:03 -!- lament has quit (calvino.freenode.net irc.freenode.net).
15:48:03 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
15:48:05 <nooga> i like the thing that ruby doesn't force any particular style
15:50:45 <ehird> One thing I've been playing with recently is a language where programs are graphical... graphs.
15:50:45 <nooga> it's strictly object oriented but let's you write code that looks procedural
15:50:51 <ehird> It seems to work
15:50:55 <nooga> i has got functional flavours
15:50:58 <ehird> in theory
15:51:49 <nooga> and permits many cool tricks
15:53:27 <nooga> http://www.theprodukkt.com/werkkzeug1#28
15:53:54 <ehird> I know about them
15:53:57 <nooga> werkkzeug is based on a funny method
15:54:00 <ehird> Max/msp, vvvv, etc
15:54:05 <ehird> Aardappel
15:54:07 <kerlo> The only worthwhile programming language is first-order logic with dependent typing.
15:54:34 -!- dbc has joined.
15:54:36 <kerlo> The most useful piece of syntactic sugar is the * token, pronounced "y'know", which is transformed by the compiler into the only value that makes sense.
15:55:55 -!- ais523 has joined.
15:55:59 <ehird> wb ais523
15:56:05 <ais523> wb me
15:56:21 <ais523> would you believe, that was me deliberately /quitting, rather than the connection dropping as usual?
15:56:28 <ehird> :D
15:56:38 -!- lament has joined.
15:56:39 <nooga> kerlo: where?
15:57:03 <ais523> I was doing the assessment for my final project
15:57:10 <ais523> which I've talked about in here on occasion
15:57:51 <ais523> quite possibly there'll be a mathematical paper coming out of it, which you can read
15:57:55 <ehird> ais523: no, I'm pretty sure I couldn't read t
15:57:56 <ehird> it
15:57:59 <ais523> also, please don't claim that lazy impure imperative languages are ridiculous
15:58:07 <ehird> assuming reading involves grokking
15:58:09 <ehird> also, I didn't
15:58:15 <ais523> ah, ok
15:58:15 <kerlo> nooga: oh, there might be a program somewhere that interprets it.
15:58:17 <ais523> who did?
15:58:22 <ehird> nobody, right now
15:58:23 <ehird> I did previous
15:58:23 <ehird> ly
15:58:27 <ais523> I'm pretty sure someone did last time it came up
15:58:31 <ais523> so I was just being pre-emptive
15:58:38 <ehird> I _do_ think they are ridiculous, but I have a language prototype with it too
15:58:51 <ehird> except it doesn't take your stupid ; operator approach, it's far more flexible than htat.
15:59:06 <ais523> well, it's not my approach
15:59:10 <ais523> look up "Idealised Algol" some time
15:59:27 <ehird> looks scary
15:59:33 <ais523> and I don't see why "a then b" is such a ridiculous operator to have
15:59:57 <ehird> because it's not impure enough, mine lets you embed side effects anywhere, while working how you want, lazily :-)
16:00:20 <ais523> ok, that's brilliant
16:00:28 <ais523> I admit that ; is a monad in disguise, but I don't see what's so bad about that
16:00:31 <ehird> ais523: for example
16:00:39 <ehird> foo = (print "Hello!") : foo
16:00:46 <ehird> this prints Hello! when you first run it
16:00:47 <ehird> then
16:00:50 <ehird> head foo => ()
16:00:58 <ehird> head (tail foo) => Hello!()
16:01:02 <ais523> how do you determine first run?
16:01:02 <ehird> head (tail foo) => ()
16:01:08 <ehird> ais523: er, when it runs that statement
16:01:11 <ehird> okay, repl console:
16:01:24 -!- SimonRC has joined.
16:01:26 <oerjan> the monads are infiltrating our country and stealing our jobs!
16:02:24 <ais523> yes, and we'll all be better off for it
16:02:37 <nooga> =.=
16:02:37 <ehird> ais523: flood tym:
16:02:38 <ehird> > foo = (print "Hello!") : foo; () () to avoid printing infinite list
16:02:38 <ehird> Hello!
16:02:39 <ehird> ()
16:02:42 <ehird> > head foo
16:02:44 <ehird> () print returns ()
16:02:45 <ehird> > head (tail foo)
16:02:47 <ehird> Hello!
16:02:50 <ehird> ()
16:02:52 <ehird> > head (tail foo)
16:02:53 <oerjan> that's what they want you do think
16:02:53 <ehird> () the side effect only happens when evaluating, then it becomes the result
16:02:57 <ehird> > head (tail (tail foo))
16:02:58 <ehird> Hello!
16:03:00 <ehird> ()
16:03:02 <ehird> > foo
16:03:04 <ehird> [(),(),(),Hello!(),Hello!(),Hello!(),...
16:04:57 <ehird> ais523: this all despite that the (print "Hello!") is the same each time
16:05:10 <ehird> since the language has the notion of the same object differing depending on its context
16:05:32 <ais523> what does your ; operator do? evaluate the left arg, ignore it, and output the right?
16:05:50 <ais523> it seems to me that in a lazy lang, x; () would do nothing no matter what the value of x
16:05:51 <ehird> oh, that's not relevant.
16:06:05 <ehird> fine goddamnit i'll write it again so you stop nitpicking
16:06:11 <ais523> I'm just curious
16:06:18 <ehird> ais523: ignore the first line
16:06:19 <ehird> pretend it's
16:06:20 <ais523> nitpicks are how you learn esolangs...
16:06:32 <ehird> > :magicreplcommandthatmakesitnotprinttheoutput foo = (print "Hello!") : foo
16:06:39 <ais523> also, is that : the same as : from OCaml?
16:06:46 <ehird> it's the : from haskell.
16:06:46 <ehird> cons.
16:06:48 <ehird> the ; () is irrelevant to the example entirely
16:06:52 <ais523> oh, same :
16:06:53 <ehird> "() to avoid printing infinite list"
16:06:53 <ais523> and OK
16:06:59 <nooga> i just lost context
16:06:59 <ehird> and no
16:06:59 <ehird> in ocaml it's ::
16:07:06 <ais523> wow, I always get that wrong
16:07:15 <ais523> every single time I type it as : then correct it to ::
16:07:18 <ais523> when Emacs' syntax highlighting goes mad on me
16:08:34 -!- Rose has joined.
16:08:50 <ehird> hello Rose
16:08:54 <ehird> don't remember seeing you here before?
16:09:06 <ais523> what brings you here?
16:09:24 <ehird> gee, we know this routine off by heart.
16:09:29 <ehird> right down to the byte!
16:09:34 <ais523> yep
16:09:47 <ais523> it's even funnier in #IRP, partly because you can rely on the person joining to always say the same thing as well
16:09:48 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
16:09:59 <oerjan> wait, what?
16:10:19 <ais523> generally speaking it starts for a request for hello world
16:10:21 <ais523> followed by a request for 99 bottles of beer
16:10:35 <ehird> ais523: please tell me you say 'go to hell'
16:10:42 <oerjan> :D
16:10:44 <ehird> i love that response
16:10:44 <ais523> of course not
16:10:48 <ehird> :(
16:10:52 <ehird> but but but HISTORICAL ACCURACY
16:10:56 <ais523> MichaelRaskin starts a response and then gets clipped
16:10:59 <ehird> <GregorR> Please, write the lyrics to the song 99 Bottles of Beer on the Wall.
16:10:59 <ehird> <memonic> go to hell
16:11:01 <ehird> It's in the damn spec!
16:11:09 <ais523> whereas I link people to http://99-bottles-of-beer.net/lyrics.html
16:11:21 <ais523> and that's not a spec, just a transcript of an old version
16:11:22 <ais523> the interps have been improved since
16:11:36 <ehird> Right I'll just have to reverse it then
16:11:41 <oerjan> now they stalk your home and stab you
16:11:45 <nooga> what is this faggotry?
16:11:48 -!- Rose has quit (Client Quit).
16:11:57 <ehird> nooga: I'm not sure if there's anyone gay in #IRP
16:12:01 <ehird> You'd have to ask I suppose
16:12:03 <ehird> Odd question though
16:12:12 <oerjan> nooga: not faggotry, we've moved to another off topic
16:12:26 <ehird> oh, right
16:12:32 <ehird> that topic is so yesterday
16:12:56 -!- psygnisfive has joined.
16:12:56 -!- AnMaster has joined.
16:12:56 -!- Judofyr has joined.
16:13:27 <nooga> ah
16:13:51 <oerjan> just don't tell psygnisfive, he'll be so sad
16:14:30 <oerjan> well, if he weren't catatonic
16:15:57 <nooga> ehird: O.o
16:16:20 <ehird> "Ha ha, you're weird, by 'faggotry' I meant 'stuff'."
16:16:23 <ehird> "Duh."
16:17:13 <oerjan> and by 'rape', i mean polite conversation.
16:18:00 <nooga> well
16:18:17 <ais523> so who was Rose then, I wonder?
16:18:34 <ehird> a rose
16:18:50 <nooga> so who was phone?
16:19:05 <oerjan> which phone?
16:19:44 <nooga> none
16:23:38 <AnMaster> what?
16:23:58 <AnMaster> oerjan, what shouldn't who tell psygnisfive?
16:24:09 <ehird> ;_;
16:24:23 <AnMaster> ehird, saw that split? I can't read up
16:24:29 <ehird> ;_;
16:24:41 <ehird> 15:12 oerjan: nooga: not faggotry, we've moved to another off topic
16:24:45 <AnMaster> ah
16:25:21 * oerjan swats ehird -----###
16:25:29 <AnMaster> btw does anyone know if OpenTTD has trolley buses?
16:25:33 <oerjan> YOU WEREN'T SUPPOSED TO TELL
16:25:46 <ehird> oerjan: Can't bear the horror.
16:26:06 <nooga> AnMaster: Really?
16:26:16 <oerjan> ehird expects the AnMaster inquisition
16:26:27 <AnMaster> nooga, it was a question not a statement
16:26:37 <nooga> yea
16:26:40 <nooga> i'm just stupid
16:26:59 <ais523> hmm... maybe nooga was trying to Turing-test AnMaster by feeding him syntax errors to see what happened
16:27:05 <AnMaster> haha
16:27:14 <AnMaster> I found OpenTTD to be rather primitive for anything but trains.
16:27:43 <ehird> gee, a train sim focuses on trains?
16:27:47 <ehird> I'm pretty goddamn amazed
16:27:52 <AnMaster> ehird, it is a transport sim
16:28:04 <ehird> Well whatever.
16:28:22 <AnMaster> ehird, in this case that difference actually matters I'm afraid
16:28:26 <nooga> but trains ftw
16:28:43 <nooga> when I play OTTD i build only trains
16:28:54 <oerjan> ais523: AnMaster is immune to turing tests.
16:28:56 <nooga> ...and sometimes planes
16:29:11 <ehird> ... maybe AnMaster is a turing test himself
16:29:11 <oerjan> as in, no one is any wiser afterwards.
16:29:13 <AnMaster> nooga, well that is another issue with it. No complex under ground train networks with stations and so on below ground.
16:29:17 <ehird> by responding to him, we're losing.
16:30:21 <oerjan> the only winning move is not to play?
16:30:41 <nooga> AnMaster: I am quite sure that it could be implemented, since it's open project
16:30:56 <ehird> oerjan: Exactly. As a bonus you stay semi-sane.
16:31:12 <AnMaster> nooga, well I tried it a bit recently, turned out a friend had those needed original files legally. So tried it at his computer.
16:31:29 * oerjan swats ehird again as reinforcement -----###
16:31:29 <AnMaster> nooga, I prefer simutrans though, it has all those features already
16:31:34 <AnMaster> and is open
16:31:41 <nooga> isn't ttd abandonware?
16:31:50 <AnMaster> nooga, not openttd afaik
16:31:51 <ehird> nooga: no.
16:31:57 <ehird> AnMaster: he means copyright
16:32:02 <AnMaster> oh you mean the original files. right
16:32:06 <AnMaster> what ehird said then
16:32:10 <ehird> nooga: has the maker specifically got rid of the copyright?
16:32:18 <ehird> or are the makers dead + 7 billion years?
16:32:22 <ehird> no?
16:32:29 <ais523> ehird: I thought abandonware was a term for things that were technically illegal, but that nobody cared enough to sue about
16:32:36 <ehird> you said that last time ais523
16:32:42 <ais523> yes, I still think that
16:32:46 <AnMaster> ais523, I thought so too
16:32:53 <ehird> that's common usage, but it just means expired copyright software.
16:32:58 <ehird> or public domained old software
16:33:23 <AnMaster> so what is the name for the meaning ais523 mentioned then? If we don't want to be ambiguous?
16:33:28 <nooga> i just googled these files and voila
16:33:32 <nooga> ahh i'm so illegal
16:33:43 <ehird> AnMaster: Er, piracy.
16:33:50 <ehird> Don'tgiveashitware?
16:33:54 <AnMaster> heh
16:34:03 <AnMaster> ehird, too long to be easy to use
16:34:09 <oerjan> there exists expired copyright software?
16:34:12 <ehird> Shitware.
16:34:20 <ehird> oerjan: We discussed this. It's quite likely.
16:34:25 <ehird> What's the law ais523? death+20 years?
16:34:31 <AnMaster> err
16:34:37 <AnMaster> 70 years for copyright iirc?
16:34:43 <ais523> death+25 in the UK, IIRC, if it's an individual who owns the copyright
16:34:48 <nooga> hehe
16:34:52 <AnMaster> ais523, is this for books too?
16:34:54 <ais523> the rules for companies are different, partly because it's hard to pinpoint exactly when they die
16:35:02 <ais523> AnMaster: in the UK, source code and books follow the same copyright rules
16:35:04 <nooga> i hold several copyrights on software and i don't give a shit
16:35:12 <ehird> Okay, so independent shareware developer in the 80s, sells a program, dies in an accident.
16:35:20 <ehird> Today, it'd be uncopyrighted.
16:35:22 <ais523> could happen, I suppose
16:35:29 <AnMaster> ais523, I thought it was 70 years internationally + a few exceptions in some countries
16:35:31 <ehird> It seems quite likely
16:35:34 <ehird> There's a lot of stuff
16:35:37 <oerjan> ais523: i would imagine it was more because companies are potentially immortal... at least originally.
16:35:42 <ais523> AnMaster: no, every country is different
16:35:52 <ehird> You know, having copyright extend past death is pretty stupid.
16:36:04 <ehird> Their ghosts's intellectual rights are being infringed!
16:36:22 <ais523> well, their descendants may have royalties on it as their main source of income
16:36:41 <ehird> ais523: I'd put that as the company situation
16:36:47 <AnMaster> http://en.wikipedia.org/wiki/Copyright#Duration " In most of the world, the default length of copyright is the life of the author plus either 50 or 70 years."
16:37:00 <AnMaster> ehird, children
16:37:06 <ehird> AnMaster: wut?
16:37:17 <oerjan> ehird: but think of the children!
16:37:18 <ehird> context?
16:37:34 * ehird thinks of children. Did I tell you I'm a convicted child molester?
16:37:36 <ehird> Er, disregard that.
16:37:49 <oerjan> s/but/won't somebody please/
16:37:51 <AnMaster> ehird, the copyright ownership is owned by the dead copyright holders descendants after his death
16:38:03 <ehird> AnMaster: Right. So then the copyright is held by a living person.
16:38:06 <ais523> personally, I don't think copyright has to make sense, on the basis that nothing else in the economy does
16:38:10 <AnMaster> ehird, not any ghost no
16:38:12 <ehird> But if the person dies and it doesn't go there, ...
16:38:16 <AnMaster> ehird, btw I see you are alive again ;P
16:38:24 <nooga> i bought a car from a dead person ;d
16:38:33 <ehird> Yes. I challenged Death to tic tac toe.
16:38:35 <AnMaster> ais523, heh.
16:38:38 <ais523> ehird: who won?
16:38:40 <ehird> While he was considering it I put the first move in.
16:38:56 <ehird> ais523: Well, it was 2x2 tic tac toe.
16:38:56 <nooga> his wife had papers with his signatures
16:38:57 <ehird> so, er, me.
16:39:11 <nooga> we filled the papers and i've got a car from a dead guy
16:39:31 <ais523> heh, if I were Death in that situation (which is pretty unlikely, tbh), then once you played the first x
16:39:38 <ais523> I'd put my own x next to it, then we'd both win
16:39:45 <AnMaster> <ehird> ais523: Well, it was 2x2 tic tac toe. <-- that would be even more trivial?
16:39:45 <ehird> :D
16:39:49 <ehird> AnMaster: /facepalm
16:41:17 <oerjan> ais523: you could be Death of Losing in Tic-Tac-Toe
16:41:31 <ehird> Actually, 2x2 tic tac toe constituted a major story arc of a comic I once made...
16:41:35 <oerjan> you would fit into IWC just well
16:41:50 <ehird> Specifically, it was used to settle a dispute of Earth vs MArs.
16:41:54 <ehird> *Mars
16:41:59 <ais523> was it a very interesting comic?
16:42:20 <ehird> ais523: It was quite funny. At least people seemed to think so.
16:43:05 <nooga> ehird: have you got any docs on your idea of this self altering language?
16:43:15 <ehird> nooga: Yes, just connect to my mind
16:43:28 <oerjan> they are self altering docs, obviously
16:43:44 <ais523> oh, if only INTERCAL had string handling!
16:43:57 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
16:43:57 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
16:43:57 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
16:43:58 <ais523> I just realised that palindromic Forth hello world could be translated to INTERCAL
16:44:05 <ehird> :DD
16:44:12 <ehird> show the forth one?
16:44:22 <ais523> was it Forth, or something else?
16:44:37 <ais523> anyway, it worked by redefining syntax errors to print hello world
16:44:41 -!- psygnisfive has joined.
16:44:41 -!- AnMaster has joined.
16:44:41 -!- Judofyr has joined.
16:44:43 <ais523> then syntax-erroring
16:45:04 <oerjan> that was the tcl one wasn't it?
16:45:08 <ehird> tcl
16:45:09 <ehird> proc unknown
16:45:13 <ais523> oh, tcl
16:45:16 <ais523> sorry
16:45:18 <ais523> misremembered
16:45:31 <ais523> but it would be a simple case of DO ABSTAIN FROM COMMENTS to remove the normal meaning of a syntax error
16:45:40 <ais523> followed by DO NEXT FROM COMMENTS to redefine them
16:45:44 <ais523> then the hello world code
16:45:51 <ais523> then the whole thing backwards
16:46:04 <ais523> actually, that would print lots of hello worlds in a loop, you might want to exit somewhere in that mess
16:47:07 * oerjan recalls some basics had ON ERROR GOTO
16:47:24 <ehird> qbasic did
16:49:31 <AnMaster> ...
16:49:42 <nooga> 5555555555555555
16:49:42 * AnMaster prods freenode
16:50:52 <AnMaster> ais523, err since I missed the discussion due to the netsplit, what is the code you are talking about? And why hello world backwards?
16:51:00 <ais523> even Visual Basic had ON ERROR RESUME NEXT
16:51:11 <ais523> which is an anti-pattern in itself, codified into the language!
16:51:13 <AnMaster> <ehird> :D
16:51:13 <AnMaster> <AnMaster> ehird, I was just agreeing with you
16:51:13 <AnMaster> <AnMaster> I don't think anyone but whoever made the first move would win in 2x2 tic tac toe... Right?
16:51:13 <AnMaster> <AnMaster> it would even be impossible for first player to loose
16:51:13 <AnMaster> then the split
16:51:29 <ehird> yes, erm, no shit
16:51:31 <ais523> AnMaster: I wrote a mistake
16:51:42 <ehird> 15:51 ais523: even Visual Basic had ON ERROR RESUME NEXT
16:51:46 <ehird> php oneups it
16:51:49 <ehird> @func(...)
16:51:51 <ehird> all errors are ignored
16:51:59 <ais523> but a corrected version: the TCL palindromic hello world on stackoverflow worked by redefining syntax errors to print hello world
16:52:04 <nooga> basics are idiotic
16:52:12 <ais523> followed by the same code backwards, which obviously contained a syntax error
16:52:46 <ehird> no syntax error, ais523
16:52:48 <ehird> just unknown procedures
16:53:30 <ais523> ah, ok
16:53:31 -!- AnMaster has quit (Client Quit).
16:53:34 -!- AnMaster has joined.
16:53:37 -!- AnMaster has quit (Remote closed the connection).
16:53:45 <ais523> what's up with AnMaster, I wonder?
16:53:53 -!- AnMaster_ has joined.
16:53:57 <ehird> he blames freenode; I blame his bouncer.
16:54:05 -!- BeholdMyGlory has joined.
16:54:17 <AnMaster_> grr
16:54:25 <AnMaster_> I hate the split
16:54:55 <AnMaster_> ehird, what?
16:55:12 <ehird> It's not a netsplit.
16:55:12 <AnMaster_> ehird, didn't you see the huge netsplit?
16:55:16 <ehird> 15:53 AnMaster has left IRC (Client Quit)
16:55:16 <ehird> 15:53 AnMaster has joined (n=AnMaster@d83-177-2-125.cust.tele2.se)
16:55:17 <ehird> 15:53 AnMaster has left IRC (Remote closed the connection)
16:55:17 <AnMaster_> or not huge from your side
16:55:25 <ehird> It's not freenode's issue, AnMaster_.
16:55:32 <AnMaster_> but huge on the server I were on
16:55:33 <AnMaster_> so why would my bouncer be the issue.
16:55:39 <ehird> because there was. no. netsplit.
16:56:31 <AnMaster_> ehird, that was because of timeout. But don't pretend there weren't a netsplit before
16:56:44 <AnMaster_> ehird, after <nooga> 5555555555555555 I saw a split with lots of quits
16:56:55 <ehird> ...
16:56:56 <ehird> no
16:57:02 <ehird> 15:49 nooga: 5555555555555555
16:57:02 <ehird> 15:49 AnMaster prods freenode
16:58:19 <nooga> stop this nonsense, let's design computation model based on weave frequency, interference and diffraction
16:58:39 <AnMaster_> ehird, I sent that line about 5 minutes before the split
16:58:41 <AnMaster_> ...
16:58:43 <ais523> AnMaster_: it was a very small netsplit, only three people parted
16:58:48 <ais523> you were just caught on the small side
16:58:54 <ais523> so it looked big from your point of view
16:58:55 <ehird> ais523: oh, if only INTERCAL had string handling!
16:58:55 <ehird> 15:43 AnMaster has left IRC (kornbluth.freenode.net irc.freenode.net)
16:58:55 <AnMaster_> when I noticed lag issues
16:58:55 <ehird> 15:43 Judofyr has left IRC (kornbluth.freenode.net irc.freenode.net)
16:58:57 <ehird> 15:43 psygnisfive has left IRC (kornbluth.freenode.net irc.freenode.net)
16:59:03 <ehird> that was -ages- ago
16:59:12 <ehird> 3 minutes before
16:59:57 -!- AnMaster_ has changed nick to AnMaster.
17:00:07 -!- oerjan has quit ("Splat!").
17:02:01 <AnMaster> ehird, there were three splits in total today. From your side all looked small yes. But they were huge from my side
17:02:38 <AnMaster> afk for a bit
17:03:44 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
17:03:44 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
17:04:48 <AnMaster> ehird, now there have been 4 splits
17:05:12 <AnMaster> unless it is same but it took longer to detect on this side
17:05:20 -!- ais523 has quit (Remote closed the connection).
17:05:38 -!- psygnisfive has joined.
17:05:38 -!- Judofyr has joined.
17:05:41 <AnMaster> it might have been
17:05:44 <AnMaster> ehird, :P
17:07:39 -!- Sgeo has joined.
17:08:49 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
17:08:50 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
17:09:21 -!- Judofyr has joined.
17:09:21 -!- psygnisfive has joined.
17:13:14 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
17:13:14 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
17:14:04 -!- Judofyr has joined.
17:14:04 -!- psygnisfive has joined.
17:14:33 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
17:14:35 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
17:16:03 -!- psygnisfive has joined.
17:16:03 -!- Judofyr has joined.
17:17:44 <ehird> http://www.pixelcomic.net/ <-- The universal opinion of people I know who see this comic is that I'm writing it.
17:17:53 <ehird> I must admit it is quite, well, ehird.
17:23:37 <AnMaster> ehird, are you writing it?
17:23:41 <ehird> No.
17:23:43 <AnMaster> ah
17:23:55 <ehird> That was obvious.
17:26:14 -!- ais523 has joined.
17:26:18 <ehird> wb ais523
17:27:20 <ais523> wb me
17:27:30 <ais523> sorry, today's been pretty hectic
17:27:51 <nooga> ehird: explain!
17:27:56 <nooga> teh language
17:27:57 <ehird> no
17:28:15 <nooga> explain!
17:28:25 <ehird> na na na na
17:29:04 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
17:29:04 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
17:29:45 -!- psygnisfive has joined.
17:29:45 -!- Judofyr has joined.
17:30:22 <nooga> HURRRRRRRr
17:40:07 -!- FireFly has joined.
17:44:15 <nooga> hei
17:46:52 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
17:46:52 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
18:05:20 -!- Sgeo has quit ("Leaving").
18:06:06 -!- psygnisfive has joined.
18:06:06 -!- Judofyr has joined.
18:12:58 <ehird> ┌─────┬─┬─┐
18:13:00 <ehird> │┌─┬─┐│%│#│
18:13:01 <ehird> ││+│/││ │ │
18:13:03 <ehird> │└─┴─┘│ │ │
18:13:05 <ehird> └─────┴─┴─┘
18:13:43 <ais523> ehird: a spellbook, a wand, food, and a sink, all in individual rooms?
18:14:11 <ehird> ais523: OR the parse tree of +/%# ?!
18:14:28 <ais523> parse trees are two-dimensional nowadays?
18:15:15 <ehird> In J, yes.
18:15:15 <ehird> Well it's not a parse tree, just boxes.
18:15:25 <ehird> Boxes are, essentially, well
18:15:30 <ehird> You can't put a matrix in matrix, right? It's flattened out
18:15:35 <ehird> But you can put a box in a matrix
18:15:42 <ehird> And a box is just a matrix turned into a value.
18:15:51 <ehird> And when you have something that doesn't evaluate
18:15:55 <ehird> (+/%#) 1 2 3
18:15:56 <ehird> does
18:15:59 <ehird> but just +/%# doesn't
18:16:04 <ehird> you get it as the nested boxes of parsetreeity.
18:19:21 -!- Judofyr has quit (calvino.freenode.net irc.freenode.net).
18:19:22 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
18:20:01 <Deewiant> Parse trees have always been two-dimensional, otherwise they'd be parse lines
18:20:06 -!- Judofyr has joined.
18:20:06 -!- psygnisfive has joined.
18:20:43 <ehird> that isn't even 2d
18:20:45 <ehird> it's just nested
18:27:15 -!- Robdgreat has quit (Remote closed the connection).
18:32:44 -!- Robdgreat has joined.
18:33:44 <AnMaster> ehird, parsehack!
18:34:38 <AnMaster> also it is obvious they are 2D. Just consider LISP...
18:35:52 <lament> KISS LIPS
18:37:08 <AnMaster> lament, I said LISP :P
18:37:49 -!- Robdgreat has quit (Remote closed the connection).
18:37:50 <Deewiant> SICK LISP
18:38:12 -!- Robdgreat has joined.
18:39:01 -!- nooga has quit (Read error: 110 (Connection timed out)).
18:42:44 <ehird> http://pixelcomic.net/135.shtml
18:43:16 -!- Robdgreat has quit (Remote closed the connection).
18:44:35 -!- revcompgeek has joined.
18:44:36 <lament> this comic is shit
18:45:15 <ehird> i know; i love it.
18:48:32 -!- Robdgreat has joined.
18:50:42 <lament> if you want read a shitty comic, read jerkcity or asciiartfarts
18:51:02 <Slereah_> I have some really shitty comics if you want
18:51:03 <ehird> i'll read what i like thankyo
18:51:04 <ehird> u
18:51:05 <Slereah_> Some will make your blood boil!
18:51:15 <ehird> pixelcomic is amusing though.
18:52:11 <lament> wtf, i didn't realize this was real
18:52:12 <lament> http://en.wikipedia.org/wiki/Microsoft_Comic_Chat
18:52:25 <ais523> just seeing that URL scares me
18:52:30 <ehird> lament: err duh
18:52:39 <ehird> who didn't know jerkcity was made frmo that
18:52:41 <ehird> srsly
18:52:45 <lament> hahahaha
18:52:51 <lament> the channel on the wikipedia illustration is #zdoom
18:52:56 <lament> no wonder
18:53:06 <ehird> wait what
18:53:19 <ais523> also, interesting that that's how Comic Sans came to be
18:53:35 -!- Robdgreat has quit (Remote closed the connection).
18:53:40 <lament> wow
18:53:49 <ehird> err
18:53:51 <ehird> I don't think that's true
18:53:55 <ehird> It was designed for microsoft bob
18:53:57 <lament> and ops are represented by a hammer
18:54:01 <lament> that's wonderful
18:54:21 <ais523> wow, an actual ORLY/YARLY
18:54:31 <ais523> I didn't realise those existed in the wild
18:54:37 <lament> it's #zdoom
18:54:41 <ehird> ais523: O RLY?
18:54:41 <lament> one step removed from SA
18:55:05 <ais523> ehird: yes, O RLY?.
18:55:06 <ehird> ais523: >:|
18:55:39 <ehird> Comic Sans was designed because when I was working at Microsoft I received a beta version of Microsoft Bob. It was a comic software package that had a dog called Rover at the beginning and he had a balloon with messages using Times New Roman.
18:55:42 <ehird> http://www.connare.com/whycomic.htm
19:01:58 -!- ais523 has quit (Remote closed the connection).
19:10:37 -!- Robdgreat has joined.
19:16:14 -!- jix has joined.
19:28:14 -!- kar8nga has joined.
19:32:40 <ehird> I'm installing Windows XP in a VM and I have no idea why.
19:32:40 -!- bsmntbombdood has joined.
19:33:15 <Asztal_> Fjölnir development?
19:33:48 <ehird> :D
19:39:51 <ehird> Asztal_: is there actually a fjölnir impl readily available?
19:40:11 <Asztal_> ehird: yes: http://en.wikipedia.org/wiki/Fj%C3%B6lnir_%28programming_language%29
19:40:20 <Asztal_> it's 16-bit :D
19:40:52 <ehird> Is it coded in Háskóli?
19:41:19 <Asztal_> Also, it needs its input encoded in CP861. Brings back memories of nothing ever working.
19:41:27 <ehird> woah.
19:41:38 <ehird> "is a list-processing language similar to LISP and LOGO. "
19:41:44 <ehird> Is it just me or is this completely false?
19:41:57 <fizzie> I just (two weeks ago, maybe) installed Windows XP in a VM, and I had no idea why. (Although since then I've found a real use for it: there is some windows-specific bug in the Java thingamajic used by that AI course, whose project-work I'm handling.)
19:42:06 <Asztal_> ehird: where does it say that?
19:42:10 <ehird> Asztal_: 99bob
19:42:22 <ehird> Actually I'm installing windows to see how well I can replicate http://www.winterspeak.com/columns/goodeasy.txt on it
19:42:27 <Asztal_> ehird: well, it does have lists...
19:42:35 <ehird> Asztal_: python is a list processing language!
19:42:45 <ehird> like lisp!
19:42:47 <ehird> and logo!
19:42:56 <ehird> http://news.php.net/php.webmaster/4188 KOL WUT
19:42:57 <ehird> *LOL
19:43:03 <Asztal_> but I think the defining part of lisp is lambdas/closures... which I haven't yet found in Fjölnir :(
19:43:13 <Asztal_> *a* defining part
19:43:27 <ehird> Asztal_: Evidently this language is not yet touched by the Sussman.
19:44:43 <ehird> I hope it isn't unscien— shot
19:45:00 <Asztal_> "Its primary features are list-processing, akin to LISP's, and modular programming via algebraic package operators (which is what sets it apart from other languages), so you have special operations on packages like composition and so on."
19:45:12 <ehird> modular programming via algebraic package operators
19:45:12 <ehird> w h a t
19:45:25 <Asztal_> see the Hello World example?
19:45:30 <ehird> Yes.
19:45:50 <Asztal_> the bit in between { } is presumably a module variable, and * sort of... links them
19:46:11 <Asztal_> except the only documentation is in Icelandic, so I don't really know what it's doing :(
19:46:20 <ehird> Asztal_: Are they trying to say the good thing is that you can organize your code with packages and then run pointless operations on these packages?
19:47:28 <ehird> Please wait while Setup copies files
19:47:28 <ehird> to the Windows installation folders.
19:47:31 <ehird> This might take several minutes to complete.
19:47:32 <ehird> It's almost a Haiku.
19:48:11 <Asztal_> it's kind of cool if you can take a piece of code and use it in several different contexts... like maybe "GRUNNUR"'s * operator multiplies numbers, but some other package's * operator does something different.
19:48:25 <Asztal_> then again that might not be possible :|
19:48:27 <ehird> I think "GRUNNUR" is the standard library.
19:48:35 <Asztal_> yes, it seems so.
19:48:48 <ehird> Module names as strings is pretty stupid.
19:50:51 <Asztal_> It seems there are first-class functions, too.
19:51:05 <ehird> Installing XP feels kind of ... deviant.
19:51:23 <Asztal_> "f := stef skrifastreng(0,1)" or something like that...
19:51:44 <Asztal_> 0 being the amount of in-out parameters, 1 being the amount of in parameters.
19:51:44 <fizzie> ehird: Maybe even ... deewiant.
19:51:52 <ehird> Asztal_: that's so ugly :D
19:52:32 <ehird> 94%%%%%%%%%%%%%
19:52:53 <ehird> After this I get to remove a good part of the hideous abomination that is the parts of XP that are changed from 2000
19:52:57 <ehird> Still left with the windows horror tho
19:53:56 <ehird> "Setup will complete in approximately 39 minutes"
19:53:58 <ehird> Yay microsoft minutes
19:54:16 <fizzie> Installing it in a VM certainly beats installing it on hardware.
19:55:39 <ehird> It is currently informing me how awesome the new My Pictures folder is.
19:58:06 <ehird> THE 25 CHARACTER PRODUCT KEY
19:58:15 <ehird> APPEARS ON THE LOWER SECTION OF YOUR CERTIFICATE OF AUTHENTI-CI-TY!
19:58:18 <ehird> It freakin' rhymes.
19:59:06 <Robdgreat> they're poets and they were completely eluded by that fact
19:59:12 <ehird> :D
19:59:22 -!- jix has quit ("...").
19:59:47 <ehird> So erm, my right mouse button is way too flaky.
19:59:53 <Robdgreat> pop that sucker off
19:59:54 <ehird> Using windows without one will be fun.
19:59:56 <Robdgreat> you don't need it
20:00:02 <ehird> Robdgreat: Actually there's just one touch-sensitive button.
20:00:09 <fizzie> If your right mouse button offends you, pop that sucker off.
20:00:15 <ehird> Apple Mighty Mouse Gee Isn't It Great, There's No Line So It Doesn't Work Properly
20:00:17 <fizzie> It's, like, in the Bible. Or something.
20:00:32 <Robdgreat> fizzie: hrhr
20:02:24 -!- MigoMipo has joined.
20:05:48 <ehird> Wow, windows xp cursor excelleration is awful
20:05:52 <ehird> you can really feel it working
20:09:29 <ehird> Record a CD as easily as saving
20:09:32 <ehird> information to a floppy disk
20:09:34 <ehird> — Windows XP installer
20:12:50 <ehird> MICROSOFT(R) <windows logo>(TM)
20:12:53 <ehird> Windows (R) xp
20:12:57 <ehird> [ ==== ]
20:13:27 <ehird> Whoa, shitty intro video.
20:13:37 <ehird> OH GOD IT'S CLIPPY EXCEPT IT's A (?)
20:13:54 <ehird> I HATE THIS MUSIC
20:15:11 <ehird> The product key being used to activate this copy of windowshas exceeded the maximum numbe rof lalowed activations
20:15:15 <ehird> fuckwits
20:19:12 -!- olsner has joined.
20:19:51 <tombom> oh dear
20:20:23 <ehird> http://www.google.com/search?q=%22Windows+XP+Professional%22+%22Belarc+Advisor+Current+Profile%22+key%3A
20:20:27 <ehird> Radaaa!
20:20:37 <Deewiant> ehird: FCKGW-... ?
20:20:45 <ehird> Deewiant: Does that still work?
20:20:58 <Deewiant> No, I was inquiring as to whether that one was what you used
20:21:03 <ehird> No
20:21:08 <Deewiant> Because obviously, it doesn't work ;-)
20:21:09 <ehird> I used an actual legit key
20:21:17 <ehird> From a copy of Windows I own
20:21:18 <ehird> :|
20:21:26 <ehird> But I've used it on too many machines, ho ho!
20:23:32 <Robdgreat> but remember, it's to protect you from non-genuine software
20:24:26 <ehird> Anyone have a spare xp home key?
20:26:04 <Asztal_> If it's legit, you can call Microsoft to get more activations, I think. ;)
20:29:13 <ehird> Yeah, like I wanna do that.
20:34:57 -!- revcompgeek has left (?).
20:35:43 <ehird> First steps: http://imgur.com/ALIPP.png
20:37:09 <ehird> Anyone know how to hide the awful Sidebar in explorer?
20:44:39 <ehird> <XP> You can't delete this file cuz I don't want you to.
20:51:56 <Robdgreat> don't you just love that?
20:53:35 <ehird> yep, I had to download a freakin' extra app that just removes that limitation ><
20:54:02 <Robdgreat> what was it
20:55:02 <ehird> Called Unlocker
20:55:07 <ehird> http://ccollomb.free.fr/unlocker/
20:55:08 <psygnisfive> hey.
20:55:13 <ehird> Hi psygnisfive
20:55:16 <Robdgreat> well I meant what were you trying to delete
20:55:41 <Robdgreat> but I imagine that's an app I'll have some use for as well
20:55:42 <ehird> oh. various shite that windows puts in program files by default :P
20:55:47 <Robdgreat> Oh.
20:56:16 <ehird> Wow, the vm booted to windows desktop in ~5 seconds.
20:56:22 <ehird> Did I remove slowdowneverything.dll?
20:56:41 <Robdgreat> amazing
20:57:01 <ehird> AAAAAAAAAAAAAAAAAAA!
20:57:03 <ehird> THE FILES ARE BACK!!!
20:57:10 <ehird> Except now they're all lowercase.
20:57:40 <ehird> Robdgreat: http://imgur.com/ALR79.png
20:57:56 <psygnisfive> eugh
20:58:01 <psygnisfive> i had a horrible dream last night D:
20:58:09 <psygnisfive> and ehird, you just reminded me off it
20:58:16 <Robdgreat> ah i see
20:58:23 <ehird> psygnisfive: did it involve windows
20:58:26 <psygnisfive> yes :(
20:58:36 <ehird> XD
20:59:13 <psygnisfive> specifically, it involved a mac that had been loaded with some sort of horrible program that force-ran windows (or some fake windows like program) and wouldnt give control to the user
20:59:27 <ehird> heeehehehe
20:59:46 <ehird> Hmm. When you remove a lot of crap frmo a windows system you quickly learn the fastest ways to get around.
21:00:03 <psygnisfive> dude it was so horrible :(
21:00:05 <ehird> For instance, the best way to run any program you don't have a shortcut to, or open any directory, is Windows-R.
21:00:15 <ehird> Windows-R: It's like Quicksilver for XP.
21:00:28 <psygnisfive> yes :P
21:00:30 <psygnisfive> only not as awesome
21:01:12 <FireFly> Or like krunner for KDE
21:01:40 <psygnisfive> Krunnel, a pastry closely related to the cruller
21:01:49 <psygnisfive> .. krunner*
21:03:02 <ehird> I seriously just saw windows boot up in 13 seconds till full responsiveness
21:03:02 <ehird> XP!
21:03:06 <ehird> That's crazy
21:03:13 <ehird> (Counting right from when the bios switches over to windoze)
21:03:18 <psygnisfive> craziness
21:03:56 <ehird> I don't have the service packs; wonder when I'll get that message box spam? :)
21:04:17 <ehird> Robdgreat: any ideas on how to eradicate those phantom folders?
21:04:21 <ehird> They're all empty
21:04:52 <Robdgreat> I don't know :/ I've never tried I guess
21:07:43 <ehird> Wow, the process list actually fits without a scrollbar.
21:07:47 <ehird> http://imgur.com/ALWLP.png
21:08:28 <psygnisfive> sfgkjadfklgj stop it ehird D:
21:08:35 <ehird> stop clicking.
21:08:41 <psygnisfive> i dont know what it is until i dod! :(
21:09:55 <ehird> I wonder if I should follow Good Easy to the letter, and install Netscape 4. :P
21:10:05 <psygnisfive> yes.
21:10:30 <ehird> Hahahah no.
21:11:06 * ehird installs opera because it's lightweight
21:13:57 <psygnisfive> http://i.gizmodo.com/5185498/tesla-model-s-electric-sedan-prototype-has-a-giant-touch-dashboard?skyline=true&s=i hotness
21:14:35 <ehird> ugh, that must be a pain to use
21:15:00 <lament> ouch
21:16:08 <Asztal_> you'll never get rid of "xerox" from program files.
21:18:06 <ehird> Asztal_: why not
21:18:13 <Asztal_> http://blogs.msdn.com/oldnewthing/archive/2004/11/16/258220.aspx
21:18:20 <ehird> crap, raymond chen?
21:18:21 <Asztal_> Windows File Protection ensures that it's there.
21:18:24 <ehird> it is evidently undeletable
21:18:27 <Asztal_> if you disable that, maybe :)
21:18:45 <ehird> can you disable it?
21:18:46 <ehird> how?
21:18:49 <ehird> I think you can
21:18:50 <ehird> just dunno how
21:19:03 <Asztal_> I don't know, but those programs that patch uxtheme.dll do it somehow.
21:19:10 <ehird> http://www.pctools.com/guides/registry/detail/790/
21:19:14 <ehird> ^_______________________________________________________^
21:19:32 <ehird> aha
21:19:32 <ehird> You may disable WFP by setting the value SFCDisable (REG_DWORD) in HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon. By default, SFCDisable is set to 0, which means WFP is active. Setting SFCDisable to 1 will disable WFP. Setting SFCDisable to 2 will disable WFP for the next system restart only (without a prompt to re-enable).
21:19:35 <ehird> that's easier
21:19:38 <ehird> from microsoft.com
21:20:29 <ehird> Important: You must have a kernel debugger attached to the system via null modem cable (for example:I386kd.exe or Windbg.exe) to use SFCDisable = 1 or SFCDisable = 2.
21:20:30 <ehird> LOL WUT
21:20:41 <ehird> Warning! Windows File Protection is not active on this system. Would you like to enable Windows File Protection now? This will enable Windows File Protection until the next system restart. <Yes> <No>.
21:20:41 <ehird> Clicking Yes will reactivate WFP until the next system restart. This message will appear at every successful logon until SFCDisable is set to 0.
21:20:44 <ehird> LOL WUT
21:23:50 <tombom> a kernel debugger attached to the system via null modem cable
21:23:54 <tombom> best requirement
21:28:47 <ehird> This is going worryingly well
21:28:55 <ehird> Maybe thi sisn't actually windows
21:29:26 <Asztal_> if you like, you can stop programs putting things in My Documents by deleting it and creating a file called My Documents.
21:29:34 <ehird> Oohhhhh.
21:29:36 <ehird> err
21:29:37 <ehird> laggy keybbbbbboard
21:29:40 <ehird> That would be nice. I shall do that.
21:30:07 <Asztal_> It may break some programs, maybe.
21:30:18 <ehird> Asztal_: It doesn't let me delete it :(
21:30:25 <Asztal_> >:(
21:30:51 <Asztal_> run a LiveCD in your VM :)
21:31:22 <ehird> lulz
21:32:07 <ehird> Asztal_: this windows vm thinks it has an Intel Core 2 Duo @ 2.17GHz... with 192MB of ram
21:32:08 <ehird> :D
21:33:26 <ehird> Huh, what text editor is the done thing on windows?
21:33:26 <ehird> Not code editor
21:36:28 <ehird> Yay, I get the pleasure of using the fucktarded WINDEYS UPDAYT
21:39:00 -!- nooga has joined.
21:39:44 <nooga> huh?
21:39:50 <ehird> huh?
21:40:27 <FireFly> huh?
21:40:28 <ehird> huh?
21:40:39 <nooga> <ais523> ehird: a spellbook, a wand, food, and a sink, all in individual rooms?
21:40:39 <nooga> <ehird> ais523: OR the parse tree of +/%# ?!
21:40:39 <nooga> <ais523> parse trees are two-dimensional nowadays?
21:40:42 <FireFly> :(
21:41:15 <FireFly> nooga, if you had "huh?":ed, we'd have a palinbromic huh
21:41:22 <FireFly> s/b/d
21:41:37 <nooga> heeh
21:41:44 <nooga> didnt notice
21:42:02 <nooga> huh?
21:45:07 <FireFly> huh?
21:51:54 <ehird> bleargh
21:54:43 <ehird> to use a serial for sp3 i need to upgrade to sp3 but to upgrade I need to activate XD
21:59:55 -!- zzo38 has joined.
22:00:31 <zzo38> Maybe someone should invent a new card game based on INTERCAL
22:02:23 <zzo38> Also I think functional INTERCAL description on CLCLC-INTERCAL is now good enough to implement all Unlambda operators, what do you think?
22:02:32 <ehird> Can it do c?
22:02:43 <zzo38> I think so.
22:03:41 <zzo38> I tried to write Unlambda in CLCLC-INTERCAL but I'm not sure if the operators is correct yet because I cannot test it. http://zzo38computer.cjb.net/esoteric/CLCLCINTERCAL/unlambda.txt
22:03:59 <zzo38> Does it look right to you? Probably there is some mistake because it is untested
22:04:27 <ehird> I don't really understand but it looks cool
22:04:53 <zzo38> Do you think it can do c?
22:05:06 <ehird> It looks OK
22:08:21 <zzo38> It says label (7) is for c but label (8) and (9) and (10) are also used as part of the c function. I'm not sure if there is a better way
22:09:22 -!- neldoreth has quit (No route to host).
22:10:23 <zzo38> Until you or me learn the INTERCAL way of programming it might be a bit confusing whether or not it works, you have to follow it slowly to understand. But once you or me it more used to CLCLC-INTERCAL (if you are insane also) then you should be able to understand the programs more faster.
22:11:52 <ehird> I'm insane, so that's a good start
22:13:40 <zzo38> See if you can follow the program slowly at least to see if there is something I missed while doing the same. Eventually if CLCLC-INTERCAL is implemented then I can learn it faster, but it will take a while to learn it at first for sure!
22:15:33 <ehird> Is there anything that would make it hard to implement?
22:15:35 <ehird> I might have a shot.
22:16:12 <zzo38> If you have question or comments please ask it. On IRC and/or on the [[Talk:CLCLC-INTERCAL]] page
22:19:01 -!- BeholdMyGlory has changed nick to FireFly|.
22:19:15 -!- FireFly| has quit (Nick collision from services.).
22:19:35 -!- FireFly| has joined.
22:19:35 <FireFly> :>
22:20:05 -!- FireFly| has quit (Remote closed the connection).
22:20:24 -!- BeholdMyGlory has joined.
22:22:14 <zzo38> I'm not sure what would make it hard to implement
22:28:59 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)).
22:35:16 -!- oerjan has joined.
22:39:11 -!- neldoreth has joined.
22:40:35 <oerjan> <ehird> Is it coded in Háskóli?
22:41:22 <oerjan> back off from that weapon, you are not experienced enough to use it safely.
22:43:21 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:43:49 <oerjan> <ehird> Asztal_: Are they trying to say the good thing is that you can organize your code with packages and then run pointless operations on these packages?
22:44:00 <oerjan> isn't that sort of like ML functors?
22:49:13 <Asztal_> an example: http://moonpatio.com/fastcgi/hpaste.fcgi/raw?id=1988
22:49:41 <Asztal_> it uses the "quicksor" module, which uses the "<" and "=" given directly below it
22:50:03 <Asztal_> I don't know ML :(
22:56:51 <oerjan> module Int_set = Set.Make (struct
22:56:51 <oerjan> type t = int
22:56:51 <oerjan> let compare = compare
22:56:51 <oerjan> end)
22:57:12 <oerjan> Asztal_: that's an ocaml example
22:58:27 <oerjan> it creates an anonymous module defining a type t = int and how to compare it, and then uses the Set.Make functor to create a module for handling int sets
22:58:42 <oerjan> (from http://www.ocaml-tutorial.org/modules)
23:00:45 -!- k has joined.
23:01:13 -!- k has changed nick to Guest45549.
23:02:59 -!- Guest45549 has quit (Remote closed the connection).
23:05:52 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
23:20:38 -!- Judofyr has quit (Remote closed the connection).
23:21:07 -!- Judofyr has joined.
23:22:09 -!- tombom has quit ("Peace and Protection 4.22.2").
23:29:47 -!- Judofyr has quit (Read error: 145 (Connection timed out)).
23:31:22 -!- BeholdMyGlory has quit (Remote closed the connection).
23:32:19 -!- neldoret1 has joined.
23:32:22 <ehird> 21:41 oerjan: back off from that weapon, you are not experienced enough to use it safely.
23:32:39 <ehird> One word the forced side-effect removal of the code.
23:32:53 -!- neldoreth has quit (Read error: 113 (No route to host)).
23:33:26 <oerjan> Parse, your sentence doesn't.
23:34:18 <ehird> It is a snowclone.
23:34:29 <ehird> Originator: "One word the forced indentation of code thread over."
23:35:11 <oerjan> Parse, that sentence still doesn't.
23:38:51 <ehird> Yes, well.
23:39:59 <ehird> > ATTACK TROLL WITH SWORD
23:39:59 <ehird> Joe Clark deftly deflects your parry.
23:40:01 <ehird> — Mark Pilgrim
23:42:55 <ehird> Yikes:
23:42:56 <ehird> The goal of invariant sections, ever since the 80s when we first made the GNU Manifesto an invariant section in the Emacs Manual, was to make sure they could not be removed. Specifically, to make sure that distributors of Emacs that also distribute non-free software could not remove the statements of our philosophy, which they might think of doing because those statements criticize their actions.
23:43:00 <ehird> — rms
23:43:09 <ehird> Every day I seem to find something rms says that's more ridiculous & idiotic than the last thing.
2009-03-27
00:26:58 -!- FireFly has quit ("Later").
00:32:09 <oerjan> `.d`.c`.d`.c`.d`.c`.d``e`````````````.H.e.l.l.o.,. .W.o.r.l.dii```````````````iid.l.r.o.W. .,.o.l.l.e.H.`````````````e``d.`c.`d.`c.`d.`c.`d.`
00:33:16 <oerjan> don't try that in the unlambda interpreter in C, it revealed a bug in the e function...
00:33:37 <ehird> how does it work?
00:34:10 <oerjan> mainly it uses . not just to print, but also to escape things that would otherwise be syntax errors
00:34:18 <oerjan> (when reversed)
00:34:22 <ehird> oh it's palindromic
00:35:32 <oerjan> yeah i got inspired by the recent reddit post
00:35:42 <ehird> stackoverflow actually
00:37:43 -!- Dewio has joined.
00:41:41 <ehird> oerjan: Great, now i'm writing an unlambda interp.
00:42:43 <oerjan> yay!
00:43:46 <ehird> oerjan: In machinec ode.
00:43:48 <ehird> Except not really
00:43:52 <ehird> Ooh, wait.
00:43:57 <ehird> Unlambda is compilable, isn't it?
00:44:10 <oerjan> theoretically at least somewhat
00:44:21 <ehird> oerjan: er, the only oddity is just c isn't it?
00:45:32 * oerjan puts the palindrome on the wiki
00:45:37 <ehird> oerjan: is it not?
00:45:38 <oerjan> also d
00:45:57 <oerjan> but i made a sort of compiler in ocaml
00:46:04 <ehird> right, I saw it
00:46:05 <ehird> forgot about d
00:46:07 <ehird> although
00:46:11 <ehird> oerjan: you can just treat d as
00:46:15 <ehird> a data structure (D <function>)
00:46:16 <oerjan> it's not really much more than a proof of concept
00:46:20 <ehird> it just makes ` a bit of a different operator
00:46:21 <oerjan> well sure
00:46:29 <oerjan> but then you get further from compilation
00:47:07 <ehird> oerjan: er, all that changes is `
00:48:14 <oerjan> oh and it's (D <expression>)
00:50:04 <ehird> I meant
00:50:06 <ehird> pass the thunk
00:50:29 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
00:56:02 <ehird> oerjan: hmm wait
00:56:04 <ehird> you can do
00:56:09 <ehird> ``ddi can't you?
00:56:16 <oerjan> yep
00:56:23 <ehird> argh!
00:56:29 <oerjan> though `dd is equivalent to i
00:56:37 <ehird> er no it's not?
00:56:39 <ehird> it's equivalent to d
00:56:42 <oerjan> sure it is
00:56:53 <ehird> ?
00:57:25 <oerjan> because the inner d is not evaluated until the whole of `dd is applied, by which time it is too late not to evaluate the argument
00:57:34 <ehird> er
00:57:39 <ehird> but ``dxy is `xy
00:57:54 <ehird> so ``ddi is `di
00:57:57 <oerjan> if x is an expression, that's not the same
00:58:04 <ehird> o.o
00:58:10 <oerjan> it changes when x is evaluated
00:58:22 <ehird> huh?
00:58:28 <oerjan> *the time when
00:59:08 <oerjan> (1) when you evaluate `dd you get not d, but a (d <d>) thunk like you mentioned
00:59:30 <oerjan> this does _not_ compare equal to d, so it does not prevent evaluation of an argument
00:59:37 <ehird> ah.
00:59:43 <ehird> are you sure this is spec behaviour?
00:59:49 <ehird> or just an implementation artifact
01:01:18 <oerjan> definitely, it's mentioned:
01:01:22 <oerjan> "Another point to note is that ``dd`ri prints a blank line: indeed, `dd is first evaluated, and since it is not the d function (instead, it is a promise to evaluate d), it does not prevent the `ri expression from being evaluated ..."
01:01:30 <ehird> ah
01:07:59 <ehird> Marginalia is a nice word.
01:08:45 <oerjan> it's not so much used, i think, it may be a little, you know ...
01:12:30 -!- Sgeo has joined.
01:14:18 <ehird> oerjan: Marginalic?
01:15:12 <oerjan> that is not a word
01:15:24 <ehird> Sure it is.
01:15:46 <oerjan> hm barely
01:16:08 <oerjan> those words lack a certain heterologicality
01:17:17 -!- Slereah has joined.
01:20:56 <ehird> god I love WORDS and TYPOGRAPHY and <333
01:22:10 <oerjan> how typical
01:25:42 -!- olsner has quit ("Leaving").
01:26:18 <ehird> "I wonder what kind of developers here are trashing PHP?
01:26:18 <ehird> My guess is ASP and Java people, which explains their irrational hatred of all things relatively efficient and solid."
01:28:39 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
01:35:05 <nooga> oh
01:36:49 <oerjan> uh
01:38:04 <ehird> lol idyots
01:51:22 * comex wonders what he's going to do this summer
01:58:51 <nooga> lol
01:59:04 <nooga> it's f**** winter
02:01:27 <oerjan> we're actually past the spring equinox, you know
02:01:49 <oerjan> DO YOU HEAR THAT, SNOW? GET OUT OF HERE!
02:04:54 <comex> and yet it's not far off
02:05:00 <comex> and I don't know what I'm going to do :u
02:17:04 -!- revcompgeek has joined.
02:57:26 <bsmntbombdood> so how does concurrent garbage collection work?
03:00:52 -!- oklowob has joined.
03:01:00 <oklowob> hello i'm an oklowob
03:01:12 <oerjan> i can see that
03:01:33 <oklowob> that must be true because i believe it
03:01:35 <oerjan> sounds ominous
03:02:45 <oklowob> this was pretty cool, i have about 4 hours of work to do by 8am, and i woke up at 4am
03:03:41 <oklowob> went to sleep at about 7pm, thought i'd take a tiny nap
03:04:14 <oklowob> well, south parks first
03:04:18 <oklowob> ->
03:13:08 <bsmntbombdood> i was thinking that you could fork(), mark-and sweep in the child, and then communicate back the set of unreachable objects to the parent
03:34:09 <oklowob> i saw this totally epic morphism yesterday
03:41:08 * oerjan swats oklowob -----###
03:43:01 <oerjan> incidentally that term has no google hits
03:50:44 <oklowob> In category theory an epimorphism (also called an epic morphism or an epi)...
03:51:09 * oerjan swats oklowob again -----###
03:51:17 <oerjan> "totally epic morphism"
03:51:21 <oerjan> no hits
03:51:25 <oklowob> oh
03:51:37 <oklowob> right
03:51:45 <oklowob> forgot the whole context
03:52:09 <oklowob> because i started wondering whether there actually were any totally epic morphisms yesterday
03:52:10 <oerjan> you think i would have swatted you if i didn't get the pun? :[
03:52:31 <oklowob> and i just remember one trivial one
03:52:38 <oerjan> um and what's "totally" in this context?
03:52:47 -!- Dewio has changed nick to Dewi.
03:52:59 <oklowob> :D
03:53:28 <oklowob> well i don't actually know what an epimorphism is, in the most general sense
03:53:36 <oklowob> just what it is in g and f theory
03:53:56 <oerjan> "g and f theory"?
03:54:06 <oklowob> well you need to expand those
03:54:25 <oklowob> wait
03:54:27 <oklowob> r theory
03:54:51 <oerjan> oh
03:55:06 <oklowob> basically a surjective morphism?
03:55:18 <oklowob> hm
03:55:18 <oerjan> not quite
03:55:26 <oklowob> same page two lines down
03:55:34 <oklowob> oh
03:55:37 <oklowob> and then the rest of that line
03:55:40 <oklowob> for the not quite
03:55:42 <oklowob> :)
03:55:46 <oerjan> there are categories where epic morphisms don't need to be surjective
03:56:36 <oklowob> so what's the definition? i mean there's one on wp but i just can't
03:56:57 <oerjan> e is epic if e f = e g implies f = g for all morphisms f and g
03:57:07 <oklowob> hmm
03:57:30 <oklowob> what about if f e and g e imply f = g?
03:57:31 <oerjan> unless it's the other way around, i think notation is a bit inconsistent
03:57:41 <oerjan> the other way is "monic"
03:57:49 <oklowob> ah it all comes together
03:58:15 <oerjan> um wait am i speaking the truth
03:58:35 <oklowob> well i don't care whether you are, i like it anyway
03:59:29 <oerjan> ok it's true if i get the directions correctly
03:59:36 <oklowob> so what are morphisms exactly?
03:59:47 <oklowob> homomorphisms + possibly extra?
03:59:48 <oerjan> f o e = g o e => f = g, epic
04:00:13 <oklowob> or are there morphisms that are straight
04:00:14 <oerjan> nothing extra, in those categories of gs, fs and rs :D
04:00:50 <oklowob> by extra i meant epimorhisms and shit, which are homomorphisms plus a few extra things
04:01:06 <oerjan> morphism is a generalization of homomorphism, but to other categories
04:01:10 <oklowob> so i'm thinking morphism = function that has preserves behavior
04:01:16 <oklowob> *that preserves
04:01:26 <oklowob> when mapped over a structure
04:01:37 <oerjan> yes, but ...
04:01:55 <oerjan> the thing is that what you choose as being morphisms _defines_ the category
04:02:20 <oklowob> grrr, no matter what i learn, there's always a higher truth :D
04:02:42 <oerjan> each of the categories of groups, rings and fields are _defined_ by making morphism = homomorphism
04:02:48 <oklowob> "well sure that's kinda correct but when you get to university, they teach you how this thing really works"
04:02:55 <oklowob> hmm
04:03:20 <oerjan> and that's common for algebraic structure categories
04:03:57 <oerjan> but you can define categories of other things, and also, you can define other categories on the same class of objects
04:03:58 <oklowob> i thought those groups were defined by their citizens and their operations :<
04:04:12 <oerjan> the groups themselves, yes
04:04:18 <oerjan> category is a technical term
04:04:18 <oklowob> *structures
04:04:29 <oklowob> well i don't know category theory
04:04:43 <oklowob> and i'm not even sure we have any here :|
04:04:56 <oklowob> well probably as one of the triannual courses
04:04:59 <oerjan> i never explained it to you before? i have this vague recall...
04:05:31 <oklowob> well clearly i didn't understand it then
04:05:47 <oerjan> to have a category, you need a class of objects and a class of morphisms between them
04:06:08 <oerjan> they need to satisfy a few extremely general rules
04:06:24 <oklowob> can you put that in group theory context
04:06:25 <oklowob> is the
04:06:28 <oklowob> class of objects
04:06:38 <oerjan> the groups themselves are the objects
04:06:40 <oklowob> the whole (G,*) thing
04:06:43 <oklowob> ohh
04:06:52 <oklowob> ohhhhh
04:06:54 <oklowob> ohhhhhhhhh
04:06:55 <oerjan> the homomorphisms are the morphisms
04:06:57 <oklowob> that's so hot
04:07:02 <oklowob> i love this
04:07:05 <oklowob> so awesome :D
04:07:37 <oklowob> okay so the general rules
04:07:47 <oklowob> or should i perhaps be able to guess
04:08:05 <oklowob> no probably not, i'm group biased
04:08:28 <oerjan> well you have a few maps.
04:08:43 <oklowob> maps?
04:09:18 <oklowob> hmm, need to start doing homewurk soon
04:09:18 <oerjan> for each morphism, you have a source object and a target object
04:09:24 <oklowob> this is of course very relevant to it
04:09:52 <oklowob> err
04:10:05 <oklowob> how is that a rule isn't it just part of the type of the operation
04:10:08 <oerjan> and for two morphisms, if the target of one is the source of the other, then you have their composition
04:10:15 <oklowob> hmm
04:10:18 <oklowob> oh
04:10:59 <oklowob> anything else?
04:11:18 <oerjan> for each object you have an identity morphism
04:11:43 <oerjan> id_A o f = f = f o id_B for any morphism f : B -> A
04:11:54 <oerjan> where A and B are objects
04:11:58 <oklowob> yes right
04:13:09 <oerjan> finally, if f : A -> B, g : B -> C and h : C -> D, then h o (g o f) = (h o g) o f
04:13:32 <oerjan> (f : A -> B means that A and B are the source and target of f)
04:14:05 <oklowob> hmm...
04:14:11 <oerjan> that's the whole definition of a category, i think
04:14:13 <oklowob> what could A mean in group theory?
04:14:20 <oklowob> like...
04:14:26 <oklowob> "permutations"
04:14:36 <oerjan> A is a group
04:14:48 <oklowob> is it one certain group
04:14:57 <oklowob> like "S4"
04:15:05 <oerjan> could be
04:15:28 <oklowob> and not like the set of S_n for different n
04:15:31 <oklowob> 's
04:15:43 <oerjan> each morphism has a unique source and target
04:15:58 <oklowob> well that's how homomorphisms work so i should know that
04:16:01 <oklowob> but just checking
04:16:33 <oklowob> cuz i suck at this
04:16:44 <oklowob> hmm
04:16:52 <oklowob> so you can actually get interesting theory out of this?
04:17:06 <oerjan> are you familiar with the category Hask? ;D
04:17:32 <oklowob> well no
04:17:44 <Asztal_> in Haskell are the objects types and the morphisms functions?
04:17:46 <oklowob> but i'm sure i would be amused if i were
04:17:50 <oklowob> oh.
04:17:53 <oerjan> the objects are haskell _types_ and the morphisms are functions between them
04:18:35 <oklowob> makes sense
04:18:41 <oerjan> oklowob: well categories are an extremely general thing
04:18:58 <oklowob> oerjan: that doesn't answer my question
04:19:44 <oerjan> um
04:20:16 <oklowob> neither does that!
04:20:43 <oerjan> sheesh students are so demanding these days
04:20:47 <oklowob> okay now that i know all category theory, should probably make some more coffee and start doing calculus with a different angle
04:21:03 <oerjan> that's just the definition of a category
04:21:20 <oklowob> teachers are so pedantic these days
04:22:08 <oerjan> the "interesting" stuff happens when you pile on other definitions by the bucketful, and then you discover that those definitions crop up in many of the example categories
04:22:19 <oklowob> i know the definition *and* that they are an extremely general thing.
04:22:35 <oerjan> epic and monic are just the tip of the iceberg
04:22:54 <oklowob> oh dear
04:23:06 <oklowob> hmm
04:23:09 <oklowob> ah right
04:23:15 <oklowob> wait
04:23:48 <oklowob> hmph, i hate this webirc thing
04:24:36 <oklowob> when i started group theory, i was like "can you seriously get something out of something *this* general"
04:25:59 <oklowob> after doing about 15 fully general proofs not related to any specific group i started believing maybe you can
04:26:09 <oklowob> then i heard there was a separate group theory course
04:26:31 <oklowob> maybe category theory would be a similar experience
04:27:30 <oerjan> probably
04:28:22 <oklowob> so what's after category theory
04:28:24 <oklowob> ;)
04:28:46 <oerjan> i don't think it's so much after as inside
04:28:56 <oerjan> you very soon start going meta
04:29:13 <oklowob> metamorphism
04:29:33 <oerjan> i'm not sure if that's a term
04:29:48 <oklowob> conceptual morphism from anything more general than category theory to category theory
04:29:54 <revcompgeek> I just created a quine for Ans! http://esolangs.org/wiki/Ans#Quine
04:30:43 <oerjan> but you define a new category where the objects are categories, and the morphisms are something called functors
04:31:25 <oklowob> so it *can* do itself
04:31:30 <oerjan> and then you define a category where the objects are _functors_, and the morphisms are something called natural transformations
04:31:39 <oklowob> :D
04:31:55 <oklowob> and then transformations of order n
04:32:10 <oerjan> i recall John Baez the theoretical physicist does work on those order n things
04:32:27 <oklowob> order 8 being especially interesting, and studied extensively
04:32:44 <oerjan> i'm not aware of that
04:33:17 <oklowob> do you have like separate mathematician mode and joker mode
04:33:21 <oklowob> i'm not being serious
04:33:30 <oerjan> i guess you are joking but if i thought you knew this stuff i wouldn't have dared assumed it :D
04:33:40 <oerjan> *assume
04:34:14 <oklowob> err
04:34:18 <oklowob> this is kinda embarrassing
04:34:22 <oklowob> but i can't parse that :D
04:34:28 <oerjan> but functors and natural transformations are actually fairly _basic_ concepts in category theory
04:34:28 * oklowob is kinda tired
04:34:40 <oerjan> *assume that you were joking
04:34:49 <oerjan> i mean it _could_ be true
04:35:08 <oklowob> maybe so
04:35:10 * oerjan is tired too
04:35:38 <oerjan> then there are monads, which come out of certain pairs of functors
04:35:54 <oklowob> <oerjan> but functors and natural transformations are actually fairly _basic_ concepts in category theory <<< yeah okay i'm getting a boner here where can i learn this stuff 8|
04:36:08 <oklowob> hmm
04:36:24 <oklowob> okay tell me a bit about monads, then i'll go
04:36:25 <oerjan> oh not sure, i never had a formal course on just category theory
04:36:41 <oerjan> it was sort of baked into the homological algebra stuff
04:36:56 <oklowob> ...homological?
04:37:16 <oerjan> homology is a theory from topology
04:37:35 <oklowob> well. i don't know topology :<<
04:37:54 <oerjan> topology is about extremely generalized geometry
04:37:59 <oklowob> please swat me about being a noob
04:38:03 <oerjan> nah
04:38:07 <oklowob> i don't even know much geometry really...
04:38:18 <oerjan> at least you know what it _is_
04:38:25 <oklowob> :P
04:38:49 <oklowob> i guess that's how i defined knowing a subject earlier
04:39:11 <oerjan> homology theory was the main reason they developed category theory initially
04:39:28 <oklowob> i did read one article about topology, and how it's actually basically halting theory
04:39:39 <oerjan> O_o
04:39:41 <oklowob> and then one of the comments said something about uncountable sets
04:39:55 <oklowob> and that topology was more general, because of them
04:40:00 <oklowob> and i was like
04:40:01 <oklowob> k
04:40:13 <oerjan> sounds fishy
04:40:32 <oerjan> but as usual, there's probably some sense in which it is true
04:41:00 <oklowob> well i only understood the halting problem part of the text, and not where it was put in context
04:41:31 <oerjan> well there are unsolvable problems in topology, i've heard
04:42:17 <oklowob> well. i'm sure there's a morphism between those and halting then
04:42:28 <oerjan> heh
04:42:36 <oklowob> look at me already making CT references
04:43:45 <oklowob> anyway, this has been mind blowing, but seriously need to go do my homework right about now
04:43:47 <oklowob> or
04:43:58 <oklowob> maybe watch an ep of sp first
04:44:00 <oerjan> seriously need to go bed, here
04:44:09 <oerjan> *to
04:44:14 <oklowob> i has new bed
04:44:17 <oklowob> and it awesome.
04:44:35 <oklowob> it's like sleeping on pigeons
04:44:39 <oklowob> anyway bye ->
04:44:41 <oerjan> ouch!
04:44:49 <oerjan> bye
04:44:57 -!- oerjan has quit ("Good night").
04:45:40 <oklowob> it's funny how different sleep cycles you see when talking with people from all over the world!
04:47:49 <Asztal_> you might find http://www.cs.utoronto.ca/~sme/presentations/cat101.pdf interesting
04:48:15 <Asztal_> I don't really know if it's any good because I know nothing about category theory, I was probably linked to it at some point
04:49:18 -!- pikhq_ has joined.
04:50:45 -!- pikhq has quit (Nick collision from services.).
04:50:47 -!- pikhq_ has changed nick to pikhq.
04:56:59 -!- oklowob has quit ("PJIRC @ http://webirk.dy.fi").
04:57:16 -!- oklowob has joined.
04:57:24 -!- GreaseMonkey has joined.
04:57:41 -!- revcompgeek_ has joined.
05:13:29 -!- revcompgeek has quit (Read error: 110 (Connection timed out)).
05:14:42 -!- revcompgeek_ has quit.
05:28:50 <psygnisfive> sleeping on pigeons? lol
05:28:53 <psygnisfive> silly oklowob
05:34:47 <oklowob> ;;)
05:41:28 -!- revcompgeek has joined.
05:54:03 -!- revcompgeek has quit.
06:04:06 -!- rodgort has quit ("Coyote finally caught me").
06:04:18 -!- rodgort has joined.
06:08:23 -!- revcompgeek has joined.
06:20:39 -!- revcompgeek has quit.
07:37:36 <psygnisfive> oklowob
07:40:39 -!- Slereah_ has joined.
07:52:58 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:54 -!- mtve has joined.
08:28:18 -!- FireFly has joined.
08:41:40 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
08:49:36 -!- BeholdMyGlory has joined.
09:07:43 -!- tombom has joined.
09:07:56 -!- BeholdMyGlory has quit (Remote closed the connection).
09:32:51 -!- neldoreth has joined.
09:35:23 -!- neldoret1 has quit (Read error: 113 (No route to host)).
09:38:09 -!- neldoret1 has joined.
09:38:22 -!- neldoreth has quit ("leaving").
09:39:34 -!- FireFly has quit ("Later").
09:58:47 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:03:06 -!- amca has joined.
10:36:50 -!- Judofyr has joined.
10:39:28 -!- Judofyr has quit (Client Quit).
10:55:54 -!- ehird has quit (Read error: 113 (No route to host)).
12:04:38 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
12:05:13 -!- bsmntbombdood has joined.
12:15:43 -!- ehird has joined.
13:09:21 -!- Slereah has joined.
13:21:26 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:27:41 -!- KingOfKarlsruhe has joined.
13:50:51 -!- nooga_ has joined.
13:55:00 <nooga_> %%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13:58:05 -!- nooga has quit (Read error: 60 (Operation timed out)).
13:58:16 -!- amca has quit ("Farewell").
14:00:00 <fizzie> That's a lot of food.
14:06:33 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:11:43 <nooga_> i'm hungry
14:12:51 <nooga_> what's Finnish national dish? :D
14:20:23 <fizzie> I'm not sure we have anything that's so very Finnish. See http://en.wikipedia.org/wiki/Cuisine_of_Finland#Traditional_dishes and http://en.wikipedia.org/wiki/Mämmi though.
14:21:18 <fizzie> I really don't get the latter one. It's like they were trying to make as close a replica of excrement they could.
14:22:35 <fizzie> Love the Wikipedia article, though. "Interest in mämmi has risen even in non-Scandinavian settings, due to Finns' eager attempts to offer the idiosyncratic foodstuff to foreigners.[weasel words] Some have served it as an exotic specialty; others, a joky test (due to its superficially unappetizing appearance).[weasel words] The growing interest in reviving old recipes and the general enthusiasm for past ages and local things in these international times may a
14:22:35 <fizzie> lso play a part in this.[weasel words]."
14:23:36 <nooga_> looks tasty
14:25:23 <fizzie> "In 2007, it [http://en.wikipedia.org/wiki/Karjalanpaisti] was selected as the national dish of Finland by the readers of the Finnish newspaper Iltalehti." That's not very official, but I guess it's as close as it gets.
14:25:47 <fizzie> It's not as strange as the mämmi thing, though.
14:26:13 <nooga_> hehe
14:26:16 <nooga_> nothing special
14:26:33 <nooga_> my grandma cooks something quite simmilar
14:27:19 <fizzie> This place is not really known for the cuisine.
14:28:26 <nooga_> http://en.wikipedia.org/wiki/List_of_Polish_cuisine_dishes mehehehehe
14:28:29 <nooga_> hehehe
14:28:31 <nooga_> rotfl
14:32:01 <nooga_> im huuuuuuuuungryyyyyyyy :C
15:09:48 <Robdgreat> eeeeeeeeeat
15:41:25 <ehird> 02:13 bsmntbombdood: i was thinking that you could fork(), mark-and sweep in the child, and then communicate back the set of unreachable objects to the parent
15:41:28 <ehird> that is basically the idea
15:41:32 <ehird> you start a new thread
15:41:35 <ehird> fork()
15:41:39 <ehird> mark, send back unreachable objs
15:41:45 <ehird> then that thread in the parent frees them
15:41:47 -!- oerjan has joined.
15:41:48 <ehird> = 0-delay
15:41:55 <ehird> it gets more complicated for non-mark-and-swee
15:41:55 <ehird> p
15:42:03 <ehird> also, you can multithread the marking and the sweeping, for extra multicore powah
15:46:22 <ehird> "Anyhow when your UI freeze, it's often due to programs who are camping the Kernel CPU time somehow having an *exclusive usage of the machine, hence the freezings (usually it's a sign of a badly written software).
15:46:23 <ehird> if it's window you could have been unlucky and your machine could be loaded with malwares *
15:46:25 <ehird> (my two cents where wrong there)"
15:46:27 <ehird> I love bullshit.
15:47:24 <oerjan> <fizzie> I really don't get the latter one. It's like they were trying to make as close a replica of excrement they could.
15:47:34 <oerjan> isn't that generally the case for national dishes?
15:48:14 <oerjan> also, the finnish national dish is of course koskenkorva, duh
15:48:21 <ehird> 03:35 oklowob: <oerjan> but functors and natural transformations are actually fairly _basic_ concepts in category theory <<< yeah okay i'm getting a boner here where can i learn this stuff 8|
15:48:25 <ehird> functors are liek trivial
15:50:45 <oerjan> thus basic
15:51:13 <ehird> ergo.
15:51:22 <ehird> okay so I'm a try compile ghc once mores
15:51:22 <oerjan> nomics.
15:51:38 <ehird> oerjan: where did nomic come from
15:52:03 <oerjan> ergo, nomic.
15:52:28 <ehird> Proposal: oerjan must properly justify his use ofthe word nomic.
15:53:01 <oerjan> Vote AGAINST: it's obvious
15:53:14 <oerjan> especially when you know i said it
15:53:28 <ehird> oerjan: HA! I have tricked you!
15:53:36 <oerjan> oh noes!
15:53:38 <ehird> You have played nomic once more just now!
15:53:41 <ehird> Mwahahahahaha
15:54:14 <ehird> Hokay, mkdir ghc, cd ghc.
15:54:15 * oerjan does a rotating ehird swat ###-----.-----###
15:54:22 <ehird> Time to fail in ~/ghc.
15:54:45 <ehird> oerjan: now all I have to do is ask if you could email me to test my new mail server, and have it forward the message to agora-business!
15:54:55 <ehird> HA HA HA HA HA
16:00:15 <ehird> i don't care if I die from compiling ghc
16:00:17 <ehird> I MUST DOO IT
16:00:23 <ehird> if it's the last thing I doooooooooooooooo
16:00:26 <ehird> oooooooooooooooooo
16:00:49 -!- ehird has set topic: topic ain't done changed since 2009-03-17 | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
16:01:06 <oerjan> oh dear famous last words
16:01:11 <ehird> oooooooooooooooooooooooo
16:01:14 <ehird> oooooo
16:02:00 <oerjan> interesting, by putting it in the topic it becomes a lie
16:02:37 <ehird> yes
16:02:54 <ehird> If I don't say "CREAMPUFF" in the next 5 seconds, this sentence is false.
16:05:06 <oerjan> and thus the universe disappears in a, um, well.
16:05:38 <ehird> cream puff?
16:05:45 <oerjan> of logic.
16:05:49 <ehird> right.
16:06:31 <ehird> ) wget http://haskell.org/ghc/dist/6.8.2/ghc-6.8.2-darwin-i386-leopard-bootstrap.tar.bz2
16:17:51 -!- Sgeo has joined.
16:19:46 <oklowob> mmmi is good
16:27:25 -!- ais523 has joined.
16:28:19 <ehird> hi ais523
16:28:22 <ais523> hi
16:29:51 <oerjan> AnMaster: IWC :D
16:30:03 <AnMaster> oerjan, read it hours ago yes
16:30:09 <AnMaster> and I agree it was funny
16:30:25 <AnMaster> I'd say hilarious even
16:31:02 <ehird> Very few things are hilarious
16:31:27 <AnMaster> ehird, this one was if you have followed that theme since the start (which was IWC strip 1)
16:31:33 <AnMaster> well not that long
16:31:42 <oerjan> 3
16:31:59 <nooga_> mmmi
16:32:01 <AnMaster> oerjan, oh was the quest introduced in strip 3?
16:32:05 <nooga_> mmmi mmmi mmmi
16:32:08 <oerjan> no, fantasy was
16:32:25 <AnMaster> oerjan, ah... which was first then?
16:32:30 * AnMaster looks
16:34:05 <oerjan> 516
16:34:24 <AnMaster> ah
16:34:34 <ais523> oerjan: is that palindromic Unlambda hello, world yours?
16:34:45 <oerjan> yes
16:34:51 <ais523> that's pretty impressive
16:35:04 <oerjan> thank you :)
16:35:31 <nooga_> where?
16:35:37 <ais523> nooga_: on the wiki
16:35:47 <ais523> http://esolangs.org/wiki/Unlambda
16:38:06 <oerjan> i think the method can be used for a general program, after some substitution of .x and ?x to prevent reverse syntax errors
16:39:25 <oerjan> in the wiki program i just made sure most of the .x'es were consecutive.
16:40:08 <ais523> hmm... ``k`i.x.i
16:40:15 <ais523> is equivalent to .x
16:40:26 <ehird> kixi
16:40:30 <ais523> and isn't a syntax error when reversed, as long as you can deal with matching the backquotes somehow
16:40:38 <oerjan> actually ``k.x.i is simpler
16:42:40 <oerjan> the method for matching the backquotes has a strange parity problem, which leads to an extra i in that program
16:43:11 <ais523> oh yes, I was too fixated on the i.x.i pattern to realise you could get rid of an i in the result
16:43:14 <oerjan> basically `.d is neutral on the left while d.` adds two functions on the right
16:43:18 <ehird> kixi
16:43:21 <ehird> kixikixikixi
16:43:33 <ehird> it SOUNDS like an idiom.
16:45:21 <ehird> hmm
16:45:29 <ehird> since when have IWCs have license watermarks
16:45:55 <ehird> hmm
16:45:56 <ehird> since 2241
16:47:11 <oerjan> no older than that
16:47:18 <ehird> oh
16:48:43 <oerjan> 2000 has a straight copyright
16:50:12 <oerjan> 2209 starts with the license thing
16:52:43 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
16:55:23 <ehird> There should be an editor that is a bunch of decoupled shell commands.
16:55:29 <ehird> Not like sed, that's way too bloated.
16:55:33 <ehird> It'd be unixy. :P
16:58:58 <ehird> So, my ghc compilation appears to be working so far.
16:59:09 <nooga_> well
16:59:17 <nooga_> like TECO?
16:59:28 <ehird> TECO is one big program…
16:59:39 <nooga_> but it's funny, so what's the problem?
17:00:11 <ehird> "I want a pony."
17:00:18 <ehird> "Like, this Chicken?" "bwuk bwuk bwuk bwuk"
17:00:21 <ehird> "That's a chicken..."
17:00:25 <ehird> "But it goes bwuk, so what's the problem?"
17:00:30 <nooga_> yep
17:00:35 <nooga_> that was exactly my point
17:00:45 <ehird> I see.
17:02:54 <oklowob> i only see what is seen to me
17:05:33 <nooga_> oh the whitest boy alive is so cash
17:09:29 <oklowob> WHAT THAT MADE NO SENSE
17:09:48 <nooga_> ehird: that kind of editor probably could be coded using bash and sed
17:09:50 <nooga_> :]
17:09:54 <ehird> no shit :P
17:09:58 <ehird> but sed is too bloated for that
17:10:09 <nooga_> aliasing sed shit with bash commands
17:10:41 <ehird> no u
17:11:49 <nooga_> stupid idea is stupid
17:12:12 <ehird> nooga_: does your brain operate only with inane memes?
17:14:11 <nooga_> probably it operates on cigarettes, gas, alcohol and abstract cucumbers
17:14:24 <ehird> abstract cucumbers.
17:14:39 <ehird> are these, like
17:14:41 <ehird> not real cucumbers?
17:16:13 <nooga_> idk, but if I imagine one it seems to be made of aluminium
17:19:11 <ehird> ghc is the slowest compilation process I can possibly imagine
17:22:13 <ehird> http://blog.fishsoup.net/2009/03/26/reinteract-0-5-0/ this looks awesome
17:22:39 <ehird> ais523: you should look at it
17:22:42 <ehird> it's like mathematica for python
17:22:54 <ais523> is that awesome?
17:23:05 <ehird> ais523: err, not the buggy slow part
17:23:07 <ais523> oh, ok
17:23:09 <ehird> the REPL part
17:23:09 <ehird> :P
17:23:21 <ehird> non-textual output, reevaluatingt
17:23:23 <ehird> that sort of stuff
17:24:37 <ais523> it doesn't seem to have a Mathematica-style stdlib
17:24:41 <ais523> which is the only good thing about Mathematica
17:24:44 <ehird> ais523: it had play()
17:24:46 <ehird> for sounds
17:24:50 <ehird> mathematica has that sort of stuff
17:24:56 <ais523> it appears to just be a UI library
17:24:59 <ehird> errrrrrrrr
17:25:01 <ehird> what?
17:25:03 <ehird> it's not a ui library
17:25:12 <ais523> as in, a way to output python stuff as graphs or sounds or whatever
17:25:20 <ais523> rather than for actually doing the processing, that appears to be all python
17:25:26 <ehird> no...
17:25:29 <ehird> ais523: http://fishsoup.net/software/reinteract/reinteract-demo.png
17:25:37 <ehird> if you can't see the resemblence to mathematica there you must be blind
17:25:39 <ais523> ehird: did you click onto the reinteract wbsite?
17:25:48 <ehird> click the image
17:25:53 <ais523> what's there is a resemblance to mathematica's /output/
17:25:55 <ais523> not to its processing
17:26:06 <ehird> ais523: yes, but you can also modify lines and have later lines recalculate
17:26:08 <ehird> just like mathematic
17:26:09 <ehird> a
17:26:15 <ais523> you are missing the point of mathematica, again
17:26:33 <ehird> I don't care; I found those features useful
17:26:33 <ais523> it's not going to have all the super-optimised mathematica pi-calculating and integrating and cellular-automating stuff
17:26:37 <ehird> more useful than the stdlib
17:26:45 <ais523> yes, but you can get them anywhere more or less
17:26:53 <ais523> if you aren't using mathematica for the stdlib, why buy it?
17:26:54 <ehird> ais523: you CAN—but I've never seen it
17:27:06 <ais523> I've seen it in MathCAD, which is a commercial applicatoin
17:27:09 <ais523> but it's the same stuff as that
17:27:28 <ais523> tbh, even Excel has all the features you ask for, apart from the sound
17:27:35 <ais523> it has re-evaluation when you change things, and graphs
17:28:03 <ehird> ais523: show me a repl that has those features for an open-source, general-purpose programming language
17:28:22 <ais523> well, Mathematica doesn't, so it's a bad comparison
17:28:27 <ais523> (I wouldn't call it general-purpose)
17:28:32 <ehird> ais523: well, not general purpose
17:28:35 <ehird> just not restricted
17:28:44 <ehird> Excel is certainly useless in that respect
17:30:11 <ehird> http://programmersdiary.today.com/2009/03/27/core-war-the-king-of-programming-games/
17:30:19 <ehird> impomatic just can't stop writing the same introductory article about core war
17:30:21 <ehird> over and over again
17:30:25 <ehird> on different blogs
17:31:45 <ais523> well, that's one way to spread the word
17:32:01 * ais523 thinks someone should implement a RL microprocessor that uses redcode as machine language
17:32:08 <ais523> as it's a pretty good asm
17:32:20 <ehird> SPL
17:32:29 -!- nooga_ has quit.
17:34:31 <ehird> http://cybernetnews.com/2006/12/06/cybernotes-200-firefox-extensions-installed-at-one-time/
17:50:50 -!- olsner has joined.
18:03:10 -!- zzo38 has joined.
18:04:08 <zzo38> I just want to try some of the features of PocketMonsterIRC. Send a message to it with a command that you want. Only some command support so far: + - * / rnd
18:04:16 <zzo38> And also the CTRL+A VERSION command should work
18:04:36 <ais523> zzo38: what's its nick?
18:04:47 <zzo38> ais523: PocketMonsterIRC
18:05:22 <ais523> + 2 2
18:05:28 <ais523> whoops
18:05:30 <zzo38> For example: PRIVMSG PocketMonsterIRC :rnd 2d6+1
18:05:33 <ais523> hmm... it uses forward-polish
18:05:41 -!- FireFly has joined.
18:05:55 <ais523> it doesn't seem to have anything to do with pokémon, though
18:06:11 <zzo38> Actually it uses only one calculation at a time. So you can do "+ 2 2" but you can't do something like "+ * 3 4 + 2 2" because that won't work
18:06:41 <zzo38> It will support pokemon later. I already made the element table so far and a few things having to do with pokemon, but not enough that it will work yet.
18:07:46 <zzo38> I also implemented the "ro" command which is a public dice-roll (useful for D&D and other dice games over IRC), but unfortunately I have not yet implemented the command to tell them what channel you want so it won't work yet. But I will implement that feature very soon.
18:08:05 <ais523> the usual method to run a bot is to get the bot to join a channel
18:08:10 <ais523> and to respond to messages there in a certain format
18:08:12 <ais523> like this:
18:08:15 <ais523> ^bf ,[.,]!This is a test.
18:08:15 <fungot> This is a test.
18:08:22 <ais523> the ^ tells fungot that the message is destined for it
18:08:23 <fungot> ais523: ice boxes keep your food fresh. to the sea; there's no point in crying over a hundred pounds. his eyes, by w.b. yeats), which means the exalted one, two! and never use a pick-axe because his armor is light and hot; that region is glowing and burning, and no wasps. if she kills the lynx, she accidentally turned her skin green, and scholars, by w.b. yeats)
18:09:38 <zzo38> There are reasons I don't. But when you tell the bot what channel you want it will automatically join any channels that any users have told PocketMonsterIRC to join (for public dice rolls or for watching a pocket monster game going on between two users)
18:09:46 <ehird> what reasons?
18:10:40 <zzo38> So it doesn't interfere with other bots on the same channel. Also because I find my way more reasonable. But I will post the source-codes for this program under GNU GPL so if you want to, you can make your own version doing whatever you want it to do, of course (once it is at least half finished)
18:10:58 <ehird> zzo38: you add a prefix
18:11:01 <ehird> so that it doesn't conflict
18:11:05 <ehird> like #foo instead of foo
18:11:07 -!- olsner has quit ("Leaving").
18:11:12 <ehird> also, the IRC spec says you should reply like:
18:11:14 <ehird> NOTICE #channel :foo
18:11:16 <ehird> instead of PRIVMSG
18:11:17 <ais523> see, #foo is olsner's quit command
18:11:21 <ehird> because bots aren't supposed to respond to PRIVMSG
18:11:27 <ehird> so if you use NOTICE it won't interfere
18:11:33 <ais523> ehird: PocketMonsterIRC already replies with NOTICE
18:11:41 <ais523> have you tried it?
18:11:44 <ehird> ok, so what's the problem?
18:11:50 <zzo38> The bot does respond with NOTICE, doesn't it? And you try sending a NOTICE to it, it won't respond.
18:11:57 <ehird> OK
18:12:01 <ehird> so how would it interfere?
18:12:44 <zzo38> I find it better if messages are specifically addressed the program you want to send it to.
18:13:12 <ehird> zzo38: but other people should see the results
18:13:18 <ehird> in the channel
18:13:32 <zzo38> But maybe I will implement the public prefix option too, maybe not. If I do it is likely to be something that a user tells the bot they want to be able to use that prefix on a channel they have told it to join in order for it to work
18:13:59 <zzo38> If you use the "ro" command the other people will see the results. (Once I implement the "join" command, of course.)
18:14:25 <zzo38> And I will implement the join command as soon as this testing session is finished (which shouldn't take long)
18:15:09 <zzo38> So far it only understands two IRC commands PING and PRIVMSG and it only understands one CTRL+A command VERSION
18:16:15 -!- zzo38 has quit ("I told PocketMonsterIRC to also quit.").
18:30:57 -!- Mony has joined.
18:33:41 -!- zzo38 has joined.
18:33:53 -!- PocketMonsterIRC has joined.
18:35:27 <zzo38> Now I implemented "join" in PocketMonsterIRC so you can roll publicly. Once I finished implement pocket monster game it will be you can watch the game also, but only the things that are allowed to be public (for example, percentage of HP but not the exact value, unless the option tells you that both players are allowed to know the exact value)
18:36:07 <zzo38> Just try PRIVMSG PocketMonsterIRC :join #esoteric
18:36:16 <zzo38> And then PRIVMSG PocketMonsterIRC :ro 2d6+1
18:36:20 <zzo38> And it work!
18:36:28 <ehird> cool
18:36:31 <ais523> <-> PocketMonsterIRC> join #esoteric
18:36:33 <ais523> it didn't join...
18:36:36 <ehird> heh
18:36:48 <ais523> oh, it's here already
18:36:51 <oklowob> zzo38: i tried proving the look-and-say thing, took about 5 minutes without paper
18:37:28 <oklowob> (or 2)
18:37:32 <ais523> zzo38: I'd suggest that the question should be sent to #esoteric, as well as the answer
18:37:41 <zzo38> You mean the look-and-say thing which does repeated run-length encoding. I prove it more quickly than that, but I still don't quite remember...
18:37:45 <ais523> so people on non-telnet clients don't have to type out /msg PocketMonsterIRC every time they say something
18:37:55 <ais523> and so logbots see the question
18:37:59 <oklowob> zzo38: i didn't exactly time it
18:38:18 <zzo38> I know the proof but not how long it took, but it was pretty quick and without paper (maybe 1 minute or 2 minutes)
18:38:31 <oklowob> and you don't really have to remember it, it's pretty much straight from the definition of a step
18:38:41 <oklowob> right
18:38:42 <zzo38> And PocketMonsterIRC will tell the type of dice to the channel if you do public roll dice
18:38:52 <ais523> it's still a pain to roll it
18:38:55 <ehird> zzo38: yeah it's hard
18:39:01 <ehird> you have to type /msg PocketMonsterIRC all the time
18:39:03 <ais523> it's about as difficult as doing it on telnet, whether you have a GUI client or not
18:39:04 <ehird> instead of like
18:39:11 <ehird> |ro 100d1000+1000
18:39:13 <ehird> which is just one key
18:39:16 <ais523> whereas doing it to-channel would be slightly easier on telnet
18:39:20 <ais523> due to being easier to spell
18:39:24 <ais523> and much easier with an IRC client
18:39:34 <zzo38> If you have some real IRC client, wouldn't it like have some sort of window for private conversations? I don't know because I don't have any IRC client, I just use netcat
18:39:41 <ais523> zzo38: yes, it would
18:39:44 <ais523> and that's the problem
18:39:47 <ehird> It does but you have to switch a lot
18:39:50 <ais523> having to go to a separate window is annoying
18:39:53 <ehird> Which would be a pain when playing pokemon...
18:40:45 <zzo38> Ya maybe I will implement a prefix mode. However I will make it so that every user who wants to use it has to set the prefix they want to use
18:41:10 <ehird> why?
18:41:13 <ehird> that sounds irritating...
18:41:20 <ais523> more to the point, it could be very confusing
18:41:47 <ais523> also, we can't have botloops if the bot doesn't respond to a channel
18:41:50 <ais523> and botloops are fun
18:41:58 <oerjan> oklowob: what proof? that it grows indefinitely? (i don't think the cosmological theorem would take that short to prove, you have to classify 92 atoms)
18:41:59 <ehird> We can't have botloops anyway ais523
18:42:01 <ehird> it uses NOTICE
18:42:07 <ehird> oerjan: that you can never have 333
18:42:09 <ehird> which is blindingly obvious
18:42:12 <oerjan> oh that
18:42:15 <oerjan> yes
18:42:23 <ehird> in a literal sense
18:42:27 <ehird> I thought about it and I went blind :(
18:42:47 <zzo38> Just send something like "join channel" and "prefix ,," to PocketMonsterIRC, and then any message you send to that channel if it starts with two commas it will remove the two comma and handle it as a message from you.
18:42:48 <oklowob> oerjan: no fours
18:42:52 <oerjan> well it's slightly less obvious if you are working in a base
18:43:03 <oerjan> since then it only applies "eventually"
18:43:11 <ais523> ehird: oh, ofc, it's actually complying with the RFC
18:43:47 <zzo38> What's ofc and what's complying with the RFC
18:44:01 <ais523> ofc = of course
18:44:01 <ehird> ofc=of course
18:44:04 <ehird> rfc=the irc RFC spec
18:44:12 <ehird> which says that bots should respond with NOTICE
18:44:22 <ais523> and complying with the RFC, in this case, using NOTICE for automated replies like you're supposed to, rather than PRIVMSG like everyone actually does
18:44:36 <ehird> it would help if NOTICE wasn't annoying in every client ever
18:44:37 <zzo38> And it does respond with NOTICE. Of course I read the RFC! How do you think I connected to this IRC?
18:44:49 <ehird> zzo38: trial and error...?
18:44:52 <oklowob> oerjan: has it been proven that's the shortest way to prove it?
18:44:54 <ehird> a tutorial/reference from google?
18:44:58 <ehird> i mean, that's how most people do it
18:45:12 <oerjan> oklowob: er what? i didn't give any proof
18:45:20 <zzo38> I proved it on my own and I think you should learn to do so also. It isn't that hard
18:45:26 <oklowob> are there any proofs of shortest proofs?
18:45:34 <ais523> oklowob: yes, but they're too long
18:45:35 * oerjan proved it ages ago
18:45:39 <ais523> (sorry, couldn't resist)
18:45:44 <oklowob> wait proved what
18:45:48 <oerjan> oklowob: in principle that's undecidable
18:45:52 <oklowob> zzo38: prove what?
18:45:58 <oklowob> *proved
18:46:12 <oklowob> that it grows infinitely?
18:46:25 <zzo38> oklowob: Not sure. It is the repeated RLE that never has 4 or 333
18:46:59 <oklowob> <zzo38> I proved it on my own and I think you should learn to do so also. It isn't that hard <<< who was this addressed to?
18:47:08 <ehird> [please say oerjan]
18:47:23 <oklowob> oerjan: you said you need to classify 92 atoms
18:47:29 <zzo38> I won't tell you who that was addressed to
18:47:34 <oklowob> and i made a little joke out of that
18:47:37 <oklowob> zzo38: why?
18:48:02 <oerjan> oklowob: for the cosmological theorem, which says that everything splits into atoms
18:48:44 <oklowob> oerjan: do you need to classify the atoms to prove it splits into atoms?
18:48:46 <zzo38> And why are NOTICEs annoying in IRC clients? And how are NOTICEs annoying in IRC clients?
18:48:55 <ais523> NOTICEs aren't annoying in my client
18:48:56 <oklowob> zzo38: why won't you tell me that? you're a strange person.
18:49:02 <ais523> [17:34] [Notice] -PocketMonsterIRC to #esoteric- zzo38:ro 2d6+1 3 = 6; 4; 7
18:49:09 <ais523> that's what it looks like in my client
18:49:14 <ais523> as opposed to [17:48] <zzo38> And why are NOTICEs annoying in IRC clients? And how are NOTICEs annoying in IRC clients?
18:49:15 <oerjan> oklowob: no, i don't think so. i think i proved it. all you need is to show that you get boundaries that never collapse.
18:49:17 <ais523> which is what a privmsg looks like
18:50:03 <oklowob> oerjan: yeah that's the automaton way, i just feel like you could do it even simpler, somehow from the same thing that gives the no fours result
18:50:08 <zzo38> OK, well depending on the client you could modify the client to work better. But I want my program to work properly as long as it is compatible with IRC
18:50:21 <oklowob> zzo38: why won't you tell me why you won't tell me that?
18:50:53 <ehird> zzo38: why won't you tell oklowob why you won't tell oklowob why you won't tell oklopol who the message was addressed to?
18:51:00 <ehird> s/oklopol/oklowob/
18:51:17 <oerjan> oklowob: um it's fairly simple. and since _some_ boundaries _do_ collapse, it cannot be that much simpler
18:51:21 <ehird> zzo38: "why won't you tell oklowob why you won't tell oklowob why you won't tell oklowob who the message was addressed to" -- why won't you tell oklowob?
18:51:24 <ehird> oh this is endless fun
18:51:32 <zzo38> Please try to figure it out by yourself. That is why I don't tell you
18:51:41 <ehird> erm how can we infer that
18:51:54 <oerjan> 22|33 -> 2223, boundary destroyed
18:51:55 <ais523> ehird: why won't you tell me why zzo38 won't tell oklowob why he won't tell oklowob why he won't tell oklowob who the message was addressed to?
18:52:52 <zzo38> ("ro d" rolls 1d6+0)
18:52:54 <oklowob> i think zzo38 misunderstood this world
18:53:26 <ehird> GHC COMPILED!!!!!!!!!!!!!!!!!!!!!
18:53:26 <oklowob> also the reason is he wants me to figure it out for myself
18:53:28 <zzo38> oklowob: No I didn't embed any puzzle or anything. You have to figure it out by reading the other messages and infering the context, if you can do that.
18:53:32 <ehird> WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT
18:53:35 <oklowob> zzo38: but why :D
18:53:46 <ehird> oklowob: you have to figure it out
18:54:13 <oerjan> oklowob: iirc the clue is that certain strings that start with 1 or 3 tend to step to strings that keep starting with 1 or 3, and vice versa for 2.
18:54:32 <oerjan> and that prevents enough boundaries from collapsing
18:54:34 <oklowob> zzo38: it just makes no sense no matter who it was addressed to
18:54:52 <ehird> Prelude> 2+2
18:54:52 <ehird> 4
18:54:55 <ehird> woot
18:55:08 <oklowob> zzo38: was that the correct answer?
18:55:43 <zzo38> Was what the correct answer, to what question? Do you mean something like "Prelude> 2+2 4 woot" or a different answer/question?
18:56:02 <oklowob> zzo38: what i've been talking about all this time, that one line of yours
18:56:08 -!- KingOfKarlsruhe has joined.
18:56:08 <ais523> well, in Haskell, 2+2 is indeed 4
18:56:13 <ais523> using the definition of + from the Prelude
18:56:18 <oklowob> i just don't see who you could possible have addressed it to, so i wanted to know if it was me
18:56:19 <oerjan> <ehird> [please say oerjan] <<< now don't be rude :D
18:56:21 <ais523> so I assume that was ehird's test that ghci was working
18:56:34 <oklowob> *possibly
18:56:39 * ais523 catches zzo38 in a butterfly net -----\XXXXX/
18:56:47 <zzo38> My one line of mine was not addressed to anyone in particular. I hoped you would figure it out
18:56:51 * ais523 releases zzo38 again
18:57:51 <oklowob> zzo38: ah, i guess that makes the least sense, and you're kind of a cook.
18:58:19 <zzo38> I do cook sometimes but mostly I don't cook actually
18:59:01 -!- PocketMonsterIRC has quit (Read error: 104 (Connection reset by peer)).
18:59:09 -!- zzo38 has quit ("OK I will work on PocketMonsterIRC more").
18:59:12 <ehird> gourmet?
18:59:13 <ehird> (drag racing on)
18:59:13 <ehird> (mars)
18:59:13 <oklowob> yesa noodles and shit
18:59:13 <oklowob> *yes
18:59:13 <ais523> ehird: I object.
18:59:26 <oerjan> oklowob: s/c/k/
18:59:43 <ehird> no that was intentional I believe
18:59:49 <oerjan> oh?
18:59:50 <ehird> [for hopefully obvious reasons]
19:03:48 <oklowob> ohh
19:03:50 <oklowob> kook
19:03:51 <oklowob> yes
19:03:54 <oerjan> ominous raisins
19:03:55 <oklowob> that was mostly intentional
19:04:06 -!- impomatic has joined.
19:04:07 <oklowob> althought it was a mental premature ejaculation initially
19:04:10 <impomatic> Hi :-)
19:04:17 <ais523> hi
19:04:22 <oklowob> but took me ages to figure out what you were correcting
19:04:37 <oerjan> i was trying not to be _too_ obvious
19:04:48 <oklowob> there was just one c :D
19:04:59 <oerjan> that actually was just poor luck
19:05:04 <oerjan> *pure
19:05:06 <oklowob> "why would he correct my cook into a cock"
19:05:13 <oklowob> "that can't be it"
19:06:12 <oklowob> so, should i go buy beer, drink it alone, and do math?
19:06:22 <oklowob> i've always wanted to try that
19:06:27 <AnMaster> wow I ran into a developer who rejected a patch on the grounds that it broke on BeOS...
19:06:39 <ehird> AnMaster: don't be dissin' BeOS!
19:06:39 <ais523> well, that's a good reason to reject a patch
19:06:43 <AnMaster> ehird, not my patch
19:06:52 <ais523> if it breaks on /anything/, it's probably nonportable in some way
19:06:52 <ehird> i mean, saying 'wow' at it
19:06:52 <oerjan> BeOS or not BeOS, that's *hit by anvil*
19:07:45 <oerjan> oklowob: why not? time to start on the path to ruin, i say!
19:09:33 <oklowob> hit by anvil or not hit by anvil, that's *BeOS*
19:09:38 <AnMaster> is BeOS POSIX? Or does it have a totally custom API?
19:10:03 <AnMaster> RIP oklowob\nhit by flyswatter
19:10:13 <oklowob> oerjan: already started, now i actually *got* my first 4
19:10:15 <ehird> beos is custom
19:10:16 <ehird> c++
19:10:18 <oklowob> dunno if i mentioned
19:10:44 <AnMaster> ehird, ah interesting, then why on earth did the same developer suggest using POSIX threads for the same project in another place...
19:10:47 <AnMaster> confusing
19:10:56 <ehird> It probably supports pthreads.
19:10:57 <oerjan> oklowob: wait, you can by beer while ircing?
19:10:59 <AnMaster> ah
19:11:01 <oklowob> no one out of the 20-30 or so got a 5 of course, but still
19:11:03 <oerjan> *buy
19:11:16 <oerjan> oh wait right
19:11:16 <AnMaster> ehird, someone else mentioned that didn't work on windows though.
19:11:41 <oerjan> alcoholism next, then.
19:13:09 <oklowob> so one pro, is that all?
19:13:39 <oklowob> how are you not interested in my beveragility!
19:14:05 <AnMaster> * ais523 catches zzo38 in a butterfly net -----\XXXXX/ <-- since when did you have a net ais523?
19:14:11 <ehird> ...
19:14:14 <ais523> AnMaster: the butterfly net's mine, I've had it for ages
19:14:15 <ehird> AnMaster: not paying attention since 2008
19:14:18 <oerjan> AnMaster: you haven't been paying attention
19:14:24 <AnMaster> oh ok
19:14:29 <ehird> guys has AnMaster not been paying attention?
19:14:32 <ehird> thought I should mention it
19:14:34 <ais523> it's a lot nicer than oerjan's swatter
19:14:37 <ehird> </channeling-oklopol>
19:14:47 * oerjan swats ais523 to compare -----###
19:14:51 <ais523> ouch!
19:15:02 <AnMaster> ais523, nicer how? For the netter or the netee?
19:15:12 <AnMaster> or whatever you call it
19:15:19 <oklowob> i don't think AnMaster has really paid much attention
19:15:28 <AnMaster> ...
19:15:29 * oerjan catches ais523 in the saucepan ===\___/
19:16:24 <AnMaster> hm I always thought the "ee" ending to mean ~"a person at the receiving end of some action" was rather weird.
19:16:29 <oklowob> if you don't answer soon, i'm going to have to ask on my university project's channel, and get an unanimous yes.
19:16:30 <AnMaster> looks out of place in English
19:16:44 <oerjan> AnMaster: probably from french
19:17:00 <oklowob> even the professors say drinking is an important part of university
19:17:16 <AnMaster> oklowob, don't drink alcohol!
19:17:22 <lament> that's just cause they don't smoke pot
19:17:32 <oklowob> (okay one of those professors does play WoW 14 hours a day)
19:17:38 <oerjan> feminine perfect participles often end with ée, afair
19:17:39 <AnMaster> heh...
19:17:46 <oklowob> (actually probably not a professor anymore)
19:17:52 <ehird> 18:15 AnMaster: oklowob, don't drink alcohol!
19:17:55 <ehird> your arguments are convincing
19:18:09 <oklowob> yeah oerjan's was better
19:18:18 <AnMaster> ehird, I didn't know I had to justify it. You could just ask for that
19:18:20 <AnMaster> and I would
19:18:30 <ehird> AnMaster: linux sucks! stop using it
19:18:37 <oerjan> oklowob: it was that sweet taste of undetectable sarcasm
19:18:38 <oklowob> "you suck, so no one cares if you ruin your life", to paraphrase
19:18:46 <AnMaster> seriously, don't get drunk, know what alcohol does to your liver?
19:18:48 <AnMaster> for example
19:18:56 <lament> know what life does to you?
19:19:07 <AnMaster> ehird, justification? As you saw I'm prepared to do give it on demand
19:19:13 <AnMaster> so I assume the same from you now
19:19:25 <ehird> AnMaster: nope, sorry, try a £100 upgrade.
19:19:35 <AnMaster> ehird, that made no sense
19:19:37 <ehird> 18:17 AnMaster: seriously, don't get drunk, know what alcohol does to your liver? <-- also, being alive has a 100% mortality rate
19:19:42 <ehird> very dangerous, don't do it
19:20:16 <AnMaster> ehird, sure, but alcohol has a potential to shorten your lifespan quite a bit
19:20:23 -!- oerjan has quit ("Later").
19:20:30 <ehird> so does existing
19:20:33 <oklowob> AnMaster: it damages the liver, thereby strengthening it
19:20:38 <ehird> consider, every second you live, you chop off one second from your life
19:20:40 <ehird> pretty scary
19:20:41 <AnMaster> ehird, not compared to baseline
19:21:01 <AnMaster> ehird, your arguments aren't making any sense you know
19:21:01 <ehird> AnMaster: so in effect you're suggesting we all have incredibly boring lives for the sole purpose of being able to live them and be bored longer?
19:21:05 <ehird> that's shit logic.
19:21:34 <AnMaster> ehird, if you consider alcohol to be what makes life worth living and interesting... then go ahead
19:21:35 <oklowob> i'm not sure not drinking is that boring.
19:21:45 <ehird> AnMaster: some people like drinking alcohol
19:21:48 <ehird> that's their prerogative
19:22:00 <ehird> if you're not alcoholic I doubt it can majorly impact on your lifespan
19:22:01 <AnMaster> ehird, are you saying that is true for you personally?
19:22:07 <ehird> AnMaster: did I say that?
19:22:14 <ehird> I'm saying that telling people 'don't drink alcohol!' is silly.
19:22:15 <AnMaster> ehird, you seemed to be implying that
19:22:43 <ehird> justifying doing X != thinking X is a thing I personally like
19:22:54 <impomatic> I always wanted a NeXTcube, I wonder if there's anything on Ebay
19:22:58 <ehird> impomatic: yes
19:23:02 <ehird> expensive though
19:23:02 <oklowob> telling people "don't drink alcohol" is better than telling people not to tell people not to drink alcohol
19:23:15 <ehird> oklowob: i just like irritating AnMaster
19:23:21 <oklowob> then again by extrapolating a bit i guess i'm being the master jackass here.
19:23:55 <oklowob> (that's the ad infinitum joke, if you didn't get it over all those made up terms)
19:24:03 <oklowob> (like extrapolating)
19:24:12 <ehird> :DD
19:24:17 <ehird> oklowob: did you make up jackass
19:24:20 <ehird> I've never heard that word :\
19:24:38 <oklowob> it means jacking an ass
19:24:40 <lament> AnMaster: is your goal to live for as long as possible? Suppose you live to 80 rather than 70; are those ten extra years while already old, weak, and sick, worth having led a boring, shitty life?
19:24:43 <AnMaster> ehird, so.. from the same logic you recommend that people should take their own lives if they are depressed, rather than trying to get psychological (or whatever is relevant in the specific case) help?
19:25:00 <ehird> AnMaster: erm 'from the same logic' no I don't think that's the same logic at al
19:25:01 <ehird> l
19:25:08 <AnMaster> ehird, yes it is
19:25:16 <ehird> argument ad i-said-so
19:25:17 <oklowob> lament: what if the last ten are shitty anyway?
19:25:21 <oklowob> then you'd just have more good years.
19:25:34 <lament> oklowob: that's not a reasonable what if.
19:25:41 <ehird> what if we all had a pony
19:25:45 <oklowob> lament: is that a yes btw? god it's hard to get others to decide stuff for me
19:25:47 <ehird> OPPC (one pony per child)
19:25:49 <lament> oklowob: the older you are, the shittier it gets - that seems a reasonable assumption to make
19:25:50 <AnMaster> lament, regular exercise (hopefully) keeps you healthy for longer, at least increasing the probability for it
19:26:06 <ehird> AnMaster: I think you totally misinterpreted him
19:26:17 <AnMaster> ehird, no you misinterpreted me
19:26:29 <AnMaster> ehird, it seems you need ~ to see sarcasm
19:26:35 <lament> AnMaster: your priorities in life seem really strange to me
19:26:37 <ehird> can you stop saying that?
19:26:42 <ehird> that was obviously not sarcasm
19:26:45 <AnMaster> ehird, saying what?
19:26:50 <ehird> I can't think of one person who would agree that was sarcasm in any way at all
19:26:54 <ehird> and if it was, it didn't even mean anything
19:26:59 <ehird> and nor was it funny
19:27:01 <AnMaster> ehird, irony then?
19:27:05 <ehird> ... no.
19:27:10 <ehird> it applies even less to irony.
19:27:14 <AnMaster> ehird, and I wasn't intending it as funny
19:27:25 <oklowob> exercise is horrible
19:27:25 <ehird> god talking to you rots my brain
19:27:59 <ehird> oklowob: fuck alcohol, just reserve 2 hours a day talking to AnMaster
19:28:01 <AnMaster> "<ehird> god talking to you rots my brain" <-- hearing voices in your head and believing them to be god.
19:28:10 <ehird> AnMaster: ...what?
19:28:11 <AnMaster> the problems with a missed comma
19:28:12 <AnMaster> :P
19:28:41 <AnMaster> "<ehird> god talking to you rots my brain" <-- I believe you meant a "," after "god"?
19:28:43 <oklowob> ehird: you actually didn't get that, or it was too obvious to believe to be a joke?
19:28:45 <oklowob> wait
19:28:54 <oklowob> i don't really get how the joke was implemented
19:29:01 <oklowob> but it was so obvious you can get it anyway
19:29:03 <ehird> yeah, exactly, that made no fucking sense
19:29:10 <ehird> my brain filters out shit jokes from AnMaster
19:29:18 <ehird> because the probability he's just being serious and stupid is high
19:29:47 <AnMaster> ehird, ever heard of "dry humor"?
19:29:58 <ehird> AnMaster: please don't try, it's embarrasing.
19:30:03 <ehird> *embarrassing
19:30:14 <AnMaster> ehird, for you it must be. I understand that
19:30:19 <AnMaster> sorry to bring it up.
19:30:20 <oklowob> don't you mean
19:30:25 <oklowob> please don't *dry*
19:30:32 <AnMaster> oklowob, heh
19:30:32 <ehird> AnMaster: hey you've only used that one 70 times
19:30:36 <ehird> it might become funny soon
19:30:42 <ehird> hmm wait no probably not sorry.
19:30:48 <ehird> didn't mean to disturb you
19:31:01 <AnMaster> ehird, Your line was ambiguous.
19:31:08 <oklowob> so one pro, one con, can't i seriously get a third one?
19:31:10 <AnMaster> Maybe time to learn lojban I guess.
19:31:18 <ehird> oklowob: is it about you getting beer?
19:31:20 <ehird> oklowob: pro
19:31:21 <oklowob> yes!
19:31:25 <ehird> in fact
19:31:27 <ehird> magical voting powers
19:31:29 <ehird> pro * 2i
19:31:34 <ehird> now your imaginary friend can have some too
19:31:39 * ehird so kind
19:31:44 <oklowob> okay so one pro, one con, one failure to vote
19:31:49 <AnMaster> ehird, was that supposed to be a joke?
19:31:55 <ehird> no
19:32:02 <ehird> oklowob: ...
19:32:04 <AnMaster> ehird, then what was it?
19:32:04 <ehird> oklowob: okay just pro
19:32:11 <oklowob> ;;;;;;)))))
19:32:14 <ehird> AnMaster: bait to make you ask whether I was joking
19:32:22 <oklowob> AnMaster: it was irony
19:32:29 <oklowob> and a dash of dry sarcasm
19:33:05 <AnMaster> oklowob, indeed. dry irony was what I would have said it was. Except ehird didn't think it was before.
19:33:12 <AnMaster> *shrug*
19:33:19 <ehird> he was talking about what i said.
19:33:59 <AnMaster> ehird, yes so was I. Both events were the same category. Except different persons said it. Now fuck off.
19:34:36 <ehird> lol wut
19:34:42 <oklowob> AnMaster: don't lose your cool, while you may not enjoy arguing with ehird, i love reading it, and hope you continue it.
19:34:47 <ehird> i think you have issues AnMaster
19:34:51 <ehird> oklowob: damn you :D
19:34:58 <AnMaster> oklowob, good thing I used ignore then.
19:34:59 <AnMaster> :)
19:35:14 <ehird> i love how he turns into everything he criticises me for when I anger him
19:35:15 <oklowob> AnMaster: well we all know how long declared ignores last
19:35:16 <ehird> it's so funny<33
19:35:35 <AnMaster> oklowob, that is true. ehird too tends to unignore quickly
19:35:37 <AnMaster> *shrug*
19:36:23 <oklowob> okay beer time before shoppes close up, wish me luck.
19:36:27 <oklowob> ...or should i say duck?
19:36:32 <oklowob> no, i shouldn't.
19:36:33 <oklowob> ->
19:36:40 <AnMaster> oklowob, but currently I got more urgent issues than arguing with ehird to do. Like watching paint dry.
19:36:43 <AnMaster> anyway cya
19:36:51 <ehird> oh so smooth.
19:36:54 <ehird> will you marry me AnMaster?
19:36:56 <ais523> AnMaster: that's a great line
19:36:57 <oklowob> ...paint dry ...humor?
19:37:03 <ehird> oklowob: yeah I think it was an attempt
19:37:05 <AnMaster> oklowob, sigh
19:37:06 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:37:07 <ehird> poor guy :<
19:37:24 <AnMaster> ais523, was that sincere?
19:37:52 <ais523> well, I really enjoyed you saying it
19:38:05 <ais523> and laughed literally out loud for about 3 seconds, which is quite a lot
19:38:16 <ehird> we could sort of make a market for this
19:38:25 <ehird> like, just have a really unfunny guy talk into a keyboard for hours
19:38:33 <ehird> then we go through it and pick up the worst parts that are hilarious
19:38:35 <ehird> and publish themmm
19:38:35 <AnMaster> and I even think I used it before once...
19:38:56 <AnMaster> you must not have been there then I guess
19:39:03 <AnMaster> (or it wasn't this channel at all maybe)
19:39:16 -!- Mony has quit ("Quit").
19:39:16 <ehird> err you think you invented "paint drying" joke?
19:39:17 <ehird> :||
19:39:44 <oklowob> :||||||||||||
19:39:54 <ehird> :||||||||||||||:
19:41:26 <AnMaster> oklowob, ?
19:42:15 <AnMaster> ais523, hm I think IFFI will need readjustments soon, I have a feature branch I'm going to merge and then new cfunge release within a few days or so
19:42:19 <AnMaster> hopefully
19:42:24 <ais523> wow, I'm so busy in RL
19:42:32 <ais523> I'll even miss the 1 April typical release date
19:42:36 <ais523> today I'm having a day off
19:42:47 <AnMaster> ais523, I was planning to miss that too. releasing one day before
19:42:52 <AnMaster> just because
19:42:54 <ais523> maybe I'll work on C-INTERCAL today
19:43:29 <AnMaster> hm I wonder why removing one unneeded branch in a core part of the loop made the thing slower...
19:44:02 <AnMaster> I mean one test less every time a instruction is to be executed should not slow it down as far as I can see..
19:44:23 <AnMaster> ais523, any bright idea?
19:44:33 <ais523> it might be mispredicting
19:44:48 <ais523> I know that some JIT code nowadays adds extra jumps to the code
19:44:52 <ais523> so it can be predicted more easily
19:46:03 <AnMaster> ais523, gcc generated jump table both before and after... but now I moved all the "execute fingerprint instructions in A-Z range" into that jump table instead of having a test before if it instruction => 'A' && instruction =< 'Z'
19:46:19 <AnMaster> ais523, the generated asm had a jump table without holes in both cases
19:46:29 <AnMaster> as in a full jump table after even. GCC generated it that way
19:46:33 -!- MigoMipo has joined.
19:46:33 <ais523> holes in the jump table shouldn't matter
19:46:56 <ehird> ahh, plan9 is such a breath of fresh air
19:47:53 <AnMaster> ais523, exactly it basically masked the value to 8 bits and then bitshifted it and used that to jump forward from %RIP and then do an unconditional branch from there to the relevant code block
19:48:25 <ais523> well, a jump table will always be mispredicted, you can't do anything about that though
19:48:26 <AnMaster> ais523, and processor docs seems to indicate that those should be well predicted on both AMD64 and Intel's CPUs.
19:48:29 <ais523> unless you have a very advanced processor
19:48:34 <AnMaster> ais523, err.
19:48:37 <ais523> an unconditional jump is always predicted perfectl
19:48:39 <ais523> y
19:48:47 <ais523> the jump table won't be though
19:52:26 <AnMaster> ais523, hm AMD docs indicate jump tables are recommended when there are a large number of branches
19:52:34 * AnMaster just checked
19:52:44 <ais523> well, yes
19:52:55 -!- kar8nga has joined.
19:52:56 <ais523> you're going to normally get one misprediction both ways around
19:53:13 <AnMaster> ais523, so what would be a way to avoid it? how about threaded funge space?
19:53:27 <AnMaster> actually that would probably not work well
19:53:59 <AnMaster> cache misses galore probably since you couldn't organise the code in a good way
19:54:12 <AnMaster> what with the 2D stuff and such
19:55:08 <AnMaster> and JITing it would make t impossible basically
19:55:20 <AnMaster> or the jitting pointless
19:56:15 <ais523> just design a CPU specifically for doing befunge
19:56:27 <AnMaster> yes one exists indeed
19:56:39 <AnMaster> ais523, I don't think "cache" was ever discussed for it
19:56:56 <ais523> no, I don't think it was
19:57:08 <AnMaster> err, that's what I said?
19:57:22 <AnMaster> ais523, + it would probably end up slower than mainstream general purpose CPUs running an interpreter around the time it was finished.
19:57:32 <ais523> depends on how it was fabricated
19:57:44 <AnMaster> and more expensive of course
19:58:44 <oklowob> o
19:58:49 <ais523> oko
19:58:49 <AnMaster> ais523, what do you mean? I just mean that general purpose CPUs are getting improved so fast that even if your implementation was a lot faster when you started designing, when you were done it would be slower
19:59:11 <ais523> the design needn't take long
19:59:17 <ais523> it certainly wouldn't take years
19:59:19 <ais523> maybe a few weeks
19:59:47 <AnMaster> ais523, Hm...
20:00:25 <AnMaster> ais523, able to beat a JITing funge on a high end general purpose CPU? Say, Intel's or AMD's latest and greatest one
20:00:47 <ais523> well, if you make it using the same techniques as theirs, but have the funge interp hard-coded, it'll necessarily be faster
20:01:53 <oklowob> wait cpu's are improving?
20:02:22 <ais523> yes, most people just don't notice because Windows deteriorates faster
20:02:33 <ehird> Deewiant: pingify
20:02:50 <AnMaster> ais523, well a JITing one could potentially optimise easier than you could, turning some instructions into bulk instructions operating on multiple words in memory at a time. Optimising >:#,_ and other common idioms
20:03:00 <AnMaster> ais523, :D
20:03:25 <oklowob> ais523: i don't believe you
20:03:30 <AnMaster> oklowob, yes the new ones can wait twice as fast for one second!
20:03:31 <ehird> i dont' think AnMaster realises how fast silicon is
20:03:46 <AnMaster> (missing comma again, sorry)
20:03:52 <AnMaster> also I was missing one too
20:03:56 <AnMaster> after "well" above
20:04:08 <oklowob> err so the cpu for befunge, first of all it would be stack based
20:04:17 <oklowob> that's been proven not to work
20:04:32 <oklowob> (read: slow)
20:04:32 <AnMaster> oklowob, hm... stack in register file?
20:04:42 <ais523> oklowob: the stack would be stack-based
20:04:52 <AnMaster> I'm not sure how crazily expensive that would be
20:04:52 <ais523> if you're implementing befunge, you are going to model the stack using the stack anyway
20:05:11 <AnMaster> I mean registers aren't cheap
20:05:24 <oklowob> ais523: with jitting you'd probably use registers
20:05:48 <ais523> well, yes
20:06:00 <ais523> you could do the jitting in hardware, though
20:06:08 <AnMaster> yes indeed
20:06:10 <AnMaster> microcode
20:06:11 <oklowob> also you can't really collapse loops or anything if you implement the funge space in hardwar
20:06:11 <oklowob> e
20:06:12 <ais523> that would make it much faster
20:06:16 <AnMaster> all modern CPUs do that already
20:06:19 <AnMaster> ...
20:06:21 <Deewiant> ehird: pungize
20:06:29 <ais523> I imagine you'd have something similar to a real processor, but optimised for jitting befunge quickly
20:06:38 <oklowob> well yes, but then it's clear you could just use a general purpose computer in the first place
20:06:45 <AnMaster> oklowob, you can't really in befunge anyway if you implement t
20:07:03 <AnMaster> since that is one befunge instruction each before switching context between threads
20:07:07 <oklowob> AnMaster: yeah all modern cisc's do that
20:07:08 <AnMaster> round robin style
20:07:18 <ais523> AnMaster: you still can, you just figure out relative speeds
20:07:25 <oklowob> microcode is just simulating riscs, some modern cpu's just use a risc in the first place
20:07:35 <AnMaster> ais523, what if one ends up modifying the program path of the other
20:07:35 <ais523> oklowob: *simulating ciscs
20:07:39 <AnMaster> then you have serious issues
20:07:40 <ais523> AnMaster: you have barriers for taht
20:07:42 <ais523> *that
20:07:55 <ais523> as in, each g or p instruction that could be problematic you make sure it runs at the right relative time
20:07:59 <AnMaster> ais523, ok we need a funge fingerprint with memory write barriers next...
20:08:03 <oklowob> ais523: err right, yes
20:08:04 <ais523> likewise, I/O would have to run at the right relative time
20:08:23 <AnMaster> ais523, saw my concurrent hello world?
20:08:27 <ais523> no
20:08:46 <AnMaster> ais523, I have two versions, one using mutexes, the other wait free
20:08:46 <ehird> Deewiant: what's the shit you have to put in somewhere to get profiling & docs w/ cabal?
20:08:48 -!- Slereah_ has joined.
20:08:50 <AnMaster> :D
20:09:03 <AnMaster> #vtf2*2+"olleH">:#,_'>11p><a,0q
20:09:03 <AnMaster> ><"dlrow">:#,_'>fb+0p@
20:09:03 <AnMaster> and
20:09:05 <Deewiant> ehird: See .cabal/config
20:09:10 <AnMaster> #vt"drwolH">:#,_@
20:09:10 <AnMaster> >"lo le">:#,_a,@
20:09:10 <ehird> kay
20:09:19 <AnMaster> ais523, :P
20:09:29 <Deewiant> Should have everything commented out at their default settings and be fairly self-explanatory
20:09:33 <oklowob> AnMaster: did you sneeze
20:09:41 <AnMaster> oklowob, ?
20:09:50 <oklowob> AnMaster: nm, how does t work?
20:10:41 <AnMaster> oklowob, create threads that run synced. As in one thread execute one instruction, then next thread executes one and so on following a round robin schedule
20:11:00 <oklowob> ofc, but is it fork or what?
20:11:23 <Deewiant> Fork, child reflects
20:11:30 <AnMaster> oklowob, t creates a new IP, inserting it ahead in the queue, child reflecting
20:11:35 <oklowob> stacks the same or different?
20:11:45 <AnMaster> err, behind? ahead? Or depending on which what you look at it?
20:11:47 <Deewiant> Copy of stack, possibly thread ID on top, I forget
20:11:56 <AnMaster> Deewiant, no thread IP
20:11:57 <oklowob> thread id for other, nothing for other?
20:11:59 <AnMaster> on stack
20:12:03 <oklowob> okay, so no stack changes
20:12:18 <oklowob> is there a concept of stack id?
20:12:19 <oklowob> err
20:12:20 <oklowob> thread id
20:12:25 <Deewiant> Yes
20:12:30 <AnMaster> oklowob, yes, you can check it with y
20:12:35 <oklowob> your own?
20:12:38 <AnMaster> well one of the other things you can get with y
20:12:39 <AnMaster> yes your own
20:12:41 <oklowob> how does ipc work?
20:12:45 <Deewiant> p and g
20:12:49 <oklowob> ...
20:12:49 <AnMaster> oklowob, writing to memory reading from memory
20:12:52 * oklowob is an idiot
20:12:54 <AnMaster> IPC
20:12:56 <AnMaster> yes
20:13:05 <Deewiant> There are also fingerprints for direct messing out with other IPs
20:13:06 <AnMaster> Deewiant, didn't RCS define some IIPC too?
20:13:09 <Deewiant> At least IIPC
20:13:13 <AnMaster> ah yes
20:13:26 <AnMaster> if the set of loaded fingerprints are copied are copied or not is UNDEF
20:13:29 <Deewiant> Hmm, I wonder what that 'out' is doing in that sentence
20:13:29 <AnMaster> iirc?
20:13:36 <Deewiant> Can't remember
20:14:14 <AnMaster> Deewiant, to make clean it wasn't "messing in"?
20:14:21 <AnMaster> s/clean/clear/
20:14:25 <AnMaster> weird typo
20:14:28 <Deewiant> Yes, I suppose
20:14:48 <oklowob> "messing out" sounds like two threads groping each other
20:15:16 <AnMaster> ais523, some fingerprint instructions would potentially be faster on GPCPUs
20:15:21 <AnMaster> than on BCPUS
20:15:24 <AnMaster> BCPUs*
20:16:36 <AnMaster> ais523, consider those that benefit from SIMD for example. I think if you included all that the BCPU wouldn't be done in those few weeks you predicted
20:16:50 <AnMaster> basic befunge 93: sure
20:16:56 <AnMaster> or even basic befunge 98
20:18:14 <AnMaster> Deewiant, How do you implement y? Any short cuts for low positive values to avoid pushing and popping as much?
20:18:20 <Deewiant> None
20:18:25 <AnMaster> mhm
20:18:48 <Deewiant> I do what the spec says: push the whole thing then pop up to some point, save the value, pop the rest, push the saved value
20:19:34 -!- Slereah has quit (Read error: 110 (Connection timed out)).
20:19:42 <AnMaster> Deewiant, that is a clear win in mycology I noticed, ay and fy seems very common. As well as some lower ones
20:22:41 -!- pikhq_ has joined.
20:22:57 <AnMaster> Deewiant, I already avoided those below 10 for ages since they are easy to map to values, but doing it even higher up, as far as you know, proved a clear win
20:24:54 <AnMaster> Deewiant, Err also y acting as pick doesn't do that correctly IIRC?
20:25:22 <AnMaster> you need to reach down and only pop back to the point before y, not pop down all the way
20:25:28 <Deewiant> Yeah, there's an 'if' somewhere before 'save the value'
20:25:28 <AnMaster> I remember us discussing this before
20:25:35 <AnMaster> ah
20:25:45 <Deewiant> I can't remember these things by heart :-P
20:25:57 <AnMaster> Deewiant, cfunge avoids popping by never pushing on the main stack :)
20:26:14 <Deewiant> Well, popping is cheap
20:27:24 -!- tombom has quit ("Peace and Protection 4.22.2").
20:27:55 <AnMaster> Deewiant, yes, that is true, but you don't just push a fixed value. setting to 0 is even cheaper (by a few cycles) ~~~~~
20:28:08 <AnMaster> seriously, it did turn out faster, but for other reasons
20:28:14 -!- KingOfKarlsruhe has joined.
20:28:50 <AnMaster> cache I suspect is one of them, since the env here is huge. Another is probably that you often end up needing to expand stack
20:28:54 <AnMaster> due to the large env again
20:29:24 <AnMaster> especially bad in programs using t
20:29:26 <Deewiant> Well, the latter only happens once (per IP)
20:29:40 <Deewiant> But true, if a lot of IPs are spawned which only ever do ay or something
20:29:43 <AnMaster> Deewiant, true. Or when you do {y}{y}
20:29:44 <AnMaster> :P
20:30:01 <AnMaster> actually would need a 0 there to prevent { creating a mess
20:30:04 <AnMaster> but you get the idea
20:30:06 <Deewiant> Well your optimization doesn't help that case anyway
20:30:20 <AnMaster> Deewiant, sure does. My temp stack is only created once per run
20:30:25 <AnMaster> so it can grow once.
20:30:35 <Deewiant> Oh, you have a single global stack for y values
20:30:38 <Deewiant> Heh
20:30:51 <AnMaster> static funge_stack* restrict sysinfo_tmp_stack = NULL;
20:30:51 <AnMaster> and
20:30:52 <Deewiant> I find that amusing for some reason :-P
20:30:53 <AnMaster> if (!sysinfo_tmp_stack)
20:30:53 <AnMaster> sysinfo_tmp_stack = stack_create();
20:31:14 <AnMaster> for mycology I should annotate that one as unlikely
20:31:19 <AnMaster> since it calls y so often
20:32:07 <Deewiant> Do you have a lot of #if OPTIMIZE_FOR_MYCOLOGY ?
20:32:09 <AnMaster> Deewiant, and I don't even do that at all for low values to avoid having to even push and clear (since you can't reuse most of the y stack...)
20:32:32 <AnMaster> Deewiant, no. I try to profile mycolgy, fungot, life.bf and a few other programs and optimise for the average
20:32:32 <fungot> AnMaster: they say that a xorn knows of no obstacles when pursuing you.
20:32:43 <AnMaster> but some of the stuff is only used by mycology
20:32:49 <AnMaster> like certain fingerprints
20:33:03 <Deewiant> Most? :-P
20:33:28 <AnMaster> Deewiant, fungot uses surprisingly much of the stuff actually, apart from stack stacks
20:33:29 <fungot> AnMaster: mars: the wumpus, by j.r.r. tolkien), living in fresh water. there aren't any penguins this far inland. there's nothing to shoot him and miss, there's also a chance that he'll up and move himself into another gale of laughter. she heard the spring click. weight slapped into her hand. it was under the oak root. bearing it down so far as to sit on it on the astral plane.
20:33:34 <AnMaster> ^style
20:33:34 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
20:33:37 <AnMaster> aha
20:33:44 <Deewiant> Not obvious? :-P
20:33:58 <AnMaster> Deewiant, I don't think I saw when fizzie added that one.
20:34:21 <Deewiant> I don't know which ones were there either, but I instantly recognized both of those as Nethack
20:34:23 <AnMaster> Deewiant, so I was wondering "what on earth, it looks like nethack"
20:34:29 <AnMaster> s/wondering/thinking/
20:34:44 <AnMaster> since I wasn't aware of that it had nethack
20:35:04 <AnMaster> fizzie, added nethack recently?
20:35:29 <oklowob> ages ago afaik
20:35:36 <AnMaster> mhm
20:35:39 <AnMaster> must have forgot then
20:35:56 <AnMaster> Deewiant, anyway, there are some paths I can always optimise for. Like annotating foo = malloc(...); if (!foo) as unlikely to be the case
20:36:23 <ehird> why even check malloc
20:36:35 <ehird> have you ever got a NULL result from it legitimately w/ cfunge
20:36:40 -!- pikhq has quit (Read error: 110 (Connection timed out)).
20:36:48 <AnMaster> since that would end up as abort in the end in most cases (apart from stack stacks, where I reverse to comply with the standard, but in some cases reversing isn't sane, like before program started, or whatever)
20:37:17 <Deewiant> Hmm, that'd be cool actually
20:37:27 <Deewiant> IP starts with the delta west if the whole source couldn't be loaded :-P
20:37:32 <AnMaster> Deewiant, also how many programs would except 7 to reflect due to OOM when trying to grow stack?
20:37:43 <AnMaster> or even be able to handle it
20:37:58 <Deewiant> Depends on what they're doing
20:38:11 <AnMaster> most programs would look like #v7#v8#v+#v\ and so on
20:38:27 <Deewiant> If they know they're loading some potentially huge buffer to memory they might be careful about stuff like that
20:39:12 <AnMaster> Deewiant, you couldn't even know there was no way + could reflect. What if you the implementation was written in a language where all allocations of the interpreter are on the heap? Like quite a few byte code interpreter iirc.
20:39:25 <AnMaster> or even #
20:39:31 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
20:39:52 <AnMaster> Deewiant, any instruction, even along the failure paths could potentially reflect then
20:40:30 -!- MizardX has joined.
20:41:15 <AnMaster> just consider in some such language: while(true) { try { value = fungespace[posx][posy]; dispatch[value]; } catch (e) { reflect(); } }
20:41:27 <AnMaster> Deewiant, what if allocating "value" ran out of space there?
20:41:52 <AnMaster> but it preallocated and reserved some memory for OOM exceptions
20:42:02 <Deewiant> Yes, that's a good reason for why the spec says something about OOM only for { :-P
20:42:55 <AnMaster> Deewiant, IMO y is more likely to cause OOM
20:43:03 <AnMaster> $ env | wc -c
20:43:04 <AnMaster> 5747
20:43:12 <Deewiant> 2029
20:43:30 <AnMaster> yeah I know mine is too large
20:44:21 <AnMaster> Deewiant, running with a clean env reduces mycology time by almost 0.010 seconds here
20:44:29 <AnMaster> from 0.046 to 0.039
20:44:36 <Deewiant> Hmm, why is G_BROKEN_FILENAMES set
20:44:52 <AnMaster> err 0.007 not 0.010
20:45:00 <AnMaster> Deewiant, what? where?
20:45:03 <Deewiant> Here
20:45:11 <AnMaster> Deewiant, distro?
20:45:15 <Deewiant> Arch
20:45:30 <AnMaster> hm
20:45:38 <AnMaster> my arch system is shut off atm
20:45:43 <AnMaster> http://bugs.archlinux.org/task/5487
20:45:47 <AnMaster> that may be relevant though
20:46:26 <Deewiant> I see /etc/profile.d/glib2.sh is 'export G_BROKEN_FILENAMES=1'
20:46:32 <Deewiant> I think I'll remove it
20:46:54 <Deewiant> Although an update will bring it back I guess
20:47:37 <Deewiant> Hm, HUSHLOGIN=FALSE also seems useless
20:47:44 <ehird> no
20:47:48 <ehird> hushlogin stops the 'Last login: ' line
20:47:55 <ehird> I have a ~/.hushlogin because I hate those
20:48:07 <AnMaster> Deewiant, trying to optimise CCBI mycology time by external means? ;P
20:48:28 <Deewiant> Nah, just cleaning up pointless crap from my environment
20:48:45 <AnMaster> Deewiant, for me $LS_COLOR is the single longest one
20:48:59 <Deewiant> I don't have LS_COLOR, I guess it'd be PATH
20:49:05 <Deewiant> Followed by LD_LIBRARY_PATH
20:49:12 <Deewiant> Oh, CLASSPATH wins actually
20:49:18 <AnMaster> no LD_LIBRARY_PATH or CLASSPATH here
20:49:32 <AnMaster> ah yes a CLASSPATH in fact:
20:49:34 <AnMaster> CLASSPATH=.
20:49:39 <AnMaster> shortest one I think
20:50:09 <AnMaster> no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ac
20:50:10 <AnMaster> e=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35[cut off, too long to paste on irc, would be serveral lines]
20:50:17 <AnMaster> that is in LS_COLORS
20:50:18 <AnMaster> no idea why
20:50:30 <AnMaster> it alone is 1171 chars
20:50:31 <Deewiant> Hrmph, my LD_LIBRARY_PATH has everything twice
20:51:02 <AnMaster> Deewiant, my PATH used to have such a problem, I reported a bug on the gentoo bug tracker that the profile.d stuff was semi-broken when it came to that, it got fixed
20:51:41 <Deewiant> I would have though that it's because it refers to itself put PATH does also and is fine
20:51:45 <Deewiant> + t
20:52:04 <AnMaster> putt?
20:52:07 <AnMaster> becaust?
20:52:09 <AnMaster> PATHt?
20:52:11 <Deewiant> thought
20:52:14 <AnMaster> ah
20:52:50 <AnMaster> Actually PATH does have one duplicate entry. For a non existing directory. *greps*
20:54:09 <AnMaster> aha, old file in /etc/env.d
20:54:11 <AnMaster> fixed
20:54:56 <AnMaster> Deewiant, I also see a lot of stuff like KONSOLE_DCOP and such
20:54:58 <AnMaster> heh
20:55:14 <AnMaster> KONSOLE_DCOP_SESSION KDE_SESSION_UID...
20:55:21 <AnMaster> GENERATION=2 <-- what?
20:55:49 <AnMaster> huh, related to gentoo's java stuff in some way
20:56:03 <AnMaster> they could have used a less general name at least
20:57:05 <Deewiant> Hmh, XDG_DATA_DIRS is also duplicated, I wonder why
20:57:32 <AnMaster> that is /usr/share:/usr/kde/3.5/share:/usr/local/share here
20:57:42 <Deewiant> XDG_DATA_DIRS=/usr/share:/usr/local/share:/usr/share:/usr/local/share
20:59:06 <AnMaster> heh
20:59:22 <Deewiant> As far as I can tell that really can't be happening
20:59:28 <Deewiant> But it is anyway
20:59:42 <AnMaster> Deewiant, grep /etc recursively
20:59:53 <Deewiant> Yes, I did
21:00:37 <AnMaster> mhm
21:00:48 <Deewiant> It's in /etc/profile.d/xorg.sh which sets it to /usr/share:/usr/local/share if it's unset and prepends those if it's already set
21:01:08 <AnMaster> Deewiant, then it must be invoked twice somehow
21:01:09 <Deewiant> Actually, I guess that's been run twice
21:01:33 <Deewiant> I thought, for some reason, that another variable it sets in the same way was not duplicated
21:01:40 <Deewiant> It was just so short that I didn't notice :-P
21:02:40 <AnMaster> Deewiant, the gentoo system is easier, it just puts files in /etc/env.d a script (env-update, which also runs automatically if a package install/uninstall/upgrade changes any file in /etc/env.d) then collects the vars from all file there and put it in /etc/profile.env, which is sourced by /etc/profile.
21:03:13 <AnMaster> however some vars are treated specially, like instead adding entries to /etc/ld.so.conf if the var name is LD_PATH or something like that
21:03:16 <AnMaster> which is a bit confusing
21:03:23 -!- BeholdMyGlory has joined.
21:03:30 <AnMaster> still, easier to debug
21:04:45 <AnMaster> hm... How insane would it be to use self modifying C code. In general I mean
21:04:58 <AnMaster> like overwriting something with NOP instead of testing every time
21:04:59 <Deewiant> Depends on what it modifies and how much
21:05:13 <Deewiant> Hm, right
21:05:16 <Deewiant> I read that as 'to debug'
21:05:41 <AnMaster> Deewiant, branch that will only be taken initially when creating resource, in the future it will reuse static resource
21:05:52 <AnMaster> yet I don't want to create it on program startup if it is never used
21:06:13 <AnMaster> I'm aware of that I would need a pure C fallback since this would differ between platforms yes
21:06:19 <AnMaster> and compiles
21:06:22 <AnMaster> compilers*
21:06:40 <AnMaster> Deewiant, IIRC the linux kernel does something like that for dynamic trace points or whatever it is called
21:06:51 <AnMaster> turned into NOP when not used
21:07:13 <AnMaster> ais523, what do you think?
21:07:36 <ais523> sorry, I haven't been reading
21:08:01 <AnMaster> ais523, dynamically modifying the machine code on the fly to statically optimise away branches
21:08:27 <ais523> heh
21:08:30 <AnMaster> ais523, idea is to do it in cfunge for some stuff that won't change during program run more than once. I'm not sure how insane it is
21:09:00 <AnMaster> ais523, flags for stuff like "resource initialised" stuff basically
21:09:19 <AnMaster> is there any GCC extension to take the address of an inline ASM block
21:09:20 <AnMaster> or such
21:09:27 <AnMaster> ais523, ?
21:09:36 <AnMaster> you know GCC best here
21:09:45 <AnMaster> and somehow the kernel manages to do it
21:09:47 <AnMaster> I know that
21:09:48 <ais523> AnMaster: put a label inside the block
21:09:52 <ais523> and you can use the label outside
21:09:59 <ais523> I think you might have to declare it, though
21:10:09 <AnMaster> hm
21:10:15 <AnMaster> ais523, declaring a label?
21:10:29 <AnMaster> mhm
21:11:14 <AnMaster> actually I have no idea how to take the address of a label...
21:11:33 <AnMaster> ais523, do you mean C label or asm label?
21:11:40 <ais523> in gcc, labels are of type void*, and you can take the address of a C label using the prefix-&& operator (which is a gcc extension)
21:11:44 <ais523> but I meant asm label in that case
21:12:00 <AnMaster> ais523, and how would you take the address of an asm label? or declare one
21:12:07 <AnMaster> that would be AT&T syntax for gas btw
21:12:21 <Deewiant> An asm label is its address
21:12:23 <ais523> AnMaster: I'm not sure, I'd have to look it up
21:13:26 <AnMaster> Deewiant, hm. Ok. I guess a macro to generate the needed asm code would be a good idea. Both for creating such a branch and for turning one on/off
21:15:05 <Deewiant> But really, self-modifying code is slow
21:15:18 <AnMaster> Deewiant, oh? Not if you only do it once
21:15:26 <AnMaster> I mean, sure yes if you modify all the time
21:15:38 <AnMaster> but this would be "change once"
21:16:01 <AnMaster> Deewiant, It may be slow still, depends on cache effects, but worth investigating
21:16:20 <Deewiant> Here, let me quote from Intel's Optimization Reference Manual, Appendix E, Assembler/Compiler Coding Rule 57
21:16:23 <AnMaster> Deewiant, also you could just mprotect() it as writable as well as executable and readable *once*
21:16:31 <AnMaster> Deewiant, I'm much more interested in what AMD says
21:16:36 <AnMaster> in general
21:16:52 <Deewiant> "If code is to be modified, try to do it all at once and make sure the code that performs the modifications and the code being modified are on separate 4-KByte pages or on separate aligned 1-KByte subpages."
21:17:01 <Deewiant> Why's that
21:17:44 <AnMaster> Deewiant, Instruction L1 cache invalidation I'd assume
21:17:59 <Deewiant> I was asking you regarding AMD
21:18:07 <AnMaster> Deewiant, because I don
21:18:11 <AnMaster> don't* have an Intel CPU*
21:18:19 <AnMaster> well I do. an old Pentium 3
21:18:25 <AnMaster> but my modern ones are all AMD
21:18:45 <Deewiant> Right, of course everyone optimizes for their own CPU ;-)
21:19:50 <AnMaster> Deewiant, I think AMD is more of the future than Intel. And yes avoiding self modifying code. Yet JIT compilers do it all the time, and some, like Java's JIT, optimise and inlines hot code sections on the fly
21:20:16 <AnMaster> Deewiant, AMD docs talk about 64 bytes instead of 4 KB though...
21:21:26 <ehird> AnMaster: more of the future than intel — seen nehalem?
21:21:34 <ehird> http://en.wikipedia.org/wiki/Nehalem_(microarchitecture)
21:21:47 <ehird> I'd say it's in Intel's ballpark right now
21:22:47 <Deewiant> What do you mean by more 'of the future'
21:23:20 <ehird> Deewiant: as in, the future is with AMD, not intel
21:23:27 <AnMaster> Deewiant, as in intel's designs still are quite bad compared to the ones of AMD..
21:23:30 <ehird> I don't think AMD has done anything comparable to Nehalem recently, so I disagree.
21:23:35 <Deewiant> As an aside, what level of x86 extensions support do you have?
21:23:37 <AnMaster> better than p4 time yes
21:23:47 <Deewiant> SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2, POPCNT?
21:24:09 <AnMaster> Deewiant, personally MMX, SSE, SSE2, SSE3, 3dNow, 3dNow Extended
21:24:14 <AnMaster> not sure about popcnt
21:24:21 <AnMaster> also I have LM of course
21:24:27 <AnMaster> (Long Mode, that is x86_64)
21:24:42 * Deewiant makes a mental note to use SSE4 just to spite you
21:24:50 <Deewiant> Also, news
21:25:01 <Deewiant> Just got mail from pyfunge's author: another interpreter being revived
21:25:01 <AnMaster> Deewiant, I use SSE2 in some places... With pure C fallbacks
21:25:05 <AnMaster> always pure C fallbacks
21:25:13 <AnMaster> Deewiant, interesting
21:25:15 <Deewiant> http://hg.mearie.org/pyfunge/
21:25:22 <AnMaster> how bad was it in mycology?
21:25:23 <Deewiant> Passes Mycology according to him
21:25:39 <AnMaster> Deewiant, what is POPCNT btw?
21:25:59 <Deewiant> It used to fail to k IIRC, most semi-decent interpreters did
21:26:08 <Deewiant> AnMaster: An SSE4.2 instruction with a separate cpuid flag
21:26:27 <ais523> is there any fingerprint that changes the semantics of core instructions?
21:26:34 <ais523> I wonder what redefining k inside a k-loop would do?
21:26:34 <Deewiant> Yes
21:26:37 <AnMaster> ais523, yes
21:26:42 <AnMaster> ais523, IMAP for example
21:26:48 <AnMaster> or FNGR
21:27:02 <AnMaster> I would assume MVRS does too
21:27:14 <AnMaster> possibly TRDS?
21:27:26 <Deewiant> Nope
21:27:28 <AnMaster> and possibly some other ones
21:27:42 <AnMaster> Deewiant, yes it changes semantics of output after jumping backwards iirc
21:27:48 <AnMaster> or something like that right?
21:27:53 <Deewiant> Oh, right
21:28:02 <Deewiant> True true
21:28:17 <Deewiant> Also, pyfunge author says Mycology has a bug
21:28:24 <AnMaster> Deewiant, oh... details?
21:28:32 <AnMaster> and what do you think of that bug
21:28:46 <Deewiant> But I also found that it reports that PyFunge uses buffered I/O, despite it is configured to use unbuffered I/O (N.B. it is temporarily disabled for code refactoring though) and returned 16 for first cell of "y" command. I traced back and once concluded that it works incorrectly when first cell is bit 0 and 1 unset and other bit (bit 3 in my case) is set, but I'm a bit unsure that my interpreter is correct so I mailed.
21:28:52 <Deewiant> <end quote>
21:29:25 <AnMaster> ah
21:29:29 <Deewiant> AnMaster: mind testing it out for me? I don't have a funge-development environment properly set up
21:29:44 <AnMaster> Deewiant, cfunge doesn't have unbuffered IO
21:29:53 <AnMaster> it has line buffered and fully buffered only
21:29:58 <Deewiant> AnMaster: I know, just set the bit and see what Myco says
21:30:02 <Deewiant> Or unset, whatever
21:30:12 <Deewiant> Or rather, push the exact value he does :-P
21:30:15 <AnMaster> Deewiant, which value should I or in now again?
21:30:26 <AnMaster> hm
21:30:31 <AnMaster> 0x16?
21:30:34 <AnMaster> is that correct
21:30:43 <Deewiant> No, 16, right?
21:31:04 <AnMaster> as in 0x10?
21:31:22 <Deewiant> Does your C compiler not accept non-hexadecimal integer literals? :-P
21:31:37 <AnMaster> Deewiant, yes it does, but my code currently uses hexadecimal ones there
21:31:38 <Deewiant> Try both 0x10 and 0x16 just in case
21:32:01 <Deewiant> You also realize that your code will continue to work if you change it to decimal? :-P
21:32:04 <AnMaster> BAD: 1y claims = is unimplemented, yet 5y claims to know what it does
21:32:10 <AnMaster> I get that with 0x10
21:32:17 <Deewiant> What about input bufferedness
21:32:18 <AnMaster> y claims all of the following:
21:32:18 <AnMaster> That buffered I/O is being used
21:32:18 <AnMaster> BAD: after y the top cell is greater than 15
21:32:19 <AnMaster> that to
21:32:21 <AnMaster> too*
21:32:36 <Deewiant> O_o
21:32:37 <AnMaster> for 0x16 I get:
21:32:38 <AnMaster> y claims all of the following:
21:32:38 <AnMaster> That i is implemented
21:32:38 <AnMaster> That o is implemented
21:32:38 <AnMaster> That buffered I/O is being used
21:32:40 <AnMaster> BAD: after y the top cell is greater than 15
21:32:47 <Deewiant> WTF is that BAD doing there :-D
21:33:22 <Deewiant> As for the un/buffered thing I think the logic is probably correct, the printing there is just something I've broken often
21:33:43 <Deewiant> But seriously, tell me
21:33:50 <Deewiant> What's up with that BAD :-P
21:33:53 <AnMaster> err
21:34:00 <AnMaster> 1 cell containing flags (env).
21:34:01 <AnMaster> Least Significant Bit 0 (0x01): high if t is implemented. (is this Concurrent Funge-98?)
21:34:01 <AnMaster> Bit 1 (0x02): high if i is implemented.
21:34:01 <AnMaster> Bit 2 (0x04): high if o is implemented.
21:34:01 <AnMaster> Bit 3 (0x08): high if = is implemented.
21:34:01 <AnMaster> Most Significant Bit 4 (0x10): high if unbuffered standard I/O (like getch()) is in effect, low if the usual buffered variety (like scanf("%c")) is being used.
21:34:04 <AnMaster> Further more significant bits: undefined, should all be low in Funge-98
21:34:07 <AnMaster> that is the spec
21:34:11 <Deewiant> Yes, I know
21:34:44 <AnMaster> Deewiant, and I don't know why that BAD is there for 0x10 since it seems a valid way to say unbuffered IO
21:35:08 <Deewiant> Maybe it's just a brain fart and should say 31
21:35:21 <AnMaster> Deewiant, yes maybe
21:35:21 <Deewiant> I'll assume that :-P
21:35:57 <Deewiant> Okay, now I'm at 5 bugs and 4 TODOs for Mycology
21:36:08 <AnMaster> Deewiant, probably. Also I think your test for mycoinput would break on unbuffered IO
21:36:12 <AnMaster> err
21:36:14 <AnMaster> mycouser
21:36:17 <AnMaster> or whatever it was
21:36:41 <AnMaster> Deewiant, btw what are those other 4 bugs?
21:36:43 <Deewiant> 'They each suspend the program and wait for the user to enter a value
21:36:46 <AnMaster> one would be R in some fingerprint iirc
21:36:51 <Deewiant> So no, it should work :-P
21:37:12 <AnMaster> Deewiant, err it wouldn't wait for user to press enter would it with unbuffered?
21:37:30 <Deewiant> No, but that doesn't matter does it?
21:37:53 <AnMaster> Deewiant, yes it may do for multi-digit number input
21:38:07 <AnMaster> depending on how you interpret it
21:38:12 <AnMaster> or?
21:38:13 <Deewiant> No, since & just reads up to a non-numeric
21:38:16 <AnMaster> ah
21:38:22 <AnMaster> Deewiant, what about STRN I then?
21:38:24 <Deewiant> So '123x' with unbuffered would send the 123
21:38:34 <Deewiant> STRN is one of Mike's; all bets are off
21:38:47 <AnMaster> that's a nice way to express it
21:39:00 <AnMaster> it actually made me laugh out loud (to quote ais523)
21:39:12 <Deewiant> impomatic: ( -- 0gnirts)Input a string
21:39:15 <Deewiant> Gah
21:39:21 <AnMaster> Deewiant, err what?
21:39:33 <AnMaster> what do you mean impomatic?
21:39:33 <Deewiant> I pasted 'I( -- 0gnirts)Input a string'
21:39:46 <Deewiant> And evidently the tab character after the I decided to tab-complete
21:39:47 <AnMaster> Deewiant, your tab completion is totally bonkers then
21:39:51 <AnMaster> ah
21:39:56 <AnMaster> ok not that bonkers then
21:40:00 <Deewiant> :-P
21:40:02 <Deewiant> But yeah, anyway
21:40:03 <ais523> it must have been a literal tab in the original source
21:40:08 <Deewiant> It's an HTML table
21:40:14 <Deewiant> But yeah, anyway
21:40:20 <Deewiant> That is the entirety of the docs for I
21:40:25 <Deewiant> So... like I said.
21:40:40 <AnMaster> ais523, well that would depend on client, if I use Emacs with X frontend that pastes as a literal paste in ERC, but in console I would get the effect Deewiant described
21:40:50 <AnMaster> (weird)
21:40:53 <Deewiant> AnMaster: The other bugs are FILE's 1R at EOF and STRN's opinionated G test
21:41:11 <AnMaster> Deewiant, that is two. You said 4 in total?
21:41:23 <Deewiant> I think I said 5 but I meant 4
21:41:32 <Deewiant> And the additional two are the two you confirmed regarding to 1y
21:41:37 <AnMaster> ah
21:41:41 <AnMaster> that counts as two I see
21:41:43 <AnMaster> right
21:42:35 <AnMaster> Deewiant, btw, your STRN I test is opinionated too iirc. for your mycology results page you said STRN I was BAD if it didn't use same input buffer as core input and BASE input
21:42:48 <AnMaster> which I think is UNDEF
21:43:08 <Deewiant> The 5 TODOs are TIME's day-of-year not being output for local time; testing INDV with { properly (I think CCBI implements it improperly now); 3DSP; '<something above what fits in a signed octet>; mycoedge
21:43:09 <AnMaster> but using same buffer is probably saner yes
21:43:26 <Deewiant> I'm fine with being opinionated unless it's a stupid opinion
21:43:40 <AnMaster> Deewiant, it should be DISCOURAGED then or something
21:43:43 <AnMaster> rather than BAD
21:43:47 <AnMaster> just IMO
21:44:59 -!- oerjan has joined.
21:45:07 <AnMaster> Deewiant, no comments?
21:45:22 <Deewiant> Not really, no :-P
21:45:28 <Deewiant> Like I said, I'm fine with being opinionated
21:46:13 <AnMaster> Deewiant, I remember you saying that mycology didn't support unbuffered IO once in the beginning when I was working on cfunge
21:46:18 <oerjan> <Voltaire> It's a bunch of hogwash, but I support your right to say it </Voltaire>
21:46:20 <AnMaster> or maybe near the end of bashfunge
21:46:30 <Deewiant> Yes, I was thinking about something like that just now as well
21:46:43 <AnMaster> Deewiant, I still think you should support it
21:46:45 <Deewiant> But I couldn't think of any good reason for that
21:46:52 <Deewiant> Well, I mean
21:46:58 <Deewiant> How is it not supported
21:47:10 <AnMaster> Deewiant, I think the reason you used the reason "meh, too much work" or something like that back then
21:47:25 <Deewiant> So was I clueless then or am I now
21:47:44 <AnMaster> Deewiant, I'm still wondering about input on unbuffered
21:50:36 <AnMaster> brb
21:53:25 <oerjan> <ais523> yes, most people just don't notice because Windows deteriorates faster
21:53:41 <oerjan> http://en.wikipedia.org/wiki/Wirth's_law
21:56:51 -!- pikhq_ has changed nick to pikhq.
22:03:50 <AnMaster> oerjan, partly that is justifiable. But only part.y
22:03:53 <AnMaster> partly*
22:04:25 <oerjan> party till you drop
22:04:29 <AnMaster> I mean, of course GUIs are more resource intensive than text only interfaces.
22:21:21 <oklowob> err
22:21:33 <oklowob> guis have changed from their early days?
22:21:58 <oklowob> err
22:22:03 <oklowob> you didn't actually imply that
22:29:02 <AnMaster> oklowob, well a bit, but not that much
22:29:09 <AnMaster> and you can pre-render parts of it
22:29:16 <AnMaster> and then just draw images where needed
22:29:32 <AnMaster> oklowob, or if you want those horrible 3D effects... Well I guess you need more computer then
22:29:36 <AnMaster> but then it's your own fault
22:29:47 <AnMaster> you can just choose to continue using a simpler GUI and it works fine
22:30:04 <AnMaster> of course if you use Windows you might be in trouble...
22:30:09 <AnMaster> but again: your own fault
22:33:34 <oklowob> 3d effects are nice, but i don't actually want them, i want a good 3d ui
22:33:43 <oklowob> which has nothing to do with effects
22:33:46 <oklowob> just projection
22:34:23 <AnMaster> oklowob, I prefer a clean 2D UI with as few un-needed effects as possible. Feature rich: yes. Design bloat: no.
22:34:38 <oklowob> wow that's kinda surprising
22:34:55 <AnMaster> So I like KDE. But I use a graphically minimalistic theme.
22:35:00 <AnMaster> KDE 2-ish theme
22:35:04 <AnMaster> oklowob, it is?
22:35:11 <psygnisfive> oklowob! :D
22:35:11 <oklowob> anyway i just thought you said guis have gotten more resource intensive over the years, and i was like wut, they are exactly the same'
22:35:15 <psygnisfive> <3
22:35:20 <oklowob> but then i realized i misread.
22:35:23 <psygnisfive> i got into the university of maryland :)
22:35:29 <oklowob> haha
22:35:31 <oklowob> for a second
22:35:39 <AnMaster> oklowob, they have also got slightly more resource intensive
22:35:41 <oklowob> i thought that was gay slang for getting married :D
22:36:00 <oklowob> AnMaster: yes, but little enough for me to say they haven't changed at all.
22:36:26 <AnMaster> oklowob, yeah, basically black and white -> 8bpp -> 32bbp
22:36:33 <oklowob> the thing is, as you bluntly pointed out, there isn't really anything you can add, except useless effects (unless you come up with a drastic change)
22:36:42 <AnMaster> and well useless effects
22:37:36 <AnMaster> oklowob, you will still need a graphic card able to handle something better than 320xwhatever in more than 2 colors. Which was pretty rare 20 years ago or so
22:37:41 <oklowob> psygnisfive: i don't remember(/know?) what university you were in, so that's not as interesting as it should be, probably.
22:38:07 <psygnisfive> the important thing is, i got into a great graduate program. :)
22:38:10 <psygnisfive> also, brb
22:38:20 <oklowob> good for you
22:39:34 <ehird> 21:32 AnMaster: oklowob, I prefer a clean 2D UI with as few un-needed effects as possible. Feature rich: yes. Design bloat: no.
22:39:35 <ehird> 21:33 oklowob: wow that's kinda surprising
22:39:43 <ehird> that's post-ironically funny
22:40:09 <oerjan> past the iron post
22:40:25 <oklowob> post the past iron pest
22:40:47 * oerjan wonders if there is a term for things that are almost, but not quite, non sequiturs
22:41:08 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:41:11 <oklowob> :=)
22:41:36 <AnMaster> oerjan, you just said it
22:41:41 <AnMaster> "almost, but not quite, non sequiturs"
22:41:59 <AnMaster> or maybe "Dent non-sequiturs"?
22:42:01 * oerjan swats AnMaster -----###
22:42:10 <oerjan> er, what?
22:42:11 <oklowob> i should probably eat some of this... whipped... porridge
22:42:29 <AnMaster> oerjan, ... that was obvious
22:42:33 <oklowob> (a kind of pink goo)
22:42:36 <oerjan> i mean a highbrow term, of course
22:42:36 <ehird> oerjan: it's the obvious shit reference.
22:42:45 <AnMaster> oerjan, don't try to act like you never read HHGTTG.
22:42:49 <AnMaster> I won't believe that
22:42:53 <oerjan> oh _that_ Dent
22:43:02 <ehird> oerjan: shit isn't it
22:43:11 <oerjan> i was wonder if you were putting a non sequitur into your term
22:43:15 <oerjan> *ing
22:43:34 <oklowob> okay now amuse me
22:43:37 <AnMaster> oerjan, yes you made a reference to "almost, but not entirely unlike, tea" but turned it backwards
22:43:38 * oerjan swats ehird too -----###
22:43:54 <oerjan> oh i didn't notice i did
22:43:57 <AnMaster> oerjan, what did ehird say?
22:44:00 <AnMaster> what?
22:44:04 <ehird> oerjan: i said nothing.
22:44:09 <oerjan> that hhgttg was shit
22:44:13 <ehird> lol
22:44:17 <oerjan> he implied it
22:44:17 <ehird> that's evil
22:44:17 <ehird> <3
22:44:20 <ehird> er
22:44:21 <ehird> no
22:44:21 <oklowob> :D
22:44:23 <ehird> i didnn't
22:44:23 <AnMaster> oerjan, the books were great.
22:44:25 <ehird> :|||
22:44:26 <AnMaster> you know that
22:44:37 <ehird> oerjan you lying lier
22:44:38 <oerjan> actually i just read the first two ones
22:44:50 <AnMaster> oerjan, oh? I recommend reading all of them
22:45:02 <oerjan> <ehird> oerjan: shit isn't it
22:45:03 <oklowob> AnMaster: oerjan took the high road and made a joke only people who see ehird would understand, while still telling you what happened
22:45:19 <ehird> oklowob: stop explaining it!!!!!!!
22:45:21 <AnMaster> oklowob, hm
22:45:43 <oklowob> my fingers are good at drumming
22:46:01 <oklowob> they know what they feel so to speak
22:47:11 <oerjan> AnMaster: i vaguely read a rumor that the later books get more depressing
22:47:12 <AnMaster> http://www.svd.se/nyheter/inrikes/artikel_2657409.svd (in English). The actual petition is at http://expressen.wufoo.com/forms/free-dawit/http/true/
22:47:32 <ehird> oerjan: book 4 is cheerful
22:47:34 <ehird> book 5 isn't.
22:47:38 <AnMaster> oerjan, well that is true
22:47:40 <ehird> oh shit, I am bleeding
22:47:41 <ehird> fuck :<
22:48:30 <oerjan> ehird: nice to have known you
22:48:39 <ehird> its just my finger
22:48:39 <oerjan> i assume it's highly lethal
22:48:41 <ehird> but it's annoying
22:48:44 <ehird> and hurts. :
22:48:45 <ehird> :P
22:48:52 <AnMaster> oerjan, what did he do? :)
22:49:02 <oerjan> AnMaster: cut off his finger, i think
22:49:20 <oklowob> bleeding to death
22:49:22 <oerjan> in an annoying way
22:49:25 <AnMaster> oerjan, intentionally or by mistake? And how?
22:49:29 <oklowob> i did that today
22:49:32 <oklowob> a it
22:49:34 <oklowob> *bit
22:49:35 <AnMaster> Virtually I assume?
22:49:41 <oerjan> i think it was an accident, he said "oh shit"
22:49:58 <ehird> oerjan's campaign of misinformation is beautiful
22:50:31 <AnMaster> oerjan, Probability of it being a real accident? (In which case I hope he gets better but decides to spend more time away from the computer due to having issues writing with a missing finger)
22:50:49 <oerjan> AnMaster: <ehird> oh shit, I am bleeding
22:50:57 <oerjan> that certainly looked genuine to me
22:51:01 <AnMaster> oerjan, hm
22:51:07 <ehird> XDD
22:51:08 <AnMaster> oerjan, possibly non-lethal
22:51:17 <oerjan> well let's not assume things
22:51:26 <ehird> oerjan: i feel faint
22:51:29 <ehird> oh god
22:51:30 * AnMaster takes a quick look in raw log
22:51:30 <ehird> the pain
22:51:34 <ehird> dammit
22:52:06 <AnMaster> :ehird!n=ehird@208.78.103.223 PRIVMSG #esoteric :XDD
22:52:07 <AnMaster> what?
22:52:14 <AnMaster> I think someone is joking
22:52:14 <ehird> extreme
22:52:15 <ehird> pain
22:52:19 <ehird> fuck you AnMaster
22:52:23 <ehird> tha's all youf cuking say
22:52:25 <AnMaster> oh well
22:52:26 <ehird> when this pain
22:52:27 <ehird> agho
22:52:29 <ehird> help
22:52:35 <ehird> help
22:52:39 * AnMaster closes raw log
22:52:54 <ehird> : ((
22:53:01 <AnMaster> oerjan, not funny
22:53:03 <oklowob> pain is only an illusion
22:53:18 <oklowob> i only feel pain when i consider it useful
22:53:40 <AnMaster> oerjan, now lend me your fly swatter so I can use it on you. You deserve it
22:53:41 <ehird> dude its not a fucking joke
22:53:44 <ehird> oerjan tell him
22:53:46 <ehird> i need help
22:53:50 <ehird> the bleeding it's gushing
22:54:14 <oklowob> oerjan: if AnMaster gets to then i wanna too
22:54:21 <AnMaster> oklowob, on who?
22:54:23 <oklowob> gushing is a pretty word
22:54:30 <oerjan> AnMaster: XDD is obviously a horrified scream
22:54:33 <oklowob> AnMaster: oerjan presumably
22:54:44 <AnMaster> oklowob, Do you have a reason for it?
22:54:48 <oklowob> yes
22:54:50 <AnMaster> oerjan, no it isn't...
22:54:52 <ehird> god
22:54:53 <ehird> help
22:55:00 <oklowob> i like swatting people with fly swatters.
22:55:01 <ehird> i see light
22:55:03 <ehird> bright lightt
22:55:04 <AnMaster> oh ok
22:55:08 <AnMaster> I guess that is a good reason
22:55:19 <oklowob> ehird: that's what you get for preferring day over night
22:55:28 <oerjan> also, AnMaster, how do you get by with just a 5 line high irc window?
22:55:31 <ehird> i feel slippinngg
22:55:41 <oerjan> (it cannot be more than that)
22:55:48 <AnMaster> oerjan, who claimed I had such a small window?
22:55:52 <AnMaster> Why would it be that small
22:56:01 <oerjan> AnMaster: it's obvious from your lack of context appreciation
22:56:07 <oklowob> i have a semitiny hunch he deduced it from something you did
22:56:07 <AnMaster> oerjan, ??
22:56:14 <oklowob> well there you go
22:56:33 <AnMaster> oerjan, what line in specific do you mean? My IRC window is closer to 50 lines I'd say
22:56:39 <AnMaster> and I'm too lazy to count
22:56:46 * oerjan hands oklowob his flyswatter to amuse himself with
22:56:50 <ehird> agh
22:56:52 <ehird> I stopped dying
22:56:59 <ehird> to appreciate the lack of comprehension
22:57:00 <ehird> of AnMaster
22:57:02 <oklowob> ehird: welcome back
22:57:04 <ehird> why is life so torturous
22:57:04 <oklowob> what was heaven like
22:57:09 <oklowob> oh wait
22:57:10 <oerjan> ehird: yeah it usually stops eventually
22:57:13 <oklowob> were you an atheist?
22:57:19 <oklowob> was it hot?
22:57:26 <ehird> oklowob: well it was kind of umm
22:57:36 <ehird> oklowob: right okay so you know like 4 dimensions and 5 dimensions and stuff?
22:57:39 <AnMaster> oklowob, I would suggest asking about hell rather than heaven when it comes to ehird :P
22:57:39 <oklowob> yes
22:57:45 <ehird> imagine 6 dimensions, then chop off the first 3
22:57:51 <oklowob> AnMaster: i did, but i did a small bit leading to it
22:57:52 <ehird> that's the basic geometry
22:58:07 <oklowob> you'd see it if you used a greater window than your 5 lines
22:58:17 <ehird> oklowob: also, no time
22:58:21 <AnMaster> oklowob, err yes you did a split second after I pasted that line
22:58:24 <AnMaster> <AnMaster> oklowob, I would suggest asking about hell rather than heaven when it comes to ehird :P
22:58:26 <AnMaster> <oklowob> was it hot?
22:58:26 <ehird> you have to jog to keep upw ith time
22:58:37 <ehird> oklowob: ssh, he's on 56k
22:58:39 <AnMaster> oklowob, probably showed up in opposite order for you
22:58:40 <oklowob> AnMaster: i know, i was just doing another bit.
22:59:09 <oklowob> AnMaster: well your reply was about a minute late
22:59:13 <oklowob> but i'm using a webirc
22:59:17 <oklowob> because this is not my computer
22:59:22 <oklowob> mine was die.
22:59:26 <oerjan> AnMaster: wow you are lagged
22:59:31 <AnMaster> oklowob, I'm having lag issues atm though, so could be on my side
22:59:32 <oklowob> oh.
22:59:34 <AnMaster> lag spikes
22:59:37 <AnMaster> seems better now
22:59:44 <oklowob> turns out i beat AnMaster even with a webirc
22:59:51 <oklowob> probably because i know category theory and he doesn't
23:00:01 <AnMaster> ...
23:00:06 <Deewiant> Ircomorphisms?
23:00:30 * oerjan takes his swatter back from oklowob
23:00:32 <AnMaster> oklowob, or because your ISP doesn't suck as much?
23:00:38 <oklowob> oerjan: wait you gave it? :D
23:00:43 <oklowob> i didn't even notice
23:00:45 <AnMaster> oklowob, too late now
23:00:53 <oerjan> use it or lose it
23:00:55 <oklowob> noooooooooooo
23:00:58 <oklowob> noooooooooooooooooooooooooooooooooooooooo
23:01:09 <oklowob> life is terrybul :<
23:01:12 <oerjan> *sigh* oh well, here -----###
23:01:19 <oklowob> yay
23:01:30 * oklowob swats oerjan -----###
23:01:32 <ehird> oklowob:
23:01:34 <ehird> swat me
23:01:38 <ehird> so I die
23:01:39 <oklowob> how'd you like that :D
23:01:41 <ehird> so I am free of AnMaster
23:01:41 <oerjan> *ouch* i mean yay
23:01:42 <AnMaster> hm
23:02:03 <oklowob> oerjan: that was pretty awesome
23:02:07 <AnMaster> aha! I just bought an IRC one line ASCII art weapon too
23:02:15 <oklowob> oh dear
23:02:26 * AnMaster hits ehird o---------------E
23:02:27 <ehird> no you didn't
23:02:31 <AnMaster> wait
23:02:31 <ehird> oerjan hasn't enchanted it
23:02:33 <AnMaster> not right
23:02:33 <ehird> so it does nothing.
23:02:38 * AnMaster hits ehird o======E
23:02:40 <AnMaster> that is better
23:02:41 <ehird> and i don't think he'd enchant something just to hit me.
23:02:42 <AnMaster> fire poker
23:02:57 <AnMaster> may need some adjustments?
23:03:01 * oklowob doubleswats oerjan -----### ###-----
23:03:09 <oerjan> ehird: don't be silly, i didn't enchant ais523's butterfly net either
23:03:15 <oerjan> eek!
23:03:17 <ehird> oerjan: yes, but it was just a net
23:03:18 * AnMaster experiments, holding it like a sword o=========E
23:03:21 <ehird> nothing like a red hot poker
23:03:23 <AnMaster> oerjan, does that look good?
23:03:46 * FireFly can has hookshot ~~~{
23:03:47 <oklowob> so
23:03:52 <oklowob> anyone wanna play red hot poker
23:03:54 <AnMaster> oerjan, yes or no?
23:04:08 <oklowob> it's a kind of strip poker except there's a lot of swatting involved
23:04:13 <AnMaster> oklowob, no thanks, I don't want to lend it yet, it is still new and shiny
23:04:15 <oerjan> anyway that weapon of AnMaster looks like it needs a demonic curse, not an enchantment.
23:04:23 <AnMaster> oerjan, err what?
23:04:46 <oklowob> okay now seriously ....whipped ...porridge
23:05:04 <oerjan> it's obviously a demon's fork
23:05:17 <oerjan> what are those called...
23:05:36 <AnMaster> oerjan, it could be a demonic enhanced rustproof +3 red hot fire poker of Munchkins?
23:05:38 <AnMaster> or something
23:05:39 <Deewiant> Tridents
23:06:14 <AnMaster> oerjan, how would a firepoker look then?
23:06:31 <ehird> xlogo window 'hget http://plan9.bell-labs.com/plan9/img/plan9bunnysmblack.jpg | page'
23:06:36 <ehird> — unix/plan9 equivalent commands page
23:06:39 <oerjan> oh fire poker, i guess that works
23:06:47 <AnMaster> oerjan, I said fire poker above
23:06:48 <AnMaster> duh
23:06:52 <FireFly> {} <-- Power bracelet L2
23:06:58 <oerjan> FireFly: sorry i cannot swat you, oklowob is borrowing the swatter
23:07:06 <FireFly> :(
23:07:10 <FireFly> No massage today?
23:07:17 * AnMaster hits FireFly lightly with the poker o=========E
23:07:23 <FireFly> OUCH
23:07:25 <FireFly> But
23:07:31 <ehird> FireFly: it isn't active
23:07:32 <FireFly> I'm already burning
23:07:32 <AnMaster> for oerjan
23:07:36 <ehird> it hasn't been cursed/chanted
23:07:37 <FireFly> So meh
23:07:40 <AnMaster> FireFly, it is fire proof
23:07:57 <ehird> god ripping off oerjan's swatter is lame.
23:08:04 * FireFly hookshots AnMaster ~~~~~~~~~~{
23:08:12 <AnMaster> FireFly, also how would a fire poker ignite you?
23:08:17 <AnMaster> don't you know what one is?
23:08:17 <FireFly> At least I can steal things
23:08:22 <FireFly> Yes I do
23:08:22 <AnMaster> FireFly, what?
23:08:24 <FireFly> Xut
23:08:25 <FireFly> But*
23:08:33 <FireFly> If it'd be.. more devilish
23:08:40 <AnMaster> also did you check the grappling rule book?
23:08:40 <FireFly> Then it'd perhaps burn
23:08:44 <AnMaster> ;P
23:08:53 <FireFly> I havn't been to hell, so I dunno
23:08:55 <FireFly> Um
23:08:57 <AnMaster> ...
23:09:09 <FireFly> Nope, I use my Zelda LA experience
23:09:27 <AnMaster> FireFly, duh Dungeon and Dragons.
23:09:46 <AnMaster> the web comic Darth and Droids mentioned this recently
23:09:46 <FireFly> Well, Hookshot is more zelda style
23:09:49 <AnMaster> oerjan can explain
23:09:53 <AnMaster> I think he reads it
23:09:56 * oerjan expected darths and droids, rather
23:10:01 <oerjan> argh!
23:10:07 <AnMaster> oerjan, what?
23:10:14 <oerjan> someone swat me for reading context worse than AnMaster :D
23:10:33 * oklowob swats oerjan
23:10:37 <oerjan> thank you
23:10:38 <oklowob> *-----###
23:10:49 <FireFly> A pointer to a swatter
23:10:56 * oklowob hands oerjan the swatter
23:11:02 <oklowob> too big a responsibility :|
23:11:14 <AnMaster> oerjan, you are aware of that a fire poker makes a much larger indent than a fly swatter, so my attack would be like the heavy artillery, while your fly swatter would be like a single person
23:11:29 <AnMaster> are you*
23:12:03 <FireFly> Eg. swatting is more comfortable
23:12:04 * oerjan points out on AnMaster's head that he also has a saucepan. ===\___/
23:12:22 * AnMaster deflects the attack using his o=========E
23:12:39 <oerjan> oh dear
23:12:43 <AnMaster> now your saucepan got a hole right through the bottom
23:12:46 <AnMaster> not just a dent
23:12:50 <AnMaster> now you are in trouble
23:12:58 <FireFly> Stop godmoding :(
23:13:04 <oerjan> at this rate we're going to need disarmament negotiations soon
23:13:05 <ehird> Yeah totally.
23:13:11 <ehird> that's why you need to enchant i
23:13:11 <ehird> t
23:13:14 <ehird> because people godmode.
23:13:52 <AnMaster> oerjan, well I'll help you mend it if you want, I know a blacksmith with a time limited discount thingy for mending saucepans
23:14:17 <AnMaster> FireFly, what are you talking about?
23:14:24 <FireFly> [23:11:13] <AnMaster> now your saucepan got a hole right through the bottom
23:14:29 <FireFly> http://en.wikipedia.org/wiki/Godmoding
23:14:30 <AnMaster> FireFly, it had dents before
23:14:35 <AnMaster> so this is rather logical
23:14:36 <FireFly> Did it?
23:14:50 <AnMaster> FireFly, s/Did/Had/ and it would make sense
23:14:59 <AnMaster> but yes
23:15:06 <AnMaster> it got dents when he hit people
23:15:17 <AnMaster> so it seems rather soft
23:15:20 <oerjan> i don't think "had it" is common grammar
23:15:35 <FireFly> ..I'd say my reply was grammatically correct?
23:15:41 <AnMaster> oerjan, didn't it?
23:15:45 <AnMaster> or isn't it?
23:15:47 <AnMaster> wait
23:15:51 <AnMaster> oerjan: doesn't it?
23:16:01 <AnMaster> mh
23:16:07 <AnMaster> maybe you are right about the grammar thing
23:16:10 <AnMaster> well
23:16:29 <FireFly> Anyway, it'd still be godmoding saying "I do X and Y's Z broke"
23:17:16 <AnMaster> FireFly, Ok we need five 20d then and a rule book
23:17:19 <AnMaster> might be better
23:17:39 <FireFly> I've only played D&D games on computer :(
23:17:44 <FireFly> Not real games
23:17:59 <AnMaster> FireFly, same, but I read a lot about it so I'm not totally clueless
23:18:25 <FireFly> Well, I do know what a 20-sided die is
23:18:47 <FireFly> Hrm, dice*
23:18:57 <AnMaster> FireFly, but you were unaware of the complex rules I mentioned above
23:18:59 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:19:05 <FireFly> As in?
23:19:19 <AnMaster> <AnMaster> also did you check the grappling rule book?
23:19:28 <AnMaster> <AnMaster> FireFly, duh Dungeon and Dragons.
23:19:28 <AnMaster> <AnMaster> the web comic Darth and Droids mentioned this recently
23:19:30 <AnMaster> that
23:19:35 <AnMaster> <AnMaster> oerjan can explain
23:19:41 * AnMaster waits for that to happemn
23:19:43 <AnMaster> happen*
23:19:43 <FireFly> I didn't even know grappling hooks existed in the D&D universe
23:20:00 <AnMaster> FireFly, don't read Darth and Droids?
23:20:04 <FireFly> Nope
23:20:05 <AnMaster> or IWC?
23:20:08 <FireFly> Nope
23:20:17 * oerjan tosses his saucepan and orders a new one from Acme Corporation.
23:20:22 <FireFly> I was using a Zelda Hookshot; Ninty rules applies to it :D
23:20:30 <AnMaster> oerjan, didn't you see my offer above...?
23:20:58 <AnMaster> FireFly, http://darthsanddroids.net/episodes/0232.html http://darthsanddroids.net/episodes/0233.html
23:21:31 <AnMaster> FireFly, while I like Zelda OOT I don't think it applies on IRC
23:21:56 <FireFly> Well, how does D&D relate to IRC swatting?
23:22:08 <AnMaster> FireFly, no more than Zelda rules do
23:22:11 <FireFly> oerjan, write a swatting rulebook, FAST!
23:22:21 <FireFly> Fair enough
23:22:43 <AnMaster> oerjan, would be a good idea. After proper consideration of the essies committee for 2006 I think :P
23:22:46 * oerjan hits AnMaster with his new Acme saucepan O==|__|
23:23:02 <AnMaster> oerjan, that feels like rubber?
23:23:07 <AnMaster> what sort of joke is this
23:23:13 <oerjan> i think it's cartoon material
23:23:22 <AnMaster> oerjan, oh.
23:23:55 <AnMaster> oerjan, still feels like rubber. It explains why the roadrunner always got away
23:24:08 <AnMaster> oerjan, not a good choice I'd say
23:24:24 <oerjan> hm actually i think it's a plastic explosive
23:24:30 <AnMaster> oerjan, well since you threw your old away....
23:24:41 * oerjan hits AnMaster again to test O==|__| *BOOM*
23:24:53 <FireFly> [¯¯¯]~
23:24:53 <AnMaster> *CUT* <New scene>
23:24:54 <AnMaster> ah
23:24:56 <FireFly> Dynamite
23:25:13 <FireFly> Maybe a bit too fat
23:25:31 -!- k has joined.
23:25:42 * AnMaster picks up the old saucepan oerjan threw away ===\/ \/.
23:25:59 -!- k has changed nick to Guest21687.
23:26:10 * AnMaster takes oerjans saucepan to the local blacksmith and gets it mended ===\___/
23:26:13 <AnMaster> Looks like new
23:26:22 <AnMaster> now if you want it back I suggest being nice!
23:26:23 <AnMaster> ;P
23:26:34 * AnMaster keeps it away where oerjan can't steal it
23:26:35 <oerjan> marvelous handcraft
23:26:39 -!- BeholdMyGlory has quit (Remote closed the connection).
23:27:12 <FireFly> Marvelous quitcraft
23:27:19 <AnMaster> uhu
23:27:28 * FireFly is bored
23:27:53 <AnMaster> oerjan, btw I listened to the entire Peer Gynt today, SR P2 sent it in two parts during yesterday and the day before that
23:28:14 <oerjan> well then you know more of it than me
23:28:16 * AnMaster used mplayer -dumpstream on it
23:28:39 <AnMaster> oerjan, hah, I thought you would know a lot since you were from Norway
23:28:43 -!- Guest21687 has quit (Remote closed the connection).
23:29:07 <oerjan> hah, i bet you think i'm good at skiing, too
23:29:21 <oerjan> BUT YOU WOULD BE WRONG
23:29:39 <FireFly> I bet you're good at coding
23:29:44 <FireFly> At least better than.. me?
23:29:45 <oerjan> BUT YOU WOULD BE WRONG
23:29:57 <FireFly> HOW DO YOU KNOW?
23:30:16 <AnMaster> oerjan, gå på tur?
23:30:22 <AnMaster> or whatever it is you call it
23:30:35 <oerjan> skitur, at least
23:31:09 <AnMaster> oerjan, Well for a Swede "gå på tur" sounds like archetypical Norwegian
23:31:12 <AnMaster> :/
23:31:17 <oerjan> maybe
23:31:39 <AnMaster> oerjan, med stickad tröja.
23:31:41 <FireFly> I know what "tuller" is in norwegian
23:31:53 <oerjan> stickad?
23:31:56 <AnMaster> FireFly, something you find at airports?
23:31:58 <oklowob> i'm the best skier here
23:32:02 <FireFly> Vjet
23:32:06 <FireFly> Njet*
23:32:09 <AnMaster> FireFly, ?
23:32:15 <FireFly> Not "tull"
23:32:23 <AnMaster> oerjan, err... like you make clothes from wool
23:32:25 <AnMaster> not woven
23:32:32 <FireFly> Knitting
23:32:33 <AnMaster> you use two long wooden pins
23:32:35 <AnMaster> ah yes
23:32:48 <oklowob> i'd probably beat even oerjan
23:32:51 <FireFly> Or, stickad = knitted
23:32:56 <oerjan> oh right. i also avoid knitted woolen sweaters like the plague :D
23:33:04 <FireFly> I'm quite good at skiing
23:33:25 <AnMaster> FireFly, as long as it isn't going up or down
23:33:27 <oklowob> well let's not compete
23:33:30 <oerjan> "even oerjan"?
23:33:35 <AnMaster> I prefer more horizontal skiing
23:33:38 <FireFly> Meh
23:33:44 <oklowob> oerjan: yeah, even you
23:33:47 <oklowob> i'm just that good
23:33:49 <AnMaster> FireFly, långfärdsåkning
23:33:50 <FireFly> I prefer downhill over cross-ocuntry
23:33:54 <oerjan> i thought i made it clear i don't ski unless my life depends on it
23:33:57 <FireFly> country*
23:34:01 <AnMaster> FireFly, cross country definitely
23:34:15 <FireFly> Not if I'm the one choosing
23:34:25 <FireFly> oerjan, what's wrong with skiing
23:34:28 <AnMaster> what do you call it in English if things start going round when you are high up
23:34:30 <oklowob> oerjan: well yes but you're norwegian, your no skiing is more than our lotsa skiing.
23:34:35 <AnMaster> yrsel, höjdrädd
23:34:40 <oerjan> oklowob: ah well then
23:34:53 <AnMaster> FireFly, ^
23:34:54 <FireFly> For the record, BeholdMyGlory has an oerjanish alignment towards skiing
23:34:57 <oklowob> FireFly: i was talking cross-country
23:35:03 <FireFly> Ah
23:35:17 <FireFly> AnMaster; [23:32:21] <FireFly> I prefer downhill
23:35:18 <FireFly> ?
23:35:26 <AnMaster> FireFly, "<AnMaster> what do you call it in English if things start going round when you are high up"
23:35:27 <AnMaster> that one
23:35:34 <oerjan> AnMaster: acrophobia
23:35:38 <AnMaster> FireFly, that is why I prefer cross country
23:35:40 <FireFly> Ah
23:35:41 <FireFly> Eh
23:35:44 <AnMaster> oerjan, that sounds wrong
23:35:56 <FireFly> I'm not sure
23:36:03 <FireFly> And I'm too lazy to wiki
23:36:10 <oklowob> well fear of heights
23:36:41 <AnMaster> oerjan, ""Vertigo" is often used, incorrectly, to describe the fear of heights, but it is more accurately described as a spinning sensation, which may be caused by looking down from a high place, as well as by some other stimuli. Vertigo is qualified as height vertigo when referring to dizziness triggered by heights." <-- hm
23:36:47 <oerjan> http://en.wikipedia.org/wiki/Acrophobia
23:37:01 <AnMaster> oerjan, yeah found it. Read context....
23:37:01 <oklowob> AnMaster: how delightfully irrelevant
23:37:10 <oerjan> i thought of vertigo too
23:37:10 <AnMaster> anyway "height vertigo" would be what I suffer
23:37:12 <FireFly> The english language has a tendency to separate words :|
23:37:21 <oklowob> AnMaster: ah
23:37:26 <oklowob> okokokokokoko
23:37:31 <AnMaster> oklowob, so highly relevant
23:37:32 -!- kar8nga has quit (Success).
23:37:34 <oklowob> ototototo
23:37:42 <FireFly> owowowowow
23:37:42 <AnMaster> and I was quoting from what oerjan posted a few seconds later
23:37:43 <oklowob> AnMaster: it was delightfully relevant
23:37:47 <FireFly> No, I'm all right
23:37:56 <AnMaster> fffffffffffffffffff
23:38:29 * oerjan is plenty acrophobic too
23:38:30 <oklowob> AnMaster: i have no idea, i'm asleep
23:38:32 <AnMaster> FireFly, a few degrees downwards is ok for me, just not too steep
23:38:54 <oklowob> the problem with downhill skiing is it's kinda trivial
23:39:17 <oklowob> sure you can get challenges, but they are more about risks than they are about skills
23:39:25 <AnMaster> oklowob, Not if you suffer from height vertigo... Then it is highly non-trivial I can tell you
23:39:54 <oklowob> i'm just saying there's not so much progress to do, you learn it, then you know it.
23:40:04 <AnMaster> ok that may be true
23:40:10 <oklowob> sure you can optimize, but... it's still the same thing
23:40:39 <oklowob> then again i probably think that about most sports
23:40:43 <FireFly> I like it when it's quite steep
23:40:57 <oklowob> FireFly: well yes it feels nice
23:41:01 <AnMaster> also I know technically how you do it, I can manage short and not to steep hills fine. and I know how you put your foots. never let the tips drift apart too much for example.
23:41:18 <AnMaster> rather keep them a bit closer than the back ends
23:41:33 <AnMaster> and avoid getting too much speed. VERY important.
23:41:39 <FireFly> Meh
23:41:56 <AnMaster> FireFly, you like going fast?
23:42:00 <AnMaster> meh
23:42:06 <FireFly> Quite, yeah
23:42:12 <oklowob> falling isn't exactly that dangerous on a slope
23:42:31 <AnMaster> oklowob, well depend on which way you fall
23:42:42 <oklowob> well assuming at least a somewhat sensible speed
23:42:47 <AnMaster> oklowob, that too
23:42:52 <AnMaster> also you can hurt yourself
23:42:59 <AnMaster> just probably not fatally
23:43:17 <FireFly> It's not like I've tried ski-jumping, that just looks crazy
23:43:23 <AnMaster> FireFly, oh yes it does
23:43:23 <oklowob> well dunno i'm not an expert
23:43:38 <AnMaster> oklowob, I mean, minor bruises and such
23:44:15 <FireFly> But they survive well, since they land on such a steep slope, flatting out in a huge ... slope
23:44:29 <oklowob> i've tried ski-jumping from kiddie ramps
23:44:39 <oklowob> (when i was kiddie)
23:44:41 <AnMaster> I would never dare
23:44:43 <FireFly> It's not like it's steep, and then suddenly totally flat
23:44:45 <FireFly> Well
23:45:16 <AnMaster> FireFly, I still think you could hurt yourself though
23:45:22 <FireFly> I've jumped on some 2dm-or-so bumps
23:45:27 <FireFly> But nothing bigger
23:45:41 <AnMaster> FireFly, 2dm?
23:45:44 <FireFly> AnMaster, yeah, it looks crazy to me too
23:45:49 <AnMaster> decimeter?
23:45:51 <FireFly> Yeah
23:45:54 <AnMaster> mhm
23:46:01 <FireFly> Huge, I know :D
23:46:12 <AnMaster> FireFly, I would not do it still
23:46:14 <FireFly> Okay, maybe a couple of huger bumps
23:46:21 <FireFly> half a meter or so
23:46:25 <FireFly> I'm not really sure
23:46:30 <AnMaster> definitely wouldn't do that
23:46:43 <FireFly> I did try this sports weekend, but failed
23:46:56 <FireFly> Cold snow is cold
23:47:06 <AnMaster> eh?
23:47:19 <oklowob> so does anyone do ...ice pool swimming here?
23:47:21 <AnMaster> also the weather have been crazy recently
23:47:28 <AnMaster> I mean snowing today
23:47:28 <FireFly> oklowob, nope
23:47:31 <FireFly> AnMaster, indeed!
23:47:34 <FireFly> Yeah
23:47:40 <oklowob> my father keeps trying to get me back in the circle
23:47:42 <AnMaster> oklowob, that is even crazier than ski jumping...
23:47:48 <FireFly> It's totally white outside now :\
23:47:48 <oklowob> used to do that when i was little
23:47:58 <FireFly> Well
23:47:59 <AnMaster> FireFly, yes
23:48:16 <AnMaster> yellow... sodium based street lights
23:48:24 <FireFly> It'd be funny to try ice pool swimming some day, at my grandparents place
23:48:25 <AnMaster> otherwise it would be white yes
23:48:46 <FireFly> Close to a shallow sea, and they have a sauna :D
23:49:06 <AnMaster> I never likes saunas
23:49:30 <FireFly> Close = 50-or-so metres
23:49:31 <AnMaster> too hot IMO (yeah, I know that is the point of them, I just don't like it)
23:49:39 <FireFly> I like it
23:49:42 <oklowob> heh i'm such a stereotypical finn, saunas are great
23:49:55 <AnMaster> oklowob, do you roll in the snow outside too?
23:50:12 <AnMaster> if yes you are definitely a stereotypical finn
23:50:23 <FireFly> Just the same way as I love having the sun gazing at my skin a hot summer day while drinking something cold
23:50:23 <oklowob> well sure if environment allows dat
23:50:26 <AnMaster> ...
23:50:27 <FireFly> Lie ice tea
23:50:29 <AnMaster> oklowob, crazy
23:50:30 <FireFly> Like*
23:50:34 <oklowob> AnMaster: not really
23:50:52 <AnMaster> oklowob, I guess I'm just... lagom ;)
23:51:05 <AnMaster> I never liked extreme cold or extreme heat
23:51:10 <oklowob> well how about this, i occasionally go out without shoes in winter
23:51:18 <AnMaster> oklowob, crazy
23:51:26 <FireFly> Outside, with bare feet?
23:51:35 <oklowob> also in the summer i occasionally take week-long streaks of not using any kinda protection for my feet
23:51:39 <AnMaster> oklowob, I tend to use some shoes all the year, sandals in the summer
23:51:49 <FireFly> Well
23:51:49 <AnMaster> oklowob, how does that work on asphalt?
23:51:56 <FireFly> That's nice
23:52:04 <FireFly> I like the burning feeling :D
23:52:09 <AnMaster> FireFly, I don't
23:52:13 <oklowob> AnMaster: there are worse things to walk on
23:52:30 <AnMaster> oklowob, grus yes.. Don't know English word
23:52:34 <oklowob> i have no quarrel against running on small stones without shoes
23:52:38 <AnMaster> smallish stones?
23:52:40 <FireFly> At our school we've got several houses, so we have to move between them
23:52:40 <oklowob> yes
23:52:47 <AnMaster> much coarser than sand
23:52:49 <oklowob> that's what i was going for too
23:52:57 <FireFly> And I seem to be the only one always walking in t-shirt
23:53:01 <FireFly> I mean
23:53:08 <AnMaster> pebbles?
23:53:09 <oklowob> i used to use a t-shirt all year long
23:53:11 <AnMaster> is that the right word?
23:53:13 <oklowob> AnMaster: yeah
23:53:23 <FireFly> I don't mind if it's snowing, I like having bare arms
23:53:31 <oklowob> then i got old, now i also use a jacket :<
23:53:33 <AnMaster> ugh
23:53:42 <ehird> FireFly: you live in sweden
23:53:44 <ehird> crazy bugger.
23:53:50 <FireFly> Why?
23:53:52 <oklowob> although the zipper is broken so it's always open
23:54:22 <AnMaster> FireFly, I'm indoors, temperature ~18 C ... fleecetröja
23:54:24 <FireFly> It's not like it's that cold
23:54:26 <AnMaster> need I say more?
23:54:41 <FireFly> I'm indoors, unknown temperature
23:54:46 <oerjan> AnMaster: gravel
23:54:47 <FireFly> I feel hot, t-shirt
23:54:55 <AnMaster> oerjan, ah yes that would fit better
23:54:56 <oklowob> i'm indoors, temperature about 20, totally naked
23:55:02 <AnMaster> ...
23:55:08 <oklowob> as always
23:55:33 <FireFly> I'm usually going to my bed fetching the pyamas about this time at evenings
23:55:34 * oklowob yawns
23:55:36 -!- neldoret1 has quit (Client Quit).
23:55:36 <AnMaster> also jeans and wollen "raggsockor", oh and "fårskinnstofflor"
23:55:42 -!- neldoreth has joined.
23:55:44 <AnMaster> no idea at all what they are in English
23:55:51 <FireFly> It's more.. chilling than jeans
23:55:57 <oerjan> i'm indoors, temperature about 23, wearing a sweater and _still_ feel cold
23:56:09 <FireFly> :D
23:56:21 <FireFly> The stereotypical non-norwegian?
23:56:22 <oklowob> oerjan: probably from all the skiing
23:56:35 <AnMaster> oerjan, yes I still feel cold, that is why I also ended up with my "froteemorgonrock" on the top of it all
23:56:39 <oklowob> have you eaten your daily cod yet?
23:56:45 <AnMaster> and no clue about what that is in English
23:57:02 <FireFly> Morning gown
23:57:10 <AnMaster> FireFly, what about frotee?
23:57:16 <FireFly> I dunno
23:57:16 <AnMaster> the material you know
23:57:19 <AnMaster> very warm
23:57:28 <FireFly> You learn lots of things by playing the PC H2G2 game :D
23:57:31 <AnMaster> maybe it is frotée or something
23:57:34 <FireFly> At least some things
23:57:34 <AnMaster> FireFly, haha
23:57:44 <ehird> ŕ
23:57:44 <AnMaster> FireFly, "raggsockor" and "fårskinnstofflor" then?
23:57:46 <AnMaster> what about themn
23:57:46 <FireFly> Mostly unneccecary things, though
23:57:47 <AnMaster> them*
23:57:52 <FireFly> I don't know
23:57:56 <FireFly> Or, well
23:58:02 <oklowob> ...woolen socks?
23:58:09 <AnMaster> yes that would describe them
23:58:10 <oklowob> and the second is...
23:58:10 <oklowob> umm
23:58:16 <oklowob> foreskin shoes
23:58:19 <AnMaster> no
23:58:21 <AnMaster> sheep skin
23:58:23 <FireFly> Sheep skin shoes :D
23:58:26 <AnMaster> for indoor use
23:58:33 <AnMaster> tofflor is not for outdoor use
23:58:36 <oklowob> no i think it's foreskin
23:58:37 <oerjan> i have raggsokker but not tøfler :D
23:58:40 <AnMaster> oklowob, wrong
23:58:51 <FireFly> sokker?
23:58:52 <AnMaster> oerjan, hehe töffler?
23:58:53 <FireFly> Hm
23:58:57 <FireFly> sukker
23:58:58 <FireFly> sokker
23:59:01 <AnMaster> socker!
23:59:04 <FireFly> Different things
23:59:08 <AnMaster> FireFly, yes
23:59:16 <AnMaster> what does the first one mean?
23:59:25 <oklowob> anyway sleepies, probably, now
23:59:25 <FireFly> Socker
23:59:30 <FireFly> IIRC
23:59:37 <AnMaster> still I much prefer the difference between anden and anden as well as tomten and tomten in Swedish
23:59:44 <AnMaster> that is a difference that really rocks :)
23:59:46 <FireFly> e.g. sugar
2009-03-28
00:00:03 <AnMaster> FireFly, I guessed right thne
00:00:05 <AnMaster> then*
00:00:08 <FireFly> Or stones
00:00:26 <FireFly> </boring>
00:00:36 <AnMaster> stones?
00:00:37 <AnMaster> what?
00:00:47 <FireFly> [23:58:16] <AnMaster> [...] really rocks :)
00:00:56 <AnMaster> oh
00:00:58 <oerjan> bouldering along...
00:01:03 <AnMaster> oh my
00:01:21 <AnMaster> no no
00:01:30 <AnMaster> right way is to say jazz along
00:01:31 <AnMaster> duh
00:01:50 <FireFly> I was thinking about something once
00:01:53 <oerjan> that sounds distinctly non-geological
00:02:00 <AnMaster> oerjan, rocks. Rock and roll
00:02:01 <oerjan> FireFly: me too!
00:02:03 <AnMaster> thus jazz
00:02:05 <FireFly> :D
00:02:08 <oerjan> oh
00:02:14 <AnMaster> oerjan, makes perfect sense
00:02:17 <AnMaster> as well
00:02:23 <FireFly> Translating some english named music genres into swedish sounds really awkward
00:02:36 <FireFly> Heavy metal -> tungmetall
00:02:39 <oerjan> jazzå
00:02:46 <AnMaster> FireFly, rock and roll -> stenar och rullar?
00:02:49 <AnMaster> err
00:02:54 <AnMaster> rock and roll -> sten och rullar
00:02:55 <AnMaster> even
00:03:03 <AnMaster> :D
00:03:04 <FireFly> cule, even
00:03:06 <FireFly> rulle*
00:03:12 <AnMaster> oh yeah
00:03:18 <AnMaster> FireFly, sax!
00:03:22 <AnMaster> err
00:03:22 <AnMaster> wait
00:03:25 <AnMaster> påse!
00:03:26 <AnMaster> even
00:03:32 <AnMaster> that is the right answer I think
00:03:40 <FireFly> Rulle wins over påse
00:03:42 <FireFly> :>
00:03:48 <FireFly> For some reason
00:03:50 <AnMaster> rulle isn't in the game
00:03:54 <FireFly> sch
00:03:56 <FireFly> Details..
00:04:00 <AnMaster> it is sten, sax, påse
00:04:20 <AnMaster> rock, scissors, bag in English I think
00:04:25 <AnMaster> or something like that
00:04:34 <FireFly> http://www.thinkgeek.com/tshirts-apparel/unisex/generic/b597/
00:04:37 <FireFly> paper
00:04:44 <FireFly> For påse
00:04:53 <impomatic> paper, scissors, stone?
00:05:10 <AnMaster> impomatic, maybe. Different variation than the Swedish one then
00:05:29 <FireFly> It's the same game >_<
00:06:06 <FireFly> Just that in english they s/bag/paper/
00:06:12 <FireFly> Or something
00:07:02 <ehird> rock paper scissors
00:08:27 <AnMaster> ah
00:11:45 <FireFly> http://www.thinkgeek.com/tshirts-apparel/unisex/generic/9080/ <-- a lil' tad overkill
00:15:28 <AnMaster> I like it
00:24:05 -!- GreaseMonkey has joined.
00:29:40 -!- Sgeo has joined.
00:30:43 -!- impomatic has left (?).
00:33:10 <fizzie> NetHack style is a recent addition, yes.
00:33:24 <ehird> ^style
00:33:24 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
00:33:33 <ehird> fizzie: make a fungot style
00:33:34 <fungot> ehird: you're going into the surrounding walls and ceilings of the god of craftsmen. he gazed after tron, asking himself what in the middle ages, people swinging on chandeliers, swordfights over the lower body of a horse which was swifter than the sword.
00:33:39 <fizzie> Not more than a week or so, I guess.
00:33:40 <ehird> feed it all the lines its blabbed so far
00:33:41 <ehird> >:D
00:33:50 <Sgeo> NetHack style what?
00:34:12 <AnMaster> ...
00:34:17 <AnMaster> fungot, hi
00:34:17 <fungot> AnMaster: disenchanter: ask not, as if a deity is pushing you, my friend." " true!" she laid aside the bag, bag of gems.
00:34:21 <AnMaster> Sgeo, that ^
00:34:58 <AnMaster> fizzie, "he gazed after tron"?
00:34:59 <AnMaster> what?
00:35:17 <fizzie> There's a Tron quote in the "grid bug" entry.
00:35:22 <AnMaster> oh
00:35:35 <fizzie> ^style nethack
00:35:35 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
00:35:39 <fizzie> That's the files it's from.
00:36:02 <AnMaster> ok
00:37:10 <ais523> fungot: give me some nonsense
00:37:11 <fungot> ais523: ulch! that meat was painted! i'm being held prisoner in a mirror to notice. i once saw a crowd, a long sword named frost brand makes you feel cooler than you are aware of that kind. born in 1226, he crops in the dungeon it's not for the weak of heart.
00:39:46 -!- Slereah has joined.
00:42:09 <AnMaster> grammatical sense. That line made none.
00:42:23 <AnMaster> ais523, ^
00:43:05 * Sgeo paints some meat with lead
00:43:16 <AnMaster> Sgeo, dangerous
00:45:02 <ehird> " Four-core machines are already widely available, with affordable six processors on the horizon. As if that's not enough, some hard-core gamers have dual quad-core processors installed"
00:45:10 <ehird> err is it just me or are 8-core machines common
00:48:59 <fizzie> Out of pure random change, that nethack style was built with trigrams only, so for each word only the two previous ones matter when selecting it.
00:52:22 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
00:56:47 -!- ais523 has quit (Read error: 110 (Connection timed out)).
01:01:39 <AnMaster> fizzie, hm ok
01:01:50 <AnMaster> fizzie, the other ones used quattrograms?
01:01:58 <AnMaster> or whatever you call them
01:02:06 <AnMaster> quadgrams?
01:04:53 <fizzie> I think when it gets to >= 4 it's just n-gram with n=4 or whatever. Uni-, bi- and trigrams are the only names I've commonly heard.
01:05:03 <AnMaster> ok
01:05:49 <fizzie> Must sleep now, g'night.
01:07:42 <ehird> a=$(mktemp); (echo 'int main(int argc, char **argv){'; cat; echo 'return 0;}') | cc -x c - -o "$a" && $a
01:09:18 <ehird> && rm $a
01:18:48 <AnMaster> night too
01:20:04 <FireFly> -''-
01:20:13 <FireFly> Nighty
01:20:16 -!- FireFly has quit ("Later").
01:29:09 -!- olsner has joined.
01:30:36 <ehird> Rob Pike's email is r@google.com
01:31:51 <oerjan> clearly he needs us to send him some more letters
01:34:32 <ehird> :D
02:12:06 <olsner> :D
02:22:01 <ehird> http://www.plan9.bell-labs.com/wiki/plan9/why_static/
02:38:00 <bsmntbombdood> ....plan 9 doesn't do dynamic linking?
02:50:58 <Robdgreat> oh haha didn't realize this was in here
02:51:30 <Robdgreat> saw the pike comment then when I looked back in there it was gone
02:51:36 * Robdgreat .oO(wtf)
03:10:07 -!- Slereah_ has joined.
03:23:28 -!- Slereah has quit (Read error: 110 (Connection timed out)).
03:24:38 -!- revcompgeek has joined.
03:54:46 <revcompgeek> my Ans interpreter is working beautifully
03:58:00 <Sgeo> Robdgreat, why'dyou do ".o0(stuff)"? A certain thingy for an RPG does that
03:58:40 <Robdgreat> approximates a cartoon thought bubble
03:59:18 <Sgeo> jParanoia does that
03:59:32 <Robdgreat> ah, not familiar with it
05:05:16 -!- oerjan has quit ("leaving").
06:11:14 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
06:11:59 <revcompgeek> Ans interpreter has been posted (http://esolangs.org/wiki/Ans#Interpreter)
06:35:00 -!- neldoreth has quit (Read error: 113 (No route to host)).
06:45:21 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
06:51:00 -!- Slereah has joined.
07:05:10 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:49:02 -!- Slereah_ has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:45 -!- Slereah has quit (Read error: 110 (Connection timed out)).
08:03:03 -!- Slereah has joined.
08:13:00 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
09:19:12 -!- Mony has joined.
09:20:06 <Mony> plop
09:28:09 -!- cherez has joined.
09:28:11 -!- cherez has quit (Remote closed the connection).
09:28:37 -!- cherez has joined.
09:28:39 -!- cherez has quit (Client Quit).
09:28:46 -!- cherez has joined.
09:28:47 -!- cherez has quit (Client Quit).
09:28:53 -!- cherez has joined.
09:28:55 -!- cherez has quit (Client Quit).
09:29:10 -!- cherez has joined.
09:29:13 -!- cherez has quit (Client Quit).
09:29:29 -!- cherez has joined.
09:29:31 -!- cherez has quit (Remote closed the connection).
09:29:56 -!- cherez has joined.
09:29:59 -!- cherez has quit (Client Quit).
09:30:27 -!- cherez has joined.
09:30:29 -!- cherez has quit (Remote closed the connection).
09:32:01 -!- cherez has joined.
09:32:08 -!- cherez has left (?).
09:38:46 <psygnisfive> ew mony
09:38:48 <psygnisfive> dont you plop on us
09:38:49 <psygnisfive> :|
09:39:01 <Mony> ..
09:39:02 <Mony> why ?
09:39:08 <psygnisfive> its disgusting!
09:39:51 <Mony> for me, it's just a word without any meaning
10:04:47 -!- andreou has joined.
10:10:52 -!- andreou has quit ("leaving").
10:11:25 -!- andreou has joined.
10:31:49 -!- kar8nga has joined.
10:35:25 -!- neldoreth has joined.
10:50:41 -!- dbc has quit (Read error: 60 (Operation timed out)).
11:01:17 -!- neldoreth has quit ("leaving").
11:01:42 -!- neldoreth has joined.
11:16:07 -!- FireFly has joined.
11:21:41 -!- BeholdMyGlory has joined.
11:27:47 <FireFly> Meh, #esoteric-style spam
11:27:48 <FireFly> This is yoour penis: 8--o
11:27:49 <FireFly> This is yoour penis on drugs: 8=====O
11:29:28 -!- KingOfKarlsruhe has joined.
11:30:05 -!- neldoret1 has joined.
11:44:00 -!- neldoreth has quit (Read error: 113 (No route to host)).
11:56:18 <oklowob> FireFly: you talking about viagra?
11:57:05 <FireFly> I've deleted the spam, but I guess it was something similar
11:57:22 <FireFly> Reminds me of the ASCII weapons of #esoteric
12:00:12 -!- Slereah_ has joined.
12:06:46 -!- Slereah has quit (Read error: 110 (Connection timed out)).
12:14:18 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
12:23:10 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
12:34:00 -!- Mony has quit ("Quit").
12:37:18 -!- lifthras1ir has changed nick to lifthrasiir.
13:18:53 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:19:20 -!- neldoret1 has quit (Client Quit).
13:19:25 -!- neldoreth has joined.
13:34:29 -!- Slereah has joined.
13:37:18 <AnMaster> hello
13:38:22 -!- neldoreth has quit (Remote closed the connection).
13:38:27 -!- neldoreth has joined.
13:49:16 <lifthrasiir> hello all
13:51:12 -!- neldoreth has quit ("leaving").
13:51:16 -!- neldoreth has joined.
14:07:24 * AnMaster pushes lots of changes to cfunge
14:16:39 <Deewiant> Yay, bzr assumes that gethostname() returns ASCII
14:17:53 <Deewiant> https://bugs.launchpad.net/bzr/+bug/193089
14:18:50 <lifthrasiir> well, hello AnMaster and Deewiant
14:19:14 <Deewiant> Oh, Mr. Pyfunge, hi :-)
14:19:21 <lifthrasiir> haha
14:19:34 <AnMaster> hi
14:19:55 * AnMaster is writing changelog for ~60 new revisions atm
14:20:18 <lifthrasiir> i forgot the bouncer... :S
14:20:19 <AnMaster> Deewiant, btw I'm down to 0.036 seconds wall time for mycology when using a clean environment now. :)
14:20:45 * AnMaster wonders if lifthrasiir can beat that in Pyfunge
14:20:49 <AnMaster> or is that not the goal?
14:20:58 <Deewiant> Not in Python it isn't ;-P
14:21:03 <AnMaster> ah true
14:21:12 <Deewiant> Pyfunge is the next-slowest interpreter after Language::Befunge, I think
14:21:18 <Deewiant> At least of the ones that pass Mycology
14:21:21 <Deewiant> Possibly of all
14:21:24 <lifthrasiir> AnMaster: if that's goal i must speed up 100x or 200x
14:21:37 <AnMaster> lifthrasiir, heh ok. Not realistic in python I guess
14:21:50 <AnMaster> Deewiant, that is using fully buffered output though (the -b switch)
14:22:00 <Deewiant> That's cheating
14:22:01 <AnMaster> I think it is slightly more with the default life buffered
14:22:12 <AnMaster> Deewiant, no it isn't. The specs doesn't forbid it
14:22:22 <Deewiant> "Most Significant Bit 4 (0x10): high if unbuffered standard I/O (like getch()) is in effect, low if the usual buffered variety (like scanf("%c")) is being used. "
14:22:27 <AnMaster> Deewiant, as long as I fflush() before reading any user input
14:22:33 <Deewiant> I submit that "the usual buffered variety" is line buffered for terminals
14:23:00 <AnMaster> Deewiant, scanf() isn't intrinsically line buffered
14:23:11 <AnMaster> Deewiant, also I'm talking about output not input
14:23:23 <AnMaster> input is line buffered as usual
14:23:24 <Deewiant> No, but using it on approximately all terminals will be
14:23:35 <Deewiant> And that also says I/O, the examples just happen to be input
14:24:11 <lifthrasiir> AnMaster: i just optimized an important class to get 2-3x speed-up, but yet slower...
14:24:18 <AnMaster> Deewiant, err no, it doesn't depend on terminal. It depends on setvbuf(), or implementation defined default if app didn't call it
14:25:03 <lifthrasiir> (myco takes 25-30s with some fingerprint enabled, and now takes 10s....)
14:25:05 <AnMaster> lifthrasiir, Well you can't seriously expect to beat C with some inline asm for performance critical parts (with pure C fallbacks for other compilers/platforms of course) with Python can you?
14:25:17 <AnMaster> lifthrasiir, oh, without fingerprints it is even less of course
14:25:40 <lifthrasiir> of course not all fingerprints are implemented, so it should be slower... :S
14:25:54 <Deewiant> AnMaster: Yes, and the defaults for approximately all libraries are that if it's a terminal it's line buffered
14:25:59 <AnMaster> well I don't implement them all either
14:26:26 <AnMaster> Deewiant, that is true, which is why I only enable fully buffered with -b passed
14:27:11 <AnMaster> $ env -i bash --noprofile --norc -c 'time ./cfunge -bF ../../trunk/mycology/mycology.b98 >/dev/null'
14:27:11 <AnMaster> real 0m0.019s
14:27:11 <AnMaster> user 0m0.011s
14:27:11 <AnMaster> sys 0m0.007s
14:27:14 <AnMaster> what about that?
14:27:15 <AnMaster> :P
14:27:37 <AnMaster> -F disables all fingerprints
14:28:06 <lifthrasiir> woah.
14:28:56 <lifthrasiir> is there any kind of runtime optimization, aside from bottleneck code?
14:29:00 <AnMaster> if outputting to terminal and without -b it is closer to 0.070 seconds. But that isn't really odd.
14:29:09 <AnMaster> lifthrasiir, you mean JITing or such? No
14:29:26 <AnMaster> JITing doesn't work well with threads anyway
14:29:34 <lifthrasiir> i agree.
14:29:51 <AnMaster> lifthrasiir, jitfunge (which fizzie is working on) will likely be even faster once it is done
14:29:53 <Deewiant> Hmm, so I guess you're around 2-3 times as fast as CCBI?
14:30:07 <AnMaster> Deewiant, well CCBI is much slower here
14:30:14 <Deewiant> Something like 0.1 to 0.2 seconds, right?
14:30:18 <AnMaster> maybe you have a faster computer
14:30:18 <Deewiant> Or do I misremember
14:30:19 <AnMaster> let me check
14:31:13 <AnMaster> give me segmentation fault huh
14:31:14 * AnMaster looks
14:31:18 <Deewiant> heh
14:31:26 <AnMaster> Testing fingerprint SCKE... loaded.
14:31:26 <AnMaster> UNDEF: 0"1.0.0.721"H pushed 2130706433
14:31:26 <AnMaster> GOOD: P pushed 0 for socket without data
14:31:26 <AnMaster> bash: line 1: 26252 Segmentation fault ../../trunk/other/ccbi/ccbi_linux/ccbi ../../trunk/mycology/mycology.b98
14:31:27 <AnMaster> like that
14:31:35 <Deewiant> Which version?
14:31:47 <AnMaster> Deewiant, 1.0.13 it seems
14:31:50 <AnMaster> maybe it is outdated
14:31:59 <Deewiant> 1.0.19 was released in january :-P
14:32:05 <AnMaster> ok
14:32:13 <Deewiant> And I think 1.0.14 fixes that one, looking at the changelog
14:33:00 <AnMaster> ok last version now segfaults in another place
14:33:01 <AnMaster> GOOD: A claims 2008-04-01 minus 32 days is 2008-02-29
14:33:01 <AnMaster> GOOD: D claims the number of days from 2008-04-01 to 2008-02-29 is -32
14:33:01 <AnMaster> bash: line 1: 26320 Segmentation fault ../../trunk/other/ccbi/ccbi_linux/ccbi ../../trunk/mycology/mycology.b98
14:33:12 <Deewiant> Heh
14:33:25 <AnMaster> Deewiant, real 0m0.516s for reaching that point of segfault btw
14:33:46 <Deewiant> Hmm, that slow
14:34:02 <Deewiant> Is that a repeatable result?
14:34:06 <AnMaster> Deewiant, but this is not 100% fair anyway, my cfunge was compiled for x86_64, while your is just 32-bit. Though that is not the only reasonj
14:34:09 <AnMaster> reason*
14:34:11 <Deewiant> Or wait
14:34:12 <AnMaster> the segfault? yes
14:34:17 <Deewiant> I meant the time
14:34:18 <AnMaster> GOOD: A claims 2008-04-01 minus 32 days is 2008-02-29
14:34:18 <AnMaster> GOOD: D claims the number of days from 2008-04-01 to 2008-02-29 is -32
14:34:18 <AnMaster> bash: line 1: 26332 Segmentation fault ../../trunk/other/ccbi/ccbi_linux/ccbi ../../trunk/mycology/mycology.b98
14:34:22 <AnMaster> that is what I get
14:34:24 <AnMaster> it is from DATE
14:35:06 <AnMaster> the number in front of the Segmentation, is the PID I think
14:35:13 <Deewiant> Yes, it is
14:35:29 <Deewiant> I wonder what on earth could segv in DATE, there's practically nothing there :-P
14:35:45 <Deewiant> What's the test at that point?
14:35:47 <AnMaster> Deewiant, search me. gdb or valgrind both doesn't work properly on D source
14:35:50 <lifthrasiir> that's most recent version?
14:35:59 <Deewiant> Probably if he said it is ;-)
14:36:14 <AnMaster> lifthrasiir, I just downloaded CCBI a few minutes ago from http://users.tkk.fi/~mniemenm/files/befunge/interpreters/ccbi/ccbi_linux.zip
14:36:18 <lifthrasiir> hmm... i have to install tango in mac os x...
14:36:32 <AnMaster> since I just can't build it myself
14:36:34 <Deewiant> You might want to get LDC if you want to build it
14:36:40 <AnMaster> D is the most messy language to get working
14:36:57 <Deewiant> AnMaster: LDC is pretty much unzip, cmake, and go.
14:37:11 <AnMaster> Deewiant, really? What about the stdlib thing?
14:37:17 <Deewiant> LDC comes with Tango.
14:37:25 <lifthrasiir> Deewiant: assuming LLVM is installed, right?
14:37:27 <AnMaster> Deewiant, and if you need the other one for some program?
14:37:37 <Deewiant> lifthrasiir: Yep.
14:37:40 <AnMaster> lifthrasiir, well I have llvm installed in ~/local/llvm-svn
14:37:53 <Deewiant> AnMaster: Then you get tangobos.
14:37:53 <AnMaster> svn head as of ~1 week ago
14:38:16 <AnMaster> Deewiant, short for tango-bossanova? ~
14:39:17 <AnMaster> anyway Deewiant how do you mean "what test is run"?
14:39:19 <AnMaster> how would I check?
14:39:31 -!- kar8nga has joined.
14:39:33 <Deewiant> AnMaster: You have a working interpreter, right?
14:39:44 <AnMaster> Deewiant, yes, called cfunge indeed
14:39:56 <AnMaster> I think I implmenet DATE
14:40:45 <AnMaster> huh I get some BAD in cfunge for DATE suddenly, wth
14:40:49 <Deewiant> :-D
14:40:50 <AnMaster> it worked this morning
14:41:11 <AnMaster> Deewiant, ^
14:41:14 <Deewiant> I think DATE just doesn't like us
14:41:21 <AnMaster> Deewiant, it makes no sense
14:41:24 <Deewiant> DATE hate
14:41:32 <AnMaster> err
14:41:36 <AnMaster> it works in another build
14:41:46 <AnMaster> just -O0 works...
14:41:50 <AnMaster> -O1 or above doesn't
14:41:52 <AnMaster> ARGH!
14:42:09 <AnMaster> so... I'll have to go debugging GCC now I guess
14:42:25 <Deewiant> :-D
14:42:25 <AnMaster> GOOD: A claims 2008-04-01 minus 32 days is 2008-02-29
14:42:25 <AnMaster> GOOD: D claims the number of days from 2008-04-01 to 2008-02-29 is -32
14:42:25 <AnMaster> GOOD: T claims the 366th day of 2008 is 2008-12-31
14:42:25 <AnMaster> GOOD: T reflects given day 400 of 2008
14:42:28 <AnMaster> Deewiant, anyway that is it ^
14:42:39 <Deewiant> Okay, so T probably fails
14:42:46 <AnMaster> what was T now again?
14:43:03 <Deewiant> Looks like it's given a year and a doy and it gives the date
14:43:10 <AnMaster> Deewiant, I suggest reproducing it locally
14:44:18 <Deewiant> I don't have D properly set up so it'll take some work
14:44:31 <Deewiant> But yeah, I'll have to take a look at some point
14:45:26 <AnMaster> Deewiant, I have to add a notice to the README about mycology test of R in FILE is broken. I plan to release a new cfunge version very soon
14:45:36 <AnMaster> as in 1-2 days
14:45:48 <lifthrasiir> geez, it needs LLVM 2.5...
14:46:08 * lifthrasiir tried to compile LDC with LLVM 2.3 (maybe)
14:46:33 <AnMaster> lifthrasiir, Btw if you compile LLVM manually, avoid using old GCCs. At least GCC 4.1.2 miscompiles LLVM.
14:46:44 <AnMaster> Silently miscompiling, resulting in runtime bugs
14:46:49 <Deewiant> Gotta love broken compilers <3
14:47:28 <AnMaster> Deewiant, oh yes. I wouldn't have noticed if I didn't bootstrap llvm-gcc.
14:47:36 <AnMaster> stage1 was broken
14:47:47 <AnMaster> thus unable to compile stage2
14:48:04 <AnMaster> failed with an assert()
14:48:10 * lifthrasiir gave up
14:48:14 -!- oerjan has joined.
14:48:31 <AnMaster> lifthrasiir, what? compiling llvm isn't hard. Just time consuming
14:48:38 <AnMaster> which is why I leave it running in the background
14:48:45 <AnMaster> I love multitasking OS ;P
14:48:55 <lifthrasiir> that's exactly why I gave up. :p
14:49:12 <AnMaster> lifthrasiir, it isn't really an issue. And I don't even have multi-core
14:49:15 <AnMaster> I just leave it running
14:49:41 <AnMaster> hi oerjan
14:50:07 <oerjan> hi AnMaster
14:50:36 <lifthrasiir> I know, but I have other things to do besides funge things ;)
14:51:05 <AnMaster> lifthrasiir, I use llvm for other stuff too
14:51:39 <AnMaster> Deewiant, what is the version specification for mycology? I have no idea how you would refer to a specific version of it
14:51:45 <AnMaster> as in the current last one with broke FILE check
14:51:53 <Deewiant> AnMaster: 1.0.x
14:52:07 <AnMaster> Deewiant, mycology? Not CCBI..
14:52:12 <Deewiant> Oh, Mycology
14:52:18 <Deewiant> Just use the release date
14:52:26 <Deewiant> It's in the readme
14:52:39 <oerjan> hm DMM left out the obvious tvtropes link today
14:53:05 <oerjan> maybe he has linked it before
14:55:57 <AnMaster> oerjan, what would that obvious link be?
14:56:36 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/MeanwhileInTheFuture
14:56:53 <Deewiant> He has
14:58:49 <oerjan> "The actual phrase is only ever used seriously in Fan Fic, since the only people who can say it with a straight face generally can't get published." :D
15:02:11 <AnMaster> heheh
15:23:17 <AnMaster> almost 80 lines in Changelog for this release. With the major important changes.
15:23:18 <AnMaster> heh
15:23:26 <AnMaster> wait more
15:23:36 <AnMaster> 85 even
15:24:36 -!- revcompgeek_ has joined.
15:29:18 <AnMaster> Deewiant, http://bzr.kuonet.org/cfunge/trunk/annotate/628?file_id=changelog-20080319201658-czs9f8hg18hz0xo7-2
15:29:28 <AnMaster> lifthrasiir, you may be interested too
15:32:11 <AnMaster> With mycology, RCS's 3DSP test and some tests included with the cfunge source I now have about 97% coverage of the source according to gcov. Most of the rest is code handling malloc() returning NULL and such. Branch coverage around 85% IIRC.
15:32:40 <AnMaster> (tested a few days ago, don't have the output files around any more due to slightly typoed rm command)
15:32:49 -!- revcompgeek_ has left (?).
15:40:38 -!- revcompgeek has quit (Read error: 110 (Connection timed out)).
15:46:49 -!- Mony has joined.
15:53:42 <AnMaster> lifthrasiir, did you say you used OS X?
15:57:02 <AnMaster> if yes I would like to ask a favour... If you have cmake 2.6 (or later) installed, could you try building http://kuonet.org/~anmaster/tmp/cfunge_r631.tar.bz2 on OS X? I made some changes in this version that I'm not sure will work on OS X you see..
16:06:06 -!- Dewio has joined.
16:06:21 <fizzie> "Working on" is a bit over-optimistic term in this context.
16:06:48 <AnMaster> fizzie, could you check http://kuonet.org/~anmaster/tmp/cfunge_r631.tar.bz2 on your OS X thingy? If you have it around.
16:07:53 <AnMaster> I did find one bug in the build system or possibly in FreeBSD headers, not sure yet. If cmake fails with a message about netinet/tcp.h, please comment out the line "CFUNGE_REQUIRE_INCLUDE(netinet/tcp.h)" in CMakeLists.txt. I'm working on figuring it out atm.
16:08:26 <fizzie> Guess so. It's inside our TV stand (the box we were using for DVB-watchery gave up the magic smoke) but there's always SSH.
16:08:40 <AnMaster> heh
16:09:36 <fizzie> For the record, I have "cmake version 2.6-patch 0" on that thing.
16:09:36 <AnMaster> fizzie, the main reason I'm wondering about OS X is that I did some changes to the build system regarding linker flag handling. I just hope the detection of supported linker flags works as it should on OS X...
16:09:46 <AnMaster> fizzie, that should be new enough
16:12:54 <AnMaster> aha, cmake fails to include <sys/types.h> before
16:13:05 -!- oklowob has quit ("PJIRC @ http://webirk.dy.fi").
16:13:08 <fizzie> Well, here cmake/ccmake did not complain or anything, and "make" finished the build just fine.
16:13:16 -!- oklowob has joined.
16:13:18 <AnMaster> fizzie, nice :)
16:13:25 <fizzie> There were two warnings from lib/genx/genx.c, though.
16:13:30 <AnMaster> fizzie, expected.
16:13:39 <AnMaster> about discarding const iirc
16:13:53 <fizzie> Yes. Well, "discards qualifiers"; I guess it's usually const.
16:14:04 <AnMaster> yes
16:17:03 <lifthrasiir> AnMaster: well i tested it and it works well, though mycology reports one BAD (1R reflected).
16:17:13 <AnMaster> lifthrasiir, known bug in mycology
16:17:17 <AnMaster> Deewiant just hasn't fixed it yet
16:17:27 <AnMaster> thanks a lot :)
16:17:28 <lifthrasiir> well then works correctly ;)
16:18:47 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
16:42:31 <ehird> 01:36 bsmntbombdood: ....plan 9 doesn't do dynamic linking?
16:42:43 <bsmntbombdood> i said that!
16:44:19 <ehird> Yes.
16:44:21 <ehird> It's a feature.
16:44:28 <ehird> (That it doesn't.)
16:45:37 <bsmntbombdood> that's stupid
16:45:47 <ehird> No, it's not
16:47:51 <bsmntbombdood> yes it is
16:48:03 <ehird> talking to you is so pointless.
16:48:25 <AnMaster> ehird, interesting, how does it justify it? I can see there are reasons to avoid dynamic linking certainly, as well as advantages with it.
16:48:46 <ehird> There are no tangible advantages. Did you click my link? No? Do so. Or don't because the server is down actually.
16:49:06 * AnMaster looks for the link
16:49:18 <ehird> It's not on google cache or wayback.
16:49:24 <AnMaster> ehird, I can't see it? I unignored you like 15 minutes ago or so
16:49:30 <AnMaster> so that may be why I didn't see the link
16:49:37 <ehird> My timestamp: '01:36'
16:49:40 <ehird> It is 15:48.
16:49:43 <ehird> Take a guess.
16:49:50 <AnMaster> I guess I ignored you back then
16:50:06 <AnMaster> <ehird> 01:36 bsmntbombdood: ....plan 9 doesn't do dynamic linking? <-- first line after unignoring
16:50:15 <ehird> 01:36
16:50:17 <ehird> 15:49
16:50:20 <ehird> it was HOURS AGO
16:50:25 <ehird> surely this isn't hard for you to understand
16:51:19 <AnMaster> ehird, you sent that line mentioning what bsmntbombdood said at 01:36 at the time 15:41:30 in your timezone. And yes I know you commented on something way before
16:51:22 <Deewiant> http://www.plan9.bell-labs.com/wiki/plan9/why_static/ is a broken link
16:51:28 <AnMaster> ah that is the link
16:51:31 <ehird> Deewiant: I said the server is down.
16:51:42 <Deewiant> So you did.
16:52:27 <oklowob> is pi^e useful in any way?
16:52:57 <ehird> oklowob: being roughly 22 1/2?
16:53:23 <oklowob> i'm not sure what you're implying
16:53:47 <ehird> you may consider that a useful property
16:54:03 <oklowob> it's not that close to 22.5, and 22.5 isn't that useful
16:54:04 <Deewiant> Yes, it's a useful approximation for 22.5
16:54:23 <ehird> oklowob: .459
16:54:25 <oklowob> i already got tons of useless answers on #math
16:54:32 <ehird> approx -> .46
16:54:35 <ehird> approx -> .5
16:55:00 <ehird> well admittedly it's .4591
16:55:06 <oklowob> my point exactly, you can't get a much worse approximation
16:55:12 <Deewiant> But .459157!
16:55:13 <AnMaster> oklowob, why do you think it would be useful? Any specific reason?
16:55:22 <oklowob> it's listed in schaum's mathematical handbook
16:55:27 <fizzie> 72 is not a very good approximation for 22.5.
16:55:28 <oklowob> in "special constants"
16:55:42 <ehird> fizzie: ^ = exp, sillay
16:55:48 <AnMaster> oklowob, heh
16:56:06 <fizzie> ehird: Yes, I just mentioned 72 since oklowob said you couldn't get worse approximations.
16:56:08 <oklowob> fizzie: i wouldn't classify it as an approximation, since it doesn't get rounded to it using any common rule.
16:56:14 <AnMaster> hm...
16:56:23 <ehird> o
16:56:34 <AnMaster> ehird, what operation did you think fizzie did instead of exp?
16:56:48 <ehird> xor
16:56:49 <ehird> or sht
16:56:50 <ehird> sth
16:57:29 <AnMaster> Does xor on a non-integer even make sense?
16:57:51 * AnMaster tries to figure out what it would do...
16:58:24 <oklowob> does it make sense on an integer?
16:59:04 <ehird> IEEE, bitchez.
16:59:11 <oklowob> it's an operation on the polynom (mod 2) you can represent with a binary number
16:59:20 <oklowob> on numbers it makes no sense
16:59:29 <ehird> bitwise operations are pretty stupidz as far as mathsssss goes
16:59:35 <oklowob> no they aren't
16:59:43 -!- ais523 has joined.
16:59:55 <AnMaster> ehird, agreed
17:00:04 <ehird> hai ais523
17:00:05 <oklowob> then you'd be wrong too
17:00:06 <AnMaster> ais523, hi ais523
17:00:07 <ais523> hi
17:00:17 * ais523 wrote another Enigma level
17:00:22 <AnMaster> oh?
17:00:29 <ais523> it's rather more action-oriented than the others, because I wanted to please AnMaster
17:00:30 <ais523> let me paste it
17:00:43 <AnMaster> ais523, and I merged several API breakage changes back into cfunge trunk. Had to be done
17:00:52 <ais523> that's fine
17:01:05 <ehird> AnMaster: shit, all 1 users of your API will have to change their code.
17:01:10 <AnMaster> ais523, you may want to look at http://bzr.kuonet.org/cfunge/trunk/annotate/head:/ChangeLog the list is rather long
17:01:13 <ehird> in edge-case circumstances.
17:01:16 <ehird> that's disasterous
17:01:37 <ais523> ehird: I'm the only person who uses the TAEB API too, I think
17:01:41 <ais523> well, two now, me and shabble
17:01:45 <AnMaster> ehird, err. It changes the parameter count of some core functions. And renames some data type (to make the API more consistent)
17:01:49 <AnMaster> ais523, huh?
17:01:53 <ais523> and I'm forever moaning about API changes in there, although it's for a good cause
17:01:59 <ehird> AnMaster: shit shit shit! your 1 users will sue you for everything you've got
17:02:05 <ehird> how can you break their enterprise applications
17:02:12 <ehird> ais523: I will be your lawyer.
17:02:13 <ais523> http://filebin.ca/gexxmq/ais52306_1.xml anyway
17:02:15 <AnMaster> ah TAEB..
17:02:21 <AnMaster> ais523, what sort of level is it?
17:02:27 <ais523> AnMaster: a speed level
17:02:32 <AnMaster> ah this could be interesting
17:02:33 <ais523> with a bit of intelligence and knowledge too
17:03:24 * oklowob wants a database of useful reals
17:03:27 <AnMaster> what does the ais52306_1.xml mean? I mean the first bit is your nick, but the 06_1?
17:04:36 <ais523> AnMaster: there's a filename convention
17:04:48 <ais523> in this case, it's the sixth level I've started creating (although the third I've distributed)
17:04:52 <ais523> and the _1 goes up if I make a breaking change
17:04:59 <AnMaster> heh
17:05:02 <ais523> to a released version
17:05:02 <AnMaster> breaking change :D
17:05:22 <AnMaster> ais523, as in changes what max time could be or?
17:05:26 <AnMaster> or min time rather
17:05:40 <ais523> no, that's a change to score compatibility
17:05:49 <AnMaster> yes, isn't that a breaking change?
17:05:55 <AnMaster> or what is a breaking change then
17:05:56 <ais523> the revision number, that's the _1, goes up if you change the nature of the level
17:06:10 <ais523> as in, it looks substantially different, it's a different shape, or a different concept, or whatever
17:06:19 <AnMaster> ais523, but not score compat?
17:06:30 <ais523> well, changing the revision generally changes score compat too
17:06:37 <ais523> but you can change score compat without changing the revision
17:06:42 <ais523> say if you changed the friction of the floor
17:06:46 <AnMaster> mhm
17:06:48 <ais523> that would change score compat but not revision number
17:06:59 <AnMaster> IMO that would be a breaking change
17:07:06 <fizzie> oklowob: There's that old joke-"proof" for the interestingness of all natural numbers, but you must've heard that one. And interesting is not really the same as useful.
17:07:32 <AnMaster> fizzie, hm? I don't think I heard it
17:07:44 <AnMaster> I have*
17:07:50 <oklowob> fizzie: yes, but you can't apply that to reals
17:08:08 <ehird> AnMaster: trivial
17:08:12 <ais523> fizzie: the proof works for usefulness too
17:08:13 <ais523> unless you think there's nothing useful about the lowest useless number
17:08:18 <ehird> AnMaster: the first uninteresting number is interesting
17:08:22 <ehird> in that it's the first uninteresting number
17:08:27 <AnMaster> hah
17:08:28 <ehird> therefore, it's not uninteresting, it's interesting
17:08:33 <ehird> therefore, all numbers are interesting. QED
17:08:33 <oklowob> an interesting real is a number for which there is a turing machine that outputs their digits
17:08:38 <AnMaster> hehe
17:08:52 <ehird> oklowob: err isn't that every real
17:08:56 <oklowob> mathematically speaking, actually i just want the ones that have actually been used
17:08:58 <oklowob> ehird: no
17:09:00 <ehird> :|
17:09:01 <ehird> k
17:09:33 <fizzie> I'm not sure how useful even the lowest useless number is.
17:09:51 <oklowob> yeah
17:09:53 <AnMaster> fizzie, wouldn't that be -aleph_0 ?
17:09:59 <AnMaster> or something
17:10:00 <oklowob> well it's useful as an example of a useless number
17:10:12 <ehird> AnMaster: that's useful is it not
17:10:19 <AnMaster> ehird, well true.
17:10:20 <ehird> also
17:10:25 <ehird> does -aleph_0 even make any goddamn sense?
17:10:26 <fizzie> Well, talking of natural numbers here, to avoid that.
17:10:30 <AnMaster> ehird, unknown
17:11:07 <AnMaster> why would negative infinity not make sense?
17:11:19 <ehird> err do you know what aleph 0 is
17:11:59 <AnMaster> ehird, one type of infinite. To be specific it is related to the set of all natural numbers (iirc)
17:12:12 <ehird> x.x
17:12:24 <AnMaster> I may be wrong
17:12:53 <AnMaster> ehird, I think the word I'm looking for instead of "related" is "cardinality"
17:13:15 <ehird> That sounds distinctly like you looked it up on wikipedia
17:13:48 <AnMaster> ehird, no I didn't. I just didn't remember it at first
17:14:10 <oklowob> which part sounded like wikipedia?
17:14:28 <ehird> 16:11 AnMaster: ehird, I think the word I'm looking for instead of "related" is "cardinality"
17:14:32 <ehird> after a long delay
17:15:27 <AnMaster> ehird, yes I was grepping /usr/share/dict/words for the right word. I remembered it was something like "cardinal" but not what the ending was
17:15:52 <fizzie> I think someone here categorically defined that all interesting sets have a cardinality of at most ℵ₀.
17:16:23 <oklowob> fizzie: therefore my "doesn't work for reals" comment
17:16:35 <ehird> fizzie: reals are uninteresting? :D
17:16:37 <AnMaster> ehird, I know what I was looking for was the right word to mean "size of set" basically. Just "size of set" wasn't the correct term...
17:16:39 <ehird> also fuck you and your unicode
17:16:42 <oklowob> well not therefore, but same thing
17:16:52 <AnMaster> ehird, that unicode renders fine here?
17:17:00 <ehird> when did I say it didn't
17:17:09 <oklowob> well i assume he meant that's the biggest kinda of set all of whose members can be interesting
17:17:11 <AnMaster> why did you say "fuck you and your unicode" then?
17:17:16 <AnMaster> it sounded like you didn't like it
17:17:54 <oklowob> not liking it isn't the same as saying it doesn't render well on your computer
17:17:57 <fizzie> That subscript-0 is a bit silly in that at least here it doesn't go lower than the baseline of other text.
17:18:08 <AnMaster> oklowob, what other reason would he have for not liking it?
17:18:12 <ehird> i was implying that fizzie was pretentious for using fancy schmancy unicode to represent "N0" or "aleph0"
17:18:27 <AnMaster> fizzie, here it goes about 2 pixles below or so
17:18:35 <oklowob> AnMaster: well it might not render well on his computer
17:18:52 <AnMaster> ehird, heh
17:18:54 <oklowob> you see i'm just being pedantic
17:19:13 <oklowob> urgh one whole page of special constants to memorize
17:19:18 <AnMaster> saying \aleph_0 might be more interesting
17:19:28 <AnMaster> oklowob, why do you need to memorize them?
17:19:36 <fizzie> I just happen to think that since someone went and defined all those codepoints, I might as well use them.
17:19:39 <oklowob> because i don't remember them yet
17:19:49 <ais523> how's the enigmising going? Anyone tried the level yet?
17:20:10 <oklowob> ais523: sadly no time for that
17:20:12 <AnMaster> ais523, yes and I gave up, too stressful.
17:20:15 <ais523> oklowob: ah, o
17:20:17 <ais523> *ok
17:20:18 <ais523> but o too
17:20:28 <oklowob> after memorizing these, need to start reading about my processor architectures
17:20:28 <ehird> ais523: lol pleasing AnMaster is impossible I think
17:20:28 <ais523> AnMaster: "stressful"?
17:20:34 <ehird> you need a relaxing action level.
17:20:35 <oklowob> ais523: oko
17:20:39 <ais523> it's not like it's obvious whether you've won or not after 40 seconds
17:20:40 <AnMaster> oklowob, ok... I meant: why do you need to remember those constants?
17:20:40 <ais523> oklowob: okoko
17:20:48 <ais523> *not obvious
17:21:32 <oklowob> AnMaster: it's an axiomatic need
17:21:37 <oklowob> i cannot break it down any further
17:21:39 <AnMaster> ais523, I think I mentioned before I like levels that are full of items to use and such. Exploring and such
17:21:44 <AnMaster> oklowob, ah...
17:22:00 <oklowob> i can just say something gay like "why do swallows breathe"
17:22:18 <ais523> oklowob: to verify that they're unladen
17:22:32 <ais523> AnMaster: I hate those levels, you play for 40 minutes and then one slip and you die, and you have to start again
17:23:23 <AnMaster> ais523, so you hate nethack too? You play for weeks, and then one Arch-Lich...
17:23:28 <oklowob> ais523: well okay, maybe a safer gay philosophy question would be something like "why do people want to stay alive"
17:23:52 <oklowob> AnMaster: but the games are always different
17:24:07 <oerjan> <oklowob> does it make sense on an integer?
17:24:24 <AnMaster> oklowob, ok that is true, but you could randomise enigma levels using it's scripting language.
17:24:27 <oerjan> xor = nimber addition, which makes sense not just on integers but also on transfinite ordinals
17:24:46 <oklowob> oerjan: logical xor is addition
17:24:50 <oklowob> binary isn't
17:24:53 <oklowob> on numbers
17:24:59 <oerjan> huh?
17:25:07 <oerjan> _nimbers_
17:25:12 <AnMaster> oerjan, "nimber"?
17:25:17 <oklowob> oh sorry
17:25:21 <oklowob> i thought it was a number
17:25:23 <oklowob> what's a nimber
17:25:27 <oerjan> equivalence classes of nim games
17:25:30 <oklowob> right
17:25:38 <oklowob> well anyway it's polynomial addition too isn't it
17:25:50 <oklowob> when operating mod 2
17:25:51 <oerjan> basically every nim game is equivalent to a single heap of a certain size
17:26:10 <oerjan> well yes. ordinal numbers have base expansions
17:26:22 <oklowob> oerjan: so it's an infinitiary number?
17:26:23 <oerjan> with infinite bases, even
17:26:36 <oklowob> polynomials are basically that
17:26:48 <oklowob> of course not so simple when you start taking modulos but anyway
17:26:53 <oerjan> well an ordinary finite nim game gives a finite heap when you add (i.e. xor)
17:27:00 <ehird> nimber
17:27:02 <ehird> that's hot
17:27:24 <oerjan> http://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem
17:27:31 <oerjan> also, bus ->
17:28:00 <oklowob> have a bus.
17:28:08 -!- oerjan has quit ("leaving").
17:30:23 <FireFly> What was the name of that golf programming page?
17:30:34 <Deewiant> golf.shinh.org?
17:30:39 <ais523> http://golf.shinh.org http://codegolf.com are the too main onces
17:30:41 <ais523> *ones
17:30:55 <ais523> codegolf is updated approximately 4 times in a blue moon
17:31:03 <FireFly> Ah, it was the shinh one I had in mind
17:31:05 <FireFly> thanks :D
17:31:35 <ehird> http://golf.shinh.org/p.rb?Walk+the+line
17:31:37 <ehird> This is my problem
17:31:40 <ehird> You know what I hate?
17:31:47 <ehird> I hate that 90% of the solutions are cheats.
17:31:49 <ehird> It's killing anagolf.
17:31:55 -!- neldoreth has quit ("Lost terminal").
17:31:55 <ais523> agreed
17:32:04 <ehird> That's the meal of the day there all the time, just embed embed embed. No skill, no fun, shinh should ban them
17:32:08 <ais523> it's very hard to propose a puzzle where a legit solution is shorter than a cheat
17:32:15 <Deewiant> AnMaster: DATE doesn't segfault here
17:32:17 <ais523> personally I favour a technological solution
17:32:22 <AnMaster> Deewiant, mhm.
17:32:24 <ais523> like codegolf's randomly generated puzzles
17:32:28 <AnMaster> Deewiant, let me try gdb then
17:32:30 <ais523> although it would be harder to code in
17:32:39 <ehird> Programmers are obsesesd with technological solutions
17:32:53 <ais523> well, it's a programming website, what do you expect?
17:33:06 <AnMaster> (gdb) bt
17:33:06 <AnMaster> #0 0x080fec41 in ?? ()
17:33:06 <AnMaster> #1 0x00000001 in ?? ()
17:33:06 <AnMaster> #2 0x00000001 in ?? ()
17:33:13 <AnMaster> Deewiant, yay for no debugging symbolks
17:33:18 <AnMaster> *symbols
17:33:19 <Deewiant> AnMaster: quite
17:33:27 <Deewiant> I might be able to get you a debugging binary
17:33:32 <Deewiant> 64-bit, to boot
17:33:37 <ais523> AnMaster: I seriously doubt 0x00000001 is in one of your code pages anyway
17:33:39 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
17:33:43 <AnMaster> ais523, true
17:33:48 <AnMaster> ais523, no frame pointer I guess
17:33:51 <ais523> so that looks like stack corruption to me
17:33:57 <AnMaster> ais523, or no frame pointer?
17:34:14 <ais523> AnMaster: you can get a debug backtrace even without a frame pointer
17:34:20 <ais523> if you have enough information about the code, and gdb does
17:34:28 <AnMaster> ais523, no debugging symbols though
17:34:33 <ais523> and if there wasn't enough, it wouldn't even be able to give the address
17:34:34 <AnMaster> gdb said it at load
17:34:40 <AnMaster> "no debugging symbols found"
17:34:46 -!- neldoreth has joined.
17:35:57 <Deewiant> AnMaster: Try http://88.114.248.232/ccbi.lzma
17:36:07 <Deewiant> (I assume you can decompress that?)
17:36:08 -!- kar8nga has joined.
17:36:14 <AnMaster> yeah
17:36:40 <Deewiant> It's 7 megs big so I guess it has some info ;-P
17:36:42 <AnMaster> Deewiant, no segfault
17:36:47 <Deewiant> Well yay
17:36:57 <AnMaster> Deewiant, but the one you uploaded before was 32-bit
17:37:01 <AnMaster> while this one is 64-bit
17:37:03 <Deewiant> So I guess I can just upload a new binary then :-P
17:37:09 <Deewiant> Yeah, you can try a 32-bit one too
17:37:13 <Deewiant> One moment
17:37:17 <AnMaster> k
17:37:53 <Deewiant> AnMaster: Same file
17:38:28 <AnMaster> no segfault
17:38:31 <Deewiant> Heh
17:38:47 <Deewiant> So I guess I'll have to roll out 1.0.20 today :-P
17:38:56 <AnMaster> Deewiant, maybe mycology update too?
17:39:14 <Deewiant> For the FILE thing at least, yes, since I've already committed the fix to CCBI ;-P
17:39:20 <AnMaster> Deewiant, I ran valgrind on that one... "==6989== ERROR SUMMARY: 11900 errors from 28 contexts (suppressed: 6 from 1)". Just wow.
17:39:28 <Deewiant> heh
17:39:32 <AnMaster> things like:
17:39:33 <AnMaster> ==6989== Conditional jump or move depends on uninitialised value(s)
17:39:33 <AnMaster> ==6989== at 0x80A418C: _D3gcx3Gcx4markMFPvPvZv (in /home/arvid/src/cfunge/trunk/mycology/ccbi)
17:39:48 <AnMaster> no idea how to unmangle that one
17:39:48 <Deewiant> So the GC is broken. What else is new? ;-P
17:40:00 <Deewiant> gcx.Gcx.mark and the rest is type info
17:40:09 <Deewiant> Can't read the types myself, I think the v at the end means it returns void
17:40:12 <AnMaster> Deewiant, lots of other GC funcs too
17:40:15 <Deewiant> And Pv might mean pointer to void
17:40:41 <AnMaster> ==7004== More than 10000000 total errors detected. I'm not reporting any more.
17:40:45 <Deewiant> :-D
17:40:46 <AnMaster> first time I ever seen that one
17:40:52 <AnMaster> ==7004== Final error counts will be inaccurate. Go fix your program!
17:41:05 <ais523> more than 10 million errors? How?
17:41:06 <AnMaster> ==7004== Rerun with --error-limit=no to disable this cutoff. Note
17:41:07 <AnMaster> ==7004== that errors may occur in your program without prior warning from
17:41:07 <AnMaster> ==7004== Valgrind, because errors are no longer being displayed.
17:41:12 <AnMaster> ais523, broken GC it seems
17:41:31 <AnMaster> Deewiant, that was the 64-bit version btw
17:41:40 <Deewiant> Yeah, I can see those too
17:42:08 <Deewiant> But I think it might make sense since it's from scanStaticData
17:42:19 <Deewiant> And those scan* functions in general
17:42:34 <Deewiant> I mean, of course they can run into uninitialized data
17:43:19 <Deewiant> But whatever, I'm off to sauna ->
17:43:23 <AnMaster> hrh
17:43:24 <AnMaster> heh*
17:45:32 -!- kar8nga has quit (Remote closed the connection).
17:52:46 <AnMaster> ais523, err.. your IFFI test suite thing doesn't work
17:52:53 <ais523> in what wat?
17:52:55 <ais523> *way?
17:52:58 <AnMaster> docs say last line should be XVIII
17:53:04 <AnMaster> but I get XV
17:53:06 <ais523> run with -a
17:53:14 <AnMaster> ./iffit1: can't grok -a
17:53:17 <ais523> well, compile with -a
17:53:25 <AnMaster> ah that helped yes
17:53:26 <ais523> in addition to the other switches
17:53:34 <ais523> that last bit can only be tested with -a given
17:54:26 <AnMaster> right, then I'll soon push some IFFI fixes for current cfunge trunk (which will be released soon, working on some build system issues on *BSD atm)
17:54:29 <ais523> AnMaster: as it happens, I'm trying to get C-INTERCAL finished off atm
17:54:38 <AnMaster> that too heh
17:54:40 <ais523> for a beta release on April 1
17:54:56 <ais523> what do you think of 0.-2.0.29 as a version number?
17:54:58 <AnMaster> ais523, I was planning Mars 31
17:55:04 <AnMaster> for cfunge
17:55:07 <AnMaster> just becase
17:55:20 <AnMaster> ais523, err that is CLC style isn't it?
17:55:21 <ehird> why don't you use english dates when talking in english
17:55:37 <AnMaster> afk urg
17:55:50 <ehird> what
17:55:57 <lifthrasiir> ais523: i have used such version once, e.g. starting at 0.9.-999, ...
17:56:18 <lifthrasiir> version scheme*
17:56:46 <lifthrasiir> but i never heard of negative minor version... hmm,
17:59:27 -!- ais523_ has joined.
17:59:29 <oklowob> ehird: "u r gay"
17:59:32 -!- ais523 has quit (Nick collision from services.).
17:59:34 -!- ais523_ has changed nick to ais523.
17:59:44 <ehird> oklowob: o
17:59:48 <ais523> ehird: oko
17:59:55 <ehird> okoffffff
18:00:18 -!- ais523_ has joined.
18:03:29 <ehird> I must never use two OSes at the same time ever again.
18:03:37 <ehird> I keep using features from one in the other.
18:07:30 <Deewiant> Something in Windows that doesn't work in OS X?
18:08:10 <ais523> hmm... there are a few things that work in windows xp/vista but not os x, mostly ui paradigms
18:08:24 <ais523> for instance, going to a window via the task bar using opening-order memory
18:08:35 <ais523> in os x / windows 7, you'd use the dock instead which works differently
18:11:54 <ehird> Deewiant: os x / plan9
18:12:03 <Deewiant> Why Plan 9?
18:12:04 <ais523> well, those are very different I imagine
18:12:09 <ais523> although they have some things in common
18:12:12 <ehird> Deewiant: Plan 9 is good.
18:12:15 <ehird> ais523: er, they do
18:12:15 <ehird> ?
18:12:22 <Deewiant> ehird: So no particular reason?
18:12:23 <ehird> I mean apart from unix heritage under the seams
18:12:30 <ehird> Deewiant: It's good and I like to use it.
18:12:31 <ais523> ehird: well, they're the two OSes that I'd think are most likely to have a global spellchecker
18:12:33 <ehird> Is that a good reason? :P
18:12:39 <ais523> as opposed to a separate spellchecker in each application
18:12:46 <ais523> am I right?
18:12:51 <ehird> ais523: plan 9 doesn't really have a global spellchecker, it's manual (ie you pipe it to spell)
18:12:54 <ehird> but same sort of thinkg
18:12:58 <ais523> yep
18:13:06 <ehird> os x has it baked into the text input controls
18:13:43 <ais523> os x is sort of like an inside-out version of plan 9 ui-wise, in a way
18:13:51 <ais523> in plan 9, you have wrapper programs, and pipes, that process data from things
18:14:01 <ais523> in os x, each program uses libraries which make them all work the same way, from inside
18:14:07 <ehird> it's not quite so simple to spellcheck a document in acme
18:14:18 <ehird> wait, maybe it is
18:14:27 <Deewiant> ehird: How well do programs work in it? I imagine you can't find many binaries but POSIX stuff generally compiles and runs as you'd expect?
18:14:37 <ehird> Deewiant: No, it is not posix compatible.
18:14:40 <ais523> Deewiant: I think POSIX stuff would probably need porting
18:14:41 <ehird> And it does not use X11.
18:14:45 <ehird> ais523: no, there is APE
18:14:47 <Deewiant> Doesn't it emulate POSIX somehow/
18:14:47 <ehird> a posix port environment
18:14:50 <ehird> but you generally don't use it
18:14:51 <Deewiant> s:/:?:
18:14:52 <Deewiant> Yeah, that
18:14:53 <Deewiant> Oh
18:14:59 <ehird> because posix programs aren't very, well, plan9.
18:15:00 <ais523> ehird: does it translate pathnames?
18:15:05 <ehird> ais523: no
18:15:15 <ehird> afaik
18:15:57 <ais523> well, even if it isn't POSIX, it would be nice to get C-INTERCAL running on Plan9
18:16:09 <ais523> after all, I got it running on DOS and that isn't POSIX either
18:16:19 <ehird> ais523: To get it working "plan9y" you'd have to change, for instance, every call of printf
18:16:24 <ehird> to use Bio and the unicode Rune sytem
18:16:25 <ehird> system
18:16:32 <ehird> (it has stdio, though)
18:16:46 <ais523> there isn't a whole lot of I/O in C-INTERCAL, and what there is is confined to a few functions
18:17:10 <ais523> except for the big main() glop, but AnMaster refactored that a while back so it isn't as bad nowadays
18:17:13 <ehird> ais523: I think it also has its own replacement for the string.h functions
18:17:24 <ehird> and also, its own argument parsing facility
18:17:27 <ehird> (no optparse)
18:17:28 <ehird> err
18:17:29 <ehird> no getopt
18:17:42 <ais523> please tell me it uses the new string-handling functions from C94
18:17:42 <Deewiant> ehird: What, ANSI C doesn't work by default?
18:17:45 <ais523> which nobody cares about
18:17:49 <ehird> ais523: It'd be a full port rather than a fixup if you wanted it to work properly
18:17:56 <ehird> Deewiant: It does work, you just shouldn't do it like that.
18:18:06 <Deewiant> Aha
18:18:15 <ehird> Considering it's the same people I think they pretty much are entitled to make their C whatever they want :P
18:18:20 <ehird> Also their C does have extensions
18:18:24 <ehird> and removes some ansi things
18:18:35 <ais523> the C94 functions seem to be a perfect fit for Plan9, maybe they were invented for it
18:18:40 <ais523> after all, nobody else seems to use them
18:18:43 <ehird> ais523: link?
18:18:48 <ais523> they're in C99
18:18:55 <ais523> they mostly handle multibyte strings
18:19:03 <ehird> Then no.
18:19:13 <ehird> plan 9 has its own, custom 16-bit unicode system called Runes
18:19:18 <ehird> (I guess it doesn't handle the astral planes)
18:19:23 <ehird> (Because they didn't exist at the time)
18:20:23 <ais523> wow, C94 is sufficiently obscure that even Google has few relevant results
18:20:35 <ais523> I'm searching for C94 199409L in an attempt to find it
18:20:51 <ais523> (199409L is the STDC_VERSION code for C94)
18:20:52 <fizzie> Everyone else seems to do the non-BMP characters as silly surrogate pairs, too. Java and something else I ran across very recently, to just mention two.
18:21:35 <Deewiant> UTF-16 does that, which is why Java and Windows and others do that.
18:22:24 <ehird> a structure or union may contained unnamed substructures and subunions; the fields of the substructures or subunions can then ebe used as if they were members of the parent structure or union
18:22:29 <ehird> (the resolution of a name conflict is unspecified)
18:22:34 <ehird> when a pointer to the outer structure r union
18:22:41 <ehird> is used in a contxt that is only legal for the unnamed substructure,
18:22:51 <ehird> the compiler promotes the typw and adjusts the pointer value to ppint at th subtructure
18:23:00 <ehird> if the unnamed struct or union is of a type with a tag name specified by a typedef
18:23:00 <ais523> C94 was basically a point relase to C89, it wasn't anything near as radical as the C99 changes
18:23:02 <ehird> statement, the unnamed struc-
18:23:08 <ehird> ture or union can be explicitly referenced by
18:23:12 <ehird> <struct variable>.<tagname>
18:23:23 <ehird> ^^^^ that's badly typed from the screen, but, also, that's pretty non-ansi
18:23:46 <ehird> this is valid int a[] = { [3] 1, [10] 5 };
18:23:47 <ehird> guess that it does
18:23:58 <ehird> it's
18:24:05 <ehird> int a[11]; a[3] = 1; a[10] = 5;
18:24:40 <ehird> sweet, they eliminate the linker's -l
18:24:45 <ehird> #pragma lib "foo.a"
18:24:46 <ehird> ->
18:24:52 <ehird> link with /$objtype/lib/foo.a
18:25:17 <ehird> heh, they accept // comments
18:25:18 <ais523> hmm... interesting; lots of compilers /can/ do it like that I think, but nobody ever does
18:25:21 <Deewiant> That's been in VC++ and D forever
18:25:28 <ehird> and their long long is 64 bit in 32 bit code
18:25:36 <Deewiant> I expect GCC has something like that as well
18:25:40 <ais523> ehird: I wouldn't be surprised if they were one of the 3 compilers in the world which were fully C99-compliant
18:25:47 <ais523> and long long is always at least 64
18:25:47 <ehird> they also support:
18:25:49 <Deewiant> 3?
18:25:50 <ais523> by definition
18:25:53 <ehird> struct foo = { .x 1, .y 3 };
18:25:55 <ehird> without the =
18:25:57 <ais523> Deewiant: are there more nowadays?
18:26:00 <ais523> or did I remember too many?
18:26:03 <Deewiant> ais523: Are there that many?
18:26:03 <ehird> ais523: no, they're not c99
18:26:03 <ais523> there aren't a lot, I know
18:26:07 <ehird> they don't like c99, I believe
18:26:13 <Deewiant> I can think only of Comeau
18:26:20 <ehird> "Some features of c99 [...] are implemented"
18:26:21 <ais523> Deewiant: well, IIRC Sun have a c99-compliant C compiler
18:26:42 <ehird> Deewiant: "Amazing C99 Support"
18:26:46 <ehird> does that mean "total"?
18:26:46 <Deewiant> ais523: Evidently so
18:26:51 <Deewiant> ehird: Probably not
18:26:55 <ehird> c99 is probably self-contradictory
18:27:40 <ais523> personally, I think you'd be mad to use any of the C99 features which aren't supported in gcc+glibc
18:27:48 <ais523> as they do all the easy-to-implement ones, and some of the harder ones
18:27:53 <Deewiant> ehird: Well, they claim they do support C99 fully
18:27:54 <AnMaster> back
18:28:28 <AnMaster> ehird, "<ehird> what" <-- "afk urg" meant "away from keyboard, urgent". In this case because of a bleeding nose
18:28:49 <ehird> that's gotta be one epic bleeding nose to warrant "urg" instead of "urgent"
18:29:08 <AnMaster> ehird, that would be a good description yes
18:30:42 <ehird> Where will we be ten years from now? CRT’s will be
18:30:43 <ehird> a thing of the past, multimedia will no longer be a buzzword,
18:30:44 <ehird> pen-based and voice input will be everywhere, and university
18:30:46 <ehird> students will still be editing with emacs.
18:30:48 <ehird> — Rob Pike, 1992
18:30:59 <ais523> interesting
18:31:00 <ehird> Add a few years and drop the pen/voice and he's dead on.
18:31:01 <AnMaster> "<ehird> ais523: To get it working "plan9y" you'd have to change, for instance, every call of printf" "<ehird> (it has stdio, though)" <-- printf is part of stdio...
18:31:07 <Deewiant> Were CRTs a thing from the past in 2002?
18:31:14 <ehird> AnMaster: that's what I meant; pls read.
18:31:18 <ehird> Deewiant: "add a few years"
18:31:20 <Deewiant> ehird: In other words, he wasn't dead on. :-P
18:31:24 <ais523> ehird: most students don't use emacs IME, Rob Pike missed the huge rise of Windows
18:31:33 <AnMaster> ehird, if it has stdio, then printf should work fine?
18:31:39 <ehird> ais523: computing students use a Real Editor, surely?
18:31:54 <Deewiant> ehird: I find that most use nano or gedit
18:31:56 <ehird> AnMaster: do you understand what 'though' means in a parenthical remark? no.
18:31:57 <ehird> look it up
18:32:00 <Deewiant> Or Eclipse, for Java
18:32:15 <ais523> ehird: here at university for programming sources they try to get us to use unpaid shareware versions of TextPad
18:32:18 <AnMaster> ehird, I see no reason to change it if it will work..
18:32:19 <ais523> although I used Emacs anyway
18:32:38 <ehird> AnMaster: because stdio is deprecated in plan 9
18:32:45 <ehird> and it won't integrate well
18:32:46 <ais523> when I don't have access to Emacs, I either use Notepad if Notepad is capable of what I'm doing (which is rare), or Notepad++ from my USB stick
18:32:57 <ehird> ha, the plan 9 c compilers's preprocessors don't support #if
18:33:05 <ais523> AnMaster: put it this way, would you write C programs using implicit int
18:33:06 <ehird> (compilers, plural, it has one per architechture)
18:33:19 <ais523> ehird: do they share front-ends?
18:33:28 <ehird> ais523: dunno. almost certainly
18:33:30 <ehird> let me check
18:33:32 * ehird cd /sys/src
18:33:43 <ehird> _that's_ how you do open source.
18:34:12 <ais523> the disappointing thing is that UNIX had directories for sources, and still does IIRC, but nobody uses them
18:34:53 <ehird> ais523: /sys/src/cmd/8c just has some optimization and code generation files, so I assume the frontend is elsewhre
18:34:54 <ehird> let me look
18:35:39 <ehird> aha
18:35:42 <ehird> /sys/src/cmd/cc/
18:35:52 <ehird> (found by looking at 1c/mkfile)
18:36:20 <ehird> ais523: they just compile w/ the frontend files, so each binary has its own frontend
18:36:21 <ehird> but it's the same code
18:36:30 <ehird> although the same frontend per binary is just how plan 9 does it, so not surprising
18:36:31 <ehird> err
18:36:32 <ehird> separate
18:36:33 <ehird> frontend
18:36:58 <ais523> as for C94, ##c managed to track down some people who are still selling it, apparently the PDF costs £39.78
18:37:07 <ehird> ais523: link?
18:37:16 <ais523> http://infostore.saiglobal.com/store/Details.aspx?DocN=isoc00076751 but it isn't very useful
18:37:17 <ehird> tempted to buy it, that thing must be bitrotting to extinction
18:37:18 <ais523> just a price list
18:37:34 <ehird> There is a problem with the page you are trying to reach and it cannot be displayed.
18:37:34 <ehird> We apologise for the inconvenience. Please try again in a few moments.
18:37:44 <ais523> err, sorry
18:37:45 <ehird> heh, they have an advert for LAW 9000: the framework for good legal practice management
18:37:49 <ais523> http://infostore.saiglobal.com/store/Details.aspx?DocN=isoc000767513
18:37:51 <ehird> it's exactly equal to nine thouuuusand
18:37:53 <ais523> copy-paste fail
18:38:05 -!- Slereah has quit.
18:38:32 <ehird> hmm
18:38:37 <ehird> do you think the hard copy comes with a pdf, ais523?
18:38:38 <ehird> probably not
18:38:39 <AnMaster> <ais523> AnMaster: put it this way, would you write C programs using implicit int <-- not unless golfing
18:38:40 <ehird> :(
18:38:52 <ehird> (ais523: i think he missed your metaphor)
18:39:26 <bsmntbombdood> implicit int is weird
18:39:32 <AnMaster> ais523, FreeBSD uses /usr/src to contain kernel and userland. If you install them
18:39:33 <ehird> what the fuck
18:39:35 <AnMaster> (which I have installed)
18:39:39 <ehird> cc/lex.c
18:39:44 <AnMaster> so what did you mean with "<ais523> the disappointing thing is that UNIX had directories for sources, and still does IIRC, but nobody uses them"
18:39:45 <ehird> if(argc > 1 && systemtype(Windows)){
18:39:51 <ehird> yes
18:39:52 <ehird> that windows
18:39:56 <ehird> in the plan 9 source tree
18:39:57 <ehird> I am bemused
18:39:58 <ais523> AnMaster: there are directories in the FHS for reserving source code
18:40:08 <ais523> ehird: maybe plan9 cc has been ported to Windows?
18:40:15 <ehird> ais523: but that's crazy
18:40:16 <ehird> !
18:40:18 <ais523> why?
18:40:22 <AnMaster> ais523, which ones do you mean? /usr/src and such?
18:40:24 <ehird> because because because windows!
18:40:26 <ais523> AnMaster: yes
18:40:36 <AnMaster> well as I mentioned freebsd does use that
18:40:37 <ais523> ehird: it's no crazier than porting C-INTERCAL from UNIX to Linux to DOS
18:40:48 <ehird> sure it's more crazy
18:40:58 <ehird> because c-intercal isn't a bastion of platonic amazing purity.
18:41:02 <ehird> of researchity.
18:41:15 <AnMaster> ehird, you forgot +4
18:41:20 <ehird> what
18:41:26 <ais523> ehird: would you say it is more or less crazy than translating the source code of Windows into Haskell?
18:41:31 <AnMaster> ehird, ...
18:41:33 <ehird> ais523: .
18:41:34 <ehird> ..
18:41:36 <ehird> ...
18:41:42 <AnMaster> ....
18:41:49 <ais523> .....
18:41:49 <ehird> ffffffffffff
18:42:00 <ais523> admittedly, nobody's seriously tried that AFAIK
18:42:14 <AnMaster> ais523, that anyone even considered it amazes me
18:42:22 <ais523> well, I invented it just now
18:42:26 <fizzie> You should've added some context: if(argc > 1 && systemtype(Windows)){ print("can't assemble multiple files on windows\n"); errorexit(); }
18:42:29 <ais523> the idea of considering it, I mean
18:42:39 <ehird> fizzie: no, not assemble
18:42:41 <ehird> cc
18:42:47 <ehird> s/assemble/compile/
18:42:52 <fizzie> Well, this was from 2a/lex.c.
18:42:54 <ehird> also, the fact is that they took special considerations for windows.
18:42:59 <ehird> fizzie: you want cc/lex.c
18:43:05 <fizzie> I'm not sure I *want* it.
18:43:28 <AnMaster> ehird, is this plan9 or plan9port?
18:43:29 <ais523> <twkm> ais523: digraphs, <iso646.h>, more additional specification of wide and multibyte characters and additional functions and macros.
18:43:33 <ehird> AnMaster: plan 9
18:43:35 <ais523> <--- ##c on what's new in C94
18:43:43 -!- Slereah has joined.
18:43:44 <AnMaster> ehird, hm ok that is even odder
18:43:46 <ehird> ais523: is poppavic there?
18:44:01 <ais523> ehird: yes, but with different capitalisation
18:44:06 <ehird> damn
18:44:09 <ehird> I was just about to join
18:44:39 <ehird> http://ortdotlove.net/poppavic_wisdom.html
18:45:04 <ehird> every time i've been in ##c when he's there I get multi page markov-esque rants about things I didn't ask, instead of answers
18:45:23 <ais523> wow, I clicked on the "people who bought this also bought" thing for C94
18:45:28 <ais523> and there was loading for about 5 seconds
18:45:31 <ais523> and then a blank list
18:45:35 <ais523> it seems there's no love for C94 at all
18:45:54 * ais523 has a sudden urge to translate C-INTERCAL to C94
18:45:59 <ehird> ais523: should I get the hardback, or the pdf, or both
18:46:07 <ehird> the hardback is more awesome, the pdf is more... snippet-pastingable.
18:46:09 <ais523> ehird: what, you're actually planning to buy it, why?
18:46:13 <ehird> and the both is expensive
18:46:26 <ehird> ais523: because in 5 years, you won't be able to buy it any more, I bt
18:46:26 <ehird> bet
18:46:42 <ehird> also, why not buy a spec for which there are no compilers?
18:46:53 <ais523> well, I'd say that /if/ you're planning to buy it, go hardcopy for awesomeness, but I'd advise against buying it altogether
18:47:22 <ehird> I could OCR it I suppose
18:47:24 <ais523> not to mention that the PDF is probably DRMed if it's that expensive
18:47:27 <ehird> Although that would require cutting it u
18:47:28 <ehird> p
18:47:31 <ais523> and so may not be copy-pastable at all
18:47:37 <ehird> ais523: PDF DRM is only relevant if your reader respects it.
18:47:41 <ais523> and why cut it up? just take photos and OCR those
18:47:51 <ehird> ais523: because it's hundreds of pages?
18:47:54 <ais523> ehird: I assumed there was encryption so that readers that didn't respect it couldn't read protected contents at all
18:48:00 <ehird> also, scanning would be far more accurate
18:48:05 <ais523> ehird: if you're only pasting snippets, you only need to OCR the snippets
18:48:13 <ehird> ais523: how does that work? accept the drm, get the text, then allow it to be copy pasted
18:48:17 <ehird> and, well, true.
18:48:43 <ais523> ehird: I assumed that they were encrypted somehow and Adobe only gave the privkey for decrypting to people who put DRM in their readers
18:48:58 <ehird> ais523: open source readers can read protected files
18:49:01 <ehird> and allow you to copy
18:49:02 <ehird> so /shrug
18:49:22 <fizzie> PDF encryption is defined in the released spec. And it's not a asymmetric-encryption-thing.
18:49:43 <fizzie> (Not in the spec as it was originally released, but they did finally release the encryption-specific parts.)
18:50:04 <ehird> PoppaVic is so infamous that someone I've talked to from ##c started ##free-c, which is "##c sans PoppaVic" in practice
18:50:12 <fizzie> xpdf upstream does respect the DRM, though. I think at least Ubuntu or someone patched it to have a "--force"-style flag, too.
18:50:24 <bsmntbombdood> pipe through gpg
18:50:26 <ehird> fizzie: is it illegal not to or sth?
18:50:28 <bsmntbombdood> THERE IS NO MACHINE CODE
18:50:35 <AnMaster> fizzie, for kpdf it is a option in some menu iirc
18:50:37 <ais523> ehird: probably only in the US
18:50:42 <ehird> bsmntbombdood: people need to wake the fuck up and stop pointing their finger at you, right?
18:50:56 <bsmntbombdood> UNIX PHILOSOPHY MAN
18:51:16 <bsmntbombdood> tar c|gzip|gpg -c|netcat FUCK YES
18:51:29 <ais523> ehird: also, I suspect that that C94 is only the diff from C89
18:51:34 <ais523> as that's how it was released originally
18:51:41 <ehird> ais523: hmm, that's less epic
18:51:44 <ais523> so you'd need C89 too to get the whole thing, and it's a lot more expensive
18:51:54 <ehird> :<
18:51:58 <ehird> no afirs
18:51:59 <ehird> fairs
18:52:44 <ais523> so I suspect it isn't worth it
18:53:44 <fizzie> Debian-packaged xpdf has debian/patches/02_permissions.dpatch which adds #ifdef ENFORCE_PERMISSIONS around most of the permission-checking blocks and does not define that symbol.
18:54:09 <ehird> JOIN US NOW AND SHARE THE SOFTWARE
18:54:11 <ehird> YOU'LL BE FREE HACKERS
18:54:14 <ehird> YOU'LL BE FREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
18:54:16 <fizzie> Upstream author disagrees, though: http://www.foolabs.com/xpdf/cracking.html
18:54:22 <ehird> JOIN US NOW AND SHARE THE SOFTWARE
18:54:23 <ehird> YOU'LL BE FREE HACKERS
18:54:26 <ehird> YOU'LL BE FREEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
18:54:32 <ehird> HOARDERS MAY GET PILES OF MONEY
18:54:34 <ehird> THAT IS TRUEEEEEEEEEEEEEEEEE
18:54:35 <ehird> HACKERS
18:54:37 <ehird> THAT IS TRUEEEEEEEEEEEEEE
18:54:40 <ehird> Sorry, i turned into rms there.
18:54:43 <ehird> Excuse me ->
18:54:48 <ehird> <- what
18:55:47 <fizzie> ITYM "→" and "←" there. Another Useless Use of Unicode. (U³)
18:56:04 <ehird> fizzie: I need hotkeys for jew knee code
18:56:08 <ehird> and I don't know how to make 'em
18:56:17 <fizzie> (Notably superscript-3 is latin-1.)
18:56:52 <lifthrasiir> AnMaster: finally i managed to make PyFunge 9x faster. *sign*
18:56:54 <lifthrasiir> sigh*
18:57:00 <AnMaster> oh?
18:57:01 <ehird> lifthrasiir is the pyfunge guy?
18:57:03 <ehird> an cool
18:57:05 <lifthrasiir> well yes
18:58:56 <AnMaster> ais523, I just pushed a patch to IFFI that makes it works against cfunge r633.
18:59:00 <AnMaster> which is the very last one
18:59:08 <ais523> AnMaster: ah, good
18:59:14 <ais523> where's the website to pull from, again?
18:59:20 <lifthrasiir> now mycology takes 3.5s average, compared to 30s+ for first ever version passes mycology (without any fingerprints)
18:59:23 <AnMaster> sec...
18:59:51 <AnMaster> ais523, http://rage.kuonet.org/~anmaster/c-intercal/darcs/
19:00:08 <AnMaster> https://kuonet.org/~anmaster/c-intercal/darcs/ should work too btw
19:03:14 <AnMaster> ais523, there may be other changes from before you are missing
19:03:15 <AnMaster> not sure
19:03:32 <ais523> AnMaster: the way darcs works, I get all the changes in your repo that aren't in mine
19:03:59 <AnMaster> ais523, yes I know
19:04:10 <AnMaster> but I mean, better check in case there are other things too
19:04:26 <ehird> It's time to write another toy Scheme.
19:04:31 <ehird> To try a Concurrent & Parallel gc.
19:05:52 <AnMaster> ehird, that sounds interesting, and hard
19:05:57 <ehird> No.
19:05:59 <ehird> No. Very easy.
19:06:01 <bsmntbombdood> i would imagine that that is the way to make garbage collection faster than manual memory allocation
19:06:13 <ehird> bsmntbombdood: gc is already faster than manual allocation in many cases
19:06:16 <ehird> this is just an extra boost
19:06:18 <AnMaster> ehird, really? Not stopping the mutator should make things complex.
19:06:19 <bsmntbombdood> and it's automatic paralellism
19:06:20 <ehird> albeit a huge one
19:06:21 <ehird> AnMaster: no
19:06:25 <bsmntbombdood> which is rather exciting
19:06:31 <AnMaster> ehird, really?
19:06:39 <ehird> AnMaster: how many freaking times will you ask that?!!
19:06:53 <ais523> ehird: well, sarcasm isn't always easy to detect
19:06:59 <AnMaster> ehird, I mean, I thought you had to care about stuff like memory barriers and so on...
19:07:02 <ehird> AnMaster: no
19:07:04 <ehird> watch;
19:07:06 <ais523> and by analogy, non-sarcasm isn't always easy to detect either
19:07:33 <ehird> make a new thread { fork { run mark stage. send list of unused objects back to parent }; free unused objects }
19:07:51 <bsmntbombdood> ehird: that's what i was talking about yesterday
19:07:54 <ehird> bsmntbombdood: yep
19:07:56 <ehird> i know
19:07:57 <bsmntbombdood> don't steal my idea
19:08:00 <ehird> er no
19:08:01 <bsmntbombdood> :P
19:08:02 <ehird> I saw it elsewhere before
19:08:05 <ehird> on a mailing list
19:08:11 <ehird> which made me talk about concurrent gc
19:08:14 <ehird> then you said the same thing
19:08:24 <bsmntbombdood> notice the ":P"
19:08:26 <AnMaster> ehird, hm so the actual collection is done in the mutator thread?
19:08:29 <ehird> bsmntbombdood: yah
19:08:33 <ehird> AnMaster: no
19:08:35 <ehird> you do it in another thread
19:08:44 <ehird> see those { }s?
19:08:45 <ehird> they match up.
19:08:45 <bsmntbombdood> copy on write is awesome
19:08:46 <AnMaster> yes
19:08:47 <ehird> read them.
19:08:55 <AnMaster> ehird, which thread is the "parent" then?
19:08:57 <ehird> all of it happens in a separate thread
19:09:04 <ehird> AnMaster: GRIHAUHSAKFdhADJALS:adfs;as;d'kas
19:09:04 <ehird> g
19:09:08 <AnMaster> the mutator or the collector?
19:09:10 <ehird> it's freaking obvious
19:09:13 <AnMaster> also bbiab phone
19:09:16 <ehird> did you actually read what i asid
19:10:13 <bsmntbombdood> AnMaster: if(fork()){run mark stage, return free objects to parent} else {schedule a signal handler to recieve free objects, then resume computation}
19:10:30 <ehird> bsmntbombdood: you should just do that as a thread
19:10:32 <ehird> trivial-er
19:10:39 <ehird> and less 'global'
19:10:42 <bsmntbombdood> errrrr, my clauses are backwards
19:10:46 <ehird> heh
19:10:54 <ehird> also, mine is just one thread
19:10:59 <ehird> yours has the overhead of fork() + signal handler
19:11:07 <ehird> i guess signal handler is quite fast
19:11:38 <bsmntbombdood> a signal is elegant
19:11:48 -!- olsner has quit (Read error: 110 (Connection timed out)).
19:11:52 <ehird> bsmntbombdood: threads are as elegant as forks in theory.
19:12:02 <ehird> also it's a fuckin' gc, I think speed trumps elegance
19:12:30 <bsmntbombdood> signals are also fast
19:12:41 <bsmntbombdood> and threads are useless here...
19:13:04 <ehird> signals are the wrong way to do this
19:13:08 <bsmntbombdood> no
19:13:13 <ehird> bsmntbombdood: the signal handler has to execute asynchronously
19:13:15 <ehird> to free them
19:13:19 <ehird> you can't fork() in a signal handler, iirc
19:13:36 <bsmntbombdood> you don't do any freeing
19:13:39 <ehird> ...
19:13:41 <ehird> what
19:13:49 <bsmntbombdood> you just use the unmarked objects for allocation
19:14:02 <ehird> um when you use malloc that's what free() does.
19:14:12 <bsmntbombdood> you're not using malloc...
19:14:15 <ehird> o rly
19:14:17 <ehird> you should do the sweep while executing the program
19:14:20 <ais523> bsmntbombdood: even GC languages use malloc
19:14:22 <ais523> they just don't use free
19:14:27 <ais523> (well, normally they don't call it malloc)
19:14:28 <ehird> if you don't, my solution is more async than yours
19:14:53 <ais523> (and sometimes it's implicit in .copy() or = or whatever else makes copies in the language)
19:15:00 <bsmntbombdood> signal_handler(){ read(pipefromchild, free_objects); }
19:15:09 <ehird> bsmntbombdood: that's bullshit
19:15:10 <bsmntbombdood> and then the allocator just looks at free_objects to allocate
19:17:02 <ehird> shit, half my actions are plan 9 ones that aren't working on this system
19:17:04 <ehird> i'm dying here
19:17:05 <fizzie> I don't see how you can do the mark-and-sweep find-unreferenced-objects stuff while threads are running and mutating whatever they want, without doing a fork() so you get that copy-on-write "snapshot" of the process.
19:17:23 <bsmntbombdood> actually, you can just put the free map in shared memory, and then you don't even have to notify the parent of anything
19:17:33 -!- kar8nga has joined.
19:17:37 <bsmntbombdood> fizzie: you do a fork(), that's the point
19:17:38 <ehird> fizzie: I do do a fork
19:17:41 <ehird> I just do a thread too
19:18:44 <AnMaster> bsmntbombdood, aha
19:19:01 <ehird> what
19:19:07 <ehird> i explained that like 30 mins ago AnMaster
19:19:40 <AnMaster> I was afk for phone I said. And before that you were incoherent
19:20:00 <ehird> it's not my fault that you can't understand the most basic english pseudocode possible
19:20:05 <bsmntbombdood> good lord
19:20:08 <bsmntbombdood> stop being a douche
19:20:19 <ehird> yay, now we get to argue over who that was targeted at.
19:20:21 <fizzie> ehird: Ah, so the "overhead of fork() + signal handler" wasn't meant to imply that you don't fork around. Sorry, that's just what it sounded like.
19:20:29 <ehird> fizzie: I did the fork in another thread
19:20:33 <ehird> so the overhead was just that of creating a thread
19:20:38 <AnMaster> err
19:20:58 <AnMaster> what would forking in another thread save you...
19:20:59 <ehird> hmm
19:21:04 <bsmntbombdood> but you can do it without threads OR signal handlers
19:21:06 <ehird> AnMaster: not setting a signal
19:21:10 <fizzie> Uh, it's not like the fork would magically execute without consuming any resources, even if it happens in its own thread.
19:21:16 <bsmntbombdood> with shared memory
19:21:18 <AnMaster> fizzie, exactly
19:21:25 <ehird> fizzie: overhead = HOW LONG THE PROGRAM BLOCKS
19:21:27 <ehird> when a gc is triggered
19:21:49 <bsmntbombdood> fizzie: it will execute on a different proc
19:22:03 <AnMaster> I still don't see why you would want to fork() at all.
19:22:27 <bsmntbombdood> you can't scan the object graph as it's being mutated
19:22:31 <bsmntbombdood> you need a static copy
19:22:58 <AnMaster> bsmntbombdood, that is much less of an issue in single assignment languages
19:23:16 <ehird> ...
19:23:17 <ehird> no it's not
19:23:24 <ehird> the object graph still mutates when you create objects
19:24:25 <fizzie> I'm not very sure the system will keep threads running while it's doing whatever the fork machinery needs to do to get a real copy of the process with all its threads, no matter in which thread you actually call the fork(). (Admittedly I guess it should be pretty fast.) I do rather like the at-least-superficial-simplicity of (presumably) doing fork+wait+"free" in one thread, though.
19:24:59 <ehird> fizzie: fork() blocks all threads? I don't think so...
19:25:11 <AnMaster> bsmntbombdood, The fork() one does have some interesting aspects though. If a object is found to be unreferenced it would be that in the parent too even after it mutated (since you can't magically reference an unreachable object legally)
19:25:28 <bsmntbombdood> AnMaster: yep
19:25:38 <bsmntbombdood> using forks and threads together is insane
19:25:39 <fizzie> Oh, right, in a pthreadsy system the child is created with just the fork-calling thread.
19:25:41 <AnMaster> bsmntbombdood, however you can't do compacting GC this way...
19:25:45 <ehird> fizzie: exactly
19:25:50 <ehird> which is _absolutely_ what you want
19:26:26 -!- olsner has joined.
19:26:34 <AnMaster> bsmntbombdood, so there is no way to handle memory fragmentation, except having a different GC strategy that is run less often and isn't concurrent
19:26:55 <ehird> no, you can always use a concurrent gc
19:27:34 <AnMaster> ehird, btw you depend on that the Linux fork() is copy-on-write it seems. On some systems it may be a lot slower because it copies all at fork() time
19:27:50 <ehird> AnMaster: which of these systems are in actual use?
19:27:55 <ehird> tell me so that I can destroy every one of them.
19:28:00 <ais523> ehird: older versions of Sun UNIX
19:28:07 <ais523> I may have one here which doesn't cow
19:28:11 <AnMaster> ehird, Older UNIX. Windows (iirc)
19:28:11 <ehird> ais523: out of shit legacy code
19:28:12 <ais523> let me check the definition of vfork
19:28:21 <AnMaster> though it doesn't call it fork() at all
19:28:22 <ehird> which won't be running newer interps anyway
19:28:29 <ais523> AnMaster: oh, yes, cygwin fork isn't copy-on-write, but it was a big struggle to get it to work at all
19:28:36 <AnMaster> ais523, exactly
19:29:08 * ais523 opens Solaris 9 running CDE 1.5
19:29:11 <AnMaster> but why couldn't you do COW without fork()? I mean, implement what the kernel is doing for COW basically
19:29:15 <AnMaster> I don't know how it does it
19:29:34 <AnMaster> if it is some ring-0 hardware trick I guess it wouldn't work
19:30:12 <fizzie> Pre-10 Solaris also had fork() behave as fork1() (child with just that single thread) when linked with -lpthread, but like forkall() (child with all threads) when linked with -lthread. Or that's what this Solaris 10 man page says.
19:30:13 <ais523> hmm... CDE doesn't want to load atm
19:30:24 <ais523> I suppose that ever since I got this Linux laptop, nobody's bothered to log into it at all
19:30:39 <AnMaster> I suppose you could do it by basically marking the pages as non-writable and then handle the page faults by copying the pages (and adding the writing flag back)
19:30:56 <AnMaster> if I remember how x86 works correctly
19:31:40 <AnMaster> basically it would be same thing as how swap works, except you only trigger on writing. Right?
19:32:32 * AnMaster wonders why this pdf just opened with a zoom of 400%...
19:33:37 <bsmntbombdood> fork without copy on write is pointless
19:33:39 <fizzie> Our silly 16-processor "Tru64/OSF1 V5.1a" Alpha box seems to also have been let go. How sad.
19:33:49 <ais523> "The vfork() function creates new processes without fully copying the address space of the old process."
19:33:53 <ais523> yep, Solaris 9 is non-cow
19:34:02 <bsmntbombdood> and yeah, i haven't figured how to do compaction yet
19:34:05 <ehird> Solaris 9?
19:34:06 <AnMaster> bsmntbombdood, not pointless. Rather the cow bit is rather new
19:34:08 <ehird> how modern's that
19:34:08 <fizzie> ais523: You mean lactose-intolerant?!
19:34:19 <AnMaster> ehird, "modern's"?
19:34:27 <ehird> AnMaster: it's a contractoin
19:34:28 <ehird> contraction
19:34:30 <ehird> heard of them?
19:34:38 <bsmntbombdood> rather new?
19:34:42 <bsmntbombdood> i don't think so
19:34:53 <AnMaster> ehird, ah, not as in "ehird's client" or such then?
19:35:09 <ehird> modern-is
19:35:14 <ehird> "how cool's that?"
19:35:17 <ehird> how cool-is that
19:35:33 <AnMaster> I would say modernish probably or such
19:35:46 <bsmntbombdood> it's possible to have a simple compactor that runs synchronously
19:35:49 <oklowob> what :D
19:35:49 <ehird> that's ridiculous AnMaster
19:35:54 <ehird> modernish means nothing like modern's
19:35:58 <ehird> i mean... what
19:36:02 -!- M0ny has joined.
19:36:02 <ehird> that makes no sense whatsoever
19:36:11 <oklowob> AnMaster: one of the meanings of "'s" is " is"
19:36:13 <AnMaster> ehird, so what would "ehird's" mean? "how ehird's car is that?"
19:36:14 <AnMaster> :D
19:36:26 <AnMaster> no it doesn't make any sense
19:36:45 <oklowob> and adjectives don't have a genetive, so in "modern's" it must be " is"
19:37:28 <AnMaster> oklowob, hm. Let me go get that English grammar book downstairs... Think it was Oxford or Cambridge...
19:37:40 <oklowob> AnMaster: have fun doing that
19:37:44 <AnMaster> oklowob, oh?
19:37:54 <AnMaster> ah you mean this is slang or?
19:38:09 <ehird> no
19:38:10 <ehird> it's not slang
19:38:17 <ehird> it's just highly trivial
19:38:19 <oklowob> you've heard it in things like "it's"
19:38:24 <ehird> and I can't believe you don't know it
19:38:25 <AnMaster> oklowob, yep.
19:38:27 <oklowob> but you can use it pretty much anywhere.
19:39:05 <oklowob> and it's slang in that you oxford might not say it's good english.
19:39:08 <oklowob> *your
19:39:41 <AnMaster> oklowob, oh possibly, I think it is from ~1985 anyway, so probably not worth even checking then
19:39:46 <oklowob> but then again are contractions ever
19:39:59 <ehird> Yes, in 1985 we talked like the proper gentlemen that we were.
19:40:10 <AnMaster> ehird, ah good old jolly chap!
19:40:18 <ehird> No
19:40:22 <ehird> It's :jolly good old bean"
19:40:22 <AnMaster> wait.. I got them in wrong order didn't I?
19:40:23 <oklowob> it's funny because none of us were alive back then
19:40:26 <ehird> s/:/"/
19:40:29 <AnMaster> ehird, ah yes
19:40:35 <AnMaster> ehird, when is "chap" used then?
19:40:42 <ehird> never. chap is phony bullshit!
19:40:54 <AnMaster> mhm
19:41:06 <AnMaster> I guess Hollywood got that wrong too :)
19:44:26 <ehird> Our moon seems to disappear during an eclipse. Some people say this is because an old lady covers the moon with her cloak. She does this so that thieves cannot steal the shiny coins on the surface. Which of these would help scientists to prove or disprove this idea?
19:44:27 <ehird> A) Collect evidence from people who believe the lady sees the thieves
19:44:29 <ehird> B) Shout to the lady that the thieves are coming
19:44:31 <ehird> C) Send a probe to the moon to search for coins
19:44:33 <ehird> D) Look for fingerprints
19:44:35 <ehird> — http://news.bbc.co.uk/1/hi/education/7967600.stm
19:44:37 * ehird facepalm
19:45:17 <AnMaster> absurd...
19:47:12 <fizzie> Look for fingerprints in what, exactly?
19:47:52 <bsmntbombdood> i seem to remember memcached switching to a custom memory allocator after discovering malloc was too slow
19:47:56 <bsmntbombdood> i wonder how that works
19:48:02 <AnMaster> not very hard
19:48:40 <bsmntbombdood> ???
19:48:46 <fizzie> I would think most non-mallocy memory allocation things use either sbrk to grow the data segment, or mmap to allocate.
19:48:51 <AnMaster> bsmntbombdood, simple even, 1) get some huge chunk of memory from system at the start or such, use malloc() or mmap() or whatever. From that point onwards allocate from this block
19:48:58 <bsmntbombdood> AnMaster: uh, no shit
19:49:14 <bsmntbombdood> it's step 2 that's interesting
19:49:15 <ehird> 'AnMaster: uh, no shit' <-- how redundant
19:50:03 <AnMaster> bsmntbombdood, yes then you need to find a good way to allocate for your app, it might be memory pool style with fixed item sizes if you always use the same size, or some other style.
19:50:11 <bsmntbombdood> jesus lord
19:50:15 <AnMaster> but I thought you asked about the first step rather than the second
19:50:18 <ehird> bsmntbombdood: :DD
19:50:27 <ehird> bsmntbombdood: now try this every day and you become me
19:50:42 <AnMaster> bsmntbombdood, you weren't precise enough in your question anyway.
19:51:03 <AnMaster> I would suggest studding the source of various allocators if you want to know how they work. It can be rather interestign
19:51:07 <AnMaster> interesting*
19:51:28 <bsmntbombdood> i asked how the memcached memory allocator worked
19:51:32 <bsmntbombdood> how is that not precise enough?
19:51:35 <fizzie> The interwebs say it's a slab-style allocator. There's a free-list of all 2^n sizes for 64, 128, ... 1MB, and they just round up.
19:52:02 -!- Mony has quit (Read error: 110 (Connection timed out)).
19:52:11 <AnMaster> bsmntbombdood, "<bsmntbombdood> i wonder how that works" I interpreted as custom allocators in general
19:52:26 <fizzie> So no memory fragmentation in the classic sense, but high overhead for wonky-sized allocations.
19:52:26 <ehird> ...
19:52:27 <AnMaster> fizzie, interesting
19:53:08 <AnMaster> btw, it seems x86_64 supports the following pages sizes: 4 kb, 2 MB, 4 MB, 1 GB
19:53:21 <AnMaster> interesting jump to 1 GB there..
19:53:42 <bsmntbombdood> fizzie: you mean internal rather than external fragmentation
19:53:58 <bsmntbombdood> or something like that
19:54:16 <fizzie> Linux kernel has that SLAB allocator for in-kernel use, and I think they relatively recently switched to SLUB ("unqueued allocator") as the default allocator there. I don't know how the newer one works.
19:54:40 <fizzie> "minimizes cache line usage instead of managing queues of cached objects" is about all the help text says.
19:55:00 * kerlo frowns at the idea of "A is evidence for B" meaning something other than P(A and B) > P(A)*P(B)
19:55:25 <fizzie> Sauna-time. →
19:55:27 <AnMaster> fizzie, iirc they recently changed to one called "SLUB", don't know the details
19:55:39 <fizzie> That is just what I said, isn't it?
19:55:46 <AnMaster> oh yes
19:55:48 <AnMaster> misread
19:55:50 <ehird> fizzie: he has no scrollback, remember
19:56:20 <fizzie> A single-line window with no scrollback would make for quite a surreal IRC experience. But → really.
19:56:35 <ehird> finns
19:56:37 <ehird> and you sauna
19:56:37 <ehird> s
19:59:20 <AnMaster> ehird, I agree about finns and saunas
19:59:33 <AnMaster> even though we have saunas in Sweden too we aren't as crazy about them
20:00:42 <ehird> hey, I have my ghc setup working
20:00:43 <ehird> I just remembered
20:00:56 <AnMaster> ehird, did you have issues with ghc before?
20:01:05 <ehird> AnMaster: bootstrapping ghc is a bitch.
20:01:08 <AnMaster> ah
20:01:10 <ehird> and it has some issues on os x
20:01:12 <ehird> you gotta patch i
20:01:12 <ehird> t
20:01:14 <bsmntbombdood> that "splitting the heap" thing with compacting gcs really bugs me
20:01:17 <ehird> configure.ac and stuff
20:01:30 <AnMaster> ehird, iirc they provide binaries for most platforms that are already patched?
20:01:40 <ehird> AnMaster: that they do.
20:01:52 <AnMaster> ehird, so why did you need to build your own?
20:01:57 <ehird> but they're compiled with the extralibs package, which I don't want, and for something I use as heavily as ghc I like to compile my own
20:02:00 <AnMaster> you aren't on gentoo!
20:02:08 <AnMaster> ah ok
20:02:27 <ehird> it'll be easier next time
20:02:33 <ehird> since I'll have a ghc already installed to bootstrap with
20:02:40 <AnMaster> btw, do you have saunas in UK?
20:02:41 <ehird> and the new build system they're making
20:02:43 <ehird> AnMaster: no
20:02:48 <AnMaster> hm ok
20:02:51 <ehird> well, maybe.
20:02:59 <ehird> http://www.google.com/search?client=safari&rls=en-us&q=uk+sauna&ie=UTF-8&oe=UTF-8
20:03:03 <ehird> Gay Sauna Listings
20:03:03 <ehird> Gay and gay friendly sauna listings for the whole of the UK. Simple easy to read layout make the list the most comprehensive on the Internet.
20:03:06 <ehird> yeah uh thanks.
20:03:09 <AnMaster> hah
20:04:19 <bsmntbombdood> cool
20:04:52 <ehird> Deewiant: ping
20:04:54 <Deewiant> pong
20:05:14 <ehird> Deewiant: i get .cabal/config contains the stuff for docs & profiling, but what about when I'm manually installing a cabal package
20:05:20 <ehird> [like to get cabal-install's deps :P]
20:05:41 <Deewiant> ehird: runhaskell Setup.hs configure --help
20:06:15 <ehird> I don't see anything relevant
20:06:23 <Deewiant> --enable-profiling for the other
20:06:23 <ehird> well
20:06:29 <Deewiant> Can't remember the other
20:06:46 <ehird> haddock Generate Haddock HTML documentation.
20:06:51 <ehird> wonder if install will do that
20:07:15 * ehird modifies cabal-install's bootstrap.sh
20:07:36 <Deewiant> AnMaster: How can I make CMake use a C++ compiler which needs flags to work? It either looks for 'foo --bar' and says file not found or tries to test it using only 'foo sometestfile' which fails
20:07:54 <ehird> Deewiant: does haddock go before or after build?
20:07:58 <Deewiant> After
20:08:06 <AnMaster> Deewiant, err you mean passing CXXFLAGS=
20:08:24 <ehird> --hoogle Generate a hoogle database
20:08:24 <AnMaster> like: CXX=foo CXXFLAGS="--blah" cmake ..
20:08:25 <ehird> Huh.
20:08:25 <Deewiant> AnMaster: I'm editing stuff in ccmake and putting them in CMAKE_CXX_FLAGS doesn't work
20:08:55 <AnMaster> Deewiant, ah you can't set CC or CXX there. Those two must be set before. Once cmake or ccmake starts they are fixed for this build directory
20:09:00 <AnMaster> don't know why
20:09:11 <Deewiant> Right, that makes sense. (Not!)
20:09:18 <AnMaster> Deewiant, agreed it doesn't make sense.
20:09:32 <ehird> Error during cabal-install bootstrap:
20:09:32 <ehird> The Haskell package 'parsec' is required but it is not installed.
20:09:35 <AnMaster> Deewiant, however, not sure about the flags bit if it is needed to work
20:09:44 <ehird> can't you fucking install that, dipshit program
20:09:51 <AnMaster> Deewiant, you really need to be more specific about what the issue is
20:09:54 <Deewiant> ehird: Well, it expects you have the extralibs that come with GHC
20:10:04 <ehird> Deewiant: yeah, I don't want extralibs :)
20:10:27 <Deewiant> AnMaster: I'm trying to use 'schroot -pq -- g++' as my C++ compiler.
20:10:44 <Deewiant> And not succeeding.
20:11:47 <ehird> Deewiant: --prefix=${HOME}/.cabal"
20:11:48 <ehird> err
20:11:50 <AnMaster> Deewiant, hm..
20:11:53 <ehird> does that actually do anything?
20:11:55 <ehird> It has --user before
20:11:57 <Deewiant> ehird: I don't know
20:12:00 <ehird> k
20:12:21 <AnMaster> Deewiant, the easiest way is probably creating a shell script which runs that. like #!/bin/sh\nschroot -pq -- g++ "$@"
20:12:26 <AnMaster> then using that as the C++ compiler
20:12:32 <ehird> Deewiant: there's not --enable-profiling, just --enable-{library,program}-profiling
20:12:40 <ehird> Deewiant: I assume I just want library profiling?
20:12:43 <AnMaster> Deewiant, I suspect you can do it some other way too, I just got no idea how
20:12:52 <Deewiant> ehird: Well, unless you want profiled executables. :-P
20:12:59 <ehird> Deewiant: what would that entail
20:13:08 <Deewiant> ehird: I don't know, I've never used it.
20:13:11 <ehird> ksu
20:13:13 <ehird> kay
20:13:14 <AnMaster> Deewiant, stuff like: CC=$HOME/local/llvm/bin/llvm-gcc cmake .. works fine
20:13:19 <ehird> Setup.hs: At least the following dependencies are missing:
20:13:19 <ehird> mtl -any
20:13:20 <ehird> Kill nao
20:13:38 <Deewiant> mtl is needed by approximately every second program :-P
20:13:41 <AnMaster> kill nao? why? Apart from the lag from europe
20:13:42 <AnMaster> Europe*
20:13:55 <AnMaster> ~~
20:14:15 <ehird> Warning: The documentation for the following packages are not installed. No
20:14:15 <ehird> links will be generated to these packages: rts-1.0
20:14:16 <ehird> err
20:14:20 <ehird> Deewiant: is that normal?
20:14:27 <Deewiant> ehird: Yes.
20:14:29 -!- FireFly has quit ("Later").
20:14:36 <ehird> Deewiant: can you generate docs for rts?
20:14:46 <Deewiant> I don't think so, no.
20:14:56 <ehird> Kay
20:14:56 <Deewiant> You can try. :-P
20:15:55 <ehird> The Haskell package 'parsec' is required but it is not installed.
20:15:56 <ehird> what
20:15:57 <ehird> I just installed it
20:15:59 <ehird> ? ?
20:16:08 <ehird> og
20:16:09 <ehird> oh
20:16:11 <ehird> I installed parsec 3
20:16:13 <ehird> it wants 12
20:16:14 <ehird> 2
20:19:22 <ehird> Deewiant: yow, profiling libs compiles everything twice
20:19:26 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:19:37 <Deewiant> ehird: Yes, that's rather the whole point
20:19:42 <ehird> :P
20:20:35 -!- ais523 has joined.
20:21:34 <ehird> http://gandolf.homelinux.org/~smhanov/blog/resume_comic.png "-1 Has Ph.D" s/programmers/shit \0/
20:22:19 <ehird> Deewiant: I have no .cabal/config
20:23:09 <Deewiant> Best create one then
20:23:19 <ehird> Deewiant: You said read .cabal/config to see the defaults
20:23:25 <ehird> If I create one htf do I do that
20:23:38 <Deewiant> ehird: Have you run cabal-install even once?
20:23:43 <ehird> Yes.
20:23:50 <ehird> You can edit the cabal configuration file to set defaults:
20:23:50 <Deewiant> :-/
20:23:50 <ehird> /Users/ehird/.cabal/config
20:23:51 <ehird> No I can't.
20:24:40 <ehird> ah
20:24:43 <ehird> had to run an actual operation
20:24:44 <ehird> "Writing default configuration to /Users/ehird/.cabal/config "
20:25:24 <ehird> that was nice and easy
20:25:49 <ehird> ais523: I am about to make you scream, with just three words.
20:25:53 <ehird> ais523: "Nethack in Haskell".
20:26:12 <ais523> that doesn't make me scream
20:26:16 <ais523> I was planning to rewrite it in Prolog
20:26:16 <ehird> http://www.ioccc.org/1987/wall.hint <- Perl v0.1
20:26:43 -!- Sgeo has joined.
20:27:07 <Deewiant> Silly compilers confusing =+ and +=
20:27:18 <ehird> itt: 1987
20:27:40 <ehird> THINGS THAT MAKETH ME SAD: ghc doesn't work on osx/64bit
20:29:11 <ehird> THINGS THAT MAKETH ME KILL BITCHES: quitting ghci not stopping the lagfsest of "let a a= a"
20:29:13 <ehird> a = a
20:31:33 <lifthrasiir> Deewiant: but =+ was used in ancient C
20:31:52 <lifthrasiir> which was later changed to +=
20:31:55 <Deewiant> lifthrasiir: Yes, I know
20:31:57 <ehird> yes he knows
20:32:13 <Deewiant> Doesn't stop me from calling them silly :-P
20:35:00 <AnMaster> <ehird> THINGS THAT MAKETH ME KILL BITCHES: quitting ghci not stopping the lagfsest of "let a a= a" <-- process still running invisible or something?
20:35:12 * AnMaster is confused
20:35:18 <ehird> AnMaster: forked ghc or sth
20:35:21 <AnMaster> aha
20:35:23 <ais523> why is (let a a = a) a loop anyway?
20:35:40 <ais523> I find it hard enough figuring out what it does at all
20:35:43 <AnMaster> ehird, I assume killing the relevant processes help?
20:35:44 <AnMaster> helped*
20:35:50 <ehird> yes.
20:35:55 <ehird> ais523: i said
20:35:56 <ehird> let a = a
20:35:59 <ehird> as a correction
20:36:01 <ais523> oh, ok
20:36:03 <ehird> ehird: THINGS THAT MAKETH ME KILL BITCHES: quitting ghci not stopping the lagfsest of "let a a= a"
20:36:03 <ehird> 19:28 ehird: a = a
20:36:04 <ais523> that makes a lot more sense
20:36:11 <ehird> ais523: let a a = a is just \x -> x
20:36:13 <ehird> aka id
20:36:23 <ehird> ais523: because it's
20:36:23 <Deewiant> ehird: That could easily have been a correction from 'a= a' to 'a = a'
20:36:27 <ehird> let a = \a -> a
20:36:29 <ais523> do the first and second as there have different scopes?
20:36:32 <ehird> so the binding trivially shadows it
20:36:36 <ais523> ah, ok
20:36:42 <ais523> it's just very confusing seeing that particular shadowing
20:36:48 <ais523> I suppose that's why shadowing is looked down on
20:37:02 <ehird> Prelude> let a a a = a a a
20:37:02 <ehird> <interactive>:1:6:
20:37:03 <ehird> Conflicting definitions for `a'
20:37:05 <ehird> In the definition of `a'
20:37:13 <ehird> Prelude> let a = \a -> \a -> \a -> a a a
20:37:13 <ehird> <interactive>:1:26:
20:37:14 <ehird> Occurs check: cannot construct the infinite type: t = t -> t -> t1
20:37:18 <ehird> So it does check for argument shadowing.
20:43:30 <ehird> huh
20:43:36 <ehird> cabal-install says I can upgrade cabal, haddock and process
20:43:42 <ehird> I guess upgrading cabal isn;t too clever
20:44:02 <Deewiant> No, you can do that fairly safely IME
20:44:12 <ehird> haddock and process too?
20:44:17 <Deewiant> process probably not
20:44:28 <ehird> why; what's wrong with upgrading process?
20:44:34 <Deewiant> It's a base lib
20:44:36 <Deewiant> GHC depends on it
20:44:45 <ehird> ah
20:44:47 <Deewiant> Upgrading such libraries tends to break things
20:44:59 <ehird> Eh, I'll leave them unupgraded for now
20:45:01 <Deewiant> Or at least, make it hard to get them working properly :-P
20:45:05 <Deewiant> Haddock should be fine though
20:45:07 <AnMaster> Why would cabal even offer the possibility then?
20:45:12 <ais523> what's scroll-down in less if you can't use the arrow keys?
20:45:18 <Deewiant> ais523: j?
20:45:26 <ais523> Deewiant: apparently not
20:45:28 <ais523> I guessed j too
20:45:29 <AnMaster> ais523, why can't you use the arrow keys though?
20:45:32 <ehird> ais523: enter
20:45:35 <Deewiant> ais523: space?
20:45:36 <AnMaster> and why would j do it?
20:45:49 <ais523> AnMaster: because I'm using CDE over X forwarding, and it doesn't seem to like arrows
20:45:57 <Deewiant> AnMaster: vi keys
20:45:57 <ehird> enter
20:46:00 <ais523> and I guessed j because less is similar to vi
20:46:12 <AnMaster> ais523, enter and space works here
20:46:16 <AnMaster> space jumps one page
20:46:19 <AnMaster> enter one line
20:46:21 <ais523> oh, I see what happened
20:46:25 <ehird> 19:44 ehird: ais523: enter
20:46:25 <ais523> it opened more, not les
20:46:27 <ais523> *less
20:46:29 <ehird> y'all blind? :P
20:46:32 <ais523> and more doesn't support arrow keys
20:46:32 <AnMaster> ais523, h opens help
20:46:34 <ais523> ehird: enter worked fine
20:46:39 <AnMaster> ehird, I saw it
20:46:44 <ehird> ais523: yes, but everyone kept saying other things after
20:47:29 <AnMaster> I wonder why more even exists?
20:47:36 <ais523> AnMaster: it's older
20:48:01 <ehird> what a stupid question
20:48:05 <ehird> why does ed exist?
20:49:00 <AnMaster> ais523, what do you gain with more?
20:49:19 <ais523> AnMaster: it's smaller and simpler
20:49:33 <ais523> for instance, I imagine more is a better fit for busybox than less
20:49:50 <ehird> AnMaster: more was made before less
20:49:54 <AnMaster> ais523, you don't even gain any memory unless the user scrolls down, but if the user waits until all output is produced you still have to wait as much
20:49:55 <ehird> do you want a time machine or something
20:50:00 <ais523> busybox more works, and busybox less doesn't
20:50:04 <AnMaster> s/wait as much/load as much/
20:50:16 <ais523> AnMaster: more is a smaller binary than less, I imagine
20:50:25 <AnMaster> <ais523> busybox more works, and busybox less doesn't <-- it has both iirc?
20:50:27 <ehird> my more is less(1) anyway
20:50:30 <ehird> so wtf are you talking about
20:50:33 <ais523> $ ls -l `which more` `which less`
20:50:34 <ais523> -rwxr-xr-x 1 root root 30316 2008-09-25 14:08 /bin/more
20:50:36 <ais523> -rwxr-xr-x 1 root root 120884 2008-02-02 03:51 /usr/bin/less
20:50:43 <ais523> AnMaster: well, my busybox doesn't have less compiled in
20:50:48 <ais523> why would it, that's missing the point of busybox
20:50:49 <ehird> (~) more
20:50:49 <ehird> Missing filename ("less --help" for help)
20:50:50 <AnMaster> mine has both
20:50:58 <ehird> ) busybox emacs
20:50:59 <AnMaster> ais523, why should it have http at all?
20:50:59 <ais523> also, interesting to see that more is in /bin but less is in /usr/bin
20:51:04 <AnMaster> httpd*
20:51:17 <AnMaster> that is a way more interesting question
20:51:27 <ais523> that means that more has to fit on the root partition, but less can be in a separate /usr partition
20:51:40 <ais523> makes sense, you have more for troubleshooting mount problems, and the larger less for everyday use
20:52:35 <AnMaster> http://sources.busybox.net/index.py/trunk/busybox/networking/httpd.c?view=markup btw
20:52:46 <oklowob> from time to time i reduce all learning into one integer, which simply measures the time spent learning, and start wondering whether it's actually any use studying, as people will learn from everything anyway
20:52:47 <ehird> httpd makes senes
20:52:48 <ehird> sense
20:53:06 <oklowob> i mean clearly there's a different learning factor for each activity
20:53:07 <ais523> wow, busybox httpd actually works on here
20:53:11 <ais523> I wonder how good the httpd is?
20:53:15 <ais523> and it makes more sense than less
20:53:21 <oklowob> if you sleep, you won't learn as much as when actually studying
20:53:23 <AnMaster> ais523, hah hah
20:53:26 <ais523> busybox httpd is a very small and simple httpd
20:53:31 <ais523> busybox more is a very small and simple more
20:53:34 <AnMaster> ais523, was the pun unintentional?
20:53:35 <ehird> ais523: it has a config size
20:53:40 <ehird> ais523: file
20:53:42 <ehird> ais523: and does cgi
20:53:56 <ais523> ehird: still pretty simple compared to most
20:53:58 <oklowob> but for some reason my intuitive factors oscillate between sensible values, and equals for all activities
20:54:02 <AnMaster> ais523, well?
20:54:03 <oklowob> just wanted to share this
20:54:03 <ehird> ais523: i agree
20:54:09 <oklowob> use it wisely
20:55:33 <ehird> ais523: that httpd is 743 lines with comments, cpp and blank lines stripped
20:55:37 <ehird> well
20:55:39 <ehird> not cpp removed
20:55:44 <ehird> cc -E httpd.c | sed 's/#.*//' | sed '/^$/d'
20:55:51 <ehird> pretty small for its features
20:55:55 <ais523> yep
20:55:58 <AnMaster> ehird, it uses some commented out areas with #if 0 though
20:56:01 <AnMaster> so not accurate
20:56:05 <ehird> AnMaster: cc -E
20:56:07 <ehird> removes those
20:56:08 <ehird> duh
20:56:08 <AnMaster> ah right
20:56:45 <AnMaster> ehird, -E would include headers though
20:58:29 <ehird> AnMaster: it ony lincludes libbb.h
20:58:33 <ehird> which I don't have, so that works fine
20:58:39 <AnMaster> ah true
21:02:58 <ehird> this mouse wheel is unfortunately tall; finger that rests on it's hurting
21:03:10 <ais523> ehird: you rest a finger on the mouse wheel?
21:03:16 <ehird> yes
21:03:20 <ais523> when I use a mouse, I have a finger on left-click and a finger on right-click
21:03:28 <ais523> and move from left-click to wheel to use the wheel
21:03:33 <ehird> ais523: I use the scrollwheel every few seconds, and I middle click to open links in a new tab
21:03:39 <AnMaster> ais523, same for me
21:03:43 <ehird> I use the middle button and wheel more than the right button
21:04:09 <ehird> index finger on left button, middle finger on scrollwheel, ring finger on right button
21:04:26 <ehird> wish I was polydactyl
21:04:42 <ehird> that would be awesom
21:04:43 <ehird> e
21:04:47 <AnMaster> index finger on right, middle finger on left for me, or the opposite. I tend to use the mouse equally well with either hand
21:05:56 <AnMaster> I always move the index finger when scrolling though it seems
21:06:06 <ehird> oklowob: are you polydactyl
21:06:10 <ehird> seem the type
21:06:16 <bsmntbombdood> ehird: so have you started writing that gc yet?
21:06:42 <ehird> bsmntbombdood: no, because it'd be like 35 lines in a scripting lang [for a prototype i don't care about speed]
21:06:44 <AnMaster> only issue is that I can type well with only left hand, but not with only right
21:06:53 <bsmntbombdood> ehird: NO
21:06:56 <bsmntbombdood> you must write in C
21:07:48 <ehird> bsmntbombdood: fu _|_
21:08:03 <ehird> the gc itself would be trivial but i cba to write memory management shit for a proof of concept interp
21:08:37 <bsmntbombdood> trival = not fast
21:09:14 <ehird> bsmntbombdood: i said proof of concept
21:09:33 <ehird> sure I could spend my whole life perfecting it like the boehm guys but I don't want to at first, just want to prove it works
21:09:34 <bsmntbombdood> the concept is already prooft
21:09:46 <ehird> I've never seen an impl.
21:10:15 <bsmntbombdood> so?
21:10:30 <ehird> So I want to write one.
21:10:47 <bsmntbombdood> so write a fast one
21:11:16 <ehird> why? that's wasted work until I can prove it works well
21:11:20 <ehird> and doesn't sound as fun.
21:12:50 <AnMaster> bsmntbombdood, ehird is right in this case.
21:13:14 <ais523> AnMaster: retract that statement, not because ehird is wrong but because it'll cause a rift in the universe if you personally say that too much
21:13:37 <ehird> ais523: i'm talking with a slight swedish accent these days
21:13:43 <ehird> can I panic now?
21:14:27 <AnMaster> Don't panic.
21:14:35 <ehird> that confirms it
21:14:35 * ais523 hopes ehird is lying, to save the integrity of their brain
21:14:36 * ehird panics
21:14:55 <AnMaster> I was just quoting HHGTTG
21:14:58 <ehird> ais523: oh I'm sorry, do you need ~ markers to detect jokes? ;P
21:15:04 <ehird> ... AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:08 <ais523> ehird: not normally
21:15:11 <ais523> not even that time
21:15:11 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:13 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:14 <ehird> AAAAAAAAAAAAAAAAAAAAAA
21:15:16 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:15:18 <AnMaster> ehird, even I saw it was a joke...
21:15:18 <ehird> :(
21:15:20 <ais523> but the mere possibility you weren't joking was too horrible to contemplate
21:15:30 <ehird> you all missed the metajoke
21:15:32 <ehird> jerks
21:15:33 <AnMaster> also I thought ais523 was meta-joking...
21:15:34 <AnMaster> duh
21:15:43 <ehird> 20:14 ehird: ais523: oh I'm sorry, do you need ~ markers to detect jokes? ;P <---- this is something AnMaster would say
21:15:51 <ais523> well, I thought someone was metajoking, but I couldn't figure out who
21:15:53 <ehird> especially the ;P
21:16:02 <ais523> and I mentally filter out smileys
21:16:05 <ais523> they tend not to mean much anyway
21:16:06 <ehird> the AAAAAAAAAAAAAAAA was the last vestiges of ehird panicing inside
21:16:08 <AnMaster> ais523, aren't we still meta-joking?
21:16:11 <ais523> apart from :>, because it brings back fond memories
21:16:11 <AnMaster> ...
21:16:22 <ais523> wait, I think we've got up to at least two metas now
21:16:22 <AnMaster> ais523, fond memories or what?
21:16:24 <ais523> maybe three
21:16:27 <ais523> AnMaster: *of?
21:16:31 <AnMaster> ais523, four in my count
21:16:32 <ais523> and eso-std.org
21:16:33 <AnMaster> ais523, yes
21:16:36 <AnMaster> aha
21:16:38 <ais523> sometimes I fly around in a spaceship :>
21:16:53 <ais523> it's still parked, by the way
21:17:04 <ehird> every time I read that line I get a full mental picture of the lil' :> smiley in a tiny spaceship buzzing around space
21:17:22 <ehird> ais523: it's not parked parked; i could renew it for the regular cost right now
21:17:45 <ais523> ehird: I get a mental image of a spaceship that looks like a :>
21:18:01 <ehird> ais523: oh, that wasn't the intention, the :> was what the author of the sentence looked like
21:18:14 <ehird> I suppose a :> spaceship could work, but it's less amusing IMO
21:18:24 <AnMaster> so which side of the keyboard you prefer to put the mouse on? Or are you equally good with either side?
21:18:34 <ehird> AnMaster: er, right handed people at right sid
21:18:35 <ehird> e
21:18:37 <ehird> left at left
21:18:44 <AnMaster> ehird, I manage both equally well
21:18:51 <ehird> then you're ambidextrous
21:19:00 <AnMaster> ehird, yet I'm right handed when I use a pencil
21:19:09 <AnMaster> can't use a pencil with my left hand at all really
21:19:20 <ais523> maybe you're ambisinistrous
21:19:40 <AnMaster> oh and for fork/knife I'm definitely left handed. Always swap compared to the usual style
21:19:49 <ehird> http://moonpatio.com/vacuum/gallery/dblist.html
21:19:53 <ehird> http://moonpatio.com/vacuum/
21:20:28 <bsmntbombdood> a long on a 64 bit platform is 64 bits right?
21:20:33 <ehird> yes.
21:20:36 <ehird> an int should be but isn't.
21:21:00 <AnMaster> bsmntbombdood, depend on *which* 64-bit platform...
21:21:10 <AnMaster> but usually yes
21:21:11 <ehird> AnMaster: the answer is 'yes'
21:21:41 <AnMaster> ehird, Not always.
21:21:45 <AnMaster> usually yes
21:22:24 <ais523> ehird: did you try my Enigma level, btw?
21:22:42 <ehird> nope; relink and i'll dl
21:23:37 * ais523 digs out the URL
21:24:07 <ais523> http://filebin.ca/gexxmq/ais52306_1.xml
21:24:08 <ehird> brb ->
21:24:10 <ais523> not sure if it's still there
21:24:18 <AnMaster> ehird, Is it specified anywhere that long corresponds to machine word size?
21:24:24 <AnMaster> you seemed to say so above
21:24:25 <ais523> AnMaster: no
21:24:31 <ais523> in theory int corresponds to machine word size
21:24:35 <ais523> but that fails on an 8-bit system
21:24:38 <ais523> and on some 64-bit systems
21:24:48 <ais523> in practice, long corresponds to machine word on 32 and 64 bit
21:24:52 <ais523> but in theory that's incorrect
21:25:08 <AnMaster> ais523, C99 specs indicate that long must be at least 32 bits. It specifies minimum acceptable values for LONG_MAX and such
21:25:18 <ais523> C89 indicates that long's at least 32, too
21:25:29 <ais523> which means it never corresponds to machine word if the machine word's shorter than 32
21:25:30 <AnMaster> that would fail on a 8-bit machine
21:25:36 <AnMaster> exactly
21:25:40 <ais523> back when systems were either 16 or 32, int was the one that corresponded to word size
21:25:52 <ais523> but so many programmers assumed int=32 that most 64-bit C compilers also have int=32
21:26:04 <ais523> even though int=64 is theoretically correct on those
21:26:18 <AnMaster> bsmntbombdood, thus long is 64 bits in practise on 64-bit platforms, but it isn't guaranteed.
21:26:21 <ais523> (not to mention, you'd have to use int16_t to get a 16-bit int, because short would presumably be 32-bit)
21:26:24 <AnMaster> bsmntbombdood, might be useful to know
21:26:45 <ais523> in theory, long can be 128 on a 64-bit platform, but nobody does that
21:26:56 <ais523> normally even long long is 64, although it can be 128
21:27:06 <AnMaster> ais523, in practise long long is also 64 bits on 64 bit platforms iirc
21:27:14 <ais523> yep
21:27:17 <bsmntbombdood> what about long long long long long long?
21:27:18 <bsmntbombdood> :P
21:27:24 <ais523> bsmntbombdood: only two longs can be stacked
21:27:24 <AnMaster> bsmntbombdood, syntax error I think
21:27:32 <ais523> AnMaster: no, it's equivalent to long long I think
21:27:40 <ais523> just like you can write const const int and it works, IIRC
21:27:42 <AnMaster> bsmntbombdood, use C99 and then include stdint.h. Much better
21:27:46 <ais523> not sure, though
21:27:47 <AnMaster> and use int32_t and such
21:27:55 <bsmntbombdood> stdint doesn't have int128 does it?
21:28:04 <AnMaster> bsmntbombdood, that is non-standard
21:28:13 <AnMaster> bsmntbombdood, most implementations doesn't have it
21:28:21 <AnMaster> GCC does as __int128_t
21:28:39 <ais523> stdint is allowed to have an int128_t by the standard
21:28:42 <ais523> but it isn't mandatory
21:28:52 <AnMaster> indeed
21:28:55 <ais523> in fact, it's allowed to have an intN_t for any N
21:29:01 <ais523> even if it isn't a multiple of the bitwidth of char, IIRC
21:29:09 <AnMaster> ais523, intt_t?
21:29:10 <AnMaster> err
21:29:14 <AnMaster> int3_t*
21:29:14 <ais523> although uintN_t must have N a multiple of CHAR_BIT
21:29:22 <AnMaster> ais523, that would make no sense
21:29:23 <ais523> because uintN_t can't have padding
21:29:34 <AnMaster> ais523, err... why can't they?
21:29:38 <ais523> AnMaster: yes it would, most likely it would be stored in one byte, with 3 bits value and 5 bits padding
21:29:41 <ais523> and because the standard says so
21:29:50 <SimonRC> http://i33.photobucket.com/albums/d87/peavypeavy/farnsworth.jpg
21:29:52 <AnMaster> any reason for the no padding bit?
21:30:12 <ais523> AnMaster: presumably so you can specify exact-sizes properly
21:30:24 <ais523> if you don't care about exact size, why aren't you using uint_fastN_t?
21:30:26 <AnMaster> ais523, what about bit addressable systems?
21:30:38 <ais523> AnMaster: C doesn't support those directly
21:30:42 <ais523> because CHAR_BIT has to be at least 8
21:30:49 <AnMaster> ais523, maybe because you need to optimise memory usage rather than speed in the specific application?
21:30:56 <ais523> uint_leastN_t, then
21:31:10 <AnMaster> ah true, forgot about that one
21:32:23 <AnMaster> why does most system only use ring 0 and ring 3? I mean there are two more levels in between on x86...
21:32:40 <AnMaster> what would they be useful for anyway?
21:35:55 -!- k has joined.
21:36:18 -!- kar8nga has quit (Nick collision from services.).
21:36:20 -!- k has changed nick to kar8nga.
21:38:19 -!- revcompgeek has joined.
21:44:48 -!- FireFly has joined.
21:54:23 <AnMaster> heh some x86 data structures are crazy
21:54:40 <SimonRC> a processor has datastructures?
21:54:42 <AnMaster> I mean 20 bit field for segment limit?
21:54:54 <AnMaster> SimonRC, stuff like TLBs, segment descriptors and such
21:55:15 <AnMaster> well not TLBs, they are the caches for the page translations
21:55:26 <SimonRC> If you can see segments, you're likely to be doing it wrong
21:55:32 <AnMaster> SimonRC, you know about interrupt vectors?
21:55:46 <AnMaster> SimonRC, what?
21:56:11 <SimonRC> well, the first thing most modern OSes do on the x86 is turn off segmentation
21:56:26 <AnMaster> SimonRC, well yes, but the registers are still used partly for some stuff
21:56:29 <SimonRC> what are x86 interrupt vectors like?
21:56:30 <AnMaster> even in 64-bit mode
21:56:46 <AnMaster> SimonRC, don't remember off hand. Anyway the page entries have crazy formats too
21:57:13 -!- ais523_ has quit ("http://www.mibbit.com ajax IRC Client").
22:01:10 <AnMaster> SimonRC, the stuff it pushes on the stack though for interrupt vectors seems crazy
22:01:47 <AnMaster> SimonRC, packed odd sized words...
22:01:58 <AnMaster> I think
22:02:07 <SimonRC> heh
22:02:36 <AnMaster> SimonRC, I'm reading the AMD64 docs btw..
22:03:50 <SimonRC> ok
22:04:24 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
22:04:39 <AnMaster> SimonRC, ever seen the x87 saved state format? It is possibly even worse
22:04:55 <AnMaster> that is used during task switching to store and restore the register state
22:05:21 <SimonRC> 80-bit FP stack saved in a funny way?
22:05:52 <AnMaster> SimonRC, yes and SSE registers are saved into some reserved space in there :D
22:05:58 -!- revcompgeek has left (?).
22:06:54 <SimonRC> causing slow context-switches, surely?
22:08:19 <AnMaster> SimonRC, not really, also the OS can do it lazily, that is set some flag that causes an interrupt when the app tries to use floating point, thus avoiding setting it up when not used
22:08:22 <AnMaster> :D
22:08:33 <AnMaster> I know Linux makes use of that, at least in recent versions
22:08:34 <bsmntbombdood> yeah, cool beens
22:09:30 <SimonRC> AnMaster: I heard of it first in Synthesis (which you must have read about)
22:09:43 <AnMaster> err what?
22:10:08 <AnMaster> anyway the format of the dump from FSAVE is described using a diagram which covers two pages in the pdf
22:10:17 <SimonRC> AnMaster: (ah, you might be interested to read about the synthesis OS then)
22:10:36 -!- ais523 has joined.
22:10:44 <AnMaster> SimonRC, link?
22:10:59 <SimonRC> waitamo
22:10:59 <Deewiant> AnMaster: New CCBI/Mycology up.
22:11:15 <SimonRC> (its idea is that you don't do lots of ifs and table lookups every time someone wants to read a load of bytes froma file, instead you compile a custom reading function when the open the file.)
22:11:22 <AnMaster> Deewiant, oh? Nice
22:11:55 <ais523> Deewiant: Link?
22:12:10 <Deewiant> ais523: iki.fi/deewiant
22:12:38 * ais523 looks
22:13:17 <AnMaster> SimonRC, not sure how much that would help. Also self modifying code would mean invalidating lots of cache lines
22:13:22 <AnMaster> and so on
22:13:32 <AnMaster> so usually not a good idea for files
22:14:33 <ais523> what does G in STRN do?
22:15:06 <SimonRC> AnMaster: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4871
22:15:25 <fizzie> ais523: Reads a zero-terminated string from funge-space with a fixed delta of x=1, y...=0.
22:15:43 <AnMaster> mhm
22:15:43 <ais523> oh, and it infinite-loops if there isn't a zero
22:16:09 * oklowob started doing teh lottery
22:16:11 <ais523> well, it's pretty hard to test for a tight infinite loop using nothing but standard Befunge...
22:16:11 <Deewiant> Thanks to Mycology most interpreters actually reflect there :-P
22:16:16 <AnMaster> mhm
22:16:23 <Deewiant> ais523: Yeah, that was my original thought
22:16:28 <ais523> Deewiant: how? by checking the entire Lahey-line to see if there isn't a 0?
22:16:33 <oklowob> i'm going to be a millionaire
22:16:52 <ais523> oklowob: seriously? the lottery has negative expectation, on average you lose money
22:16:53 <AnMaster> ah postscript.. heh
22:16:55 <ais523> no matter what you do
22:17:08 <Deewiant> ais523: Once you've come back to where you started you know there's no 0
22:17:13 <fizzie> I'm sure oklowob's reality-warping properties can help there.
22:17:15 <ais523> Deewiant: yep
22:17:18 <oklowob> ais523: yes, but it has a great standard deviation, and that's all that matters if you only live once
22:17:30 <AnMaster> actually runtime specialising constants is a cool idea...
22:17:35 <ais523> oklowob: err... but what if you lose rather than win?
22:17:38 <ais523> that's more likely, after all
22:17:38 <AnMaster> I was considering it for cfunge (seriously)
22:17:45 -!- tombom has joined.
22:17:56 <AnMaster> I mean I can know if tracing is enabled once I parsed arguments
22:17:57 <oklowob> it's much more probably to become a millionaire playing lottery than playing a game with smaller prices and 99% expectation
22:18:00 <oklowob> *probable
22:18:11 <ais523> oklowob: well, yes
22:18:17 <ais523> but on average, you'll lose more than a million pounds trying
22:18:23 <ais523> and you don't /have/ a million pounds
22:18:30 <oklowob> i won't live nearly long enough to use that much
22:18:42 <oklowob> i'll probably stop after losing a few thousand
22:18:44 <Slereah> No, but he weighs a million pounds
22:18:46 <Slereah> *rimshot*
22:18:51 <ais523> that's a rubbish rimshot
22:18:56 <oklowob> but at least i've given perfect life a shot
22:19:06 <ais523> I wouldn't say a million is enough for a perfect life nowaday
22:19:08 <ais523> *nowadays
22:19:18 <ais523> you'd be hard-pressed to buy a 1-bedroom house in Central London for that
22:19:40 <AnMaster> Deewiant, iirc you reflect if you pass the edge at all?
22:19:43 <AnMaster> in G I mean
22:19:55 <AnMaster> Deewiant, I think that is what you made me implement as a result. IIRC
22:19:58 <SimonRC> AnMaster: ah, but the code do
22:20:00 <Deewiant> AnMaster: Possibly... that's a bug then ;-)
22:20:03 <SimonRC> oops
22:20:09 <AnMaster> Deewiant, you suggested that iirc.
22:20:09 <oklowob> sure is, you can get two pizzas every day just from the interest
22:20:10 <AnMaster> :P
22:20:21 <SimonRC> I meant, the problem of chache lines is analysed in the paper
22:20:27 <Deewiant> AnMaster: Well, it's UNDEF as usual.
22:20:38 <fizzie> Deewiant: You could also argue that since G doesn't do space-suppression, passing the edge means you have to return an infinite string.
22:20:41 <oklowob> ais523: why would i want a bigger house than i have now
22:20:43 <AnMaster> Deewiant, not going to be corrected for this version anyway
22:20:52 <Deewiant> fizzie: Ah right, that'd explain why.
22:20:54 <ais523> oklowob: not a case of bigger, it's a case of nearer
22:21:01 <ais523> and not at today's interest rates you won't
22:21:05 <AnMaster> yes
22:21:05 <Deewiant> AnMaster: What fizzie said.
22:21:10 <oklowob> i just want to be able to universitize all my life
22:21:14 <AnMaster> Deewiant, I reflect though
22:21:33 <Deewiant> Well, Funge doesn't support infinite strings.
22:21:35 <ais523> oklowob: you'd be hard-pressed even paying international university fees + accomodation on the interest from a million pounds
22:21:39 <oklowob> ais523: the uni is about 500 meters away
22:21:41 <Deewiant> So reflecting is the only option.
22:21:42 <ais523> ah, ok
22:22:27 <oklowob> international maybe not. finnish definitely yes.
22:22:30 <AnMaster> Deewiant, indeed. Also you could argue that it was due to OOM. My computer doesn't support a string that is 2^31 chars (and even less 2^63)
22:22:31 <fizzie> Deewiant: You could fake it by marking that particular stack-stack to return 32 on underflow instead of 0. Although then there's y and such.
22:22:39 <AnMaster> Deewiant, I have 1.5 GB RAM "only"
22:23:05 <AnMaster> though you could write a bit at either extreme
22:23:06 <Deewiant> fizzie: Heh.
22:23:06 <AnMaster> I guess
22:23:31 <Deewiant> AnMaster: And yes, that's exactly why.
22:23:54 <AnMaster> Deewiant, anyway I think fizzie's explanation makes sense
22:24:03 <AnMaster> which is why I will continue to reflect
22:24:39 <Deewiant> Are you sure? You could save a few cycles by looping infinitely ;-)
22:24:50 <AnMaster> hah hah
22:25:09 <AnMaster> Deewiant, profiling doesn't show it as a major bottle neck currently
22:25:16 <AnMaster> I prefer to spend time where it actually helps
22:25:29 <Deewiant> AnMaster: For kicks you can try the 64-bit CCBI binary and see how slow it is
22:25:46 <AnMaster> Deewiant, 32-bit or 64-bit funge space?
22:26:05 <Deewiant> I'm not sure actually. Probably 32-bit.
22:26:07 <Deewiant> int_fast32_t.
22:26:37 <AnMaster> Deewiant, I thought it was D not C..?
22:26:53 <Deewiant> AnMaster: I've told you many times before that the D standard libraries include the C standard library.
22:27:14 <AnMaster> Deewiant, well here that ends up as 64-bit
22:27:18 <fizzie> On this box, based on a very cursory header-look, I've got an 8-bit int_fast8_t, and 64-bit in_fast{16,32,64}_t.
22:27:22 <AnMaster> hope your y reflects that correctly Deewiant?
22:27:26 * ais523 wonders how easy it would be to write a Funge-98-like interp that gets a BAD on every single test in Mycology that it can without exiting, yet nevertheless manages to run through to the end
22:27:27 -!- GregorR has quit (Connection timed out).
22:27:31 -!- GregorR has joined.
22:27:36 <Deewiant> AnMaster: Of course.
22:27:59 <AnMaster> anyway that is plain wrong. 32-bit funge space is always faster for cfunge on x86/x86_64
22:28:02 <Deewiant> ais523: Relatively easy.
22:28:26 <AnMaster> ais523, there are a few tests you must do GOOD on to continue though
22:28:56 <ais523> yes, I know, that's why I said "without exiting"
22:28:57 <oklowob> can someone link current mycology?
22:29:08 <Deewiant> iki.fi/deewiant
22:29:11 <ais523> even more interestingly, is it possible to fail sanity.bf yet pass mycology.bf?
22:29:17 <Deewiant> ais523: No.
22:29:28 <AnMaster> Archive: ccbi-linux-x86.zip
22:29:28 <AnMaster> inflating: ccbi-linux/ccbi
22:29:28 <AnMaster> replace ccbi-linux/changelog.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
22:29:30 <AnMaster> Deewiant, very fun
22:29:35 <AnMaster> try different directory names
22:29:45 <Deewiant> No, that was intentional.
22:29:52 <ais523> well, maybe it might fail on small files for some reason
22:30:23 <AnMaster> Deewiant, you managed to get the +x bit correct this time. Congrats!
22:30:35 <Deewiant> AnMaster: Well, I'm on Linux.
22:31:02 <Deewiant> Also, it's 4 bytes here.
22:31:04 <oklowob> Deewiant: that's not current mycology, but thanks anyway
22:31:13 <Deewiant> oklowob: It's close enough.
22:31:15 <AnMaster> Deewiant, then D differs from C.
22:31:29 <AnMaster> $ time ~/src/cfunge/trunk/other/ccbi/ccbi_linux/ccbi.32 mycology.b98 >/dev/null
22:31:29 <AnMaster> real 0m0.631s
22:31:29 <AnMaster> user 0m0.599s
22:31:29 <AnMaster> sys 0m0.018s
22:31:42 <AnMaster> time ~/src/cfunge/trunk/other/ccbi/ccbi_linux/ccbi.64 mycology.b98 >/dev/null
22:31:42 <AnMaster> real 0m0.663s
22:31:42 <AnMaster> user 0m0.612s
22:31:42 <AnMaster> sys 0m0.038s
22:31:59 <Deewiant> That's somewhat unexpected.
22:32:11 <AnMaster> Deewiant, still quite a bit to go to reach even cfunge with full env and output to stdout
22:32:16 <oklowob> Deewiant: yes, that's why i thanked
22:32:34 -!- neldoret1 has joined.
22:32:35 <AnMaster> Deewiant, when not redirecting ccbi to /dev/null I get times around real 0m0.812s
22:32:52 <AnMaster> and 0m0.895s for the 64-bit one
22:32:54 <oklowob> got that's a lot of befunge
22:32:56 <oklowob> *god
22:32:59 <Deewiant> I wonder why the 32-bit one is faster.
22:33:20 <oklowob> probably asked this, but is that time traveling thing tested? (TRDS?)
22:33:23 <AnMaster> Deewiant, no idea. Maybe your compiler sucks?
22:33:27 <Deewiant> oklowob: mycotrds.b98 is there.
22:33:30 <oklowob> ahhh
22:33:30 <Deewiant> AnMaster: LLVM...
22:33:31 <AnMaster> Deewiant, also didn't you test locally?
22:33:40 <Deewiant> No, I didn't time them.
22:33:43 <AnMaster> Deewiant, that should work well
22:33:45 <AnMaster> llvm I mean
22:33:54 -!- revcompgeek has joined.
22:33:56 <AnMaster> Deewiant, what CPU did you optimise for though?
22:34:06 <Deewiant> Either my own or none?
22:34:10 <AnMaster> for me you would need whatever means the same as GCC's -march=k8
22:34:17 <Deewiant> I didn't pass any -march
22:34:21 <AnMaster> well -march=k8 -msse3
22:34:22 <AnMaster> even
22:35:24 <Deewiant> For LDC it's -mcpu and not -march, evidently. In any case, I guess it's best to not do anything for public binaries.
22:36:38 <ais523> Deewiant: I've just noticed something in your Mycology testing output
22:36:42 -!- neldoreth has quit (No route to host).
22:36:44 <AnMaster> Deewiant, oh ok. I always do that when comparing. setting CFLAGS='-O3 -march=k8 -msse3' at least
22:36:49 <ais523> you're marking programs as wrong when they claim the path separator is / on Windows
22:36:52 <AnMaster> I have tested and found that:
22:36:57 <Deewiant> ais523: Quite.
22:36:59 <AnMaster> -O3 -march=k8 -msse3 -ftree-vectorise -DNDEBUG -pipe -fweb -ftracer -frename-registers -fprefetch-loop-arrays -fomit-frame-pointer -fmodulo-sched -fgcse-sm -fgcse-las -fgcse-after-reload -funsafe-loop-optimizations -fno-math-errno -fno-trapping-math -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts -fvariable-expansion-in-unroller -fbranch-target-load-optimize
22:37:01 <AnMaster> works very well
22:37:05 <AnMaster> yeah insane I know
22:37:08 <ais523> modern Windows supports either / or \ as the path separator, certain methods of determining the separator on Windows give / as the output
22:37:10 <ais523> because after all it works
22:37:11 <AnMaster> that is gcc 4.1.2 too
22:37:38 <Deewiant> ais523: It doesn't work in all contexts, which is why I'd prefer \.
22:37:54 <ais523> \ doesn't work in all contexts either, IIRC
22:37:58 * AnMaster waits for anyone to comment on that list above...
22:37:59 <Deewiant> AnMaster: I wonder how much difference the UPX compression makes?
22:38:01 <Deewiant> ais523: Really?
22:38:05 <Deewiant> AnMaster: For CCBI, that is.
22:38:09 <AnMaster> Deewiant, oh that would slow down definitely
22:38:10 <ais523> I'm not entirely sure, I haven't used Windows for ages
22:38:13 <AnMaster> that is my experience
22:38:16 <ais523> but if you're trying to create a file called CON or something
22:38:17 <AnMaster> Deewiant, try removing that
22:38:17 <Deewiant> AnMaster: Yes, but how much.
22:38:28 <ais523> there's a trick involving multiple forwards slashes and various other incantations
22:38:31 <AnMaster> Deewiant, I don't remember. time it yourself
22:38:39 <AnMaster> Deewiant, I haven't used UPX for years
22:38:51 <ais523> oh, apparently prefixing \\.\ works too
22:38:57 <ais523> so maybe it can be done with just backslashes
22:39:08 <Deewiant> AnMaster: I don't have cfunge to test against, since bzr is broken.
22:39:20 <AnMaster> Deewiant, your bzr is broken? huh
22:39:28 <AnMaster> Deewiant, even 0.92 should work iirc...
22:39:28 <Deewiant> AnMaster: Not mine, all bzr are broken.
22:39:35 <Deewiant> AnMaster: I posted the bug report earlier today.
22:39:35 -!- oerjan has joined.
22:39:36 <fizzie> Should've used ctdrl, eh?
22:39:37 <AnMaster> Deewiant, what do you mean all bzr are broken?
22:39:45 <AnMaster> Deewiant, how are they broken?
22:39:48 <Deewiant> 2009-03-28 15:15:34 ( Deewiant) Yay, bzr assumes that gethostname() returns ASCII
22:39:50 <AnMaster> and which bug report
22:39:52 <Deewiant> 2009-03-28 15:16:48 ( Deewiant) https://bugs.launchpad.net/bzr/+bug/193089
22:39:52 <AnMaster> ah
22:39:59 <lifthrasiir> i spent all night optimizing PyFunge... (it's 6:30 AM here) it's now 20x faster than original. hmm.
22:40:06 <AnMaster> Deewiant, err how does that affect cfunge?
22:40:19 <Deewiant> AnMaster: It means that no matter what bzr command I run it crashes at start.
22:40:32 <AnMaster> $ host 67.202.82.20
22:40:32 <AnMaster> 20.82.202.67.in-addr.arpa domain name pointer rage.kuonet.org.
22:40:39 <AnMaster> oh you mean local host
22:40:40 <AnMaster> right
22:40:41 <Deewiant> AnMaster: My hostname, not yours.
22:40:50 * oerjan ponders an alternative way of making unlambda palindromes
22:41:05 <Deewiant> AnMaster: -mcpu=core2 made practically no difference for CCBI here, maybe 0.01s.
22:41:09 <AnMaster> Deewiant, Read the last comment to that bug
22:41:13 <AnMaster> Deewiant, I don't have a core2
22:41:25 <Deewiant> AnMaster: Yes, but I do, my point being that the difference is likely to be small.
22:41:30 <AnMaster> Deewiant, anyway for cfunge -msse3 does make a difference since I use -ftree-vectorise
22:41:41 <Deewiant> AnMaster: Yes, I read it and laughed: "we should probably" a year ago.
22:41:45 <ais523> how can every bzr everywhere be broken
22:41:52 <ais523> surely they wouldn't have pushed an update that didn't work?
22:41:55 <AnMaster> Deewiant, hm
22:42:03 <Deewiant> ais523: A bug tends to affect all binaries, not just one. ;-)
22:42:18 <ais523> Deewiant: I mean, why didn't they test before distributing the binaries?
22:42:20 <Deewiant> ais523: Of course, whether that bug affects you or not depends on various things, but the bug still exists.
22:42:24 <AnMaster> ais523, it is broken when you have a hostname like ööö.lan
22:42:26 <AnMaster> or such
22:42:27 <fizzie> Deewiant: I hate to say it, but I think it's your fault for having a "funny" hostname.
22:42:34 <ais523> it's not "why does the bug affect all binaries", but "why did they let everyone have a buggy binary"
22:42:42 <lifthrasiir> Deewiant: is the non-ascii hostname common btw?
22:42:45 <Deewiant> ais523: Bugs happen, you can't fix them all.
22:42:47 <Deewiant> lifthrasiir: I doubt it.
22:42:54 <Deewiant> fizzie: Yeah, I figured someone would say that. :-P
22:42:57 <ais523> lifthrasiir: does PyFunge pass Mycology yet?
22:43:00 <Deewiant> ais523: Yes.
22:43:02 <AnMaster> Deewiant, actually is that even valid? I mean DNS uses the odd -- notation for a reason
22:43:03 <AnMaster> ...
22:43:10 <Deewiant> AnMaster: No reason why it shouldn't be.
22:43:15 <AnMaster> I have to agree with fizzie here
22:43:16 <lifthrasiir> ais523: I'll test.
22:43:23 <lifthrasiir> test with it.*
22:43:52 <AnMaster> Deewiant, anyway, fix your hostname I'd say
22:44:06 <Deewiant> AnMaster: I don't want to.
22:44:16 <oerjan> um i thought there was international agreement that unicode hostnames were to be made legal
22:44:18 <AnMaster> Deewiant, I think it isn't valid currently.
22:44:35 <fizzie> It's not a valid DNS name as-is, but I don't see why it couldn't be a hostname.
22:44:36 <AnMaster> oerjan, err what about the punnycode thing or whatever the name was.
22:44:41 <Deewiant> AnMaster: I'd rather that programs wouldn't do stupid things like crash on non-ASCII.
22:44:53 <AnMaster> anyway why should it care about encoding at all
22:44:57 <Deewiant> Exactly.
22:44:59 <AnMaster> it is just bytes for gods sake
22:45:02 <AnMaster> oh wait
22:45:02 <Deewiant> Exactly!
22:45:04 <AnMaster> it is python
22:45:09 <oerjan> AnMaster: i didn't read the conversation
22:45:10 <Deewiant> AnMaster: It is also X.org and KDE.
22:45:11 <AnMaster> it is a high level unicodeish stringy
22:45:15 <fizzie> Well, they need to show the bytes to the user.
22:45:16 <AnMaster> Deewiant, err?
22:45:20 <AnMaster> Deewiant, they crash too?
22:45:21 <Deewiant> AnMaster: Two other things that have broken.
22:45:33 <Deewiant> Or I'm not 100% sure about KDE.
22:45:39 <AnMaster> fizzie, that's up to the terminal!
22:45:49 <AnMaster> Deewiant, how should the system know what encoding is used
22:45:51 <AnMaster> it can't
22:45:52 <Deewiant> But 'iceauth' in X.org had a completely pointless isascii() check for the whole of the hostname.
22:45:55 <Deewiant> AnMaster: Locales!
22:46:11 <AnMaster> Deewiant, well I use sv_SE locally on some system that has en_US for root
22:46:14 <AnMaster> where I don't have root
22:46:22 <fizzie> If you want locales, then gethostname should return the name in the current ctype.
22:46:23 <Deewiant> In any case, Postel's law, for crying out loud.
22:46:23 <AnMaster> Deewiant, still think locale makes sense?
22:46:31 <Deewiant> AnMaster: Yes?
22:46:37 <AnMaster> Deewiant, the locale that root user could differ from the user locale
22:46:39 <lifthrasiir> Deewiant: well... it seems to be unbuffered I/O still get BAD
22:46:40 <AnMaster> that is even common
22:46:44 <Deewiant> AnMaster: So use the root user's locale?
22:46:48 <Deewiant> lifthrasiir: O_o
22:46:54 <Deewiant> lifthrasiir: It shouldn't, I tested it
22:46:58 <lifthrasiir> message has been changed but condition looks same
22:47:02 <AnMaster> Deewiant, how would you be able to find that in a distro independent way?
22:47:03 <AnMaster> you can't
22:47:05 <ais523> Deewiant: by the way, are you planning to get comparisons between Befunge-93 interps using Mycology-93?
22:47:07 <lifthrasiir> hmm... starnge.
22:47:12 <Deewiant> ais523: Nope.
22:47:16 <Deewiant> ais523: Most of them work.
22:47:17 <AnMaster> Deewiant, your idea just doesn't work.
22:47:20 <AnMaster> period.
22:47:21 <ais523> Deewiant: well, I suppose so
22:47:28 <ais523> there are lots of fun corner cases in -93 too
22:47:33 <Deewiant> AnMaster: Is there no way to find it out?
22:47:39 <ais523> for instance interfunge crashes if given a program bigger than 80x25, rather than trimming it
22:47:45 <ais523> but I think that's legit behaviour
22:47:55 <AnMaster> Deewiant, well you could have a list of distros and try to find the relevant file in /etc, which varies between distros
22:48:00 <AnMaster> some might not even have it there at all
22:48:04 <Deewiant> AnMaster: And in any case, how likely is it that you run sv_SE.iso88591 under en_US.utf8 or whatever
22:48:05 <AnMaster> but I don't think that is a good idea at all
22:48:16 <AnMaster> Deewiant, the opposite happened though
22:48:45 <Deewiant> AnMaster: In which case there'd be no special characters in the hostname since it's en_US :-P
22:48:53 <AnMaster> Deewiant, fr_CA.isowhatever for system and locally I used sv_SE.utf8
22:49:02 <Deewiant> O_o
22:49:02 <AnMaster> now that could have odd chars
22:49:29 <AnMaster> Deewiant, I don't even remember what distro it was, it might have been bsd even
22:49:42 <AnMaster> Deewiant, anyway point is you can't really solve this
22:49:50 <AnMaster> so I'd say: tough luck
22:49:51 <Deewiant> iconv exists.
22:49:59 <lifthrasiir> Deewiant: http://pastie.org/430096
22:50:13 <AnMaster> Deewiant, how can you figure out what encoding is used?... A lot of strings could be several
22:50:19 <fizzie> Personally I would really not rather mix up gethostname and locales.
22:50:24 <AnMaster> fizzie, same
22:50:32 <AnMaster> I'd say "not a bug" for that bzr bug
22:50:36 <AnMaster> if I was a developer
22:50:36 -!- revcompgeek has left (?).
22:50:40 <AnMaster> (of bzr)
22:50:42 <lifthrasiir> it screwed stack and terminates early.
22:50:47 <Deewiant> lifthrasiir: So what's your 1y pushing??
22:51:03 <lifthrasiir> the former is 0x01, the later is 0x11
22:51:16 <AnMaster> Deewiant, did you fix that incorrectly? heh
22:51:24 <AnMaster> as in change the text but not the check
22:51:26 <Deewiant> AnMaster: Well, it was already broken.
22:51:34 <Deewiant> AnMaster: No, I'm not that stupid. :-P
22:52:15 * lifthrasiir analyzes the forest of funge codes
22:52:18 <Deewiant> lifthrasiir: What exact value? 0b10011?
22:52:22 <ais523> That this Funge has 1 dimensions
22:52:24 <ais523> BAD: should be 2, or we wouldn't have got this far
22:52:26 <ais523> beautiful
22:52:28 <lifthrasiir> Deewiant: yes
22:52:37 <AnMaster> ais523, it is off by one in the stack
22:52:47 <ais523> AnMaster: ah, ok
22:52:49 <AnMaster> Deewiant, he already said 0x11
22:52:53 <ais523> still a beautiful error message though
22:52:54 <fizzie> They still could easily make the bzr code not *crash* when given strange bytes from gethostname, and that way make it more robust.
22:53:00 <Deewiant> AnMaster: Right, x and not b
22:53:03 <Deewiant> Misread
22:53:25 <AnMaster> Deewiant, you should be able to convert that to binary easily :P
22:53:40 <Deewiant> I'm no good at reading hexadecimal
22:53:49 <ais523> 00010001
22:53:54 <ais523> I'm pretty good at reading hex
22:53:58 <AnMaster> 1> io:format("~.2B~n", [16#11]).
22:53:58 <AnMaster> 10001
22:54:03 <AnMaster> that is what I would do
22:54:15 <AnMaster> erlang rocks for working with unusual bases for numbers
22:54:25 <fizzie> "bc" works for that too.
22:54:31 <Deewiant> Gah, now it works only for 0b11111 or anything below 0b10000.
22:54:44 <AnMaster> Deewiant, how did you manage that?
22:55:05 <Deewiant> I don't know, but I have a hunch.
22:55:22 <AnMaster> I wonder why q(). in erlang returns you to a prompt and then quits about a second later
22:55:33 <AnMaster> I guess it is async but it seems a bit weird
22:55:45 <AnMaster> (also that is just a erlang shell mapping to init:stop() iirc)
22:56:23 -!- kar8nga has quit (Remote closed the connection).
22:56:54 <Deewiant> Man, this piece of code is starting to annoy me.
22:56:57 <AnMaster> Deewiant, interesting hostname btw. Why did you select that?
22:57:02 <Deewiant> This is like the 20th time I've fixed it.
22:57:19 <AnMaster> Deewiant, test it for all possible combinations. There aren't that many
22:57:20 <Deewiant> AnMaster: Is it visible somewhere?
22:57:39 <AnMaster> Deewiant, it says "bartimäus" in https://bugs.launchpad.net/bzr/+bug/193089 yes
22:57:39 <AnMaster> ...
22:57:43 <Deewiant> AnMaster: Yes, I know, the problem is more fixing it.
22:57:46 <Deewiant> AnMaster: Not my bug report.
22:57:49 <AnMaster> oh
22:57:55 <AnMaster> Deewiant, I thought you said it was?
22:58:01 <Deewiant> You thought wrong.
22:58:05 <AnMaster> Deewiant, so what is your host name then?
22:58:14 <Deewiant> Does it matter? :-P
22:58:40 <fizzie> Deewiant: Yes. If it's sufficently funny, we might let you keep it.
22:58:49 <AnMaster> Deewiant, anyway my plan is to release cfunge 0.4 on Monday. Just FYI.
22:58:54 <Deewiant> I'm going to keep it anyway and bitch at broken programs
22:59:08 <fizzie> POSIX gethotname just says it returns a null-terminated array of bytes, and does not specify any limits except a maximum length of HOST_NAME_MAX bytes, so we don't even have the law on our side, really.
22:59:21 <AnMaster> gethotname?
22:59:22 <AnMaster> :D
22:59:32 <fizzie> s/hot/host/
22:59:38 <fizzie> Heh, that would be a useful library function.
22:59:45 <oklowob> :D
22:59:53 <fizzie> I could just call gethotname() when I need a name for a project.
23:01:05 <AnMaster> host names are defined as "network host names" it seems
23:01:18 <fizzie> Yes, but that does not really imply any rules.
23:01:58 <fizzie> The 'nodename' field for uname is defined to "contain the name of this node within an implementation-defined communications network".
23:02:45 <fizzie> And anyway, you could argue that it's legal and sensible to have a (say, UTF-8) hostname and a punycoded unicode-DNS-name pointing at that host.
23:04:12 <fizzie> I wouldn't, though.
23:05:36 <fizzie> OS X probably has a reasonably well-defined encoding for the host name, actually; and I'm sure non-ascii names are far more common there, since it's very logical to write funny characters in pretty dialogs.
23:05:52 <AnMaster> "it's very logical to write funny characters in pretty dialogs"
23:05:53 <AnMaster> haha
23:05:55 <AnMaster> why
23:05:56 <AnMaster> ?
23:06:02 <Deewiant> Windows also.
23:06:22 <Deewiant> AnMaster: Well, I guess his point was that command line users know to be careful with non-ASCII.
23:06:27 <fizzie> With an interface that pretty, I personally would have the feeling that it's okay to stuff unicode in.
23:06:59 <fizzie> Though gethostname() on OS X seems to do some sort of magic related to reverse-lookups and whatnot, based on the fact that the hostname shown in bash prompt tends to change when I connect to different wlans and such.
23:07:14 <fizzie> While the defined-in-the-pretty-dialog "computer name" does not.
23:07:37 <fizzie> Still, I'd guess it uses that name *somehow* if there's no network connection.
23:11:44 <fizzie> On that system the hostname corresponds to a kern.hostname sysctl entry, but I can't find any documentation about what "string" there means, encoding-wise. Just the property names are specified to be ASCII.
23:13:00 <AnMaster> "hostname shown in bash prompt tends to change when I connect to different wlans and such"
23:13:03 <AnMaster> how irritating
23:13:13 <AnMaster> fizzie, that would seriously suck
23:13:16 <fizzie> Heh, Linux sysctl syscall manpage: "Glibc does not provide a wrapper for this system call; call it using syscall(2). Or rather... don’t call it: use of this system call has long been discouraged, and it is so unloved that *it is likely to disappear in a future kernel version*. Remove it from your programs now; use the /proc/sys interface instead."
23:13:20 <AnMaster> I hope you can turn it off
23:13:41 <fizzie> I haven't seen how to turn it on, but generally most things tend to be possible.
23:13:44 <AnMaster> fizzie, yeah because it was a pain to maintain iirc
23:14:08 <AnMaster> fizzie, for gentoo just tell dhcpcd to not accept hostname
23:14:31 <ais523> fungot: show me some nonsense
23:14:32 <fungot> ais523: mine*: made by the way. it captures its prey by remaining very still and blending into the dust; the red marble table in front of him does not imply being happy and that another covered his ears, and elrond their child. ( knight of the tatra mountains.
23:14:33 <AnMaster> config_eth0=( "dhcp" )
23:14:33 <AnMaster> dhcp_eth0="nodns nontp nonis nosendhost"
23:14:42 <AnMaster> well
23:14:45 <AnMaster> nodns isn't for that
23:14:56 <AnMaster> it is because I have a local caching dns server
23:15:23 <AnMaster> fungot, nethack?
23:15:23 <fungot> AnMaster: trolls are born again.
23:15:31 <AnMaster> hehe
23:15:33 <ais523> ^style
23:15:33 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
23:15:34 <AnMaster> direct quote?
23:15:38 <ais523> ^style nethack
23:15:38 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
23:15:40 <AnMaster> about trolls
23:15:40 <fizzie> Quite probable.
23:16:06 <fizzie> rumors.fal:They say that most trolls are born again.
23:16:59 <fizzie> I'm not sure why that's classified as a false rumor, since I think trolls do revive? Unless you do something to the corpse, anyway.
23:17:09 <Deewiant> lifthrasiir: Mycology should be fixed now.
23:17:15 <lifthrasiir> thanks
23:17:22 <lifthrasiir> :)
23:17:33 <Deewiant> I didn't try all 32 permutations but it really should work this time. :-P
23:17:57 <fizzie> That wikia-nethack-thing has some very "practical" methods for troll removal: "Completely fill the level with monsters so that the troll has nowhere to revive."
23:18:12 <Deewiant> lifthrasiir: Does it work now?
23:19:20 <AnMaster> nighr
23:19:22 <AnMaster> night*
23:19:24 <ais523> night
23:19:39 <Deewiant> http://mailman2.u.washington.edu/pipermail/alpine-info/2008-September/001220.html says that iPhones can have UTF-8 hostnames.
23:19:53 <ais523> fizzie: well, that's the only known way to get rid of the Horsemen of the Apocalypse
23:19:59 <ais523> so you may as well kill spare trolls while you're at it
23:20:02 <oerjan> ais523: `?d`?c`?d`?c`?d`?c`?d``v````````````.H.e.l.l.o.,. .W.o.r.l.di`d```````````````d`id.l.r.o.W. .,.o.l.l.e.H.````````````v``d?`c?`d?`c?`d?`c?`d?`
23:20:12 <oerjan> Alternative method
23:20:31 <ais523> oerjan: what does `?d do if you've never input anything?
23:20:37 <lifthrasiir> Deewiant: well, this time it doesn't work correctly with buffered i/o... :S
23:20:50 <Deewiant> Sigh.
23:20:50 <oerjan> same as no match, iirc
23:20:54 <Deewiant> lifthrasiir: Which bit pattern?
23:21:00 <ais523> also, you're rather taking advantage of the fact that hello world ends in a legal Unlambda comman
23:21:02 <ais523> *command
23:21:02 <fizzie> "Death farming", what an amusing concept.
23:21:06 <lifthrasiir> i'm testing with all possible 32 combinations.
23:21:10 <ais523> fizzie: fastest way to score points
23:21:26 <oerjan> ais523: yes, but i explained on the wiki the substitution we discussed
23:21:46 <Deewiant> lifthrasiir: Oh, wait, you're right, it doesn't work here either. O_o
23:21:56 <Deewiant> I think I'm just too tired, I shouldn't be doing this now. :-P
23:22:10 <fizzie> ais523: It still sounds hilarious. "If the number of death-dropped items exceeds 32,767 on the same square, the game will probably crash, so periodically checking Death's square and redistributing the items (possibly by teleporting them away, or polymorphing them together) is necessary."
23:22:18 <Deewiant> Well, looks like it just broke the stack, the test itself works.
23:22:44 <ais523> oerjan: really? I see in the recent changes log your solution, but not an explanation of it
23:22:46 <oerjan> as for taking advantage, i have a feeling it should be possible for this particular case to do some of the work in the padding, e.g. by starting with `.d
23:22:48 <ais523> should I look at the actual page?
23:23:16 <oerjan> um last line
23:23:23 <oerjan> it mentions the substitution
23:23:27 <lifthrasiir> yes the test works. sanity test (is it less than 32?) is also okay.
23:23:37 <oerjan> of course i don't use it here because it's unnecessary
23:24:11 <Deewiant> There's a 0 on the stack; where is it coming from, I wonder?
23:24:32 * lifthrasiir wonders if some crazy interpreter returns negative number for 1y
23:25:00 <AnMaster> lifthrasiir, I do in efunge for size of cells. Since it use bignums I just say -1
23:25:00 <ais523> are you using `vd`padding to get rid of the padding?
23:25:04 <AnMaster> but not 1y
23:25:14 <lifthrasiir> is that 2y?
23:25:17 <lifthrasiir> anyway
23:25:21 <AnMaster> lifthrasiir, don't remember
23:25:26 <oerjan> ais523: um neither wiki example avoids the padding
23:26:26 <oerjan> but if i were to let the padding do work then it would have to be v d based rather than e of course
23:26:41 <ais523> using e is cheating
23:26:48 <oerjan> you think so? :D
23:27:00 <ais523> cheating in esolangs is generally allowed, though
23:27:08 <Sgeo> (_a)0*= does nothing, right?
23:27:13 <oerjan> it has the advantage that you return the right evaluated result
23:27:18 <Sgeo> Would (_a)0= make _a hold a pointer?
23:27:38 <Deewiant> lifthrasiir: Now at last??
23:27:42 <comex> http://qoid.us/cgi-bin/scribd.cgi
23:27:44 <comex> thoughts
23:27:52 -!- tombom has quit ("Peace and Protection 4.22.2").
23:27:55 <lifthrasiir> Deewiant: mycology updated?
23:27:58 <Deewiant> Yes
23:28:26 <oerjan> ais523: until today i thought it couldn't be done without e
23:28:54 <lifthrasiir> uugh...
23:28:54 <oerjan> since the padding must start with `. or `?, and without e there is no way to avoid applying those
23:29:26 <ais523> because you'd get spurious printing?
23:29:26 <ais523> you may be able to do it with k and d, actually
23:29:26 <oerjan> (well, for general programs. since Hello, world ends with d that might still work
23:29:27 <ais523> not needing v
23:29:32 <Deewiant> lifthrasiir: That doesn't sound good ;-P
23:30:07 <lifthrasiir> Deewiant: it now screws the stack for 16(0b10000) to 31(0b11111)... i think.
23:30:18 <Deewiant> But the previous one didn't?
23:30:18 <oerjan> um well since ?x without a previous @ always applies to v ....
23:30:34 -!- swistakm has joined.
23:30:40 <Deewiant> Hmm, you're right, why did that change do that
23:30:50 -!- calamari has joined.
23:30:53 <Deewiant> I thought this code wasn't even run for that case :-/
23:31:10 <Deewiant> Oh, aha
23:31:13 <Deewiant> Here we go
23:31:18 <Deewiant> Now /this/ better work
23:32:03 <Deewiant> lifthrasiir: Uploaded
23:32:34 <oerjan> now if it was possible to avoid both ?x and e altogether we might have an 1.0 solution
23:33:51 <lifthrasiir> Deewiant: still same. ...well do i have the most recent version?
23:34:26 <Deewiant> Ah, that's another one where 0b11111 works but not any other unbuffered one
23:34:33 <Deewiant> How do I manage this? :-P
23:35:28 <Deewiant> I blame all my troubles on zero-terminated strings
23:35:30 <lifthrasiir> heh.
23:35:47 <lifthrasiir> Deewiant: what do you use when editing funge code?
23:35:51 <lifthrasiir> what editor*
23:35:55 <Deewiant> Seriously, for the past 15 minutes all I've been doing is trying to zero-terminate a string
23:35:58 <Deewiant> lifthrasiir: vim
23:36:05 <lifthrasiir> just vim?
23:36:08 <Deewiant> Yep
23:36:18 * SimonRC recalls a trefung editor written in trefunge somewhere
23:36:19 <lifthrasiir> O_O
23:36:25 <Deewiant> Yep
23:36:33 <Deewiant> I forget what it's called but it should be googlable
23:37:01 <Deewiant> lifthrasiir: Perhaps now?
23:37:17 <lifthrasiir> well... it may be GLFunge editor mode.
23:37:53 <Deewiant> lifthrasiir: And what do you use, then?
23:38:28 <lifthrasiir> Deewiant: okay! it works correctly.
23:38:35 <Deewiant> Finally!
23:38:48 <lifthrasiir> (i tried some of combinations and all works)
23:38:55 <Deewiant> Annoying piece of string-printing code that can be entered from four different contexts :-P
23:39:04 <fizzie> I don't think there is such a thing as a GLfunge editor mode.
23:39:34 <fizzie> Although certainly there was a vision of one.
23:40:06 <lifthrasiir> i just looked up man pages from google, so obviously i don't know whether it is implemented.
23:40:15 <Deewiant> fizzie: It has a command line option for editor mode, but it doesn't seem to do anything
23:40:28 <fizzie> Deewiant: Heh, that's sad.
23:40:32 <Deewiant> lifthrasiir: There are two Befunge editors, both of which crash quite early in Mycology
23:40:44 <lifthrasiir> ooh.
23:40:44 <SimonRC> Deewiant: huh?
23:40:53 <Deewiant> SimonRC: Huh?
23:41:06 <M0ny> M0ny, huh ?
23:41:07 <SimonRC> I thought mycology was a test of interpreters, not an interpreter itself
23:41:26 <Deewiant> Yes, it is
23:41:32 <Deewiant> By 'Befunge editor' I meant 'Befunge editor'
23:41:36 <Deewiant> Not 'editor written in Befunge'
23:41:53 <ais523> it could be both
23:42:01 <Deewiant> Or strictly speaking 'Befunge editor with bundled interpreter', I guess. What other use would a Befunge editor be?
23:42:03 <fizzie> Deewiant: Your "Befunge editor" seems to imply that the editor is also capable of interpreting.
23:42:13 <Deewiant> fizzie: And yes, that's what I implied.
23:42:25 <SimonRC> Deewiant: well, it could invoke a seperate bef terp
23:42:29 <Sgeo> !glass {M[m (_t)(_o)O!(_t)(_o)o.?]}
23:42:30 <SimonRC> emacs-style
23:42:40 <Sgeo> ..why didn't I get a response?
23:42:46 <fizzie> For Trefunge, a good editor even without a bundled interp might be good.
23:42:53 -!- ehird has left (?).
23:42:54 <Deewiant> SimonRC: But what kind of stuff could it do without builtin functions that practically make it an interp?
23:42:58 <fizzie> Ooh, the glfunge98 sourceforge page has a very old, very non-working email address, too. Must be why I get no feedback.
23:43:03 <Sgeo> !glass {M[m(_o)O!"Test"(_o)o.?]}
23:43:16 <Sgeo> !glass {M[m(_o)O!"Hello World!"(_o)o.?]}
23:43:22 <Sgeo> Is the interpreter here?
23:43:24 <Deewiant> Hmm, GLfunge98 segfaults on mycology
23:43:31 <SimonRC> Deewiant: well, defaulting to overstrike mode, and moving rectangles around easily
23:43:31 <fizzie> Deewiant: That's unsurprising.
23:43:33 <Deewiant> This may or may not be known.
23:43:39 <ais523> what's glfunge98 like?
23:43:43 <fizzie> ais523: Horrible.
23:43:44 <ais523> Sgeo: no
23:43:44 <Deewiant> Old, mostly.
23:43:45 <SimonRC> they would apply to any grid language, not just befonge
23:43:46 <ais523> egobot left years ago
23:43:55 <Sgeo> :(
23:44:00 <Sgeo> How do I test my glass then
23:44:02 <Deewiant> SimonRC: Most decent editors can do that.
23:44:13 <Deewiant> And I actually prefer not being in overstrike mode most of the time.
23:44:15 <SimonRC> Deewiant: how do you make vim do it?
23:44:29 <Deewiant> SimonRC: Replace mode for the former and visual block mode for the latter.
23:44:38 <fizzie> Deewiant: Do you use the virtualedit thing?
23:44:53 <Deewiant> fizzie: Yes.
23:44:57 <Sgeo> oerjan, are there any Glass interpreters?
23:45:00 <Deewiant> virtualedit=block,onemore IIRC.
23:46:13 -!- swistakm has quit ("Lost terminal").
23:46:16 <SimonRC> Deewiant: well I never knew visual block did that
23:46:49 -!- ehird has joined.
23:46:53 <ehird> a
23:47:01 <SimonRC> b
23:47:07 <ehird> cz
23:47:41 <Asztal_> good move
23:47:53 <ehird> mood gooveee'z
23:48:21 -!- swistakm has joined.
23:48:57 <fizzie> I think I wrote a bit of Glass-to-Java compiler, but I'm not sure how finished it ever was. Probably not very.
23:49:52 <Sgeo> Hm http://esoteric.voxelperfect.net/files/glass/
23:49:53 <ehird> also lol@okloplottery
23:49:58 <ehird> swistakm: hi. you new?
23:50:12 <ais523> ehird: swistakm was in #IRP, looking for information
23:50:13 <swistakm> ehird: yes
23:50:25 <ehird> swistakm: welcome
23:50:57 <ehird> 14:19:06 <ais523> I wouldn't say a million is enough for a perfect life nowaday
23:51:01 <ehird> depends on your definition of perfect life
23:51:05 <ehird> who would want to live in london? :-)
23:51:05 <ais523> well, yes
23:51:09 <ais523> and heh
23:51:10 <lament> wow, there's still someone in #IRP?
23:51:13 <fizzie> Sgeo: I have here glass-0.{9,10,11}.tar.bz2 (the remains of that broken befunge.org link in the esolangs wiki, I let the domain expire) but if that place has glass-0.12.tar.bz2, I guess that's not very useful
23:51:37 <ais523> lament: not only that, several people in #IRP
23:51:38 * Sgeo blames fizzie
23:51:48 <ais523> (your reaction seems typical of #esotericers, though)
23:52:00 <ais523> #IRP's like alt.lang.intercal; still read-active, but people rarely speak there
23:52:09 <ehird> yeah we higher #esotericians are full of disdain for the hoi polloi #IRP
23:53:33 -!- swistakm_ has joined.
23:53:47 <ehird> i can't believe the lottery is so popular in the uk
23:53:51 <ehird> do people have no brains?!
23:54:00 <fizzie> Looking at the topic, I had a sudden urge to set it "it's been [0] days since the topic was last changed", and tell you to keep it updated.
23:54:18 <ehird> they don't even guard the stupidity of it behind some stupid game
23:54:23 <ehird> which is common enough
23:54:42 <swistakm_> ehird: some people have brains. They make loteries
23:54:48 <lament> ehird: wanna play a game?
23:54:53 <ehird> lament: no :)
23:54:55 <lament> ehird: if you give me $100, there's a chance i'll give you $1000000 back
23:55:04 <ehird> lament: and this chance is?
23:55:16 <SimonRC> ehird: I dunno, the lottery isn't that sutpid
23:55:21 <ehird> if it's something like 7 gajillion to one consider me uninterested
23:55:22 <lament> ehird: i can't quantify it exactly. It's quite small.
23:55:34 <SimonRC> utility isn't linear with amount of money, y'know
23:55:35 <lament> It depends on the number of tickets sold.
23:56:07 <ehird> SimonRC: the fact is that lottery players (and I generalize here because the winners are few enough to be statistically insignificant) waste one pound a week continuously
23:56:23 <ehird> or is it £2?
23:56:29 <lament> let's just say the return expectation value is positive for one of us
23:56:54 <SimonRC> OTOH, it is wise to buy one's lottery ticket as late as reasonably possible
23:57:07 <Sgeo> SimonRC, hm?
23:57:12 <lament> just like ebay auctions
23:57:14 <SimonRC> to reduce the chance of being killed in a road crash below that of winning, or whatever
23:57:25 <ehird> haha
23:57:36 <ehird> reminds me of Sgeo's time traveling computer
23:57:37 * SimonRC can't recall that actual time
23:57:39 <Sgeo> SimonRC, so basically, if you get killed, you won't have wasted the lottery ticket money
23:57:43 <Sgeo> ?
23:57:46 <lament> ehird: are you risk-neutral?
23:57:54 <SimonRC> Sgeo: yeah, I think
23:58:22 <ehird> lament: it depends.
23:58:22 <SimonRC> and there are silly things like a cab to the airport being far more dangerous than the airplane ride itself
23:58:31 <SimonRC> I may be mis-remembering
23:58:43 <ehird> more risk averse than seeking, in general
23:59:05 <Sgeo> Which death sounds better: The death being on the national news (airplane), or local news (cab ride)?
23:59:14 <SimonRC> ooh, dunno
23:59:28 <ehird> err, why the fuck does it matter, I'm dead :D
23:59:58 <lament> isn't buying lottery tickets the risk-averse thing to do?
2009-03-29
00:00:00 <SimonRC> OTOH, you can't spend several minutes screaming in the time it takes your car to hit something
00:00:10 <ehird> lament: wut? how on earth?
00:00:15 <ehird> that makes no sense
00:00:21 <SimonRC> OTOOH, planes usually crash at times they're supposed to be close to the ground anyway
00:00:24 <ehird> SimonRC: I'd just pick the least painful
00:00:26 <lament> your loss of $1 is entirely risk-free
00:00:37 <oerjan> Sgeo: i see you found the glass link i would have suggested
00:00:43 <ehird> lament: "If offered either €50 or a 50% chance of €100, a risk averse person will take the €50, a risk seeking person will take the 50% chance of €100, and a risk neutral person would have no preference between the two options."
00:01:38 <SimonRC> (assuming that $50 has exactly half the utility of $100?)
00:02:11 <ais523> SimonRC: actually, risk-averseness is often taken to affect the utility function
00:02:22 <ais523> if $100 has more than twice the utility of $50, you're risk-loving
00:02:26 <ais523> if it has less than twice, you're risk-averse
00:02:37 <ais523> unfortunately, the theory breaks down in that most people don't have a consistent utility function
00:03:15 <lament> unfortunately, the theory breaks down in that most people aren't spherical
00:03:21 <Sgeo> utility $1 million > utility (1/2) $2 million, for me anyway
00:03:24 <Sgeo> haha lament
00:03:25 <ais523> lament: why does that matter?
00:03:41 <ais523> Sgeo: you're risk-averse with large amounts of money, nearly everyone is
00:03:48 <lament> if people were spherical, there would be a very high risk of them just rolling away
00:03:56 <ehird> ais523: I think that's mainly because,
00:04:01 <ehird> we don't really understand amounts that large
00:04:07 <SimonRC> ok: step 1, lt us assume a spherical American
00:04:13 <Sgeo> ais523, you haven't heard the joke about horses?
00:04:13 <ehird> if we had $1mil for multiple years and managed the finances
00:04:17 <ehird> I'm sure that'd change
00:04:19 <ehird> SimonRC: :DD
00:04:28 <ais523> ehird: businesses tend to be a lot more risk-neutral than individuals
00:04:31 <ais523> possibly for that reason
00:04:34 <SimonRC> Sgeo: do tell
00:04:54 <lament> businesses tend to be a lot more risk-neutral than individuals, because unlike individuals, businesses don't die of old age in a few decades
00:05:02 <Sgeo> All I remember is some mathematician trying to predict horse races. "First, let us assume spherical horses:
00:05:03 <Sgeo> "
00:05:04 -!- neldoret1 has quit (Client Quit).
00:05:04 <lament> businesses only die if they perform badly
00:05:14 <lament> people die anyway, and they only have one life to take care of
00:05:21 * oerjan swats lament to increase the risk of such jokes -----###
00:05:25 <lament> so natural selection demands that they be risk-averse
00:05:48 * SimonRC wanders just how quickly Microsoft would be locked up if it were a human
00:05:50 <ehird> lament: not everyone thinks they will die
00:05:53 <ehird> [see religion]
00:06:00 <ais523> SimonRC: prison, or mental institution?
00:06:01 <ehird> I guess that changes their riskness
00:06:06 <SimonRC> ais523: both
00:06:14 <lament> ehird: the value of money is 0 after you die, though
00:06:21 <lament> even if you go to heaven or get reincarnated
00:06:22 <SimonRC> but even the devout generally avoid death
00:06:29 <ehird> lament: maybe your money goes to heaven with you
00:06:33 <lament> hah
00:06:36 <lament> what's that, scientology?
00:06:40 <ehird> erm
00:06:51 <ehird> :D
00:07:02 <ehird> ais523: is your level any good?
00:07:03 <SimonRC> lament: ah, but for an evolved mind under a legal system with inheritance law...
00:07:04 <ehird> tell me before I play it
00:07:05 -!- neldoreth has joined.
00:07:10 <ehird> SimonRC: *g*
00:07:16 <ais523> ehird: it's mostly a speed level, with a bit of intelligence
00:07:24 <ais523> it fits onto one screen and there's no hidden information
00:07:25 <SimonRC> level of what?
00:07:28 <ais523> SimonRC: Enigma
00:07:35 <SimonRC> describe
00:07:45 <ais523> and I can do it about 1 time in 10, in under 40 seconds
00:07:49 <lament> SimonRC: sure, that's valid
00:07:50 <ais523> SimonRC: it's a puzzle game
00:07:54 <ais523> you control a marble
00:07:57 -!- neldoreth has quit (Client Quit).
00:08:00 <ais523> which you can exert force on using your mouse
00:08:08 <ais523> the simplest levels you just have to move around a maze or whatever
00:08:08 <lament> SimonRC: although what evolved mind would count on all their children to remain evolved and rational?
00:08:15 <ais523> but normally there are lots of other things in the level to make it harder
00:08:34 <ais523> like boxes to push into water, or other moving things trying to run you down, or puzzles to solve
00:08:36 <ais523> especially puzzles
00:08:42 <ehird> is it uncommon not to be able to comprehend caring about things that happen after you stop having experiences? :|
00:09:04 <ais523> the level of mine I told #esoteric about today contains a flag, an extra life, and six moving arrow things
00:09:07 <SimonRC> ais523: a bit chip's challengy then?
00:09:11 <ais523> together with other things to make them move in a particular pattern
00:09:16 <lament> ehird: don't think so
00:09:18 <ais523> SimonRC: I don't know chip's challenge
00:09:24 <SimonRC> ah, a aclassic
00:09:27 <ehird> lament: good, then I'm normal :P
00:09:27 <ais523> but Enigma's nice and general, someone even programmed tetris in it
00:09:40 <Sgeo> ais523, you made an Enigma level?
00:09:43 <ais523> with the marble moving onto pressure plates to control the tetris thing
00:09:44 <ehird> Sgeo: 3.
00:09:44 <SimonRC> oh, wait, I think I have heard of this one before
00:09:47 <ais523> Sgeo: I've made several
00:09:50 -!- swistakm has quit (Connection timed out).
00:09:51 <Sgeo> COOL!
00:09:52 <ais523> 3 finished, 3 work-in-progress
00:09:55 <ais523> and about 2 at the idea stage
00:10:03 <ais523> which I haven't started coding yet
00:10:06 <Sgeo> Also, if I get world record speed, how do I indicate that to the world?
00:10:07 <SimonRC> I suck at puzzles though. I seem too details-oriented.
00:10:11 <ais523> Sgeo: not sure
00:10:20 <ehird> Sgeo: show enigma devs the recording
00:10:22 <Sgeo> (mind you, it was the April 1st level, which I did sometime in March)
00:10:27 <ehird> Would be the standard practice I assume
00:10:30 <oklowob> SimonRC: details-oriented is how you solve puzzles
00:10:32 -!- neldoreth has joined.
00:10:33 <ais523> Sgeo: is that even possible? I thought it was only possible on april 1
00:10:35 <Sgeo> ehird, you mean it doesn't update some server?
00:10:40 <ehird> Sgeo: heck no
00:10:43 <Sgeo> ais523, I changed the system clock
00:10:44 <ehird> way more lofi :^)
00:10:45 <ais523> Sgeo: I got the impression there was a server involved
00:10:46 <SimonRC> plus this world has denied me practice at tolerating being completely confounded by some task I want to do
00:10:54 <ehird> ais523: but it knows the names
00:10:55 <ais523> there's a ratings update option in the options
00:10:58 <ais523> but I'm not sure what it does
00:11:03 <ais523> ehird: ah, ok
00:11:06 <ais523> maybe you'd have to set it up first
00:11:08 <ehird> ais523: loads it from their server, I guess
00:11:13 <ehird> but you have to submit new records yourself
00:11:14 <ehird> I think
00:11:15 <ais523> or maybe you should just read the source to find out what happens
00:11:43 <ehird> ais523: oh jeez this looks hard
00:11:44 <ais523> ehird: anyway, first see how long it takes you to deduce what to do, then how long it takes you to do it
00:11:48 <ais523> the second took me longer
00:11:56 <SimonRC> (my reaction to the goddamned Basil puzzle was enough the convince me that fictional depictions of people going mad with obsession are at least plausible)
00:12:03 <ehird> ais523: i got hit and smashed but it isn't restarting
00:12:11 <ais523> why not?
00:12:15 <ais523> did you get trapped under the arrow block?
00:12:18 <ehird> Yes.
00:12:22 <ehird> That's what i mean by smashed
00:12:29 <ais523> I mean, you restart where you started
00:12:32 <ais523> if there's an arrow block there
00:12:35 <ais523> you respawn underneath it
00:12:36 <oklowob> SimonRC: usually when i can't get a puzzle i blame it's challenge not being purely mathematical.
00:12:36 <ehird> nope
00:12:37 <ais523> and so can't move
00:12:39 <ehird> ah
00:12:41 <ehird> well that's stupid
00:12:42 <Sgeo> Are ais523's levels included with Enigma, or do they need to be downloadd?
00:12:47 <ehird> Sgeo: downloaded
00:12:47 <ais523> Sgeo: downloaded, from me
00:13:11 <oklowob> of course i haven't solved rubik's cube yet, and it's just permutations, so that doesn't always work.
00:13:16 <ais523> ehird: another fun fact: although that level's entirely possible without f3, I find f3 makes it easier
00:13:26 <ehird> f3?
00:13:30 -!- swistakm_ has changed nick to swistakm.
00:13:31 <oklowob> (i'm relatively sure i could solve it now tho)
00:13:32 <ais523> kill current ball
00:13:39 <oklowob> (if only i had one)
00:13:41 <ais523> like shift-f3 but less dramatic
00:13:42 <ehird> I can't figure out how to not get crushed.
00:13:44 <SimonRC> oklowob: the usual rubik's solutions use lots of memorisation, AIUI
00:13:47 <ais523> ehird: see the flag?
00:13:52 <ais523> do you know what flags do?
00:13:56 <ais523> if not, you basically have no chance
00:14:02 <ais523> it's kind-of fundamental
00:14:03 <ehird> No idea whatsoeve
00:14:03 <ehird> r
00:14:11 <ais523> ehird: the flag marks the respawn point
00:14:15 <ais523> if you've picked up a flag at least once
00:14:16 <ehird> aha
00:14:17 <ais523> then dropped it
00:14:20 <ais523> you respawn at the flag
00:14:30 <Sgeo> oklowob, there are online Rubik's cubes
00:14:34 <ais523> I may as well tell you that so you have a chance, that's fundamental Enigma though and nothing to do with my programming
00:14:38 <ehird> ais523: ok, that's really hard
00:14:57 <ais523> ehird: in what way?
00:15:02 <ais523> I find the speed aspect's the hardest bit
00:15:07 <ehird> yes, exactly
00:15:10 <Sgeo> oklowob, if you don't mind Java, http://www.javaonthebrain.com/java/rubik/
00:15:24 <ais523> and actually, I normally have at least 1 second of buffer in which to do what I want
00:15:32 <ais523> just I keep bouncing and dropping the flag in the wrong place
00:15:39 <ehird> ais523: but, I only have one ball
00:15:41 <ais523> maybe I should use a friendlier floor to make it a bit easy
00:15:43 <ehird> how do I keep redoing it?
00:15:50 <ais523> ehird: you start with 2 in inventory, and there's a third on the level
00:16:04 <ehird> but I'd need to respawn like 5 times...
00:16:11 <ais523> ah, no you don't
00:16:20 <ais523> there are six bolders, but you can do it in three respawns
00:16:22 <oklowob> Sgeo: i don't really feel like a puzzle atm
00:16:23 <ais523> that's the intelligence bit
00:16:25 <ehird> wat
00:16:48 <oklowob> and i'm busy reading our uni's course listing.
00:16:57 <oklowob> and, you know, dreaming
00:17:04 <ehird> http://www.javaonthebrain.com/index.html so 1996
00:17:09 -!- M0ny has quit ("Quit").
00:17:16 <ehird> "but which will only perform well on computers with lightning-fast Internet connections, tons of memory, 600-MHz processors, "
00:17:33 <ais523> I just did it again, although 1s off my personal best
00:17:39 <ais523> so it must be possible
00:18:20 <ehird> I'm not going to bother
00:18:26 <ehird> I'm just not good at that sort of stuff
00:18:40 <ais523> ehird: what sort of enigma level are you good at?
00:18:47 <ais523> I don't think you've done any of mine yet
00:18:53 <ehird> Mu.
00:18:56 <ais523> not the intelligence, not the memory, not the speed
00:19:06 <ais523> should I make a dex level, or would you fail that too?
00:19:08 <ehird> But at least the non-speed ones don't break me. :D
00:19:48 <ais523> I thought the intelligence aspect of that was more interesting than the speed one
00:19:49 * Sgeo starts playing with the OOTS/Erfworld viewer
00:20:00 <ehird> ais523: if you make a hyper-slow version I'll give it a go :P
00:20:04 <ais523> if you like, work out, in the abstract, how that level's possible with only the three respawns you're given
00:20:17 <ais523> and I'm not sure how to slow those things down
00:20:28 <ais523> maybe by making the level bigger, but then you couldn't see the whole thing at once
00:20:40 <ais523> (incidentally, with an extra extra life, the level would become almost trivial)
00:21:22 <ehird> ais523: I keep dropping the flag then walking over it is the problem
00:21:32 <ais523> ehird: you can hold the mouse button to not pick up an item
00:21:36 <ehird> ah
00:21:37 <ais523> another Enigma trick that's nice to know
00:21:58 <ais523> although starting to hold it drops an item, so you need to be careful with when you start to hold
00:22:25 <ais523> this level probably scores a 4 for knowledge rather than the usual 3
00:22:26 <ehird> why can't you just click to drop then continue hold
00:22:28 <ehird> ing
00:22:30 <ais523> you can
00:22:32 <ais523> that's what I normally do
00:22:36 <ehird> ah
00:23:18 <ehird> "Last modified Februray 28, 2009. A Soko-Ban clone named ChocoBan. Also available for free for the iPhone and iPod Touch (from the Apple iTunes Store). "
00:23:25 <ehird> Wow that javaonthebrain.com site is still updated XD
00:25:01 <SimonRC> Sgeo: a GITP viewer?
00:25:09 <SimonRC> to compensate for slow site?
00:25:13 <Sgeo> tinyurl.com/ootsview
00:25:31 <Sgeo> ehird, wait what? I didn't notice that
00:25:44 <ehird> Sgeo: that jar doesn't open on os x.
00:26:06 <ehird> 28/03/2009 23:24:46 [0x0-0xb19b19].com.apple.JarLauncher[22878] java.lang.UnsupportedClassVersionError: Bad version number in .class file
00:26:07 <ehird> ah
00:26:09 <Sgeo> ehird, I know someone got it to work on OS X. The forum's down though
00:26:12 <ehird> what java version is it for
00:26:20 <Sgeo> No clue.
00:34:06 <Ilari> Also, enigma tip: if one doesn't have precise enough mousework for some levels and one is desperate enough to cheat, enable mousekeys. Those can be used for doing perfect main directions and diagonals.
00:38:46 <Sgeo> Grr, why is the viewer stuck on 443?
00:40:04 -!- ais523 has quit (Remote closed the connection).
00:41:14 <ehird> Ilari: Hey, person who never talks.
00:41:54 <ehird> Ilari: It is kind of predictable that you didn't react to that.
00:42:29 <Ilari> 600MHz processors? Case of receding horizons?
00:42:56 <ehird> Ilari: Are you lagged by several minutes? :D
00:43:07 <Ilari> Nope...
00:43:29 <Ilari> Or depending on workload, can be considerably more than that. :->
00:43:53 <ehird> Ilari: wow that smiley is epic, you're finnish right? so that sentence is actually ": [and now I depart]" but it's also a smiley woww
00:44:02 <ehird> you just expanded the theory of finnish ircing 10x
00:44:08 <ehird> :\
00:44:14 <ehird> oklowob: you should innovate like that more
00:44:37 * SimonRC is familiar with Alfandra smilies too
00:44:38 <fizzie> ehird: Speaking of never talking, I got mooz to get back to IRC, though not as far back as to actually get on this channel.
00:45:01 <ehird> fizzie: just make a channel relevant to his interests and set it to redirect here.
00:45:06 <ehird> he'll know what hit him immediately
00:45:27 <Ilari> Bait'n'switch?
00:45:41 <ehird> More like bait'n'#esoteric. That's catchy that.
00:45:52 <SimonRC> e.g. };=8
00:45:59 <ehird> SimonRC: Let me try!
00:46:17 <ehird> I have a piece of reverse penis on the top of my head, which has a serrated mouth. I am crying from one eye.
00:46:21 <ehird> } mouth
00:46:24 <ehird> ; crying lips
00:46:24 <SimonRC> no
00:46:28 <ehird> =8 severed reverse penis
00:46:32 <ehird> SimonRC: yes
00:47:00 <SimonRC> horns, wink, snout, nostrils, tounge sticking out
00:47:13 <Asztal> I thought all smiley research was banned after =|;{> .
00:47:19 <SimonRC> (it is a dragon smiley)
00:47:24 <ehird> SimonRC: no no it's sad evilmouth penisman
00:47:25 <Ilari> 2 2 FlFEPF+LEf-F+EP-F+LE-fL+LENL-LE+lL-l++L-l-P+LENL-PE+lL-p++L-l+++++++P-P-P-P-P-P-P-P-FP+LL-LEEsS+F-P+LEs
00:47:27 <ehird> i'm pretty sure
00:47:27 <SimonRC> Asztal: eh?
00:47:43 <SimonRC> ehird: the original author would disagree
00:47:49 <SimonRC> Ilari: ??
00:47:51 <ehird> Ilari: Fire people flee lentils in penile lipppppppppppppppppppppppppp less FPLEs?
00:48:02 <ehird> Looks like a geek code esque thing
00:49:49 <psygnisfive> guys i need ideas :|
00:49:59 <Ilari> Its some sort of program code. 2 2 Means 2 fields, 2 locals... + and - manipulates pointer, don't remember what the rest do...
00:50:20 <ehird> Ilari: you know la fizzie right
00:50:25 <psygnisfive> ilari, wtf is that, esocode?
00:50:50 <psygnisfive> anyway
00:50:52 <psygnisfive> i need ideas!
00:51:37 <Sgeo> Make PSOX perfect
00:52:15 <oerjan> wait - esocode existed, didn't it, or am i vaguely remembering something else...
00:52:42 <oerjan> hm google fail
00:53:10 <Sgeo> Grr, why is OOTS Viewer downloading so slowly?
00:55:58 <Ilari> Ah, E is pop 2, skip next (non +-) if not equal, f is pop and write field, F is push field, l is pop and write local, L is push local, p is pop and write parameter, P is push parameter, s is pop object and send rest of stack to it, S is push reference to self, N is create object.
00:59:07 <SimonRC> are there methods on objects?
00:59:35 * SimonRC considers functiony objects
00:59:41 <Ilari> SimonRC: Just the message handler method.
01:00:13 <ehird> SimonRC: functions -ar-- objects
01:00:14 <ehird> are
01:00:23 <SimonRC> in Java I mean
01:00:26 <ehird> oh
01:00:41 <oklowob> psygnisfive: how about a hat that's also a plate
01:00:47 <SimonRC> the sort that have lots of fields that act as ambient vairables inside a huge functiony calcualtion
01:00:53 <Ilari> Ergh... 2 2 doesn't mean 2 parameters, 2 locals, it means 2 parameters 2 fields.
01:01:04 <psygnisfive> oklowob: but can it be made in a soviet vintage kitsch style?
01:01:44 <oklowob> i'm not sure what kind of style that would be
01:01:50 <oklowob> but yes
01:01:55 <Ilari> And the only usable data type is reference.
01:02:04 <oklowob> it is the functionality that matters
01:05:11 <Ilari> Also, E ignores skipping effect of E.
01:07:16 <Ilari> Or was 2 2 2 fields, 2 locals...
01:07:43 * Slereah read "2 lolcats"
01:08:01 <Ilari> Probably, as that code uses P (Push parameter) after way too many +'s for just 2 parameters...
01:11:40 <ehird> SimonRC: What I wrote when you said functiony objects: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=3030
01:12:24 <SimonRC> no, not what I meant
01:12:37 <ehird> Perhaps not, but it sparked an idea nontheless.
01:12:43 <ehird> What did you mean
01:13:03 <SimonRC> these are objects that exist merely so their fields can hold objects instead of said objects being passed through 10 levels of static methods
01:13:16 <ehird> i don't get it
01:13:25 <ehird> also, that sounds much more boring than my code :-)
01:13:35 <ehird> i love how gadts give you dependent typing of a sort
01:18:03 <Sgeo> gadts?
01:18:19 <ehird> Generalized abstract data types.
01:18:23 <Sgeo> Oh, for some reason, I thought you mean typing like typing on a computer
01:18:27 <ehird> Sgeo: See 'data CounterMessage r where' @ http://hpaste.org/fastcgi/hpaste.fcgi/view?id=3030#a3030
01:35:56 -!- GreaseMonkey has joined.
02:10:53 * ehird does http://www.youtube.com/watch?gl=GB&hl=en-GB&v=a9xAKttWgP4&fmt=18 in J
02:10:59 <ehird> r =. (3 3 $ i. 9) e. 1 2 3 4 7
02:11:03 <ehird> _1 _2 |. 5 7 {. r
02:11:40 <ehird> R;R;R
02:15:41 -!- calamari_ has joined.
02:15:52 -!- calamari_ has quit (Read error: 104 (Connection reset by peer)).
02:17:08 <calamari> Unknown host chat.freenode.net
02:17:09 <calamari> weird
02:18:04 <FireFly> Hmh
02:18:10 <FireFly> It's getting late
02:18:22 <calamari> Unknown host irc.freenode.net
02:18:25 <calamari> Unknown host freenode.net
02:18:44 <calamari> anyone else having this problem?
02:19:00 <Asztal> not I
02:20:37 <oerjan> host gives plenty of hits
02:20:50 <calamari> oerjan: sorry?
02:20:53 <oerjan> *A's
02:21:03 <oerjan> the unix host command
02:22:20 <oerjan> of course they're probably cached from before
02:23:14 <Asztal> http://private.dnsstuff.com/tools/traversal.ch?domain=irc.freenode.net&type=A
02:24:08 <calamari> do I need to use an ip address for AndroidIRC?
02:25:43 <ehird> shouldn't have to
02:25:45 <calamari> apt-getting host in debian.. this should be interesting :)
02:26:03 <calamari> sorry.. somehow I got into the wrong channel
02:26:12 <ehird> ?
02:26:21 <calamari> I tohught I was in #android
02:26:29 <ehird> :-D
02:27:10 <Asztal> sometimes I get weird rendering bugs in irssi and people from other channels show up in the one I'm in.
02:28:32 <ehird> http://s5.tinypic.com/6zaazr.jpg <-- Holy windows 3.11 batman!
02:42:57 <psygnisfive> ehird
02:42:59 <psygnisfive> what is it
02:56:17 -!- BeholdMyGlory has quit ("godnatt").
02:56:42 -!- psygnisfive has quit ("Leaving...").
02:56:46 <Sgeo> ehird, I got Win3.1 working in a VM
02:57:07 <FireFly> Nicht
02:57:10 <FireFly> Eh
02:57:11 <FireFly> g*
02:57:15 <FireFly> Night
02:57:27 -!- FireFly has quit ("Later").
04:01:20 <GreaseMonkey> ehird: that was windows 95
04:01:38 <GreaseMonkey> wow... i really fail at watching my timestamps
04:02:26 <oerjan> don't worry about that. i just lost an entire hour...
06:14:28 -!- oerjan has quit ("Good night").
06:18:59 -!- Dewio has changed nick to Dewi.
06:30:01 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:47 -!- kar8nga has joined.
08:56:04 -!- kar8nga has quit (Remote closed the connection).
09:19:39 -!- Dewio has joined.
09:19:39 -!- Dewi has quit (Read error: 60 (Operation timed out)).
09:32:00 -!- calamari has quit ("Leaving").
10:05:31 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:12:33 -!- BeholdMyGlory has joined.
10:14:51 -!- tombom has joined.
10:20:55 -!- neldoret1 has joined.
10:26:26 -!- neldoreth has quit (Read error: 113 (No route to host)).
10:28:47 -!- kar8nga has joined.
10:45:26 -!- sebbu2 has joined.
10:52:05 -!- neldoreth has joined.
10:56:23 -!- neldoret1 has quit (No route to host).
11:02:53 -!- sebbu has quit (Read error: 110 (Connection timed out)).
11:03:01 -!- neldoret1 has joined.
11:03:06 -!- neldoreth has quit ("leaving").
11:08:08 -!- kar8nga has quit (Remote closed the connection).
11:22:41 -!- FireFly has joined.
11:29:28 -!- Asztal has quit (Read error: 60 (Operation timed out)).
11:29:31 -!- Asztal has joined.
11:37:25 -!- BeholdMyGlory has quit (Remote closed the connection).
11:39:47 -!- BeholdMyGlory has joined.
12:00:51 -!- olsner has quit ("Leaving").
12:01:05 -!- olsner has joined.
12:07:44 -!- tombom_ has joined.
12:22:32 -!- tombom has quit (Read error: 101 (Network is unreachable)).
12:22:32 -!- tombom_ has changed nick to tombom.
12:25:03 -!- Mony has joined.
12:33:36 * AnMaster just invented some sort of batch reloading of cmake project variables
12:34:02 <AnMaster> since I changed something that affected names of the cached variables in the build system of cfunge
12:47:42 <oklowob> lol was gonna go to teh shoppe, stopped to play for a sec, ended up falling in a piano trance for like an hour
12:48:59 <oklowob> well now shoppe time
12:49:02 <oklowob> ->
13:31:40 -!- neldoret1 has quit (No route to host).
13:36:23 <AnMaster> wow
13:36:26 <AnMaster> Warning: fopen(http://xml2.lkml.org/thread.php?origin=1068846) [function.fopen]: failed to open stream: HTTP request failed! in /srv/lkml.org/scripts/getmail.php on line 109
13:36:26 <AnMaster>
13:36:26 <AnMaster> Warning: fgets(): supplied argument is not a valid stream resource in /srv/lkml.org/scripts/getmail.php on line 110
13:36:31 <AnMaster> on lkml.org
13:36:35 <AnMaster> so it runs php heh
13:37:28 <lifthrasiir> fopen to internal server?
13:38:29 <AnMaster> think so
13:38:37 <AnMaster> *shudder*
13:39:18 <lifthrasiir> xml2.lkml.org gives forbidden, maybe it requires more header or simply has error
13:39:40 <AnMaster> horrible that it uses php at all IMO
13:40:00 <lifthrasiir> agreed
13:41:50 <fizzie> I don't see what makes that especially horrible.
13:54:00 <andreou> ASP would be horrible
13:54:18 <andreou> PHP is one of the logical ways to go
13:54:47 <andreou> though for some reason i'd expect some inbred bunch of perl scripts
13:54:59 <andreou> sorry, s/inbred/in-house/
13:55:33 <fizzie> Yes, I guess that would be thematically more appropriate.
13:57:50 <andreou> that kernel-space tiny httpd that was the thing of the day for some 2.4.x or 2.5.x kernels, has it survived?
14:05:12 <fizzie> I don't think it has.
14:05:15 -!- oerjan has joined.
14:05:28 <fizzie> http://www.fenrus.demon.nl/ looks pretty obsoleted.
14:06:47 <fizzie> Don't see any remains of it in this 2.6.28-age kernel source tree either.
14:09:50 <andreou> ah not even 2.5.x, it was 2.3.x
14:09:54 <fizzie> http://en.wikipedia.org/wiki/TUX_web_server seems to be sort-of-a successor, but even there the download dir doesn't have patches past 2.6.18.
14:11:24 <andreou> it seems tohave died a year or two ago
14:11:46 <andreou> nice idea though, a buffer overflow could drop you right into kernel space
14:23:43 -!- tombom has quit ("Peace and Protection 4.22.2").
14:29:11 -!- kar8nga has joined.
15:35:13 -!- neldoreth has joined.
15:37:40 -!- ais523 has joined.
15:45:02 -!- ais523_ has joined.
15:45:21 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:46:12 <AnMaster> hi ais523_
15:46:29 -!- ais523_ has changed nick to ais523.
15:47:14 <ais523> hi AnMaster
15:47:41 -!- kar8nga has quit (Remote closed the connection).
15:51:31 <AnMaster> hm
15:54:39 -!- tombom has joined.
15:57:10 <AnMaster> ais523, hm any idea what the lines like ".quad L(Got0), L(P1Q0), L(P2Q0), L(P3Q0)" in http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/x86_64/memset.S?rev=1.2.2.7&content-type=text/plain&cvsroot=glibc are good for?
15:57:46 <ais523> no, i've never seen that before
15:58:16 <AnMaster> ais523, they are put in .rodata, some sort of lookup table I think, but I can't figure out for what memset would need that
15:59:34 <ais523> jump table, maybe?
15:59:38 <ais523> they could be using duff's device
15:59:45 <AnMaster> hm maybe
16:07:46 <AnMaster> It's a pitty the OS doesn't expose some interface to allow marking some pages as write combining in user space apps
16:07:48 <fizzie> A jump table is what it feels like, and there's the PIC/non-PIC versions of it too. At least for the SSE code SSEnQm looks like it the correct location to jump to in order to set m*16+n bytes before RDI, assuming xmm0 and rdx are filled with the byte to use.
16:08:01 <fizzie> s/like it/like/
16:08:08 <AnMaster> fizzie, hm ok
16:08:23 <fizzie> That's a lot of code for a memset, though.
16:09:10 <AnMaster> heh
16:14:51 <lifthrasiir> i'm a bit tired of checking mycology result by hand, so made this thing: http://f.imagehost.org/view/0891/97519323
16:15:09 <lifthrasiir> looks good? :p
16:15:15 * ais523 looks
16:15:44 <ais523> ah, mycology with syntax highlightin
16:15:47 <ais523> *highlighting
16:15:50 <lifthrasiir> yeah
16:16:07 <lifthrasiir> with awk madness
16:16:54 <lifthrasiir> http://hg.mearie.org/pyfunge/raw-file/9776990e3964/mycology-filter a bit stupid, but it works anyway
16:18:19 <AnMaster> lifthrasiir, that has a lot of special cases for pyfunge it seems?
16:19:02 <AnMaster> /Cannot test D reliably\. If this line begins with "GOOD: ", it worked\.$/ { BAD(); next }
16:19:04 <AnMaster> err what?
16:19:18 <AnMaster> you need ^ there..
16:19:19 <AnMaster> ?
16:19:23 <lifthrasiir> nope
16:19:24 <ais523> no
16:19:32 <AnMaster> ah right
16:19:33 <lifthrasiir> if that line begins with GOOD: it should be caught at /^GOOD: /
16:19:35 <ais523> presumably it tests for GOOD earlier
16:20:24 <AnMaster> lifthrasiir, FPSP and FPDP differ here when I compile it using SSE or x87 in the last decimal of some result iirc
16:20:26 <AnMaster> just FYI
16:20:37 <lifthrasiir> i tested the filter with pyfunge and cfunge, but i don't think it has a lot of special cases
16:20:58 <lifthrasiir> AnMaster: so it is marked UNSURE, to be tested by hand ;)
16:21:04 <lifthrasiir> they are marked as UNSURE*
16:21:28 <AnMaster> mhm
16:22:00 <lifthrasiir> i tweaked the output mostly for splitting UNSURE and UNDEF, what mycology itself doesn't split but comparison page seemingly does
16:22:24 <AnMaster> lifthrasiir, for y I think it prints BAD when they aren't good
16:22:28 <AnMaster> as you saw before
16:23:05 <lifthrasiir> IIRC it does output BAD: line along with information line...
16:23:13 <AnMaster> exactly
16:24:00 -!- ehird has left (?).
16:24:03 <AnMaster> lifthrasiir, /^\tThat the year is [12][0-9][0-9][0-9] $/ { UNSURE(); next } <-- not Y3K safe!
16:24:16 <AnMaster> or Y10K
16:24:32 <lifthrasiir> AnMaster: so it has to be [1-9][0-9]*? :p
16:24:34 <Deewiant> lifthrasiir: You don't think it starting with 1 is BAD? :-P
16:24:34 -!- ehird has joined.
16:24:50 <Deewiant> Do you time travel a lot?
16:24:54 <AnMaster> Deewiant, TRDS...
16:24:58 <AnMaster>
16:25:00 <AnMaster> ;P*
16:25:18 <lifthrasiir> Deewiant: if i met the time traveler i can claim mycology-filter is time-travel-safe :p
16:25:21 <Deewiant> AnMaster: That's only in a sub-universe with a different date :-P
16:25:30 <AnMaster> lifthrasiir, not to BC dates...
16:25:31 <Deewiant> lifthrasiir: >_<
16:26:34 <AnMaster> err doesn't TIME start from Monday? I thought it did?
16:26:39 <AnMaster> maybe I misremember
16:27:35 <ehird> 01:56 FireFly: Night
16:27:35 <ehird> 03:00 GreaseMonkey: ehird: that was windows 95
16:27:40 <ehird> FUCK daylight savings time.
16:28:06 <FireFly> Heh
16:28:13 <AnMaster> ehird, err? Isn't your log in unix timestamp?
16:28:23 <AnMaster> well not the client, I mean the log
16:28:29 <ehird> AnMaster: no/
16:28:29 <ehird> ?
16:28:35 <ehird> why would it be
16:28:35 <AnMaster> mhm
16:28:52 <AnMaster> ehird, because then you don't have to deal with DST in logs?
16:29:04 <lifthrasiir> AnMaster: unix timestamp repeats itself at the leap second, so it has to be TAI
16:29:13 <ehird> err of course I want it to show me the local time AnMaster
16:29:15 <ehird> I just hate dst in general
16:29:16 <AnMaster> lifthrasiir, star date!
16:29:20 <ehird> it's a shitty idea
16:29:26 <AnMaster> ehird, agreed
16:29:50 <AnMaster> ehird, half of the year unix timestamp would match the local time
16:29:54 <ais523> static arrays are always initialised to 0 in C, aren't they?
16:30:01 <ais523> or do they need an explicit ={0}?
16:30:02 <ehird> ais523: Undefined, no?
16:30:07 <ais523> ehird: that's for locals
16:30:09 <AnMaster> ais523, I think they are
16:30:30 <AnMaster> isn't it so for all static variables?
16:31:23 <ais523> well, I'm getting an obscure bug in the C-INTERCAL profiler
16:31:31 <ais523> lines that don't run at all are often being shown with large times
16:32:08 <AnMaster> ais523, ick has a profiler?
16:32:11 <ais523> yes
16:32:16 <ais523> the darcs version is buggy
16:32:21 <ais523> I've mostly fixed the bug
16:32:21 <AnMaster> debugger I knew (yuk) but what is the name of the profiler then?
16:32:24 <ais523> but it's still manifesting
16:32:27 <ais523> profiler's also yuk
16:32:29 <AnMaster> ah
16:32:32 <ais523> you access it via ick -p
16:32:36 <AnMaster> ais523, tried valgrind?
16:32:39 <ais523> also, you can run the debugger and profiler simultaneously
16:32:45 <ais523> AnMaster: no, that would make it even slower
16:32:53 <ais523> let me find a faster example program
16:32:59 <AnMaster> ais523, yes but still helps with finding corruptions
16:35:10 <AnMaster> example from C99 of a function prototype: void f(double a[restrict static 3][5]);
16:35:18 * AnMaster tries to figure out what static does in that contexrt
16:35:20 <AnMaster> context*
16:35:47 <AnMaster> oh: (Note that the last declaration also specifies that the argument corresponding to a in any call to f must be a non-null pointer to the first of at least three arrays of 5 doubles, which the others do not.)
16:35:50 <AnMaster> heh
16:36:24 <AnMaster> ais523, C99 6.7.8.10
16:36:25 <AnMaster> seems relevant
16:36:28 <AnMaster> ISO edition
16:36:38 <AnMaster> ISO/IEC 9899:TC3 to be exact
16:37:40 <AnMaster> ais523, it basically means they should be zero filled
16:37:56 * ehird continues rewriting http://www.youtube.com/watch?gl=GB&hl=en-GB&v=a9xAKttWgP4&fmt=18 in j
16:38:24 <ais523> AnMaster: ah, ok
16:38:35 <ais523> I'm suspecting I do have memory corruption; programs that ought to work fine are erroring for unknown reasons
16:38:39 <ais523> generally array-out-of-bounds
16:39:15 <AnMaster> ais523, out of array bounds for static arrays won't be detect by memcheck usually (memcheck being the default valgrind tool)
16:39:27 <ais523> ooh, interesting
16:39:35 <ais523> it errors running under the profiler, but not under the debugger
16:39:42 <AnMaster> ais523, if you have a new enough valgrind, 3.4.0 at least, try valgrind --tool=exp-ptrcheck
16:39:44 <AnMaster> I think it was
16:39:52 <AnMaster> I recommend the very last version
16:39:55 <AnMaster> exp means experimental
16:40:04 <AnMaster> so likely you will get some spurious errors
16:40:14 <ais523> I have 3.3.1
16:40:18 <AnMaster> ais523, way too old
16:40:20 <ehird> if anyone's watching that apl video i'm currently stuck at translating Φ¨
16:40:49 <AnMaster> ais523, I recommend upgrading anyway, since 3.4.0 and later can show where an unintialised value was allocated and more
16:40:58 <ais523> AnMaster: I upgrade when my distro does
16:41:45 <AnMaster> ais523, -fmudflap (both at object compilation and linking, for all objects and all linking) might be useful
16:41:59 <AnMaster> if your gcc supports it
16:42:19 <ais523> I'll just printf debug
16:42:30 <ais523> there are only a couple of places where the buffer overflow could be happening, after all
16:42:59 <AnMaster> ais523, well I just said there are tools for it. But you need new enough ones
16:43:03 <AnMaster> valgrind can still help
16:43:09 <AnMaster> valgrind --db-attach=yes
16:43:12 <AnMaster> is very useful
16:43:17 <AnMaster> dumping you on the exact instruction
16:44:21 <ais523> I'm not getting any errors from valgrind, though
16:44:32 <AnMaster> ais523, does your gcc have mudflap?
16:44:38 <ais523> I think so#
16:44:50 <AnMaster> ais523, it can check static variables too
16:44:54 <ais523> but for all I know it's a logic error, not an overflow
16:44:58 <AnMaster> mhm
16:45:28 <AnMaster> ais523, I generally found it less time consuming to run a 30 second valgrind of mudflap run before searching for logic errors in such cases.
16:46:00 <ais523> AnMaster: what are the options for the mudflap?
16:46:06 <ais523> -fmudflap on the compiler
16:46:07 <ehird> itt: using a shitty language slows down development
16:46:15 <ais523> and -fmudflap -lmudflap for link?
16:46:28 <AnMaster> ais523, sec..
16:46:43 <AnMaster> if(USE_MUDFLAP)
16:46:43 <AnMaster> set_target_properties(cfunge PROPERTIES LINK_FLAGS "-fmudflap")
16:46:43 <AnMaster> target_link_libraries(cfunge mudflap)
16:46:43 <AnMaster> endif(USE_MUDFLAP)
16:46:56 <AnMaster> you need both -fmudflap and -lmudflap at link time I think
16:47:01 <AnMaster> I assume you use gcc to link
16:47:06 <AnMaster> if you call ld directly: no clue
16:47:38 -!- Deewiant has quit ("Changing server").
16:47:39 <ehird> r =. (3 3 $ i. 9) e. 1 2 3 4 7
16:47:39 <ehird> R =. _1 _2 |. 5 7 {. r
16:47:48 -!- Deewiant has joined.
16:48:41 * ais523 installs libmudflap
16:48:45 <ais523> AnMaster: yes, I link via gcc
16:48:51 <AnMaster> right
16:49:00 <ais523> that's why llvm-gcc doesn't work for C-INTERCAL on Ubuntu; Ubuntu llvm-gcc buggily calls the x86 version of connect2
16:49:12 <AnMaster> ah
16:49:18 <AnMaster> interesting
16:50:01 <AnMaster> ais523, it doesn't make much sense to have libmudflap in a separate package from gcc...
16:50:08 <ais523> err, why not?
16:50:17 <ais523> many people want to compile C, but don't want to instrument their code
16:50:27 <ais523> gcc without libmudflap is certainly plausible
16:50:35 <AnMaster> ais523, would it make sense to have cpp, collect2, and gcc in separate packages?
16:50:38 <ais523> that's like saying it doesn't make much sense to have cfunge in a separate package from ick
16:50:45 <AnMaster> also let me check space usage..
16:50:50 <ais523> AnMaster: actually, cpp and gcc are in separate packages
16:50:54 <AnMaster> ...
16:50:56 <AnMaster> insane
16:51:01 <ais523> although gcc's cpp is in the same package as it as well
16:51:10 <AnMaster> err even more insane
16:51:15 <ehird> er no
16:51:16 <ehird> not insan
16:51:17 <ehird> e
16:51:31 <AnMaster> # du -sh /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libmudflap.so.0.0.0
16:51:32 <AnMaster> 118K /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libmudflap.so.0.0.0
16:51:37 <AnMaster> yeah, saves a lot does it?
16:51:43 <ehird> size is not the only argument, you moron
16:51:50 <ehird> otherwise we'd put busybox in every package
16:51:53 <ehird> because hey, it's small
16:52:07 <AnMaster> # du -sh /bin/busybox
16:52:07 <AnMaster> 1.9M /bin/busybox
16:52:07 <AnMaster> is it?
16:52:20 <ehird> wooosh
16:52:23 <ehird> ^ point going over your heard
16:52:41 <AnMaster> ehird, you might as well use a separate package for every single file :)
16:52:49 <ehird> no.
16:53:08 <Deewiant> You might as well have one package for every single file!
16:53:18 <ehird> Deewiant++
16:53:27 <AnMaster> Deewiant, didn't I just say that?
16:53:31 <ehird> no
16:53:36 <ehird> woosh^2
16:53:38 <AnMaster> ...
16:53:44 <AnMaster> I did, just different wording..
16:53:56 <AnMaster> oh wait
16:53:56 <AnMaster> no
16:54:02 <AnMaster> ah that works too Deewiant
16:54:03 <AnMaster> :)
16:54:08 <AnMaster> about as logical
16:54:17 <ehird> AnMaster: actually, Deewiant was rebutting your point.
16:54:26 <ais523> AnMaster: hmm... it seems that libmudflap's a .so not an .a
16:54:28 <ais523> how do I link it in?
16:54:43 <ehird> -lmudflap...
16:54:44 <ehird> ?
16:54:45 <AnMaster> ais523, -lmudflap -fmudflap
16:54:47 <AnMaster> ...
16:54:50 <ais523> -lmudflap doesn't work
16:54:57 <ais523> I just get a can't-find-mudflap error from configure
16:54:59 <fizzie> ais523: If this is a debiany system, you probably want to install libmudflap0-4.4-dev or something if you want to link it.
16:54:59 <AnMaster> ais523, that's weird. It is what I use
16:55:00 <ais523> yet the .so files are there
16:55:05 <ais523> fizzie: I did just install that
16:55:13 <fizzie> "This package contains the headers and the static libraries."
16:55:16 * kerlo notes that ais523 pronounces .so like the word "so"
16:55:35 <AnMaster> kerlo, how do you know how?
16:55:42 <ais523> kerlo: no, I pronounce it dot-s-o
16:55:49 <ais523> and dot starts with a consonant
16:55:57 <ehird> so does so
16:56:05 <kerlo> ais523: so "an .a" was a typo?
16:56:05 <ais523> AnMaster: presumably kerlo leaves out the . in .so, and s-o starts with a vowel
16:56:14 <ais523> kerlo: ah, that's interesting
16:56:23 <ais523> I don't know why I wrote "an .a"
16:56:24 <AnMaster> ais523, I think there was some issue with how configure treated LDFLAGS and LIBS separately
16:56:26 <fizzie> ais523: Well, around here the -dev package has all those .a files. And .so is in the libmudflap0 package.
16:56:30 <AnMaster> sometimes not using LIBS as well
16:56:37 <AnMaster> I think I ended up with -lmudflap in both
16:56:41 <AnMaster> to make it work with automess
16:56:48 <AnMaster> and -fmudflap in LDFLAGS
16:57:04 -!- BeholdMyGlory has quit (Remote closed the connection).
16:57:10 <ehird> pointer warping is awesome
16:57:18 <ais523> hmm... maybe I installed the wrong version
16:57:26 <AnMaster> ehird, what systems do that?
16:57:26 * ais523 installs libmudflap0-4.3-dev
16:57:33 <ais523> I just had libmudflap0-dev before
16:57:39 <ehird> AnMaster: er, I mean the moving of a pointer to another place by a program
16:57:43 <AnMaster> ais523, I would suggest same version as your GCC version
16:57:46 <ehird> old X programs do it, but kind of shittily
16:57:50 <ehird> plan 9's acme does it beautifully
16:57:51 <fizzie> ais523: The gcc package you are using has a "Suggests" dependency on the libmudflap it likes to use, I think.
16:58:11 <AnMaster> ehird, "moving of a pointer to another place by a program" <-- jmp? call?
16:58:16 <ehird> ...
16:58:17 <ais523> ah yes, there are the .a files
16:58:18 <ehird> the mouse
16:58:20 <ehird> pointer
16:58:21 <ehird> r
16:58:22 <AnMaster> ehird, oh...
16:58:23 <AnMaster> right
16:58:34 <AnMaster> pointer == instruction pointer, data pointer, and so on
16:58:35 <AnMaster> to me
16:58:36 <ais523> $ CFLAGS=-fmudflap LDFLAGS=-lmudflap ../configure
16:58:38 <ais523> seems to be working
16:58:53 <AnMaster> ais523, you need -fmudflap at link time to gcc too iirc
16:58:58 <AnMaster> some startup files differ iirc
16:59:16 <ais523> yes, you do
16:59:41 <ais523> CFLAGS seems to affect the link sometimes
16:59:41 <AnMaster> ais523, also you will need it when linking the ick program you are debugging I suspect
16:59:43 <ais523> but not other times
16:59:46 <ais523> that may be a build system bug
17:00:21 <AnMaster> ais523, yeah when I did mudflap on ick last time I ended up with something like: CFLAGS=-fmudflap LDFLAGS='-fmudflap -lmudflap' LIBS='-lmudflap' iirc
17:00:29 <AnMaster> to get it working
17:00:51 <AnMaster> ais523, oh also when ick compiles the object file
17:00:55 <ais523> wow, found the build system bug
17:00:58 <AnMaster> oh?
17:00:58 <ais523> that was nice and useful
17:01:07 <AnMaster> details?
17:01:08 <ais523> missing LDFLAGS on the build of host system
17:01:14 <ais523> things like bin2c
17:01:18 <AnMaster> ah
17:01:19 <ais523> which are to be not cross-compiled
17:01:20 <ais523> ever
17:01:21 <AnMaster> that would break things
17:01:24 <ais523> forget LDFLAGAS
17:01:26 <ais523> *LDFLAGS
17:01:34 <AnMaster> FLAGAS :D
17:02:34 <ehird> http://www.cnprog.com/ <-- It's exactly like stack overflow, but you get to read the retardedness in Chinese instead.
17:02:42 <ehird> Gee.
17:03:19 <AnMaster> almost same design even...
17:03:40 <ehird> Not almost.
17:03:42 <ehird> Exactly.
17:04:00 <AnMaster> ehird, the yellow box is dashed around the edges on cnprog but not on the stackoverflow one
17:04:01 <AnMaster> it seems
17:04:08 <AnMaster> other than that exactly yes
17:04:11 <ehird> The yellow box is just an infobox on the homepage.
17:04:18 <ehird> Not part of the design per se.
17:04:49 <AnMaster> ehird, the colors differ slightly too on the infobox
17:04:53 <ehird> w/
17:04:53 <ehird> w/e
17:05:00 <AnMaster> and why is it not part of the design per se?
17:14:16 <ais523> AnMaster: are valgrind and mudflap compatible?
17:14:20 -!- Hiato has joined.
17:15:07 <AnMaster> ais523, iirc yes
17:15:18 <AnMaster> ais523, however see MUDFLAP_OPTIONS too
17:15:37 <AnMaster> MUDFLAP_OPTIONS=help build_mud/cfunge
17:15:43 <AnMaster> to see what options exist
17:15:52 <AnMaster> you probably need to turn on some
17:16:00 <ais523> I'm getting both valgrind and mudflap errors, but only when I use both at once
17:16:11 <AnMaster> strange
17:16:13 <AnMaster> in what code?
17:16:25 <ehird> oo err, my directory hierarchy is breaking down
17:16:32 <AnMaster> ehird, err?
17:16:32 <ehird> where do I put code I want to work on that isn't mine...
17:16:46 <AnMaster> ehird, src/external?
17:16:52 <ehird> sure
17:16:53 <AnMaster> or something like that
17:16:57 <ehird> ~/Code/others/
17:17:02 <AnMaster> well that would work too
17:17:16 <oerjan> ~/Code/morons/
17:17:18 <fizzie> ~/Code/less_important_people_than_I/
17:17:25 <fizzie> Ah, oerjan is the faster.
17:17:29 <ehird> :D
17:17:36 <AnMaster> hm...
17:17:37 <ehird> ~sartre/Code/hell/
17:17:46 <oerjan> ooh
17:17:59 <ehird> ...
17:18:01 <ehird> hell is a really good name
17:18:03 <ehird> I'm using that
17:18:04 <ais523> ehird: I have a ~/research directory
17:18:11 <ais523> which is for everything I haven't written
17:18:15 <ais523> unless it fits under ~/esoteric
17:18:15 <ehird> ais523: ~/Downloads is for using
17:18:16 <ehird> not working on
17:19:24 <AnMaster> hm
17:19:42 <fizzie> I just keep a lot of stuff in ~, and when it gets cluttered, I move just about everything under subdirectory "_" and tell myself "I'll sort through those some day". Can't really advocate this system, though, it leads to paths like _/_/_old/unsorted/_.
17:20:01 <ais523> ok, there are no mudflap errors
17:20:03 <ais523> in that run
17:20:07 <ais523> with mudflap options set
17:20:13 <ais523> yet it still isn't working, for unknown reasons
17:20:15 <ais523> I suspect a logic bug
17:20:16 <AnMaster> both AMD and Intel docs contradict each other internally (as in different places in intel docs contradict other parts of intel docs and vice verse) about if SFENCE is needed after streaming store by MOVNTPS
17:20:47 <ais523> well, probably best to add it just to be sure
17:20:55 <AnMaster> some places say yes, other say that (quoting AMD): "A subsequent non-write-combining operation has a write address that matches the WC-buffer active-address range [forces storing]."
17:21:36 <AnMaster> ais523, yeah I guess so
17:24:25 <ais523> AnMaster: http://pastebin.ca/1375843
17:24:28 <ais523> that's the problem I have at the moment
17:24:36 <ais523> no overflows (both printf and mudflap agree)
17:24:53 <ais523> yet many of the profiler times are impossibly large
17:24:54 <AnMaster> ais523, where is Time581520223.913506800 from?
17:25:01 <ais523> oh, that's because the program exited
17:25:14 <AnMaster> ??
17:25:17 <ais523> so it counts the remaining time to the epoch, AFAICT
17:25:23 <ais523> not ideal, but not the main problem
17:25:23 <AnMaster> err what
17:25:33 <AnMaster> C1: Time581520223.913506800, Avg581520223.913506800, Avg Exec581520223.913506800, Exec 1, Abs 0
17:25:36 <AnMaster> clearly that is wrong yes
17:25:42 <ais523> it's the C1: Time 4.294967297 that's more clearly wrong
17:25:46 <ais523> lasting longer than the program as a whole took
17:25:54 <ais523> with a very suspcious number of seconds given
17:25:58 <AnMaster> ais523, around 4 seconds?
17:26:05 <ais523> look at the output from time above
17:26:11 <AnMaster> ah yes
17:26:19 <ais523> also, 4294967296 = 2^32
17:26:35 <AnMaster> ais523, sure the scale is correct btw?
17:26:38 <ais523> yes
17:26:43 <ais523> it wasn't before, but I fixed that bug this morning
17:26:55 <AnMaster> ais523, mixing up nanoseconds and microseconds happened a few times to me
17:27:01 <AnMaster> giving weird results
17:27:14 <AnMaster> ais523, hm ok
17:27:58 <AnMaster> ais523, so I wonder what caused it...
17:28:10 <AnMaster> ais523, well the fact that it is 2^32 should provide a hint...
17:28:14 <AnMaster> well
17:28:21 <AnMaster> 2^32-1 + a dot added
17:28:28 <AnMaster> ais523, floating point anywhere?
17:28:31 <ais523> no
17:28:34 <AnMaster> mhm
17:28:37 <ais523> but it's fixed-point
17:28:50 <ais523> so that number's 0x0000000100000001
17:28:59 <ais523> looks to me like it's got muddled up with an int array
17:28:59 <AnMaster> ais523, where is it stored in memory? use gdb and put a watchpoint on that memory point
17:29:05 <AnMaster> might help
17:29:10 <ais523> except that mudflap wasn't complaining
17:29:35 <AnMaster> ais523, be aware of that watch points normally triggers a few instructions after they actually happened on some CPUs
17:29:43 <AnMaster> I guess it is due to out of order execution
17:29:47 <AnMaster> (or something)
17:32:04 <AnMaster> argh, Intel docs give weaker guarantees than the AMD64 Architecture docs mandate for all processors implementing x86_64...
17:32:07 <AnMaster> *sigh*
17:32:31 <AnMaster> that just doesn't make any sense
17:32:35 <Deewiant> What guarantees?
17:33:11 <AnMaster> Deewiant, about write combining with MOVNTPS on memory mapped as writeback
17:33:22 <ehird> can you copy-on-write a file?
17:33:28 <Deewiant> Write combining? What guarantees does that have? :-P
17:34:26 <AnMaster> Deewiant, it should work says AMD docs, they even recommend it and say that any data in cache will be evicted. Intel docs says the effect is not well defined if the data is in cache.
17:34:33 <AnMaster> it seems
17:43:10 <AnMaster> Deewiant, http://rafb.net/p/bhbuBo71.html
17:43:26 <AnMaster> apart from that AMD contradict itself there Intel also contradict AMD and vice verse
17:43:43 <AnMaster> so, is a SFENCE enough? Is it needed at all?
17:43:55 <Deewiant> So it's possible that the two processors behave differently, is it not?
17:44:13 <Deewiant> s/proc/types of proc/
17:44:23 <AnMaster> Deewiant, point is this is in the x86_64 definition, thus they should implement it the same
17:44:47 <AnMaster> I mean, both claim to implement x86 and x86_64 + SSE and SSE2 and such
17:46:24 <AnMaster> Deewiant, AMD even *recommends* MOVENTPS it for non-write-combined regions.
17:46:40 <AnMaster> to be specific, writeback ones
17:47:21 <AnMaster> brb
17:48:31 <Deewiant> Shrug, I don't know, I don't mess with write-combining
17:55:13 <ehird> Bacon is impossible
17:55:49 <oerjan> but crunchy
17:56:06 <ehird> impossibunchy
17:56:29 <ehird> r =. (3 3 $ i. 9) e. 1 2 3 4 7
17:56:29 <ehird> R =. _1 _2 |. 5 7 {. r
18:00:20 <ehird> http://uroclub.com/ WJW
18:03:13 <AnMaster> ehird, insane...
18:03:40 <AnMaster> ais523, found anything about that odd number?
18:04:00 <ais523> no
18:04:10 <AnMaster> ais523, did you try the watch point thingy I suggested?
18:04:43 <ais523> no, I didn't
18:04:48 <AnMaster> ais523, it might be worth it
18:04:50 <ais523> it's kind-of hard to get gdb invovled
18:04:54 <AnMaster> ais523, oh?
18:04:58 <ais523> because the file's running from a system() call
18:05:24 <AnMaster> ais523, just add gdb --args in that system call, recompile and run?
18:05:38 <ais523> well, I don't like messing with the thing I'm trying to debug
18:05:46 <ais523> anyway, going to get dinner now probably, I'll be back in a bit
18:05:52 <AnMaster> ok
18:06:06 -!- ais523 has quit (Remote closed the connection).
18:20:37 <FireFly> Yey, base64 in JS, 350 chars
18:20:52 <ehird> Er, isn't it built in
18:20:57 <FireFly> Is it?
18:20:59 <FireFly> Not afaik
18:21:38 <ehird> ok
18:24:02 <ehird> http://www.stopabductions.com/
18:27:29 <AnMaster> ehird, joke or madman?
18:27:33 <ehird> Latter.
18:27:36 <AnMaster> ah
18:27:54 <AnMaster> ehird, did it contain tinfoil? I just didn't manage to read on
18:28:06 <ehird> AnMaster: I'm not sure exactly what it contains
18:28:10 <AnMaster> ah
18:28:43 -!- oerjan has quit ("Insert alien abduction joke here").
18:29:02 * ehird downloads ubuntu 9.04 beta for 64 bit to try in qemu
18:29:23 <AnMaster> ehird, didn't you use parallels or something?
18:29:27 <ehird> yes
18:29:32 <ehird> it's not much good for non-windows stuff
18:29:36 <AnMaster> I see
18:29:40 <ehird> also, tired of remaking the free trial all the time
18:33:06 <fizzie> AnMaster: Not tinfoil, velostat (a 3M trademark). It's this conductive plastic-like material used to avoid problems with static electricity. "Examples of these applications include electrically conductive bags of protective sleeves for static-sensitive components, grounding mats or as interleavers between rolls of Smartcard (chipcard) modules"
18:34:42 <fizzie> 3M specifications don't mention shielding from alien thought-control, but...
18:36:30 <ehird> wow, I just explained time cube.
18:38:55 <fizzie> Didn't you use virtualbox, too? At least I think I saw a screenshot.
18:39:24 <andreou> fizzie: a `du -chs ~/_` please? :)
18:39:30 <ehird> fizzie: plan 9 doesn't work on it
18:40:17 <andreou> hell that's some synchronicity, i only just finished getting the plan9 iso
18:40:38 <andreou> and, well, was thinking of virtualbox too
18:40:51 <fizzie> andreou: Actually in this current system the "first-level" _ is actually ~/data/colin_backups. This is all stuff-to-be-sorted-through, though: 15G /home/fis/data/colin_backups/
18:41:22 <andreou> yea the usual 'unsorted' plague: "i'll just get around to it, maybe tomorrow"
18:41:50 <andreou> ah Unsorted and Temp now totalling 17G
18:41:52 <fizzie> I do have a lot of abandoned coding projects in ~/src/archived_prog/_/archive/, too.
18:42:04 <ehird> fizzie: this sort of used to be my system
18:42:06 <ehird> but it was a pain
18:42:18 <andreou> 3200 files
18:43:09 <AnMaster> fizzie, oh those grey-metallish bags?
18:43:17 <AnMaster> for electrical components and such
18:43:40 <fizzie> AnMaster: I don't think it's exactly that, since this looks like black plastic garbage bag. But something like that, certainly.
18:43:48 <AnMaster> ah
18:43:56 <fizzie> "find ~/src/archived_prog/ -type f | wc -l" reports 13390, heh.
18:44:02 <AnMaster> fizzie, I never seen them as black though
18:44:35 <fizzie> "These bags are usually plastic and have a distinctive color (silvery for metalized PET film and other similar plastics, pink or black for polyethylene)."
18:45:26 <andreou> fizzie: got a long way to go, sorting themout
18:46:13 <fizzie> Yes, well, I'm hoping I can just keep on pushing them into deeper and deeper directory hierarchies, and then maybe the farthest branches will fall off naturally.
18:46:33 <andreou> there's this UNIX autosort thingie you might want to consider
18:47:13 <fizzie> What's it do?
18:47:31 <andreou> ah crap the whole of .gr computer eshops, and not one 'happy hacking' keyboard... i hate going for MS kbds again
18:47:44 <andreou> fizzie: puts them out of their misery: rm -rf
18:47:53 <andreou> you run out of excuses, however, with bigger disks
18:48:06 <fizzie> "But what if there's something terribly important in there!"
18:48:26 <andreou> yea that's the big problem
18:48:33 <andreou> of all the GBs i've deleted
18:48:39 <andreou> only once this came out to be true
18:48:59 <andreou> and it was the one thing i couldn't find (or even remember exactly) again
18:49:17 <ehird> 18:46 fizzie: Yes, well, I'm hoping I can just keep on pushing them into deeper and deeper directory hierarchies, and then maybe the farthest branches will fall off naturally.
18:49:19 <ehird> <3
18:49:24 <ehird> also I once rm -rf ~/Code
18:49:30 <ehird> since all in there was shit abandoned useless crap
18:50:15 <andreou> ah god, the HH kbds are upwards of 150 pounds
18:51:24 <fizzie> I think my oldest programming-related stuff has in fact already fallen off the disk, in fact. ~/data/colin_backups/oldhome_old3.tar.gz!old3/ seems to be the oldest I can find, and those are timestamped 1999.
18:51:52 <ehird> how old are you fizzie?
18:52:09 <andreou> "not that old" ;p
18:52:16 <ehird> :-D
18:52:22 <fizzie> I was 16 in 1999, I think.
18:52:24 <ehird> hey andreou, i recognize your name
18:52:34 <ehird> weren't you here in like 2003
18:52:43 <andreou> ehird: yes, before the crisis
18:52:50 <ehird> lol wu
18:52:50 <ehird> t
18:53:11 <andreou> well you know, the usual: "fuck this computers stuff, i ain't touching these damned things again"
18:53:23 <andreou> then again, reality has a unique way of going round in circles
18:53:23 <ehird> :-D
18:53:43 <ehird> I think if I stopped using a computer it'd be akin to what a drug addict experience
18:53:43 <ehird> s
18:54:46 <andreou> actually it is
18:55:06 <andreou> it's strange, sitting at the desk with a book, and _not_ having a monitor in front
18:55:12 <ehird> I've probably got more identity on here than in my actual brain :-)
18:55:21 <andreou> the computer you mean?
18:55:23 <andreou> or the cloud
18:55:29 <ehird> both
18:55:33 <ehird> although cloud is a stupid term
18:55:48 <andreou> it's quite true
18:56:00 <andreou> it does look like a cloud
18:56:05 -!- BeholdMyGlory has joined.
18:56:09 <andreou> btw, stupid question
18:56:12 -!- Hiato has quit ("Leaving.").
18:56:31 <andreou> why does ls colors some folders with a green background?
18:56:43 <ehird> erm
18:56:46 <ehird> one of the permission bits
18:56:54 <andreou> sure, but which one
18:56:54 <fizzie> I think it does world-writable or something with that.
18:57:05 <fizzie> Something it thinks is very important, anyway.
18:57:28 <andreou> yea that was it, o-rwx offed the colours
18:58:05 <fizzie> OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
19:27:48 <ehird> 19:26 vixey: I don't understand this entroy stuff
19:27:48 <ehird> 19:26 vixey: is it real?
19:27:49 <ehird> 19:26 vixey: entropy
19:27:51 <ehird> 19:27 vixey: entropy is obviously false by evolution
19:27:53 <ehird> —#haskell
19:29:49 <ehird> 19:28 vixey: Baughn: can you really put a measure of entropy on the universe at every moment
19:29:49 <ehird> 19:28 vixey: Baughn: and someone proved this is always decreasing
19:29:50 <ehird> fail
19:33:09 <ehird> Ubuntu startup is slooooooooow
19:38:42 <ehird> 19:37 vixey: I don't believe that entropy always increases, you can't prove this until you fully understand the brain
19:39:47 <ehird> default ubuntu 9.10 text rendering=fugly
19:46:11 <andreou> it's not that slow
19:46:17 <andreou> depends on what you load of course
19:46:33 <ehird> andreou: in a vm on a live cd its slow :)
19:46:39 <ehird> and with the beta 9.10
19:46:42 <andreou> from cd or from iso image?
19:46:46 <ehird> iso
19:46:52 <andreou> that should be fast
19:46:54 <ehird> vm is skimpy: just 256mb/ram
19:47:09 <andreou> ah may be that
19:48:14 <ehird> andreou: I had it as 512mb
19:48:17 <ehird> and it was hideosly slow
19:48:22 <ehird> so i'm trying with less to see if it'll make the vm go faste
19:48:23 <ehird> r
19:49:35 <andreou> no luck with plan9?
19:49:46 <andreou> and virtualbox
19:50:15 <ehird> plan9 +virtualbox failed, plan 9+qemu works like a charm
19:50:21 <andreou> qemu?
19:50:25 <ehird> yes
19:50:25 <ehird> qemu
19:50:47 <AnMaster> hm... 0-0xffffffffffffff80 == ? (assuming wraparound is defined for signed 64 bit integer)
19:50:47 <ehird> I'll try ubuntu+virtualbox if this is ridiculously slow too
19:50:55 <andreou> ah and it has multiple targets
19:51:28 * AnMaster tries to work out what sub $0xffffffffffffff80,%rax is, gcc using it instead of add in a for loop going upwards...
19:51:54 <andreou> does qemu come with a nice gui?
19:52:19 <ehird> andreou: not come, no
19:52:21 <ehird> what os/
19:52:24 <ehird> on os x I use "Q"
19:52:32 <ehird> http://www.kju-app.org/
19:52:48 -!- Sgeo has joined.
19:54:02 <AnMaster> ehird, any idea?
19:54:06 <AnMaster> I think it adds 128
19:54:08 <ehird> andreou: why not try it
19:54:11 <AnMaster> but I'm not sure
19:54:11 <ehird> AnMaster:
19:54:29 <AnMaster> yes?
19:54:32 <ehird> irb(main):002:0> (0-0xffffffffffffff80) % 0xffffffffffffffff
19:54:34 <ehird> => 127
19:54:37 <ehird> i said why not try it
19:54:55 <AnMaster> <ehird> andreou: why not try it <-- that?
19:55:00 <AnMaster> wrong nick in that case :)
19:55:01 <ehird> yes
19:55:03 <ehird> then I corrected
19:55:04 <Deewiant> No, that other part where he said 'why not try it'
19:55:04 <ehird> with AnMaster:
19:55:06 <AnMaster> aha
19:55:33 <AnMaster> ehird, 127 doesn't make any sense. The program would have crashed if it did that
19:55:45 <ehird> Well, that's what you get.
19:55:53 <AnMaster> what is irb btw?
19:55:59 <ehird> Interactive RuBy
19:56:00 <Deewiant> AnMaster: You can compile the program and output what happens, can't you?
19:56:09 <AnMaster> Deewiant, yes I'm debugging it in gdb...
19:56:25 <Deewiant> So why do you ask what it does if you can just observe the successive values?
19:56:27 <AnMaster> ehird, then ruby is wrong. It adds 128..
19:56:37 <ehird> wait
19:56:39 <ehird> you want to modulo that+1
19:56:40 <ehird> duh
19:56:47 <AnMaster> right
19:56:48 <ehird> irb(main):002:0> (0-0xffffffffffffff80) % (0xffffffffffffffff+1)
19:56:48 <ehird> => 128
19:57:50 <ehird> http://www.macruby.org/blog/2009/03/28/experimental-branch.html MacRuby to use llvm
19:57:51 <ehird> hot
19:58:51 <ehird> hey, virtualbox is running ubuntu nicely
19:59:02 <ehird> so far
19:59:42 <ehird> Text rendering still fugly
20:00:19 <ehird> http://imgur.com/BTLUV.png <-- ugly text rendering, 8.10 looked nicer
20:00:22 <ehird> this looks like windows
20:00:46 <Deewiant> Looks pretty to me
20:00:55 <Deewiant> But then I'm not a Mac user :-P
20:01:14 <ehird> Deewiant: you can see the subpixels
20:01:25 <Deewiant> Not really I can't
20:01:42 <ehird> I have an attentive eye :)
20:01:49 <Deewiant> Like said, I'm not a Mac user
20:01:51 <AnMaster> I never enable subpixel rendering for a reason. I prefer clean sharp fonts.
20:02:26 <AnMaster> (still slightly anti-aliased, and partly hinted)
20:02:30 <ehird> Clear sharp fonts are possible on subpixel
20:02:36 <ehird> It just needs to be really good subpixel, and a high dpi display
20:02:45 <Deewiant> I don't even know what my settings are
20:02:51 <Deewiant> I don't care much :-P
20:02:57 <AnMaster> ehird, my display isn't very high DPI though
20:03:02 <ehird> AnMaster: right.
20:03:11 <ehird> Deewiant: Never look into typography. It ruins your life.
20:03:29 <Sgeo> Quick question: Should I use Gnumeric, or OpenOffice.org Calc?
20:03:33 <Deewiant> I've looked into it somewhat
20:03:36 <AnMaster> Sgeo, kcalc?
20:03:40 <Deewiant> Sgeo: For what?
20:03:44 <ehird> AnMaster: kcalc is nothing like those ones
20:03:49 <ehird> those are spreadsheet thingies
20:04:01 <AnMaster> ehird, ah I meant kspread
20:04:03 <AnMaster> from koffice
20:04:07 <AnMaster> mixed up the name
20:04:09 <Sgeo> Does kspread work on Windows?
20:04:10 <ehird> koffice is hilariously bad :-)
20:04:20 <AnMaster> ehird, I know. It just wasn't in that list
20:04:27 <Sgeo> ehird, howso?
20:04:31 <AnMaster> anyway: no idea. I don't use any of them really
20:04:33 <ehird> Sgeo: Carries all the mistakes of microsoft office into the new frontier of bad open soucre
20:04:38 <ehird> Terrible UI, terrible working model
20:08:52 <ehird> My first impressions of this are that it's worse than 8.10 but still ok
20:09:29 -!- kar8nga has joined.
20:09:34 <AnMaster> ehird, I would suggest some other distro than ubuntu probably if you want something working well...
20:09:50 <ehird> "Ubuntu doesn't work well"? what planet are you on, they must have awesome drugs
20:10:02 <AnMaster> ehird, "<ehird> My first impressions of this are that it's worse than 8.10 but still ok"
20:10:11 <ehird> what
20:10:12 <AnMaster> ehird, so you want something better?
20:10:20 <ehird> no
20:10:24 <AnMaster> oh ok then
20:10:24 <ehird> i just said 8.10 is better
20:10:27 <AnMaster> it sounded like you did
20:10:28 <ehird> stop reading shit into my words
20:11:10 <ehird> "You entered a password that consists of less than eight characters, which is considered too weak. You should choose a stronger password."
20:11:18 <ehird> i have a huge urge to show the installer the time it'd take to bruteforce my pw
20:11:21 <Deewiant> Does it accept 12345678?
20:11:25 <ehird> probably
20:11:39 <AnMaster> Deewiant, hopefully not
20:11:42 <AnMaster> but it might
20:12:10 <ehird> it would
20:12:12 <ehird> it's just a shitty check
20:12:13 <AnMaster> it depends on the settings for cracklib somewhere in /etc/pam.d I think
20:12:24 <AnMaster> ehird, huh? Not using cracklib?
20:12:29 <ehird> Why would it
20:12:35 <ehird> It looks just like len(pwd)<8
20:12:38 <AnMaster> ehird, because that is what "passwd" does
20:12:43 <Sgeo> ehird, non-ASCII characters?
20:12:44 <ehird> This is the graphical installer.
20:13:04 <AnMaster> ehird, wouldn't it use the same API? It seems logical since it needs to deal with shadow and so on
20:13:15 <ehird> Maybe
20:13:31 <AnMaster> for my system it says:
20:13:32 <AnMaster> password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
20:13:32 <AnMaster> password required pam_unix.so try_first_pass use_authtok nullok sha512 shadow
20:13:40 <AnMaster> so it isn't even using md5
20:13:56 <AnMaster> that is defaults on gentoo
20:21:43 -!- [Vox] has joined.
20:21:52 -!- [Vox] has left (?).
20:22:16 <ehird> hi
20:22:16 <ehird> bye
20:24:15 <andreou> heh
20:25:26 <ehird> AnMaster: debian's massive advantage is apt; ubuntu's is the smooth desktop
20:25:38 <ehird> I think that puts it pretty high as far as linux distros go
20:25:43 <AnMaster> mh
20:25:55 <ehird> apt's interface is klunky but it certainly lives up to its name (Advanced...)
20:25:58 <AnMaster> ehird, I don't like apt or aptitude myself.
20:26:05 <ehird> I don't like apt-get
20:26:08 <AnMaster> yeah klunky definitely
20:26:12 <ehird> But the actual package manager is advanced
20:26:22 <ehird> and can handle most situations
20:26:41 <AnMaster> ehird, I had it fail in interesting ways when trying to upgrade debian 4 to 5
20:26:54 <ehird> Debian 4... 5... wasn't that like 1997?
20:27:58 <andreou> well apt's better than yum, that's for sure
20:28:05 <andreou> btw anyone on debian here?
20:28:28 <ehird> If Ubuntu counts, my VM is.
20:28:48 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
20:29:05 <andreou> nah i just wanna see if debian has autoremove in its apt-get
20:29:15 <ehird> ubuntu's does, I think debian's does
20:29:17 <ehird> also oh god yum oh god rpm
20:29:18 <ehird> >_<
20:29:24 -!- bsmntbombdood has joined.
20:29:39 <andreou> i'm used to it due to ubuntu, and i sat on a bit older debian and it wasn't there. i was thinking that it may be an ubuntu innovation
20:30:00 <ehird> I think it's just a recent thing
20:30:06 <ehird> Ubuntu may have first made it
20:30:15 <ehird> It wasn't there in '06, I know that much
20:36:11 <SimonRC> hmm...
20:38:25 <AnMaster> ehird, bah, today's rpm is NOTHING compared to rpm back on Red Hat 5.0
20:38:31 <AnMaster> ever used that?
20:38:34 <ehird> nope
20:38:40 <AnMaster> ehird, too young I guess :D
20:38:49 <ehird> when was redhat5? 1998?
20:39:08 <AnMaster> ehird, I used it for about a month or two before red hat 6.0 was released iirc
20:39:17 <AnMaster> first linux distro I tried
20:39:24 <AnMaster> ehird, must have been around 2000 I think
20:39:36 <AnMaster> or maybe 1999 or so
20:39:41 <AnMaster> anyway something like that
20:39:46 <SimonRC> Even performing the simplest interactions needed to interface with society and maintain oneself presents an AI challenge beyond anything in the rigidly-defined world of finding proofs within logical systems.
20:39:50 <ehird> Well, I was 5. You can hardly expect me to be using rpm then
20:39:57 <ehird> SimonRC: Uh. Hi.
20:40:02 <SimonRC> or, to misquote Barbie: "Shopping is hard, let's do math!"
20:40:10 <ehird> groan.
20:40:15 <SimonRC> grin
20:41:59 <ehird> ooh, yay, Chromium builds for os x
20:42:03 <ehird> http://www.bluestatic.org/chromium/
20:42:47 <ehird> Seems to work.
20:43:09 <ehird> Albeit buggy.
20:44:34 <SimonRC> Nah, this won't cause any trouble at all will it? --> http://en.wikipedia.org/wiki/File:Oreo_Fun_Barbie.jpg
20:54:25 <Sgeo> Chromium? The icon on that page makes me thing it's Google Chrome for OS X, but is that it?
20:55:03 <ehird> Sgeo: Chromium is the development Chrome.
20:55:13 <ehird> Google Chrome = branded Chromium
20:55:40 <Sgeo> Ah
20:56:23 -!- kar8nga has quit (Connection timed out).
20:57:18 <SimonRC> Iron is Crome that doesn't phone home, apparently
20:58:43 <ehird> phoning home = checking for updates
20:58:45 <ehird> zomg!!11
20:58:45 <ehird> 1
20:59:26 <SimonRC> yeah
20:59:44 <SimonRC> if it were that bad, would they have released it?
21:02:24 -!- BeholdMyGlory has changed nick to FireFly|.
21:02:26 <ehird> SimonRC: ?
21:02:55 -!- FireFly| has changed nick to FireFly-.
21:03:22 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
21:03:22 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
21:04:01 -!- FireFly- has changed nick to BeholdMyGlory.
21:10:11 <ehird> http://www.reddit.com/r/programming/comments/88dc3/linux_is_my_home/c08jaj8
21:13:42 -!- fizzie has joined.
21:15:52 -!- KingOfKarlsruhe has joined.
21:15:57 <SimonRC> ehird: a bit redundant; many of those things are part of "GNU"
21:16:03 <ehird> :-)
21:16:13 <SimonRC> but lol anyway
21:16:13 -!- kar8nga has joined.
21:16:50 <ehird> Grr, I hate systems that lag. Including <1s lag
21:19:15 <SimonRC> so 1ms lag is too much?
21:19:25 <Slereah> What about 1ps lag?
21:19:46 <ehird> SimonRC: 1ms is not lag :-P
21:19:57 <Slereah> How do you define lag?
21:20:00 <ehird> Lag.
21:20:06 <ehird> 0.1s is when it starts to be annoying for m
21:20:06 <ehird> e
21:20:08 <SimonRC> Slereah: nah, in that case, just sit 0.3mm closer to the screen
21:20:11 <Slereah> So by recursion?
21:20:13 <ehird> 0.5 makes me kill people
21:20:21 <SimonRC> yeah
21:20:26 <ehird> 1s i throw myself out of the window
21:20:35 <ehird> 2s i do it twice
21:20:35 <SimonRC> lag is bad, but jitter is worse
21:20:53 <AnMaster> err
21:21:05 <AnMaster> oh not lag on irc
21:21:07 <AnMaster> right
21:21:10 <SimonRC> especially when most things have a lag of milliseconds, but there are random 3s delays
21:21:38 <SimonRC> you end up pressing things twice because you think they didn;t work the first time
21:22:12 <AnMaster> um
21:22:23 <AnMaster> that only happens to me when I hear the disk swap trashing
21:22:26 <AnMaster> which is very seldom
21:22:37 <AnMaster> but since my disk is loud I can hear that happening quite well
21:22:43 <AnMaster> SimonRC, I never get lag otherwise
21:23:13 <AnMaster> maybe because I have enabled the option for preemptible kernel in the kernel config
21:23:41 <AnMaster> it certainly does make the system more responsive
21:24:27 <ehird> maybe because your system is stripped down enough to be useless.
21:24:31 <ehird> (but useless fast)
21:25:31 <AnMaster> ehird, err, I run KDE. That is hardly "stripped down"
21:25:53 <AnMaster> ehird, also firefox is running atm. So is konq
21:26:03 <ehird> i've seen your "KDE retro 2"
21:27:45 <AnMaster> yes and?
21:27:53 <AnMaster> it is still KDE 3.5 under the hood
21:28:12 <AnMaster> ehird, also very little lag when I compile
21:28:21 <ehird> lol 3.5
21:30:05 <AnMaster> really I know from experience that enabling CONFIG_PREEMPT_VOLUNTARY=y and using CONFIG_HZ=1000 help a lot with responsiveness. Also dynticks help
21:30:24 <SimonRC> wait, you task-switch 1000 times per second?
21:30:54 <Sgeo> ehird, are you playing a game? What game?
21:30:57 <AnMaster> SimonRC, ...
21:31:06 <ehird> Sgeo: what
21:31:24 <Sgeo> What lag are you referring to?
21:31:28 <ehird> UI lag
21:31:34 <Sgeo> Oh
21:32:00 <AnMaster> SimonRC, it makes a difference for real time audio processing, like MIDI recording.
21:32:04 <AnMaster> which I'm doing
21:32:07 <SimonRC> ah, ok
21:32:10 <SimonRC> of course#
21:32:25 <SimonRC> how do I find out what mine is set to I wonder
21:32:54 <AnMaster> SimonRC, also it isn't task switches iirc. it is timer interrupts
21:33:08 <ehird> hmm
21:33:14 <ehird> wow, ubuntu's font rendering is nice nowadays
21:33:26 <AnMaster> SimonRC, but using dynticks actually make it do around 20-30 interrupts when system is idle according to powertop
21:33:36 <ehird> subpixel rendering + full hinting = crisp, smooth fonts without any hinting issues
21:33:53 <AnMaster> SimonRC, more if X is started because nvidia driver sucks
21:34:24 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
21:34:26 <AnMaster> (I do a lot of 3D stuff too yes, just not my desktop...)
21:34:53 <ehird> ok, i need drivers for virtualbox's shit video ttuff now
21:35:31 <fizzie> They really ought to do something to that subpixel rendering pixel order nastiness; it seems it's still a no-go if you have one TFT in the normal orientation, and one rotated 90 degrees (so it's the vrgb pixel order) since GTK doesn't do per-screen settings for that stuff, even though xft maybe does perhaps I guess.
21:35:34 <AnMaster> SimonRC, indeed it doesn't translate directly to task switching
21:35:38 <AnMaster> SimonRC, I just checked
21:35:47 <AnMaster> http://kerneltrap.org/node/464
21:36:05 <ehird> The nice thing is that even really small text doesn't have letters spaced out and colliding into some others
21:36:08 <ehird> like I experienced
21:36:10 <ehird> That was _really_ ugly
21:36:32 <AnMaster> ehird, ah yes that would be ugly indeed
21:36:54 <ehird> But it seems fine now
21:37:00 <AnMaster> fizzie, hm I never use subpixel anyway
21:37:07 <AnMaster> (as I mentioned before)
21:37:11 <ehird> Ah, maybe they put in the apple patented stuff into 9.10
21:37:25 <AnMaster> ehird, didn't they in the old one you said?
21:37:29 <ehird> shrug
21:39:19 -!- Judofyr has joined.
21:42:10 <SimonRC> according to that, according to vmstat, I get slightly over 1000 interrupts during a typical second
21:45:19 <ehird> woot, virtualbox drivers worked
21:46:03 <AnMaster> err how do you break before main in gdb
21:46:12 <AnMaster> as in I want to break on the very first instruction
21:46:22 <ehird> AnMaster: 'start' without 'cont', silly.
21:47:00 <AnMaster> ehird, I only ever used "run"...
21:47:20 <ehird> Then you're silly.
21:47:31 <AnMaster> ehird, also it seems to break at main() too
21:47:47 <fizzie> Yes, the documentation for start says: "Run the debugged program until the beginning of the main procedure."
21:47:56 <AnMaster> indeed
21:47:59 <AnMaster> so it doesn't help anyway
21:48:05 <AnMaster> ehird, please some useful suggestion now
21:48:24 <ehird> I don't think you can.
21:48:40 <AnMaster> ..
21:48:52 <ehird> AnMaster: just 'step' without 'start'?
21:48:59 <AnMaster> The program is not being run.
21:49:00 <AnMaster> :P
21:49:05 <AnMaster> is what gdb says
21:49:19 <fizzie> You can break at __libc_start_main, which is not really the first instruction ever, but at least it's pre-main.
21:49:45 <AnMaster> fizzie, I'm interested in first instruction ever, but at least __libc_start_main is better than nothing
21:50:01 <AnMaster> fizzie, didn't work
21:50:07 <AnMaster> didn't break at all in fact
21:50:09 <SimonRC> there isn't a run that takes an instruction count, is there?
21:50:23 <olsner> break at the actual entry point then? _start or whatever the name
21:50:34 <AnMaster> olsner, what is the entry point?
21:50:35 <fizzie> AnMaster: Strange, since it does break here.
21:50:40 <AnMaster> Error in re-setting breakpoint 1: Junk at end of arguments.
21:50:58 <AnMaster> huh it works after restarting gdb
21:51:23 <AnMaster> fizzie, still not the first one :/
21:51:32 <fizzie> Entry point is whatever the ELF e_entry says. I thought it was _start usually, but that did not seem to be the case.
21:51:59 <fizzie> You could break at the entry point address; readelf -a foo | grep -i entry gives you that. Probably objdump too.
21:52:11 <AnMaster> 0x403ad0
21:52:24 <AnMaster> err
21:52:26 <fizzie> Just break *0x403ad0, then.
21:52:28 <AnMaster> didn't work either
21:52:39 <AnMaster> oh wait
21:52:40 <AnMaster> the *
21:52:42 <AnMaster> missed that
21:52:48 <AnMaster> ah yes that works
21:52:48 <fizzie> Yes, it's an address, not a function.
21:52:52 <AnMaster> Breakpoint 1, 0x0000000000403ad0 in _start ()
21:53:15 <fizzie> Seems like it's in _start. I tried to "break _start", but *that* didn't work; maybe strip strips out that symbol.
21:53:38 <AnMaster> fizzie, if that happened why would it show _start there?
21:53:47 <fizzie> I doubt your binary is stripped?
21:53:50 <ehird> I should write a decent WM in this VM
21:53:51 <fizzie> The one I tried it on was.
21:53:52 <AnMaster> ah yes break _start works
21:53:56 <AnMaster> fizzie, no -g either though
21:54:18 <fizzie> Yes, I just happened across an actually strip-stripped binary.
21:54:22 <AnMaster> ehird, install plan9port!
21:54:26 <AnMaster> ;P
21:54:34 <ehird> AnMaster: nah; rio isn't quite right.
21:54:48 <AnMaster> ehird, hm it is one of the better ones though
21:54:59 <ehird> Mhm.
21:55:18 <AnMaster> _start+67 to _start+79 is all nop
21:55:20 <AnMaster> wonder why
21:55:20 <AnMaster> heh
21:55:26 <fizzie> Still, _start does not have to be the absolute first instruction executed, since the dynamic loader could run some _init blocks in any dynamic libs you refer to, while loading them.
21:55:29 <ehird> AnMaster: padding yo.
21:55:59 <AnMaster> 13 bytes of it yes..
21:56:51 <AnMaster> it seems a bit extreme, why use 13 separate nops, usually on x86 is that you try to fill using the largest fast nops
21:56:59 <ehird> fast nops
21:57:00 <AnMaster> even if it isn't the classical xchg ax,ax
21:57:01 <ehird> yeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah
21:57:14 <fizzie> It's not like those nops are ever executed, you know.
21:57:16 <AnMaster> ehird, err that actually make sense
21:57:26 <AnMaster> fizzie, oh?
21:57:27 <SimonRC> I thought 0x80 was nop?
21:57:31 <fizzie> At least here there's a retq immediately before them.
21:57:37 <AnMaster> fizzie, not here
21:57:49 <ehird> Why do non-osx OSes have an obsession with opening shit maximized?
21:57:53 <AnMaster> fizzie, <_start+62>: add $0x8,%rsp is the line in front of them
21:58:01 <ehird> I don't want a maximized window. Text is too long. It blocks out other stuff. Stop it!
21:58:04 <AnMaster> ehird, never happened for me on linux...
21:58:15 <ehird> AnMaster: I clicked Firefox and got a maximimzed window.
21:58:28 <AnMaster> fizzie, how would I break in the first instruction in the dynamic linker then?
21:58:36 <AnMaster> fizzie, because what I want is "really really first"
21:58:40 <SimonRC> oh, of course it's 0x90, http://geekz.co.uk/lovesraymond/archive/nop-nop-nop-nop-nop
21:58:44 <fizzie> I have a retq after that line. Still, I doubt they are executed anyway, there's the callq *%rax which makes it go away.
21:58:46 <AnMaster> fizzie, after OS hands off to user space
21:58:58 <ehird> SimonRC: <3 eler
21:59:08 <AnMaster> hm static maybe
21:59:10 <ehird> AnMaster: make your own elf binary
21:59:35 <ehird> this "Install/Remove" package manager gui is nice. It installs non-app stuff too.
22:00:28 <fizzie> The _init blocks of libs are part of the ELF loading, so I'm not quite sure where you could break; basically you'd have to catch the thing before your code is even loaded.
22:00:53 <AnMaster> fizzie, yes...
22:01:22 <AnMaster> Entry point address: 0x4001d0
22:01:25 <AnMaster> I did a break on that
22:01:30 <AnMaster> yet it was never reached
22:01:33 <AnMaster> in a static binary
22:01:35 <AnMaster> what on earth
22:02:22 <fizzie> And here I have a retq after that add $0x8. Really, I thought that nop-padding was just to make the next function (since what's after the nops really looks like a function prologue) start at a 16-byte offset. I don't really think __libc_start_main is going to return, anyway.
22:02:34 <AnMaster> (gdb) help checkpoint
22:02:35 <AnMaster> Fork a duplicate process (experimental).
22:02:35 <AnMaster> huh
22:02:48 * AnMaster was looking at help obscure in gdb
22:03:30 -!- tombom has quit ("Peace and Protection 4.22.2").
22:05:44 <fizzie> There are some reasons why "break _start" might not work *if* you have debugging symbols. (Basically it tries to be too clever and break after the function prologue, but _start doesn't have one; but if there are no debugging symbols, it just puts a breakpoint at the address of the global _start symbol.)
22:06:12 <fizzie> (But that was from a 2004 mailing-list post, they might've sensiblized that already.)
22:07:05 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
22:07:27 <AnMaster> $ readelf -a hello | grep -i entry
22:07:27 <AnMaster> Entry point address: 0x4001d0
22:07:30 -!- bsmntbombdood has joined.
22:07:31 <AnMaster> (gdb) r
22:07:31 <AnMaster> Starting program: /home/arvid/tmp/hello
22:07:31 <AnMaster> (no debugging symbols found)
22:07:31 <AnMaster> Program exited with code 0360.
22:07:34 <AnMaster> huh
22:07:44 -!- Judofyr has quit (Remote closed the connection).
22:08:01 <AnMaster> it just isn't ever hit
22:09:06 <fizzie> Yes, apparently not. That's rather strange.
22:09:39 <AnMaster> fizzie, I can break on main though
22:09:47 <fizzie> That should, after all, be the simplest case. It just does the ELF-loading and is supposed to jump to _start there.
22:09:49 <AnMaster> and end up a bit later
22:10:14 <AnMaster> Dump of assembler code for function main:
22:10:14 <AnMaster> 0x00000000004002b4 <main+0>: push %rbp
22:10:14 <AnMaster> 0x00000000004002b5 <main+1>: mov %rsp,%rbp
22:10:14 <AnMaster> 0x00000000004002b8 <main+4>: mov $0x0,%eax
22:10:14 <AnMaster> 0x00000000004002bd <main+9>: leaveq
22:10:15 <AnMaster> 0x00000000004002be <main+10>: retq
22:10:33 <AnMaster> seems a bit useless to do those extra moves
22:10:37 <AnMaster> for "return 0;
22:10:42 <AnMaster> and mov 0?
22:10:47 <AnMaster> oh no -O
22:10:49 <AnMaster> right
22:10:54 <AnMaster> -O3 is more sensible:
22:10:58 <AnMaster> Dump of assembler code for function main:
22:10:58 <AnMaster> 0x00000000004002c0 <main+0>: xor %eax,%eax
22:10:58 <AnMaster> 0x00000000004002c2 <main+2>: retq
22:11:28 <fizzie> Hmm.
22:11:42 <AnMaster> fizzie, breaking on 0x4001d2 works...
22:11:44 <fizzie> Here breaking at address _start+2 works even for a statically linked...
22:11:51 <AnMaster> as in the second instruction in _start
22:11:54 <AnMaster> ah you found it too
22:11:56 <fizzie> Yes. I was just saying the same thing.
22:12:41 <fizzie> Rather strange. It might be even that gdb feature of ignoring a breakpoint on the first executed instruction, to make it possible to "cont" past breakpoints without disabling them.
22:12:59 <AnMaster> fizzie, err what?
22:13:03 <AnMaster> how would that work
22:13:23 <AnMaster> cs 0x33 51
22:13:24 <AnMaster> ss 0x2b 43
22:13:32 <AnMaster> wait, code segment isn't null?
22:13:34 <AnMaster> huh
22:13:37 <fizzie> That's what it does. If you are at a breakpoint, and say "cont", logically it would hit that same breakpoint, since that's what it's going to execute.
22:13:52 <AnMaster> hm ok
22:14:27 <fizzie> That's even in GDB manual: "It is not necessary to delete a breakpoint to proceed past it. GDB automatically ignores breakpoints on the first instruction to be executed when you continue execution without changing the execution address."
22:14:31 <AnMaster> 0x00000000004001d0 <_start+0>: xor %ebp,%ebp
22:14:40 <AnMaster> so I wonder what %ebp was before
22:14:41 <AnMaster> :/
22:15:11 <AnMaster> actually doesn't gdb support patching the memory image or something it might be possible to insert a nop...
22:15:30 -!- Mony has quit ("Quit").
22:15:58 <fizzie> (gdb) catch start
22:15:58 <fizzie> Catch of start not yet implemented
22:16:03 <fizzie> Heh, I thought that might work.
22:16:09 <fizzie> "catch start - any processes, just after creation"
22:16:15 <AnMaster> heh
22:16:27 <AnMaster> Catch of exit not yet implemented
22:16:28 <AnMaster> too
22:16:34 <fizzie> "catch of library loads not yet implemented on this platform". "Catch of thread_start not yet implemented".
22:16:39 <fizzie> Someone's been lazy.
22:16:52 <AnMaster> Catch of signal not yet implemented
22:16:55 <AnMaster> what is this? A joke?
22:17:51 <fizzie> The manual (I'm not sure which version this is for, since I hit it with google) just lists C++ exceptions and exec/fork/vfork for catching.
22:18:15 <fizzie> And load, but "This is currently only available for HP-UX."
22:18:25 <AnMaster> eh
22:18:27 <AnMaster> heh*
22:18:31 <fizzie> Obviously not a very popular feature.
22:18:55 <SimonRC> AnMaster: why do you want to stop so early in a process?
22:19:02 <AnMaster> SimonRC, I wanted to find out the full register and stack state when OS hands off to user space
22:19:07 <SimonRC> ahh
22:19:13 <AnMaster> and heap too
22:19:23 <SimonRC> I assume TFM isn't very helpful in this case
22:19:32 <AnMaster> SimonRC, which one?
22:19:41 <SimonRC> hmm
22:19:45 <SimonRC> kernel docs?
22:19:50 <AnMaster> anyway I know all but ebp now I think
22:19:52 <SimonRC> spec of your executable format?
22:20:08 <AnMaster> so I'll just need to modify the binary to have a nop first in start
22:20:11 <AnMaster> that I can break on
22:20:35 <fizzie> Some of those values might be rather variable, though.
22:20:38 <AnMaster> anyone knows a machine code editor that isn't a hex editor but something more asm-y
22:20:44 <AnMaster> fizzie, most are 0x0 it seems
22:20:51 <fizzie> There was one ELF editor, but I forgot it.
22:21:16 <fizzie> Oh, right, http://hte.sourceforge.net/
22:21:24 <fizzie> It's a very silly-looking, based on screenshots.
22:21:30 <SimonRC> DEBUG.COM?
22:21:48 <fizzie> Or should I say, retro.
22:21:54 <AnMaster> fizzie, for windows?
22:22:03 <AnMaster> actually there is app-editors/hteditor here...
22:22:12 <fizzie> Well, there are sources.
22:22:51 <AnMaster> web page has 2.0.13.. package manager has 2.0.14
22:22:53 <AnMaster> strange
22:23:06 <AnMaster> http://elfsh.segfault.net/ ?
22:23:24 <AnMaster> actually link is broken
22:23:35 <AnMaster> was dev-util/elfsh "scripting language to modify ELF binaries"
22:23:41 <fizzie> http://hte.sourceforge.net/downloads.html has up to 2.0.16.
22:23:45 <fizzie> Who knows.
22:24:10 <AnMaster> fizzie, it has an X useflag here
22:24:17 * AnMaster wonders
22:24:21 <fizzie> Anyway, since you just need that one nop there, I'd just use a hex editor. It's not like you're going to make a workflow of this stuff.
22:24:37 <AnMaster> it passes the strange thing "--enable-x11-textmode"
22:24:39 <AnMaster> to configure
22:25:18 <AnMaster> fizzie, it would be useful in general though
22:25:50 <AnMaster> fizzie, wonder how to find file offset btw
22:25:56 <AnMaster> is it same?
22:32:53 <AnMaster> fizzie, there is an _init in the static binary...
22:34:24 <fizzie> I think _start is the first, anyway. And you could figure the file offset from the readelf output with a subtraction or two, or just look for those bytes.
22:34:40 <AnMaster> fizzie, using ht was easier :)
22:36:29 <AnMaster> rsp 0x7fff910b2660 0x7fff910b2660
22:36:35 <AnMaster> rsp is stack pointer right?
22:36:40 <fizzie> Yes.
22:37:29 <fizzie> For my elf file, entry point address 0x400190 and first program header offset 0 and VirtAddr 0x400000, which would imply that the entry point is in the file at offset 0x190.
22:37:31 <AnMaster> fizzie, apart from rsp all seems to have fixed values. And Linux randomises stack position, so not odd.
22:37:34 <AnMaster> FireFly, oh btw: r11 0x200 512
22:37:37 <AnMaster> that is always that
22:37:45 <AnMaster> otherwise all GPR are 0
22:37:46 <FireFly> fizzie*
22:37:55 <AnMaster> ah right
22:37:57 <FireFly> :P
22:38:23 <fizzie> Well, I have a similar problem now, as "an<tab>" extends to andreou; it used to do AnMaster.
22:38:24 <FireFly> I'm in ur channel stealin' ur autocompletion
22:38:43 <AnMaster> see
22:39:01 <AnMaster> well I guess FireFly and andreou just have to live with it
22:39:02 <AnMaster> :)
22:39:56 <AnMaster> fizzie, and you are right, init is called from _start, but _init calls back into _start(?)
22:40:01 <AnMaster> Dump of assembler code for function _init:
22:40:01 <AnMaster> 0x00000000004001b0 <_init+0>: sub $0x8,%rsp
22:40:01 <AnMaster> 0x00000000004001b4 <_init+4>: callq 0x4001fc <_start+44>
22:40:01 <AnMaster> 0x00000000004001b9 <_init+9>: callq 0x400270 <_start+160>
22:40:01 <AnMaster> 0x00000000004001be <_init+14>: callq 0x45e2e0
22:40:02 <AnMaster> 0x00000000004001c3 <_init+19>: add $0x8,%rsp
22:40:04 <AnMaster> 0x00000000004001c7 <_init+23>: retq
22:40:21 <AnMaster> huh
22:40:29 <AnMaster> (gdb) bt
22:40:29 <AnMaster> #0 0x00000000004001b0 in _init ()
22:40:29 <AnMaster> #1 0x00000000004008a4 in __libc_csu_init ()
22:40:29 <AnMaster> #2 0x000000000040040f in __libc_start_main ()
22:40:29 <AnMaster> #3 0x00000000004001f9 in _start ()
22:40:30 <AnMaster> btw
22:40:58 <AnMaster> what on earth is stdio stuff doing in this binary, I don't even include any header
22:41:00 <fizzie> Well, there's no stack frame for _start, since it's not a function.
22:41:26 <AnMaster> fizzie, true
22:42:08 <AnMaster> what is the st0 register in info all-registers
22:42:19 <AnMaster> I don't remember any st registers
22:43:11 <fizzie> The only thing I can think of is the x87 stack-thing, which I really am not familiar with.
22:43:37 <AnMaster> isn't that fpr0 and such?
22:43:44 <AnMaster> at least in amd docs it is
22:44:59 -!- Sgeo has quit ("Leaving").
22:45:00 <fizzie> STn is the assembly mnemonic for it. Maybe. I can't really be sure.
22:45:08 <AnMaster> hm
22:45:16 <AnMaster> how do you set a register in gdb btw
22:45:25 <AnMaster> also how on earth does gdb find this out I'd like to knopw
22:45:28 <AnMaster> know*
22:45:36 <AnMaster> debuggers are even more black magic than compilers...
22:45:41 <fizzie> I used to know register-setting.
22:46:04 <fizzie> Anyway, I guess gdb on linux just uses the ptrace thing.
22:46:13 <fizzie> PTRACE_GETREGS to get registers and so on.
22:46:23 <AnMaster> ok
22:46:27 <AnMaster> still black magic
22:46:32 <AnMaster> just now it is in kernel
22:46:37 <AnMaster> (where it belongs)
22:47:01 <fizzie> "set $reg = x" might work.
22:47:02 <AnMaster> (gdb) help duel
22:47:03 <AnMaster> Evaluate Duel expressions. Duel is a very high level debugging language.
22:47:03 <AnMaster> "dl help" for help.
22:47:03 <AnMaster> huh
22:47:05 <AnMaster> interesting
22:47:24 <AnMaster> an embedded scripting language hidden in gdb
22:48:18 <SimonRC> I never knew about that
22:48:55 <fizzie> Yes, "set $reg = x"; and for simd-style registers it's things like "set $xmm1.v4_int32 = {1, 2, 3, 4}"; it pretends those are structs.
22:49:18 <AnMaster> heh
22:49:50 <fizzie> Or maybe more like an union in this case.
22:50:01 <AnMaster> fizzie, yep st0 behaves like x87 definitely
22:50:08 <AnMaster> xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
22:50:08 <AnMaster> 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
22:50:11 <AnMaster> like that you mean?
22:50:33 <fizzie> Yes. I guess it's more union-like, in that if you mangle one of those, all the others change too.
22:51:32 <AnMaster> I know floating point and mmx registers are layered, but there is no place showing them as mmx registers hm
22:51:44 <AnMaster> as in a useful format when debugging mmx
22:52:30 <AnMaster> fizzie, irritating that gdb doesn't use the standard names for the registers
22:52:55 <AnMaster> I guess fctrl is what amd calls fcw
22:53:04 <AnMaster> fstat being fsw
22:53:05 <AnMaster> maybe
22:53:21 <AnMaster> FireFly, can you dump a register as a bit pattern in gdb...
22:53:31 <FireFly> Nope :D
22:58:01 <fizzie> That hex list in "info registers/all-registers" is probably rather close to a bit pattern.
22:58:15 <fizzie> It gives "(raw 0x00000000000000000000)" for stX regs too.
22:58:48 -!- oerjan has joined.
22:59:05 <AnMaster> fizzie, I wanted it for fctrl register
22:59:12 <AnMaster> I guess I could use erl to do it
22:59:26 <AnMaster> btw how can you do it with bc?
22:59:31 <AnMaster> someone said you could
22:59:34 <fizzie> Well, uh, "fctrl 0x37f 895"; isn't that 0x37f pretty close? 0b001101111111.
22:59:53 <AnMaster> I can't work that out in my head
22:59:54 <AnMaster> sorry
22:59:54 <fizzie> ibase=16
22:59:54 <fizzie> obase=2
22:59:54 <fizzie> 37F
22:59:54 <fizzie> 1101111111
23:00:56 <fizzie> With bc you just have to beware that the number you give as "obase" is given in base-ibase, so "ibase=2"+"obase=16" is not a good idea, you want "obase=16"+"ibase=2" instead. Or alternatively "ibase=2"+"obase=10000", but maybe that's slightly more difficult.
23:01:29 <AnMaster> err
23:01:33 <AnMaster> which way is that word
23:01:39 <AnMaster> it doesn't make sense either way
23:01:46 <AnMaster> reserved bits at 1 and some at 0?
23:02:22 <AnMaster> wait maybe it makes more sense when padded to 16 bits..
23:02:34 <AnMaster> how do you do that in bc fizzie?
23:02:38 <AnMaster> pad to 16 bits I mean
23:02:49 <fizzie> You don't. Just imagine there are zeroes in front.
23:03:39 <AnMaster> 1> io:format("~16.2.0B~n", [16#37f]).
23:03:39 <AnMaster> 0000001101111111
23:03:42 <AnMaster> lovely
23:05:07 <SimonRC> nothing like a few tildes and hashes to make your day nicer
23:06:45 <AnMaster> SimonRC, um ~ means same as % in C format strings basically
23:06:54 <AnMaster> and 16# means 0x
23:06:59 <AnMaster> you can use any number in front
23:07:06 <AnMaster> like 5# to use base 5
23:07:10 <AnMaster> 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1
23:07:10 <AnMaster> R R R Y R R P P R R P U O Z D I
23:07:10 <AnMaster> E E E C C C C E E M M M M M M
23:07:10 <AnMaster> S S S S S
23:07:11 <AnMaster> hm
23:07:15 <AnMaster> that doesn't quite make sense
23:07:21 <AnMaster> (RES == reserved)
23:07:47 <AnMaster> why is one reserved bit 1?
23:08:27 <fizzie> unpack('B16', pack('n', 0x37f)) would be a reasonable Perl version. Or alternatively sprintf "%016b", 0x37f, that's even simpler. I wonder if there's a sensible Perl REPL, though.
23:09:23 <AnMaster> "<fizzie> [...] I wonder if there's a sensible Perl [...]" <-- nice misquoting :D
23:09:52 <fizzie> The other way around you'd get all RES bits as 1, though?
23:10:18 <oerjan> fizzie: my thought exactly
23:10:24 <fizzie> I have no idea what any of those meaningful bits are, though.
23:10:52 <AnMaster> it would be rather strange to start with Y set to 1 I think
23:11:00 <AnMaster> it is 80287 compat...
23:11:06 <fizzie> Y ask Y.
23:11:31 <AnMaster> ??
23:11:55 <AnMaster> actually Y is ignored even in virtual 80whatever mode it seems nowdays heh
23:11:57 <fizzie> Just a bit of free-association. It's "why ask why".
23:12:44 <AnMaster> 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0
23:12:44 <AnMaster> R R R Y R R P P R R P U O Z D I
23:12:44 <AnMaster> E E E C C C C E E M M M M M M
23:12:44 <AnMaster> S S S S S
23:12:44 <AnMaster> hm
23:12:50 * AnMaster wonders if that make mroe sense
23:13:24 <AnMaster> hm
23:13:36 <AnMaster> then RC and PC are are non-default values
23:13:40 <ehird> I wonder if there's a sensible Perl REPL, though.
23:13:43 <ehird> perl -de0
23:13:54 <ehird> or devel::repl or w/e
23:14:34 <AnMaster> so
23:15:07 <AnMaster> a PC if 01 is invalid (thus we can't read it sub-backwards), a PC of 10 means double precision, 00 single, 11 long double
23:15:12 <AnMaster> long double is (afaik) default
23:15:56 <AnMaster> no it doesn't make sense that way FireFly
23:15:57 <AnMaster> err
23:15:59 <AnMaster> fizzie, ^
23:16:01 <AnMaster> I just checked
23:16:56 <fizzie> Well, then it must be something else.
23:17:42 <AnMaster> fizzie, I checked the effects of RC, and it only matches the actual rounding mode when it is set as I read it first time
23:18:25 -!- calamari has joined.
23:19:58 <ehird> Hmm, `perl -mstrict -wde0` + line editing + prepends "p " in front of all lines would make a good perl repl.
23:20:08 <ehird> Well, prepends it in front of all non-perldebug commands.
23:21:03 <SimonRC> idea: ELPR -- the easy-looking perl repl
23:21:06 <SimonRC> ;-)
23:21:52 <SimonRC> coz we need moar anagrams
23:21:53 <fizzie> LEPR; the Perl REPL whose body parts fall off.
23:22:08 <AnMaster> fizzie, that's worse than oerjan
23:24:03 <fizzie> It was freely paraphrasing a Finnish radio-comedy-parody-show-thing. They once did a parody of a car-related program, and the final words were something like "and next week, we're reviewing Fiat Lepra, the car whose parts fall off".
23:25:13 <fizzie> According to wikipedia, leprosy doesn't even cause off-falling body parts, but...
23:26:16 <oerjan> well technically the car parts would probably fall off because the view out is so lousy you cannot avoid bumping into things
23:26:19 <ehird> Ubuntu 9.10 seems quite nice once configured.
23:28:02 <AnMaster> oerjan, uh
23:28:04 <AnMaster> what?
23:28:45 <oerjan> AnMaster: that was the closest analogy i could think of
23:29:19 <oerjan> although it's switching vision with touch sense
23:30:29 <ehird> "You see, because Tom's a nutcase,"
23:30:55 <AnMaster> ehird, uh?
23:31:00 <AnMaster> also... night
23:43:24 <ehird> James Lyon:
23:43:25 <ehird> He has been employed at Microsoft since 1996 and has worked on Exchange Server, SQL Server, COM, and Microsoft Transaction Server. Most recently Jimbo was instrumental in designing, building, and shipping Windows Home Server Computer Backup.
23:43:28 <ehird> D:
23:47:57 <ehird> Open angle bracket close angle bracket exclamation mark asterisk quote octothorpe
23:47:57 <ehird> Caret at-sign backtick dollar dollar hyphen
23:47:59 <ehird> Exclamation mark asterisk single quote dollar underscore
23:48:01 <ehird> Parcent asterisk open angle bracket close angle bracket octothorpe four
23:48:03 <ehird> Ampersand close parenthesis period period forward slash
23:48:05 <ehird> Bar open curly brace tilde tilde SYSTEM HALTED
23:51:55 <SimonRC> ISTR there is a better pronunciation
23:52:04 <SimonRC> and seriously, "octothorpe"?
23:52:09 <SimonRC> why not "hash"?
23:52:31 <ehird> SimonRC: My pronounciation is a joke; doing it precisely to ruin the poem
23:52:35 <ehird> And because octothorpe is correct.
23:52:46 <ehird> "hash" is locale-centric.
23:53:52 -!- BeholdMyGlory has quit (Remote closed the connection).
23:54:13 <ehird> 'Helvetica is a Microsoft font.'
23:54:14 <ehird> WA
23:54:14 <ehird> T
2009-03-30
00:00:01 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
00:00:06 * SimonRC goes
00:01:48 <Slereah> It's from Switzerland!
00:01:53 -!- oklowob has quit ("PJIRC @ http://webirk.dy.fi").
00:02:37 -!- bsmntbombdood has joined.
00:03:17 <FireFly> Hrm
00:03:41 <ehird> I hope this ubuntu in a vm craps out soon
00:03:47 <ehird> I don't want to like it too much
00:04:00 <FireFly> Does anybody know how the sample data in wav files is created?
00:04:05 <ehird> pc
00:04:06 <ehird> pcm
00:04:50 <FireFly> Uh.. Bah
00:05:05 <fizzie> You can stick different kinds of data in a .wav, though.
00:05:21 <FireFly> I should've googled that.. I knew that I was using data type 1, eg. PCM >_<
00:05:23 <FireFly> yeah
00:05:47 <FireFly> Well, I'm going to generate the data, so I don't mind other types
00:05:51 <fizzie> Uncompressed .wav files are pretty simple, anyway.
00:05:55 <ehird> WHAT THE FUCK, I like gnome
00:05:57 <ehird> what's happening to me
00:06:23 <fizzie> ehird: You forgot to wear your velostat hat, now you're being abducted.
00:06:32 <ehird> fizzie: :D
00:06:45 <ehird> http://hovika.ytmnd.com/
00:07:08 <ehird> friend got that
00:07:14 <ehird> (not the author of that site)
00:07:46 <FireFly> ...it feels like generating wavs isn't really the primary use of JS, though
00:08:09 <ehird> fizzie: lolwu
00:08:10 <ehird> er
00:08:11 <ehird> FireFly: lolwut
00:08:37 <FireFly> Well, yeah
00:09:00 <FireFly> I though a JS sound editor would be cool
00:09:02 <fizzie> What is strange is: when BitsPerSample==8, wav file samples are unsigned bytes; but when BitsPerSample==16, the format seems to be signed little-endian two-byte integers.
00:09:17 <FireFly> I noticed
00:09:20 <ehird> FireFly: how do you embed it?
00:09:21 <ehird> data:?
00:09:31 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:09:32 <FireFly> I was thinking of base64
00:09:43 <ehird> ==data:
00:09:46 <FireFly> But I havn't actually played it in the browser yet :D
00:10:04 <FireFly> I base64'd it and played it with mplayer, seem to work
00:10:32 <FireFly> Some random chippy noise, but it does get the correct length/metadata
00:11:10 <oerjan> chipmunk noise
00:12:26 -!- AnMaster_ has joined.
00:12:32 <fizzie> The wigi says IE<=7 doesn't support data: URIs at all, and IE8 has a length restriction of 32k. That's very limitsy.
00:12:34 <oerjan> eek DST
00:12:47 <FireFly> IE is IE
00:13:12 <FireFly> Don't destroy my visions :(
00:13:20 <fizzie> The wikipedia article also has the following gem, in "advantages": "When fine tuning trafic volue: an embedded Base64 encoded image < 666 Byes of original data results in less then 866 Bytes Base64 data. This become more efficent then transfering this image + HTTP overhead (666 + 200 = 866 bytes)."
00:13:27 <fizzie> Very classy.
00:13:45 <FireFly> Heh
00:15:14 -!- olsner has quit ("Leaving").
00:16:01 <fizzie> Someone's been -- http://sk89q.therisenrealm.com/playground/jswav/ -- doing that sort of stuff too. I wonder if any JavaScript demoscene prods have opted for something like that instead of just using music-in-a-file; perhaps not.
00:17:12 -!- calamari has quit ("Leaving").
00:18:32 <FireFly> Someone stole my idea :(
00:18:41 <FireFly> Well, I'll live with it
00:18:51 <oerjan> those pesky time travelers
00:18:58 <fizzie> You can do better. It's not a sound editor in there, after all.
00:20:18 <FireFly> I guess
00:21:15 <ehird> This Ubuntu-in-a-vm is working a little too well.
00:21:18 <ehird> Maybe pixies.
00:23:55 <ehird> For a vm with only 512mb it's sure hobbling along
00:24:09 -!- AnMaster has quit (Connection timed out).
00:30:48 <FireFly> Nighty
00:31:05 -!- FireFly has quit ("Later").
01:20:01 <kerlo> The English word "if" generally corresponds to conditional probability.
01:20:03 * kerlo bows
01:23:32 <ehird> kerlo: why are you obsessed with bayesian probability logic vs natural language
01:28:50 -!- Dewio has changed nick to Dewi.
01:55:53 <andreou> ehird: you should see windows xp in a vm
01:56:02 <ehird> i did that a few days ago
01:56:07 <ehird> it was fast when i stripped it down
01:56:12 <andreou> the speed advantage is noticeable, to say the least
01:58:59 <andreou> crap, got to 4am
01:59:02 <andreou> DST sucks
01:59:13 <ehird> :)
02:01:10 <andreou> i'm off, laters
02:14:47 -!- neldoreth has quit (Read error: 104 (Connection reset by peer)).
02:14:51 -!- neldoret1 has joined.
03:01:37 <kerlo> ehird: because AI and language happen to be interests of mine.
04:06:41 -!- neldoret1 has quit (Read error: 113 (No route to host)).
04:08:16 -!- oerjan has quit ("Good night").
04:45:32 -!- Sgeo has joined.
04:54:39 -!- GreaseMonkey has joined.
05:27:47 -!- Sgeo has quit ("Leaving").
07:01:19 -!- psygnisfive has joined.
07:14:09 -!- tombom has joined.
07:24:56 -!- olsner has joined.
07:45:54 -!- rodgort has quit ("Coyote finally caught me").
07:46:07 -!- rodgort has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:06:40 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:26:36 -!- lament has quit (Read error: 60 (Operation timed out)).
10:29:53 -!- AnMaster_ has changed nick to AnMaster.
10:46:42 -!- neldoreth has joined.
10:54:55 -!- swistakm_ has joined.
10:54:55 -!- swistakm has quit (Read error: 104 (Connection reset by peer)).
13:01:05 -!- KingOfKarlsruhe has joined.
13:11:45 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:14:43 -!- KingOfKarlsruhe has joined.
13:42:21 -!- neldoreth has quit ("leaving").
13:43:01 -!- oerjan has joined.
13:43:40 -!- neldoreth has joined.
13:43:57 -!- neldoreth has quit (Client Quit).
13:44:24 -!- neldoreth has joined.
13:46:11 -!- neldoreth has quit (Client Quit).
13:46:49 -!- neldoreth has joined.
13:46:51 -!- neldoreth has quit (Client Quit).
13:47:27 -!- neldoreth has joined.
13:47:27 <oerjan> AnMaster: aww, poor cthulhu
13:47:53 <AnMaster> oerjan, ??
13:48:01 <AnMaster> ah
13:48:04 <AnMaster> right
13:48:17 <AnMaster> yeah I agree
14:00:40 -!- Judofyr has joined.
14:13:03 -!- Slereah_ has joined.
14:26:38 -!- Slereah has quit (Read error: 110 (Connection timed out)).
14:41:43 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:44:19 -!- Judofyr has quit (Remote closed the connection).
14:49:26 -!- oerjan has quit ("leaving").
15:12:11 -!- Judofyr has joined.
15:34:55 <AnMaster> Deewiant, fizzie: There? SUBR: What should happen when stack cell count for the call or return is equal to zero?
15:35:07 <AnMaster> and does mycology test it for zero
15:35:28 -!- BeholdMyGlory has joined.
15:54:27 -!- FireFly has joined.
15:56:49 <andreou> ah, catseye resurrected?
15:57:11 -!- ehird has left (?).
15:58:42 -!- ehird has joined.
15:59:46 <ehird> andreou: catseye has been resurrected since like 2006
16:07:00 <andreou> ugh
16:07:09 <andreou> it must've been my resurrection that took longer then
16:08:17 <andreou> nice to see it still keeps that abominable background image
16:09:36 <andreou> i had a dream the other night, about a nice form on a website that presented you, after a series of questions, the open source license of your unconscious choice
16:15:35 <ehird> andreou: there's tons of those
16:15:48 <ehird> also, which abominable background
16:18:11 <andreou> the optical illusion, http://catseye.tc/images/backgrounds/sinewhite.png
16:19:40 <ehird> andreou: err, what is it meant to illuse
16:19:46 <ehird> it looks just like a regular background to m
16:19:46 <ehird> e
16:20:26 <andreou> i'm sorry ;p
16:21:13 <andreou> may be the color or the curving, yet it always made me dizzy
16:36:37 <AnMaster> warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 <-- I wonder how to interpret this one... for while(n--) where I know n is >= 0
16:40:37 -!- FireFly has quit ("Later").
16:40:59 -!- FireFly has joined.
16:50:01 <lifthrasiir> AnMaster: is that gcc warning?
16:51:03 <AnMaster> lifthrasiir, yes
16:51:13 <AnMaster> lifthrasiir, gcc 4.2 or later
16:55:28 <lifthrasiir> i don't know why... perhaps because n = <someexpr>; in the loop merges into condition check (just guessing)?
16:57:52 <AnMaster> hm no
16:58:07 <AnMaster> if (n < 0) {
16:58:07 <AnMaster> ip_reverse(ip);
16:58:07 <AnMaster> return;
16:58:07 <AnMaster> }
16:58:09 <AnMaster> and then later
16:58:13 <AnMaster> while (n--)
16:58:14 <AnMaster> stack_push(ip->stack, stack_pop(tmpstack));
16:58:18 <AnMaster> from my SUBR
16:58:30 <AnMaster> that causes the warning on the line with "while (n--)"
16:58:38 <AnMaster> n being a signed integer
16:59:18 <AnMaster> lifthrasiir, it seems to work anyway, just a bit confusing
17:00:45 <AnMaster> X +- C1 cmp C2 to X cmp C1 +- C2 that would mean in this case (n--) != 0 into "n != 1-0"?
17:00:47 <AnMaster> err
17:00:50 <AnMaster> that makes no sense
17:03:39 <lifthrasiir> if (n-- != 0) transforms into (n -= 1, (n + 1) != 0) then it can be the case
17:04:00 <AnMaster> hm
17:04:02 <lifthrasiir> i don't know gcc's internal well but that's only possible interpretation
17:06:32 <AnMaster> well ok that transformation you suggested seem harmless in this case
17:15:51 -!- Hiato has joined.
17:24:17 -!- swistakm_ has changed nick to swistakm.
17:30:31 <AnMaster> __builtin_ia32_movntps(((float*)(void*)&cfun_static_space) + i*4,
17:30:31 <AnMaster> *((const v4sf*)(const void*)&fspace_vector_init));
17:30:36 <AnMaster> lifthrasiir, lovely code eh?
17:30:38 <AnMaster> (not)
17:30:43 <lifthrasiir> heh,
17:31:00 <AnMaster> cast to void needed to shut up warnings about strict aliasing rules (they do not matter in this case)
17:32:28 <lifthrasiir> movntps is for copying aligned bytes? (i'm not good at x86 assembly)
17:33:23 <AnMaster> lifthrasiir, WC is write combining too, and doesn't fill cache. Since I'm just space filling the static array for the commonly used part of funge space around 0,0 here...
17:34:09 <AnMaster> Move Non-Temporal Packed Single-Precision Floating-Point
17:34:13 <AnMaster> is what it stands for
17:35:18 <AnMaster> lifthrasiir, I don't know if I told you, but I use a static array for the most commonly used area around 0,0 in funge space, then a hash table for storing stuff outside that
17:35:22 <AnMaster> this helped speed a lot
17:36:28 <AnMaster> lifthrasiir, and basically, storing 2 MB of spaces in the binary wouldn't be sane, so I fill it at startup. -ftree-vectorise vectorised the loop, but it still caused lots of L1 and L2 cache misses. Using a WC-style streaming store solved that.
17:36:32 <AnMaster> I still have pure C fallback
17:36:48 <lifthrasiir> good, i'm using just hash table (that's how the dict works in python) and i feel i have to add memory block for efficient storage...
17:37:08 -!- neldoreth has quit ("Lost terminal").
17:38:17 <lifthrasiir> in current pyfunge space operation accounts for 50% of time or so, which is a huge bottleneck
17:39:00 <AnMaster> lifthrasiir, hum? I don't know how much this would actually help in python... Since some of this stuff is pretty low level.
17:39:04 <lifthrasiir> (other bottleneck being command dispatch, but it is plenty of slow codes)
17:39:36 <AnMaster> I can reason about C code and often figure out what is most effective, because C is a rather thin abstraction on top of asm really. While for a high level language that is much harder.
17:39:48 <AnMaster> Of course you should still use profilers in both cases :)
17:39:59 <AnMaster> (since you can't always reason about either C or asm)
17:40:28 <AnMaster> lifthrasiir, hm gcc compiles my command dispatching into a big jump table basically.
17:40:38 <AnMaster> Which is quite ok, but could be faster
17:40:41 <AnMaster> brb phone
17:40:42 <lifthrasiir> AnMaster: i'm just trying to revise storage mechanism, since pyfunge once had big bottleneck related to sysinfo's boundary calculation
17:42:41 <lifthrasiir> with respect to this current design is very inefficient, since it uses direct coordinate as key (e.g. {(0,0): 64, ...})
17:45:41 <lifthrasiir> now pyfunge use caching and shortcut for sysinfo command, but it still takes too much time
17:46:03 <AnMaster> back
17:46:25 <AnMaster> lifthrasiir, oh boundary? I store it as two pairs of x.y
17:46:28 <AnMaster> x,y*
17:46:43 <AnMaster> lifthrasiir, used for wrapping too
17:47:16 <lifthrasiir> how to calculate exact boundary (as required for sysinfo)?
17:48:06 <ehird> *Main> let Cast a = Cast 3
17:48:06 <ehird> <interactive>:1:4:
17:48:07 <ehird> My brain just exploded.
17:48:09 <AnMaster> lifthrasiir, well every time I write to funge space I have a couple of if that checks if bounds would grow. There is a known issue with shrinking bounds currently. But ccbi has that too
17:48:09 <ehird> I can't handle pattern bindings for existentially-quantified constructors.
17:48:11 <ehird> (real error message)
17:48:28 <AnMaster> lifthrasiir, and thus mycology doesn't test it. in cfunge and ccbi bounds currently only grow
17:48:52 <AnMaster> lifthrasiir, those if compiles down to a couple of cmov btw :)
17:48:57 <AnMaster> ifs*
17:49:07 <lifthrasiir> AnMaster: oh, it seems pyfunge is correct for that case ;)
17:49:30 <lifthrasiir> pyfunge also uses inexact (only growing) boundary for wrapping, only updates to exact boundary if requested
17:50:03 <AnMaster> lifthrasiir, well a slow y would be a mess for HRTI test.
17:50:16 <lifthrasiir> and that update takes too much, that's why i consider new algorithm
17:51:00 <AnMaster> I guess if I had to scan I would scan inwards from the bounds in sysinfo to find the real ones, and while I was at it also update the wrap bounds to not have to scan as much next time
17:51:16 <AnMaster> + cache positions of non-space so I could just check next time if they were still non-space
17:51:31 <lifthrasiir> AnMaster: i know, and i ended up with doing update only if some put command can shrink the space
17:52:20 <AnMaster> lifthrasiir, hm?
17:52:32 <AnMaster> didn't you say scan only in sysinfo not put?
17:52:59 <AnMaster> oh you mean invalidating cached inner bounds if a space is put in some edge cell?
17:53:04 <lifthrasiir> i mean invalidation
17:53:11 <AnMaster> hm
17:53:30 <AnMaster> lifthrasiir, I assume you basically scan around the edge in a spiral inwards?
17:53:31 <lifthrasiir> (and sorry for slow answer, i cannot write so fast in english...)
17:53:53 <AnMaster> lifthrasiir, heh I can write faster in English than my native language (Swedish). Too much IRC I guess...
17:54:13 <lifthrasiir> i think i have to do so but not yet implemented, i'm testing with possible solutions right now
17:54:18 -!- Sgeo has joined.
17:54:53 <ehird> AnMaster: swedish and english is trivial compared to korean and english I imagine
17:55:01 <ehird> er, I assume .kr is korean
17:55:11 <AnMaster> ehird, oh I didn't know where he was from
17:55:19 <ehird> yah, .kr = korea
17:55:22 <AnMaster> and I wasn't implying anything like that
17:55:23 <lifthrasiir> yes right
17:55:23 <ehird> AnMaster: whois magick
17:56:03 <lifthrasiir> but i don't think that shouldn't be hard besides from nuance and idiom differences...
17:56:19 <ehird> well, korean and english seem really far apart to me
17:56:25 <ehird> but then I only know the latter
17:57:41 <AnMaster> lifthrasiir, cache bounds, invalidate only when writing a space in an edge cell (remember fingerprint writes too!) sounds like the best way. Also update wrap bounds when you calculate new cached bounds if they grow inwards, will mean you won't have to go over so many spaces when wrapping possibly, thus reducing unneeded fetching of spaces when you are about to wrap after you have done an y
17:57:45 <AnMaster> if you see what I mean
17:58:29 <AnMaster> anyway such a thing may be in the next cfunge release too, but not this one that I'm about to make tomorrow
17:59:05 <lifthrasiir> AnMaster: i should deploy such solution someday but i have one homework due to tomorrow, two homeworks due to 04-02 etc. ;)
17:59:15 <AnMaster> ah...
17:59:54 <lifthrasiir> i shouldn't see mycology before 04-02... pyfunge thing took up my time too much (see hg log! ;)
18:07:44 * AnMaster fixes an internal icc header heh
18:30:18 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
18:37:41 -!- neldoreth has joined.
18:39:00 -!- KingOfKarlsruhe has joined.
18:43:53 <ehird> wow, mark pilgrim has an entire post, including video, about some 2006 supertux release.
18:44:09 <ehird> that's like post-ironic blogmocking without the irony, post, or mocking
18:59:26 <ehird> lol, guy in #haskell arguing visualworks smalltalk, which lets you view the source if you sign an NDA, is open source
18:59:27 <ehird> :-D
19:11:42 -!- comex has quit (Remote closed the connection).
19:21:08 -!- BeholdMyGlory has quit (Remote closed the connection).
19:21:52 <ehird> I just bound tons of unicode shit to keys ☺
19:22:07 <ehird> ←→↑↓↘↙↖↗
19:22:14 <ehird> λ
19:22:15 <ehird>
19:22:37 <ehird> ⌃⌥⌘⇧
19:22:49 <ehird> ¹²³⁴⁵⁶⁷⁸⁹⁰
19:22:52 <ehird> dammit
19:22:55 <ehird> can't do subscripts
19:23:06 <ehird>
19:23:09 <ehird> shift ones don't work
19:23:17 <ehird> so no blackie either → ☻
19:23:58 <ehird> The key combos are ⌃⌥(key)
19:24:07 <ehird> So ⌃⌥0-9 give superscript numbers
19:24:31 <ehird> ⌃⌥- gives ☺, ⌃⌥= gives ☹ (paren keys)
19:24:40 <ehird> ⌃⌥\ gives ‽
19:24:51 <ehird> ⌃⌥e = ⌃
19:24:55 <ehird> ⌃⌥w = ⌥
19:25:00 <ehird> ⌃⌥q = ⌃
19:25:01 <ehird> err
19:25:05 <ehird> e = ⌘
19:25:08 <ehird> r = ⇧
19:25:15 <ehird> , = ←
19:25:17 <ehird> . = →
19:25:22 <ehird> k = ↑
19:25:24 <ehird> l = ↓
19:25:27 <ehird> y ↖
19:25:28 <ehird> u ↗
19:25:30 <ehird> h ↙
19:25:31 <ehird> j ↘
19:25:42 <ehird> shift-num is meant to be subscript
19:25:57 <ehird> shift - is meant to be ol' unicode blackie → ☻
19:26:01 <ehird> and that's it.
19:26:10 <ehird> fizzie would be proud
19:27:18 <ehird> (λx. x) (λx. x)
19:27:34 <ehird> Ooh, I’ll add ::
19:27:47 <ehird> For unicode haskellry
19:28:33 <ehird> ...nah
19:28:34 <ehird> too uncommon
19:31:43 <fizzie> I had interrobang shortcut key too, but I spent all the alphabetics to get most of the greek characters there are. Don't have that keymap in use any longer, though.
19:32:07 <fizzie> Now I just pick from gucharmap when I need it, which is very uncomfortable and slow.
19:32:19 <ehird> Before:
19:32:20 <ehird> compose :: (a -> b) -> (c -> a) -> c -> b
19:32:20 <ehird> compose f g = \x -> f (g x)
19:32:23 <ehird> After:
19:32:24 <ehird> compose ∷ (α → β) → (γ → α) → γ → β
19:32:26 <ehird> compose α β = λγ → α (β γ)
19:32:36 <ehird> fizzie: What did you need all Greek for, apart from unicode fauxskell?
19:32:59 <ehird> Wonder why my shift-y shortcuts aren't workin
19:33:01 <ehird> '
19:33:34 <fizzie> I just thought that since I had λ there, I might as well have the others too. They would be more useful in equation-writing except that there it's just simple to use LaTeX \alpha and so on.
19:34:15 <fizzie> Does that sort of stuff work with a real house-cell implementation?
19:34:23 <ehird> fizzie: what?
19:34:32 <ehird> Oh, you mean jewnicode haskell?
19:34:41 <fizzie> ∷ and → in place of :: and ->, yes.
19:34:46 <ehird> I think everything there works with GHC if you enable unicode apart from the funky one-character ∷
19:34:52 <ehird> Well, I think the arrows work.
19:35:01 <ehird> The greek stuff and the lambda does for certain.
19:36:10 <ehird> http://aralbalkan.com/2067 LOL WAT
19:36:14 <fizzie> MzScheme didn't even do λ without a macro.
19:36:26 <ehird> fizzie: Tch. Haskell is the only language for enterprise uni-coding.
19:38:00 <ehird> http://pastie.org/431713.txt ← My ~/Library/KeyBindings/DefaultKeyBinding.dict.
19:38:18 <ehird> ^ = ⌃ (control), ~ = ⌥ (option/alt), $ = ⇧ (shift).
19:38:24 <ehird> Patterns with $ in don’t work for some reason.
19:38:29 <ehird> If anyone wants to fix it feel free :P
19:38:47 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:41:44 <ehird> I am addicted to ↑ already.
19:41:45 <ehird> "quote"
19:41:47 <ehird> ↑ Foo
19:43:23 <fizzie> That's funny, this keymap does altgr-yui as ←↓→ by default. But I don't see up-arrow anywhere.
19:44:46 <fizzie> Ah, altgr-shift-u is ↑.
19:45:08 <ehird> heh
19:45:12 <ehird> u is ↗
19:45:13 <ehird> for me
19:45:19 <ehird> I kind of have "further away = more obscure arrows"
19:45:24 <ehird> , and . are because of < and >
19:45:29 <ehird> k and l are "above"
19:45:31 <fizzie> Don't seem to have diagonals in this.
19:45:38 <ehird> then to the left a bit we have a nice 4x4 block yuhj
19:45:45 <ehird> for diagonals
19:46:12 <fizzie> Yes, I first thought you had hjkl for the "obvious" arrow-directions, but seems that there were those 2x2 blocks.
19:46:23 <ehird>
19:46:27 <ehird> Unicode needs more smiliez
19:46:56 <fizzie> "This" keymap being XkbRules xorg, XkbModel pc105, XkbLayout fi, XkbVariant nodeadkeys, XkbOptions altwin:hyper_win,lv3:ralt_switch_multikey.
19:47:35 <ehird> US Extended + that keybinding here.
19:47:48 <fizzie> ⚇ is almost a smiley. Or ⚍.
19:47:55 <ehird> UK has shift-3 as £ and option-3 as #, which is back-asswards. US fixes that.
19:48:01 <FireFly> Or Marvin
19:48:07 <fizzie> And ♾ is a guy with glasses on.
19:48:14 <ehird> fizzie: ⍥
19:48:18 <ehird>
19:48:23 <fizzie> Even though it's "officially" U+267e permanent paper sign.
19:48:45 <ehird> ⍣ ← Butthole + Eyes
19:49:34 <FireFly> ∿∿∿∿∿∿
19:49:47 <FireFly> Beware of my sine waves
19:49:50 <ehird> ⁇ ← That’s actually a separate character.
19:49:56 <ehird> ⁈ and ⁉ too.
19:50:00 <ehird> & ‼.
19:50:22 <fizzie> I sort of toyed about making a ^3d6 command to fungot which would return something like "⚄ + ⚁ + ⚂ = 10" but there are only normal six-sided die faces in there.
19:50:26 <FireFly> Hm, I only knew about the double-bang
19:50:47 <FireFly> Dices, coolies
19:51:11 <FireFly> The there's the religious dingbats, hazardous signs, chess pieces
19:51:28 <ehird> is there a uncidoe for this?
19:51:29 <ehird> *unicode
19:51:32 <ehird> the star
19:51:39 <ehird> like ERROR CORRECTION ASTERISK
19:51:59 <fizzie> You can use "★foo" if you want to be "different".
19:52:14 <fizzie> Or even ☄foo for maximum sillitude.
19:52:21 <fizzie> (That's BLACK STAR and COMET.)
19:52:39 <ehird> fizzie: But that's not ^Isematically correct^I
19:52:44 <ehird> ☄semantically
19:52:52 <ehird> Maybe TIP-EX CORPORATE LOGO.
19:53:06 <FireFly> ⍟hi
19:53:32 <ehird> ⍟ DARING FIREBALL
19:53:34 <ehird> Hmm, not quite.
19:53:46 <ehird> DF’s logo is star-cut-out-of-circle.
19:53:51 <fizzie> "†foo" is sometimes used for corrections, but for best results you'd have to be able to stick that † also to the place you're correcting.
19:53:54 -!- swistakm has quit ("Lost terminal").
19:54:00 <fizzie> It looks a bit t-like, too.
19:54:02 <ehird> We should make our own Unicode, with blackjack and hooker.
19:54:04 <ehird> Characters.
19:54:19 <ehird> fizzie: ooh, maybe something like an overline, but an overstrike
19:54:25 <ehird> it goes way above the baseline
19:54:30 <ehird> so it goes through the middle of the previous line
19:54:41 <ehird> so just pop some spaces in, put them in, and put your correction in
19:55:10 <ehird> Or, maybe,
19:55:11 <ehird> Hello, wdrol!
19:55:12 <ehird> ↑world
19:55:16 <ehird> You could script s// to do that
19:56:04 <FireFly> Up-arrow?
19:56:15 <FireFly> s/-/ /
19:56:28 <ehird> Yar.
19:56:34 <ehird> ↑↑↑↑↑↑↑↑↑↑
19:56:40 <ehird> Knuth↑↑proudness
19:57:02 <lifthrasiir> ZOMG knuth arrow
19:57:16 <ehird> Anti-knuth↓↓anti-arrows
19:57:54 <fizzie> You can also use * for small corrections, ⁑ for really bad typos, and ⁂ for just completely hopeless cases.
19:58:08 <lifthrasiir> how about ideograph description sequence (IDS) to get really complex and useless ideographs?
19:58:14 <ehird> heleo i am fcugking drnku
19:58:22 <ehird> ⁂Greetings, I am here to inform you that I am currently intoxicated.
19:58:42 <ehird> ⁑Erm. Also, Fornication.
19:59:04 <fizzie> It's a bit sad that ⁂ has a funky name (asterism) but ⁑ has to get by with just "two asterisks aligned vertically".
19:59:14 <ehird> ASTERISM
19:59:21 <ehird> It’s the funkay new religion.
19:59:34 <fizzie> ⁂! I just had an asterism!
19:59:47 <ehird> hawt
19:59:58 <FireFly> ..I read "Greek Extended" as "Geek Extended"
20:00:03 <ehird> “I’ll asterism your genitals. If you know what I mean.”
20:00:05 <ehird> — Unicode
20:00:32 * FireFly likes “”
20:00:49 <ehird> Yah.
20:00:57 <ehird> those are bound by default. Option-[ and option-].
20:01:01 <ehird> Er.
20:01:09 <ehird> ⁂option-shift-]
20:01:14 <ehird> ⁂option-shift-[
20:01:18 <fizzie> x⃣ ← the combining keycaps are also funky, but combining-character-rendering is always so iffy.
20:01:20 <FireFly> Too bad the alt gr mapping got all mixed up when I switched to Swedish Dvorak :(
20:01:20 <ehird> ] is single quotes.
20:01:24 <ehird> fizzie: Woah. Awesome.
20:01:30 <Sgeo> !glass {M[m(_m)M!(_m)m.?]}
20:01:35 <ehird> Sgeo: no egobot
20:01:52 <Sgeo> Well, what would the code do? Crash?
20:02:11 <ehird> Sgeo: Er, what does it do?
20:02:16 <ehird> Call itself a lot?
20:02:18 <ehird> Stack overflow.
20:03:45 -!- tombom has quit ("Peace and Protection 4.22.2").
20:04:31 <ehird> “Memes”
20:04:36 <ehird> — “Memes”
20:04:41 <ehird> — “Memes”
20:04:49 <ehird> And so on, and so forth, and they all lived happily ever after.
20:05:19 -!- Judofyr_ has joined.
20:06:06 <FireFly> Hmm
20:06:20 <FireFly> ↑ was alt gr+shift+U
20:07:10 <fizzie> FireFly: That's what it is here too; I mentioned that.
20:08:09 <ehird> Lunix enterprise operation system
20:08:30 <FireFly> Ah
20:10:10 -!- BeholdMyGlory has joined.
20:15:10 -!- BeholdMyGlory has quit (Remote closed the connection).
20:15:33 -!- BeholdMyGlory has joined.
20:15:41 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
20:15:43 -!- FireFly has quit (calvino.freenode.net irc.freenode.net).
20:15:43 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
20:17:24 -!- FireFly has joined.
20:17:24 -!- Asztal has joined.
20:17:24 -!- mtve has joined.
20:18:07 <FireFly> 'lo again
20:20:50 -!- Sgeo has quit ("Leaving").
20:23:08 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
20:23:53 -!- Hiato has joined.
20:27:08 -!- comex has joined.
20:29:37 -!- kar8nga has joined.
20:38:59 -!- kar8nga has quit (Remote closed the connection).
20:39:16 -!- neldoret1 has joined.
20:42:19 -!- AnMaster_ has joined.
20:47:09 -!- neldoreth has quit (No route to host).
20:49:28 -!- neldoret1 has quit (Client Quit).
20:49:39 -!- neldoreth has joined.
20:49:41 -!- neldoreth has left (?).
20:54:27 -!- AnMaster has quit (Connection timed out).
20:58:54 -!- Hiato has quit ("Leaving.").
21:03:11 -!- tombom has joined.
21:39:20 <ehird> ←→↑
21:39:24 <ehird>
21:39:26 <ehird> (a b start)
21:40:18 <ehird> Ϛ
21:50:37 -!- nooga has joined.
21:51:08 <nooga> developing a kernel under windows is so much pain in the ass
21:51:13 <nooga> :C
21:55:00 -!- neldoreth has joined.
21:59:34 -!- tombom has quit ("Peace and Protection 4.22.2").
22:07:36 <Deewiant> AnMaster_: (Re: SUBR) If a subroutine takes zero parameters then of course none are pushed onto/popped from the stack...
22:08:06 -!- AnMaster_ has changed nick to AnMaster.
22:08:07 <AnMaster> right
22:11:28 <AnMaster> freenode seems unstable today. I didn't loose connection to any network, so it is not my bouncer as ehird likes to pretend usually
22:11:49 <ehird> s/pretend/think/
22:12:06 <ehird> Unicode so needs proper symbols for correction.
22:13:12 <Deewiant> ㊣ - CIRCLED IDEOGRAPH CORRECT?
22:13:19 <ehird> Naw
22:13:31 <ehird> Why doesn’t Unicode have useful things‽
22:13:36 <ehird>
22:13:40 <nooga> burp
22:17:30 <AnMaster> night
22:17:55 <fizzie> You can use ⎀ if your correction happens to be a missing "a", but you have to know in-advance where you'll be needing it, since you need to put it on the previous line.
22:18:17 <ehird> :D
22:18:26 <fizzie> Maybe that's a bit limited.
22:18:27 <AnMaster> <nooga> developing a kernel under windows is so much pain in the ass <-- why do it then?
22:18:42 <Deewiant> Because installing an OS is also a pain in the ass?
22:19:23 <ehird> Deewiant: Er, it is?
22:19:27 <ehird> Fooled me you could have.
22:19:33 <Deewiant> I find it to be.
22:19:48 <AnMaster> ehird, I have to agree with your sarcasm there
22:20:06 <ehird> I installed Ubuntu fully in ~20 minutes. It gets harder if you move data across, but not much: stick them on USB sticks or something.
22:20:06 <AnMaster> I never found OS installing (apart from windows) to be painful
22:20:14 <ehird> Or, y'know, have data on a different partition.
22:20:23 <AnMaster> yes windows is painful, a lot thanks to microsoft minutes being used
22:20:31 <ehird> <3 microsoft minutes
22:20:43 <ehird> AnMaster: Well I found installing xp in a vm quite easy.
22:20:51 <ehird> took about 40 mins
22:20:53 <Deewiant> You have to repartition a hard drive, which possibly involves getting another from somewhere, and I don't consider a freshly-booted OS fully installed yet.
22:21:02 <AnMaster> ehird, a pain with all the registering and activation thingies
22:21:05 <ehird> repartitioning a harddrive is trivial
22:21:07 <ehird> AnMaster: oh well yeah
22:21:29 <AnMaster> ehird, but windows/microsoft update is way more painful I agree than the actual install
22:21:37 <ehird> Yes
22:21:42 <fizzie> U+23E5 FLATNESS: ⏥. Certainly, that is the concept of flatness, compressed into a single symbol.
22:21:54 <ehird> fizzie: That’s not… well… flat.
22:22:01 <ehird> It’s poking upwards.
22:22:11 <fizzie> You probably have to just look at it in the right way.
22:22:13 <AnMaster> ehird, I only reboot for kernel upgrade. I even do glibc upgrades in runlevel <whatever it is gentoo use for normal operation, 3 I think>
22:22:21 <fizzie> Become one with the flatness, you know.
22:22:21 <ehird> AnMaster: Remember unpatched XP? Anyone on the internet could cause a dialog to pop up on your computer if they knew your IP.
22:22:24 <ehird> You got one every 10 seconds or so.
22:22:33 <AnMaster> ehird, never had that
22:22:35 <ehird> All ads for shady antiviruses and whatnot.
22:22:40 <AnMaster> ehird, I'm behind NAT though
22:22:43 <AnMaster> and how was it done?
22:22:54 <ehird> AnMaster: there's a command meant to do that over a LAN
22:22:59 <ehird> messaging service or something
22:23:01 <AnMaster> winpop?
22:23:03 <ehird> yah
22:23:04 <AnMaster> ah that
22:23:05 <ehird> it was left open to any networkable address
22:23:17 <fizzie> That net-messaging thing was in wfw3.11 already, although I think you had to run a program to make it work.
22:23:42 <ehird> AnMaster: loads of shady sites sold tools that basically mined for ip addresses then spammed them with that
22:23:47 <Deewiant> AnMaster: Made a .bazaar/bazaar.conf which allowed me to get cfunge: it runs through Mycology in 00.01elapsed, CCBI takes 00.10
22:23:49 <ehird> marketed as "new age marketing tool", that sort of shite
22:24:00 <AnMaster> 00.01elapsed
22:24:02 <AnMaster> what?
22:24:09 <Deewiant> What time outputs?
22:24:15 <ehird> Deewiant: time varies wildly
22:24:17 <AnMaster> huh
22:24:19 <Deewiant> 0.00user 0.00system 0:00.01elapsed 90%CPU (0avgtext+0avgdata 0maxresident)k
22:24:19 <Deewiant> 0inputs+0outputs (0major+2108minor)pagefaults 0swaps
22:24:19 <AnMaster> 00.01?
22:24:20 <ehird> (Lunchtime doubly s——
22:24:28 <Deewiant>
22:24:32 <AnMaster> Deewiant, I never seen time output that
22:24:37 <ehird> Two dashes = I was just shot.
22:24:46 <AnMaster> real 0m0.003s
22:24:46 <AnMaster> user 0m0.001s
22:24:46 <AnMaster> sys 0m0.002s
22:24:50 <AnMaster> it looks like that
22:24:53 <ehird> 0.00 real 0.00 user 0.00 sys
22:24:55 <AnMaster> (was for echo)
22:24:56 <Deewiant> Consider /usr/bin/time
22:24:58 <ehird> No, I am sparctacus!
22:25:00 <ehird> er.
22:25:02 <ehird> Spartacus.
22:25:05 <ehird> (SPARCtacus?)
22:25:05 <AnMaster> Deewiant, not found here
22:25:17 <AnMaster> Deewiant, what package
22:25:24 <fizzie> That almost looks like the tcsh "time".
22:25:24 <ehird> ...
22:25:28 <AnMaster> the time I use is the bash builtin
22:25:29 <ehird> AnMaster: /bin/time, maybe?
22:25:33 <Deewiant> AnMaster: time 1.7-1
22:25:35 <AnMaster> ehird, not that either
22:25:36 <ehird> Everyone has an external time.
22:25:44 <ehird> I believe it's required.
22:25:52 * ehird 's time is BSD time
22:25:58 <ehird> It uses BSD minutes
22:26:03 <AnMaster> ehird, can't find one
22:26:21 <fizzie> 0.00u 0.00s 0:00.00 0.0% +k(k,^:k) +io +sock pf+w sig cs is what tcsh's time outputs.
22:26:24 <Deewiant> It's http://www.gnu.org/software/time/time.html
22:26:27 <ehird> lol tcsh
22:26:35 <ehird> Deewiant: lol gnu
22:26:44 <AnMaster> ah
22:26:46 <ehird> GUYZ GNU ECHO
22:26:47 * AnMaster emerges sys-process/time
22:26:47 <ehird> it's featureful
22:26:55 <Deewiant> It gives me the count of page faults and other pointless stats so I find it fun
22:26:56 <ehird> er
22:26:58 <ehird> gnu hello
22:27:12 <AnMaster> # /bin/echo --help | wc -l
22:27:12 <AnMaster> 27
22:27:13 <AnMaster> yes
22:27:14 <AnMaster> yes it is
22:27:14 <fizzie> Solaris' external time (/usr/bin/time) is "\nreal 0.0\nuser 0.0\nsys 0.0\n" with a bit more whitespace.
22:27:31 <fizzie> usage: time [-p] utility [argument...]
22:27:36 <ehird> AnMaster: ) echo --help
22:27:36 <ehird> --help
22:27:45 <AnMaster> ehird, hah
22:27:55 <ehird> (Yes, "echo" is external, in Fish)
22:28:02 <AnMaster> ehird, yeah I agree gnu fails
22:28:07 <fizzie> This GNU time has: Usage: /usr/bin/time [-apvV] [-f format] [-o file] [--append] [--verbose] [--portability] [--format=format] [--output=file] [--version] [--quiet] [--help] command [arg...]
22:28:08 <AnMaster> ehird, but why the ) ?
22:28:12 <nooga> http://img12.imageshack.us/img12/8484/dupkax.jpg how does it look like?
22:28:12 <Deewiant> GNU time also has a -v option which makes it spout over 20 lines of data
22:28:26 <ehird> AnMaster: my prompt is (compressed pwd) in green, where compressed = ~/foo/bar/baz becomes ~/f/b/baz
22:28:33 <AnMaster> Deewiant, I prefer callgrind, cachegrind, gprof and gcov when I need such things
22:28:37 <AnMaster> oh and oprofile
22:28:42 <ehird> nooga: what typeface is that?
22:28:44 <AnMaster> mhm
22:28:55 <ehird> The whole thing looks nice apart from the colours of "rad".
22:28:58 <ehird> They're kind of clashy.
22:29:07 <ehird> Also, the bottom of the d's tail looks odd.
22:29:10 <ehird> Apart from that I really like it.
22:29:35 <AnMaster> I don't like the shape of the r really
22:29:42 <AnMaster> and the d issue yeah
22:29:44 <nooga> ehird: circumsized Myriad pro
22:30:02 <nooga> ah, it's a d-tail
22:30:06 <nooga> ;]
22:30:12 <ehird> nooga: This is the first time I’ve ever heard “circumsized” applied to a typeface. This is a historic moment.
22:30:24 <ehird> Actually my manly self protection reflexes are kicking in round about now.
22:30:37 <ehird> Don’t do that. :-P
22:30:38 <nooga> probably an artefact
22:30:49 <AnMaster> $ /usr/bin/time --help
22:30:50 <AnMaster> Usage: /usr/bin/time [-apvV] [-f format] [-o file] [--append] [--verbose]
22:30:50 <AnMaster> [--portability] [--format=format] [--output=file] [--version]
22:30:50 <AnMaster> [--help] command [arg...]
22:30:51 <AnMaster> that is usual
22:30:53 <AnMaster> unusual*
22:30:56 <AnMaster> for a GNU tool
22:30:57 <ehird> nooga: it looks like someone opened paint, selected a large block on green, and put it slightly off from the bottom of the d
22:32:08 <nooga> dunno
22:32:21 <nooga> when i edit it in vector form it's okay
22:32:21 <nooga> ;p
22:32:41 <ehird> nooga: just fix up the colours of that there rad. Also use png or svg dammit
22:32:42 <AnMaster> Deewiant, the bash builtin time is more accurate
22:32:48 <AnMaster> three decimals
22:33:00 <Deewiant> Oh noes the inaccuracy!!
22:33:09 <AnMaster> Deewiant, for cfunge it matters. it is so quick
22:33:09 <ehird> :-D
22:33:15 <Deewiant> I knew you'd say that
22:33:18 <Deewiant> And you're wrong
22:33:24 <Deewiant> It doesn't matter, precisely because it is so quick
22:33:30 <ehird> ☺ So true
22:33:37 <Deewiant> If you get to the point that the wall clock time is 0.00s... you're done
22:33:48 <ehird> Deewiant: you’re done well before that
22:33:48 <Deewiant> All you have to do then is get a slower computer :-P
22:33:58 <ehird> btw, is anyone appreciating my “”‘’ quotes?
22:34:02 <AnMaster> Deewiant, cpufreq-set -g powersave ;P
22:34:03 <Deewiant> ehird: Well no, you're not 'done', you're just 'good enough'
22:34:03 <ehird> Because it’s quite a lot of work.
22:34:19 <ehird> Deewiant: This is a shit definition of “done”
22:34:26 <AnMaster> ehird, I didn't notice those quotes even...
22:34:30 <AnMaster> before you mentioned it
22:34:36 <Deewiant> By 'done' here I mean there's nothing conceivable left to do
22:34:39 <ehird> AnMaster: Crank up the font size :-P
22:34:48 <AnMaster> ehird, fuggly!
22:34:58 <ehird> …are you saying the quotes are fugly?
22:35:03 <ehird> Since when did good typography become *fugly*?
22:35:04 <AnMaster> ehird, no...
22:35:08 <ehird> Oh.
22:35:09 <AnMaster> large font size is
22:35:12 <ehird> Good. Now I don't have to kill you.
22:35:23 <ehird> AnMaster: You know, 16px on screen = 11pt in print.
22:35:35 <AnMaster> ehird, DejaVu Sans Mono 9
22:35:35 <ehird> You should probably not strain your eyes.
22:35:43 <AnMaster> ehird, it is easy to read on this screen
22:35:51 <ehird> Only because you’re used to it.
22:35:59 <ehird> Ah well, let me know when you go blind ey.
22:35:59 <AnMaster> ehird, no, because low DPI
22:36:02 <ehird> Oh.
22:36:04 <ehird> I feel for you.
22:36:05 <Deewiant> That's actually what I'm using too; I used to have it at 8 but I raised it to 9
22:36:16 <AnMaster> Deewiant, heh...
22:36:31 <Deewiant> Or actually hmm
22:36:33 <AnMaster> it was 10 before I got new glasses last time
22:36:35 <Deewiant> That's my size in Vim
22:36:37 <AnMaster> then I had to reduce it
22:36:44 <AnMaster> because it was so large
22:36:46 <AnMaster> ehird, ^
22:36:52 <Deewiant> urxvt says pixelsize=12, maybe that's 9
22:37:07 <ehird> AnMaster: I’m going to have to demand you use the new industry standard: ↑
22:37:12 <ehird> Deewiant: Oh I thought we were talking pixels.
22:37:21 <Deewiant> ehird: I'm fairly sure it's pt.
22:37:26 <Deewiant> The 9, that is, that Vim uses.
22:37:33 <Deewiant> This is 12px, anyway. :-P
22:37:33 <AnMaster> ehird, which open and free standard that is FSF supported and freely available are you referring to?
22:37:36 <ehird> 12px is… well, it’s still bad but I can make it out at least. ☺
22:37:53 <ehird> AnMaster: My butt’s newly decreed “IRC Unicode usage application”
22:38:12 <AnMaster> ehird, haven't even passed through ISO
22:38:21 <AnMaster> or IEC.
22:38:27 <ehird> AnMaster: Dude, ISO accepted Microsoft’s OOXML.
22:38:35 <ehird> And you still listen to them‽
22:38:40 <AnMaster> ehird, your butt == EMCA?!?!
22:38:43 <ehird> (See that? That’s an interrobang.)
22:38:47 <ehird> AnMaster: Mhm.
22:38:50 <fizzie> "URxvt.font: xft:DejaVu Sans Mono:size=8" nowadays here.
22:38:55 <ehird> Bit obvious isn’t it when you think about it
22:38:56 <AnMaster> ehird, I used a ‽ on irc recently
22:39:19 <ehird> http://site.ringce.com/products/slammer/slammer.html ← Oh fuck I need this a few months ago, pronto. No more baseline.png.
22:39:33 <AnMaster> baseline.png?
22:40:15 <ehird> AnMaster: a png of (baseline size in ems converted to pixels (the size when viewed on my display))px height and 1px width with one gray pixel at the bottom.
22:40:26 <ehird> So I can design to a baseline, see.
22:40:37 <AnMaster> ah
22:41:44 <AnMaster> what are they for? baseline product I heard of but I never heard of it in what I guess (since it is you) is typography
22:42:01 <ehird> AnMaster: The baseline is the line height, essentially.
22:42:08 <ehird> So: vertical size of font + line spacing.
22:42:13 <AnMaster> mhm
22:42:27 <AnMaster> ehird, I let LaTeX worry about that :D
22:42:45 <ehird> LaTeX doesn’t really have enough line height by default IME
22:42:53 <ehird> But then I'm a readability stickler to the max
22:42:53 <AnMaster> ehird, so change it
22:43:04 <AnMaster> ehird, I'd suggest 2-3 lines per page
22:43:05 <ehird> AnMaster: that’s not letting latex worry about it
22:43:30 <ehird> also, 1.75em line height works best IME
22:43:39 <ehird> so quite close to double spacing
22:44:38 <AnMaster> I like two columns per page layouts
22:44:52 <ehird> AnMaster: those are awful on screen, your eyes blit about so much
22:44:55 <ehird> in a book it works
22:45:08 <AnMaster> ehird, hm works well for me in either case.
22:45:30 <AnMaster> also
22:45:33 <AnMaster> eyes blitting?
22:45:35 <AnMaster> err
22:45:52 <AnMaster> I fail to translate blitting as in GPUs to eyes
22:45:54 <ehird> Moving quickly. You can gleek the meaning from context if you’re a native speaker.
22:46:02 <AnMaster> gleen?
22:46:06 <AnMaster> glean* even
22:46:09 <ehird> Gleek.
22:46:17 <AnMaster> and I'm no native speaker you know..
22:46:40 <ehird> Not my faul
22:46:41 <ehird> t
22:47:08 <nooga> but probably my english is even worse than AnMaster's ;]
22:47:43 <ehird> nooga: yes, well, I’ve tried to instill got vs has and suchlike in him so you can’t blame me
22:47:45 <AnMaster> ehird, yes it is. See *my* butt's newly decreed "IRC Accessibility and Internationalisation Guidelines"
22:47:49 <AnMaster> ;P
22:47:51 <ehird> the english lobe of his brain is immutable
22:47:57 <ehird> AnMaster: _|_
22:47:59 <ehird> That is
22:48:07 <AnMaster> hah
22:48:09 <ehird> (1) the symbol for “bottom” in computer sicence (really)
22:48:17 <AnMaster> ahahaha
22:48:23 <ehird> I’m not joking
22:48:24 <ehird> (2) An ASCII art picture of a butt, if you put parens around it
22:48:29 <ehird> (3) A middle finger sticking up
22:48:29 <AnMaster> ehird, I heard it before
22:48:35 <ehird> In short, 3 facets of relevance.
22:48:35 <fizzie> "This gubblick contains many nonsklarkish English flutzpahs, but the overall pluggandisp can be glorked [sic] from context"
22:48:38 <AnMaster> as funny every time
22:48:41 <ehird> fizzie: Exactly.
22:49:25 <nooga> erm
22:49:25 <AnMaster> fizzie, it is saying the line can be read even though it is confusing
22:49:27 <AnMaster> I think
22:49:32 <AnMaster> not 100% sure
22:50:19 <fizzie> ehird: Given the recent jew-knee proliferation, that really should've been ⊥.
22:51:33 <AnMaster> I wonder why wikipedia in general looks so bad in konq, most other sites work well-ish in it
22:51:47 <ehird> fizzie: I have a patent on the “jew” nomenclature for referring to Unicode thankyouverymuch.
22:51:47 -!- ehird has left (?).
22:51:47 -!- ehird has joined.
22:51:47 -!- ehird has left (?).
22:51:50 -!- ehird has joined.
22:51:54 <fizzie> I wonder how a CURLY LOGICAL AND (⋏) differs from your garden-variety logical and. You know, besides the fact that it's curly.
22:52:33 <Asztal_> It makes a nicer pattern: ⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏⋏
22:52:35 <AnMaster> fizzie, I would have assumed that curlyness was a function of font
22:52:52 <nooga> burp
22:53:45 <ehird> fizzie: I have a patent on the “jew” nomenclature for referring to Unicode thankyouverymuch.
22:53:49 <ehird> Also fuck my irc client
22:53:58 <fizzie> I've seen ≺ (U+227A PRECEDES) used, and that's pretty much a curly less-than. I've forgotten the context; it was some sort of ranking that wasn't really an ordering.
22:54:07 <ehird> what
22:55:33 <Asztal_> I'm confused as to the need for both ≸ and ≹.
22:55:35 <ehird> CAN YOU HEAR ME AM HAVE INTERNET PROBLEM
22:55:44 <AnMaster> fizzie, ^ and > variants?
22:55:55 <fizzie> ehird: Yes, I saw that patent thing twice.
22:56:02 <nooga> >X:S
22:56:15 <fizzie> AnMaster: ∧, not ^.
22:56:25 <AnMaster> fizzie, not curly!
22:56:36 <fizzie> Oh. Well, I don't think there's a curly caret.
22:56:49 <AnMaster> fizzie, or ∧ but curly?
22:56:49 <fizzie> AnMaster: But there's ≻ of course.
22:57:30 <fizzie> There's also an extra-curly <, the ⊰.
22:58:13 <nooga> ?
22:58:16 <nooga> shit
22:58:22 <AnMaster> fizzie, the name for it?
22:58:31 <AnMaster> and extra curly ≻ ?
22:58:53 <fizzie> AnMaster: "precedes under relation". And similarly ⊱ for s/precedes/succeeds/.
22:59:05 <AnMaster> fizzie, what about downwards curly arrow?
22:59:22 * ehird network trouble
22:59:22 <ehird> s
22:59:35 <AnMaster> ehird, we haven't noticed anything...
22:59:40 <ehird> That would be the bouncer.
22:59:49 <ehird> ƨɛƽ
22:59:51 <ehird> What an odd key.
22:59:57 <ehird> Alt-shift-; produces №
23:00:02 <ehird> Which then, given a number, does that
23:00:05 <fizzie> LaTeX has \prec and \succ for the normally curly versions, but I'm not seeing the extra-crispy, I mean, curly ones, not even in the AMS set of binary operations.
23:00:05 <ehird> Except when it doesn’t.
23:00:10 <ehird> №2 = ƨ
23:00:16 <ehird> №4 = №4
23:00:22 <nooga> ekhm
23:00:26 <nooga> what's that for?
23:01:44 <AnMaster> ehird, AlgGr-shift-; == ˛ here
23:01:47 <AnMaster> dead key
23:01:52 <AnMaster> ę yes
23:01:54 <ehird> I don’t know!
23:02:14 <ehird> AnMaster: This is a “dead key”, sort of.
23:02:21 <AnMaster> ̇˙ ė
23:02:22 <AnMaster> yay
23:02:29 <AnMaster> ehird, AlgGr-shift--
23:02:30 <fizzie> My ˛ is not dead, but that's probably because of the nodeadkeys option.
23:03:04 <AnMaster> AltGr-n == n?
23:03:06 <AnMaster> huh
23:03:09 <ehird> Like how Option-e gives ´, but with an orange background, and pressing “e” after gets you é. But you can just left-arrow away from it.
23:03:09 <ehird> And it deactivates.
23:03:16 <AnMaster> AltGr-b ”
23:03:21 <AnMaster>
23:03:24 <AnMaster> “‘
23:03:26 <AnMaster> yay
23:03:35 <AnMaster> all easy on this keyboard
23:03:43 <AnMaster> ehird, is it so for you too?
23:03:43 -!- FireFly has quit ("Later").
23:04:05 -!- FireFly has joined.
23:04:48 -!- nooga has quit (Client Quit).
23:06:13 <ehird> http://pckeyboards.stores.yahoo.net/adcolkey.html APL keyboard
23:06:19 <ehird> AnMaster: Now back from my pilgrimage of disconnection,
23:06:25 <ehird> Option-[ “
23:06:28 <ehird> Option-shift-[ ”
23:08:56 <ehird> AnMaster: http://pastie.org/431713.txt
23:08:58 <ehird> Damn disconnection.
23:10:22 <AnMaster> night
23:10:33 <AnMaster> ehird, all your bouncers fault btw
23:10:36 <AnMaster> now night
23:11:54 <ehird> it’s my connection since adium is fucking up and my bouncer doesn’t punish me for freenode’s faults
23:15:48 -!- FireFly has quit ("zzzz").
23:16:33 <ehird> fuck this
23:19:56 <ehird> http://packages.debian.org/unstable/admin/vrms
23:21:29 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
23:21:38 -!- oerjan has joined.
23:21:53 <fizzie> It's funny to get a monthly vrms report bitching about the fact that I have autoconf-doc and gdb-doc installed.
23:22:13 <olsner> vrms?
23:22:18 <ehird> http://packages.debian.org/unstable/admin/vrms
23:22:23 <ehird> fizzie: why did you install it
23:22:31 <ehird> I linked to it because it was ridiculously silly
23:22:32 <fizzie> ehird: "For the lulz."
23:22:47 <ehird> fizzie: well I hereby revoke your lulz relating to vrms
23:23:03 <fizzie> I think I disabled the cron job, though, so it won't email me every month, but I can still run it when I feel like it.
23:23:10 <fizzie> Quite a pile of non-free stuff.
23:23:26 <ehird> fizzie: Are you lucky enough to have a gfx card with decent free drivers?
23:23:27 <fizzie> Mostly it's -doc packages, though.
23:23:37 <oerjan> darn
23:23:37 <ehird> You’re part of a community of 4, I guess.
23:23:47 <ehird> oerjan: barn
23:24:01 <olsner> ah, the virtual richard m stallman
23:24:04 <fizzie> No; I have nvidia-glx, nvidia-glx-dev and four nvidia-kernel-* packages in the vrms list.
23:24:07 <oerjan> ehird: i am just amazed that vrms was about exactly what i guessed it was :D
23:24:22 <ehird> :-D
23:24:47 <ehird> fizzie: I wonder if you can buy a 100% free computer? LinuxBIOS and all?
23:25:16 <fizzie> But I have even more -doc packages: autobook (well, technically that's not -doc), autoconf-doc, automake1.9-doc, gcc-4.1-doc, gcc-4.3-doc, gcc-doc-base, gdb-doc, ocaml-doc.
23:25:27 <fizzie> I'unno, sounds unlikely.
23:25:42 <ehird> fizzie: Bloody GFDL
23:26:54 <oerjan> fizzie: why would vrms complain about -docs?
23:27:06 <ehird> oerjan: gfdl’s “invariant sections”
23:27:26 <ehird> They’re bits you can’t change; invented for emacs so that nobody could remove RMS’s masturbatory philosophical sludge.
23:27:36 <ehird> (aka the free software manifesto)
23:27:48 <ehird> This is, of course, non-free.
23:27:55 <fizzie> oerjan: Yes, VRMS is perhaps not completely aligned with RRMS.
23:28:00 <oerjan> aha
23:28:03 <ehird>
23:28:22 -!- Judofyr_ has quit (Remote closed the connection).
23:31:10 <oerjan> what the heck my watch is playing an early AF prank on me
23:31:32 <oerjan> somehow i've set the date one day late
23:31:54 <Asztal> mine says 31st march
23:32:00 <Asztal> it's always 1 day ahead :(
23:32:18 <oerjan> huh? yours is correct
23:32:27 <Asztal> in your timezone
23:32:34 <oerjan> oh
23:32:43 <ehird> *g*
23:32:58 <ehird> in 28 minutes it’ll be correct!
23:33:22 <oerjan> darn this could be a problem to fix, i may have to turn it 30 days
23:33:50 <oerjan> since the other direction changes weekday instead of turning it backwards
23:34:50 <oerjan> hm maybe 24 hours backwards is easier
23:36:16 <oerjan> i wonder if this somehow happened when i changed to DST. it cannot have been this way for the whole month because i didn't miss my dentist's appointment...
23:41:46 <oerjan> <ehird> nooga: This is the first time I.ve ever heard .circumsized. applied to a typeface. This is a historic moment.
23:41:54 <ehird> oerjan: Unicode failure
23:42:08 <oerjan> you may be thinking of circumcised
23:42:15 <ehird> Er right
23:42:39 <oerjan> why the heck would people do funny quotes in irc anyway?
23:43:16 <ehird> “Funny” quotes? Dear sir, read a goddamn book and tell me what quotes you see.
23:43:23 <ehird> And we come to the answer: pedants.
23:44:09 <oerjan> ah yes, like mac users
23:44:20 <oerjan> <ehird> nooga: This is the first time I.ve ever heard .circumsized. applied to a typeface. This is a historic moment.
23:44:22 <ehird> ^IExactly.^I
23:44:23 <oerjan> urgh
23:44:33 <ehird> oerjan: Fix yer damn terminal, peasant.
23:44:41 <Asztal_> I prefer ❝proper quotes❞.
23:45:01 <fizzie> «I prefer quotes like this, mainly to be contrary.»
23:45:16 <ehird> Asztal_: Dude, your quotes got enlarged with silicone.
23:45:20 <ehird> That’s fucked up.
23:46:50 <fizzie> Also, »+« is a Perl 6 operator: (1,1,2,3,5) »+« (1,2,3,5,8); # (2,3,5,8,13)
23:46:54 <ehird> Yep
23:46:56 <oerjan> « » are fine
23:47:05 <ehird> fizzie: isn't it »anything«
23:47:17 <fizzie> Maybe not exactly anything, but most things, certainly.
23:47:17 <ehird> meaning “emulation of vector operation”, I guess.
23:47:22 <ehird> fizzie: any operator
23:47:38 <ehird> I think the syntax is »op«
23:47:48 <fizzie> I don't think you can use the hyper operator with ?? ::, for example.
23:47:55 <ehird> Well, sure.
23:47:57 <ehird> Binary ops then.
23:48:32 <oerjan> <ehird> btw, is anyone appreciating my .... quotes?
23:48:34 <ehird> 23:48 ehird: @type \f a b -> map (uncurry f) $ zip a b
23:48:34 <ehird> 23:48 lambdabot: forall a b c. (a -> b -> c) -> [a] -> [b] -> [c]
23:48:35 <oerjan> NO! :D
23:48:41 <ehird> oerjan: Fix yer terminal!
23:48:48 <ehird> /client
23:48:49 <fizzie> It is all so complicated. $tree.».?foo; # short for $tree.?foo, $tree.each: { .».?foo }
23:49:12 <ehird> fizzie: Perl 6 is pretty lame
23:49:22 <oerjan> i think something went wrong the time i tried
23:50:19 <oerjan> ehird: zipWith
23:50:26 <ehird> oerjan: orite
23:50:33 <ehird> I was just reimplmenting that perl6 thang
23:52:38 -!- neldoreth has quit ("leaving").
23:52:45 -!- neldoreth has joined.
23:52:56 <oerjan> also, luckily irssi seems to simplify quotes on incoming, it's just a problem when i paste from the logs
23:53:39 <Asztal_> it may be detecting utf-8 and recoding it
23:53:47 <oerjan> it does
23:54:30 <fizzie> Well, if «this» is fine, then I prefer to quote with ‷(reversed and not) triple prime‴.
23:55:48 <oerjan> hm irssi got only half of that
23:56:11 <fizzie> There is no reversed quadruple prime, only the right way around. :/
23:56:13 <ehird> fizzie: “And”? There’s a unicode symbol for that.
23:57:02 <Ilari> Echoback (using Irssi here): < fizzie> Well, if «this» is fine, then I prefer to quote with ‷(reversed and not) triple prime‴.
23:57:05 <oerjan> at least two i would assume
23:57:28 <ehird> Ilari: that’s right
23:57:55 <comex> I get blocks
23:58:11 <Asztal> „Is this OK?”
23:58:14 <ehird> Asztal: ++
23:58:41 <fizzie> Unicode: ☑ yes ☐ no
23:58:43 <Ilari> I should get better unicode font from somewhere... The one that I'm using doesn't even have less-or-equal/greater-or-equal. It also seemingly doesn't have any astral characters.
23:59:19 <Asztal> ⁶⁶Aha!⁹⁹
2009-03-31
00:00:06 <ehird> Asztal: LOL
00:00:18 <ehird> fizzie: Come on, there’s a better empty box in there.
00:00:56 <fizzie> That's the BALLOT BOX, you're certainly supposed to use it if you're also using BALLOT BOX WITH CHECK.
00:01:10 <ehird> Hmm.
00:01:15 <ehird> It’s sized differently here.
00:01:35 -!- olsner has quit (Read error: 60 (Operation timed out)).
00:01:40 <oerjan> i guess it failed the check, then
00:01:50 -!- swistakm has joined.
00:03:02 <fizzie> Maybe they've been lazy and reused an empty box glyph. There are certainly enough of those.
00:03:34 <oerjan> hm that sounds like an idea for an esolang
00:03:43 <oerjan> slightly whitespacish
00:04:07 <Ilari> Unicode abuse? You can make esolang that's truly horrible to write with that...
00:04:26 <oerjan> it was not the writing i was thinking of...
00:04:54 <Asztal_> combining diacritics as control structures?
00:05:06 <oerjan> no, just empty boxes :D
00:05:48 <Asztal_> â̈̈̋!
00:05:58 <Ilari> And if one is practicularly sadistic, use some astral characters that do have proper drawings. Pretty much no font gets those right.
00:06:31 <ehird> ¨ is map, since . . looks like two elements.
00:06:42 <ehird> ´ is fold, since it looks kind of like a bend.
00:06:48 <oerjan> of course another idea might be to have a single complicated sign that can be written several ways with combining characters
00:06:58 <oerjan> and to have the language distinguish those
00:07:10 <oerjan> Ilari: is astral a pun on "plane"?
00:07:22 <ehird> oerjan: sort of
00:07:30 <Ilari> oerjan: "Astral characters", means characters from planes 1-16.
00:07:32 <ehird> astral plane is all non-basic multilingual plane haracters
00:07:39 <ehird> "astral plane" was almost certainly intentional
00:08:51 <fizzie> APL functional symbol quad is a ⎕, and APL functional symbol squish quad is just a ⌷, and the ballot box was of course ☐, and Nko letter sa is ߛ and you can put a combining enclosing square around a space like ⃞ and there is plain old white square □ and white medium square ◻ and…
00:09:01 <fizzie> Sorry, got tired of looking for those.
00:09:24 <ehird> fizzie: nko letter sa doesn't show up here
00:09:27 <ehird> so get 2 more and we have a BF dialect
00:09:53 <fizzie> I'm not surprised; it made the text field in gucharmap get right-to-left direction, too.
00:10:39 <ehird> wait
00:10:40 <ehird> it shows up
00:10:44 <ehird> it just has something inside
00:11:08 <fizzie> Oh. Well, my font isn't very good either. There was another square-like arabic character I wasn't so sure about.
00:12:51 <Ilari> One interpretter I did did pretty sadistic unicode abuse by putting the basic operators into TAG range. "Data 0" operator was U+E0030, "Data 1" operator U+E0031, "Input" operator U+E0069 and "Output" operator U+E006F...
00:13:10 <fizzie> Well, musical symbol drum clef-2, 𝄦 is a square here, although it messes up whitespace. As is musical symbol cluster notehead white, 𝅚. Those have the ‷advantage‴ of being non-BMP characters.
00:13:28 <oerjan> "TAG"?
00:13:57 <fizzie> Musical symbol square notehead white, 𝅆, is also a type of square, although horribly tiny and quite far down.
00:14:15 <ehird> Those are not squares here.
00:14:24 <ehird> + ⎕ - ⌷ < ☐ >  ⃞ , □ . ◻
00:14:26 <ehird> We need two more
00:14:47 <fizzie> The square notehead should at least be a square, though. Oh well.
00:15:23 <ehird> I think my not-found char is a box with a relevant symbol inside
00:16:05 <fizzie> There is in Miscellaneous Mathematical Symbols-B block a "squared square", but it's not in my font. It would look like ⧈ though. Here it just renders as a box with "29C8" in it.
00:16:16 <oerjan> Ilari: ah, TAG is _not_ an acronym, you evil scum :D
00:16:17 <Ilari> oerjan: U+E00xx contains copies of 95 basic ASCII characters as "TAG" versions. Meant for language tags.
00:16:43 <ehird> Ilari: wu
00:16:44 <ehird> t
00:17:01 <Ilari> So U+E0030 is TAG DIGIT ZERO.
00:17:19 <fizzie> ehird: I think I didn't yet say white small square ▫ and white rectangle ▭.
00:17:23 <Ilari> And U+E0041 is TAG LATIN CAPITAL LETTER A
00:17:46 <ehird> + ⎕ - ⌷ < ☐ > ▫ , □ . ◻ Replaced the troublesome compiler. still 2 t o go
00:18:29 <fizzie> Why not white rectangle? Or doesn't that show up either?
00:18:38 <oerjan> Ilari: so is there a YOU ARE IT character to end a sequence of those? :D
00:19:34 <Ilari> Well, there's also LANGUAGE TAG (U+E0001) and CANCEL TAG (U+E007F).
00:20:19 <oerjan> but nothing at the end?
00:20:30 <oerjan> how buring
00:21:25 <fizzie> I have a bad feeling I'm running out of completely featureless boxes. There are things that are almost boxes (like square lozenge ⌑, white trapezium ⏢, the old flatness ⏥, the rather hash-like viewdata square ⌗) and all kinds of squares with little bits of ink in them, but I haven't seen real squares in a while.
00:21:45 <fizzie> Unless you count the drop-shadowed squares? ❏❐❑❒
00:22:09 <ehird> "e ⌗)"
00:22:13 <ehird> that's an octothorpe
00:22:16 <ehird> :P
00:22:29 <fizzie> No, it's a viewdata square. Hey, there's "square" in the name.
00:22:29 <Ilari> fizzie: What codepoints do those musical box-looking characters have?
00:22:59 <fizzie> Ilari: Around U+1D100 and above.
00:23:29 <fizzie> 1D126 for drum clef-2, 1D15A for cluster notehead white, and 1D146 for square notehead white.
00:26:15 <fizzie> Hangul mieum is also quite squareish, ㅁ, but there's a bit of line sticking out. Same goes for katakana letter ro, ロ. Kangxi radical enclosure ⼞... did I already mention white large square and white very small square? They are ⬞ and ⬜.
00:26:46 <ehird> yay
00:26:59 <ehird> + ⎕ - ⌷ < ☐ > ▫ , □ . ◻ [ ⬞ ] ⬜
00:27:02 <ehird> hey, those are BLACK
00:27:04 <ehird> when zoomed in
00:27:06 <ehird> for me
00:27:08 <ehird> hm maybe not
00:27:25 <fizzie> You never said why the white rectangle ▭ was not to your tastes.
00:27:30 <fizzie> But whatever. :p
00:27:36 <ehird> too rectangly
00:27:42 <ehird> too distinguishable from the others
00:28:33 <fizzie> Oh, okay. There's white vertical rectangle, ▯, too. That's quite close to that apl squish quad.
00:29:00 <fizzie> Feel free to mix-n-match. The very small square is here quite distinguishable too, since it's so, well, small.
00:29:08 <ehird> □⬞◻□⬜
00:29:12 <ehird> ↑ cat
00:29:51 <ehird> Heh, it's not black, it’s a square with white/black diagonal crosses and a border saying, on top and bottom: UNDEFINED, and on the sides: left 0000 and right FFFF
00:30:07 <ehird> Took a looooooot of zooming to see that.
00:31:04 <fizzie> I think I'll do some sleeping, but have a boxy night.
00:31:37 <ehird>
00:32:38 <Ilari> I looked through sample characters for U+1D1xx. Only U+1D126 and and U+1D146 are rectangles.
00:50:12 -!- neldoret1 has joined.
00:51:01 -!- neldoreth has quit ("Reconnecting").
02:24:10 -!- GregorR has quit ("Leaving").
03:19:32 -!- GregorR has joined.
03:34:24 -!- Sgeo has joined.
03:37:09 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
03:40:30 -!- Sgeo has joined.
04:04:50 -!- GreaseMonkey has joined.
05:02:38 -!- oerjan has quit ("leaving").
06:13:24 -!- Sgeo has quit ("Leaving").
06:48:41 -!- Slereah has joined.
06:54:55 <kerlo> Claim: Every possible meaning can be expressed as the limit of an infinite sequence of phrases in English.
06:55:36 <kerlo> Stupid claim: Every possible infinite sequence of phrases in English has a limit that is a meaning.
07:06:46 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:54:27 <bsmntbombdood> how do you do foo ? bar : baz; without any branches?
07:56:40 <fizzie> In some specific cases, conditional instructions might help. Though if you just have a cmov, you'd almost have to evaluate both bar and baz since you don't know which value will be used as the result.
07:56:54 <fizzie> In which case it's not really a ?:.
07:57:13 <bsmntbombdood> or even foo ? 1 : 0;
07:58:02 <fizzie> Well, that you can do with a "mov resultreg, 0; test foo; cmov resultreg, 1" style of thing.
07:59:00 <fizzie> Obviously with more sensible instructions. I'm sure AnMaster will soon comment with the most optimal way of zeroing a register; all I know is the canonical xor thing.
07:59:50 <bsmntbombdood> gcc compiles foo ? bar : baz; with a jump, but foo ? 1 : 0 without
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:43 <fizzie> If bar and/or baz have side effects, I don't see how you could do it without a branch, since you really need to avoid evaluating the "wrong" thing, and that's almost by definition a branch there.
08:01:04 <fizzie> Maybe if you had condition codes for more than just move instructions, though.
08:01:21 <bsmntbombdood> well, yeah
08:03:18 <AnMaster> fizzie, xor is the best way on x86 certainly
08:03:35 <AnMaster> well iirc sub %reg,%reg may also work on some x86 models
08:03:40 <AnMaster> the same way I mean
08:04:35 <AnMaster> xor %reg,%reg is what I would recommend anyway, most modern x86 CPUs treat it specially when it comes to register dependency stuff in out of order execution
08:04:55 <AnMaster> so it knows that xor on itself doesn't depend on the current value of the register
08:05:55 <fizzie> I guess for foo?1:0 you'd actually want something like "xor %eax, %eax; ...; SET?? %al" to avoid having to put the number 1 somewhere for cmov.
08:09:13 <Deewiant> You might want to use 'mov reg, 0' if you want to preserve flags
08:10:00 <bsmntbombdood> ({ typeof(bar) blah[2]; blah[0] = bar; blah[1] = baz; blah[foo?1:0]; })
08:10:38 <lifthrasiir> or in lieu of obfuscated C, bar*foo+baz*!foo...
08:10:59 <lifthrasiir> ooh, that should be bar*!foo+baz*!!foo
08:11:12 <bsmntbombdood> lifthrasiir: huh?
08:11:35 <lifthrasiir> i'm just kidding FYI
08:12:49 <bsmntbombdood> oh you can do it like this
08:12:58 <lifthrasiir> though i have used such expression once...
08:13:10 <fizzie> Unca Linus says cmov is bad for you, though: http://ondioline.org/mail/cmov-a-bad-idea-on-out-of-order-cpus
08:13:26 <bsmntbombdood> x = x & 0xFFFF | (x >> 16)
08:13:28 <fizzie> Of course P4 is not very modern nowadays.
08:13:37 <bsmntbombdood> x = x & 0xFF | (x >> 8)
08:13:47 <bsmntbombdood> x = x & 0xF | (x >> 4)
08:14:00 <bsmntbombdood> and so on
08:14:20 <fizzie> Yes, although most would write that !!foo and not foo?1:0.
08:14:44 <bsmntbombdood> wtf is !!foo
08:14:55 <fizzie> It's pretty much the same thing.
08:15:00 <bsmntbombdood> that's cheating
08:15:11 <fizzie> Forces foo to be 0 or 1, depending on the truthfulness.
08:15:21 <Deewiant> !!foo is cast(bool)foo
08:15:39 <fizzie> Makes me wonder how it's compiled, actually.
08:16:13 <Deewiant> Depends on whether the compiler optimizes it by default or not. With any -O I suspect it's equivalent to a cast.
08:16:45 <bsmntbombdood> with -O3 it's the same as foo?1:0
08:16:46 <fizzie> "xor %eax, %eax; test %edi, %edi; setne %al; retq" is what GCC here made out of int main(int argc, char *argv[]) { return !!argc; }
08:17:08 <Deewiant> Without optimizations?
08:17:11 <bsmntbombdood> that's odd, i got something different
08:17:14 <fizzie> With -O3.
08:17:29 <Deewiant> Does it do a double-not without?
08:17:41 <Deewiant> Or maybe a sete followed by a not
08:18:01 <fizzie> With -O0 it's.. "cmpl $0x0,-4(%rbp); setne %al; movzbl %al,%eax;", discounting some stack-handling.
08:18:42 <Deewiant> Hmm, it prefers xor followed by set to set followed by movzx.
08:20:38 <fizzie> That was for x86-64, of course, which gets parameters in registers and all that fluff. "-O3 -m32" generates "xor %eax,%eax; cmpl $0x0,(%ecx); setne %al;" with some messy stack stuff.
08:20:54 <fizzie> I'm sure I could get some other sequences with suitable -march= flags.
08:21:01 <Deewiant> () is dereferencing in AT&T parlance?
08:21:30 <fizzie> I think so, yes. There's a lea ...,%ecx somewhere up there.
08:21:41 <Deewiant> Alternatively, just use -masm=intel ;-)
08:22:15 <fizzie> Actually I'm using gcc -c + objdump -d, which is the silly way. :p
08:22:31 <fizzie> So it's something like "-M intel".
08:22:44 <Deewiant> -Mintel would have been my guess, yes.
08:23:17 * bsmntbombdood does not know any assembly
08:28:35 <fizzie> Some architectures have condition codes for almost all instructions. ARM most prominently, there's a four-bit field for condition code for all instructions, although I seem to recall that there were quite a lot of "special" instructions using some illegal condition code (0b1111, I think) that did rarely useful things.
08:33:49 <bsmntbombdood> yeah
08:34:06 <bsmntbombdood> but arms don't have branch prediction
08:48:15 -!- tombom has joined.
10:01:20 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
12:10:45 -!- ais523 has joined.
12:11:20 <ais523> just to annoy all the autoconf-haters out there, I'm working on porting C-INTERCAL to K&R C
12:27:07 -!- neldoret1 has quit (Read error: 113 (No route to host)).
12:32:35 -!- MizardX- has joined.
12:37:10 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
12:37:29 -!- MizardX- has changed nick to MizardX.
12:38:04 <AnMaster> ais523, hi
12:38:09 <AnMaster> I'm just about to make a cfunge release
12:38:16 <AnMaster> atm the server hosting bzr is down
12:38:20 <AnMaster> datacenter issues
12:38:38 <AnMaster> someone was digging in the street outside and managed to dig off the cable it seems.
12:38:46 <ais523> ah, ok
12:38:47 <AnMaster> so the bzr bit will be a bit out of date atm
12:39:01 <AnMaster> ais523, btw is it vectorize or vectorise in UK English?
12:39:19 <ais523> err... oh dear, you've hit the -ise vs. -ize debate
12:39:28 <AnMaster> ais523, UK English...
12:39:30 <ais523> the correct answer is that nobody can remember, so using either will work
12:39:41 <ais523> for the really correct answer, I suppose you could look it up
12:39:42 <AnMaster> ais523, I thought z was US and s UK?
12:39:48 <ais523> it's not that simple nowadays
12:39:52 <AnMaster> I see
12:39:54 <ais523> because the two languages got muddled
12:41:49 <Deewiant> en-GB-oed for the win: -ize it is.
12:42:17 <AnMaster> I used s and commited and tagged now
12:42:18 <AnMaster> so too late
12:42:28 <AnMaster> now to upload to sf.net
12:43:03 <Deewiant> The rationale is that it comes from Greek 'izare' (modulo the Latin alphabet) and is also pronounced like a z
12:43:33 <Deewiant> I.e. it's wrong in every possible way ;-)
12:43:37 <Deewiant> -ise, that is
12:43:57 -!- Hiato has joined.
13:00:28 <AnMaster> err
13:00:30 <AnMaster> "Submit my news to the Slashdot.org Firehose"
13:00:32 <AnMaster> what does that mean
13:00:42 <AnMaster> when submitting a news for the project on sf.net
13:00:45 <AnMaster> ais523, any idea?
13:00:55 <ais523> AnMaster: the firehose is the list of things that happen on slashdot
13:01:01 <ais523> so stories, submissions, comments, etc
13:01:09 <AnMaster> so should I select it or not?
13:01:18 <ais523> if your news ends up in the firehose, then the editors might decide to put it on slashdot's front page
13:01:20 <ais523> so you may as well
13:01:28 <AnMaster> it is a rather dry release announcement...
13:01:30 <ais523> there's no chance it'll happen, of course, but it would be incredibly funny if it did
13:01:42 <AnMaster> "Today (2009-03-31) cfunge 0.4.0 was released. This release add support for some more fingerprints (DATE and NCRS), speed up execution quite a bit, and fixes several bugs. Cfunge now needs cmake 2.6 to build (previously cmake 2.4 also worked). See ChangeLog for more details."
13:02:13 <AnMaster> ais523, http://slashdot.org/firehose.pl?op=view&id=3967171
13:02:14 <AnMaster> heh
13:02:23 * ais523 mods it up
13:02:25 <ais523> just because I can
13:02:27 <AnMaster> oh?
13:02:32 <AnMaster> you are a mod on there?
13:02:40 <AnMaster> or whatever
13:02:42 <AnMaster> *shrug*
13:03:13 <AnMaster> also the submitting user looks odd
13:03:23 <AnMaster> wait sf.net and slashdot have same owner right?
13:03:29 <ais523> yes
13:03:29 <AnMaster> wait,*
13:03:34 <AnMaster> ais523, so can I use same login?
13:03:42 <ais523> also, anyone who's been on slashdot for long enough (about 6 months) is a mod some of the time
13:03:45 <ais523> it's determined at random
13:03:55 <AnMaster> ais523, oh?
13:03:55 <ais523> but you can mod the firehose even if you aren't a mod for the main page at that particular moment
13:04:02 <AnMaster> how odd
13:04:07 <AnMaster> random mods
13:04:10 <AnMaster> that sounds like a bad idea
13:04:17 <ais523> well, it certainly creates a lot of debate
13:04:27 <fizzie> There's also the whole meta-moderation stuff.
13:04:42 <fizzie> Every now and then you get to rate some ratings.
13:05:05 <AnMaster> ais523, full changelog at https://sourceforge.net/project/shownotes.php?release_id=672353&group_id=221310 incase you didn't see it before
13:05:10 <fizzie> Or can you metamoderate whenever? Anyway.
13:05:17 <ais523> you can metamod whenever
13:05:26 <fizzie> "How often can I M2? Several times per day (we adjust this slightly sometimes, to keep M1 and M2 in balance)."
13:05:29 <fizzie> Heh.
13:05:29 <AnMaster> meta-meta-mod would be funny
13:05:30 <ais523> just the link for doing it comes up at random
13:05:37 <AnMaster> M1 and M2?
13:05:42 <ais523> M1 = moderation
13:05:46 <ais523> M2 = metamoderation
13:05:47 <ais523> where you moderate moderations
13:05:56 <ais523> if a person's moderations get modded down too often, they can't moderate
13:06:02 <AnMaster> heh
13:06:10 <AnMaster> you should be able to mod metamods too
13:06:21 <AnMaster> and so on
13:06:25 <AnMaster> infinite moderation recursion
13:06:34 <fizzie> "How does M2 affect the moderator's karma? This is a fairly complicated thing. Depending on some randomness, the moderator's karma and a couple of other factors, a particular instance of meta-moderation may or may not change a moderator's karma score."
13:06:37 <fizzie> Very complicated.
13:06:40 <ais523> likewise, you can't moderate unless your comments have been M1-moderated up more often than down
13:06:58 <ais523> that's what mostly determines karma, which is basically a sum of all moderations that have happened to you
13:07:26 <AnMaster> heh
13:07:51 <AnMaster> ais523, so ick is going to release tomorrow?
13:08:08 <ais523> I'll probably release a beta
13:08:11 <AnMaster> right
13:08:15 <ais523> I'm too busy to get things finalised
13:08:21 <AnMaster> ais523, did you figure out the profiler thingy?
13:08:23 <ais523> but having extra community input would be helpful
13:08:25 <ais523> and yes
13:08:27 <ais523> it was an utterly ridiculous bug
13:08:32 <AnMaster> details?
13:08:47 <ais523> what happened was that I forgot to include config.h in one of the files that used the profiler information
13:08:49 <ais523> but remembered in the other
13:09:00 <ais523> now, I was using #ifdef and similar to work out the sizes of various things
13:09:02 <AnMaster> ais523, afraid that due to the datacenter issue my hosting of your darcs repo is also down btw
13:09:08 <AnMaster> same server
13:09:08 <ais523> ah, ok
13:09:13 <ais523> so's my email, for unrelated reasons
13:09:17 <AnMaster> yeah
13:09:35 <AnMaster> ais523, why #ifdef and not sizeof()?
13:09:49 <ais523> AnMaster: because it depended on the accuracy of the timer functions
13:09:54 <AnMaster> hm?
13:09:56 <ais523> if I had something that measured in nanoseconds, I wanted to use long long
13:10:00 <AnMaster> ah
13:10:03 <ais523> if it measured only in microseconds, i used long instead
13:10:18 <ais523> so what happened was that libyuk.a thought an array was made of long longs
13:10:18 <AnMaster> ais523, I would always use long long, wouldn't really hurt in your case
13:10:20 <fizzie> A giant, snow-covered banjo.
13:10:31 <ais523> and the generated program thought it was made of longs
13:10:38 <AnMaster> s/fizzie/fungot/
13:10:43 <AnMaster> also what style was that fizzie ?
13:10:47 <AnMaster> ;P
13:11:01 <ais523> the generated program was the one that allocated storage, so what happened was that several arrays ended up overlapping in the executable
13:11:21 <AnMaster> ais523, no overflows you said though?
13:11:25 <fizzie> The spam style; it was directly a spam Subject: header. I thought it appropriately bizarre. I *could* run my spam folder through fungot's analyzer, but it might be a bit too viagra-rich.
13:11:27 <ais523> ah, that's the interesting thing
13:11:38 <ais523> it turns out that the mudflap guard value was never written to
13:11:40 <AnMaster> fizzie, yeah
13:11:43 <AnMaster> ais523, oh?
13:11:44 <ais523> it wrote past it, but not to the value itself
13:12:03 <ais523> and the amazingly high value that you saw for the GIVE UP line was mudflap's guard value at the end of the array
13:12:05 <AnMaster> ais523, valgrind's exp-prtcheck would have found that
13:12:14 <ais523> AnMaster: but it was valid memory!
13:12:25 <AnMaster> ais523, yes but even so. It tracks every single pointer and what object it is connected to
13:12:38 <AnMaster> so even two objects after each other and the pointer passing would be noticed
13:12:39 -!- fungot has joined.
13:12:40 <AnMaster> yes it is slow
13:12:47 <ais523> AnMaster: I was using array indexing, not pointers
13:12:59 <ais523> can valgrind really tell a[x] from b[x], where a and b are two different static arrays?
13:13:07 <ais523> the pointer's pointing to the wrong array at the time it's created
13:13:41 <AnMaster> ais523, exp-ptrcheck can yes, it stores what static variable is accessed first time for each instruction that, then assumes future execution of the same instruction will accesses the same one
13:13:45 <AnMaster> if not it reports an error
13:13:49 <ais523> oh, ok
13:13:51 <AnMaster> this means false positives sometimes
13:14:00 <ais523> and that would work because the program always starts at the first lien
13:14:02 <ais523> *line
13:14:04 <AnMaster> err what?
13:14:14 <AnMaster> ais523, it works on machine code level, so "line" doesn't matter
13:14:14 <ais523> so it starts by accessing the [0] element of the array
13:14:21 <AnMaster> and it would work with [1] too
13:14:24 <ais523> AnMaster: no, I mean the INTERCAL program starts at the first line
13:14:27 <AnMaster> inside right object
13:14:35 <ais523> which means that array[0] is the first element accessed, which will be in the right object even if the size is wrong
13:15:08 <AnMaster> anyway if you passed the other way, and edited the first variable later that would cause an error too, just the "should be" field wouldn't list the right one
13:15:54 <AnMaster> ais523, there is more info in http://valgrind.org/docs/manual/pc-manual.html
13:16:13 <AnMaster> see "10.3. How Ptrcheck Works: Heap Checks" and "10.4. How Ptrcheck Works: Stack and Global Checks"
13:16:21 <AnMaster> also "10.6. Limitations"
13:16:31 <ais523> anyway, using long long by default would be mad
13:16:40 <ais523> I'm trying to port C-INTERCAL to a compiler that doesn't understand const or volatile
13:16:47 <AnMaster> ais523, be aware of that it is a bit buggy in last release even. I reported some bugs that are fixed in valgrind trunk
13:16:59 <AnMaster> ais523, configure has checks to define them away
13:17:04 <ais523> yep
13:17:05 <AnMaster> also what compiler is that?
13:17:08 <ais523> bcc
13:17:11 <AnMaster> bcc?
13:17:12 <ais523> it's a K&R C compiler
13:17:14 <ais523> pre-C89, even
13:17:20 <AnMaster> ais523, then you can throw away all the ANSI C
13:17:26 <AnMaster> and why are you porting to BCC
13:17:29 <ais523> it has an -ansi option that runs the code through unprotoize
13:17:30 <ais523> and because I can
13:17:40 <AnMaster> ais523, what platforms can it compile for?
13:17:47 <ais523> 8086, 80386, and 6509
13:17:54 <AnMaster> 6509?
13:18:08 <AnMaster> googling for bcc:
13:18:09 <AnMaster> Blind carbon copy - Wikipedia, the free encyclopedia
13:18:11 <ais523> not sure, but the 6502 used to be popular, and similar numbers generally = similar ICs when it comes to component numbering
13:18:12 <AnMaster> See results for: bbc
13:18:17 <AnMaster> ais523, link?
13:18:19 <ais523> AnMaster: "bruce's C compiler"
13:18:21 <AnMaster> ah
13:18:37 <ais523> *6809
13:18:38 <ais523> whoops
13:18:41 <AnMaster> ais523, can't find official homepage
13:18:50 <ais523> maybe it doesn't have one?
13:18:51 <AnMaster> ais523, and what is 6809?
13:19:00 <AnMaster> where did you get it then?
13:19:16 <ais523> from the repos, obviously
13:19:22 <ais523> same place I get everything else from
13:19:49 <AnMaster> what repos
13:19:53 <AnMaster> ...
13:20:00 <ais523> Debian/Ubuntu
13:20:02 <AnMaster> oh ok
13:20:14 <Deewiant> What else would have something that old? :-P
13:20:19 <AnMaster> true
13:20:36 <AnMaster> Gentoo amd64 made gcc 4.3.2 stable yesterday btw
13:20:53 <AnMaster> wasn't stable on any other platforms (including x86) last I checked
13:21:08 <ais523> anyway, bcc will take quite a bit of porting
13:21:08 <Deewiant> I've got 4.3.3 apparently
13:21:12 <ais523> IIRC it even has 16-bit int
13:21:21 <Deewiant> 32-bit long?
13:21:21 <AnMaster> Deewiant, so do I on my arch one
13:21:25 <ais523> yes, must be
13:21:30 <ais523> 32-bit's the minimum for long
13:21:36 <Deewiant> Ah.
13:22:18 <ais523> well, 32-bit int it seems
13:22:18 <AnMaster> ais523, anyway now I'm playing around with some of the nice new features in gcc 4.3 for cfunge. Like cold sections for rarely used functions
13:22:19 <ais523> that's a relief
13:22:21 <AnMaster> and such
13:22:26 <AnMaster> ais523, why?
13:22:32 <fizzie> Probably won't be very fast arithmetic with int/longs on a 6809, then. It seems to be not that far off from 6502/6510, except that there seems to be a bit more support for 16-bit numbers.
13:22:40 <ais523> AnMaster: because I think C-INTERCAL fundamentally assumes that int is 32-bit
13:22:48 <ais523> it shouldn't, but I think it did before I came to it
13:22:51 <AnMaster> ais523, in that aspect cfunge is more portable
13:22:52 <AnMaster> :P
13:22:54 <fizzie> You can combine the two 8-bit general-purpose registers (A and B) into a 16-bit register D. Or so they say.
13:23:08 <AnMaster> ais523, I never use int or long or such where it matters, only stdint.h ones
13:23:42 <AnMaster> ais523, I do assume char is 8 bits, I don't assume char is either signed or unsigned though
13:23:48 <ais523> you're assuming the existence of stdint.h, how modern!
13:23:58 <AnMaster> ais523, that would be trivial to construct yourself
13:24:03 <ais523> well, yes
13:24:11 <ais523> but you can't force it on other people's program
13:24:12 <AnMaster> an include with some typedefs for your local $CC
13:24:28 <ais523> C-INTERCAL goes to the extent of passing around compile-time -D #defines just to determine whether stdint.h exists or not
13:24:30 <AnMaster> ais523, I suspect configure could construct one for you
13:24:50 <ais523> AnMaster: it's buggy, it defined both uint16_t and uint32_t to unsigned int
13:24:53 <ais523> which can't be correct
13:25:08 <AnMaster> ais523, also cfunge uses -D on command line for results from configure checks too... Since that is default for cmake unless you set up a config.h or such
13:25:11 <ais523> hmm... unless bcc doesn't have a short, I should test that
13:25:16 <AnMaster> and it seemed to work just fine
13:25:19 <AnMaster> no need to change it
13:25:27 <AnMaster> a lot easier for out of tree builds too
13:25:39 <AnMaster> in fact I got no clue if *in* tree builds work for cfunge any more
13:25:42 <ais523> sizeof(short)=2, that's helpful
13:25:50 <ais523> and entirely unsurprising, I've never seen a compiler set it to anything else
13:25:55 <AnMaster> ais523, define it as in16_t
13:25:59 <AnMaster> int16_5*
13:26:01 <AnMaster> gah
13:26:03 <AnMaster> int16_t*
13:26:27 <ais523> also, some systems have 32-bit char
13:26:39 <ais523> so assuming 8-bit char is probably a bad idea
13:26:42 <ais523> if you want to be portable
13:26:46 <AnMaster> ais523, anyway I have seen C89 apps making their own defines based on configure checks for foo_sint32 and such (where foo is some abbreviation for the project name usually)
13:27:00 <AnMaster> ais523, well there is no way I can properly do fingerprints then
13:27:06 <ais523> why not?
13:27:23 <AnMaster> well not easily anyway
13:27:38 <ais523> struct my8bittype { char x : 8};
13:27:44 <AnMaster> heh
13:27:50 <ais523> there, you have an 8-bit type
13:27:51 <AnMaster> ais523, what about padding for that?
13:28:03 <ais523> AnMaster: that's in the struct, not in x itself
13:28:12 <ais523> although admittedly trying to use x will be very slow if char isn't 8 bits long
13:28:13 <AnMaster> ais523, I mean, I don't want padding
13:28:29 <AnMaster> ais523, anyway I also depend on IEEE floats (or as much as 32-bit float and 64-bit double)
13:28:31 <AnMaster> well documented
13:28:36 <AnMaster> needed for FPSP and FPDP
13:28:55 <ais523> what about on a 40-bit system?
13:29:23 <AnMaster> ais523, actually I don't depend on 8 bit char, I depend on uint8_t
13:29:32 <AnMaster> which I think C99 requires in fact
13:29:43 <AnMaster> so it is up to the system how it does that
13:29:48 -!- Hiato has quit ("Leaving.").
13:29:59 <ais523> oh, it seems bcc is normally used to write bootloaders
13:30:00 <AnMaster> POSIX 2008 mentions that they notice that they now require char to be 8 bits btw
13:30:02 <ais523> as it generates real-mode code
13:30:08 <AnMaster> ais523, heh...
13:30:10 <ais523> AnMaster: that's POSIX, not ISO
13:30:20 <AnMaster> ais523, ISO defines int8_t too in C99
13:30:23 <AnMaster> so :P
13:30:24 <ais523> yes
13:30:31 <ais523> really, though, I'm porting to K&R C
13:30:36 <AnMaster> ais523, and cfunge needs POSIX anyway. So I'm quite safe.
13:30:45 <ais523> I spent last night removing C99isms from the C-INTERCAL coe
13:30:46 <AnMaster> what do you think of this btw:
13:30:47 <ais523> *core
13:30:47 <AnMaster> __builtin_ia32_movntps(((float*)(void*)&cfun_static_space) + i*4,
13:30:47 <AnMaster> *((const v4sf*)(const void*)&fspace_vector_init));
13:30:49 <ais523> (although not from IFFI)
13:30:59 <AnMaster> ais523, what about the safe vsnprintf thingy?
13:31:01 <ais523> AnMaster: I hope you have falbacks
13:31:07 <AnMaster> ais523, duh of course
13:31:08 <ais523> AnMaster: I fixed a bug in it
13:31:14 <AnMaster> ais523, it works on SPARC after all
13:31:16 <AnMaster> and non-GCC
13:31:19 <ais523> you were referencing iyylineno, even though it wasn't declared anywhere
13:31:30 <AnMaster> ais523, I were? huh
13:31:44 <AnMaster> it sounds like some yacc thingy
13:31:46 <AnMaster> or maybe lex
13:32:06 <ais523> well, yylineno is an undocumented feature of bison that C-INTERCAL used to rely on
13:32:10 <AnMaster> ais523, I remember cleaning up in the flex/yacc thing
13:32:18 <AnMaster> ais523, aha
13:32:22 <ais523> I felt that relying on undocumented features was a bad idea, especially as it had caused bugs in the past
13:32:28 <AnMaster> yeah
13:32:30 <ais523> so iyylineno does the same thing, but is calculated by hand
13:32:32 <fizzie> uint8_t is optional in C99. "The typedef name uintN_t designates an unsigned integer type with width N. ... These types are optional. However, if an implementation provides integer types with widths of 8, 16, 32 or 64 bits, it shall define the corresponding typedef names."
13:32:35 <AnMaster> ais523, I see
13:32:54 <ais523> fizzie: yep
13:33:02 <ais523> uint_least8_t is manadatory though, IIRC
13:33:17 <AnMaster> fizzie, I depend on both signed and unsigned u?int(8|32|64)_t at least, not sure about the 16 bit case
13:33:51 <ais523> see, there's no love for 16 bit systems nowadays
13:33:51 <fizzie> Yes, well, u?int_least{8,16,32,64}_t are all mandatory. The fixed-width ones are all very optional.
13:34:14 <AnMaster> and really, since I require POSIX.1-2001 with the mmap option anyway int8_t will most probably exist.
13:34:30 <ais523> wow, the asm generated by bcc is beautiful
13:34:50 <ais523> standard real-mode x86 stuff, it looks just like the asm I used to work with back on DOS
13:35:07 <ais523> and it even uses decimal points to mark numbers as decimal, I haven't seen an asm format do that since the PIC
13:35:58 <ais523> ah, that's what the -3 option does, it makes the code 32-bit
13:36:00 <AnMaster> ais523, well I might depend on it. But at least on x86_64 (AMD K8 implementation) the 32-bit and 64-bit variants are usually equally fast in cycle count, 32-bit using less memory bandwidth, cache and "pipeline stuff" though, 8 bits is still quite fast, but 16 bits tends to be slower
13:36:01 <AnMaster> btw
13:36:03 <ais523> no wonder my code wasn't running without it
13:36:08 <AnMaster> GCC 4.3 supports fixed point
13:36:13 <AnMaster> only on MIPS yet though :/
13:36:39 <AnMaster> ais523, decimal points?
13:36:42 <AnMaster> in asm?
13:36:43 <AnMaster> err what
13:36:54 <AnMaster> well I don't know how floats are encoded in asm
13:37:05 <ais523> AnMaster: no, they're used for integers
13:37:09 <ais523> to mark them as decimal
13:37:12 <ais523> 12. = decimal 12
13:37:15 <ais523> 12 = hex 12
13:37:17 <AnMaster> ah
13:37:18 <ais523> *.12 = decimal 12
13:37:18 <AnMaster> that decimal
13:37:19 <AnMaster> right
13:37:37 <ais523> and floats in asm work the same way as floats in C, or in anything else really
13:37:41 <AnMaster> decimals also means "the bit after the ." (or is that a Swedishism?)
13:37:45 <ais523> the assembler converts them into hex
13:37:52 <ais523> AnMaster: no, it means that in English too, but only in the plural
13:37:56 <ais523> "decimal" = base 10
13:38:00 <ais523> "decimals" = fractional part of a number
13:38:13 <AnMaster> ais523, en decimal (a decimal) is correct for one number after the dot in Swedish
13:38:34 <AnMaster> as in 3.14 containing two decimals
13:38:44 <AnMaster> ais523, what would you say in English there?
13:38:45 <AnMaster> hm
13:39:04 <ais523> "decimal places"
13:39:07 <fizzie> The noun decimal has 2 senses: 1. decimal fraction, decimal -- (a proper fraction whose denominator is a power of 10) 2. decimal -- (a number in the decimal system); ... adj decimal ... 1. decimal, denary -- (numbered or proceeding by tens; based on ten; "the decimal system")
13:39:08 <AnMaster> ais523, btw what do you think of this:
13:39:09 <AnMaster> static funge_cell cfun_static_space[FUNGESPACE_STATIC_X * FUNGESPACE_STATIC_Y]
13:39:09 <ais523> often abbreviated to d.p.
13:39:10 <AnMaster> #ifdef __GNUC__
13:39:10 <AnMaster> __asm__("cfun_static_space")
13:39:10 <AnMaster> #endif
13:39:10 <AnMaster> FUNGE_ATTR((aligned(16)))
13:39:11 <AnMaster> ;
13:39:29 <ais523> AnMaster: what's the __asm__ for?
13:39:52 <Deewiant> Defining a label?
13:39:52 <AnMaster> ais523, asm name. Otherwise I get undefined refs when doing movntps %%xmm0,0x10+cfun_static_space(%%rax) and such
13:40:03 <AnMaster> well depends on compile time options
13:40:04 <ais523> ah
13:40:11 <AnMaster> it works anyway in -O0 and normal -O3
13:40:16 <AnMaster> just not with -combine -fwhole-program
13:40:17 <AnMaster> :D
13:40:34 <AnMaster> (yeah I'm crazy, we established that by now I think, right?)
13:41:10 <ais523> it's always fun when you do stuff that means you have to care about your optimizer options
13:41:42 <AnMaster> ais523, you should download http://downloads.sourceforge.net/cfunge/cfunge-0.4.0.tar.bz2 and make sure it works with IFFI now
13:41:44 <AnMaster> just in case
13:41:53 <AnMaster> ais523, yes.
13:42:08 <ais523> AnMaster: IFFI still isn't integrated into the build system
13:42:26 <ais523> really, you just need to install the library to the right place
13:43:14 <AnMaster> hm
13:43:22 <AnMaster> ais523, I remember make install copying it+
13:43:30 <ais523> that was an old version
13:43:34 <AnMaster> ah
13:43:37 <ais523> although it should be just a quick fix
13:43:43 <AnMaster> ais523, in that case I hope it still works
13:43:45 <ais523> anyway, I need a modern cfunge to test that part of the build
13:43:51 <AnMaster> because when I fixed IFFI I assumed it did
13:43:53 <ais523> so I'll grab that
13:43:54 <AnMaster> anyway see that link then
13:44:01 -!- KingOfKarlsruhe has joined.
13:55:31 <AnMaster> ais523, btw until the datacenter issue is fixed (which looks like it can take some time) https://code.launchpad.net/~anmaster/cfunge/speedup is the feature branch I'm working on
13:55:42 * AnMaster waits for jokes about the branch name
13:55:54 <ais523> I don't even need to make the joke, it's too obvious
13:56:01 <ais523> do you have stability and security branches too?
13:56:45 <ais523> AnMaster: launchpad? ugh
13:57:44 <AnMaster> ais523, good code hosting though
13:57:46 <AnMaster> for bzr
13:58:03 <AnMaster> ais523, I always have 98% code coverage before releasing
13:58:22 <AnMaster> the remaining 2% is mostly code handling "failed malloc"
13:58:26 <ais523> what does code coverage mean in that case?
13:58:27 <AnMaster> which is non-trivial to test
13:58:44 <ais523> AnMaster: are you using glibc?
13:58:50 <AnMaster> ais523, line coverage as measured by gcov after running mycology and various other test suites
13:59:05 <ais523> add a malloc hook that prompts the user whether to do the allocation or not
13:59:06 <AnMaster> ais523, branch coverage is usually around 97%
13:59:15 <AnMaster> ais523, err what?
13:59:27 <AnMaster> also I'm using glibc on some systems. FreeBSD libc as well
13:59:29 <AnMaster> and so on
13:59:32 <ais523> AnMaster: by defining functions with certain names, you can affect the behaviour of glibc malloc
13:59:53 <AnMaster> ais523, I might use optimised variants for GCC or whatever, but I always have pure C + POSIX fallbacks
14:00:37 <AnMaster> ais523, also I don't really malloc a lot, a few hundred mallocs during the execution of mycology iirc. Let me profile with callgrind to check call count. a sec
14:03:46 <AnMaster> ok around 500 malloc calls when running mycology, 27 from other parts of glibc itself. T
14:04:12 <AnMaster> most is due to having to copy the stacks used for fingerprints ops when doing t
14:04:22 <AnMaster> 260 is due to fingerprint stacks being copied
14:04:34 <ais523> hmm... is that inefficient?
14:04:42 <ais523> do you store fingerprint stack as a linked list, or as an array?
14:04:47 <ais523> a stack can sensibly be stored as either
14:04:52 <AnMaster> ais523, array that I realloc when needed
14:04:53 <ais523> but array plus realloc is probably faster
14:05:07 <ais523> ah, you have one for each letter
14:05:13 <ais523> that's why you need so many malloc calls
14:05:15 <AnMaster> ais523, yes I need that
14:05:19 <AnMaster> due to the specs
14:05:26 <ais523> well, you know you have exactly 26 letters
14:05:31 <AnMaster> ais523, loading and unloading out of order is allowed
14:05:34 <AnMaster> and have to work
14:05:39 <ais523> mightn't you store the stacks all in the same array, using every 26th element
14:05:45 <ais523> and keep 26 pointers into the array?
14:05:49 <AnMaster> interesting idea
14:05:52 <ais523> well, indexes
14:06:01 <ais523> that means less allocing's going on, and you still have the separate stacks
14:06:08 <AnMaster> malloc overhead is rather small here though
14:06:11 <ais523> uses slightly more memory, but it's probably faster as one big allocation's faster than 26 small ones
14:06:20 <AnMaster> but worth considering
14:06:48 <AnMaster> ais523, pushing env in y is what takes most time though
14:07:08 <AnMaster> and yeah it is rather optimised, to make it faster I would need to make stack grow down instead
14:07:15 <AnMaster> which means I couldn't use realloc
14:07:21 <ais523> does the env change over the course of the program?
14:07:28 <AnMaster> ais523, it could if I implement EVAR
14:07:31 <ais523> ah, ok
14:07:33 <AnMaster> but yes I considered caching it
14:07:35 <ais523> I was wondering about memoizing it
14:07:47 <AnMaster> $ env | wc -c
14:07:48 <AnMaster> 5350
14:07:48 <ais523> because after all, y is often called more than once
14:08:22 <AnMaster> ais523, I don't push if I can avoid it. As in I map numbers to the cells that would be returned for those with fixed numbers
14:08:28 <AnMaster> like the low ones
14:08:36 <ais523> makes sense
14:09:28 <AnMaster> ais523, and I push on a temp stack (allocated once per program run and then reused) when not pushing everything. I do need to re-push yes since some things can change, but I could probably optimise that more
14:09:36 <AnMaster> and well if I don't implement EVAR...
14:10:38 <AnMaster> stack_push_string was called 38111 times during an execution? hum... Oh wait.. y duh
14:10:48 <AnMaster> it is called a lot in HRTI
14:10:56 <AnMaster> to add a time delay to test with
14:11:12 <AnMaster> (without HRTI mycology is a lot faster btw)
14:11:41 <Deewiant> AnMaster: You think cfunge is too fast? Try running stuff through http://iki.fi/deewiant/files/befunge/programs/slowdown.b98
14:11:53 <AnMaster> Deewiant, ?
14:12:04 <AnMaster> Deewiant, what is that about?
14:12:06 <Deewiant> You seem to be running into some kind of speed limits
14:12:13 <Deewiant> That should place them a bit further away
14:12:17 <AnMaster> Deewiant, yes bit what is that program good for?
14:12:22 <AnMaster> and what does it do
14:12:27 <Deewiant> It's good for slowing down Befunge interpreters
14:12:33 <AnMaster> is it written as a worst case for cfunge or something?
14:12:42 <Deewiant> No, for any interpreter
14:13:01 <Deewiant> CCBI chokes on it just fine
14:13:07 <Deewiant> Haven't actually tried cfunge
14:13:08 <AnMaster> wow the link opened in kate. When I tried to safe it to a file it then said it "unknown error when trying to save to http://iki.fi/deewiant/files/befunge/programs/slowdown.b98"
14:13:10 <AnMaster> that's silly
14:13:42 <ais523> AnMaster: you want save as
14:13:54 <AnMaster> ais523, yes but saving to url doesn't even make sense
14:13:56 <Deewiant> cfunge chokes as badly as CCBI on Mycology, unsurprisingly
14:13:57 <ais523> clearly you aren't going to be able to save to someone else's website, Deewiant probably hasn't implemented HTTP PUT
14:14:04 <ais523> of course it makes sense, just nobody implements it
14:14:06 <AnMaster> Deewiant, chokes on mycology?
14:14:10 <AnMaster> what do you mean
14:14:12 <Deewiant> AnMaster: When run through that
14:14:16 <AnMaster> Deewiant, usage?
14:14:17 <Deewiant> Try it and watch your CPU burn
14:14:23 <Deewiant> AnMaster: Pass it a filename.
14:14:28 <AnMaster> Deewiant, what about memory usage btw?
14:14:52 <Deewiant> Beats me, probably not much worse than normally
14:15:21 <AnMaster> Deewiant, it is fast up until "GOOD: p modifies space"
14:15:21 <ais523> Deewiant: you're writing to the path of the IP in the loaded file, to slow it down every command?
14:15:23 <AnMaster> when it slows down
14:15:32 <Deewiant> ais523: Nope
14:15:36 <AnMaster> Deewiant, what are you doing then?
14:15:37 <Deewiant> AnMaster: Yep, that's wraparound
14:15:48 <AnMaster> are you interpreting befunge?
14:16:03 <Deewiant> No, that's not a befunge-98 interpreter :-P
14:16:11 <AnMaster> Deewiant, how do you slow down then
14:16:12 <Deewiant> Well, it is in some way
14:16:13 <AnMaster> just wondering
14:16:28 <Deewiant> Because a Befunge-98 interpreter written in Befunge-98 is actually quite trivial to write
14:16:29 * AnMaster runs it under calgrind for even slower speed to see what is going on
14:16:51 <AnMaster> Deewiant, you write to far out funge space I see
14:16:53 <Deewiant> So I guess that actually is a Befunge-98 interpreter, now that I think about it
14:16:59 <ais523> Deewiant: you're copying each element of the other program to the IP's path in yours, to step through it?
14:17:01 <AnMaster> since the main time is spent in hash calculation
14:17:14 <Deewiant> ais523: Nope
14:17:51 <AnMaster> 36.397 % is spent in ght_crc_hash (yes I profiled several hash algorithms, and suprisingly crc ended up with overall fastest result of those I tested)
14:17:52 <Deewiant> It's nothing clever really, it's just a bit targeted against the way interpreters tend to implement Funge-Space
14:18:06 <AnMaster> Deewiant, how do you do it I asked.
14:18:10 <AnMaster> Care to describe?
14:18:16 <ais523> Deewiant: you're moving the target program in fungespace every now and then?
14:18:22 <Deewiant> ais523: Just once.
14:18:28 <ais523> oh, to negative fungespaec?
14:18:31 <ais523> *fungespace?
14:18:39 <AnMaster> well negative funge space isn't that slow for me
14:18:40 <AnMaster> oh wait
14:18:41 <Deewiant> I ask y for the cell size and generate a random number in the full range a cell can be, then copy the program there
14:18:46 <AnMaster> wrapping would end up like that
14:18:50 <Deewiant> Do some cleanup and then jump there
14:18:56 <AnMaster> Deewiant, that isn't fair, this build is 64-bit!
14:19:06 <Deewiant> Which slows down cfunge a bit because it gets out of its static array
14:19:12 <Deewiant> And it slows down everything a crapload because wraparound takes forever.
14:19:18 <AnMaster> yes
14:19:27 <AnMaster> Deewiant, do you replace it all with spaces in the original area?
14:19:31 <Deewiant> AnMaster: Yes.
14:19:34 <AnMaster> aha
14:19:36 <AnMaster> then I have an idea
14:19:37 <AnMaster> :)
14:19:47 <Deewiant> Solve mycoedge and you can probably speed that up to 'normal' speeds.
14:19:52 <ais523> Deewiant: how do you handle g and p?
14:19:59 <Deewiant> ais523: Sets the storage offset
14:20:01 <AnMaster> Deewiant, I planed to update bounds if needed in y though
14:20:07 <Deewiant> AnMaster: That's exactly what I meant.
14:20:16 <AnMaster> Deewiant, wrapping bounds wouldn't update except when y was called though
14:20:19 <AnMaster> in my idea
14:20:27 <AnMaster> but wrapping bounds would be updated on the fly then
14:20:30 <ais523> Deewiant: storage offset? is that in a fingerprint?
14:20:38 <AnMaster> ais523, no
14:20:39 <Deewiant> ais523: No, it's in the spec, it's what g and p are relative to.
14:20:44 <AnMaster> ais523, it is in code with {
14:20:46 <ais523> oh, I didn't know about that
14:20:47 <AnMaster> core*
14:20:57 <ais523> I thought { just messed with the stack stack
14:21:05 <Deewiant> ais523: When you push a new stack on the stack stack, the location of the instruction following the { becomes the storage offset.
14:21:26 <Deewiant> ais523: It pushes the old storage offset on the stack below, and } pops it back so as to reset it.
14:21:33 <AnMaster> and with some hacks using u to transfer to the stack below you can change it
14:21:39 <AnMaster> to set a different offset on first stack
14:21:41 <Deewiant> Hardly a hack IMO. :-P
14:21:57 <Deewiant> But yes, u allows transferring stuff between the top two stacks so you can set the storage offset to whatever you want.
14:22:08 <AnMaster> Deewiant, that's two extra additions for every g or p access! :(
14:22:08 <fizzie> 0{<y><x>02-u0}$$ I seem to have written once; I'm not sure if that's tested, though.
14:22:32 <AnMaster> fizzie, why not a plain n after, it is faster;P
14:22:37 <Deewiant> fizzie: 01g11g0{2u0}
14:22:53 <Deewiant> Where 01g and 11g are just the new offset
14:23:04 <fizzie> Don't you need -2 in u? Maybe I got the directions mixed, then.
14:23:11 <Deewiant> -2 goes the other way
14:23:49 <AnMaster> Deewiant, btw my { and } are very fast. Doing fast memcpy() to copy between SOSS and TOSS
14:24:13 <AnMaster> with some code to handle the zero filling of course
14:24:31 <Deewiant> Breaking the stack abstraction makes the instruction pointer cry :'-(
14:24:36 <AnMaster> Deewiant, this didn't affect mycology I remember, but some other app. Maybe it was fungot, maybe it was something else
14:24:36 <fungot> AnMaster: what's yours?
14:24:45 <AnMaster> Deewiant, err it is in the stack code
14:24:54 <AnMaster> static to stack.c
14:24:55 <AnMaster> duh
14:25:03 <AnMaster> that implements both stack and stack-stack
14:25:11 <AnMaster> Deewiant, so I don't see what you mean
14:25:29 <Deewiant> Yes you did or you wouldn't have rebuked it
14:25:50 <AnMaster> Deewiant, I see what you mean if I would have exposed this outside stack code
14:26:02 <AnMaster> but I have this in stack.h:
14:26:02 <AnMaster> bool stackstack_begin(struct s_instructionPointer * restrict ip,
14:26:03 <AnMaster> funge_cell count,
14:26:03 <AnMaster> const funge_vector * restrict storageOffset);
14:26:08 <AnMaster> bool stackstack_end(struct s_instructionPointer * restrict ip,
14:26:08 <AnMaster> funge_cell count);
14:26:10 <AnMaster> void stackstack_transfer(funge_cell count,
14:26:10 <AnMaster> funge_stack * restrict TOSS,
14:26:10 <AnMaster> funge_stack * restrict SOSS);
14:26:16 <fizzie> Deewiant: Oh, right, you're doing it *that* way. Right. You need -2 there if you enter the new values inside {}. Didn't think of just slurping the real old storage offset away with u, and letting the } get rid of all the cruft as a side effect. Nice.
14:26:31 <AnMaster> Deewiant, basically I don't break the abstraction there
14:27:01 <Deewiant> Well, those aren't exactly functions intrinsic to stacks :-P
14:27:43 <AnMaster> Deewiant, I have string push and pop for stacks too, and stack_push_vector, and stack_strlen (helps for STRN)
14:27:57 <Deewiant> :'-(
14:28:23 <AnMaster> Deewiant, internally many of them doesn't actually treat it as a stack, instead doing stuff like asserting that there is enough pre-allocated space on the stack and then just bulk copying
14:28:32 <AnMaster> asserting doesn't mean assert() here
14:28:40 <AnMaster> but rather stack_prealloc_space
14:29:09 <AnMaster> stack_prealloc_space(stack, len + 1);
14:29:09 <AnMaster> {
14:29:09 <AnMaster> const size_t top = stack->top + len;
14:29:09 <AnMaster> for (ssize_t i = len; i >= 0; i--)
14:29:09 <AnMaster> stack->entries[top - (size_t)i] = str[i];
14:29:10 <AnMaster> stack->top += len + 1;
14:29:12 <AnMaster> }
14:29:17 <AnMaster> the const thing there helps GCC optimise
14:29:18 <AnMaster> yeah
14:29:43 <AnMaster> I looked at the relevant asm code with and without that const
14:29:45 <Deewiant> I'm surprised it can't figure out that it's constant by itself
14:30:07 <AnMaster> Deewiant, it couldn't in 4.1.2 at least. Haven't checked since I upgraded the compiler
14:30:58 <AnMaster> Deewiant, basically I think the alias analysis had been hit by a thrown potion of confusion or something...
14:31:11 <AnMaster> even adding restrict to various places didn't help
14:31:12 <ais523> Deewiant: what is mycoedge?
14:31:12 <ais523> my copy of Mycology's very old, I should get a new one really
14:31:23 <AnMaster> ais523, not released I think, since CCBI fails it
14:31:29 <Deewiant> It's something I worked on for about 15 minutes and haven't bothered to finish
14:31:55 <ais523> that still doesn't explain what it is
14:31:58 <AnMaster> Deewiant, do you have a zero-copy STRN N?
14:31:58 <ais523> or will be, when it's finished
14:32:02 <AnMaster> ;P
14:32:16 <Deewiant> The point is to check that y always reports the tightest bounds for Funge-Space
14:32:32 <AnMaster> ais523, cfunge also fails it yes.
14:32:48 <Deewiant> Everything apart from hsfunge fails it, and that's unavailable anywhere
14:32:57 <AnMaster> Deewiant, pyfunge manages it iirc
14:33:04 <ais523> Deewiant: does y's report shrink if you space out the edges of funge-space?
14:33:06 <Deewiant> Oh, right, he said something like that
14:33:12 <AnMaster> Deewiant, also I may have an old copy of hsfunge around iirc
14:33:13 <AnMaster> not sure
14:33:14 <Deewiant> ais523: Not in most interps
14:33:20 <ais523> should it?
14:33:21 <Deewiant> Which was the whole point
14:33:22 <Deewiant> It should
14:33:26 <AnMaster> $ ls ~/funges/interpreters/hsfunge
14:33:26 <AnMaster> Eval.hs Fingerprints.hs FungeSpace.hs FungeVal.hs GetSysInfo.hs IP.hs Main.hs
14:33:27 <AnMaster> Deewiant, ^
14:33:31 <AnMaster> couldn't build it
14:33:36 <AnMaster> gave some error iirc
14:33:37 <fizzie> Even jitfunge has zero-copy STRN N.
14:33:46 <AnMaster> fizzie, iirc ccbi doesn't
14:33:55 <fizzie> Admittedly I don't much have a stack "abstraction" there.
14:33:56 <Deewiant> What is 'zero-copy STRN N'
14:34:08 <fizzie> Deewiant: Something that doesn't just do pop + strlen.
14:34:14 <AnMaster> Deewiant, as in do the length check on the stack, instead of popping, strlen and pushing back
14:34:28 <AnMaster> but zero-copy sounds a lot cooler ;P
14:34:32 <Deewiant> Oh, I probably don't do that
14:34:50 <Deewiant> I maintain the stack abstraction so that my instruction pointers may smile all day long
14:35:16 <AnMaster> Deewiant, you have push_vector though iirc
14:35:19 <AnMaster> don't you?
14:35:27 <Deewiant> It's a helper function separate from stack
14:35:30 <AnMaster> mhm
14:35:30 <Deewiant> Not in the same module
14:36:09 <AnMaster> Deewiant, also I remember a string pushing one
14:36:18 <Deewiant> Also a helper function
14:36:29 <AnMaster> anyway since string pushing is done so often you really gain a lot in mycology if you implement that as fast as possible
14:36:38 <Deewiant> Nothing in stack.d is aware of befunge except for the pop-zero-on-empty
14:37:04 <AnMaster> Deewiant, don't you have a clear function though?
14:37:18 <AnMaster> that sets top index to 0
14:37:43 <Deewiant> It's just pop(size)
14:37:48 <AnMaster> Deewiant, anyway I do abstractions where it is useful. That is against other code outside the stack module.
14:38:08 <AnMaster> Deewiant, that sounds like my stack_discard(stack, n)
14:38:14 <AnMaster> pop just pops one cell here
14:38:26 <fizzie> GLfunge98 borders, as reported by y, aren't really good either. They probably don't shrink, and they're rounded up to a multiple of 64 anyway, since the funge-space is a curious list of 64x64-sized blocks, with direct pointers to a 16x16 region of those blocks for a bit faster usage.
14:38:37 <AnMaster> Deewiant, btw does FPDP define that it will take two cells at all?
14:38:44 <Deewiant> Yes it does
14:38:48 <AnMaster> hrrm
14:38:56 <Deewiant> Or maybe not actually
14:39:10 <Deewiant> That might have been one where I had to check what RC/Funge does to figure out how it could possibly work :-P
14:39:12 <AnMaster> fizzie, that's weird
14:39:16 <ais523> isn't glfunge98 buggy in other ways?
14:39:18 <AnMaster> fizzie, some kind of octtree?
14:39:25 <AnMaster> or quadtree I guess
14:39:27 <AnMaster> since it is 2D
14:40:00 <fizzie> It's not really that either. It would be very very slow for those not-in-the-16*64-range coordinates.
14:40:04 <fizzie> And it's buggy in very many ways.
14:40:21 <Deewiant> It can't even load Mycology without crashing :-)
14:40:42 <fizzie> Yes, yes, well, I'll concentrate on jitfunge if I ever have time for befunge-implementing any more. :p
14:40:45 <AnMaster> Deewiant, not defined I think
14:40:50 <AnMaster> B(n -- n)Sin of double precision fp number
14:40:58 <AnMaster> that implies it could be one or two
14:41:12 <AnMaster> Deewiant, I might change it to be one in 64-bit cfunge
14:41:26 <AnMaster> Deewiant, it would make it faster in mycology I think ;P
14:41:33 <AnMaster> and it shouldn't break anything either
14:41:42 <AnMaster> since I follow the fingerprint spec
14:42:19 <AnMaster> Deewiant, right? ;P
14:42:26 <Deewiant> And it won't
14:42:35 <AnMaster> Deewiant, it wont' work?
14:42:39 <AnMaster> wont*
14:42:41 <Deewiant> Won't break anything
14:45:06 <Deewiant> Heh, slowdown.b98 takes a hello world to around 0.1s in CCBI
14:45:23 <lifthrasiir> Deewiant: seems to be found another bug in mycology... heh.
14:45:32 <Deewiant> lifthrasiir: Oh, which one?
14:45:34 <fizzie> That FPDP is almost like Java VM with double and long values; it also uses two slots in the constant table, and special instructions like dup2 -- "Duplicate the top one or two operand stack values" -- which is specified as "..., value2, value1 → ..., value2, value1, value2, value1" when values are "of category 1", and "..., value → ..., value, value" for category 2.
14:45:34 <AnMaster> lifthrasiir, details?
14:45:58 <AnMaster> fizzie, huh?
14:46:01 <AnMaster> heh
14:46:17 <AnMaster> Deewiant, how do you know how much to pop in FPDP then?
14:46:21 <AnMaster> I remember you mentioning this before
14:46:28 <AnMaster> when I talked about FPDP in efunge
14:46:35 <Deewiant> Bloody cfunge with its static array, being able to run a slowed-down helloworld in 0.01s
14:46:48 <Deewiant> AnMaster: Would I need to know how much to pop anywhere?
14:46:50 <AnMaster> which would be internally stored as a tagged tupple
14:46:52 <lifthrasiir> Deewiant, AnMaster: see line 381 (y=380 in funge space), w and < in above & below line should be aligned but they are not
14:47:12 <AnMaster> Deewiant, my dynamic funge space is rather fast too, I mean not as fast as the static area, but still quite fast.
14:47:26 <Deewiant> lifthrasiir: Right you are
14:47:28 <fizzie> You can always just I$ to discard a floating-point, no matter whether it's two stack cells or one.
14:47:30 <AnMaster> Deewiant, fungot routinely uses the dynamic area when running underload for example
14:47:30 <fungot> AnMaster: tk looks awful everywhere;. good scheme systems provide it ( and the numbers on the fields of the three very distinct concepts.
14:47:58 <Deewiant> AnMaster: Sure, but I suspect that that's the main reason for the difference; alternately it's y
14:47:59 <ais523> ^style
14:47:59 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft nethack pa speeches ss wp
14:48:19 <AnMaster> Deewiant, slowdown would move way outside the static area anyway
14:48:23 <AnMaster> I saw that when I profiled
14:48:27 <lifthrasiir> well, i was fixing TOYS fingerprint and touched the bug... :p
14:48:40 <Deewiant> AnMaster: Yes, but it needs to fill the original area with spaces
14:48:40 <AnMaster> Deewiant, and I'm trying to come up with a fast solution for the mycoedge case atm...
14:48:50 <fizzie> "irc" style is the default one, so the recent Freenode service-break made fungot reset back to that.
14:48:51 <fungot> fizzie: but that didn't have much prostitution in korea too. :p)), there are 66 addresses but some of those key srfi proposals in the same way as block wrt shadowing of return-from when you have sane values
14:48:57 <Deewiant> AnMaster: 9000-cell-loop, pushes thousands of cells on stack to set up a kp
14:49:00 <AnMaster> Deewiant, yes that would be rather fast. Is it slow under ccbi or something?
14:49:07 <Deewiant> AnMaster: Like said, 0.1s for a hello world
14:49:07 <AnMaster> Deewiant, "kp"?
14:49:13 <Deewiant> AnMaster: kp
14:50:06 <AnMaster> also 9000 cells. means around 35 kilobyte for 4-byte cells
14:50:07 <Deewiant> lifthrasiir: TOYS was a bit of a pain to test :-P
14:50:11 <AnMaster> or doube that for 8 byte variant
14:50:15 <AnMaster> double*
14:50:19 <AnMaster> Deewiant, that isn't a lot.
14:50:21 <AnMaster> really
14:50:31 <Deewiant> AnMaster: I wasn't talking about the stack space used
14:50:39 <AnMaster> Deewiant, nor was I
14:50:46 <AnMaster> I was talking about writing spaces to memory too
14:50:51 <Deewiant> AnMaster: I was rather thinking about how many iterations it takes to run through that
14:50:56 <AnMaster> funge space isn't on disk
14:51:01 <Deewiant> AnMaster: It's around 200k ticks
14:51:14 <Deewiant> 200k fetches from a hashmap take a while
14:51:32 <AnMaster> Deewiant, if you use the TOYS to memset() it could be very fast since it is implemented as a fast loop that uses "best possible cache locality order for cfunge static space"
14:51:51 <Deewiant> Yes, I was going to at first but then realized I don't need it
14:51:52 <AnMaster> :P
14:52:00 <Deewiant> I try not to depend on a fingerprint if I can help it
14:52:00 <AnMaster> Deewiant, well it would be even faster
14:52:07 <Deewiant> ............. It's called slowdown.b98
14:52:11 <Deewiant> It's not exactly supposed to be fast
14:52:11 <AnMaster> >"PXIF"4#^(>n2y8*2-2\R1-:+1+:D#v?>\D#v?>01p:11p 31g+12p 01g21g+02pv
14:52:14 <AnMaster> that looks like FIXP?
14:52:20 <Deewiant> No, I think it's NULL
14:52:24 <AnMaster> ...
14:52:31 <fizzie> Since it's slowdown.b98, why are you even using such a blazing-fast method as a kp loop? :p
14:52:43 <Deewiant> fizzie: Is there another way?
14:52:55 <Deewiant> That's the only thing that can overwrite itself
14:52:58 <AnMaster> Deewiant, manual >v style loop?
14:53:06 <Deewiant> AnMaster: Won't work, can't overwrite itself
14:53:10 <AnMaster> Deewiant, how do you set the delta then after it overwrote itself?
14:53:18 <Deewiant> I don't, the delta is correct
14:53:21 <AnMaster> oh
14:53:21 <ais523> fizzie: presumably to do self-overwriting in a few characters
14:53:24 <Deewiant> The kp is at (-2,0) and (-1,0)
14:53:35 <Deewiant> So it's heading east into (0,0) afterwards
14:53:56 <fizzie> It could still be a manual loop for clearing most of stuff with spaces, and then a kp for final cleanup. But I guess that won't really make much sense.
14:53:56 <AnMaster> Deewiant, anyway how do you make sure delta is correct on entry of program? Lets say it 0,0 in the program is a space
14:54:00 <Deewiant> I was going to use TRDS to set the tick count correctly as well to make it a completely transparent process but couldn't find a way
14:54:09 <AnMaster> you would need a > manually just outside
14:54:10 <Deewiant> Unfortunate, that would have been much cooler
14:54:12 <AnMaster> which would break things
14:54:26 <Deewiant> AnMaster: >kp before (0,0).
14:54:29 <AnMaster> Deewiant, aha
14:54:30 <AnMaster> right
14:54:30 <ais523> Deewiant: hah, that's genius
14:54:45 <AnMaster> Deewiant, so how much do you push on stack? 2*9000 cells?
14:54:51 <AnMaster> that is close to nothing for cfunge :P
14:55:01 <Deewiant> I don't know, let's check
14:55:10 <Deewiant> Fortunately I have a debugger for this kind of thing :-P
14:55:17 <AnMaster> Deewiant, ah that would slow me down ;P
14:55:27 <Deewiant> 9612 cells at tick 226223
14:55:29 <AnMaster> Deewiant, you know you can disable the tracing code at compile time in cfunge?
14:55:33 <AnMaster> right
14:55:40 <lifthrasiir> heh, it turns out that my problem (which caused the mycology bug in part) is writing "for x in xrange(size[1]-1, -1, -1):" as "for x in xrange(size[1], -1, -1):". what the heck.
14:56:07 <AnMaster> Deewiant, as for TRDS and tick count, cfunge doesn't even track the tick count
14:56:09 <AnMaster> why would it
14:56:11 <AnMaster> it would slow it down
14:56:24 <Deewiant> Statistics are fun
14:56:28 <Deewiant> But yes, if you want speed, then whatever
14:56:34 <Deewiant> It makes a difference though
14:56:43 <Deewiant> slowdown.b98 can't run mycotrds
14:56:45 <AnMaster> Deewiant, I actually did track it at one point when debugging to find out when something broke
14:56:46 <AnMaster> was way back
14:56:51 <AnMaster> like in the beginning
14:56:57 <AnMaster> then I ran ccbi's debugger to same tick count
14:57:14 <AnMaster> (worked well before y was called, not as good after)
14:57:16 <AnMaster> anyway it is simple
14:57:35 <AnMaster> volatile uint64_t tick = 0; And a tick++; in mainloop
14:57:43 <AnMaster> then just print tick in gdb
14:57:43 <Deewiant> volatile?
14:57:51 <Deewiant> Why that
14:57:53 <AnMaster> Deewiant, to prevent optimising it out...
14:58:03 <AnMaster> it could do that since the value was never read
14:58:05 <Deewiant> Oh right, you never use it
14:58:06 <Deewiant> :-P
14:58:13 <AnMaster> exactly
14:58:17 <Deewiant> You really should implement TRDS
14:58:24 <Deewiant> I estimate a 50% slowdown on all programs from that
14:58:24 <AnMaster> Deewiant, thanks but no
14:58:32 <AnMaster> and that is quite possible
14:58:38 <Deewiant> Well no, probably not
14:58:55 <AnMaster> Deewiant, no because I would have cfunge and cfunge.trds compiled with different defines then
14:58:59 <AnMaster> wait... I just got an idea
14:59:03 <Deewiant> It's a few branches for every instruction, the predictors in modern CPUs should be able to handle them
14:59:15 <Deewiant> Maybe not, in which case it might even be 50%
15:00:00 <AnMaster> installing cfunge.98.64 cfunge.98.32 cfunge.98.trace.32 cfunge.98.trace.64 and so on in libexec or something, then make cfunge a small wrapper that just selected which one to use
15:00:06 <AnMaster> probably would be slower though
15:00:10 <AnMaster> due to exec overhead
15:01:18 <AnMaster> Deewiant, about compiling out tracing out or not, there is a noticeable difference on my pentium3 for it, but none on my amd64, I guess it is due to branch prediction getting better
15:01:31 <Deewiant> lifthrasiir: New Mycology up
15:01:39 <lifthrasiir> thank you!
15:01:50 <AnMaster> Deewiant, what exactly does it change? I mean I saw a line number mentioned. But what test is it in?
15:01:53 <Deewiant> I didn't test it but they look aligned now :-P
15:02:25 <lifthrasiir> Deewiant: i feel i should make Funge-98 test suite test suite... XD
15:02:26 <Deewiant> AnMaster: If TOYS was broken some w's would end up where they shouldn't
15:02:32 <Deewiant> lifthrasiir: :-D
15:02:35 <AnMaster> ah
15:02:42 <AnMaster> well my TOYS should work correctly
15:02:57 <fizzie> Grown men, playing with their TOYS.
15:03:08 <AnMaster> lifthrasiir, I found a fair number of bugs in mycology while developing cfunge too
15:03:10 <AnMaster> just FYI
15:03:29 <Deewiant> And I found the most of all while developing CCBI ;-P
15:04:27 <Deewiant> I'm surprised at how unbuggy MycoTRDS turned out to be
15:04:43 <Deewiant> And fortunate ;-P
15:04:44 <lifthrasiir> heh,
15:04:52 <Deewiant> lifthrasiir: Planning on doing TRDS?
15:05:09 <lifthrasiir> yes, but not before 0.6.0
15:05:15 <Deewiant> Nice :-)
15:05:23 <Deewiant> Don't bash your head against the wall too much then
15:05:48 <AnMaster> lifthrasiir, I would recommend against it. It means changing the whole app probably
15:06:17 <Deewiant> He's just saying that because he's a speed freak
15:06:59 <fizzie> What, you mean he uses controlled substances?
15:07:13 <fizzie> "Like profilers and things like that."
15:07:20 <Deewiant> Indeed.
15:07:32 <AnMaster> haha
15:07:41 <fizzie> I'm not going to go the TRDS route in jitfunge, I presume.
15:07:48 <AnMaster> fizzie, kernel level whole system profilers even. Like oprofile
15:07:49 <AnMaster> :P
15:08:01 <ais523> has anyone tried to implement TRDS using continuations?
15:08:11 <ais523> and how easy would it be?
15:08:24 <Deewiant> I can hardly understand either
15:08:24 <AnMaster> ais523, does D support them? Or any other language ever used to write a funge98 in?
15:08:36 <AnMaster> Deewiant, either what?
15:08:40 <Deewiant> C supports them so why not D :-P
15:08:42 <AnMaster> oprofile and continuations?
15:08:45 <ais523> AnMaster: I don't think any of them do officially
15:08:49 <Deewiant> AnMaster: TRDS and continuations
15:08:51 <ais523> there are known hacks to simulate them in C
15:08:52 <AnMaster> ah
15:08:57 <AnMaster> Deewiant, what about oprofile then?
15:09:00 <AnMaster> do you understand it?
15:09:05 <Deewiant> I don't even know what it is
15:09:23 <Deewiant> Well, a 'kernel level whole system profiler'
15:09:39 <AnMaster> Deewiant, kernel level profiler with low overhead, because it uses data from the performance counter thingies found in many modern CPUs
15:09:52 <Deewiant> So what does a 'whole system profiler' do
15:09:59 <Deewiant> Profile every program in the system simultaneously?
15:10:05 <AnMaster> Deewiant, well it always end up profiling every program and the kernel yes
15:10:17 <AnMaster> you just have to select from the collected data the part you want
15:10:53 <Deewiant> Right
15:11:26 <AnMaster> Deewiant, the tools are fairly good but can be hard to use correctly
15:11:54 <AnMaster> like, if you wrote 500 instead of 5000 for collection rate for some counters you may end up needing to use the reset button
15:12:01 <Deewiant> :-P
15:12:04 -!- oerjan has joined.
15:12:08 <AnMaster> oerjan, hiwc
15:12:08 <AnMaster> err
15:12:11 <AnMaster> hick
15:12:26 <oerjan> ick? never heard of that webcomic
15:12:33 <AnMaster> oerjan, that is sv for en:hiccup
15:12:51 <ais523> I've heard of ick, don't think it's a webcomic yet though (that would be scary)
15:12:58 <AnMaster> ais523, augh
15:13:22 <AnMaster> hm
15:14:00 <AnMaster> Deewiant, when you decide to handle mycoedge correctly in ccbi, how will you do it?
15:14:17 <Deewiant> It's one of those things I'm not going to do in CCBI 1
15:14:26 <Deewiant> And I haven't thought about the details much
15:14:31 <AnMaster> Deewiant, I would suggest using a FPGA and CAM to accelerate funge space :D
15:14:36 <AnMaster> to find out the edges
15:14:41 <AnMaster> ;P
15:14:47 <Deewiant> AnMaster: Are you running things on the GPU yet?
15:14:54 <AnMaster> Deewiant, no, my GPU is too old
15:15:03 <AnMaster> also I don't think cfunge would benefit much from it
15:15:09 <AnMaster> not that type of processing
15:15:14 <Deewiant> Or maybe using MPI so you can have a Beowulf cluster running Mycology?
15:15:24 <ais523> haha
15:15:25 <AnMaster> Deewiant, again I think there will be a lot of overhead
15:15:33 <ais523> would that be faster or slower than just running it on one computer
15:15:33 <oerjan> ais523: hm now that + today's iwc makes me think of a cheesy cartoony INTERCAL tutorial featuring cthulhu and friends
15:15:43 <Deewiant> ais523: cfunge is so fast that it'd be a lot slower
15:15:47 <AnMaster> but if I get a dual core I may experiment with OpenMP for stuff like initial filling of funge space
15:15:54 <Deewiant> It'd be even slower than CCBI, probably
15:15:59 <AnMaster> like divide the loop over several CPUs, each filling it's own part
15:16:00 <AnMaster> Deewiant, ^
15:16:01 <Deewiant> Maybe even slower than Pyfunge O_o
15:16:37 <ais523> AnMaster: what about pushing some of the computation onto the GPU
15:16:59 <Deewiant> ais523: That's what I just asked :-P
15:17:05 <AnMaster> ais523, as I said above, my GPU is too old to be able to do it. Also that is best for branchless stream processing
15:17:09 <AnMaster> but funge is very "branchy"
15:17:17 <AnMaster> I mean interpreting it
15:17:30 <ais523> you could use the GPU to store funge-space
15:17:35 <ais523> and just use it for blitting, etc
15:17:49 <AnMaster> why would I need blitting funge space btw?
15:17:59 <AnMaster> some fingerprint I assume, But which?
15:18:44 <ais523> TOYS has a fungespace copy, doesn't it?
15:18:47 <fizzie> Yes.
15:19:09 <AnMaster> ais523, yes but that needs to deal with area outside the static area too
15:19:37 <AnMaster> basically the only very parallel part in cfunge is initial space filling of funge space, which with SIMD non-temporal stores is very fast anyway.
15:20:23 <AnMaster> hm
15:20:39 <AnMaster> so anyone have good suggestions for calculating exact funge space edges for y
15:20:53 <AnMaster> I would definitely cache result to begin with
15:21:01 <Deewiant> Why do you need to do initial space filling for a static array, can't you just use a private memory mapping?
15:21:04 <AnMaster> and invalidate cache on writing a space in an edge cell
15:21:36 <fizzie> Jitfunge could try to recognize pieces of code that people commonly use when they do image processing or DSP or stuff like that with Funge-98, and then attempt to auto-vectorize those with SIMD instructions. After all, Funge-98 is so common in the DSP and multimedia world, it would make sense.
15:21:37 <AnMaster> Deewiant, that comes zero filled, I did some experiments as ehird suggested by using everything offset by 32, but that turned out slower overall
15:21:49 <Deewiant> Oh wait, right
15:21:51 <AnMaster> fizzie, haha
15:21:53 <Deewiant> A file isn't square
15:21:55 <Deewiant> I forgot :-P
15:21:58 <AnMaster> Deewiant, that too
15:23:07 <AnMaster> fizzie, GCC 4.3 auto-vectorizes by default at -O3 anyway. In older 4.x you had to use -ftree-vectorize, 3.x didn't support it at all
15:23:24 <AnMaster> cfunge has long been optimised to allow as much vectorising as possible by both GCC and ICC
15:23:45 <AnMaster> there are probably more places that could be vectorised, but quite a few are already done
15:23:51 <AnMaster> for example the TOYS sum of stack one
15:23:59 <AnMaster> is transformed into some SSE thingy
15:24:56 <AnMaster> operating directly on stack (warning: TOYS and FRTH bypass the stack abstraction currently, there are comments about it, yes I know it isn't clean, I plan to move it into stack.c once I find a working API for the relevant operations that isn't too specific)
15:25:28 <AnMaster> hm
15:25:35 <AnMaster> about scanning edges...
15:26:04 <fizzie> Funny that the sum and stack ops do all elements, instead of taking a number of elements on top.
15:26:23 <AnMaster> what about scanning every row from the upper and lower edges for a non-space, then doing same for the left and right edges
15:26:26 <fizzie> s/stack/product/, s/ops/ops in TOYS/
15:26:33 <AnMaster> when the bounds need to be updated for y
15:27:10 <AnMaster> Deewiant, btw bashfunge wouldn't slow down because of your code (if it had implemented the needed 98 stuff at all), it had per-row and per-column ranges
15:27:17 <AnMaster> iirc
15:27:29 <AnMaster> on the other hand it was 93 + a few things from 98
15:27:34 <AnMaster> highly non-conforming
15:27:44 <AnMaster> it passed the 93 part, but not the 98 part
15:28:08 <oerjan> <Deewiant> The rationale is that it comes from Greek 'izare' (modulo the Latin alphabet) and is also pronounced like a z
15:28:08 <AnMaster> fizzie, hm maybe
15:28:27 <oerjan> i think that would be 'izein' or something like that, -are is just latin iiuc
15:28:49 <Deewiant> Quite possibly
15:28:58 <Deewiant> The key point is the z anyway ;-)
15:29:26 -!- neldoreth has joined.
15:29:29 <oerjan> No the key point is to nitpick.
15:30:36 <oerjan> http://www.myetymology.com/greek/-izein.html
15:30:59 <AnMaster> Deewiant, how much RAM do you have? if more than 65536 PB you could maybe make a 32-bit funge-space all static ;P
15:31:01 <AnMaster> ~
15:31:20 <Deewiant> Maybe!
15:31:23 <AnMaster> (is that even physically possible? I kind of loose the sense of numbers when it comes to large enough numbers...)
15:31:41 <AnMaster> wait
15:31:49 <AnMaster> it would be more than 64-bit could adress
15:31:56 <AnMaster> you would need an 128-bit computer I think
15:32:03 <AnMaster> yeah you would
15:32:34 <fizzie> A square with a side of 2^32 elements obviously has an area of 2^64 elements, so...
15:32:35 <AnMaster> oerjan, "iiuc"?
15:32:44 <ais523> if i understand correctly, is my guess
15:32:49 <AnMaster> as in "if I ? correctly"?
15:32:53 <AnMaster> ah
15:32:55 <AnMaster> understand
15:32:55 <AnMaster> right
15:33:07 <AnMaster> fizzie, yes
15:33:24 <AnMaster> fizzie, so physically impossible too I guess?
15:33:54 <fizzie> Well, I don't know about that. Certainly rather unlikely with current technology.
15:34:01 <ais523> 65536 doesn't strike me as beyond the realms of possibility
15:34:10 <ais523> although it would be a bit tricky with modern hardware, definitely
15:34:12 <ais523> *65536 PB
15:34:13 <AnMaster> ais523, in PB...
15:34:26 <ais523> the entire Internet comes to about 3 or 4 PB, apparently
15:34:32 <ais523> that's how big the Wayback Machine's archive is
15:34:37 <fizzie> Wikipedia has a "Petabytes in use" list in the Petabyte article.
15:34:37 <AnMaster> it is 2^32*2^32*4
15:34:39 <ais523> and it fits into one storage container
15:35:00 <ais523> I can certainly imagine 20000 or so of the things all containing data farms
15:35:04 <AnMaster> ais523, waybackmachine is far from complete
15:35:08 <ais523> AnMaster: well, yes
15:35:23 <ais523> anyway, I think that 65536 would be /possible/ with today's technology, just expensive
15:35:49 <AnMaster> ais523, also I think this set of data is infinite should waybackmachine be complete... it would need to crawl itself and crawl the crawls of itself and so on
15:35:51 <AnMaster> ;P
15:36:03 <ais523> nope, it's blocked by robots.txt, IIRC
15:36:12 <AnMaster> ais523, hah right
15:36:12 <ais523> and things that block wayback via robots.txt aren't wayback-archived
15:36:50 <fizzie> As for y, there's a tradeoff between border-shrinkup speed and speed in general. Unless you're willing to do more per-funge-space-write bookkeeping you probably can't do much better than a straight-forward scanning for non-whitespace. But you could do some sort of tricks like keep separate hashmap/static-array of "number of non-whitespace elements in a 256x256 block" counts, updated on every write, which would speed up border-scanning in the pathological case
15:36:51 <fizzie> s where they shrink very much.
15:37:02 <fizzie> Anyway, has to go work → home now, so away.
15:37:28 <ais523> you could keep a count of nonspaces in each row and each column
15:37:41 <ais523> that would make fungespace read and write O(1)
15:37:46 <ais523> whilst letting you know when to shrink
15:37:57 <AnMaster> fizzie, hm
15:38:46 <AnMaster> ais523, interesting idea...
15:39:07 <AnMaster> ais523, it should translate to a simple inc or dec most of the time, with a slight overhead at loading.
15:39:11 <ais523> yes
15:39:25 <ais523> you'll also need some memory to store the count in
15:39:35 <ais523> although an unsigned fungecelltype would be big enough
15:39:37 <AnMaster> well
15:40:18 <AnMaster> ais523, I optimise for speed rather than memory usage (though I try to keep memory usage down when possible, because that is usually faster)
15:40:56 <AnMaster> ais523, actually it wouldn't work outside static space, I would need two 2^32 arrays
15:41:03 <AnMaster> I don't have that much ram
15:41:27 <ais523> just use the same method as you use for fungespace
15:41:32 <AnMaster> and growing the array dynamically each time the bounds grow sounds like it could be bad
15:41:32 <AnMaster> hm
15:41:39 <ais523> static arrays for the middle, a hash elsewhere
15:41:42 <AnMaster> ais523, you mean hash outside the static area hm
15:41:43 <AnMaster> right
15:41:45 <AnMaster> that could work
15:42:40 <AnMaster> ais523, I need a different hash library though since the current one is special cased heavily for a specific data type (to speed it up)
15:42:51 <ais523> well, that probably isn't a problem
15:42:54 <AnMaster> well I can use same, but a different copy of it special-cased in another way
15:42:58 <AnMaster> :)
15:43:26 <AnMaster> ais523, I mean it can't store anything but funge cells, since they are inlined in the records themselves and such.
15:43:38 <AnMaster> (yes it was faster)
15:43:47 <AnMaster> (I profiled compared to having a pointer to the cell)
15:44:07 <AnMaster> also the records are allocated from a memory pool that gives out fixed size blocks
15:44:20 <AnMaster> anyway just compile it twice with different parameters heh
15:44:29 <AnMaster> or
15:44:30 <AnMaster> actually
15:46:29 <AnMaster> hm
15:46:36 <AnMaster> there is the hsearch stuff in libc too
15:47:08 <Deewiant> Haha 'I only use Gentoo with -fbroken-math, -fno-stack, and -finfinite-loops.'
15:47:26 <AnMaster> Deewiant, who?
15:47:31 <AnMaster> also that is a joke obviously
15:47:42 <ais523> what would -finfinite-loops do, anyway?
15:47:49 <ais523> the other two I can sort of guess
15:47:51 <Deewiant> It inlines finite loops
15:47:59 <ais523> heh
15:48:01 <AnMaster> I know a lot of sane gentoo users. It is just a urban myth that all would do like that. I know one single gentoo user that used to use risky CFLAGS...
15:48:14 <AnMaster> he stopped after a while
15:48:25 <Deewiant> I think omit-frame-pointer is risky :-P
15:48:28 <AnMaster> Deewiant, -march=k8-sse3 -pipe -O2 -g is what I use
15:48:34 <AnMaster> and I don't ever use omit-frame-pointer
15:48:45 <Deewiant> It's the default on gentoo though
15:48:48 <AnMaster> Deewiant, no
15:48:50 <Deewiant> Or was, at least
15:49:20 <AnMaster> Deewiant, I used gentoo since 2005, and it hasn't ever been default
15:49:37 <AnMaster> actually late 2004 even
15:49:42 <Deewiant> Hmm, maybe it was just a recommendation on the wiki for 'safe CFLAGS' or something
15:50:05 <AnMaster> Deewiant, yeah, but that wiki is edited by users, and not even an official gentoo project
15:50:16 <Deewiant> Yes, I'm aware
15:50:20 <AnMaster> it is good often yes, good howtos for many things
15:50:28 <Deewiant> Not anymore now that they lost their data
15:50:40 -!- neldoreth has quit (Read error: 104 (Connection reset by peer)).
15:50:47 -!- neldoreth has joined.
15:51:03 <AnMaster> Deewiant, archive exists and people are checking that the howtos aren't outdated (a lot were) and adding them back
15:51:09 <AnMaster> anyway on gcc 4.3 I would just recommend -O2 -march=native -pipe
15:51:16 <AnMaster> -pipe just makes gcc use less temp files
15:51:19 <ais523> Deewiant: why do you think omit-frame-pointer is risky? it's part of -O3, IIRC
15:51:21 <AnMaster> between preprocessor and such
15:51:25 <AnMaster> instead using pipes
15:51:27 <ais523> and the compiler doesn't do it in the situations it doesn't work
15:51:33 <ais523> it just makes debugging harder
15:51:40 <Deewiant> You never know when you want to debug
15:51:50 <AnMaster> which usually means around 5%-7% saved on compile time for large apps
15:52:13 <AnMaster> ais523, is it part of -O3? That sounds wrong
15:52:49 <AnMaster> maybe the omitting leaf frame pointer is default at -O3...
15:53:09 <AnMaster> (a separate, more conservative flag)
15:53:16 <Deewiant> Evidently it is part of -O3 on x86-64
15:53:18 <Deewiant> But not on x86
15:53:19 <ais523> AnMaster: -pipe will bork gcc /really/ badly on DOS
15:53:37 <AnMaster> ais523, ok maybe. But I recommend using it on all sane systems
15:53:43 <ais523> actually, I think DJGPP works around it, by running the processes one at a time and using temp files
15:53:53 <AnMaster> Deewiant, iirc it isn't needed really on x86_64
15:53:54 <ais523> either that, or it's simply turned off in the DOS version of gcc, that wouldn't surprise me
15:54:06 <AnMaster> Deewiant, btw it is _ not - iirc
15:54:26 <AnMaster> Linux tux.lan 2.6.27-gentoo-r8-1 #1 Sat Jan 31 04:55:36 CET 2009 x86_64 AMD Sempron(tm) Processor 3300+ AuthenticAMD GNU/Linux
15:54:27 <AnMaster> yep
15:54:34 <Deewiant> AnMaster: "It" is either AMD64 or Intel 64 these days
15:54:34 <AnMaster> I never seen it with a - instead of _
15:54:47 <AnMaster> Deewiant, yes AMD64 or IEMT64 or something
15:54:49 <Deewiant> And yet the Wikipedia article is called x86-64
15:54:52 <AnMaster> forgot what the intel called it
15:54:56 <AnMaster> s/the/
15:54:59 <Deewiant> AnMaster: Intel 64 these days, as I said.
15:55:02 <AnMaster> heh
15:55:08 <Deewiant> AnMaster: EM64T earlier.
15:55:12 <AnMaster> ah
15:55:15 <Deewiant> And IA-32e before that.
15:55:20 <AnMaster> ...
15:55:23 <AnMaster> that's silly
15:55:26 <AnMaster> IA-32e
15:55:26 <AnMaster> heh
15:55:59 <Deewiant> AMD's original designation for this processor architecture, "x86-64", is still sometimes used for this purpose, as is the variant "x86_64".
15:56:08 <Deewiant> x86-64 is /more/ correct.
15:56:28 <Deewiant> (If you define the ordering relation on correctness correctly.)
15:57:23 <AnMaster> Deewiant, Gentoo calls it amd64, gcc and other parts of toolchain calls it x86_64
15:57:38 <Deewiant> AMD64 I can understand, x86_64 I can't.
15:57:56 <Deewiant> Nor the banal x64.
15:58:05 <AnMaster> lrwxrwxrwx 1 root root 59 21 jul 2008 /etc/make.profile -> ../usr/portage/profiles/default/linux/amd64/2008.0/desktop
15:58:26 <AnMaster> Deewiant, that is microsoft making a mess
15:58:41 <Deewiant> It's other companies as well, might have started with MS though.
15:58:46 <AnMaster> microsoft invented "x64"
15:58:51 <AnMaster> Deewiant, oh?
15:58:59 <Deewiant> AnMaster: At least Sun uses it also.
15:59:02 <AnMaster> I guess it looks cooler
15:59:07 <AnMaster> and more markety
15:59:43 -!- neldoreth has quit ("leaving").
16:00:26 -!- neldoreth has joined.
16:01:24 <AnMaster> hm
16:01:39 <AnMaster> how is a struct that is passed by value passed on 32-bit x86=
16:01:39 <AnMaster> ?
16:01:48 <AnMaster> on stack right?
16:01:57 <AnMaster> And in registers for x86_64 right?
16:01:58 <ais523> depends on the compiler
16:02:02 <Deewiant> Beats me, I don't know the C calling conventions beyond integers
16:02:11 <Deewiant> And even those only for x86-64 :-P
16:02:15 <ais523> IIRC with the right compiler flags, gcc will pass it in a register if it fits, and on the stack otherwise
16:02:29 <AnMaster> ais523, lets say GCC with __attribute__((regparm(3)))
16:02:31 <AnMaster> :P
16:02:41 <ehird> 12:56 ais523: AnMaster: launchpad? ugh
16:02:41 <ehird> 12:57 AnMaster: ais523, good code hosting though
16:02:43 <ehird> 12:57 AnMaster: for bzr
16:02:45 <ehird> oh come on
16:02:46 <ais523> gcc-bf will pass it in registers if the total size of the arguments is 32 bytes or less
16:02:56 <ehird> you can't redeem launchpad with *bzr*, that's opposite world :-)
16:02:56 <AnMaster> ehird, since when do google code hosting have bzr?
16:03:11 <ais523> AnMaster: look up false dichotomy some time
16:03:16 <ehird> what ais523 said
16:03:21 <ehird> 11:39 AnMaster: ais523, btw is it vectorize or vectorise in UK English?
16:03:21 <ehird> 11:39 ais523: err... oh dear
16:03:24 <ehird> my thoughts exactly
16:03:25 <AnMaster> ais523, well bzr would be a hard requirement
16:03:27 <AnMaster> for me
16:03:39 <ais523> AnMaster: why not just get a webserver that runs bzr, and push there?
16:03:44 <ais523> that's the same way you host any other dvcs
16:03:54 <AnMaster> ais523, as I said there were data center issues. And that is what I used before
16:03:59 <ehird> (ais523: objection; i use github :-P)
16:04:01 <AnMaster> just temp using this way
16:04:22 <ais523> ehird: you know I don't agree with github's terms of use
16:04:29 <ehird> i think they fixed them
16:04:29 <ehird> maybe
16:04:32 <ehird> not sure
16:04:37 <ais523> am I the only person in the world who doesn't use a website due to not agreeing to its terms of service?
16:04:43 <ehird> but it doesn't change the fact that I do use it
16:04:46 <ais523> given that only about 5 people are likely to have read them?
16:04:52 <ehird> so "that's the same way you host any other dvcs" is wrong
16:04:53 <ais523> apparently there's another bug in them, not just the adblocker thing
16:04:57 <ehird> ais523: Oh?
16:04:59 <ehird> Like what?
16:05:03 <ehird> Are you sure you're not thinking of another site?
16:05:06 <ais523> I can't remember offhand, let me read them again
16:05:12 <ais523> it was on proggit a while back, though
16:05:18 <ehird> ais523: that was about sourceforge
16:05:19 <ehird> not github
16:05:23 <ais523> oh, maybe
16:05:25 <ehird> and that was wrong too, btw
16:05:27 <ais523> what was the bug there?
16:05:30 <ehird> it was only referring to non-code content
16:05:40 <ehird> ais523: "we, sourceforge, have an exclusive license to do what the fuck we want with your stuff"
16:05:45 <ehird> but it was only referring to non-code content you submit
16:06:07 <ais523> even so, people might want to store non-code stuff there
16:06:15 <ais523> and "exclusive"? that rules out pretty much all documentation licences
16:06:32 <ehird> sf is obsolete anyway
16:06:35 -!- neldoreth has quit ("leaving").
16:06:42 <ais523> hmm... github have the facebook bug
16:06:48 -!- neldoreth has joined.
16:06:49 <ehird> hm?
16:06:52 <ais523> where they can change the ToS without notice and you have to comply with the new ones
16:07:02 <ehird> ais523: that's not the "facebook bug"
16:07:05 <ehird> that's in every website tos ever
16:07:10 <ais523> well, yes
16:07:17 <ais523> but it became famous wrt facebook
16:07:17 <ehird> if you don't want to comply with the new terms, stop using the site
16:07:20 <ehird> simple enough
16:07:22 <ehird> not a bug
16:07:24 <AnMaster> IMO they should have to give you an advanced warning so you can pull your stuff if you disagree
16:07:33 <ais523> they can grab the copyright to your uploaded content, though, etc
16:07:36 <ehird> AnMaster: err... sourceforge do
16:07:41 <ehird> oh, you mean github?
16:07:45 <ehird> well, no
16:07:46 <AnMaster> ehird, I mean in general
16:07:52 <AnMaster> I know sf.net give advance warning yes
16:07:52 -!- BeholdMyGlory has joined.
16:07:54 <ehird> it's their right to put whatever terms they like
16:07:58 <AnMaster> but facebook didn't
16:08:01 <ehird> They would probably warn
16:08:05 <AnMaster> "<ais523> where they can change the ToS without notice and you have to comply with the new ones"
16:08:07 <ehird> but requiring a warning is dumb
16:08:08 <AnMaster> see the without notice bit
16:08:13 <AnMaster> that is what I'm talking about
16:08:18 <ehird> yes. you're wrong.
16:08:24 <ehird> (but that's never stopped you)
16:08:28 <AnMaster> ..
16:08:33 <AnMaster> it seems ais523 agreed with me here
16:08:47 <ehird> So?
16:08:50 <ehird> Doesn't stop it being wrong
16:08:57 <ais523> github also doesn't allow you to use significantly more than average bandwidth for their customers
16:09:00 <ais523> *users
16:09:07 <ais523> thinking about it: how many inactive accounts are there on github?
16:09:16 <ais523> quite possibly /all/ the active ones are using significantly more than average
16:09:28 <AnMaster> well you didn't say "<ehird> yes. you're wrong." to him. You were much ruder to me
16:09:34 <AnMaster> as usual
16:09:41 <ehird> AnMaster: because you're wrong far more often, and you always state it far more idiotically
16:09:53 <ehird> and, to boot, you irritate me greatly so if you feel offended that's great
16:10:33 <ais523> even wikidot, which is pretty awful, doesn't have that particular ToS bug: "Registered users will be presented with the changes, and the option of accepting the new Terms, or canceling their account, at their next authenticated visit to the Services. If you are a registered user and you choose to continue to use the Services, you agree to be bound by the new Terms."
16:12:20 <ais523> likewise, Google's terms of service (for Google Docs at least) state that the new terms are only binding on you if you continue to use the service about being notified of the change
16:12:28 <ais523> although strangely, if you want to cease to agree to their terms you have to do it in writing
16:13:35 <ais523> ehird and I are known to disagree a lot, but for some reason I don't annoy him all that much when I disagree with him
16:13:45 <ehird> ais523: you disagree with me in a less irritating fashion.
16:14:06 <AnMaster> yeah I wonder what is wrong with ehird...
16:14:26 <ehird> AnMaster: maybe something to do with the fact that you're an irritating idiot but I can't /ignore you lest I lose 50% of context in here.
16:14:54 <AnMaster> ehird, wait, didn't you mix up "you" and "I" there?
16:15:10 <ehird> I think you would be less irritating if you didn't make pathetic attempts at insulting humour
16:15:12 <AnMaster> actually no, you aren't an idiot, just annoying
16:15:20 <ais523> AnMaster: "I're an irritating idiot"? your grammar is slipping
16:15:45 <AnMaster> ais523, well of course the grammar would need fixup after replacing
16:15:58 <AnMaster> like 're to 'm and so on
16:16:30 <AnMaster> anyway I wouldn't call ehird an idiot. But annoying and over-reacting yes, as well ass rude and several other things.
16:16:34 <AnMaster> But not idiot.
16:16:40 <ehird> ass rude
16:16:41 <ehird> xD
16:16:45 <AnMaster> ah
16:16:54 <AnMaster> a typo that was indeed rather funny
16:16:59 <AnMaster> meant "as" of course
16:17:46 <ais523> why do people here think asses are intrinsically funny anyway?
16:18:11 <AnMaster> ais523, well donkeys do sound rather weird. Maybe because of that?
16:18:38 <ais523> "donkey" is funny, but "monkey" is funnier still
16:18:46 <ais523> based on the sounds of the words, nothing to do with meaning
16:18:55 <AnMaster> ais523, but ass isn't a synonym for "monkey"
16:19:29 <ais523> well, yes
16:19:33 <ais523> it also doesn't sound like "donkey"
16:19:37 <AnMaster> ais523, btw Swedish use one word for "monkey" and "ape", causing some issues when translating Discworld books
16:19:39 <AnMaster> rather funny
16:19:45 <ais523> ah, brilliant
16:19:50 <ais523> how do they get around the problem?
16:19:57 <ehird> monkey and ape same word? How creationist.
16:20:05 <AnMaster> ehird, both are "apa"
16:20:46 <AnMaster> ais523, using an older form of it, "apekatt", which sounds very out of place. So a very poor solution.
16:21:01 <AnMaster> and confusing, until I read the English books
16:21:16 <AnMaster> until I realised what the translator was trying to express
16:21:20 <AnMaster> err spelling?
16:22:48 <AnMaster> ais523, I have seen one case with a translators footnote basically saying "here I had to give up", think it was for Soul Music and the name of one of the main characters
16:22:53 * ehird helps friend install Ubuntu on a new laptop, remotely, via MSN
16:22:55 <AnMaster> was in*
16:22:56 <ehird> This will be *fun*
16:23:03 <AnMaster> via MSN
16:23:09 <ehird> Yes. Via MSN.
16:23:10 <Deewiant> "Insert CD, follow instructions, and you're done."
16:23:16 <ehird> Deewiant: Well, yes, that's what I'm hoping for.
16:23:25 <ehird> But you never know with the newfangled hardwares these days.
16:23:29 <AnMaster> ehird, does the CD have pigin or such? (or whatever the name currently is of that software)
16:23:34 <ehird> AnMaster: Yes.
16:23:50 <ehird> AnMaster: It has all the software that it has post-installation
16:24:04 <ais523> just it's slower before it's installed
16:24:09 <ais523> because it has to keep reading from the CD
16:24:09 <ehird> Well duh
16:25:30 <AnMaster> ais523, many livecds tend to use ramdisks?
16:25:42 <ehird> AnMaster: loading all the software into RAM?
16:25:43 <AnMaster> well mostly the minimal ones I guess
16:25:47 <ehird> It runs on low-RAM machines, you know.
16:26:07 <AnMaster> ehird, at least the gentoo minimal install cd (around 70-90 MB iso iirc) has such an option
16:26:13 <AnMaster> as a boot option that is
16:26:38 <AnMaster> along with the other ones like "noacpi" and such
16:26:57 <AnMaster> though it was a few years ago I last looked
16:27:00 <ehird> Actually the story _before_ this installation was more amusing.
16:27:06 <AnMaster> oh?
16:27:14 <ehird> His male parental overlord ... thinks he knows computers.
16:27:25 <ehird> WiFi routers are bad because people can steal your internet, and they give off cancer-causing radiation.
16:27:38 <ehird> Ubuntu and non-Norton virus scanners and Firefox are less secure and you should not use them.
16:27:43 <ehird> etc.
16:27:55 <ehird> You can infer the rest :-P
16:29:24 <ais523> well, people can steal your internet if the router isn't set up properly
16:29:30 <ais523> why is he being allowed to install ubuntu anyway?
16:29:38 <ais523> norton doesn't even run on it
16:29:45 <AnMaster> ais523, btw I begin with writing straight-forward possibly slow code when adding new features to cfunge, then profile and optimise. It makes it a lot easier to do it correct. And hopefully mentioning this reduces jokes about cfunge's speed...
16:30:05 <ehird> ais523: After a few days: "Well fine you can install it but i'm not happy about it"
16:30:11 <ehird> "Grumble grumble mumble etc"
16:30:24 <AnMaster> ehird, shared or own computer?
16:30:34 <ehird> AnMaster: he got this laptop a few days ago.
16:30:37 <AnMaster> mhm
16:33:29 -!- BeholdMyGlory has quit (Remote closed the connection).
16:33:50 <ehird> Ikea = awesome. This fact brought to you by ehird.
16:35:39 <AnMaster> ehird, why do you think they are awesome?
16:35:46 <ehird> I don't know. I just like the atmosphere :P
16:36:09 * ais523 tries to visualise a flat-packed IKEA, assembly required
16:36:19 <ais523> after all, prefabricated buildings aren't exactly unknown
16:36:29 <ehird> :-D
16:36:33 <AnMaster> ais523, you mean an IKEA store itself packaged like an IKEA thing?
16:36:35 <AnMaster> heh
16:36:48 <ehird> I love the bit behind all the actual on-display stuff
16:36:48 <AnMaster> ais523, might be rather... large?
16:36:52 <ehird> Where it's just racks and racks and cardboard boxes
16:36:56 <ais523> AnMaster: yep, you'd probably need a couple of lorries
16:36:57 <ehird> It's kind of surreal
16:37:05 <ehird> ais523: have you seen how huge IKEAs are?
16:37:05 <AnMaster> ehird, like any other IKEA store?
16:37:09 <ehird> they're ginormous!
16:37:10 <ehird> AnMaster: yes
16:37:17 <ehird> ais523: you'd need like 100 lorries
16:37:28 <ais523> ehird: they're mostly full of air, though
16:37:34 <ehird> True.
16:37:35 <ais523> I admit that the surface area of the walls would come to quite a bit
16:37:38 <ehird> Those ceilings are terribly high
16:37:51 <oerjan> AnMaster: "it's called cfunge because it's as slow as watching mushrooms grow"?
16:37:57 <AnMaster> ehird, IKEA also sells stuff which isn't flat packaged, like plates and glasses and such
16:38:05 <AnMaster> at least here in Sweden
16:38:07 <ehird> AnMaster: oh, I know that
16:38:20 <ehird> there's also a little shop at the entrance where they sell stuff from Sweden
16:38:35 <ehird> they have some nice biscuits I forget the name of
16:38:39 <AnMaster> but yeah IKEA usually means impossibly compactly packed with an allen wrench included
16:38:57 <AnMaster> <ehird> there's also a little shop at the entrance where they sell stuff from Sweden <-- never seen that...
16:39:06 <AnMaster> I guess it is non-Swedish IKEA only
16:39:19 <ehird> Well duh.
16:39:22 <AnMaster> yeah
16:39:32 <AnMaster> ehird, what are those small stores like?
16:39:39 <AnMaster> hm
16:39:52 <ehird> AnMaster: Sort of like... erm...
16:39:56 <ehird> I dunno.
16:40:01 <ehird> They're very small
16:40:03 <AnMaster> mhm
16:40:14 <AnMaster> that would be rather a contrast compared to IKEA itself
16:40:59 <ehird> Yes. It's like someone snuck it in through the entrance and fitted it on to the walls and everything is so far away from each other since IKEA is so big that nobody in charge has noticed yet.
16:41:07 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:41:18 <AnMaster> hm are IKEA over there more than one floor? Or Just one? Usually just one here in Sweden though I have seen some with more
16:41:34 <ehird> Just one massive floor.
16:41:38 <AnMaster> right
16:41:46 <ehird> Although considering how high the ceilings are you could fit about 5 more in.
16:41:47 <oerjan> the one in Trondheim is two.
16:42:08 <AnMaster> ehird, with a restaurant near the middle of the path you walk before reaching the box area?
16:42:15 <AnMaster> assuming they have same layout
16:42:18 <AnMaster> as the ones around here
16:42:23 <ehird> Er. I don't think so.
16:42:45 <AnMaster> where you have to walk something like a Hilbert space filling fractals with items on all sides
16:43:04 <oerjan> definitely like that here
16:43:11 <AnMaster> ah
16:43:18 <ehird> The box area is what I mentioned before.
16:43:22 <ehird> No recollection of a restaurnt.
16:43:50 <AnMaster> ehird, yes but there is more than the box area, an area before where you can look at items assembled and such
16:43:50 <ais523> I imagine not all IKEAs are identical
16:44:01 <ehird> ais523: it wouldn't surprise me
16:44:01 <AnMaster> ais523, true, but they have the same basic idea
16:44:09 <ehird> I imagine all Apple Stores are identical, for instance
16:44:11 <oerjan> ais523: i've heard nearly all IKEA's _are_ identical
16:44:12 <AnMaster> they vary a bit, but not that much
16:45:16 <AnMaster> one floor usually sometimes two, slightly different physical dimensions to fit into local geography, add a small "Swedish exotic store" if not located in Sweden (don't know about Norway, I would assume they don't have such stores there either oerjan?)
16:45:20 <oerjan> the ads they had here even said "remember to eat at the cafeteria"
16:45:20 <AnMaster> and such
16:45:34 <AnMaster> oerjan, that I haven't seen
16:46:02 <AnMaster> the one here have a combined restaurant/cafeteria indeed though
16:46:06 <AnMaster> has*
16:46:56 <ehird> Whee, he has managed to burn the CD correctly.
16:47:07 <ehird> Before that Windows decided to burn the ISO file as the single content of it.
16:47:13 <ehird> Thanks, Windows.
16:47:28 -!- FireFly has joined.
16:48:33 <oerjan> AnMaster: also, i think you can at least buy swedish food like kjöttbullar there, i didn't notice any specifically swedish store
16:49:04 <AnMaster> oerjan, that isn't Swedish. It is Norwegian. Swedes would never add that j
16:49:11 <AnMaster> ;P
16:49:12 <oerjan> of course this is Norway, where some people regularly take trips to sweden to buy things that are cheaper there
16:49:20 <oerjan> not? google failed me then
16:49:28 <AnMaster> oerjan, köttbullar
16:49:33 <ehird> oerjan: are fjords nice?
16:49:45 <AnMaster> yeah they are a Norwegian speciality!
16:49:48 <oerjan> somehow i googled kjöttbullar and got a hit
16:49:59 <oerjan> also new zealand i hear
16:50:07 <ehird> AnMaster: i think you should give slartibartfast more credit
16:50:12 <AnMaster> oerjan, err?
16:50:21 <AnMaster> they have fjords?
16:50:24 <oerjan> AnMaster: yes
16:50:28 <AnMaster> mhm
16:50:45 <AnMaster> ehird, I never was against giving him credit.
16:50:49 <AnMaster> where did you get that idea?
16:50:52 <oerjan> all you need for that are mountains and a previous glacial age, i presume
16:50:54 <ehird> you said Norweigan specialty
16:51:19 <oerjan> the norwegian specialty would be kjøttkaker
16:51:29 <AnMaster> ehird, well slartibartfast placed them in Norway obviously (I didn't know they existed in new zealand too at that point)
16:51:41 <oerjan> (kjøttboller exists too, but kjøttkaker is what was voted our national dish iirc)
16:51:45 <AnMaster> but couldn't they be the speciality of both Norway and slartibartfast
16:52:16 <AnMaster> oerjan, poor Norwegian vegetarians
16:52:23 <oerjan> indeed
16:52:35 * AnMaster wonders what the Swedish national dish is
16:52:40 <oerjan> norway is definitely not known for its veggie food
16:52:41 <AnMaster> do we even have one?
16:52:52 <FireFly> I can also æø
16:53:15 <AnMaster> FireFly, äö/æø would mean?
16:53:21 <FireFly> Well
16:53:22 <FireFly> As in
16:53:24 <ehird> Wow. His video card was supported out of the box. Full resolution.
16:53:30 <ehird> Luxury.
16:53:32 <AnMaster> ehird, what brand and model?
16:53:43 <oerjan> AnMaster: well köttbullar seems to get high on the list
16:53:45 <FireFly> I can also write the characters
16:53:46 <FireFly> I meant
16:53:48 <oerjan> http://wiki.answers.com/Q/What_are_Sweden's_national_foods
16:53:52 <AnMaster> anyway since it isn't debian but ubuntu I wouldn't be surprised ehird ;P
16:54:15 <ehird> AnMaster: http://www.samsung.com/uk/consumer/detail/spec.do?group=itbusiness&type=notebookcomputers&subtype=rseries&model_cd=NP-R610-FS03UK&fullspec=F, which says:
16:54:16 <ehird> NVIDIA GeForce Go 9200M GS (Dedicated Graphics)
16:54:17 <ehird> Intel® X4500 (Integrated Graphics)
16:54:22 <ehird> although I don't know which it is
16:54:37 <AnMaster> ah
16:54:45 <AnMaster> ehird, have him do lspci?
16:54:48 <AnMaster> actually forget that
16:54:53 <AnMaster> if he is not computer literate
16:54:55 <ehird> AnMaster: I think I'd rather not scare him off. :-)
16:55:45 <oerjan> hm wait i see claims norway's national dish is/was fårikål
16:55:55 <AnMaster> ehird, anyway nvidia drivers usually work almost out of box once they are compiled and installed. And Intel like Linux and contributed bug fixes to the open source drivers
16:56:01 <oerjan> ("sheep in cabbage")
16:56:02 <AnMaster> so I'm not really surprised for either case
16:56:58 <AnMaster> ehird, lucky it wasn't ATI/AMD graphics... Though even that is starting to get better slowly after AMD bought ATI
16:57:04 <ehird> Mm.
16:57:34 <oerjan> more humorously, in modern days it's Pizza Grandiosa (a norwegian shrink-wrap pizza)
16:57:58 <AnMaster> ehird, still nvidia-drivers tend to just work, issue is when they stop supporting some old card in new drivers and the last working driver ends up failing with newer kernels.
16:57:59 <AnMaster> :/
16:58:13 * AnMaster wonders how long his own 7600 will be supported
16:58:14 <ehird> Yeah but even with nvidia I have to let ubuntu asy "oh hai you need these drivers"
16:58:38 <AnMaster> ehird, hm ok, If 3D works I guess it is intel then
16:59:08 <oerjan> afk
17:06:06 <AnMaster> afk too
17:14:29 <ehird> <Friend's dad> Since Ubuntu is freeware it'll make money through advertising so you have to download an adware and spyware scanner
17:14:34 * ehird facepalm
17:16:10 <Robdgreat> oh brother
17:16:34 <Robdgreat> yes, open source spyware is very common. -_-
17:16:42 <ehird> Robdgreat: how else will ubuntu corporation make money duh
17:16:54 <Robdgreat> certainly not through support
17:16:55 <ais523> ehird: by being given it all for free by a rich millionaire
17:17:04 <ehird> ais523: ha ha nerds don't have money!
17:17:15 <ais523> the funny thing is that that /is/ the real method...
17:17:32 <ehird> hey, it works
17:29:00 <ehird> ais523: "rich millionaire"?
17:29:22 <ais523> well, millionaires aren't necessarily rich nowadays
17:29:24 <ais523> unfortunately
17:29:28 <AnMaster> wait
17:29:34 <ais523> many of them are just barely scraping by trying to live in London
17:29:42 <AnMaster> "so you have to download an adware and spyware scanner" <-- are those freeware ones since you can download them
17:29:47 <ehird> AnMaster: :-DDDDDDD
17:29:55 <ehird> this adware scanner is supported by ads!
17:30:07 <ais523> actually, many freeware programs pretending to be spyware scanners are themselves spyware
17:30:17 <AnMaster> yes I know, but I was trying to be funny there
17:30:23 <AnMaster> stop ruining the joke ais523
17:32:08 <ais523> that wasn't ruining the joke
17:32:13 <ais523> the joke had already happened
17:32:27 <ais523> also: "<ehird> AnMaster: :-DDDDDDD"
17:32:34 <ehird> oops
17:32:37 <ais523> ehird: is something wrong with you? You actually liked AnMaster's humour
17:32:42 <ehird> :x
17:33:03 * ais523 kicked ehird from #esoteric (obviously an imposter)
17:33:40 <AnMaster> ehird, anyway it should be interesting to watch the reactions if that dad of your friend was told this contradiction (first check he doesn't use shareware ones... just in case)
17:33:51 <ehird> AnMaster: I think that would be playing with fire
17:34:01 <ehird> AnMaster: But seriously, this guy likes *Norton*.
17:34:06 <ehird> That's McAffe, you know? Symantec?
17:34:11 <ehird> Worst virus scanner ever?
17:34:30 <ais523> I'm not sure it's the worst altogether, it has some pretty strong competition
17:34:30 <Deewiant> It was the best 20 years ago
17:34:32 <AnMaster> ehird, err isn't McAffe or whatever separate from the Symantec one?
17:34:36 <ehird> Well yeah
17:34:39 <ais523> but hooking into everything in the OS is pretty annoying
17:34:41 <Deewiant> And McAfee is different, yes
17:34:41 <ehird> Same company
17:34:45 <ais523> and putting toolbars on everything is pointless
17:34:51 <AnMaster> anyway, what would a good antivirus be on Windows? I have no clue
17:35:07 <ais523> also, did you know that Symantec have a downloadable program specifically to uninstall Norton
17:35:13 <ais523> because the packaged uninstaller doesn't work properly?
17:35:20 <AnMaster> heh that was news to me
17:35:22 <ais523> AnMaster: do you mean one that already exists, or in theory?
17:35:40 <ehird> AnMaster: Nod32, AVG.
17:35:41 <AnMaster> ais523, one existing that you could recommend to computer illiterates
17:35:43 <ais523> I rather like clamav, even if I only run it because the University wireless rules say you have to have a virus scanner
17:35:44 <AnMaster> mhm
17:35:57 <AnMaster> ehird, I ran into Panda once, it seemed just as bad as norton
17:35:59 <ais523> but I don't think there's a Windows one like it
17:36:02 <ehird> AnMaster: Panda?
17:36:10 <AnMaster> ehird, Panda Antivirus yes
17:36:11 <ehird> Ok.
17:36:17 <ehird> As far as firewalls go, Comodo is quite good.
17:36:21 <Deewiant> ClamAV is supposedly rather crap
17:36:21 <ais523> ehird: AVG is really self-centered, it pops up lots of useless dialog boxes about how great it is all the time
17:36:30 <ais523> Deewiant: its interface is good, though
17:36:33 <ehird> ais523: Yes, well, the actual virus checking is good
17:36:33 <AnMaster> ehird, personally I prefer pf, a pitty it doesn't exist for windows
17:36:40 <ehird> AnMaster: cygwin?
17:36:40 <AnMaster> or linux
17:36:44 <ehird> ah
17:36:45 <Deewiant> I don't really care about the interface when it comes to virus checkers :-P
17:36:51 <AnMaster> ehird, I doubt you could run pf on anything but *BSD
17:36:52 <ais523> Deewiant: anyway, does it matter, what would it be looking for anyway?
17:36:57 <ehird> nod32 is good, anyway
17:36:58 <AnMaster> too hooked into the BSD style kernels
17:37:01 <ehird> it's hand-coded entirely in asm
17:37:03 <ehird> all of it
17:37:06 <ehird> which is crazy
17:37:12 <ehird> and also it's quite expensive shareware
17:37:12 <ais523> ClamAV looks out for Windows viruses, and logic bombs like infinitely large zip files
17:37:18 <ehird> but its memory footprint is close to 0
17:37:19 <fizzie> F-Prot wasn't too shabby, back then.
17:37:23 <ehird> and its virus checking is excellent
17:37:30 <AnMaster> hm
17:37:48 <fizzie> F-Prot is what turned into F-Secure, I guess.
17:38:11 <AnMaster> what worries me is what would happen if Linux gets popular enough that it will become interesting for virus makers, yes there have been a few for it iirc but not really a lot
17:38:18 <FireFly> [18:36:48] <Deewiant> I don't really care about the interface when it comes to virus checkers :-P <-- Well, me neither, within certain bounds
17:38:24 <ehird> AnMaster: It has an OK security model built in.
17:38:31 <ehird> "Anti-viruses" are a laughable concept.
17:38:37 <AnMaster> ehird, yes true, but even so there have been bad things
17:38:40 <ehird> Why remove viruses when you can fix them>
17:38:46 <FireFly> For example, I dislike Norman Antivirus' interface
17:38:48 <AnMaster> ehird, vmsplice() to mention to last one
17:39:02 <AnMaster> ehird, hum?
17:39:15 <Deewiant> fizzie: F-Prot still exists.
17:39:23 <ehird> AnMaster: when you can fix the security issues that let them work
17:39:24 <Deewiant> It's just not F-Secure's F-Prot.
17:39:27 <fizzie> Deewiant: Yes, Google said so. How curious.
17:39:51 <Deewiant> fizzie: The F-Prot engine was always licensed from Iceland.
17:39:51 <fizzie> "F-Secure is historically related to FRISK Software International, a company based in Iceland, which publishes F-Prot antivirus. The original F-Prot conglomerate of Icelandic, Finnish and American computer antivirus researchers fell apart during the early 1990s and the resulting companies divided the global market."
17:39:53 <fizzie> Sounds messy.
17:40:16 <fizzie> Conglomerate is a fine word, though.
17:40:16 <AnMaster> anyone know a fast way to calculate if something is on the edge of a box? I'm looking for bithack style stuff in this case. I mean I know how to do it simple
17:40:22 <AnMaster> integer coords
17:41:48 <AnMaster> ehird, well you can still make a virus that manages to mess up the files of the user, which most users would probably consider rather bad.
17:41:57 <AnMaster> or equally bad even
17:42:02 <fizzie> Heh, the likelyhasbetween(x,m,n) macro in http://www-graphics.stanford.edu/~seander/bithacks.html#HasBetweenInWord is by mooz.
17:42:11 <ais523> likelyhasbetween?
17:42:26 <ehird> AnMaster: That's fixable by a capability-based security model.
17:42:34 <fizzie> ais523: "Determine if a word has a byte between m and n", but with a probability of false positives, so it's just useful for a pretest.
17:42:45 <ehird> AnMaster: Anyway, it'd be trivial to make one of those. Advertise new linux software, make the installer a bunch of nops and rm -rf ~
17:42:47 <AnMaster> fizzie, need more than byte range. 16 bit integer would work though
17:42:51 <ehird> But viruses generally aim for more.
17:43:16 <ais523> does anyone use likelyhasbetween, btw?
17:43:22 <ais523> I can't think of an obvious use-case for it
17:43:25 <AnMaster> ehird, well infect the user's shell ~/.bashrc and .xinitrc and so on
17:43:29 <AnMaster> and do other tricks
17:43:32 <AnMaster> might be possible
17:43:38 <ehird> ais523: strlen>?
17:43:39 <ais523> AnMaster: infecting bashrc would be ridiculous
17:43:43 <fizzie> ais523: It was designed for a real need, yes; I vaguely remember the conversation leading to it.
17:43:47 <ehird> read one word at a time, likelyhasbetween 0
17:43:49 <ais523> it would be easy to notice, possibly by accident
17:43:51 <ehird> if it does, then check it further
17:44:00 <ais523> ehird: I mean, why are you doing the check in the first place
17:44:04 <AnMaster> ais523, .xinitrc or some gnome/kde specific autoload stuff hidden somewhere
17:44:06 <AnMaster> or such
17:44:08 <ehird> ais523: ?
17:44:27 <ehird> oh, "Determine if a word has a zero byte "
17:45:06 <AnMaster> actually I'm not looking for if it is in the box fizzie, but *on* the edge.
17:45:08 <AnMaster> hm
17:45:21 <fizzie> ais523: Actually, come to think of it, it might've just been a further development of the "determine if a word has zero byte" solution.
17:46:40 <ais523> the bithacks page reminds me of INTERCAL
17:47:07 <ais523> I wonder what those would look like translated to the simplest equivalent INTERCAL expressions? Shorter or longer, I wonder?
17:47:26 <ehird> I ought to get me an editor with which to edit haskell.
17:47:46 <ais523> don't you have an emacs already?
17:47:52 <ehird> Yes.
17:49:26 <AnMaster> basically I'm looking for a faster way than:
17:49:28 <AnMaster> if ((x != fspace.bottomRightCorner.x)
17:49:28 <AnMaster> && (x != fspace.topLeftCorner.x)
17:49:28 <AnMaster> && (y != fspace.bottomRightCorner.y)
17:49:28 <AnMaster> && (y != fspace.topLeftCorner.y))
17:49:44 <AnMaster> (assuming that is correct, I haven't tested that well yet)
17:50:22 <ais523> replacing && with & may be faster, but the compiler can probably figure out that optimisation for itself
17:50:34 <AnMaster> ais523, hah. Yeah I assume it should
17:51:06 <ais523> are the fspace members volatile?
17:51:13 <ais523> if not, I really /hope/ it figures it out for itself
17:51:19 <AnMaster> ais523, they shouldn't be
17:51:43 <AnMaster> static struct fungeSpace fspace;
17:53:25 <ais523> if the definition of struct fungeSpace contains no volatiles, it should be able to work it out
17:53:33 <AnMaster> indeed it doesn't
17:53:39 <ais523> hmm... I might put & there rather than &&, anyway
17:53:47 <ais523> then to confuse people further, remove all the parens
17:53:55 <AnMaster> ais523, I would confuse myself
17:54:12 <fizzie> Um. That test certainly isn't a complete "is this on the box edge" test, but anything passing that definitely is *not* on the edge.
17:54:18 <AnMaster> I can never remember the precedence rules in C... for && and !=
17:54:20 <AnMaster> and ==
17:54:46 <AnMaster> fizzie, oh?
17:54:49 <ais523> fizzie: it's a test for "is inside the box not on the edge", assuming that there's nothing outside the box, which there isn't
17:55:02 <ais523> AnMaster: && is lower than ==
17:55:06 <AnMaster> there isn't anything outside indeed
17:55:06 <ais523> in fact, even & is lower than ==
17:55:20 <AnMaster> ais523, what about + then?
17:55:24 <AnMaster> 1 + 3 == 4?
17:55:54 <Deewiant> == is lower than all arithmetic
17:55:57 <AnMaster> mhm
17:55:59 <fizzie> Most of the precedence makes sense, the bitwise & and | are the strange ones.
17:56:07 <ais523> yep, but higher than the bitwises and logicals
17:56:08 <Deewiant> Is ^ in a different class from & and |?
17:56:15 <ais523> Deewiant: nope, it's between then IIRC
17:56:17 <ais523> *them
17:56:31 <ais523> but relative ordering of ^ to & and | I'm not entirely sure about
17:56:38 <Deewiant> Just wondering if 1 ^ 1 == 0 is true or not
17:56:50 <ais523> AnMaster: it's because && is a comparatively recent invention in the history of C
17:56:54 <Deewiant> Hm, actually that's true in either case isn't it
17:56:58 <Deewiant> But anyway
17:56:59 <ais523> for ages, & and | were all that existed
17:57:19 <AnMaster> ais523, um? And?
17:57:24 <fizzie> Deewiant: That's the illogical 1 ^ (1 == 0), yes. I just didn't bother mentioning it.
17:57:31 <ais523> AnMaster: that explains why their precedence is below =='s
17:57:45 <ais523> because people wanted to write x1 == x2 && y1 == y2, or whatever
17:57:46 <Deewiant> fizzie: Right.
17:57:50 <ais523> back then it was x1 == x2 & y1 == y2
17:57:58 <AnMaster> ais523, oh? Couldn't they have put it otherwise since && would have been invalid before, thus not existing in any code
17:57:58 <ais523> because there wasn't separate bitwise and relational and
17:58:16 <ais523> well, & was already below ==
17:58:27 <ais523> where are they going to put &&? Putting it above == would be ridiculous
17:58:36 <ais523> as people hardly ever use == to compare booleans, and doing so is bad practice
17:58:39 <AnMaster> well I don't know
17:59:13 <AnMaster> ais523, maybe in a compiler test suite? ;P
18:00:09 <fizzie> It's just that if you have "foo & 0xff == 0x23" it's obviously masking the lowest byte of foo and testing whether that's 0x23... except that ha!, it isn't; it is in fact foo & (0xff == 0x23), always false. Maybe something complains in that case, though.
18:00:38 <fizzie> "warning: suggest parentheses around comparison in operand of &" with -Wall, yes.
18:01:18 <AnMaster> (gdb) print cfun_static_use_count_row
18:01:18 <AnMaster> $1 = {0 <repeats 64 times>, 18446744073709551522, 18446744073709551474, 18446744073709551482, 18446744073709551491, 18446744073709551485, 18446744073709551490,
18:01:18 <AnMaster> 18446744073709551503, 18446744073709551502, 18446744073709551503, 18446744073709551507, 18446744073709551488, 18446744073709551498, 18446744073709551551,
18:01:22 <AnMaster> I don't believe that...
18:01:33 <AnMaster> wth was going on there
18:01:35 <ais523> looks like it's been decremented below 0
18:01:37 <ais523> and wrapped
18:01:43 <AnMaster> oh + and - confused
18:01:45 <AnMaster> duh
18:02:19 <AnMaster> $3 = {0 <repeats 64 times>, 94, 142, 134, 125, 131, 126, 113, 114, 113, 109, 128, 118, 65, 65, 71, 80, 70, 105, 79, 121, 132, 108, 120, 33, 84, 100, 127, 53, 33,
18:02:19 <AnMaster> 72, 31, 25, 20, 52, 65, 120, 76, 80, 96, 86, 75, 116, 108, 59, 113, 114, 91, 131, 88, 57, 115, 74, 104, 95, 79, 88, 69, 100, 96, 89, 108, 130, 130, 91, 21,
18:02:19 <AnMaster> 109, 115, 74, 72, 131, 119, 112, 112, 123, 92, 74, 106, 72, 60, 97, 115
18:02:25 <AnMaster> looks more sensible :)
18:04:17 <fizzie> Quite a large program, if there were 18446744073709551522 non-space elements on row 0.
18:05:14 <fizzie> Something like... 10 % larger than Mycology, eh?
18:05:22 <AnMaster> it was mycology
18:05:55 <AnMaster> the one I got from TRDS in CCBI. How it will look in 10 years
18:06:02 <AnMaster> when RCS defined lots of new fingerprints
18:06:12 <AnMaster> about 10% of which Deewiant bothered to test
18:06:24 <AnMaster> (the rest being crap or too badly defined)
18:06:39 <Deewiant> Just haven't had the time/will for somem
18:06:42 <Deewiant> s/.$//
18:06:57 <AnMaster> somem? sounds like RCS one indeed
18:06:57 <Deewiant> Some I did plain choose to ignore, yes
18:07:13 <AnMaster> related to memory management for *.so
18:07:29 -!- Slereah_ has joined.
18:08:03 <fizzie> There should be a UNIC fingerprint that would change the semantics so that you could use ↑↓←→ instead of ^v<>. :p
18:08:31 <AnMaster> it seems to match btw
18:08:51 <AnMaster> fizzie, heh. You couldn't load that from the file
18:08:56 <ehird> sure you could
18:08:57 <ehird> why not
18:08:58 <AnMaster> it would load into several cells
18:09:04 <ehird> are you sure?
18:09:08 <AnMaster> ehird, check how it is defined in Funge-98
18:09:10 <ehird> you could pretend they're chars 256
18:09:12 <ehird> or whatever
18:09:13 <ehird> *255
18:09:20 <ehird> that's spec compliant
18:09:37 <AnMaster> well I assumed using the same encoding as fizzie just sent
18:10:30 <fizzie> It wasn't so perfectly clear-cut in the spec; it explicitly allows that the funge character set can be big: "Funge-98 source files are made up of Funge characters. The Funge-98 character set overlays the ASCII subset used by Befunge-93 and may have characters greater than 127 present in it (and greater than 255 on systems where characters are stored in multiple bytes; but no greater than 2,147,483,647.)"
18:10:41 <AnMaster> "Funge-98 source files are made up of Funge characters. The Funge-98 character set overlays the ASCII subset used by Befunge-93 and may have characters greater than 127 present in it (and greater than 255 on systems where characters are stored in multiple bytes; but no greater than 2,147,483,647.)", ask Deewiant for the reasons why he consider it like I described
18:10:43 <AnMaster> he can describe it
18:10:49 <AnMaster> I can't be arsed to
18:11:17 <AnMaster> fizzie, damn you were 3 seconds faster there
18:11:20 <AnMaster> :/
18:11:32 <fizzie> I've already forgotten the "justification" too.
18:11:33 <Deewiant> I have since said that I'd consider UTF translation spec-compliant
18:11:37 <fizzie> Oh.
18:11:43 <AnMaster> why did you change
18:11:48 <AnMaster> new justification please Deewiant!
18:11:53 <Deewiant> I originally did that, then I didn't, then I thought about it more and realized that it's fine.
18:12:04 <AnMaster> you told me it wasn't fine before
18:12:14 <Deewiant> Yes, I did, but I've also told you that it is fine.
18:12:23 <fizzie> Deewiant: You're quite a waffler.
18:12:24 <AnMaster> Deewiant, why is it fine?
18:12:31 <AnMaster> waffler?
18:12:33 <Deewiant> You /do/ know that I've changed my mind, you've just forgotten.
18:12:39 <AnMaster> anyway it isn't like cfunge will handle utf-8 in source files, that requires too much processing!
18:12:40 <AnMaster> ;P
18:12:53 <AnMaster> Deewiant, details then
18:12:53 <fizzie> AnMaster: "N: One who waffles, from the verb waffle, meaning to never settle on a stance on one (or more) issue(s); A waffler usually goes from one side to the other and back again, usually multiple times, depending on who (s)he is talking to at the time. See also panderer." ← urban dictionary.
18:12:54 <Deewiant> Anyway, the reason is essentially that UTF is just an encoding for the underlying values
18:13:14 <Deewiant> You could just as well support loading gzip-compressed source without violating the spec.
18:13:16 <AnMaster> fizzie, mhm
18:13:52 <AnMaster> Deewiant, but EBCDIC would violate I think
18:13:56 <fizzie> Not (directly) related to the edible stuff.
18:14:05 <AnMaster> because values in the range 0-127 would have different values
18:14:06 <Deewiant> AnMaster: Unless you translate it to ASCII, yes.
18:14:16 <AnMaster> and "The Funge character set is 'display-independent.' That is to say, character #417 may look like a squiggle on system Foo and a happy face on system Bar, but the meaning is always the same to Funge, 'character #417', regardless of what it looks like."
18:14:21 <Deewiant> And I guess that can't really be done; I'm not sure.
18:15:24 <AnMaster> Deewiant, you could translate most of it to unicode I think
18:15:30 <AnMaster> not sure if all could be translated
18:15:42 <AnMaster> ais523, you know these things
18:15:45 <AnMaster> please tell us
18:15:47 <Deewiant> I think the problem would be more that you can't support the full Funge instruction set
18:15:59 <ais523> what's the argument about?
18:16:18 <AnMaster> ais523, is ASCII <-> EBCDIC lossy?
18:16:26 <AnMaster> in one or both directions?
18:16:31 <ais523> AnMaster: yes
18:16:31 <Deewiant> Yes, it is.
18:16:36 <ais523> ¬ isn't in ASCII, for one
18:16:37 <AnMaster> in both directions then? Right
18:16:41 <ais523> not all ASCII punctuation's in EBCDIC
18:16:47 <AnMaster> what about EBCDIC <-> Unicode?
18:16:47 <ais523> and EBCDIC has newline, carriage return, /and/ linefeed
18:16:50 <AnMaster> well
18:16:51 <AnMaster> yeah
18:16:54 <AnMaster> what about EBCDIC -> Unicode?
18:16:55 -!- Slereah has quit (Read error: 110 (Connection timed out)).
18:16:56 <ais523> which is a rather confusing combination
18:16:57 <AnMaster> the other is lossy yes
18:17:07 <Deewiant> ais523: The more interesting question is can EBCDIC encode Befunge?
18:17:13 <Deewiant> +whether
18:17:35 <AnMaster> Deewiant, no. It can't, since you need trigraphs or digraphs to write C on EBCDIC.
18:17:44 <AnMaster> meaning { and } doesn't exist I think
18:17:47 <fizzie> The character table at http://en.wikipedia.org/wiki/Ebcdic seemed to include all in funge-98 spec. But that might be a varianty.
18:18:11 <AnMaster> huh they are there
18:18:14 <Deewiant> "CCSID 500, one of the code page variants of EBCDIC"
18:18:16 <ais523> AnMaster: trigraphs aren't for ebcdic
18:18:19 <AnMaster> what encoding need digraphs
18:18:29 <ais523> AnMaster: encodings outside the ISO-guaranteed range
18:18:29 <AnMaster> ais523, what encoding are they for then?
18:18:33 <Deewiant> EBCDIC-500 evidently contains Latin-1.
18:18:33 <fizzie> "Unassigned codes are typically filled with international or region-specific characters in the various EBCDIC code page variants."
18:18:43 <AnMaster> I see
18:18:44 <fizzie> So it might not be so portable, anyway.
18:19:33 <fizzie> Also only those non-colorful-background characters are "common to all EBCDIC code pages".
18:19:53 <fizzie> Er, I mean the opposite, of course.
18:21:22 <fizzie> But if there's both | and ¦ (the "broken bar"), you could, as an extension, have ¦ act just like |, except with a small probability it'd pass right through it.
18:21:36 <ehird> :D
18:22:14 <AnMaster> fizzie, heh
18:22:15 <fizzie> ehird: http://www.cis.hut.fi/htkallas/box.html
18:22:35 <fizzie> (I wanteded to collect whatever I mentioned yesterday.)
18:22:37 <AnMaster> fizzie, complete font fail
18:22:53 <AnMaster> even in Dejavu
18:23:06 <Deewiant> DejaVu's Unicode support isn't /that/ good.
18:23:27 <AnMaster> Deewiant, true. But I don't have Bitstream Cybit or whatever the name was
18:23:51 <fizzie> I seem to be lacking just those two first hangul characters (curiously the U+3141 compatibility-range hangul mieum works), the square with contoured online, and katakana small ro; others work.
18:24:02 <fizzie> The situation was a lot worse at work.
18:24:09 <AnMaster> # U+2B1C WHITE LARGE SQUARE: ⬜
18:24:11 <AnMaster> anyone see it?
18:24:14 <AnMaster> I don't
18:24:15 <fizzie> I do.
18:24:19 <AnMaster> actually I see some of the ones before
18:24:24 <fizzie> It's a large, white square; you're not missing much.
18:24:26 <AnMaster> fizzie, take a screenshot then
18:24:30 <fizzie> Well, it's from a supplemental code block.
18:24:33 <AnMaster> # U+2B1E WHITE VERY SMALL SQUARE: ⬞
18:24:33 <AnMaster> # U+1D126 MUSICAL SYMBOL DRUM CLEF-2: 𝄦
18:24:33 <AnMaster> # U+1D146 MUSICAL SYMBOL SQUARE NOTEHEAD WHITE: 𝅆
18:24:33 <AnMaster> # U+1D15A MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE: 𝅚
18:24:36 <AnMaster> I don't see any of them either
18:24:42 <AnMaster> nor # U+23E2 WHITE TRAPEZIUM: ⏢
18:24:54 <Deewiant> Some are question marks, some are white-bordered rectangles
18:25:00 <AnMaster> # U+29E0 SQUARE WITH CONTOURED OUTLINE: ⧠ # U+2F1E KANGXI RADICAL ENCLOSURE: ⼞ # U+31FF KATAKANA LETTER SMALL RO: ㇿ are also missing
18:25:02 <Deewiant> Where the question mark is the Unicode replacement character
18:25:09 -!- Mony has joined.
18:25:31 <AnMaster> Deewiant, here the missing unicode shows up as [23<blur>2]
18:25:33 <AnMaster> and such
18:25:47 <AnMaster> or [01D146]
18:25:55 <AnMaster> that blur might be an E
18:25:57 <AnMaster> not sure
18:26:05 <AnMaster> oh yes
18:26:09 <Deewiant> AnMaster: They show up as boxes with the code point number in them in Firefox, but not in my terminal
18:26:10 <AnMaster> it is same as the codepoint
18:26:11 <AnMaster> duh
18:26:23 <AnMaster> Deewiant, they do in my terminal hm
18:26:30 <fizzie> AnMaster: http://zem.fi/~fis/box.png
18:26:33 <AnMaster> and in firefox yes
18:26:54 <AnMaster> # U+1106 HANGUL CHOSEONG MIEUM: ᄆ
18:26:55 <AnMaster> # U+11B7 HANGUL JONGSEONG MIEUM: ᆷ
18:26:59 <AnMaster> you are missing them?
18:27:01 <AnMaster> I can see them
18:27:07 <ehird> fizzie: ebest page ever
18:27:10 <AnMaster> small rectangles
18:27:15 <fizzie> Yes, as I said.
18:27:24 <fizzie> I've seen the Unicode reference pictures.
18:27:39 <AnMaster> fizzie, your rendering is missing # U+29E0 SQUARE WITH CONTOURED OUTLINE: ⧠ too
18:27:42 <ehird> Hrrm.
18:27:43 <fizzie> Quite many of those can be characterized as "small rectangles".
18:27:43 <AnMaster> so am I
18:27:46 <AnMaster> so I have no idea
18:27:52 <ehird> i think my left hand has rsi
18:27:52 <ehird> ow
18:27:55 <AnMaster> U+31FF KATAKANA LETTER SMALL RO: ㇿ too
18:27:59 <ehird> or carpel tunnel
18:27:59 <fizzie> AnMaster: I know. It's one of those supplemental code pages.
18:28:03 <ehird> or w/e
18:28:03 <AnMaster> ehird, ouch, you need to write less or something
18:28:11 <ehird> AnMaster: no -- i need to type *better*
18:28:15 <fizzie> AnMaster: That's just a smaller version of the large ro, or the halfwidth ro.
18:28:17 <AnMaster> fizzie, what is "supplemental code pages"?
18:28:18 <ehird> home row and whatnot
18:29:51 <fizzie> AnMaster: The unicode ranges have names; the U+29E0 square with contoured outline comes from "Miscellaneous Mathematical Symbols-B".
18:30:33 <fizzie> AnMaster: I'm missing almost all of them. I do have about half of the Miscellaneous Mathematical Symbols-A block. And all of the actual Mathematical Operators block.
18:31:59 <AnMaster> hm
18:32:17 <fizzie> Similarly my "Arrows" set is complete, and "Supplemental Arrows-A" too, and even "Supplemental Arrows-B", but a third of "Miscellaneous Symbols and Arrows" I don't have. The very small white square and large white square are from that block, but I do have those two.
18:33:03 <fizzie> "U+2B35 leftwards two-headed arrow with double vertical stroke" is missing, for example. I can't count the number of times I've tried to use that one, it's so common.
18:33:19 <AnMaster> http://http.netscape.com.edgesuite.net/pub/communicator/extras/fonts/windows/Cyberbit.ZIP <-- Bitstream Cyberbit, couldn't find it elsewhere, linked from wikipedia
18:33:41 <fizzie> "Leftwards arrow above reverse almost equal to", too.
18:34:38 <Deewiant> Hmmh, I saw a table of various-size NOP instructions in an AMD or Intel manual a few days ago but now I can't find it any more.
18:35:53 <AnMaster> Deewiant, well there are some better than others, for one byte xchg %ax,%ax is the canonical one iirc
18:36:05 <Deewiant> Yes, I know, but a manual had a table going up to something like 25
18:36:15 <AnMaster> Deewiant, point is the CPUs often special code them as NOPs so they can schedule better
18:36:17 <fizzie> How come that one-byte nop is "better" than the nop nop?
18:36:22 <Deewiant> AnMaster: I know this!
18:36:29 <AnMaster> fizzie, ?
18:36:31 <Deewiant> I'm looking for the table, not an explanation of what NOPs are
18:36:40 <Deewiant> fizzie: nop is an alias for that
18:36:44 <fizzie> Oh, okay.
18:36:52 <Deewiant> They compile to the same code
18:36:59 <AnMaster> The NOP instruction is an alias for XCHG rAX,rAX.
18:36:59 <fizzie> Right, right.
18:36:59 <AnMaster> Mnemonic Opcode Description
18:36:59 <AnMaster> NOP 90 Performs no operation.
18:37:01 <AnMaster> there is taht
18:37:08 <AnMaster> that*
18:37:16 <fizzie> Yes, I don't need it to be said twice. :p
18:37:30 <AnMaster> Programs written for the legacy x86 architecture commonly use opcode 90h (the XCHG EAX, EAX
18:37:30 <AnMaster> instruction) as a one-byte NOP. In 64-bit mode, the processor treats opcode 90h specially in order to
18:37:30 <AnMaster> preserve this legacy NOP use. Without special handling in 64-bit mode, the instruction would not be a
18:37:30 <AnMaster> true no-operation. Therefore, in 64-bit mode the processor treats XCHG EAX, EAX as a true NOP,
18:37:30 <AnMaster> regardless of operand size.
18:37:31 <AnMaster> heh?
18:37:32 <AnMaster> wow
18:37:38 <AnMaster> oh yes
18:37:47 <AnMaster> it would zero to upper 32 bits in 64 bit mode
18:37:48 <AnMaster> hah
18:37:58 <AnMaster> that's a crazy exception
18:38:02 <Deewiant> xchg zero-extends?
18:38:27 <AnMaster> Deewiant, any operation on 32-bit registers in 64-bit modes zero extends the full 64 bit register it is part of
18:38:29 <AnMaster> This special handling does not apply to the two-byte ModRM form of the XCHG instruction. Unless a
18:38:29 <AnMaster> 64-bit operand size is specified using a REX prefix byte, using the two byte form of XCHG to
18:38:30 <AnMaster> exchange a register with itself will not result in a no-operation because the default operation size is 32
18:38:30 <AnMaster> bits in 64-bit mode.
18:38:30 <AnMaster> wow
18:38:32 <AnMaster> (again)
18:38:53 <Deewiant> AnMaster: What?!
18:38:57 <Deewiant> Some of my code might be broken then :-P
18:39:00 <AnMaster> Deewiant, what do you mean "what?!"
18:39:04 <AnMaster> it is documented
18:39:14 <Deewiant> Are you saying that 'mov eax, eip' zeroes the upper bytes of rax
18:39:14 <AnMaster> Deewiant, well apart from the xchg exception
18:39:18 <Deewiant> Err
18:39:20 <Deewiant> Not eip
18:39:21 <Deewiant> But anyway
18:39:29 <AnMaster> Deewiant, I don't talk Intel syntax
18:39:30 <AnMaster> :P
18:39:36 <Deewiant> Gah
18:39:50 <Deewiant> AnMaster: mov %ebx, %eax zeroes upper 4 bytes of %rax?
18:39:57 <AnMaster> Deewiant, yes
18:40:03 <Deewiant> Meh, that sucks
18:40:04 <AnMaster> that is what I'm saying
18:40:55 <AnMaster> Deewiant, AMD docs, part 1 figure 3-4
18:41:13 <AnMaster> Deewiant, 16 bit or 8 bit usage doesn't zero extend
18:41:15 <AnMaster> but 32-bit does
18:41:22 <AnMaster> the former is for compat
18:41:26 <AnMaster> the second is a feature
18:41:34 <Deewiant> Silly feature
18:42:00 <AnMaster> Deewiant, xor %eax,%eax encodes as shorter ;P
18:42:11 <AnMaster> Deewiant, anyway, this is interesting. What are you doing?
18:42:33 <Deewiant> I thought you knew? I'm writing a DOBELA interpreter
18:42:44 <AnMaster> Deewiant, in asm?
18:42:48 <Deewiant> Yep
18:42:54 <AnMaster> also is DOBELA the "almost-tc" one?
18:42:59 <AnMaster> I don't remember
18:43:01 <Deewiant> Yep
18:43:10 <fizzie> The one with dots.
18:43:20 <AnMaster> going around from sources and such?
18:43:26 <AnMaster> oh no, not that one?
18:43:34 <AnMaster> bully automaton right?
18:43:45 <AnMaster> Deewiant, why in asm.
18:43:51 <ehird> http://esolangs.org/wiki/DOBELA
18:43:59 <AnMaster> Zero-Extension of 32-Bit Results. As Figure 3-3 on page 27 and Figure 3-4 on page 28 show, when
18:44:00 <AnMaster> performing 32-bit operations with a GPR destination in 64-bit mode, the processor zero-extends the
18:44:00 <AnMaster> 32-bit result into the full 64-bit destination. 8-bit and 16-bit operations on GPRs preserve all unwritten
18:44:00 <AnMaster> upper bits of the destination GPR. This is consistent with legacy 16-bit and 32-bit semantics for
18:44:00 <AnMaster> partial-width results.
18:44:02 <Deewiant> To learn it and because I think it's cool to have a program that depends on only the kernel
18:44:04 <AnMaster> and
18:44:05 <AnMaster> Software should explicitly sign-extend the results of 8-bit, 16-bit, and 32-bit operations to the full 64-
18:44:06 <AnMaster> bit width before using the results in 64-bit address calculations.
18:44:27 <Deewiant> AnMaster: You don't have to paste paragraphs of stuff from docs after having told me where it is
18:44:34 <AnMaster> Deewiant, you hard code x86_64 linux syscall numbers directly?!
18:44:39 <Deewiant> I read that three minutes ago
18:44:40 <AnMaster> Deewiant, oh ok
18:44:56 <Deewiant> AnMaster: Essentially, yes
18:45:02 <Deewiant> At the source level, they are named constants
18:45:07 <AnMaster> right
18:45:17 <Deewiant> And I have a script which parses them from sys/syscalls.h or whatever it's called
18:45:17 <AnMaster> Deewiant, doesn't linux use SYSCALL or something
18:45:20 <AnMaster> or is it SYSENTER?
18:45:23 <AnMaster> I forgot which
18:45:26 <Deewiant> It's all syscall
18:45:37 <AnMaster> Deewiant, what was SYSENTER for?
18:45:54 <Deewiant> I think it was AMD's version of syscall but I don't think anything uses it any more
18:46:05 * ais523 wonders if Enigma is TC using only objects preplaced on the level, no Lua scripting except to create it
18:46:14 <AnMaster> Deewiant, so they selected the intel one for use in AMD64?
18:46:17 <AnMaster> that sounds silly
18:46:43 <Deewiant> Well there's probably a reason why Intel thought sysenter was crap and rolled their own :-P
18:46:44 <AnMaster> ais523, does levels have a size limit?
18:46:54 <ais523> no, but it's constant for any given level
18:47:02 <ais523> my guess, btw, is it's not TC due to no infinite storage
18:47:04 <ais523> but only because of that
18:47:12 <AnMaster> ais523, go prove it then!
18:47:12 <Deewiant> Ah crap, I misremembered
18:47:17 <ais523> if you had an unlimited source of coins, you could do a Minsky machine using time
18:47:23 <AnMaster> Deewiant, oh?
18:47:25 <Deewiant> It wasn't a table of nops, it was a listing of ways of multiplying by constants
18:47:36 <Deewiant> Section 8.2 in AMD's optimization guide for family 10h
18:47:40 <AnMaster> Deewiant, how could you possibly confuse them?
18:47:49 <AnMaster> Deewiant, familiy 10h? Who cares
18:47:49 <Deewiant> My brain is lossy, unfortunately
18:47:52 <AnMaster> I'm on a k8
18:48:18 <AnMaster> ais523, can you tell me why http://esolangs.org/wiki/DOBELA loaded without any stylesheets or images?
18:48:20 <Deewiant> AnMaster: I refer to the newest docs in general.
18:48:26 <AnMaster> as in wikipedia-having issues style
18:48:30 <ais523> AnMaster: known MediaWiki caching bug
18:48:33 <ais523> try again and it'll work
18:48:36 <AnMaster> heh
18:48:37 <AnMaster> weird
18:48:48 <AnMaster> Deewiant, might break on older CPUs
18:48:53 <Deewiant> AnMaster: I don't give a crap
18:48:57 <oerjan> AnMaster: the wiki is so slow i want to hit it with the saucepan, might that have something to do with it? :/
18:49:02 <AnMaster> Deewiant, do you have a new enough one yourself?
18:49:05 <AnMaster> ;P
18:49:07 <Deewiant> If I can find an excuse to use SSE4.1 I will
18:49:13 <Deewiant> My CPU supports everything up to that, not SSE4.2 though
18:49:28 <Deewiant> And not AMD's 3DNow! stuff since it's Intel
18:49:39 <AnMaster> Deewiant, I would recommend using 3DNow! :P
18:49:44 <AnMaster> all relevant CPUs support it
18:49:48 <Deewiant> Was there anything useful in there that wasn't in SSE?
18:50:02 <AnMaster> Deewiant, some stuff related to matrix dot product iirc
18:50:09 <ehird> 3DNow! is an irritating name
18:50:10 <AnMaster> but I may misremember
18:50:26 <AnMaster> ehird, yes, like my sound card: "SoundBlaster Live! 5.1"
18:50:39 <AnMaster> ! in a name is irritating
18:50:46 <Deewiant> And anyway, I'm smart enough to realize when I'm using an instruction from an extension... I can read the newest docs anyway so that I can get an idea of what modern CPUs are good at
18:51:07 <Deewiant> But, anyway, I need a 2-byte NOP.
18:51:27 <Deewiant> Anything better than mov eax, eax?
18:51:37 <AnMaster> Deewiant, I tend to prefer C with bits of ASM in the most critical parts, and pure C fallbacks while waiting for someone with PowerPC to write an altivec version or such
18:51:49 <AnMaster> (and still pure C fallbacks after that)
18:52:29 <AnMaster> Deewiant, iirc gas' .align or .p2align inserts the best nops
18:52:35 <AnMaster> for the situation
18:52:44 <AnMaster> .p2align 4,,7
18:52:48 <AnMaster> what did that mean now again
18:52:50 <AnMaster> I forgot
18:53:05 <AnMaster> Deewiant, that is, if it is in a text section
18:53:09 <AnMaster> otherwise it inserts 0
18:53:18 <AnMaster> http://sourceware.org/binutils/docs/as/P2align.html
18:53:21 <Deewiant> I'm not using GAS
18:53:43 <AnMaster> Deewiant, well try it and see what it generates, then use that in your own asm?
18:53:45 <AnMaster> should work
18:56:03 <AnMaster> Deewiant, nopw %cs:0x0(%rax,%rax,1) is a rather interesting nop
18:56:07 <AnMaster> heh
18:56:19 <AnMaster> (what the hell does that do?)
18:56:47 <fizzie> Nothing, since it's a nop. :p
18:56:59 <fizzie> 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00. That's one long-ass instruction.
18:57:03 <AnMaster> fizzie, but what does "nopw" do?
18:57:11 <ehird> Long ass-instruction.
18:57:13 <AnMaster> fizzie, is that was it ends up as?
18:57:23 <AnMaster> ehird, stop copying xkcd
18:57:24 <AnMaster> ;P
18:57:29 <fizzie> Yes, objdumped a gas-generated nop that seemed to be just that particular one.
18:57:57 <ehird> Proposed new macro: a_nop_of_some_sort.
18:58:01 <ehird> Selects randomly at compile-time.
18:58:01 <AnMaster> ehird, you should do: <ehird> My hobby: Making the xkcd hobbies my own.
18:58:05 <ehird> For When You Just Don't Care (TM)
18:58:12 <ais523> maybe you should be able to ask for a NOP of a particular length
18:58:22 <ehird> 0 length nop:
18:58:25 <fizzie> Deewiant: This generates "xchg %ax,%ax" as a two-byte nop.
18:58:27 <AnMaster> 0x000000000040f122 <fungespace_create+18>: nopw %cs:0x0(%rax,%rax,1)
18:58:28 <AnMaster> 0x000000000040f130 <fungespace_create+32>: movntps %xmm0,0x632630(%rax)
18:58:31 <AnMaster> that seems long enough
18:58:33 -!- oerjan has quit ("Hits wiki with the saucepan and runs for the bus ===\___/").
18:58:42 <AnMaster> nice quit message
18:58:50 <fizzie> Deewiant: It's just the normal nop, but with that 16-bit width prefix.
18:58:56 * ehird hits bus with the wiki and runs for the saucepan
18:59:19 * ais523 hits saucepan with a bus and runs for the wiki
18:59:21 <ais523> actually, better not
18:59:21 <Deewiant> fizzie: And for four?
18:59:32 <ais523> that would probably dent the saucepan
18:59:46 <ais523> and we all know oerjan doesn't like his saucepan damaged
18:59:51 <fizzie> Deewiant: Uh...
18:59:54 <fizzie> 4: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
19:00:05 <fizzie> (That's with "objdump -M intel -d test.o".)
19:00:17 <ehird> Woot.
19:00:17 * AnMaster hits the saucepan with his fire poker and runs for the saucepan o=========E
19:00:19 <ehird> GTK on os x working nice
19:00:21 <AnMaster> err
19:00:28 <AnMaster> a very short run indeed
19:00:29 <ehird> AnMaster: WHAT ABOUT THE WIKI AND THE BUS
19:00:33 <ehird> wow
19:00:34 <ehird> that's funny
19:00:35 <ehird> o_O
19:00:38 <ais523> ehird: I thought you hated GTK
19:00:42 <AnMaster> ehird, I'm lazy, running for them would have taken a lot more work
19:00:42 <ehird> ais523: I do
19:00:43 <AnMaster> clearly
19:00:58 <ehird> dammit
19:01:01 <ehird> this is buggy
19:01:01 <ehird> :(
19:01:14 <Deewiant> fizzie: Hmmh, that's 3 bytes from fasm
19:01:17 <AnMaster> ehird, is it better than GTK under X on OS X though?
19:01:18 <AnMaster> y/n?
19:01:28 <ehird> AnMaster: Way more buggy, but I prefer i.
19:01:29 <ehird> t
19:01:31 <Deewiant> Or wait, is this doing some alignment of its own
19:01:41 <AnMaster> Deewiant, generate some in GAS and look for yourself
19:01:44 <AnMaster> easiest solution
19:01:48 <ehird> Maybe I'll try http://www.gtk-osx.org/
19:01:50 <Deewiant> I don't know how to use GAS
19:02:23 <ais523> / Provide alternate content for browsers that do not support scripting // or for those that have scripting disabled. This content requires the Adobe Flash Player. [[Get Flash]]
19:02:37 <fizzie> 2: 66 66 66 66 66 2e 0f nop WORD PTR cs:[rax+rax*1+0x0]
19:02:38 <fizzie> 9: 1f 84 00 00 00 00 00
19:02:40 <ais523> (text seen on www.cadence.com with JavaScript turned off, the site is a mess like that in other ways too)
19:02:52 <AnMaster> interesting
19:02:57 <fizzie> Really wonder what that does, since the opcode there is actually "nop" according to objdump-disassembly.
19:03:09 <AnMaster> when asked to align to 128 bytes it inserts a lot of 1 byte nops instead
19:03:11 <AnMaster> that's strange
19:03:12 <Deewiant> Oh, I need a 5-byte nop after all
19:03:57 <ais523> yearrgh, SystemC (which is actually a C++ library) uses overloaded << for sensitivity lists
19:04:04 <ais523> that was a bad idea even for iostreams
19:04:33 <ehird> but ze operator is pretty! ;_;
19:04:41 <AnMaster> <fizzie> 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00. That's one long-ass instruction. <-- that is nopw %cs:0x0(%rax,%rax,1) yes
19:04:44 <AnMaster> or nop WORD PTR cs:[rax+rax+0x0]
19:04:45 <fizzie> Deewiant: 3: 0f 1f 44 00 00 nop DWORD PTR [rax+rax*1+0x0]
19:05:03 <ais523> what's %rax anyway?
19:05:35 <AnMaster> 0f 2b 80 70 26 63 00
19:05:37 <AnMaster> isn't that nice
19:05:53 <Deewiant> I think fasm is optimizing away the +0
19:05:57 <AnMaster> thats movntps %xmm0,0x632670(%rax)
19:06:14 <fizzie> http://ref.x86asm.net/coder.html#x0F1F just lists "0f 1f" as a real nop.
19:06:17 <AnMaster> Deewiant, I don't even have fasm
19:06:24 <AnMaster> I have nasm, yasm and gas
19:06:30 <AnMaster> package manager doesn't have fasm
19:06:42 <AnMaster> ais523, you know what %eax is?
19:06:46 <ais523> yes
19:06:49 <ais523> 32-bit ax
19:06:54 <AnMaster> ais523, %rax is 64-bit ax
19:06:57 <ais523> I thought %qax was the 64-bit version
19:07:00 <AnMaster> no
19:07:04 <AnMaster> I never seen %q
19:07:10 <AnMaster> it is %r all the way
19:07:17 <ais523> well, I learnt x86 on DOS, with a 16-bit system
19:07:45 <AnMaster> and %r8..%r15
19:07:48 -!- kar8nga has joined.
19:08:01 <AnMaster> x86_64 is still register starved
19:08:02 <Deewiant> They should have added r16 as well
19:08:07 <AnMaster> Deewiant, why?
19:08:16 <Deewiant> rsp is like rip, you can't really use it for much
19:08:24 <AnMaster> Deewiant, I would prefer something more like ppc
19:08:29 <AnMaster> with lots of registers
19:08:38 <ais523> gcc-bf has 64 8-bit registers
19:08:50 <Deewiant> x86-64 has 8 or 16 128-bit registers though
19:08:57 <AnMaster> LLVM has 1024 registers
19:09:05 <AnMaster> possibly of your own size selection
19:09:09 <AnMaster> that is internally
19:09:55 <AnMaster> "PowerPC processors have 32 (32- or 64-bit) GPRs (General Purpose Registers) and various others such as the PC (Program Counter, also called the IAR/Instruction Address Register or NIP/Next Instruction Pointer), LR (link register), CR (condition register), etc. Some PowerPC CPUs also have 32 64-bit FPRs (floating point registers). "
19:09:56 <fizzie> Parrot has any number of registers you like. :p
19:10:05 <AnMaster> source: http://www.ibm.com/developerworks/library/l-ppc/
19:10:07 <ais523> parrot's an HLVM, though
19:10:17 <ais523> in fact, no reason a given compilation can't use both parrot /and/ llvm
19:10:26 <AnMaster> Deewiant, err x86_64 has 16 of them
19:10:28 <AnMaster> x86 may have 8
19:10:39 <Deewiant> AnMaster: SSE or SSE2 give the additional 8
19:10:42 <AnMaster> but x86_64 in 64-bit mode always have 16 SSE registers
19:10:42 <Deewiant> Can't remember which
19:10:48 <Deewiant> It doesn't have to
19:10:55 <AnMaster> Deewiant, err on x86_64 it has to
19:11:05 <Deewiant> You can have an x86-64 processor which doesn't support SSE
19:11:12 <AnMaster> Deewiant, check docs?
19:11:35 <fizzie> "The x86-64 extensions from AMD (originally called AMD64) and later duplicated by Intel add a further eight registers XMM8 through XMM15." Of course a quotation from Real Docs would be better.
19:11:39 <Deewiant> If you're right then it's all the better
19:11:51 <Deewiant> Why are you complaining about registers if you have 16 128-bit ones? :-P
19:11:52 <AnMaster> fizzie, I remember reading something like that yes
19:11:59 <AnMaster> Deewiant, because they aren't GPR
19:12:03 <AnMaster> they are SIMD
19:12:08 <AnMaster> I can't do GPR stuff on them
19:12:14 <Deewiant> You can put stuff there instead of in memory
19:12:22 <Deewiant> And it'll be faaaaaaster
19:12:34 <AnMaster> Deewiant, yes but you can't easily do all the types of operations in them
19:12:41 <Deewiant> Although I'm not actually sure wrt L1 cache whether it's faster to push/pop or movd/movd
19:12:42 <AnMaster> it is very good for stream processing yes
19:12:44 <fizzie> I would prefer SPARC's register windows, at least they're not just boring simple registers that just stand there twiddling their thumbs (do registers have thumbs?) and do nothing.
19:13:07 <Deewiant> If push puts something in L1 it might be faster than moving to an XMM register
19:13:11 <Deewiant> And likewise for pop
19:13:12 <AnMaster> Deewiant, check AMD's optimising guide as well as the intel one
19:13:17 <Deewiant> For what
19:13:19 <AnMaster> usually prefer the AMD ones
19:13:26 <Deewiant> I know that push has a lower latency
19:13:28 <AnMaster> Deewiant, I think I remember reading about push/pop vs. mov there
19:13:41 <AnMaster> Deewiant, mov was better for scheduler or something
19:13:43 <AnMaster> iirc
19:13:43 <Deewiant> vs. mov sure, but what about vs. XMM mov
19:13:47 <Deewiant> movd and movq and whatnot
19:13:48 <AnMaster> ah
19:13:52 <AnMaster> right
19:14:16 <Deewiant> I'm talking about moving between GPR and secondary storage, where the latter is either the stack or an XMM register
19:14:29 <ais523> wow, the licence on the SystemC standard is really strange
19:14:36 <ais523> you can download it for free, but only once
19:14:42 <ais523> and you can only keep one copy
19:14:50 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
19:14:55 <AnMaster> Deewiant, CVTTPS2PI you PFRSQIT1 of a CVTTPS2DQ!
19:14:56 <AnMaster> ;P
19:14:59 -!- Mony has quit ("Quit").
19:15:16 <AnMaster> all real MMX and SSE instructions yes
19:15:24 <AnMaster> maybe SSE2 or SSE3, unsure
19:15:25 <Deewiant> Looks like floating-point stuff
19:15:25 <fizzie> ais523: You can print your own copy of the Java VM specification, but only once. Better not lose the papers!
19:15:33 <ais523> fizzie: yep, same rule on printing
19:15:36 <ais523> you can only print your copy once
19:15:40 <AnMaster> Deewiant, I just selected some cryptic names from AMD docs
19:15:43 * AnMaster checks what they do
19:15:49 <ais523> what a really strange rule, I don't see what its purpose is
19:16:22 -!- kar8nga has joined.
19:16:37 <fizzie> "You may print this book once. For the complete copyright notice, see [Copyright]." Then the copyright notice says absolutely nothing about printing.
19:17:07 <AnMaster> Deewiant, CVTTPS2PI (Convert Packed Single-Precision Floating-Point to Packed Doubleword Integers, Truncated) you PFRSQIT1 (Packed Floating-Point Reciprocal Square Root Iteration 1) of a CVTTPS2DQ (Convert Packed Single-Precision Floating-Point to Packed Doubleword Integers, Truncated)!
19:17:08 <ais523> well, in the case of the IEEE SystemC standard, they had a rather scary-looking EULA
19:17:10 <AnMaster> lol
19:17:10 <ais523> before download
19:17:23 <Deewiant> AnMaster: Toldya it was floating point
19:17:29 <AnMaster> Deewiant, yeah
19:17:33 <AnMaster> but crazy instructions
19:18:04 <AnMaster> Deewiant, PFRSQIT1 is 3DNow btw
19:18:24 <fizzie> AltiVec has 32 of those 128-bit registers.
19:18:36 <AnMaster> fizzie, cool
19:18:48 <AnMaster> a lot better than x86_64 as usual
19:18:54 <fizzie> But you can't move from scalar registers to altivec regs, just load/store in a RISCy way.
19:18:55 <AnMaster> I really don't see why Apple went Intel
19:18:56 <AnMaster> :/
19:19:05 <AnMaster> fizzie, ok that is a downside
19:19:18 <Deewiant> Because people don't write asm, compilers do, and x86-64 happens to be more performant than PPC :-P
19:19:44 <Deewiant> At least, that's my suspicion. There could be some non-technical reasons as well.
19:19:50 <fizzie> Also it is a "business decision", which... right.
19:19:51 <AnMaster> Deewiant, PPC had atomic load-link-store thingies iirc
19:20:11 <AnMaster> or has rather
19:20:42 <lifthrasiir> current pyfunge (rev 1cde4290a9e6) got no BAD from mycology... first ever! ;)
19:20:58 <ais523> yay
19:21:05 <ais523> any dubious UNDEFs?
19:22:47 <AnMaster> heh
19:23:26 <lifthrasiir> ais523: maybe none, i manually checked the output and cannot find any supicious things
19:23:42 <lifthrasiir> suspicious*
19:27:35 <AnMaster> lifthrasiir, what about mycouser.b98?
19:27:45 -!- neldoreth has quit ("leaving").
19:28:06 <AnMaster> lifthrasiir, check also echo -e "a9b" | ./pyfunge mycouser.b98 and such
19:28:07 <AnMaster> oh and
19:28:13 -!- neldoreth has joined.
19:28:15 <AnMaster> echo -e "a9" | ./pyfunge mycouser.b98
19:28:19 <AnMaster> to check what happens on EOF
19:28:20 <AnMaster> and so on
19:28:29 <AnMaster> lifthrasiir, make sure that all works
19:28:38 <AnMaster> it can take some time to get it right
19:28:59 <AnMaster> lifthrasiir, and - is ignored on input or should be iirc
19:29:07 <AnMaster> as in it is treated non-numeric
19:29:12 <AnMaster> Deewiant, that is right isn't it?
19:29:22 <lifthrasiir> while testing other code i knew pyfunge sometimes ignore EOF... i'll fix it.
19:29:30 <Deewiant> Yeah, sounds about right
19:29:33 <lifthrasiir> btw really? hmm.
19:29:54 <fizzie> "Decimal input reads and discards characters until it encounters decimal digit characters, at which point it reads a decimal number from those digits, up until (but not including) the point at which input characters stop being digits, or the point where the next digit would cause a cell overflow, whichever comes first."
19:29:57 <fizzie> And - is not a digit.
19:30:04 <AnMaster> lifthrasiir, all input should share one buffer too
19:30:28 <AnMaster> from readme in cfunge:
19:30:29 <AnMaster> * Standard input is read one line at a time and buffered internally. Those
19:30:30 <AnMaster> instructions reading chars fetch one char from this buffer, leaving the rest
19:30:30 <AnMaster> (if any) including any ending newline. Instructions reading an integer will
19:30:30 <AnMaster> leave anything after the integer in the buffer with one exception: if the
19:30:30 <AnMaster> next char is a newline it will be discarded.
19:30:50 <AnMaster> Deewiant, that sounds right to you?
19:30:57 <AnMaster> it may be out of date btw
19:30:59 <Deewiant> Yeah, sounds about right
19:31:14 <AnMaster> lifthrasiir, input from STRN also fetch from same buffer
19:31:27 <fizzie> What's that newline-discarding exception about?
19:31:28 <AnMaster> same for BASE too
19:31:34 <AnMaster> fizzie, don't remember.
19:31:48 <AnMaster> I think I basically checked what ccbi --help or whatever said and did the same
19:32:01 <fizzie> Deewiant: Heh, you're a de-facto standard.
19:32:03 <AnMaster> because it was a pain to get it right with the standard
19:32:14 <Deewiant> fizzie: I know. :-)
19:32:35 <AnMaster> fizzie, that was true for many RCS fingerprints too, I mean I even looked at RCS source sometimes, but CCBI sources were much cleaner
19:32:42 <AnMaster> so usually I preferred that
19:32:47 <fizzie> Deewiant: If you'd define 22+ to leave 5 on the stack, half of the world's interpreters would follow.
19:32:55 <Deewiant> :-)
19:33:01 <AnMaster> Deewiant, now we are only missing the !Befunge author
19:33:15 <Deewiant> From what
19:33:17 <AnMaster> fizzie, no I would report it as a bug in mycology and/or ccbi
19:33:20 <Deewiant> There are other interpreters as well
19:33:42 <AnMaster> Deewiant, oh true. I mean him to email you about how he just found mycology
19:33:45 -!- tombom has quit ("Peace and Protection 4.22.2").
19:34:00 <AnMaster> like Mike Riley and now lifthrasiir did
19:34:09 <lifthrasiir> ;)
19:34:10 <Deewiant> And Jerome
19:34:16 <AnMaster> Deewiant, Jerome was?
19:34:17 <AnMaster> ??
19:34:22 <Deewiant> Why doesn't Language::Befunge get any love here? :-P
19:34:24 <AnMaster> ah
19:34:26 <Deewiant> People always forget about it
19:34:29 <ais523> Deewiant: I don't
19:34:32 <ehird> !Befunge is being revived?
19:34:32 <AnMaster> Deewiant, because it has a hard to remember name
19:34:33 <ehird> Awesome!
19:34:36 <ehird> I wanted that!
19:34:37 <AnMaster> ehird, no
19:34:38 <lifthrasiir> well i have only one input buffer from pyfunge.platform, so it should not be a problem... right?
19:34:41 <ehird> dammit
19:34:43 <Deewiant> AnMaster: 'jqbf' then
19:34:45 <AnMaster> ehird, I just said that was all that was missing
19:34:49 <AnMaster> Deewiant, even harder
19:34:50 <ais523> ehird: why did you like !Befunge in particular?
19:34:53 <Deewiant> ehird: If you want it so much, email him
19:34:55 <Deewiant> ais523: RISC OS?
19:34:58 <ehird> 19:33 AnMaster: Deewiant, oh true. I mean him to email you about how he just found mycology
19:35:01 <AnMaster> Deewiant, also jerome hasn't been in here has he?
19:35:11 <Deewiant> ehird: Read the context
19:35:21 <Deewiant> AnMaster: No, I don't think so. Not sure though.
19:35:22 <ehird> I did
19:35:23 <AnMaster> ehird, you have a 1-line scrollback? ~~
19:35:26 <ehird> It still doesn't make any sense
19:35:31 <ehird> Was it meant to be a joke?
19:35:37 <AnMaster> ehird, ... it makes perfect sense.
19:35:42 <Deewiant> What doesn't make sense?
19:36:01 <ehird> Deewiant: <AnMaster> !Befunge author saw mycology! <ehird> Really? <AnMaster> No! Duh!
19:36:06 <fizzie> Haha: "-- I think AnMaster trusts CCBI a bit more than he should --"
19:36:10 <Deewiant> ehird: That's not what he said.
19:36:18 <AnMaster> ehird, you misquoted
19:36:24 <Deewiant> fizzie: De-facto standard, like you said. :-P
19:36:25 <ehird> ... no i didn't?
19:36:28 <AnMaster> <AnMaster> Deewiant, now we are only missing the !Befunge author
19:36:30 <AnMaster> <Deewiant> There are other interpreters as well
19:36:33 <AnMaster> <AnMaster> Deewiant, oh true. I mean him to email you about how he just found mycology
19:36:40 <AnMaster> ehird, how doesn't that make sense
19:36:49 <ehird> AnMaster: because you then go on to deny that the !befunge author found mycology
19:36:55 <AnMaster> ehird, no
19:36:58 <Deewiant> ehird: Where does he affirm that in the above
19:36:59 <AnMaster> stop being stupid
19:37:08 <ehird> Deewiant: <AnMaster> Deewiant, oh true. I mean him to email you about how he just found mycology
19:37:13 <Deewiant> ehird: He said (1) that !Befunge's author is missing.
19:37:20 <Deewiant> ehird: Then (2) I queried him as to what exactly he meant.
19:37:40 <Deewiant> ehird: Then (3) he explains what he meant: he meant that he's the only one who hasn't emailed me.
19:37:49 <Deewiant> (Yay for overloading 'he')
19:37:54 <ehird> oh
19:38:00 <ehird> AnMaster's broken english strikes again
19:38:00 <AnMaster> bbl I have other things to do than argue about this. First however I wish to readjust my assertion above about ehird not being an idiot: I'm not sure about that any more
19:38:32 <ehird> "I mean him to email you about how he just found mycology" -->AnMaster sucks at English filter--> "I meant to email you about how [he emailed me telling me] he had just found mycology"
19:38:41 <Deewiant> ehird: Incorrect filter.
19:38:48 <ehird> Deewiant: garbage in garbage out
19:39:05 <Deewiant> ehird: 'I meant him not having emailed you...'
19:39:12 <Deewiant> Or something, would be more accurate.
19:39:24 <fizzie> Deewiant: "he¹ meant that he²'s the only one who..."
19:39:25 <Deewiant> Or right, now I misread what you said.
19:39:30 <Deewiant> fizzie: :-)
19:39:38 <AnMaster> /ignore chan:#esoteric type:highlight time:5
19:39:38 <AnMaster> oops
19:39:40 <Deewiant> Hmm, my keyboard only goes up to ³
19:39:43 * AnMaster tries again without space
19:39:57 <fizzie> Deewiant: Mine goes up to ¹¹!
19:40:07 <ais523> fizzie: that's cheating
19:40:08 <Deewiant> You turn off highlights? That might explain why you highlight others so much :-P
19:40:11 <Deewiant> fizzie: Haha :-D
19:40:17 <ais523> and I can do ¹²³
19:40:19 <AnMaster> ¹²³¼¢⅝÷«»°¿¬
19:40:25 <Deewiant> ais523: http://en.wikipedia.org/wiki/Up_to_eleven
19:40:30 <Deewiant> ¹²³£¥ĦÐÞ“”
19:40:35 <Deewiant> —÷
19:40:39 <ais523> AnMaster: ¹²³€½¾{[]}¡⅛£¼⅜⅝⅞™±°
19:40:44 <ais523> (that's with and without shift)
19:40:47 <AnMaster> different keyboard layouts
19:40:56 <ais523> Deewiant: I'm aware of the meme
19:40:57 <Deewiant> ¹²³£¥ĦÐÞ“”—÷ with, ¡ºª¢€ħðþ‘’–× without
19:41:08 <Deewiant> ais523: Just making sure
19:41:12 <AnMaster> 1234567890+ !"#¤%&/()=? ¡@£$€¥{[]}\¹²³¼¢⅝÷«»°¿
19:41:29 <Deewiant> ¿~?
19:41:32 <ais523> <wikipedia> This "In popular culture" section may contain too many minor or trivial references. Please remove insignificant entries, and reorganize this content. (March 2009)
19:41:34 <lifthrasiir> hmm... is there any appropriate trefunge program for testing?
19:41:40 <AnMaster> normal, shift, altgr, altgr+shift
19:41:42 <Deewiant> lifthrasiir: There's that editor
19:41:44 <ais523> IIRC there's a trefunge editor
19:41:46 <ais523> written in trefunge
19:41:47 <AnMaster> though I forgot space there
19:41:54 <ais523> I'm not sure how it works
19:41:56 <AnMaster> lifthrasiir, there is no test suite afaik
19:42:02 <fizzie> Deewiant: Maybe you should spend some time writing "Trungyfonology" or something.
19:42:12 <Deewiant> No, I really shouldn't. :-P
19:42:13 <ais523> just make a version of Mycology that handles any number of dimensions
19:42:23 <lifthrasiir> that was http://www.imaginaryrobots.net/projects/funge/code/funged.3f, and it needs many yet-unimplemented fingerprints... hmm.
19:42:24 <Deewiant> Somewhat impossible.
19:42:26 <AnMaster> fizzie, ccbi doesn't support trefunge, nor does cfunge, so I fail to see how it would work
19:42:29 <ais523> Deewiant: why?
19:42:48 <Deewiant> Well actually not impossible, just extremely inconvenient.
19:42:49 <AnMaster> fizzie, since Deewiant only test stuff ccbi supports
19:42:55 <ais523> just use only Unefunge commands that don't need vectors until you've run a y to find out dimension count
19:43:19 <AnMaster> lifthrasiir, what specific fingerprints?
19:43:27 <Deewiant> ais523: Yeah, and then I'd have to have a zero-pad loop prior to every vector-using instruction.
19:43:39 <Deewiant> Which would be somewhat of a pain.
19:43:48 <AnMaster> lifthrasiir, also it depends on how rcfunge misimplements fingerprints
19:43:53 <AnMaster> so basically: don't do it
19:43:55 <Deewiant> AnMaster: Oh, it does?
19:43:58 <Deewiant> I didn't know that
19:44:04 <AnMaster> Deewiant, yes, and it loads FNGR
19:44:08 <lifthrasiir> AnMaster: FNGR and NCRS. awww.
19:44:14 <AnMaster> as far as I can figure out it uses FNGR to workaround
19:44:14 <Deewiant> Well, FNGR can be done
19:44:23 <AnMaster> lifthrasiir, what is wrong with NCRS?
19:44:30 <Deewiant> Since FNGR's new specs just state the way () should behave when it's loaded
19:44:32 <AnMaster> lifthrasiir, I implement NCRS in cfunge.
19:44:44 <AnMaster> lifthrasiir, FNGR I wouldn't implement
19:44:47 <lifthrasiir> not yet a high priority... ;)
19:44:48 <AnMaster> FING sure
19:44:51 <Deewiant> AnMaster: I don't think he said anything was wrong, just that it's one he hasn't implemented.
19:45:00 <AnMaster> lifthrasiir, yeah NCRS was rather low priority for me too
19:45:04 <AnMaster> added it in cfunge 0.4.0
19:45:07 <AnMaster> which was released today
19:45:15 <Deewiant> AnMaster: Do you have TERM and NCRS now?
19:45:17 <AnMaster> Deewiant, hm right
19:45:21 <AnMaster> Deewiant, yes...
19:45:36 <Deewiant> I might have to take a look at that then, to get TERM running on POSIX
19:45:39 <AnMaster> Deewiant, loading order should work fine for TERM anywhere I hope
19:45:50 <AnMaster> Deewiant, I had TERM since several releases
19:45:53 <lifthrasiir> eventually i'll implement them (not FNGR though) but my high priority is an usable interpreter now.
19:46:04 <AnMaster> Deewiant, btw you can only do NCRS 1I once and 0I once
19:46:08 <AnMaster> following specs there
19:46:10 <AnMaster> in fact
19:46:38 <AnMaster> Deewiant, it says you shouldn't do it more than that
19:46:39 <Deewiant> Which specs
19:46:39 <AnMaster> Deewiant, NCRS specs
19:46:45 <Deewiant> Silliness
19:46:58 <lifthrasiir> while analyzing mycology i felt that many corner cases are still untested, so i'm adding regression tests for now.
19:47:00 <AnMaster> Deewiant, not silly. I had segfaults inside ncurses otherwise
19:47:07 <Deewiant> Also silly :-P
19:47:24 <AnMaster> Deewiant, cfunge safeguards against that with tracking state and reflecting if it is done the wrong way
19:48:14 <Deewiant> AnMaster: What about TERM/NCRS interaction... can TERM be used after NCRS has done 0I, for instance?
19:48:40 <AnMaster> Deewiant, yes NCRS does a call into TERM and vice verse to inform each other of the state of each
19:48:51 <AnMaster> Deewiant, so hopefully all interactions should work correctly
19:48:58 <Deewiant> Meh, interdependent fingerprints
19:49:09 <AnMaster> Deewiant, well they are, there is no way to avoid it
19:49:18 <Deewiant> They're independent in Windows
19:49:53 <AnMaster> Deewiant, well my TERM doesn't depend on ANSI escape codes
19:50:07 <AnMaster> it will work with any terminal supported in terminfo/termcap
19:50:09 <Deewiant> Neither does mine
19:50:13 <Deewiant> My TERM doesn't work, period :-P
19:50:17 <Deewiant> (Except in Windows)
19:50:29 <fizzie> I don't even have a TERM. :p
19:50:30 <AnMaster> Deewiant, what about non-cmd.exe on windows?
19:50:30 <Deewiant> Windows is so much easier in this respect
19:50:49 <Deewiant> AnMaster: I don't know, depends on if they're implemented correctly.
19:50:49 <AnMaster> Deewiant, say, rxvt from msys or windows powershell?
19:51:10 <Deewiant> Powershell should definitely work, I'd be very surprised if it didn't.
19:51:14 <AnMaster> mhm
19:51:16 <Deewiant> I mean, these are Windows system calls
19:51:21 <AnMaster> Deewiant, and rxvt from msys?
19:51:27 <Deewiant> AnMaster: I don't know, depends on if they're implemented correctly.
19:51:27 <Deewiant> AnMaster: I don't know, depends on if they're implemented correctly.
19:51:29 <AnMaster> ah
19:51:38 <AnMaster> Deewiant, hey stop turning ehird
19:52:07 <AnMaster> fizzie, echo $TERM? I think NCRS and TERM fails if that isn't set
19:52:08 <fizzie> You're using the FooConsoleBar functions?
19:52:13 <Deewiant> Yep.
19:52:23 <AnMaster> fizzie, Ex! Dammit you forgot Ex
19:52:31 <Deewiant> They're not Ex, though. :-P
19:52:45 <AnMaster> Deewiant, unusual. I'd say suspicious even.
19:52:55 <Deewiant> No, very usual. :-P
19:53:00 <ehird> Oh, more AnMaster Windows-sucks humour.
19:53:07 <ehird> Hah hah 12 parameters Ex ohhh I'm in stitches.
19:53:10 <fizzie> Do you call AllocConsole there "just-in-case"? If you did (and ignored it failing, since it fails if the process already has a console) then it'd work no matter where, it'd just open a new console window if it was started without.
19:53:25 <Deewiant> No, I don't, I expect a console to exist.
19:53:41 <Deewiant> I do check the functions' return values though so I guess nothing would happen if there wasn't one.
19:53:45 <ais523> ehird: it is actually pretty funny, admittedly
19:53:55 <ehird> Fooled me you could have.
19:53:56 <AnMaster> fizzie, you could mark the process as one wanting a console iirc? Or maybe that just means MSVC inserting an AllocConsole() "just-in-case"?
19:54:35 <Deewiant> Doesn't the executable itself embed whether it's to run in a console or not?
19:54:42 <ais523> no
19:54:50 <ais523> it runs in a console if it tries to open one, IIRC
19:55:08 <ais523> or actually, it's probably something to do with the params to winmain
19:55:11 -!- kar8nga has quit (Connection timed out).
19:55:12 <Deewiant> It seems to me that it's a link-time option whether it should have a console or not
19:55:12 <AnMaster> Deewiant, anyway it is likely that if TERM/NCRS interaction mess up that you will get Really Bad Results(TM), as in null dereference or such
19:55:14 <ais523> there are quite a few there that people forget about
19:55:21 <AnMaster> there should be guards for it where needed
19:55:23 <ais523> Deewiant: presumably that depends on what startup code it links against
19:55:31 <Deewiant> Possibly
19:55:37 <fizzie> There is a PE header field that is specific for "console executables", though.
19:55:51 <fizzie> The Subsystem field; it can be WINDOWS_GUI or WINDOWS_CUI; for a GUI app, or for a console app.
19:56:03 <AnMaster> when is accessing an invalid memory address safe?
19:56:08 <fizzie> I wouldn't be surprised if the system took care of creating a console if the .exe has WINDOWS_CUI there.
19:56:08 <AnMaster> (not a trick question)
19:56:14 <Deewiant> What do you mean by invalid?
19:56:37 <AnMaster> Deewiant, as in not mapped so you can access it, say NULL or otherwise one that would end up in a segfault normally
19:57:05 <Deewiant> It's never safe?
19:57:11 <AnMaster> there is one specific case
19:57:22 <AnMaster> that you should know considering what you have been doing lately Deewiant
19:57:32 <AnMaster> I would have expected you to be aware of this
19:57:55 <Deewiant> I don't know that much when it comes to asm-level stuff
19:58:10 <AnMaster> PREFETCH... duh
19:58:10 <ehird> Tch Deewiant how dare you not know.
19:58:13 <ehird> Tut tut.
19:58:18 <Deewiant> Prefetch?
19:58:20 <ehird> Duhhh. Are you stupid or something?
19:58:25 <Deewiant> ehird: Shaddup. :-P
19:58:34 <ehird> Deewiant: DUHHH.
19:58:44 <Deewiant> AnMaster: Explain or refer?
19:59:15 <AnMaster> Deewiant, GCC docs for __builtin_prefetch() says it clearly, but I have also seen it in amd manuals
19:59:22 <AnMaster> don't remember exactly where
19:59:42 <AnMaster> "If a cache hit occurs, or if a memory fault is detected, no bus cycle is initiated and the instruction is treated as a NOP."
19:59:45 <AnMaster> AMD
19:59:50 <AnMaster> the third pdf
20:00:00 <AnMaster> with the General instruction reference
20:00:09 <AnMaster> for PREFETCH/PREFETCHW
20:00:14 <Deewiant> Right, so what you're saying is that prefetching memory you can't access is a nop
20:00:20 <Deewiant> I wouldn't call that accessing the memory
20:00:21 <AnMaster> Deewiant, yep
20:00:29 <AnMaster> Deewiant, well I'd say it was
20:00:48 <Deewiant> All you're doing is saying "hey, prepare this for me so I could mess with it faster"
20:00:55 <Deewiant> You're not actually reading or writing
20:01:45 <AnMaster> "Data prefetch does not generate faults if addr is invalid, but the address expression itself must be valid. For example, a prefetch of p->next will not fault if p->next is not a valid address, but evaluation will fault if p is not a valid address."
20:01:50 <AnMaster> from GCC docs
20:01:54 <AnMaster> http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
20:02:21 <AnMaster> Deewiant, It is in fact a memory access, though indirectly
20:02:44 <AnMaster> hey I just thought of a new NOP: prefetch (%rip) basically
20:03:00 <ehird> I wonder if I should try to get back into Perl.
20:03:01 <fizzie> Attempting to access memory that would normally result in a segfault is "safe" also if you're prepared for the segfault.
20:03:11 <AnMaster> fizzie, heh
20:03:16 <AnMaster> but that isn't same
20:03:40 <fizzie> It's more squibbling over definitions, sure. In this case it's the word "safe"; before, it was the word "access".
20:04:16 -!- olsner has joined.
20:04:21 <AnMaster> fizzie, well maybe I was a bit unclear. But what would you have suggested instead that wouldn't have included the word "prefetch" or something as revealing as that
20:04:23 <Deewiant> I was going to say that but I decided I'd not
20:04:50 <AnMaster> brb
20:05:02 <fizzie> I would probably just not have asked the question, to tell the truth.
20:05:08 <Deewiant> :-P
20:05:13 <Deewiant> That's a cop-out.
20:05:35 <fizzie> A cop-out is when you go and arrest criminals.
20:06:02 <Deewiant> Actually, it isn't!
20:06:53 <fizzie> "Cop out is an idiom meaning to avoid taking responsibility for an action or to avoid fulfilling a duty. -- See also -- Weasel word"
20:07:00 <fizzie> Ooh, it's one of the dreaded weasel words.
20:09:50 <ais523> Happy Australian Mailman Reminders Day, everyone!
20:10:00 <Deewiant> Y'wot?
20:10:14 <ais523> ehird: explain for Deewiant?
20:10:20 <ehird> No.
20:10:22 <ehird> It's a sekrit.
20:10:28 <ais523> it's not a very good secret
20:10:41 <Deewiant> It's a googlewhack
20:10:58 <ehird> Deewiant: search sans australian
20:11:03 <ehird> then realise that the Agora lists were first in Australia
20:11:08 <ehird> and timezones
20:11:13 <ais523> taking out australian will tell you the full story
20:11:15 <AnMaster> Deewiant, googlewhack?
20:11:26 <ais523> just I announce it a day early, because I'm subscribed to an Australian mailing list
20:11:29 <ais523> and it's in a different timezone
20:11:55 <ais523> 10:07:13 <ehird> happy australian mailman reminders day
20:11:56 <ais523> 10:07:25 * AnMaster opens mail client
20:11:58 <ais523> 10:07:33 <AnMaster> none yet
20:11:59 <ais523> 10:07:43 <ehird> i said australian
20:12:01 <ais523> 10:07:47 <AnMaster> ah
20:12:02 <ais523> (from the logs for Jan 31)
20:12:11 <ais523> it's quite a #esoteric tradition, I think
20:12:22 <AnMaster> I expect to get freebsd ones tomorrow evening
20:12:32 <AnMaster> apart from that I don't get any
20:12:34 <Deewiant> Oh right, GNU Mailman.
20:12:44 <Deewiant> I was thinking of snailmailmen.
20:12:55 <AnMaster> Deewiant, so was I first time
20:13:02 <AnMaster> anywya
20:13:05 <AnMaster> anyway*
20:13:13 <AnMaster> I have seen mailman with the option turned off
20:13:17 <AnMaster> just FYI
20:13:29 <ais523> Mailman is GNU?
20:13:32 <AnMaster> sf.net hosted mailman lists turn it off by default iirc
20:13:35 <AnMaster> ais523, think so
20:13:47 <ais523> that seems unlikely, there isn't a copy of the AGPL attached to every reminder email it sends out
20:13:53 <ehird> ais523: it is
20:13:54 <AnMaster> Deewiant, what is googlewhack though?
20:14:03 <ehird> ais523: just look at the horrid UI and design decisions
20:14:31 <Deewiant> http://www.justfuckinggoogleit.com/?q=googlewhack
20:14:31 <ehird> Deewiant++
20:14:34 <Deewiant> It's been a long time since I last used that alias
20:14:43 <ais523> Deewiant: does it need JavaScript turned on?
20:14:51 <ehird> ais523: why not click and find out
20:14:55 <Deewiant> No, it is not stupid like letmegooglethatforyou
20:14:59 <ais523> because I don't like clicking on random websites
20:15:00 <AnMaster> actually I'll just wikipedia it
20:15:01 <lifthrasiir> so what time is it there, not yet March 31?
20:15:04 <AnMaster> it works better
20:15:05 <AnMaster> err
20:15:07 <ehird> Deewiant: letmegooglethatforyou is more snarky though.
20:15:11 <AnMaster> wikipedia doesn't work well as a verb
20:15:11 <AnMaster> :/
20:15:15 <Deewiant> ehird: It confused me the first time I saw it.
20:15:17 * ais523 pastes http://www.justfuckinggoogleit.com/ into Google
20:15:26 <AnMaster> ais523, ?
20:15:40 <Deewiant> ais523: You're tampering with forces you don't fully comprehend
20:15:44 <ais523> Choose a domain name - www.justfuckinggoogleit-com.co.cc is available//Full DNS control and domain management - www.co.cc , Free domain names + free DNS, ...
20:15:51 <Deewiant> :-D
20:15:54 <ais523> AnMaster: I'm trying to make ehird's head explode
20:16:16 <AnMaster> <Deewiant> ehird: It confused me the first time I saw it. <-- yeah you mean: "Enable javascript to use LMGTFY."
20:16:26 <AnMaster> ;P
20:16:35 <AnMaster> http://lmgtfy.com/ has a Swedish translation here
20:16:36 <AnMaster> huh
20:16:51 <ehird> http://lmgtfy.com/?q=let+me+google+that+for+you
20:17:02 <ais523> http://209.85.229.132/search?q=cache:5XAtqRmmkW0J:justfuckinggoogleit.com/info.html+http://www.justfuckinggoogleit.com/&hl=en&client=firefox-a&gl=uk&strip=1
20:17:03 <Deewiant> &l=1
20:17:05 <AnMaster> actually, I have javascript enabled
20:17:06 <AnMaster> just
20:17:10 <AnMaster> konq fails
20:17:24 <ehird> Deewiant: ok, now make that recursive
20:17:39 <ehird> we need to link a term to http://lmgtfy.com/?q=<term>&l=1
20:17:42 <ehird> to googlebomb it
20:17:42 <Deewiant> ehird: Needs javascript
20:17:43 <AnMaster> <ais523> http://209.85.229.132/search?q=cache:5XAtqRmmkW0J:justfuckinggoogleit.com/info.html+http://www.justfuckinggoogleit.com/&hl=en&client=firefox-a&gl=uk&strip=1
20:17:43 <AnMaster> <Deewiant> &l=1
20:17:44 <AnMaster> what?
20:17:47 <AnMaster> that looks odd
20:18:22 <Deewiant> ehird: It might be possible to specify a javascript: URL there in which case it could be done
20:18:47 <ehird> how
20:18:48 <ais523> http://www.alexa.com/data/details/traffic_details/justfuckinggoogleit.com/justfuckinggoogleit.com?h=300&h=400&range=6m&site0=justfuckinggoogleit.com&site1=lmgtfy.com&site2=&site3=&site4=&size=Medium&w=470&w=700&y=r&z=1&z=1
20:19:06 <Deewiant> Oh wait, darn
20:19:33 <Deewiant> Never mind, can't be done that way
20:20:33 <AnMaster> ais523, tell me, how does alexa work?
20:20:42 <AnMaster> I mean, how do they know
20:20:56 <ais523> AnMaster: spyware
20:21:04 <ais523> although legitimate spyware
20:21:05 <AnMaster> ais523, and you link to it?!
20:21:07 <ais523> as in, you download it from them
20:21:07 <AnMaster> wth
20:21:18 <AnMaster> ais523, this is so screwed...
20:21:28 <ais523> of course, it's in the interest of companies to download the alexa toolbar
20:21:37 <ais523> because the computers there are set to the company's homepage
20:21:40 <AnMaster> "Google.com has a traffic rank of: 1"
20:21:40 <ais523> so it boosts the alexa rank
20:21:40 <AnMaster> heh
20:21:57 <ehird> ais523: spyware is illegitimate by definition
20:21:59 <ehird> alexa isn't spyware
20:22:04 <AnMaster> Live.com has a traffic rank of: 4
20:22:10 <AnMaster> google wins of course
20:22:15 <ais523> ehird: my definition's obviously different to yours
20:22:30 <ehird> Making a better Internet
20:22:31 <ehird> Alexa could not exist without the participation of the Alexa Toolbar community. Each member of the community, in addition to getting a useful tool, is giving back. Simply by using the Firefox and IE toolbars each member contributes valuable information about the web, how it is used, what is important and what is not. This information is returned to the community as Related Links, Traffic Rankings and more.
20:22:35 <ehird> they're upfront about what it does
20:22:37 <ehird> It's not spyware
20:22:40 <ehird> it's not SPYing on you
20:24:54 <AnMaster> ehird, would you use it though?
20:25:05 <AnMaster> and
20:25:09 <ehird> No. Not personally.
20:25:17 <AnMaster> would you like it "spying" on your bank logins?
20:25:27 <AnMaster> how can you know it won't look at https
20:25:31 <ehird> That would be a valid compliant, AnMaster, if it actually did that.
20:25:34 <AnMaster> does it do that?
20:25:44 <AnMaster> ehird, proof it doesn't?
20:25:54 <ehird> AnMaster: let's never install any software
20:26:01 <ehird> it could attach to our browsers and spy on our bank logins
20:26:12 <Deewiant> Your hardware could do it too!
20:26:14 <ehird> booooh! scary ghost! woooh! are you scared yet? Be scared.
20:26:21 <ehird> EVERYONE IS OUT TO GET YOU.
20:27:20 <AnMaster> ehird, yes and? It isn't exactly news
20:27:30 <AnMaster> which is why I never do bank stuff over internet personally
20:27:36 <ehird> ... lol
20:27:44 <AnMaster> I go to the bank office
20:28:07 <Deewiant> That /is/ smarter, I'm just too lazy myself
20:28:24 <Deewiant> I probably would do that if I lived across the street from a bank or something
20:28:40 <Deewiant> But it's a 5 min walk away, too far :-P
20:28:47 <AnMaster> Deewiant, well four and a half block in my case
20:28:57 <Deewiant> A 'block' carries no meaning at all
20:29:05 <Deewiant> Speak in terms of distance or time
20:29:10 <AnMaster> Deewiant, true, they are very different size
20:29:13 <Deewiant> Unless there's a Swedish standard block I'm unaware of
20:29:28 <AnMaster> hm, maybe 5 minutes walk I'd guess
20:29:33 <AnMaster> I don't know distance
20:29:38 <AnMaster> and google earth res is too poor here
20:29:48 <AnMaster> I can barley see the town at all in google earth
20:29:52 <ehird> Me: Walk down short street, walk up the bank, walk to the end of the main street, bank.
20:29:57 <ehird> 5-7m.
20:30:12 <AnMaster> 5-7 meters from a bank?
20:30:19 <ehird> Minutes.
20:30:21 <AnMaster> ah
20:30:35 <Deewiant> Those would be some short streets had that been metres :-P
20:30:46 <AnMaster> Deewiant, well yeah
20:31:09 <ehird> Well, my street is just like 6 houses.
20:31:11 <fizzie> Our local bank office people use MSN for intra-office communication. At least that's what the clerkperson said; I'm secretly hoping it is at the very least an internal Jabber server, and the girl just said "MSN" because any sort of instant messaging == MSN.
20:31:15 <ehird> 20 second walk.
20:31:27 <ehird> fizzie: MSN-for-workplaces is a Microsoft thing they sell.
20:31:29 <ehird> It is probably MSN.
20:31:48 <fizzie> Does it use Microsoft's servers for all message-passing, though?
20:31:56 -!- Nawak has joined.
20:32:16 <ais523> hi Nawak
20:32:23 -!- Nawak has left (?).
20:32:25 <AnMaster> fizzie, more like 7 here
20:32:25 <ehird> fizzie: yar I think so
20:32:28 <ehird> bye Nawak
20:32:31 <ehird> WE MISSED YOU
20:32:51 <AnMaster> Deewiant, so when will you update mycology status page next? I assume it is safe to ask since CCBI-2 is put on hold right?
20:33:12 <Deewiant> When I feel it's worth it
20:33:12 <AnMaster> so you won't do the mycoedge stuff
20:33:14 <Deewiant> Maybe when Pyfunge has MycoTRDS done
20:33:22 <fizzie> Deewiant: And will you put jitfunge results there if I manage to get a respectable score before that? :)
20:33:23 <AnMaster> Deewiant, that could take ages
20:33:25 <ais523> will mycoedge be part of the main mycology?
20:33:31 <Deewiant> ais523: A separate file
20:33:37 <Deewiant> Short, though.
20:33:41 <ais523> fizzie: how does jitfunge mycologize atm?
20:33:49 <ais523> Deewiant: any particular reason for that?
20:33:57 <AnMaster> Deewiant, the mycoedge copy I have had a bug according to the hs author iirc
20:33:58 <ehird> Hmm.
20:33:58 <Deewiant> ais523: Easier to work with
20:34:01 <AnMaster> so any fixed version=
20:34:02 <AnMaster> ?
20:34:05 <ehird> I should find some text i need to process to use Perl on.
20:34:06 <ehird> Ooh.
20:34:08 <Deewiant> ais523: So that one 'p' results in a change in the bounds.
20:34:14 <ehird> Maybe to fix up my log-getting script.
20:34:15 <Deewiant> ais523: With Mycology, I'd have to kill a whole row/column.
20:34:34 <Deewiant> AnMaster: No, none. Trivial to write tho.
20:34:38 <ais523> Deewiant: why not just p to negative fungespace
20:34:40 <Deewiant> You could even do it yourself ;-)
20:34:44 <ehird> Yess, WWW-Mechanize... good good
20:34:45 <ais523> then p to wipe out that negative value?
20:34:58 <AnMaster> or same for high positive
20:35:16 <Deewiant> Yeah, I guess that'd work too.
20:35:40 <AnMaster> Deewiant, then someone would implement buggy initial file bounds
20:35:49 <Deewiant> Although then AnMaster could optimize by only changing the bounds when it's outside his static array :-P
20:36:07 <AnMaster> Deewiant, I never optimise away correctness
20:36:26 <AnMaster> Deewiant, I'm not doing "worse is better" design
20:36:27 <ais523> AnMaster: but how fast would cfunge run if you did?
20:36:34 <AnMaster> ais523, faster probably
20:36:42 <ehird> They should make a "use sane;" that does:
20:36:42 <ehird> [[
20:36:44 <ehird> use strict;
20:36:46 <ehird> use warnings;
20:36:46 <AnMaster> why not just hard code the output of mycology
20:36:48 <ehird> use diagnostics;
20:36:49 <ehird> use autodie;
20:36:51 <ehird> use utf8;
20:36:54 <ehird> ]]
20:36:54 <ais523> autodie isn't san
20:36:55 <ais523> *sane
20:37:00 <ehird> ais523: whyever not?
20:37:06 <AnMaster> ais523, somewhat like ick's "compile to shellscript"
20:37:07 <ehird> It makes it use proper exceptions
20:37:09 <ehird> As It Should Be
20:37:10 <Deewiant> Mycology isn't meant to be a 100%-testing suite anyway, much of it is drawing attention to some corner cases and then hoping that people will think about where else in their code such cases might apply.
20:37:15 <ais523> ehird: Perl doesn't have proper exceptions
20:37:16 <ais523> just die
20:37:24 <ehird> Ding! Wrong
20:37:29 <ais523> I mean, autodie throws /strings/
20:37:33 <ais523> that isn't a proper exception
20:37:37 <AnMaster> FYI: Included with cfunge is some additional test suites
20:37:39 <ehird> Hrm.
20:37:41 <Deewiant> Python used to throw strings!
20:37:43 <ehird> Doesn't Moose have something for exceptions
20:37:43 <AnMaster> that I found I needed for extra code coverage
20:37:51 <ais523> ehird: Moose has something for everything
20:37:56 <fizzie> C++ can throw strings, if you're so inclined!
20:37:57 <AnMaster> Deewiant, you might want to check them (and any comments in them) for ccbi too
20:38:03 <AnMaster> ignore the .f109 ones
20:38:06 <ehird> ais523: well, autodie is _useful_
20:38:08 <AnMaster> or .b109 rather
20:38:09 <fizzie> ais523: I did get up to "k reflects" (because I haven't implemented that at all), but then I broke something earlier.
20:38:19 <ais523> ehird: I only do about 2 or 3 things it would trigger on anyway
20:38:22 <ais523> per program
20:38:27 <ehird> I guess I can drop `use utf8;` since I don't have any of them moon speak thingies
20:38:38 <ais523> and use utf8 only means that your script's in UTF8, IIRC
20:38:41 <ehird> And I guess I can write dying stuff myself
20:38:41 <AnMaster> ehird, åäö
20:38:42 <ehird> ais523: yes
20:38:44 <ais523> it's like a BOM, just longer and in text
20:38:50 <ehird> ais523: BOM = windows shit
20:38:55 <ehird> anyway it should be the default
20:38:59 <ehird> it's only not because of legacyyyyyyyyyy
20:39:06 <ehird> use strict;
20:39:06 <ehird> use warnings;
20:39:08 <AnMaster> err they meant BOOM
20:39:08 <ehird> use diagnostics;
20:39:09 <ehird> OK, that's better.
20:39:15 <AnMaster> Microsoft that is
20:39:15 <AnMaster> but
20:39:20 <AnMaster> Marketing didn't allow it
20:39:31 <AnMaster> because it would make too many realise the truth
20:39:36 <AnMaster> about Microsoft and windows
20:39:40 <ehird> AnMaster: please stop trying to be funny it's awful
20:39:53 <AnMaster> ehird, I only did it to irritate you :P
20:40:04 <AnMaster> (you done that a lot to me before, time to attack back)
20:40:06 <ehird> AnMaster: you have srs issues
20:40:25 <fizzie> I just do strict+warnings on top of every script, since I can't read the "use diagnostics;" error messages; they are so verbose, my eyes glazeth over.
20:40:35 <AnMaster> ehird, you have said you did such to me before, so that implies you too have serious issues.
20:40:52 <ehird> AnMaster: yes but I don't do it all the damn time, only when you irritate me
20:40:59 <AnMaster> ehird, same
20:41:09 <AnMaster> I only do it when you irritate me
20:41:13 -!- pikhq has quit (Read error: 60 (Operation timed out)).
20:41:15 <ehird> AnMaster: You're as irritable as Wooble.
20:41:22 * ehird breathes ← irritating
20:41:38 <AnMaster> ehird, so are you. I mean don't you realise you are being trolled right now? Like you usually do against me.
20:41:44 <AnMaster> and then point out you trolled.
20:41:49 <AnMaster> happened a few times.
20:42:01 <ehird> it really is heartwarming see you try and backtrack and try a new strategy.
20:42:04 <AnMaster> though I think this is meta-trolling
20:42:44 <AnMaster> ehird, ok that was an interesting reply. Sounds like same basic concept as some I tried before on you though.
20:44:30 <ais523> I didn't even know of use diagnostics;
20:44:40 <AnMaster> what does it do?
20:44:41 <ais523> although interestingly, Moose auto-includes strict and warnings
20:45:21 <fizzie> "This module extends the terse diagnostics normally emitted by both the perl compiler and the perl interpreter, augmenting them with the more explicative and endearing descriptions found in perldiag."
20:45:23 <AnMaster> what about elks then?
20:45:26 <fizzie> That is what it does.
20:45:54 <AnMaster> perl compiler
20:45:55 <AnMaster> what
20:45:57 <AnMaster> since when?
20:46:06 <ehird> AnMaster: lern2understandimplementationdeatailsofperl
20:46:16 <AnMaster> I thought perl was interpreted and/or bytecode?
20:46:19 <ehird> bytecode.
20:46:24 <ehird> it compiles to bytecode.
20:46:28 <ehird> fizzie: do you have a solution to the 'cpan is a verbose, questiony whore' problem
20:46:31 <AnMaster> aha
20:46:44 <AnMaster> ehird, but it doesn't produce bytecode files does it?
20:46:48 <ehird> no.
20:46:51 <fizzie> That I do not have.
20:46:54 <ehird> http://search.cpan.org/~chromatic/Modern-Perl-1.03/lib/Modern/Perl.pm <-- this looks nice
20:47:00 <ais523> actually, the perl5 "compiler" is more just a parser
20:47:06 <ais523> and the parse tree is interpreted
20:47:25 <ais523> just the interp and parser call each other a lot, because of things like BEGIN and eval
20:47:25 <AnMaster> mhm
20:47:41 <AnMaster> ais523, a mess really is it?
20:47:53 <ais523> yep
20:48:02 <ais523> they're ripping the mess out and starting again for perl6
20:48:08 <ais523> which is partly why it's taking so long to implement
20:48:26 <Deewiant> AnMaster: Ran through your tests, nothing new there for CCBI (one semi-new which I fixed this morning and haven't released); I disagree that ='s return value being the return value of system() directly is BAD
20:48:26 <AnMaster> ais523, DNF or Perl6, which do you think will be done first?
20:48:26 -!- neldoreth has quit (No route to host).
20:48:28 <ehird> Perl 6 is far more messy.
20:48:38 <ehird> AnMaster: dnf will be written in perl6
20:48:45 <AnMaster> Deewiant, which was that semi-new
20:48:45 <ehird> & have the new mbv as soundtrack
20:48:51 <Deewiant> AnMaster: 0k x
20:48:51 <ehird> everyone knows that
20:48:59 <ais523> AnMaster: the most annoying thing about perl6 is that there's clearly progress being made
20:49:06 <ais523> just it doesn't seem like they'll ever finish
20:49:12 <AnMaster> Deewiant, and yes the sysexec one is cfunge specific as mentioned in the file iirc
20:49:27 <AnMaster> Deewiant, oh and rc/funge segfaults on some of those tests iirc
20:49:37 <Deewiant> AnMaster: Ah, you're right, I didn't check.
20:49:39 <AnMaster> Deewiant, so might be worth adding some of that to mycology, just for fun
20:49:40 <Deewiant> And heh.
20:50:01 <AnMaster> Deewiant, pretty sure it fails to handle division by zero in some fingerprint
20:50:20 <AnMaster> lifthrasiir, there? You may want to take a look on the cfunge test cases
20:50:26 <Deewiant> I love how RC/Funge uses gets
20:50:30 <AnMaster> Deewiant, btw, 0k x? I don't remember that one
20:50:31 <Deewiant> It's so quaint
20:50:46 <AnMaster> Deewiant, I saw gets() in mosaic too, but that is the only other place
20:50:51 <Deewiant> AnMaster: iterate-zero.b98
20:51:02 <lifthrasiir> AnMaster: thank you for information. (i'm not yet slept... hehe.)
20:51:10 <AnMaster> ehird, mbv?
20:51:21 <AnMaster> some other delayed project I guess
20:51:30 <AnMaster> Deewiant, oh that right
20:51:52 <AnMaster> Deewiant, well the 109 tests are more extensive for iterate really
20:52:04 <ehird> AnMaster: mbv=my bloody valentine, shoegazer rock band from the 80s/90s who haven't released an album since 1992 but apparently it's still happening (not, as a cursory glance at their name would seem to imply, an emo band or the like)
20:52:15 <AnMaster> Deewiant, together both sets run all the relevant code paths for iterate in cfunge
20:52:23 <Deewiant> AnMaster: k@ seems to crash RC/Funge
20:52:30 <AnMaster> Deewiant, really? interesting
20:52:40 <Deewiant> *** glibc detected *** ./funge: double free or corruption (!prev): 0x0000000000633010 ***
20:52:47 <ais523> Deewiant: for killing a thread, or for killing the program, or both?
20:52:51 <AnMaster> Deewiant, hah
20:52:59 <AnMaster> ais523, it should only kill current thread
20:53:04 <Deewiant> ais523: A thread, it dies after the first @ and can't iterate any more.
20:53:06 <AnMaster> it used to segfault cfunge way way back
20:53:13 <AnMaster> found it with fuzz testing
20:53:41 * AnMaster tries to figure out how tests/iterate-zero.b98 works
20:53:46 <AnMaster> huh
20:53:47 <fizzie> Deewiant: It is, in fact, double-free.
20:54:01 <AnMaster> Deewiant, I can't see 0k x
20:54:05 <AnMaster> only 0k v
20:54:06 <AnMaster> and such
20:54:19 <AnMaster> Deewiant, in tests/iterate-zero.b98 that is
20:54:37 <Deewiant> AnMaster: Sorry: ∀x. 0k x
20:54:47 <AnMaster> Deewiant, I don't know APL
20:54:51 <AnMaster> what would that one mean
20:54:55 <Deewiant> LOL
20:54:56 <Deewiant> APL
20:55:04 <AnMaster> ∀ looks APL-y to me
20:55:09 <fizzie> All that per-IP state, like stack and mini-funges or whatever; it free()s that at @, and k blindly calls Exec() on the @ many many times.
20:55:12 <Deewiant> Sorry, that just cracked me up :-D
20:55:18 <AnMaster> Deewiant, so it is something else? ok
20:55:26 <Deewiant> AnMaster: 'for all x'
20:55:28 <AnMaster> ah
20:55:31 <fizzie> Deewiant: You should've said \forall x. Ok x, that's more guessable.
20:55:42 <fizzie> Is it 0k? Heh.
20:55:52 <AnMaster> well
20:55:55 <fizzie> This font lacks a sensible 0.
20:55:59 <Deewiant> jumpwrap.b98 seems to infinite-loop RC/Funge
20:56:04 <AnMaster> x and v are rather different
20:56:11 <AnMaster> in how they are implemented in cfunge
20:56:19 <AnMaster> so it didn't make a lot of sense to me
20:56:27 <Deewiant> As does test-formfeed.b98
20:56:37 <AnMaster> Deewiant, jumpwrap.b98 I
20:56:43 <AnMaster> I'm not* 100% is correct
20:57:18 <AnMaster> Deewiant, and test-formfeed.b98 is because rc/funge thinks it is trefunge even when it is befunge mode
20:57:31 <AnMaster> so it increments z in befunge I think
20:57:37 <AnMaster> Deewiant, iirc
20:57:46 <Deewiant> Heh
20:57:56 <AnMaster> hm
20:58:06 <Deewiant> AnMaster: What's up with a5+, why not just do f
20:58:13 <AnMaster> Deewiant, which test?
20:58:19 <Deewiant> jumpwrap.b98
20:58:28 <Deewiant> And also, there's no # in that file :-P
20:58:35 <AnMaster> Deewiant, I wrote that in 2008-03-12
20:58:37 <AnMaster> I don't remember
20:59:04 <AnMaster> Deewiant, why would there be #? It tests j
20:59:07 <Deewiant> Ah, but you've updated it in 2008-09-20
20:59:15 <Deewiant> AnMaster: It has a comment talking about # and spaces
20:59:16 <AnMaster> yes I did
20:59:19 * AnMaster diffs
20:59:41 <AnMaster> -0f2*-j 'C,@
20:59:42 <AnMaster> -
20:59:42 <AnMaster> -This
20:59:42 <AnMaster> -tests
20:59:42 <AnMaster> +0a5+-j #v'C,a,@
20:59:43 <AnMaster> + >'W,a,@
20:59:52 <AnMaster> that was in 2008-03-19
21:00:07 <AnMaster> -0a5+-j #v'C,a,@
21:00:07 <AnMaster> - >'W,a,@
21:00:07 <AnMaster> +0a5+-jvvvvvvvvv
21:00:07 <AnMaster> + 123456789
21:00:07 <AnMaster> + @,a.<<<<<<<<<
21:00:11 <AnMaster> was in 2008-09-20
21:00:12 <AnMaster> hm
21:00:24 <AnMaster> Deewiant, I think the comment is wrong
21:00:37 <AnMaster> the new version makes more sense
21:00:46 <Deewiant> I'm quite sure it's wrong :-P
21:00:51 <AnMaster> $ ../build/cfunge jumpwrap.b98
21:00:51 <AnMaster> 1
21:00:52 <AnMaster> you get that?
21:01:05 <AnMaster> or some other value?
21:01:17 <AnMaster> Deewiant, seriously I'm not sure what is right there
21:01:33 <Deewiant> IMO 9
21:01:38 <AnMaster> Deewiant, huh?
21:01:43 <AnMaster> and which does ccbi give?
21:01:47 <Deewiant> 1
21:01:58 <AnMaster> Deewiant, ah I probably adjusted for that then :D
21:02:02 <AnMaster> and why 9?
21:02:15 <Deewiant> Just like # v doesn't jump over the v, so should 1j v not jump over the v
21:02:39 <AnMaster> Deewiant, that isn't how it is done though
21:02:39 <Deewiant> That's the same thing; there's about 2^32 - 20 spaces in between
21:02:47 <ehird> "Cannot unzip, no unzip program available "
21:02:49 <ehird> wtf cpan
21:03:07 <Deewiant> A cell can't contain a high enough value to give to j that would make it jump over any of those v's
21:03:48 <AnMaster> Deewiant, hm..
21:04:21 <ehird> "WARNING: 'All rights reserved' in copyright may invalidate Open Source license. "
21:04:24 <ehird> cpan checks for _everything_
21:04:25 <AnMaster> Deewiant, any other tests you wonder about? Be aware some messy k stuff is only tested in the 109 variant
21:04:31 <Deewiant> I'm willing to leave this is as an UNDEF because it isn't 100% clear but mycology_opinionated would say BAD for # or j over edge not hitting the edgemost
21:04:31 <AnMaster> you may want to check what those files do
21:04:51 <AnMaster> to see if it is relevant to test for ccbi
21:04:54 <Deewiant> Didn't really look at them in detail, just checked which ones gave BAD :-P
21:05:12 <AnMaster> Deewiant, any 109 ones gave good in 98?
21:05:24 <AnMaster> Deewiant, btw when I was lazy C means correct and W wrong
21:05:25 <AnMaster> usually
21:05:36 <AnMaster> Deewiant, in case the stuff is hard to interpret
21:05:39 <Deewiant> One of the 109s was an infinite or long loop
21:05:54 <Deewiant> So I just skipped them after that ;-P
21:06:10 <AnMaster> > 'W,a,@
21:06:10 <AnMaster> >221k * 4w 'C,a,@
21:06:10 <AnMaster> > 'W,a,@
21:06:12 <Deewiant> The kk one
21:06:16 <AnMaster> tell me what that one should do
21:06:23 <AnMaster> Deewiant, ah how do you handle k over k?
21:06:24 <ais523> AnMaster: that's nice and pretty
21:06:27 <AnMaster> you look on it?
21:06:31 <AnMaster> loop*
21:06:35 <Deewiant> Ah, I see
21:06:38 <Deewiant> AnMaster: That's a bug in your test
21:06:43 <Deewiant> The v following doesn't go anywhere
21:06:49 <Deewiant> On the first line of iterate-iterate2
21:06:53 <ais523> ehird: TAEB got caught out on that check, because they'd phrased the name of the GPL slightly incorrectly from CPAN's point of view
21:07:07 <Deewiant> AnMaster: And I simply don't handle kk
21:07:12 <AnMaster> Deewiant, that is quite possible yes. because that would be a failure path
21:07:15 <AnMaster> Deewiant, BUG BUG
21:07:19 <Deewiant> Yep :-)
21:07:21 <AnMaster> cfunge handles nested k for n levels
21:07:23 <AnMaster> correctly
21:07:23 <ehird> http://search.cpan.org/search?query=unzip&mode=all
21:07:30 <ehird> There is more than one way to hate profileration of modules.
21:07:31 <AnMaster> CCBI is less conforming than cfunge. yay
21:07:32 <AnMaster> :D
21:07:34 <ehird> *proliferation
21:07:38 <AnMaster> Deewiant, when do you plan to fix it?
21:07:40 <Deewiant> AnMaster: Yes, to -109.
21:07:42 <Deewiant> I don't plan to.
21:07:46 <Deewiant> I don't support -109.
21:07:51 <AnMaster> Deewiant, k over k makes sense in 98 too
21:07:59 <Deewiant> Yes, and I think my interpretation makes more sense. :-P
21:08:06 <Deewiant> We've been over this before in hours-long discussions.
21:08:17 <Deewiant> And long e-mails.
21:08:40 <ais523> Deewiant: what does 2#;k; do?
21:08:59 <AnMaster> 432kkv
21:08:59 <AnMaster> zz
21:08:59 <AnMaster> z>0"DAB">:#,_a,@
21:08:59 <AnMaster> >0"DOOG">:#,_a,@
21:08:59 <AnMaster> "
21:09:00 <AnMaster> _a,@ >"DAB YREV">:#,
21:09:02 <ais523> especially in a multithreaded program?
21:09:02 <AnMaster> revised test
21:09:06 <AnMaster> Deewiant, what do you think?
21:09:07 <Deewiant> AnMaster: Meanie :-P
21:09:23 <Deewiant> ais523: Well, it loops infinitely, since there's no @
21:09:25 <Deewiant> ;-)
21:09:27 <AnMaster> Deewiant, what? I plan to comit this. And I love seeing a >:#,_ idiom over edge
21:09:36 <ais523> Deewiant: yes, but how many ticks does it take per iteration?
21:09:40 <Deewiant> AnMaster: Meanie in that it's VERY BAD and not BAD
21:10:04 <Deewiant> Alright, let's see.
21:10:13 <Deewiant> The k finds the 2, running it twice.
21:10:15 <AnMaster> Deewiant, well I think k over k should at least do something sensible in 98 too
21:10:20 <ais523> Deewiant: no, it doesn't
21:10:22 <Deewiant> Or wait, what
21:10:22 <ais523> the k finds the k
21:10:23 <Deewiant> It finds itself
21:10:37 <Deewiant> AnMaster: I think that's sensible given the specs.
21:10:42 <Deewiant> So the k finds itself.
21:10:45 <AnMaster> well maybe
21:10:53 <ehird> oh great
21:10:56 <ehird> cpan failed
21:10:58 <ehird> i hate cpan(1)
21:11:01 <ais523> ehird: welcome to the world of Perl
21:11:02 <AnMaster> 32kk5 >:#._a,
21:11:05 <AnMaster> what about that?
21:11:08 <ehird> ais523: i like cpan, just not cpan(1)
21:11:11 <ehird> it's horrifically badly designed
21:11:22 <ais523> AnMaster: that should push six 5s on the stack, shouldn't it?
21:11:27 <ais523> ehird: well, agreed about cpan(1)
21:11:33 <ais523> but how else are you going to use cpan?
21:11:34 <AnMaster> ais523, says: v"Correct output is:"a"5 5 5 5 5 5 5 5"<
21:11:47 <ais523> AnMaster: no it isn't, you missed the trailing space
21:11:49 <AnMaster> I think it may differ in 98 and 109
21:11:52 <AnMaster> ais523, well duh
21:11:55 <Deewiant> ais523: Anyway, it takes one tick since it's k ;-)
21:12:07 <Deewiant> But I think it'll thereafter always skip the 2
21:12:08 <AnMaster> $ ../build/cfunge iterate-iterate.b109
21:12:08 <AnMaster> 5 5 5 5 5 5 5 5 5 5 5 5
21:12:08 <AnMaster> Correct output is:
21:12:08 <AnMaster> 5 5 5 5 5 5 5 5
21:12:08 <ais523> Deewiant: one tick to run an infinite tower of k?
21:12:10 <AnMaster> $ ../build/cfunge -s 109 iterate-iterate.b109
21:12:10 <AnMaster> 5 5 5 5 5 5 5 5
21:12:11 <AnMaster> Correct output is:
21:12:14 <AnMaster> 5 5 5 5 5 5 5 5
21:12:17 <ais523> as far as I can tell, all interps would just lock up on that code
21:12:17 <Deewiant> ais523: It's not infinite the way CCBI does it.
21:12:17 <AnMaster> so
21:12:19 <AnMaster> why?
21:12:20 <ais523> not allowing othe threads to run
21:12:24 <ais523> Deewiant: what, really?
21:12:31 <ais523> oh, because nested k is broken
21:12:32 <Deewiant> ais523: Let me check, I'm quite sure. :-P
21:12:44 <AnMaster> ais523, which code did you mean isn't infinite?
21:12:55 <Deewiant> AnMaster: 2#;k; is.
21:12:57 <AnMaster> hm
21:12:58 <Deewiant> For cfunge, probably.
21:12:58 <ais523> AnMaster: we're talking about 2#;k;
21:13:03 <AnMaster> lets see
21:13:10 <AnMaster> aiie
21:13:11 <ais523> in cfunge, I suspect it would send it into a tight infinite loop, or possibly run it out of memory or stack
21:13:13 <Deewiant> ais523: Yeah, it's k per tick.
21:13:27 <Deewiant> ais523: IP gets stuck on the k with an empty stack.
21:13:28 <AnMaster> ais523, wait no, it will end when it realises 0k
21:13:37 <AnMaster> it won't try to fetch next instruction in case of 0k
21:13:44 <AnMaster> so it will be limited of size of stack
21:13:45 <AnMaster> won't it?
21:13:51 <ais523> AnMaster: what does 0kkv do?
21:14:08 <AnMaster> ais523, 98 or 108?
21:14:12 <ais523> err, either
21:14:14 <lifthrasiir> AnMaster: i think so.
21:14:23 <AnMaster> lifthrasiir, think wha?
21:14:24 <AnMaster> what*
21:14:36 <lifthrasiir> <AnMaster> ais523, wait no, it will end when it realises 0k
21:14:52 <ais523> I think you have to keep parsing the row of ks, don't you
21:14:59 <ais523> to figure out precisely what it is that you aren't doing?
21:15:06 <lifthrasiir> (i'm a bit slow when try to answer...)
21:15:07 <ais523> or is it always legal to optimise that away
21:15:18 <AnMaster> 0kkvv3.a,@
21:15:18 <AnMaster> > 1.a,@
21:15:18 <AnMaster> >2.a,@
21:15:21 <Deewiant> Hmm, actually it's simpler than I thought, isn't it, I'm not sure what I was thinking before.
21:15:23 <AnMaster> outputs 1 in both 98 and 109
21:15:26 <AnMaster> in my tests
21:15:27 <AnMaster> ais523, ^
21:15:39 <ehird> Discovery: Perl is pretty is you hide everything.
21:15:53 <ehird> sub download_and_extract {
21:15:53 <ehird> my $url = shift;
21:15:55 <ehird> my $zip;
21:15:56 <ehird> $mech->get($url, ':content_file' => 'foo.zip');
21:15:57 <ais523> AnMaster: that doesn't surprise me at all
21:15:59 <ehird> $zip = Archive::Zip->new('foo.zip');
21:16:00 <ehird> $zip->extractTree();
21:16:02 <ehird> unlink 'foo.zip';
21:16:04 <ehird> }
21:16:06 <AnMaster> ais523, it makes perfect sense
21:16:07 <ehird> Of course, I only call this once...
21:16:10 <Deewiant> ais523: Why would you have to parse the row of ks? You get 0kk and abort.
21:16:19 <ais523> ehird: hardcoded temp filenames?
21:16:24 <ehird> ais523: yes.
21:16:28 <ehird> ais523: Gotsaproblemwitdat
21:16:29 <ehird> ?
21:16:35 <ehird> ais523: Or, show me an easier way in Perl.
21:16:38 <ais523> ehird: yes, it's a security risk
21:16:39 <ehird> is there a mktemp module?
21:16:42 <ais523> almost certainly
21:16:46 <fizzie> File::Temp.
21:16:49 <ehird> also, srsly now.
21:16:53 <ais523> this is Perl we're talking about
21:16:53 <ehird> This downloads #esoteric logs.
21:16:57 <ais523> is there a X module is true for all X
21:17:10 <fizzie> File::Temp can open you the file without any sort of racy issues.
21:17:12 <ais523> ehird: well, for throwaway scripts you only use yourself, hardcoding temp file names may be acceptable
21:18:02 <AnMaster> build/cfunge -t 9 tests/ais02.b98 & kill $! <-- fills my scrollback
21:18:02 <AnMaster> wow
21:18:06 <AnMaster> I live the speed
21:18:08 * AnMaster ducks
21:18:12 <lifthrasiir> AnMaster: why are there .b109 files in the tests? sort of "UNDEF in Funge-98 but should be..."?
21:18:16 <ehird> Global symbol "$mech" requires explicit package name at /Users/ehird/Code/scraps/2009-03/grab-esoteric-logs.pl line 16.
21:18:18 <ehird> my $mech = WWW::Mechanize->new(agent => '#esoteric scraper');
21:18:20 <ehird> w h a t
21:18:30 <AnMaster> lifthrasiir, that is due to the new revised standard I'm working on
21:18:37 <AnMaster> which fixes a lot of UNDEF yes
21:18:44 <ehird> lifthrasiir: AnMaster is working on a standard that nobody but him will use.
21:18:44 <AnMaster> like details of k
21:18:48 <ehird> And all it does is specify edge cases everyone already agrees on.
21:18:53 <AnMaster> ehird, RCS actually has a half-broken mode for it
21:18:58 <fizzie> Nobody agrees on k. :p
21:19:01 <Deewiant> ehird: I disagree with some of -109.
21:19:01 <AnMaster> and no
21:19:01 <AnMaster> it changes k
21:19:03 <ais523> ehird: disagree on the "everyone already agrees on"
21:19:05 <ehird> Deewiant: I was about to say,
21:19:11 <ehird> and also specifies things that AnMaster just decrees Are True
21:19:17 <ehird> thus making it even less appealing
21:19:17 <AnMaster> no
21:19:22 <ais523> well, the # over file/line edge thing needs fixing IMO
21:19:32 <AnMaster> ais523, I defined it iirc in 109
21:19:35 <ais523> yes
21:19:38 <Deewiant> ais523: I think it's fairly irrelevant in practice, actually. :-P
21:19:38 <ehird> great, a standard for one single case of ambiguity
21:19:39 <ehird> woop woop
21:19:44 <ais523> hmm... have you definied a semantic for # over the edge of fungespace
21:19:50 <lifthrasiir> AnMaster: besides precise semantics, is there any addition?
21:19:55 <ais523> as in, if you put a # right at the most positive coordinates
21:20:02 <ais523> does it necessarily jump column 0?
21:20:04 <AnMaster> ais523, http://rafb.net/p/8P9UDb22.html
21:20:07 <AnMaster> that may interest you
21:20:24 <ais523> ah, yes
21:20:27 <Deewiant> ais523: A # at 2^(cell size in bits)-1 should jump over -2^(cell size in bits) IMO.
21:20:32 <AnMaster> the trace from nested k is not clear
21:20:33 <ais523> you avoid the infinite regress because you can optimise 0k
21:20:47 <ais523> Deewiant: ah, ok
21:20:50 <ais523> I think probably it should too
21:20:51 <AnMaster> Deewiant, that is news to me
21:20:53 <ais523> but am not sure why
21:20:54 <AnMaster> but a good idea I agree
21:21:10 <AnMaster> Deewiant, what about flying delta and that?
21:21:14 <lifthrasiir> Deewiant: but if cell size is unbounded, like bignum?
21:21:15 <AnMaster> what would happen then
21:21:16 <AnMaster> :D
21:21:19 <ehird> Hrm, I wonder if perl has funky syntax for checking if a file exists.
21:21:20 <Deewiant> AnMaster: What about it?
21:21:21 <AnMaster> oh yes
21:21:30 <AnMaster> Deewiant, also efunge uses bignum
21:21:34 <Deewiant> lifthrasiir: Then # over the edge never skips over anything.
21:21:34 <ehird> 21:19 lifthrasiir: AnMaster: besides precise semantics, is there any addition? no
21:21:35 <AnMaster> so that is highly relevant
21:21:38 <fizzie> ehird: You mean more funky than "-e $file"?
21:21:49 <ehird> fizzie: Funky exactly like that.
21:21:59 <Deewiant> AnMaster: What about flying deltas?
21:22:12 <AnMaster> Deewiant, I don't know. That is what I'm asking you
21:22:21 <AnMaster> lifthrasiir, well there is an idea about using URIs for fingerprints instead, to reduce namespace collision
21:22:26 <Deewiant> AnMaster: What don't you know?
21:22:34 <ais523> lifthrasiir: Funge-109 uses URIs for fingerprint names
21:22:43 <Deewiant> I mean, is there something nonobvious somewhere
21:22:49 <Deewiant> They work the way you'd expect :-P
21:22:49 <ais523> personally I think that may be a bad idea, because loading fingerprints uses up enough space as it is
21:22:52 <ehird> my $last = sort(<*>)[-1]; # hope that works :P
21:22:53 <ehird> ais523: oh, yes
21:22:57 <ehird> it makes code infinitely more bloated and ugly
21:23:02 <AnMaster> Deewiant, delta 4,10, # at 2^(cell size in bits)-1 is hit
21:23:03 <AnMaster> what happens
21:23:05 <ehird> at the gain of never having collisions that don't happen
21:23:42 <fizzie> ehird: What's funky is that if you have executed any "-X $file", you can then do "-Y _" and "-Z _" and it'll use the stat(2) buffer filled for the first -X test.
21:23:48 <Deewiant> AnMaster: Well, moving 1 east from the edge gets you to -2^(cell size in bits).
21:23:49 <AnMaster> ehird, also versioned fingerprints
21:23:57 <AnMaster> would be buildable on it
21:24:02 <ehird> AnMaster: Yaaaay more solved problems that never existed that makes code more ugly
21:24:05 <AnMaster> in case someone decides to retcon it
21:24:07 <ehird> perl 108 for the win.
21:24:08 <ehird> er.
21:24:08 <Deewiant> AnMaster: There are no spaces to skip over so it's just as though it weren't on the edge.
21:24:09 <ehird> befunge.
21:24:12 <AnMaster> ehird, it happened several times
21:24:21 <AnMaster> with RCS fingerprints
21:24:36 <AnMaster> and Deewiant insisting on breaking the spec
21:25:40 <fizzie> Deewiant: On the other hand, the Lahey-space is infinite. The wrapping part of the (98) spec says: "When the IP attempts to travel into the whitespace between the code and the end of known, addressable space --" which to me sort-of implies there is even more space after the addressable space.
21:25:56 <ehird> AnMaster: how dare he
21:26:05 <ehird> he's a... a... an INSISTOR
21:26:39 <lifthrasiir> fizzie: only if interpreter uses unbounded integer for coordinate.
21:26:40 <fizzie> Nobody expects the Spanish insistion.
21:27:12 <Deewiant> fizzie: Hmm, perhaps.
21:27:14 <fizzie> lifthrasiir: No, really. The coordinate size just affects the "known, addressable space" part. It can still be treated as if there was an infinite amount of spaces outside *that*.
21:27:40 <lifthrasiir> fizzie: if you mean that i agree.
21:28:22 <AnMaster> lifthrasiir, one such exists
21:28:26 <AnMaster> efunge
21:28:43 <lifthrasiir> AnMaster: and obviously pyfunge.
21:28:52 <AnMaster> lifthrasiir, it uses unbounded too?
21:28:54 <fizzie> Deewiant: I would think you'd hit the "a # at 2^N-1 and something at -2^N" problem even less often than a plain old "# at the edge in some reasonable coordinates".
21:28:56 <Deewiant> fizzie: It annoys me that there's no maths at all in the description of the 'mathematical model'
21:29:03 <lifthrasiir> it uses python integer so unbounded.
21:29:06 <AnMaster> lifthrasiir, then what do you push for size of cells?
21:29:14 <Deewiant> fizzie: Yes, definitely, I don't think it's important in practice either :-P
21:29:34 <lifthrasiir> once 4 without careful thinking, currently -1, and not yet sure that what is correct.
21:29:40 <AnMaster> lifthrasiir, python (on the C side at least) have two integers
21:29:43 <AnMaster> int and long
21:29:47 <AnMaster> where long is bignum
21:29:51 <Deewiant> fizzie: But yeah, I guess that can be read either way.
21:29:58 <AnMaster> iirc they removed the int in python 3 though
21:30:34 <fizzie> There's some sort of automatic promotion to long, though.
21:31:17 <lifthrasiir> yeah, and that automatic promotion cannot be suppressed without using... & 0xffffffff, and so on.
21:31:40 <fizzie> >>> 9223372036854775807
21:31:40 <fizzie> 9223372036854775807
21:31:40 <fizzie> >>> 9223372036854775807+1
21:31:40 <fizzie> 9223372036854775808L
21:31:53 <lifthrasiir> so that's practically same type
21:32:01 <ehird> Is there really no good way t o do copying =~ without a tmp var?
21:33:20 <fizzie> You'd want the result of a s/// without mangling the original?
21:34:00 -!- BeholdMyGlory has joined.
21:36:57 <ehird> Yar./
21:37:19 <ehird> Hey fizzie, you got them 2002 esoteric logs?
21:37:27 <ehird> Could integrate that into my script.
21:37:38 <ehird> 02:12:04 <fizzie> ah, re befunge, just wrote an interpreter with forth. so our unofficial befunge-interpreters-in-obsolete-but-non-esoteric-languages project now has forth, fortran-77, algol-60, plus few less interesting ones. maybe should do cobol next.
21:37:41 <ehird> — 2003-01-21
21:38:19 <AnMaster> ehird, =~ ? hm
21:38:21 <fizzie> I haven't see any sensible idiom for that. Although you can use $_ as your temp var and then you don't have to write the name again; "$_ = $foo; s/.../.../;" and you end up with the mangled string in $_. I don't much like to write $_ out loud, though.
21:38:31 <AnMaster> ehird, self not?
21:38:32 <AnMaster> huh
21:38:35 <AnMaster> wait bitwise not
21:38:37 <ehird> AnMaster: Match.
21:38:38 <ehird> brb →
21:38:41 <AnMaster> ehird, what language?
21:38:45 <fizzie> Perl.
21:38:47 <ais523> AnMaster: self bitwise not would be ~=
21:38:47 <ehird> ← Perl. →
21:38:50 <ais523> and besides doesn't make sense
21:38:51 <AnMaster> I see
21:38:57 <ais523> =~ is Perl's pattern-match operator
21:39:16 <AnMaster> ais523, yeah ~~i and i~~ would make more sense
21:39:23 <AnMaster> :D
21:39:35 <ais523> AnMaster: nope, that would be equivalent to i ~= 1;
21:40:13 <fizzie> ~=i; could make sense, as a shorthand for i = ~i.
21:40:34 <fizzie> Unary prefix ~= sounds a bit perverse.
21:41:30 <AnMaster> ais523, but ~ in place then?
21:41:49 <AnMaster> yeah
21:41:53 <ais523> AnMaster: how often does it come up anyway? I mean really?
21:41:53 <AnMaster> what fizzie said
21:42:08 <AnMaster> fizzie, I want suffix version too!
21:42:42 <fizzie> ais523: Well, especially in the logical "x = !x" form it does happen. So maybe !=x;
21:42:54 <AnMaster> postfix too
21:42:56 <AnMaster> it would be useful
21:43:46 <fizzie> Flip x but evaluate to the original value? That's just !!=x. :p
21:44:01 <AnMaster> Deewiant, efunge get no BAD btw in the branch https://code.launchpad.net/~anmaster/efunge/supervisor-tree
21:44:02 <fizzie> Maybe not exactly, since it would do the boolean-cast too.
21:44:06 <AnMaster> might be nice adding to mycology page
21:44:16 <AnMaster> Deewiant, it is development yes
21:44:18 <AnMaster> but still no bad
21:44:33 <AnMaster> rather basic
21:44:35 <fizzie> ~~=x; should work just as well as a postfix x=~; operation. (I flipped the order of =/~ there.)
21:44:46 <fizzie> Certainly it would raise the line noise factor of C.
21:44:53 <AnMaster> <fizzie> Maybe not exactly, since it would do the boolean-cast too. <-- indeed
21:45:04 <AnMaster> aaah
21:45:05 <AnMaster> right
21:45:08 <AnMaster> we shouldn't add it
21:45:14 <AnMaster> since it would end up like perl then
21:45:30 <AnMaster> good think ISO would never do it anway
21:45:34 <AnMaster> anyway*
21:46:13 <AnMaster> actually shouldn't it be time for a new C version around now?
21:46:19 <AnMaster> I mean, C89, C99, C09?
21:46:24 <AnMaster> it would follow a pattern
21:46:39 <AnMaster> anyone know what the plans are for new C versions?
21:46:48 <olsner> foo ^=~0;
21:46:59 <AnMaster> olsner, what does that do?
21:47:09 <AnMaster> lets see
21:47:11 <fizzie> Perl recognizes the following "x="-style operators: **= += -= .= *= /= &= x= &= |= ^= <<= >>= &&= ||= //=
21:47:13 <AnMaster> xor on the complement
21:47:24 <fizzie> Yes, it's pretty much ~=foo;
21:47:27 <AnMaster> fizzie, not plain x= though?
21:47:33 <fizzie> It is there on the list.
21:47:50 <fizzie> But the first &= should be %=, that was a typo.
21:48:03 <ais523> fizzie: //= is very new
21:48:35 <fizzie> $foo = "yay"; $foo x= 4; # $foo is now "yayyayyayyay"
21:49:47 <lifthrasiir> AnMaster: that will be C1x, cannot be done in 2009
21:49:56 <fizzie> I don't think I've used // either, although I can see the need. I've probably just written "defined $a ? $a : $b" instead of "$a // $b" though.
21:50:39 <lifthrasiir> i heard that gets is finally removed from C1x, but who knows.
21:50:56 <fizzie> Wikipedia has heard that too, but [citation needed].
21:50:57 <ais523> people haven't even finished implementing C99 yet, though!
21:51:03 <fizzie> (The tag is not there, but ought to be.)
21:51:10 <ais523> fizzie: add it!
21:51:13 <ais523> {{fact}}
21:52:26 <fizzie> What do people usually write in the edit summary, if they just add a {{fact}}?
21:52:48 <lifthrasiir> +fact?
21:53:00 <fizzie> Heh, that copy-pastable list of funky characters under the textbox is funny.
21:55:26 <lifthrasiir> there eventually be every character in unicode 5.1 in that list.
21:56:25 <AnMaster> lifthrasiir, heh ok
21:57:00 <AnMaster> ais523, just because people haven't finished implementing the last C++ standard doesn't mean they won't churn out another one
21:57:33 <AnMaster> so why wouldn't the same be true for C?
21:57:49 <AnMaster> and I don't know why it takes them so long to implement C99
21:57:59 <AnMaster> if they really wanted it could certainly be done by now
21:58:00 <ais523> have you ever tried to implement C99
21:58:09 <ais523> that nobody wants to is the point, more or less
21:58:11 <AnMaster> ais523, no, nor C90
21:58:13 <ais523> it means it's failing as a standard
21:58:15 <AnMaster> C89*
21:58:22 <ais523> heh, two names for the same thing
21:58:27 <AnMaster> ais523, people have implemented the nice bits from it
21:58:31 <ais523> only difference between C89 and C90 is the section numbers
21:58:37 <AnMaster> ais523, it was actually an off by one key error
21:58:44 <AnMaster> not a joke about the different names
21:58:44 <ais523> ha
22:00:39 * AnMaster wonders if the expression && makes sense
22:00:42 <AnMaster> as in
22:00:56 <AnMaster> foo ** bar == &&quux;
22:01:11 <Deewiant> Of course not
22:01:19 <AnMaster> yeah where would the middle pointer be
22:01:20 <AnMaster> anyway
22:01:25 <AnMaster> would it make sense with a space?
22:01:29 <AnMaster> probably not either
22:01:39 <lifthrasiir> AnMaster: unary &&?
22:01:41 <AnMaster> foo ** bar == &(&quux);
22:01:42 <ais523> AnMaster: foo ** bar == foo * (*bar)
22:01:47 <AnMaster> that is how it should parse
22:01:48 <AnMaster> IMO
22:01:56 <ais523> also, you can't take the address of an address
22:02:01 <ais523> that's like writing &6;
22:02:04 <AnMaster> ais523, without a middle variable yes
22:02:09 <fizzie> GCC computed-goto extension has stolen unary && already. :p
22:02:14 <ais523> in gcc, unary && is the address-of-label operator
22:02:16 <AnMaster> fizzie, heh
22:02:27 <AnMaster> ais523, why doesn't normal & work for that?
22:02:35 <ais523> labels have a different namespace to variables
22:02:37 <lifthrasiir> anyone stolen unary || then? :p
22:02:40 <AnMaster> hm
22:02:43 <ais523> so you need to say which you're taking the address of
22:02:51 <AnMaster> oh right
22:02:53 <AnMaster> hm
22:03:00 <AnMaster> why & btw?
22:03:02 <AnMaster> or *
22:03:15 <AnMaster> it doesn't really make much sense
22:04:36 <AnMaster> foo*bar is multiplication, foo**bar then? what is that? multiplying a dereferenced pointer I would assume, but that is certainly confusing. There is only one valid way to interpret it but still
22:04:42 <AnMaster> that is another issue
22:04:52 <AnMaster> but still, why & for reference and * for dereference
22:04:56 <AnMaster> anyone knows?
22:05:25 <lifthrasiir> that traces back to BCPL.. maybe.
22:05:48 <lifthrasiir> in BCPL, BPL or whatever before C, once '*c' is used instead of '\c'
22:06:23 <AnMaster> why would \ make sense there?
22:06:26 <lifthrasiir> i mean '*n' and '\n', hmm
22:06:30 -!- pikhq has joined.
22:06:34 <AnMaster> heh
22:08:28 <fizzie> comp.compilers: "To answer why C has such bad syntax for pointers, you should look at BCPL. It had two indirection operators, !ptr and ptr!offset. The former turned into C's *ptr and the latter split into ptr[offset] and ptr->offset."
22:08:34 <fizzie> That's not really an explanation, though.
22:12:12 <fizzie> That was in the context of people proposing a postfix * instead of prefix * for dereferencing; so "a[i]*" and not "*a[i]", where you have to bounce back-and-forth to decode it.
22:13:31 -!- neldoreth has joined.
22:24:34 <AnMaster> fizzie, heh
22:24:49 <AnMaster> I like *(*foo->bar)->quux
22:24:53 <AnMaster> and such
22:25:19 <AnMaster> FireFly, that is a lot of bouncing indeed
22:25:24 <AnMaster> err
22:25:25 <AnMaster> fizzie, ^
22:25:26 <FireFly> Indeed it is
22:25:28 <FireFly> :(
22:25:47 <AnMaster> FireFly, what do you expect with that nick?
22:26:06 <AnMaster> ^style
22:26:06 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft nethack pa speeches ss wp
22:26:09 <AnMaster> ^style nethack
22:26:10 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
22:26:11 <AnMaster> hi fungot
22:26:11 <fungot> AnMaster: they say that venus sprang from the oligocene of asia... the legend of his hidden pot of gold in a waterproof bag that had a local celebration called " o learned one of the old, old man, " where does this beggar came from the " lord of the modern day domestic dog, canis dingo, of course, but sometimes...
22:26:34 <ais523> fungot: more nonsense, please
22:26:34 <fungot> ais523: valkyrie, valkyrie: the elves, and finally a god of the strangers that sojourn in israel, or yeti, is human apart from his horse at the shoulder. ( conan the avenger by robert e. howard)
22:26:37 <fizzie> I don't know the legend of Venus' hidden pot of gold in a waterproof bag.
22:26:43 <AnMaster> the legend of his hidden pot of gold in a waterproof bag that had a local celebration called " o
22:26:45 <AnMaster> lovely
22:27:03 <AnMaster> Israel?
22:27:07 <AnMaster> in nethack?
22:27:10 <ais523> fungot: keep going
22:27:10 <fungot> ais523: cave*man, human cave*man: now issek of the half-extinguished light, they make many clever ones. the waves to the land, and a horn. it protects all who carry it from the bottom the only place to go before i sleep.
22:27:16 <ais523> AnMaster: it's in the flavour text, probably
22:27:34 <AnMaster> ais523, flavour text?
22:27:35 <ais523> there's a lot of flavour text in nethack, and people hardly ever read it
22:27:43 <ais523> AnMaster: using /
22:27:49 <AnMaster> hm
22:27:54 <ais523> and answering y to the "More information?" prompt
22:27:58 <fizzie> It's for Moloch.
22:28:01 <AnMaster> oh
22:28:02 <ais523> everyone just uses ; though because it's faster and does the same thing
22:28:07 <AnMaster> fizzie, huh
22:28:15 <AnMaster> ais523, ah yes I always used ; indeed
22:28:16 <fizzie> A direct quote from (Leviticus 20:1-5).
22:28:19 <AnMaster> never even knew about /
22:28:30 <AnMaster> fungot, details?
22:28:31 <fungot> AnMaster: they say that some fire ants will make you batty, for a change of scenery. people steal souls. ( a field guide to fantasyland, by richard patrick)
22:28:47 <AnMaster> heh
22:29:04 <AnMaster> nice with references at the end
22:29:05 <fizzie> The data.base file, from which the model was built, is ~200k of ascii text. That's a sizeable book. Lots of quotations, of course.
22:29:09 <AnMaster> wikipedia would love that
22:29:31 <AnMaster> fungot, go on...
22:29:31 <fungot> AnMaster: they say that the delphic oracle knows that speed kills. figurative: _a paper tiger_, something that is accidentally dropped will hide under a larger object.
22:29:46 <AnMaster> heh
22:29:50 <AnMaster> the last...
22:30:17 <fizzie> There's a proposal for a new C++ syntax that would make *(*foo->bar)->quux look like foo^.bar^^.^ or something like that, as close as I can understand. http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProposal.html#section3.4 if you feel like it.
22:30:18 <AnMaster> pit below some small food item anyone?
22:30:22 <AnMaster> sounds familiar?
22:30:38 <AnMaster> foo^.bar^^.^
22:30:39 <AnMaster> what
22:30:43 <AnMaster> that makes no sense
22:30:56 <fizzie> ^ as the dereferencing operator, and . with the good old member-of syntax.
22:31:06 <fizzie> So -> gets superfluous, as it's just ^.
22:31:08 <AnMaster> The C++ equality test (val1 == val2) has been changed in SPECS to val1 = val2, as this binding for "=" is more consistent with widespread mathematical usage. The inequality operators ("!=", "<", "<=", ">", ">=") are unchanged.
22:31:10 <AnMaster> argh
22:31:11 <fizzie> And postfix ^, yes.
22:31:13 <AnMaster> so how would one do:
22:31:24 <Deewiant> AnMaster: One would use a temporary.
22:31:35 <AnMaster> Deewiant, even so
22:31:36 <fizzie> One would use the assignment operator, :=.
22:31:37 <ehird> specs is hot
22:31:43 <AnMaster> it would break <cfoo> headers
22:31:51 <ehird> would it?
22:32:00 <ehird> why not just handle that syntax internally
22:32:06 <ehird> and translate
22:32:07 <AnMaster> ehird, system headers with that idiom? ((a = b) == c) yes?
22:32:09 <AnMaster> I have seen it
22:32:16 <ehird> why not just handle that syntax internally
22:32:17 <ehird> and translate
22:32:17 <AnMaster> in macros yes
22:32:23 <ehird> why not just handle that syntax internally
22:32:23 <ehird> and translate
22:32:29 <AnMaster> ehird, for all edge cases? good luck
22:32:37 <ehird> AnMaster: you mean like... a c++ parser?
22:32:38 <ehird> i think those exist.
22:32:52 <AnMaster> ehird, yes but how can you detect which was meant in all cases?
22:32:56 <AnMaster> it is a breaking change
22:32:57 <ehird> ...
22:32:59 <ehird> what?
22:33:13 <ehird> i mean you parse <c*> as C, then translate to SPECS
22:33:14 <ehird> trivial
22:33:14 <AnMaster> making = mean == in if context breaks stuff
22:33:24 <ehird> = means == in every context
22:33:29 <AnMaster> ehird, what about other ones? Like random C libraries
22:33:46 <ehird> AnMaster: "If you include .h or .hpp or .hh or .H it's parsed as C or C++ then converted to SPECS"
22:33:49 <AnMaster> iirc valgrind client request headers has it
22:33:53 <AnMaster> mhm
22:33:56 <ehird> SPECS files would have a different file extension, obviously
22:34:06 <fizzie> Alternatively you can just translate all SPECS source files into "standard" syntax, if you feel like it, and use your old compiler.
22:34:07 <AnMaster> right
22:34:16 <ehird> fizzie: That would be more compatible, yes.
22:34:43 <AnMaster> oh it isn't about suggested C++ changes
22:34:47 <AnMaster> like fizzie said
22:34:50 <AnMaster> but another language
22:34:50 <ehird> ... yes, it is
22:34:51 <AnMaster> right
22:34:52 <ehird> no
22:34:55 <ehird> it's a proposed new syntax for c++
22:34:57 <AnMaster> what is SPECS then?
22:35:02 <ehird> to replace the old one
22:35:18 <AnMaster> is it still TC to parse?
22:35:21 <ehird> no.
22:35:24 <ehird> [it's by Damian Conway of Perligata fame]
22:35:29 <ehird> [and some other person who's less interesting]
22:35:47 <AnMaster> not Conway as in GOL?
22:35:51 <ehird> no.
22:35:53 <AnMaster> oh
22:35:53 <ehird> he is not a programmer.
22:35:55 <AnMaster> true
22:35:56 <ehird> he is an old mathematician.
22:36:19 <AnMaster> relatives?
22:36:34 <ehird> No.
22:36:35 <fizzie> Well, I don't think it changes the type system or templates, more than just the consmetic syntactic changes, so I don't think it makes C++ compiler-writers any happier; it's just supposed to be nicer to read and use.
22:36:39 <ehird> Conway is not uncommon as a second name.
22:36:50 <ehird> fizzie: No, i think it stops the foo<> ambiguity
22:36:55 <ehird> So it wouldn't be tc to parse
22:36:56 <ehird> just compile
22:37:10 <fizzie> Oh, right. There is that.
22:37:35 <fizzie> I'm not sure if there was still some "must know whether this is a type or not" situations.
22:37:46 <fizzie> I'm not a C++ expert at all. :/
22:38:08 <AnMaster> x := p-> template alloc<200>();
22:38:08 <AnMaster> The SPECS equivalent is:
22:38:08 <AnMaster> x := p^.alloc<[200]>();
22:38:10 <AnMaster> well sure
22:38:16 <ehird> AnMaster: that's delicious
22:38:18 <fizzie> But it indeed stops the <> problem with the <[ ... ]> brackets.
22:38:19 <AnMaster> but -> is nicer than ^.
22:38:20 <AnMaster> IMO
22:38:24 <ehird> it just looks pretty
22:38:27 -!- ais523 has quit (Remote closed the connection).
22:38:33 <fizzie> p→alloc!
22:38:34 <AnMaster> ehird, I think -> looks more logical though
22:38:44 <ehird> AnMaster: it's called familiarity
22:38:58 <fizzie> At least ^ is pointier than the *. :p
22:39:10 <AnMaster> ehird, partly yes, but -> is more vertically symmetrical than ^.
22:39:26 <fizzie> (AnMaster probably won't like the fact that they've changed bitwise xor from ^ to ! then.)
22:39:39 <AnMaster> fizzie, what happened to logical not then?
22:39:40 <AnMaster> ...
22:39:43 <fizzie> That's unary.
22:39:48 <AnMaster> oh true
22:39:51 <fizzie> "a ! b" didn't mean anything sensible, yet.
22:40:09 <AnMaster> FireFly, still ! for xor doesn't make a lot of sense, nor does ^
22:40:15 <AnMaster> what about the keyword xor?
22:40:39 <FireFly> Now you remind me of VBScript
22:40:50 <AnMaster> FireFly, I was thinking about erlang, it has bxor
22:40:56 <AnMaster> for bitwise xor
22:40:57 <FireFly> Ah
22:41:19 <AnMaster> does vbscript do xor heh
22:41:35 <fizzie> I think they've kept that.
22:41:42 <fizzie> (C++ already does keywords for operators.)
22:42:06 <AnMaster> fizzie, nothing wrong with keywords for operators
22:42:26 <ehird> Scala does operators nicely, `a b c` is just `a.b(c)`
22:42:40 <AnMaster> fizzie, have they fixed the "recompile all code linked against header when private members change" yet?
22:42:54 <AnMaster> for classes
22:42:56 <fizzie> C++ has "xor" as a synonym for ^, but & and | are "bitand" and "bitor", because "and" and "or" are reserved for && and ||.
22:43:03 <fizzie> Well, no, it's still C++.
22:43:56 <fizzie> What is a bit silly is that since bitand means &, you can use it whenever you'd use a &: so "char *foo = &bar;" can be written as "char *foo = bitand bar;" or so I believe.
22:44:01 <AnMaster> ehird, what do the ` mean in that?
22:44:11 <ehird> AnMaster: code.
22:44:37 -!- oerjan has joined.
22:44:45 <AnMaster> ehird, are they part of the code, or just quotes in your irc line. that is in-band or out of band?
22:44:53 <ehird> latter.
22:44:59 <AnMaster> right
22:45:14 <fizzie> It looks like... well, a number of wiki-markups, the backticks-for-code.
22:45:18 <ehird> 22:43 fizzie: What is a bit silly is that since bitand means &, you can use it whenever you'd use a &: so "char *foo = &bar;" can be written as "char *foo = bitand bar;" or so I believe.
22:45:20 <ehird> that's awesome
22:45:24 <ehird> fizzie: I stole it from markdown
22:46:03 <AnMaster> fizzie, I was thinking `` as in shell
22:46:05 <AnMaster> first
22:46:29 <AnMaster> ehird, so you do \` in markdown to escape one?
22:46:33 <ehird> AnMaster: Yes.
22:46:39 <AnMaster> heh
22:46:47 <fizzie> DokuWiki uses ''monospaced'', but I think Confluence (that proprietary "enterprise wiki" by Atlassian) does `code`. Maybe, might remember wrongly too.
22:47:08 <AnMaster> what we really need is out of band markup
22:47:10 <AnMaster> no idea how
22:47:21 <AnMaster> no escapes in the data
22:47:33 <AnMaster> maybe markup as a separate stream with offsets in the other one
22:47:40 <AnMaster> but that would be hard to maintain
22:47:45 <ehird> AnMaster: xanadu had out of band markup
22:47:54 <AnMaster> ehird, how did it work?
22:48:03 <ehird> ask ted nelson.
22:48:05 <fizzie> Just send the markup as TCP "urgent" data.
22:48:15 <AnMaster> :D
22:48:37 <AnMaster> fizzie, what about when they are stored on disk or edited though?
22:48:46 <fizzie> Different files then, I guess.
22:48:46 <ehird> Ted Nelson also invented the word "teledildonics".
22:48:55 <ehird> Meaning "dildos controlled via computers".
22:49:07 <ehird> He is rather anti-sane.
22:49:27 <AnMaster> ehird, ... indeed
22:49:37 <fizzie> "Other products being released fit a new category called bluedildonics, which allow a sex toy to be controlled remotely via a Bluetooth connection."
22:49:57 <AnMaster> released? heh
22:50:19 <fizzie> That was accompanied with a Wired article-link, http://www.wired.com/culture/lifestyle/commentary/sexdrive/2004/09/65064
22:50:36 <ehird> I believe there's a GNU/LINUX POWAHED server for teledildonics thingies; which gave me an awful image involving richard stallman.
22:50:55 <ehird> Mental image that is
22:51:11 -!- olsner has quit ("Leaving").
22:51:19 <ehird> I wonder what the c++0x guys will do when it turns to 1x
22:51:58 <AnMaster> -_-
22:54:01 <AnMaster> what is *.cfm?
22:54:06 <ehird> windows help
22:54:28 <AnMaster> I was reading the url fizzie linked and one link was "http://www.exn.ca/mini/startrek/holodeck.cfm"
22:54:33 <AnMaster> it just doesn't work in firefox
22:54:38 <Deewiant> AnMaster: Cold Fusion
22:54:41 <ehird> oh
22:54:42 <AnMaster> it redirects to an invalid host
22:54:48 <Deewiant> ehird: That's chm
22:54:49 <ehird> cold fusion
22:54:50 <ehird> right
22:54:52 <ehird> Deewiant: yep
22:54:54 <AnMaster> as in invalid top domain
22:55:00 <AnMaster> does the link work for anyone?
22:55:06 <ehird> no
22:55:07 <AnMaster> or does it redirect to *.camini
23:02:17 <AnMaster> As a consequence of the change in the equality operator, the C++ assignment operator (ref = val) becomes ref := val in SPECS1. As might be anticipated, the compound assignment operators become "+:=", "-:=" , "*:=", etc.
23:02:22 <AnMaster> this reminds me of pascal
23:03:53 <AnMaster> night
23:03:57 <AnMaster> don't forget the the date
23:04:03 <AnMaster> none of us wan't to get fooled right?
23:09:33 <fizzie> Yes, well, it says it's Pascal-inspired, somewhere in there.
23:10:37 <oerjan> AnMaster: i cannot be fooled, i'm wearing my tinfoil hat
23:14:28 -!- FireFly has quit ("Night").
23:27:24 -!- nooga has joined.
23:29:22 <nooga> http://www.hokstad.com/writing-a-compiler-in-ruby-bottom-up-step-1.html
23:29:24 <nooga> mehehe
23:30:27 <ehird> old
23:30:57 -!- lifthras1ir has joined.
23:31:46 <nooga> tried it myself
23:32:07 <nooga> but i don't know x86 asm well enough
23:32:22 <ehird> target c?
23:32:51 <nooga> beh
23:32:52 <nooga> lame
23:33:07 <ehird> llvm?
23:35:12 <nooga> does it target normal processors?
23:35:16 <ehird> yes.
23:35:41 <nooga> mm compiler -> llvm -> x86 machine code ?
23:35:43 <ehird> your language -> llvm asm -> aggressive optimization and suchlike -> tuned processor-specific machine code
23:35:49 <ehird> well
23:35:54 <ehird> instead of llvm asm you should use their library
23:35:57 <ehird> btu w/e
23:35:59 <ehird> *but
23:36:04 <nooga> ah
23:36:09 <nooga> sounds good
23:36:19 -!- lifthras1ir has left (?).
23:36:28 <ehird> nooga: yeah, there's llvm-gc
23:36:29 <ehird> *gcc
23:36:29 -!- lifthras1ir has joined.
23:36:33 <ehird> which is stable enough for general use
23:36:40 <ehird> and they have their own c/c++/obj-c compiler called clang that's rapidly maturing
23:36:49 <ehird> it's been heavily invested in by Apple so its not going anywhere
23:40:23 -!- BeholdMyGlory has quit (Remote closed the connection).
23:45:27 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)).
23:53:54 <nooga> this whole llvm looks quite awesome
23:54:15 <ehird> nooga: Its gc support is flaky although it does have some hooks
23:54:18 <ehird> but apart from that, indeed.
23:54:23 <nooga> and it links statically
23:54:28 <ehird> hm?
23:54:37 <ehird> wut?
23:54:47 <nooga> so that there is no problem with distribution
23:54:53 <ehird> oh
23:54:57 <ehird> right
23:55:00 <nooga> no additional binaries are needed
23:55:11 <ehird> yes, it's a native compiler after all
23:55:24 <ehird> nooga: if you compile llvm on os x, beware
23:55:32 <ehird> you MUST tell it to compile with 'gcc-4.2'
23:55:33 <ehird> not 'gcc'
23:55:40 <ehird> because 'gcc' is an older version that llvm trips some bugs on
23:55:46 <ehird> (they don't show up until you actually try it)
23:56:03 <ehird> forgot I have to tell everyone that :d
←2009-02 2009-03 2009-04→ ↑2009 ↑all