←2008-04-20 2008-04-21 2008-04-22→ ↑2008 ↑all
00:00:18 <ehird> oerjan: No, but it does sound nice.
00:01:21 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
00:02:17 * oerjan now knows what a ting is, and thinks it should have been on the bell
00:22:53 -!- Slereah_ has joined.
00:28:41 <ehird> oerjan: Envelopes can't ring.
00:28:57 <oerjan> they cannot ting either
00:29:17 <ihope> They can if they have a silver lining.
00:29:46 <oerjan> which of course there always is
00:30:02 * Sgeo wonders why oerjan isn't in #ircnomic
00:31:10 -!- oerjan has quit ("Because i'm going to bed").
00:49:38 -!- timotiis has quit (Read error: 110 (Connection timed out)).
01:26:57 -!- ehird has quit (Remote closed the connection).
02:21:21 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
02:21:53 -!- Judofyr has joined.
04:05:16 <Slereah_> Two more BF clones? :o
04:05:19 <Slereah_> Will this never end?
04:08:00 <RodgerTheGreat> unlikely
04:08:25 <Slereah_> We need a new flag languag.
04:08:26 <Slereah_> e
04:08:57 <Slereah_> Something bold.
04:08:59 <Slereah_> Exciting.
04:09:05 <Slereah_> Turing complete!
04:09:44 <Slereah_> It should have a simple instruction set, and intuitive concept!
04:16:58 <Slereah_> Let's make an ESO meeting.
04:17:09 <Slereah_> Who's the PR guy of ESO?
04:18:25 <RodgerTheGreat> /// is my vote
04:18:33 <RodgerTheGreat> it's simple, intuitive, elegant
04:18:46 <RodgerTheGreat> unfortunately it's only vaguely possible that it's TC
04:19:20 <RodgerTheGreat> ais523 and I have done a bit of work on a proof-of-concept halting loop, but no real luck so far
04:36:50 <RodgerTheGreat> I'll interpret the lack of response as Slereah_ going completely insane trying to use ///.
04:37:43 <Slereah_> Well, it's 5AM here.
04:37:47 <Slereah_> So I'm not trying anything
04:38:08 <RodgerTheGreat> ah
04:41:55 <Slereah_> Looking at it, the 99 doesn't seem very loopy indeed.
04:44:59 <RodgerTheGreat> it's a simple compression algorithm, not really a loop
04:49:59 <RodgerTheGreat> clever, yes, but far less interesting
04:50:51 <RodgerTheGreat> the main reason I think /// ought to be TC is because the find-and-replace operation *itself* has to do looping and some conditional branching
04:51:41 <RodgerTheGreat> it's also possible to construct simple logic gate like things, but making them arbitrarily extensible (or resetable) is tricky
04:59:25 -!- Judofyr_ has joined.
04:59:25 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
05:22:37 -!- Judofyr_ has quit (Read error: 110 (Connection timed out)).
05:54:47 -!- Sgeo has quit ("Ex-Chat").
06:01:05 -!- olsner has joined.
06:37:44 -!- calamari has quit ("Leaving").
06:47:06 -!- Judofyr has joined.
07:03:41 -!- jix has joined.
07:19:49 -!- Judofyr has quit.
07:49:47 -!- GreaseMonkey has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:01 -!- Iskr has joined.
08:46:25 -!- sebbu2 has joined.
08:56:05 -!- olsner has quit ("Leaving").
09:03:41 -!- sebbu has quit (Read error: 110 (Connection timed out)).
09:19:11 -!- jix has quit ("CommandQ").
09:28:47 -!- immibis has joined.
09:29:26 <immibis> immybo would ask "is anyone here any good with microsoft paint?" but he can't be bothered coming online.
09:29:48 <immibis> and wtf is a fluffy bell ring or an envelope ting?
09:53:08 -!- immibis has left (?).
10:47:46 -!- GreaseMonkey has quit ("Unisex.").
10:54:57 -!- pikhq has quit (Read error: 110 (Connection timed out)).
11:04:28 -!- Corun has joined.
11:56:53 -!- ais523 has joined.
12:10:11 <ais523> ais523: ping
12:10:29 <ais523> [CTCP] Received CTCP-PING reply from ais523: 42 seconds.
12:10:37 <ais523> OK, there's definitely something up with the wireless
12:10:51 <ais523> and that was without me manually editing the timestamp, by the way, and using a proper IRC client
12:17:07 <AnMaster> ais523, hi, you got the mail I sent a few days ago?
12:17:15 <AnMaster> ais523, about ick failing to compile on freebsd
12:17:31 <ais523> AnMaster: yes, did you get my reply?
12:17:35 <AnMaster> ais523, nop
12:17:51 <AnMaster> oh wait it *just* arrived
12:17:57 <AnMaster> right when I hit enter
12:18:03 <ais523> I'll try resending it
12:18:38 <AnMaster> ais523, err ^
12:19:06 <ais523> yes, I hit 'stop' on my webmail program when I read that, not sure whether it resent or not
12:19:23 <AnMaster> real name or nick, hm in a intercal... hm good question...
12:19:31 <AnMaster> nick in that case I think
12:19:37 <ais523> everyone else has used their real name so far, as it happens
12:19:47 <AnMaster> well use the real name then
12:20:08 <ais523> except for the people who created the Atari distribution, who are completely anonymous
12:20:58 <AnMaster> by the way, your mail client does "include original message in reply" in an unusual way
12:21:32 <AnMaster> it seems to include it at the end of the signature, and without the normal > in front of the lines
12:21:39 <ais523> AnMaster: I know
12:21:48 <AnMaster> what client is it?
12:21:52 <ais523> Exchange
12:21:59 <ais523> believe it or not, that's what it does in plain-text view
12:22:00 <AnMaster> eww
12:22:03 <ais523> I don't use it through choice
12:22:19 <ais523> fun fact: the webmail version of Exchange works properly in Firefox but not in IE
12:22:27 <AnMaster> eh what?
12:22:35 <AnMaster> is it an old exchange version or something
12:22:39 <ais523> it detects that the browser isn't IE
12:22:56 <ais523> and so falls back to text which doesn't use super-proprietary Microsoft extensions which also happen to be buggy
12:23:04 <AnMaster> ahaha
12:23:14 <ais523> I just get a JS error when I try it on IE sometimes, although other times it works fine
12:23:27 <ais523> I think it's something to do with the IE version or patchlevel, but I don't particularly care
12:24:02 <AnMaster> hm
12:25:40 -!- Corun has quit ("This computer has gone to sleep").
12:28:42 <AnMaster> ais523, the mail says "3 and a half bug"
12:28:44 <AnMaster> hm
12:29:01 <AnMaster> lets see, 1) 64-bit issue, 2) freebsd issue 3) ???
12:29:05 <ais523> the FTBFS on FreeBSD and Mac OS X were the same bugs
12:29:41 <ais523> --prefix
12:29:48 <ais523> and a typo in the documentation for -b
12:29:48 <AnMaster> ais523, maybe try autoscan, it generates a configure.scan file with tests it think are needed, could be useful for see if something is missing in configure.ac
12:29:56 <ais523> AnMaster: I did, and used it as a guide
12:30:03 <AnMaster> ah
12:30:05 <ais523> when I redid the autoconfiguration
12:30:29 <ais523> I've rewritten quite a bit of the file to allow for proper --prefix sandboxing, though
12:30:35 <AnMaster> by the way, does any system lack stdargs.h these days?
12:31:12 <ais523> AnMaster: not as far as I know, but CLC-INTERCAL still supports Baudot and punched cards, and maintaining compatibility as far back as possible is a running INTERCAL in-joke
12:31:23 <AnMaster> ok
12:31:34 <AnMaster> what is "baudot" btw?
12:31:38 <ais523> I've never come across a single INTERCAL program written in EBCDIC, but C-INTERCAL + convickt could run it if possible
12:31:47 <ais523> baudot was a 5-bit character set used by teletypewriters
12:31:58 <ais523> so slightly more advanced than Morse Code, but not by much
12:32:07 <ais523> I think it predates networked computers, but am not sure
12:32:24 <AnMaster> ok...
12:33:01 <ais523> according to Wikipedia, it was proposed in 1874, and the advanced version with shift codes was implemented around 1901
12:33:06 <ais523> so old indeed
12:33:21 <AnMaster> did computers use it?
12:34:23 <ais523> not sure, it was mostly a teletypewriter code
12:34:30 <AnMaster> ok
12:34:46 <ais523> it's a bit awkward to use in computers due to the shift codes involved
12:34:57 <AnMaster> shift codes is?
12:35:12 <ais523> 5-bit characters aren't enough to encode all the character set by themselves
12:35:19 <AnMaster> indeed
12:35:30 <ais523> so some characters are reserved as shift characters which modify the meanings of future characters
12:35:37 <AnMaster> ah I see
12:35:54 <ais523> ordinary Baudot has a shift to interpret characters as letters, and a shift to interpret characters as numbers/punctuation
12:36:24 <ais523> CLC-INTERCAL extended Baudot allows double-shift-codes that do lowercase letters and characters from the INTERCAL character set that aren't in the standard punctuation set
12:36:57 <AnMaster> well maintaining ick must be painful
12:37:17 <ais523> the Baudot stuff's in a separate file
12:37:31 <ais523> clc-cset.i handles all the CLC-INTERCAL character sets, and everything else is done in Latin-1, ASCII, or UTF8
12:37:32 <AnMaster> even so, in general I mean
12:37:48 <ais523> anyway, there's an interesting caveat with your --prefix problem:
12:37:55 <AnMaster> ais523, err, you do the conversion in intercal?!
12:38:05 <ais523> AnMaster: no, in C
12:38:12 <ais523> it certainly could be done in INTERCAL
12:38:13 <AnMaster> "<ais523> clc-cset.i handles all the CLC-INTERCAL character sets..."
12:38:20 <AnMaster> sounds like you meant .c?
12:38:24 <ais523> yes, I meant .c
12:38:26 <ais523> sorry
12:38:27 <AnMaster> ah
12:38:36 <AnMaster> ok, what's the problem with --prefix?
12:38:55 <ais523> in order to install Info documentation, you need to modify /usr/share/dir (locations vary)
12:39:08 <ais523> but by default the prefix is /usr/local, so the documentation can't be installed
12:39:18 <AnMaster> iirc you only need to modify the "dir" file in the same directory that you install in
12:39:27 <ais523> AnMaster: there is only one "dir" file on the system
12:39:36 <ais523> at least on my laptop
12:39:43 <ais523> if there is a "dir" file on the system, great
12:39:56 <AnMaster> err...
12:40:01 <AnMaster> there are several here
12:40:05 <ais523> s/system/prefix directory/
12:40:12 <AnMaster> /usr/share/info/dir
12:40:12 <AnMaster> /usr/share/info/emacs-22/dir
12:40:15 <AnMaster> /usr/share/binutils-data/x86_64-pc-linux-gnu/2.17/info/dir
12:40:16 <ais523> AnMaster: so that method will work on your laptop
12:40:18 <AnMaster> and so on
12:40:24 <ais523> s/laptop/computer/
12:40:26 <ais523> (sorry)
12:40:44 <AnMaster> ais523, I think there is a list of the dir files somewhere central
12:40:57 <ais523> on setups like mine where the prefix doesn't contain a dir file (as would happen with your create-this-for-me prefix)
12:41:02 <AnMaster> /etc/env.d/00basic:INFOPATH="/usr/share/info"
12:41:04 <AnMaster> /etc/env.d/50emacs:INFOPATH=/usr/share/info/emacs-22
12:41:06 <AnMaster> yep
12:41:06 <ais523> I now don't install into the main documentation tree
12:41:10 <AnMaster> and env-update builds the list
12:41:12 <ais523> by default, at least
12:41:19 <AnMaster> at least on gentoo
12:41:25 <AnMaster> ais523, so there can indeed be more than one dir file
12:41:27 <ais523> I instead give a warning saying that the Info stuff won't be installed because the dir file isn't inside the prefix
12:41:42 <ais523> AnMaster: can be, but on some systems isn't, and I need to handle those
12:42:07 <AnMaster> ais523, anyway on gentoo an ebuild should never touch the dir file, it is regenerated by some system scripts when needed
12:42:09 <ais523> if the user wants to install to the dir tree anyway (outside the prefix), they can request that by symlinking a dir file from inside the prefix to outside
12:42:45 <ais523> for the man database, there's a much simpler method: I only regenerate that if you install as root
12:43:09 <ais523> and otherwise leave it alone for maintenance scripts to update
12:43:34 <AnMaster> ais523, so if ick ever becomes a gentoo package, it would error out with something like: "error can not install this package, it is trying to overwrite a file it shouldn't" I think
12:43:54 <ais523> the people who packaged it would just comment out those lines
12:43:57 <AnMaster> or that may only happen when the file is owned by some other package, in this case it may not detect it as the file doesn't below to any package
12:44:13 <ais523> besides, I check for install-info in the config script, if it isn't there I assume it isn't needed
12:44:27 <AnMaster> install-info does exist
12:44:53 <AnMaster> ais523, man database?
12:44:58 <ais523> check for mandb too
12:45:04 <ais523> but only use it if the install process runs as root
12:45:28 <AnMaster> err, you mean for apropos?
12:45:44 <ais523> yes
12:45:58 <AnMaster> there is no mandb command
12:46:05 <ais523> well, I check for it
12:46:10 <ais523> and if it isn't there I assume it isn't needed
12:46:32 <AnMaster> makewhatis is used to generate the db
12:46:36 <AnMaster> at least on gentoo
12:46:41 <AnMaster> and it is in a cron script
12:47:10 <ais523> it's in a cron on Ubuntu too, but it's hardly userfriendly to install documentation with no obvious way to access it
12:47:25 <ais523> (less severe for man than for install-info, because typing man directly would work)
12:47:25 <AnMaster> um? man ick?
12:47:33 <ais523> yes, man ick works
12:47:58 <AnMaster> for telling man to search the right dir, well it's MANPATH set in /etc/env.d/somefile on gentoo
12:48:11 <ais523> manpath's rarely a problem
12:48:28 <AnMaster> so if you needed a custom one, you could install say /etc/env.d/60ick or something like that
12:48:32 <ais523> apart from mandb sometimes picking up two copies of man pages in /usr/local because it finds them both via a symlink and the realpath
12:48:43 <ais523> and I don't need a custom man directory
12:48:45 <AnMaster> well mandb is stupid then?
12:48:50 <ais523> AnMaster: yes, it is
12:49:02 <AnMaster> whatever "makewhatis" is, I think it is smarter
12:50:01 <AnMaster> ais523, anyway, why a symlink?
12:50:16 <ais523> I didn't put it there, it's in the default directory structure
12:50:26 <ais523> it's something like /usr/local/man to /usr/local/share/man
12:50:27 <AnMaster> of what? debian?
12:50:35 <ais523> Ubuntu, so presumably Debian
12:50:51 <AnMaster> hm gentoo got that too heh
12:51:53 <ais523> probably to increase portability of installs
12:52:05 <ais523> install-info is arguably broken when installing to a symlink, anyway
12:52:09 <AnMaster> ais523, btw want me to try to compile ick on openbsd? I can do that later this week
12:52:19 <ais523> AnMaster: the more operating systems the better
12:52:33 <ais523> actually, I should probably send the patched development somewhere
12:52:39 <ais523> to make this a bit less cathedral-style
12:52:58 <AnMaster> try version control, distributed version control should fit you perfectly
12:54:02 <ais523> yes, likely a good idea
12:54:38 <AnMaster> ais523, of course, if you really do need it on dos......
12:54:42 <ais523> my current version control is reasonably frequent .tgz snapshots (getting more frequent in the run-up to a release), and setting Emacs to backup files in a directory other than the originals
12:55:04 <ais523> AnMaster: I just copy the .tgz to DOS, and test it there, and if it fails change some things and test the resulting source on Linux, etc., iterating to a solution
12:55:41 <ais523> the other-directory thing, by the way, is so I don't lose work typing 'rm *' (I once deleted all my files about Underlambda that way, which is why I set up the separate-directory backup)
12:56:06 <ais523> I didn't mean to type rm *, it was a typo, but it's something that it's useful to be protected against
12:57:00 <AnMaster> well... version control would also help
12:57:14 <ais523> yes, it would
12:57:21 <ais523> I may switch to that when I have the time
12:57:34 <ais523> probably using darcs, because that's installed here already and I have a vague idea of how to use it
12:58:24 <AnMaster> it isn't hard really, like 1-2 minutes. start with a clean source copy. (no *.o and such), run the command to make a repo, for bzr it is: bzr init, other ones are similar
12:58:53 <AnMaster> then bzr add . for bzr, to add recursively. commit. then build. see what "unknown files" are listed, and add those to the ignore list
12:59:01 <AnMaster> bzr ignore "*.o" for example
12:59:14 <AnMaster> then commit the ignores when you are happy with them
12:59:28 <ais523> should I include temp/parser.c, temp/lexer.c and temp/oil.c?
12:59:32 <AnMaster> ais523, the exact commands differ between bzr/hg/git, but the basic idea is the same
12:59:35 <ais523> they're compiled from yacc and lex files
12:59:47 <AnMaster> ais523, generated files should probably not be included
12:59:48 <ais523> but I include them in the distribution for DOS users without yacc or lex
13:00:13 <AnMaster> I don't include configure, only configure.ac, HOWEVER, in a distributed tar ball I include configure
13:00:18 <AnMaster> ie, make dist
13:00:30 <AnMaster> you can make automake handle the make dist
13:00:35 <ais523> makes sense
13:00:43 <ais523> although I don't use automake
13:00:47 <AnMaster> to generate a directory ready to be distributed, then tar it up
13:00:53 <AnMaster> well, something similar then
13:00:58 <AnMaster> a shell script or whatever
13:01:31 <ais523> presumably it /can/ handle the need to generate a compiler compiler from source (using yacc as a compiler compiler compiler), then using it to compile the compiler
13:01:34 <ais523> but I don't want to try
13:01:36 <AnMaster> you can export clean copies, bzr export, don't know the commands for the other ones
13:01:53 <AnMaster> then run some shell script to generate the missing files, ie: configure, your *.c files and such
13:01:56 <ais523> for tarring up for me, it's make distclean, then ls -R1 > MANIFEST.txt, then tar it up
13:02:19 <AnMaster> ais523, well, make distclean could leave some *~ files or such around possibly
13:02:20 <ais523> sh etc/ctrlmfix.sh too if I've been editing on DOS to try to fix the line endings
13:02:29 <ais523> AnMaster: my distclean removes *~ files
13:02:45 <ais523> but I generate those in a separate directory nowadays, as I said earlier
13:02:45 <AnMaster> while a command like bzr export, only export the version controlled files
13:02:55 <AnMaster> something like:
13:03:01 <AnMaster> #!/usr/bin/env bash
13:03:24 <AnMaster> rm -rf dist; mkdir dist && bzr export . dist
13:03:27 <AnMaster> cd dist
13:03:30 <AnMaster> autoreconf
13:03:39 <AnMaster> <command to generate the *.c files>
13:03:55 <AnMaster> echo "Done, now rename it to the ick-1.2.3.4 and tar it up!"
13:04:11 <AnMaster> autoreconf generates the configure files and so on
13:04:23 <AnMaster> much better than the older way with a complex ./autogen.sh
13:04:33 <AnMaster> ais523, see the basic idea :)
13:04:58 <AnMaster> actually not sure if you need to mkdir it before exporting, could depend on what version control system and so on
13:05:17 <ais523> the best thing about version control is that I can still do things with my makefile if needed
13:05:25 <ais523> just letting version control handle controlling versions
13:05:28 <AnMaster> ais523, even if there are no *~, there could be other things, say *.orig from a patch or so on
13:05:40 <ais523> I go over the MANIFEST by eye
13:05:44 <AnMaster> hm?
13:05:49 <AnMaster> ah
13:05:54 <ais523> I don't like stray files littering the src directory anyway
13:06:07 <ais523> and I may need to take action concerning them
13:06:20 <ais523> so I find doing it manually to be useful
13:06:25 <AnMaster> well then bzr ignored could list all ignored files, again similar commands exist for other programs
13:07:23 <ais523> it's also nice to be reminded at the same time of all the files which are there
13:07:35 <AnMaster> ais523, anyway, generating files for a tar ball should be quite easy :)
13:07:39 <ais523> yes, it's easy both ways
13:09:26 <AnMaster> and then you need some place to put the repo, some webspace, depending on what version control system you select the needs are different, for example bzr can work with a "dumb" webserver, ie, no special configuration. you can send file over by, scp or ftp to upload
13:09:42 <AnMaster> hg prevers some cgi script to work well
13:09:48 <AnMaster> git I don't know
13:10:01 <AnMaster> ais523, but there are hosting sites for them
13:10:17 * ais523 is annoyed at darcs and mySQL for erroring on -ise spellings and accepting -ize
13:10:22 <AnMaster> bzr: launchpad, which should fit you as an ubuntu user
13:10:23 <ais523> how am I meant to remember which to use?
13:10:33 <ais523> it's as bad as the COLOR/COLOUR in BASIC
13:10:36 <AnMaster> err?
13:10:42 <AnMaster> ais523, what?
13:10:55 <AnMaster> I use Brittish English in my programs
13:11:13 <ais523> yes, but my gripe is with keywords which differ in American and British English
13:11:16 <ais523> they should accept both spellings
13:11:38 <ais523> using British English in the Win32 API will cause loads of link errors, for instance
13:11:39 <AnMaster> well I assume intercal does that?
13:11:55 <ais523> AnMaster: I think all INTERCAL keywords are dialect-agnostic
13:12:20 <AnMaster> ais523, well why not POSIX, most of the time it isn't full words
13:12:22 <ais523> and internal identifiers tend to be abbreviated anyway
13:12:42 <AnMaster> just stuff like memcmp instead of memory compare (that may actually be ANSI C rather than POSIX, not sure)
13:12:52 <ais523> have you seen SQL, by the way? It seems even better than Cobol as a candidate for the language INTERCAL's statement syntax was parodying
13:12:56 <AnMaster> windows would have called it MemoryCompareEx
13:13:02 <ais523> AnMaster: heh
13:13:14 <AnMaster> ais523, I used some sql yes, mainly postgresql
13:13:19 <ais523> you're right, of course
13:13:39 <ais523> my favourite SQLism: ANY and SOME do the same thing
13:13:55 <AnMaster> but nothing apart from the basic SELECT/INSERT/UPDATE/DELETE stuff
13:14:04 <ais523> so you can write `column` = ANY (...) and also `column` <> SOME (...)
13:14:12 <ais523> so it flows more naturally in English, you see...
13:14:14 <AnMaster> ais523, done some sqlite too
13:14:16 <ais523> it's almost as bad as PLEASE
13:14:41 <AnMaster> I don't remember what ANY or SOME does
13:15:05 <ais523> mysql> help analyse;
13:15:05 <ais523> Name: 'PROCEDURE ANALYSE'
13:15:11 <ais523> mysql> help analyze;
13:15:11 <ais523> Name: 'ANALYZE TABLE'
13:15:14 <ais523> that really is bad
13:15:20 <AnMaster> yeah indeed
13:15:22 <AnMaster> report a bug?
13:15:34 <ais523> can't be bothered right now
13:16:11 <ais523> I might at some point, but I'm just using mysql to learn SQL because it's what I happened to get when collecting dependencies
13:16:35 <ais523> (I'm learning how to write server-side web applications at the moment, so I installed MediaWiki for the dependencies.)
13:17:36 <ais523> anyway, expr op ANY (list) returns TRUE expr op value is TRUE for any value in the list
13:17:43 <ais523> and SOME does exactly the same thing as ANY
13:17:50 <AnMaster> ok
13:18:41 <ais523> the other related operator is ALL, which does what you'd probably expect given the above description
13:19:49 <ais523> (incidentally, J's 'you never need a loop' philosophy is taken even further to the extremes in SQL)
13:20:06 <AnMaster> by the way, a MemoryCompareEx on windows would take 7 arguments, three of them are pointers to structs with unions in them with even more parameters
13:20:07 <ais523> SQL is almost Turing-complete, but there's no way to write an infinite loop without extensions, I think
13:20:19 <ais523> I've seen a LOOP statement but don't know if it's standard
13:21:04 <ais523> AnMaster: thinking about what they'd likely do, two would be handles to the memory pages the memory is allocated in, two would be offsets within the pages, and one would be a pointer to a struct describing the request and setting parameters, so I'd guess 5 params
13:21:18 <ais523> actually, 6, because the Ex normally means they had to add an extra parameter at some point
13:21:24 <AnMaster> ah right
13:21:53 <ais523> (adding extra params to the struct is backward-compatible in Windows API because they have to list the sizeof the struct as its first element)
13:22:15 <AnMaster> huh, that's insane
13:22:56 <ais523> I've been known to use that technique for binary file formats I create, when I feel like creating a binary file format (usually as the save file for a game)
13:23:20 <AnMaster> hm, a version number is saner
13:23:24 <ais523> but if doing it in an API is a good idea, you've got more fundamental problems elsewhere
13:23:29 <ais523> such as API bloat
13:24:44 <AnMaster> ais523, consider how inspircd does protocol for example, in the initial protocol negotiation the servers send protocol version numbers, if they don't match they abort the link
13:25:11 -!- Corun has joined.
13:25:20 <ais523> well, I don't intend to change the file format once I've finished initial development
13:25:23 <AnMaster> I think the current protocol version is 1105, 11 for 1.1, and 05 for the 5th revision since 1.1.0 was released
13:25:35 <AnMaster> all of them happened in early versions
13:25:45 <ais523> but I use the save files to help test things, and it would be a bit awkward to have to continuously replay the games every time I changed their format
13:25:53 <ais523> so I put auto-update-from-older-version code in
13:26:08 <AnMaster> what games are these?
13:26:54 <AnMaster> anyway the normal way of handling it is adding some form of cheat mode while developing
13:27:01 <ais523> little toy things that have never been released
13:27:05 <ais523> there are cheat modes too
13:27:17 <ais523> but having a consistent game state is more useful
13:27:30 <ais523> as well as allowing me to develop the program and map/levels simultaneously
13:27:30 <AnMaster> for example supertux got a console that lets you run things in the script language it use (squirrel)
13:27:44 <ais523> one of my games stored all its information in binary
13:27:47 <AnMaster> ais523, oh and why binary formats?
13:27:54 <ais523> and you could type a cheat combination and type in raw hex
13:27:56 <AnMaster> supertux use S-Expressions :D
13:28:24 <AnMaster> binary formats is harder to maintain
13:28:35 <ais523> binary formats because it saves atoi overhead, and because breaking portability is sort-of what you want with games
13:28:46 <AnMaster> you want that?
13:28:49 <ais523> you don't want it easy for the user to edit the save file either
13:29:32 <AnMaster> hm
13:29:43 <AnMaster> ais523, well level files shouldn't be in binary then
13:29:52 <ais523> they're in text in some of the games
13:30:02 -!- Corun has quit (Client Quit).
13:30:12 <ais523> in some cases I store them in spreadsheets, using the background colour directly
13:30:15 <AnMaster> ais523, allowing users to make custom levels in fun
13:30:20 <ais523> yes
13:30:24 <AnMaster> err..? spreadsheets??
13:30:26 <ais523> I used to extract the colours with Excel macros
13:30:39 <AnMaster> wait a second... this sounds insane?
13:30:48 <ais523> but OpenOffice.org macros are lousy, so now I parse the raw ODF
13:31:01 <AnMaster> ais523, why a document format for it!?
13:31:13 <ais523> writing a level editor is hard
13:31:14 <AnMaster> I mean... even xml is better than that
13:31:28 <ais523> setting pixels by higlighting them in a spreadsheet program and clicking on a background colour is easy and intuitive
13:31:46 <ais523> and you can type commands directly into the cells
13:31:59 <ais523> yes, so it's insane, but useful in some cases, especially when you have many different background colours
13:32:08 <ais523> most text editors don't have a decent rectangle fill
13:32:29 <AnMaster> ais523, writing a level editor is simpler than parsing a spreadsheet file
13:32:33 <ais523> and with the ones that do, it isn't as intuitive as a spreadsheet, plus you can't store commands in the same place as the colours without breaking the ASCII art
13:32:35 <AnMaster> and less prone to bitrot
13:32:42 <AnMaster> file formats change
13:32:51 <AnMaster> I think openoffice changed it's once, not sure
13:34:19 <ais523> http://filebin.ca/xkcbq/ods2gbm.pl <-- you can write a level editor simpler than that?
13:34:36 <ais523> and OpenOffice.org did change its file format once, to comply with the international ODF standard
13:35:14 <ais523> pretty much all office suites except MS Office use ODF nowadays, and the bits of that standard I use are unlikely to change
13:35:23 <AnMaster> ais523, you can reuse a lot between the game and the level editor
13:35:28 <AnMaster> ie, rendering, parsing and so on
13:35:52 <ais523> with a level editor, you generally want much larger amounts of the level to fit onto screen at once than when playing the game
13:36:08 <AnMaster> yes, and?
13:36:37 <ais523> now suppose you're using a custom bitmap tileset, which I often am
13:36:43 <AnMaster> if you use opengl to render it you could just move the camera further away
13:36:46 <ais523> and the tiles become indistinguishable from each other when scaled down
13:36:51 <ais523> AnMaster: nothing nearly so advanced
13:36:55 <ais523> my Windows games used GDI
13:37:02 <ais523> and just blitted prerendered bitmaps to the screen
13:37:08 <ais523> although I am learning OpenGL at the moment
13:37:14 <AnMaster> ais523, supertux use tiles of *.png, it renders them by either sdl or opengl, the level editor is opengl only
13:37:19 <ais523> most of the games ran under DOS
13:37:23 <ais523> some were even text-mode
13:37:26 <AnMaster> zooming is easy, just some matrix tranformation
13:37:36 <ais523> I have an ASCII-art platformer somewhere
13:37:56 <AnMaster> ais523, well nothing wrong with that, but you can't show more of the level with that
13:38:00 <ais523> actually, IBM-extended-art
13:38:07 <ais523> AnMaster: no, you couldn't
13:38:28 <AnMaster> anyway you want to be able to zoom in a level editor, to see both the details and to get an overview
13:38:29 <ais523> I just used edit.com as an editor for that (it worked the best out of the editors I had installed on Windows at that time)
13:38:38 <ais523> if I was doing it nowadays I'd probably use Emacs
13:38:53 <ais523> AnMaster: you aren't helping your case that a level editor is easier than just parsing some ODF
13:39:06 <ais523> after all, both Excel and OpenOffice.org already have zoom functions
13:39:14 <ais523> as well as nifty things like copy-paste
13:39:21 <AnMaster> ais523, point is you can reuse a lot of the game engine
13:39:28 <AnMaster> at least if you do it with opengl or similar
13:40:01 <AnMaster> ais523, and level parsing/writing is done with serializing classes to <your custom format>
13:40:29 <AnMaster> or structs if you aren't used object orientation
13:41:12 <ais523> mostly arrays, actually
13:41:20 <AnMaster> ok
13:41:36 <ais523> and when using binary I just write them with fwrite
13:42:25 <AnMaster> in supertux you can have multiple tilemaps, some solid, other not, to create say rising lava in a level you would fill a tilemap with lava, set it to solid, and add a path, then add a script activator somewhere to start the moving of the tilemap along the path
13:43:02 <AnMaster> each tilemap is a class, the tileids are stored in an array of the tilemap
13:44:13 <ais523> heh, to create rising lava I just fill lots of squares with character 219, foreground set to red...
13:44:24 <AnMaster> and how do you make it rise?
13:44:55 <AnMaster> anyway having multiple tilemaps, with different z-index, well... a spreadsheet wouldn't work then
13:45:34 <ais523> AnMaster: 2D, one direction is gravity
13:45:36 <AnMaster> ais523, with a design such as that of supertux, a level editor is quite simple. a lot of code can be shared, just add a few dialog boxes and a draw tool basically
13:45:41 <ais523> so I make it rise by filling in more square
13:46:14 <AnMaster> supertux is also 2D
13:47:07 <AnMaster> ais523, point is, depending on the design of the game engine, adding a level editor need not be harder than trying to parse a spreadsheet
13:47:23 <ais523> did you look at my spreadsheet parser?
13:47:28 <ais523> it's only a couple of screens of Perl
13:47:29 <AnMaster> I did
13:47:38 <ais523> and a substantial portion of that is defining which colours map to which tiles
13:50:25 <AnMaster> ais523, yet how would you handle multiple tilemaps in a spreadsheet
13:50:36 <AnMaster> or features like adding a path
13:50:38 <ais523> what do you mean by multiple tilemaps, here?
13:50:53 <AnMaster> ais523, say a foreground tilemap, a background one and so on
13:50:57 <AnMaster> that are overlayed
13:51:07 <AnMaster> some can be solid
13:51:27 <AnMaster> at least one should be solid
13:51:31 <AnMaster> but more are allowed
13:51:34 <ais523> I've used patterns (an Excel) feature before when doing that sort of thing, and they could be used for that purpose
13:51:51 <AnMaster> ais523, a limit on amount of tilemaps then
13:52:23 <AnMaster> I think supertux doesn't have a limit, though 3-5 are recommended, more than that and the game could become slow on old computers
13:52:26 <ais523> I never used more than 1 anyway
13:52:44 <AnMaster> ais523, it is quite useful for creating effects
13:52:52 <AnMaster> and nice looking levels
13:53:04 <ais523> effects are a bit advanced for what I was doing
13:53:26 <ais523> except for the most recent stuff, it was a case of black blobs are walls, cyan blobs are people, etc...
13:53:28 <AnMaster> ais523, consider that some tiles can be transparent, say a grass tile doesn't take up the whole tile
13:53:34 <AnMaster> then you want a tree in the bg
13:53:38 <ais523> yes it does
13:53:46 <ais523> and if I want a tree I'll place a tree tile
13:53:57 <AnMaster> ais523, with a bush in front?
13:54:05 <AnMaster> you need a custom tile for each one then
13:54:16 <ais523> but I'm looking at the game world from above
13:54:18 <AnMaster> instead, you could place a tree and in front of it a bush
13:54:24 <AnMaster> ais523, ah? not a side scroller?
13:54:38 <ais523> my side scrollers never got beyond the ASCII-art stage
13:54:40 <AnMaster> supertux is a side scroller
13:55:07 <AnMaster> ais523, oh and what about secret areas
13:55:23 <ais523> some games didn't have any
13:55:37 <ais523> other games just had them far enough from the main view that they weren't onscreen at the same time as the main areas
13:55:47 <AnMaster> you want say a grotto on the side that is hidden, then when you enter it, the wall fades away so you can see what's inside the area
13:55:48 <ais523> because you could only see about 4 tiles away from where you were in most games
13:55:54 <AnMaster> then you want several tilemaps
13:56:07 <ais523> AnMaster: I did that with lots of triggers and recolour commands
13:56:19 <ais523> go near the wall and it creates the cavern for you
13:56:21 <AnMaster> ais523, sounds like harder to maintain
13:56:25 <ais523> walk away from the wall and it fills it back in
13:56:30 <ais523> and it was hard to maintain
13:56:52 <AnMaster> with supertux you could add a script trigger with say: tilemapfoo.fade();
13:57:05 <AnMaster> (you can name objects that you can use in scripts heh)
13:57:19 <AnMaster> actually not sure it is fade(), need to check script api docs XD
13:57:43 <AnMaster> http://supertux.lethargik.org/wiki/Scripting_reference
13:58:01 <AnMaster> ah it's: fade(float alpha, float seconds)
13:58:22 <ais523> not FadeTilemapEx?
13:58:25 <AnMaster> hahaha
13:58:38 <AnMaster> ais523, well the api is somewhat sane IMO
13:58:42 <AnMaster> compared to windows API
13:58:55 <ais523> AnMaster: you could say that about most APIs
13:59:07 <AnMaster> and it is object orientated so...
13:59:12 <ais523> I'd even venture to say that the C-INTERCAL external calls API is somewhat sane compared to the Windows API
13:59:14 <AnMaster> ais523, well sane overall
13:59:16 <ais523> and it has COME FROMs in
14:00:31 <AnMaster> ais523, the only issue is that calls tend to be non-blocking, so if you want a cut scene where you want to fade and wait for it to finish, then do something else and so on, you need to add calls to wait()
14:00:58 -!- timotiis has joined.
14:01:02 * ais523 envisions what a cross between C++ and bash would be like
14:01:08 <ais523> tilemapfoo.fade(a,b) &;
14:01:09 <AnMaster> ais523, err why?
14:01:14 <AnMaster> hahah
14:01:38 <AnMaster> ais523, well, I don't know how the internals of the scripting part work on the C++ side actually
14:01:52 <AnMaster> but the scripting language is one called squirrel
14:02:05 <AnMaster> and there is where the issues are, rather than in the scripting API
14:02:41 <ais523> actually, that C++/bash hybrid doesn't seem so ridiculous; bash has a nice easy-to-use attitude to concurrency
14:03:09 <ais523> then all we need are ONCE, AGAIN, computed ABSTAIN, REINSTATE, and COME FROM, and you can construct most threading primitives pretty easily
14:03:09 <AnMaster> want a variable that stays around until next time the script snippet is called? IIRC, you do something like: this.foo <- true
14:03:11 <AnMaster> for example
14:03:37 <AnMaster> ais523, just one thing: bash does concurrency by fork() iirc
14:03:50 <ais523> yes, fork/exec
14:03:56 <AnMaster> brb food?
14:03:58 <ais523> its concurrency model isn't powerful, or anything like that
14:04:01 <AnMaster> err s/?/
14:04:12 <ais523> it's just that it's easy to type and think about
14:12:45 <AnMaster> hm
14:13:06 <AnMaster> ais523, oh and it does fork for a lot of other cases where it really isn't needed
14:13:07 <AnMaster> say:
14:13:33 <AnMaster> foo is a bash function, it only uses bash built-ins
14:13:48 <AnMaster> then you do say: myvariable=$(foo bar quux)
14:13:55 <AnMaster> that will fork and capture the output
14:14:06 <AnMaster> when the function is builtin, it really wouldn't be needed
14:14:41 <AnMaster> ais523, the only way to return a value from a function therefore is to use a out variable
14:14:42 <ais523> that's why bash recommends $(< file) rather than $(cat file)
14:14:43 <AnMaster> so:
14:14:54 <AnMaster> foo myvariable bar quux
14:14:56 <AnMaster> then in foo
14:15:08 <AnMaster> printf -v "$1" "%s" "$tempvariable"
14:15:18 <AnMaster> that needs bash 3.1 or later
14:15:28 <AnMaster> the -v option to printf didn't exist before that
14:15:37 <AnMaster> ais523, well for reading a file sure
14:15:58 <ais523> BTW, $() is just backquotes, but nestable, right?
14:16:33 <AnMaster> ais523, iirc yes, there may be more syntax differences related to quoting though, but not sure
14:16:42 <AnMaster> just using $() is simpler
14:16:47 <AnMaster> easier to read and so on
14:17:07 <AnMaster> and unless you need it to run on really old shells it works fine
14:17:30 <AnMaster> of course for a configure script for example you want backquotes therefore
14:17:48 <ais523> I like backquotes anyway
14:17:58 <ais523> I'm glad they're in ASCII
14:18:07 <AnMaster> well so are $ and ( and ) iirc?
14:18:13 <ais523> yes
14:18:17 <AnMaster> ais523, anywa ` is just `<space> here
14:18:21 <ais523> but I'm not surprised that they're in ASCII
14:18:22 <AnMaster> anyway*
14:18:28 <AnMaster> ie, ` is a "dead key"
14:18:31 <AnMaster> on Swedish keyboard
14:18:46 <ais523> makes sense, most languages need more letters than English does
14:18:49 <AnMaster> for stuff like é and such
14:19:11 <fizzie2> ` is dead in the normal Finnish keymap, too, but I always make it undead, since I need ~s and such far oftener than strange accented characters.
14:19:27 <AnMaster> actually the forward one is just same as the backward one, same key but ` is shift key as well
14:19:44 <AnMaster> fizzie2, err, "need ~s"?
14:19:55 <AnMaster> what has ~ got to do with `?
14:20:24 <fizzie2> At least here ~ is a dead key too. All three of ^, ~ and ¨ are in a single completely corpse-like key.
14:21:00 <ais523> on this UK keyboard I only have £ as non-ASCII characters, also a key which sometimes produces a weird vertical-bar-but-not-really char on Windows but is mapped to | on Linux
14:21:00 <AnMaster> ~ is a dead key here too, hm: AltGr+<dead key that is for stuff like ë> followed by space
14:21:25 <ais523> over here ~ is right next to return, so much so that you can type rm * rather than rm *~ by mistake
14:21:31 <AnMaster> ais523, you mean the split vertical bar thing?
14:21:37 <ais523> yes
14:21:44 <fizzie2> Finnish and Swedish keymaps should be pretty similar, I've used the Swedish one with NetBSD or something which didn't have a specific Finnish one in the default set.
14:21:47 <AnMaster> isn't that just a case of weird dos font?
14:21:52 <ais523> only the key /marked/ split vertical bar is over backspace
14:21:57 <ais523> that produces regular vertical bar
14:22:01 <AnMaster> fizzie2, yeah iirc they are more or less the same
14:22:10 <ais523> the key which looks like a regular vertical bar is AltGr-`
14:22:17 <ais523> and it produces split vertical bar on Windows
14:22:28 <AnMaster> http://en.wikipedia.org/wiki/Keyboard_layout#Swedish.2FFinnish
14:22:29 <ais523> and shade-half-the-pixel vertically on DOS
14:22:34 <ais523> s/pixel/texel/
14:22:34 <AnMaster> fizzie2, wikipedia says they are the same
14:23:11 <AnMaster> <ais523> only the key /marked/ split vertical bar is over backspace <-- I got no one marked like that here
14:23:25 <ais523> not surprising
14:23:26 <AnMaster> and, over backspace? that would be F11-F12 on this keyboard
14:23:28 <ais523> and not backspace
14:23:30 <ais523> backslash
14:23:32 <AnMaster> ah
14:23:34 <ais523> and 'over' as in with shift
14:23:41 <AnMaster> well \ is AltGr-+
14:23:47 <fizzie2> Actually in this particular keyboard the normal | key is marked with the broken-bar symbol.
14:23:48 <AnMaster> + being right of 0
14:23:50 <ais523> here \ is to the left of z
14:24:05 <ais523> `1234567890-=<backspace>
14:24:10 <AnMaster> fizzie2, AltGr-< you mean?
14:24:16 <ais523> <tab>?qwertyuiop[]<return>
14:24:24 <fizzie2> AnMaster; Yes. Of course it doesn't produce the silly broken-bar symbol.
14:24:34 <ais523> <capslock>asdfghjkl;'#<return>
14:24:35 <AnMaster> 1234567890+<dead key for backquote><backspace>
14:24:37 <AnMaster> ais523, ^
14:24:45 <ais523> <shift>\zxcvbnm,./<shift>
14:24:48 <AnMaster> § is in front of 1
14:24:53 <AnMaster> weird IMO
14:24:55 <ais523> I don't have section-sign on this keyboard
14:25:09 <fizzie2> We have a §, and shift-§ produces a ½.
14:25:23 <ais523> and | and € are the only chars on the whole keyboard that use AltGr
14:25:28 <fizzie2> I don't remember when I've last pressed that key non-accidentally.
14:25:31 <AnMaster> well I do, but that key looks unused (some keys no longer have readable symbols on them)
14:25:44 <AnMaster> it's about as useless as Shift-4 being ¤
14:25:48 <AnMaster> another symbol I never use
14:26:09 <AnMaster> fizzie2, same about the ½ bit
14:26:38 <AnMaster> I have used that once, in this channel, when I suggested that oklotalk should be able to parse that symbol as a fraction meaning 1/3
14:26:38 <ais523> my keyboard's really quite impoverished
14:26:39 <AnMaster> XD
14:26:43 <ais523> but US keyboards are even worse
14:26:49 <ais523> They have two keys for \, I think
14:27:00 <AnMaster> ais523, well there are more with AltGr, that aren't marked
14:27:05 <AnMaster> µ = AltGr-m
14:27:11 <ais523> that's actually useful
14:27:23 <AnMaster> that is about the only non-marked one I actually use
14:27:30 <AnMaster> wish there was one for pi
14:27:33 <AnMaster> but I don't think there is
14:27:37 <fizzie2> My home keyboard layout has altgr-[a-z] mapped to "correct" greek letters.
14:27:43 <AnMaster> oh AltGr-e = €
14:27:45 <fizzie2> So altgr-p would produce the pi symbol.
14:27:54 <AnMaster> AltGr-p = þ
14:27:55 <AnMaster> here
14:27:59 <AnMaster> whatever that one is
14:28:17 <fizzie2> Yes, the standard xfree/xorg altgr mapping is full of all kinds of unlikely characters.
14:28:33 <ais523> hey, it works here too, but they're unmarked chars
14:28:39 <AnMaster> fizzie2, I use more or less standard Swedish layout, except that I used xmodmap to do something useful with the windows keys
14:28:45 <AnMaster> one is meta, the other is super
14:28:53 <ais523> 攢ðeđŋħ→jĸłµnøþ@¶ßŧ↓“ł»←«
14:29:06 <ais523> oh, and the single Windows key here is super
14:29:22 <ais523> strange that there's a Windows key at all, though, because the laptop came with Linux preinstalled
14:29:22 <fizzie2> Þ and ð are part of at least the Icelandic alphabet.
14:29:26 <ais523> and XP manuals
14:30:08 <ais523> which was doubly confusing: both because a Linux computer doesn't need XP manuals, and because I didn't realise such manuals existed (I've haven't seen them with a Windows computer since 3.1)
14:30:40 <AnMaster> there are xp manuals?
14:30:53 <fizzie2> I can understand µ, since that's so very useful, but I don't quite see why of all the greek letters they've included kappa (ĸ) and not π or λ.
14:30:58 <AnMaster> iirc all there was was a "getting started" 4-page thing
14:31:48 <ais523> AnMaster: I think it may have just been a getting started thing, but it was about 100 pages long
14:34:09 <AnMaster> hm, the one I can find here, contains stuff like "here is how you find the help system, and this how awesome xp is"
14:34:35 <AnMaster> 6 pages in fact
14:35:02 <ais523> so they could only write 6 pages about how awesome XP was? Sounds about right
14:35:11 <ais523> Vista would have about 1 and a half pages of how wow it was
14:35:13 <AnMaster> well a lot was pictures
14:35:45 <AnMaster> and one page is how to find online help
14:35:56 <AnMaster> so 5 pages with a lot of pictures
14:36:25 <AnMaster> ais523, note that this isn't even a4, it is more like 20*10 cm, where 10 is the height
14:36:36 <ais523> mine was small too
14:36:42 <ais523> manuals rarely are A4
14:36:43 <AnMaster> quite thick and blank paper though
14:37:03 <AnMaster> ais523, well they are rarely wider than they are high though
14:37:07 <AnMaster> which this one is
14:37:20 <ais523> BTW, the reason I haven't been here much recently is that I was recovering from writing a report with a page limit of 80 pages in a group of 10 people
14:37:20 <AnMaster> I don't have a ruler here so can't check exactly
14:37:34 <AnMaster> ais523, about what?
14:37:37 <ais523> I had the job of reformatting it from 129 pages down to 80 without changing the paper size or font size
14:37:40 <ais523> AnMaster: university project
14:37:43 <AnMaster> ah
14:37:44 <ais523> I managed it, though
14:37:54 <AnMaster> ais523, what about margins then?
14:37:59 <ais523> standardising vertical whitespace, using tiny margins, and changing the font to Arial Narrow
14:38:04 <AnMaster> ah
14:38:12 <ais523> also moving pictures next to each other
14:38:27 <ais523> we had to move 3 pages worth of stuff to appendices to leave room for page numbers, though
14:38:28 <AnMaster> ais523, well not very readable then
14:38:33 <ais523> perfectly readable
14:38:44 <ais523> just not as space-wasting as usual
14:38:45 <AnMaster> I mean, too wide lines are not readable
14:38:59 <ais523> but the lines weren't much wider than regular lines
14:39:08 <AnMaster> hm, you said tiny margins?
14:39:10 <ais523> the margin was dropped from 1 in to 1 cm
14:39:19 <ais523> that's not a ridiculous proportional increase in line length
14:39:27 <AnMaster> so how long was the line then?
14:39:41 <AnMaster> anything wider than 12-13 cm is hard to read IMO
14:39:49 <ais523> A4 page width - 2 cm
14:39:50 <AnMaster> less is preferable
14:39:55 <ais523> you can work it out from that
14:40:37 <fizzie2> I had to fit an amount of text into a four-page two-column conference paper format without changing font sizes, fonts at all, margins, or just about anything; since they were all dictated by the latex template enforced by the conference organizers. Fortunately there weren't that many extra lines of text, so I got it done by tweaking the inter-figure/table spacing to be a bit narrower.
14:40:38 <AnMaster> well, that means something like 19 cm wide I think
14:40:59 <AnMaster> fizzie2, heh
14:41:49 <fizzie2> Now I just stuck the same text to a standard one-column \documentclass{article} template, since they're going to let me extend the paper a bit for study credits; and suddenly it produced a 12-page output file.
14:42:13 <ais523> the vertical whitespace is what saved most of the space for me
14:42:36 <ais523> we edited the report in Google Docs, and some people copy/pasted from Microsoft Word (which is not advisable)
14:42:36 -!- Corun has joined.
14:42:58 <ais523> so I exported as OpenOffice.org and used regexps to fix the paragraph breaks
14:43:14 <ais523> and then set paragraph spacing to single and between-paragraph spacing to half a line
14:44:05 <AnMaster> fizzie2, oh?
14:44:10 <AnMaster> interesting
14:44:37 <AnMaster> well the \documentclass{article} got sane line length IMO
14:45:17 <AnMaster> with 2 columns you can fill more of the page of course
14:45:29 <fizzie2> Yes, and the conference paper format was pretty space-efficient, two columns and 9pt font, or 8pt for references.
14:45:54 <AnMaster> 9 pt, a bit small
14:54:58 <fizzie2> The line length (when measured in characters) of the 9pt two-column thing seems to be about 80% of what the default article-class (12pt or 11pt or some-such font, nice and wide margins) has.
14:58:28 * ais523 has seen a web page where they have a middot with every possible combining diacritical mark on it
14:58:39 <ais523> to its credit, Firefox rendered the resulting mess plausibly
15:00:18 <ais523> http://forums.thedailywtf.com/forums/t/8425.aspx <--- it's a very esolang-attitude thing they're doing there, although you have to appreciate how bad the forum software is to get what they're doing
15:04:22 <fizzie2> I came across a rather horrible 10-or-so-combining-characters example somewhere on unicode.org, too, but the site is so hugey I can't find it againt; it wasn't in any of the three places I thought it might be.
15:06:14 <AnMaster> fizzie2, hm how is that possible?
15:06:33 <AnMaster> ais523, and that link doesn't seem to have those dots?
15:06:51 <ais523> AnMaster: they discussed using them for a while, and then moved onto even more insane things
15:07:05 <ais523> the whole discussion is what's interesting
15:07:06 <AnMaster> ais523, it's a long page, I can't find it
15:07:22 <ais523> basically, the forum software used doesn't escape anything but <script> and <object>
15:07:34 <AnMaster> hah
15:07:35 <ais523> also, it stores all the tags used anywhere in a hidden field on the page
15:07:48 <ais523> so they're trying to bring it down by generating huge numbers of tags
15:08:08 <AnMaster> haha
15:08:13 <ais523> they're using the no-escape thing to create fake posts; someone has a fake post generator in their signature
15:08:29 <ais523> the middot expands into a lot of HTML in the all-tags things whilst being very small onscreen
15:08:44 <ais523> but they wrote greasemonkey scripts to automatically put bits of hex in tags whenever they post
15:09:47 -!- Corun has quit ("This computer has gone to sleep").
15:10:57 <AnMaster> I see
15:11:18 <AnMaster> ais523, and this is thedailywtf, this means the whole site is a wtf in itself
15:11:19 <AnMaster> heh
15:11:36 <ais523> just the forums
15:11:55 <ais523> the SpectateSwamp threads are also worth dipping into, but they're massively long
15:12:44 <fizzie2> There's the character, ·̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́̕̚͠͡ͅ.
15:13:46 <ais523> from thedailywtf, or from the Unicode pages?
15:14:05 <ais523> I find it hard to tell what that character is on Konqueror, although it looked plausible
15:14:09 <fizzie2> From thedailywtf; findable with the string "possible combining".
15:14:38 <ais523> wow, it looks crazy in the tunes.org logs
15:15:14 <AnMaster> fizzie2, in my irc client that looks. um. unusual
15:15:38 <fizzie2> Firefox's "view selection source" seems to show it uncombined, ie. it's a long string of various dots and hooks and whatnot.
15:15:40 <ais523> AnMaster: how does ERC handle it?
15:15:43 <AnMaster> actually, I'm using a bnc with two clients connected to it, erc can not show that bit of unicode correctly at all
15:15:48 <AnMaster> it just handles the basic stuff
15:16:04 <AnMaster> xchat, on my other computer that is also connected to the bnc, well it shows it
15:16:16 <AnMaster> looks like corrupted screen image or something
15:16:35 <AnMaster> ais523, ERC just shows a lot of boxes with ? in in the font I use in it
15:16:42 -!- timotiis has quit (Read error: 110 (Connection timed out)).
15:16:48 <ais523> tunes.org seems to be trying to interpret it as latin-1 or something
15:16:50 <AnMaster> sadly emacs isn't good at utf8 stuff
15:17:17 <AnMaster> ais523, I run GNU emacs under X, I guess even running it in console would look better for that odd stuff fizzie2 posted
15:17:38 <AnMaster> actually in xchat, I THINK it is corrupted screen image in fact
15:17:44 <AnMaster> because it changes when I select it
15:17:46 <AnMaster> in odd ways
15:17:54 <AnMaster> ie, becomes twice as long and such
15:18:01 <ais523> I'll take a screenshot of what it looks like for me
15:18:04 <AnMaster> fizzie2, can you post a screenshot of how it *should* look
15:18:17 -!- Corun has joined.
15:18:41 <AnMaster> ais523, hm, emacs segfaulted when I tried to select that text, was running it under X
15:18:46 <AnMaster> but well I use cvs emacs so...
15:18:53 <ais523> looks like you found a bug
15:19:04 <AnMaster> ais523, tried it again, not reproducible
15:19:05 <fizzie2> I have no idea how it *should* look, and it looks remarkably different in Firefox and in this rxvt-unicode. It doesn't look pretty in either.
15:19:18 <fizzie2> It looks like http://www.cis.hut.fi/htkallas/tmp.png (scaled to 200%) in my terminal here.
15:19:25 <AnMaster> fizzie2, I think it is "undefined"
15:19:29 <ais523> I don't know if it makes sense at all
15:19:37 <ais523> it's basically a middot with every possible accent combined onto it
15:19:52 <AnMaster> fizzie2, it is about 20 chars long here
15:20:21 <AnMaster> fizzie2, xchat that is
15:20:33 <AnMaster> I'll upload screenshots
15:20:46 <ais523> http://imagebin.ca/view/9oqxjy.html
15:20:52 <ais523> what it looks like in my IRC client
15:21:38 <fizzie2> It seems to be a middot combined with backquote, forward quote, a small inverted cup, a tilde, a dash, a longer dash, a cup, a dot, two dots (diaeresis), a hook, a small ring (like in å), a different tilde, a different sort of cup, apostrophe, doublequote, ...
15:22:05 <ais523> all possible combining diacritics, in fact, as was explained in the thread
15:22:22 <ais523> the idea was to produce a character that was compact on screen but very long when escaped in HTML
15:23:07 <fizzie2> ... a bit tilted doublequote, a triangle, another different-looking inverted cup, a.. smudge, a sideways cup (both directions), inverted apostrophe; and that was just one third of 'em, I guess it doesn't make much sense to describe the rest.
15:24:14 <fizzie2> Yes, it pretty much seems to be the characters in http://www.unicode.org/charts/PDF/U0300.pdf in order.
15:25:48 <fizzie2> Although strictly speaking it's not all possible combining characters, there's a couple of supplemental unicode blocks containing... ahem, "less used" ones.
15:26:19 * AnMaster waits for image to compress
15:26:33 <fizzie2> Like u+20e3, "combining enclosing keycap", which draws a figure of a keyboard key around the character in question.
15:26:37 <AnMaster> http://omploader.org/vZ251 and http://omploader.org/vZ252
15:27:16 <ais523> combining enclosing keycap is a great idea! I can't believe I didn't know about that earlier.
15:27:27 <AnMaster> fizzie2, what do you think of how xchat renders it
15:27:28 <ais523> Can it be adapted to go round multiple characters?
15:27:31 <AnMaster> that is GTK
15:27:38 <fizzie2> The character before that is a combining enclosing screen, which is a vaguely tv-screen-shaped box.
15:28:13 <AnMaster> what does GTK use to render fonts?
15:28:21 <fizzie2> Well, the xchat screenshot looks like it's rendering quite a lot of the characters, but needs some work in combining them together.
15:28:44 <fizzie2> They've got the Pango library specifically for text layout.
15:28:46 <AnMaster> fizzie2, well it just use whatever GTK uses to render fonts
15:28:51 <AnMaster> ah pango then
15:28:57 <AnMaster> so probably a bug in pango I guess
15:29:01 <AnMaster> at least the version I got
15:29:11 <AnMaster> pango-1.18.4
15:29:15 <AnMaster> last stable on gentoo
15:29:43 <fizzie2> Well, that second screenshot is almost exactly what it looks like in the firefox "view source" window.
15:30:14 <ais523> unfortunately, combining enclosing keycap doesn't seem to be in any of my fonts
15:30:17 <AnMaster> fizzie2, wow if you select it left to right the speed of which the selection move is about 1/10 of that of the mouse
15:30:29 <AnMaster> that does not happen when selecting right to left
15:30:54 <AnMaster> with speed I mean, when you dragged the mouse 10 cm just about 1 cm has been selected
15:31:28 <AnMaster> total text corruption if you change so you begin in the middle and then drag the mouse upwards
15:31:34 <fizzie2> I don't think the Pango developers will lose any sleep over misrendering that particular character-combination even if it's their fault.
15:31:44 <ais523> although it's a single character for me, I can select bits of it
15:32:05 <AnMaster> fizzie2, indeed, however xchat does interesting things with Right-to-left override symbol
15:32:24 <AnMaster> ie, it looks reversed at first, but when you select it, it goes back to "normal"
15:32:36 <AnMaster> as in if there had been no right-to-left override
15:32:58 <AnMaster> and it only changes back when you scroll it out of view and then scroll it in again
15:33:01 <ais523> there was a punctuation mark that became a very minor Internet meme a while ago (the sort that registers on Wikipedia and then gets forgotten)
15:33:08 <AnMaster> (or changes to another tab and back)
15:33:19 <ais523> everyone was copying it around with copy-paste, and it had an RLO stuck to it that selected along with it
15:33:19 <AnMaster> ais523, oh? what one?
15:33:31 <ais523> and so it caused the rest of the page to be written right-to-left
15:33:52 <AnMaster> ais523, err depends, well maybe that happens in html
15:33:59 <ais523> I don't know its official name; it was being referred to as a 'circle of commas', but it wasn't the char itself but the RLO next to it that caused the chaos
15:34:01 <AnMaster> xchat changes back on new line at least
15:34:26 <AnMaster> ais523, oh, I see, forums wouldn't filter it I bet
15:34:30 <AnMaster> I see the problem XD
15:35:56 <AnMaster> HAH, if I copy and paste that symbol fizzie2 into the input box of xchat, then it looks like one char
15:35:57 <AnMaster> hehehe
15:36:04 <AnMaster> just not in main channel view
15:36:29 -!- fizzie2 has changed nick to fizzie.
15:36:44 <fizzie> Huh, hadn't noticed I was a -2 even after all that talk.
15:37:06 <ais523> if you're interested, here's the circle-of-commas char: ‫‬‭‮‪‫‬‭‮‫‬‭‮‪‫‬‭‮҉. It seems to manage the reversal just fine in my client (although it's probably the RLO doing that)
15:37:20 <ais523> does the effect extend to this line?
15:37:25 <ais523> apparently not
15:37:44 <ais523> I like the way it managed to reverse the parens; presumably they're opening and closing paren, not left and right
15:37:48 <AnMaster> oh kwrite renders it correctly
15:38:08 <AnMaster> selection is still slightly broken, but not as much as in GTK
15:40:09 <ais523> I'm using Konversation, which presumably renders it the same way
15:40:15 <ais523> what did the circle of commas do?
15:40:28 <AnMaster> ais523, about reversal
15:40:36 <AnMaster> xchat fails to handle it on the next line
15:40:44 <AnMaster> so "my client ..." is "normal"
15:40:53 <ais523> so it goes back to normal, or everything's still reversed?
15:41:05 <AnMaster> if I make the window wider, it reverses those too when they end up on same line
15:41:15 <AnMaster> ais523, I mean it goes back to normal no new line
15:41:22 <AnMaster> new even when it is in the same message
15:41:27 <ais523> so nothing's reversed?
15:41:47 <AnMaster> ais523, yes it is, up to, but not including: "my"
15:42:01 <ais523> that doesn't make any sense at all
15:42:07 <ais523> did your client line-wrap there?
15:42:08 <AnMaster> ais523, because due to window width, "my" ends up on a new line...
15:42:11 <ais523> ah
15:42:13 <AnMaster> exactly
15:42:17 <ais523> so it just effects the line of text
15:45:09 <AnMaster> ais523, aye, and another thing, how did you make that circle?
15:45:18 <ais523> I copy/pasted it from the Wikipedia move log
15:45:24 <AnMaster> move log hm?
15:45:25 <ais523> someone had created an article at that title
15:45:31 <ais523> and I remembered the title it had been moved to
15:45:35 <AnMaster> and then it was moved where?
15:45:41 <ais523> 'Circle of commas', I think
15:45:53 <ais523> but it's a redirect now
15:46:34 <ais523> it's much easier to find the original page with admin priveliges, though, because the move summary line in the history that makes it easy to find was deleted
15:47:05 <AnMaster> ais523, hah
15:47:46 <ais523> [[Wikipedia:Articles for deletion/Circle of commas]] also contains the character, it may be easier to get it from there if you aren't an admin
15:48:09 <AnMaster> Wikipedia does not have an article with this exact name. Please search for Articles for deletion/Circle of commas in Wikipedia to check for alternative titles or spellings.
15:48:10 <AnMaster> hm?
15:48:17 <AnMaster> http://en.wikipedia.org/wiki/Articles_for_deletion/Circle_of_commas
15:48:21 <AnMaster> ?
15:48:36 <ais523> yes
15:48:39 <ais523> how did I do that?
15:48:46 <ais523> must be weirdness in my client
15:48:57 <AnMaster> err what?
15:49:01 <ais523> http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Wikipedia:Articles_for_deletion/Circle_of_commas
15:49:03 <AnMaster> ah
15:49:12 <AnMaster> because your client did [[ ]]
15:49:18 <AnMaster> or you did
15:49:25 <ais523> I did the [[]]
15:49:28 <AnMaster> ah
15:49:29 <ais523> but it didn't work for some reason
15:49:38 <AnMaster> ais523, work? what do you mean?
15:49:39 <ais523> I have http://en.wikipedia.org/wiki/Special:Search?go=Go&search=e: for links to Esolang too
15:49:47 <ais523> um...
15:50:00 <ais523> \quote PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Special:Search?go=Go&search=e:
15:50:03 <AnMaster> if you write [[ ]], you send [[ ]]
15:50:05 <ais523> http://en.wikipedia.org/wiki/Special:Search?go=Go&search=e:
15:50:15 <ais523> yes, but I'm trying to put an e: inside the [[]]
15:50:22 <AnMaster> anyway I missed the Wikipedia: that's all
15:50:34 <AnMaster> [[e:]]
15:50:35 <AnMaster> yes?
15:50:39 <ais523> yes
15:50:43 <AnMaster> what about that
15:50:45 <ais523> I tried to send it in a /quote privmsg
15:50:50 <ais523> and I've set it to link to Esolang
15:50:53 <ais523> e.g. http://esolangs.org/wiki/BackFlip
15:50:57 <AnMaster> eh
15:51:08 <AnMaster> oh you got some client side script that is messing up for you?
15:51:41 <ais523> yes
15:53:07 <ais523> anyway, ‫‬‭‮‪‫‬‭‮‫‬‭‮‪‫‬‭‮҉. could come in useful for writing Befunge programs
15:55:52 <AnMaster> ais523, err, how?
15:56:13 <AnMaster> the interpreter would read char (8 bits) by char
15:56:16 <ais523> allowing right-running text to appear the right way round to the user
15:56:28 <ais523> you put a RLO and LRO around the text
15:56:37 <AnMaster> ais523, so if the editor showed it as less than that, ie, it would handle unicode
15:56:40 <ais523> so it's readable but actually runs the other way in the source code
15:56:47 <AnMaster> well... columns wouldn't match
15:56:49 <AnMaster> so say:
15:56:52 <AnMaster> > v
15:56:59 <AnMaster> v ö <
15:57:22 <AnMaster> while that looks like the v points to the < it wouldn't do so for the interpreter
15:57:30 <AnMaster> because ö would be multiple bytes
15:57:45 <ais523> well, use zwnjs or something in the other rows to line up against them
15:58:26 <AnMaster> ais523, is that how long ö is in bytes?
15:58:40 <ais523> depends on the encoding
15:58:44 <ais523> yes in UCS2
15:58:49 <ais523> not sure in UTF8, probably not
15:59:05 <ais523> but you have nbsps if you need a 2-byte UTF8 char
15:59:11 <AnMaster> anyway zwnjs are all valid funge instructions, w alters direction of ip, and j jumps ip so...
15:59:17 <AnMaster> ;aaa;
15:59:18 <AnMaster> maybe
15:59:42 <ais523> &zwnj;
15:59:52 <AnMaster> ais523, in either case I don't recommend doing it, because it would be hard to edit
15:59:59 <ais523> like a space, but zero-width and doesn't wrap
16:00:11 <AnMaster> ais523, you are still talking about befunge source code?
16:00:20 <ais523> yep
16:00:25 <AnMaster> it doesn't do &whatever; you know
16:00:26 <AnMaster> that's HTML
16:00:29 <ais523> but I have to call the character something
16:00:32 <AnMaster> ah
16:00:35 <ais523> and you wouldn't be able to see it if I pasted it literally
16:00:44 <AnMaster> &zwnj; is what?
16:01:03 <AnMaster> I mean, what is it for
16:01:04 <ais523> zero-width non-joiner
16:01:12 <AnMaster> ok, still what is it for
16:01:18 <ais523> mostly used in certain scripts where characters flow into each other, to say that they shouldn't
16:01:26 <AnMaster> ok hm
16:01:30 <ais523> I don't know any of the languages where it's useful, though
16:01:55 <AnMaster> Arabic got flow together thing I think
16:02:35 <ais523> there's also &zwj;, which is just as invisible to someone who uses English
16:02:40 <ais523> it's sort of the opposite
16:03:00 <AnMaster> "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.)"
16:03:29 <AnMaster> that does not mean unicode though, it means systems where the native size of characters are several bytes
16:03:36 <ais523> ah, in that case it works like UCS2
16:03:43 <AnMaster> as in sizeof(char) != 8
16:03:46 <ais523> 'stored in multiple bytes' is interestingly ambiguous
16:03:54 <ais523> I'd argue that char is always 1 byte, by definition
16:04:04 <ais523> now, sizeof(char) might != sizeof(wchar_t)
16:04:11 <AnMaster> ais523, not really, or why is #define CHAR_BIT 8 in some header
16:04:13 <ais523> but the whole wchar_t stuff is a big mess that confuses me
16:04:24 <ais523> AnMaster: so you know there are 8 bits in a byte
16:04:24 <AnMaster> because some systems did not have 8 bit bytes
16:04:29 <AnMaster> indeed
16:04:31 <ais523> some other systems might have CHAR_BIT higher
16:04:37 <AnMaster> ais523, or lower
16:04:39 <ais523> limits.h exists to tell you what CHAR_BIT is
16:04:43 <AnMaster> exactly
16:04:49 <ais523> and 8 is the minimum, implementations have to pretend if bytes are smaller
16:05:14 <AnMaster> ais523, well, for C maybe, but I think 7 bit computers have existed
16:05:25 <ais523> yes, I'm referring to C
16:05:36 <AnMaster> anyway trinary systems then?
16:06:33 <ais523> C89 doesn't handle them well
16:06:40 <AnMaster> ais523, anyway according to Deewiant, that part of the funge98 standard does not mean unicode in any way
16:06:49 <ais523> I think it allows trinary floating-point, but forces binary integers
16:10:22 -!- ehird has joined.
16:11:01 * ais523 is avoiding a regex loop this time
16:11:03 <ehird> hi ais523 oklopol Slereah_ ....
16:11:14 <ehird> ais523: oh but i don't obey the rfc
16:11:44 <ais523> glad it got through, I sent it with /quote and so didn't get any feedback from my client
16:12:05 <ehird> ais523: you can do
16:12:11 unexpected log event :(
16:12:16 <ehird> in konversation
16:13:15 <ais523> I don't like the way Konversation displays notices
16:13:29 <ais523> they should be just like privmsgs, but with a different sort of bracket around the username
16:13:38 <ehird> ais523: xchat kind of does that
16:13:41 <ehird> -ais523/#esoteric- hi ehird
16:13:45 <ehird> it shows the channel name on channel notices
16:13:52 <ehird> so you can differenciate between them and user notices
16:14:18 <ais523> well, shouldn't a user notice look like a user privmsg to me?
16:14:45 <ais523> it seems that Konversation just displays it in whatever channel I'm in, which is wrong IMO
16:15:20 <ehird> ais523: no
16:15:24 <ehird> that's how it's meant to be done
16:15:28 <ehird> that's why a notice is different from a privmsg
16:15:44 <ais523> the only difference IMO should be that notices can't get into a loop
16:16:11 <ehird> nahh
16:16:35 <AnMaster> ais523, so a CTCP reply should open a new tab?
16:16:58 <ais523> AnMaster: that's CTCP, and is going to be special-cased anyway
16:17:06 <AnMaster> ok
16:17:18 <ais523> if it's mixed CTCP/not CTCP, then yes
16:17:27 <ais523> but I don't know of any clients that handle that, despite it being in the spec
16:17:29 <AnMaster> well notices shouldn't open new tab
16:18:21 <ais523> in chatzilla user privmsgs didn't open a new tab if there wasn't one already
16:18:31 <ais523> you just got it in your current view, which was fine
16:18:49 <ais523> doing /query opened a tab, and if I have an open query with a user notices from that user should definitely end up there
16:19:11 <ais523> here's an example:
16:19:14 -!- ais523 has left (?).
16:19:24 <AnMaster> err
16:19:31 -!- ais523 has joined.
16:19:44 <ais523> did that come up in #esoteric for you?
16:20:01 <AnMaster> ais523, no, it came up in ##socialites, which was the current tab
16:20:09 <ais523> but that makes no sense at all
16:20:11 <ais523> I wasn't there
16:20:18 <AnMaster> nor were you here
16:20:21 <AnMaster> when you sent it
16:20:28 <ais523> exactly
16:20:29 <AnMaster> and you didn't send it to channel it seems
16:20:35 <ais523> that was deliberate
16:20:48 <AnMaster> ais523, however chan/nickserv notices end up in current tab that way
16:20:50 <ais523> an ais523 tab is the only logical place for that to come from if you're separating conversations into tabs
16:20:53 <AnMaster> and that is what you want
16:21:03 <ehird> AnMaster: ##socialites... what are you doing in here?! :P
16:21:08 <AnMaster> ehird, why?
16:21:16 <ehird> this is a place for people with no life!
16:21:18 <ais523> AnMaster: maybe they should come up in the server tab?
16:21:20 <AnMaster> ehird, well I'm there because I'm in the channel access list as an op
16:21:28 <ehird> AnMaster: EVEN WORSE
16:21:39 <AnMaster> ehird, well it was better before in some ways
16:21:46 <AnMaster> ehird, back when it was called #winflame
16:21:57 <ehird> AnMaster: okay, how did that transition happen
16:22:09 <AnMaster> ehird, while I was away at holiday
16:22:15 <ehird> AnMaster: but... HOW
16:22:20 <AnMaster> so can't really answer
16:22:30 <ais523> typo?
16:22:44 <AnMaster> ais523, eh?
16:22:58 <AnMaster> ehird, anyway it became more and more of a social channel so the old name didn't really fit
16:23:12 <ais523> trying to guess how you ended up in an access list while you were on holiday
16:23:21 <ehird> AnMaster: but people on irc are inherently not socialites! :P
16:23:24 <AnMaster> ais523, because I were on access list in the old channel
16:23:32 <AnMaster> ais523, so when it moved...
16:23:43 <AnMaster> ais523, I was just away for about two weeks anyway
16:23:51 <AnMaster> without computer access
16:24:46 <AnMaster> and without telephone or tap water btw
16:24:56 <AnMaster> manual fetch from a well heh
16:25:11 <ais523> I can understand how you could connect to the internet with a telephone, but how do you manage that with tap water?
16:25:22 <ehird> HAHAHA
16:25:42 <Slereah_> Maybe you could build a mechanical internet.
16:25:54 <Slereah_> Sending compression waves in the water pipes.
16:26:05 <ais523> that's why it wouldn't work in a well
16:26:24 <oklopol> negative lists seem to work now
16:26:27 <Slereah_> Well, as we all know, the internet must be a series of tube.
16:26:49 <ais523> a big truck would be more efficient, though
16:27:01 <oklopol> < < <::..> > <:.> <::> <::.>< <:::>>> ===>
16:27:01 <oklopol> < < < <::..> <:.> <:::>> < <::..> <::> <:::>> < <::..> <::.> <:::>>>>
16:27:09 <oklopol> this required quite a lot of debugging actually
16:27:15 <ehird> oklopol: Too many symbols
16:27:15 <oklopol> forgot to flush the recursion stack, silly me!
16:27:17 <ais523> apparently the fastest known way to send data, in terms of bandwidth, is to load a lorry full of hard drives
16:27:20 <oklopol> ehird: old
16:27:26 <ais523> huge bit-per-second rate, but a large latency
16:27:43 <oklopol> the point is the negative lists work
16:27:49 <oklopol> they are independent of the evaluation model.
16:28:01 <oklopol> i'll show a real-life example
16:28:24 <oklopol> <: <. <::> < <::> <::>>> > <::> <:::> <::::><> ===>
16:28:24 <oklopol> < < <::> <::>> < <:::> <:::>> < <::::> <::::>>>
16:28:32 <ehird> of .... curse.
16:28:34 <oklopol> this is the map example
16:28:35 <ehird> *course
16:28:58 <oklopol> > <::> <:::> <::::>< is the negative list
16:29:11 <oklopol> (- (+::) (+:::) (+::::))
16:29:27 <oklopol> the outer <: a b> is application, a is applied to b
16:29:49 <oklopol> <. <::> <<::> <::>>> is, well, ``sii
16:29:49 <ehird> :D
16:29:57 <oklopol> now
16:30:13 <oklopol> the negative list does a fun flip, and effectively maps the function to the list
16:30:35 <oklopol> because it extracts the elements one by one, and then evaluates a list with applications done separately to each element
16:30:46 <AnMaster> ais523, hah
16:31:12 <oklopol> but my semantics aren't at all perfect, for instance (- (+ ...)) != (+ (- ...)) in the general case
16:31:20 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
16:31:28 <AnMaster> anyway it was on a small island outside the Swedish west coast
16:31:37 <AnMaster> there was electricity though
16:31:42 <oklopol> also they are basically just useful for mapping yet i'm not sure you can even write *map* :D
16:32:14 <ehird> oklopol: plz maek negative length lists
16:32:34 <ais523> this reminds me of Cyclexa's antitext
16:32:51 <ais523> programs (as opposed to expressions) are matched against the null string
16:32:55 <oklopol> <. <<::> <:.>> <<::> >> <:.><<>> might be map
16:32:59 <ais523> but you can match against negative text to insert things into the string
16:33:04 <ehird> ais523: his lists are negative depth lists
16:33:05 <AnMaster> oklopol, wtf does that mean?
16:33:10 <ehird> () = 0 depth
16:33:12 <ehird> (a b c) = 1 depth
16:33:17 <ehird> ((a b) (c d)) = 2 depth
16:33:17 <ehird> etc
16:33:19 <ais523> antitext is pretty useful, though
16:33:21 <ehird> he has -1, -2, depth
16:33:49 <AnMaster> ais523, how do you write "negative text"
16:33:56 <oklopol> AnMaster: a bit hard to explain, you can check my interp for reference ;;;)
16:34:05 <oklopol> (it's *way* worse than my oklotalk interp)
16:34:23 <AnMaster> oklopol, what interpreter of yours?
16:34:25 <ais523> (abc)^abc is a noop (except for capturing abc as a group)
16:34:34 <ais523> the ^ in this context antitexts something
16:34:51 <AnMaster> ais523, so, strlen(^"abc") == -3?
16:35:00 * AnMaster gets confused (even more that is)
16:35:01 <ais523> AnMaster: pretty much
16:35:22 <AnMaster> ais523, so, I load 5 GB antitext into memory and then I can run 4 vmware at the same time? ;)
16:35:30 <ais523> the rules are more complex than that, mostly to stop things like /ab/ matching "c" by introducing antitext into it
16:35:38 <AnMaster> I only got 1.5 GB RAM
16:35:44 <ais523> AnMaster: unfortunately, it requires positive RAM for computers to store
16:35:48 <AnMaster> awww.. ;(
16:36:04 <AnMaster> ais523, I still don't see how it is used though
16:36:20 <ais523> AnMaster: so that you can put things in the input string that weren't there originally
16:36:29 <ais523> lots of other uses too, but that's the main one
16:37:05 <oklopol> <: <. < <::> <:.>> <: <::> > > <:.><<>> < <. <::> < <::> <::>>> < <::> <:::> <::::>>>> ===>
16:37:05 <oklopol> < < <::> <::>> < <:::> <:::>> < <::::> <::::>>>
16:37:07 <AnMaster> um. snprintf(buffer, buffersize, "%s%s", str1, str2); ?
16:37:08 <oklopol> it was map :DDDD
16:37:12 <AnMaster> ais523, is that what you mean?
16:37:21 <ais523> s/a/b/ becomes a=b in Cyclexa, but that's shorthand for ((a|.)+)(b|.):1^
16:37:27 <AnMaster> of course printf is a stupid way to do it
16:37:32 <oklopol> ehird: can you read that at all? or anyone? :D
16:37:38 <AnMaster> strncat would be better
16:37:44 <ehird> Nope, oklopol
16:37:46 <oklopol> i've explained it multiple times, but i doubt it's possible to read anyway
16:37:48 <oklopol> darn
16:37:53 <oklopol> want me to explain?
16:37:57 <ehird> Nope, oklopol
16:37:57 <ehird> :P
16:37:59 <oklopol> :)
16:38:04 <ais523> I've somehow managed to miss all the oklotalk explanations
16:38:10 <ais523> and seeing them in the logs isn't quite the same
16:38:10 <oklopol> this is about nopo
16:38:10 <oklopol> l
16:38:15 <ehird> I just accept that you're the best person for making crazy esolangs in here and go on with my life ;)
16:38:22 <ehird> ais523: oklotalk--
16:38:22 <ais523> nopol = cobol with added NOP?
16:38:27 <oklopol> :D
16:38:29 <ehird> oklotalk itself will be even crazier
16:38:33 <oklopol> no just the name is from cobol
16:38:37 <ehird> i personally plan to port ALL MY APPS to it
16:38:41 <oklopol> nopol is based on nops
16:38:50 <oklopol> also negative depth lists, they're kinda cool
16:39:16 <oklopol> nopol has nothing to do with oklotalk or cobol
16:39:18 * AnMaster gives up trying to understand the logic of negative text storage
16:39:26 <AnMaster> or whatever it was meant to do
16:39:43 <oklopol> negative information is fun, it should be used more in esolangs
16:39:53 <AnMaster> oklopol, how would it be used
16:40:14 <ais523> AMICED
16:40:16 <AnMaster> for syntax when describing, some semi-C prefered
16:40:19 <oklopol> dunno, i can imagine something like pattern matching could make use of it, being a kind of backwards-evaluation anyway
16:40:29 <oklopol> but this is just a hunch
16:40:59 <ais523> AnMaster: generally you don't store it, you match against it and then you rematch the text you just generated
16:41:11 <AnMaster> ais523, and the result of that is?
16:41:23 <ais523> depends on what program you're writing
16:41:37 <ais523> I'll try to write a prime-printer in unary so you can see what I mean
16:41:50 <AnMaster> mhm
16:42:31 <oklopol> i'm gonna explain the syntax once more even though no one prolly cares / understands: if the last character was whitespace, whatever bracket is encountered will open a list; < opens a positive one, > a negative one; if the last character was not whitespace, and is the closing bracket of the last open bracket (> for <, < for >), a list is closed
16:42:35 <oklopol> eof closes all brackets
16:42:50 <oklopol> this makes it possible to use <, space and > for two kinds of brackets
16:43:00 <oklopol> and is quite intuitive when they're not mixed
16:43:08 <ais523> a^@{2,}?(a{2,}{2,}$!'')?(?0a*)$''
16:43:17 <ais523> those are double-apostrophes, by the way
16:43:19 <oklopol> when they're mixed, you just have to remember to start your lists with "< " or "> "
16:43:24 <AnMaster> ais523, ok how does it work
16:43:35 <ais523> a^@{,2}(a{2,}{2,}$!'')?(?0a*)$''
16:43:36 <oklopol> and you always have to end lists without spaces before the closing bracket
16:43:39 <ais523> sorry, I've corrected it
16:43:46 <ais523> it's mostly regex notation
16:43:55 <ais523> the @ separates tokens where the lexer would get it wrong otherwise
16:44:05 <ais523> '' is a fail, ! is a cut
16:44:11 <AnMaster> hm ok
16:44:16 <ais523> ?0 sets the group number to 0 so there's output
16:44:24 <oklopol> you lost me at "a".
16:44:34 <ais523> and a^ removes a negative a from the input string
16:44:38 <ais523> i.e. adds a positive a to the input string
16:44:45 <oklopol> yeah
16:44:46 <oklopol> okay
16:44:57 <oklopol> umm
16:45:01 <oklopol> that finds primes?
16:45:06 <oklopol> a^@{,2}(a{2,}{2,}$!'')?(?0a*)$'' <<< this
16:45:14 <ais523> yes
16:45:17 <ais523> and prints them out in unary
16:45:26 <oklopol> i find that relatively awesome
16:45:29 <ais523> without line breaks or separators, unfortunately, let me fix that
16:45:30 <oklopol> lets see
16:45:42 <AnMaster> ais523, so. it is just a case of saying a^ adds a positive a,
16:45:52 <ais523> a^@{,2}(a{2,}{2,}$!'')?(?0a*(\n)^+)$''
16:46:06 <ais523> AnMaster: it's more complicated than that, but that's the most common use for it
16:46:18 <ais523> that and matching one template against another, but there's = syntax for that
16:46:32 <ais523> (for TCness, you can specify that two expressions should match the same way)
16:46:33 <AnMaster> you could just say that in C strcat removes it's negated parameter?
16:46:37 <ais523> yes
16:46:40 <AnMaster> instead of saying that it appends it
16:46:48 <oklopol> {,2} does this mean 0-2?
16:47:16 <ais523> no, infinity-2
16:47:20 <AnMaster> then what is the point of negative strings, you could just call them positive ones and reverse the name of the operations of them
16:47:21 <ais523> but preferring 2
16:47:23 <AnMaster> ..
16:47:39 <oklopol> AnMaster: how is that less pointless?
16:47:41 <ais523> AnMaster: try writing ('ab'+)$('cd+'):1^
16:47:59 <AnMaster> ais523, I'm not familiar with that syntax
16:48:02 <AnMaster> is it PCRE?
16:48:05 <ais523> no
16:48:07 <ais523> it's Cyclexa
16:48:08 <oklopol> ais523: put it up on a bot
16:48:09 <ais523> '' = []
16:48:10 <oklopol> i wanna try it
16:48:15 <ais523> oklopol: I haven't written an interp yet
16:48:19 <oklopol> i see
16:48:20 <ais523> it took me several hours just to write the parser
16:48:41 <ais523> I'll paste the parser, which contains the spec as a POD, though, if you like
16:49:04 <ehird> ais523: please do
16:49:07 -!- Corun has quit ("This computer has gone to sleep").
16:49:08 <AnMaster> <oklopol> AnMaster: how is that less pointless? <-- well, instead of saying that foo() removes a negative string from the end of another string, you could just say that it appends a string to it
16:49:10 <ehird> I might implement it :DD
16:49:24 <oklopol> AnMaster: and what's the difference?
16:49:29 <ais523> ehird: you may change your mind when you see the incomplete spec
16:49:35 <AnMaster> oklopol, being able to think clearly about it?
16:50:17 <ais523> http://pastebin.ca/992032
16:50:38 <AnMaster> I don't see how it differ from normal strings except for terminology
16:51:00 <ehird> ais523: Oh shiet.
16:51:09 <ehird> HEY WHO WANTS TO HELP ME IMPLEMENT CYCLEXA ^_^
16:51:21 <ais523> ehird: I do, but I'm not sure if it's within my abilities
16:51:22 <AnMaster> ie, if you rename the operator from remove to append, and call the string positive instead, it would be the same
16:51:24 <ehird> ^_^ IT'LL BE TOTALLY FUN AND NOT HARD AT ALL ^_^
16:51:28 <ais523> you can use the parser I've written if you like
16:51:30 <ehird> ^_^ HOW COULD YOU SAY NO TO THIS FACE
16:51:35 <ais523> and that's just tokenizing
16:51:36 <AnMaster> oklopol, like multiplying everything by -1
16:51:37 <AnMaster> ..
16:51:39 <oklopol> w/e, i need to take a shit now... ais523: code and ircbottify cyclexa asap, and i have trouble understanding that example, so if you have time, perhaps comment it to be suitable for slow people like me, and all of you, NOPOL is SERIOUS STUFF, read my explanations about it!!
16:51:42 <ais523> and calculating group numbers
16:51:45 <oklopol> now ->
16:51:53 <ehird> ais523: Perhaps compiling it to e.g. Perl would be the best solution
16:52:01 <ehird> Most good regexp engines compile, so.
16:52:40 <ais523> ehird: It's not as uncompilable as Befunge, but still hard to compile
16:52:53 <ais523> the amount of state information being dragged around is quite substantial
16:52:54 <ehird> ais523: why?
16:53:07 * ais523 tries to remember whether they wrote down the multithreading syntax they were planning
16:53:13 <AnMaster> ais523, how does negative strings differ from postive ones except in the name of the operations on it
16:53:31 <ehird> ais523: maybe you should make it compileable - it'd probably be easier than interpreting
16:53:40 <ais523> AnMaster: you can mix them both in the same string
16:53:51 <ehird> also
16:53:52 <ehird> ais523: # '#"#)#}
16:53:54 <ehird> best line ever
16:53:56 <AnMaster> ais523, hm and?
16:53:57 <ais523> for instance you can have ab^c
16:54:16 <ais523> ehird: that's for fixing the Emacs syntax highlighter, which is confused by POD
16:54:42 <ais523> AnMaster: they don't really differ except for the names of operations, but it's very convenient to be able to reverse all your operations easily
16:54:50 <ais523> that way the = command can work
16:55:00 <ais523> and in normal regex engines you can't match against an input string and make it longer
16:55:18 <ehird> ais523: by the way, does that thing really parse it?
16:55:22 <ehird> I mean -- do we get a parse tree?
16:55:25 <AnMaster> ais523, indeed you can't edit input string
16:55:34 <ais523> ehird: it tokenises
16:55:42 <ehird> ais523: ah. so we still need another parser step
16:55:47 <ais523> there are bits of parse tree existing, but it doesn't create a full parse tree at any point
16:56:18 <ais523> but yes, it's mostly a lexer
16:56:26 <ais523> parsing is done to determine which number each group should be given
16:56:27 <ehird> ais523: i'm scared. i think i might mess this up :-)
16:56:50 <ehird> actually, i think i'll wait until you remember why it is hard to compile
16:56:54 <ehird> so you can fix that ;) a compiler will be easier.
16:57:52 <AnMaster> ais523, so basically you could consider the remove(negative("string")); same as append("string"); and so on?
16:57:54 <ais523> ehird: I know why it's hard to compile
16:58:06 <ais523> it's because you have to keep a record of what you did at each stage
16:58:07 <ais523> AnMaster: yes
16:58:17 <ehird> ais523: i don't get it
16:58:19 <ais523> ehird: so you can do the same thing later
16:58:22 <ais523> a simple example:
16:58:25 <ehird> how is it different from a really souped up regexp lib?
16:58:28 <ehird> they compile very well
16:58:29 <ais523> (a+)b+:1c+:1
16:58:31 <ehird> not to actual ccode, mind you
16:58:31 <AnMaster> ais523, except sometimes a string may end in a negative bit, so you would have to store it and complete it when you add something matching?
16:58:34 <ehird> but a DFA (iirc)
16:58:48 <ais523> that matches a certain number of as, followed by that many bs, followed by that many cs
16:59:01 <ehird> ais523: right, you can compile that to something like --
16:59:03 <ais523> AnMaster: I just store each character with a flag indicating whether it's negative or positive
16:59:18 <ais523> actually, red, green, blue, or purple, because I find colours make it easier to visualise
16:59:38 <ais523> two of those colours do the same thing, but I was planning to make them slightly different for output purposes
16:59:44 <ehird> $c0=0;$c1=0;$c2=0;while(consume("a")){$c0++};while(consume("b")){$c1++;}if($c1!=$c0) ...
16:59:44 <ehird> etc
16:59:50 <ehird> ais523: of course that's a very high level translation
16:59:52 <ehird> but you get the idea
16:59:55 <ehird> you CAN compile it
17:00:02 <ehird> by just having loads of state variables
17:00:12 <ais523> ehird: yes, but the more complicated the expression gets, the more the state variables multiply
17:00:21 <ais523> also, those state variables can be scoped, and so on
17:00:24 <ehird> ais523: well, even an interpreter will have tons of state variables
17:00:26 <AnMaster> ais523, ah, so what happens if (upper case negative, lower case positive, consider them same otherwise): remove "HJ" from "abHJahjyHJa"
17:00:28 <ais523> I don't think compiling's impossible, but it's difficult
17:00:31 <ehird> doesn't make it hard to compile
17:00:38 <ehird> its inevitable for any method of executing these
17:00:50 <AnMaster> or
17:01:00 <AnMaster> add "hj" to "abHJahjyHJa"
17:01:10 <ais523> AnMaster: you get "hjabHJahjyHJa", but there are other possible matches so backtracking returns other possibilities
17:01:16 <ais523> ehird: I suppose so
17:01:18 <ehird> ais523: I can't see how the state stuff is any different than interpreting.
17:01:26 <ehird> ais523: I mean, you need to keep track of exactly the same things when interpreting.
17:01:29 <AnMaster> ais523, hm. ok
17:01:30 <ais523> I imagined an interp containing its own call stack, state stack, choicepoint stack, etc
17:01:31 -!- nopolie has joined.
17:01:34 <ehird> ais523: of course, we need to garbage collect state
17:01:35 <ehird> :)
17:01:42 <ehird> :: 2
17:01:43 <oklopol> ^run <<<::..> > <:.> <::> <::.>< <:::>>>
17:01:44 <nopolie> < < < <::..> <:.> <:::>> < <::..> <::> <:::>> < <::..> <::.> <:::>>>>
17:01:44 <ehird> :: <>
17:01:47 <ehird> oh
17:01:49 <ehird> ^run <>
17:01:49 <nopolie> <>
17:01:51 <ehird> ^run ><
17:01:51 <nopolie> ><
17:01:54 <ehird> ^run < >< >
17:01:54 <nopolie> <>
17:01:58 <ais523> ^run < > < >
17:01:59 <oklopol> hmm
17:01:59 <nopolie> <>
17:01:59 <ehird> ^run < >a b c< >
17:01:59 <nopolie> invalid, like, characters
17:02:02 <oklopol> :)
17:02:03 <ehird> ^run < >:< >
17:02:04 <nopolie> <>
17:02:06 <ehird> ^run < >.< >
17:02:07 <nopolie> <>
17:02:10 <ehird> ^run >.<
17:02:10 <nopolie> >.<
17:02:11 <oklopol> hmm
17:02:15 <ehird> ^run >><<
17:02:15 <nopolie> pop from empty list
17:02:18 <oklopol> xD
17:02:18 <ehird> ^run >> <> <<
17:02:19 <nopolie> pop from empty list
17:02:21 <ehird> ^run >> <::> <<
17:02:21 <nopolie> pop from empty list
17:02:22 <oklopol> hmmhmm
17:02:23 <ais523> oklopol: so what do . and : do?
17:02:23 <oklopol> ah
17:02:25 <ehird> ^run > . > <::> < . <
17:02:25 <nopolie> pop from empty list
17:02:28 <oklopol> they're just tags
17:02:29 <AnMaster> spammy
17:02:31 <ais523> at least nopol seems easier to lex than Cyclexa does
17:02:33 <ehird> ^run <><>< <> < >< ><>>< > <> <>< > <> < >>
17:02:33 <nopolie> <> <> < <> < >< ><>> < > <> <>< > <> < > ><<><>
17:02:55 -!- Sgeo has joined.
17:03:05 <ehird> ais523: Any thoughts on why compilation is hard?
17:03:06 <oklopol> ehird: if you make a negative list deeper than then positive list on top of it, it's an error
17:03:10 <AnMaster> oklopol, how do you write hello world in that language
17:03:12 <oklopol> currently error @ python in my implementation
17:03:15 <oklopol> AnMaster: you don't
17:03:25 <AnMaster> oklopol, no input or output?
17:03:27 <oklopol> an actual implementation shouldn't even show the result
17:03:36 <ehird> hmm, if i'm goign to be coding Perl...
17:03:38 <oklopol> we are just manipulating nopular lists
17:03:39 <ehird> I need to install emacs
17:03:51 <ais523> ehird: because you'd have to simulate the callstack, choicepoint stack, state info, group match info, etc, meaning a compiled version would basically be an interp bundled with the code
17:03:53 <ehird> Tap tap tap tap
17:03:54 <ehird> $ sudo apt-get install emacs-snapshot-gtk emacs-goodies-el
17:04:01 <ehird> ais523: I doubt it
17:04:04 <ehird> Ever read a regexp compiler?
17:04:05 <AnMaster> ehird, why would your system lack emacs?
17:04:09 <oklopol> ais523: it's easy to parse, i already told all the rules
17:04:11 <ehird> AnMaster: it's new
17:04:15 <AnMaster> ah right
17:04:21 <AnMaster> ehird, did you try arch=
17:04:22 <AnMaster> ?
17:04:24 <ehird> Package emacs-snapshot-gtk is not available, but is referred to by another package.
17:04:29 <ehird> AnMaster: No.
17:04:49 <ais523> oklopol: I know it's easy to parse, I was pointing out that Cyclexa was hard
17:05:03 <ais523> C has both + and ++ as operators, but uses longest-prefix
17:05:05 <oklopol> ^run <: <. <::> <<::> <:.:> <::>>> <.:.:.>>
17:05:05 <nopolie> < <.:.:.> <:.:> <.:.:.>>
17:05:12 <oklopol> ais523: how do you know it's easy to parse?
17:05:15 <oklopol> hmm
17:05:21 <oklopol> i guess you might have read my explanation
17:05:23 <ais523> Cyclexa uses favoured-operators; it tries to lex out high priority operators before low priority operators
17:05:27 <ais523> oklopol: I did read it
17:05:54 <ehird> ais523: So ... I don't see why Cyclexia is hard to compile. Sure, you have to simulate the choicepoint stack and all of that: So what? Prolog compilers have to too.
17:05:57 <oklopol> ^run <: <. <::> <. <:> <::>>> <.:.:.>>
17:05:58 <nopolie> <. <:> <.. <.:.:.>>>
17:06:00 <oklopol> k applied once
17:06:01 <ehird> As well as the group stuff: just like a regexp ompiler
17:06:03 <ehird> *compiler
17:06:10 <ais523> ehird: OK, maybe I said the wrong thing
17:06:13 <oklopol> it adds a <.. >, meaning "quote"
17:06:24 <ais523> you did manage to compile Underload, after all
17:06:36 <ehird> ais523: But underload is legitimately hard to compile. :-)
17:06:46 <ehird> Cyclexia seems pretty sundry to me
17:06:47 <ais523> I just need to rewrite my Unlambda -> Underlambda compiler, then we can easily have a Unlambda -> C compiler
17:06:50 <oklopol> this is basically how i solved the renaming problem lc often has
17:06:52 <ais523> ehird: read the spec yet?
17:06:53 <oklopol> *-often
17:06:58 <ehird> ais523: Skimmed
17:07:01 <ais523> s/$/ :)/
17:07:33 <ehird> It's not like it has eval or self-modification, is it?
17:07:50 <ehird> But think about an interpreter ... it really seems like compiling it will be easier, because of all the full-program analysis you'll need to do
17:07:56 <ais523> it's meant to get eval eventually
17:08:09 <ehird> ais523: please don't :P
17:08:12 <ais523> but my personal guess is that you'll end up with some sort of bizarre interp/compiler mix
17:08:17 <ehird> Just add functions or something. Yay functions
17:08:24 <ais523> ehird: you asked me to add eval in the first place!
17:08:25 <ehird> ais523: Well -- Cyclexa::Runtime will be involved, I'm sure.
17:08:51 <ais523> and each group is capable of acting as a function, unless it was made anonymous with ?? (in which case its number is inaccessible to the user)
17:08:55 <ehird> ais523: But doing all that full analysis and then just simulating it as an interpreter...
17:09:08 <ais523> let's see how it turns out
17:09:16 <ais523> parsing will be the same for both interps and compilers, after all
17:09:43 * Sgeo wonders why ehird isn't in #ircnomic
17:10:02 <ehird> Sgeo: Your hints are not very subtle
17:10:07 <ehird> ais523: Indeed.
17:10:09 <ais523> Sgeo: why ehird in particular?
17:10:18 <ais523> should we all be in that channel?
17:10:25 <Sgeo> ais523, because ehird was in there before?
17:10:28 <ais523> ah
17:10:29 <Sgeo> But everyone's invited
17:10:35 <ais523> I'll see what it's like
17:11:37 <oklopol> it's not as empty as i assumed!
17:13:07 <oklopol> okay, i'll get going now, hope you can live without nopolie, even though everyone seems incredibly interested in nopol!
17:13:14 -!- nopolie has quit (Read error: 104 (Connection reset by peer)).
17:13:28 <oklopol> byes
17:14:04 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
17:39:31 -!- Corun has joined.
17:49:41 -!- timotiis has joined.
18:08:02 -!- Deewiant has quit (Remote closed the connection).
18:09:12 -!- ineiros has quit (Read error: 101 (Network is unreachable)).
18:09:12 -!- Deewiant has joined.
18:14:54 -!- Corun has quit ("This computer has gone to sleep").
18:17:36 -!- Corun has joined.
18:28:20 -!- timotiis has quit (Remote closed the connection).
18:42:51 -!- olsner has joined.
18:50:10 -!- Corun has quit ("This computer has gone to sleep").
19:00:48 -!- ec has joined.
19:02:01 <ec> ehird: ping
19:02:12 <ais523> hello ec
19:02:23 <ec> hey ais523
19:02:29 <ais523> we're in a conversation in #ircnomic at the moment, including ehird
19:02:39 <ec> Ah, didn't see that on his /whois
19:03:00 <ais523> I think it's still marked secret
19:03:07 <ais523> because it's unregistered
19:03:12 <ec> Ahhah
19:03:18 <ec> What's this channel for?
19:03:50 <ehird> ec: who are you
19:03:56 <ehird> oh
19:03:58 <ehird> from #slicehost
19:03:59 <ehird> hi!
19:04:04 <ec> me? huh?
19:04:07 <ehird> this channel is for esoteric programming languages.
19:04:10 <fizzie> I think the topic used to say what it was for, but now it's just fluffy bell rings.
19:04:13 <ais523> ec: here we discuss esoteric programming languages
19:04:20 <ec> whitespace brainfuck polyglot quines ftw!
19:04:32 <ec> That's the extent of my esoteric programming language knowledge )-:
19:04:51 <ais523> ec: well, we can teach you a lot more if you like
19:04:52 -!- thutubot has joined.
19:04:57 <ec> Anyway, just wanted to ping ehird, as I heard he was a fellow ban-ee from #Ruby-Lang. That, and we have the same first name.
19:05:01 <ais523> +ul (:aSS):aSS
19:05:01 <thutubot> (:aSS):aSS
19:05:24 <ais523> ec: I noticed that, I was wondering if you were ehird to start with because of that, but obviously not
19:05:31 <ec> lmao nope.
19:05:49 <ec> Never found another person with a first name spelled exactly the same as mine, it's uncommon. So yeah, hi other elliott d-:
19:06:15 <ec> I think zenspider really, really doesn't like said nomber.
19:06:27 <ehird> ec: I don't think zenspider likes anyone who isn't in his clique.
19:06:30 <ec> That too
19:06:39 <ehird> What did you get banned for? I got banned for 'being annoying'.
19:06:42 <ec> You should join the #ruby-lang banee channel, #rubyforce
19:06:57 <ec> I got banned for "I'm sorry, I thought there was a flood going on"
19:07:07 <ehird> ec: aperios is banned now? :P
19:07:07 <ec> And "Oops, I forgot to unban you before I went offline"
19:07:11 -!- timotiis has joined.
19:07:17 <ec> ehird: nah, but wolfe and I think a few others there are
19:07:35 <ehird> ec: #ruby-lang is easy-peasy to get banned for. I'm more awesome: I got banned from #python/
19:07:54 <ec> Never been in there, but i've heard python programmers are pretty... eccentric
19:08:00 <ec> Sounds like a group I should join d-:
19:08:02 <ehird> They're mostly friendly, though.
19:08:52 <lament> ehird: pfff! i got banned from #python several times
19:10:28 <ais523> lament: how?
19:10:58 <lament> i don't really remember
19:10:59 <ais523> anyway, first I'll point ec to http://esolangs.org/wiki/
19:12:42 <ais523> because that's one of the best resources for learning esolangs
19:21:39 -!- Corun has joined.
19:21:43 <ais523> hi Corun
19:23:54 -!- timotiis_ has joined.
19:27:57 -!- ais523 has changed nick to ais523_.
19:28:06 -!- ais523_ has changed nick to ais523.
19:29:36 <Sgeo> ehird, how did you get banned from #python ?
19:30:05 <ehird> Sgeo: beats me
19:43:10 <ais523> wow, there's a golfing/coding forum on thedailywtf.com
19:43:26 <ais523> not linked directly from the front page, but you can get to it by going to the sidebar and going up a few levels
19:44:43 <ehird> ais523: Or click 'Forums'
19:49:11 <ais523> ehird: it seems that your print-a-lot anagolf challenge was failing due to a bug that limited the maximum output size, that was fixed while the challenge was running
19:49:27 <ais523> that's why my C program timed out; it was trying to write to a full pipe
19:50:01 <ais523> many of the runtimes are pretty near the limit, which is 3 seconds for most langs
19:50:06 -!- timotiis has quit (Read error: 110 (Connection timed out)).
19:50:43 <ehird> ais523: yep
19:53:56 <ais523> heh, the 1000 digits thing was the output from Ruby's random number generator when given the right seed
19:54:58 <ehird> ais523: yeah
19:55:02 <ehird> mersene twister
20:20:24 <ec> lmao
20:28:06 -!- ehird has changed nick to ircnomic.
20:28:12 -!- ircnomic has changed nick to ehird.
20:37:30 <ais523> ehird: I was trying better than that, I wanted to give a compression challenge where the output was the binary for malloc
20:37:40 <ais523> but unfortunately it didn't seem to be stable between runs of my test C program
20:45:12 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"").
20:45:57 -!- thutubot has quit (Remote closed the connection).
20:52:04 -!- ehird has changed nick to nomiclog.
20:52:09 -!- nomiclog has changed nick to ehird.
21:06:34 -!- Overand has quit (Read error: 104 (Connection reset by peer)).
21:21:06 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:33:12 <SimonRC> "Brazil thinks you're cute." is a quote.
21:37:27 <GregorR> "Too bad you don't speak Portuguese HA HA HA"
21:39:46 <lament> learning portuguese is definitely worth it if brazil thinks you're cute
21:50:34 -!- oklopol has joined.
21:55:56 -!- Iskr has quit ("Leaving").
22:18:56 -!- timotiis_ has changed nick to password13.
22:18:59 -!- password13 has changed nick to timotiis.
22:22:02 <ehird> oklopol: Hi.
22:32:10 -!- Corun has quit ("This computer has gone to sleep").
22:37:38 -!- Corun has joined.
22:42:25 -!- oerjan has joined.
23:02:35 -!- olsner has quit ("Leaving").
23:20:02 <ehird> dfgdfg
23:20:02 <ehird> (php, although my favorite language is Visual Basic :-DD)
23:20:06 <ehird> die die die
23:35:27 <ehird> http://forums.thedailywtf.com/forums/p/6504/126446.aspx#126446 Wow.
23:42:26 <SimonRC> BTW, "Brazil" in that quote meant the country as a whole, not the individual people.
23:56:17 <lament> if the entire country thought i was cute
23:56:33 <lament> i would RUN to the airport
←2008-04-20 2008-04-21 2008-04-22→ ↑2008 ↑all