00:01:34 i wonder how many mellenia it'll take me to get to hello world 00:01:47 i'd say at least 10 00:07:07 Forever. 00:09:48 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 00:10:36 pikhq: hardly 00:10:53 if i keep generating and mutating programs at random, odds are extremely high i'll hit it :) 00:11:06 .>+-+>+>+[>>.[]].+>->>.->>.+[>->][[.[-]..+---[->>]]>..>>>][+]+>>+>>>>>-[+[]] 00:11:06 "\000\000\000\000\000" 00:11:10 see? I get output already! ;) 00:11:16 although mostly i'm hitting inf-loops 00:11:57 wow 00:12:01 that program outputted a shitload of \377 00:13:09 >-+>.>>->.>>>+..[[>[>[[>>[>>[+>>.>+>>>>[-->]>>..+[+].[>[>>[>>-.].>>-->>][>>+>-.[>[.+-]>]+[+[>-+-->]]>.]>-.[.[.+>>[+>>][[>>-++]+>[][[+.[+.>]>-]-.[>[+..[-+>..->.>]][+-]>]]]]]]]]]]]]] 00:13:14 outputs "\000\000\001\001" 00:13:20 not bad, really, it's getting differing output ;) 00:24:44 * Sgeo_ goes to murder yet another innocent norn 00:25:31 -!- calamari has joined. 00:27:21 -!- ehird` has quit (Remote closed the connection). 00:27:59 * Sgeo_ likes murdering norns 00:28:07 Although this last one died painlessly 00:28:44 RIP (to shreds) 00:31:19 The last one died of old age, actually.. admittedly, it was 0 minutes old and artificially aged, but still.. 00:32:45 'me push sgeo' how cute 00:32:50 It's still dying 00:32:53 >.> 00:34:17 Dead, 1min 00:35:43 And there's the more painful method, which fills it with pain constantly and attacks its internal organs 00:35:53 And you get to hear the norns scream 00:38:41 -!- graue has joined. 00:40:25 * oerjan wouldn't want to mess horribly with goddesses of fate, himself. or maybe he would. 00:42:04 It took me a while to figure out what you were talking about 00:42:27 hehe 01:56:44 -!- KrimZon has quit (Read error: 131 (Connection reset by peer)). 02:21:04 -!- immibis has joined. 02:29:17 Hi immibis 02:29:32 Oh, I didn't mention in here that I grew another hand 02:29:54 http://forums.gamewaredevelopment.com/showthread.php?t=6299 02:39:50 -!- GreaseMonkey has joined. 02:49:36 Hi GreaseMonkey 02:49:41 'lo 02:50:01 there's some really funky stuff you can do with windows 02:50:39 you can steal the windows 3.1 kernel from the windows 95 and 98 setup CDs 02:51:18 in the win98 ones, they're under mini.cab, precopy1.cab, and precopy2.cab 02:51:28 then you modify your system.ini to suit 02:51:42 note that you WILL need to find a windows 3.1 shell 02:52:02 then you run xmsmmgr.exe from the CD, and dosx.exe from where you extracted the stuff 02:53:17 -!- oerjan has quit ("ZZRNKRK"). 02:56:37 GreaseMonkey: progmgr.exe is the Windows 3.1 shell. 02:56:47 It's in one of the Win95 cabs. ;) 02:56:49 yeah, but you can use it under windows 9x 02:57:11 oh, and you can do pretty much the reverse under windows 3.1 by using winfile.exe as a shell 02:59:29 You know what has a terrible user interface? The oboe. I used to play it when I was a kid. Ick. 03:01:33 GreaseMonkey: Also, install Win32s. 03:01:46 good point, pikhq 03:01:48 (it's a subset of the Win32 API, which works under Windows 3.1. ;)) 03:06:25 GreaseMonkey, pikhq: Alternatively, you could install Windows 3.1. 03:06:45 i already have it :D 03:07:33 Time now to port WINE to Windows 3.1? 03:13:04 oh, as it turns out, winfile.exe was designed to be run as the windows 3.1 shell, but notepad.exe wasn't. 03:17:15 lol 03:17:19 SHOCK 03:18:26 dbc: i've heard the violin is better 03:34:07 dbc: lol wut? 03:34:18 i played bassoon for a couple years 03:35:00 afk 03:42:36 back 03:57:26 two men are sitting in a bar: Rob V. Bert and Ivanna B. Kikked. 03:57:31 Rob V. Bert walks out 03:57:33 who is left? 04:01:38 Ivanna B. Kikked? 04:09:43 hehe: http://img.romerican.com/post070209_microsoft_windows_vista_wow_marketing_advertising_campaign.jpg 04:22:17 puzzlet: say that out loud 04:22:32 Ivanna B. Kikked! 04:22:33 Die sucker die! 04:22:46 but who is it 04:24:20 no, say it aloud. what does it sound like? 04:24:30 it sounds like "I wanna be kicked" 04:24:56 joke only works if you are an op, who can kick people from the channel 04:25:11 yes i know 04:25:57 i read it like ee-va-na 04:26:54 eye-va-na 04:27:39 bug: esolangs wiki returns errors from MediaWikiBagOStuff at seemingly random times. 04:31:23 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. Give a man a fish and he will eat f). 05:03:15 -!- Sgeo_ has quit ("Ex-Chat"). 06:42:13 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:37:37 -!- GreaseMonkey has quit ("Every time you screw up AWOS, GreaseMonkey kills a kitten."). 09:52:12 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)). 10:23:13 -!- ais523 has joined. 11:14:54 -!- dbc has quit (Remote closed the connection). 11:26:29 -!- Eulogy_ has changed nick to Eulogy. 11:36:28 -!- Slereah- has joined. 11:49:53 -!- asiekierka has joined. 11:49:56 Hi. 11:50:02 I had an idea for a language 11:50:10 again 11:50:38 it'll be an OISC, but it'll NOT use subleq :/ 11:50:44 -!- Eulogy has left (?). 11:50:55 Instead, it'll emulate a transistor 11:52:40 -!- Slereah has quit (Read error: 110 (Connection timed out)). 11:53:10 or not 11:59:02 have you seen noit o' mnain worb? 11:59:23 it's not quite an OISC, but making transistor-like components seems to be the easiest way to program in it 12:08:56 -!- pikhq_ has joined. 12:20:26 -!- pikhq has quit (Read error: 110 (Connection timed out)). 12:29:07 on another note, i am going to generate a brainfuck "hello world" using natural selection. <<< me too! 12:29:17 !bf_textgen Hello, world! 12:29:21 Huh? 12:31:59 !bf_txtgen Hello, world! 12:33:45 124 ++++++++++++++[>+++++>+++++++>+++>++++++++<<<<-]>++.>+++.+++++++..+++.>++.------------.<++++++++.>>-.+++.------.--------.<+. [305] 12:45:49 !daemon ul bf http://pastebin.ca/raw/367774 12:45:54 !ul (Hello, world!)S 12:45:57 Hello, world! 12:46:40 I don't think it's possible to do better than that in Underload, and a natural selection program would likely find that quickly if at all well written 12:46:44 Malbolge, on the other hand... 12:54:31 !bf ++++++++++++++[>+++++>+++++++>+++>++++++++<<<<-]>++.>+++.+++++++..+++.>++.------------.<++++++++.>>-.+++.------.--------.<+. 12:54:35 Hello, world! 13:27:59 read the rules 13:28:27 oh well 13:28:29 it dosen't work 13:28:29 so 13:28:33 on the other hand... 13:28:33 !bf_txtgen Hello guys! I'm the man of the year, asiekierka. 13:28:48 that may take a while 13:28:54 I don't think the txtgen code is very efficient 13:29:00 oh shit 13:29:04 i pasted it 2 times 13:29:36 !kill 3 13:29:37 I wonder if anybody will do an Artistic Piet Text Generator (i mean an esolang of course xD) 13:29:37 Process 3 killed. 13:29:40 ok 13:29:48 that should leave only one of the processes running 13:30:28 Is there any good Piet tutorial? 13:32:33 I can't think of one offhand; you might want to try asking a search engine 13:36:43 txtgen did it 13:36:45 !bf ++++++++++[>++++>+++++++>+++>++++++++++<<<<-]>>++.>>+.+++++++..+++.<++.>--------.++++++++++++++.++++.------.<+.-.<+.<-.>>>------.<.>+++++++.<<+++++++++++++++++++++++++++++++.---.<-------.>++++++++.>>-------------------.<<+.>.<+.>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.<<.>+++++.>++.---.<<.>+++++.>.>.<<-------.<++++++++++++.------------.>>>.<<+ 13:36:47 Hello guys! I'm the man of the year, a 13:36:55 hey! 13:37:06 it cut it in part 13:38:22 presumably it sent the whole thing, but it got cut off by the IRC servers because the line was too long 13:38:52 I've been autokicked from the channel for typing too much on a line before, I think 13:40:40 ... 13:40:40 oh 13:40:43 Ok. 13:40:48 I can't find any piet tutorial 13:46:22 !bf +++++++++++[>+++++++>+++>+++++++++>+++++++++++<<<<-]>>.>-.++++.-------.>-----.++++.----.<++++++++.--.+++++++++.<-.<-.>>+.---.<++++++++++++++. 13:46:25 !bf_txtgen Lol. 13:46:35 EgoBot doesn't trigger itself 13:46:41 i wanted to check it 13:47:13 sometimes the interaction of two bots has been used to do this sort of loop, though, but bsmnt_bot doesn't seem to be here at the moment 13:49:35 There should be a quine printing itself, but with "!bf " at the beginning. 13:49:40 so it'll make a loop 13:50:50 it's normally easy to modify a quine to do that sort of thing 13:51:03 except the famous Lisp one, because !bf isn't legal Lisp 13:52:29 it dosen't need to be in the code 13:52:38 just to make a quine print it at the beginning, then itself. 13:54:15 -!- puzzlet has quit (Remote closed the connection). 13:54:25 -!- puzzlet has joined. 13:54:53 the Lisp quine works by manipulating Lisp expressions rather than strings, so would need to be rewritten to print a non-lisp expression at the start 13:58:39 -!- jix has joined. 14:14:01 There should be a quine printing itself, but with "!bf " at the beginning. 14:14:08 oldest trick in the book :P 14:15:32 !ul ((!bf )SaS(:^)S):^ 14:15:35 !bf ((!bf )SaS(:^)S):^ 14:15:48 Underload is a pretty good language for writing quines in 14:16:13 Of course, it should be this: 14:16:15 !ul ((!ul )SaS(:^)S):^ 14:16:17 !ul ((!ul )SaS(:^)S):^ 14:16:22 or even: 14:16:29 !ul (( !ul )SaS(:^)S):^ 14:16:31 !ul (( !ul )SaS(:^)S):^ 14:16:54 ais523: is underload your lang? 14:17:01 one of my languages 14:17:25 -!- puzzlet has quit (Remote closed the connection). 14:17:26 -!- puzzlet_ has joined. 14:17:28 -!- ehird` has joined. 14:17:38 not based on the fact you constantly use it as an example, but because i recall seeing your name on the page, for the not 14:17:49 *note 14:18:01 ooh 14:18:02 what did i miss 14:18:04 * ehird` checks logs 14:18:14 i really need to write a bouncer. 14:18:19 underload is one of my favorite stack languages, although i haven't used it much 14:18:33 I like Underload a lot too 14:18:43 ehird`: or you can just keep irc open 14:18:57 oklopol: the computer shuts down 14:19:12 why? 14:19:14 heck, even when my mac gets back [soon, soon] i put it on sleep when i leave 14:19:21 and because this computer is noisy as fuck 14:19:23 as for my mac 14:19:26 it uses lots of power 14:19:33 i see 14:19:41 also, what about when i need to reboor 14:19:42 t 14:19:43 etc 14:19:51 my server on the other hand NEVER dies :) 14:20:00 i've never seen our gas bill, and my parents have never complained about my comps, don't really know how much this uses :P 14:20:07 but it's always on anyway 14:20:10 ... 14:20:15 gas?? 14:20:17 yes 14:20:19 once i tried leaving it on 14:20:23 pneumatic computer, i have it. 14:20:26 when the electricity bill arrived 14:20:33 i can tell you it was not a fun number :-) 14:21:11 heh 14:26:18 * ehird` looks at today's logs 14:26:25 !ul ((**ul )SaS(:^)S):^ 14:26:29 **ul ((**ul )SaS(:^)S):^ 14:26:34 hmm 14:26:45 that would need me to add **ul to peyavi 14:26:45 but 14:26:49 it'd need to output 14:26:55 "**ul ((!ul )SaS(:^)S):^" 14:27:01 which is a bit harder, than the above 14:27:21 hey, this wsa all a few minutes ago 14:27:23 i'm current! ;) 14:27:25 you need to wrap it in quotes? 14:27:32 ais523: no 14:27:34 **ul ((**ul )SaS(:^)S):^ 14:27:36 **ul ((!ul )SaS(:^)S):^ 14:27:39 see? ; 14:28:10 So basically we need: !ul program-that-produces-itself-but-with-**ul-in-front-of-it-and-in-the-program-code-**ul-replaced-with-!ul 14:28:24 this is usually done more easily asymmetrically 14:29:01 i guess 14:29:08 but still, in underload quite a challenge 14:29:09 ;) 14:29:16 (If it was in brainfuck -- even more so) 14:30:20 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 14:30:23 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 14:30:34 !ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 14:30:37 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 14:30:50 ais523: Is there a reference Underload implementation? :P 14:31:01 it's in JavaScript, linked from the wiki 14:31:01 Also, is there a way to make EgoBot join a channel, so we do not flood here? 14:31:14 there's /query EgoBot, which I use 14:31:16 javascript :| i don't want to install spidermonkey and call it from my bot, haha 14:31:26 well yeah but my bot can't /query EgoBot and still let us see 14:31:32 EgoBot's running Keymaker's Underload-in-BF program 14:31:38 which I modified to work as an IRC daemon 14:31:59 see http://pastebin.ca/367774 14:32:06 i don't have a BF impl embedded yet 14:32:09 so, spidermonkey. 14:32:35 also, ()^ is in no way a self-interp unless you count 'eval' as one ;) 14:33:06 eval's a self-interpreter by cheating 14:33:24 haha 14:33:45 maybe in e.g. CMUCL and SBCL and lots of Lisps 14:33:50 since they themselvs are written in lisp 14:33:55 but in Python or something? i wouldn't count it :P 14:34:54 Underload maybe should have an input command that takes a character and converts it to a Church numeral 14:35:13 0 as a Church numeral in Underload is (!()), but the rest follow a pattern 14:35:15 1 is () 14:35:18 2 is (:*) 14:35:21 3 is (::**) 14:35:24 4 is (:::***) 14:35:26 and so on 14:35:59 then multiplication is * and exponentiation is ^, thus the characters used for those operations 14:36:49 that's clever 14:38:23 of course, once you've started doing calculations on them they end up looking like mess like (:*::!()*:**), but that's what happens when your only string operations are concatenation, eval, and enclose-in-parens 14:39:49 I posted a new Underload program to the wiki talkpage today, actually 14:40:03 I'd been meaning to for a while, but was reminded when Keymaker posted one yesterday 14:40:51 ais523: this interp is obfuscated! :-) 14:41:33 Something obfuscated? Here? 14:41:36 Lies and slander! 14:41:51 which interpreter are you referring to? 14:42:15 My JavaScript interpreter isn't deliberately obfuscated, so if you think it's obfuscated it's because I always write like that 14:43:23 -!- SEO_DUDE has joined. 14:43:49 ais523: "o" is the output right? 14:44:27 it's the textarea that holds the output, so yes 14:44:39 p and s are the textareas that hold the program and stack 14:44:55 and the stack elements are separated by <> because that isn't a legal string anyway in an Underload program 14:45:30 only I forgot to implement the quoting-with-" for special characters 14:45:47 so if i made o a string 14:45:51 I wonder if the BF version implements that? 14:45:52 and removed the timeout 14:45:55 my return would be 14:46:00 "return o + step(lp)" 14:46:01 right? 14:46:02 !ul ("<)S 14:46:05 "< 14:46:35 oh 14:46:38 yes, pretty much 14:46:38 is that... needed? 14:46:58 I think the quoting-with-" is probably now officialy not part of the language because nobody ever bothered to implement it 14:46:58 !ul o 14:47:08 o isn't a legal Underload command 14:47:25 !ul ()S 14:47:29 ... 14:47:32 !ul (o)S 14:47:35 o 14:47:52 heh, "ulos" is finnish for out :O 14:48:17 dunno if that's funny unless saying "o" is your standard way to test output 14:48:27 oklopol: "o"utput 14:48:30 * oklopol is an o'ist 14:48:47 hey ais523 14:48:49 what is lp??? 14:49:08 length of time to wait before recursively calling yourself 14:49:26 it's the way you do a slow loop in JavaScript without busy-waiting 14:49:52 that is, once the function finishes running, it schedules the window to call itself in lp milliseconds 14:50:09 and while it isn't running (that is, most of the time) it's possible to do other things on the same browser 14:50:32 ah 14:50:36 yes 14:50:44 (I know JS. :P) 14:51:15 -!- peyavi has joined. 14:51:18 **ul (o)S 14:51:18 ERROR: Empty stack 14:51:24 oh 14:51:24 duh 14:51:27 i need to pass the stack 14:51:27 heh 14:51:55 -!- peyavi has quit (Remote closed the connection). 14:52:00 now it's tail-recursive 14:52:01 :P 14:52:05 -!- peyavi has joined. 14:52:11 **ul (o)S 14:52:12 ERROR: Empty stack 14:52:14 :| 14:52:31 wait 14:52:37 ais523: what should the stack be initially? 14:52:38 i have <> 14:52:42 err# 14:52:42 i have 14:52:43 "" 14:52:49 that's correct 14:52:49 wonder if i'm evil enough to implement that into ololobot before you ;) 14:53:08 * ais523 doesn't even have a bot 14:53:17 before ehird` i meant 14:53:22 oklopol: i've already done it, really 14:53:30 oklopol: just fixing 1 or 2 bugs 14:53:42 if you're getting an empty-stack error, it may be that the (o) isn't being pushed onto the stack properly 14:53:44 then i'd be in a bit of a hurry. 14:53:50 if(s.indexOf("<>")==-1) {throw("ERROR: Empty stack");} 14:53:56 i think thats wrong 14:54:00 maybe. 14:54:01 :/ 14:54:18 if there's an o on the stack, then s is "o<>" 14:54:33 with an o and a p (with the p on top) it would be "p<>o<>" 14:54:55 ah heck i'll implement my own 14:54:58 in JS for fun :P 14:55:20 * oklopol implements 14:55:41 oklopol: it's really annoying how i can't even add something to my bot without you going on and on about implementing it yourself. 14:58:51 parser ready! 14:58:54 okay okay :< 14:59:07 but... i thought it was our thing! 14:59:14 i have to leave anyway, now 14:59:26 **markov 14:59:26 !paste | see also the #ubuntu channel topic) 14:59:28 **markov 14:59:28 oklopol: i've already done it, really 14:59:29 Huh? 14:59:29 **markov 14:59:29 that's correct 14:59:30 **markov 14:59:30 oklopol: just fixing 1 or 2 bugs 14:59:33 **markov 14:59:34 under root user i can find most famous , "catagorised" apps for linux. 14:59:35 **markov 14:59:36 short, one is you can utilize more RAM 14:59:37 **markov 14:59:37 whats rm -rf myfolder, myfolder will be gone. 14:59:39 -!- peyavi has quit (Remote closed the connection). 14:59:50 -!- peyavi has joined. 14:59:51 ais523: i think i fixed it 14:59:58 **ul (o)S 15:00:04 Oh 15:00:05 silly me 15:00:28 ehird`: also, may i once again remind you markov chains were my idea first ;) 15:00:44 -!- peyavi has quit (Remote closed the connection). 15:00:52 i need to see the underload spec 15:00:53 oklopol: markov chains were not your idea :P 15:00:55 -!- peyavi has joined. 15:00:56 **ul (o)S 15:00:56 undefined 15:01:08 neither was underload 15:01:09 i mean implementing them in a bot 15:01:29 markov chains were in bots beforey ou did that 15:01:43 so was unlambda 15:01:51 i mean implementing them in a bot, now 15:01:56 or back then 15:02:13 anyway, either get my point or don't 15:03:40 i'll make it, i'll just not put it in the bot, i'm gonna implement every lang on esolangs.org anyway 15:04:41 -!- peyavi has quit (Remote closed the connection). 15:04:52 -!- peyavi has joined. 15:04:53 **ul (o)S 15:04:53 TypeError: p.value has no properties 15:04:56 close :P 15:05:13 -!- peyavi has quit (Remote closed the connection). 15:05:23 -!- peyavi has joined. 15:05:27 **ul (o)S 15:05:34 well, close enough 15:07:23 -!- RedDak has joined. 15:08:34 ehird`: have you remembered to remove all the .value suffixes from the code? 15:08:56 hmm 15:09:01 interesting 15:09:10 -!- peyavi has quit (Remote closed the connection). 15:09:15 ais523: ofc 15:09:21 -!- peyavi has joined. 15:09:22 ais523: in fact, i've made it extra evil just now 15:09:24 **ul (o)S 15:09:24 ReferenceError: p is not defined 15:09:28 cose 15:09:29 close 15:09:51 -!- peyavi has quit (Remote closed the connection). 15:10:02 -!- peyavi has joined. 15:10:08 **ul (o)S 15:10:08 o 15:10:10 woot 15:10:23 ok how do you invite egobot somewhere? 15:11:35 !help 15:11:39 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 15:11:41 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 15:11:42 I don't think you can 15:12:21 ok who has a copy of egobot lying around 15:12:22 ;) 15:12:26 ah what the heck 15:12:31 ais523: run the infinite loop quine thing 15:12:37 i'll kill peyavi when the flood starts 15:12:43 -!- peyavi has quit (Remote closed the connection). 15:12:50 !ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:12:53 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:12:54 -!- peyavi has joined. 15:12:55 too late 15:12:56 :P 15:13:02 try now 15:13:03 !ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:07 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:11 the prefix is **ul. 15:13:15 for peyavi 15:13:23 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:25 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:25 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:27 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:27 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:29 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:29 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:29 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:31 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:31 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:33 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:33 !ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^ 15:13:35 -!- peyavi has quit (Remote closed the connection). 15:13:35 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:13:37 fun 15:13:37 **ul (!ul ((**ul )Sa(!ul )~*(:^)*aS(S)S):^)S 15:14:07 heh 15:15:24 idea: 15:15:35 an esoteric language designed to write esolang interpreters 15:15:48 I'm working on at least two of those at the moment 15:16:15 and there's Thutu, of course; its wimpmode version Thutu2 is the only language in which Forte has been implemented 15:18:42 **unl2ul ```sii``sii 15:18:52 oops 15:19:00 -!- peyavi has joined. 15:19:02 **unl2ul ```sii``sii 15:19:19 -!- peyavi has quit (Remote closed the connection). 15:19:30 -!- peyavi has joined. 15:19:47 **unl2ul ```sii``sii 15:19:59 -!- peyavi has quit (Remote closed the connection). 15:20:05 are you sure that you mean to be sending smart-quotes as input to the channel? 15:20:10 -!- peyavi has joined. 15:20:13 three backquotes are likely to work better 15:20:21 its not smartquotes 15:20:28 your client is broken 15:20:32 **unl2ul ```sii``siii 15:20:38 you're right, it's my client 15:20:39 yes, its chatzilla 15:20:40 chatzilla does that 15:20:50 which is why you should dump chatzilla :) 15:20:56 **unl2ul ```sii``sii 15:20:57 I don't have any choice in the matter 15:21:31 -!- peyavi has quit (Remote closed the connection). 15:21:41 -!- peyavi has joined. 15:21:47 **unl2ul ```sii``sii 15:21:47 ((:)~*(~)*a(~*(~^)*)*)()~^()~^((:)~*(~)*a(~*(~^)*)*)()~^()~^~^ 15:22:11 **unl2ul s 15:22:11 ((:)~*(~)*a(~*(~^)*)*) 15:22:14 **unl2ul `sk 15:22:14 ((:)~*(~)*a(~*(~^)*)*)(a(!)~*)~^ 15:22:17 **unl2ul ``skk 15:22:17 ((:)~*(~)*a(~*(~^)*)*)(a(!)~*)~^(a(!)~*)~^ 15:22:20 **unl2ul ` 15:22:20 ~^ 15:22:24 **unl2ul x` 15:22:24 ~^ 15:22:27 **unl2ul s` 15:22:27 ((:)~*(~)*a(~*(~^)*)*)~^ 15:22:38 **unl2ul ````.H.i.!i 15:22:39 ((H)S)((i)S)~^((!)S)~^()~^~^ 15:22:54 **ul ((H)S)((i)S)~^((!)S)~^()~^~^ 15:22:55 ERROR: Empty stack 15:22:58 uh oh 15:23:04 **unl2ul ```.H.i.!i 15:23:04 ((H)S)((i)S)~^((!)S)~^()~^ 15:23:09 mistake in my program, sorry 15:23:26 **ul ((H)S)((i)S)~^((!)S)~^()~^ 15:23:27 Hi! 15:23:31 !ul ((H)S)((i)S)~^((!)S)~^()~^ 15:23:33 Hi! 15:24:39 **ul (a)(b(c))(d)(e)~*:!*(S)^ 15:24:39 b(c)ed 15:25:01 standalone, spidermonkey source: http://pastebin.ca/raw/792589 15:25:10 syntax highlighted: http://pastebin.ca/792589 15:25:14 yes, the _ object is evil :) 15:25:34 * ais523 was writing another Underload interpreter during that 15:25:37 in Perl this time 15:25:38 http://pastebin.ca/792590 15:26:17 haha 15:26:19 slightly simpler 15:26:19 :P 15:26:27 i'll write one functionally, in scheme 15:26:29 but firs 15:26:30 t 15:26:30 brb 15:26:41 mine does no error checking, though 15:32:02 **help 15:34:15 sorry 15:34:16 no help 15:34:25 markov, ul, unl2ul 15:34:28 are the only commands atm 15:34:39 but it has got all the infrastructure 15:34:54 multithreaded commands, argument parsing, helper methods, etc 15:34:57 just not many real commands :-) 15:36:25 I wish there was a Scheme implementation like regular, CL Lisps 15:36:29 I find them amusing :-) 15:36:38 with their core image files and their full VMs and everything 15:36:48 it's so detached from the OS or anything 15:36:52 still, MIT scheme is pretty close 15:37:47 .. I also wish there was an editor other than Emacs that works well with scheme. :| 15:38:37 I'm sure that one exists 15:38:59 whether it's easy to obtain a copy is another matter 15:40:29 bah, mit scheme doesn't implement enough srfis for me 15:40:32 time to find another impl 15:40:54 i wish there was an agreement of what scheme interpreter to use 15:41:26 I guess scheme48/PLT scheme are the main choices 15:41:49 I suppose you could just implement scheme in Common Lisp or vice versa 15:41:59 but common lisp makes me sad :P 15:42:15 the only thing i like about common lisp is its weird systems :P 15:44:25 How many implementations of Underload does that make now? 15:44:52 There's the original JS, the modified JS, the BF, the Thutu, and the Perl (not counting the self-interpreter-by-cheating) 15:46:22 and now my scheme when gauche installs 15:46:22 :P 16:06:26 * ais523 has just come across a great Ben Olmstead quote 16:07:01 "I think Malbolge needs an update. I may write Visual M++ 2008 Extra Ultimate Edition if I'm feeling bored some weekend." 16:07:44 :) yeah 16:07:45 i saw that 16:09:02 ((#\*) (ul-inner program (cons (append (cadr stack) (car stack)) (cddr stack)) output inner)) 16:09:10 ais523: i have a feeling this isn't idiomatic scheme :) 16:10:12 is that the code for the ~ instruction? 16:10:17 and are you tail-recursively looping? 16:10:46 I understand lispy scheme, but not the strings of punctuation marks that appear every now and then 16:11:16 no 16:11:17 that's for * 16:11:25 #\c is the character c in scheme 16:11:31 # is used for 'extra atoms' 16:11:53 I missed the 'append', you're right, that is * 16:11:55 #t #f #\newline #\tab #\space #\c (where c is a char) 16:12:11 also i'm tail-recursively looping yeah. 16:12:19 wimping out for parens though 16:12:30 and just making a inner-parens or something function 16:13:31 I must have a go at writing a Cyclexa version sometime 16:13:46 but I'll have to finish up the spec and start writing the interpreter first 16:15:54 and I should probably avoid mentioning languages in IRC channels when nobody else knows what they are because I haven't posted any info 16:17:30 what's the singular of parentheses? 16:18:55 parenthesis 16:22:09 ^ When the ^ command is called, it includes the top element of the stack into the program, immediately after the ^ command, ready to be run next. 16:22:11 doesn't pop though 16:22:12 right? 16:23:18 does pop, that's a mistake in the definition. I'll go and fix it on the wiki 16:23:47 ok, if this works 16:23:51 then i have an underload interp in 31 lines 16:24:16 and also 100% functional 16:24:24 although, since it is 16:24:29 output comes after the program is run 16:24:35 so, no e.g. fibonacci program atm 16:24:41 i can easily fix that. 16:24:54 that's not a problem really for an output-only language, except for infinite loops 16:26:02 indeed 16:27:08 the way the non-wimpmode Thutu is defined it's incapable of doing output without asking for input 16:27:31 but this doesn't technically speaking restrict what I/O sequences are allowed, because it can always be stored up until input is needed 16:27:52 it's pretty frustrating, though, which is why I used the wimpmode version Thutu2 16:28:58 hm 16:29:01 give me an underload program to test 16:29:04 (o)S is failing 16:29:05 and i don't know why 16:29:06 so hm 16:29:24 -!- pikhq_ has changed nick to pikhq. 16:30:22 the standard quine (:aSS):aSS is one possibility to test 16:31:05 if you want something harder, you could try one of Keymaker's programs, or the decimal-counting program I just posted on the wiki talk page 16:31:44 and there's (a)(b(c))(d)(e)~*:!*(S)^ which I just came up with off the top of my head to test the Perl version (and checked the correct result with peyavi) 16:34:32 hm 16:34:34 without output 16:34:34 :P 16:35:01 do you have a debugger? 16:35:24 printf debugging in Scheme would be quite a beauty to behold, I expect, especially if you were just dumping expressions 16:36:12 yeah i don't want to printf (display) debug in scheme :P 16:36:18 i wonder if there IS a scheme debugger.. 16:36:23 I mean, generally you don't debug in lisp 16:36:26 you load stuff into your REPL 16:36:30 and test +modify it there 16:36:43 hm, seems not 16:38:10 I think my parens don't match up 16:38:11 >_< 16:38:29 * ehird` resigns to the fact that he needs to use emacs 16:38:47 * ais523 uses Emacs all the time 16:38:51 even on Windows 16:38:56 emacs is terrible 16:39:32 EMACS is a perfectly good OS, albeit showing its age. With evile or similar it has a fairly good text editor, and the browser, IRC client etc aren't bad. 16:40:43 GregorR: ha, ha, we did this last week. 16:42:00 it doesn't work very well as an OS on DOS, due to the impossibility of multiple processes 16:42:23 it works better than many other text editors on DOS for much the same reason 16:45:49 GregorR: From #emacs: "Emacs follows the Unix philosophy. It does one thing, and does it well: everything." :p 16:46:59 emacs is infuriating me already! :P 16:47:48 pikhq: are you defending it? :P 16:47:53 pikhq: Hahahahaahha X-D 16:48:01 pikhq: OMG, that's so brilliant I may have to switch to EMACS :P 16:48:17 GregorR: Ok, come on, emacs may be terrible, but it's not called EMACS any more :P 16:48:19 ehird`: I'm a member of the Church of Emacs. 16:48:24 pikhq: die die die! 16:48:35 ehird`: ORLY? 16:48:37 ehird`: Using Vi is not a sin in the CoE, BTW. 16:48:50 ehird`: I thought people were just lazy and decapped, I didn't realize it had been officially decapped. 16:48:54 Only using nonfree software is a sin in it. 16:48:59 pikhq: I know that. 16:49:04 pikhq: On my mac i use a non-free editor. :P 16:49:09 (TextMate.) 16:49:19 I believe the Emacs solution to vi was to try to emulate it 16:49:19 Then I sentence you to a horrendous penance. 16:49:28 Well, you're using it on a nonfree system, so you have more problems than just the editor :P 16:49:29 Use Vi (or viper-mode). 16:49:31 and then talk about why the Emacs version of vi was so superior 16:49:33 GregorR: It officially refers to itself as "Emacs" or "GNU Emacs" 16:49:43 Zomgsicles! 16:49:44 the title bar says "emacs@hostname", though, but that's just to be unix-y in specifying it 16:50:14 ais523: "Instead of i you can type (set-vi-mode 'insert)" 16:50:22 "This allows for additional flexibility" 16:50:48 LMAO 16:50:54 ehird`: are you agreeing with me or arguing with me? I can't quite tell 16:50:59 ais523: agreeing ;) 16:52:09 info viper 16:52:13 nImprovements over Vi 16:52:42 they have a whole chapter in their manual about why Emacs' version of vi is so much better than vi 16:52:50 but they sort of miss the point about why people use bi 16:52:55 s/bi/vi/ 16:53:27 by the way, what's your favourite backronym for EMACS 16:53:30 s/$/?/ 16:54:33 I'd go with Escape-Meta-Alt-Control-Shift, although that doesn't actually do anything by itself because that's five modifier keys without specifying a character at the end of it 16:55:52 -!- ais523 has quit ("changing to a different computer, will be logged off IRC in the meantime"). 16:56:30 oh my god!!! emacs just indented with a mix of spaces and tabs!! 16:56:34 evil peice of shit!! 16:56:40 * ehird` runs to #emacs and demands to know how to disable it 16:56:58 Damn I before E except after C and when pronounced 'ay' as in neighbor and weigh!!! 16:57:11 GregorR: or a few other cases! 16:57:24 Yeah, it's weird. 16:57:28 But piece isn't one of them :P 16:57:46 Escape == Meta == Alt in modern Emacs, anyways. 16:57:57 So, that's 3 modifiers. 16:58:07 I thought escape was escape? 16:58:12 (Thought meta == alt) 16:58:45 GregorR: Escape is set to be Alt to allow for archaic systems without an alt key. 16:58:57 Wow, that's archaic. 16:59:14 ehird`: C-c . k&r 16:59:21 pikhq: for SCHEME? 16:59:24 :) 16:59:24 ehird`: Oh. 16:59:34 anyway 16:59:35 it's (setq-default indent-tabs-mode nil) 16:59:52 GregorR: of course its archaic 17:00:15 GregorR: the emacs tutorial says things like "If you are running in a windowed environment, ..." and "If your terminal has cursor keys, ..." 17:00:25 Hahahaha 17:00:32 Emacs still runs on the PDP-11, IIRC. 17:00:36 no -- seriously, it does :) 17:00:50 pikhq: Doesn't surprise me. ehird`: Doesn't surprise me. 17:00:57 All this is because some people actually *use* it on such old systems. 17:01:12 -!- ais523 has joined. 17:01:19 did I miss anything? 17:01:25 ais523: yes 17:01:27 lots 17:01:29 Just emacs wars. 17:01:34 fun emacs war, though 17:01:41 Quite. 17:01:43 pikhq: Okay -- but nobody uses emacs on a PDP-11. 17:01:48 I will not accept that! ;) 17:01:58 * ais523 reads the logs 17:02:07 Someone actually runs GCC on a PDP-11. ;) 17:02:22 (why else would the PDP-11 backend still work?) 17:04:34 as for 'if you're running in a windowed environment...'; when I run Emacs on DJGPP on DOS on NTVDM on Windows, Emacs doesn't have access to the windowed environment it's running on 4 levels down, and besides I normally run it in full-screen mode 17:05:01 if you look hard enough there'll probably be a mode designed to pipe output to a lineprinter 17:05:05 If you run emacs without X, you don't have a windowed environment. 17:05:19 ais523: Confirmed. 17:05:29 Somewhere in with the DOS stuff in the manual. 17:09:07 * ais523 is busy reading the horrific details about newlines in Emacs on DOS 17:09:44 it's a real problem, though. I know because the INTERCAL compiler I maintain now targets both Linux/UNIX systems and DOS via DJGPP, and everything has to be written for both 17:10:08 also, all the important filenames are 8.3, so instead of 'configure' you configure it with 'config.sh' 17:10:54 nobody sane uses dos!!! 17:10:54 jesus 17:10:58 (even insane people like us) 17:11:13 it's the sanest way I found to run it under Windows 17:11:34 NTVDM is awful, but it's possible to work around most of its bugs with frequent restarting 17:12:01 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 17:12:06 the most annoying is the way that it crashes with a Windows error message every time I run 'tar', for no obvious reason 17:12:30 oh, and the printer stuff in the DOS section is a false positive 17:24:08 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 17:29:34 -!- Sgeo has joined. 17:31:44 Shigeo. 17:31:46 . . . hi 17:31:50 oh no 17:31:53 not you 17:31:59 why not? 17:32:02 right 17:32:06 why not? 17:32:36 ais523: because he was as annoying yesterday as the previous time he came in 17:32:56 * ais523 will have to read the logs a bit further back 17:33:17 :( 17:35:54 it seems reasonable to me, but I have an unusually high tolerance 17:36:12 *sigh* 17:36:15 Thank God. 17:36:16 Yeah, that seems a bit harsh. 17:36:19 and being a Wikipedia admin, I also have a tendency to help new users rather than insulating them 17:36:29 *insulting 17:36:47 yeah, well last time he came in here [not yesterday] he spammed up the channel 17:36:52 also got his bot to spam it at one point 17:37:05 and yelled a lot when people did not reply to him within 30 seconds 17:37:22 sounds to me like someone who's eager but doesn't really understand IRC 17:37:23 No. 17:37:43 I'm 10 and from Poland. 17:37:44 but 17:37:45 ais523: yes -- that's his defense. along with "I'm only 10!!!" 17:37:45 who cares 17:37:52 great timing 17:37:56 I'm also a dumbass that nobody cares about. 17:38:03 At least that's what you think of me. 17:38:08 sheesh 17:38:08 Let us show you the SUPER HIGHWAY OF INFORMATION. 17:38:14 i just stated how you have been in this channel 17:38:31 So you stated in 4 words "Asie is a dumbass". 17:38:39 in facty 17:38:41 fact* 17:38:42 no, actually. 17:38:50 but if you'd like to believe that's what i said, go ahead 17:38:56 You're just young is all. 17:39:28 Nobody cares. 17:39:37 Especially ehird`. 17:39:38 http://uncyclopedia.org/wiki/Nobody_cares 17:39:39 Ah, to be young again. And also a robot. 17:39:51 ehird`: it was inevitable that someone would post that link 17:39:55 ais523: :) 17:40:05 even though I've never actually seen what's at the other end of it 17:40:17 haha 17:40:20 it's not a shock site or anything 17:40:39 Well, at least until you search it for goatse. 17:40:52 there's no goatse on that page. :P 17:41:07 But who knows! It might only be clicks away! 17:41:10 last time I tried to look at uncyclopedia was in a cybercafe, and I hit a content filter 17:41:13 ... 17:41:28 o`/ Nobody cares about me o`/ 17:41:34 -!- calamari has joined. 17:41:36 o`/ Well, why you should? I don't know! o`/ 17:41:44 soon, asiekierka will discover razor blades 17:41:49 and then we'll all be investigated 17:42:22 * ais523 wonders how to de-escalate this discussion without making it worse or insulting one side or the other for life 17:42:23 o`/ No you will not be. Why? I don't know o`/ 17:42:30 o`/ because i suck! o`/ 17:42:58 ais523: I do believe the solution is to simply put people on temporary ignore, allow the argument to resolve itself in time, and then let the ignores expire. 17:43:02 ais523 : The solution would probably be to steer the conversation toward something unrelated. 17:43:05 asiekierka, your song-writing skills are lacking. 17:43:10 xD 17:43:14 ais523, ais523, asiekierka. 17:43:28 ais523: Just forget about me. 17:43:32 -!- asiekierka has left (?). 17:43:54 he'll be back in 10 minutes 17:43:55 he always is 17:44:53 -!- _ has joined. 17:44:58 hmm 17:45:01 when i say '10 minutes' 17:45:06 i actually mean '1 minute' 17:45:17 <_> ... 17:45:18 disguised as an underscore 17:45:25 <_> you know that's me, right? 17:45:28 <_> okl 17:45:29 <_> ok* 17:45:32 Well, it was 10 minutes. 17:45:33 -!- _ has changed nick to asiekierka. 17:45:35 But in base 1. 17:45:39 ... 17:45:42 no. "_ (n=asiekier@81.15.226.6) has joined #esoteric" did not give it away at all. 17:46:11 Waiting for somebody to say that he likes me. 17:46:37 Hm. My sarcasm muscle is twitching. 17:46:46 Slereah-: base 1 uses no digits but 0 17:46:56 you mean base 2... 17:47:03 10 = 2 in binary 17:47:07 or more like 17:47:13 2 decimal = 10 in binary 17:47:17 he said base 1. 17:47:36 Base 1 is unresolvable, but anyway. 17:47:40 Well, it could be that base 1 only use 1, and 0 as a place holder. 17:47:40 GregorR is right 17:47:47 but let's assume he meant "unary, with 0 as nop" 17:48:00 Slereah-: base 2 uses 10, base 3 uses 210 17:48:04 so, base 1 must use only 0 17:48:05 there should be more numeric systems with NOPs in 17:48:09 so, nothing can be expressed in base 1 17:48:19 you could use an infinite number of 0s 17:48:23 not that it would help much 17:48:37 LET 10 = 1 17:49:14 of course, that can't be the first line of the program, because such lines are traditionally numbered '10', and it's undefined behaviour to redefine integers while you're actually using them 17:50:59 There is one number that can be expressed in base 0. 17:51:01 Erm, base 1 >_O 17:51:03 Namely, 1 17:51:06 Erm, 0 17:51:09 Damn it *slaps self* 17:51:46 no, the only number that can be expressed in base 0 is the null string 17:52:01 because it doesn't use any symbols at all 17:52:15 on the other hand, base -2 uses two symbols, so maybe the pattern doesn't last indefinitely... 17:52:32 Since I made giant horrible errors saying what I was trying to say there, I'll repeat: There is one number that can be expressed in base 1, namely 0. 17:53:17 Agreed. There are an infinite number of ways to express it, too. 17:53:38 Well, there are an infinite number of ways to express 0 in any base. 17:54:20 in Roman Numerals, there aren't any ways to express 0 at all, but it isn't really a base 17:54:31 :P 17:54:56 I'm perfectly happy with terrorist numerals, thank you very much. 17:55:14 I don't get the reference 17:55:29 Arab numerals, I suppose 17:56:23 I like oerjan's Aromabic, personally 17:56:27 0123456789 = Arab numerals, and my govment learned me that there TERRISTS 17:56:45 I'm even thinking about implementing them as a new I/O format for INTERCAL 17:56:50 so that it can actually read its own output 17:57:04 More info, por favor. (URL?) 17:57:05 only shortest-length representations of numbers would be allowed 17:57:23 GregorR: it's in the logs somewhere, but might take a while to find 17:57:52 I'm sure the keyword "aromabic" will help :P (/me hunts) 17:58:13 Erm, or not (no matches) 17:58:53 basically, each character in [0123456789IVXLCDM] is a command in a language that modifies one number on top of the stack 17:59:14 well, there's no way to access any other stack elements, so it's a bit of a degenerate stack 17:59:34 the number at TOS starts at 0 17:59:48 any digit multiplies TOS by 10 and then adds itself to TOS 18:00:17 so that strings like "1234" map to exactly the numbers you'd expect if you're used to decimal and aren't expecting something esoteric to surprise you 18:01:18 ais523: but...? 18:01:33 whilst the letters each have a value (as in ordinary roman numerals); say TOS is t, their value is n, and % is the modulus operator, then they map t to t+n-2*(t%n) 18:01:49 whoa. 18:01:50 sorry, it took me a while to remember what the exact formula was 18:02:00 So what's "0123456789IVXLCDM"? :) 18:02:11 so IV = 1V = 1+5-(1*2) = 4 18:02:36 0123456789I would be 1234567890 18:02:51 So, if you're writing in roman numerals, it works ... and if you're writing in decimal, it works ... but you can also mix and match. 18:02:54 That = awesome. 18:03:50 Incidentally, how is that a stack? Seems like just a single register. 18:03:52 then the V makes it 1234567895, X: 1234567895, L:1234567855, C:1234567845, D:1234567655, M:1234567345 18:04:02 it isn't, I just said 'stack' to start with and then kept on going 18:04:07 Heh 18:04:24 presumably you could use these as numeric input commands in a Befunge-like language 18:04:45 the idea is that INTERCAL would only accept minimum-length representations 18:05:42 so one possible way to count would be 1,2,3,4,5,6,7,8,9,X,11,12,...,49,L,51,52,...,99,C,CI,X2,X3,...,X9,CX, and so on 18:06:10 it can be quite confusing trying to work out minimum length representations of numbers 18:06:33 unfortunately very large numbers normally end up mostly in decimal; maybe if the overlined versions of letters are used that would help 18:06:42 and the lowercase letters that INTERCAL uses for times-1000 18:06:51 s/1000/1000000/ 18:09:24 - OFFTOPIC - 18:09:29 Do you know any good Piet tutorial? 18:09:31 - END OFFTOPIC - 18:10:16 -!- oklopol has joined. 18:11:04 asiekierka: you should learn to teach yourself languages 18:11:10 you won't find many esolang tutorials beyond brainfuck 18:11:49 -!- ais523 has quit (Remote closed the connection). 18:13:28 -!- ais523 has joined. 18:15:03 -!- SEO_DUDE has quit (Read error: 104 (Connection reset by peer)). 18:15:54 that disconnection was slightly scary, by the way 18:16:18 I know it just looked like a normal remote-close from the logs, but what happened was that the terminal I was using lost network access 18:17:17 I don't know if I'd use the term "scary" for that :P 18:17:19 so I was forcibly logged off both the UNIX server and the Windows terminal without even so much as a close-files-I'm-using, and then had to find and kill the processes that were left behind and keeping the files open that would let me reconnect 18:17:42 and then the Windows terminal rebooted for no apparent reason, no, correction, it turned itself off 18:18:11 and I ended up deleting my entire .mozilla directory 18:18:24 to try to get things back to some semblance of sanity 18:18:39 all this in a minute 18:19:05 It deconnected because he fell in a time vortex. 18:19:45 oklopol: it was more than a minute at my end, more like 5 minutes according to the logs 18:20:04 it's just that the deconnection was so sudden it took the servers some time to notice that it had even happened 18:20:21 I'm on a different terminal at the moment, hoping the same thing won't happen again 18:20:39 5 minutes :O 18:20:44 that's some serious time dilation 18:20:48 it was 2 minutes, ais523 18:20:57 18:11->18:13 18:20:58 for me 18:21:06 and a bee flew into my room, it's fucking -10 outside :\ 18:21:14 it was more like 18:06->18:13 to me 18:21:15 well i guess more like 0, but anyway 18:21:28 Why is that bee flying? 18:21:40 oklopol: "HALP AM WANT HOME COLD OUT DER" 18:21:41 Shouldn't it be in its hive hibernating? 18:21:50 do bees hibernate? 18:21:59 I'm pretty sure. 18:22:02 and why did I just try to use tab completion on the word 'hibernate'? 18:22:11 it was actually just a fly, looked bigger first 18:22:23 although i don't know if they should be awake either... 18:23:06 ais523: happens to me often too 18:23:08 Apparently most bees don't hibernate. 18:24:36 That was madness 18:24:55 I made a norn trapped in an elevator's body which looks like a robot toy 18:24:58 AMES A SPARTA! 18:26:48 http://membres.lycos.fr/bewulf/Divers/6exd65h.png 18:26:52 There it is. 18:28:00 -!- ehird[erc] has joined. 18:28:04 hello from erc, in emacs 18:28:07 holy shit. :p 18:28:21 ehird`: wtf it tab-completes 18:28:33 Slereah-: what was that now? 18:28:53 It translates to this : 18:28:58 "The barbarian messenger spoke: "You profane! You are all mad!" Replied Leonidas: "We are mad? WE ARE SPARTA."" 18:29:00 ehird[erc]: I didn't even realise that Emacs had an IRC client 18:29:19 although I suppose I should have guessed 18:29:19 ais523: oh yes it does 18:29:25 it has 3 in the standard distrobution, iirc 18:29:27 THREE. 18:29:45 -!- ehird[rcirc] has joined. 18:29:47 hello from rcirc 18:29:49 in emasc. 18:29:54 ehird`: this tab completes too 18:30:08 You know how to make an easiest quine in some of esoteric languages? 18:30:11 just make an empty file. 18:30:17 That's cheating. 18:30:18 Ooooold 18:30:20 asiekierka: WOW THAT'S NEW AND EXCITING 18:30:28 really??? nobody ever put an empty file in an interpreter before!! 18:30:36 I prefer the one that must be possible in any Turing machine. 18:30:39 -!- RedDak has joined. 18:30:40 hmm 18:30:47 hmmmm 18:30:48 curse my memory 18:30:59 * ehird[rcirc] searches for the 3rd client 18:31:00 The empty program is not a quine in . 18:31:08 In 99! 18:31:09 oklopol: argh, i forgot too 18:31:14 the impressive version of the null quine was when someone submitted it to the IOCCC 18:31:23 haha 18:31:27 that whitespace one? 18:31:29 with a makefile that made it produce no output even though there was an error 18:31:44 they added a minimum length of 1 byte after that 18:31:57 and oklopol, you're thinking of "In HOMESPRING, the null program is not a quine." 18:32:00 ah 18:32:05 ais523: they should submit "\n" 18:32:11 and do some gcc tricks to get a newline 18:32:23 i remembered it has something to do with fishes... that was a fucking helpful clue. 18:32:40 there was a one-character program before that used preprocessor tricks to become a valid program 18:32:47 so they had to limit the length of the makefile 18:32:55 ais523: to what 18:32:56 it apparently drove some versions of lint into an infinite loop 18:34:15 I can't remember, but I think it's mentioned in one of the hint files, if that helps 18:34:20 they removed the limit again after a while, I think 18:34:37 well 18:34:40 with a small makefile 18:34:42 and a program of "\n" 18:34:45 you can get a quine 18:34:47 or a hello world 18:34:48 :-) 18:36:16 hello 18:36:55 I think there's also a rule that the resulting C file has to be executable 18:37:04 Where's ehird[rawirc]? :( 18:37:06 after the record breaking hello, world 18:37:16 GregorR: gimme a binary 18:37:17 :P 18:37:32 ais523: it still would be 18:37:37 just do some crazy gcc tricks 18:37:44 and include a header file or something 18:37:57 -!- oerjan has joined. 18:38:36 the build-size rule was apparently a 160 byte limit 18:38:49 although someone got round that one year with a sh/make/C polyglot 18:39:03 160 bytes?? for a makefile? 18:39:06 that's impossible 18:39:06 :P 18:39:11 no oerjan (no=hi) 18:39:22 ais523: i don't think i've said so yet, congratulations! 18:39:25 oh, and the record Hello, world was char*_="Hello world.\n"; 18:39:31 oerjan: thanks! 18:39:39 you do realise, Sgeo, that "hi" is the same amount of typing as "no" 18:39:39 ehird`: Platform? 18:39:44 GregorR: loonix 18:40:22 * oerjan disappears in a puff of Sgeo's logic 18:40:33 ehird`, yes, I realize that, it's just that no=hi is a Sine meme 18:40:44 sine? 18:40:44 the build instructions contained what was effectively -o /dev/stdout 18:40:58 It's a semi-private IRC network 18:41:13 sorry, /dev/tty but it comes to much the same thing 18:41:15 how can something be "semi-private"? :p 18:41:33 ais523: how did it avoid binary crap? 18:41:33 maybe it's protected: only derived networks can access it 18:41:36 piped through strings? :P 18:41:52 freenode is a bit semi-private, isn't it 18:41:56 ehird`: it didn't, it just worked on the basis that "Hello world.\n" was likely to be in there somewhere 18:42:27 oerjan: how? 18:43:03 ehird`: Platform = arch + OS X_X 18:43:11 GregorR: i186 18:43:15 it's governed by a non-profit organization, or something, isn't it 18:43:15 yes, 186! 18:43:18 i live in a little hole 18:43:23 Wowzers. 18:43:30 oerjan: i don't think semi-private means that :P 18:43:37 So, ELKS? No, ELKS only works on 286, right? 18:43:37 although admittedly i may be wrong having no idea what it means 18:43:38 well, I run GNU/Windows on something x86-compatible but much more modern 18:43:54 sort of like GNU/Linux, only Windows is the kernel and I run the GNU utilities on top of that 18:44:03 It means that it's not like we'll kick people out, but we don't give the address to random people.. well, mostly 18:44:07 ais523: i must question though why you use windows 18:44:16 ihope is on Sine 18:44:22 Sgeo: random as in random.choice(people)? 18:44:22 other people who want to use Windows, and me using the same computer 18:44:25 ... 18:44:26 ais523, ehird`: All the driver support, less of the garbager. 18:44:33 AKA garbage 18:44:35 You still aren't suprised i'm not spamming the channel? 18:44:46 asiekierka: sorry, are we meant to comment on that? 18:44:51 asiekierka: it's usual for IRC users to be inactive for a while 18:44:51 No. 18:44:55 Since it's garbage. 18:44:59 (what I said) 18:45:07 except for me, but that's for somewhat confusing reasons 18:45:19 (ais523 is a robot) 18:45:26 lol GregorR 18:45:26 that are the same reasons why I'm using a client so old that I can't figure out how to get it to auto-authenticate or keep logs 18:45:35 ehird`: i guess it's a continuous scale from completely closed network to complete anarchy 18:45:37 GregorR: that's the second time I've been accused of being a bot 18:45:46 ais523: what client? 18:45:58 ehird`: a really old version of ChatZilla 18:46:29 He's an old robot? 18:46:47 navigator.userAgent gives me Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20040414, so it's a relatively recent build, but still too old 18:47:04 that is, 2004 isn't really 'relatively recent' in computer terms nowadays 18:47:08 although I suppose it was in 2004 18:47:54 once upon a time, the pyramids were relatively recent 18:48:14 -!- ehird` has quit ("K-Lined by peer"). 18:48:20 ..? 18:48:35 -!- ehird` has joined. 18:49:17 what on earth does that quit message mean? I suppose that as it's in quotes, it might just be ehird` messing around, but it does look concerning 18:49:25 just me messing around 18:49:33 you're the second person to comment about it in here 18:49:41 * oerjan coughs 18:49:57 And this is the second time I've commented that FreeNode makes user quit messages easily distinguishable from system quit messages :P 18:50:25 quotes are useful 18:52:10 -!- ehird[erc] has left (?). 18:52:12 -!- ehird[rcirc] has left (?). 18:52:40 ais523: can you read Scheme? :P 18:52:45 oh 18:52:47 thats whats wrong 18:52:58 ehird`: ? 18:53:01 nothing 18:53:01 :P 18:53:13 ?? 18:53:40 i just had a bug 18:53:42 but i fixed it 18:53:45 immediately after lookign at it 18:54:21 I hope you get it working 18:58:28 asiekierka: see if you can make a negative-length quine 18:58:39 you first have to invent a language for which the concept makes sense 18:58:39 No not really. 18:58:54 probably some extension to TURKEY BOMB 18:59:16 You only need BIZARRO ASCII. 18:59:21 which is a great language that I actually tried to implement at one point, but got confused 18:59:31 I had an idea for a language. 18:59:41 a joke one at that 18:59:46 I think with suitable choices for the parts of the language that are vaguely specifed it may be Turing-complete 18:59:49 what is it? 18:59:59 Every character you type is treated as a random command. 19:00:11 so "h" can be once push, once add, once pop, once delete... 19:00:14 etc 19:00:15 etc 19:00:22 turkey bomb isn't TC, ais523 19:00:28 for example the turkey bomb instruction :P 19:00:32 ehird`: how do you know? 19:00:36 intuition 19:00:36 P 19:00:37 :P 19:00:53 I'll call it YOUR ESOTERIC LANGUAGE OF THE DAY, MAN. 19:01:01 Specs: 19:01:13 you can use multiple people playing it to form some sort of infinite loop with skips forwards and backwards 19:01:30 after all, a couple of the commands mention unusual things happening to the TURKEY BOMB itself 19:01:39 - You must type in lowercase. 19:01:39 - Every line must end with ", man." (without the quotes) 19:01:39 - every char is treated as a random command. 19:01:42 sopecs 19:01:46 specs* 19:02:35 I think it works if the operation that involves three-trits is greater-than on two of them picked at random, with short-circuiting from left to write 19:02:39 s/write/right/ 19:03:22 because the short-circuiting lets you do conditional jumps 19:03:56 bsmnt_bot isn't here 19:04:13 bsmntbombdood: correct 19:04:19 I noticed. We had to use peyavi instead for the two-bot infinite loop that we set up earlier 19:04:24 yes 19:04:29 peyavi: is still here 19:04:33 I suppose that if you persuade it to join a three-bot infinite loop might be possible 19:04:35 but his underload interp is getting rewritten in scheme 19:04:53 1 ]=> (ul "(o)S") 19:04:53 ;Value 12: "o" 19:04:58 ('it' in my last comment refers to bsmnt_bot. That's the problem with asynchronous communication.) 19:05:05 -!- bsmnt_bot has joined. 19:05:06 It works! :D 19:05:25 wow, I just need to figure out what the relevant three-bot code would be 19:05:35 oh no 19:05:36 (:aSS):aSS 19:05:37 doesn't work 19:05:40 better fix that 19:05:45 ass ass 19:05:47 Doing it with ~exec is very hard due to the way Python treats quotation marks 19:05:57 !ul (:aSS):aSS 19:05:59 (:aSS):aSS 19:06:01 ais523: you can add handlers with bsmnt_bot 19:06:05 ~help 19:06:08 meh 19:06:11 hahahahah help 19:06:12 ehird`: I know, that's how I did it last time 19:06:15 help is for girly men 19:06:23 **ul (:aSS):aSS 19:06:24 (:aSS):aSS 19:09:40 you know 19:09:44 not once have i figured out 19:09:45 Sgeo: according to your experiments with norns, you must be pleased to hear the fly has grown tired of living and now lies on its back on the floor, occasionally buzzing a bit 19:09:56 how to copy text from emacs into another app 19:09:59 i can do it within emacs 19:10:03 but i do not know how to copy it out 19:11:04 ehird`: that tends to be quite annoying as it depends on your OS. Normally, if you copy text to the kill ring with M-w, it also copies it to your OS's clipboard, but in my experience it tends to usually get this wrong 19:11:18 yeah, it doesn't work for me 19:11:20 on x11 19:11:34 ;The object (#\( #\S #\S #\a #\: . #\)), passed as an argument to append, is not a list. 19:11:35 aha 19:11:38 just need to use middle-click 19:11:41 instead of shift-insert or ctrl-v 19:11:43 so anyway, yeah 19:11:46 that's the bug i'm tackling now :P 19:12:27 debugging functional programs in scheme is a bitch. 19:12:32 :| 19:18:06 -!- v1nc3L has joined. 19:20:33 привет всем 19:20:40 hi! 19:20:43 Sorry (or maybe yay), i gotta go. 19:20:53 ~exec sys.stdout("test") 19:20:54 test 19:21:01 -!- asiekierka has quit. 19:21:39 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:41 **ul (~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^)S 19:21:41 ~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:42 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:45 **ul (~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^)S 19:21:45 ~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:46 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:49 **ul (~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^)S 19:21:49 ~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:50 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:53 !undaemon 1 19:21:53 **ul (~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^)S 19:21:54 ~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:54 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:57 **ul (~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^)S 19:21:58 ~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:21:58 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:22:01 **ul (~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^)S 19:22:01 ~cat !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:22:02 !ul ((**ul )Sa(~cat !ul )~*(:^)*aS(S)S):^ 19:22:02 !kill 1 19:22:03 Process 1 killed. 19:22:09 now make it peer to peer 19:22:09 :D 19:22:16 each part, when spawned, can continue with at least one partner 19:22:23 but does not require the whole chain to be active 19:22:33 make it always print a command for both the other bots... 19:22:46 I don't think that's possible unless you get the bots to output two commands each 19:22:53 exponential bottity 19:22:56 and that would involve embedding newlines in the input to the bots 19:23:05 and that's hard? 19:23:09 let's just reinstall the Underload daemon, anyway (thanks Keymaker!) 19:23:16 !daemon ul bf http://pastebin.ca/raw/367774 19:23:19 i mean, is that not possible? 19:23:35 ais523: meh you can figure out a way! ;) 19:23:42 next up: distributed computing, via irc bots 19:23:51 -!- v1nc3L has left (?). 19:24:03 the problem is that the three bots all use different identifying characters so that each bot would have to send out two commands, one for each other bot 19:24:19 but the only way to say that in Underload is to put a literal newline in the string, so you couldn't send the info over IRC anyway 19:24:49 you need to include PRIVMSG #esoteric : 19:25:44 although any decent bot will either 1. ignore newlines 2. make newlines illegal 3. split by newlines and print each separately 19:25:48 bsmntbombdood: zomg you deleted the BF interpreter 19:26:07 3rd is what for example ololobot does, and i guess EgoBot too 19:26:26 !bf ++++++++++>++++++++[>++++++++<-]>+.<.>. 19:26:29 A 19:26:38 ...kay 19:26:48 EgoBot does not flood. 19:26:53 Well, it doesn't flood channels. 19:26:53 hmm 19:26:53 I was assuming 3 19:26:57 If you ask it to, it'll flood you ^^ 19:27:06 shouldn't it send that to my pric? 19:27:08 *priv 19:27:17 oklopol: Didn't it? 19:27:21 hmm 19:27:26 !bf ++++++++++>++++++++[>++++++++<-]>+.<.>. 19:27:29 A 19:27:29 i think i identified... 19:27:31 i'll check 19:27:37 Fails for me, too :P 19:27:43 EgoBot must not be auth'd. 19:27:44 One sec. 19:27:45 then the bot isn't identified 19:28:27 i need to go again for a bit -< 19:28:28 +- 19:28:30 - 19:28:31 ... 19:28:35 an array. 19:28:40 !bf ++++++++++>++++++++[>++++++++<-]>+.<.>. 19:28:43 A 19:28:53 >_O 19:29:12 OK, Idonno, it r borked. 19:37:01 * oerjan suddenly imagines running Chef through a Swedish Chef generator 19:37:26 ~exec 0 19:37:36 ~bf ,[.,]!Got this working again 19:37:37 Got this working again 19:38:10 now all we need is a Python Underload interpreter so that three bots can do it at once... 19:40:16 nah, just filter the bf underload interpreter through bsmnt_bot's python bf interpreter 19:41:26 I thought of that, but the logistics of trying to retype the whole thing through IRC (even with the benefit of copy/paste) are staggering 19:41:33 **markov 19:41:33 sometimes the way I'm proposing will make a pastebin ? 19:41:40 **markov 19:41:41 The developers Brazilians are very impatient 19:41:42 **markov 19:41:42 AlexC_, any ideas ? 19:41:43 **markov 19:41:44 Mark761966: hidden files 19:41:53 what exactly is it doing? 19:41:59 ais523: it's a markov chain 19:42:03 **markov 19:42:03 rnenjoy, and also, a rule that the blocks follow 19:42:14 that's reasonably obvious, but what is it based on? 19:42:20 irc input 19:42:28 how much overlap? 19:42:33 everything it hears in irc (its in here, ##moosanity, and #php and #ubuntu for idiot-watching) 19:42:38 is added to its vocab 19:42:42 **markov 19:42:43 Creed now thats totally subjective try them and see if it still shows the loading progress bar. on the Medibuntu servers is "not evaluating $file correctly 19:42:51 ais523: it is possibly to get a network connection from bsmnt_bot, i think 19:42:55 *le 19:43:02 "Creed now thats totally subjective try them and see if it still shows the loading progress bar." that's pretty good 19:43:11 just not easy 19:43:15 ~eval dir(self) 19:43:19 ~exec dir(self) 19:43:26 ~exec self.msg("#esoteric",dir(self)) 19:43:27 AttributeError: IRCbot instance has no attribute 'msg' 19:43:38 ~exec self.raw("PRIVMSG #esoteric :" + repr(dir(self))) 19:43:38 ['COMMAND_CHAR', 'THREADING', '__doc__', '__init__', '__module__', 'ban', 'ban_file', 'banlist', 'bf3', 'bf4', 'chan', 'commands_running', 'commands_running_lock', 'connect', 'connected', 'disconnect', 'do_callbacks', 'do_ctcp', 'do_exec', 'do_kill', 'do_ps', 'do_quit', 'do_raw', 'error_in_chan', 'errorchan', 'exec_execer', 'get_message', 'handle_callback', 'host', 'ident', 'listen', 'load_callbacks', 'locals', 'message_re', 'nick', 'o 19:43:51 ~exec sys.stdout("This is how you print things.") 19:43:51 This is how you print things. 19:44:01 ~exec self.callbacks 19:44:02 AttributeError: IRCbot instance has no attribute 'callbacks' 19:44:18 ~exec sys.stdout(dir(self)) 19:44:19 ['COMMAND_CHAR', 'THREADING', '__doc__', '__init__', '__module__', 'ban', 'ban_file', 'banlist', 'bf3', 'bf4', 'chan', 'commands_running', 'commands_running_lock', 'connect', 'connected', 'disconnect', 'do_callbacks', 'do_ctcp', 'do_exec', 'do_kill', 'do_ps', 'do_quit', 'do_raw', 'error_in_chan', 'errorchan', 'exec_execer', 'get_message', 'handle_callback', 'host', 'ident' 19:44:19 , 'listen', 'load_callbacks', 'locals', 'message_re', 'nick', 'owner', 'pong', 'port', 'print_callbacks', 'raw', 'raw_regex_queue', 'read_bans', 'realname', 'register_raw', 'save_callbacks', 'socket', 'sockfile', 'unban', 'verbose', 'write_bans'] 19:44:29 ~exec self.print_callbacks() 19:44:53 Essentially i'm trying to find the bf callback. 19:45:02 ~exec print self.raw_regex_queue 19:45:07 ~exec print >>sys,stdout, self.raw_regex_queue 19:45:07 NameError: name 'stdout' is not defined 19:45:10 ~exec print >>sys.stdout, self.raw_regex_queue 19:45:10 [(<_sre.SRE_Pattern object at 0xb7d4abf0>, >), (<_sre.SRE_Pattern object at 0x80e0d10>, >), (<_sre.SRE_Pattern object at 0x80dc640>, >), (<_sre.SRE_Pattern object 19:45:15 at 0x80dc440>, >), (<_sre.SRE_Pattern object at 0x80dcab0>, >), (<_sre.SRE_Pattern object at 0x80dcfa0>, >), (<_sre.SRE_Pattern object at 0x80b91c0>, thod IRCbot.do_ps of <__main__.IRCbot instance at 0xb7cd56ac>>), (<_sre.SRE_Pattern object at 0x80dd278>, >), (<_sre.SRE_Pattern object at 0x80e2d00>, at 0xb7cd4764>), (<_sre.SRE_Pattern object at 0x80b9400>, at 0xb7cd8dbc>), (<_sre.SRE_Pattern object at 0x80de898> 19:45:25 , )] 19:45:30 ~exec bfarg 19:45:31 NameError: name 'bfarg' is not defined 19:45:38 it's the top pattern object in the raw_regex_queue 19:45:38 ~exec self.raw_regex_queue[-1] 19:45:48 ~exec print >>sys.stdout, self.raw_regex_queue[-1] 19:45:49 (<_sre.SRE_Pattern object at 0x80de898>, ) 19:45:51 ~exec print >>sys.stdout, self.raw_regex_queue[-1][1] 19:45:52 19:45:56 ~exec print >>sys.stdout, self.raw_regex_queue[-1][1]("+.") 19:45:57 TypeError: bfarg() takes exactly 2 arguments (1 given) 19:46:07 ~exec print >>sys.stdout, self.raw_regex_queue[-1][1].f_code 19:46:07 AttributeError: 'function' object has no attribute 'f_code' 19:46:10 bah 19:46:20 if you want to see the source: 19:46:33 ~sys.stdout(repr(self.bf3+self.bf4)) 19:46:53 ~exec sys.stdout(repr(self.bf3+self.bf4)) 19:46:54 "def bfarg(x,y):\n p=y.group(2)\n a=y.group(3)+unichr(0)\n o=''\n p=p+'!'\n t=[0]*30000\n i=0\n l=0\n while p[i]!='!':\n if p[i]=='[' and t[l]==0:\n c=1\n while c>0:\n i=i+1\n if p[i]=='[': c=c+1\n if p[i]==']': c=c-1\n if p[i]==']' and t[l]!=0:\n c=1\n while c>0:\n i=i-1\n if p[i]==']': c=c+1\n if p[i]=='[': c=c-1\n if p[i]=='+': t[l]=t[l]+1\n 19:46:54 if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(a[0])\n a=a[1:]\n i=i+1\n sys.stdout(o)\nself.register_raw(r'\\S+ PRIVMSG (\\S+) :~bf ([^!]*)!?(.*)',bfarg)" 19:47:05 what is x and y 19:47:28 x is ignored. y is a regex whose second and third groups give the program and input, respectively 19:47:44 in python how would i construct one of those regexps? 19:47:44 so that bfarg is an appropriate raw_regex_queue callback 19:48:19 r"\S+ PRIVMSG (\S+) :~bf ([^!]*)!?(.*)" 19:48:29 is the regex that I used (retyped, so I may have typoed) 19:48:39 it just matches raw IRC data 19:48:58 bfarg wasn't really designed with being called from anything else in mind 19:49:20 but you could just concatenate a string with ! in between, match a regex against it somehow, and then use that as bfarg input 19:49:24 -!- RedDak has quit (Remote closed the connection). 19:49:39 ok 19:49:40 well the idea 19:49:47 is that you just use the http functions of python 19:49:49 (in urllib2) 19:49:50 with that. 19:49:55 define a nice handler for it 19:49:57 ~bfurl or something 19:50:58 I don't actually know Python. That BF interpreter was my first program. After all, BF interpreters are easy to write, right? 19:52:44 hm 19:52:53 what's the bash way to get an absolute path given a relative path 19:52:57 (assumed relative to current directory?) 19:53:57 ah 19:53:58 ill ask in #bash 19:54:33 you could do /dev/env/pwd/path, but that's cheating 19:55:06 `pwd`/path perhaps? 19:55:11 ehird`: What I always do is: OLDPWD="$PWD" ; cd "$SOMEPATH" ; FULLPATH="$PWD" ; cd "$OLDPWD" 19:55:18 oerjan: That's bad if it actually is a full path. 19:55:29 -!- UnrelatedToQaz has joined. 19:55:34 (Presumably one would want to accept either) 19:55:36 GregorR: OK, the Ruby GUI toolkit 'Shoes' needs to be run in its own directory 19:55:40 I'm writing a wrapper function around it 19:55:44 to pushd/RUN/popd 19:55:52 but i ofc want to specify relative paths (and possibly absolute ones) 19:55:58 How would I write the func with your way? 19:56:08 Well, pushd takes relative paths anyway ... 19:56:20 no 19:56:22 pushd /shoes/dir 19:56:27 ./shoes BLAH 19:56:27 popd 19:56:33 Uh, that's not a relative path. 19:56:35 BLAH needs to be absolute of course 19:56:38 uh 19:56:39 i'm doing 19:56:48 shoes() { pushd /shoes/dir; ./shoes BLAH; popd } 19:56:50 but 19:56:51 what is BLAH 19:56:57 since i may call "shoes" in a directory with a relative path 19:57:27 I think my trick is right. 19:57:50 When you're in the directory it's relative to, just pushd to it and then save your $PWD 19:57:50 I don't see how it would work. 19:57:59 What if I do 19:58:02 shoes /an/absolute/path 19:58:19 pushd /an/absolute/path pushes to that absolute path. 19:58:35 No. 19:58:37 I don't do that. 19:58:42 I do pushd /path/to/shoes 19:58:59 * GregorR bashes his head into the wall. 19:59:13 BEFORE changing the directory at all 19:59:18 Do what? 19:59:33 Wait, are you saying you pushd /relative/path/that/starts/with/a/slash? 20:01:23 I can only reiterate, because I know for a fact that my method works: Before you've changed the directory at all, pushd to your path. Whether it's relative or absolute, you'll end up in the right place. Then just store $PWD and popd, and you're golden. 20:01:39 I am not pushd'ing to any user defined path. 20:01:47 the app "shoes" must be started from /path/to/shoes 20:01:58 I want an alias "notshoes" so I can do "notshoes file-in-current-dir" 20:02:03 notshoes will "pushd /path/to/shoes" 20:02:04 run shoes 20:02:06 then "popd" 20:02:12 but, when i run shoes, it will obviously need an absolute path 20:02:16 I am wondering how to calculate it. 20:02:22 And, I cannot do $PWD/$1 before hand, 20:02:27 because I may do "notshoes /abs/path" 20:02:34 That's exactly what my method describes. 20:02:58 (Mind, I didn't realize you were talking about a file, so you'd need e.g. pushd `dirname $foo` etc, but otherwise it's the same) 20:03:46 I don't. ever. pushd. with. a. variable. 20:04:03 this is one advantage that Emacs has over bash in processing paths 20:04:30 ~msg #esoteric // or /~ anywhere in the directory rename resets to the root or the home directory respectively 20:05:03 so that $PWD/$1 would actually work if emacs supported dollar-notation 20:05:25 ehird`: I know you don't. You SHOULD, to get the information you need X_X 20:05:44 GregorR: write me "notshoes", because i don't think you know what i'm trying to make it do 20:06:14 * ais523 is annoyed with themself for messing up the syntax for sending a message starting with / 20:06:55 ehird`: http://pastebin.ca/792890 20:08:35 that leaves me in the dir of shoes 20:08:52 also, function!=bash script 20:09:18 -!- peyavi has quit (Remote closed the connection). 20:09:26 There is no function here ... 20:09:36 And I thought the whole idea was that you needed to run shoes from its own dir? 20:10:12 i /want/ a function, is what i mean 20:10:13 and 20:10:13 yes 20:10:16 but after running shoes 20:10:17 with that script 20:10:20 i get dumped into shoes' dir 20:10:31 No you don't, that's not how scripts work. 20:10:36 Plus, just add a popd. 20:10:47 It's easy enough to put that in a function, there's nothing non-function-specific about that code. 20:11:09 but bah i've got it working 20:15:57 -!- ais523 has quit. 20:37:07 I'm sure the keyword "aromabic" will help :P (/me hunts) 20:37:18 actually it is Arombiac 20:37:27 although that doesn't show up either 20:40:18 no idea why it isn't in the tunes.org logs 20:52:46 ehird`: I'd love to see what your method is. 20:53:09 GregorR: craziness 20:54:20 Pastebin? 20:55:01 it doesn't support absolute paths. 20:55:10 jeebus 20:55:20 i was watching some old people talk about sex on pbs 20:55:36 OK, so my method, which supports both relative and absolute paths, is unacceptable because? 20:55:57 "we see a strong relationship between overall health and sexual health" 20:56:07 "lubrication can help when vaginal dryness is an issue" 20:56:25 bsmntbombdood: I care so little I can't even explain it. 20:56:36 sooooo insightful 20:57:02 * oerjan hands GregorR a microscope 20:57:29 I hope this is an electron microscope. 20:57:38 GregorR: wait no it is your method 20:57:49 ... ohhhhhhhhhhhhhh kay :P 20:58:58 -!- UnrelatedToQaz has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.7/2007091417]"). 20:59:47 function shoes { 20:59:47 pushd "`dirname $1`" > /dev/null 20:59:47 FULLNAME="$PWD/`basename $1`" 20:59:47 popd > /dev/null 20:59:47 pushd ~/shoes/dist > /dev/null 20:59:48 ./shoes $FULLNAME 20:59:50 popd > /dev/null 20:59:52 } 20:59:54 oops 20:59:56 sorry 21:00:10 Yup :P 21:00:13 Well, my work here is done. 21:02:29 -!- jix has quit ("CommandQ"). 21:19:06 21:21:13 21:23:09 I agree. 21:23:39 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 21:24:29 You see, what graue and ehird` have done here is made a strong statement on the true, underlying uncertainty and doubt of life. It's like they've said, "World, I have given up, I accept the fear and emptiness of life." It's a truly poetic statement. 21:24:42 oh, cool 21:27:04 -!- pikhq has joined. 21:28:04 AAAAAAAAAAA 21:28:12 *schmertz 21:30:10 * oerjan never got to the accepting part 21:48:51 -!- Sgeo has quit ("Ex-Chat"). 21:49:19 -!- Sgeo has joined. 22:20:16 -!- puzzlet_ has quit (Remote closed the connection). 22:20:21 -!- puzzlet has joined. 22:31:34 -!- puzzlet has quit (Remote closed the connection). 22:31:46 -!- puzzlet has joined. 22:42:02 hrm 22:43:06 -!- SEO_DUDE has joined. 22:52:43 -!- puzzlet has quit (Remote closed the connection). 22:52:44 -!- puzzlet_ has joined. 23:25:06 -!- Possum has joined. 23:27:38 Hi Possum ;) 23:30:00 -!- AnMaster has quit (Connection timed out). 23:30:27 Hi Sgeo! 23:47:08 -!- Slereah has joined.