00:28:41 -!- sebbu2 has quit ("@+"). 01:46:02 -!- Sgeo has joined. 02:11:18 -!- GreaseMonkey has quit ("Unisex."). 02:32:09 -!- ehird has quit (Remote closed the connection). 04:06:48 -!- Sgeo has quit ("Ex-Chat"). 04:06:49 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 04:07:25 -!- Slereah_ has joined. 04:35:18 -!- pikhq has quit (Read error: 110 (Connection timed out)). 04:36:57 -!- GreaseMonkey has joined. 04:48:40 -!- Sgeo has joined. 05:06:22 -!- RodgerTheGreat has quit. 05:21:22 -!- Judofyr has quit (Read error: 110 (Connection timed out)). 07:00:28 -!- Sgeo has quit ("Ex-Chat"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:57:00 cfunge now supports = btw 08:57:32 * AnMaster thinks it is time for a new release very soon, though need to test a few things that mycology doesn't first 08:58:08 Deewiant, oh and ccbi got a fault in it's = instruction 08:58:13 it pushes wrong return code 08:58:32 Deewiant, http://rafb.net/p/vO2eqx94.html 08:58:57 basically that just shows that it uses the raw return value of system() rather than extracting the exit code 08:59:22 retval = WEXITSTATUS(system(command)); 08:59:31 I think WEXITSTATUS may be a macro actually 08:59:48 in any case: it pushes 512 instead of 2 as exit code for the test program on my system 09:05:33 Nitpickery: one should actually first test with WIFEXITED(x) that the process has terminated normally (and not died to an uncaught signal or something), since otherwise the WEXITSTATUS value might be anything. 09:07:09 fizzie, I'm afraid that the funge98 standard may be a bit unclear in fact: 09:07:14 "After execution, a failure value is pushed onto the stack. If this value is zero, everything went as expected. If the value is non-zero, it may be the return-code of the program that was executed; at any rate it means that the attempt to execute the program, or the program itself, did not succeed." 09:07:38 so it is possible that ccbi does not break the standard 09:07:52 however, it is not logical the way it does it 09:08:09 fizzie, but probably yeah 09:08:30 anyway he got an issue, as ccbi is in D, and WIFEXITED and such are defined as macros in the system headers 09:08:38 not sure he could use them in his program then 09:08:56 cfunge can use them, as it is C 09:25:43 -!- Iskr has joined. 09:32:35 -!- Corun_ has joined. 09:35:42 -!- Corun_ has quit (Client Quit). 10:08:51 AnMaster: the spec says only that it's "Equivalent to C-language system() call behaviour". the return value of system() is implementation-defined so I'd argue that processing it with WEXITSTATUS is a violation of the standard: such processing should be done by the befunge, not the interpreter 10:09:28 Deewiant, it is not possible for the funge to do that, as it can't know the definition of WEXITSTATUS 10:09:46 the reason for the macro is that the exact format of the return value may differ between different systems 10:10:10 also it states: "If the value is non-zero, it may be the return-code of the program that was executed; at any rate it means that the attempt to execute the program, or the program itself, did not succeed." 10:10:18 return code implies WEXITSTATUS I think? 10:10:45 it _may be_ 10:10:58 the whole thing is implementation defined 10:11:06 IMO the interpreter should just pass such things through 10:11:18 "I'd argue that processing it with WEXITSTATUS is a violation of the standard" 10:11:21 hm 10:11:32 can the definition of WEXITSTATUS vary between Posix systems? 10:12:00 Deewiant, I think it can 10:12:11 then your interpreter has to be recompiled for each system 10:12:21 the macro is there to hide exactly what bits are used 10:12:40 Deewiant, indeed, but it has anyway as WIFEXITED could also vary in the same way 10:12:49 and that is needed by the PERL fingerprint 10:12:50 and why would you need WIFEXITED 10:12:59 and that is needed by the PERL fingerprint 10:13:08 what for 10:14:28 because of issues with the pipes that happened otherwise 10:14:57 sigh 10:15:05 when things went wrong in my tests 10:15:39 also, if the instruction fails to execute, it would reverse, logically 10:15:46 why is WEXITSTATUS needed, why can't system() return the return code directly 10:15:58 Deewiant, because it returns more data 10:16:02 in different bits 10:16:11 some bits are return code, other are not 10:16:30 The value returned is -1 on error (e.g. fork(2) failed), and the return status of the command otherwise. This latter return status is in the format 10:16:30 specified in wait(2). Thus, the exit code of the command will be WEXITSTATUS(status). In case /bin/sh could not be executed, the exit status will be 10:16:30 that of a command that does exit(127). 10:16:36 so see man 2 wait 10:17:04 WIFEXITED, WIFSIGNALED, and so on 10:17:11 and WIFEXITED isn't specified... great 10:17:20 what? 10:17:31 it is in /usr/include/sys/wait.h 10:17:37 it's not specified in the standard 10:17:41 or probably, on linux, some file included by that 10:17:41 it's implementation defined as usual 10:17:50 Deewiant, err, it is defined as "should exist" in POSIX 10:17:52 " returns true if the child terminated normally" 10:17:57 well of course 10:18:02 but it doesn't say what it /does/ 10:18:03 aye 10:18:13 does it take the top bit, check for x & 0xf != 0, or what 10:18:21 Deewiant, on linux it checks if a certain bit is high 10:18:27 don't think it was top bit 10:18:28 that's not helpful 10:18:32 because that's only on linux 10:18:43 and liable to change from one kernel version to the next 10:18:45 /usr/include/gentoo-multilib/amd64/stdlib.h:# define WEXITSTATUS(status) __WEXITSTATUS(__WAIT_INT(status)) 10:18:46 /usr/include/gentoo-multilib/amd64/bits/waitstatus.h:#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) 10:18:55 * AnMaster checks on freebsd 10:19:05 they may or may not be the same, I don't care 10:19:15 the fact is that the standard doesn't say what they should be and hence one can't rely on it 10:19:17 /usr/include/sys/wait.h:#define WEXITSTATUS(x) (_W_INT(x) >> 8) 10:19:22 seems different yeah :D 10:19:38 if _W_INT is & 0xff00 then they're the same 10:19:44 but like said it doesn't really matter 10:20:07 that depends on __BSD_VISIBLE 10:20:17 /usr/include/sys/wait.h-#if __BSD_VISIBLE 10:20:17 /usr/include/sys/wait.h:#define _W_INT(w) (*(int *)&(w)) /* Convert union wait to int. */ 10:20:18 /usr/include/sys/wait.h-#else 10:20:21 /usr/include/sys/wait.h:#define _W_INT(i) (i) 10:20:22 /usr/include/sys/wait.h-#endif 10:20:27 AnMaster: so, what if the befunge program wants to know about this metadata 10:20:31 some irrelevant stuff cut out 10:20:42 e.g. whether it exited normally or not (WIFEXITED) 10:21:03 Deewiant, well, the standard doesn't say that 10:21:10 nor can it parse it reasonably 10:21:24 the standard says "system() call behaviour" 10:21:30 at least on linux the definition is quite spread out over lots of file 10:21:32 which doesn't suggest any post-processing of the return value 10:21:40 "If the value is non-zero, it may be the return-code of the program that was executed; at any rate it means that the attempt to execute the program, or the program itself, did not succeed." 10:21:48 which *DOES* suggest post-processing 10:21:56 how? 10:22:03 that just means that it can return whatever it wants 10:22:06 "it may be the return-code" 10:22:06 as long as zero means success 10:22:40 Deewiant, well 0 might not mean success on the "raw" value I think, though not sure. 10:22:49 not sure if posix says it has to mean that 10:22:56 C99 says it has to mean that 10:23:48 or no, darn 10:26:14 C99 doesn't seem to say anything about return value in case of non-null string 10:26:20 yep 10:28:22 hm 10:29:04 man 3p wait seems to say that it indeed shall be 0 "if and only if the status returned is from a terminated child process that terminated by one of the following means: 10:29:08 1. The process returned 0 from main(). 10:29:10 2. The process called _exit() or exit() with a status argument of 0. 10:29:13 3. The process was terminated because the last thread in the process terminated. 10:29:14 " 10:29:27 so seems like that yeah 10:29:37 alright, great 10:29:47 so IMO I'm good in terms of the standard 10:29:49 Deewiant, in any case I'd argue that extracting return code is a valid way to interpret the standard 10:29:50 system() returns what wait reports as the return value of the process, which will be the return code, error state, or some combination thereof. 10:29:52 as well 10:30:00 up to you 10:30:33 GregorR, yeah, except return code on linux at least is not stored in the least significant byte 10:30:33 The raw return code from system() could encode (for example) both a return code of '1' and the fact that that return was caused by a signal. 10:30:41 indeed 10:31:00 AnMaster: In `man wait` there's a macro for extracting it regardless of OS. 10:31:03 (If you're using C) 10:31:09 -!- GreaseMonkey has quit ("Unisex."). 10:31:12 AnMaster: both !Befunge and FBBI push the result of system() directly. 10:31:16 GregorR, read the convo, I do use it 10:31:31 Deewiant, well I push it directly if it didn't exit normally 10:31:36 thus trying to be helpful 10:31:38 Pffft, I don't read conversations! 10:31:42 if (WIFEXITED(retval)) { 10:31:42 StackPush(ip->stack, (FUNGEDATATYPE)WEXITSTATUS(retval)); 10:31:42 } else { 10:31:42 StackPush(ip->stack, (FUNGEDATATYPE)retval); 10:31:42 } 10:32:04 heh, FBBI has a nice buffer overflow vulnerability too 10:32:05 char s[256]; 10:32:05 ip_pop_string(i, s); 10:32:05 ip_push(i, system(s)); 10:32:13 ouch 10:32:49 !Befunge on the other hand pushes -2 if it runs out of buffer space :-) 10:32:52 Huh? 10:32:57 EgoBot: shaddup. 10:33:01 I malloc my string, or if gc is in use, I'm even smarter, doing a special boehm-gc specific string that can be dynamically grown and appended to in a fast way 10:34:07 Deewiant, I push -2 on empty string popped, as even if it doesn't cause any harm with system(), the man page doesn't clearly state so as far as I can see 10:34:10 err 10:34:13 system("") 10:34:37 as I want to prevent segfaults and similar 10:34:48 system(NULL) is perfectly valid. 10:34:55 yes 10:34:57 but NULL != "" 10:35:23 and popping on empty stack results in a string like: "\0" 10:35:24 after all 10:35:29 a single \0 that is 10:35:50 empty string in other words 10:36:03 Deewiant, at least that is how I think it shall be interpreted (the standard that is) 10:36:15 system("") returns 0 here 10:36:32 yes, but is that guaranteed? 10:36:49 If string is a NULL pointer, system() will return non-zero if the command 10:36:50 interpreter sh(1) is available, and zero if it is not. 10:37:03 no, it's not guaranteed 10:37:05 that is a null pointer, not a null string 10:37:09 as in "" 10:37:18 Deewiant, so what may happen on empty string then? 10:37:23 I would think it is guaranteed under POSIX systems, since there's quite a lot said about how "sh" must behave. 10:37:29 system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed. 10:37:35 hm 10:37:43 and I would argue that pressing enter in your shell is not an error. ;-) 10:37:53 err 10:37:56 this is confusing: 10:37:58 If command is a null pointer, system() shall return non-zero to indicate that a command processor is available, or zero if none is available. The sys- 10:37:58 tem() function shall always return non-zero when command is NULL. 10:38:24 that seems to contradict itself 10:38:31 from man 3p system on linux 10:38:35 where'd you get that? 10:38:42 man 3p system 10:38:44 as I said :) 10:38:47 man 3 system 10:38:48 f the value of command is NULL, system() returns non-zero if the shell is available, and zero if not. 10:38:51 yes 10:38:52 that's all it says here 10:38:54 3p is POSIX 10:38:56 3 is Linux 10:39:00 3p doesn't exist here 10:39:07 that is 3p is basically cut and paste from POSIX 10:39:09 Well, in a POSIX system there always is a shell. :p 10:39:20 :-) 10:39:24 $ qfile /usr/share/man/man3p/system.3p.bz2 10:39:24 sys-apps/man-pages (/usr/share/man/man3p/system.3p.bz2) 10:39:25 there you have it 10:39:51 POSIX specifies that /bin/sh must exist, hence system() can't claim that none do 10:40:47 well. it can... sometimes... as chroot() is not POSIX, thus a chroot could lack /bin/sh 10:40:56 according to man 3 system 10:41:28 chroot is not POSIX, so you're not running a POSIX system in that case. 10:41:59 you may be, a POSIX with extensions, but while inside the chroot, indeed may not be POSIX 10:42:24 In versions of glibc before 2.1.3, the check for the availability of /bin/sh was not actually performed if command was NULL; instead it was always assumed 10:42:24 to be available, and system() always returned 1 in this case. Since glibc 2.1.3, this check is performed because, even though POSIX.1-2001 requires a 10:42:24 conforming implementation to provide a shell, that shell may not be available or executable if the calling program has previously called chroot(2) (which is not specified by POSIX.1-2001). 10:43:05 And it's written in that confusing-looking way because the first phrase is directly from the ISO C standard, and that other line about always returning non-zero is "extension to the ISO C standard" addendum-thing. 10:43:24 fizzie, haha 10:43:38 Line 45597 of 1003.1-2001, "System Interfaces", Issue 6. 12:10:51 -!- ais523 has joined. 12:17:45 Emergency! Failed to allocate enough memory for new stack items: No such file or directory 12:17:46 interesting 12:18:12 UNDEF: S pushed 65887 12:18:12 Emergency! Failed to allocate enough memory for new stack items: No such file or directory 12:18:12 UNDEF: T after M pushed 455 12:18:14 Aborted 12:18:16 Deewiant, ^ 12:18:21 AnMaster: malloc doesn't always set errno 12:18:25 ah 12:18:27 so you may have an old errno value lying around somewhere 12:18:33 try setting errno to 0 first 12:18:49 and... wtf is eating all memory 12:18:51 and then you'll get 'Success' as the error message if it wasn't set for some reason 12:19:00 AnMaster: which OS are you on? 12:19:02 of course... firefox 12:19:04 ais523, linux 12:19:25 AnMaster: that's strange, because normally Linux won't return 0 from malloc on small allocations no matter how hard you try 12:19:25 firefox eats *MORE* memory than vmware 12:19:27 amazing eh 12:19:30 AnMaster: that's strange, because normally Linux won't return 0 from malloc on small allocations no matter how hard you try 12:19:31 it uses the OOM-killer instead 12:19:37 I disabled the overcommit crap 12:19:41 AnMaster: good 12:19:50 as it cause more trouble than it solves 12:19:57 oh, and I've had memory problems with Firefox too just now 12:20:02 like init getting killed, which is PLAIN STUPID 12:20:06 I was wondering why all my applications had become slow 12:20:07 or syslog 12:20:23 checked top, and 5 of them were in disk-access blocks 12:20:25 ais523, only page open was funge specs 12:20:40 * ais523 switches to Epiphany 12:20:44 I only had 4 tabs open... 12:20:55 * AnMaster switches to konq 12:21:11 I use Konqueror as well 12:21:23 in fact, I've had all 3 web browsers open at once before 12:21:28 hm firefox was using 500 MB, vmware 300 MB, X 150 MB(!) 12:21:43 + about 100 more swapped out 12:21:44 wtf 12:21:47 yes, X goes crazy sometimes and eats all my CPU cycles for a few minutes 12:21:56 not cpu 12:21:58 memory 12:22:06 so we're having different problems with it... 12:22:20 they'll have to fix Firefox 3's memory usage before its final release, though, I think 12:22:20 ais523, but X was started almost 2 weeks ago 12:22:24 it does leak memory 12:22:26 ah 12:22:31 ais523, I use firefox 2 12:22:32 not 3 12:22:32 I restart X several times a day 12:22:36 because that's how I use my laptop 12:22:42 it isn't on most of the time 12:22:49 ais523, well this is a desktop 12:23:02 so it makes sense for it to stay on for longer 12:23:08 indeed 12:23:49 wow, I'd forgotten just how slow Firefox was 12:24:11 ais523, only reason I use firefox is adblock extension really 12:24:21 and that it has became like IE was 12:24:28 -!- helios24 has joined. 12:24:29 "page best viewed in firefox" bleh 12:24:36 just waiting for that to happen 12:24:44 "page best viewed in standards-compliant browsers", it should say 12:24:48 but that's all of them but IE 12:24:54 aye 12:24:57 well 12:25:09 lynx/w3m and such are not standards-compliant for everything I think 12:25:09 most of them but IE 12:25:30 I've never seen "page best viewed in w3m" anywhere 12:25:40 indeed 12:25:53 but point is, it can't fully support css 12:25:56 like font family 12:26:22 it supports HTML 12:26:31 which should be enough 12:26:32 there is more than one standard to comply with 12:26:39 I think w3m supports HTML but not CSS 12:26:42 what about links or lynx? 12:26:48 and as long as it doesn't claim to support CSS, it's standards-compliant 12:26:53 links can do some css at least 12:26:57 not all but some 12:27:04 iirc 12:28:16 * ais523 notes that w3m is in the list of pager applications on their system, along with more and less 12:29:00 incidentally, is Slashdot down for everyone, or just me? 12:29:07 python apps seem to eat a lot of ram too 12:29:27 supybot for example eats around 25 MB, in a stripped down install 12:29:34 with just a few modules loaded 12:30:01 maybe it depends on the version of Python and/or the app 12:30:03 emerge around 50 MB, when waiting for y/n on emerge -avDuN world 12:30:08 ais523, python 2.4 12:30:12 .something 12:30:19 I've run Python on an embedded microprocessor before, with 16 MB disk space, 64 MB RAM 12:30:27 # python -V 12:30:27 Python 2.4.4 12:30:31 I'm wondering if it was a special stripped-down Python version 12:32:07 evidently lynx's HTML support is better than w3m's 12:32:23 or firefox's, or IE's, or opera's 12:32:35 ais523: slashdot does seem to be down 12:32:49 yes, I read somewhere that links was the only truly HTML-compliant browser 12:32:50 Deewiant, lynx fails at tables 12:33:09 -!- Judofyr has joined. 12:33:27 Deewiant, compare w3m and lynx on say http://rafb.net/p/4UzLvH39.html 12:33:31 it uses a table 12:33:36 to show the numbers on the side 12:33:40 I don't know what the HTML spec says about tables 12:33:49 does it specify that they should be displayed a certain way? 12:34:19 not sure 12:34:23 but in a tableish way 12:34:27 :-P 12:34:30 because 12:34:31 1 12:34:32 2 12:34:32 3 12:34:35 second col 1 12:34:36 second col 2 12:34:37 second col 3 12:34:40 is not tabelish 12:34:42 you want: 12:34:46 1 second col 1 12:34:47 and so on 12:35:19 Deewiant, doing it like lynx does it is ilogical 12:35:27 yes, I read somewhere that links was the only truly HTML-compliant browser 12:35:28 it isn't 12:35:29 reading HTML 4.01, it doesn't seem to say anything about how it should be rendered 12:35:36 it fails sometimes at shorttags 12:35:46 though it renders it best of the existing browsers 12:35:54 really? I thought it was one of the only browsers that parsed shorttags at all 12:35:55 some page, someone in here made 12:35:58 elinks fails shorttags 12:36:01 ais523, at all yes 12:36:02 lynx succeeds though 12:36:07 but it didn't do that page perfectly 12:36:14 as it did mess up on some shorttags iirc 12:36:19 forgot the link to it 12:36:21 http://dev.w3.org/validator/htdocs/dev/tests/shorttags2.html 12:36:32 nah, it was a page someone in this channel made 12:36:34 of all I tried that page works only in lynx 12:36:46 I know it's not that page, but it doesn't matter as it's the same issue :-P 12:36:52 that validator did accept 12:36:54 maybe the page was wrong? 12:37:10 although it validated, it might have meant something other than what it was meant to mean 12:37:16 hm 12:37:22 someone in here on p iirc 12:37:39 links fails that page 12:37:54 and it's rather simple, it can't really be 'wrong' :-) 12:42:29 You mean the http://pikhq.nonlogic.org/test.html page? 12:42:38 fizzie: yes, that was it 12:44:29 oh well, even the validator isn't perfect: http://www.damowmow.com/playground/html-not-xml-2.html 12:45:04 Deewiant: oh, the -- in comments thing? 12:45:07 Acid2 used to test it 12:45:18 and the which isn't actually an XML declaration 12:45:32 but they took it out when the Firefox people insisted that they wouldn't implement it even though they could because it caused a lot of complaints 12:45:39 yep 12:53:12 well, that is plain stupid 12:53:19 I sometimes wanted to have -- inside html comments 12:53:38 AnMaster: Firefox allows -- inside comments, it just doesn't turn off the end-of-comment marker in them 12:53:53 so -- should end the comment? 12:54:03 AnMaster: no, -- causes --> to have no effect until the next -- 12:54:09 aha 12:54:59 ais523, and lynx fails on http://pikhq.nonlogic.org/test.html here 12:55:01 partly 12:55:23 " This stuff doesn't show at all, but only because HTML renderers suck." is all a link 12:55:39 I don't think it should be? 12:56:18 no, it shouldn't 12:56:38 ais523, thus lynx fail at shorttags 12:57:39 and it doesn't show the link 12:58:20 indeed 12:58:29 it still does better at shorttags than any other browser 12:58:39 I think it can't handle the ais523, how is the intercal + funge stuff coming along? 12:59:12 it still does better at shorttags than any other browser 12:59:14 indeed 12:59:16 AnMaster: not at all, because I'm busy in RL 12:59:27 Deewiant, iirc safari did render the page correctly, according to someone 12:59:34 konq 3 doesn't 12:59:38 and I don't have KDE 4 yet 13:01:54 waiting on http://browsershots.org/http://pikhq.nonlogic.org/test.html 13:04:07 Deewiant: that's evil 13:04:23 what now? :-) 13:04:27 huh? 13:05:19 Deewiant, shows two, unrelated screenshots 13:05:37 as in not safari 13:05:47 which is why I said "waiting on" 13:06:07 it'll probably be an hour before all the results are in 13:06:19 if you aren't a premium browsershot's user, there's a time delay before they all load because the request is put to the back of the queue 13:06:58 oh, and pikhq's site's a blank page in Epiphany 13:07:15 not surprising because the version on my computer is gecko-based 13:07:19 # Expires in 24 minutes 13:07:19 # Queue estimate: 20 minutes to 1 hour, 2 minutes (Details) 13:07:22 that is another issue 13:07:33 AnMaster: you can bump the expiry by clicking on a button 13:07:43 can't see one? 13:07:56 I think maybe you have to be the person who initiated the request 13:08:02 Deewiant, click the button if you can see it! 13:08:14 it only bumps it to 30 mins after you click the button, though 13:08:27 so you have to keep clicking it? 13:08:31 yep 13:08:40 they should put an ad on the button and get lots of money that way 13:09:00 hahah 13:10:07 why does it take so long? 13:10:07 -!- jix has joined. 13:10:16 AnMaster: supply compared to demand, I suspect 13:10:16 after all, a browser can load a page quite fast 13:10:34 most of the old and rare browsers are probably on a single computer on a crappy Internet connectoin 13:11:02 well that doesn't explain slowness of other ones 13:12:37 doing a request for only Macs isn't going to help since I'm ahead of you in the queue anyway :-P 13:12:48 true 13:13:49 AnMaster: you can look at the stats of the computers doing it at http://browsershots.org/factories/ 13:14:08 it says at one page they do at most one image / minute 13:14:49 ah, so as not to overload people's factory computers 13:17:18 Deewiant, update queue I think.. it seems to have "stepped" back in time 13:17:20 "Queue estimate: 12 minutes to 37 minutes (Details)" 13:17:26 was 2-40 before 13:17:33 yet no additional screenshot shows up 13:17:34 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 13:18:08 -!- Slereah_ has joined. 13:23:59 Deewiant, time to refresh request soon? 13:24:15 what's your hurry :-) 13:27:47 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 13:27:48 Safari 3.116 min 13:27:49 wtf 13:27:55 it says 5 minutes a while ago 13:27:59 that's just wtf 13:28:06 -!- Slereah_ has joined. 13:28:09 AnMaster: premium customers jumping the queue? 13:28:19 now it says "starting" though 13:31:22 a lot of browsers, but no safari 13:33:05 and all the screenshots are blank 13:33:17 safari 3.1 is there and it's blank 13:33:27 Safari 3.1failed 13:33:28 gah 13:33:35 heh 13:33:49 AnMaster: not surprising, Safari and Konqueror have the same rendering engine and Konqueror has already failed on it 13:34:06 Deewiant, well I think it was someone using some development version of safari 13:34:14 >_< 13:34:18 as in alpha or something 13:34:32 public beta possibly 13:35:26 btw 13:35:30 of those browsers 13:35:38 how many separate rendering engines are there? 13:35:56 a lot are based on either KHTML or gecko I think? 13:36:04 they're subtly different versions 13:36:18 e.g. gecko of two weeks ago versus gecko of three weeks ago :-P 13:36:24 but yes, many are the same 13:36:53 someone should run this on the acid3 test 13:37:02 because konq 3 segfaults on acid 3 XD 13:37:07 it has been run 13:37:11 oh? 13:37:22 Deewiant: what were the results? 13:37:24 http://browsershots.org/http://acid3.acidtests.org/ 13:37:35 what you'd expect 13:37:47 firefox 2 gets 30-something 13:37:58 up to 50-something 13:38:11 firefox 3 gets 70-something 13:38:16 Epiphany got 71, not bad 13:38:19 IE gets crap 13:38:22 presumably the same score as FF3 13:38:25 opera gets 60-something 13:38:32 oh, and IE5.5 beats both IE6 and IE7, amusingly 13:38:32 later versions get 70-something 13:38:45 because all of them score statistical fluctuations AFAICT 13:38:54 yep 13:39:06 oh 3.5.9 doesn't crash 13:39:37 actually, browsershots disagrees with that 13:39:47 it gives a score of 6 to IE5.5, as far as I can read it 13:39:57 and the page even has radio buttons on, which I don't understand at all 13:40:46 IE 5.5 gets 6, whereas 6.0 gets 5 and 7.0 looks like a 5 too 13:41:02 8.0 does better, of course 13:41:21 IE6 looks like 12 on the browsershots results 13:41:49 heh, two different runs 13:41:54 http://browsershots.org/screenshots/8e72d11b14736bef1c26be08d8e07c3d/ and http://browsershots.org/screenshots/acf712c93182beeddc4c3caaf2e5975a/ 13:42:04 so it isn't even consistent! 13:42:11 depends on the resolution, maybe? :-) 13:58:30 -!- ais523 has quit (Remote closed the connection). 14:05:10 -!- helios24 has quit (Remote closed the connection). 14:05:58 now they're all there, 0% success rate: http://browsershots.org/http://pikhq.nonlogic.org/test.html 14:06:16 -!- ais523 has joined. 14:07:05 -!- pikhq has joined. 14:11:00 -!- GnOmus has joined. 14:24:31 -!- Corun_ has joined. 14:30:35 -!- Corun_ has changed nick to Corun. 14:42:25 -!- ehird has joined. 14:46:13 -!- ehird has quit (Read error: 113 (No route to host)). 15:20:50 -!- ehird has joined. 15:21:11 -!- ehird has set topic: * Topic for #esoteric set by ehird at Tue Apr 22 15:41:58 2008. 15:21:24 -!- ehird has set topic: * Topic for #esoteric set by ehird at Tue Apr 22 15:41:58 2008 tunes.org/~nef/logs/esoteric. 15:37:15 -!- RedDak has joined. 15:48:58 -!- ais523 has quit (Remote closed the connection). 15:49:48 -!- ais523 has joined. 16:02:26 -!- ais523 has quit (Remote closed the connection). 16:13:43 -!- ais523 has joined. 16:25:41 -!- Corun has quit (Remote closed the connection). 16:25:46 -!- sebbu has joined. 16:27:48 -!- Corun has joined. 16:40:10 -!- ais523 has changed nick to ais523nomic. 16:40:20 -!- ais523nomic has changed nick to ais523. 16:45:48 [16:46] the downside of bash, is lack of a good debugger 16:47:14 -!- Corun has quit (Read error: 104 (Connection reset by peer)). 16:49:10 -!- ais523 has quit (Remote closed the connection). 16:49:11 -!- Corun has joined. 16:49:26 -!- ais523 has joined. 16:52:41 -!- GnOmus has quit (Remote closed the connection). 17:07:57 -!- RodgerTheGreat has joined. 17:07:57 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 17:08:03 -!- Slereah_ has joined. 17:15:21 -!- jix has quit ("CommandQ"). 17:37:00 -!- olsner has joined. 17:40:44 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 17:41:11 -!- Judofyr has joined. 17:45:58 -!- timotiis has joined. 17:56:10 -!- ais523 has quit (Remote closed the connection). 17:56:27 -!- ais523 has joined. 17:57:26 -!- ais523_ has joined. 17:57:48 -!- ais523 has quit (Nick collision from services.). 17:57:54 -!- ais523_ has changed nick to ais523. 18:02:44 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 18:04:06 -!- ais523 has joined. 18:07:53 -!- ais523 has quit (Remote closed the connection). 18:08:09 -!- ais523 has joined. 18:29:24 -!- Sgeo has joined. 18:41:47 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 18:41:55 -!- ais523 has joined. 19:01:18 ais523: wow 19:01:19 lots of joinparts 19:01:25 yep 19:05:06 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:05:23 -!- ais523 has joined. 19:13:33 -!- ais523 has quit (Remote closed the connection). 19:15:15 -!- ais523 has joined. 19:23:46 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:24:21 -!- ais523 has joined. 19:24:34 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 19:25:04 -!- Judofyr has joined. 19:42:07 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:42:32 -!- ais523 has joined. 19:46:07 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:47:49 -!- ais523 has joined. 19:49:40 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:49:49 -!- ais523 has joined. 19:50:43 -!- oklopol has joined. 20:05:47 -!- sauxdado has changed nick to aligatoro. 20:07:13 -!- aligatoro has changed nick to sauxdado. 20:09:54 -!- Corun has changed nick to MrsCorun. 20:10:55 -!- Iskr has quit (Read error: 110 (Connection timed out)). 20:11:17 -!- MrsCorun has changed nick to Corun. 20:11:58 -!- Iskr has joined. 20:15:52 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 20:16:31 -!- Judofyr has joined. 20:19:42 -!- ais523_ has joined. 20:21:29 -!- ais523 has quit (Nick collision from services.). 20:21:32 -!- ais523_ has changed nick to ais532. 20:21:36 -!- ais532 has changed nick to ais523. 20:32:23 -!- Judofyr_ has joined. 20:32:23 -!- Judofyr has quit (Connection reset by peer). 20:38:21 -!- ehird has quit ("Leaving"). 20:48:44 -!- Tritonio has joined. 20:52:34 -!- Tritonio has quit (Client Quit). 20:52:53 -!- Tritonio has joined. 20:55:25 -!- Tritonio has quit (Client Quit). 20:58:31 -!- Tritonio has joined. 21:02:38 -!- timotiis has quit (Remote closed the connection). 21:06:19 -!- Judofyr_ has changed nick to Judofyr. 21:09:04 -!- timotiis has joined. 21:41:44 -!- ehird has joined. 22:13:31 -!- Judofyr has quit. 22:19:49 -!- Judofyr has joined. 22:21:55 -!- Iskr has quit ("Leaving"). 22:32:42 -!- Phenax has joined. 22:33:48 I'm a newb to Brainfuck, but I was wondering what's the easiest (i.e., space saving) way to set a memory pointer to a prime number? 22:34:01 [-]++ sets it to 2 22:34:14 so for low numbers, you just do it like that 22:34:27 for higher numbers generally you form a product and add or subtract a bit from it 22:34:33 ah 22:34:35 see [[e:Brainfuck constants]] 22:34:44 um, http://esolangs.org/wiki/Brainfuck_constants 22:35:41 that's a list of some of the shortest ways to generate various constants known 22:35:55 (occasionally, someone will add a new shorter one, so it probably isn't perfect, but it's pretty good) 22:42:25 -!- RedDak has quit (Remote closed the connection). 22:48:22 hm 22:54:28 http://www.codu.org/pics/displayimage.php?album=4&pos=3 // THANKS DOCTOR SCIENCE 23:02:12 how would one do floating point numbers in Brainfuck? 23:02:26 AnMaster: not easily, I don't think 23:02:33 well possible 23:02:34 you'd store the mantissa and exponent separately 23:02:37 it is turing complete 23:02:47 and it would just be a mess trying to do additions and subtractions 23:02:52 ais523, sqrt on that is what I'm most interested in 23:03:08 AnMaster: halve the exponent, sqrt the mantissa 23:03:21 sqrt the mantissa 23:03:23 multiply the mantissa by the square root of the base if the exponent comes out non-integral 23:03:25 doesn't really help 23:03:42 AnMaster: well, it moves it from a floating-point problem to a fixed-point problem 23:03:56 in fact, how do you calculate square root? 23:04:00 I got no clue 23:04:05 wait 23:04:08 it would be... 23:04:10 AnMaster: computers normally do it iteratively 23:04:14 x ^ (1/2) 23:04:19 but that doesn't help 23:04:22 like this: 23:04:23 no :) 23:04:37 a=1, b=x, then repeatedly (a=(a+b)/2, b=x/a) 23:04:41 sauxdado, no as in "it doesn't help"? 23:04:49 continue until a and b are sufficiently similar, then that's your answer 23:04:50 ais523, hm 23:04:54 that tends to be pretty quick 23:05:08 there are other methods, of course 23:05:15 ais523, isn't there an opcode for it in case of floating point even? 23:05:17 not sure 23:05:21 but I think there may be 23:05:27 either SSE or x87 23:05:31 no idea 23:05:37 I don't know those assemblers 23:05:42 but you can't use such opcodes in BF anyway 23:05:55 indeed 23:06:45 "Computer software programs typically implement good routines to compute the exponential function and the natural logarithm or logarithm, and then compute the square root of x using the identity 23:06:45 \sqrt{x} = e^{\frac{1}{2}\ln x} or \sqrt{x} = 10^{\frac{1}{2}\log x} " 23:06:49 from wikipedia 23:08:38 really? 23:08:47 I suppose that such algorithms are cheap nowadays 23:08:55 probably the logs are done by lookup-table 23:10:36 FSQRT for x87 23:10:37 yes 23:14:59 \\z..,xbvncbvnbm.n,.cfhl:Ll.jfdfashsdhfglgdfhjgkh';aetyeurirry0]pit\asdgzdfgfhgjhkjfg 23:15:32 ehird, ? 23:16:42 sometimes you just wanna press every key on your keyboard at once, but have to settle for pressing them sequentially in some random order, like poor ehird here 23:17:42 olsner: pressing every key on your keyboard at once is dangerous, because you'll hit C-M-delete and C-M-backspace, among other combinations 23:18:00 -!- ehird has quit (Remote closed the connection). 23:18:37 actually, that all depends on how your keyboard is wired, certain combinations of keys are mutually exclusive, so other keys may end up preempting the dangerous key combinations 23:18:38 -!- ehird has joined. 23:18:58 olsner: I find that pressing too many keys at once just causes the computer to beep 23:19:07 ais523: you just made me press ctrl-alt-backspace 23:19:11 at least on Windows 23:19:12 because i didn't recognize it as C-M-backspace 23:19:15 burn in hell 23:19:41 ehird: this is entirely your fault though ;-) 23:19:48 on Linux it apparently makes the cursor flash quickly and sets /away... 23:19:57 and I had to hold down about 15 keys to do that 23:20:10 LOL, in real life, again 23:20:50 I mentioned it in Emacs-speak because Emacs' release notes for the latest version mentioned that C-M-backspace and C-M-delete had been removed as shortcut keys because they generally didn't do what the user expected 23:21:13 I've had my windows system swapping hard enough that clicking the mouse made that input-event-queue-full beep 23:21:27 olsner: yep, Windows gets like that sometimes 23:22:00 ais523: heh 23:22:14 'This command has been disabled beacuse it is often confusing for new u-' 23:22:19 'Username:' 23:22:30 oh, and qdb ehird above, please 23:22:39 ais523: I really gotta get that up. 23:22:42 But noted in my mental log. 23:23:16 * ais523 would like to see Emacs pop up with 'This command has been disabled because it is COMPLETELY DANGEROUS NEVER USE IT EVER' 23:23:26 does Emacs have a reformat-harddrive instruction? 23:23:37 if not, then it's a bit crappy as an OSS 23:23:40 s/SS/S/ 23:24:23 ais523: its 23:24:26 a high level OS 23:24:30 ;) 23:24:53 ais523: also: 'This command has been disabled. Because.' 23:51:28 -!- 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""). 23:54:33 -!- timotiis has quit (Read error: 110 (Connection timed out)). 23:54:53 -!- revcompgeek has joined. 23:58:03 I have noticed that many of the languages on the wiki are compiled. 23:58:09 what are they compiled to? 23:59:28 anything and everything and nothing 23:59:42 anything specific? 23:59:54 yes, often something specific :P