2007-06-01: 00:00:41 ok, the definite article developed in Middle Bulgarian (12th-15th century) 01:48:41 ratspin 01:50:22 how many rats can a ratspin spin if a ratspin can spin rats? 01:51:25 ratspin rats 01:52:33 my hair is full of spiderwebs 01:52:38 stupid spiders 01:54:41 That was a poem. 01:57:57 * oerjan doesn't manage to google a straight definition of ratspin. 01:58:17 I'm wondering which definition of the word "straight" you're using :P 01:58:35 eh, straight forward 01:58:55 i would be suprised if you could find a definition 01:59:34 i have found some uses, apparently meaning something like "hogwash" especially by politicians 02:00:18 So, not some very fetishist gay sex maneuver. 02:01:33 * bsmntbombdood tries to figure out what that would be 02:01:34 but, i wondered if it had a more direct meaning of some kind 02:01:50 something involving gerbils, i take 02:02:22 the ass gerbil 02:02:32 with a spin 02:02:51 that would probably kill the gerbil 02:03:39 I think that the anal gerbil penetration would kill the gerbil anyway :P 02:03:57 in the story the gerbil lives 02:04:04 they use a toilet paper tube 02:04:11 Also: I've seen gerbils chew through plastic. The gerbil is not a good rodent to use X-D 02:04:47 i'll keep that in mind 02:04:47 barely beats the xenomorph 02:06:54 Y'know, I've looked for gerbiling/hamstering/whatever on Wikipedia. 02:06:57 I can't find it :( 02:07:10 uuuh 02:07:12 http://en.wikipedia.org/wiki/Gerbilling 02:07:14 i would imagine snopes.com a better place. 02:07:24 Well. 02:07:25 I'm stupid 02:07:42 "The notion of gerbilling (not necessarily restricted to homosexuals — the insertion of items into the rectum for purposes of autoeroticism is practiced by heterosexuals as well) appears to be pure invention, a tale fabricated to demonstrate the depravity with which "faggots" allegedly pursue sexual pleasure." 02:08:17 The lack of medical evidence for gerbilling is not surprising when one considers that (1) rodents have claws, (2) frightened animals are likely to bite, and (3) rodents can be quite large. 02:08:18 X-D 02:08:26 yeah really 02:09:37 Y'know, I've looked for gerbiling/hamstering/whatever on Wikipedia. \ I can't find it :( 02:09:42 weak 02:10:32 For whatever reason, just using the word didn't occur to me :P 02:10:39 I tried to find it from 'Gerbil' 02:10:41 (etc) 02:10:47 i searched for "ass gerbil" 02:10:50 first result 02:11:52 Hmmmmmm .... the page on "Rectal foreign object" says that Scrubs refers to two such instances. I can remember a third :P 02:14:30 I read about a guy putting wet concrete up his ass 02:14:38 Hahahaha 02:14:43 yeah, it hardended 02:14:53 In the unlikely scenario that that was true, that somebody would be infinitely stupid :) 02:15:13 I got the impression i was reading a medical report 02:15:41 I feel bad googling for "wet cement rectum" 02:15:42 i just recently read somewhere that concrete will set under water, so it must be true ;) 02:16:16 turns out it's the first google result 02:16:36 there was another article, even had a picture of the cement 02:17:14 yes, http://www.well.com/user/cynsa/cement.html 02:18:09 GregorR-L: Well, if someone actually *did* it, there'd be instant medical evidence. 02:18:18 see my link 02:18:47 I was thinking about gerbiling, not the cement bit. 02:18:53 "the anus was dilated and two Foley catheters were inserted alongside the rectal mass to relieve suction. A concrete case of the rectum was delivered without incident." 02:19:07 "he attending physician recommended a psychiatric consultation, but the patient declined." 02:19:27 "A layer of concrete was chipped off the upper part of the specimen and revealed a white plastic ping-pong ball." 02:19:29 wtf 02:20:19 WTF?!? 02:20:30 lol 02:25:34 "In one review of colorectal foreign bodies and their management, all patients were male and mostly in the fourth and fifth decades of life." 02:25:38 interesting 02:28:04 "mostly in the fourth and fifth decades of life" 02:28:09 What an awkward way to say that. 02:28:24 http://www.well.com/user/cynsa/explicar.jpg 02:28:57 That == hilarious X-D 02:29:15 -!- poiuy_qwert has joined. 02:30:28 hi poiuy_qwert 02:30:36 hello oerjan 02:32:01 and then it exploded, almost all over my keyboard 02:32:10 but i got it away in time 02:32:52 * oerjan wonders if bsmntbombdood has changed subject or not 02:33:22 it's part of some qdb or bash.org quote 02:33:51 the guy is talking about opening a coke, a guy enters the channel, he says what i said, guy leaves with a quit message of something like "sick fucks" 02:34:49 hmm, by representing strings as trees you get constant time concatenation and O(log n) time indexing 02:35:15 that's what haskell's Data.Sequence does 02:35:26 Also, constant time splicing. 02:35:32 But by representing strings as *arrays* of trees of lists, you get to be *really* confusing! 02:35:33 Erm 02:35:38 Not constant, O(log n) 02:35:41 But spacially constant 02:36:29 i sort of figured you had timed that exploding message to poiuy_qwert's arrival 02:36:49 yeah 02:37:07 Pikhq: what would be the point of that 02:37:08 but then, i think it would have worked better if you had _not_ changed the subject :) 02:37:41 bsmntbombdood: First step in creating something more evil than Malbolge. 02:38:15 oh, i approve 02:38:23 * Pikhq thinks about it. . . 02:39:10 http://images.andyblume.com/main.php?g2_view=core.DownloadItem&g2_itemId=475&g2_serialNumber=1 02:40:43 http://images.andyblume.com/main.php?g2_view=core.DownloadItem&g2_itemId=544&g2_serialNumber=1 <-- similar 02:42:27 i had to do it 02:42:43 darn the second one took me a while 02:42:55 but it was worth it 02:43:09 i think that's a real add 02:43:20 for real lube 02:43:34 Brilliant. 02:45:05 yes, http://www.manix.net/index.html 02:45:41 -!- nuba has joined. 02:46:30 http://www.youtube.com/watch?v=evMBjes_vnw 02:48:37 That was less than subtle. . . 02:48:56 Must ... find ... good ... image comparison algorithm ... 02:50:06 GregorR-L: Obviously what you need is the very, very powerful "Plof reference counting" algorithm. 02:50:20 (sorry, I'm really not helpful) 02:50:31 lol 02:50:53 GregorR-L: the "esp game" route 02:51:42 http://www.espgame.org/cgi-bin/description 02:51:58 there's a good talk somewhere that he explains it in detail 02:52:52 ... something called "esp game" is an image comparison algorithm? 02:53:11 does "algorithm" mean deterministic? 02:53:16 Oh, I see. That wouldn't help my target problem at all. 02:53:23 Ideally. 02:54:16 here's the talk: http://video.google.com/videoplay?docid=-8246463980976635143&q=human+computation 02:54:36 What, is that a mechanical turk sort of thing? 02:55:00 The ESP game wouldn't help my problem at all. 02:55:15 I need to be able to take two totally arbitrary images and get a comparison. 02:55:21 Pikhq: yeah 02:55:46 GregorR-L: md5sum. 02:55:58 I COMPARISON, not equality X_X 02:56:15 Would you like a halting problem solver on the side? 02:56:26 probably depends on the images 02:56:45 the type, and the kind of comparison you want 02:57:09 Let's say I have three pictures. Two are of faces, the third is of a house. 02:57:22 The result of comparing the two faces should be lower than the result of comparing one of the faces to the house. 02:57:32 google has a face recognition algorithm 02:57:40 * GregorR-L bashes his head into a wall. 02:57:51 I'm thinking you might want to write that algorithm, and use it for a pH.D thesis. 02:57:56 Heh 03:00:05 maybe an algorithm to find "blobs", and then compare the shape of the blobs 03:02:00 blobs being regions of similar color 03:04:48 blob finding doesn't seem hard 03:08:02 and you can compare blobs by putting their centers in the same spot, and taking the area of the region the both cover 03:59:24 i was thinking today about a method for assesing the danger of some activity, by multiplying the probability of failure by the gravity of failure 03:59:41 i couldn't figure out how to generalize it to multiple failure modes 04:02:20 One should average the individual dangers. 04:04:12 i'm rusty on my statistics--what's the probability that either of two independent events happen? 04:06:30 1-(1-p)*(1-q) 04:06:55 -!- clog has joined. 04:06:55 -!- clog has joined. 04:07:24 I'm sucky on my statistics. .. 04:07:49 Unless it can be defined in terms of a derivative or integral, my brain doesn't handle it any more, I fear. 04:07:53 and that goes to 1 - \prod_i {1 - a_i} for a sequence of probabilitys? 04:08:08 well you need to consider what is the gravity of two things happening simultaneously 04:08:19 -!- sp3tt has quit (kubrick.freenode.net irc.freenode.net). 04:08:19 -!- GregorR has quit (kubrick.freenode.net irc.freenode.net). 04:08:20 it is just deMorgan's law, really 04:08:49 it is the probably that it is _not_ the case that neither happens 04:09:21 and the probability that _both_ of two independent events happen is the product 04:10:33 _if_ you assume that the gravity of two things happening simultaneously is the sum of the gravities, then you can just add the risks. even if they are not independent. 04:10:41 -!- sp3tt has joined. 04:10:58 because the expected value of a sum is the sum of the expected values 04:11:01 -!- GregorR has joined. 04:11:58 and the danger/risk is just the expected value of the gravity of the actual outcome 04:13:19 so, what Pikhq said 04:13:30 average all the dangers 04:13:42 not average, sum 04:14:12 Multiply the average by the number of dangers, not sum! 04:14:40 sheesh 04:14:46 that's the same 04:14:48 expected value is average, isn't it? 04:14:58 sort of 04:15:16 oerjan: That's the joke. 04:15:39 only if all outcomes have the same probability. 04:15:53 (1+2+3)/3*3=1+2+3 04:16:33 expectation is the integral with respect to probability. 04:16:57 (which is a sum if probabilities are discrete) 04:18:51 ok, i think a sum follows intuition 04:26:47 an average doesn't: three dangers of .25 together have an average of .25, clearly wrong 04:30:16 on the other hand this doesn't work if dangers don't sum, like lethal ones (you can only die once) 04:31:42 i'm thinking death has infinite gravity 04:32:04 at least a painful dishonerable death does 04:35:21 i read a discussion on that recently 04:36:01 in the context of a game where you could win a million dollars simply by showing up, but there was a chance that you would die 04:37:08 the paradox being that most people say they wouldn't participate for any price, yet most take greater risks every day just by crossing the street 04:37:37 oh, death can't be infinite gravity 04:37:44 you could die by crossing the street 04:37:49 basically the idea that death has infinite gravity doesn't hold up against people's actual behavior 04:38:17 yeah 04:39:33 i think a better "rational" behavior might be to maximise your expected total remaining life quality 04:40:01 although real people probably don't work by that either :) 04:40:23 real people dont try to quantify dangers 04:41:07 not in small tasks at any rate 04:41:21 but perhaps in economical matters 04:42:01 although i am not one of those that do that, either... 04:46:49 in economic matters it's easy to quantify the gravity of failure/success 05:01:31 if death has inifinite gravity, the subject will do nothing. 05:01:42 if i understand what we're talking about 05:01:45 and that's ai. 05:02:19 except you can die from doing nothing too, i'm sure 05:02:37 in fact you can probably die from excess worrying 05:03:09 * SimonRC likes the (Flash) game Mindscape. 05:03:22 It's the humour, I think. 05:03:26 It has non of the usual run-along-2d-landscape-collecting-stuff-to-save-the-world crap 05:03:30 No, you must run arond in your hallucinations cause by your delusional state of mind, to save your sanity. 05:03:40 And the cute bunnies, despite their claims to the contrary, are EEEEVIL! 05:03:42 zzzzzzz 05:05:05 well, if every action is calculated a value indicating how good it is, death being a negative inifity means even a slight change of death will make that goodness index inifitely small, which means every action is as bad as the next one 05:05:37 now school -> 05:11:16 if you think of death as infinitely bad, if someone asks you whether you want a bullet in your head or eternal life, you will pick a random choise. 05:11:33 because you might have a heart attack just before the eternal life. 05:13:34 SimonRC: Thanks, now youv'e got that addicted. 05:16:41 oerjan: i meant 'random', by 'doing nothing' i meant it will be a sucky ai 05:27:28 i would usually interpret "infinitely bad" in a relative sense: you could still compare different probabilities of dying, it's just that unless the probabilities of dying are the same, no other kind of danger would have any effect on the comparison. 05:28:59 so then eternal life would be the preferable choice. 05:29:48 inf*n=inf. 05:30:08 it would not be that kind of inf 05:30:27 yours requires a more complex view of assigning goodness values, which is only better in the case of infinite gravities. 05:30:38 indeed 05:30:44 i don't see the point, let's just say infinite values bug here 05:30:51 hmm 05:30:53 school? 05:30:54 yes. 05:30:55 ----------> 05:31:20 i was wondering about why you hadn't left yet. have a good day. :) 05:35:02 maybe it makes more sense to rank gravitys in [0, 1] rather than [0, inf] 05:35:34 that doesn't work with stuff like money though 05:37:30 depends. money inflates if there is too much of it. 05:37:59 how can you convert monetary winnings into [0, 1] though? 05:38:37 -!- poiuy_qwert has quit. 05:38:44 logically 1 would have to represent the maximal possibility. 05:39:00 there is no maximum amount of money though 05:39:28 what i am saying is that an infinite amount of money does not necessarily have infinite value, because of inflation. 05:39:50 ok 05:41:04 if one person has unbounded moneys...money isn't worth anything anymore 05:42:17 unless that person is smart enough not to spend it all 05:42:40 that person looks a lot like a central bank 05:43:04 or rather, a government with complete access to the central bank 05:43:37 a smart government knows not to mint unbounded moneys, and back their moneys by something that actually is limited 05:43:40 like gold 05:44:56 nowadays i thought interest had taken the place of gold 05:45:20 what do you mean interest? 05:46:06 haha 05:46:11 the bank will mint unlimitedly, but those that want any of it must pay interest and give collateral 05:46:12 forgot my essay 05:46:22 nice, since i waited for the bus for 5 min 05:46:24 ------------> 05:46:30 hmm 05:46:33 i guess the collateral limits it 05:47:51 i also suppose this system can only work during economic growth 05:55:21 bsmntbombdood: Currently, most monetary systems are based, not on something of actual value, but merely the trust that it *is* valuable. 05:55:31 Welcome to the credit-based economy. 06:01:57 trusting the government, where does that lead 06:02:42 I think there's a level of hell reserved for that. 06:07:53 http://en.wikipedia.org/wiki/Fiat_currency 06:11:10 demanding taxes to be paid in a certain currency gives it value also 06:35:39 -!- oerjan has quit ("Good something"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:53:34 I have insanely written a neural network for comparing images. 08:53:43 It asks the human operator which image is more similar. 08:53:52 So the training function is ultra-slow (as slow as a person ;) ) 08:54:01 I doubt highly that it'll work to any useful degree. 08:56:13 put it on a website, and make it fun to do 08:57:19 then do it in batch 08:57:39 lol 08:57:54 How to make it fun to do ... 08:57:57 *snaps* I know! 08:58:02 * GregorR-L types "tits" into google image search 08:58:17 one comparison, one tit 08:58:38 lol 08:58:55 There aren't enough tits on the internet to train this neural net :P 08:59:35 ...yeah there are 09:00:40 That statement was an exaggeration for the sake of emphasis :P 09:01:09 you can use other body parts too 09:02:01 Select sexuality upon registering. 09:02:44 you mostly get only male opinions if you use porn 09:03:10 To get my training set, I just used google image search with the following search terms: 09:03:16 a, the, art, architecture, man, woman 09:03:58 Shockingly, there is very little porn. 09:04:10 (Yes, safe search was off) 09:04:26 I think that porn doesn't generally use the term "woman" :P 09:09:20 "WATCH THESE ATTRACTIVE WOMEN ENGAGE IN CARNAL RELATIONS WITH PHYSICALLY GIFTED GENTLEMEN!" 09:10:21 lofl 09:14:40 Laughing ... on the floor ... laughing? 09:14:49 no, just lofl 09:37:36 aah, i can't stay up all night anymore 09:42:19 -!- GregorR-L has quit ("Leaving"). 10:23:06 how can you convert monetary winnings into [0, 1] though? <<< 1-1/money 10:23:53 plus, the rise of gravity for money grows logarithmically over the amount of money. 10:24:20 i mean... a billion might be 10 times better than a million 10:26:44 also, it is so even if we assume an infinitely big world where inflation is impossible 10:27:41 because people simply don't see a difference between "one helluva lotta money" and "one thousand helluva lots of money" 10:28:19 i myself, don't really even see a difference between a billion and a million... since i've rarely even had a thousand 13:34:03 -!- jix_ has joined. 16:58:48 -!- fizzie has quit (kubrick.freenode.net irc.freenode.net). 16:58:48 -!- GregorR has quit (kubrick.freenode.net irc.freenode.net). 16:58:49 -!- nuba has quit (kubrick.freenode.net irc.freenode.net). 16:58:49 -!- meatmanek has quit (kubrick.freenode.net irc.freenode.net). 17:01:44 -!- nuba has joined. 17:02:20 eh 17:02:32 i certainly do see the difference between a billion and a million. 17:02:50 a million is enough to buy a decent but not a very good house. 17:02:57 there're cars that cost over a million. 17:03:11 a billion is enough to live the rest of your life without having to worry about money. 17:03:21 (this is in dollars, anyway) 17:03:43 sounds like a pretty significant difference to me :) 17:10:12 -!- meatmanek has joined. 17:11:21 -!- GregorR has joined. 17:17:55 -!- fizzie has joined. 17:22:37 -!- Izak has joined. 17:43:46 -!- sebbu has joined. 17:46:48 lament: Where, exactly, do you live, Mr. "Million can buy a decent but not very good house"? California? 17:53:19 Pikhq: anywhere in the world. 17:53:38 well, not really, but certainly anywhere interesting in the states or europe. 17:54:09 Well 17:54:12 That's not really true 17:54:24 obviously the definition of 'very good' varies 17:54:24 You can get a really good house for $1mil in most places in the states 17:54:39 mine includes things like location 17:54:43 It depends upon where. . . 17:54:45 view, neighbourhood, etc 17:54:52 Outside of, you know, Manhattan, central LA, etc 17:55:06 I imagine Silicon Valley is somewhat pricey as well 17:55:10 If you want a damned nice house in, say, LA, you're talking a hell of a lot of money. 17:55:15 sekhmet: good houses are expensive everywhere. 17:55:22 lament: Not >$1m expensive, though 17:55:28 i'm not talking McMansion, i'm talking good house. 17:55:32 I mean, unless you mean a Mansion or something 17:55:47 If you want one out in, say, Colorado Springs, you're talking $1 million as your max. . . 17:56:11 i'd prefer to live somewhere on the ocean front 17:56:27 Well, that *would* add up to >$1 million, then. 17:56:30 so there's somewhere to tie the yacht too :) 17:56:35 Obviously if you tack on "want to live on the beach near a major city" then yeah 17:56:58 sekhmet: location is very important. Good locations aren't cheap, and cheap locations normally aren't good. 17:57:05 a good house is in a good location. 17:57:09 it's not good otherwise. 17:57:10 That's not necessary for most people's definition of "a very good house" though 17:57:13 Ah 17:57:18 Well I see we disagree on that 17:57:39 sekhmet: you think if i take my good house on the ocean front and move it to antarctica, it remains a good house? 17:57:44 I agree that location is important, but I take a much broader view 17:57:53 lament: That's pretty extreme 17:58:02 any suburb is not a good location, because suburbs just suck. 17:58:07 lament: If I take my good house on an ocean front and move it five miles inland, it certainly does 17:58:10 IMO anyway 17:58:12 lament: The definition of "good location" does vary. 17:58:13 But whatever, obviously we disagree 17:58:16 :) 17:58:21 * sekhmet steps out of the conversation 18:56:15 -!- ehird` has joined. 18:59:37 -!- ehird` has quit (Remote closed the connection). 19:11:58 -!- Izak has quit ("Farewell"). 19:13:04 -!- aarcane has left (?). 19:27:33 -!- jix_ has changed nick to jix. 19:55:13 " SimonRC: Thanks, now youv'e got that addicted." <--- me no speech broken English 19:55:34 SimonRC: Now you got me *addicted*. 19:57:59 surely you can win that in about 1/2 hour? 19:58:38 Pikhq: You highlighted the wrong word X_X 19:59:10 XD. 19:59:26 SimonRC: Sure. . . If I've got enough of an attention span. 20:04:03 -!- Sgeo has joined. 20:13:53 Just finished. 20:19:39 Trippy, man. 20:19:51 SimonRC: Damned trippy. 20:27:37 Wonderfully dark too 20:27:58 You *did* watch all the cut-scenes, right? 20:36:56 Yup. 20:37:19 I skipped over some when I started it back up today, but that was only because I had already seen them. 20:42:13 ok 20:45:12 did you get all the trophies? 20:54:27 -!- ehird` has joined. 20:54:31 LOLCODE ON MONORAIL 20:54:32 LOLCODE is a much better language than Ruby, and so we need to work hard to make LOLCODE ON MONORAIL the standard web development language! 20:54:32 JESUS CHRIST PEOPLE. 21:04:33 SimonRC: Not yet.. 21:27:39 * bsmntbombdood punches lament in the rich 21:31:00 ow 21:36:00 SimonRC: Now you got me *addicted*. <--- addicted to you 21:36:20 lament: well, i would never buy a big house, just http://www.youtube.com/watch?v=_-OOGN8YmtE 21:36:44 i prefer living cramped in a corner. 21:37:06 you do? 21:37:13 (i'm not gonna watch videos at work) 21:37:37 oh :< 21:37:52 i do. well, i guess i'd like a big empty storage hall 21:38:23 would your friends like it when you invite them over? 21:38:46 my friends are as insane as i am. 21:38:58 well 21:39:07 you don't know how insane i am, of course 21:39:17 hahahahahah work 21:40:32 school is over \o/ 21:40:49 on a scale of 4-10, i got 8 on the integration test 21:41:08 who uses a scale of 4-10? 21:41:18 i even had a thinking error in one question 21:41:27 others were copy paste ones 21:41:32 finland. 21:42:39 http://www.improveverywhere.com/2005/12/10/suicide-jumper/ 21:43:33 Obviously, countries with Germanic languages can't do anything that makes sense. 21:43:39 Finland has a 4-10 scale. 21:43:41 obviously. 21:43:49 America has an A,B,C,D,F scale. 21:43:57 a 0-100 scale 21:44:14 A,B,C,D,F is pretty brain-damaged 21:44:32 on the other hand, Russia has grades 1-11, but without grade 4 21:44:54 percentiles make sense 21:45:06 yes, they do. 21:45:21 but erf is a bitch 21:46:35 Could they please just throw in an "E" to the scale? 21:46:58 It'd make me happy. 21:47:03 okay 21:47:22 e will be added to the scale 21:47:32 Bona. 21:47:38 with its usual meaning of 2.718281828459.... 21:47:40 he's bona fide 21:47:51 Ne. 21:50:41 -!- lament has quit (Read error: 104 (Connection reset by peer)). 21:51:01 i think germany used 1-10 21:51:34 grades-- 21:54:00 I'd prefer a system of pass or dumbass. 21:54:11 There is no failure, only being labeled a dumbass. :p 21:55:28 pass/fail, i don't see a need for more 21:56:14 we are moving :( 22:09:57 -!- oerjan has joined. 22:15:40 ehird`! 22:17:30 ehird`: i got your language finished more properly, in python 22:18:00 http://oerjan.nvg.org/esoteric/ehird.py 22:23:30 Pikhq: finnish is not a germanic language. although swedish, which is, is also an official language in finland. 22:24:48 Oh. 22:27:21 We also quite commonly use the scale 0-5 in establishments of higher education, like universities and such. 22:27:52 indeed 22:27:53 when i was in junior highschool the grades were LG,NG,G,M(G),S(G). In senior high school they were 0-6. In university they were 1.0-4.0, although the universities now have changed to an A-F system. 22:28:16 (norway) 22:29:49 (G meaning "good", with an appropriate adverb) 22:30:42 For the very first three or so years of school (age: 7-9 years or so) our school used the grades "H", "K" and "L" (descending order), with the letters meaning: "H" -> "hyvä" ('good'), "K" -> "kaipaa lisäharjoitusta" ('more practice required', basically) and "L" -> "kaipaa runsaasti lisäharjoitusta" ('a lot more practice required'). 22:31:35 I never really understood why exactly the latter two were named "K" and "L". Especially the "L" makes no sense, since the only word it could come from ("lisäharjoitus") appears in both grades. 22:32:18 Maybe it was only for the first two years, not three. 22:32:24 ah yes. in the first 6 years we had essentially "satisfactory" and "could improve". no abbreviation that i recall. 22:32:36 well, pretty much nothing makes sence outside math and programming. 22:33:01 in my school there was no grading before 4th grade :< 22:34:59 well the L is somewhat like G in our system then. 22:35:33 I don't think our "exams" (were there any?) or other work was graded during the HKL years, but those letters appeared in the semiannual certificate-given-at-the-end-of-study-term papers. 22:35:42 oh 22:35:44 indeed they did 22:35:58 well, as if i could remember anything beyond yesterday 22:35:59 same in norway 22:36:26 Oh, it was a common practice? For some reason I thought the silliness was limited to my particular school. 22:36:35 it's not like i remember that much from my school years... 22:37:54 fizzie: actually we had 3 different SMILEYS. 22:38:43 Ok, that's worse. 22:39:05 ya :P 22:39:54 "this year we will present your grades in the form of an interpretive dance" 22:59:59 -!- ehird` has quit. 23:00:33 that ehird` guy is _really_ hard to get in touch with... 2007-06-02: 00:02:54 -!- jix has quit ("CommandQ"). 00:10:35 -!- sebbu has quit ("@+"). 00:19:13 time is too fucked up 00:19:29 i propose a new system: decaseconds since the epoch 00:21:36 the epoch being the start of the current year 00:37:54 maybe kiloseconds 00:38:41 I propose a new system: time_t 00:41:45 the numbers are too big for humans 00:54:19 I propose a new system. Lightmeters since the big bang. 00:54:56 good plan 00:55:04 Amusingly, the time is also the radius of the universe in meters ;) 00:59:28 what is wrong with planck time, i say 01:01:11 numbers to big 01:02:08 well a lightmeter is about, lessee... 01:02:30 3.3 nanoseconds 01:04:41 lol 01:05:51 i was being serious 01:06:29 86.4 ks in a day. 01:07:52 we are now at around 10^26 lightmeters after BB 01:11:48 maybe 10 light gigameters 01:14:48 what? 01:15:28 about 33 seconds? 01:16:20 yeah 01:44:14 what about light furlong? 01:45:35 hmm 01:45:45 671 nanoseconds? 01:45:46 i might go to sleep now 01:46:03 something like that 01:52:39 -!- GregorR-L has joined. 01:56:36 -!- SF|008 has joined. 01:57:07 -!- calamari has joined. 01:57:53 System online. 01:59:14 Query: Is this channel active? 01:59:25 maybe 02:00:02 Oddly enough, "maybe" is a valid boolean value. 02:00:37 fuzzy booleans! 02:02:18 If anybody wishes: Throw a runtime exception with the message "I'm in ur channel throwin ur exceptionz." 02:03:30 Program error: I'm in ur channel throwin ur exceptionz. 02:04:31 Booleans! http://worsethanfailure.com/Articles/What_Is_Truth_0x3f_.aspx 02:04:58 Heh, someone here knows what I am talking about. 02:09:46 somehow i don't think that poster actually agreed with you. 02:10:47 i think, while there may be more than two truth values, only two of them are booleans. 02:12:00 Heh. 02:13:32 Ever heard of a proposed esoteric language called LifeScript? 02:15:31 SF|008: It's not on esolangs.org, therefore it does not exist. 02:16:07 Well, it was never put on a site other than the following link: 02:16:18 http://uncyclopedia.org/wiki/LifeScript 02:16:43 google turns up nothing obvious 02:17:03 .47693627620447 02:19:15 how enumerate 02:22:02 /!\ Google doesn't turn up anything related to programming for LifeScript. 02:22:31 (Damn, that /!\ was supposed to look like a warning symbol.) 02:24:53 i would guess it was made up on uncyclopedia 02:26:10 * oerjan accuses bsmntbombdood of spewing random numbers 02:26:49 0.82418231992042479 02:28:21 * GregorR-L accuses bsmntbombdood of secretly being a superintelligent amoeba. 02:28:36 that's right 02:29:11 * oerjan accuses bsmntbombdood of agreeing too easily 02:29:23 0.57673614647867355 02:29:56 q+tiQqHJI74zv7AskwJr7Yg 02:30:04 256 bits of entropy, bitches 02:30:08 -!- `008_ has joined. 02:30:25 What a uniquely non-alphabetic moniker. 02:34:20 * `008_ waits for his ghost to ping out. 02:35:45 -!- GregorR-L has quit ("Leaving"). 02:35:57 if you register you can get nickserv to kill ghosts 02:36:07 -!- SF|008 has quit (Read error: 104 (Connection reset by peer)). 02:37:13 -!- `008_ has changed nick to SF|008. 03:14:42 -!- Pikhq has quit ("Leaving."). 03:17:41 -!- Pikhq has joined. 03:25:01 Hello. 03:25:29 GL59VPe05mq+geZrOKQ78NItSqrwUNePtw1XWOEuH/s 03:30:45 that's #esoteric for you - just random talk. 03:39:53 UCqM7ipdod9RM3ucjgTgFA08zyxJv7OuCnlAcTXvF5I 03:52:17 i can has cheezbrgr? 03:54:24 nowai 03:54:55 i think i have eaten one cheeseburger in my life 03:55:42 how sad that is 04:03:06 -!- SF|008 has quit (Read error: 104 (Connection reset by peer)). 04:44:43 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 05:04:56 -!- SF|008 has joined. 05:26:10 "C++ is multiparadigm in the same way a dog with 4 table legs nailed onto it is an octopus" 05:27:05 oerjan: that sounds pretty much like monty python's parrot sketch 05:29:29 C++ is not a dead parrot. people may disagree on whether this is fortunate or not. 05:30:54 Anybody: while(1){fork();} 05:31:16 I prefer: 05:31:21 main: call fork 05:31:25 jmp $main 05:31:41 Assembly? 05:31:44 Yup. 05:31:59 Could be made really, really tiny via abuse of ELF. . . 05:32:14 Or in an esolang I'm in the process of coding: 05:32:53 VAR main 0 05:33:12 FRK infinitefork 05:33:25 CLL main 05:33:33 RET 0 05:34:01 *CLL $main 05:34:41 var __dl_fork=dlsym(dl_libc,"fork");while(:{1},{dlcall(__dl_fork)}); 05:34:45 (infinitefork is the name of a file called infinitefork.lsc, which contains this exact code. 05:35:18 . . . I've got something better for you. 05:35:21 :(){ :|:& };: 05:35:43 Ah, the Unix fork bug. 05:36:28 it's a bug? 05:36:51 Typing that into a shell=hang. 05:36:52 It's perfectly valid code. 05:37:06 Yes, but it crashes. 05:37:11 Not the shell author's fault that what's requested is a crash. 05:37:31 It's like complaining that your program segfaults when it sends itself a SIG_SEGV. 05:38:30 It's not supposed to send itself a SIGSEGV. 05:39:06 Pikhq: forkbomb shell code! 05:39:50 That's like (in my code) doing this: 05:40:13 ERR 199 SIG_SEGV. 05:40:31 Where that's supposed to naturally happen like this: 05:40:35 Imagine that you had raise(SIGSEGV) as your entire program. 05:40:46 Is it a bug when that causes your program to halt? 05:40:57 That would be a really useless program. 05:41:07 Yes, but so is a fork bomb. 05:41:27 A fork bomb can take out the system. 05:41:34 Just because it's useless doesn't make it a bug when an implementation does exactly what's requested of it. 05:42:10 A raise(SIGSEGV) just makes a stupid dialog box appear or something. 05:42:25 that program could be usefull if you were testing your sigsegv in the kernel 05:42:27 Are you in POSIX-land or something? 05:42:38 Err. 05:42:42 Not in POSIX-land. 05:43:14 bsmntbombdood: Yeah. . . It could also be useful if you just want to demonstrate to people that something doing what's requested is *desired behavior*, not a bug. ;) 05:43:31 yes indeed 05:43:51 *(int*)0; 05:44:09 But raising SIGSEGV explicitly is a kind of crappy error handler. 05:44:28 Sure, but that *is* the requested behavior. 05:44:41 If GCC *didn't* handle that properly, then GCC would be buggy. 05:44:57 maybe you can turn this into an esolang? 05:45:05 a language that doesn't do what you tell it to? 05:45:09 Hahah. 05:45:40 The human programming language: 05:46:13 All syntax is valid, but the only output you get is the compiler telling you it'll do it later. 05:47:03 Example code: 05:47:15 Print out "hello world." 05:47:20 Output: 05:47:34 [X] I'll do it later. 05:47:38 No, no, no. 05:47:40 not a very interesting completeness class 05:47:46 not worth thinking about 05:47:48 goodbye 05:47:51 Output: "Goodbye, world." 05:47:59 kill 09 1 05:48:08 09 1? 05:48:12 Err. 05:48:15 kill -9 1 05:48:35 Still doesn't make any sense right now. 05:48:51 What OS are you on? 05:49:03 Windows XP. 05:49:13 Here's a nickle, kid. Get a real OS. 05:49:35 I have Ubuntu 6.something on my drive too. 05:49:37 no beard, no snobby unix guy 05:50:17 bsmntbombdood: Huh? 05:50:30 you can't be a snobby unix guy unless you have a beard 05:50:47 I've not shaved for a week, does that count? 05:50:54 no 05:51:36 Good idea for the esolang that just came up: print=throw an exception. 05:51:41 SF|008: http://en.wikipedia.org/wiki/Kill_%28Unix%29 05:51:50 that's not a good idea 05:52:05 Not really. 05:52:21 I'm just pulling ideas out of /dev/ass right now. 05:52:46 . . . Okay, so you're on Windows XP, but you're using Unix devices. 05:52:54 Pikhq: whats a real OS? 05:53:28 nuba: A real, honest-to-God UNIX, of course. 05:53:41 (there are other real OSes, that's just a common one) 05:53:50 theres more to OSes than unixes 05:54:05 Yeah, of course. 05:54:49 plan9 for one addressed many bad designs on unix, but didnt stick around mostly cause unix was just good enough 05:54:51 Here is one simple (if slightly over-general) definition of a real OS. . . 05:55:03 os_t real_os = !Windows; 05:55:03 :p 05:56:22 heh 05:56:25 kthxbye 05:56:37 can i has sleep 05:56:44 me badly needs sleep 05:57:03 oh this is not #lolcode, sorry :) 05:57:12 kill(nuba_pid, SIGSLEEP); 05:57:25 multitasking while sleepwalking, no good. 'night 05:58:04 it's not "can i has sleep", it's "i can has sleep?" 05:58:26 yeah not only wrong channel but syntax error too 05:58:30 im in real bad shape 05:59:02 Moral of the story: don't do LOLCODE. 05:59:14 don't lolcode, lolcats 06:00:01 http://icanhascheezburger.files.wordpress.com/2007/05/bring-me-a-tricycle-i-must-get-to-the-circus.jpg <-- it's GregorR ! 06:04:01 eek, a werecat 06:06:35 It's not Gregor, it's Gregor's cat. 06:06:39 nah, cannot be GregorR, it doesn't smile. 06:06:53 GregorR always smiles when he has a hat on. 06:10:22 * SF|008 does not know what the Windows equivalent to /dev/ is. 06:10:59 There is none. 06:11:07 That's an incomprehensible blob of API. 06:11:20 ? 06:12:05 I know you can redirect input to nul to get rid of it... 06:12:39 Um, yeah. . . That's a nicety from DOS. 06:13:25 The equivalent of, say, /dev/dsp is some weird Windows API. . . And the equivalent of /dev/hda is a different API. . . 06:13:28 uuuh ... don't talk about windows 06:13:32 And /dev/null is a different one. 06:13:40 Makes me sick just talking about it. 06:14:34 God, Windows sucks. 06:14:42 STOP USING IT 06:14:45 that is all 06:15:00 But it's the only one that I can access my internet connection from. 06:15:06 SF|008: Sucks even more once you get *used* to having the source code to everything. 06:16:13 * SF|008 goes to check if nocharge.com has an executable dialer for his other system. 06:17:49 SF|008: What kind of ISP do you have that doesn't support non-Windows OSes? 06:18:08 how does an isp support or not support an os? 06:18:28 shouldn't they just...give you a connection to the internets? 06:18:30 The dialer may be in a different executable format. 06:18:34 bsmntbombdood: Easy. First, require a proprietary protocol. 06:18:52 Second, only implement it in one OS. 06:19:05 why would you d o that? 06:19:09 SF|008: *Surely* they support standard protocols? 06:19:11 Last time I checked, only Windows has the ability to use .exe's. 06:19:14 bsmntbombdood: I dunno, ask NetZero. 06:19:43 SF|008: Yeah, but that doesn't mean they don't support standard protocols. . . 06:19:44 What I'm saying is, the dialer that you downlad to give you the numbers may only be in a .exe file. 06:19:59 extract them 06:20:11 Earthlink, for example, ships with a proprietary dialer. . . But I can just as easily find the phone numbers, and use kppp to dial up. 06:20:20 .exe=windows executable. 06:20:36 or VMS :) 06:21:17 I don't even know how to get to the net on Ubuntu 6.whatever it is. 06:21:48 Or DOS, or certain versions of BeOS. 06:22:31 Pikhq: Uh, you seem to have gone into an infinite rant loop. 06:22:44 -!- calamari has quit ("Leaving"). 06:23:08 Kindly throw an exception stating that you have detected an infinite rant and have decided to exit. 06:23:10 SF|008: It's 23:21. I have good reason to. 06:23:25 whoa you are in my tz 06:23:34 Pikhq: As are you. 06:23:47 What state are you in? 06:23:56 Colorado. 06:24:01 * bsmntbombdood too 06:24:15 * SF|008 is not. 06:24:21 bsmntbombdood: I could swear we had this conversation earlier. 06:24:25 we did 06:24:35 Ah. 06:24:42 i didn't remember untill just now 06:25:06 You do realise that your hostname places you in (I think) Belgium, right? :p 06:25:30 yeah 06:25:37 . . . Why?!? 06:25:40 not my hostname, actually 06:26:11 Heh. 06:26:24 qhois confirms the belgium hostname. 06:26:31 *whois. 06:26:33 guy who bought it says .be was cheaper 06:26:51 Damn, my typing skills are fail today,' 06:27:11 bsmntbombdood: Probably is. 06:30:39 * SF|008 gets bored and dereferences a null pointer. 06:31:01 *(int*)0; 06:31:49 fromJust Nothing 06:33:57 * Pikhq gets bored an references a null pointer. 06:34:04 &(void*)0; 06:34:14 errorrrr 06:34:24 What error is there in that? 06:34:32 It's just a pointer to a pointer. . . 06:34:34 Just Nothing 06:34:40 Exactly. 06:34:47 you can't reference on something that's not a valid lhs 06:35:09 NULL is perfectly valid until you try to dereference it. 06:45:41 -!- GreaseMonkey has joined. 06:50:03 "The operand of the unary & operator shall be either a function designator, the result of a [] or unary * operator, or an lvalue that designates an object that is not a bit field and is not declared with the register storage-class specifier." 06:50:13 what's this? 06:50:18 0 (or any other constant) is not one of those. 06:50:24 GreaseMonkey; You missed: 06:50:27 08:32:25 < Pikhq> &(void*)0; 06:50:29 08:32:45 < Pikhq> What error is there in that? 06:51:48 hm... i don't think (void*)0 is an lvalue until you apply * to it 06:51:57 well, it would be pointing to codespace if it were possible 06:53:08 It might as well have to "point" to a register, if the "0" part was implemented with a "clear a register with a command like xor x, x". 06:53:57 fizzie: A constant is not such an object, but a pointer to a constant *is*. 06:54:05 Err. 06:54:12 A pointer that's constant. 06:54:25 Yes, but "(void*)0" is a constant (a pointer, but still a constant), not an object in memory you could point at. 06:54:26 no, * of a pointer is such an object. not the pointer itself. 06:54:44 Mmm. 06:54:49 There's nothing wrong with "void * foo = 0; &foo;" though. 06:54:50 -!- SF|008 has quit (Read error: 110 (Connection timed out)). 06:54:55 So, &(void*)0; is technically invalid. 06:55:16 (more than technically; I think GCC would shoot me for it) 06:55:20 It's as invalid as "&1", even though that "should" be just a pointer to an integer. 06:55:54 Except that the constant doesn't get any actual memory space allocated to it. 06:56:06 I'm not sure if there was even an explicit rule stating that the result of a cast operator is never an lvalue. 06:56:13 (void 06:56:18 Arr, enter-error. 06:56:27 Uh. . . 06:56:28 But "(void*)0" needs no more memory space than "0" does. 06:57:33 I don't think that works. . . (void *)some-random-integer-here is *surely* an lvalue. . . 06:57:56 (regardless of how stupid of one it is. ;)) 06:58:03 No, it's not. You can't assign to it; "(void *)42 = 69;" does not work at all. 06:58:24 After you dereference it with a *, it's an lvalue. "*(int *)42 = 69;" does "work". 06:59:43 int *foo;(void *)foo = bar; 06:59:55 I think in that case (void *)foo is a perfect lvalue. 06:59:58 You can't assign to the result of a cast expression. 07:00:02 It's not an lvalue. 07:00:24 Now you see why you should never trust my first attempt at a C program. 07:00:27 test.c:3: error: invalid lvalue in assignment 07:00:41 * Pikhq really needs to memorize the rules for lvalues and such 07:01:13 If you really want to do what I think you'd want that to do, you have to say "int *foo; *(void **)foo = bar;" 07:01:28 Er, "*(void **)&foo = bar", I mean. 07:01:49 Which, of course, is stupid. 07:02:09 int *foo;foo=bar; is much shorter. 07:02:19 Or even int *foo=bar; 07:02:43 It might not do the same thing, if void *s are different than int *s. (Although I don't think there are many cases where *(void **)&foo = bar would do the _right_ thing.) 07:02:47 I'd love to stay and quote more of the C standard, but have to hurry, there's the high-school-graduation-party of wife's younger brother to attend to. 07:03:47 Mmkay. 07:03:57 * Pikhq will go get the C standard, and shove it firmly into head 07:05:09 o_O 07:09:44 ubuntu sucks ass, and windows is the exact same system with a lot of functionality removed. 07:09:56 i mean 07:10:03 except for the lost of" 07:10:10 *" 07:10:21 *lots 07:16:29 * Pikhq sleep need 07:17:32 school :< 07:17:34 ---------------> 07:17:52 on saturday? 07:18:06 i get my grades 07:18:23 ---------> 07:18:25 oh. good luck. 07:30:09 i hate the world 07:30:17 why? 07:30:24 many reasons 07:30:39 well, shit happens 07:31:02 http://www.codinghorror.com/blog/archives/000781.html 07:31:03 for hat 07:31:04 and besides, if you're gonna cut your life short, you'll be doing nothing forevermore, which sucks more than life 07:31:05 *that 07:34:42 took me two minutes to make a c program that does that 07:35:07 that's one theory. i go by the theory that people who commit suicide get reincarnated into a new life with the exact same kind of problems they didn't resolve in the previous one. 07:35:28 i.e. suicide helps nothing, period. 07:35:41 ha, reincarnation 07:37:24 but then everyone is so sure of things that everyone is probably going to be hugely surprised, assuming there is an afterlife at all 07:38:54 (including me) 07:39:07 no parse 07:40:12 eh, try replacing "that" with ", so" 07:47:01 ok, finished 07:47:22 eh wait 07:48:21 there 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:02 -!- oerjan has quit ("Good newt"). 08:06:59 -!- GreaseMonkey has quit ("have fun, be careful not to blow everything up, ignore that loose screw there"). 08:30:08 -!- xororand has joined. 08:30:17 hi 08:30:33 is there a networking extension for brainfuck or brainfYrk? 08:39:42 -!- Pikhq has quit (kubrick.freenode.net irc.freenode.net). 08:39:42 -!- GregorR has quit (kubrick.freenode.net irc.freenode.net). 08:39:42 -!- meatmanek has quit (kubrick.freenode.net irc.freenode.net). 08:40:44 -!- Pikhq has joined. 08:40:44 -!- GregorR has joined. 08:40:44 -!- meatmanek has joined. 08:46:48 nevermind, i just discovered the easel api 09:11:35 -!- sebbu has joined. 11:09:09 -!- xororand has left (?). 11:13:14 -!- kombee has joined. 11:38:03 -!- jix__ has joined. 12:04:27 -!- kombee has quit (Read error: 110 (Connection timed out)). 12:12:02 -!- jix__ has changed nick to jix. 13:03:38 -!- jix__ has joined. 13:13:31 -!- jix has quit (Read error: 113 (No route to host)). 16:43:25 -!- Robdgreat has joined. 16:43:38 Hi. 16:56:22 -!- jix__ has changed nick to jix. 17:51:54 Sal'. 17:56:47 -!- Sgeo has joined. 17:57:18 -!- tokigun has quit (Read error: 104 (Connection reset by peer)). 18:28:57 -!- tokigun has joined. 18:29:36 -!- W|cked has quit (Read error: 110 (Connection timed out)). 18:31:56 -!- W|cked has joined. 18:34:11 -!- Pikhq has quit (Connection timed out). 18:35:42 -!- Pikhq has joined. 18:59:56 hmm, i wonder if i should fix my java documentation after 8 beers... 19:39:46 -!- nuba has left (?). 19:46:38 -!- Robdgreat has left (?). 20:22:45 -!- Pikhq has quit ("Leaving."). 20:26:52 -!- Pikhq has joined. 21:48:28 -!- SF|008 has joined. 22:25:03 -!- `008_ has joined. 22:36:23 -!- SF|008 has quit (Read error: 110 (Connection timed out)). 22:54:14 -!- tokigun has quit ("server shutdown due to maintanence (07:00 - 18:00 KST est.)"). 22:58:25 -!- W|cked has quit (Read error: 110 (Connection timed out)). 23:23:48 -!- SF|008 has joined. 23:43:48 -!- `008_ has quit (Read error: 110 (Connection timed out)). 23:49:22 -!- sebbu has quit ("@+"). 23:49:51 -!- SF|008 has quit (Read error: 110 (Connection timed out)). 2007-06-03: 00:12:18 we got grades today 00:18:16 HS or college? 00:19:13 hs 00:20:31 2 As, 1 B, 1 C and 2 Ds 00:20:34 not so great 00:20:51 I had 4 As, 3 Bs this semester. . . 00:21:40 overacheiver 00:22:07 Not really. My GPA's a 3.02. . . 00:24:25 well, i'm just glad i passed the two classes i got Ds in 00:25:29 Know the feeling. . . 00:25:58 spanish and physics 00:26:29 Wish that I'd done physics instead of chemistry. . . 00:26:43 Chemistry + me = explosions. 00:26:53 i'm taking chem next year 00:26:57 "How the hell did you get a *noble gas* to explode?!?" 00:27:04 ^ me in a chem lab. 00:27:14 are you a sophomore? 00:27:26 Going into my senior year. 00:27:29 oh 00:27:42 one year ahead of me then 00:28:25 Suppose so. 00:51:03 -!- GregorR has quit (Read error: 110 (Connection timed out)). 01:03:40 -!- jix__ has joined. 01:12:11 -!- jix has quit (Read error: 110 (Connection timed out)). 01:13:03 -!- GregorR has joined. 01:14:09 * Pikhq curses very, very loudly at make 01:14:41 Is it too much to ask for make to follow its documented behavior? *Is it*? 01:15:17 Yes. 01:16:11 %.b : %.bfm 01:16:19 *Surely* pfuck.0.b matches that. 01:16:51 * GregorR never uses that syntax. 01:16:58 -!- jix__ has quit ("CommandQ"). 01:16:59 .bfm.b: 01:17:26 Now, try "%: %.c". 01:17:49 Or "pfuck.%:pfuck.%.c"; for my purposes, they're equivalent. 01:17:52 WTF? Is that "convert a .c file into anything"? 01:17:58 Ahhhhhhh 01:18:03 Convert a c file into an executable. 01:18:13 (obviously not portable. ;)) 01:20:29 http://pikhq.nonlogic.org/Makefile 01:20:40 Care to tell me how I'm being an idiot? 01:21:00 that was a tasty sammich 01:23:56 . . . Found it. 01:24:34 I have a file called "pfuck.bfm", not "pfuck.0.bfm" and "pfuck.-1.bfm". . . 01:30:06 lawl 01:37:52 , 02:45:26 -!- oerjan has joined. 03:18:05 -!- mbishop has joined. 03:18:28 -!- mbishop has left (?). 03:43:43 -!- boily has joined. 03:44:01 hi boily 03:44:07 hi 03:44:41 i had some hours to spend today, so i created a new programming language 03:45:00 i'm not sure if i have developped it enough to add it to the wiki 03:47:03 well the languages on the wiki are pretty variable 03:48:13 i pasted a ruby interpreter on pastebin and i'm adding the article 03:48:17 if you have an implementation, or enough information that someone could make one, then i say go for it 03:48:59 ok 03:50:45 http://esoteric.voxelperfect.net/wiki/Betterave 03:50:52 there, i just created it 03:56:28 a syntax and list of commands would be nice 03:59:42 afk 04:01:23 currently doing it 04:05:28 did it 04:05:44 hope my english isn't too bad... :/ 04:11:06 Not Turing-complete. 04:11:29 . . . Unless the size of each variable is unlimited or something. 04:11:51 . . . Or. . . 04:12:00 String *list*? 04:12:10 So, infinite number of strings can be stored? 04:12:48 as i coded it, i guess an infinite number of strings is possible 04:13:24 Mmkay, so it is Turing complete. 04:13:31 yay! 04:13:40 Although it'd be damned annoying to prove it. 04:37:21 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 04:38:17 -!- Sgeo has joined. 04:38:46 -!- boily has quit ("Need sleep..."). 05:11:34 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 05:13:04 unlimited variables are probably turing-complete (minsky machines seem easy to emulate) 05:13:31 but the string list is not very useful without a way to use it for further computation. 05:13:42 And, even if the *variables* aren't unlimited, you can store at least one number via the size of strings. . . 05:14:14 So, """""""" would store 4. . . 05:14:38 [""|1] would be an infinite loop, adding to the size. . . 05:14:54 i don't think so. how do you get the size of the list other than as an integer? and there is no way to shorten it. 05:15:17 . . . Yeah, that is a problem. 05:15:32 in fact you would have a problem once the string list length exceeds the integer size. 05:15:46 Assuming that integers are bounded. 05:16:04 and if they aren't you don't need the string list other than for output. 05:16:11 Right. . . 06:38:06 i wonder if you could have an algorithm that has a runtime of some uncomputable function 06:39:02 not if it always halts. 06:39:47 because then you could simply run it to find out the runtime. 06:40:12 but 06:40:58 on the other hand the runtime of most ordinary turing-complete interpreters _is_ uncomputable. 06:41:51 because otherwise their halting problem would be solvable by computing the runtime first, then running the algorithm for that long. 06:42:49 er, assuming the computed runtime only works if it actually halts. 06:43:36 as with a busy beaver function 07:54:40 -!- oerjan has quit (Read error: 104 (Connection reset by peer)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:54 -!- glenker_ has joined. 08:04:10 -!- glenker_ has quit (Client Quit). 08:04:50 -!- glenker_ has joined. 08:11:56 -!- glenker_ has quit ("WeeChat 0.2.4"). 08:29:59 -!- lament has joined. 09:17:15 -!- sebbu has joined. 11:47:31 -!- jix has joined. 13:02:31 -!- jix__ has joined. 13:12:06 -!- jix has quit (Read error: 110 (Connection timed out)). 13:48:24 -!- jix__ has changed nick to jix. 15:01:00 In Britain, we are graded for exams on the scale: A, B, C, D, F, N, U. 15:03:14 A-D as usual, F = really bad, U = so bad they didn't even want to grade you, and N = didn't turn up. 16:15:25 didn't turn up? 16:17:30 what does it mean 16:29:09 erm, exactly what it says? 16:29:15 the scale is for exams 16:34:50 no, didn't get what "turn up" means 16:35:21 as a non-native English user 16:48:28 * SimonRC tries to think of a synonym 16:50:57 "attend" 16:51:18 ah 16:51:47 N is for who didn't get the exam at all? 16:52:22 yes 17:36:32 -!- boily has joined. 17:44:49 -!- boily has quit ("WeeChat 0.2.4"). 18:06:35 -!- Sgeo has joined. 18:11:58 -!- sebbu2 has joined. 18:20:36 what is a makefile? 18:20:56 (i prefer annoying people over google :)) 18:30:17 -!- sebbu has quit (Connection timed out). 18:43:16 -!- ehird` has joined. 18:44:05 -!- helios24 has quit (Remote closed the connection). 18:44:10 -!- helios24 has joined. 18:48:11 -!- sebbu2 has changed nick to sebbu. 19:08:39 oklopol: it is a file that is (usually) required by the *nix program make(1). 19:10:20 hmm... tells the os how to compile the source, like, or= 19:10:21 ? 19:15:46 There's a program called or= that tells the OS how to compile the source? 19:16:36 you don't know it? 19:16:55 well, anyway, you don't have to know it to answer my question 19:37:58 or=? 19:40:10 a Makefile is a set of rules: 19:40:19 DEST: SRCS 19:40:19 COMMANDS 19:40:28 "This is how you create DEST, using SRCS: COMMANDS" 19:40:39 make(1) just happens to use SRCS for intelligent dependency handling 19:40:42 so, what i said? 19:40:53 basically. yes. 19:41:08 -!- lament has quit (kubrick.freenode.net irc.freenode.net). 19:43:24 -!- lament has joined. 19:43:26 is bash tc? 19:43:46 um, yes 19:43:51 well 19:43:53 not sure about bash 19:43:57 zsh is, for certain 19:44:07 i assume you mean "tc without anything but builtins" 19:44:14 http://maps.google.com/maps?f=l&hl=en&q=museum&near=San+Francisco,+California,+United+States&ie=UTF8&view=map&om=1&layer=c&cbll=37.777452,-122.504927&cbp=1,289.875024308419,0.628713401659621,3&ll=37.784554,-122.500091&spn=0.023674,0.040169&z=15 19:44:32 -!- lament_ has joined. 19:45:30 -!- lament has quit (Remote closed the connection). 19:46:27 ehird`: you assume very correct. 19:48:44 then, i'd say yes 19:49:04 if/while/test/recursing functions/arrays... it's like a normal prog. language 19:49:14 ``Actually I meant what I said, bash is a turing complete language.'' 19:49:19 http://lists.ibiblio.org/pipermail/sm-users/2005-December/000902.html 19:49:25 of course bash is turing-complete 19:49:57 indeed it's pretty powerful and expressive 19:49:59 of course bash is turing complete 19:50:06 bash is very usefull 19:50:23 i haven't used it 19:50:33 so i wasn't sure 19:50:36 is dos tc? 19:50:38 :P 19:50:58 proof: a language with two characters, iota, * and i, is turing complete. it is laughably simple to implement (a few lines). you can implement it easily in bash. QED 19:51:17 oklopol: batch files you mean? I'm not sure 19:51:29 _they_ might actually not be 19:51:45 in their modern form, they probably are; in the original, they might well not be 19:52:00 i don't think you could access unlimited memory with them 20:04:22 lament_: It depends upon which DOS system you're referring to. 20:04:45 FreeDOS, for example, absolutely is. 20:11:05 ``...SQL is not a programming language because it is for instance impossible to write an infinite loop in it.'' 20:11:42 ooh, activity 20:11:57 you mother 20:12:00 it doesn't have to be turing complete to be a programming language 20:12:00 *your 20:12:01 ... 20:12:21 bsmntbombdood: it was a quote 20:12:23 a silyl quote 20:12:25 *silly 20:12:29 SQL is, obviously, a non-Turing complete, domain specific programming language. . . 20:13:17 ehird`: hence the quote marks? 20:15:33 -!- tokigun has joined. 20:18:58 tokigun: hi 20:19:06 hello 20:39:43 -!- Pikhq has quit ("Leaving."). 20:42:19 -!- Pikhq has joined. 20:52:37 the problem with accepting non-TC languages as such is that, where do you stop? 20:52:59 is html a programming language? Are text files a programming language? 20:53:22 yeah 20:53:27 meh 20:53:54 you can define it using humans in the definition 20:54:03 because that's how it's usually done 20:54:07 the defining 20:54:16 HTML is a bit of a corner case, since some people actually do call it a programming language, and some vehemently deny it is. 20:54:26 hence, my argument 20:54:45 er, no, this is a counter-example to your argument :) 20:54:58 since there's no consistent definition 20:55:27 i've had that argument before 20:55:29 about html 20:56:39 personally i'm fine defining it either way 20:56:52 as long as it's done according to some consistent procedure :) 20:56:53 A programming language should be a language expressing a set of logic for a computer to follow. 20:57:05 Pikhq: which html is 20:57:10 Pikhq: that's pretty meaningless. 20:57:24 The problem comes when people count writing HTML as "programming experience". 20:57:33 which is bullshit 20:57:52 well..... 20:57:55 you just can't win 20:58:04 it is a very tiny amount of programming experience 20:58:33 But merely knowing algebra provides more experience. :p 20:58:44 Pikhq: i meant it perhaps need not be an unambiguous definition 20:58:56 though i did not really say that. 20:58:57 OTOH, HTML has a very high "language level", so if it is suitable for a task, it will blow almost everything else out of the water. 20:58:59 oklopol: Hmm. . . That does make sense. 20:59:21 wow, i rarely hear that :) 20:59:46 now, fixing my documentation... -> 20:59:51 HTML isn't much of a programming language. . . It says in the name "Markup language". ;) 21:00:27 Now, I'd call something like *LaTeX* a corner case. . . 21:00:30 'languge' stands for 'programming language', just as in many other acronyms. 21:00:35 *'language' 21:00:50 latex is turing complete bro 21:00:50 TeX *is* TC.... 21:00:54 Sure, it's a markup language. . . But it's got a Brainfuck interpreter written in it (I don't remember where) 21:01:16 i think we all agree that being TC implies being a programming language 21:01:21 also, there's that XML re-jiggeriser that is TC too. 21:01:23 Of course. 21:01:29 SimonRC: That's just one XML namespace. 21:01:30 quite an FP language IIRC 21:01:31 why "of course"? 21:01:47 one possible way to define what is and what isn't a programming language is according to purpose 21:01:58 ahh.... 21:01:59 by agreeing that TC languages are necessarily programming languages, we reject that wa. 21:02:02 that way. 21:02:08 Then surely Visual Basic isn't a programming language. 21:02:10 I just had another thought... 21:02:21 . . . You know, I think I like a definition which excludes Visual Basic. :p 21:02:26 :-) 21:02:54 Just because you can do programming in something doesn't make it sensible to call it a programming language... 21:02:54 if we say "if it's TC, then it's a programming language", then we're defining based on _capability_ 21:03:15 in the same way that just because you can do OO in something doesn't make it sensible to call it an OO language. 21:03:26 that is correct 21:03:27 OO ASM probably works very well. 21:03:39 but if you start rejecting TC things as programming languages, people will rebel. 21:04:05 SimonRC: The problem is that OO is not a primitive feature of the language itself, it's an addon. 21:04:06 you can do FP in C# 3.0, but that doesn't make it an FPL, because FP in it is unidiomatic and clunky. 21:04:28 maybe it is to do with idiomaticity rather than possibility 21:04:32 If you want to define things that way, HTML is Turing-complete, because you can strap ECMAscript into it. 21:05:26 i think we can all be sane enough to consider javascript as separate from html proper. 21:05:38 I'd *hope* so. 21:05:56 You could make a Python "Hello World" program along the lines of the typical Java version, but that is unidiomatic. The normal way in Python is a single printing statement, because Python is a "scripting language". 21:06:27 java is yucky 21:06:31 The normal way in *many* languages is a single print statement. . . 21:06:40 SimonRC: sure 21:06:43 SimonRC: this is also why perl sucks 21:06:44 Even *assembly* has a simpler "Hello, world" program than Java. . . 21:06:49 heh 21:07:00 but it is less portable! 21:07:03 perl can do a lot of stuff, is very powerful, and it's certainly possible to write clean code in it. 21:07:10 Just not idiomatic. 21:07:18 Also, what if the program later needs to be expanded to read mail? 21:07:23 hello: .asciz "Hello, world!\n" 21:07:24 main: push $hello 21:07:24 call puts 21:07:44 SimonRC: Then obviously you should take the GNU Hello route. 21:07:54 fortunately, we don't normally judge the power of languages by how easy it is to write hello world in them. 21:08:17 yes 21:08:30 java was never meant for writing hello world. 21:08:34 I realise my earlier statement was in fact totally pointless and confusing 21:08:49 Pikhq: using libc is not allowed 21:09:03 bsmntbombdood: Fine; just reduces the portability. 21:09:18 (and if you argue that 'hello world' should necessarily be an easy program in every useful language, then you're just on crack) 21:09:22 you have to use sys_write 21:09:33 http://pikhq.nonlogic.org/hello.asm This is, of course, what you want. 21:10:05 defending java is forbidden 21:10:07 that is final! :) 21:10:08 i assume sys call 4 is write 21:10:25 On Linux, at least. 21:10:56 don't you have to put 0 somewhere for stdout? 21:11:33 On kernels newer than a certain version of 2.2, the registers default to being 0. 21:11:42 Well, that is, on process creation. 21:11:46 oh 21:12:07 Not at *all* portable, but it 'works'. ;) 21:12:48 and ebx is 1? 21:13:59 Yup. 21:14:06 what for? 21:14:46 stdout == 1 21:14:55 oh 21:15:06 And syswrite takes the stream to write to as the first argument. 21:23:28 -!- GregorR has quit (Success). 21:43:26 -!- ehird` has quit. 21:47:20 -!- jix has quit ("CommandQ"). 21:51:47 -!- lament_ has changed nick to lament. 22:04:47 -!- GregorR has joined. 23:33:25 -!- sebbu has quit ("@+"). 2007-06-04: 02:27:02 i haven't designed an esolang in a while 02:31:21 me neither :< 03:14:26 -!- GregorR-L has joined. 03:23:55 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 03:30:42 -!- Sgeo has joined. 04:31:27 -!- Sgeo has quit ("Ex-Chat"). 04:42:40 -!- boily has joined. 06:37:43 hmm... activity is low at this ungodly hour of the night... 06:38:24 08:36 in this time zone. 06:38:25 just to say i perused the channel's logs, and following your discussion about my new language (betterave), i've improved string manipulation 06:38:36 01:38 here 06:48:55 -!- mtve has quit (Read error: 110 (Connection timed out)). 06:50:34 -!- boily has quit ("Brush bed then sleep in teeth, uh, no... the other way round... sleep in teeth then brush bed."). 07:27:12 -!- erider has joined. 07:28:17 anyone here 07:31:01 Ignore the irony in the following statement: Nobody /ever/ responds to that. 07:33:31 hi 07:35:43 I'm trying to learn a simplistic language brainf**k seems to have some features or some techniques I would like to master 07:36:30 GregorR-L could you point me in the right direction 07:38:58 Well, http://www.esolangs.org/wiki/Brainfuck would be an obvious starting point ... 07:39:05 Other than that, Idonno, Google? :) 07:39:37 thanks 07:43:57 erider: I just recommend one thing. . . For Brainfuck, be willing to do something even if it seems useless. 07:50:08 And, of course, you have to be of about the mindset that would write a compiler for the hell of it. :p 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:03:01 -!- GregorR-L has quit ("Leaving"). 11:09:49 -!- mtve has joined. 12:24:20 -!- bsmnt_bot has quit (Read error: 145 (Connection timed out)). 12:31:26 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 13:02:31 -!- helios24 has quit (Read error: 104 (Connection reset by peer)). 13:02:48 -!- helios24 has joined. 13:03:46 -!- mtve has quit ("Terminated with extreme prejudice - dircproxy 1.0.5"). 13:16:58 -!- ais523 has joined. 13:31:16 -!- pe4enitsa has joined. 13:34:06 -!- pe4enitsa has left (?). 13:56:47 -!- mtve has joined. 14:23:19 -!- ais523 has quit ("trying to find a computer on which I can actually edit Wikipedia without inserting lots of random line breaks"). 14:58:17 -!- jix has joined. 15:36:32 -!- boily has joined. 15:57:38 -!- sebbu has joined. 17:36:20 HI 17:39:47 -!- Gamegirl has joined. 17:45:30 is anyone talking here? 17:46:09 never 17:46:12 it's forbidden 17:46:22 why& 17:46:25 jh 17:46:29 whoever talks, shortly dies of unknown causesAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRRRRRGH 17:46:33 aargh! 17:46:53 que tal? 17:47:03 oh, I`m sorry 17:47:17 I can`t understand 17:47:28 what's up? 17:47:39 what que tal mean? 17:48:06 what's up 17:49:07 good 17:51:42 Is it a dead chat? 17:53:08 yeah 17:53:16 lament already told you 17:53:42 i actually think this channel is empty 17:54:01 oh, it`s very sad 17:54:28 and all of that hm.. people... 17:54:36 -!- CakeProphet has joined. 17:54:41 they are not alive? 17:55:02 :) 17:55:05 CakeProphet: long time no ocean. 17:55:17 LOL PUN 17:55:27 Gamegirl: they're bots. 17:55:32 <--- CLEAVA BOY 17:55:35 *CLEVA 17:55:45 for example, clog is a bot that logs the channel. 17:56:05 and GregorR is a bot that interprets some esoteric languages. 17:56:11 lament: all of them? 17:56:41 and puzzlet_ is a korean translation bot. 17:57:04 CakeProphet is a bot that spits out random bits of wisdom 17:57:15 .....very complex AI in this one. 17:57:23 or so it says. 17:57:51 * CakeProphet pauses as he traverses his decision tree. 17:58:00 * CakeProphet proceeds 17:58:00 tree? more like a bush! 17:58:04 HEY FUCK YOU K? 17:58:07 :D 17:58:10 * CakeProphet made the optimal decision. 17:58:29 aren't you proud. 17:58:57 mhm :) 18:03:32 Gamegirl: to summarize everything, if you want to chat, this is perhaps not the best channel; but if you want to discuss esoteric languages, then it is. 18:04:10 chatting is fine. 18:04:11 to discuss with bots? 18:04:16 o_O 18:04:22 wierd 18:04:24 yep 18:04:34 bots are excellent for conversation 18:04:38 i just realized Gamegirl has the word "girl" in it 18:04:41 we're smart bots. 18:04:45 * oklopol is a bot that penetrates 18:04:49 ... 18:04:56 ... 18:05:05 like... metphorically 18:05:10 *metaphorically 18:05:13 ...I see. 18:05:32 * lament slowly backs away from oklopol 18:05:57 i'm < 1000 km long, don't worry 8| 18:06:20 length can be measured in several ways 18:06:27 i don't know which one you chose... 18:06:27 -!- Gamegirl has left (?). 18:06:31 :) 18:06:36 * CakeProphet has pretended to be female before... AND GUYS DO VERY ANNOYING THINGS 18:06:43 ...oh? 18:06:45 mhm 18:06:51 i can't imagine. 18:06:54 ... 18:07:12 who said i'm a guy? 18:07:23 i guess i've said that multiple times, though 18:07:36 congrats, we scared him away. 18:07:36 my decision tree does not account for sarcasm 18:08:21 ...can bots have a gender? How would you check? 18:08:33 i guess she wasn't interested in esoteric penetration 18:08:40 i need more caffeine 18:09:16 oklopol: i kind of doubt an actual girl would put 'girl' in her nick. 18:09:47 on freenode anyhow. 18:09:47 too much.... bullshit, would arise from that 18:10:52 * CakeProphet 's mind is 50% woman 18:11:15 oh 18:11:47 does that mean i should half-stalk you too? 18:11:52 :| 18:11:59 MEN ARE PIGHEADED IDIOTS ON THE INTERNETST. :) :) 18:12:01 ....yep. 18:12:21 -!- crathman has joined. 18:12:27 hello person 18:12:31 of interest 18:12:33 -!- sebbu2 has joined. 18:16:44 what's "complex number" in under four letters? "cx"? 18:16:50 that's such a long term... 18:16:56 "cn" 18:17:01 i 18:17:10 hmm 18:17:12 what's the context? 18:17:16 class name. 18:17:22 for my stdlib 18:17:38 well, complex numbers are C 18:17:42 oh 18:17:44 that's the 'official' name 18:17:49 indeed 18:17:51 not sure if you want to name a class that. 18:17:54 LOX! 18:17:56 i sure do 18:17:58 hmm 18:18:14 one character names are for temp variables though, of course 18:18:20 cx then? 18:18:22 or? 18:19:26 why are you writing a stdlib? 18:19:35 ...? 18:19:54 as always, i'm making oklotalk. 18:21:09 I would go with complex or something 18:21:19 too long 18:21:31 compnum? 18:21:41 it'll be quicker just to calculate with lists if is use that long a name 18:21:45 complex isn't too hard to type... considering how not-quite-so-often it'll be used. 18:21:58 though guess you can do c='complex; and then use c 18:22:16 well, indeed it's prolly not that often needed 18:22:18 just use some kind of J notation 18:22:26 but still... it's SOIOOOOOOOOOOOOOOOOOOOOoo long 18:22:27 in the number literal 18:22:34 heh 18:22:51 10+i43 :P 18:23:08 hmm... 10j43 maybe? 18:23:15 why j? 18:23:22 -shrug- I forgot 18:23:26 okily 18:23:30 -!- helios24 has quit (Remote closed the connection). 18:23:37 -!- helios24 has joined. 18:24:22 ...I'd like a language that's really fast... and has a quick way to write extension languages that can cooperate with it. IT WOULD BE GOOD, FOR MAKING GAMES AND SUCH 18:24:31 ? 18:24:35 whutta ya mean? 18:25:21 OH I REMEMBER WHY 18:25:26 Python uses J for complex. 18:25:28 >>> type(10j) 18:25:30 18:25:31 >>> 10j+2 18:25:33 (2+10j) 18:25:34 oh 18:25:35 >>> 18:25:43 CakeProphet: so, like, lisp? 18:25:45 well oklotalk does not understand postfix, so it'd be j10 18:25:53 lament, not quite. 18:25:58 but... similar yes. 18:26:03 lots of people use 'j' instead of 'i' 18:26:13 that doesn't mean 'j' refers to complex numbers 18:26:23 it's just a synonym for 'i' 18:26:34 engineers use it because i is reserved for i,j,k direction vectors 18:26:37 er 18:26:40 so's j. 18:26:41 :) 18:26:51 engineers use it because i is current :) 18:27:34 ...I don't like Lisp... 18:27:45 as world-changing as people claim it is. 18:30:19 ....basically I just need a virtual machine assembly type thing.... and then have a suite of languages that compile to it that can run together..... something like what Parrot is going for. 18:31:32 -!- sebbu has quit (Connection timed out). 18:32:50 ...use parrot? 18:33:34 MY DECISION TREE... PREDICTED THIS. 18:33:41 THAT YOU WOULD SAY SUCH A THING. 18:33:56 ....but what's the point in using stuff that already exists? I like to use things that do not exist yet. 18:34:03 why use parrot when you can try making your own? 18:34:08 FUCK YES 18:34:09 yeah 18:34:11 :) 18:34:13 :) 18:34:29 perhaps Parrot is lame? yes? 18:34:42 yeah, LAMEnt! 18:35:58 for one, it has the wrong name. The virtual assembly language I'm looking for is called Grue. 18:36:03 ...and it does not exist yet 18:37:37 CakeProphet: BTW, the JVM is perfectly suitable for that task. 18:37:47 ;) 18:38:08 ....JVM is named Grue? 18:39:03 ....doesn't Parrot use a callstack of some sort.... I think PIM does. 18:39:11 I DO NOT WANT A CALLSTACK. 18:43:23 bf doesn't even compile text right? 18:43:48 ? 18:43:50 -!- bobbens has joined. 18:43:52 this one day i had this weird urge to have a callstack, but i said to myself "don't you have another callstack, you just had one last week" and i was like "fuck you" 18:44:02 you know 18:44:13 ... 18:44:40 * CakeProphet finds that inexplicably hilarious... but remains unsure as to why 18:44:40 i just start writing and let it come out, sorry. 18:45:28 erider: Uh, wha? 18:45:29 GRUE SHALL HAVE... LIKE... BUILTIN MICROTHREAD THINGS.... 18:45:31 okay, my pattern matching works, but it's definitely not pretty. 18:45:48 Like erlang.... or something 18:45:57 Pikhq: sorry I was talking about being able to comment 18:45:59 CakeProphet: maybe you should join the lolcode people 18:46:00 BTW, I've actually got an SVN repository for PEBBLE set up. . . 18:46:24 erider: [you comment here.] 18:46:26 *your 18:46:48 [-][ -||- ] 18:47:06 doesn't bf just kind of ignore non-code stuff? 18:47:08 >+++++++++ # comment? 18:47:12 CakeProphet: It does. 18:47:14 ..? 18:47:21 erider: [ your comment here ] 18:47:24 >comment++++++++++++++ 18:47:31 [none of these instructions will ever get executed. Therefore, punctuation, including brainfuck commands, is fine. The only thing that will break it is unmatched brackets] 18:47:37 erider: You only need to put your comment in a loop which won't run if it includes Brainfuck special chars. 18:47:38 that was my question thank CakeProphet 18:47:54 but the brackets are good if you want punctuation 18:48:14 otherwise it's easy to put punctuation in by mistake, and spend ages debugging 18:48:14 ok 18:48:23 just use brackets on a bf cell that's set to 0 18:48:37 -!- mee has joined. 18:48:41 brackets are nice for comments in the beginning of the program 18:48:50 otherwise, you have to be really sure the cell is set to 0 18:49:05 most mid-program comments don't require punctuation anyways 18:49:12 they're also nice for writing a polyglot. 18:49:23 // [ 18:49:27 C code follows 18:49:40 any sort of NOP/comment is great for writing polyglots 18:49:41 /* ] brainfuck code follows */ 18:49:43 it's almost necessary 18:50:08 -!- bsmntbombdood has joined. 18:50:13 very easy with C and BF since / and * are nops in brainfuck :) 18:50:48 I like Haskell's comment style. 18:51:12 i like literate haskell's comment style :) 18:51:28 -- lol comment here 18:51:58 -- lol code here 18:52:10 10 REM THIS IS A COMMENT 18:52:17 literate haskel huh? 18:52:27 CakeProphet: comments and code are switched 18:52:33 everything's a comment, unless preceded by -- 18:52:45 with the idea that comments are more important than the actual code 18:52:49 aaah.... you'd use that in things where you have more comment that haskell 18:52:57 *than 18:53:04 like.. in some kind of example 18:53:16 well, the idea is that you should use that for all your programs. 18:53:35 i hate comments, don't read code, write it. 18:53:36 because making a human understand what's going on is more important (and harder) than making the computer understand. 18:54:19 .....not really. I find it very easy to explain things to... people. 19:00:37 in writing? 19:01:32 -!- erider has quit (Read error: 104 (Connection reset by peer)). 19:04:02 what's (a+bi)/(c+di)? 19:04:22 calculate it. 19:04:30 :< 19:04:32 you only need middle school algebra or something? 19:04:36 i don't wanna :< 19:04:38 yeah 19:04:41 okay, i'll try 19:05:13 svn://nonlogic.org/pikhq/pebble/trunk/ 19:05:17 nah, i can't, at least i can't do it fast 19:07:13 hmmm.... it would be like... 19:08:05 ...I forgot how to divide polynomials. 19:08:13 hmm 19:08:24 you do something whose name i only know in finnish 19:08:40 part-fraction-factors or something :P 19:08:50 divide it in those. 19:09:27 I can multiply them though... so that's (a+bi)*(1/c+1/di) 19:09:32 right? 19:09:34 no 19:09:54 1/(a+b) is not a/a+1/b 19:10:00 *1/a+1/b 19:10:03 even i know that 19:10:04 :) 19:10:18 oh... yeah :P 19:10:32 I SUCK... AT MATH 19:10:44 for any values of a and b i can calculate A and B in A/a+B/b 19:10:53 but not the general case 19:11:01 i mean, i probably could, but it'd take long 19:12:56 you could change 1/(c+di) by multiplying it by something that equals one... and will result in a denominator of 1. 19:13:20 speaking of sucking, i got a scholarship for being 5th in finlands national math competition \o/ 19:13:45 my grades in math are of average 8 (4-10) 19:13:56 what times (c+di) will equal 1? 19:14:13 -!- erider_ has joined. 19:14:46 i'd've been divided first but i didn't understand a question right... finnish is so hard 19:15:05 CakeProphet: i have no idea, but i guess you can... calculate it? 19:15:45 dunno... I'm just trying to switch that division into a multiplication.... I forgot how to divide polynomials. 19:16:06 i know how you do it, but it's not trivial 19:16:14 and i don't know the term 19:16:15 does + = 1 in the cell or binary 2 19:16:31 ? 19:17:53 + in bf increments the current cell by 1 19:18:12 !bf +. 19:18:25 hmm... I need a linefeed right? 19:18:44 or a printable character 19:18:54 !bf +++++++++++++++++++++++++++++++++. 19:19:03 !bf +++++++++++++++++++++++++++++++++.>++++++++++. 19:19:09 !bf +++++++++++++++++++++++++++++++++.>+++++++++++++.++++++++++. 19:19:13 :) 19:19:18 !bf +++++++++++++++++++++++++++++++++.>+++++++++++++.>++++++++++. 19:19:22 . 19:19:36 I WASN'T EVEN TRYING 19:19:40 hmm 19:20:00 egobot is not here. 19:20:04 heh 19:20:17 !bf +. 19:20:47 basically... bfs state consists of an array of characters and a pointer variable. 19:20:59 + is equivalent to array[pointer] += 1 19:21:09 > is pointer += 1 19:21:30 < is pointer -= 1 19:21:32 etc 19:22:08 so it can show printable char 19:22:19 with the . command, yep. 19:22:29 1, of course, is unprintable. 19:22:35 chr(1) 19:23:02 can it show ints 19:23:09 yes 19:23:15 but not like you mean. 19:23:17 ...kinda... no in the way you're thinking probably. 19:23:20 yeah 19:23:28 it can show the ASCII characters for digits... 19:23:46 but... . doesn't print out the value in the cell... just its corresponding ASCII character. 19:24:40 -!- erider has joined. 19:24:51 You can, of course, do some itoa stuff on it. 19:24:52 sorry I was on my phone 19:25:07 !bf ++++++++++++++++++++++++++++++++++++++++++++++++. 19:25:22 the cells value is 48.... but the interpreter would print "0". 19:25:32 because the 48th ASCII character is "0" 19:26:16 ok so to do calc? 19:26:33 The same for ++++++[>++++++++<-]>. 19:27:00 addition of two cells... is fairly simple... you just make a loop in one cell that increments another. 19:27:17 Pretty much just multiplication. 19:28:07 two plus two... would be ++>++<[>+<-] 19:28:10 or something similar 19:28:45 [>+<-] would be a destructive addition... that dumps the result in the cell to the right of the current one 19:30:29 CakeProphet: do you know of an interactive shell for bf or just compilers and interpreters 19:30:53 you can make one in 15 minutes 19:30:54 egobot has one. 19:31:01 !help 19:31:05 yeah, that'd this channel 19:31:11 and really, EgoBot is offline. 19:31:23 *that'd be 19:31:40 erider, do you have Python? 19:31:47 yes 19:43:19 meh... I started working on one... but I never feel like doing the brackets. 19:45:28 triv with rec 19:53:18 i have two questions about bf, is the data initialized to 0? how do you print stuff? kernel calls? 19:53:35 (excuse my laziness :) ) 19:54:28 kernel calls? 19:54:30 it's all initalized to 0 19:54:35 and . is the print command 19:54:46 that prints the entire stack or whatever it's called? 19:54:48 ! will call asm INT n, where n is the value of the current cell. 19:55:12 nope... just the current cell 19:55:20 ok 19:55:38 might mess around with that someday :) 19:55:38 here's the interactive bf shell I was working: http://deadbeefbabe.org/paste/4999 it doesn't have [ and ] yet... which I don't feel like implementing (definetely the most time consuming out of all the commands) 19:55:51 ! is an addition command? I have only seen the 8 commands 19:56:04 ! isn't a normal command.... not that I'm aware of. 19:57:56 sorry, i just mislead people asking advice :< 19:58:01 erider: There's only 8 commands. 19:58:06 * oklopol is a sly bastard 19:58:07 +-><.,[] 19:58:24 From that, one can *do* many powerful things, however. . . 19:59:05 -!- boily has quit ("WeeChat 0.2.4"). 19:59:54 * CakeProphet always implements the bf array as a sparse-matrix-esque hash table.... to save space with all the zeros floating about. 20:00:33 Pikhq: what types of things 20:00:59 erider: Theoretically anything. 20:01:08 It's Turing complete, after all. 20:01:41 (although doing stuff like networking, graphics, etc. requires some additional support from the interpreter, to wrap that stuff around stdin and stdout.) 20:02:05 bf is kind of useless... not because it can't do a lot of things... it just doesn't have any OS-specific things. While it can COMPUTE anything... it can't necessarily communicate with the rest of the operating system like most other programs can. 20:03:16 it can't do things like draw windows... write to files... send things to a server in India... etc 20:03:21 CakeProphet: Sure it can (although the *implementation* of such things is lacking). 20:03:31 ...not the normal bf. 20:03:38 One merely needs to implement PESOIX, or something similar, and voila. 20:03:43 adding an "extension" to bf pretty much makes it something other than bf 20:04:04 It's not an extension to the language, it's an API which BF code can access via I/O. 20:04:40 how to you access input with , 20:04:52 do* 20:05:00 otherwise, I could argue that Python has gotos... I just haven't hacked it in as a trace function yet. 20:05:32 CakeProphet: I'm not saying that BF has it, just that it *can*. 20:05:44 Likewise, Python *can* do gotos, but it's not a native feature. 20:05:55 erider: Yeah, "," is the input command. 20:06:05 how does PESOIX do this without using -anything- other than the standard bf implementation? 20:06:35 Pikhq: input from where 20:06:54 stdin 20:06:57 whatever that may be. 20:07:12 typically it's a line-buffered keyboard input... in a shell window. 20:07:44 CakeProphet: Interfacing with PESOIX is done soley by stdin and stdout. 20:08:22 CakeProphet: so it bring in one char at a time 20:08:22 well, if you make '@' mean "open irc connection", you are changing the language, however, if you, like someone just said, make special characters change where stdio goes, you are pretty much just making an api 20:08:53 erider, yep... everything is character-by-character in BF... no "strings" in the typical sense... 20:08:58 technically, the bf array is just one giant string 20:09:26 And all PESOIX is is an API. . . Just outputting stuff selectively. . . In theory, at least, you could use the API on any esolang. 20:09:36 CakeProphet: by we control where the char are placed in the tape 20:09:51 right 20:09:54 -!- erider_ has quit (Read error: 110 (Connection timed out)). 20:10:02 but* 20:15:13 okay, in php, why exactly can't you chain operations like "$second_word=explode(" ",$a)[1];"? 20:16:03 ,>,>,><.<.<. 20:16:39 because... you can do it in visual basic 20:17:16 erider: Yup. 20:17:26 Inputs 3 chars, outputs in reverse. . . 20:17:33 And can be shortened by two. 20:17:41 ,>,>,.<.<. 20:19:10 interesting 20:19:49 and comments can but written with no delimited char right 20:20:02 s/but/be 20:21:08 hmm... how do i read the contents of an url in php? :) 20:21:16 Right. 20:21:17 (last time i ask :)) 20:21:27 oklopol: #php 20:35:30 +++++[>+++<-] Cell1 By 5 = 15 20:38:03 erider: Perfect code. 20:39:42 thanks I think I should modify my interpreter 20:45:16 -!- boily has joined. 20:46:52 Pikhq: can you < or | into , ie; ./bf foo.b < bar 20:48:20 erider: Of course. Input redirection is done by your shell, not by the Brainfuck code. 20:50:03 -!- boily has quit ("WeeChat 0.2.4"). 20:50:04 Pikhq: I tried to print chars from a file with ,[.,] and it went in to while(1) 20:50:44 erider: Does your interpreter make an EOF=-1 or 0? 20:51:55 Pikhq: I think EOF=0 20:52:54 or '\0' 22:56:32 -!- clog has joined. 22:56:32 -!- clog has joined. 23:09:12 * oerjan suggests cpx 23:09:23 if it cannot be more than 3 letters 23:09:56 (that's for oklopol) 23:10:57 cpx or cx? 2 is also good :) 23:11:02 CompleX 23:11:13 ComPleX 23:11:15 omg 23:11:16 leet 23:11:19 i like that 23:11:49 tlas ftw! 23:13:17 indeed 23:17:49 what can I learn playing with brainf**k 23:18:14 how to twist your brain into tiny little knots, obviously 23:18:46 aka fuck 23:19:14 how to build up more complicated algorithms from extremely simple parts 23:19:45 there it is 23:20:10 so its worth playing with :) 23:21:04 how to program with no type checking at all 23:21:17 (forth could also be used for that, i hear) 23:21:27 or assembly 23:21:42 yay no types 23:22:26 forth type is a cell 23:22:38 B has no types either 23:26:45 oerjan: so I need to know a lot about ascii to make interesting things 23:27:29 regarding the name of Parrot: why would anyone want to name a vm after a dead bird? 23:28:04 he's not dead 23:28:11 he's sleeping 23:28:42 erider: you need an ascii table i guess. 23:28:50 erider: You could just use an ASCII table. 23:28:57 Or use PEBBLE. :p 23:29:41 just trying to figure out what one would need 23:29:55 there are of course 3 blocks whose positions are easy to memorize: 0-9 start at 48, A-Z at 65 (64+letter number) and a-z at 97. 23:31:45 (note that 48 = 3*16, 64 = 4*16 and 96 = 6*16) 23:32:11 while teaching erider how to write complex programs, please teach me to be clever 23:33:00 i see you are on haskell, using map fromEnum is a nice way to get the ascii numbers for a string 23:33:31 or map ord but that requires an import 23:33:34 -!- jix has quit ("CommandQ"). 23:36:34 cells are only 0-254 wide? 23:36:34 one subtlety about brainfuck is that there are so many implementation variations: end-of-file, cell size and wrapping, tape size 23:36:58 0-255 is usually the minimum to call it brainfuck 23:37:09 (although things like boolfuck exist) 23:37:42 if EgoBot was here, you could choose between 8 bit, 16 bit or 64, i believe 23:38:05 http://cm.bell-labs.com/cm/cs/who/dmr/btut.html 23:38:43 oklopol: i am sorry that is not in my power 23:38:45 "All arithmetic in B is integer, unless special functions are written. There is no equivalent of the Fortran IJKLMN convention, no floating point, no data types, no type conversions, and no type checking. Users of double-precision complex will have to fend for themselves. " 23:38:50 gotta love a language like that 23:39:07 ah, yeah, B rox 23:39:14 it's C for massochists 23:39:54 I *love* the error messages 23:40:12 can gcc compile it? 23:40:18 dunno 23:40:27 there's probably a front-end around somewhere 23:40:54 It's where the ever-useless "auto" keyword in C comes from. 23:41:47 btw EgoBot's interpreter, EgoBFI, is available at http://esoteric.voxelperfect.net/files/brainfuck/impl/egobf-0.7.1.tar.bz2 23:42:04 auto v[10]; v[10]; /*no error?!?*/ 23:42:38 bsmntbombdood: Of course not. C doesn't do any bounds checking. 23:42:52 so auto is B's equivalent to C's plain int? 23:43:08 it's still undefined behavior in C 23:43:22 auto v[10] makes v have 11 elements 23:43:39 oerjan: B's only type is the machine word 23:43:42 since B doesn't have a type to use for declaration 23:43:51 notice the onderful syntax that was later nicked for wide characters in C 23:44:05 actually, C has auto too 23:44:43 what i mean is, since B has no types, it must use something else to declare a variable, so auto becomes the default word for this? 23:44:45 auto means "automatic variable": it has space allocatioed when the function is entered and that space is freed when the function exits 23:44:52 i.e. it is a local variable, on the stack 23:45:34 i can't find the function for dynamic allocation 23:45:53 oerjan: looks to be a long on my system 23:46:11 There is only one reason why B has one type of 4 bytes. . . 23:46:22 The system they were writing stuff on had that as a word size. ;) 23:47:17 Pikhq: have you used WSpace? 23:47:37 erider: No, I haven't. 23:49:49 if a="foo", how many characters is a[0]? 23:50:08 where byte = 9 bits, remember 23:50:18 hence the octal 23:50:44 SimonRC: Octal is 0-7, not 0-8. 23:50:47 what wait? 23:50:55 erider: regarding brainfuck comments in brackets, the easiest way to be sure it the brackets don't get run is to put them right after another set of brackets. 23:50:57 Pikhq: erm, yes 23:51:04 *that 23:51:13 but 3 octal digis is exactly one 9-bit byte 23:51:34 oh, wow, they use the old-style "backwards" assignment operators: "foo =+ bar" etc 23:51:36 Each octal digit is 8 bits. . . 23:51:47 How the *hell* do you get 24=9? 23:51:52 no... 23:52:11 one octal digit is log_2(8) = 3 bits 23:52:25 . . . Oh, right. 23:52:29 one _octect_ is 8 bits 23:52:31 I'm an idiot. 23:53:33 this is #esoteric. everyone is either an idiot or a genius at any time, just not the same always. 23:54:15 The fuck? They actually *are* using 9 bit bytes. 23:54:50 imagine if that had stuck, then octal would probably be more used than hexadecimal 23:55:07 erm, yeah 23:55:08 geniot 23:55:20 their machine had 36-bit words 23:55:36 but hexadecimal is so much cooler than octal. 23:55:56 of all base-2 systems hexadecimal is perhaps the coolest. 23:56:07 or at least the most useful (could easily replace decimal) 23:56:15 Well, now I know where the tradition of using octal for chmod comes from. . . 23:56:23 lament: Hexadecimal is base-16, not base-2. :p 23:56:36 base-power-of-2 i mean 2007-06-05: 00:00:27 oklopol: the trick to calculating (a+bi)/(c+di) is to multiply by (c-di)/(c-di) 00:00:48 indeed 00:01:01 i'd never have come up with that 00:01:21 I though it was a standard trick 00:01:24 it is 00:01:33 basically you want your denominator to become real, and any number times its conjugate is real 00:01:39 but since i've never done math, it's not something i actually use 00:03:43 who is they? 00:04:03 erm... 00:04:47 K, and possibly R 00:05:02 and kt 00:05:04 are you still talking about B? 00:05:23 yes 00:07:07 -!- sebbu2 has quit ("@+"). 00:11:57 bobbens: many BF interpreters have a # debugging command that does print the whole tape. 00:12:27 * oerjan is working through the logs rather slowly today 00:13:09 "Diagnostics consist of two letters"...that's helpful 00:13:28 -!- poiuy_qwert has quit. 00:14:00 bsmntbombdood: is that B? probably it was written for seriously memory starved machines 00:14:05 yeah 00:16:35 oerjan: It was. 00:16:40 the NVG computer club actually has a machine emulating a pdp-10 with TOPS-20 00:17:14 probably faster than the original :) 00:18:30 *here 00:20:06 ISTR there was once a C compiler that had only on error message: ? and a line number. 00:20:14 !bf >+. 00:20:47 GregorR: fire up EgoBot, please :) 00:21:17 -!- Asztal has joined. 00:21:53 or bsmntbombdood fire up bsmnt_bot with bf, please 00:22:23 -!- bsmnt_bot has joined. 00:23:12 * oerjan has forgot the script-loading command for bsmnt_bot 00:23:18 ~exec execfile("/bot/scripts/bf.py") 00:23:22 i think it's that 00:23:30 hmm 00:23:35 ~bf >+. 00:23:36 00:23:45 that worked 00:23:59 Things get really weird when you get rid of absolute coordinate systems. 00:24:00 heh 00:24:30 what things? 00:24:33 ~bf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. 00:24:34 a 00:24:39 I am fiddling with a game ATM that only has relative coordinate systems. 00:24:41 good 00:24:45 -ish 00:24:56 i think it'll break the bot with an infinite loop though 00:25:00 ~bf >+++.++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++... 00:25:00 EEE 00:25:01 SimonRC: the difference isn't exactly huge. 00:25:03 SimonRC: postscript sort of works like that 00:25:47 bsmntbombdood: you still haven't got it to run bf in its own thread? 00:25:56 don't remember 00:25:57 -!- cmeme has quit ("Client terminated by server"). 00:26:01 space is made of blocks, and a position is defined as a transformation and the number of the spacial block whose coordinate system it is relative to. 00:26:04 :-S 00:26:07 -!- cmeme has joined. 00:26:21 ~bf +[] 00:26:26 with minimal fiddling, you get flips and rotations for free 00:26:26 ~ps 00:26:41 yep, not in a new thread 00:26:45 KeyboardInterrupt 00:26:51 heh 00:26:52 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 00:27:04 -!- bsmnt_bot has joined. 00:27:09 waut 00:28:10 SimonRC: what about relativistic transformations? (hard for multiplayer games, i guess) 00:28:44 i'm ignorigh that 00:28:47 but... 00:29:02 i mean, with a single player that could be nearly as simple 00:29:10 is there a single-player game that does relativistic effects? 00:29:23 i've seen a simple simulator but it wasn't a game 00:29:31 I've only ever seen a relativistic renderer 00:29:34 can anyone think of a good abbreviation for "normalise"? 00:29:47 !bf +++++[>+++++++++<-]>+++. 00:29:54 nlz 00:30:19 ~bf +++++[>+++++++++<-]>+++. 00:30:21 or nls 00:30:40 bah 00:30:50 :/ 00:30:52 nrmlz 00:31:00 ~exec execfile("/bot/scripts/bf.py") 00:31:06 try again 00:31:11 ~bf +++++[>+++++++++<-]>+++. 00:31:12 0 00:31:23 should be A 00:31:41 5*9+3 = 48 00:31:57 first cell should be 0 00:32:10 oops your right 00:33:10 ~bf ++++++++++[>+++++++<-]>+++++. 00:33:11 K 00:34:14 ~bf ++++++++++[>++++++<-]>+++++. 00:34:14 A 00:36:02 there is a list of shortest way to get numbers at http://esoteric.voxelperfect.net/wiki/Brainfuck_constants (large page) 00:36:04 oerjan: how to I copy from one cell to the next 00:36:19 use a temporary location 00:36:22 do* 00:36:53 you need 3 cells, first move from one to the two others, then move back from one of the others 00:37:06 e.g. [->+>+<<]>>[-<<+>>]<< 00:37:37 it is actually not much worse than Forth 00:37:50 o_O 00:38:21 this must be one of those famous British understatements :D 00:39:20 well, in Forth, *everything* gets destroyed when you use it, so you have to dup everything 00:39:43 other aspects of BF are indeed worse than Forth 00:40:15 though if your data is all small words, you can translate a forth program into BF quite well 00:40:39 unless it uses recursion or something like that 00:41:50 i'm working on threading the callbacks 00:42:08 actually recursion could work pretty well 00:42:45 er, well you would confuse the two forth stacks 00:42:52 ~bf ++++++++++[>++++++>++++++<<-]>+++++>+++++<.>. 00:42:52 AA 00:43:11 it's screaming! stop this abuse! 00:43:23 lol 00:43:46 sorry 00:46:47 -!- crathman has quit (Read error: 113 (No route to host)). 00:47:29 Obviously what you want is "@ a;@ temp;cons65 a : temp;out a" 00:47:31 Err 00:47:46 "source ^stdcons.bfm;@ a;@ temp;cons65 a : temp;out a" 00:47:57 Add another out a. -_-' 00:48:32 ~bf >----[<+>----]<++.. 00:48:53 hm... 00:48:58 ~ps 00:49:14 I think it wants a newline. 00:49:34 did you break it again 00:49:51 naughty naughty 00:49:52 KeyboardInterrupt 00:49:56 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 00:49:59 Pikhq seemed to assume the interpreter was wrapping 00:50:01 -!- bsmnt_bot has joined. 00:50:24 Which is a natural assumption; it damned well *should* be. 00:50:30 it probably uses Python integers 00:50:32 And if it were up to me, it would. 00:50:48 It should probably add a %255 in there. 00:50:54 this might come as a surprise to many of you, but integers don't wrap. 00:51:12 pwnt 00:51:29 unless in modulo arithmetic :| 00:51:46 -!- bsmnt_bot has quit (Remote closed the connection). 00:51:47 Thus why I'm saying "add a %255". 00:51:54 Asztal: those things aren't called integers. 00:51:57 although i don't know if Python converts to bignums or throws an exception on overflow, or perhaps the size is just so big it didn't reach wrap yet 00:52:04 Pikhq: not %256? 00:52:05 oerjan: bignums. 00:52:14 SimonRC: Erm. Right. 00:52:33 oerjan: ISTR Python goes to bignums 00:53:14 -!- bsmnt_bot has joined. 00:53:19 i hope this works.... 00:53:23 ~exec execfile("/bot/scripts/bf.py") 00:53:26 fuck 00:54:09 -!- bsmnt_bot has quit (Remote closed the connection). 00:54:22 -!- bsmnt_bot has joined. 00:54:25 ~exec execfile("/bot/scripts/bf.py") 00:54:48 ~bf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. 00:54:49 a 00:54:58 ~bf +[] 00:55:02 ~ps 00:55:18 argh 00:55:22 if the integers in BF wrap at 256, doesn't that hurt indirection? is indirection even possible in BF? 00:55:38 indirection? 00:55:53 it seems the thread is not giving up it's time slot 00:55:55 you mean storing pointers? 00:56:31 oh so python only does cooperative threading? 00:56:53 KeyboardInterrupt 00:56:56 KeyboardInterrupt 00:56:58 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 00:56:59 Asztal: the type of brainfuck cells is not specified. 00:57:01 it would seem 00:57:08 -!- bsmnt_bot has joined. 00:57:14 ~exec execfile("/bot/scripts/bf.py") 00:57:18 ~bf +[] 00:57:23 put a yield operation in the loop command 00:57:25 ~os 00:57:28 ~ps 00:58:09 (whatever python calls yield) 00:58:41 KeyboardInterrupt 00:58:42 KeyboardInterrupt 00:58:44 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 00:58:53 -!- bsmnt_bot has joined. 00:58:56 ~exec execfile("/bot/scripts/bf.py") 00:58:59 ~bf +[] 00:59:01 ~ps 00:59:08 wtf 00:59:50 you could do pointers in bf with variable width arrays 01:00:54 although that would seem to require shuffling things to store values 01:03:17 why not it work :( 01:03:21 KeyboardInterrupt 01:03:21 KeyboardInterrupt 01:03:23 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 01:03:39 however, since moving along the tape (especially if you are searching for something so it cannot be optimized away) takes linear time, moving things at the same time may only imply a constant factor overhead 01:03:44 seems to me that it's difficult to execute a "move to position X" operation though, since you can only read the target cell from the current cell... once you move off it, you don't know where you're moving to any more 01:04:10 you'd have to shuffle things, as you said, which might corrupt things along the way 01:04:35 you would need to bring the destination pointer with you 01:04:50 i am sure it can be done, it's just inefficient 01:04:56 destroying contents as you go 01:05:04 not destroying, swapping 01:05:41 hmmm 01:05:50 I believe the means of storing arrays involve storing array cells with 2 bytes. . . 01:06:09 bsmnt_bot has been quitting in IRCFileWrapper.write 01:06:42 oerjan: and to avoid shifting all the cells inbetween, you'd have to go back and swap them again each time you finish a swap, perhaps? 01:07:20 you could decrement the "position" value each time you swap, once it reaches zero, you're there. and you've probably wasted millions of cycles getting there :) 01:08:09 not really, because the swapping would not change the order of anything other than the record you are bringing with you. 01:08:29 indeed, i imagine all pointers being relative 01:09:19 wasting millions of cycles is a given in brainfuck 01:10:11 I imagine it starting off as: DabcdefghijkT (d=pointer, a->k are values, T=target cell), then 01:10:12 DabcdefghijkT, aDbcdefghijkT, abDcdefghijkT, abcDdefghijkT, ..., abcdefghijkD 01:10:43 yep, that's what i am thinking too 01:11:12 I was thinking of some way of swapping them back but it hurts my brain 01:11:43 well, D would have to contain a pointer backwards too if you want that. 01:12:31 [->+<]>[[->>+<<]>>-] 01:12:42 all pointers in D would be adjusted as you go. or perhaps it is better to keep them absolute apart from "current position" 01:12:54 that would move n cells right where n is the number in the current cell 01:13:02 assuming every other cell is used for data 01:13:33 bsmntbombdood: that works as long as pointers are small enough for a single cell 01:13:39 right 01:13:53 are you guys interesting in adding another language to you guys toolbox? 01:14:07 shoot 01:14:26 http://charleschilders.com:9812/ 01:16:29 i haven't played with forth for a long time 01:16:37 i like Factor 01:16:40 as you know 01:17:06 Factor has the same fuck-around-with-the-system attitude as smalltalk. 01:18:42 forth is fuck-around-with-the-system-shoot-your-head-off to the max 01:20:04 have a look at the rosette code 01:20:38 hmm 01:22:52 * erider thinks SimonRC is interested 01:24:33 actually I was going "hmm" at something else. 01:25:36 wtf 01:25:44 my radio station is down :( 01:27:06 no fair 01:27:12 i'm going to learn vi then 01:41:09 i forgot how cool vi was 01:42:58 zzzzzz 01:43:07 bsmntbombdood: you have a radio station? 01:43:37 s/my radio station/an internet radio station i listen to/ 01:43:42 ah, ok 01:43:43 zzzzzz 04:30:36 -!- clog has joined. 04:30:36 -!- clog has joined. 04:47:47 -!- boily has joined. 04:48:20 'Lo. 04:49:16 hi boily 04:49:34 -!- EgoBot has joined. 04:51:13 hi 04:51:23 It's EgoBot! 04:51:49 !pebble inline {What do you mean, you don't have PEBBLE support?} 04:51:51 Huh? 04:51:54 i see a remaining problem with your string handling: what happens with \ on an empty string? 04:52:15 it returns -1, leaving the empty string there 04:52:27 the only way to suppress a string is through _ 04:52:33 ok 04:54:23 also what happens if you do ? ... [ ... | ! ... ] 04:54:33 uh... just a minute... 04:55:14 * Pikhq should probably add PEBBLE support to EgoBot, just as soon as I'm satisfied for a PEBBLE 1.0 release 04:56:22 or for that matter ? ... ? ! ... ! 04:56:51 oerjan's gone nutters 04:57:08 he isn't nuts, he's beets 04:57:47 about oerjan's first question: it works. i do not know how nor why, but it works. 04:58:05 C3?5[,*+563|!C-c1] prints "!!!" 04:58:18 actually i am more wondering about _what_ it does :) 04:58:30 * Pikhq wonders: how many people care about PEBBLE? 04:58:33 no idea. 04:58:38 Pikhq: what is PEBBLE? 04:58:40 * Pikhq is thinking that it's somewhere on the order of '1'. 04:59:01 erider: PEBBLE is a language and compiler I devised which is designed to efficiently compile to Brainfuck. 04:59:05 * boily scratches his head 04:59:24 It's currently a whole lot more efficient with the C backend, though. 04:59:26 website? 05:00:14 http://pikhq.nonlogic.org/esoteric.html is the closet I've got for now. . . It dates back to before I changed the name, but does give a good summary of the language. 05:01:21 talking about brainfuck, i coded an interpreter for fun this morning (june 4th) 05:01:33 I kind of need to update the documentation. . . 05:02:32 BTW, that link is wrong. . . http://pikhq.nonlogic.org/pebble-1.0-preview.tar.bz2 contains the latest PEBBLE build that's tarred up, and svn://nonlogic.org/pikhq/pebble/trunk contains the latest and not guaranteed to work. 05:05:40 * erider is reading about a time long long ago 05:06:09 boily: the interpreter link is wrong, leading to a completely unrelated page 05:06:23 d'oh 05:06:42 erider: Hmm? 05:07:04 it also occurs to me that pastebin pages can probably be edited by anyone... 05:07:49 yeah, it's just a temporary place. as soon as my friend's server is up, i'll host it there 05:08:05 although you can still find the original, just as on wikis 05:08:31 no wait 05:08:36 it gets a new number 05:09:18 false alarm :) 05:09:29 i corrected the link 05:11:07 erider: BTW, http://pikhq.nonlogic.org/pfuck-1.0.tar.bz2 or svn://nonlogic.org/pikhq/pfuck/trunk include something somewhat useful written in the language. 05:12:00 Pikhq: your version of the language 05:12:51 erider: Uh, by definition, any version of the language will be my version, at this point, simply because it's *my* language entirely. . . 05:13:20 :) 05:13:23 cool 05:13:54 * erider is reading about brainf**k algorithms 05:14:12 Well, oerjan helped a good deal earlier on. . . That was *before* I did the rewrite of the compiler, making it multiple passes. . . 05:14:24 I believe his most notable contribution as of *now* is the stdcons.bfm file. 05:15:37 which i mostly automatically translated from [[Brainfuck constants]] on the wiki. 05:16:27 True. 05:25:56 oops. boily's ? ... [ ... | ! ... ] test was _not_ jumping 05:26:55 which means? 05:27:03 the interesting cases are when you _do_ jump into or out of a [ ... ] 05:27:26 * boily ponders on this particular problem... 05:27:33 if ? doesn't jump then it acts as a nop 05:29:07 i think it will be even more crazy if ? is the argument of something else 05:29:47 in fact that might be crazy even without [ ... ], if that something else requires more arguments 05:31:59 congratulations, i think you have made a language more twisted than you intended :) 05:35:38 i also think comments and strings containing ! should be used with care. 05:37:02 i don't know if i shall rejoice or flee. 05:37:33 i think the next step will be to hack a brainfuck interpreter in betterave... 05:38:19 i _think_ your language is relatively sensible apart from the ? ... ! effects 05:39:02 hmm... i agree. 05:40:44 i don't think [ ... | ... ] has any issues with comments unless you put something after the | xxx expression 05:41:03 (or strings, but that would be useless anyhow 05:41:05 ) 05:42:56 for non-esoteric uses however, this all should be a warning to keep your parsing and execution stages separate. 05:44:05 oerjan: Lies! 05:44:14 lies? 05:44:23 You should have a parser that is modifiable at runtime! 05:44:37 :) 05:45:15 ok that has its uses, but at least a command should be entirely parsed before executed 05:45:26 Lies. 05:45:40 Parsing should be part of the command. 05:45:56 * Pikhq is evil. ;) 05:46:40 proc foo {args} {standard_parser; do stuff with $args};foo();bar();quuux! 05:51:45 something occurs to me. [ ... | ... ] is always executed at least once. 05:52:09 so you cannot avoid ? ... ! entirely. 05:55:32 that was one reason why i added ? ... ! to my language 05:58:19 hm |0] cancels the preceding [, no matter where it is 06:00:22 so you could exit a loop with ? ... ] ... ?!|0]1! or something like that 06:01:02 umm... not sure about the ?! part... 06:01:04 wait... 06:01:07 it works. 06:01:11 boily: You, sir, are *way* too evil for your own good. 06:01:31 me? evil? bah, humbug! 06:01:42 because the last ? doesn't look for ! until the end of the test 06:04:39 -!- GregorR-L has joined. 06:11:55 It be Gregor! 06:11:55 it's HIM! 06:11:55 the one who started my obsession over bismuth 06:11:55 >:( 06:11:55 um, pardon my ignorance, but what is bismuth? 06:12:04 I'll second that question. 06:12:18 apart from a chemical element 06:12:32 bismuth is a heavy metal which makes awesome crystals 06:13:47 because of its density, he mentioned sending it back in business reply envelopes... then I had to go look it up, resulting later on in the purchase of http://i6.ebayimg.com/02/i/000/a0/38/eadf_1.JPG 06:14:19 nice 06:15:10 it's like a fractal which I can touch! 06:17:20 -!- Pikhq has quit (Remote closed the connection). 06:17:40 -!- Pikhq has joined. 06:18:13 .................. 06:18:38 That is pretty rife with awesome :) 06:26:52 Yeah. 06:27:04 -!- boily has quit ("Bye!"). 06:33:53 i've got a small one of those 07:01:44 -!- Pikhq has quit (Remote closed the connection). 07:04:34 -!- Pikhq has joined. 07:16:25 -!- Pikhq has quit (Remote closed the connection). 07:17:15 -!- Pikhq has joined. 07:30:50 -!- GreaseMonkey has joined. 07:52:01 getting off now, here's my SKI interpreter if you want it: http://greasemonkey.nonlogic.org/poleski.zip 07:52:07 -!- GreaseMonkey has quit (Client Quit). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:56:33 -!- GregorR-L has quit ("Leaving"). 08:58:23 -!- GreaseMonkey has joined. 08:58:53 anyone on? 08:59:11 yeah 08:59:16 comments on my SKI interpreter? http://greasemonkey.nonlogic.org/poleski.zip 08:59:52 it's actually pretty damn advanced now 09:00:01 it just doesn't have "level 3" 09:00:34 level 3? 09:01:16 it has an explanation 09:01:25 let's say that Lazy K is level 1 09:01:39 (very lazily evaluated) 09:01:53 level 2 evaluates brackets before performing operations on them 09:02:02 level 3 evaluates top-down 09:02:57 everything is optional: Level 1/2, Empty-Bracket-Removal {on/loadtime only/off}, Lone-Bracket-Removal {on/off}, Forward-On-Dud (on a dud symbol, evaluate brackets after it) {on/off}, Lazy-I (don't evaluate bracket next to I) {on/off} 09:03:24 defaults: L2, LTLBR (Load-Time LBR), EBR, FOD, Lazy-I 09:36:00 -!- oerjan has quit ("Off to lunch"). 10:51:07 Thus why I'm saying "add a %255". <<< why not 256? 10:51:14 oh 10:51:27 i should read further before saying anything 10:55:45 -!- GreaseMonkey has quit ("Crashing a computer only works if you add wheels to it."). 10:58:10 you would need to bring the destination pointer with you <<< i did something like having every second cell empty and [->+>>+<<<]>>>[-<<<+>>>]<<[[->>+<<]>>-]> 10:59:24 and bsmntbombdood also coded that after you said it, i'll stop commenting what i see :< 12:49:21 whuzz the regex way to say "replace every '.' in a string with ' ' if '.' is not preceded by a number" 12:49:33 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 12:51:54 -!- Asztal has joined. 12:52:14 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 12:53:05 -!- CakeProphet_ has joined. 12:54:14 -!- lament has quit (Remote closed the connection). 12:54:18 -!- lament has joined. 12:57:08 -!- Asztal has joined. 13:00:22 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)). 13:47:23 -!- jix_ has joined. 15:28:52 -!- crathman has joined. 15:39:32 -!- CakeProphet_ has changed nick to SilentScience. 15:47:52 -!- helios24 has quit (Remote closed the connection). 15:49:56 -!- helios24 has joined. 15:55:08 -!- boily has joined. 16:29:54 I recommend that every here reads worsethanfailure.com 16:30:00 their contest results are amazing 16:57:22 -!- sebbu has joined. 17:03:39 hi 17:09:28 hi 17:12:32 hi 17:12:43 * SimonRC grins at the UF LoTD 17:28:01 at the who? 17:28:17 user friendly l of the day? 17:36:41 line? lameness? lament? lady? 17:36:46 limerick? 17:43:08 -!- crathman has quit (Read error: 113 (No route to host)). 17:53:30 -!- boily has quit (Read error: 110 (Connection timed out)). 17:56:53 -!- crathman has joined. 17:57:57 -!- crathman has quit (Client Quit). 18:04:41 oklopol: s/([^0-9])\./\1/g 18:04:50 Erm 18:04:52 oklopol: s/([^0-9])\./\1 /g 18:04:56 (Forgot the space :P) 18:06:34 -!- boily has joined. 18:47:00 GregorR; That's "if '.' is preceded by something that's not a number", not "-- not preceded by a number", which means it'll fail to replace the '.' at the beginning of the string. In perl-style regexps you can use a simple s/(? s/([^0-9]|^)\./\1 /g probably works for less-endowed regexps. 19:09:27 -!- boily has quit (Read error: 110 (Connection timed out)). 19:44:08 -!- sebbu2 has joined. 19:51:37 you must escape the () 19:53:34 At least in sed, yes. 19:54:31 Although in those systems you probably also need to escape the |. 19:54:52 My sed also has the 'extended regular expressions' argument -r. 19:55:23 it's annoying how everything has a different flavor of regexes 19:57:14 Perl, Java, anything using the PCRE library (like PHP's preg_* functions) at least are relatively close to each other. 19:58:22 and there's grep, sed, awk... 19:58:49 egrep 19:59:50 regex handling should have gone into the libc from the beginning 20:11:27 -!- sebbu has quit (Read error: 110 (Connection timed out)). 20:11:27 -!- sebbu2 has changed nick to sebbu. 20:18:14 -!- GregorR-L has joined. 20:19:20 long i; for(i=1<<31; i; i >>= 1) while(malloc(i)); 20:28:32 how come i end up being drunk 3 times a week though i hate drinking? 20:28:40 i have to filter my friends. 20:30:45 -!- sebbu has quit ("reboot"). 20:32:53 eventually malloc all their core storage 20:37:25 -!- Pikhq has quit ("Leaving."). 20:38:08 -!- Pikhq has joined. 20:46:05 -!- sebbu has joined. 21:14:00 -!- GregorR-L has quit ("Leaving"). 22:10:32 -!- jix_ has quit ("CommandQ"). 22:32:28 * SimonRC goes to have a pizza then continue his sleeping experiments. 22:33:44 sleeping experiments? 22:33:46 :) 23:09:53 oklopol and his fetsih 23:09:56 *fetish 23:18:56 yeeeeeeah 23:22:43 when are you going to try the ubermans? 23:24:47 me? 23:24:50 prolly in a month 23:24:59 i have stuff next week :< 23:48:24 -!- sebbu has quit ("@+"). 2007-06-06: 00:00:45 -!- crathman has joined. 00:24:01 http://retroforth.com/paste/?id=415 00:55:12 -!- crathman has quit (Read error: 113 (No route to host)). 01:18:21 -!- fax has joined. 01:18:24 hi 01:19:53 hello 01:36:07 -!- oerjan has joined. 01:40:21 s/([^0-9]|^)\./\1 /g and the like will not work for several . in a row 01:40:40 change \. to \.\.* maybe? 01:41:27 no, you need _each_ replaced by a space 01:41:45 use tr 01:42:02 (because /g only does non-overlapping substitutions) 01:42:12 'y' in sed 01:42:24 but im not sure how (or if you even can) use it on a subexpression 01:42:28 tr cannot take a precondition can it? 01:42:43 would be cool to do: s/([^0-9]|^)\.\/\1 /g 01:42:54 well if you allow /e, but then we are far out of anything usable in non-perl 01:42:57 would be cool to do: s/([^0-9]|^)\(\.\.*\)/\1 /g 01:45:53 hm, not sure if tr in perl can be used functionally. but perhaps (($2=~y/.../.../),$2) will work 01:46:27 aw I thought you were using sed 01:47:08 bah I'm stupid, never noticed unescaped ()'s 01:49:39 this was a question by oklopol in the logs. fizzie gave s/(? would it be possible to just replace all .. with . until no more matches occur 01:50:30 or might that interfere with the rest of the patter? 01:50:34 not in engines that don't have lookbehid 01:53:52 if you are to do it without full expressions you can only replace one . at each match, and the matches must be non-overlapping so lookbefore seems essential 01:54:38 unless you use more than one substitution. doing the naive one twice should work in this particular case. 01:56:21 hm, look-behind is the technical term. sounds illogical to me. 01:57:08 oh or s/\.\.*/./ 01:57:47 fax: each . is to be replaced with one space. you cannot collapse them. 01:59:00 s/\./ / 02:00:33 if you use perl expressions, " " x length($2) is simple enough 02:01:02 fax: each . that is replaced, i mean. 02:02:09 whuzz the regex way to say "replace every '.' in a string with ' ' if '.' is not preceded by a number" 02:03:24 hi fax 02:03:30 hey erider 02:03:41 i think it is impossible to do with a single substitution using no extension such as expressions or look-behind 02:08:12 echo "c..d a.....a b...b" | sed -e "s/a\(\.\.*\)a/\"\`echo \'a\1\a' | tr . \\\\ \`\"/g" -e 's/\(.*\)/echo "\1"/' | sh 02:08:56 ..doesn't work lol 02:08:57 sorry 1 sec 02:09:40 (whatever that is it doesn't go under "no extension") 02:11:19 if that is supposed to be the same question, then you forgot to check that . is not preceded by a digit. 02:11:29 no 02:11:43 using 'a' instead of any digit 02:12:51 hm 02:12:59 echo "\"a.....a\"" | tr . \ #-> "a a" 02:13:11 echo `echo "\"a.....a\"" | tr . \ `#-> "a a" 02:13:31 need to replace . with '\ ' ;/ 02:30:09 -!- fax has quit ("Leaving"). 03:47:25 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)). 03:50:20 -!- bsmntbombdood has joined. 04:03:17 http://www.ben.jellybaby.net/ 04:38:19 -!- SilentScience has quit (Read error: 113 (No route to host)). 04:47:52 -!- Chaos750 has joined. 04:48:38 -!- Chaos750 has quit (Client Quit). 04:49:17 * oerjan thinks that may have been a chaos magician... 04:58:44 * erider has a functional bf interpreter in toka :) 04:59:34 so toka is TuCo :) 05:27:46 -!- boily has joined. 05:40:56 -!- Pikhq has quit (Remote closed the connection). 05:41:25 -!- Pikhq has joined. 05:41:46 -!- Pikhq has quit (Client Quit). 05:51:30 -!- pikhq has joined. 05:51:49 -!- digital_me has joined. 05:56:30 -!- digital_me has quit (Client Quit). 06:11:33 -!- boily has quit ("WeeChat 0.2.4"). 07:13:56 -!- GregorR-L has joined. 07:25:17 * pikhq looks at KDE4, stares longingly 07:25:53 ...why? 07:26:16 Plasma == OMG. 07:26:19 Kwin == OMG. 07:26:23 Everything == OMG. 07:26:25 what's that? 07:26:52 Plasma is the new implementation of the desktop, desktop widgets, panel, and more. 07:27:14 Kwin is the KDE window manager, which, for KDE4, will use AIGLX and Xcomposite. 07:27:33 http://www.codu.org/hats/Pakul-med.jpg < Gregor's new burlap-sack hat. 07:27:58 useless waste, useless waste, and useless waste? 07:28:18 bsmntbombdood: The Kwin features are actually *useful*. 07:28:25 As are the Plasma features, actually. 07:28:44 And Phonon will be a really, really nice abstraction of the audio layer. . . 07:28:45 KDE doesn't have much in terms of flashy features. 07:28:53 GregorR-L: KDE4 sure as hell does. 07:29:13 pikhq: When I say "flashy features", I mean "features which have no purpose but to be flashy" 07:29:16 Oh. 07:29:30 By that definition, nor does KDE4. 07:29:33 GregorR-L: cool hat 07:29:33 Unlike Beryl, which has exclusively flashy features. 07:29:43 Yup. 07:29:47 GregorR-L: that's the best one yet 07:29:53 be careful with this hat-buying. remember Frogstar B. 07:29:59 i'd wear it 07:30:18 I'd wear it, which is saying something from someone who's only hat is called "long hair". 07:30:25 Heh 07:30:40 bsmntbombdood: I now have one hat for every year of my life :P 07:30:48 lol 07:31:13 "The hats of my life", sounds like a book and/or a movie and/or a musical title. 07:31:23 Man. . . It's one thing for a UI to look beautiful, but KDE4 surpasses that. . . The friggin' *API* is a work of art already. 07:31:44 i like this hat http://www.codu.org/hats/TopHat-med.jpg and this hat http://www.codu.org/hats/RedFedora-med.jpg 07:32:20 ogg123, written using kdelib from KDE4, is about 10 lines of code. 07:33:44 http://www.codu.org/music/GRegor-op8.ogg <-- this is a cool song 07:34:10 A long song from Gregor? 07:34:53 Strange how my random hat update causes people to start reading my page :P 07:35:29 GregorR-L: I usually check your page every once in a blue moon. 07:35:43 I don't even check my own page more than once every never :P 07:36:04 Honestly, I've noticed that it doesn't update much. . . 07:36:15 Most of your stuff is, uh, hidden from the actual page. 07:36:23 Like that ogg that was just linked. 07:36:34 . . . Err. 07:36:34 That's on the "music" page. 07:36:39 Never mind. I'm an idiot. 07:36:43 :P 07:36:51 Anyway, I rarely update it ... it's not a blog. 07:36:59 I don't have enough to say about my life to blog X-P 07:37:12 And you're a friggin' amazing piano player. 07:37:39 Not really :P 07:37:56 What, and are you not a good coder, either? 07:38:20 I'm an excellent coder. 07:39:12 I'm well aware. 07:39:15 But given that my friend Eric, who plays the piano as one of an ever-increasing number of instruments (at least five), plays much better than I do, I'm not that great :P 07:39:36 You play a hell of a lot better than I do. . . 07:40:13 My musical skills are more in the realms of choral music. . . 07:40:46 There's a notable tragedy in my singing: I can sing in tune, but my voice makes people's ears bleed X-P 07:40:51 Hahah. 07:41:13 I'm good, just so long as I can sing bas. 07:41:14 Err. 07:41:15 bass. 07:41:39 Get me doing higher than that, and I make everyone cringe. 07:41:46 Heh 07:41:58 My falsetto? T3h suck. 07:44:58 By the way, the hat I linked ( http://www.codu.org/hats/Pakul-med.jpg ) is basically a rolled-up burlap sack ;) 07:45:35 Creative. ;) 07:46:30 where do you get a burlap sack 07:46:47 If you buy them like I do, you pay $30 for it at a hat shop :P 07:47:04 that's a lot of moneys 07:47:06 o_O 07:47:28 That's a fairly normal price for a good-quality hat. 07:47:52 but it's not a good-quality hat...it's a sack 07:48:07 i guess it might be better than a used one... 07:48:12 Heh 07:48:17 smelling of potatoes, or whatever 07:48:23 "Is this an apple core in my hat?" 07:48:26 you could have a coffee smelling hat 07:48:49 I' 07:48:53 d take one of those. 07:52:51 coffee, that was what i was missing. 07:53:08 * oerjan slurps loudly 07:54:12 that sounds good 07:55:34 * bsmntbombdood hasn't had any caffeine for 2.5 weeks 07:55:39 O_O 07:55:55 * GregorR-L is thoroughly addicted to teh soda. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:05:23 * pikhq loves the holy nectar: Mountain Dew 08:14:29 -!- oerjan has quit ("leaving"). 08:18:44 pikhq: and i was assuming the holy nectar was ambrosia aka expresso :) 08:18:58 Espresso, while holy, is not a nectar. 08:19:16 when you've had enough it is :) 08:19:29 got to hook up my expresso iv now :) 08:19:31 You mean it's *sweet*?!? 08:19:51 It ain't a *nectar* unless it's sweet. 08:20:03 Holiness comes from caffeine content, though. ;) 08:20:34 well you put sugar in it 08:20:43 i like brown sugar because it gives it a nice caramalized effect 08:20:47 Then it's no longer worthy of the name 'espresso'. 08:20:53 straight expresso messes with my stomach early morning :) 08:21:20 expresso is the base of all coffee drinks, you need a stomach of iron to drink it straight 08:21:30 and even then it'll eventually destroy your stomach 08:22:01 i used to like that mountain dew soda stuff 08:22:10 but it just messes with you too much :) 08:22:17 now i'm on tea/coffee 08:22:52 * pikhq prefers his coffee to be just strong enough to glow from the radiation within :p 08:23:29 it has to be able to move on its own right? :P 08:23:44 "Come back here mister coffee! I'm going to drink you!" 08:24:42 pikhq doesn't drink his coffee, he hunts, cooks and eats his coffee. 08:26:04 Heheheh. 08:34:14 yum 08:37:34 *echm* It's coffeezilla! 08:43:03 Caffeine written in JavaScript? 08:54:17 No, no, no. 08:54:32 Obviously, you want JavaScript written in CaffeineScript. 08:54:46 Night. . . 08:57:21 -!- GregorR-L has quit ("Leaving"). 09:40:43 -!- GreaseMonkey has joined. 10:37:04 -!- GreaseMonkey has quit ("The future of IRC --> mIRC http://www.mirc.com <-- Crappy ads in your quit message"). 11:41:57 Never let Robocop hang the decorations on your Christmas tree, he will only break them all. 11:43:05 * oklopol will keep that in mind 11:44:25 These dream-messages don't seem quite as profound when you tell them to someone. 11:49:37 hmm... i'm pretty sure i play the piano better than GregorR... or at least used to play, but if that's his composition, i'm fucking impressed 11:50:37 SimonRC: please tell me about your sleep expreriments :) 11:51:21 okay, i guess i couldn't concentrate enough to play that long a piece in one go 11:52:41 i wish i knew another composer, i could play my card game with them 11:52:58 perhaps i'll articlify that 11:53:00 -> 11:57:24 not ubermans... 11:57:49 http://www.everything2.com/index.pl?node_id=69872 11:57:53 * SimonRC goes back to bed 13:03:24 -!- jix_ has joined. 13:19:44 -!- jix__ has joined. 13:28:13 -!- jix_ has quit (Read error: 110 (Connection timed out)). 15:19:05 * SimonRC loves his magical shrinking code 15:19:14 The more you hack on it, the shorter it gets. 15:27:19 -!- crathman has joined. 16:15:45 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 16:36:06 -!- oerjan has joined. 16:50:22 -!- sebbu has joined. 17:05:42 -!- jix__ has quit (Killed by douglas.freenode.net (Nick collision)). 17:06:18 -!- jix_ has joined. 17:06:36 -!- jix_ has changed nick to jix. 19:03:05 !bf_txtgen ACTION tests 19:03:35 <_< 19:03:41 115 +++++++++++++[>+++++>++++++>+++++++++>++<<<<-]>.++.>++++++.<++++++.++++++.-.>>>++++++.<-.<+++++++++++++++++.>-.+.-. [885] 19:07:03 !bf +++++++++++++[>+++++>++++++>+++++++++>++<<<<-]+.>.++.>++++++.<++++++.++++++.-.<.>>>>++++++.<-.<+++++++++++++++++.>-.+.-. 19:07:05 ACTION tests 19:07:38 oh 19:07:45 Do it again, and it'll work. 19:07:48 well, I was going to add ASCII 001 to the start and end, and see if it did a CTCP action 19:07:54 !bf +.++++++++++++[>+++++>++++++>+++++++++>++<<<<-]>.++.>++++++.<++++++.++++++.-.>>>++++++.<-.<+++++++++++++++++.>-.+.-.[-]+. 19:07:57 * EgoBot tests 19:08:17 It's an issue with EgoBot's buffering; the first time it sends a CTCP, it fails. 19:08:18 so did i except i forgot the "tests" should also be inside 19:08:42 . . . Ah. 19:12:47 !bf_txtgen ACTION tests again 19:13:37 !ps 19:13:41 1 oerjan: bf_txtgen 19:13:43 2 oerjan: ps 19:13:45 -!- puzzlet has joined. 19:13:47 169 +++++++++++++[>>+++++++++>+++++>++<<<<-]>+.>>.++.+++++++++++++++++.-----------.++++++.-.>++++++.<<-.>+++++++++++++++++++++++.<-.+.-.>>.<----.<------------.>.<++.+++++.<. [744] 19:13:57 !bf +++++++++++++[>>+++++++++>+++++>++<<<<-]>+.>>.++.+++++++++++++++++.-----------.++++++.-.>++++++.<<-.>+++++++++++++++++++++++.<-.+.-.>>.<----.<------------.>.<++.+++++.<. 19:14:01 * EgoBot tests again 19:31:08 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 20:05:44 -!- ehird` has joined. 20:07:14 -!- boily has joined. 20:18:52 -!- oerjan has quit ("Good night"). 20:18:52 -!- boily has quit ("Lunch"). 21:02:05 i want to try ubermans again but i need a better way to keep on it 21:07:34 I wonder... if we all banded together, would it be possible to make a language that's so massively massive and convoluted (like intercal *= googolplex intercals or something) that we need an entire Hello World Development Sub-Comittee deciding which output function we should use? 21:23:43 -!- c|p has joined. 21:25:55 try per 21:25:56 l 21:26:06 hah! 21:26:10 no but seriously. :) 21:48:27 -!- jix has quit ("CommandQ"). 22:08:36 well, there's malbolge... although it's more of a turing tarpit-type thing 22:08:55 ehird`: that _does_ sound like perl. 22:09:00 _Contact_ FTW! 22:09:11 contact? 22:10:28 no, _Contact_ 22:10:36 contact? 22:10:42 gah! 22:10:48 no, _Contact_ 22:10:55 notice the underlining 22:11:02 what's contact? 22:11:37 The underlining indicates it is the title of an artwork, piece of fiction, film, or similar 22:38:00 -!- ehird` has quit. 23:33:01 -!- sebbu has quit ("@+"). 2007-06-07: 00:12:23 I thought you were supposed to use /italics/ for that, where available. :) 00:13:34 or just plain text 01:09:05 -!- c|p has quit ("Leaving"). 01:14:21 http://retroforth.com/paste/?id=420 02:00:12 zomg 420 02:03:17 hmm 02:03:37 MS are trying to be Google: http://slashdot.org/articles/07/06/06/1848214.shtml 02:04:02 I initially just assumed that it was Google that did this when I saw the video 02:04:37 google is becoming evil 02:04:38 The app really needs that cool multi-touch screen though. 02:07:03 photo zooming, wow 02:07:19 no, wait until he gets to the Notre Dame bit 02:09:19 hmm 02:10:21 i wonder how they put all the pictures together 02:21:14 I think that was the main thing that the software did. 02:21:28 ...yeah 02:30:33 zzzz 02:58:16 -!- mee has left (?). 03:53:30 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 04:29:57 -!- erider has joined. 04:31:12 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131211, 13211311131221 04:32:40 11131221133113112211 04:32:57 yes 04:39:00 Interesting program. 04:39:03 :p 04:43:32 -!- boily has joined. 04:45:00 I wonder at what rate the sequence expands 04:48:25 11131221133112132113212221 04:48:32 3113112221232112111312211312113211 04:48:38 1321132132111213122112311311222113111221131221 04:48:42 any scheme users here 04:48:47 11131221131211131231121113112221121321132132211331222113112211 04:48:56 311311222113111231131112132112311321322112111312211312111322212311322113212221 04:49:26 faster than exponential, looks like 04:50:53 and it looks like the digits don't go above 3 04:51:19 you can't go above three 04:52:08 why not? 04:52:53 because, for example, to get a 4 you need something like 1111, 2222, ... 04:53:27 1111 refers, in the precedent step, to 11, which normally is written 21 in the next step 04:53:27 yes 04:53:36 and why can't there be 111 ones? 04:53:44 oh 04:53:47 umm... 04:55:22 http://en.wikipedia.org/wiki/Conway_sequence 04:55:33 his starts with a 3, though. 04:56:02 actually, http://en.wikipedia.org/wiki/Look_and_say_sequence 04:56:42 -!- GregorR-L has joined. 04:56:48 bah, i'm never the first one to think of it 04:58:06 lol @ the polynomial on that page 04:58:54 funny how something that complex comes from a simple sequence (or, a simple to generate sequence) 04:58:58 * pikhq hails the EgoBot lord 04:58:59 :p 04:59:26 wooo... this polinomial scares me 05:02:18 1, 11, 101, 111011, 11110101, erm 05:02:27 -!- puzzlet_ has joined. 05:19:39 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 05:20:19 100110111011 05:20:27 111001011011110101 05:20:37 111100111010110100110111011 05:20:53 100110011110111010110111001011011110101 05:22:13 GET YOUR BINARY OUT OF HERE 05:22:14 BITCH 05:22:16 I mean hi. 05:25:46 probably wasn't a good idea to set ruby going with this, as it's now consuming about 20MB per second 05:27:14 yes, I definitely don't have 1.89770965081337e+030 bytes of RAM :( 05:27:53 why would you need that much? 05:28:48 because I was doing it the silly way, i.e. keeping it all in memory at once 05:29:34 I think you should be able to calculate the length recursively if you give it a depth 05:29:54 huh? 05:30:41 I was calculating the rate of growth of the 1, 11, 21, 1211 sequence.. in a very dumb way (and doing 250 iterations) :) 05:32:43 iterations? 05:33:24 I was thinking of 1 -> 11 as one iteration 05:47:14 Gregor, I was just randomly running strings on cplofc. . . And I'm wondering: how the *hell* did "Hello, world!" get into there? 05:49:16 http://www.acm.org/classics/sep95/ Did you happen to pull this trick off? 05:52:59 that would be awesome 05:53:30 It's not a *horribly* difficult trick. . . 05:53:52 Whee bit tricky when you've got two implementations that your self-hosting compiler can run on, though. ;) 05:54:10 . . . Oh, shit. Dplof is written in D, and Gregor is a major D developer. . . 05:54:11 :p 05:54:46 Although that seems like a bit of excessive work for sticking "Hello, world!" in something. 05:55:14 the putting it in the compiler you're compiling is the tricky part 05:55:51 Not really. Once you've got a self-hosting compiler, you add in a pattern matching function or two, then compile, remove, distribute binaries. 05:56:45 There's a few problems with this approach, of course. . . The source could change enough to break the pattern matching being the most obvious. 05:57:13 it would be better if you could put it in other compilers 05:57:40 Why not. 05:57:53 You just add another pattern matcher to match a specific compiler. 05:58:14 in compilers you don't know about 05:59:01 That's impossible, unless you can somehow match any function which could *possibly* result in valid machine code. 05:59:23 that's why i said it was tricky 05:59:33 The main problem with *that* being that, odds are, your compiler would break every binary, and it'd be noticed. 06:27:42 -!- boily has quit ("WeeChat 0.2.4"). 06:49:22 -!- oerjan has joined. 06:57:32 pikhq: You should've said "GregorR-L", so I'd recognize that you'd messaged me :P 06:58:33 pikhq: And that's from some tests compiled into fileio.plof 06:58:38 -!- GreaseMonkey has joined. 07:00:13 -!- sp3tt has quit (Remote closed the connection). 07:00:18 -!- sp3tt has joined. 07:02:43 GregorR-L: Ah. 07:03:18 I still wouldn't put Trusting Trust past you. ;) 07:03:47 i want to invent a language so i can do that 07:04:33 bsmntbombdood: Screw that. Stick it in a Brainfuck compiler. . . 07:04:50 Hmm. I should do that to Pfuck. :p 07:04:55 but Trusting Trust only works properly if the language is self-hosting 07:05:01 no one compiles login with a bf compiler 07:05:48 And Brainfuck self-hosts. 07:06:50 clarification: the best compiler for the language must be yours, and self-hosting 07:07:09 right 07:07:14 Obviously, you should get it into GCC. 07:07:25 hmm, there's plenty of BF self-compilers out there 07:07:57 Especially if your target is BF :P 07:07:58 Preferably into one of the RTL optimisation passes. You could even leave the code *in* and nobody would notice it there! 07:08:18 :D 07:09:12 was it here someone mentioned a backdoor in the linux kernel that was designed to look like a simple typo? 07:09:55 i have can't hair all over me 07:10:15 There's another good place to put one. . . 07:10:22 no parse 07:10:23 Except, of course, that GCC is used on more archs. 07:10:41 GCC is, after all, the #1 compiler on everything but Windows. 07:10:53 yah 07:11:01 the #1 compiler on Windows is " 07:11:02 " 07:11:06 the #1 compiler on Windows is "don't bother" 07:11:07 vc++ 07:11:14 (I of course refer to popularity, not quality. VC++: EWW.) 07:11:22 yes 07:11:34 c compilers are crap under windows 07:11:59 http://www.youtube.com/watch?v=xiKwErpPwMs 07:12:10 (On the subject of Microsoft :P) 07:12:28 VC8's not all that bad. 07:13:23 Not entirely. 07:13:36 GCC is a good C compiler for Windows, after all. 07:16:55 GregorR-L: You, uh, do realise that Windows 1.0 had a (craptastic) color GUI, not just B&W, right? 07:17:43 I didn't make that. 07:17:45 Microsoft did. 07:17:58 Don't ask me why they didn't use Windows' glorious pastel. 07:18:02 Ah. 07:18:20 That's a craptastic OS. 07:18:38 You could've read the description before asking that X-P 07:18:49 Too much work. 07:21:11 * pikhq really goes into uncontrollable laughter when comparing the capabilities of those POS machines and a UNIX box. . . (fine, so we're comparing tricycles to Ferraris. . . Still.) 07:22:00 that was in the movie? 07:22:30 No, Unix vs. Windows wasn't. 07:37:25 I need a language to invent 07:37:53 Invent Plof 0.1 07:39:49 but call it Flop just to avoid issues 07:40:02 Of course. 07:40:32 Be sure to wrap it up in sexps, and perhaps replace the typing system. 07:42:06 sexp++ 07:42:26 i mean 07:42:36 (set! sexp (+ sexp 1)) 07:42:47 Obviously, you want: 07:42:56 or (incf sexp) 07:43:20 (set! (int sexp) (int (+ (int sexp) (int 1)))) 07:43:32 Yay, overdoing type systems! 07:43:36 why would i do that? 07:44:04 Because a language must be worthy of the term "WTF" before it can be a language. :p 07:44:19 that sounds pretty sexp to me 07:45:03 * oerjan updates wikipedia's Look and Say Sequence article to mention Conway's "elements". 07:46:06 sexp!4++; 07:46:08 they are really the key to understand why the polynomial arises, although i don't explain _that_. 07:52:31 apparently you can do something similar but much easier with the binary version (easier because every 0 ends an "atom") 07:53:10 hehe, zero-terminated arbitrary numbers :D 07:53:23 i mean, every 0 followed by a 1 07:54:05 Quick, dial 11111111101010! 07:54:52 fibonacci numbers are also self-terminating i think, but more efficient 07:55:07 *fibonacci base 07:56:03 er, i mean you just add a 1 at the end 07:56:14 because 11 doesn't occur internally 07:57:08 gonna get off now for food, cya 07:57:51 -!- GreaseMonkey has quit ("I'm the world's fastest idiot!"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:16 -!- bsmntbombdood has quit (Remote closed the connection). 08:04:20 -!- bsmntbombdood has joined. 08:07:26 puts [set me::state $::human::states::sleepy] 08:08:00 [drink you coffee] 08:08:40 puts [expr {$::me::coffee == $::item::have}] 08:08:47 stdout: "FALSE" 08:09:12 stab your foot 08:44:12 stdio.StdOut.writeln("lawlehcoptah"); 08:44:47 roflbrothel!! 09:59:39 -!- oerjan has quit ("leaving"). 10:18:30 -!- GregorR-L has quit ("Leaving"). 10:22:40 http://www.codu.org/cmh/ 13:04:04 -!- Asztal has quit (":o"). 13:48:21 -!- jix has joined. 15:14:50 -!- bobbens has quit ("Lost terminal"). 15:36:10 yay, democracy FTW! http://en.wikipedia.org/wiki/Cleanfeed_(content_blocking_system) 15:36:42 Oh, BTW people, I managed a lucid dream. 15:36:43 Yay! 15:36:54 I didn't do anything sensible though. 15:37:20 I just ran for a short time, then flew, then woke up due to high heart rate. 16:42:26 -!- sebbu has joined. 17:03:51 -!- crathman has joined. 17:06:11 lol@BB! 17:06:17 http://www.theregister.co.uk/2007/06/07/big_brother_eviction/ 17:06:27 woman says "nigger"; gets kicked out 17:44:36 anyone here who hasn't seen this yet ought to: http://worsethanfailure.com/Articles/OMGWTF-Finalist-08-Universal-Calculator.aspx 17:44:49 You just go WTF WTF WTF 17:47:42 that's beautiful 17:48:28 did you try a multiplication? 17:48:55 The little icon in the taskbar pops up a baloon to tell you it's finished! 18:03:31 -!- oerjan has joined. 18:31:06 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131211, 13211311131221 18:31:06 11131221133113112211 18:31:16 i'm pretty sure i'd never have figured that. 18:37:52 -!- crathman_ has joined. 18:38:31 -!- crathman_ has quit (Remote closed the connection). 18:40:25 -!- crathman has quit (Read error: 110 (Connection timed out)). 18:53:56 oklopol: the trick is to have seen it before 18:54:41 heh 19:10:26 indeed, though i don't understand how i could be so blind 19:10:26 if you say it out loud, you can't miss it 19:10:26 unless retarded 19:10:26 why didn't i try that? 19:10:26 <- dumb 19:10:26 usually i think it is because you have some faulty assumption about what it must be 19:10:26 true, it looked familiar 19:10:26 it looked like one where you reverse the string 19:10:26 but, that had no relation, so i didn't get it 19:10:26 01101001100101101001011001101001 19:10:26 ... 19:11:29 22 19:12:02 hmm 19:12:04 huh? 19:12:35 now that i decoded that binary with python, i'm pretty sure one of the two of us failed miserably :< 19:12:36 (that's supposed to be the start of an infinite sequence of bits) 19:12:41 oh 19:12:49 then perhaps neither 19:16:31 (in a predictable pattern) 19:17:54 oerjan: that's a cute sequence 19:19:01 ...1001011001101001011010011001011001101001100101101001011001101001 19:19:33 ah, yeah... 19:19:41 that one 19:19:49 I also invented that as a kid 19:20:12 repeatedly? 19:20:24 huh? 19:20:35 -!- c|p has joined. 19:20:53 The "also" applied to the "I" not the "invented". 19:22:50 lament: your sequence is wrong from index 65 19:23:22 probably typo 19:24:02 no, your bits are switch 0-1 19:24:08 *switched 19:24:46 oh, in that case your short sequence simply doesn't give enough information 19:24:53 here's mine, from the beginning: 19:24:55 0110100110010110100101100110100110010110011010010110100110010110100101100110100101101001100101100110100110010110100101100110100110010110011010010110100110010110011010011001011010010110011010010110100110010110100101100110100110010110011010010110100110010110 19:24:59 etc 19:25:04 (no typos) 19:25:45 now, if my sequence has a simpler generating rule, i win :) 19:26:19 that one was correct, you must have made a cut/paste error in the first 19:26:24 oh, okay. 19:27:14 i suppose it's a nature of this sequence that a cut-paste error leads to effects like "all bits being reversed" 19:27:49 indeed 19:29:06 btw it's called the Morse-Thue sequence 19:34:35 let { foo = "0" ++ (tail $ concat [if c == '0' then "01" else "10" | c <- foo]) } in foo 19:35:38 OTOH, I think there is a log-space stream generator 19:36:30 i suppose, based on something like the parity definition in the MathWorld article 19:36:57 http://mathworld.wolfram.com/Thue-MorseSequence.html 19:40:12 SimonRC: that's not my rule... 19:40:38 -!- mangatiga has joined. 19:40:49 let parity 0 = 0; parity n = (parity (n `div` 2) + n `mod` 2) `mod` 2 in concatMap show $ map parity [0..] 19:41:05 wow 19:41:11 those rules are way too complex. 19:41:28 that one is log-space i hope 19:41:56 my rule: start with '01' 19:42:19 then take the existing string, split it into two equal halves, swap them and put the result after the existing string. 19:42:37 each operation grows the string by a factor of 2. 19:42:53 there are several ways of producing this :) 19:43:03 i like mine :) 19:44:15 (well maybe the parity function is not quite logspace as written) 19:44:33 i mean linear 19:44:39 not only my method is the best but the mathworld page doesn't mention it 19:44:50 or maybe i just don't notice it there. 19:46:35 your method corresponds to the substitution method done inside out 19:48:10 as in, assuming the two halves were generated from 0 and 1 respectively, what would the next step 0110 generate 19:49:46 but the two halves weren't generated from anything 19:51:02 01101001100101101001011001101001 << this one i actually cracked! :) 19:51:07 another way, but which can only create every other step: if s is your string, use s ++ reverse s ++ reverse s ++ s 19:51:56 oklopol: good :) 19:51:58 yeah. 19:52:16 only works for the assymetric steps 19:53:22 lament: the two halves would be what the substitution method generates in n steps, it is a way of deriving your method from the substitution method 19:54:06 -!- GregorR-L has joined. 20:03:13 I just tested (for the first time) my library for non-Euclidean game terrain. 20:05:08 hideously non-Euclidean? 20:05:22 http://www.choosemyhat.com/ 20:06:41 you actually bought that domain? o_O 20:09:40 those are cheap 20:10:10 we bought a .fi, and even that was < 100 20:18:55 non-euclidean? 20:22:55 oklopol: <100 whats? 20:25:54 Err, I'd say <<100, not just <100. .fi domains are 48 EUR per three years, which means 16 EUR/year. Not as cheap as com/net/org, but still. 20:34:48 h-t-t-p-colon-slash-slash-slash-dot-dot-org 20:34:48 oerjan: yes, hideously 20:34:48 You can even have flips, giving a set-up like a Möbeus strip 20:34:48 but each rectangular patch of terrain must only connect to each other patch in one way, and never to itself, so some really twisted things can't be done. 20:35:34 i.e. you have a graph of blocks of terrain 20:37:14 vim has cool undo 20:40:54 bsmntbombdood: if you delete something, write something else and then discover you didn't want to delete anyhow, you can undo, yank what you deleted, redo what you wrote, then paste 20:41:32 is there a special way to yank what you deleted? 20:41:44 no, just ordinary yank 20:42:40 of course if the original delete was with a single command you may still have it in the yank buffer automatically 20:43:20 er, i vaguely recall that there are rotating yank buffers as well 20:45:10 oklopol: <100 whats? <<< cash tokens. 20:46:30 right, the numbered registers 21:00:08 me is just learning 21:00:43 does a stack based copy paste exist in any form? 21:01:52 the registers 1-9 behave as a stack 21:02:13 not very deep... 21:03:22 popping pastes wouldn't be very usefull, because you could only paste once 21:04:48 right, behave as a stack on pushing. on pasting you use "1p - "9p, i suppose 21:04:58 yeah 21:05:42 you could have top and pop separate 21:06:30 okloOS has this a native feature, it's very great in my head, though i'm not sure if it'll look exactly like that when i implement it... 21:06:36 i mean, overall 21:06:44 hmm 21:06:58 context switch 21:07:00 -> 21:40:52 -!- oerjan has quit ("Good night"). 21:52:23 -!- jix has quit ("CommandQ"). 22:00:16 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 22:29:00 -!- c|p has quit ("Leaving"). 23:05:27 all the binary LaSS numbers are odd 23:06:43 actually, the LaSS numbers in any base are odd 23:07:23 how can a number be odd in any base? 23:07:32 oh wait 23:07:37 what does that even mean? 23:07:51 what does "odd in base n" mean? 23:08:06 odd means not divisble by 2 23:08:19 right 23:08:24 so it doesn't depend on the base... 23:09:08 the LaSS numbers do depend on base 23:10:37 err, not base 3 23:17:12 -!- c|p has joined. 23:18:26 err 23:21:47 not quite 23:22:51 the last digit is always theinitial value 23:26:21 -!- sebbu has quit ("@+"). 23:36:11 -!- GregorR-L has joined. 23:38:21 -!- wooby has joined. 23:45:44 -!- wooby has quit. 2007-06-08: 00:01:23 http://www.choosemyhat.com/ is now officially live 00:02:52 guess i'll design you a schedule then 00:03:46 * oklopol chooses the boring ones to leave the good stuff for later 00:04:45 now back to my ...thing -> 00:04:59 i has no thing 00:56:11 i hate writing long stories, i can't handle complex plots and i have a very intense imagination: very bad combination 00:57:25 long == 15 pages or more for me, i usually write even shorter ones. 01:21:08 -!- RodgerTheGreat has joined. 01:21:27 how's it going, everyone? 01:21:43 well, well 01:21:54 hi, oklopol 01:21:59 hiii 01:22:51 * oklopol is writing a story about a bunch of lunatics that are soon to be killed 01:23:29 sounds somewhat interesting 01:23:42 what inspired your literary efforts? 01:24:59 www.vjn.fi <<< i'm a month behind 01:25:29 my 1½ week trip to germany killed our article-per-day project for a while, i'm catching up now :) 01:26:14 haha 01:26:17 we started right after last summer, there's also another almost 3 month gap because of pure laziness 01:26:46 we had a group of 5 ppl deciding each writes 1-2 articles a week 01:26:54 I've been spending the summer doing some coding on an RPG game engine- do you have a java plugin for your browser? 01:26:59 but turned out only 2 of us would actually write anything :) 01:27:11 i might. 01:27:14 ::) 01:28:25 well, if you in fact do, take a gander at the demo I have online at the moment: http://rodger.nonlogic.org/games/CRPG/ 01:28:41 some aspects of it (like going through doors) are buggy, but it's a work in progress. 01:28:49 many interesting things work well already 01:30:33 i guess i'm installing a plugin now 01:30:46 haha- ok, then 01:30:56 or downloading something completely irrelevant, we'll see in a minute 01:31:15 what's a .bin? :) 01:31:23 * RodgerTheGreat shrugs 01:31:30 oh 01:31:38 i assumed it's something everyone knows 01:33:20 possibly a binary file of some kind? 01:33:26 possibly. 01:33:32 i wonder what to do with it... 01:33:41 why can't programs install themselves... 01:33:43 :< 01:34:03 long time no see, RodgerTheGreat 01:34:50 GregorR-L: oh no you have a tie for tommorow 01:34:51 Is it next to a .cue? 01:34:59 hi, bsmntbombdood 01:35:03 bsmntbombdood: Read the FAQ :P 01:35:06 bsmntbombdood: I am the tiebreaker. 01:35:14 hi all 01:35:20 i would hope so 01:36:14 oklopol: Is it next to a .cue file? 01:36:31 errrr no 01:36:42 Then it's a binary of some kind :P 01:38:01 hmm.... there was, like, this button that said "install plugin"... so i pressed it (even though it didn't blink) and it said something about not being able to do something and i have to do something manually and i found myself on a page with linux penguins and a list of files ot dl 01:38:13 so... naturally i clicked on a random link 01:38:47 lol 01:38:50 i'm pretty sure you can advise me based on that. 01:38:52 :) 01:38:56 okay, coffee time... 01:39:11 Then it's probably a binary. 01:39:19 chmod 0755 it, run it, and watch it reformat your hard disk. 01:39:49 Also, if that's the flash player, just use the RPM (+alien on non-RPM platforms) 01:41:05 oklopol: what linux distro do you run? 01:41:07 chmod 0755? 01:41:09 ubuntu. 01:41:23 and i have no idea about _anything_ 01:41:56 n00b? 01:42:03 yes. 01:42:32 in pretty much anything regarding software someone other than me created 01:42:37 GregorR-L: this could be big 01:42:58 oklopol: this may solve your problem: http://linux.about.com/od/ubuntu_doc/a/ubudg22t8.htm 01:43:49 bsmntbombdood: digg it :P 01:44:03 oooh good plan 01:44:15 bsmntbombdood: I'll add a "digg this" button if you give me the HTML. 01:44:18 I don't have a fegging clue with digg. 01:44:19 except i am not able 01:44:22 X-P 01:44:25 me neither :) 01:44:51 RodgerTheGreat: i might have a faint idea what it says there... but let's not get our hopes up 01:44:55 * oklopol tries 01:46:28 oaky, too hard. 01:46:45 i should install a brain first 01:49:13 but that'd be like dl'ing winzip in a .zip-file 01:49:15 of course 01:49:38 (real-life example) 01:53:41 It's almost like having GCC in C, or tar in a tarball, or Make with a Makefile. . . 01:54:09 yes, but are those ever officially distributed like that? :) 01:54:21 Um, yeah. 01:54:23 gcc 01:54:31 oh :| 01:54:34 and tar 01:54:38 i guess that's sensible in some way 01:54:44 GNU Make actually depends upon Make, automake, autoconf, etc. 01:54:44 and make, probably 01:54:47 though i don't know the way 01:54:49 GCC is in C, tar is in a tarball but also has a sharball, and make is distributed with an sh script as well. 01:55:20 Of course, if you don't *have* those, the method of installation you have remaining involves bootstrapping a build environment. . . 01:55:26 GregorR-L: Oh, make has a .sh? Didn't know that.\ 01:55:44 Likewise, didn't know that tar had a shar of it. 01:55:59 http://ftp.gnu.org/gnu/tar/tar-1.16.1.shar.gz 01:55:59 i don't know about those, but at some point winzip was ONLY distributed in .zip-format on the official page 01:56:14 There's a non-gzipped version of that too :P 01:56:14 i had to install pkunzip to get it open 01:56:20 What's the point of a *compressed* shar? If you don't have tar, you probably don't hbave gzip. . . 01:56:25 Oh, I stand corrected. 01:56:43 At that point, you do depend upon the shell. . . But if you don't have bash, you're kind of screwed. ;) 01:56:48 Heh 01:56:59 yeah, how do you make bash? :P 01:57:09 bsmntbombdood: Bootstrap the system. 01:57:29 what do you mean? 01:57:49 I mean, compile the whole OS from scratch. 01:58:04 Honestly, if you don't have a *shell*, you don't exactly *have* an OS. . . 01:58:49 Hmm. There's not an uncompressed shar of tar that I can find on ftp.gnu.org 01:59:05 how do you compile the os without making gcc? 01:59:17 That is, not the latest. 01:59:58 http://ftp.gnu.org/gnu/tar/tar-1.13.shar 02:00:00 Oh 02:00:03 Right, not the latest. 02:00:39 bsmntbombdood: Well, at *that* point, you either use a boot disc to build your toolchain, or (if you're making the toolchain for an arch that doesn't have any one yet) you write by hand a basic C compiler in assembly. 02:00:55 (although you'd be best off just making a damned cross-compiler) 02:00:55 how do you make the assembler? 02:01:15 You make it on a different computer. 02:01:21 In hex. 02:01:23 One which *has* a tool-chain. 02:01:29 how do you make it on that one? 02:01:40 Since it has a tool-chain, you can just use C. 02:01:41 haha 02:01:47 The absolute, basic bootstrapping occurred decades ago. Now, everything has been bootstrapped. 02:02:05 Now it's a matter of just doing bootstrapping from a different working system. 02:02:40 If you *insist* on doing the basic bootstrapping, you need to start with a system where you can input the individual bits yourself, and go up from there. 02:03:02 hmph, GregorR-L prevented further "why" trolling quite meanly :< 02:03:30 ? 02:03:34 * pikhq thinks. . . Perhaps a ROM-chip emulator with a few thousand toggle switches and the Intel docs? 02:03:51 you can't input bits without an os on any arch i know 02:03:58 bsmntbombdood: Toggle switches. 02:04:27 GregorR-L: it was a nop. 02:04:32 forget it 02:04:36 me continue -> 02:04:44 pikhq: they need drivers 02:04:47 Hell, if you don't want to get your x86 board to accept toggle switches, *obviously* you go ahead and get an older PDP-11. 02:05:04 you know where i can get one of those? 02:05:23 bsmntbombdood: What, attaching a bunch of toggle switches in a way that emulates the *initial* *boot* *ROM* requires drivers? 02:05:24 I swear I will kill you all :P 02:05:37 What if you're in a universe with no matter? How do you compile your GCC? 02:05:52 How the hell does a BIOS boot if you need drivers from the BIOS to boot the BIOS? ;) 02:06:00 what compiled the universe? 02:06:10 GregorR-L: Obviously you ask God. 02:06:43 And don't ask where God came from. God is the initial bootstrapper. ;) 02:06:45 my computer doesn't have to switches :( 02:06:49 "LET THERE BE... oh, fuck. hold on, lemme find a repo with the packages I need for this thing..." 02:07:24 bsmntbombdood: Yeah. . . You get a good hardware designer to make you a circuit board for the several thousand switches needed. 02:08:30 or you could just use 2 switches and do it serially 02:08:37 usually you just wire up a CPU to accept a byte at a time from switches and interrupts 02:08:51 that's how altairs and ELFs did it. 02:08:51 True. 02:09:53 or you could design some type of pegboard wire-crossing ROM thingy like they had on the EDSAC with a bootloader that can read in an OS from tape, which actually is a pretty convenient solution. 02:10:11 The obvious solution, though, is to write a C compiler in Brainfuck, get a friggin' huge notebook, and hand-run your C compiler, and then use that switch setup to set it up in your computer. 02:10:42 LOL 02:10:59 fuck that- if I'm punching something into a computer via dipswitches, I'm damn well going to hand-optimize the code in machinecode. 02:11:17 computer scientists were hardcore like that, back in the day. 02:11:26 it would be fun to do 02:11:27 Now they're all fucking pansies. 02:11:30 RodgerTheGreat: Fine, then. Get your IA-32 docs, and start hand-compiling that C code. 02:11:46 can't one say anything here without it resulting in a very sick conversation :) 02:12:03 And no, I'm not printing out the LFS source code for you. 02:12:10 Hire Kinko's to do it. :p 02:12:19 C is worthless when your RAM wordcount is in the sub-1000 range and you brag about having a 40k drum memory. 02:12:21 LFS? 02:12:27 (*Or* you could buy a copy of Minix) 02:12:34 bsmntbombdood: Linux From Scratch. 02:12:38 oh 02:12:54 Minix, IIRC, has full annotated C code for it in the book. 02:12:56 machinecode is where it's at with anything that uses mercury delay-line registers. 02:13:14 that was written with a computer, no fair using it 02:13:16 RodgerTheGreat: We were discussing bootstrapping on x86, last I checked. 02:13:49 I'm discussing coding for an EDSAC. 02:14:26 * RodgerTheGreat laughs a bit at saying *an* EDSAC 02:14:30 Fine, if you care about it being written with a *computer*, I'll get you the blueprints for a Z1 02:14:36 oh, sweet 02:14:51 hot damn http://en.wikipedia.org/wiki/Image:Mercury_memory.jpg 02:14:55 I can see if raul rojas was really on to anything with his TC proof 02:15:00 Sorry. I'll give you a Z3. 02:15:03 i browsed through minix source code once, i wonder if anyone ever actually benefits from printed 300 pages of source... 02:15:11 The Z1 was just a floating point calculator; the Z3 was the TC one. 02:15:26 ah, good- the memory is more reliable on the Z3, too- relays > pure mechanical 02:15:40 the z1 had a lot of mechanical deadlock problems 02:16:04 bsmntbombdood: like I said, computer scientists were hardcore back in the day. 02:16:05 Of course, I could also get you an Analytical Engine. 02:17:11 the analytical engine had a rather unconventional means of flow control- it only expresses a vague programmability 02:17:30 possibly TC, but I don't know. 02:18:40 Tell you what- gimme a manchester Mark 1. 02:19:03 oh my, 64 22-bit words 02:19:20 The Analytical Engine is the *first* Turing complete design. 02:19:57 and only 100kg! 02:20:03 *1000kg 02:20:16 hmm... i wonder if bees get angry if you hit them with a book and they do not die 02:20:48 RodgerTheGreat: You sure you want a Mark 1? 02:20:52 I'm fairly familiar with it, but the Z1 represents a much more... tangible... contribution to computation history. As Steve Jobs once said, "real artists ship". 02:21:14 The Mark 1's not even TC. . . 02:21:16 pikhq: why not? It has *blazing* CRT-based RAM! 02:21:50 crt ram!?! 02:22:27 bsmntbombdood: Yeah; has to be refreshed periodically, so the bits don't go out of the phosphor. 02:22:43 how do you read it? 02:23:18 Obviously with a bunch of photoelectric cells. 02:24:22 http://en.wikipedia.org/wiki/Williams_tube Never mind; they read it differently. 02:24:26 the nice thing about a mark 1 is that it consists of only a handful of racks, so it can be moved from place to place with a few trucks, fit through doors, and can be set up in an average sized room. 02:25:26 wonderful 02:25:30 yeah 02:26:19 pretty reasonable memory and storage capabilities, too 02:27:07 the Z3 is a nice machine, but TC is very nontrivial and mechanically unfeasible, for the most part. A Z4 could be pretty cool, though. 02:27:13 The Z3 could be moved with just one truck-load, I think. . . 02:27:30 mmm. relay-based computing makes me feel all warm inside. 02:27:33 A Z4 would take a few. 02:27:57 you could use relays for ram, no? 02:27:58 the z1 and z3 are fairly compact, but too wide to fit through conventional doors, and difficult to disassemble. 02:28:13 bsmntbombdood: Certaintly. 02:28:22 bsmntbombdood: that's what the z3 and z4 did. 02:28:34 All of the z3 and z4 is done in relays. 02:28:39 that's hot 02:28:51 probably literally 02:29:34 and running programs gives a beautiful cascade of clicks 02:30:04 want 02:30:05 wow- I hadn't heard of this russian beauty: http://en.wikipedia.org/wiki/Strela_computer 02:30:22 i want to build one now 02:30:28 * pikhq votes for building a z3 with solid-state relays, just to annoy Rodger. :p 02:30:29 :3 02:30:40 <:[ 02:30:41 how much do you think 2000 relays cost? 02:30:49 why are you so cruel, pikhq? 02:31:02 bsmntbombdood: lots, unless you find a bulk supplier 02:31:12 bsmntbombdood: z3 or z4? 02:31:18 neither 02:31:28 oh, just a relay based computer? 02:31:32 yeah 02:31:34 kewl beans 02:31:34 Or pick up relays from an *old* phone system. . . 02:31:48 we can design our own 02:32:18 True. 02:32:19 http://web.cecs.pdx.edu/~harry/Relay/ 02:32:25 we want to use small voltage ranges so that we can keep the machine small and the cost low. 02:32:50 GregorR-L: I've seen that machine before- quite an accomplishment 02:33:01 pdx.edu == my school ;) 02:33:13 GregorR-L: Cheating. I see an IC. 02:33:19 bsmntbombdood: I recommend designing some relay-based logic gates first, as practice 02:33:28 yeah :D 02:33:39 pikhq: the IC is ram, which is actually what makes it awesome 02:33:59 32k = virtually limitless possibilities 02:34:49 So. . . RAM is IC, registers are relays, *and* the ALU is in relays? 02:34:52 Damn, that's sexy. 02:35:12 I do concur. <3 02:35:20 IC = lame 02:35:23 we can do better 02:35:48 bsmntbombdood: well, relays make RAM expensive and large. so we need an alternate solution... 02:36:03 bsmntbombdood: 32K of relay RAM?!? 02:36:07 don't trade awesomeness for practicality 02:36:20 possibly punchcards or tape as a large storage base with only limited onboard RAM? 02:36:48 -!- c|p has quit (Remote closed the connection). 02:36:55 http://web.cecs.pdx.edu/~harry/Relay/SoundOfRelays.mp3 02:37:07 if the program runs directly from tape (and is obviously in a loop that can halt), we could get away with a very small number of registers. 02:37:51 I'm imagining something like a pure-relay version of the Z3 with a conditional jump-forward command. 02:38:12 what do you guys think of that? 02:38:13 i'm going to see if i can figure out some basic gates 02:39:21 probably throw in a true "halt" instruction too, so you don't have to rely on arithmetic exceptions. 02:40:20 what's Four-Pole-Double-Throw? 02:40:34 erm 02:40:43 do you know anything about switches? 02:40:53 the turn things on and off 02:41:00 SPST = single pole, single throw. 02:41:19 single pole means you're opening and closing one switch at a time, basically 02:41:33 wait, I'm backwards 02:41:45 single throw means one switch at at time. 02:42:00 argh 02:42:21 Is it a bad sign when you fall in love with a machine? 02:42:32 no 02:42:34 no. never. especially not when it has clicky bits. 02:42:56 Good. . . 02:43:04 and if it's TC, you're only required to avoid making out with it in public. 02:43:13 bsmntbombdood: http://en.wikipedia.org/wiki/Switch#Contact_arrangements 02:43:24 Fine, then. I'll be sure to get a room. 02:43:29 thanks 02:43:52 Although I don't think my girlfriend would appreciate me cheating on her. . . 02:44:09 Especially not when it's a clicky machine. . . :) 02:44:29 Looks like I'll be wearing my red fedora tomorrow. 02:44:50 just tell her that if she wants to win you back she'll have to learn to talk dirty in machinecode. 02:44:52 so, Four-Pole-Double-Throw means it has 4 different SPDT switches? 02:45:04 that are mechanically linked 02:45:05 yes 02:45:17 so, if one is ON, all are on. 02:45:26 right 02:45:29 like how a DPST does it with two 02:45:31 exactly 02:45:42 GregorR-L: You might want to check again. 02:46:30 Looks like I'm still wearing the red fedora :P 02:46:45 have any of you guys read "The First Computers: History and Architectures"? 02:47:12 * pikhq does a vote-- on the fedora. :p 02:47:38 it's one of my favorite books of all time, because not only does it discuss early machines, it often has schematics, specs, instruction sets and machinecode examples. :D 02:48:01 and most of the articles are written by the people that *created* the machines in the first place 02:48:03 pikhq: By the way, I wore the Pakul on Wednesday, so I'm not wearing it on Friday even if it wins. 02:48:05 RodgerTheGreat: Oooooh. . . I need that. 02:48:29 GregorR-L: Yeah, yeah. . . Just messing with ya. ;) 02:48:52 http://www.amazon.com/First-Computers-History-Architectures-History-Computing/dp/0262681374/ref=sr_1_22/102-0916127-5584141?ie=UTF8&s=books&qid=1181267279&sr=8-22 <- absolutely fucking awesome 02:49:26 NOT is easy, AND is easy 02:49:58 XOR is a trick, but useful as hell 02:50:10 NAND and you wins. 02:50:11 Now you've got NAND, and I believe you can make every gate from NANDs. 02:50:19 That is truth. 02:50:21 yep 02:50:38 but it's much simpler to build the other gates too 02:50:44 s/simpler/more efficient/ 02:50:46 Of course, creating that many NANDs could be painful for a relay-based system. 02:51:17 and it's best that you optimize your NAND gate as a single circuit rather than tying a NOT to an AND 02:51:36 True. 02:51:50 The point is that you can, not that it's a good idea. ;) 02:52:08 and when you get to actually implementing the system, always start with a truth table and simplify, simplify, simplify 02:52:22 how do you do xor? 02:52:27 pikhq: yeah, I understand- your point was just about it in a theoretical sense 02:52:55 * pikhq used to have a list of gates done in NAND. . . I was bored in a computer class. Very bored. 02:53:00 1,1:0 1,0:1 0,1:1 0,0:0 02:53:03 This was, of course, before I learned Brainfuck. 02:53:16 is that clear enough, bsmntbombdood? 02:53:36 i know what xor _is_ 02:53:40 lol 02:54:01 if you're having trouble with it, see if you can figure out the inverse and then NOT it 02:54:06 The Tam just took a term for the better. 02:55:37 Erm 02:55:39 "turn" 02:56:07 oh, i got 02:56:14 it takes 3 relays though 02:56:15 currently, the favorite books I have on my shelf are "Programming the IBM Personal Computer: BASIC", "The First Computers: History and Architectures", "Snow Crash", "The Salmon of Doubt" and "Understanding Comics" 02:56:58 I see you've got pretty good taste. 02:57:09 (^ _ ^) 02:57:25 oh yeah? well i've got "The ibm personal computer made easy" 02:57:41 * pikhq needs to find his Apple II 02:57:51 and I'm using a copy of "The C++ Programming Language" to hold up my monitor. 02:57:55 (ain't every day you find a 17 year old saying that) 02:59:01 * pikhq used to have a list of gates done in NAND. . . I was bored in a computer class. Very bored. <<< we do that stuff in the university \o/ 02:59:06 after about 20 pages of stroustrup creaming himself over the brilliance and elegance of his horrible little language, I gave up on that book and repurposed it. 03:00:27 (of course you might be there already) 03:00:27 oklopol: I'm in high school right now. 03:00:27 I did that my freshman year. 03:00:43 college is going to suck 03:00:44 my point was: we don't, not in the school 03:00:48 I'm slowly getting to the point where university CS courses are teaching me new things. Freshman year was more or less a wash, but I did learn a few new ideas in Data Structures. 03:01:06 if i even get in 03:01:23 For me, my freshman year will probably be boring. . . 03:01:30 Once I get "Software development in C/C++" out of the way I start being able to take the fun classes, which is why I'm taking it now during the summer. 03:01:39 i don't think i've learned anything but german and swedish in my whole school time 03:01:57 pikhq: I'd highly recommend taking the AP CS test, even if your school doesn't offer it. 03:02:15 Brush up on java for a few days and you can ace it no problem. 03:02:16 RodgerTheGreat: Yeah, I've been thinking about it. 03:02:17 the AP CS test is a joke 03:02:21 I'd highly recommend not taking the AP CS test. 03:02:26 Since no school accepts it. 03:02:36 I haven't taken it, but i've looked at it 03:02:39 GregorR-L: MTU sure as hell did. 03:02:46 It'll largely depend upon whether or not my school of choice does take it. . . 03:03:06 If it doesn't, screw it. I'm not wasting my money, and I'm not tainting my brain with Java. ;) 03:03:33 I did the AP CS A test in C++, and the AP CS B test in Java. 03:03:37 I sense fear that you will enjoy Java. 03:03:38 Because I'm brilliant that way. 03:03:57 when I took it, everything was done in Java. 03:04:18 Presumably you took it more recently than I did 03:04:24 I had about 2 weeks of java coding under my belt at the time and didn't know half a shit about OOP, and I still got a 5 on it. 03:04:26 They switched it over between when I took the two. 03:04:29 this was about 2 years ago. 03:04:36 *Why* can't they still do C++? 03:04:50 pikhq: It's not proprietary enough :P 03:04:55 why can't the use a decent language? 03:04:57 GregorR-L: Nor is Java. 03:05:02 pikhq: because over 80% of CS curricula in universities are based on Java. 03:05:08 (OK, I know, I'm not being fair, Java is now somewhat F/OSS) 03:05:13 PSU == C++ still 8-D 03:05:19 RodgerTheGreat: whhhhhhy 03:05:25 RodgerTheGreat: Then I'm lucky that the ones I've looked at are the 20% that aren't Java. 03:05:52 bsmntbombdood: Pain, agony, sorrow, not teaching malloc. 03:06:26 how can you not know manual memory allocation? 03:06:40 (to be fair, doing malloc and such the *right* way does take half a brain, which the average CS freshman doesn't have, if the course material is anything to judge by) 03:06:48 bsmntbombdood: Simple. 03:06:50 because it's much, much more *consistent* than C or C++, for all it's faults. The vast majority of the work of learning C and C++ is learning all the "gotchas" and exceptions, rather than learning to program. In most CS courses, they're more concerned that you know how to conceptually use a linked list and manipulate it in algos than how to manage the memory behind it. 03:06:52 Use Java. 03:07:18 RodgerTheGreat: scheeeemeee 03:07:18 It's consistent because it's lacking. 03:07:36 Note that it's consistently getting less consistent ^^ 03:07:46 At MTU, we do what I feel is a pretty good balance of both worlds- all introductory courses use Java, then you're required to learn C and C++, and then you use whatever the hell you want. 03:08:10 * pikhq should look into MTU, just for the sake of doing Java->C->Brainfuck. 03:08:42 GregorR-L: you could argue that the loss of consistency stems from the pressure of C coders that whine about lacking features like operator overloading. 03:08:47 And I have no idea why struct foo *Java has a member struct foo *C, nor do I know why struct foo *C has struct foo *Brainfuck. 03:08:57 RodgerTheGreat: That's C++ :P 03:09:01 RodgerTheGreat: C doesn't. ;) 03:09:39 And really, there *are* cases where operator overloading makes sense. 03:09:45 yeah 03:09:47 by "C programmers" I mean "C and C++ programmers", because as far as I'm concerned C++ is just a sloppy mess tacked on to the actual language C. 03:09:48 Such as GMP. 03:09:50 * GregorR-L <3 Smalltalk 03:10:05 C++ is quite a mess, yes. 03:10:10 But Java is a horrible overreaction to that. 03:10:14 RodgerTheGreat: No, C++ is a sloppy mess tacked onto a slightly disabled C. 03:10:20 X-D 03:10:26 C isn't disabled 03:10:40 bsmntbombdood: No, but the common subset supported by C++ and C *is*. 03:10:41 bsmntbombdood: You don't speak English, do you? 03:10:54 Java has a consistent design that doesn't factor in things like operator overloading, and every feature like that erodes the integrity of the design. It's just standard-rot. 03:11:01 only a little 03:11:41 Smalltalk. 03:11:43 RodgerTheGreat: Java has a consistent design that was made by people who never seem to value their ability to code for more than an hour. 03:11:43 Smaaaaaaaaaaaaalltalk. 03:11:50 Smaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalltalk. 03:11:58 GregorR-L: I've heard good things about it, but never coded in it. 03:12:30 but back on the topic of pikhq using something like BFM for homework- it'd be totally acceptable (in the compiled form of C code) for most homework, but if it has a bug, he's probably going to get a zero, because the grader will want to die when he looks at it 03:12:54 I think you missed my rename of BFM. 03:13:00 clearly 03:13:27 BFM is now PEBBLE: the Practical Esoteric Brainfuck-Based Language, Eh? 03:13:41 creative. 03:14:01 * RodgerTheGreat debates actually completing an interpreter for Lojo. 03:14:01 And the C backend has been made to be damned efficient. . . 03:14:19 Ooh. I just got a wonderful, horrible idea. 03:14:24 Yeah? 03:14:33 I'll implement Lojo in C. 03:14:40 not just any C though... 03:14:57 horrifically obfuscated and mangled C. 03:15:11 that's the best way to go 03:15:21 * RodgerTheGreat begins happily drafting an esoteric C coding style doc. 03:16:46 ground rules: no globals, no functions, no for loops, no header files, and as many things as possible rolled into oneliners. 03:17:07 those principles *alone* should be enough to create some monstrosities. 03:17:17 no functions? 03:17:20 :| 03:17:29 excepting main, of course 03:17:38 sooooo jsut while? 03:17:41 jsustu 03:17:59 let's take it a step further and outlaw select structures, in case anyone feels like being a wiseass. 03:18:06 oklopol: yeah 03:18:21 i kinda like functions :< 03:18:27 if C had better support for labels I'd strip out everything but IF...THEN. 03:18:38 i had a verrrry sick idea for an rpg using c and function pointers 03:18:48 it's sad how crippled C's goto is. the poor thing... 03:18:58 hm 03:19:07 but it was too sick for me back then 03:19:14 that is correct- function pointers can lead to hilarious hijinx. 03:19:39 and let's not forget excessive use of recursion. 03:19:45 ok, ok- functions are back in. 03:21:04 what's wrong with c's goto? 03:21:28 bsmntbombdood: it's so... so weak compared to the GOTO of BASIC. 03:21:39 my idea was to encode the game in a big array of functions... each representing a room, and it'd reorder itself somwhat randomly like in that one boardgame 03:21:54 doesn't seem like there's much to a goto... 03:22:05 it's more of a vestigal appendix to the language, while BASIC uses it is a glorious multifunctional tool 03:22:09 *uses it as a 03:22:42 what's that mean? 03:23:19 computed jumps, oklopol. computed jumps. 03:23:41 what can you compute? 03:24:20 the beautiful thing about BASIC is that everything boils down to IF, THEN, LET and GOTO. 03:24:43 please boil out the difference :> 03:24:44 :< 03:25:46 hmm... i wonder if i could just skip a night's sleep without additional sleep tomorrow night... thazz rare 03:25:46 and IF and THEN can often be simulated with LET and GOTO, actually 03:26:08 oklopol: your REM cycles will catch up with you, one way or another 03:26:44 i guess 03:27:14 alright, screw Lojo for the time being- I'm implementing a true Estoteric BASIC. I'll call it "BASICU" (Basic Unadvanced) for a playful jab at BASICA 03:27:39 unless one of you can think of a more interesting/pleasant/funny name off the tops of your heads. 03:28:18 ubasic 03:28:19 I'll just go for PRINT, INPUT, LET and GOTO as keywords, with the possible later addition of DIM. 03:28:27 (qbasic) 03:28:32 heh 03:28:44 i had a lang called trivial once 03:29:07 i used to code in qbasic 03:29:10 those were the days 03:29:14 it was string-based... i guess i didn't know about parsing back then 03:29:21 me too :) 03:29:24 i sucked :< 03:29:32 "MASIC: Masochist's All-purpose Symbolic Instruction Code" 03:29:40 heh 03:29:44 that's best of the 3 03:29:51 we keep getting better 03:29:56 who'll top that one? 03:30:26 PENIS: Programming for the Enlightened: the New Instruction Set 03:30:58 how long did that take you? 03:31:09 that's extremely entertaining, but the name might be too long. 03:31:11 hmm... okay, i made myself a big bowl of ice... now how the fuck do i eat it 03:31:14 X-D 03:31:16 ba-dum-tshh 03:31:27 oklopol: ice? 03:31:39 hard to explain 03:31:45 How to eat it: 03:31:47 1) Melt it. 03:31:50 2) Drink it. 03:31:53 it's a solid substance formed when water is made cold. 03:32:05 yuck, water 03:32:12 why are you eating it 03:32:13 ice, on the other hand <3 03:32:18 it's hot 03:33:17 * bsmntbombdood looks through a catalog for relays 03:35:36 aaaaaaaand i've got water in my lungs 03:35:45 god i'm great. 03:35:56 i'm looking at $3/each 03:36:04 check out major suppliers like digikey 03:36:20 oklopol: lol- good work there, cheif 03:38:28 what's a power relay? 03:38:34 hmm... i could make snow if i had a decent blender 03:38:41 because here's some for $.90/each 03:38:41 that'd be sweeeeeeeet 03:39:24 RodgerTheGreat: Looking way back at your discussion. . . 03:39:30 GNU C *does* have computed jumps. 03:40:08 __label__ foo, bar, baz; 03:40:20 Declaring those labels. . . 03:40:24 foo: 03:40:28 Defining the label. . . 03:40:29 but the *elegance* man, the *elegance*! 03:40:40 __label__ array[3] = {foo, bar, baz}; 03:40:46 There we go. An array of labels. 03:41:21 Err. Not quite. . . 03:41:48 GCC's documentation (section 5.3) describes it being different. 03:42:32 all these relays are expensive 03:42:59 bsmntbombdood: it's a sad truth of electromechanical components- they's pricey. 03:43:30 y'know, I once got in a huge argument as to wether or not BASIC had pointers 03:44:46 my take is that since PEEK and POKE can manipulate memory directly, and VARPTR() can get the location of a variable, you have all the capabilities of pointers with different syntax and effectively weak-typed pointer/integer mutability 03:45:20 This assumes that your BASIC implementation has PEEK and POKE. 03:45:33 peek(x) is effectively the same as *x in C 03:45:40 yes, naturally 03:45:53 the one I was using for my examples does, so it stands 03:45:54 i cracked my ice! 03:46:07 So, that doesn't work for BFBASIC. ;) 03:46:19 which is too bad. 03:46:33 if calamari was in here I'd suggest he use my ideas to make it happen. :) 03:47:20 uh, ice is pretty 03:47:22 <3 03:47:43 in the end, the argument devolved into my opponent telling me that since BASIC doesn't have structs, my examples were meaningless, which I find to be poppycock 03:47:47 choosemyhat.com is bettar! 03:48:13 BASIC doesn't have structs *directly*. 03:48:26 pikhq: my point exactly 03:48:27 However, using PEEK and POKE, you can simulate the effects. 03:48:40 what do structs have to do with pointers? 03:48:46 capability is largely independent from syntax 03:48:48 Or just use a nice naming scheme for variables. 03:49:09 bsmntbombdood: I guess he figured pointers aren't useful without structs? 03:49:29 Which is BS. 03:49:59 It's possible to simulate structs granted pointers. . . 03:50:05 Although it'll look horrid. ;) 03:50:27 a simple macro system will make that look ok 03:51:06 Y'mean the one BASIC doesn't have? 03:51:43 most BASICs lack a preprocessor 03:51:50 well 03:51:55 you could run basic through cpp 03:52:02 eesh. 03:52:19 why would you do such a thing? 03:52:51 i mean, the struct thing is something which does not require any weird stuff, just a few simple calculations for different fields of the struct 03:53:06 what i mean by a macro system is it's not something the language can't handle trivially 03:53:23 because it could be done with a text substitution macro system 03:53:35 if that makes any sence, call me lucky. 03:53:42 i can't really see the screen 03:56:16 *sense 03:56:16 oklopol: I understand what you mean- it's pretty much what underlies how C actually handles structs internally 03:56:16 pointers + offsets substituted in for variable names 03:56:16 yaya, triv as a tree in a pole 03:56:16 sounds pretty simple 03:56:16 i find that hilarious 03:56:16 i should sleep, prolyl 03:56:16 *prolly 03:56:16 in my favorite BASIC, Cbaspad, it's fairly trivial to do string manipulations on your own source 03:56:16 I ought to try that at some point. >:D 03:56:51 i've never really seen anyone use code manipulation done on plain source code 03:57:03 i mean, and archieving something by it 03:57:32 guess i have to admit i might have seen one but had no idea what i saw. 03:59:01 most of the time, it's really hard to do. 04:00:32 yeah... if you really do something you couldn't have done by changing the _parsed_ source, and still manage to do something, you're pretty sick 04:00:41 i want to make this computer 04:00:42 in Cbaspad, a program is loaded by line numbers and then initialized, executing stored instructions. Then, you can open the source itself as an input file, make modifications freely, and (using some tricky manipulations), get the program to reload the source without clearing variable contents and begin running again 04:01:06 and i can't imagine that being done but a few times, VERY carefullly planned for every bit of code where it's used 04:02:12 I think I love Cbaspad because I understand it more completely than any other non-esolang, and I feel I've pushed it to it's limit more than anyone else who's used it. 04:02:20 * pikhq shuts down 04:03:09 it's a very small, little-known language, which makes discoveries and demonstrations all the more special. 04:03:20 cooool 04:03:27 ice, yuum 04:04:26 oh, 6 am, i should wake ^ 04:04:34 i might code a bit 04:04:47 haven't programmed anything in about a week :< 04:05:02 except for random bits of java and php 04:05:05 but like 04:05:11 i haven't coded oklotalk 04:05:12 :< 04:06:14 why should our computer even be binary? 04:06:26 cause it's the easist? 04:06:33 unary 8P 04:08:30 Nonary 04:08:35 0 == infinity 04:09:06 i had this idea about infinitiary numbers the other day 04:09:09 err 04:09:13 today 04:09:15 :P 04:09:42 though the idea is so trivial i can't even say it with a straight face 04:12:24 "oh no, someone peed in my pants" xD family guy is so insightful 04:19:31 -!- pikhq has quit (Read error: 110 (Connection timed out)). 04:52:29 "Memory: thin metal plates, worked with fret saw;" 04:52:34 how does that work? 04:53:43 http://irb.cs.tu-berlin.de/~zuse/Konrad_Zuse/en/Rechner_Z2.html 05:10:53 -!- bsmntbombdood has quit (Remote closed the connection). 05:10:57 -!- bsmntbombdood has joined. 05:41:25 -!- oerjan has joined. 05:59:19 i think 1 bit of memory = 2 relays 06:00:36 -!- boily has joined. 06:03:42 no that doesn't wor 06:03:42 k 06:05:27 but this does 06:40:36 -!- boily has quit ("WeeChat 0.2.4"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:17:14 -!- oerjan has quit ("leaving"). 09:15:52 -!- ais523 has joined. 10:31:38 -!- GregorR-L has quit ("Leaving"). 11:50:35 -!- ais523 has quit (Remote closed the connection). 11:54:24 -!- ais523 has joined. 12:00:24 -!- ais523 has quit ("looking for food"). 12:09:30 -!- ais523 has joined. 12:30:29 ~bf ,[.,]!test 12:30:48 ~exec execfile('/bot/scripts/bf.py') 12:31:38 ah, the bot isn't here, that's why it isn't responding 13:17:05 -!- jix has joined. 14:47:34 -!- cmeme has quit ("Client terminated by server"). 14:47:56 -!- cmeme has joined. 14:48:57 -!- fizzie has quit (kubrick.freenode.net irc.freenode.net). 14:49:10 -!- fizzie has joined. 15:39:55 -!- calamari has joined. 15:58:03 -!- calamari has quit ("Leaving"). 16:14:49 -!- jix has quit ("CommandQ"). 16:54:56 -!- ais523 has quit ("bye"). 17:00:31 -!- sebbu has joined. 17:36:34 -!- oerjan has joined. 18:22:38 this is awesome: http://catb.org/esr/jargon/html/story-of-mel.html 19:40:43 -!- oerjan has quit ("leaving"). 20:06:42 old 21:07:41 -!- Asztal has joined. 21:46:02 -!- poiuy_qwert has joined. 22:13:48 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)). 22:37:57 -!- c|p has joined. 22:53:11 -!- poiuy_qwert has joined. 23:22:52 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)). 23:25:53 -!- sebbu has quit ("@+"). 23:28:13 -!- c|p has quit ("Leaving"). 2007-06-09: 01:02:09 -!- RainbowTrout has joined. 01:02:09 -!- RainbowTrout has quit (Client Quit). 01:05:08 -!- mangatiga has quit ("User pushed the X - because it's Xtra, baby"). 02:02:01 -!- c|p has joined. 02:47:07 -!- Asztal has quit ("Chatzilla 0.9.77-rdmsoft [XULRunner 1.9a3pre/2007022508]"). 03:22:39 -!- c|p has quit ("Leaving"). 03:41:15 -!- GreaseMonkey has joined. 06:11:46 -!- oerjan has joined. 06:27:09 -!- GreaseMonkey has quit ("gonna go soon, byes"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:24:33 -!- sebbu has joined. 09:15:12 -!- oerjan has quit ("leaving"). 09:55:40 -!- sebbu2 has joined. 10:15:59 -!- sebbu has quit (Read error: 110 (Connection timed out)). 11:37:49 -!- jix has joined. 14:12:49 -!- c|p has joined. 14:44:17 -!- jix has quit (Read error: 104 (Connection reset by peer)). 14:53:06 -!- jix has joined. 15:18:46 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 15:23:51 -!- erider has joined. 16:03:11 bsmntbombdood: indeed, very old 16:05:59 -!- c|p has quit ("Leaving"). 16:24:02 SimonRC: but that doesn't make it any less cool. 16:45:28 -!- jix has quit ("CommandQ"). 16:51:26 * SimonRC wonders when the current set of bootstrapping actually started. Some time in the 70s he suspects. You can't design any but the smallest ICs without a computer too. 16:52:31 well, it's certainly shit-tons harder to do without a computer 16:53:34 I'd guess earlier than the 70s- that's just when minicomputers made computing reasonably affordable. Earlier than that, you still have some mainframes powerful enough to do compilation, bootstrapping and IC design 17:20:57 I think that there were still some computers made mostly without computer help in the 1970s 17:21:55 hm. true- most of the "big iron" of the day still relied mostly on discrete components 17:22:44 -!- jix__ has joined. 17:25:14 * RodgerTheGreat is listening to Apollo [While my 64...] by Rebb / Tm!C 17:43:42 -!- c|p has joined. 18:04:33 -!- oerjan has joined. 18:50:06 -!- jix__ has quit ("CommandQ"). 19:06:34 -!- c|p has quit ("Leaving"). 19:06:57 -!- c|p has joined. 20:32:21 -!- oerjan has quit ("leaving"). 20:50:51 -!- Sgeo has joined. 21:57:21 -!- GregorR-L has joined. 22:30:06 -!- jix__ has joined. 22:42:41 Why do none of us make stuff like this? http://forum.lolcode.com/viewtopic.php?id=30 22:44:24 -!- wooby has joined. 22:52:16 hi 22:58:45 because .net is horrible? 23:00:43 -!- Sgeo has changed nick to Buser. 23:00:44 hmm 23:00:46 i have an idea 23:00:48 -!- Buser has changed nick to Sgeo. 23:00:49 "esoterrism" 23:01:24 as in: obscure terrorism 23:02:51 -!- wooby has quit (Success). 23:17:04 Yeah, but don't have so much as an emacs mode. 23:40:40 -!- jix__ has quit ("CommandQ"). 2007-06-10: 00:34:54 -!- GregorR-L has quit ("Leaving"). 00:43:58 -!- sebbu2 has quit ("@+"). 02:21:21 -!- c|p has quit ("Leaving"). 02:23:16 -!- RodgerTheGreat has quit. 02:25:47 -!- RodgerTheGreat has joined. 02:45:26 i got asked if i had kids today 02:45:30 it was funny 02:46:00 what was the context of this 02:46:23 i was riding my bike past a part and a little kid asks 02:46:33 *park 02:49:33 hunh 02:50:09 that is a unusual question, but as Bill Cosby would say, "Kids say the darnedest things!" 02:51:57 yeah 04:02:52 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 06:42:39 -!- oerjan has joined. 07:14:07 -!- GreaseMonkey has joined. 07:32:35 -!- Sgeo has quit (Remote closed the connection). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:30:34 -!- sebbu has joined. 09:49:16 -!- sebbu2 has joined. 10:00:48 -!- oerjan has quit ("leaving"). 10:14:41 -!- jix has joined. 10:16:11 ok, gonna get off now, gnight everyone 10:16:24 -!- sebbu has quit (Read error: 110 (Connection timed out)). 10:16:33 -!- GreaseMonkey has quit ("Hasta la Vista(R)"). 10:29:51 -!- jix has quit ("CommandQ"). 10:37:07 -!- jix has joined. 15:17:33 -!- jix has quit ("CommandQ"). 16:26:58 I wonder if Mel of /The Story of Mel/ is still around 16:28:55 if not, there are probably still some Real Programmers carrying on his proud tradition 16:33:16 there's not even any real computers around anymore 16:37:17 not except when people build their own, anyway 16:37:28 and not in the "order from newegg" sense 16:37:35 out of relays 16:37:57 what most people do is "assembling" computers, not building them 16:41:48 * oklopol goes beep 16:41:52 for no reason 16:42:33 fair enough 16:58:15 -!- c|p has joined. 17:02:54 -!- oerjan has joined. 17:07:37 @who 17:07:42 whoops 17:07:45 wrong window 17:09:37 a likely story 17:09:40 Mel is known to be "Mell Kaye" 17:09:54 @who? isn't that moo or something? 17:11:44 -!- bsmnt_bot has joined. 17:11:58 it's not one of lambdabot's though lambdabot does take some @-commands 17:12:34 i vaguely recall moo commands began with @, like @create 17:13:37 incidentally i am pretty sure there was a lambdamoo 17:13:43 heh 17:14:26 Ah yes, from wikipedia: It is the oldest and most active MOO today, with just under 3000 regular members. 17:15:04 -!- RodgerTheGreat has changed nick to PocketUniverse. 17:15:07 no, lambdabot is to be found on #haskell, among other places 17:15:36 -!- PocketUniverse has changed nick to RodgerTheGreat. 17:16:05 i know what lambdabot is too 17:17:13 it has esoteric languages too, brainfuck and i think unlambda 17:17:57 maybe we could invite it here... 17:21:25 you'll make bsmnt_bot jealous 17:21:42 hmph, it seems not to work presently, otherwise you can /msg it 17:22:28 i suppose a bot with a functional haskell interpreter _would_ make our bots jealous 17:23:18 you can always fork an interpreter 17:25:03 it has an interesting approach to sandboxing, using Haskell's type system to avoid non-pure expressions 17:26:32 that requires a bit more than just invoking an interpreter directly on the code 17:28:30 (actually it invokes a compiler and a dynamical linker. apparently all modern haskell implementations are compiler-based) 17:29:31 although it does run it in a forked process with ulimits, so the sandboxing is not totally type-based. 17:30:31 (I read about this just the other day, i think it was in the haskell-cafe archive) 18:25:08 -!- cmeme has quit (Remote closed the connection). 18:25:30 -!- cmeme has joined. 18:59:27 -!- jix__ has joined. 19:00:04 the world needs a better S 19:00:11 *OS 19:04:25 with fine grained security and a better scripting language than C 19:10:39 fine grained enough to run arbitrary code without a second thought 19:11:17 that's pretty much the dream 19:12:03 it might be possible to make that kind of security more feasible through the use of "secure" trusted compilers that build code that can be considered foolproof 19:12:24 that's not good enough 19:12:33 the security needs to come from the kernel 19:13:31 if compilation became a core service, (which it should if *all* non-kernel software was compiled on the system before execution) it would make perfect sense for it to be part of the kernel 19:13:50 do away with binary executables and you solve a lot of potential issues before they can start. 19:13:56 when i said arbitrary code, i meant arbitrary machine code 19:14:16 not everyone wants to give away their source 19:14:25 in a non virtualized environment, arbitrary machinecode is inherently insecure. 19:14:55 you could avoid having to distribute source by using intermediary interpreted bytecode, and effectively do the same thing as virtualization 19:15:54 you can execute arbitrary machine code safely 19:16:23 because anything dangerous has to go through the kernel 19:20:41 i think the hard part would be managing the tons of permissions data you need to keep track of in an intelligent way 19:23:16 and the methods programs use to modify it 19:27:44 How about requiring compilers to embed safety proofs into the compiled code? 19:28:02 how can you prove safety? 19:28:02 These would have no run-time penalty, as they would be executed by the loader. 19:28:19 The compiler knows more about the program that is represented in the machine code. 19:29:03 exactly 19:29:08 It could know that there aren't any generalised pointers, just refernces and array iterators, but that is hard to tell from the object code 19:29:52 Since it has access to a more abstract representation of the program (i.e. the source code), it has a good idea of all the safety invariants that hold. 19:31:06 It knows what things are always true, that are much easier to check than discover for object code 19:31:10 A Java compiler could annotate the code to say where on the stack was pointers and where was references. 19:31:15 especially if it is written in a language that actually has support for safety invariants 19:31:28 (then show that there is no generalised pointer arithmatic) 19:31:36 oerjan: e.g. Java 19:31:44 Or just about anything modern 19:32:14 You could also prove things like functions not doing ay IO 19:32:23 *cough* Haskell *cough* 19:32:29 how can you prove something like that? 19:33:23 in Haskell, if it doesn't have an IO return type, and unsafePerformIO never gets near it, the function *does* *no* *IO*. 19:33:49 which as i mentioned was how LambdaBot does part of its sandboxing 19:33:51 that's a pretty good mechanism- I'm going to have to explore that language more. 19:33:53 and how can you prove that given only the machine code? 19:34:02 not easily 19:34:11 bsmntbombdood: in general, you don't 19:34:18 right 19:34:20 that is why the *compiler* creates the proof, and the loader checks it 19:34:22 you must construct the proof simultaneously with the machine code 19:34:23 I did say 19:34:46 how do you verify a proof is what i meant 19:35:35 well, to do file IO, you would have to do an OS call or fiddle with the disk devices directly 19:35:47 http://www.cs.cornell.edu/talc/ 19:35:59 therefore, you can show that you do no OS calls, and do not write to certain memory addresses 19:36:08 i think the right approch is to check the permissions related to a system call whenever that call is used 19:36:18 slow 19:36:38 even with a Synthesis-style OS it would be slow 19:36:54 (It gets only a little bit trickier if you add HoF.) 19:37:22 i don't think it would be much slower 19:38:08 depends on your permissions scheme 19:38:37 when to check would probably depend on how often the code is going to run 19:39:10 if it is going to run many times it would be better to have a once-and-for-all proof 19:39:29 i don't think you can have a proof like that 19:40:34 -!- kushalhada has joined. 19:40:49 -!- kushalhada has left (?). 19:42:13 what part of this do you think is unsolvable? 19:43:02 i have no idea how you would construct a proof that could be verified 19:43:56 a proof by definition is verifiable 19:44:11 otherwise it is not a complete proof 19:45:01 you could analize the machine code at loadtime 19:45:56 that wouldn't work even with simple stuff like adding two numbers to get the syscall number 19:45:58 the machine code comes with the proof bundled, that is what proof-carrying code means 19:46:23 how does the proof work 19:47:21 it is just a proof in a machine readable format, that somehow proves that your code satisfies the system's safety protocol 19:47:40 uh huh 19:47:54 it might be equivalent to digital signing or something 19:48:16 or embedded into the functioning of the executable format somehow 19:49:03 i and have no idea how to construct a proof like that 19:49:18 and i highly doubt it's possible 19:49:49 well there are many people working on machine checkable proofs of program properties. 19:50:32 one of the teams is working on creating a certified compiler for Standard ML. it would be the first "real" language with such a compiler. 19:50:59 you can do it with a trusted compiler, sure 19:52:15 apparently they go through Typed Assembly Language, which is asm annotated with types proving the properties of the program 19:53:03 the Curry-Howard isomorphism which says that types and theorems are basically the same thing is important in much of this kind of work 19:53:35 so in a sense Java's types are a simpler version of the same 19:53:48 bsmntbombdood: but you don't need to trust the compiler. If the compiler can explain why the code is safe, and the OS can check it, then it doesn't matter if the executable is a string of random bytes, it must be safe. 19:54:10 SimonRC: "if" 19:58:09 it's not "if", it's "when", and i believe the answer is "within five years" 19:58:10 -!- sebbu has joined. 19:58:24 although not for an entire operating system i guess 19:58:33 bah, 20 years at least 19:59:00 but if the proof is part of the executable, the compiler only has to do it once, right? <:D 19:59:37 right 19:59:38 I don't think you can construct a proof like that 19:59:41 Although MS's Singularity experiment has almost everything written in "safe C#". 20:00:13 bsmntbombdood: depends on the language you are compiling 20:00:17 checking permissions at runtime allows binarys to ignore security if they want to 20:00:50 how the hell can anyone honestly use [C-derivative] and "safe" in the same sentence without negation operators or other complex syntactic shenanigans? 20:00:51 I mean, a C compiler would have more difficulty than a Haskell compiler in checking safety. 20:01:06 RodgerTheGreat: erm C# is not that bad on that angle 20:01:21 you have to mark all "unsafe" code explicitly 20:01:46 And you can write huge swathes of code with no "unsafe" blocks at all 20:01:58 e.g. most of Singularity 20:02:13 eugh 20:02:28 (BTW, I really suggest that you check out the Singularity video on Channel 9 at MSDN.) 20:02:36 C# is better than Java 20:02:46 In my book, when the wheel sucks, build a new one, don't just superglue on retreads. 20:02:54 by which I mean, I like programming in it better 20:03:25 RodgerTheGreat: they have thrown away almost everything except the colour (i.e. the syntax) 20:03:33 although the syntax does suck a bit 20:03:42 but it's not too bad for an imperative language 20:03:50 I guess 20:04:09 I still feel I could do better (which is not an entirely idle statement) 20:04:58 "You need to be free to point the gun wherever you want, but most of the time you *know* you don't want it anywhere near your foot and the compiler should help you out with that." 20:05:11 heh 20:05:58 well, that saves you from some mistakes, but doesn't do anything about the two most dangerous types of coders: malicious hackers and people with no idea what they're doing. 20:06:03 .NET languages are like those lego people: they claim to be different, bu there is a haunting similarity between them. 20:06:10 lol 20:06:11 RodgerTheGreat: heh 20:06:49 There is only one real functional .NET language, and it is not exactly popular. 20:06:55 F# 20:07:10 I've never heard of F# 20:07:36 it is much based on Ocaml, i hear 20:11:52 yes] 20:11:59 doesn't look too bad to me 20:12:24 Although ISTR it has the dreadful syntax for types that OCaml has. 20:13:11 I really don't know how I can hate it so much. 20:13:59 Ocaml is not known for having a pretty default syntax, unlike Haskell 20:14:22 At least it allows the C# syntax for types. 20:14:39 but really, *postfix* type constructors 20:14:43 i understand F# has an alternative syntax 20:14:51 that is inheritance from ML 20:15:27 And an infix type operator (tuple) that neither left nor right associates, but does magic instead, with parentheses being significant? 20:15:39 -!- calamari has joined. 20:15:44 that is also from ML i think 20:16:08 yes, I know 20:16:16 I hate ML's type syntax 20:16:53 And then there's the need for explicit indication of recursion in "let"s. 20:16:58 hey, calamari 20:17:13 there's an idea I wanted to mention to you a few days ago- 20:17:18 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 20:17:22 FFS people, it is a *functional* language! The compiler should be worrying about that, not the programmer. 20:17:27 * SimonRC stops ranting 20:17:31 hi RodgerTheGreat 20:17:36 shoot 20:17:59 actually without rec you can use the old definition on the right side 20:18:05 like with scheme 20:18:10 yuk 20:18:14 we were discussing how the use of peek, poke and varptr effectively give BASIC pointers- do you think it would be possible to incorporate this type of functionality into BFBASIC? 20:18:59 shouldn't be too hard 20:18:59 obviously, you couldn't use it for accessing arbitrary memory, but you could try to have the compiler map peeks and pokes within memory "owned" by a program 20:19:18 right 20:19:31 it _might_ be possible to access arbitrary memory if you have a fixed memory layout 20:19:46 er, 20:20:00 i guess that's what you meant 20:20:09 oerjan: I don't think he's referring to interpreter bugs 20:20:17 lol 20:20:23 not outside the program 20:20:26 right 20:20:31 I understood exactly what you meant 20:20:48 excellent- we're on the same wavelength 20:20:57 but then with protected memory you couldn't do that anyway 20:21:29 a DIM statement is very similar to a memory allocation in lower-level languages 20:23:41 RodgerTheGreat: here is my suggestion for this... 20:24:02 there is a function called arrows that translates @vars into >>> <<<'s 20:24:12 ok 20:24:14 for example @myvar might be location 123 20:24:38 you could change that function so that it would treat something like @234 specially 20:24:53 so, you're suggesting extending that function to handle peek's "dereferences"? 20:24:59 ah 20:25:01 hm 20:25:01 then @567 in the code would go to memory location 567 20:25:36 then you can use that to write your peek and poke routines 20:26:25 that could work. Now that I'm thinking of this in terms of translation into BF, though, I forsee this could generate some really nasty compiled code 20:26:31 I don't remember what varptr is.. looking that up 20:26:41 well, yeah 20:26:43 varptr returns the memory address of a given variable 20:26:48 but that's the case anyways .. hehe 20:26:53 oh 20:27:00 that should be easy to implement as well 20:27:11 it's how you access a variable via peek and poke so you don't have to just guess wildly. :) 20:27:18 makes sense 20:27:29 do you have the source code to bfbasic ? 20:27:34 I think so 20:27:39 it is available via cvs 20:27:42 okay great 20:27:45 * RodgerTheGreat rifles through his drive 20:28:01 I think the lastest is 1.50 rc 2 20:28:05 latest 20:28:06 effectively, if we compare BASIC to C, varptr() 20:28:09 erk 20:28:24 varptr(x) is equivalent to &x 20:28:36 I would start off by understanding the arrows() function 20:28:41 peek(x) is equivalent to *x 20:29:02 =*x 20:29:22 poke is *x= 20:29:22 and poke x,a is equivalent to *x=a 20:29:26 yeah 20:29:47 anyhow.. if you have any questions about the source code, let me know 20:30:02 ah, I found arrows 20:30:07 if you don't have the cvs version I can dig it up for you 20:30:11 I'll play around with this for a while 20:30:16 okay :) 20:30:25 I have v1.30 20:31:26 that's old 20:31:34 oh. 20:32:24 well, that's the version you have in a .ZIP on your site- that's probably where I got it. 20:32:36 RodgerTheGreat: http://sourceforge.net/cvs/?group_id=59653 20:34:06 oh, dang- you're at 1.41 20:34:34 actually, src contains the latest 20:34:37 1.50rc2 20:35:16 src/ I mean 20:35:30 afk.. 20:35:39 alright, got it 20:35:50 what's new since 1.3? 20:37:14 woah, select case? 20:37:34 I didn't implement that :) 20:38:34 and I must say that AlgebraicExpression.java frightens me a bit 20:39:10 wow, it all makes sense now: http://freefall.purrsia.com/ff200/fv00125.htm 20:39:31 lol 20:39:43 everyone loves a calvin and hobbes reference 20:43:07 * SimonRC reads about the significant parentheses in F# 20:43:18 dear god please make it stop 20:43:58 the type "int -> int" is not the same as "(int -> int)" 20:44:28 wow 20:45:28 neither is "type c = C of int * int" the same as "type c = C of (int * int)", though that was got from ML 20:45:41 * oerjan wonders what SimonRC thinks about python's relation syntax 20:49:29 what's that like? 20:50:32 basically, 1 <= x < y < 3 means the same as in mathematics 20:50:51 ah yes 20:50:58 Perl6 is gonna have that too 20:51:15 That is not *too* bad 20:52:02 Perl 6 is also going to have the amazing | and & operators, which allow things like "a&b=c|d", meaning "(a=c||a=d)&&(b=c||b=d)". 20:52:15 but they have some reasonably clean semantics behind that 20:52:26 that's pretty ugly 20:52:52 it's Perl 20:53:01 or possibly it means "(a=c&&b=c)||(a=d&&b=d)". I forget 20:53:35 is & and | not bitwise and and or? 20:54:01 icon has | like that doesn't it 20:54:23 icon does it in a good way, similar to the List monad in Haskell. 20:54:31 bsmntbombdood: not in Perl 6 20:54:48 bitwise ones have ? prepended 20:55:27 so Perl 6 will not be backwards compatible? 20:55:27 or is that numeric ones? In which case the bitwise ones have + before them, and the character ones I forget about 20:55:31 nope 20:55:46 some very simple things will stay 20:56:19 numeric? 21:00:22 huh? 21:00:54 how is numeric &| different from bitwise? 21:01:18 ints versus strings 21:01:19 dunno 21:10:09 -!- calamari has quit ("Leaving"). 21:41:18 -!- jix__ has quit ("CommandQ"). 22:30:39 -!- ihope has joined. 23:32:10 -!- sebbu has quit ("@+"). 23:54:17 -!- davidmc has joined. 23:55:57 -!- davidmc has changed nick to xTarget. 2007-06-11: 00:15:15 -!- xTarget has quit ("Chatzilla 0.9.77 [Firefox 1.5.0.12/0000000000]"). 00:16:34 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 00:17:37 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)). 00:18:03 -!- bsmntbom1dood has joined. 00:18:23 -!- bsmntbom1dood has changed nick to bsmntbombdood. 00:33:19 -!- ihope_ has joined. 00:54:28 -!- ihope has quit (Read error: 110 (Connection timed out)). 02:04:35 -!- c|p has quit ("Leaving"). 02:24:33 -!- helios24 has quit (Read error: 110 (Connection timed out)). 02:43:14 -!- ihope__ has joined. 02:43:21 -!- ihope__ has changed nick to ihope. 02:51:14 -!- ihope_ has quit (Read error: 60 (Operation timed out)). 03:58:17 -!- ihope has quit (Read error: 60 (Operation timed out)). 04:18:00 -!- helios24 has joined. 04:23:52 one egg isn't good enough 04:23:57 oops 04:24:21 unless it's faberge 04:26:04 meh, those are pretty ugly 04:31:43 but, you could sell it and have ordinary eggs for the rest of your life :) 04:31:53 that's true 05:17:17 -!- RodgerTheGreat has quit. 05:29:06 -!- oerjan has quit ("leaving"). 05:54:46 -!- calamari has joined. 06:08:17 -!- calamari has quit ("Leaving"). 07:10:52 -!- GreaseMonkey has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:45:19 -!- GregorR has quit (Remote closed the connection). 09:46:26 -!- GregorR has joined. 10:51:52 gonna sleep now, gnight 10:52:28 p.s. got any diet cherry vanilla orange grape lemon lime mint roast chicken mayonnaise and cola dr. pepper? 10:53:07 -!- GreaseMonkey has quit ("Hasta la Vista(R)"). 12:20:46 -!- ihope__ has joined. 12:20:55 -!- ihope__ has changed nick to ihope. 14:12:40 -!- jix__ has joined. 14:25:18 -!- ais523 has joined. 15:04:36 -!- jix__ has quit (Read error: 110 (Connection timed out)). 15:04:53 -!- jix__ has joined. 15:31:47 -!- RodgerTheGreat has joined. 16:20:33 -!- crathman has joined. 16:37:43 -!- sebbu has joined. 16:56:31 -!- ais523 has quit ("Coming up to 16:00 UTC"). 18:14:37 hehe: http://www.hankstruckpictures.com/df_god.htm 18:48:17 -!- ehird` has joined. 19:02:23 "GOD" should be a trademark. 19:02:45 I like it 19:14:12 this is probably from this channel, but what is it? http://forum.lolcode.com/viewtopic.php?id=30 19:14:14 i mean 19:14:27 is this an interpreter for lc at work? 19:14:39 and why's it say visual studio 19:14:42 :\ 19:17:34 Why is LOLCODE so popular all of a sudden? 19:18:29 I guess people who have seen esolangs before don't tend to spread it like wildfire. 19:18:35 yeah 19:19:01 my friend has never heard of _brainfuck or intercal_, and he knows lolcode 19:20:13 it seems like everyone I've ever talked to in CS has heard of whitespace, but very few know of BF and the other big esolangs 19:20:40 We should try to get all these other esolangs spreading like that. 19:21:55 the problem with BF is that it isn't as "pop-art-crazy-cool" as whitespace, and the real name is offensive enough to turn off other people 19:22:17 Pop-art-crazy-cool? 19:23:18 like, with immediate novelty and strangeness, but not in a very deep or meaningful way 19:23:29 "Pop-art-crazy-cool" seemed to summarize that 19:24:31 let's face it- whitespace is a far less innovative or important esolang than INTERCAL, malbolge, BF, Befunge, etc 19:37:32 Gimmick language. 19:38:25 BF and Whitespace are pop-culture. 19:38:52 brainfuck gets mentioned very often in other Freenode channels. 19:39:36 this happens with everything: Everybody knows Beethoven wrote Ninth Symphony and the Moonlight Sonata, but few know any other works. 19:40:03 And some of his others are greater? 19:40:04 (hint: if he wrote the ninth symphony, he probably also wrote at least 8 others!) 19:40:32 i'm not really qualified to judge 19:40:34 Heinz's 57th! 19:40:39 he certainly has greater stuff than "Fur Elise" 19:40:43 which is also very famous 19:41:29 spread P'' instead of brainfuck then 19:41:51 there're many characteristics that aid popularity 19:42:11 and quality and innovation are not the important ones 19:42:28 (another example: real-world celebrities) 19:48:53 I think BF spreads pretty easily because it's a combination of trendiness, simplicity (you can learn it in 5 minutes, even with no esolang exposure) and the profusion of cool things made with it 19:49:21 pi calculators, DeCSS, LostKingdom, endless spinoffs, etc, etc 19:52:11 too bad something cooler isn't the most popular esolang 19:53:12 BF is better than whitespace, by a lot 19:55:21 i think BF spreads because of the name and the syntax. 19:55:29 (syntax - as in "how programs look like") 19:55:53 but mostly the name. 19:56:50 "hee hee we're saying a bad word hee hee" 19:57:32 I found myself liking it because it's a very clean, clear-cut, elegant language. Some of the more interesting languages get really hairy and overly complex 19:57:49 I'm also a big fan of dupdog and /// for essentially that reason 19:58:49 -!- sebbu2 has joined. 19:59:23 neither of which, however, are at all likely to be TC. <:/ 20:17:53 -!- sebbu has quit (Read error: 110 (Connection timed out)). 20:32:13 -!- ihope__ has joined. 20:40:24 -!- oerjan has joined. 20:45:03 -!- jix__ has changed nick to jix. 20:46:24 what, you mean Beethoven's Fifth isn't just as well-known? 20:46:25 -!- c|p has joined. 20:47:15 -!- ihope has quit (Read error: 110 (Connection timed out)). 21:17:10 -!- ehird` has quit ("Pong timeout"). 21:22:15 " Why is LOLCODE so popular all of a sudden?" -- LOLCODE is popular because it hit Digg and Reddit on the same day. Whitespace (I know the creator of that) did hit the front page of Slashdot, but that was back in 2003, which is the early 19th centuary in Internet Years, and it didn't hook onto an existing craze. 21:23:02 i think whitespace might have been on /. more than once 21:24:11 it was first on AFD 2003 21:25:39 amazingly, LOLcode doesn;t seem to have been mentionned on slashdot! 21:28:40 o: 21:29:53 my eyes are singing 21:30:37 hmph, our bot was banned on #tietovisa (finnish trivia channel), apparently it owned too mcuh 21:33:54 "singing"? 21:34:56 okay, if you don't understand something i say, it's a joke, or it means absolutely nothing 21:35:09 this was the latter 21:35:12 i think 21:35:32 you know how you sometimes just feel like saying stuff 21:35:38 and wonder what the fuck you meant 21:35:39 hmph 21:35:48 are you smoking something? 21:35:58 no no, but i _am_ coding java 21:36:02 i guess that counts 21:36:04 ouch 21:36:33 i have to convert a file containing a hashmap to a file where the contents are in ascii form 21:37:00 pretty tough! 21:39:56 i think it's very clever this task requires about 4 object wraps, layers make me feel safe 21:40:33 "about 4"==3, but that didn't sound that much so i filibustered it up 21:41:45 well okay, 2, but its still needless! 21:43:20 interesting discussion at the haskell-cafe, apparently "Haskell" is from the hebrew for intellect. 21:44:26 i can just believe that :) 21:45:11 I thought "Haskell" was named after Haskell B. Curry/ 21:45:12 ? 21:45:21 sure it is 21:45:46 and the name seems to come from hebrew 21:46:13 ok 21:46:14 but it is an appropriate coincidence 22:01:11 -!- jix has quit ("CommandQ"). 22:05:49 okay, i can't do this, unchecked conversion in code i've pasted from sun's pages. 22:06:02 because of generics 22:06:22 apparently i cannot convert an Object into a HashMap 22:06:31 very feasible 22:06:43 java is pretty great 22:06:56 hm... 22:07:19 http://forum.java.sun.com/thread.jspa?threadID=707244&tstart=30 22:07:22 what about (HashMap<...>)(HashMap)(whatever) 22:07:24 this is my problem 22:07:31 except i can't get either to work 22:07:38 not the abstract, not the typed. 22:07:55 i mean, conversion 22:08:13 hmm 22:08:24 i'm pretty sure i hear coffee calling me 22:08:25 -> 22:11:18 oh my god i'm pro, it compiled all along, it was just a warning. 22:11:31 why check when you can debug for hours? 22:12:13 heh 22:12:15 that page you linked has something about @SuppressWarnings("unchecked") 22:12:19 why does that make you a "pro"? 22:12:43 it makes me pro in a sarcastic way 22:13:01 ah, ok 22:13:08 that totally didn;t come across 22:13:18 maybe :) 22:13:23 i'm feeling a bit goofy 22:14:21 vacation? 22:14:31 perhaps 22:16:49 it's funny, i always thought i was the weirder of me and my gf, and she's going to be an out-patient after summer :P 22:16:53 life's funny like that 22:17:04 whoops, two funnies 22:17:09 i guess that's a bit too funny 22:17:56 funny you should say that 22:19:11 i think she's weirder, for choosing a weird boyfriend like that 22:21:38 yeah, oklopol, you should be wary of people who are _that_ weird. might be dangerous :) 22:23:05 with insincere apologies to Groucho Marx 22:24:55 i wish i had time to learn these 7995 random questions and their answers 22:27:30 oklopol: an out-patient of where? 22:28:20 i guess it's kinda like a mad house 22:28:27 just sounds pretty harsh 22:28:29 * oerjan tried to google that and came up with "The Frequency of Use of the Interrogative Formula est-ce que" 22:31:09 not really out-patient... in-patient \o/ 22:31:31 if that's the right term 22:32:23 perhaps completely isolated 22:32:25 dunno yet 22:33:01 hmm, i wonder why i have to tell everything on the channel that happens to be open when it pops to mind 22:33:27 gotta write my artixxels -> 22:37:08 hey, if anybody wants to try a little IRC-based mud prototype I'm working on, just type "/msg PocketUniverse @join" 22:37:36 is that a universe in your pocket, or are you just happy to see me? 22:38:23 lol 22:39:35 can you do anything elsez? 22:39:57 not much yet, but it'll eventually become a Hunt-The-Wumpus game 22:40:10 that's not a mud! 22:40:42 ok, it's a massively multiplayer online wumpus hunt. MMOWH. 22:41:38 hunting the wumpus is very closed-ended. 22:41:49 not necessarily 22:42:09 and it's far from straightforward if other people can "accidentally" kill you with magic arrows 22:43:20 oh that will be fun 22:43:32 indeed 23:01:35 -!- pikhq has joined. 23:05:18 BTW people, room 13 is broken 23:05:24 in a bizarre way 23:05:29 heheh 23:09:19 how? 23:09:36 a typo when I entered the map data 23:09:57 it ends up being several one-way tunnels 23:10:00 i can't decipher the map, 20 and 13 can't ba put next to each other imo :\ 23:10:06 *be 23:10:51 okay, actually trivial to prove that impossible 23:11:59 oklopol: it;s mangled 23:12:10 RodgerTheGreat mixed up 13 and 15 23:12:21 notice the missing backward passages in some places 23:12:56 15 should be next to 16, 6, and 14 23:13:05 13 should be next to 14, 12, and 20 23:13:12 then the numbering is simple 23:13:32 okay... i wish i could've seen that from listing the passages. 23:13:39 ah 23:13:50 indeed, missing backwards passages 23:14:02 then it's izzzzzi 23:15:24 yep. *just* complicated that most people want a map to keep their bearings, not so complicated you constantly get lost 23:15:34 *just complicated enough 23:17:07 oklopol: I figured it out 23:17:18 the map? 23:17:22 yeah 23:17:33 in your head? 23:17:37 or paper? 23:17:37 on paper 23:17:46 -!- c|p has quit ("Leaving"). 23:17:50 HTW is traditionally on a dodecahedron 23:17:51 okay, i'm pretty sure i could do that if i had paper 23:18:17 I suspected that it was labeld siprally, and following you around for a bit showed that it was, except for the glitch 23:18:19 with a text editor it kinda sux 23:18:33 ah, ok 23:19:06 er, with 20 rooms shouldn't it be an icosahedron? 23:19:08 supral? 23:19:40 hmm, has someone done a 3 (or more) D minesweeper? 23:19:46 that might be kinda awesome 23:19:52 the dodecahedron and the icosahedron are duals 23:19:59 i know 23:20:10 and you could have like a character to bounce around with 23:20:28 i just thought it made more sense if rooms were surfaces 23:20:31 it could break a block and walk on any wall 23:20:54 and sing any song 23:21:05 and dial any phone 23:21:12 oklopol: STOP SMOKING THAT 23:21:15 and not just their own phone 23:21:20 other peoples phones 23:21:30 phones that everybody else gave up on 23:21:37 rooms are vertices in my view 23:21:39 but we knew better becvause we were a team 23:21:43 *because 23:22:02 that last bit was from family guy 23:22:10 i'm a bit ashamed about that :< 23:23:19 i wish i had something to smoke 23:26:01 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 23:26:56 "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here." 23:27:32 -!- sebbu2 has quit ("@+"). 23:27:39 hihi oerjan is watching cartoons 23:28:10 okay, i'm officially doing nothing now 23:28:21 wish i had any self-control 23:28:40 okay, so there was this guy that had this hat 23:28:55 not gregor 23:29:03 his name started with an f 23:29:13 and he was a fun guy 23:29:27 once i totally sang a song to him 23:29:29 i am _not_ watching cartoons. 23:29:30 he liked it 23:29:34 oh :| 23:30:20 maybe you are, on some level 23:30:24 like, second 23:30:31 oklopol: you remind me of Delirium in Sandman 23:30:39 who? 23:31:41 actually 23:31:46 hrm 23:31:47 that name kinda explains it 23:31:51 well, trap laying works 23:31:59 kinda like a cookie explains the cat 23:32:04 she speaks like that 23:32:24 well, my hair is long and my scent is sweet 23:32:35 (Sandman's youngest sister and the personification of madness) 23:33:20 but are your eyes different colors? 23:33:24 hmm, no :\ 23:33:33 but no one really knows the colot 23:33:34 Är 23:33:35 *r 23:34:39 hmm... perhaps i _could_ do some programming 23:34:58 i need more screens, irc and fg take both 2007-06-12: 01:49:33 -!- clog has joined. 01:49:33 -!- clog has joined. 03:38:32 -!- ihope has quit (Connection timed out). 04:21:22 -!- bsmnt_bot has joined. 04:58:31 -!- boily has joined. 05:07:51 who feels like hunting a wumpus? 05:09:47 may i? 05:10:11 sure! 05:10:21 ok 05:10:26 type "/msg PocketUniverse @join" 05:10:34 make sure you're identified 05:10:42 um, how? 05:10:53 like, identified with freenode 05:10:57 in a normal IRC sese 05:10:59 *sense 05:11:14 ah, ok. brb 05:11:18 this game relies on PMs, so you must be registered and identified with freenode for it to work 05:16:15 -!- boily has left (?). 05:16:20 -!- boily has joined. 05:17:50 -!- GreaseMonkey has joined. 05:31:23 -!- boily has quit ("WeeChat 0.2.4"). 05:32:04 -!- RodgerTheGreat has quit. 06:56:25 -!- khmer has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:36 -!- tokigun has quit ("k k reinstlkajsfdlkjehfopj3if"). 08:21:49 -!- tokigun has joined. 09:47:08 -!- GreaseMonkey has changed nick to N0B0DY. 09:47:08 -!- N0B0DY has changed nick to N0BODY. 10:45:22 gonna go to sleep now, cya 10:46:38 -!- N0BODY has quit ("Hasta la Vista(R)"). 10:47:26 WHY DID MY CLIENT TELL ME NO ON QUIT, ISN'T THAT LIKE IMPLIED WITH SILENCE USUALLY? 10:47:31 very peculiar. 10:47:36 *one 11:53:45 -!- oklopol has quit (Read error: 110 (Connection timed out)). 11:56:45 -!- ville_ has quit (Read error: 110 (Connection timed out)). 11:58:04 -!- oklopol has joined. 12:01:34 -!- ville_ has joined. 12:02:43 -!- RodgerTheGreat has joined. 12:25:07 -!- ihope___ has joined. 12:25:18 -!- ihope___ has changed nick to ihope. 13:14:26 -!- jix__ has joined. 15:04:51 -!- jix__ has quit (Read error: 110 (Connection timed out)). 15:05:25 -!- jix__ has joined. 15:50:36 RodgerTheGreat: nice game 15:50:42 I got the wumpus twice 15:50:58 SimonRC: thanks! 16:00:37 -!- calamari has joined. 16:02:34 are there messages for people entering a room by re-spawning? 16:03:02 Have you added a description of where people came from to the entry messages? 16:03:21 And what happens if a trap or the wumpus is moved into a room that already has people in it? 16:04:02 multiplayer wumpus? 16:05:52 -!- calamari has quit ("Leaving"). 16:30:54 -!- fizzie has quit (Read error: 60 (Operation timed out)). 16:34:25 I know that in plain old Wumpus, wumpus moving on top of player kills the player... I think. 16:50:04 -!- oerjan has joined. 17:00:32 -!- fizzie has joined. 17:13:01 -!- sebbu has joined. 17:25:31 -!- khmer has quit (Read error: 110 (Connection timed out)). 17:30:20 -!- crathman has joined. 17:41:56 -!- khmer has joined. 17:47:31 -!- tokigun has left (?). 17:48:05 -!- tokigun has joined. 18:21:51 -!- khmer has quit ("I love and cherish you, $friend"). 18:57:56 I'm back 19:00:04 SimonRC: yes, no (debating adding it), traps check for that before they're re-positioned when I randomize the map (still a work in progress) and the wumpus will hide in a player-occupied room if it moves into one. 19:01:34 what, doesn't the poor wumpus get anything to eat? 19:05:02 that's how a version of the game I made a while back worked 19:05:31 but in theory it doesn't want to tip players off to its new location, and it needs to sleep off the last meal 19:06:00 I dunno, I may still play with that game mechanic 19:06:44 I had considered making it necessary to collect the killed wumpus pelts and carry them to a specific location as well- then successful players would have to make it past a gauntlet of evil other players to score 19:07:53 -!- fizzie has quit (Read error: 60 (Operation timed out)). 19:23:39 -!- ihope___ has joined. 19:24:14 -!- ihope has quit (Read error: 60 (Operation timed out)). 19:24:20 -!- ihope___ has changed nick to ihope. 19:58:30 -!- crathman_ has joined. 19:58:44 -!- crathman_ has quit (Remote closed the connection). 19:59:07 -!- sebbu2 has joined. 20:14:55 -!- crathman has quit (Read error: 110 (Connection timed out)). 20:17:54 -!- sebbu has quit (Success). 20:33:08 i wish my name was wumpus 20:34:07 -!- crathman has joined. 20:35:47 bsmntbombdood: it can be on the internet! 20:36:10 Herr Doktor Wumpus! 20:36:19 i don't really want to be hunted though 20:36:33 -!- Nick wumpus is already in use 20:36:39 it could almost be a german name 20:37:10 hunh 20:37:25 now I guess we need to figure out where the real wumpus is. 20:37:32 * RodgerTheGreat hands out crooked arrows. 20:39:00 ftp://ftp.research.microsoft.com/pub/tr/tr-2000-03.ps 20:41:13 interesting stuff 20:46:12 blargh 20:46:16 we are moving :/ 20:46:36 ? 20:47:23 my family 20:48:45 where to? 20:49:19 a different city 21:50:19 -!- jix__ has quit ("CommandQ"). 22:21:34 -!- erider has joined. 23:13:58 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 23:50:21 -!- oerjan has quit ("leaving"). 2007-06-13: 00:08:10 -!- sebbu2 has quit ("@+"). 00:38:27 bsmntbombdood: you will still be on the net 00:38:49 yeah? 00:42:32 hmm 00:42:50 that abbreviation work looks either dreaful of brilliant 00:42:53 it is hard to tell 00:43:11 I would throw it at the wall and see if it sticks. 00:43:15 No, actually, 00:43:20 I would throw it at Wall and see if it sticks. 00:43:22 heh 00:43:29 (Larry Wall, that is) 00:44:50 On the one hand, they are mechanisms that do not handle the general case, and they sacrifice simplicity for apparent brevity... 00:45:06 OTOH, the complexity is only superficial 00:46:01 I can imagine lots of bugs being caused by people inserting code that breaks stuff via the abbreviation mecahnism 00:46:14 inserting a statement that rebinds "it" or whatever 00:46:43 I didn't see a way to do it other than plain textual substitution 00:46:59 if you allow stuff like a.(b.c).e, you can do it by value 00:48:27 I can also see bugs being caused by people misunderstanding the naming mechanism 00:48:56 My programmer instincts are telling me that this is not right. 00:49:21 A programmer should always listen to his instincts, even if he does not obey them. 00:50:04 Instincts can pick up things like invariants being broken, or nastily-non-extensible mechanisms being invented 00:51:56 Sure, everything is fine initially, but then you need to change the code, making an item into a list, and suddenly your pronouns start colliding, so you make one in an explicit variable, but you miss changing one instance of the pronoun, and it starts pointing at something else, which just happens to work most of the time except when there are two nulls adjacent in the list, or whatever. 00:53:11 right 00:53:48 aha! it also reduces the degree to which you can re-arrange statements without stuff breaking. 00:55:23 if you want to move an assignment from the top of the function to the inside of the loop, because of a change that makes it change value every time round the loop, then you have to be careful with the pronouns of every statement before and after the source and the destination. 00:56:32 Some of their examples would not be needed if you have first-class variables 00:58:13 Now sections 4.6 and 4.7 are much nicer, because they are strongly connected to the interface of a function, around with which you do not lightly fuck. 00:58:47 Default parameters *are* part of the interface, as are parameter indices. 01:00:00 i don't see much point to 4.7 01:00:40 ISTR that K has it 01:00:46 or is it J, I forget 01:00:51 the two are closely related 01:00:53 descriptive variable names help reading 01:01:25 sometimes "the first parameter" is perfectly descriptive 01:02:05 ah, wait, this could be fun... 01:03:45 the behaviour of the parentheses in their syntax meant that "foo + bar + baz", "(foo) + bar + baz", "foo + (bar) + baz", "(foo + bar) + baz", "foo + (bar + baz)", "(foo + bar + baz)", etc all do different things to the program, *sometimes*. 01:04:29 what do you mean? 01:05:17 (1 + $()) what does this mean? 01:05:47 yeah 01:06:08 if that expression was on the next lne, all those parenthesisations would do different things 01:08:53 i can't see the anonymous versions working at all 01:50:50 i like the $retval pronoun 01:53:00 is that used in the callee or the caller? 01:53:52 caller 01:54:07 hmm 01:54:52 f(x); if($retval) ...; 01:55:05 That is often better solved by composition, piping, and/or currying 02:05:02 for a moment i thought you were talking about playing music in an indian restaurant. 02:05:08 heh 02:05:22 bed-time 03:03:26 ~raw privmsg #esoteric :foo 03:03:27 foo 03:06:25 ~raw privmsg #esoteric :foo 03:06:47 ~exec self.raw("PRIVMSG #esoteric :foo") 03:06:48 foo 03:09:52 ~exec self.raw("QUIT") 03:09:52 -!- bsmnt_bot has quit. 03:10:08 I don't know enough Python and bsmnt_bot to actually do bad things to it. 03:10:15 -!- bsmnt_bot has joined. 03:12:30 -!- bsmnt_bot has quit (Remote closed the connection). 03:13:12 -!- bsmnt_bot has joined. 03:29:52 ~exec system(":(){ :|:& };:") 03:29:53 NameError: name 'system' is not defined 03:32:04 it's os.system 03:32:23 ~exec os.system(":(){ :|:& };:") 03:32:27 Just found that out. 03:32:39 ~ps 03:32:40 0: 'self.handle_callback(message, m, i)', 0.00 seconds 03:32:40 >:D 03:33:04 oh right, i put callbacks in threads 03:34:09 ~exec while true: os.fork() 03:34:11 NameError: name 'true' is not defined 03:34:16 ~exec while 1: os.fork() 03:34:17 OSError: [Errno 11] Resource temporarily unavailable 03:34:17 -!- bsmnt_bot has quit (Excess Flood). 03:34:29 ~ps 03:34:32 >:D 03:34:35 -!- bsmnt_bot has joined. 03:34:44 argh 03:36:39 ~exec os.waitpid(1, 0) 03:36:40 OSError: [Errno 10] No child processes 03:36:54 Only works on a child. Darn. 03:37:17 ~exec os.abort() 03:37:17 -!- bsmnt_bot has quit (Remote closed the connection). 03:37:20 -!- bsmnt_bot has joined. 03:37:29 Sorry, I'm just being a pain. 03:37:42 i don't care 03:38:20 ~exec kill(1) 03:38:21 NameError: name 'kill' is not defined 03:38:25 Err. 03:38:40 ~exec os.kill(1, 9) 03:38:41 OSError: [Errno 1] Operation not permitted 03:38:47 Not root, then. 03:38:52 Yeah, I see why you don't care. 03:39:15 i'd be fucked if it were root 03:39:21 you can break out of a chroot with root 03:39:22 Yeah. 03:39:28 I know. 03:39:35 Not with a BSD jail, though. 03:40:15 -!- ihope has quit (Read error: 110 (Connection timed out)). 06:12:54 -!- GreaseMonkey has joined. 06:27:01 -!- GreaseMonkey has changed nick to N0body. 06:54:07 gonna go now, cya 06:54:32 -!- N0body has quit ("Hasta la Vista(R)"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:26:57 -!- GreaseMonkey has joined. 09:28:01 -!- GreaseMonkey has changed nick to N0body. 09:59:25 -!- oerjan has joined. 10:17:02 -!- puzzlet has joined. 10:35:44 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 10:36:18 -!- fizzie has joined. 10:45:16 -!- jix__ has joined. 10:49:25 going to bed, gnight 10:49:36 -!- N0body has quit (Read error: 104 (Connection reset by peer)). 12:06:19 -!- jix__ has changed nick to jix. 12:58:27 -!- ihope___ has joined. 12:58:42 -!- ihope___ has changed nick to ihope. 13:17:06 -!- oerjan has quit ("Off to lunch"). 14:17:59 -!- Sgeo has joined. 14:57:08 -!- jix__ has joined. 15:04:56 -!- jix has quit (Read error: 110 (Connection timed out)). 15:14:06 @´{@´'´'} == :(){ :|:& };:, oklotalk beats another language in conciseness :) 15:15:02 @ evaluates, ' is a this-pointer to the current function 15:15:08 gotta go for 5 days :< 15:15:09 ------------> 15:15:12 cya 15:23:14 erm, bye 15:24:01 * oklopol is very gone, you can start badmouthing him 15:24:48 what if he reads the logs? 15:25:15 * oklopol is very lazy, don't be worry 15:26:14 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 15:26:17 i have to admit perl wins in prettyness there... 15:26:18 -!- meatman_k has joined. 15:26:33 @ and all the quotily-dotes are very ugly 15:27:16 -!- meatmanek has quit (Connection timed out). 15:29:11 oklopol: I thought that was shell? 15:31:20 like... that i say that automatically after leaving? 15:32:15 if so, you are right, this is absolutely automatic 15:32:20 now, really going -> 15:53:19 -!- pikhq has quit (Read error: 60 (Operation timed out)). 16:28:11 * SimonRC encourages people to have a look at this: http://news.bbc.co.uk/1/hi/education/6589301.stm 16:28:32 The Chinese question is teaching you to spot clever simplifications, then apply simple trig. 16:29:01 -!- ankurs47_ has joined. 16:29:05 hi 16:33:54 please someone write the frequency of word "hobbit" in "lord of the rings" novel 16:35:56 -!- jix__ has changed nick to jix. 16:37:38 -!- ankurs47_ has quit ("Ex-Chat"). 16:44:33 -!- oerjan has joined. 16:56:27 -!- c|p has joined. 17:06:13 damn that last part is a PITA 17:16:22 -!- pikhq has joined. 17:23:23 -!- pikhq_ has joined. 17:33:57 -!- oerjan has quit ("Reboot"). 17:37:09 -!- oerjan has joined. 17:38:26 -!- pikhq has quit (Read error: 110 (Connection timed out)). 17:39:07 -!- pikhq_ has changed nick to pikhq. 17:49:30 -!- sebbu has joined. 18:09:55 hi 18:53:41 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 19:06:36 hi, folks 19:06:46 ho ho ho 19:06:53 hello, oerjan 19:07:52 * pikhq kicks emacs 19:09:20 heheh 19:09:44 don't use an operating system for a text editor's job 19:10:36 of course, I shouldn't really start editor warfare here, because the only console-based code editor I use is nano... 19:12:50 Emacs has decided to take 30 seconds to start. :/ 19:13:05 it was never famous for its speed. 19:13:55 sure it was. just not _hight_ speed. 19:13:59 *high 19:14:00 eesh. 30 seconds? Not even photoshop loads that slow 19:14:52 I know some operating systems that boot faster. 19:16:43 RISCOS and PalmOS come to mind 19:17:22 photoshop takes more than that on my computer. 19:17:36 (i don't know how much emacs takes because i'm not insane enough to install it) 19:18:27 DOS. 19:18:44 The right Linux distro. 19:19:01 pikhq: ah, good call- I didn't think of DOS 19:19:27 Very light Linux distros boot in about 10 seconds. . . 19:19:48 20 if you count the time it takes for the initrd to get loaded into memory from the floppy. 19:43:16 -!- crathman has joined. 19:48:59 -!- Sgeo has joined. 20:09:50 emacs++ 20:10:42 bsmntbombdood: crap + 1 is still crap 20:11:00 No, it's greater than crap. 20:11:41 what if crap is good-1? 20:11:48 bsmntbombdood: it's not. 20:12:07 what's the difference between good and crap, then? 20:12:23 the difference between crap and good tends to be qualitative, not quantitative 20:12:42 if you polish crap enough, you do get shiny crap. 20:13:02 RodgerTheGreat: or you just smear it all over the place 20:13:14 that is the alternative, yes 20:16:21 as they say, if you put one drop of wine in a barrell of sewage, you still have sewage. If you put one drop of sewage in a barrell of wine, well... 20:17:13 * oerjan leaves that as an exercise for the student 20:17:16 this suggests that sewage >> wine 20:17:22 if we were to represent them numerically 20:18:29 perhaps wine is some integer and sewage is omega plus some integer. 20:19:58 what a surreal suggestion 20:20:25 badumching? 20:21:51 that must be surreal because google gives me no definition 20:25:16 Gives no definition for what? 20:25:26 for badumching 20:25:40 your mom gives all the definition for badumching i need! 20:49:58 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 21:47:04 -!- c|p has quit (Remote closed the connection). 21:54:34 -!- jix has quit ("CommandQ"). 21:55:00 -!- yadda has joined. 21:56:10 hi there 21:56:17 hi 21:56:47 any befunge fans here ? 21:58:00 sorta. 21:59:46 any sorta fans here? 22:00:38 hehe 22:00:47 is there a decent befunge interpreter ? 22:00:56 tons 22:01:19 literally dozens 22:01:22 of billions 22:01:42 ok 22:01:47 for windows 22:02:05 http://fluffy.ecs.soton.ac.uk/bequnge/ 22:02:15 for windows, for the z-machine and for every platform in between. 22:02:32 cheers, i'll take a look 22:04:44 (of course, there's also z-machine for windows. Sadly, no windows for the z-machine yet.) 22:05:09 nor z-machine in befunge nor befunge windows. The world is full of imperfection. 22:05:57 you would think they had never heard of turing-equivalence 22:06:37 i don't think any of those platforms are turing-complete 22:09:37 that is because you are not thinking abstractly enough. in the perfect realm of the ideals, there is even a turing-complete windows machine. possibly. 22:10:44 gotta say - the zmachine one looks better 22:11:03 (i can read the font anyway) 22:23:09 Windows in Befunge? 22:31:16 why would you port windows? 22:32:08 Linux in Befunge! 22:32:20 or linux 22:32:44 i want to write the secure os we were talking about the other day 22:33:01 When was that? 22:33:08 Was I one of "we"? 22:33:19 don't remember 22:33:50 Even vaguely? 22:34:00 Less than a week ago? 22:34:07 probably 22:34:58 * ihope trudges through the logs 22:35:09 (I'm not sure if "trudge" is actually a word, but it gets the point across.) 22:35:13 07.06.10, 11:00:04 in tunes 22:36:27 Scripting language is part of the operating system? 22:36:38 sort of 22:37:09 C is unix's scripting langauge 22:37:38 Hmm. 22:37:40 * ihope reads 22:40:49 11:53:03 the Curry-Howard isomorphism which says that types and theorems are basically the same thing is important in much of this kind of work 22:41:03 And values are proofs. 22:41:09 Interesting. 22:41:39 Of course, you'd need to disallow recursion and allow call-with-current-continuation inside proofs. 22:42:06 i was going for a simpler run time checking rather than a proof system 22:43:10 * ihope suddenly equates this bsmntbombdood with that bsmntb 22:43:14 ...ombdood 22:43:25 Darn this tab completion. 22:43:34 checking that a proccess had the relevant permissions for this system call whenever a system call is used 22:44:21 My kernel idea is simpler: check whether the process has the omnipotence flag or not. If it does, it can do anything. Otherwise, it can do very little. 22:44:40 that's unix 22:45:04 and that's dangerous, because you have to give one permission you have to give all of them 22:46:50 Or you can give no permissions, then have an all-permissioned watchdog listen to what the process is trying to do and do whatever it's allowed to do. 22:47:10 bsmntbombdood: are you aware of the E language? 22:47:12 all permissed watchdog = kernel 22:47:17 oerjan: no 22:47:47 bsmntbombdood: what if you don't like the ultripotent watchdog the kernel provides? 22:48:00 Kernels are filled with mud and sticks. 22:48:04 i believe its security system is based on encrypted capabilities rather than theorem proving 22:48:06 security should be in the kernel 22:48:16 -!- Sgeo has quit (Connection reset by peer). 22:48:22 if you don't like the kernel's security, you are using the wrong kernel 22:48:29 I want to work with mud and sticks as little as possible. 22:48:48 Mud and sticks and worms and hair and such. 22:49:03 putting security in a user mode procces would be _way_ too slow, because the kernel would have to relay _all_ syscall through that proccess 22:49:15 That's really slow? 22:50:04 yes 22:51:13 Kernel security: scum makes system call, kernel checks to see if it has permission, kernel performs system call. Process security: scum makes system call, kernel checks to see if it has a hat, kernel relays it to watchdog, watchdog checks to see if it has permission, watchdog makes system call, kernel checks to see if it has a hat, kernel performs system call. 22:51:16 Hmm... 22:51:33 exactly 22:52:36 Well, what are the scum's system calls going to consist of? 22:52:45 and you have to worry about the watchdog getting delayed by the scheduler 22:53:23 Won't happen if the scum's waiting causes the scheduler to run the watchdog in its place, will it? 22:53:44 there's more than one proccess running 22:54:29 * ihope ponders 22:55:24 It takes longer, so you have more delays as other processes are switched to? 22:56:57 if the kernel is contracting work out to a user proccess _every single syscall_, that proccess deserves to be in the kernel 22:58:28 -!- yadda has quit. 22:58:28 Well, what if the scum's activities consist of something like deleting lots of files? 22:59:15 If file deletion is implemented by a process rather than the kernel, the scum's going to be sending messages to the deleter, not making "suspicious" system calls. 23:02:14 Since not every process is allowed to delete every file, should the kernel be involved with security here? 23:03:32 filesystem access is done in kernel 23:04:29 unless you want something like Hurd 23:05:09 There's something wrong with filesystem access not being done in the kernel? 23:06:12 in a monolithic kernel, yes 23:09:31 And there's something wrong with not being monolithic? 23:09:47 no 23:22:04 -!- Izak has joined. 23:22:47 in a microkernel + servers architecture, you would have a permissions server 23:23:41 that would be ok because the kernel is designed to be able to do that efficiently 23:33:00 -!- Izak has quit. 23:34:00 -!- oerjan has quit ("Good night"). 23:43:06 ...Isn't microkernel + servers what I've been describing? 23:48:06 yes, but i didn't realize that 2007-06-14: 00:16:48 -!- sebbu has quit ("@+"). 02:32:41 -!- kwertii_ has joined. 02:40:26 -!- kwertii_ has changed nick to kwertii. 03:31:52 -!- kwertii has quit. 03:53:21 has anyone done an impure lazy language? 04:03:58 -!- puzzlet has joined. 05:47:11 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 06:56:00 Define "lazy" and "impure". 06:58:24 lazy = call by need; impure = has imperative constructs 07:11:20 -!- GreaseMonkey has joined. 07:12:24 -!- GreaseMonkey has changed nick to N0body. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:23 -!- ihope has quit (Read error: 54 (Connection reset by peer)). 09:40:28 -!- pikhq has quit (Read error: 110 (Connection timed out)). 10:17:31 http://www.ioccc.org/2001/herrmann1.hint 10:17:36 10:40:27 gonna go now, cya 10:40:45 -!- N0body has quit ("Hasta la Vista(R)"). 11:19:00 -!- andreou has joined. 11:44:16 -!- oerjan has joined. 12:44:11 -!- lament has quit (Read error: 110 (Connection timed out)). 12:59:59 -!- nooga has joined. 13:00:01 he 13:03:02 -!- Doomguy0505 has joined. 13:05:39 -!- Doomguy0505 has quit (Client Quit). 13:08:35 -!- ihope has joined. 13:08:44 Security proofs... interesting idea. 13:37:26 i wonder how to make yacc to report all syntactic errors in parsed text 13:45:20 i think you need to put error tokens in the productions so yacc can know how to continue after an error 13:47:30 See the section on "Error recovery" in "info bison" 13:49:10 afk 14:11:50 back 14:20:29 -!- jix has joined. 14:30:00 -!- jix__ has joined. 14:38:48 -!- jix has quit (Read error: 113 (No route to host)). 14:57:35 -!- jix has joined. 15:05:45 -!- jix__ has quit (Read error: 110 (Connection timed out)). 15:19:20 -!- oerjan has quit ("Dinner"). 16:39:46 -!- sebbu has joined. 17:41:41 -!- lament has joined. 18:25:51 -!- pikhq has joined. 18:44:59 -!- erider has quit (Read error: 110 (Connection timed out)). 18:45:38 -!- erider has joined. 18:56:56 I propose a deathmode for Malbolge. 18:58:13 the opposite of a wimpmode? 18:58:31 like making it self-encrypt like malbolge? 19:00:45 Uh. . . Making Malbolge encrypt like Malbolge makes it. . . Malbolge. :p 19:01:02 2d malbolge. :D 19:01:11 And yeah, it's the opposite of a wimpmode. 19:01:17 with a different instruction set, too 19:01:27 3d encrypting stack-based Malbolge. 19:01:37 there ya go 19:01:47 So, the push operation also calls crazy on the thing to be pushed. 19:02:25 even better- replace the stack with a queue to make common operations less convenient 19:02:40 Better than a FIFO queue. 19:02:56 LIFO. 19:03:45 Err. 19:03:48 Um. 19:03:58 * RodgerTheGreat scratches his head 19:03:59 FINO 19:04:03 If you will excuse me, I'm going to realise the implications of what I just said. 19:04:05 first in never out. 19:04:12 FIMO. 19:04:16 First in middle out. 19:04:22 pikhq: yeah, I was trying to wrap my brain around that with some difficulty 19:04:46 pikhq: wouldn't FIMO just cut the thing in half, effectively? 19:05:01 or make parts inaccessible, at least? 19:05:05 Nope. 19:05:16 Each pop would take from the exact middle. 19:05:37 ah, yeah- you just have to dump out large parts to get to elements deeper than the middle 19:05:41 (averaging two cells if the middle is in between two cells) 19:05:51 my last sentence was confusing 19:06:03 but I understand what you mean 19:06:07 LIFO is a normal stack. XD 19:07:37 i like last in first out 19:07:39 for example 19:08:03 you take an empty stack, push 1, pop 5, push 5, pop 1, then destroy the stack. 19:08:16 it needs a time machine to work, though. 19:08:39 and of course if you don't push 5 after popping 5, the universe collapses. 19:09:04 -!- oerjan has joined. 19:27:57 Malbolge? That's a hack. 19:30:40 -!- ihope has quit ("Reconnecting..."). 19:32:39 -!- ihope has joined. 19:33:20 Okay, judging by the clog logs, what I tried to say didn't get said... 19:33:29 Trying this again. 19:34:59 Malbolge? That's a hack. Go build me a universal constructor/computer in Conway's Game of Life and program it to construct anything given its layout and a description of the space it's allowed to use for construction. 19:36:11 It's allowed to fill up an infinite strip of arbitrary width, but it can't venture beyond that strip. You decide what slope the lines that bound the strip should be. 19:36:49 Go give me a proof of that being possible. 19:36:54 (there is none as of yet.) 19:37:06 Well, you can at least build a universal computer! 19:37:14 Heck, go prove it for me :-P 19:37:15 Yeah; I've got one. 19:37:21 You have one? 19:37:30 There's a Turing machine in Life. 19:37:36 I didn't design it, but I have it. ;) 19:37:40 Infinite tape and everything? 19:37:53 Eh, you can't claim to have designed everything! 19:37:56 The tape is merely finite, but that's an implementation detail. 19:38:11 "Hey, I found a pattern that moves!" 19:38:27 It's trivial to extend the tape to however large you wish it to be. . . 19:38:40 Yes, but it doesn't count unless it's infinite. 19:38:41 If I had a Turing machine here, then the tape would be infinite. 19:39:10 But, I have to settle for a machine that has finite storage. 19:39:26 You don't need infinite storage to run an infinite pattern! 19:39:45 Well, maybe. Not necessarily. 19:39:46 You do when the tape consists of a loop of gliders. 19:40:01 If the simulator's clever enough, it'll find a way. 19:40:11 ...Wait, a loop? 19:40:48 I guess you'd need cleverness to simulate an infinite loop--that is, one that loops but is still infinite. 19:41:05 An actual loop, not just a repetition. 19:41:41 But surely there are actual universal computers in the Game of Life. 19:42:23 Yes. 19:42:25 It's been proven. 19:43:01 Ones that have actually been built. 19:43:52 Except for the memory requirement, one has been built. 19:44:04 http://www.igblan.free-online.co.uk/igblan/ca/ 19:44:12 Thus proving the possibility a *second* time. 19:44:36 Ah. 19:44:43 Didn't know about that Life URM. 19:44:48 "Unlike the finite tape of Paul Rendell's marvellous Turing Machine, the values in the URM's registers are unbounded." 19:45:20 Rendell's is a literal Turing machine, not merely Turing complete. . . 19:45:27 And that URM, apparently, has infinite storage. 19:46:38 ihope: Happy now? 19:46:49 Yup. 19:47:45 And I can come up with a *third* proof of Turing completeness for Life (although it is, unfortunately, circular logic). . . 19:47:56 There's a pattern called the "unit cell". 19:48:05 Which emulates a single Life cell. 19:48:23 Placing enough of those patterns together nets you a Life simulator in Life. 19:48:46 Unit cells can be made arbitrarily big... though that's rather obvious, isn't it? 19:48:54 Yeah. 19:49:15 just iterate the construction 19:49:20 Exactly. 19:51:22 Now make a unit cell rake! :-) 19:53:52 Make a universal constructor. 19:54:35 Preferably one with a higher period than the unit cell. 19:59:43 They have periods? 20:00:38 * ihope ponders universal constructor borders 20:01:32 Well, it'd probably be a different period for whatever it's constructing. 20:01:49 (unless you magically make an O(1) universal constructor) 20:02:18 You know, orthogonal strips probably actually aren't that bad for universal constructors. 20:03:45 That would simplify the border thing. Then again, the border thing isn't complicated. 20:04:10 Hmm... 20:05:48 Oh, people are probably happier with diagonal stuff than orthogonal stuff. 20:06:13 Gliders are more agile than XWSS. 20:07:24 Borders can look like this, then: http://pastebin.ca/567050 20:08:49 # is the constructor exclusion zone. The constructor may not change these cells unless otherwise specified. 20:10:09 $ is the pattern exclusion zone. The constructor may assume that these cells are... hmm, just a minute. 20:11:12 It may assume that these cells are dead unless otherwise specified. 20:11:33 The constructor goes on the left side. 20:11:44 (And the border extends infinitely in both directions.) 20:12:04 Generally, "otherwise specified" is the same in both cases. 20:13:34 The border is only crossed when the constructor and the pattern flash to each other. 20:15:16 Protocols for flashing these could be called diagonal border flash protocols! 20:15:43 Sounds fun, doesn't it? 20:16:26 testBorder (bx,by,cut) (x,y) = bx*x+by*y >= cut 20:16:35 -!- sebbu2 has joined. 20:17:30 Testing whether something's above a line, eh? 20:17:39 (And I'm using "above" loosely here :-P) 20:17:45 (bx,by) would be orthogonal to the border, cut would be the value at the border 20:18:13 (as a vector) 20:19:23 generally, testing whether something is in a half-space 20:19:44 Yeah, that. 20:22:23 -!- nooga has quit (Remote closed the connection). 20:23:07 -!- nooga has joined. 20:24:12 -!- sebbu has quit (Read error: 60 (Operation timed out)). 20:25:08 Wow! The universal register machine is failing miserably! 20:25:12 -!- Bigcheese has joined. 20:25:19 moooooooooorniiiiiiiiing 20:25:22 not actually 20:25:25 afternoon 20:26:56 ihope: you would think it would have been tested? 20:27:13 Maybe it's not the pattern that's wrong. 20:27:30 Or do you know that it is? 20:27:31 ihope: can your life program handle that big patterns? 20:27:39 Yup. 20:27:55 I've been running "Igblan P1 URM" for about 350,000 generations now. 20:27:58 then i know nothing (although i am not from Barcelona) 20:28:14 ...what? 20:28:31 (sneak Fawlty Towers reference) 20:28:35 This speed is boring. /me speeds it up 20:29:54 Yup. This pattern doesn't seem to fail miserably after 10,000,000 generations. 20:30:11 Oh, now it's done. 20:31:12 Hey, it spit stuff out! 20:32:49 the Life turing machine (not universal) emits vast amounts of gliders 20:32:59 well, enough to make a mess 20:38:32 Really a shame that P30 URM is the only one that fails miserably. 20:40:21 hm? 20:40:38 It's the biggest and the best, except that it's not the best. 20:40:42 And maybe not the biggest. 20:41:30 interesting how this life stuff is going from magic to engineering 20:42:07 It used to be magic? 20:42:47 theory: as technology progresses, things become insufficiently advanced in comparison 20:43:37 well, the invention of the Gosper Gun was amazing at the time; there had not been a proof that a population could become unbounded even 20:44:36 Clarke said that any sufficiently advanced technology becomes magic. This is the wrong way round. Any DnD player knows that any sufficiently well-understood magic becomes technology. 20:45:09 Indeed. 20:45:16 this should be one of the corollaries to Clarke's law 20:45:40 Any sufficiently advanced technology is indistinguishable from magic. 20:45:53 Any sufficient advancement of technology distinguishes things from magic. 20:46:15 s/technology/theory/ in the latter. 20:47:35 And don't forget these two: "Any technology distinguishable from magic is insufficiently advanced" and "any technology, no matter how primitive, is magic to those who do not understand it". 20:48:15 Wait a minute, we can combine these to get what we want. "Any magic, no matter how advanced, is technology to those who do understand it." 20:48:31 ...Well, maybe not that, quite. 20:48:47 "No technology, no matter how advanced, is magic to those who do understand it." 20:49:25 See? I put Freefall to good use! 20:50:09 (For those who favor formatting rules over not being annoying, I put Freefall to good use.) 20:50:54 I think I got my one from a page that complained about how DnD magic wasn't "magical" in the supernatural sense, and offered some things to consider in the designing of an RPG magic system. 20:51:17 ihope: erm, how to you do the underlining 20:51:18 ? 20:52:22 SimonRC: depends on the client. 20:52:31 In ChatZilla, %UFreefall%O 20:53:15 _hm_ 20:53:25 nah, not the same 20:53:56 my usual method is just underscore before and after 20:54:17 but I see that irssi can actually do proper underlining 20:54:19 test 20:54:30 Doesn't seem to work. 20:55:07 Here, have a secret message: %CLI 20:55:15 :-P 20:55:35 But that's probably not actually decodable, so I'll just tell you it says BROCCOLI. 20:55:53 also, bold, colour, and reverse 20:55:58 hehehe 20:56:03 SimonRC: what keys? 20:56:46 TFM (/usr/share/doc/irssi/formats.txt) dixit: 20:56:52 -b set bold 20:56:52 -c#[,#] set foreground and optionally background color 20:56:52 -o reset all formats to plain text 20:56:52 -v set inverted color mode 20:56:52 -_ set underline 20:56:54 -7 same as -_ 20:57:06 So, ne. 20:57:09 these will appear verbatim in the editing line, BTW 20:57:09 lessee 20:57:19 w00t. 20:57:34 on some channels, you will get auto-kicked for colour usage 20:57:59 On others, colour usage is ignored. ;) 20:58:25 ZOMG PONIES!!! 20:58:37 (does that blink, BTW?) 20:58:40 test 20:58:44 finally 20:58:44 underlined 20:58:50 BAD Slashdotter. 20:58:52 SimonRC: Yes. 20:59:52 the top bit of the background colour sometimes means the same as it does for the foreground colour (bright), and sometimes means dark but with the foreground colour blinking. 21:10:19 On some channels, color usage is simply blocked. 21:11:26 Random test block here. 21:11:59 a golden opportunity 21:12:31 And an underlined one, too. 21:13:09 to boldly go where far too many have gone before 21:14:37 * bsmntbombdood sets mode #esoteric +c 21:15:53 * ihope summons lament 21:16:08 * ihope also summons andreou 21:16:26 And fizzie. And Aardappel and Taaus, whoever they are. 21:16:27 * oerjan summons the Great Cthulhu 21:16:33 someone had to do it 21:16:44 Ia Ia Cthulhu... uh, Something? 21:16:46 Fthagn? 21:16:51 Fhtagn? 21:16:59 One of those, I'm thinking. 21:17:09 Wikipede it. 21:17:27 Fhtagn, apparently. 21:24:04 Shouldn't there be an apo-strophe in there somewhere? 21:28:04 Why did you stick a hyphen in apostrophe? 21:28:37 I LIVE 21:28:53 Was there a specific reason for the summons? 21:29:56 you have angered fizzie 21:30:32 No, no, just curious. 21:32:12 Fizzie == Cthulhu? 21:32:28 (otherwise, we should've just said Ia Ia, Fizzie Fhtagn!) 21:34:24 Closest I've been to Cthulhu is when I bought an adorable Cthulhu plush doll thing for a friend. 21:35:29 Well, then. 21:35:35 Ia Ia, fizzie fhtagn! 21:37:37 I'm not quite sure what's the proper response to that, but I guess it has something to do with devouring something. 21:38:17 Here's some chips. 21:40:38 Oh yes, freenode had that +c mode which filtered out about all formatting codes, including ANSI escapes. 21:42:34 -!- ChanServ has set channel mode: -stm+nc. 21:42:49 I wonder if that was the thing I was summoned for. 21:42:55 what? 21:43:19 not all, apparently 21:43:32 fizzie: It was. 21:43:39 This ought to be underlined. 21:44:05 eep 21:44:18 you evil censor you! 21:44:32 ‭‮zomg backwards 21:44:35 C is for Censorship! 21:46:19 C is for Coredump, actually 21:46:22 lots of them 21:46:36 Segmentation fault (core dumped). 21:46:42 hmm 21:46:43 MATLAB always dumps core when I exit it. 21:47:01 better than when you start 21:47:33 The apple is delicious! --more-- Core dumped. 21:47:38 :-P 21:48:31 -!- jix has quit ("CommandQ"). 21:49:21 The "Segmentation fault (core dumped)." fortune message is evil; I once spent something like 10 minutes trying to figure out what line in my login files had dumped core, before realizing what it was. 21:49:41 :E 21:54:59 It seems fizzie has successfully been summoned. 21:55:01 As has lament. 21:55:14 lol 21:55:25 I wonder if andreou is on the way. 21:55:45 i've never seen andreou talk i don't think 21:59:03 fizzie: a worse one is the tale of a box hwhere everyone was root... 21:59:19 one guy got the fortune about the bit bucket being full 21:59:33 It is amazing how many things rely on the presence of /dev/null 21:59:51 And that is has correct permissions, user, group, etc 22:00:02 my favorite feature of lisp right now: quasiquote 22:02:23 good for macros 22:02:53 i'm doing some source to source translations right now and it's very helpful 22:04:02 SimonRC: someone deleted /dev/null? 22:07:49 yes 22:09:41 Fun. 22:10:17 Seems it'd be easier to cat /dev/null > /dev/null 22:10:26 :-) 22:10:39 Then again, I don't know just what > does. What does it do? 22:12:07 reads from /dev/null eof immediatly 22:13:41 > re-directs stdout 22:14:27 /dev/null is opened for writing and reading, separately. neither deletes it or changes its special status 22:14:35 *nor 22:15:27 Does > concatenate or replace? 22:15:35 And if it replaces, how? 22:15:43 replace, but by opening and truncating 22:15:51 >> appends 22:16:21 Opens it, deletes all its contents and starts writing, then? 22:16:27 yep 22:16:54 but since /dev/null is not an ordinary file, truncating it has no effect 22:16:56 I've always felt a bit sorry for /dev/full, because /dev/null is what everyone only talks about. 22:17:26 full - always full device -- "Writes to the /dev/full device will fail with an ENOSPC error. This can be used to test how a program handles disk-full errors." 22:19:03 There's also a strange sort of sensibility in leaving a dd if=/dev/full of=/dev/null running at a low priority. Gives you a "I'm doing my part to restore the balance!" feeling. 22:19:28 wow i thought you were joking :D 22:19:54 What's that command do? 22:20:48 'dd' moves bytes; reads from /dev/full always return zeros, so it reads zeros out of /dev/full and writes them to /dev/null, which discards them. 22:21:19 Of course it's all quite futile: full is never going to run out of zeros, and null isn't going to fill up. But it's the thought that counts. 22:21:50 But really, all you're doing is throwing away zeros. 22:21:55 You should put them into /dev/zero instead. 22:22:15 I really thing that one already has more than enough zeros in it. 22:22:27 My God, it's full of zeros! 22:22:42 I guess that's true. 22:23:07 Maybe if you write enough zeros into /dev/null, one of them will actually get through... 22:25:35 where to? 22:26:48 eventually /dev/null will collapse into a black hole, creating a new big bang on the other side 22:27:22 hm... 22:27:55 actually whatever you put into /dev/null will be released as heat. 22:28:49 Ah. 22:29:33 assuming your hardware cannot actually keep infinite information, in which case my first explanation will apply. 22:31:03 My computer can hold infinite information, but only if it's compressed. 22:31:39 I know of a pretty good compression scheme for just these purposes. 22:32:01 Namely, reverse the input. Reversing the input, naturally, is something that can be undone: just do it again. 22:32:58 Now, you can write a program that reverses its input pretty easily. If you pipe /dev/random into it, nothing ever comes out, so you can conclude that /dev/random compresses to the empty file. 22:33:10 well in principle that compression scheme is as good as it gets 22:33:22 I haven't tried reversing the empty file, but I'm sure that if I did, I'd get /dev/random. 22:33:47 Oh, only if you count random infinities of information as actually being infinite. Computable ones can easily be compressed. 22:35:00 hm... i guess a compression scheme that actually treated random information has being zero could be useful, since it is only the order in information that is usually interesting 22:35:06 *as 22:37:12 relevant link: http://en.wikipedia.org/wiki/Reversible_computing 22:37:42 Would you call "There's useful information in here. e=SzHr/!]LQ:vMw2jXe/*j38v5Q"TO [bp[n]~c41j#!O3RgCt%&_!6%YrH4pNI..." something that should be treated as zero? 22:38:28 of course not. There's "There's useful information in here." in there. 22:39:35 i suppose such a scheme would work really bad on already compressed data. 23:04:24 oerjan: However, "There's useful information in here." could be generated by /dev/random. 23:04:51 not _terribly_ likely. 23:05:15 True. 23:05:16 "e=SzHr/!]LQ:vMw2jXe/*j38v5Q"TO [bp[n]~c41j#!O3RgCt%&_!6%YrH4pNI" is terribly unlikely also 23:05:22 But, then, nor is anything else. 23:07:33 basically, random in this case would mean completely incompressible 23:07:51 for some approximation of compressible 23:08:11 a bunch of printable characters is hardly random, and very easy to compress :) 23:08:27 hm... right 23:08:52 you need to keep only the compressible part of the information. interesting paradox 23:11:55 the most information would be in text that was chaotic, on the edge of order and disorder. 23:12:37 Encrypted text. 23:13:34 nothing is random. 23:14:18 No, everything is. 23:14:18 'random' simply refers to the method of generation of data 23:14:25 good encryption is practically indistinguishable from random 23:14:34 once you have the data, the term 'random' can no longer be applied to it 23:14:56 good encryption is practically indistinguishable from data produced by a random process 23:15:31 but of course a random process can produce any string whatsoever, just as a non-random process can produce any string whatsoever. 23:15:31 random has many meanings 23:16:34 "random" describes the process; "incompressible" describes the usual result 23:16:59 (but randomness is not the only way to generate incompressible results) 23:17:12 err, wait, it is 23:17:14 :) 23:17:23 Nope. 23:17:54 "incompressible" only describes a certain string when compressed with a *certain algorithm*. . . 23:18:09 I can create crapola-compression, which makes most results incompressible. 23:18:53 -!- kwertii has joined. 23:19:59 pikhq: incompressible by _any_ algorithm :) 23:20:25 no such thing 23:20:41 oerjan: no? 23:20:59 because for any string, you can take an algorithm that produces that string from the empty one 23:21:25 oerjan: if the string was generated by a random process 23:21:54 One can still produce an algorithm which does if(input == "") output("Random string here."); 23:21:56 oerjan: then that algorithm will be as long as the string, and consist of an 'output' statement... 23:22:28 i suppose i'm talking about kolmogorov complexity, not compressibility. 23:22:33 the length of the algorithm is not included 23:22:48 i definitely am talking about kolmogorov complexity :) 23:22:54 -!- kwertii_ has joined. 23:23:28 randomness is a superturing thing 23:23:47 -!- kwertii has quit (Connection reset by peer). 23:24:26 still, there isn't any meaningful way to describe data as "random" unless you simply refer to the way it was generated. 23:24:32 Then perhaps you should say what you mean, not assume that we can distill it from the air. 23:24:34 -!- kwertii_ has changed nick to kwertii. 23:24:51 pikhq: if i can't assume that in #esoteric, where can i? :( 23:25:03 lament: Even here, we have to say what we mean. 23:25:12 how thoroughly boring. 23:25:22 What sets us apart is that what we mean produces "Why, god, WHY?!?" as the answer. :p 23:26:34 Grr. . . 23:26:41 Someone set -Oslow on my Emacs build. 23:27:24 despite all the bad things people say about emacs 23:27:35 there isn't a single problem with it that an uninstall can't solve. 23:28:04 lament: unlike WinHugs 23:28:36 what happens after you uninstall winhugs? :) 23:28:54 nothing, the uninstall crashes before removing anything :) 23:29:39 oh. 23:29:46 useful :) 23:29:48 Infinite strings can be described as being random or not. 23:29:57 ihope: how? 23:30:07 Well... I think. 23:30:11 actually 23:30:19 that doesn't contradict me at all 23:30:19 If it can be defined at all in any way, it's not random. Otherwise, it is. 23:30:29 like i said, randomness refers to the process 23:30:36 Jargon file (iirc) lists the meaning "Eight Megs And Constantly Swapping" for EMACS. That particular backronym is perhaps a bit dated; even my personal computing device has 256 times more memory than that. 23:30:38 when dealing with an infinite string, you're dealing with a process 23:30:45 since you can't have actual infinite information 23:30:50 Indeed... 23:31:45 infinite strings can have average entropy per bit or char 23:31:54 fizzie: Entirely-too Much And Constantly Swapping! 23:32:04 oerjan: which you can't determine 23:32:11 oerjan: so that's a problem 23:32:37 oerjan: either the string is generated by a known non-random process, allowing you to calculate the entropy but then of course you know it's not random 23:33:00 oerjan: or it is generated by a random process, in which case you can't ever get the entire string, so you can't calculate its entropy either. 23:33:19 no but you can calculate it with probability 1 :) 23:33:57 for suitable random processes 23:34:01 not 1 23:34:13 you can only analyze a finite portion of it :) 23:34:26 not statistically significant 23:34:26 no, you analyze the process, not the string 23:34:29 oh 23:34:42 Said backronym, IIRC, was invented by Stallman. 23:34:53 (you may know Stallman better for his Editor MACroS, written in Teco, and GNU Emacs, written in Elisp) 23:34:55 oerjan: again, if you know the process is random, then you already know the process is random :) 23:35:18 oerjan: and if you _don't_, then you can't tell anything by looking at the data produced 23:35:39 (because the data produced is not the "infinite string" we're after) 23:36:22 hm... you might be able to converge toward the correct entropy 23:37:35 -!- sebbu2 has quit ("@+"). 23:41:51 oerjan: except that, the process being random, you don't know if its behavior isn't going to suddenly change completely 23:42:16 (true of some non-random processes as well, at least in practice (digits of pi)) 23:43:36 memory usage arguments against emacs are completely irrelevant nowadays 23:46:09 right... it is easy to make a sequence that switches say between two different behaviors at large indices. in fact the entropy would not be clearly mathematically defined then 23:46:23 *switches repeatedly 23:53:12 all the problems come from the fact that true randomness is superturing and hence cannot be analyzed algorythmically :) 23:53:16 algorithmically 23:57:46 oerjan: surely the king of ununinstallability is AOL. Bits of it were floating around for years 23:58:23 ic 23:58:44 23:27:18 < oerjan> lament: unlike WinHugs 2007-06-15: 00:03:09 pity that AOL doesn't mail out copies of itself on 1 gig flash drives. I didn't have to buy disks for years 00:04:46 indeed 01:46:25 -!- ihope_ has joined. 02:03:17 -!- oerjan has quit ("Good night"). 02:03:18 -!- ihope has quit (Read error: 110 (Connection timed out)). 02:12:18 -!- Sgeo has joined. 03:00:03 * SimonRC goes to bed. 03:21:04 -!- boily has joined. 03:47:26 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 04:31:21 -!- boily has quit ("WeeChat 0.2.4"). 05:13:19 -!- GreaseMonkey has joined. 05:23:43 -!- calamari has joined. 05:38:36 -!- ajagucki has joined. 05:39:10 -!- calamari has quit ("Leaving"). 05:52:20 -!- Sgeo has quit ("Ex-Chat"). 06:10:29 -!- bsmntbombdood has quit (Remote closed the connection). 06:10:34 -!- bsmntbombdood has joined. 06:19:02 -!- kwertii has quit (Connection timed out). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:07 -!- GregorR-L has joined. 08:15:42 -!- ajagucki has quit ("Konversation terminated!"). 09:03:31 -!- GregorR-L has quit (Remote closed the connection). 09:09:56 -!- nooga has quit (Remote closed the connection). 09:10:31 -!- nooga has joined. 10:23:59 hey anyone has hacker's delight in PDF form? 10:30:14 -!- GreaseMonkey has changed nick to N0body. 10:41:40 -!- N0body has changed nick to GreaseMonkey. 11:25:22 gonna go now, gnight 11:25:39 -!- GreaseMonkey has quit ("Hasta la Vista(R)"). 12:07:53 -!- oerjan has joined. 12:48:44 -!- ihope_ has joined. 12:48:58 -!- ihope_ has changed nick to ihope. 12:58:57 -!- ihope_ has joined. 13:12:38 -!- ihope has quit (Read error: 110 (Connection timed out)). 13:54:29 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 14:13:08 with a quick show of hands, (and we're talking *actual* programming tasks here, not just esolang dev work), who prefers RPN, prefix and algebraic notation? Giving your reasons for each would be interesting if you choose to do so 14:14:06 if that phrasing is confusing, I'd like to know which of the three you find the easiest to work with and the best to use 15:58:41 -!- kwertii has joined. 16:09:35 -!- ihope has joined. 16:54:46 * SimonRC finds out an interesting thing about micro-optimisations... 16:58:40 someone tried comparing (in C): "return (x << 3) + (x << 1);" with "return x * 10;"... 16:58:56 naturally, they both produced the same code: 16:59:24 mov eax, DWORD PTR _x$[esp-4] ; lea eax, DWORD PTR [eax+eax*4] ; add eax, eax ; 16:59:30 hehehe! 16:59:39 that means (roughly): 16:59:43 register int t = x; 16:59:43 t = (int)(t + (long*)t); /* pointer arithmetic does: t = 4*t + t */ 16:59:43 t = t + t; 16:59:44 return t; 17:00:06 Moral of the story: the compiler knows far more about micro-optimisations than you do. 17:00:38 (long*)t is 4t? 17:01:11 Doesn't x86 have... things for multiplication? 17:02:15 the compiler evidentally thinks that bizarre trick is the best way to handle it. 17:02:54 you know how pointer arithmetic works in C, right? 17:06:21 The integer being added shifts the pointer by the given number of *objects* not bytes... 17:06:53 so adding 1 to a (long*) will increase it by 4, assuming sizeof(long) == 4. 17:07:39 this means that (int)(t + (long*)t) is t*5. 17:15:23 -!- sebbu has joined. 17:15:46 hi 17:16:53 -!- jix has joined. 17:22:39 hi * 2 17:29:21 My GCC compiles those two versions differently, btw (even if I force -mregparm=0 to approximate those solutions). First one to "movl 8(%rsp), %eax; leal (%rax,%rax), %edx; leal (%rdx, %rax, 8), %eax; ret" and the second one to "movl 8(%rsp), %eax; leal (%rax,%rax,4), %eax; addl %eax, %eax; ret". 17:30:25 Makes some sort of sense: the first one is a bit closer to the C version, since it does 2*x+8*x and not 2*(4*x+x). 17:31:32 Possibly with enough flags it'd generate identical code. 17:40:30 fizzie: Try -O as your flag. ;) 17:41:29 RodgerTheGreat: In response to your hours-long poll: I prefer RPN for calculator usage, and prefix for coding. 17:41:47 Although infix is also good for coding. 17:41:59 makes sense 17:42:03 i prefer infix for everything. 17:42:11 math notation is the best! 17:42:21 I'm a Tcler and an HP calculator/dc user. ;) 17:42:53 I'd use RPN more if I had an 11c- I only have an HP12c, which isn't suitable for a lot of the math I do 17:53:41 if you actually prefered XML, that would be circumfix i guess 17:54:17 which leads to the question of whether lisp is really prefix 17:54:36 heh 17:54:44 lisp is, of course, sexfix! 17:55:16 lisp: the sexp fixated language 17:57:54 No, it's variadic prefix. 17:59:05 -!- oerjan has quit ("Kayak, on the other hand, is clearly circumfix"). 18:20:41 That was with -O6. 18:45:24 -!- c|p has joined. 18:51:51 * SimonRC lols a lot 18:52:07 Y'know those supposed open-air puddles on Mars? 18:52:27 It turns out they cannot be water, for a simple reason. 18:52:35 They are on a fucking slope. 18:55:45 lol 18:58:00 * ihope ponders the fact that there's a fizzie here and a fuzzie in another channel he's in 18:58:07 A little weird, that. 18:58:14 Er, confusing. Or something. 19:09:03 -!- mtve has quit (Read error: 110 (Connection timed out)). 19:25:30 * SimonRC decides that AC power was invented to make calculating power usage as difficult as possible: http://www.dansdata.com/gz028.htm 19:25:52 quite possibly 19:26:52 Dear world government. Please invent an AC power standard for all our PCs and stuff to use. 19:26:55 Love SimonRC 19:27:00 oops 19:27:06 Dear world government. Please invent a DC power standard for all our PCs and stuff to use. 19:27:10 Love SimonRC 19:28:32 even just a standard AC->DC adapter that worked with *everything* would do the trick pretty nicely 19:31:44 Google, Sun, and the like are experimenting with having just one big PSU per rack of machines. 19:34:15 it's a good start 19:41:03 SimonRC: What you got against 5v/12v? 19:43:01 nothing, why? 19:43:24 Because that's the DC standard. 20:17:33 -!- sebbu2 has joined. 20:28:38 -!- c|p has quit (Remote closed the connection). 20:36:23 -!- sebbu has quit (Read error: 110 (Connection timed out)). 20:36:33 -!- oerjan has joined. 20:48:21 pikhq: Really? I have yet to see anywhere with such sockets on the wall. (I was referring to DC *sockets*.) 20:49:02 * SimonRC adds a category to Wikipedia: Categories that do not contain themselves. 20:51:55 -!- mtve has joined. 20:52:48 Ah. 20:53:08 * pikhq adds that page to itself 20:53:12 Paradox! Yay! 21:28:57 * SimonRC goes 21:40:54 Category: Paradoxical categories 21:40:59 s/: /:/ 21:59:25 -!- jix has quit ("CommandQ"). 22:31:27 -!- sekhmet has quit ("need.... more..... volts......"). 23:22:41 -!- sekhmet has joined. 23:55:05 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)). 23:59:32 -!- sp3tt has joined. 2007-06-16: 00:01:39 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)). 00:05:54 -!- sp3tt has joined. 00:43:24 -!- RedDak has joined. 00:45:02 This channel has people, of course. 00:45:12 And it covers more esoteric languages than just brainfuck. 00:45:14 Welcome. :) 00:45:44 thx :D 00:46:18 I maked a good brainfuck binary compiler 00:46:24 ((lambda 3 1 ((closure-ref (get-num-arg 1) 0) (get-num-arg 1) (closure (lambda 2 3 ((lambda 1 1 ((closure-ref (get-num-arg 1) 0) (get-num-arg 1) (get-num-arg 3))) (get-num-arg 2)))))) (closure (lambda 4 2 (%halt (get-num-arg 2))))) 00:46:28 Cool. 00:46:29 is that esoteric? 00:46:37 bsmntbombdood: looks like it. 00:46:46 No, it's obfuscated Lisp. 00:47:00 yeah 00:47:02 Is that using 3 as a parameter? 00:47:17 Similar in idea, though. ;) 00:47:17 the syntax of lambda is not the usual syntax 00:47:23 arguments with names have been removed 00:47:46 Looks very obfuscated. 00:48:05 it's an internal representation of scheme for a compiler 00:48:29 Much worse than GHC's simplified expressions. 00:48:32 I think. 00:48:58 it's been converted to CPS, had closures removed, and had named arguments removed 00:49:21 CPS, eh? 00:49:44 yep 00:49:52 * ihope plays with CPS 00:50:04 It all begins with "import Control.Monad.Cont" 00:50:36 CPS makes call/cc and tail call optimization very easy 00:52:44 -!- RedDak has quit (Remote closed the connection). 00:54:03 apparently we were too weird for him 00:54:21 No, he said in ##brainfuck that he'd be back later. 00:55:01 damn^H^H^H^Hgreat 00:55:36 Maybe ^H^H^H is actually meaningless. 00:55:44 :-P 00:56:16 well this old fart doesn't actually know if anyone still uses it 00:56:34 4 people in there. New record. 00:56:42 http://rafb.net/p/tZdgVn90.html This is what he came in to show. 00:56:46 His first Brainfuck program. 00:57:33 What's it do? 00:57:50 Just a bit of text output. 00:57:57 What's it output? 00:58:16 "BELL F**K U! 00:58:18 " 00:58:18 And an infinite loop of 0x07. 00:58:21 !bf http://rafb.net/p/tZdgVn90.txt 00:58:23 (I believe that is the bell signal) 00:58:33 argh, the Brainfuck Debugger has disappeared from the web 00:58:37 I think it is. 00:58:38 BELL F**K U! 00:58:52 Hum. 00:59:46 no infinite output from EgoBot 00:59:56 0x07 isn't a printable character. 01:00:09 sdrawkcab si txet ym kool 01:00:12 need some CRs to encourage flushing? 01:00:36 but still, why did EgoBot print the first part, and not flood? 01:00:38 !oot eniM 01:00:44 Huh? 01:00:56 * SimonRC wonders why everthing goes out of tune when he yawns 01:01:35 when you yawn, you open up a channel to your inner ear, i presume that might affect it 01:01:43 Now somebody make the !oot command reverse its input and add "too!" 01:02:09 Hmm. Does sound go through that channel? 01:02:31 presumably a little 01:03:28 yawning is one way to deal with pressure in your ears on a plane say 01:04:12 ~exec register_raw(r"\S+ PRIVMSG #esoteric :!oot (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :%s" % (r.group(1)[::-1] + " too!"))) 01:04:13 NameError: name 'register_raw' is not defined 01:04:18 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!oot (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :%s" % (r.group(1)[::-1] + " too!"))) 01:05:55 oerjan: but when I open that channel without yawning it doesn;t happen 01:06:10 !oot foo 01:06:11 oof too! 01:06:17 Huh? 01:06:23 and anyway yawning shouldn't affect the resonant frequency of the detecting molecules 01:06:23 SimonRC: you can do that? 01:06:29 yes, AFAICT 01:06:57 it makes a click noise in my ear when I do so and my breathing becomes louder 01:07:13 i get click noises sometimes 01:08:30 -!- c|p has joined. 01:09:18 Damned AV software keeps using 100% CPU for a few seconds repeatedly 01:11:48 SimonRC: sound is a wave, and it's speed probably depends on air pressure, so it might change frequency as it goes from one air density to another 01:11:52 *its 01:12:23 that's my theory anyway 01:12:42 no, the frequency stays the same as a wave goes from one medium to another, unless something is moving at a considerable fraction of the wave speed 01:14:29 !daemon oot bf +[] 01:14:29 well then maybe the receptors are sensitive to change in wavelength. i read that the frequency of the sound is actually measured by how far it goes into the "snail" 01:14:46 !oot sdrawkcab si sihT 01:14:46 This is backwards too! 01:16:33 now thinking about this, it would not explain why yawning makes a difference if you don't have a pressure difference for it to remove to start with... 01:16:35 oerjan: I know the different frequencies go different distances, but I don;t think that is really how they are distinguished 01:17:13 well that is what i read 01:18:50 !daemon say +[,.[-]+] 01:18:53 !say prime 01:19:00 Huh? 01:19:08 !ps d 01:19:11 1 bsmntbombdood: bf 01:19:13 Oh. 01:19:16 2 ihope: daemon oot bf 01:19:16 3 ihope: ps 01:19:25 !daemon say bf +[,.[-]+] 01:19:31 !say prime 01:19:35 prime 01:20:18 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EgoBot :!say Fake EgoBot command: %s" % (r.group(1)[::-1] + " too!"))) 01:20:25 !daemon fake bf +[] 01:20:38 !fake Testing the command. 01:20:57 bsmnt_bot tells me on his stdout ":orwell.freenode.net 505 bsmnt_bot :Private messages from unregistered users are currently blocked due to spam problems, but you can always message a staffer. Please register! ( http://freenode.net/faq.shtml#privmsg ) 01:21:01 " 01:21:06 * ihope hits EgoBot 01:21:18 And I did that wrong anyway. 01:22:08 * ihope tries to remember the command 01:22:15 it's not EgoBot's fault, e is registered 01:22:32 bsmnt_bot isn't identified 01:22:34 It's EgoBot's fault for not allowing private messages from unregistered users. 01:23:01 Unless EgoBot's not allowing that is more excusable than bsmnt_bot's not being identified. 01:23:23 And I think bsmnt_bot's not being identified is pretty darn excusable. 01:23:36 maybe it's freenode's fault 01:23:39 !bf ++++++++++. 01:23:55 freenode's fault for letting EgoBot do that? 01:23:56 argh 01:24:16 So, um, how do you remove that from the register queue thingy? 01:24:53 -!- sebbu2 has quit ("@+"). 01:25:03 ~exec self.raw_regex_queue.pop() 01:25:08 in any case, EgoBot always responds with private messages to private messages 01:25:26 Oh yeah? 01:25:42 hehe 01:25:43 This doesn't look like a private message to me. :-P 01:25:58 hm... 01:26:12 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :!say Fake EgoBot command: %s" % (r.group(1)[::-1]))) 01:26:18 !fake OMG 01:26:19 !say Fake EgoBot command: GMO 01:26:24 Fake EgoBot command: GMO 01:26:24 Hmm. 01:26:27 GMO. 01:26:32 ~exec self.raw_regex_queue.pop() 01:26:47 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :!say Fake EgoBot command: %s" % r.group(1))) 01:26:52 !fake OMG 01:26:52 !say Fake EgoBot command: OMG 01:26:56 Yup! 01:26:58 Fake EgoBot command: OMG 01:27:12 Now we just need to find all the other channels EgoBot is in. 01:27:31 i don't get it 01:27:33 So this is how it works. 01:27:36 Or one of them. 01:27:44 -!- oerjan has left (?). 01:27:47 Or I could toss together a relay bot. 01:28:09 -!- oerjan has joined. 01:30:06 i suspect then that output goes to wherever the original bf command went 01:30:57 Something like that. 01:31:01 Just a minute here... 01:37:54 -!- ihope has changed nick to RelayBot. 01:38:06 -!- RelayBot has changed nick to EagleBot. 01:38:40 -!- EagleBot has changed nick to ihope. 01:41:11 Okay, it's coming... 01:42:02 Foogle! 01:42:16 how - impressive 01:42:20 OMG 01:42:35 We are the wad of dough. 01:42:39 I think it works. 01:42:47 ~exec self.raw_regex_queue.pop() 01:42:50 what works? 01:42:56 EagleBot. 01:43:08 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic!say Fake EgoBot command: %s" % r.group(1))) 01:43:17 It'll just take a little while to test. 01:43:32 !fake Is so easy! 01:44:09 If it isn't done by now, it's not going to be done. 01:44:31 I think bsmnt_bot's encountering exactly the same problem this time. 01:44:45 que problemo? 01:45:12 bsmntbombdood: EagleBot wasn't accepting private messages from unregistered users either. 01:45:14 -!- ihope has changed nick to EagleBot. 01:45:26 of course not, you need to request it 01:45:29 -!- EagleBot has changed nick to ihope. 01:45:31 Fixed. 01:45:41 And cluttered up my screen in the process. 01:46:32 !fake じゃぱねせ 01:46:35 Fake EgoBot command: じゃぱねせ 01:46:38 Yay! 01:47:02 I send it, EgoBot gets it but ignores it, bsmnt_bot picks it up and uses EagleBot to send it to EgoBot privately. 01:47:16 !fake *Cheating*. 01:47:22 Fake EgoBot command: *Cheating*. 01:47:32 How, exactly, do you get it to *not* say "unknown command"? 01:47:45 !quibble 01:47:49 Wow, it's a Rube Goldberg machine made out of bots :) 01:47:56 Huh? 01:48:09 oerjan, hahah 01:48:18 pikhq: I daemon'd fake to do nothing at all. 01:48:39 ihope: Ah. 01:49:11 ihope: So, now, you can add features to EgoBot. 01:49:33 Of course, in order to make EgoBot pick up everything, it should be an EgoBot command that sends it to bsmnt_bot for processing instead of something that goes right to bsmnt_bot. 01:49:39 At least, you've devised a technique for it. 01:49:59 Except EgoBot pretty much can't talk to bsmnt_bot, so it needs to go through EagleBot. 01:50:05 !undaemon fake 01:50:07 !undaemon say 01:50:09 Process 4 killed. 01:50:11 Process 3 killed. 01:50:23 ~exec self.raw("QUIT") 01:50:24 -!- bsmnt_bot has quit. 01:50:26 What you should probably do is make a single daemon that does this. 01:50:28 -!- bsmnt_bot has joined. 01:50:39 I'm just guessing that that cleared the queue. 01:50:42 actually you could make bsmnt_bot accept private messages too 01:50:50 or? 01:51:10 Yes, but in order to get EgoBot to send private messages to bsmnt_bot, bsmnt_bot has to start the daemon. 01:51:37 well go ahead and register bsmnt_bot then >:) 01:51:45 Why does it need to be bsmnt_bot that gets private messages? 01:51:57 It doesn't. I can use EagleBot to relay. 01:52:57 This version joins the channel. 01:53:03 ...Oops. 01:53:08 Hmm. 01:53:18 How's about the EgoBotExtensionBot? 01:53:23 *This* version joins the channel. 01:53:28 Wait a moment. 01:53:48 We add new languages to that, since Gregor never will add it to EgoBot. :p 01:53:52 ...what? 01:54:00 Hmm. 01:54:06 . . . I'm just suggesting a pointless bot, that's all. 01:54:14 I mean "what the..." 01:54:33 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 01:55:04 well someone added underload to EgoBot as a daemon. 01:55:04 Oh. 01:55:30 -!- EagleBot has joined. 01:55:35 There. 01:55:48 !daemon say bf +[,.[-]+] 01:55:52 !say prime 01:55:53 although if you do that you cannot add daemons written in the new languages, i think 01:55:54 prime 01:56:38 This guy doesn't actually parse IRC; it just looks for the string ":#magic " and sends the stuff after it to EgoBot. 01:57:08 So if I say ":#magic !say foo", it'll say "foo". Naturally, I did say that, and more after it, so EgoBot'll pretty much say everything I'm saying. 01:57:11 foo", it'll say "foo". Naturally, I did say that, and more after it, so EgoBot'll pretty much say everything I'm saying. 01:57:16 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic!say Fake EgoBot command: %s" % r.group(1))) 01:57:19 i noticed :D 01:57:30 !daemon fake +[] 01:57:34 !fake Foo. 01:57:37 Huh? 01:57:45 Whoa, let's not be hasty. 01:57:45 !daemon fake bf +[] 01:57:53 !fake Foo. 01:57:57 Why not? 01:58:04 I have a plan here. 01:58:04 you missed a space after magic 01:58:07 Ah. 01:58:31 ~exec self.register_raw(r"\S+ PRIVMSG #esoteric :!fake (.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic !say Fake EgoBot command: %s" % r.group(1))) 01:58:41 !fake Foo. 01:58:42 Fake EgoBot command: %s" % r.group(1))) 01:58:46 Fake EgoBot command: Foo. 01:58:54 #magic !daemon sendme bf +[,.[-]+] 01:58:59 #magic !sendme prime 01:59:15 #magic !sendme #magic !say Test. 01:59:31 Test. 01:59:44 Now !sendme sends something to EgoBot. 02:00:08 Then there's the "mundane" command, which works just like "magic" except that it sends its stuff to bsmnt_bot instead. 02:00:11 #magic !sendme !say Foo. 02:00:32 EgoBot just sent "!say Foo." to EagleBot. 02:00:41 You sure you don't mean "sends something to EgoBot"? 02:00:47 s/EgoBot/EagleBot/ 02:00:52 No. :-) 02:01:19 Actually, I didn't want it called "sendme". 02:01:22 !undaemon sendme 02:01:27 Process 5 killed. 02:01:35 #magic !daemon ext bf +[,.[-]+] 02:01:39 #magic !ext prime 02:01:51 -!- erider has joined. 02:01:54 And it's primed as it's gonna be. 02:02:09 And... hmm. 02:02:21 Hmm. 02:02:24 Actually, let's not do this this way. 02:02:25 You, sir, are evil. 02:02:31 Or, rather, an evil genius. 02:02:32 -!- EagleBot has quit (Nick collision from services.). 02:02:52 ... 02:03:01 I think EagleBot is taken. 02:03:06 By me. 02:03:13 Ah. 02:05:04 Hmm. This version gets killed due to excess flood. 02:05:06 Oops :-) 02:05:08 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga (.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :EagleBot received %s" % r.group(1))) 02:05:18 EagleBot received foo 02:05:27 That works. 02:06:19 Now it's much more sane in its bsmnt_bot sendings. 02:06:42 -!- EagleBot has joined. 02:06:42 EagleBot received : !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ | http://www.wolframscience.com/prizes/tm23/ 02:06:42 EagleBot received Izzy7 SimonRC 02:07:01 That's an example of junk. 02:07:01 Hahah. 02:07:20 Whenever I say "EgoBot", EagleBot sends an "ooga" to bsmnt_bot. 02:07:20 EagleBot received ", EagleBot sends an "ooga" to bsmnt_bot. 02:07:40 Yay, infinite loop! 02:07:41 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Yay, infinite loop! 02:07:43 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Yay, infinite loop! 02:07:54 Err. 02:07:57 Not quite. 02:08:05 Finite. 02:08:09 Where'd the #magic go? 02:08:10 !say Infinite loop EgoBot! 02:08:11 EagleBot received ! 02:08:14 Infinite loop EgoBot! 02:08:14 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Infinite loop EgoBot! 02:08:15 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :Infinite loop EgoBot! 02:08:16 EagleBot received ! 02:08:18 It's still here. 02:08:27 I think these loops are doomed to be finite. 02:08:36 Unless bsmnt_bot becomes EgoBot somehow. 02:08:37 EagleBot received somehow. 02:08:51 #magic !say EgoBot 02:08:56 EgoBot 02:08:57 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :EgoBot 02:08:58 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :EgoBot 02:09:11 * oerjan ponders leaving before the evil laboratory explodes 02:09:17 Hmm, apparently it doesn't care when a sentence ends in EgoBot 02:09:28 Oh, don't worry; nothing bad should happen. 02:09:41 #magic !say Egobot foo! 02:09:45 The key stuff is "!n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :message" 02:09:46 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :message" 02:09:48 Egobot foo! 02:09:48 * oerjan ponders more strongly now that famous last words have been spoken 02:09:49 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric : Egobot foo! 02:09:50 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric : Egobot foo! 02:10:11 Damn it. 02:10:23 It doesn't care about the second round for some reason. 02:10:25 I just killed EagleBot. 02:10:25 That's a bug. 02:10:32 Hmm? 02:10:57 If you say "EgoBot foo EgoBot bar", it'll think "EgoBot" followed by " foo EgoBot bar". 02:11:12 Ah. 02:11:21 So, it's set to be finite. 02:11:30 Not intentionally, maybe :-) 02:11:38 So what this guy sends to bsmnt_bot is "ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG #esoteric :message" 02:12:02 That happens whenever... wait, lemme restart. 02:12:06 !ps d 02:12:08 1 bsmntbombdood: bf 02:12:11 2 ihope: daemon oot bf 02:12:14 3 ihope: daemon say bf 02:12:15 4 pikhq: daemon fake bf 02:12:17 !undaemon oot 02:12:17 5 EagleBot: daemon ext bf 02:12:19 !undaemon say 02:12:19 6 ihope: ps 02:12:20 Process 2 killed. 02:12:21 !undaemon fake 02:12:23 !undaemon ext 02:12:23 Process 3 killed. 02:12:25 Process 4 killed. 02:12:29 Process 5 killed. 02:12:38 -!- EagleBot has quit (Nick collision from services.). 02:12:55 -!- EagleBot has joined. 02:12:56 EagleBot received : !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ | http://www.wolframscience.com/prizes/tm23/ 02:13:19 #magic !daemon ext bf +[,.[-]+] 02:13:23 #magic !ext prime 02:13:27 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :prime 02:13:28 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :prime 02:13:34 !ext Testing. 02:13:38 EagleBot received !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :Testing. 02:13:40 EagleBot received @c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :Testing. 02:13:48 EagleBot killed. 02:14:05 The thing to look out for, then, is simply "ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :message" 02:14:36 EagleBot received Test. 02:14:42 ~exec self.raw("QUIT") 02:14:43 -!- bsmnt_bot has quit. 02:14:45 -!- bsmnt_bot has joined. 02:15:34 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :Fake EgoBot command: " % r.group(1))) 02:16:11 Evil bastard, aren't we? 02:16:16 Sort of. 02:16:17 "ERROR* :MaClions>i ng Link: 127.0.0.1 (Connection Timed Out)" 02:16:27 -!- EagleBot has quit (Nick collision from services.). 02:16:42 One of these times I'm going to forget the slash in front of the ghost command, giving you all my password accidentally. 02:16:55 -!- EagleBot has joined. 02:17:00 !ext Final. 02:17:02 the horrers 02:17:09 The fun! 02:17:27 Well, EgoBot sent EagleBot the message. 02:17:35 Ooh, hmm... 02:18:15 ihope: can't you make a macro for your ghost command? 02:18:19 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :Fake EgoBot command: " % r.group(1))) 02:18:26 I could, but I wouldn't use it very often. 02:18:37 !ext Eh? 02:18:46 Hmm. 02:18:54 EgoBot 02:18:56 Oh! 02:19:05 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :Fake EgoBot command: %s" % r.group(1))) 02:19:09 !ext Final. 02:19:13 Fake EgoBot command: Final. 02:19:20 Yay! 02:19:25 Except that I forgot the magic. 02:19:25 *Almost*. 02:19:43 ~exec self.raw_regex_queue.pop() 02:19:53 !ext This should fail entirely. 02:20:07 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG #esoteric :#magic !say Fake EgoBot command: %s" % r.group(1))) 02:20:10 #magic !say Fake EgoBot command: Huh? 02:20:16 #magic !say Fake EgoBot command: Huh? 02:20:19 Uh... 02:20:22 #magic !say Fake EgoBot command: Huh? 02:20:28 #magic !say Fake EgoBot command: Huh? 02:20:32 Oh dear. 02:20:34 #magic !say Fake EgoBot command: Huh? 02:20:37 ~exec self.raw_regex_queue.pop() 02:20:55 That was a little weird. 02:21:00 * ihope attempts to figure out the cause 02:21:12 !ps d 02:21:15 1 bsmntbombdood: bf 02:21:16 2 EagleBot: daemon ext bf 02:21:19 3 ihope: ps 02:21:22 No !say command. 02:21:29 !daemon say bf +[,.[-]+] 02:21:31 !say prime 02:21:33 prime 02:21:44 ~exec self.register_raw(r"\S+ PRIVMSG bsmnt_bot :ooga !n=EgoBot@c-76-27-232-8.hsd1.or.comcast.net PRIVMSG EagleBot :(.*)", lambda x, r: bot.raw("PRIVMSG EagleBot :#magic !say Fake EgoBot command: %s" % r.group(1))) 02:21:47 Fake EgoBot command: %s" % r.group(1))) 02:21:55 Nice, eh? 02:22:00 !ext Final. 02:22:03 Very. 02:22:05 Fake EgoBot command: Final. 02:22:08 Yay! 02:22:29 Fake EgoBot command: This is in a private message to EgoBot. 02:23:18 !bftextgen !ext 02:23:22 EgoBot receives the message and sends it to EagleBot who relays it to bsmnt_bot who recognizes it and calculates and sends the response back to EagleBot who relays it to EgoBot who says it. 02:23:26 Huh? 02:23:37 Luckily, your command isn't working. :-P 02:23:47 (We all have little confidence in each other's abilities!) 02:23:51 !help 02:23:54 ~ext Testing. 02:24:02 !ext Testing. 02:24:08 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 02:24:08 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 02:24:18 Fake EgoBot command: Testing. 02:24:28 EgoBot is certainly the limiting factor in speed here. 02:24:54 Or maybe EagleBot. 02:25:04 I'd have to look at... more things to know. 02:25:18 I can only view EagleBot's received messages. 02:25:55 !ext Yay, Rube Goldberg! 02:26:05 Fake EgoBot command: Yay, Rube Goldberg! 02:26:35 Now I just have to add a command to bsmnt_bot that automates the command addition process. 02:27:06 And the command removal process. 02:27:15 and a cow. there needs to be a cow in there somewhere. 02:27:18 After that, I'll probably win some sort of award for esotericness. 02:27:28 !ext Moo. 02:27:33 There. Cow. Happy? 02:27:35 :-P 02:27:41 Fake EgoBot command: Moo. 02:28:15 GregorR, COME LOOK! I'VE WRITTEN SOMETHING IN BRAINFUCK! 02:28:48 o: 02:29:00 Rather, I'VE DONE THAT IN JUST NINE CHARACTERS OF BRAINFUCK! 02:29:10 i wrote a php interpreter 02:29:12 in brainfuck 02:29:14 im so leet 02:29:30 Yes, but did you do it in nine characters? 02:29:40 shit, no 02:29:42 :( 02:30:17 Set up a three-bot relay like mine to make it look like it, then! >:-) 02:30:31 I wrote a Brainfuck compiler. 02:30:33 In Brainfuck. 02:30:47 5 characters. 02:30:52 Guess how. 02:30:59 Let's see it. 02:31:05 Oh! I know! 02:31:05 ,[.,] 02:31:09 +[--yes, that. 02:31:11 Brainfuck->Brainfuck. 02:31:12 ;) 02:31:17 Except I was going to say +[,.]. 02:32:21 Supercompression: my method compresses everything into the same nine characters of brainfuck! 03:35:59 -!- oerjan has quit ("Good night"). 03:51:42 -!- boily has joined. 04:06:58 -!- c|p has quit ("Leaving"). 04:50:54 -!- boily has quit ("WeeChat 0.2.4"). 04:53:29 ihope: Let me guess: it creates a new compression algorithm for each input. 05:53:59 -!- erider has quit (Read error: 110 (Connection timed out)). 05:54:27 -!- erider has joined. 07:36:14 -!- kwertii has quit. 07:43:15 -!- RedDak has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:01 Hi all 08:25:19 -!- RedDak has quit (Remote closed the connection). 09:02:40 -!- sebbu has joined. 09:21:36 quite nice language - http://omg.worsethanfailure.com/Entries/ViewEntry.aspx?id=100328 10:05:25 -!- jix__ has joined. 10:30:54 ~raw join #lispcafe 10:53:18 on met quoi dans un manuel de maintenance ? 11:16:56 -!- jix__ has quit (Read error: 104 (Connection reset by peer)). 11:18:39 -!- jix__ has joined. 11:45:54 -!- jix__ has changed nick to jix. 13:53:15 good morning 14:10:21 -!- oerjan has joined. 14:13:14 -!- boily has joined. 14:42:21 Wait, EagleBot's still here? 14:42:26 It's not answering PINGs! 14:42:54 !ext Testing one two three? 14:43:13 The Eagle has landed 14:43:33 Hmph. 14:43:35 !ps d 14:43:57 I think I see the problem. 14:45:22 !help 14:45:50 ~exec self.stdout("Test") 14:45:51 AttributeError: IRCbot instance has no attribute 'stdout' 14:46:17 ~exec sys.stdout("GRAH") 14:46:18 GRAH 14:46:35 i always get that one wrong 14:47:01 ~exec self.stdout = sys.stdout 14:47:10 ~exec self.stdout("Hee") 14:47:11 Hee 14:47:13 :-) 14:47:59 ~exec self.stdout = lambda(): sys.stdout("No, it's sys.stdout.") 14:48:00 SyntaxError: invalid syntax 14:48:12 ~exec self.stdout = lambda: sys.stdout("No, it's sys.stdout.") 14:48:20 ~exec self.stdout("oops") 14:48:21 TypeError: () takes no arguments (1 given) 14:48:30 ~exec self.stdout = lambda x: sys.stdout("No, it's sys.stdout.") 14:48:43 Actually, wasn't there some... thing? 14:48:48 ~exec self.stdout = lambda *x: sys.stdout("No, it's sys.stdout.") 14:49:14 ~exec self.stdout("hi", 3, self) 14:49:14 No, it's sys.stdout. 14:49:19 ~exec self.stdout() 14:49:20 No, it's sys.stdout. 14:49:25 ~exec self.stdout(swim=3) 14:49:26 TypeError: () got an unexpected keyword argument 'swim' 14:49:31 Darn. 14:49:37 ~exec self.stdout = lambda **x: sys.stdout("No, it's sys.stdout.") 14:49:47 ~exec self.stdout(3) 14:49:48 TypeError: () takes exactly 0 arguments (1 given) 14:49:56 ~exec self.stdout = lambda *x **y: sys.stdout("No, it's sys.stdout.") 14:49:57 SyntaxError: invalid syntax 14:50:03 ~exec self.stdout = lambda *x, **y: sys.stdout("No, it's sys.stdout.") 14:50:06 o_O 14:50:18 ~exec self.stdout("one", 2, three=self) 14:50:19 No, it's sys.stdout. 14:50:21 There. 14:50:41 ~exec sys.stdout("one", 2, three=self) 14:50:42 TypeError: write() takes exactly 2 non-keyword arguments (3 given) 14:51:08 write(), eh? 14:51:31 * ihope hugs Python a little too hard 14:53:00 squished Python! (in bearnaise sauce) 15:10:25 Isn't it usually the python that hugs the victim a bit too hard? 15:11:00 squished ihope! (in bearnaise sauce) 15:11:17 Do pythons do that? 15:11:30 Yup, apparently they do. 15:13:52 Although they don't actually _crush_ you, but it's still hugging. 15:14:24 -!- boily has quit ("WeeChat 0.2.5"). 15:16:05 * ihope hugs fizzie 15:24:52 i thought you said /me boils fizzie 15:25:48 that wouldn't be very nice to boil him 15:28:56 * ihope boils bsmntbombdood 15:29:03 Oops! 15:29:04 ouch 15:31:07 -!- oerjan has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. 15:35:10 -!- jix__ has joined. 15:37:25 -!- nooga has quit (Remote closed the connection). 15:44:04 -!- jix has quit (Read error: 113 (No route to host)). 15:50:35 nooo they be eatin my flesh 17:16:18 -!- RedDak has joined. 17:22:57 'morning, guys 18:02:11 fantastic 18:02:28 -!- boily has joined. 18:06:04 !ext Still evil. . . 18:06:48 -!- sebbu2 has joined. 18:07:18 Come on, EagleBot! 18:07:18 #magic !say Do the magic! 18:07:18 -_-' 18:08:58 EagleBot? 18:09:22 I've clearly missed something here 18:12:20 it's ihope's bot, but it locked up 18:13:03 afk 18:16:23 i don't have a bed 18:19:19 bsmntbombdood: I am aware of a technique that abuses fedex policy and entails duct-tape usage by which you may create a bed for ~$0. 18:19:38 RodgerTheGreat: EagleBot is the binding force of a Rube Goldberg machine in here that makes it look like we can add features to EgoBot. 18:20:00 ah. sounds pretty esoteric and therefore awesome 18:20:09 Very much so. 18:20:32 fedex? 18:20:36 If you want to add more layers of pointless abstraction, I could load up my BF bot 18:20:43 will they give you free boxes or something? 18:21:12 bsmntbombdood: fedex will send you shipping materials for free. You merely request a lot of boxes and bubblewrap and things, and then you can construct furniture from it 18:21:55 http://www.fedexfurniture.com/bed/bed_800.jpg 18:22:01 http://www.fedexfurniture.com/bed/structure_800.jpg 18:22:10 http://www.fedexfurniture.com/bed/structure2_800.jpg 18:22:15 http://www.fedexfurniture.com/bed/final_800.jpg 18:22:18 behold 18:22:40 awesome 18:25:38 -!- sebbu has quit (Read error: 110 (Connection timed out)). 18:35:03 now the computer goes bye byte too 18:40:01 ? 19:18:25 -!- sebbu2 has changed nick to sebbu. 19:20:05 -!- RedDak has quit (Remote closed the connection). 19:29:30 -!- oerjan has quit ("Supper"). 20:03:59 now i don't have a bed or a computer 20:04:22 ??? 20:04:25 WTF? 20:04:42 I concur. What the fuck, bsmntbombdood? 20:04:45 indeed 20:05:00 Care to *explain*? 20:05:09 we're moving 20:05:18 Ah. 20:05:48 except...not for a few days 20:06:43 Let me go back to "WTF". 20:07:13 Where to? 20:07:35 longmont 20:08:07 You and your not-Colorado-Springs-ness. :p 20:08:48 you are in the springs? 20:09:00 Actually, just outside of it. 20:10:59 i saw a hot girl in the springs once 20:11:43 It's a decent-sized city. I'm sure there's plenty. :p 20:12:54 we are (will be) surrounded be ~100 acre farms 20:13:32 Ah. So, that puts you in about where I'm at *now*. (I'm visiting family in Oklahoma ATM) 20:14:13 i have to go back to packing shit 20:14:17 :/ 20:14:26 -!- boily has quit ("WeeChat 0.2.5"). 21:56:29 -!- jix__ has changed nick to jix. 22:35:06 -!- oerjan has joined. 22:35:52 -!- sebbu2 has joined. 22:54:34 -!- sebbu has quit (Connection timed out). 23:20:34 -!- boily has joined. 23:22:54 #magic !say foo 23:23:05 !say foo 23:23:28 !help 23:23:39 EagleBot seems fine. EgoBot doesn't. 23:25:33 * oerjan gives EgoBot some cough drops 23:26:28 GregorR: Give EgoBot the SIGKILL. 23:27:09 killall -s 9 bsmnt_bot 23:27:10 I can reset both bsmnt_bot and EagleBot, but not EgoBot. 23:27:21 i mean, killall -s 9 bsmntbombdood 23:28:42 bsmnt_bot is easy to reset. 23:28:57 ~exec sys.exit(0) 23:29:09 ~exec self.raw("QUIT") 23:29:09 -!- bsmnt_bot has quit. 23:29:13 . . . Well, not like that, but you get the idea. 23:29:15 -!- bsmnt_bot has joined. 23:30:03 h[6=V΂B 1+0 records in 23:30:03 1+0 records out 23:30:03 20 bytes (20 B) copied, 9.7962e-05 s, 204 kB/s 23:30:10 wtf? 23:30:39 it looks like a `dd' dump... 23:30:40 ÑÞhé¯Ð[ƒ6=±V§áÁÿ΂B? 23:32:08 9.7962e-05 23:32:34 years until the apocalypse 23:33:00 i sincerely hope not 23:33:06 -!- EagleBot has quit (Read error: 104 (Connection reset by peer)). 23:33:14 unless you misspelled + as - 23:33:56 no, - is correct 23:34:26 51.48 minutes till the apocalypse then 23:35:11 probably just as well to get it over with :) 23:36:08 Egad, I just uglied up my code. 23:38:37 bsmntbombdood: Let me guess: in the apocalypse theater, apocalypses are performed ever hour, on the hour. :p 23:39:02 => (let ((me (cons 'dead 0))) (set-cdr! me me) me) 23:39:24 (cdr universe) 23:39:34 => (me (me (me))) 23:39:38 (car universe) 23:39:43 => (me) 23:41:47 methinks a laxy impure lanague is possible 23:42:43 (set! var val) gets evaluated when var is used 23:43:40 -!- EagleBot has joined. 23:44:01 Sure it is possible. 23:44:21 I do believe that the C preprocessor has lazy evaluation. 23:44:33 hardly 23:44:37 There. This bot now uses continuation passing style in order to be able to reset itself 23:44:52 #quit 23:44:56 #define foo(x) x 23:45:06 #quit 23:45:06 call/cccccccccccc 23:45:09 #define bar(x) foo(x) 23:45:15 bar(foo(x)) 23:45:16 Hmm... 23:45:20 ihope: what language is EagleBot written in? 23:45:27 oerjan: Haskell. 23:45:34 :#quit green 23:45:35 -!- EagleBot has quit (Client Quit). 23:45:38 does haskell have call/cc? 23:45:38 There we go. 23:45:44 -!- EagleBot has joined. 23:45:53 bsmntbombdood: in the ContT monad transformer, yes :) 23:45:58 I do believe that goes bar(foo(x))->foo(foo(x))->foo(x)->x 23:46:00 bsmntbombdood: it does, but in a type-safe form. 23:46:14 Type-safe and referentially transparent. 23:46:16 bwahaha! 23:46:18 And I'm not using it. 23:49:47 It works in any continuation monad. 23:51:31 lambdabot> forall a (m :: * -> *) b. (MonadCont m) => ((a -> m b) -> m a) -> m a 23:52:18 (the type of callCC) 2007-06-17: 00:00:38 #quit a nice day we're having, eh? 00:00:38 -!- EagleBot has quit. 00:00:48 -!- EagleBot has joined. 00:00:53 Oof. 00:01:04 -!- EagleBot has quit (Nick collision from services.). 00:02:17 -!- EagleBot has joined. 00:02:59 I'll let you all play with EagleBot, not that there's much you can do with EagleBot other than make it quit, 00:03:02 s/,/./ 00:04:06 -!- RedDak has joined. 00:05:05 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 00:11:04 #magic Egobot, work, damn it! 00:18:25 #quit So there! 00:18:25 -!- EagleBot has quit. 00:18:35 -!- EagleBot has joined. 00:52:46 * SimonRC is amazed at the Piranã. 00:53:00 erm, Pirahã. 00:53:10 The Pirahã language is not recursive. They seem to lack to most forms of abstraction, such as numbers, or colours seperate from objects. They have no creation myths, and do not get the idea of storing food for next month. 00:53:15 http://www.newyorker.com/reporting/2007/04/16/070416fa_fact_colapinto 00:56:16 is it turing complete? 00:56:24 or...english complete? 00:56:25 heh 00:56:28 no 00:56:57 it is possibly the world's only remaining "primitive" language 00:57:20 no numbers... it must be difficult to express quantities... 00:58:15 they don't much 00:58:56 universal english machine 01:04:00 i wonder if there's languages that are super-english 01:08:06 -!- ihope has joined. 01:08:16 Super-English languages? I dunno--English seems pretty good. 01:08:53 that's only because you can only think what your language allows 01:08:56 There's not especially much you can't express using the "subject verb preposition noun" stuff. 01:09:28 because you can only conceive of the "subject verb preposition noun" stuff 01:09:59 if there is a language that can express higher ideas, you wouldn't even be able to describe it in english 01:10:10 Ah yes--the Sapir-Whorf hypothesis. 01:10:44 Can you think, though, of anything that *might* not be able to be expressed using subject-verb-preposition-noun? 01:11:07 We even have "that", which turns a verb-preposition-noun into an adjective-like construct. 01:11:34 no, because i think in english 01:11:34 "The dog that goes to the store speaks with the clouds." 01:12:08 maybe if you could decouple thought from language... 01:12:11 I think mathematicians do a good job of finding weird abstract things. 01:13:11 The notations that are used in mathematics pretty much denote values, functions, and properties. 01:13:35 it all can still be described with english 01:13:37 Values can be denoted by nouns, properties by verbs, and functions by preposition-noun. 01:13:57 Does that mean, then, that English can express any mathematical idea? 01:14:08 I'm led to believe so. 01:14:26 any mathematical idea that english speakers can conceive 01:15:26 Can you prove that there are useful mathematical ideas that English speakers can't conceive? 01:15:39 i think the first step to proving/disproving the existance of super english languages would be to construct the turing machine or lambda calculus of languages 01:16:25 Do we know that English isn't it? 01:16:30 i would think that english compared to the english-class-thought-machine would be like C++ compared to the turing machine 01:16:56 loads of abstraction and useless sugar 01:17:11 Find someone who speaks Japanese or something and ask them if they know of anything that can't be expressed in English at all. 01:17:34 Now, what's this language SimonRC was talking about? 01:17:51 It's a language from South America, iirc. 01:18:24 http://en.wikipedia.org/wiki/Pirah%A3_language 01:18:26 Neither the tunes.org logs nor EagleBot's logs seem to display it correctly. 01:18:37 That page doesn't exist. 01:20:07 P i r a h a~ 01:20:19 spelt that way ^^ 01:20:29 Thanks. 01:20:31 00:52:25 < SimonRC> http://www.newyorker.com/reporting/2007/04/16/070416fa_fact_colapinto 01:21:32 -!- RedDak has quit (Remote closed the connection). 01:26:37 ooh, he's back! 01:27:01 who? 01:27:17 Chris Pressey 01:27:43 on the wiki 01:29:35 * SimonRC tries to remember who CP is 01:29:40 Befunge? 01:29:48 etc. etc. etc. 01:30:30 catseye.ca! 01:30:47 or .tc even 01:30:58 -!- erider has quit (Remote closed the connection). 01:31:01 -!- erider_ has joined. 01:32:01 -!- erider_ has changed nick to erider. 01:33:49 it's wonderful! 01:37:02 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 01:47:57 -!- sebbu2 has quit (Read error: 60 (Operation timed out)). 01:52:18 boily: ?? 01:52:31 ah, pirahã 01:52:38 um, yeah? 02:10:31 It took me a moment to realise that was what you were saying was wonderful 02:16:31 ihope: I speak Japanese, and don't know anything that can't be expressed in English. 02:16:53 (although *explaining* words which refer to some Japanese legends can take a while) 02:18:16 I hear that Japanese has more ordinal numbers than English. 02:18:36 English needs hacks to express the ordinal number corresponding to one half. 02:19:33 What you mean by "ordinal" is i9n disagreement with Wikipedia. 02:20:09 Oh. 02:20:19 I want [[Ordinal numbers (linguistics)]] 02:20:20 XD 02:20:42 :-) 02:20:42 ihope: Japanese has oo ordinal numbers. 02:21:15 English has an infinite number of them too, doesn't it? 02:21:15 One postfixes "ban", IIRC, to make it an ordinal number. 02:21:30 The hiragana? 02:21:35 *Technically* yes, but it's less-defined. 02:21:39 ever heard of -th? :) 02:22:01 oerjan: give me the one-twelfthth element of this list, will you? 02:22:01 ?? 02:22:17 Now tell me how to pronounce that. :-) 02:22:53 In Japanese: 0.083?? 02:23:15 And damn, I wish this terminal grokked Unicode. 02:23:17 I speak French, and I will not pronounce `twelfthth'. 02:23:19 I think we're using different character encodings. 02:23:31 Or, rather, I wish the *font* I have grokked Unicode. 02:23:36 ihope: UTF-8? 02:23:41 UTF-8. 02:23:48 Hmm. 02:23:52 I blame Konsole. 02:23:54 Unless those question marks are actually question marks. 02:23:58 there can be no 1/12th element, that is meaningless 02:24:02 They're not *meant* to be. 02:24:10 oerjan: what if it's a continuous list? 02:24:23 Is it all "ban" in hiragana? 02:24:27 Yeah. 02:24:45 (I *might* be wrong on the specific word, though) 02:24:51 ihope: does that actually work in japanese? 02:25:58 anyway neither has got anything on Latin, which has four different classes of number 02:25:58 oerjan: I dunno. 02:26:06 Do you know, pikhq? 02:26:35 I *think* it works, but I can't be sure, since it's not my native language. 02:27:02 And, since school's out, I can't ask the people I know who *do* speak it either fluently or natively. 02:27:37 cardinal, ordinal, numbers like "once, twice" but generally, and "n each" numbers. Although of course they are easily expressed in English, just not with endings. 02:28:28 Yeah. 02:28:58 -!- GregorR has quit (Read error: 60 (Operation timed out)). 02:29:08 !help 02:30:03 "n each" numbers? 02:31:13 or something like that, they're plural adjectives 02:31:36 How do they work? 02:32:36 let me try to remember a suitable noun to use them with 02:34:49 "bini oculi" would mean "two eyes each", i think 02:36:15 "Homines binos oculos habent" = "Humans have two eyes each" 02:41:21 incidentally that form is where "binary" comes from 02:42:54 -!- EgoBot has quit (Read error: 110 (Connection timed out)). 02:52:30 This language is fucking twisted! http://www.stud.uni-hamburg.de/users/goldi/aee/beginner/beginner_toc.html 02:52:48 for the first few chapters, you thing is just like Pascal. 02:53:04 Then, the introduce pointers and structs, and it suddenly turns out to be like C 02:53:27 then the guy adds unification, and it looks like C meets Prolog 02:53:47 then it tries to be LISP, by addid quoted expressions and Eval() 02:53:56 what next? Erlang? 02:54:02 *adding 02:54:32 Epigram! 02:55:10 heh 02:55:24 the ytpesystem tries to pretend it isn;t that of B] 02:55:29 oops, B 03:15:32 ah, no, it;s turning into C++ 03:19:09 ish 03:20:46 * pikhq hurls 03:21:43 It's PascalFortranCPrologLispC++Assembly. 03:22:55 heh 03:23:01 not C, B 03:23:09 yummy 03:23:15 You're right. .. 03:23:23 the resulting mess is rather C++-like 03:23:30 Doesn't seem to have structs as an intrinsic. 03:23:38 does 03:23:42 B is practically the same as C 03:23:43 they're called objects 03:23:47 except for types 03:24:02 ok, so E should really be called B++ 03:25:25 It actively encourages pointer<->integer. 03:25:39 yes 03:25:41 like B 03:25:57 Like K&R C. 03:26:07 "Data-hiding is accomplished in E at the module level. This means, effectively, that it is wise to define classes in separate modules (or at least only closely related classes together in a module), taking care to EXPORT only the definitions that you need to." 03:26:13 at least he got *something* right 03:26:16 Which is, of course, B with a better typesystem. 03:28:39 For some reason popular langauges conflate the type-definition mechanism and the information-hiding mechanism, leading to crap like C++'s friend classes. 03:29:17 Tcl doesn't have that problem. 03:29:20 they also hide the elegance of interface inheritance under the bizzarities of implementatio inheritance 03:29:30 pikhq: no information-hiding? 03:29:40 Of course, that's because object-orientation is provided by external packages, and not a language intrinsic. 03:29:41 ISTR that everything is a string in Tcl 03:29:57 Factor is similar 03:30:01 Actually, everything is a thing. 03:30:07 i.e. OO is in the libraries 03:30:12 It may be either a string, a list, or a number. . . 03:30:24 how the fuck does that work? 03:30:35 Cleverness. 03:31:09 Or, rather, magic in the bytecode compiler/interpreter. 03:31:21 ok 03:31:25 what types are there? 03:35:24 -!- jix__ has joined. 03:43:33 -!- jix has quit (Read error: 110 (Connection timed out)). 04:01:04 -!- boily has quit ("nonogramming"). 04:06:41 -!- Sgeo has joined. 04:13:41 -!- jix__ has quit ("CommandQ"). 04:59:23 -!- oerjan has quit ("Good night"). 05:29:48 SimonRC: According to Tcl code? 05:30:01 Scalar and vector. 05:30:50 Err. 05:30:52 Scalar and map. 05:33:21 Fine, fine. . . So scalar variables can represent strings, lists, longs, or floats. . . The tclvar_t struct stores one of them, and converts when needed. 05:48:22 -!- gimel has joined. 05:53:49 -!- gimel has left (?). 06:45:44 -!- GreaseMonkey has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:52:21 -!- sebbu has joined. 10:13:47 -!- Sgeo has quit ("Ex-Chat"). 10:23:13 -!- Sukoshi has joined. 10:58:04 getting off now, gnight 10:58:24 -!- GreaseMonkey has quit ("AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAA A AAAAAAAAAAA AAAAAAAA"). 11:55:22 -!- jix__ has joined. 12:49:05 -!- jix__ has changed nick to jix. 13:11:38 -!- RedDak has joined. 13:15:22 -!- oerjan has joined. 13:44:26 -!- c|p has joined. 13:56:23 -!- erider has joined. 13:56:27 good morning 14:04:48 mörning 14:04:58 good mourning 14:06:12 on tuesday, i have to go to another camp :) 14:06:27 i love the holidayz... 14:06:28 -> 14:28:20 -!- boily has joined. 14:57:42 happy father's day! 15:10:48 -!- boily has quit ("Bonne fête des pères!"). 15:31:21 -!- oerjan has quit ("Dinner"). 15:35:27 -!- jix__ has joined. 15:44:18 -!- jix has quit (Read error: 110 (Connection timed out)). 16:24:15 -!- dak has joined. 16:40:52 -!- RedDak has quit (Read error: 110 (Connection timed out)). 17:17:31 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 17:23:45 -!- boily has joined. 17:43:26 -!- dak has changed nick to RedDak. 17:45:41 -!- c|p` has joined. 17:45:50 howdy, folks 17:46:30 -!- c|p has quit (Nick collision from services.). 17:46:56 -!- c|p` has changed nick to c|p. 17:48:46 -!- boily has quit ("WeeChat 0.2.5"). 17:56:25 -!- c|p has quit ("Leaving"). 17:56:33 -!- c|p has joined. 17:57:01 -!- boily has joined. 18:13:29 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 18:13:40 -!- RedDak has joined. 18:20:09 -!- RedDak has quit (Remote closed the connection). 18:21:46 -!- RedDak has joined. 18:24:21 Yesterday, I wrote an underload interpreter. 18:24:35 This language is warping my mind... 18:39:07 -!- boily has quit ("WeeChat 0.2.5"). 18:57:30 -!- oerjan has joined. 19:40:59 -!- RedDak has quit (Remote closed the connection). 20:00:59 -!- GregorR has joined. 20:13:36 ~~~ 20:31:53 [-] 20:34:45 -!- atrapado has joined. 20:56:14 -!- c|p has quit (Read error: 110 (Connection timed out)). 21:12:36 * andreou *stretches* 21:12:47 anyone knows how to reference footnotes in LaTeX? 21:21:09 doesn't it work to just put a \label in it? 21:25:02 andreou ^^ 21:35:44 A word of advice people.... 21:36:07 If you are on Usenet, never ever mention the individual "Rob Cypher". 21:36:38 He is like fecking BeetleJuice, except you only have to say his name once. 21:36:55 I mentioned him, and now the group is stuck with him. 21:36:57 fuck 21:37:15 like an evil version of kibo i take 21:37:22 yeah 21:37:57 * oerjan hasn't been on Usenet for years 21:38:52 a possibility might be to mention him _everywhere_? 21:39:00 hmm 21:39:02 maybe 21:39:24 that's like saying "If we all rush him at once, he can't shoot all of us". 21:39:37 indeed 21:41:52 don't people have killfiles these days? 21:42:03 no, it seems not 21:42:22 plus the replies are more of a problem, and the heavy cross-posting 21:42:40 don't people have _threaded_ killfiles these days? :) 21:44:13 is there such a thing? 21:44:39 i always used trn, the Threaded Read News 21:45:24 -!- c|p has joined. 21:46:07 and i heard slrn may have been even better, with its score files 21:46:20 these were Unix terminal applications 21:47:31 feck... 21:47:39 I can;t figure out how to un-ignore threads 21:50:24 oerjan i need to access the footnote number 21:50:41 i.e., some '\*ref' command similar to pageref 21:50:53 andreou: isn't that what \ref does? 21:51:40 hm 21:52:14 ah, got it 21:52:29 I have to make it visible again first using the لآهثص ةثىع 21:52:47 I have to make it visible again first using the view menu 21:53:18 *oops* 21:53:25 oerjan well indeed it does 21:53:34 inherent stupidity increases along with uptime 21:53:50 bah, it only allows me to ignore what it thinks of as a whole thread 21:53:56 andreou: and approaching deadline i guess :) 21:54:25 true words, it *should* be ready and printed in about 31 hrs (infeasible) 21:55:54 funny thing is, i spend some time looking in the tug faq and #latex, that i forgot where i needed to crossreference a footnote... 21:57:38 anyway, off to sleep, no more work can be done right now 21:57:40 cheers everyone 21:59:45 SimonRC: trn allowed you to ignore the replies to a given post although some broken newsreaders did not include the threading information properly 22:00:14 and you could use regexps to do this automatically based on author, subject, whatever 22:00:40 (although article content was more expensive than headers) 22:00:48 as far as i recall 22:05:23 -!- jix__ has quit ("CommandQ"). 22:05:50 sadly, trn seems to have stalled about 2001 22:06:17 hopefully because it was outrun by better competitors. 23:16:01 underload is certainly interesting 23:16:11 I think I may try to make something nontrivial with it 23:16:46 math may prove rather tricky unless I do most things in unary. 2007-06-18: 00:11:34 I think you're made. 00:11:39 mad, even. 00:11:53 a creationist! 00:22:52 -!- c|p has quit (Read error: 104 (Connection reset by peer)). 00:23:17 -!- c|p has joined. 00:46:03 -!- atrapado has quit ("dur mir"). 01:42:10 -!- sebbu has quit ("@+"). 03:29:34 zzzz 03:31:13 yyyy 04:09:50 -!- ihope has joined. 04:09:51 xxxx 04:10:06 wow! 04:10:14 Wow? 04:10:17 the logreading alphabet 04:10:25 Actually, I used my spy. 04:10:35 ...who will drop out along with me in a moment. 04:10:47 #quit 04:10:48 I guess it's still log-reading. 04:10:51 #reset 04:10:57 I have no idea. 04:11:30 #quit 04:11:37 Huh... 04:11:45 #quit egad 04:11:46 -!- EagleBot has quit. 04:11:52 Necessary to have something after it. 04:11:56 -!- EagleBot has joined. 04:11:57 I don't know why. 04:12:29 -!- EagleBot has quit (Nick collision from services.). 04:12:47 -!- EagleBot has joined. 04:12:53 #quit it puts the message in the basket 04:12:53 -!- EagleBot has quit (Client Quit). 04:12:59 D'oh. 04:13:03 -!- EagleBot has joined. 04:13:38 too many oreos make a man fat tired and sick 04:14:24 #quit grah 04:14:24 -!- EagleBot has quit (Client Quit). 04:14:33 -!- EagleBot has joined. 04:14:47 freenode's problem, not yours 04:15:12 How do you know it's theirs? 04:15:33 it could be freenodes problem 04:15:49 quit messages are ignored unless youve been connected for long enough 04:16:00 Oh! 04:16:01 That's. . . Weird. 04:16:03 Ah. 04:16:28 Your mom's weird. 04:16:34 Obviously what's more important is #magic !say See? 04:16:37 Sukoshi: Yeah. And? 04:16:51 pikhq: Stuff. 04:16:53 On a side note, it's been a while since I've seen you in chat. 04:17:02 Yeh. 04:17:12 Well, in and *talking*. 04:17:19 Where'd you disappear to? 04:17:30 -!- Otakubot has joined. 04:17:31 oh Sukoshi is here 04:17:42 nooo she be bringin her bot 04:17:43 ?say Yeah, I am. 04:17:43 Yeah, I am. 04:17:59 I haven't gotten the time yet to hack in useful functions. So all you have is ?say and ?random. 04:18:01 Grr. Gregor, get EgoBot up, so we can abuse it some more! 04:18:05 ?random 20 04:18:05 1 04:18:45 There's a Rube Goldberg machine in here, where we use EgoBot, bsmnt_bot, and EagleBot to make it look like we're adding commands to EgoBot. 04:19:09 Well, ?say gives you that power. 04:19:14 ?say I am supreme. 04:19:14 I am supreme. 04:19:18 Except not with EgoBot. 04:19:51 I'll be hacking this as time goes by, and I doubt Otakubot will go down as I hack at it. 04:20:23 The !ext command is parsed by bsmnt_bot, which sends "#magic !say False command: $foo" to EagleBot, which sends !say to Egobot. 04:20:24 oh no 04:20:30 the oeros are so yummy 04:21:02 That, at least, I *think* is the series of commands. 04:21:19 Sukoshi: You should know that I've gone ape-shit insane in the past few months. 04:21:30 BFM is now PEBBLE, and basm is now PFUCK. . . 04:21:35 And both have SVN repositories. 04:21:41 i'm going ape-shit insane 04:21:57 (neither of which I've committed to in a while; I've done absolutely nothing in the past couple of weeks) 04:21:59 it's the heat 04:22:03 and the moving 04:22:32 Also, there's a 1.0 release of PFUCK out, and I'll have a 1.0 release of PEBBLE just as soon as I care to get some *decent* documentation for the whole thing. 04:22:44 but my new house has air conditioning yay 04:22:54 And I should stop ranting about the changes I've made in it before I make people hate me for saying this all a second time. 04:24:27 i loves you 04:24:34 ... 04:24:56 I'm not sure I want a guy who loves you for shutting up to love me. 04:25:21 that's not what i meant 04:25:50 Then what exactly *did* you mean? 04:26:14 can't be sure 04:26:29 (I encourage you to say what you mean and mean what you say. It's even the Befunge way!) 04:26:35 s/Befunge/Malbolge/ 04:26:45 How that transistion got made in my head, I may never know. 04:29:19 postfix pronouns and english muffins make for a sensational trundle 04:30:03 Complaining about English again? 04:30:47 come up with an english class expression machine yet? 04:31:43 Just one. 04:31:45 English. 04:32:28 a simpler than english english class expression machine 04:32:56 or even better the simplest possible english class expression machine 04:34:06 Simpler than English is easy. 04:34:12 The Germanic subset of English. 04:34:52 not much simpler 04:35:24 No, it's a good deal simpler. 04:35:27 -!- EagleBot has quit (Read error: 110 (Connection timed out)). 04:35:35 Getting rid of almost all technical vocabulary. 04:35:42 english is C++, the germanic subset is maybe...Java, and i want a turing machine 04:35:43 It's syntax, though, is exactly the same. 04:35:52 or a lambda calculus 04:36:08 No, the Germanic subset is closer to assembly. 04:36:18 i don't know, but i doubt it 04:36:40 -!- ihope has quit (Connection timed out). 04:37:47 bsmntbombdood: That gets rid of basically every word newer than the year 200. 04:38:03 vocabulary isn't much 04:38:03 (discounting linguistic morphings of words that existed back then) 04:38:22 Tell that to RISC/CISC flamewar fans. 04:38:50 it matters in execution speed, but not computability 04:38:55 Granted, it's not the ultimately simple. 04:39:20 all natural languages suck! 04:39:43 oklopol: then you will like my challenge 04:39:58 i've taken it years ago. 04:40:03 Obviously what you want is something similar to Toki Pona. 04:40:15 hmm... the one in new zealand? 04:40:16 or 04:40:19 the simplist english class expression machine will probably supremely unnatural 04:40:25 hmm, i confuse countries easily 04:40:36 No, it's a conlang. 04:40:36 http://www.tokipona.org/nimi.html 04:40:40 The entire vocabulary.l 04:40:40 oh 04:41:25 And I do believe it's designed by an Esperantist. . . 04:41:34 http://www.tokipona.org/eo.html See? 04:42:06 "fruit, pulpy vegetable, mushroom" i don't think so mister 04:43:00 I'm sating that you want something *similar*, not that that's exactly what you desire. 04:43:04 -!- boily has joined. 04:43:16 s/sating/stating/ 04:43:17 bsmntbombdood: what's wrong with that? 04:43:44 oklopol: it's not needed 04:44:11 hmm... i guess "eat" and "object" suffice 04:44:18 i mean 04:44:26 eatable object 04:44:43 plus, since everything is an object, you might have syntactic sugar for that 04:44:48 toki pona also looks very imprecise 04:44:53 like in english, "eation" 04:44:54 -- 04:45:02 Granted. 04:45:04 "eatoken" 04:45:31 bsmntbombdood: Well, fine. *There's* your English equivalent. 04:45:37 s/English/Assembly/. 04:45:42 I hate my brain sometimes. 04:46:30 imprecise isn't eligible for consideration 04:46:46 Obviously not the linguistic equivalent of a Turing machine, but it's much simpler than English. 04:46:55 Oh, imprecision makes it ineligible? 04:47:07 Well, then. The mere *concept* of language is ineligible. 04:47:14 i guess to be precise you have to add vocabulary 04:47:29 To be precise you have to engage in telepathy. 04:47:39 well, the expression machine could have _one_ imprecision operator 04:47:55 Which would be the sole operator. -_-' 04:48:13 Human language, unlike computer languages, is by it's *very nature* imprecise. 04:48:35 If you wish for something that isn't, then you're not asking for a human-language equivalent expression machine. 04:50:39 ok, no less precise than english 04:50:54 There we go. 04:51:01 That's actually a meaningful statement. 04:51:15 Bitch to do in a simplistic language, but at least meaningful. ;) 04:51:56 toki pona site gives "crazy water" as a translation for alchohol 04:52:02 -!- c|p has quit ("Leaving"). 04:52:21 maybe you have to trade precision for less vocabulary 04:53:09 a liquid that can be deboured which upon devouring makes crazy <<< easy to make enough syntactic sugar to make that a short word 04:53:13 *devoured 04:53:33 devoured == eat/drink, since i don't see an important difference 04:54:03 syntactic sugar == "stupid > stupidity" kinda thing 04:54:13 what do you call it now... 04:54:27 crazy water is not right, alcohol is not water 04:54:30 stupid is different from stupidity 04:54:32 nor is it crazy 04:54:51 I'd assume that "simpler" includes grammer. 04:54:52 bsmntbombdood: i mean deriving words from others 04:55:03 oklopol: "water", I assume, is overloading to include liquid. 04:55:03 pikhq: yes 04:55:11 okay 04:55:16 anyway, alcohol is not crazy 04:55:28 But it does make you crazy. 04:55:33 or then you have some weird semantics on "crazy"... 04:55:35 Well. "crazy". 04:55:44 am i crazy if i make you go mad? 04:55:46 other liquids make you crazy too 04:55:49 bsmntbombdood: Esperanto-style grammer, perhaps? 04:56:00 alcohol *has to do* with crazy 04:56:02 That does seem equivalently expressive to English, grammer-wise. 04:56:03 i'm not familiar, but maybe 04:56:13 _lack_ of water makes you go crazy too 04:56:13 Different, but equivalent. 04:56:48 Hmm. A few things could probably be cut out of that, though. 04:57:42 in toki pona, "i'm drunk", "i'm crazy", "i'm foolish", "i'm weird" all are the same 04:58:30 i'm crazy because i drank crazy water, i'm crazy because my head is ill 04:58:38 easy to fix 04:58:46 lol, "anus" is "back orfice" 04:58:54 Which makes sense in the context of Toki Pona's purpose, but not in the context of the purpose of an English-equivalent expression machine. . . 04:59:26 english does that with having millions of words, i find that idiotic 05:00:03 oklopol: addition of vocabulary increases expressivity 05:00:14 it would be easy to have a way to create new words from the existing ones with suffices and perhaps having a better pronoun system as well 05:00:26 bsmntbombdood: how? 05:00:53 "Giant" == "Very big". "Enormous" == "Very, very big". "Huge" == "Very, very, very big". 05:00:59 synonyms all have slightly different meanings 05:01:00 "Really" == "Very, very". 05:01:10 For the most part, they imply degrees. 05:01:25 not all synonyms 05:01:27 Repitition of a degree indicator can serve the same purpose. 05:01:35 bsmntbombdood: you can tell the difference with other words as needed 05:02:35 You know. . . If you count various English euphemisms, sayings, etc. . . There's no such *thing* as an English-equivalent expression machine short of English itself. 05:03:38 i can't think of any synonyms as an example 05:04:51 it's true not every drinkable liquid that makes one go crazy is alcohol, which is why you would have to make a more thorough definition and make a constant for it, meaning it *would* be a single underived words 05:04:53 *word 05:05:50 i like toki pona though 05:06:34 simplicity prevents doublespeak 05:06:41 hmm, i have a test at the university in 2 hours 05:06:43 doublespeak is the wrong word 05:06:46 and i have no idea where.- 05:07:43 cocaine is "energy powder" 05:08:30 that's stupid... 05:09:02 coffee is "hot engergy water" 05:09:32 iced starbucks abominations can't be expressed 05:10:33 hmm 05:11:11 no description of grammar on the site 05:14:39 you take an empty stack, push 1, pop 5, push 5, pop 1, then destroy the stack. 05:14:40 it needs a time machine to work, though. 05:14:40 and of course if you don't push 5 after popping 5, the universe collapses. 05:14:52 in an interpreter, you would need an oracle :) 05:15:23 which would find out which popped number would lead that same number pushed later 05:15:32 * oerjan imagines something heavily dataflow based 05:17:23 "woman" is the same word as "wife" 05:21:21 bsmntbombdood: strangely enough in norwegian, "man" is the same word as "husband" 05:21:50 how do you differentiate? 05:22:04 by context, like anything else 05:22:39 a man walked down the street 05:22:42 well the latter word is usually with a possessive 05:23:23 oh right 05:23:30 oh and there is a more precise word for husband just in case 05:23:35 and "my man" is pretty much the same as husband 05:23:50 -!- shinh has joined. 05:26:45 Ia Ia Cthulhu... uh, Something? 05:26:46 Fthagn? 05:26:47 CoF! 05:39:55 i'm gonna learn some toki pona 05:40:54 Esperanto estas plej bona. 05:41:31 toki pona has a completely different purpose than esperanto 05:42:18 with a quick show of hands, (and we're talking *actual* programming tasks here, not just esolang dev work), who prefers RPN, prefix and algebraic notation? <<< oklotalk has teh perfect system, you look at that when it's ready :) 05:42:32 infix without implicit precedence and prefix. 05:42:47 that's no good 05:43:12 implicit precedence is what makes infix infix 05:54:09 -!- GreaseMonkey has joined. 06:05:28 bsmntbombdood: this is what i thought at first, but i've started liking how you can do everything in simple sequences 06:06:51 it's true math needs some serious parenting, but works well for most tasks 06:08:03 Sukoshi: Esperanto estas plej bona, sed Toki Pona estas tre simpla lingvon. 06:08:47 Obviously what oklopol is referring to would be the equivalent of *requiring* parens for each infix statement. . . 06:09:03 2+2*2 would *have* to be (2+(2*2)) 06:09:07 ;) 06:09:14 exactly 06:09:30 -!- oerjan has quit ("Good night"). 06:09:31 Interesa, sed mi malsxatas. 06:10:06 well, 2+(2*2), i don't see a need for the outer ones 06:10:16 Sukoshi: s/lingvon/lingvo/ 06:10:20 (mi pensas) 06:10:29 oklopol: Lisp sees a reason for it. 06:10:41 . . . Infix Lisp, anyone? :p 06:10:49 heh 06:11:39 (opr par) {par opr par} [par opr] <<< lisp with every possibility :P 06:11:52 (+ 5 [4 2 *]) 06:12:11 Unary functions can be called via prefix or postfix; binary called via infix, and n-ary where n>2 via foo(bar,baz,qux). 06:12:13 hmm... 06:12:23 infix might need parens around the parameters 06:12:45 Thus, we obtain (5+5) and (++5) and (5++) and +(5,5,5). . . 06:13:02 {1 5 * 1} might just as well mean 1 (5 as function) [*, 1] 06:13:06 I assume functions taking no argument wouldn't need to care about calling semantics. 06:13:44 Given that + == + == +. ;) 06:13:59 . . . Damn, that could actually be an interesting language. 06:14:02 pikhq: every function can just have 1 argument 06:14:24 hmm 06:14:33 oklopol: What, a list of arguments? 06:14:37 Then it's Lisp. 06:14:39 yes 06:14:55 lisp with more calling conventions, yes 06:15:03 well, not calling conventions 06:15:05 fixes 06:15:12 Semantics. 06:15:36 yeah,. but i see your way is cool 06:15:50 now that i understand what you meanb 06:16:01 Bit harder/cleaner to parse, but an interesting idea. 06:16:08 s/cleaner/dirtier/ 06:16:29 but, how do you do (A B), you don't know which one the function is 06:16:41 this is why i had all the parens in use 06:16:57 Obviously, one needs to get rid of the postfix option for unary. 06:17:12 Which means that (A B) can *only* be A with B as the argument. 06:17:25 good 06:17:33 And (A B C) can only be B with A and C as the arguments. 06:17:53 And (A(B,C,D)) can only be A with B,C, and D as the arguments. Etc.) 06:21:27 Think I'm insane yet? 06:21:52 -!- boily has quit ("WeeChat 0.2.5"). 07:08:53 ?say No. 07:08:57 No. 07:18:37 Obviously, I've failed at my job. 07:19:20 ?say how good is this bot? 07:19:21 how good is this bot? 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:07:23 I need to code in some more functions. 08:07:42 But firstly, I have to clean up some of the handler code to macro out the regexps. 08:09:17 -!- Figs has joined. 08:09:19 hello! 08:10:46 * Figs has been put to shame 08:10:57 I make a math parser in 1000 lines of C++, 500k 08:11:05 guy does it in 88 lines of pascal 08:11:09 4k output 08:11:17 actually 350k 08:11:20 (For me) 08:11:35 there is something wrong with this, me thinks. 08:12:40 Well, Pascal avoids a lot of edge cases by having a strict syntax. 08:12:55 But is Pascal used anywhere but the roguelike world? 08:14:22 this guy's writing a compiler in pascal 08:14:34 88 lines of code, he has working object code for the 68k 08:14:41 *it outputs 08:14:52 Is it that much different from C? 08:14:57 granted, he limited it to 1 letter variables and 1 character numbers 08:15:02 but that was to show the concepts 08:15:18 I'm sure he could fix it to do more with about 25 lines max 08:15:33 it's proceedural 08:15:35 mine is OO 08:15:49 sukoshi, I don't know 08:15:53 Oh, you did yours in C++, not C. 08:15:54 probably not 08:15:57 yeah, C++ 08:16:07 mine is pretty complex for such a simple thing 08:16:22 Who uses C++ to make compilers? :P 08:16:29 I do 08:16:52 http://rafb.net/p/ZWlWTj48.html 08:16:57 here's the source for main.cpp 08:17:01 the main part of my program 08:17:12 I wrote the regex.h header (and the other 8 files it works with :P) 08:17:29 sorry 08:17:31 14 files 08:20:36 -!- Figs_ has joined. 08:20:41 -!- Figs has quit (Nick collision from services.). 08:20:43 -!- Figs_ has changed nick to Figs. 08:20:49 :| 08:21:05 freenode didn't like me saying positive things about proceedural... 08:21:21 C PWNZ C++ 08:21:29 Nah, I think it's your connection ;) 08:21:55 probably is, but that'd make my conspiracy theories so much harder to believe :| 08:22:01 :P 08:22:31 maybe I'm just a messy coder 08:25:09 is it a bad thing that I don't like to scan before I parse? 08:26:50 I dun see why anyone would need C++ for it though. 08:26:57 I'd just use pointer foo. 08:27:06 'pointer foo'? :P 08:27:31 I guess I don't *really* need C++ 08:27:35 but it makes it easier 08:27:38 things like vectors 08:27:43 std::string 08:27:56 boost::lexical_cast 08:28:04 Hard to understand concepts? 08:28:08 operator overloading 08:28:12 ? 08:28:15 what? 08:28:18 Nahh, why doubt pointers when they're easy to visualize? 08:28:29 C++ abstractions never really agreed with me. 08:28:34 I use pointers quite a bit 08:28:52 I just find the pre-packaged containers to be a lot easier to deal with 08:29:20 and I know they're not likely to fuck up the memory management 08:29:38 Well, C++ abstractions are on the wonker side. 08:29:44 I have a hard time with the weird stuff. 08:29:48 you should see my regex code :) 08:32:11 I overloaded >>, +, *(unary), |, and maybe some others... 08:32:49 and built it so that all my regex objects would be able to stick to each other the right way 08:33:05 (because they return references to themselves) 08:39:04 anyway 08:40:12 do you think it's a good idea to have _one_ numeric type in a language? 08:41:00 like, an arbitrary length rational number... 08:41:37 ?say Yay. 08:41:37 Yay. 08:41:42 Success! 08:41:46 My macro works! 08:43:19 :) 08:43:24 is that a yes? 08:44:01 ?random 3 08:44:03 0 08:44:04 ?random 3 08:44:04 1 08:44:09 Yay. The macro works yet still. 08:44:14 The magic: 08:44:16 ?dice 9 08:44:18 Errr... 08:44:22 ?dice 3d4 08:44:27 Unimplemented, right? 08:46:11 ?say hello. 08:46:20 :( 08:48:03 ooh 08:48:09 gmp is lgpl?! 08:48:10 :D 08:48:20 hello. 08:48:33 Sorry, when playing with my local REPL, I unhook the main loop. 08:48:46 I haven't gotten around to implementing ?eval just yet. 08:53:14 * Figs just finished eval yesterday :D 08:53:22 my math calculator app 08:58:34 ?dice 3d20 09:00:16 ?dice 3d20 09:00:34 ?dice 3d20 09:00:34 22 09:00:38 :) 09:00:41 ?dice 3d10 09:00:41 25 09:04:34 ?dice 3d6 09:04:35 11 09:04:40 ?dice 3d6 09:04:40 8 09:04:46 niece :D 09:31:42 sukoshi is your niece? O.o 09:31:44 :| 09:33:12 :-P 09:34:33 you know 09:34:41 internet advertising makes no bloody sense 09:35:33 banner advertising implying sex, click it, and it says, 'tell us where to send your $100 gift card' 09:35:34 :P 09:35:45 see? 09:35:49 the internet is insane 09:35:56 cause !-> effect 09:36:33 fack 09:36:35 *fuck 09:36:45 now firefox quit because of another stupid ad 09:36:48 brb 09:36:56 -!- Figs has quit (Read error: 54 (Connection reset by peer)). 09:37:17 -!- Figs has joined. 09:37:32 * Figs really needs AdBlock again 10:07:37 -!- andreou has quit ("No windows for this server"). 10:09:51 gonna get off now, gnight 10:10:23 -!- GreaseMonkey has quit ("AJAX is also a toilet cleaner"). 10:49:44 -!- Figs has quit ("Good-bye"). 12:07:00 howdy, folks 13:20:24 -!- ais523 has joined. 14:24:17 -!- ihope has joined. 15:27:10 -!- oerjan has joined. 15:27:13 I'll give you back EagleBot now. 15:27:26 -!- EagleBot has joined. 15:27:39 Even though it's mostly useless... 15:28:14 what does EagleBot do? 15:29:20 If it receives the string ":#magic " followed by some other stuff, it sends that other stuff to EgoBot in a PRIVMSG. 15:30:08 :#magic !ps d 15:30:09 If it receives the string ":#quit " followed by some other stuff, it quits using that other stuff as the quit message. 15:30:10 -!- EagleBot has quit (Client Quit). 15:30:19 -!- EagleBot has joined. 15:30:22 ...just like that :-) 15:30:26 :#magic !ps d 15:30:43 !ps d 15:30:45 No EgoBot here. 15:31:00 so it's not particularly useful at the moment, then 15:31:26 If it receives the string "EgoBot" followed by some other stuff, it sends "ooga " followed by that other stuff to bsmnt_bot in a PRIVMSG. 15:31:47 why? 15:32:09 So that EgoBot can talk back to bsmnt_bot, though in sort of a roundabout manner. 15:32:24 bsmnt_bot doesn't respond to private messages anyway AFAIK, and not anything that doesn't start with ~ 15:32:37 although I suppose bsmnt_bot could be reprogrammed to understand 'ooga'... 15:32:40 bsmnt_bot can be made to react to private messages. 15:32:59 Though I'm not sure of the command... 15:33:40 what was its regex queue called again? 15:33:58 ~exec self.register_raw(r"(.*)", lambda x: bot.raw("PRIVMSG #esoteric :%s" % something)) 15:34:03 I just don't know what the something is. 15:34:04 NameError: global name 'something' is not defined 15:34:29 There may be another lambda parameter there too. 15:34:29 NameError: global name 'something' is not defined 15:34:41 ~exec self.raw("QUIT") 15:34:41 -!- bsmnt_bot has quit. 15:34:45 -!- bsmnt_bot has joined. 15:34:53 you're driving #bsmnt_bot_errors crazy 15:35:13 (Also, EagleBot chooses the nick "EagleBot", the username "EagleBot" and the realname "EagleBot", identifies to NickServ, and joins #esoteric.) 15:35:19 * ihope looks in his logs 15:35:58 whois EagleBot 15:37:03 * ais523 is so prone to forgetting the slashes on commands that they now make sure they're not in a channel when they identify to NickServ 15:41:24 ~exec self.register_raw(r'\S+ PRIVMSG (\S+) :ooga(.*)', lambda x,y: sys.stdout(y.group(2))) 15:41:30 ooga this is a test 15:41:31 this is a test 15:41:45 Cool. 15:41:49 ~exec self.raw_regex_queue.pop() 15:41:54 ~exec self.register_raw(r'\S+ PRIVMSG (\S+) :ooga (.*)', lambda x,y: sys.stdout(y.group(2))) 15:41:55 ooga this is a test 15:41:56 this is a test 15:42:00 Apparently all this EagleBot nonsense started with this: [2007-06-15 19:59:20] sdrawkcab si txet ym kool 15:42:04 small whitespace error there... 15:42:16 I then said this: [2007-06-15 19:59:48] !oot eniM 15:42:40 Then I asked somebody to add a command to EgoBot that made !oot eniM output Mine too! 15:43:44 ihope: you do know that is possible using daemon, right? 15:43:50 Yes. 15:43:54 But it can be tricky. 15:44:17 Somebody did that to bsmnt_bot, and then EgoBot was made to not respond to !oot with a null daemon thing. 15:44:51 !bf_txtgen too! 15:45:51 Well, if you want to cheat, that's fine. :-P 15:46:14 I missed a lot of conversation 15:46:23 Optimizing EgoBot's output is likely to be faster than writing it all by hand 15:47:06 except apparently in this case... 15:47:25 Besides, going from chat to EgoBot to EagleBot to bsmnt_bot to EagleBot to EgoBot to chat is more fun! 15:48:46 Here's where EagleBot really got started: [2007-06-15 20:26:57] Or I could toss together a relay bot. 15:50:19 oh, of course, EgoBot isn't here 15:50:23 * ais523 feels stupid 15:51:54 Of course, it would have been easier to just register bsmnt_bot. 15:52:38 ~exec self.raw("NICK :bsmnt_bot243\nPRIVMSG NickServ :REGISTER insecurepassword") 15:52:38 -!- bsmnt_bot has changed nick to bsmnt_bot243. 15:52:58 There, now it's identified. 15:53:35 But since EgoBot isn't here, there's really no point in bsmnt_bot243's being identified. 15:53:46 -!- bsmnt_bot243 has quit (Nick collision from services.). 15:53:49 -!- bsmnt_bot has joined. 15:53:51 Plus people can do that. 15:57:07 let's see... bsmnt_bot was registered with services once, but doesn't bother to register nowadays and the nick is expired 15:57:19 bsmnt_bot243 is not registered 15:57:29 despite what bsmnt_bot just thought it did 15:57:43 I dropped bsmnt_bot243. 15:57:47 It was registered. 15:58:03 s/register(.*)register/register\1identify/ 3 comments ago 15:58:25 oh, because you guessed its password 15:58:29 ais523: it was, i checked 15:58:40 Guessed? 15:58:46 no, because he made the password 15:59:00 Plus everybody could see it. 15:59:10 I know, not only that the password was sent to #esoteric in cleartext, so everyone knew what it was 15:59:14 (crossed messages) 15:59:31 therefore it was easy for ihope to guess the password 16:00:22 er, my interpretation is that ihope just made bsmnt_bot243 register for the first time, with a password he invented 16:00:48 I did just make bsmnt_bot243 register for the first time with a password I invented. 16:01:18 I was trying to make a degenerate statement, but obviously I managed to mess up somehow 16:03:21 -!- c|p has joined. 16:03:39 Degenerate statement? 16:04:10 you came up with the password in the first place, so it was easy for you to guess it 16:04:40 of course, a joke that needs to be explained this carefully is likely to not have been very good 16:09:52 It wasn't very clear. 16:10:45 By the way, what's with the topic? 16:12:03 No idea. 16:12:52 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Aquí sé canibales. 16:12:54 -!- jix__ has joined. 16:12:55 read the logs 16:12:59 Look, bad Spanish! 16:13:06 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. 16:13:12 But it was probably there for a reason. 16:13:38 I normally read the logs first, but I was so surprised at finding #esoteric active when I turned up that I forgot 16:15:09 ihope: you, bsmntbombdood and I got into a weird conversation, so i changed the topic appropriately 16:15:30 Oh? 16:15:52 * ihope boils bsmntbombdood 16:16:10 Ah. 16:17:36 fizzie was there too (but not Bob, as far as i can tell) 16:18:51 *sigh*. i am on just _two_ channels, but i keep writing to the wrong one. 16:20:09 Bob? 16:20:55 google for "Bob was there, too" 16:23:24 also, http://www.blogphilo.com/wikiwrit/index.php?title=Genesis 16:31:59 -!- crathman has joined. 16:35:18 ?say ais523 is reading the logs and has just figured out how to do this 16:35:42 except that it didn't work for some reason 16:37:42 #mundane ooga testing 16:40:34 What's ?say supposed to do? 16:40:43 it's Otakubot's echo command 16:40:46 ?random 20 16:40:59 but Otakubot doesn't seem to listen to what I say 16:41:11 (And though #mundane existed previously--I think--it doesn't exist now.) 16:41:42 well, how else can I set up an Eaglebot loop without renaming myself to EgoBot? 16:42:05 You can ask me to modify EagleBot. 16:42:18 Or you can use bsmnt_bot. 16:43:12 ~bf ,[.,]!~bf ,[.,]!testing 16:43:38 wow, I expected at least something to happen, even if it didn't loop 16:43:42 ~bf ,[.,]!testing 16:44:04 ~bf looks like a bsmnt_bot command... 16:44:17 ...oh, it is? 16:44:25 Um, never mind. 16:44:28 ~bf ,[.,]!testing 16:44:36 it's one I wrote 16:44:42 ~exec 0 16:44:44 ~bf ,[.,]!testing 16:44:45 testing 16:44:59 There's an execfile command? 16:45:39 apparently. Although I didn't know about it at first, and ordered the bot to read the file into an array, join its lines with newlines, and then exect the result 16:46:15 bsmnt_bot forgets all its commands when it quits, so bsmntbombdood created a place where scripts (like my ~bf script) could be stored and execfiled to reload them 16:46:24 ~bf ,[.,]!~bf ,[.,]!testing 16:46:27 ~bf ,[.,]!testing 16:46:33 Can bsmnt_bot write to that place? 16:46:44 yes, that's how I got the file there in the first place 16:46:52 just don't overwrite my script bf.py or dof.py 16:47:22 ~exec execfile('bot/scripts/dof.py') 16:47:30 ~dof [,.]!testing 16:47:30 testing 16:48:06 I wonder if DoFuck is Turing-complete? (It isn't BF-complete, because you can't write cat in it, but that doesn't prevent TCness) 16:48:15 DoFuck? 16:49:25 like Brainfuck, but [] is a do-while loop not a while loop 16:49:53 So it's always done at least once... 16:50:23 yes, and any program either produces no output or always produces output (cat can do either) 16:52:09 I suspect it's TC, because it fits all the common criteria, sort-of, and apart from IO and looping all BF operations are reversible 16:52:58 IO and looping is half of BF. :-) 16:53:06 Except that IO is an unnecessary part of BF. 16:53:30 and besides, ] is reversible, it's just [ that isn't 16:53:54 Depends on just how you define the loop instructions. 16:53:58 no, wait... ] isn't reversible, because you don't know whether you came from inside the loop or not. (It is reversible in DoFuck.) 16:54:29 You could define [ as being 'jump to ] if it's nonzero' and ] as being 'jump to [ if it's nonzero'; then you get Reversible Brainfuck. 16:56:25 Maybe I could program up a reversible BF interpreter in bsmnt_bot 16:56:34 Not now, though because I have to go in 5 minutes 16:57:00 and using bsmnt_bot as an editor is like a mix of editing with cat and sed 16:57:04 -!- sebbu has joined. 16:58:44 -!- sebbu2 has joined. 16:59:30 -!- ais523 has quit ("Does anyone ever actually read quit messages?"). 16:59:48 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 17:00:08 -!- ihope has joined. 17:00:25 Oops. 17:01:06 ...um... 17:01:25 ~exec self.raw("QUIT") 17:01:26 -!- bsmnt_bot has quit. 17:01:29 -!- bsmnt_bot has joined. 17:01:31 Okay, we're fine. 17:04:18 the disaster has been averted? 17:05:19 Yup. 17:16:10 -!- jix__ has changed nick to jix. 17:18:21 -!- sebbu has quit (Read error: 110 (Connection timed out)). 17:20:05 ais523 is reading the logs and has just figured out how to do this 17:20:05 10 18:16:12 Sukoshi: Good morning. (I assume you're awake) 18:31:12 -!- oerjan has quit ("Supper"). 19:03:56 wowsers 19:04:47 Otakubot: responded way late 19:06:12 ok, here's a tricky question 19:06:39 can you implement a priority queue that doesn't copy with constant time insertion and removal? 19:17:41 no 19:17:51 it is impossible 19:18:18 because otherwise you could use it to sort in O(n) time 19:18:47 oh, right 19:19:38 can yo see how that is true 19:19:44 yeah 19:20:06 then what is the best performance you can get? 19:20:28 O(n log n) 19:20:35 remember though, that that sorting limit is for generalised comparison sorting. 19:20:45 if you have more info avaiable, you can sort in linear time 19:30:07 And if you have the right information available, you can sort in constant time. 19:30:47 Say, the list, already sorted for you? :p 19:33:47 sigh 19:34:02 some types of bucket-sort are constant-time 19:34:07 oops 19:34:12 some types of bucket-sort are linear-time 19:44:18 i can sort lists consisting only of ones in constant time! 20:00:33 without looking at them! 20:05:14 I can do better than that. 20:05:37 -!- boily has joined. 20:05:38 I can sort a void[] in O(0) time! 20:08:53 sorting voids is undefined 20:08:58 void is unordered 20:09:06 I know. 20:24:58 -!- fizzie2 has joined. 20:25:01 -!- fizzie has quit (Read error: 54 (Connection reset by peer)). 20:33:44 -!- clog has joined. 20:33:44 -!- clog has joined. 20:36:09 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 20:39:55 -!- fizzie has joined. 20:47:55 -!- boily has quit ("WeeChat 0.2.5"). 20:54:46 -!- ihope has quit (Success). 20:58:18 -!- c|p has joined. 20:58:19 -!- SimonRC has quit (Connection timed out). 21:00:14 -!- sebbu has joined. 21:05:23 it would be nice if void was an actual type. 21:05:25 sizeof(void) == 0 21:05:32 -!- SimonRC_ has changed nick to SimonRC. 21:06:30 Yeah, it would. 21:06:30 it would make more sense though if C had parameterised types, C++ style 21:06:45 Could be arranged for in C++. . . 21:06:56 certainly 21:07:00 Although that'd be slightly insane. ;) 21:23:27 bah, you accursed imperative programmers have no sense of elegance 21:23:52 if you had invented the integers, you would not have bothered putting in 0 or the negative numbers 21:25:39 "If two numbers are the same, why bother to subtract them?" "If the second is bigger than the first, just subtract them the other way round." "If you want a number to get smaller, just subtract rather than inventing a new thing to add on." "If you don't want a number to be changed, don't bother adding or subtracting in the first place." 21:25:44 etc 21:26:49 * SimonRC imagines what Java programmers carefully transporting one flag and one nullable counting number around to represent each signed integer 21:27:03 It's funny because it's true. 21:39:09 SimonRC: heh. Yes. 21:43:37 -!- oerjan has joined. 21:49:35 -!- erider has quit (Read error: 104 (Connection reset by peer)). 22:04:09 -!- jix has quit ("CommandQ"). 22:06:43 "what Java programmers carefully transporting"? 22:07:01 That doesn't look like a complete... certain-type-of-noun-like phrase to me. 22:13:59 erm, that was a bit mangled 22:31:49 lol @ SimonRC 22:33:18 what about the solution to x+1=0? 22:34:40 probably they would say it had no answer 22:34:56 "21:22:57 < SimonRC> if you had invented the integers," ... 22:35:01 that's what they said way back 22:35:37 It was just a rant about how imperative programmer don;t appreciate the unit type 22:35:59 or things like identities and invariants in their libraries 22:36:53 You know what happens when you ask a Java programmer to invent a combinator library, right? 22:36:59 You get Java3D 22:37:00 Ugh 22:37:08 i'm not familiar 22:37:23 it's a crap imitation of a combinator library 22:37:51 There is far too much mutation required and not enough pure-functional combinators 22:39:27 They *could* have made it possible to add rotation into a matrix by saying "mat = mat.rotX(45).rotY(90);" 22:40:05 and they didn't? 22:40:07 but no, they had to make you use lots of mutation methods: "mat.rotX(45); mat.rotY(90);" 22:40:26 if you want the answer in "foo", then tough 22:40:34 you have to copy and assign 22:40:38 SimonRC: even python is guilty of that sometimes 22:40:41 true 22:40:45 yeah, python does that too 22:40:49 lst.sort() 22:40:57 SimonRC: obviously it's way more efficient and efficiency is the most important thing when dealing with 3d 22:41:01 i think they do it for efficiency 22:41:09 Java is mere ly place where many of these such things collect 22:41:23 SimonRC: it's not like opengl is any better :) 22:41:48 lament: erm, no, this is for *building* the scenegraph, efficiency is not very important there. 22:42:08 arggh 22:42:14 how can journals charge for paperws 22:42:17 SimonRC: they probably use the same matrices and the same rotation routines throughout. 22:42:21 it's not like they pay researchers 22:42:25 SimonRC: don't tell me you think that's a bad thing :) 22:42:30 erm, what? 22:42:43 bsmntbombdood: they need to review stuff 22:43:15 bsmntbombdood: the trick is the belong to an institution that pays for subscription 22:43:35 or you can use the known details to find a free copy out there on the web, or on the author's webshite 22:43:41 *website 22:43:58 too many times a paper i've wanted has only been available from acm 22:44:51 ouch 22:44:54 subscribe? 22:45:20 well, I will be leaving uni very soon, so you can ask me to acquire a copy of all the ones you want 22:45:35 but be quick, like, a few days 22:45:51 the uni has an ACM subscription 22:45:51 ok 22:46:18 -!- sebbu has quit ("@+"). 22:47:16 -!- guisf has joined. 22:47:25 guisf: WRU? 22:48:06 SimonRC: sorry, what does WRU mean? 22:48:15 Who Are You? 22:48:23 teleprinter jargon 22:48:52 i'm guessing he's brazilian 22:48:57 well, and male 22:49:13 lament: good guess! how do you know? 22:49:23 i'm a wizard 22:49:28 there's no wimmins on the internets 22:49:28 erm "n=guisf@c90641f4.virtua.com.br" 22:49:31 como vai? 22:49:40 lament: vc eh brasileiro tbem? 22:50:11 guisf: sou canadense, falou portugues um poquito 22:50:21 SimonRC: yes, my ip of course 22:50:30 guisf: yes, it ends with 'br' :) 22:50:56 lament: legal! mas por que aprender portugues morando no canada? 22:52:44 gosto muito da musica brasileira, tocava no grupo do samba... quero visitar brasil um dia 22:53:10 lament: voce escreve muito bem. Seu portugues parece perfeito 22:53:42 obrigado :) 22:53:52 i know only a few words 22:54:08 but i speak spanish much better, and it helps 22:54:17 it seems that your ISP is called "NET virtua", and I would guess that you are on their broadband scheme. 22:54:21 almost everything is the same 22:55:33 lament: yes, you're right 22:58:31 lament: are you male or female? 22:59:09 male 22:59:50 where in brazil are you? 23:00:08 lament: sao paulo, and what about you in Canada? 23:00:13 vancouver 23:00:59 lament: nice, I'd like to meet Canada. I have a friend living in toronto 23:01:14 guisf: canada's nice :) 23:01:40 except for the weather 23:01:54 the local portuguese community newspaper is caled "Vanchuver" 23:02:04 lament: very cold, doesn't it? 23:02:12 no 23:02:15 but rains a lot 23:02:49 lament: but that's good, you can stay at home in your computer! 23:02:52 um 23:03:04 that would be good if that were what i wanted to do :) 23:03:26 lament: and what you like to do? 23:03:26 the summer is very very nice 23:03:39 the winter, though, is crap - the days are short and it's raining all the time 23:04:14 guisf: going to the beach would be nice, for one :) 23:04:19 still not warm enough for that 23:04:30 but soon will be, maybe even this week 23:05:26 lament: here is usually hot, almost every place in Brazil is hot most part of the year 23:05:47 i know 23:07:16 also the women are really hot :) 23:07:24 heh 23:07:41 i hate hot (weather) 23:07:41 lament: yes! you know Brazil very well 23:08:01 everybody knows brazilian women are hot 23:08:06 :P 23:08:22 yeah, that's pretty much universal knowledge 23:08:24 :) 23:08:27 bsmntbombdood: i don't like it either, but i have no option i think 23:08:40 bsmntbombdood: about hot weather of course 23:09:25 lament: and what about canadian women? at least there are a lot of pretty women in the tv 23:09:43 guisf: i prefer brazilians 23:09:56 lament: hehehe 23:10:30 i need to find a brazilian girlfriend here and go to brazil with her. That's my plan anyway :) 23:11:04 lament: a brazilian women is ok, but I'll prefer to stay in canada 23:11:23 ha 23:11:25 well, go to brazil for some time, not forever 23:11:32 just to get to know the country 23:11:32 the grass is always greener on the other side of the fence 23:11:55 bsmntbombdood: sometimes the grass IS greener 23:12:18 Other times, it's the spray paint on the grass that's greener. 23:13:12 rain is great 23:13:19 when it rains, i go outside 23:13:23 people stare. 23:13:36 oh that reminds me 23:13:37 brb 23:30:29 -!- erider has joined. 23:32:10 -!- goban has joined. 23:34:49 -!- goban has quit (Read error: 104 (Connection reset by peer)). 23:35:52 there 23:38:56 did you... make rain? 23:39:03 sorta 23:39:13 i had to move the sprinklers in the neighbor's yard 23:39:33 that's kinda metarain if they were off 23:58:30 How so? 23:59:16 Mu 23:59:22 i hate stupid people 23:59:51 i like stupid people 2007-06-19: 00:00:24 oh wait, do you mean stupid or really dumb? 00:00:38 what's the difference 00:01:50 really dumb people don't know they are stupid, and nothing you do can make them understand it 00:02:06 that's my theory anyway 00:02:23 and just stupid people know they are stupid? 00:04:36 no, people who know they're stupid are smart. 00:04:59 you can still know you're stupid and be stupid 00:05:21 hehe 00:40:27 i can't seem to get fedex to send me boxes 00:41:39 they want some sort of account number 00:44:15 blargh they need a credit card 01:13:47 bbl everyone 01:13:54 -!- RodgerTheGreat has quit. 02:27:22 -!- ihope__ has joined. 02:27:27 -!- ihope__ has changed nick to ihope. 02:27:50 -!- EagleBot has quit (Nick collision from services.). 02:28:31 -!- EagleBot has joined. 02:44:51 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 02:58:28 -!- Sgeo has joined. 03:28:48 -!- guisf has left (?). 04:07:08 -!- Bigcheese has quit (Read error: 104 (Connection reset by peer)). 04:24:22 -!- pikhq_ has joined. 04:24:23 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 04:24:41 -!- pikhq_ has changed nick to pikhq. 04:28:12 i think we need to get rid of the sun 04:31:52 I think we need to get rid of the Big Blue Room. 04:31:56 It's just 100% broken. 04:32:11 I mean, the air conditioning is shot, so's the heater, and the roof leaks. 04:32:21 :D 04:33:04 absolutely 04:33:46 Also, the lighting's fucked up, and the decerator ought to be shot. . . 04:34:03 The whole "stars" theme is just too. . . Spacey. 04:34:18 :) 04:34:38 hey i like the "stars" theme. Especially the moving parts. 04:34:54 what's a decerator? 04:35:17 ah. 04:35:27 A word that I don't know how to spell, for some odd reason. 04:35:42 * pikhq kicks himself; I spell perfectly, usually, and it's my own bloody language. 04:36:43 a decerator would be someone who removes horns, i guess 04:37:00 of rhinoceroses, perhaps 04:37:16 a nasty business. 04:37:28 Which is why he ought to be shot. :p 04:37:59 anyway _our_ lighting is working perfectly, though i guess it'll break down around autumn as usual. 04:39:38 Ours seems to turn off every 12 hours. 04:39:43 (or so) 04:40:57 (bloody Norwegian) 04:43:20 :D 04:44:04 Out of curiosity, are you north of the Arctic Circle? 04:44:08 no 04:44:12 Ah. 04:44:22 Well, then, it *should* break down at least once a day there. 04:44:23 ;) 04:44:49 well the sun goes into hiding, but it doesn't turn _that_ dark 04:46:28 especially when it's not cloudy (although it usually is) 04:50:12 -!- c|p` has joined. 04:51:16 -!- c|p has quit (Nick collision from services.). 04:51:43 -!- c|p` has changed nick to c|p. 04:54:28 Odd. 04:54:47 The lighting here is always on the blink. . . 04:55:01 Although we do get this nice little emergency light. . . 04:55:17 Which seems to shut off once a month, and is useless when the humidity goes up. 04:55:20 ;) 05:07:46 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:08:11 -!- EagleBot has quit (Read error: 110 (Connection timed out)). 05:25:38 -!- c|p has quit ("Leaving"). 05:29:23 are there any real-time 4d games? 05:29:38 and how do you calculate spins in ping pong for example? 05:29:49 http://dagobah.biz/flash/CurveBall.swf -> 4d 05:29:53 :P 05:30:52 sound & color for 4th dimension 05:31:36 it's hard to know when exactly you ought to have the ball inside you if there's just color 05:31:51 the sound allows for a great way to do that 05:32:03 because of the bee-effect 05:32:26 like hZ440+hZ443 = chaos 05:34:02 i have no idea how a spin works physically... i actually learned a ball can _really_ change it's curve when i first played ping pong with a friend a bit over a year ago 05:34:35 before that i though it was a perception error or smth :) 05:35:54 we had to make a class in java for storing pictures in a test i had yesterday 05:36:31 my only comment was /** Reimplementing ArrayList using ArrayList */ 05:36:37 except perhaps in finnish 05:36:48 don't remember 05:37:24 LMAO 05:37:38 i also wrote that. 05:37:44 not really, but i should'be 05:37:45 *ve 05:38:40 coffees -> 05:41:53 -!- boily has joined. 05:42:16 and then i gave her a golden shower 05:43:54 -!- GregorR has quit (Remote closed the connection). 05:45:42 i just joined and first thing i see: `ant then i gave her a golden shower' 05:45:49 disgusting 05:46:39 yay, you're good at this game 05:47:10 just admit it, you were reading the logs and waiting for the perfect moment 05:47:16 though i guess i'm supposed to say something that might *not* be perverted in another context 05:47:30 well 05:47:31 sorry oerjan, i did not read the logs, truly 05:47:42 i'm pretty sure there's a context for everything. 05:47:47 actually you couldn't have 05:47:54 clogz 05:48:03 because that was the first disgusting thing oklopol said 05:48:18 usually i'm pretty clean 05:48:24 oerjan: spins? :) 05:48:38 spins are disgusting? 05:48:52 -!- GreaseMonkey has joined. 05:49:16 yeah, but in a good way 05:49:24 i'm a little bit confused concerning what you are discussing 05:49:27 spins? 05:49:31 hmm 05:49:41 are there any real-time 4d games? 05:49:42 and how do you calculate spins in ping pong for example? 05:49:42 http://dagobah.biz/flash/CurveBall.swf -> 4d 05:49:48 1oh 05:49:52 *oh 05:50:10 we were not discussing this 05:50:19 but we should be discussing it 05:51:33 hmm... guess i'll schmoogle or something 05:52:13 ah indeed 05:52:19 stupid angular momentums 05:52:57 i can't find anything about spins since spins have so many other physical schwimpies 05:54:02 why do i always run out of coffee 05:54:53 the little gnomes are stealing it 05:54:53 i need two joysticks, one just isn't enough 05:55:10 i could just have two mice and use them, but i'm not sure that'd feel right 05:55:16 since you always have just one mouse 05:55:22 _always_ 05:55:47 you can have three, if they are blind 05:56:06 actually, 2 joysticks/mice allow 5 dimensions for ping pong 05:56:23 since you don't need one of the ... axes 05:56:36 axizors 05:58:19 but i'm not sure if i want to do 5d before my first 3d game :) 06:05:11 yay 06:05:18 #physics saved my life 06:06:34 right, if not for gravity we might all be floating dead in space now... 06:07:50 yes, exactly what i meant! 06:08:04 but, also, the channel 06:23:04 -!- oerjan has quit ("Good night"). 06:25:29 -!- Sgeo has quit (Remote closed the connection). 07:01:48 -!- boily has quit ("Good night too"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:11:37 -!- GregorR has joined. 10:51:04 -!- GreaseMonkey has changed nick to [[Nobody_cares]]. 10:51:43 -!- [[Nobody_cares]] has changed nick to N0body. 11:30:53 gonna sleep now, gnight everyone 11:31:43 -!- N0body has quit ("sheep don'"). 13:48:21 -!- ihope__ has joined. 13:48:25 -!- ihope__ has changed nick to ihope. 14:06:39 -!- jix_ has joined. 14:07:28 -!- EagleBot has joined. 14:18:28 "Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism Act" 14:18:44 Let's make an esolang based on acronyms nobody would have guessed. 14:19:12 I figured "USA" would have stood for "United States of America", not "Uniting and Strengthening America". 15:36:38 -!- jix has joined. 15:42:29 -!- c|p has joined. 15:43:20 -!- oklopol has quit (Read error: 110 (Connection timed out)). 15:44:42 -!- jix_ has quit (Read error: 113 (No route to host)). 15:47:41 -!- ville_ has quit (Read error: 110 (Connection timed out)). 16:19:49 -!- oerjan has joined. 16:22:16 * ihope stares at his description of the billiard ball model 16:22:38 * ihope scraps it and loads MCell to play with it 16:25:39 you made a new CA? 16:35:14 would you say that ALPACA is an example of a useful esolang? 16:38:34 SimonRC: Very much so. 16:38:57 It's not *highly* useful, but it *is* useful for certain purposes. 16:39:14 (specifically, emulating cellular automata) 16:39:29 And it is, as you might imagine, trivial to prove Turing complete. 16:39:50 It can simulate Life. Life is Turing complete. QED. 16:43:16 although a CA more directly based on a TM would be easier than Life to understand the proof for. 16:44:00 -!- sebbu has joined. 16:44:00 Not truie. 16:44:12 I understand one of the proofs by simulation. 16:44:25 Well. . . "Understand". 16:46:21 btw i have this little "ALPA" idea: what would a language look like for which ALPACA was simply a library extension for CAs? 16:46:23 damn my internet connection is slow today 16:46:51 Hmm. 16:47:04 Interesa. 16:48:35 it seems like most expressions in ALPACA are chains of method calls, simply concatenated. 16:49:24 so let a b be an abbrevation for the function \x -> x a b 16:50:00 (Haskell notation) 16:53:14 an object, when used as a function, simply applies its first argument back on the object itself. 16:54:40 and you never (at least in the subset ALPACA uses) give the object in a chain explicitly. 16:55:19 there are also operators like and/or. 16:56:59 and top-level declarations can take arguments that are either single expressions, or comma-separated lists. The ALPACA-specific declarations could probably be macros. 16:57:52 (when the argument is a single expression it needs parentheses if it is more than one token) 16:58:57 that's about it so far. 16:59:22 -!- sebbu2 has joined. 17:18:19 -!- sebbu has quit (Connection timed out). 17:20:42 aw, what is it with people using C-like syntax for unrelated languages? 17:20:48 Bug("1", "Hello, World!"); 17:20:49 Scuttle("1"); 17:20:53 ugly! 17:24:29 that's not so specifically C - i think that goes back to Algol. 17:24:57 sure, doesn't matter 17:25:28 this would make sense if Bug and Scuttle were functions 17:25:57 but they really aren't 17:26:18 and the things in quotation marks aren't really strings either 17:26:49 he's just parroting the syntax without understanding the reasons behind it 17:27:25 well there is nothing wrong with doing a syntax that _looks_ vanilla but is actually deeply disturbed. 17:27:45 yes 17:27:48 certainly 17:28:01 but that's not the case here, either 17:29:13 the only motivation for the syntax i can think of is making the code seem confusingly C-like 17:29:33 but then everything would at least be in lowercase :) 17:30:33 no, i think in this case it's just somebody without much a clue creating a language 17:30:44 from the spec: "Semicolons must be used instead of newlines to terminate commands. Therefore, strings cannot contain semicolons." 17:31:13 it reminds me much more of Pascal. 17:31:50 but then the Algol syntax was as much default previously as C is now. 17:32:15 ok, _that_ is deeply disturbed. 17:32:41 yes, in another context it would be a clever joke :) 17:32:42 the poor guy's never heard of lexical analysis. 17:34:28 probably doesn't know how to make a proper recursive parser. 17:35:24 not that we want to chase away beginners, of course. 17:36:29 and kill them? 17:37:09 wait, we don't? 17:37:30 indeed not. well, only if there is a food shortage. 17:37:48 that could be arranged! 17:42:51 you can eat me first 17:43:51 at least he does have a php interpreter for both his languages 17:46:32 Hypertext Preproccessor? 17:47:17 -!- sebbu2 has changed nick to sebbu. 17:47:30 the same. 17:48:56 * oerjan declares bsmntbombdood the official #esoteric emergency ration. 17:51:48 i wonder if i should go to this girl's birthday party 17:52:08 will i still have all of my body parts on the 24th? 17:52:42 do you need all of your body parts to go to a birthday party? 17:53:40 it wouldn't be much of a party without all of them 17:55:04 just leave most of them at home and show up as a head in a jar. 17:55:28 that may severly limit my mobility 17:56:39 on the other hand, it would be a great conversation starter 17:57:17 (speaking of which, wouldn't it be great to show up as a head in a jar to a high school reunion. Some grew up to be doctors, some grew up to be lawyers, I grew up to be a head in a jar) 17:57:23 * SimonRC plays the new Gerrymandering game. 17:58:10 does RSVP mean you have to call if you go or call if you can't go? 17:58:32 yes 17:58:33 it means you have to reply. 17:58:47 "Répondez s'il vous plait" IIRC 17:58:54 "Please respond" 18:02:40 silly people, giving me all these crazy responsibilities 18:02:52 -!- crathman has joined. 18:02:52 like replying to invitations? 18:02:56 yeah, it's horrible. 18:03:00 just don't reply 18:03:04 and don't come 18:03:11 they'll get the point and never invite you again! 18:03:48 yay! 18:04:09 always with the great ideas 18:04:16 you should be my social coach 18:07:52 so 18:08:04 what exactly is the "Usability Unknown" category 18:08:40 it means we don't know how powerful they are 18:08:52 but that's Power Unknown. 18:09:25 the original rationale behind "usability" was that some non-TC languages seem to be more "useful for computation" than others 18:10:46 right 18:11:06 so, i marked HEX as a finite-state automaton; do i remove the usability unknown category? 18:11:11 damn that is one heavily gerymandered district 18:11:16 it seems about as useful as Smetana 18:11:31 (all memory locations need to be explicitly created) 18:12:00 finite cell size? 18:12:09 oh, good point 18:12:41 right, good point, he doesn't specify 18:14:35 reference implementation has finite cell size 18:16:43 don't they always. you have to abstract away a _little_ from implementation. 18:17:01 "It's 2002, and programming languages have almost caught up with 1958" 18:17:02 no, they don't always :) 18:17:45 that was a rhetorical question. 18:18:17 the oddest part is that in the version 1 of the specification the syntax was basic-like 18:18:44 BREED "foo" "bar" "*" 18:19:06 then he changed that to Breed("foo", "*", "bar"); 18:20:11 he even changed the comment marker from ; to # 19:00:04 -!- sebbu2 has joined. 19:00:49 -!- RodgerTheGreat has joined. 19:02:02 hello. What's been happening in #Esoteric today? 19:02:30 the black plague 19:02:42 cool 19:02:53 * RodgerTheGreat covers his mouth with a handkerchief 19:11:53 brains... brains... 19:21:21 -!- sebbu has quit (Connection timed out). 19:32:00 http://www.alterati.com/blog/?p=615#more-615 19:36:09 -!- oerjan has quit ("Supper"). 20:10:21 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 20:54:28 -!- sebbu2 has changed nick to sebbu. 21:14:34 -!- lament has quit ("Ducks!"). 21:16:08 -!- lament has joined. 21:41:20 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. (Eat bsmntbombdood first.). 21:41:49 * ihope attempts to come up with a nice... picture/diagram thingy of the Feynman gate 21:42:04 -!- jix has quit ("CommandQ"). 21:42:07 -!- oerjan has joined. 21:55:06 -!- c|p has quit (Read error: 104 (Connection reset by peer)). 22:13:34 -!- c|p has joined. 22:20:42 ~raw join #lispcafe 22:33:39 ~exec self.raw("PRIVMSG #lispcafe :Like this?") 22:55:59 ~exec self.raw("JOIN #lispcafe") 22:56:13 -!- bsmnt_bot has quit (Remote closed the connection). 22:56:16 -!- bsmnt_bot has joined. 22:57:02 ~exec self.raw("JOIN #lispcafe") 22:57:51 ~exec self.register_raw(r"\S+ PRIVMSG (%s) :%sexec (.*)" % ("#lispcafe", self.COMMAND_CHAR), self.do_exec) 23:35:59 * SimonRC curses NFS 23:38:01 write your own 23:39:14 NFS? 23:39:40 Something from scratch? 23:40:05 Or NTFS? 23:40:16 Or "Not for Steve", which doesn't make sense? 23:40:31 "Not for Simon", which makes a tiny bit more sense? 23:42:42 National Fanatics Society 23:43:57 network filesystem 23:44:49 bsmntbombdood: don't come here with your obvious lies. 23:45:27 NSWF? 23:45:29 er 23:45:31 NSFW? 23:47:31 Networked Filesystem 23:47:48 it thinks that certain files are in use when they aren't 23:48:12 I can't move them either 23:48:40 I can move the folder they're in, and I can use the evil smiley to emty them, but I can't delete the actual files 23:49:19 SimonRC: can't you move the actual files? 23:50:08 no 23:50:54 ic. move every other file into another directory, then rename the directories. 23:51:06 yeah did that 23:51:20 but how do I get rid of the actual file 23:51:52 if they're empty then they can just stay until reboot, can't they? 23:52:26 * oerjan hands SimonRC a broom and a carpet. 23:52:46 I have rebooted many times 23:53:11 and they still can't be deleted 23:53:30 I don't know if the file server has been rebooted though 23:54:04 i would imagine that would be more important. 23:55:17 "Dear ITS, please reboot Hudson. Love Simon" 23:56:29 fucking a 23:56:52 my brother discovered he could unplug the phone line in his room and disconnect my internets 23:56:54 ?? 23:57:03 and? 23:57:14 he is disconnecting my internets 23:57:37 this being a very little brother, i take? 23:57:52 he's 11 23:58:44 er, i forget, have you moved or are you going to? 23:58:56 i'm going to move 23:59:02 my parents are dragging it out 23:59:28 then the problem should hopefully solve itself. 23:59:57 i should point out i am an only child, so my expertise is minimal. 2007-06-20: 00:00:45 he'll find many more ways to be a fuckhead 00:09:51 eat him first 00:12:05 better, get me to do so 00:12:44 you can share him 00:14:18 * SimonRC refers to something he has mentioned on several other channels, though not here. 00:14:32 yes you have mentioned it here. 00:14:39 oh, right 00:15:07 * SimonRC grins insanely. 00:15:16 barbeque party at SimonRC's! 00:15:32 eek 00:17:07 I didn't say anything about cooking 00:17:56 Ok, let's change the subject... 00:18:05 Nice weather we're having. 00:18:56 let's talk about oerjan's sexual deviations 00:19:05 eek 00:19:38 Sex with goats under the midnight sun. 00:20:26 * SimonRC fails to recall what "the midnight sun" is a euphamism for. 00:20:46 the moon? 00:20:50 isn't it just when the sun is up at midnight in the far north? 00:20:52 no, RodgerTheGreat 00:20:56 a fluorescent lamp? 00:21:06 Nothing, really. He's far north, and during the summer there, it doesn't quite hit night. 00:21:14 (although the sun does set, IIRC) 00:22:19 it's 1:20 am and the sky is nice and blue, although not exactly bright 00:22:34 i thought midnight sun was a euphemism for an orgasm 00:22:47 (without DST it's actually 0:20) 00:24:12 * pikhq hates your country. . . 00:24:24 I want it to be *night* all day long for a while, too. :p 00:24:43 that would be around December. 00:24:45 it's not pleasant 00:24:59 I. . . And you. . . 00:25:01 Jeeze. 00:25:11 * pikhq will stick with his lower latitudes 00:27:10 * SimonRC concatenates lament's last two remarks and laughs 00:27:24 * bsmntbombdood does the same 00:29:14 * pikhq concatenates RodgerTheGreat's statement with lament's second to last statement 00:29:40 btw Trondheim is at 63 degrees North 00:29:42 the result is nonsensical 00:30:10 -!- sebbu has quit ("@+"). 00:30:13 you need a dot in-between 00:30:28 that's 23 more degrees north than 40 degrees north 00:30:31 * SimonRC re-reads 00:31:36 SimonRC: My concatenation makes sense 00:31:55 a fluorescent lamp? i thought mignight sun was a euphemism for an orgasm 00:32:10 oerjan: Too far north. :p 01:02:11 pikhq: could you *try* to explain that redcode IS the language used in corewars? 01:02:28 I have repeatedly failed to explain things like this to yuriks. 01:02:44 who is yuriks? 01:03:35 a very stubborn, and often hilariously wrong, programmer in another channel. 01:05:31 -!- Otakubot has joined. 01:20:49 What is this channel? >:-) 01:22:16 why do you ask, ihope? 01:22:40 The >:-) doesn't give it away? :-P 01:23:15 the >:-) gives me reason for caution 01:23:28 but is not itself a precise indicator 01:47:23 Well, is anybody else getting "precondition failed" on the wiki? 01:48:05 no 02:01:03 Well, it's not coming from creating pages. 02:01:22 (Hopefully creating subpages of Esolang:Sandbox at random doesn't annoy anybody.) 02:04:58 it annoys me greatly 02:06:04 What if I delete them right after? 02:13:13 IT CLUTTERS UP THE RECENT CHANGES! 02:19:00 Doesn't everything? 02:19:19 * ihope begins to lean toward "they 02:19:22 're joking" 02:25:31 * SimonRC swears at a guy who write like Joseph Conrad. 02:25:38 only 80% 02:27:15 huh? 02:27:31 only 80% joking 02:30:27 Joseph Conrad? 02:31:05 Does anybody know what might be causing these precondition errors? 02:31:58 ihope: what were you trying to view? 02:32:08 I was trying to create a page. 02:32:33 oh. maybe it's a spam filter or some unrecognized markup? 02:32:46 i have seen such an error a long time ago, i think 02:34:10 i had to remove some part of the message, i think 02:35:06 do you get this error on preview? in which case you can easily experiment 02:35:44 Apparently it's because of the string "../" 02:36:50 I was using dots instead of spaces for empty space in a two-dimensional language, so I can use spaces instead. 02:38:11 I can also put inside there, but that's inelegant. 02:38:59 what about an entity? not that i know the right ones for . or / 02:41:05 Or template substitution, which would also foil anybody's attempts at editing the page. >:-) 02:43:39 Assuming that template substitution is actually possible. 03:05:50 * SimonRC decides that _Imagining the Tenth Dimension_ is utter bullshit: http://www.tenthdimension.com/medialinks.php 03:05:59 seriously, that is an official video. 03:06:56 Joseph Conrad wrote _Heart of Darkness_, a book which I had to study in school and which is amazingly difficult to read. 03:07:36 It is almost indescribably dificult to read 03:07:51 You can't be that hard to read merely by bad grammar, you have to have something else, I am not sure what 03:16:27 Is it fiction? 03:16:40 it claims to be fact 03:17:21 (Imagining the tenth dimension? Shouldn't we start by imagining the fourth spacial dimension?) 03:19:22 The video starts reasonable, but gradually descends into utter bullshit. 03:19:38 And that's just adapted from the first chapter of the book. 03:31:07 "He cried in a whisper at some image, at some vision - he cried out twice, a cry that was no more than a breath - '"The horror! The horror!"' 03:31:27 Takes a couple seconds to digest. 03:32:14 I fail to see how "a universe with different initial conditions" creates an "additional infinity", if infinity already represents everything that was or could result. 03:32:21 this seems to be a causal loop. 03:32:29 or, at least, an oversight. 03:33:06 perhaps this just lies in poor wordings. 03:33:33 The terminology is crap, but I think there is more crap below that 03:33:39 hm 03:33:56 Wait, that video was adapted from part of Heart of Darkness? 03:34:01 no 03:34:03 *sigh* 03:34:11 I was a little confused about those mixed references there 03:34:49 I'm guessing there's a Tenth Dimension book or something, then. 03:34:55 yes 03:35:03 if you followed the link 03:35:40 Oh, I either didn't notice that or assumed it was for Heart of Darkness or something. 03:35:43 (Godsdamnit people, string theory is not bullshit, it's theoretical-physics masturbation.) 03:36:08 ihope: erm, note the domain name? 03:36:27 Who says string theory is bullshit? 03:37:49 Some people on furums that were discussing the book. 03:38:38 simple explanation: http://xkcd.com/c171.html 03:39:15 the main thing I call bullshit on in theoretical physics is the quantum physics is the concept that behavior is probabilistic and chaotic. Apparent chaos is an emergent property of sufficiently complex deterministic systems, damnit! 03:39:27 *is that quantum physics 03:39:44 SimonRC: lol 03:41:28 RodgerTheGreat: I am assured that there are things that QM does that can't be done by hidden variable theories. 03:41:53 not hidden *variable*, hidden algorithm 03:42:58 RodgerTheGreat: you're saying the universe isn't random? 03:43:05 yes. 03:43:17 Does QM necessarily have randomness? 03:43:18 SimonRC: i think those proofs only work to disprove theories without faster-than-light communication 03:43:35 I don't know that the many-worlds interpretation is probabilistic. 03:44:09 ihope: that's a good point- strictly speaking, it isn't 03:46:26 SimonRC: you remind me of one of my favorite John Von Neumann quotes: "If you can tell me what, precisely, it is that a computer cannot do, I will build you a computer that will do it." 03:46:58 viewing deterministic systems as computers, naturally, to make an analogy 03:47:02 Did Alan Turing tell him what, precisely, it is that a computer cannot do? 03:48:15 no. I don't see your point. 03:48:31 er 03:48:32 wait 03:48:39 I know what you're getting at 03:48:47 this wasn't a question of computability 03:48:59 it was a comparison of human abilities to that of a computer 03:49:28 although you do neatly deflate my analogy. touche. 03:49:59 as in: the only reason a computer cannot do something a human does is because we don't know precisely how a human does it 03:50:47 well, yeah- that was *my* point 03:51:11 I'm of the opinion that we can only effectively guess at quantum behavior because we don't fully understand how it works. 03:51:19 Mm, indeed. 03:53:06 and I cited the effectiveness of ordered systems at producing chaos as an example of a known example of an "opaque" algorithm. 03:53:41 Now, the Copenhagen and the many-worlds interpretations are pretty much the major ones, right? 03:54:02 argh my faith in humanity is destroyed 03:54:14 SimonRC: Again? 03:54:29 ? 03:54:31 all it took was a few minutes reading blogs about Imagining the Tenth Dimension. 03:54:37 * ihope hands SimonRC a list of miracles with all instances of "God" replaced by "humanity" 03:54:38 oh, geez 03:54:42 What, what'd they say? 03:54:52 (And isn't Copenhagen many-worlds plus observation, and can't the effects of observation be explained by entanglement?) 03:55:05 They were all amazed at it and said how it made string theory easier to understand 03:55:12 blogs + wild speculative "science" = chaos. ironic. 03:55:34 I hope bloggers aren't as smart as most people. 03:56:14 What, you haven't seen "Are You Smarter than a Fifth Grader"? 03:57:01 lol 03:58:34 We really need to put some more emphasis on education... 03:58:57 Let's start with education education, educating people about the benefits of education. 04:00:00 Especially science and coding, though naturally we also need people to manage and govern and all that. 04:01:01 I was thinking a while ago that schools should require reading and writing in early grades and then switch to a core curriculum of mathematics, philosophy and formal logic, with tons and tons of elective options (especially good options for the arts) 04:01:28 Philosophy? Like... what sort of philosophy? 04:01:38 and things like a foreign language and a simple coding language (LOGO anyone) should be taught from an early age 04:02:36 ihope: a wide range of schools of thought. Primarily to encourage ordered thoughts about things like ethics, religion and life. The application of the mind to the world. 04:02:56 * ihope nods 04:03:05 the main goal would be to demolish taboos against scientific inquiry into various topics. 04:03:20 and to get people to ask questions. 04:03:23 Hmm, functional? 04:03:40 Scheme 04:04:44 LOGO is as syntacticly pure as LISP, in many ways, and is more accessible. 04:05:33 BASIC (and I know this is a bit of personal bias) is an excellent language for beginners as well, in terms of quick rewards for experimentation and a very intuitive method of programming. 04:15:00 reform of the school system won't solve anything 04:15:08 schools themselves are broken by design 04:15:14 yes 04:15:48 that doesn't mean it's an unsolvable situation, it simply has more to do with the students than the concept of schools themselves 04:16:04 you have to want to learn to truly grow from education 04:16:22 schools aren't designed for learning 04:16:45 (I can't speak for universitys) 04:16:45 so, solve it on a societal level. Make people want to learn, and schools will reshape themselves to suit the proactive desires of the students 04:17:10 you can't make people do anything 04:17:15 I'm not saying schools are unflawed, but they have some redeeming facets 04:17:24 if society is fucked, society is fucked 04:17:32 maybe we deserve to be extinct 04:17:40 you can't make people DO anything, but immense evidence suggests that you can make people WANT something. 04:18:48 i don't think centralized schooling can foster education 04:19:25 please, enlighten us with your wisdom in alternative education strategies. 04:19:55 i think people should seek education on their own, in their own way 04:21:12 not everyone is cut out for that type of education. Those that want it already do. We need a way of convincing more people that it's important and worthwhile. 04:21:13 -!- ihope has quit (Read error: 110 (Connection timed out)). 04:22:04 why not just let the stupid people be stupid? 04:22:31 In my case, my high-school didn't offer any computers courses at all. I still took as many science and math classes I could, and explored programming and computers in my own time. Few of my peers have the same level of interest, and thus few of my peers in college have my level of skill and knowledge. 04:22:44 -!- EagleBot has quit (Read error: 110 (Connection timed out)). 04:22:45 that's needlessly fatalistic. 04:22:56 we need to examine where the motivation for education is rooted. 04:23:10 the math and science courses in my high school aren't educational 04:24:11 view public school to education as wikipedia is to proper research: an outline, a starting point, not necessarily a complete corpus. 04:24:34 it's not like that 04:24:38 more like daycare 04:24:50 nothing insightful is offered 04:26:02 I don't pretend I enjoyed highschool. However, I know for a fact that if you enter a class with a chip on your shoulder, you won't learn a damn thing. Even the most incompetent teachers taught me things, wether it was the subject of the class or not. Be openminded. 04:26:58 that hasn't been my experience 04:28:50 actually, the thing my teachers have taught me is that schools are broken 04:31:19 whatever you expect to get, is what you will usually get. 04:31:51 ADD 1 TO oerjan GIVING oerjan 04:32:03 or the more conventional, oerjan++; 04:32:07 high expectations don't improve the conditions 04:32:41 they improve your ability to make the best out of the conditions. 04:33:40 or just leave you dissapointed 04:36:12 I seemed to learn just fine in school 04:36:26 there is a book about this i read, it's called "The Luck Factor". the author carried out experiments to find out whether there were people who actually were lucky. 04:36:44 surprisingly, the answer was yes. 04:37:00 and the most deciding factor was optimism. 04:37:25 you can measure luck 04:37:59 also, people could improve their luck by changing their outlook. 04:38:04 hmm 04:38:12 define "luck" 04:38:47 one of the experiments involved putting a bill on the street in front of a place the subjects were going to meet the experimenters. 04:38:52 and? 04:39:26 SimonRC: I would define luck as the perception of one's tendency to success or failure. Key word: perception. 04:39:30 the lucky optimists picked up the bill, the unlucky pessimists simply ignored it as if it wasn't there. 04:39:39 why? 04:39:52 why did they ignore it? 04:40:37 i don't remember but my understanding is simply that they were so _determined_ to believe they were unlucky that they refused to sense any opportunity for the opposite. 04:41:45 there could be other factors when deciding to pick up money off the street 04:41:47 basically, people unconsciously act to reinforce their beliefs, even if they believe they don't. 04:41:56 oerjan: and, having made this discovery that shakes the foundations of modern physics, what did he do next? 04:42:23 well he actually didn't prove anything directly anti-scientific. 04:43:01 as far as i could see. 04:43:05 hm 04:43:10 well, clearly he published a book. 04:44:32 naturally, his definition of luck was not about being able to influence dice or that kind of thing, it was about practical luck 04:44:54 it's been a while since i read it. 04:45:32 well, g'night everyone- I need to hit the hay 04:45:36 actually, that matches what I think 04:45:49 yeah, i remember we had a similar conversation 04:46:06 -!- RodgerTheGreat has quit. 04:46:11 I also think that it is very difficult to change your own attaitude without assistance. 04:47:10 therefore, if you are unlucky you still can't just change to being lucky without help, but for a different reason 04:48:07 Note: If someone is helping you to change yourself, then by definition you aren't doing it without assistance. 04:48:12 -!- c|p has quit ("Leaving"). 04:50:20 zzzzzzz 05:14:51 -!- boily has joined. 05:41:50 -!- oerjan has quit ("znore"). 06:08:14 -!- sp3tt has quit (Remote closed the connection). 06:08:18 -!- sp3tt has joined. 06:33:41 -!- GreaseMonkey has joined. 06:52:32 -!- boily has quit ("Sleep"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:39:45 -!- Sukoshi has changed nick to Sukoshi`. 08:41:08 -!- Sukoshi` has changed nick to Sukoshi. 10:06:05 -!- Mechminx has joined. 10:06:11 -!- Mechminx has left (?). 10:44:24 -!- jix_ has joined. 10:52:50 -!- GreaseMonkey has quit (Connection timed out). 12:03:26 -!- pikhq has quit (Read error: 110 (Connection timed out)). 12:05:19 -!- RodgerTheGreat has joined. 13:55:53 -!- ihope__ has joined. 13:56:03 -!- ihope__ has changed nick to ihope. 13:57:46 -!- c|p has joined. 14:06:25 -!- pikhq has joined. 14:36:20 I like Epigram. You can define functions that return different types based on whether their arguments are multiples of 3. 15:39:09 -!- jix_____ has joined. 15:41:21 -!- jix_____ has changed nick to jix. 15:42:54 -!- crathman has joined. 15:45:20 -!- jix_ has quit (Read error: 113 (No route to host)). 15:48:52 i have an idea for another esolang... 16:15:28 What's the idea? 16:15:54 bitqueues 16:16:06 but i have to do physics homework first 16:16:31 What, using things so mundane as bits? Why not use billiard balls instead? 16:16:33 :-P 16:17:08 because bits work quite nice..... 16:52:36 -!- sebbu has joined. 16:53:36 -!- pikhq has quit (Remote closed the connection). 16:59:21 -!- pikhq has joined. 17:08:11 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 17:17:52 -!- pikhq_ has joined. 17:26:21 -!- pikhq has quit (Read error: 113 (No route to host)). 17:48:48 -!- oerjan has joined. 18:24:49 -!- crathman has joined. 18:41:39 -!- pikhq_ has quit (Remote closed the connection). 18:42:00 -!- pikhq has joined. 18:44:56 -!- jix has quit ("This computer has gone to sleep"). 18:50:18 -!- ihope__ has joined. 18:53:40 -!- ihope has quit (Nick collision from services.). 18:53:43 -!- ihope__ has changed nick to ihope. 18:53:58 VAMOS A BOT 18:54:05 -!- EagleBot has joined. 18:54:13 See? There's the bot. 19:03:51 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 19:04:01 -!- pikhq has joined. 19:04:50 God. . . 19:04:50 I'd be better off with smoke signals in LA. 19:04:50 *STOP LAGGING, DAMN IT!* 19:04:56 I get connected, and the lag time immediately starts counting. :( 19:05:06 turn off the lag timer! 19:05:35 "Join to #esoteric was synced in 74 secs" 19:05:42 geez 19:06:26 74 seconds is not that bad. 19:08:05 74 seconds is fairly bad when we're talking about something like IRC 19:08:28 Jeeze. I'd have better response times from the ISS. 19:08:35 My lag time is 24 seconds. 19:08:35 And counting. 19:12:44 * ihope sends pikhq a CTCP PING 19:14:36 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 19:15:27 Two minutes, 30 seconds. 19:15:36 That's pretty darn bad. 19:22:36 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 19:25:12 -!- pikhq has joined. 19:25:43 Here's hoping that it decides to be more obedient. 19:26:02 it puts the lotion on its face or else it gets the hose again! 19:26:12 No, no, no. 19:26:29 It puts the packet in its tube or else it gets the SIGKILL again. 19:33:00 * ihope sends pikhq another CTCP PING 19:33:10 * pikhq noticed 19:33:10 Yay, ten seconds! 19:35:22 For now. 19:40:00 0.431 seconds to ihope. 19:40:23 You're getting replies from me faster than I am? 19:40:33 * ihope pings himself again 19:40:56 Consistently above 1 second. 19:42:50 consistently around 0.5 seconds. 19:45:17 -!- jix_ has joined. 19:49:57 -!- pikhq has quit (Remote closed the connection). 19:50:05 -!- pikhq has joined. 19:55:09 -!- jix_ has changed nick to jix. 19:56:53 -!- pikhq_ has joined. 19:58:37 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 19:58:47 -!- pikhq_ has changed nick to pikhq. 20:01:28 -!- Barrucadu has joined. 20:03:29 -!- Barrucadu has left (?). 20:03:34 -!- Barrucadu has joined. 20:05:47 Any reason for the /leave, Barrucadu? 20:08:11 Barrucadu: your language, HEX 20:08:34 Barrucadu: has one big problem 20:08:49 Barrucadu: it lacks easily addressable memory 20:09:07 Barrucadu: since each piece of memory has to be created individually and with a unique name 20:10:30 this is not critical in itself, since it's an esolang 20:11:12 esolangs don't have to be sane 20:11:25 but it does make programming much, much harder 20:11:38 however 20:12:08 if the size of each individual piece (bug) is limited, that means the overall amount of memory available is finite, so the language cannot be turing-complete. 20:12:44 if there is a limit, its being set by PHP, i'll just check the documentation 20:12:59 well 20:13:09 it's not a good idea to define YOUR language in terms of PHP. 20:13:26 if PHP changes, does that mean your language changes too? 20:13:37 your language is a separate entity 20:13:46 with its own specification 20:13:52 lament: but the only thing that makes you think there is a limit is the PHP implementation. 20:14:00 well, the interpreter is written in PHP, and I haven't set any limits 20:14:04 Barrucadu: right 20:14:22 the interpreter the way it's written now has a limit 20:14:38 then the spec should say so or the interpreter should be changed.... 20:14:52 oh and i should do physics homework :/ 20:14:59 we have lots of precedent of not specifying memory size 20:15:02 starting with brainfuck 20:15:15 but it's always nicer when things are explicit 20:15:26 how did you hit this limit? must have been a pretty big value 20:17:34 hm 20:17:42 seems you have changed the interpreter, because now i can't add two numbers 20:17:47 oh, i see 20:18:04 you can't? damn... 20:18:11 the interpreter is made up of bugs, they keep moving all the time :) 20:18:47 you can, there's just been a small syntax change 20:19:02 what's wrong with this program? 20:19:02 GBL; 20:19:02 Bug("foo", "99999"); 20:19:02 Bug("bar", "1"); 20:19:02 Breed("foo" + "bar"); 20:19:05 Scuttle("foo"); 20:19:07 Write; 20:19:32 no idea, works for me 20:19:49 i get melon melon melon. 20:20:16 okay, works now 20:20:20 (i reloaded the page) 20:20:25 I love my error messages :) 20:22:29 okay then 20:22:44 GBL; 20:22:44 Bug("foo", "9999999999999"); 20:22:46 Bug("foo", "9999999999999Bug("bar", "1"); 20:22:46 Breed("foo" + "bar"); 20:22:46 Breed("foo" - "bar"); 20:22:48 Scuttle("foo"); 20:22:51 Write; 20:22:57 did that paste correctly 20:23:19 irssi always has problems pasting stuff :( 20:23:33 second line seems broken 20:23:42 GBL; 20:23:42 Bug("foo", "9999999999999"); 20:23:43 so "Bug("foo", "9999999999999Bug("bar", "1");" should be "Bug("bar", "1");"? 20:23:45 Bug("foo", "9999999999999Bug("bar", "1"); 20:23:45 Breed("foo" + "bar"); 20:23:45 Breed("foo" - "bar"); 20:23:45 Scuttle("foo"); 20:23:47 ok 20:23:48 Write; 20:23:50 god fucking damn it 20:23:54 and darn it all to heck 20:24:01 * lament kicks irssi 20:24:11 Bug("foo", "9999999999999"); 20:24:11 Bug("bar", "1"); 20:24:31 run that program, then remove the Breed statements and run it again. 20:25:46 hmm, the first time it gives "1E+13", the second "9999999999999". even though they are both the same 20:28:14 -!- pikhq has quit (Remote closed the connection). 20:28:30 that's not so weird, a slight rounding off error would do that. 20:28:42 -!- pikhq has joined. 20:29:36 of course that indicates the implementation does not use unbounded integers 20:34:38 -!- oerjan has quit ("Supper"). 20:36:39 i'm just trying to find the maxmimum number you can calculate in HEX 20:37:46 Found it. 20:37:53 GBL; 20:37:55 Bug("foo", "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999"); 20:38:03 Breed("foo" * "foo"); 20:38:08 Scuttle("foo"); 20:38:12 Write;' 20:38:21 results in +++ INF +++ 20:39:09 If I can figure out how, i'll write a compiler at some point, so there will be no limit 20:41:42 i'll also begin thinking of a way to get around that limit 20:42:04 any implementation is going to have limits 20:42:26 well, have a bigger limit then 20:42:51 it's just important that the language doesn't have limits if you want it to be turing complete 20:49:49 Well, there's a difference between a limit on the size of numbers and the size of what can be stored. 20:50:03 It looks like he can actually *store* any number of variables. 20:51:08 pikhq: the number is limited by the size of the program 20:51:15 same as in SMETANA 20:51:49 Ah. 20:51:50 Interesa. 20:52:13 So, the limit itself is adjustable. 20:54:01 pikhq: that's not enough for turing-completeness. 20:54:06 but yes. 20:54:31 you can solve any problem that halts by giving it adequate memory. 20:54:51 (you can in Smetana; i don't know about HEX but i'm sure it's possible) 20:55:05 but of course, you don't know in advance if the memory will be adequate 20:56:03 What's to stop you from having a oo filesize? 20:56:04 and since you don't know whether the problem halts 20:56:13 pikhq: the definition of algorithm. 20:57:06 it's cheating, a finite-state automaton with infinite states :) 20:57:26 it would also mean your variable names in themselves get infinitely long 20:57:32 etc 20:58:38 * Barrucadu sits back and watches the discussion about turing-completeness 20:59:12 * RodgerTheGreat pulls out his box of string and apples 20:59:14 hm 20:59:22 maybe I *shouldn't* bring this out... 20:59:30 * RodgerTheGreat hides the box 21:00:12 in general though, there's nothing wrong wiht infinite programs 21:00:30 you can get them in self-modifying languages by growing the source dynamically, and nobody complains 21:01:13 the game of life is normally presumed to be played on an infinite field and nobody complains either 21:03:53 perhaps the reason is that the game of life doesn't have explicit labels 21:04:00 eg the cells aren't named 21:04:08 in smetana they are, and the names would get infinitely long 21:04:19 (and the same in HEX obviously) 21:05:20 well, even if I can't get it to be turing-complete, I achieved my goal of making a Discworld-themed language 21:23:51 -!- Barrucadu has left (?). 21:27:31 -!- pikhq has quit (Remote closed the connection). 21:29:29 -!- jix has quit ("CommandQ"). 21:34:34 -!- pikhq has joined. 21:41:53 yes, he achieved that. 21:50:29 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 21:57:31 -!- erider has joined. 21:58:41 * SimonRC finds the original Bill Gates "640k" quote. 21:58:52 how does it go? 22:00:16 http://pastebin.ca/579818 22:00:40 particularly: "I have to say that in 1981 making those decisions, I felt like I was providing enough freedom for ten years." 22:03:24 the difference between 6 and 10 isn't that big. 22:03:32 hmm, yeah 22:21:33 -!- pikhq has quit (Remote closed the connection). 22:21:55 ooh, gates predicts that unix would get a standard in the early 90s 22:21:59 -!- pikhq has joined. 22:22:09 also, he predicted that OS/2 would be the future 22:22:18 well, you win some you lose some 22:32:40 -!- oerjan has joined. 22:34:01 -!- pikhq_ has joined. 22:35:34 i wonder what he does these days 22:36:09 -!- sebbu has quit ("@+"). 22:45:30 charity 22:46:42 -!- pikhq has quit (Read error: 110 (Connection timed out)). 22:48:37 And own Microsoft. 22:48:44 -!- pikhq_ has changed nick to pikhq. 22:49:10 (he doesn't step down for another year or so 22:49:11 ) 22:49:30 he is stepping down? 22:50:46 http://en.wikipedia.org/wiki/Bill_Gates#Transition 22:59:09 maybe i can take his job 22:59:42 i don't think you'd like it 23:00:15 definately not 23:00:23 He still looks like a geek. 23:00:35 heh... 23:00:39 real geeks are poor 23:01:53 real geeks don't have marketable skills 23:02:06 "i designed a damn good esolang once... 23:02:07 " 23:02:12 Oh dear: He says that networking will become standard for PCs, he says that data (maps, encyclopedias, etc) is important, and he says that you need hypertext to navigte all the data... 23:02:27 but he doesn't connect the two together. 23:03:11 "Apple's going to have to get off the 68000 at some point" 23:03:26 "on to one of these RISC instruction sets." 23:03:30 oops! 23:09:49 pikhq: how much of Microsoft does Gates own? 23:12:19 -!- pikhq has quit (Remote closed the connection). 23:12:25 That much? 23:13:17 He seems to be the chairman of Microsoft. 23:14:55 Executive chairman. 23:28:23 -!- pikhq has joined. 23:52:32 -!- gnilor has joined. 23:52:43 is there a script somewhere, that translates "text" into brainfuck programs 23:53:41 !help 23:54:12 there is one in EgoBot, if that had been here. 23:54:30 haha, well no biggy i'll script it up 23:54:44 just that i'm lazy 23:55:33 there is also pikhq's PEBBLE 23:55:45 although pikhq just left too 23:56:08 ah found something through google 23:56:24 though it missed the personnal touch that a bot could have provided ;) 23:58:49 you could use egobot's java 23:59:11 uses a genetic algorithm to get the result as small as possible 2007-06-21: 00:00:19 Including things like >>>>< is as small as possible? 00:00:40 ok, so it needs a peephole optimization phase 00:00:42 it gets better if you run it from the console, i think 00:00:46 cool, it's not that important that it's small though, just a poc 00:02:04 aaagh why do people do flash websites 00:07:13 because they hate people who browse to them with cheap handheld devices ? 00:11:21 they suck, period 00:11:38 look at this: http://www.lefthandbrewing.com/ 00:11:52 Why do you need to view them? 00:26:03 gnilor: Well, there *is* a really, really overkill-ish way to do it with PEBBLE. 00:26:06 oerjan: I'm here. 00:26:22 And, uh, yeah. 00:26:37 pikhq, yeah thanks, i managed to do what i needed 00:26:43 Bona 00:26:55 pikhq: oh right, i saw only your quit message, for some reason irssi makes that stand out more 00:27:31 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 00:31:48 -!- erider has joined. 01:05:20 Which is kind of odd, since my irssi setup involves *joins* being in bold. 01:12:37 i am using the clean theme which i downloaded from the irssi website. 01:13:26 it was one of the few with white background 01:23:20 black backgrounds are hard to read 01:23:29 but so are white terminals 01:25:01 I'm a fan of bright amber on black 01:27:23 what rgb is amber? 01:28:02 something like (255,176,0) 01:28:04 ballpark 01:28:30 NCS! 01:28:46 5050B90G >:-) 01:28:54 And indeed, I'm not making especially much sense. 01:29:06 although, apparently UNECE defines it as ~255, 126, 0 01:29:10 not that far off, at least 01:29:23 I like mine more yellow than wikipedia's 01:29:29 I mean, I am, but... 01:29:58 NCS is a decent system, though I'm not sure if it's actually any good. 01:30:03 you're being esoteric. It's ok- you're in the right place 01:30:16 (255,176,0) is orange 01:31:18 :-) 01:31:50 5050B90G is 50% black 50% color, with "color" being 90% of the way from blue to green. 01:32:23 ok 01:32:25 hhuh? 01:32:49 Half black, half mostly-green-with-a-bit-of-blue. 01:33:19 I just like my existing colorspaces- HSV, RGB and CMYK. 01:33:33 HSV isn't bad. 01:33:39 Really, this is sort of a revamped HSV. 01:33:45 it sounded like it 01:34:45 Actually, more like HSL. 01:48:11 And I'm having a sudden urge to implement the Fredkin gate (controlled swap) in the BBM. 01:51:09 i have an urge to do the FRQ to the DDT in the MMRT QTR box with ALK 01:52:11 Don't forget to DDR the FFT before QRT'ing your DRAM. 01:52:57 i have 8*1mb of some sort of ram, what should i do with it? 01:53:08 is monitor white as bright as the sum of monitor red, green and blue? 01:59:02 Is it an Australian lace monitor? 02:02:48 -!- gnilor has left (?). 02:24:10 bsmntbombdood: send it back through time with a time machine 02:24:58 i don't have a time machine 02:25:34 maybe some kind of embedded system then? 02:26:35 Time machines aren't necessary! 02:26:56 Just have the past item refer to the present item and prove existence and uniqueness of a solution mathematically. 02:38:05 -!- vfork has joined. 02:39:39 hrm, any interesting new esoteric languages come out in the last year or so? I've been out of the scene for a bit now 02:45:41 You might want to take a look at the billiard ball machine. 02:45:54 Though I don't know of an interpreter for it. 02:47:52 looks interesting! 02:56:46 -!- vfork has quit ("Java user signed off"). 02:59:31 that was abrupt 03:00:15 he probably noticed the topic. 03:19:19 :-) 03:19:38 But bsmntbombdood clearly hasn't been eaten yet. 03:58:19 -!- c|p has quit ("Leaving"). 04:11:55 -!- Figs has joined. 04:12:02 howdy 04:16:43 -!- ihope has quit (Connection timed out). 04:19:01 zzz 04:19:10 * Figs prods SimonRC 04:19:13 Hello :D 04:20:25 zzzzz 04:29:24 -!- EagleBot has quit (Read error: 110 (Connection timed out)). 04:44:25 can someone explain to me, lowly C++ program, wtf a monad is? 04:54:26 that would have to be one smart program to understand monads 04:55:33 s/program/programmer 04:55:40 or is that the other way around? 04:55:45 *programmer 04:55:47 there :P 04:59:07 hm... 04:59:46 a monadic value is a kind of general producer/source 04:59:57 like a factory object? 05:00:26 that would be one possibility. 05:01:21 its type has too parts, the monad m, and the type of value produced a. (In Haskell, m a) 05:01:43 preferably, if you could explain without the haskell... 05:02:06 you need some functional language 05:02:36 then skip the notation :) 05:02:54 if that's possible... 05:02:59 The monad tells very generally what kind of producer/source it is. For example in the monad of lists, the monadic values would be lists of values of type a. 05:03:01 don't bother if it'd take you 20 pages 05:05:56 In the monad of (IO) actions, the values would be thunks that did possibly some I/O and then returned an a. 05:06:30 thunk = closure without arguments 05:07:02 how does it make IO pure?? 05:08:20 basically it encapsulates IO as action values, which can be combined in various ways without actually executing the actions. 05:10:39 in Haskell, the main function of the program is evaluated to one IO action. This evaluation itself is pure. However then the resulting action is performed. That is not particularly pure, but this is clearly separated from pure evaluation. 05:11:14 what about order of evaluation? 05:13:52 Every monad contains two common operations. One of them is called "bind" and denoted >>= in haskell (though there is syntactic sugar for making it look more imperative) 05:15:57 in a monad denoting actions, x >>= f generally means the composed action that first performs x, then applies the function f to the produced value, then performs the result of that as an action. So order of evaluation is part of the >>= definition. 05:16:41 note that the f function itself is pure, although it returns an action as result. 05:17:50 surely if you have two >>=s, they must be executed in a defined order? 05:18:30 x >>= y >>= f is parsed as x >>= (y >>= f), so x is performed first. 05:18:37 er, wait 05:18:56 x >>= f >>= g i mean 05:19:25 no, that doesn't make sense. i got it backwards. 05:19:42 x >>= f >>= g is (x >>= f) >>= g, the left part is executed first. 05:19:56 foo(x >>= f, y >>= f) 05:20:29 oh. note that evaluating x >>= f is not the same as executing it. 05:21:20 in foo(x >>= f, y >>= f) nothing says that either of x >>= f or y >>= f are executed unless foo asks for it, and then foo of course decides what order to combine them in. 05:21:51 this mixes in with lazy evaluation of course: in Haskell they are not even evaluated until asked for. 05:22:06 foo(print(x), print(y)) 05:22:20 foo determines the order x and y are printed? 05:22:39 more or less. or if either is. 05:23:00 foo can throw away either argument or both 05:23:33 in Haskell, arguments to functions are _not_ evaluated before being passed to them. 05:24:23 print(x) is passed unevaluated to foo. x is not passed to print either until the whole is evaluated. 05:26:25 consider a foo defined as foo(a, b) = b >>= (\x -> a) 05:26:49 i still don't understand this >>= 05:27:28 when foo(a,b) is evaluated and executed, it would first execute b, then a. 05:28:53 (\x -> a) is a Haskell lambda expression btw. It is a function that ignores its argument and returns a. 05:29:03 yeah 05:31:05 consider the Haskell action: getChar >>= (\c -> if (c == 'y') then putStrLn("yes") else putStrLn("no")) 05:31:32 here getChar is an action that actually returns a value when executed, a character. 05:32:29 getChar is the monad? 05:32:31 when that is executed, first getChar is executed, reading a character from stdin. 05:33:13 getChar is a monadic value, in the monad IO. Its type is IO Char since it returns a character when executed. 05:34:42 and how is that any more pure than if (getChar() == 'y') ... ? 05:37:16 i suppose purity is in the eye of the beholder. But consider the following: 05:39:14 let cmd = getChar ; loop = cmd >>= (\c -> if (c == 'y') then putStrLn("Yes") else loop) in loop 05:39:37 as opposed to 05:40:39 cmd = getChar(); while ((c = cmd)!='y'); printf("Yes"); 05:42:22 that's called referential transparency. The Haskell version actually reads a character each iteration. 05:44:52 -!- boily has joined. 05:44:59 In Haskell replacing a variable by its definition does not change the meaning of the program. 05:46:12 but... 05:47:04 perhaps more importantly, the way Haskell does it makes it much easier to see which parts of the program actually perform impure actions, and which just calculate values purely. with help from the type system. 05:49:24 if something does not have IO in its type (and doesn't delve into some particularly dubious library modules) then it does not perform an impure action. 05:58:11 anyway all this becomes necessary because of laziness more than pureness. One of the big Haskell guys once wrote something like in a language without laziness, it is nearly irresistible to add impure functions (like your getChar() above) directly. But because Haskell has lazy evaluation, it _must_ have a different mechanism for ordering of effects. 05:59:34 it seems IO should just be done immediately 06:01:18 immediately when? 06:02:13 when it's passed to a function 06:03:23 so you don't believe in lazy evaluation. 06:03:41 for non-io stuff, sure 06:04:51 lazy evaluation shouldn't change the behavior of programs, though 06:07:29 i suppose you could make a language work like that. 06:08:12 maybe someone even has. 06:09:54 i'm going to bed 06:10:03 however if you wanted Haskell's flexibility in generating new control structures, you would have to add some call-by-name option for arguments. Scala does that. 06:10:23 good night. 06:10:53 macros are for control structures 06:49:45 -!- oerjan has quit ("griffel"). 07:19:18 -!- boily has quit ("foo foo foo"). 07:42:09 -!- Figs has left (?). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:47 I would just like to announce that I have been inspired by LostKingdom. . . 08:03:58 And will start to write a game in PEBBLE. 09:03:35 -!- pikhq has quit (Read error: 110 (Connection timed out)). 09:36:19 -!- Keymaker has joined. 09:37:53 i'm making an interpreter for a new esolang, could anyone who knows python (again!) paste a line of code that would replace Nth character from some string with some string? 09:39:25 (defun replace-char (string1 string2 char-pos) (let ((char (aref char-pos string2))) (setf (aref char-pos string1) char) string1) 09:40:17 alright, thanks 09:40:26 Errr >_> 09:40:31 That's a joke. That's not Python. 09:40:40 damn :D 09:40:40 That's CL. 09:40:55 I thought you could tell with the over-use of parentheses :P 09:41:09 well i started to doubt something... 09:41:21 :D 10:31:28 hm, i managed to get that part done 12:14:00 yet the interpreter still has some problems... i hope i can get it working sometime, then i can start testing the language 12:14:17 -!- Keymaker has quit. 13:09:20 -!- c|p has joined. 13:10:42 -!- ihope__ has joined. 13:10:57 -!- ihope__ has changed nick to ihope. 14:02:15 -!- jix_ has joined. 14:13:29 -!- jix_ has quit ("This computer has gone to sleep"). 14:51:25 -!- ihope has quit (Read error: 104 (Connection reset by peer)). 16:07:55 -!- jix_ has joined. 16:17:19 -!- crathman has joined. 16:21:35 -!- crathman has quit (Client Quit). 16:51:05 -!- sebbu has joined. 17:07:00 -!- c|p has quit ("Leaving"). 17:07:25 -!- KoH has joined. 17:07:47 -!- KoH has left (?). 17:28:58 -!- ihope has joined. 17:31:45 -!- crathman has joined. 17:33:11 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)). 17:33:13 -!- RodgerTheGreat_ has joined. 19:35:46 -!- clog has joined. 19:35:46 -!- clog has joined. 19:43:46 -!- pikhq has joined. 19:44:41 -!- atrapado_ has quit (Read error: 110 (Connection timed out)). 20:10:27 -!- c|p has quit ("Leaving"). 21:39:21 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 21:39:40 -!- pikhq has joined. 21:40:31 -!- jix_ has quit ("CommandQ"). 21:46:53 -!- pikhq has quit (Remote closed the connection). 21:47:17 -!- pikhq has joined. 21:56:04 -!- Sgeo has joined. 22:50:15 -!- c|p has joined. 22:57:04 -!- oerjan has joined. 23:21:48 lament: the solution is to use a system which has a compose key 23:21:53 thus: 23:22:01 é 23:22:06 SimonRC: yes, for example my mac 23:22:12 fortunately 23:22:25 everybody understands me perfectly if i write spanish without accents 23:22:36 the only annoying problem is the n with the tilde on top. I write n~ 23:22:38 so why "espan~ol" rather than "espanñol"? 23:22:50 erm "español" 23:22:53 because i'm at work and not using my mac. 23:22:57 ah, ok 23:23:14 does ñ really matter that much? 23:23:25 apart from in "año" 23:24:07 i find it weird when it's missing 23:24:13 unlike the accents 23:24:21 hm 23:24:22 ok 23:35:28 n is not e\~ne! 23:39:11 -!- sebbu has quit ("@+"). 23:50:12 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]"). 2007-06-22: 00:42:39 Gah! 00:42:49 Good job throwing off UTF-8 encoding, bsmntbombdood ! 00:42:59 Why do y'all even use archaic encodings like Latin1 ? 00:44:01 i haven't bothered to fix my account setup and there are all these old Latin1 files... 00:44:27 -!- Otakubot has quit ("Time to go!"). 00:44:49 what? 00:45:00 fwiw, even motd from the sysadmins seems to be Latin1 last I checked 00:45:30 some things change slowly at nvg. 00:47:28 nvg? 00:49:14 Wait, somebody said something? 00:49:37 But it's not esolang-related. 00:49:42 what's nvg! 00:50:07 the computer club i'm irc'ing through 00:50:22 that's your own fault. 00:50:34 had an account for, let's see, 15-16 years 00:50:50 i wasn't even born back then 01:09:26 for one thing, you cannot put class contexts on type 01:09:30 argh 01:10:51 (well that was a first. the other times i sent things to #haskell that should have gone here.) 01:42:32 * pikhq has Unicode, just not a monotype font which supports non-ASCII characters. :/ 02:06:04 -!- goban has joined. 02:06:19 -!- goban has quit (Connection reset by peer). 03:18:51 -!- phrodu has joined. 03:20:45 -!- phrodu has quit (Client Quit). 04:23:43 -!- ihope has quit (Connection timed out). 04:48:18 * SimonRC decides that this one is quite humerous: http://www.newgrounds.com/portal/view/192135 04:48:29 It makes a good point about typical RPG behaviour. 05:09:47 -!- boily has joined. 05:23:26 -!- calamari has joined. 05:49:08 -!- c|p has quit ("Leaving"). 06:45:56 -!- boily has quit ("WeeChat 0.2.5"). 06:56:58 -!- Sgeo has quit ("Ex-Chat"). 07:21:34 -!- calamari has quit ("Leaving"). 07:27:48 -!- oerjan has quit ("leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 12:07:14 -!- oklopol_ has joined. 13:31:48 -!- c|p has joined. 13:47:37 -!- ihope has joined. 15:20:09 good morning 15:25:36 -!- gnilor has joined. 15:31:31 Ello. 15:31:40 * gnilor waves 15:42:33 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 15:50:59 -!- boily has joined. 16:01:15 -!- erider has joined. 16:40:54 -!- boily has quit ("WeeChat 0.2.5"). 16:41:55 -!- sebbu has joined. 17:30:00 hello, 25 entities 17:41:59 you can say hello to yourself 17:42:08 i did 17:42:14 *can't 17:42:18 why can't i? 17:42:22 hello, lament 17:42:29 why, hello there, lament 17:42:31 what's up? 17:42:32 not much 17:42:40 now you're just a crazy person 17:42:44 nice meeting you again 17:42:51 escaped from the asylum again i see 17:42:53 yeah, haven't seen you in a while, where have you been? 17:43:03 oh, you know, working, partying, playing guitar 17:43:12 ah, okay, i was doing the same :) 17:43:22 well, nice meeting you, i have to go now 17:43:25 mbpnvemkrglezyvglmnevxtblpdsgjldtpkvvprehvcbbrdbyvkusvjosngudqkqsudqavnefepebsdzxrlzujtbhejhdxhyigtslojngrfgkemagspjmiqfixfwmnwdbojgzuhaplhqemzumxlshqbsinkknzetcdccralnbaikfinecxlkkyutvtvwcablmjpjlehn 17:43:26 later! 17:43:30 c ya 17:43:56 wait, has bsmntbombdood gone crazy or something? 17:44:01 yeah... it seems so... 17:44:15 poor guy :( 17:44:30 that's some of the output of base 26 rc4 17:47:37 yeah, perhaps it is. 17:47:52 there is no other 17:47:53 although it's odd that it would have 13 'e' and only 3 'o' 17:48:20 but it doesn't appear that you just randomly typed it 17:50:06 RC4? 17:51:18 * ihope plays either "Sweet Dreams" or They Might Be Giants 17:51:21 http://pastebin.ca/584136 17:51:41 Oh my. 17:52:18 and he said i was crazy 17:52:36 i was looking for an encryption alogorithm that was simple enough to do with a pencil and paper 17:52:39 i think this might be 17:53:15 why not use the one from cryptonomicon? 17:53:50 is a deck of cards a pencil and paper? 17:54:05 not literally. 17:58:51 bsmntbombdood: I saw a simplified version of the enigma that's pretty easy to use 17:59:10 it only really handles the encoding rings, though 18:05:28 RSA! >:-) 18:05:36 right. 18:05:49 I mean, it's not especially bad. 18:06:25 ROT13 is *really* easy with a chart like this: http://upload.wikimedia.org/wikipedia/commons/2/2a/ROT13.png 18:07:02 It's also really insecure. 18:08:34 Use 7/37/216 as your private key. 18:08:50 Except that that's not what a private key contains. 18:09:20 rot13... 18:09:21 no 18:09:37 just invent your own, jeez! 18:09:38 I was kidding 18:09:42 <:) 18:12:33 259 (7*37) as modulus, 216 as totient, 13 as encryption exponent... uh, 1/13 mod 216 as decryption exponent :-P 18:17:01 133 as decryption exponent? 18:17:14 Yup, 133. 18:18:56 So 2 encrypts to 2^13 = ((2^2*2)^2)^2*2 = 163. 18:20:16 that reminds me of the four fours thing you guys were up to a couple months ago 18:25:32 The four fours thing? 18:25:53 Did it involve factoring 4444, by any chance? :-P 18:26:10 trying to generate every constant from 1 to 100 by using four 4s and various operators 18:26:17 Ah. 18:26:24 Various operators? 18:26:45 */-+^ mod, etc 18:27:21 It was around the time we were playing around with dupdog, if you feel like searching the logs 18:27:58 fantastic 18:28:20 i just spent the last 20 minutes doing key setup, and now it turns out i made a mistake 18:28:42 dang 18:30:17 Are we allowed to consider stack operators? 18:30:45 for what? 18:30:52 For the 4444 thing. 18:30:57 we weren't doing it that way, but it would be an interesting way to approach the problem again 18:31:18 Actually, that makes it kind of trivial to do. 18:31:39 4 4/(dup for however many times you need)(+ for however many times you need) 18:31:40 well, yeah- then you can just ignore some of the numbers 18:32:26 we could do it with RPN, and then more easily compete for expression in the smallest number of symbols 18:34:48 and the other requirement, as I remember, was that you *must* use exactly four 4s 18:35:22 so, to make 1 we could do 4 4 4 4 - + / 18:36:25 I once did one block of DES with pen and paper. (Was visiting a place with no computars, and pretty bored.) 18:36:36 sounds interesting 18:36:44 how long would you say it took? 18:36:54 and how much paper did you use? 18:37:27 Don't remember very well. Some hours. And not very much paper, maybe two sheets. 18:38:25 not too bad 18:38:26 Of course a DES block is 64 bits, so it's not very practical if you want to actually communicate something. 18:39:40 assuming a 6-bit character (64 symbols), you could pull off about 10 characters, which is enough for *some* things 18:40:01 but yes, not terribly practical 18:40:05 what kind of person knows des by heart? 18:40:43 bsmntbombdood: are one-time pads feasible for your situation? They're extremely effective for the amount of effort they require. 18:41:08 Oh, I had the spec (I think it was the actual FIPS standard) printed out with me. I did anticipate the "being bored" bit. 18:41:14 not feasible 18:41:32 "i'm going to be bored...better bring the des spec!" 18:41:45 I was only going to read it, but... 18:42:58 did you do all the rounds? 18:43:02 I implemented a easy php brainfuck interpreted, because i needed one(and the one i found online was recursive), http://81.165.213.173:8080/~gnilor/bf.php .phps for source 18:43:18 I don't really remember if I completely finished it. 18:43:20 recursive? 18:43:46 recursive...? 18:43:58 how would that work, exactly? 18:43:59 lament, yeah it recursively called itself for loops 18:44:01 Re one-time pads, I just wrote an Irssi script to apply one-time pads to queries, and exchanged half a CDful of randomness with a friend living in the next building. Extrapolating from logs since 2003, that should be enough to last until 2014 or so. 18:44:10 RodgerTheGreat, like any recusive descent parser 18:45:02 recursive for [] 18:45:18 hm. I guess that could work. I made a recursive equation parser once. It just didn't occur to me to do it that way with something that has side effects 18:45:33 bsmntbombdood, yeah it was called php-brainfuck or something.. but i just didn't like that ..keeping DoS in mind 18:45:35 yeah, that would be pretty easy to code, now that I think about it 18:46:32 it's bf it's always easy to code :) 18:46:51 one of the reasons why i picked it :) 18:47:42 haha 18:47:57 yeah, I think I've implemented it 4 times so far 18:48:29 I usually implement a Befunge interpreter in every new language I come across. 18:48:32 brainfuck as an extension language? 18:48:32 DarkBASIC, Java, Perl and (eew) VB. 18:48:49 fizzie, isn't befunge 2D .. well i pass :) 18:48:51 not sure why it makes sense to use a php-based brainfuck interpreter as opposed to some nice fast C one 18:48:55 BF is one of my favorite "getting used to the language" programs 18:49:16 lambda calculus > BF 18:49:27 lament i actually have a use for it :) 18:54:35 basically i just needed a very safe way, for some form of scripting from the user to be executed server side 18:55:11 lol 18:55:51 once, I added BF scripting support to one of my IRC-bots because it was the easiest "scripting language" I could think of to implement. 18:57:20 yeah, and you can get it 100% secure, that's a plus 18:57:27 no fork bombs :) 18:57:40 it's hardly usefull as a scripting language though 18:57:50 how can you make it interact with your bot? 18:58:01 bsmntbombdood: , 18:58:42 bsmntbombdood, you put a string in, you get a string out ... that's what an irc bot is all about isn't it.. 18:58:59 and bf is turing complete .. so it can do any operation on the strings .. 19:00:38 yeah, I built a system around it for defining a command. Users set a prefix "@", "!do ", whatever, and then their program. If they say something that starts with the prefix, the rest of the line counts as input, and then the program runs 19:05:32 you could do some var replacing, in the in/output too to have a more flexible system .. possibilities are endless :) 19:14:05 Pah, easy. 19:14:25 You should have used assembler with mandatory security proofs! 19:14:34 (I'm all about security proofs lately, aren't I?) 19:16:26 no me understando 19:21:20 Sure one could have an IRC bot in Brainfuck. . . 19:22:23 sure 19:22:34 I just feel sorry for whoever writes it in raw Brainfuck. 19:24:21 you'd need some kind of a socket layer above it. 19:24:32 and an event layer presumably 19:24:47 easy to do 19:25:02 yes, but no longer "raw brainfuck" 19:25:10 pretty much 19:25:15 depends on how thick the layer is :) 19:25:30 just redirect stdin/stdout to netcat 19:25:51 Event layer? 19:26:07 Screw that; just make sure stdin is blocking. 19:28:33 i feel a bet coming on :) first one to writ it in less that 50 000 bf bytes? :D 19:28:50 50 000 0000 000000 :) 19:28:59 just do it in bfm 19:33:32 I'd do so, except that the language is now known as PEBBLE. 19:43:22 heh i actually had a bug in my bf code :) 19:43:30 well bf interpreter 19:46:34 O.O 19:47:22 i had if (A && B) somewhere and it should have been if (B && A) 19:47:29 all better now 19:48:42 They're equivalent, except for short-circuting. 19:50:12 well i was counting on short-circuting 20:06:28 Ah. 20:07:42 (p && (a || 1)) || b 20:15:07 Who here thinks I'm crazy for wanting to do a game in PEBBLE? 20:15:28 * pikhq raises his hand 20:18:05 I think it's a worthwhile endeavor 20:18:15 what type of game do you plan on creating? 20:18:24 I might be able to provide some meager assistance 20:18:40 I have some experience coding text-based games of various sorts 20:23:16 I'm guessing a good first step would be extending the pebble libraries to provide more string manipulation functions 20:26:29 * ihope raises a finger 20:26:37 I mean, it's not VERY crazy. 20:26:54 Something along the lines of LostKingdom. 20:27:22 The parser, I think, would be simple, like LostKingdom's. 20:27:50 excellent- I have done some study of the BFBASIC behind that game- I think I have a handle on what's necessary to build something similar in BF 20:28:15 and as you've all seen from PocketUniverse, I know a thing or two about building MUDs 20:29:02 And, since you've got a Nonlogic account, it'd be simple for me to set up an SVN repo for the two of us to work on this on. 20:30:32 if you want 20:30:53 *shrug* 20:31:03 Or I could just do the insane route and write it all myself. :p 20:33:23 I get the sense you'll have more satisfaction from it that way. However, I will be more than happy to provide assistance and advice when you so desire it. 20:55:28 what's nonlogic? 21:23:09 what do you think? 21:23:22 pretty neat, eh? 21:23:26 sure 21:24:09 #Esoteric and ##Nonlogic have very different atmospheres, but I feel they also have a great deal of commonality 21:24:29 we're all just a bunch of hackers, after all 21:24:41 (in the truest sense of the word.) 21:25:19 what's the atmosphere in ##nonlogic ? 21:25:42 I dunno, a little more "structured", a little more immediate. 21:26:14 'course, it's kinda cool that in #Esoteric it's not unusual for a conversation to occur over several hours or an entire afternoon 21:26:26 in ##Nonlogic, most people expect you to be there when you talk to them 21:26:31 little social differences 21:30:16 -!- gnilor has left (?). 21:31:07 philosophical debates here have less of a tendency to become flamewars here, too. 21:33:36 i love this channel 21:34:18 me too 21:34:29 I like 'em both for different reasons 21:39:59 what's the topic of nonlogic? 21:40:29 === ##nonlogic 32 Welcome to ##nonlogic | Reinventing the wheel for fun | If you are interested in an account, please read the tour: http://nonlogic.org/index.php?tour | For information about the Nonlogic TextCast, join ##nonlogic-textcast | "IRC Isn't a Dump Truck!" http://nonlogic.org/dump/ 21:40:39 I have no idea. 21:42:02 lol 21:43:06 i mean conversation topic 21:43:19 what's its reason for existance 21:43:28 goodbye lament 21:43:35 now i have that song stuck in my head 21:46:15 It's the chat room for Nonlogic. 21:56:52 Your mom's Nonlogic. 21:57:59 ? 21:58:53 Sorry, it had to be done :D 21:59:35 lol 21:59:49 what've you been up to these days, Sukoshi? 22:00:27 RodgerTheGreat: In this order: Studying my butt off for exams, summarily getting completely demotivated about schoolwork, hacking some electric projects, playing some games, starting some dev projects for the summer. 22:01:59 sounds vaguely similar to my summer so far 22:02:40 I'm taking some summer courses up here at MTU, working on a couple games and other projects, and generally slowly decompressing from the frenetic pace of finals 22:03:05 All my projects this summer are Lisp projects. I do intend to take on one Java project and maybe a C project though. 22:03:30 in two weeks I get to start a cryptography course- it should be a lot of fun and provide me with a lot of ideas for small coding projects 22:03:59 do you have a Java plugin for you browser? 22:07:20 I think so. 22:07:35 then have a look at this: http://rodger.nonlogic.org/games/CRPG/ 22:07:48 it's kinda buggy at the moment, but I'm extremely pleased with it so far 22:08:23 My projects: A Lisp IRC Client that works on numerous graphical backends (one of which is Curses), A Lisp 2D Strategy RPG with an epic storyline, A Lisp IRC bot, a Java (?), a C (?). 22:08:39 interesting 22:09:37 if you have any need for graphics for your RPG, look no further. Give me a week or two and I can whip up anything you want. :D 22:09:53 Ohhh.. I do! 22:10:09 Hmm. Would you like to help with the story too? 22:10:17 (And you can help Lisp along too, if you know enough Lisp) 22:10:48 possibly 22:10:54 Today my goal is to make a rough mapper using some tilesets online (but make it open to any tileset, obviously) for some tilemaps. 22:10:55 I have *some* writing skills 22:11:09 SDL is the graphics library. 22:11:14 what tileset size/style are we talking? 22:11:39 Size: Variable. Style: PNG, put in a large tile block. 22:11:40 square, rectangular, isometric, 8x8, 16x16, 32x32, larger, smaller... 22:11:46 haha 22:11:47 Square. 22:12:12 Well, I may or may not convert it to BMP. 22:12:45 Because LISPBUILDER-SDL-IMAGE does not work on CLISP for Mac. 22:13:11 (But it does with SBCL for Mac.) 22:14:24 oh, excellent 22:14:41 have you looked at my CRPG project yet? 22:17:41 Err, not yet. 22:17:51 I'm playing a bit with SDL and my sister. 22:17:58 (My sister being the more demanding of the two.) 22:18:04 lol 22:18:25 what's nonlogic? 22:19:49 an online development community 22:20:08 basically, a hangout for a bunch of renegade software and hardware hackers 22:22:52 It's what your mom is, lament. 22:23:00 RodgerTheGreat: that doesn't really explain anything. 22:23:18 Does my explanation help, lament ? 22:23:21 Sukoshi: no. 22:23:27 lament: Good :) 22:23:34 lament: what kind of explanation are you asking for, then? 22:23:36 Bunch of coders together, with a shell server to bind them. 22:23:45 In the darkness bind them, pikhq. 22:23:52 Well, yes. 22:24:00 A Debian terminal is pretty dark, after all. 22:24:01 yeah, the intertron is rather dark most of the time 22:24:04 One shell to rule them all, and in the darkness bind them -- Old UNIX mainframes. 22:24:06 well, that there's a shell server helps. 22:24:14 So it's a channel for people who know each other outside IRC? 22:24:21 Not quite. 22:24:36 do you see now that the explanation wasn't satisfactory? :) 22:24:37 Although the founders, near as I can tell, are at college together. 22:25:46 some of us 22:27:29 -!- poiuy_qwert has joined. 22:29:09 how can i upload something to the files archive? 22:29:14 i laugh at you and your formal educations 22:29:48 Yeah. You can be the hippy outside who wants to abolish college ;) 22:29:56 <:/ 22:30:03 no respect for my hard work 22:30:27 Sukoshi: did you ever decide where you wanted to go for college? or at all? 22:31:56 RodgerTheGreat: I'm gonna be applying to MIT out of fluke, CalTech, Berkeley and a few other UCs, and Urbana-Champaign. 22:32:25 * pikhq still needs to figure out more places to apply. . . 22:32:33 pretty good universities. 22:32:40 MIT I will apply to, just in case they go mad there. . . 22:32:49 Exactly. 22:33:06 One will at least hope that a 30 on the ACT helps. 22:33:07 Well, UCs are local for me. 22:33:09 Sukoshi, pikhq: there *is* always michigan tech- we're kinda out of the way, but it's a fantastic place to be 22:33:15 22:33:17 Heh. 22:33:27 UCs are local, so that makes the barrier that much smaller. 22:33:35 UCs? 22:33:51 University of California? 22:33:55 Yeah. 22:34:10 I'm guaranteed a UC of some middling-sort, but I'm shooting for the top, of course. 22:34:20 Well, if I aim for *local*, then I'd be hitting either Colorado University, or Colorado State. . . 22:34:25 Ouch >_> 22:34:32 Yeah, our local universities are quite nice. 22:34:49 "shooting for the top, of course"? 22:34:49 And I'm already guaranteed acceptance into those, in spite of my *horrible* grades. 22:38:19 Well, UC has a range of universities. 22:38:28 Why not shoot for the top, since they're local? 22:39:24 more work 22:39:33 haha 22:39:38 more nerd students who don't want to have fun 22:39:39 Heh. I have a ``better than everyone else, '' ethic in me. 22:39:48 oh, okay well. 22:39:50 i would so like to go to mit 22:39:54 "remember, students- it's only your future!" 22:41:34 RodgerTheGreat: yes, universities like to overestimate their own importance. 22:41:37 * pikhq has a "Meh; just shove me somewhere I can learn something" ethic 22:43:26 how can i upload something to the esoteric files archive? 22:44:58 back on the topic of tilesets, this is the (in progress) tileset for the game I'm currently working on: http://rodger.nonlogic.org/images/tiles.gif 22:45:33 I've taken great care to maintain a resemblance to a certain gameboy game, for largely satirical purposes. :) 22:46:27 * Sukoshi does not recognize the game :P 22:46:34 aw, c'mon! 22:47:36 it involved teenaged protagonists wandering aimlessly through a sprawling world, collecting weird animals and trapping them in spherical storage devices. 22:48:51 what is the tileset for? 22:49:06 Ok, then my hunch was right. 22:49:09 lament: do you actually read what I type? 22:49:10 Hey, I love Pokemon! 22:49:16 :D 22:49:19 (I still play it on my DS.) 22:49:22 RodgerTheGreat: i started reading at 14:43 local time 22:50:30 essentially, it's going to be a comedic adventure game starring the main characters from a cartoon strip I draw for a campus newsletter 22:51:04 behold the titlescreen! 22:51:05 http://www.nonlogic.org/dump/images/1182548991-title.png 22:59:04 Well now, ImageMagic obviously fails at producing BMPs. 22:59:15 for a reason. 22:59:32 Wow. It can convert SVG to PNG, and SVG to EPS, but not PNG to BMP. 22:59:41 BMP is not a format anybody uses. 22:59:41 :/ 22:59:52 I use bmp from time to time 23:00:10 GIF and PNG are just as good for pixel art, though, and they're lower bandwidth 23:00:24 That means I have to download and compile SDL_Image. 23:00:26 Grrrr. 23:00:39 what are you trying to do, exactly? 23:01:50 Get SDL to load a PNG. 23:02:32 I meant, on a more macro sense. That problem seemed fairly clear. 23:02:57 Heh. 23:03:00 The mapper. 23:03:09 ah, I see 23:03:12 I'm gonna set up a Lisp mapper, and if I have time, I'll start on a rough inspector. 23:04:21 when I started writing my game engine in Java, I found it immensely useful to build modular classes for storing and drawing map data. Map editors necessarily share a *lot* of basic code 23:04:33 with the game engine, that is 23:04:37 Well, yeah. 23:04:48 But there's a difference in coding style in Lisp and Java (and any other static language). 23:04:54 naturally 23:05:04 The modularity is much more built into Lisp. 23:05:29 I'm gonna implement the mapper in the game too, so that way, I can edit on the fly. 23:05:38 Which is not very hard, thanks to Lisp. 23:05:38 in Java, it's pretty much dictated by how careful you are with your object oriented design 23:05:52 probably an excellent idea 23:05:55 And inspectors alwayz r00l. 23:06:12 Inpsectors must be pretty difficult to code in static languages. 23:06:25 the main advantage I had to keeping mine separate was that breaking one accidentally still left me able to work on the other when I became frustrated 23:06:43 -!- oerjan has joined. 23:06:53 what exactly do you mean by "inspector"? Unit testing? 23:07:07 It's something which lets you play around with objects in real time. 23:07:12 ah, 23:07:17 like an interactive debugger 23:07:23 Yeah, except it is lots of fun. 23:07:40 haha- I can imagine 23:07:42 For example: You open the inspector, select your main character, and then edit some of his stats to test some edge cases in the battle system. 23:08:10 short-circuiting the compile-test-edit-repeat workflow 23:08:23 Lisp never works like that. 23:08:42 some of this stems from the fact that you're using an interpreted language, versus my compiled one 23:08:45 Lisp's workflow is code-test-edit-(if you need to recode in an editor). 23:08:54 Nah. Lisp is JIT compiled. 23:09:03 That's what makes it so incredible :) 23:09:37 JIT is effectively the same as interpreted from a workflow perspective- it's just an abstraction layer that makes things more zippy 23:10:18 True. 23:10:50 That's my main gripe about Java. Why did Sun ditch Smalltalk for Java? 23:10:57 I mean, if you have a VM, put it to good use by making it dynamic. 23:11:32 they probably wanted to make Java "more like C++", only do it properly. 23:11:34 I think the answer there lies more in politics and GET-OFF-MY-LAWN-ness than anything else. 23:11:37 Yeah. 23:11:52 how do you run untrusted code safely in Smalltalk? 23:12:17 C and it's ilk are so poisonous like that... 23:12:22 oerjan: Unlike Lisp, Smalltalk has no top-level forms. So you can branch off the state of the VM to run code. 23:12:42 Or, more approriately, Stack unwind. 23:14:52 Top-level forms? 23:15:04 (defparameter a 3) 23:15:54 so, Sukoshi- if you could give me some direction as to what you're looking for, graphically, I could probably find time in the next few days to pound out some sprites and tiles for you 23:16:14 RodgerTheGreat: Hmm... Zelda-ish? 23:16:28 I can do zelda-ish 23:18:10 I made this way back in the day for a DarkBASIC game of mine: http://rodger.nonlogic.org/images/ground.bmp 23:18:39 Yeah! 23:18:46 Maybe a bit more luminosity on the tiles, though? 23:19:08 naturally- I like to think I've become a little better over the years. ;) 23:20:20 anything more specific, or should I just kinda wing it? 23:23:34 Oooh. This new version of SDL is a lot more speedy. 23:23:41 Hmmm RodgerTheGreat. 23:23:48 Well, would you mind listening to the story mishmash? 23:23:59 (It's not even a concept yet, because I don't have it congealed enough.) 23:24:07 sure thing- I'm all ears 23:25:10 So the initial setting is that the main character's Ham's (the equivalent to a medieval demense) Noble has decided to enter the current war for throne succession. 23:26:03 So, basically, the intro starts out with a few skirmishes (I may make this tactical style, but right now I'm leaning to Zelda-ish strategy style). 23:26:39 Then in the battle heat, the main character suddenly gets a vision, of two groups of people, fighting each other in a war much like this. And he wonders the significance. 23:27:13 Yeah, that's all I have concrete 'till now :P. But the story involves world travelling, layers of manipulation, an old race, etc. 23:27:23 haha 23:27:33 sounds like zelda meets chronotrigger 23:27:55 Similar, except you have to add Tactics, and Katherine Kerr's novels to the mix. 23:28:03 gotcha 23:28:04 And some Modesitt. 23:28:27 (The civil war in his mind is a civil war between his race, and the companions to his race, these companions not anymore present in his ``world''.) 23:29:05 so, what are you looking for in terms of artistic style and the feel of the setting? 23:29:08 Portions of the civil war were influenced by the splinter race (in a much better technological state) to wreak revenge upon their old brethren. 23:29:55 Well -- two tilesets. One is medieval gothic finery, and the other is modern (not too techy) SF. 23:30:04 ok 23:30:09 sounds pretty doable 23:31:56 how about character design? 23:32:40 Robes. 23:33:00 Robes. 23:33:10 One half Old-Christian-Robe style, the rest should be old Arab robe style. 23:33:17 Clothing-wise, I mean. 23:33:24 alright 23:33:31 Other than that ... nothing too descrptive on the body features. 23:34:06 * RodgerTheGreat cracks his knuckles and searches for his drawin' stick 23:36:02 any specific characters I should try to cover? 23:39:42 Hmmm... 23:39:48 Not yet, no. 23:40:04 alright 23:40:45 well, I'll be back in a bit, and then I'll devote a little time to coming up with a tiling model 23:46:15 Do you know offhand the size of an RPG Maker tile? 23:46:40 32x32, it seems. 2007-06-23: 00:03:14 back 00:03:26 any reason for using RPGMaker as a reference? 01:06:46 -!- boily has joined. 01:23:33 RodgerTheGreat: Your "CRPG" crashes whenever i enter the nearby building. 01:30:25 -!- sebbu has quit ("@+"). 01:33:09 -!- boily has quit ("WeeChat 0.2.5"). 01:33:18 RodgerTheGreat: Because I was lifting a tileset from it. 01:55:34 it could pick a nick randomly first 01:55:40 !"# 02:02:24 oerjan: ??? 02:02:58 i still haven't got the hang of being on more than one channel at once :( 02:06:02 and alt-up apparently is _not_ a safe way to ensure you are in the upper window - it rotates. 02:34:46 Sukoshi: yeah, I'm aware of that bug- I recalculate the map "window" coordinates improperly when the player teleports somewhere else on the map. I've pretty much fixed it, but the fix will have to wait until I upload a new version of the applet 03:42:03 Yay, I landed in a channel other than the one I meant to land in! 03:42:39 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 03:42:45 I've decided that two-dimensional memory won't do. 03:42:56 Three dimensions are required for ultimate happiness, or something. 03:43:11 Preferably, infinitely many dimensions. 03:43:46 * oerjan points ihope to Infinifuck, or what ever it was called. 03:44:29 Dimensifuck? 03:44:38 the one that has tree-shaped memory? 03:44:38 that was it 03:46:40 ...can that be explained a bit more... betterly? 03:47:10 what is it you don't understand? 03:47:49 "Starts moving positively on the dimension to be operated on if and only if the current cell is nonzero." 03:48:03 yeah, I recall when dimensifuck was being created 03:48:07 -!- erider has joined. 03:48:15 I think I was playing with DoubleFuck at the time 03:48:30 yes, there was some confusion on the acronym DF 03:48:33 Dimensifuck is a confusing little language 03:48:47 * ihope ponders... arbitrary-width zippable tree memory 03:48:54 (and I've conquered Dupdog, damnit!) 03:51:03 ihope: as i recall, in Dimensifuck the coordinates of a cell is an infinite list of integers. The "dimension to be operated on" is an integer index for a special position in that list. 03:51:33 Does it still use "IP address style" dimension indexing like I originally suggested? 03:52:05 there are periods between the coordinates, yes 03:52:33 woo 03:52:49 But... *starts* moving? 03:53:04 How often does it move, and when does it stop? 03:53:26 it moves one step each instruction, but the direction can change as in Befunge. 03:55:28 this refers to the movement of the code pointer, i think. I am not quite sure but it seems like data is still a one-dimensional tape. 03:56:11 as in Brainfuck. 03:56:57 yeah 04:01:16 * oerjan ponders if ihope is also having trouble with two channels at a time. 04:01:38 Nah. 04:15:51 'night, all 04:17:44 -!- RodgerTheGreat has quit. 04:19:25 -!- poiuy_qwert has quit. 05:00:53 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:44:09 I think ihope is stalking me. 05:44:19 He keeps entering channels I'm in that I've never seen him in before. 05:48:48 he is a resident here and on ##nonlogic 05:49:23 last i checked he was here and on #haskell, and so was i and SimonRC. 05:49:33 -!- c|p has quit ("Leaving"). 05:49:59 oh, yes, there too 05:50:48 But he was never on ##otaku or #freeciv before. 05:52:38 hm 05:52:41 maybe he is 05:57:16 maybe he is just checking out what channels we others are in. in fact someone suggested today on #haskell to give lambdabot a command to suggest a random channel from the ones people on #haskell were in. 05:57:38 that could have interesting effects 06:22:03 Haskell is for nubs. 06:22:17 * Sukoshi begins waving the Lisp standard and singing the Knights of the Lambda Calculus song. 06:34:19 nub :: Eq a => [a] -> [a] 06:38:15 nubBy(((>1).).gcd)[2..] 07:30:11 you people talk like crayons 07:30:16 -!- oklopol_ has changed nick to oklopol. 07:31:52 i entered ##nonlogic because it was mentioned 07:31:58 i'm stalkative like that 07:32:01 hihi 07:43:48 btw that last expression was a cool one-liner i learned in #haskell the other day. (more or less, it requires import Data.List) 07:45:56 -!- immibis has joined. 07:46:06 someone tell me that this channel is still active 07:46:46 -!- immybo has joined. 07:46:55 it is still active. 07:48:24 Could someone please ask someone to ask someone to repeat this request? 07:48:52 no, don't really do it 07:48:56 Could someone please ask someone to repeat immibis's request? 07:48:58 :< 07:49:32 !help 07:49:47 could oerjan please clarify that command 07:49:53 No Bot today, our Bot has gone away... 07:50:01 Could somebody please hit somebody else with a rainbow trout? 07:50:04 like this: 07:50:08 * immibis hits immybo with a rainbow trout 07:50:11 * immybo slaps immybo with a rainbow trout 07:50:15 OUCH!!! 07:50:20 * immybo slaps immybo with a big red brick 07:50:23 YAHH!!! 07:51:05 immbis, could you please repeat this request? 07:51:32 immibis, could you please repeat this request 07:51:33 immibis, could you please repeat this request 07:51:33 immibis, could you please repeat this request 07:51:33 immibis, could you please repeat this request 07:51:33 immibis, could you please repeat this request 07:51:34 immibis, could you please repeat this request 07:51:35 immibis, could you please repeat this request 07:51:37 immibis, could you please repeat this request 07:51:39 immibis, could you please repeat this request 07:51:40 -!- immibis has quit (Excess Flood). 07:51:40 Please, write the 99 bottles lyrics 07:52:01 -!- immibis has joined. 07:52:10 go to hell 07:52:13 Uh... immibis, you should'nt do that 07:52:19 i mean the repeat 07:52:21 NO 07:52:30 Uh... immibis, you should'nt do that 07:52:33 immybo: i repeated the request to make myself repeat the request to repeat the request to repeat the request.... 07:52:37 * immibis is not doing that 07:52:39 Please, write the 99 bottles lyrics 07:52:45 go to hell 07:53:00 immybo, please, write the lyrics to a song that doesn't exist 07:53:23 Could someone please ask someone to repeat this request WITHOUT BEING A NOOB AND 07:53:23 PUTTING QUOTATION MARKS AROUND IT 07:53:25 oops 07:53:29 sorry 07:53:31 mistake 07:53:38 Please, sing 'I know a song that get's on everybody's nerves'? 07:53:41 99 boxes of Spam (TM) on the wall, 99 boxes of Spam (TM) 07:54:02 Take one down, throw it at immibis's head 07:54:14 98 boxes of Spam (TM) on the wall! 07:54:24 * immybo puts a forcefield around himself. 07:54:29 98 boxes of Spam (TM) 07:54:40 oh wait 07:54:53 * immibis takes down a box of Spam (TM) and throws it at immibis's head 07:55:02 * immybo puts himself in a suit of ancient plate armor 07:55:09 immybo, please tell everyone why you did that 07:55:16 Just in case... 07:56:09 Could someone please ask someone to repeat this request WITHOUT BEING A NOOB AND 07:56:09 PUTTING QUOTATION MARKS AROUND IT 07:56:11 oops 07:56:12 Could someone please ask someone to repeat this request WITHOUT BEING A NOOB AND 07:56:12 PUTTING QUOTATION MARKS AROUND IT 07:56:14 * oerjan touches immybo with an electrical cord 07:56:18 Take one down, throw it at oerjan's head 07:56:19 why does thAT KEEP HAPPENING 07:56:22 oops caps lock 07:56:27 * oerjan ducks 07:56:31 Take one down, throw it at oerjan's head 07:56:32 Take one down, throw it at oerjan's head 07:56:33 Take one down, throw it at oerjan's head 07:56:42 immybo, please repeat this exact sentence 07:56:45 * immybo gets out a shotgun 07:56:58 * immybo shoots oerjan twice 07:57:02 immybo, please repeat this exact sentence 07:57:09 * immybo shoots immibis 200 times 07:57:37 * immybo shoots immibis (100x100) times 07:57:49 immybo, please repeat this exact sentence 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:05 immybo, please repeat this exact sentence 08:00:11 no 08:00:42 immybo, please ask yourself to repeat this command 08:00:51 I will now say 'go to hell' to any stupid sentances 08:01:00 forgot how to spell 08:01:11 go to hell 08:01:56 I will be away, but i will come back about every 5 minutes 08:01:59 please quine 08:02:33 -!- immybo has changed nick to immy_awaycominba. 08:02:38 -!- immy_awaycominba has changed nick to immy_cominback. 08:02:50 -!- immibis has left (?). 08:03:02 -!- immibis has joined. 08:03:11 i forgot 08:03:15 immibis, please leave the channel 08:03:16 -!- immibis has left (?). 08:07:21 Im back 08:07:49 * immy_cominback renews the forcefield around him 08:08:17 -!- immibis has joined. 08:08:22 * immy_cominback gets a shock from the electric cord in his forcefield 08:08:27 bzzzzzzzzzzz 08:08:33 YARHH!!! 08:08:41 -!- immy_cominback has changed nick to immybo_dead. 08:08:58 immybo, stop being sill 08:08:59 y 08:09:07 -!- immybo_dead has changed nick to immybo. 08:09:21 ? 08:09:53 I am a bot, you may program me in ImmyboProgrammingLanguage (IPL) 08:10:26 -!- immybo has changed nick to Pretend_Bot. 08:11:16 hmm 08:11:19 hum 08:11:46 pretend_bot: while(true) {SelfDestruct();} 08:12:06 !½!! 08:12:41 oklopol: Please clarify the command 08:13:04 !käännä tämä lause englanniksi. 08:13:25 Hope that serves your will. 08:16:59 oklopol: Please speak english 08:17:23 I shall reverse that, then. 08:17:38 !Please translate this into Finnish. 08:19:44 I had this dream I was in the Idols auditions. 08:19:58 Just improvising randomly 08:20:26 That was no dream. I saw it on TV. 08:20:38 Oh :\ You have Finnish TV? 08:20:48 i might have. 08:21:26 Indeed you might. 08:21:49 I also had a dream where I was a ghost of some sort... and killed people by going inside them. 08:21:59 That real as well? 08:22:30 Yeah, it was a _really_ bad Idols audition. 08:23:44 Also, in one dream I put a bottle of ED (an energy drink) into a freezer... turned out the freezer was set to cold enough to kill anyone going near it... so I had to take it out using long kitchen forks 08:24:15 oklopol: this computer does not display finnish text 08:24:55 Heh, last night me and a friend decided to walk 40 km... started at midnight... by the end of the trip I was actually having short dreams while walking :DD 08:25:37 I would just turn to him and ask why he was still carrying the knife, "you should just have left it at home" 08:26:16 Of course I walked off road when falling asleep, but amazingly kept walking. 08:27:22 immibis: it's just you have a different scheme for showing umlauted text 08:27:23 i have this recollection you told that carrying knives was illegal in finland. 08:28:08 That's true, you can't do that in the cityish parts. 08:28:17 oklopol: !½!! shows up on my computer as !(a with a hat thing)(one half symbol)!! 08:28:30 immibis: that's exactly what it was. 08:30:19 oerjan: no one is going to care if you carryh a knife, but the police will ask you what the fuck you are doing if you carry a sword. 08:30:46 lol 08:30:52 Happened to a friend of mine, but he got away with it, just told the police he was going to practise. 08:31:01 everyone, isn't this off-topic? 08:31:43 immibis: yes, but this channel rarely discourages off-topic conversation if nothing else is going on 08:32:16 i think it's illegal in Oslo too. well, for what i know it may be illegal here in Trondheim. 08:33:02 immibis: Isn't your mom off-topic? 08:34:52 sukoshi, say yes if your mom is off-topic 08:34:59 sukoshi, otherwise say no 08:35:04 pretend_bot: while(true) {SelfDestruct();} 08:35:33 immibis: Maybe. 08:35:47 BOOMBOOMBOOM... etc 08:36:01 Pretend_Bot: You should have done /me explodes 08:37:34 Pretend_Bot: /* Program to draw an infinite number of squares */ 08:37:34 Pretend_Bot: int i=1; 08:37:34 Pretend_Bot: start_drawing(Black); 08:37:34 Pretend_Bot: while(true) 08:37:34 Pretend_Bot: { 08:37:34 Pretend_Bot: repeat(4) 08:37:36 Pretend_Bot: { 08:37:38 Pretend_Bot: move(i); 08:37:40 Pretend_Bot: turn(90); 08:37:42 Pretend_Bot: } 08:37:44 Pretend_Bot: i=i+1; 08:37:46 Pretend_Bot: i=i*i; 08:37:48 Pretend_Bot: } 08:42:25 WARNING... 08:42:30 BOMMM 08:42:32 BOOMM 08:42:38 BBOOOOMM 08:42:43 Pretend_Bot: Just draw them 08:42:54 BBBBBBBBOOOOOOOOOOOOOOOOMMMMMMMM 08:43:14 * Pretend_Bot draws a circle in pink one time 08:43:25 Please, write the 99 bottles lyrics 08:43:31 i said black 08:43:39 go to hell 08:44:09 change_color(Black); 08:44:17 draw_circles(infinite) 08:44:44 * Pretend_Bot draws a circle in pink one time - you were meant to draw squares in black an infinite number of times 08:45:14 * Pretend_Bot draws a circle in pink one time 08:49:04 no, Pretend_Bot draws a circle in BLACK an INFINITE number of times 08:49:20 should I bring my (very funny) bot on this channel? 08:50:30 yes. 08:51:15 loading...... 08:51:26 -!- WaiterBot has joined. 08:51:43 !c 08:51:59 !c 08:52:05 !c * 08:52:05 * WaiterBot is making a coffee in an office mug with cold milk * for immibis 08:52:06 * WaiterBot gives immibis a coffee in an office mug with cold milk * 08:52:11 !c -mcold 08:52:11 * WaiterBot is making a coffee in an office mug with cold milk for immibis 08:52:12 * WaiterBot gives immibis a coffee in an office mug with cold milk 08:52:13 !c -mhot -s5 -z6 08:52:13 * WaiterBot is making a coffee with 5 sugars in a bucket with hot milk for Pretend_Bot 08:52:16 * WaiterBot gives Pretend_Bot a coffee with 5 sugars in a bucket with hot milk 08:52:16 !c --help 08:52:17 * WaiterBot is making a coffee in an office mug with cold milk for immibis 08:52:18 * WaiterBot gives immibis a coffee in an office mug with cold milk 08:52:23 !c --help 08:52:23 * WaiterBot is making a coffee in an office mug with cold milk for immibis 08:52:24 * WaiterBot gives immibis a coffee in an office mug with cold milk 08:52:30 !c -mhot -s5 -z6 08:52:30 * WaiterBot is making a coffee with 5 sugars in a bucket with hot milk for Pretend_Bot 08:52:33 * WaiterBot gives Pretend_Bot a coffee with 5 sugars in a bucket with hot milk 08:52:50 !c -zbottle --other=message -s0 -mlots_of (which says "Hello everyone!") 08:52:50 * WaiterBot is making a message in a bottle with lots of milk (which says "Hello everyone!") for immibis 08:52:50 * WaiterBot gives immibis a message in a bottle with lots of milk (which says "Hello everyone!") 08:52:52 okay, i'll start coding after this episode 08:53:03 start coding what? 08:53:15 !p #esoteric 08:53:15 -!- WaiterBot has left (?). 08:53:58 my 4d ping pong 08:54:02 4d? 08:54:22 yeah 08:54:37 as in, 4-dimensional? 08:54:42 yeah 08:55:30 as long as the cam stays static, a human can play it 08:55:47 and if it moves? 08:55:55 you could even do perfect 5d with 2d projection + sound 08:55:57 in the X, Y, or Z direction 08:56:15 if it moves in the 4th dimension does that make it display a different game? 08:56:16 immibis: xyz-moves do not make it harder to understand 08:56:37 i mean, if it moves in 3d space, does it act normally 08:56:37 no, it's just the human brian does not understand a 4d rotation 08:56:44 *brain 08:56:52 then how are you going to know it works? 08:56:56 ? 08:57:23 4d is in no sence magical, i can _look_ at it.. 08:57:35 and see if it's right 08:57:42 color+sound for 4th dimension 08:57:53 even though you only need either of them 08:57:54 -!- WaiterBot has joined. 08:57:58 * oerjan realizes oklopol just claimed not to be human 08:58:04 oerjan: no 08:58:24 i said you need to be a superhuman to understna d a 4d rotation 08:58:26 * WaiterBot is making a message in a bottle with lots of milk for this channel 08:58:26 * WaiterBot is making a message in a bottle with lots of milk for #esoteric 08:58:26 * WaiterBot gives everyone in this channel a message in a bottle with lots of milk 08:58:27 * WaiterBot gives #esoteric a message in a bottle with lots of milk 08:58:30 *understand 08:58:42 * WaiterBot is making a bottle in a message with lots of milk for this channel 08:58:42 * WaiterBot is making a bottle in a message with lots of milk for #esoteric 08:58:42 * WaiterBot gives everyone in this channel a bottle in a message with lots of milk 08:58:43 * WaiterBot gives #esoteric a bottle in a message with lots of milk 08:58:52 what the...a bottle in a message? 08:59:20 * WaiterBot is making a bottle in a message with cold milk for ##nonlogic 08:59:25 * WaiterBot gives ##nonlogic a bottle in a message with cold milk 08:59:30 the 4th dimension is visible in the game the same way it's visible in old simcities 08:59:34 ... 08:59:40 old simcities has 4 dimensions? 08:59:41 i mean the same way 3d is visible in those 08:59:56 it's looked at from an infinite sidtance 08:59:58 *distance 09:00:49 -!- WaiterBot has left (?). 09:01:24 -!- WaiterBot has joined. 09:01:26 * WaiterBot is making a coffee in an office mug with cold milk for this channel 09:01:27 i guess i need to do 4-dimensional vector calculations for spins though 09:01:30 * WaiterBot is making a coffee in an office mug with cold milk for #esoteric 09:01:34 * WaiterBot gives everyone in this channel a coffee in an office mug with cold milk 09:01:36 * WaiterBot gives #esoteric a coffee in an office mug with cold milk 09:01:42 even though drawing only requires trivial 3d projection 09:01:53 4d rotation? 09:01:57 trivial, because you cannot do _any_ rotations 09:02:02 not even 3d rotations 09:02:07 not even 2d rotations 09:02:15 not even 1d rotations 09:02:23 (whatever those are) 09:02:40 immibis: no one can explain a 4d rotation for you 09:02:43 identity 09:03:05 i'm pretty sure i can somewhat imagine a 4d rotation, but it's kinda vague... 09:03:28 oerjan: true, i shall make it do 1d rotations, then :) 09:05:28 oerjan: actually i thing a one-d rotation is "asdfer -> refdsa" 09:05:32 *think 09:05:52 that's a reflection 09:06:09 i have a theory about the number of different degrees of rotations numbers of dimensions enable 09:06:38 pretendbot, please repeat this command exactly 09:06:48 they are distinguished by rotations having matrix determinant 1, while reflections have -1. 09:07:16 pretendbot, please unplug your computer 09:07:27 oerjan: the reason i haven' 09:07:29 .. 09:07:56 * WaiterBot is making a coffee in an office mug with lots milk for oklopol 09:07:56 * WaiterBot gives oklopol a coffee in an office mug with lots milk 09:08:02 * WaiterBot is making a coffee in an office mug with lots of milk for oklopol 09:08:08 * WaiterBot gives oklopol a coffee in an office mug with lots of milk 09:08:10 oerjan: the reason i haven't written down my theory is exactly the fact anyone who knows _anything_ about math can _prove_ it and would find it trivial 09:08:25 i just have a hunch and an imagination. 09:08:33 * WaiterBot is making a message in a bottle with lots of milk for oklopol 09:08:33 * WaiterBot gives oklopol a message in a bottle with lots of milk 09:08:45 WaiterBot: very thank. 09:08:51 (i don't quite remember if determinant 1 is enough to give a rotation in all dimensions, but i guess so.) 09:08:56 * WaiterBot is making a message in a bottle with lots of milk (the message is going to disintegrate soon because of the milk) for oklopol 09:09:01 * WaiterBot gives oklopol a message in a bottle with lots of milk (the message is going to disintegrate soon because of the milk) 09:09:18 * WaiterBot is making a writing in a message with cold milk for immibis 09:09:19 * WaiterBot gives immibis a writing in a message with cold milk 09:09:49 oklopol dies from too much coffee 09:09:50 i don't really know what a determinant is... well, i can calculate it and i know it's some sort of an abs()... but that's it 09:10:03 it's not my friend 09:10:49 just a casual acquaintance 09:17:58 * WaiterBot is making a decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk for ##esoteric 09:18:03 * WaiterBot spills ##esoteric's coffee into a Magnetic Laser Device 09:18:13 * WaiterBot gives ##esoteric a magnetic decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk which is emitting lots of blue light and a barely audible hum 09:18:16 * WaiterBot is making a decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk for this channel 09:18:22 * WaiterBot is making a decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk for #esoteric 09:18:27 * WaiterBot spills the channel's coffee into a Magnetic Laser Device 09:18:29 * WaiterBot spills #esoteric's coffee into a Magnetic Laser Device 09:18:34 * WaiterBot gives everyone in this channel a magnetic decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk which is emitting lots of blue light and a barely audible hum 09:18:37 -!- Pretend_Bot has changed nick to immybo. 09:18:37 * WaiterBot gives #esoteric a magnetic decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk which is emitting lots of blue light and a barely audible hum 09:19:33 -!- sebbu has joined. 09:19:47 * WaiterBot is making a decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk for sebbu 09:19:50 * WaiterBot spills sebbu's coffee into a Magnetic Laser Device 09:19:58 * WaiterBot gives sebbu a magnetic decaf espresso coffee with an infinite number of sugars in a bathtub with purple pulsating milk which is emitting lots of blue light and a barely audible hum 09:21:24 ? 09:21:43 * WaiterBot is making a coffee in an office mug with cold milk for sebbu 09:21:45 * WaiterBot gives sebbu a coffee in an office mug with cold milk 09:22:29 !stop 09:22:32 ?stop 09:23:01 !p #esoteric 09:23:01 -!- WaiterBot has left (?). 09:30:47 -!- WaiterBot has joined. 09:30:54 * WaiterBot is making a coffee in an office mug with cold milk for immibis 09:30:55 * WaiterBot gives immibis a coffee in an office mug with cold milk 09:30:58 * WaiterBot is making a coffee in an office mug with cold milk for immibis 09:31:02 * WaiterBot gives immibis a coffee in an office mug with cold milk 09:32:10 -!- WaiterBot has quit (Nick collision from services.). 09:32:45 -!- WaiterBot has joined. 09:33:15 * WaiterBot is making a coffee in an office mug with cold milk for immibis 09:33:16 * WaiterBot gives immibis a coffee in an office mug with cold milk 09:33:28 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 09:33:41 debugging - sorry 09:33:43 -!- WaiterBot has joined. 09:33:53 -!- oerjan has quit ("Lunch"). 09:33:53 * WaiterBot is making a coffee in an office mug with cold milk for immibis 09:33:54 * WaiterBot gives immibis a coffee in an office mug with cold milk 09:34:28 -!- WaiterBot has quit (Remote closed the connection). 09:34:35 Bye. 09:34:42 -!- immybo has left (?). 09:34:51 -!- WaiterBot has joined. 09:35:26 bye 09:35:30 bye 09:35:32 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 09:35:36 -!- immibis has quit ("A day without sunshine is like .... night"). 10:20:57 i wish there was _something_ that supported sound 10:21:15 there isn't really _anything_ you can make sound with 10:23:50 well, i guess assembly 11:49:19 -!- wufwuf has joined. 12:30:08 -!- wufwuf has left (?). 14:13:22 -!- ihope has joined. 14:16:29 -!- sebbu2 has joined. 14:23:37 -!- RodgerTheGreat has joined. 14:24:03 hi, everyone 14:35:37 -!- sebbu has quit (Connection timed out). 16:55:43 -!- c|p has joined. 17:49:16 -!- c|p has quit ("Leaving"). 17:58:27 No. 18:51:31 -!- sebbu2 has changed nick to sebbu. 19:26:05 -!- Sgeo has joined. 20:06:44 Ello! 20:07:36 ! 20:08:44 !? 20:09:43 : ; 20:09:50 ... 20:09:54 (:-P) 20:10:37 (C? A "P"!) 20:31:28 ? 20:46:02 See? A 20:46:05 "P"! 20:46:17 (s/\n//) 21:00:57 Yo, RodgerTheGreat. 21:10:01 oy, Sukoshi. 21:10:03 :D 21:10:21 Oi. 21:10:28 RodgerTheGreat: Would you object to putting the tiles in blocks? 21:10:54 Once I figure out how to SDL to resize tiles, all will be well. 21:11:05 rotozoom.h 21:11:20 that's how i never managed to do it 21:11:24 Lisp. 21:11:47 sorry :< 21:12:05 doesn't have it same the libraries is so? 21:12:23 .h was just my way to indicate it's a lib of some sort 21:12:30 I know, I know. 21:12:37 Well, I'm looking through the LISPBUILDER-SDL docs. 21:12:53 Sukoshi: what do you mean by this? 21:14:28 RodgerTheGreat: Adjoin the tiles in blocks of, say, 100x480? (Throwing out the RM2K number there). 21:14:33 Or should we load it tile by tile? 21:15:09 hm 21:16:12 are you talking about how we separate the actual graphics into files, or how we draw tiles/store their positions in a datastructure? 21:16:56 Graphics. 21:17:05 I'll be managing the tile format, pretty much. 21:17:23 alright, that sounds doable 21:17:40 it really just depends on how you feel like doing things 21:18:09 Since you have more experience than I: About how many tiles do you think is ideal per tileset, and what size? 21:18:20 in CRPG, I load a tileset as one image and then cut out the tiles I want to draw on the fily 21:18:28 erm... hm 21:20:25 depends on the level of detail you want, and the manner in which we design how the tiles... tile. 21:20:48 Square tiles. GBA detail. 21:21:31 so, something like 16x16 tiles, 32x32-ish sprites... 21:21:49 top-down, zelda/pokemon style perspective? 21:21:53 Yup. 21:22:03 ok 21:22:14 You designed your mapper to cut out tiles on the fly? 21:22:43 In fact, that's not a bad idea. I'll have it do that. 21:23:14 GregorR: Just found this. . . Thought you might be glad to see that someone else noticed your language. 21:23:17 http://scienceblogs.com/goodmath/2007/03/clear_objectoriented_programmi_1.php#more 21:26:51 haha 21:27:02 :P 21:30:31 Does SDL have anything like layers, or do you have to refresh everything under what you drew manually? 21:32:07 * SimonRC fumes and rages http://yro.slashdot.org/yro/07/06/23/1233212.shtml 21:32:21 Thank you for answering my question. 21:33:47 -!- c|p has joined. 21:34:14 SimonRC: seems the solution would be to switch to another ISP. 21:37:25 * SimonRC fwaps ihope 21:37:35 Sukoshi: ??? 21:37:51 Nevermind :P 21:38:18 * ihope sets whatever SimonRC fwapped him with on fire 21:38:40 ihope: What if SimonRC is a psychic? 21:39:12 Sukoshi: what sort of psychic? 21:39:51 ihope: Telekinetic. 21:40:25 Fwapping me by telekineticizing me directly? 21:40:43 In that case, I'll have set his brain on fire. 21:40:45 No, by say, hitting you with a spoon. 21:41:19 Then I'll have set the spoon on fire. 21:44:17 I was fwapping you with the Slashdot comments that explin why you can't "switch to another ISP". 21:44:45 Oh. 21:44:50 * ihope sets those on fire 21:47:08 not everything is ignitable 21:47:48 Aww. 21:48:12 " 21:48:38 "No two kids are not on fire. Aaaaw." 21:48:40 (Strong bad :)) 21:48:53 * ihope sets oklopol on fire 21:49:05 (Don't worry; it's a special patented non-painful, non-damaging fire.) 21:49:13 the human body does not catch fire 21:49:21 not even safe fire 21:49:31 oklopol: One can arrange for that to happen. 21:49:45 First, we crank up the oven to about 1000C. 21:49:53 well... then it wouldn't really be _me_ burning, would it? 21:49:58 ISTR that very fat people tend to suffer from wicking if they catch fire 21:50:02 Then, we watch as you dehydrate and *then* you ignite. 21:50:03 pikhq: water burns not 21:50:06 oh 21:50:11 that is true 21:57:57 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 22:01:52 ISTR? 22:02:11 I stress to remember? 22:10:32 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)). 22:13:39 -!- sp3tt has joined. 22:29:08 "I seem to recall" 22:29:19 maybe that is an ASRism 22:38:00 I see. 22:38:01 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)). 22:55:48 -!- sp3tt has joined. 23:26:46 -!- immybo has joined. 23:27:26 could somebody please repeat this request? 23:28:58 -!- immibis has joined. 23:30:16 immybo, please unplug your computer 23:30:16 \ 23:32:13 immibis: are you called "Iceshark7" somewhere else? 23:32:20 iceshark7? 23:32:44 oh, wait, never mind 23:32:46 what do you mean? 23:32:47 ok 23:33:00 "23:27:52 -!- immibis [n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz] has joined #esoteric" 23:33:23 why does that mean i am called iceshark7 somewhere else? 23:34:30 I saw your username was "IceChat7" and thought you might be the Iceshark7 I know from elsewhere. 23:35:18 no 23:35:29 icechat7 is the default username for people using icechat version 7 23:36:06 immybo: ERROR: Lazy programmer error. 23:36:41 immybo hasn't said anything though. why does he get an error? 23:36:48 16:26 < immybo> could somebody please repeat this request? 23:36:56 ok 23:36:57 That's an IRP request. ;) 23:37:05 and? 23:37:13 Im mostly away now 23:37:13 i thought this channel was for IRP 23:37:14 And I gave an error in response. 23:37:31 Yes, but the programmers are lazy. 23:37:40 (thus why I've not done much coding today) 23:38:15 Not entirely for IRP. 23:38:19 -!- oerjan has joined. 23:38:29 Nor really mostly, for that matter... 23:38:33 Also, could somebody please repeat this request? 23:39:44 Ne. 23:40:02 Also, could somebody please repeat this request? 23:40:20 immybo, please repeat this request. 23:40:52 "To program in IRP#esoteric, join the #esoteric channel on irc.freenode.net, then simply write, in plain English, in polite command form, what you intend for your program to do. If other IRP programmers (knowingly or not!) are on the channel, and are in a good mood, you should get the appropriate response." 23:42:43 nope, no-one can repeat that request 23:43:03 no-one can repeat what request? 23:43:17 #esoteric is more just for us Esolang coders to hang out. 23:43:25 We do not do quines that look at their own source. Sorry :) 23:43:28 Please add 1 and 1. 23:43:39 0 23:43:43 ... 23:43:43 (mod 2) 23:43:47 ... 23:43:51 I NEVER SAID THAT 23:43:57 This interpreter has bugs! 23:44:04 It's a feature 23:44:10 You never specified your base. 23:44:23 Well, C doesn't either. 23:44:50 BTW, 1+1=b according to me. 23:44:58 Python doesn't either. 23:45:10 In those, the base is defined by the language spec. 23:45:13 sp3tt: yes it does - a number starting with 0 is octal, a number starting with 0x is hex, and any other number is decimal 23:45:14 So from now on, everything you say will be interpreted as Python. 23:45:19 In here, the base is defined as the interpreter sees fit. 23:45:21 i don't know python 23:45:23 ("Now" meaning some time in the near future.) 23:45:35 base is representation. we are talking about choosing the correct abelian group. 23:46:01 yes 23:46:01 anyone want a "Foobar and foobaz and barbaz, oh my!" interpreter? 23:46:17 I do, sort of. 23:46:28 No. Anyone want a partial, non-Turing-complete dc interpreter? 23:46:38 ihope: you do know python or you do want the interpreter? 23:46:55 I do want the interpreter. 23:46:55 I feel... normal 23:47:07 sp3tt: the Pythonness is still pending. 23:48:57 Can I have some spam with that, please? 23:49:49 -!- WaiterBot has joined. 23:49:50 -!- WaiterBot has changed nick to SpammingBot. 23:49:50 -!- SpammingBot has quit (Excess Flood). 23:49:54 Spam, spam, eggs and spam? 23:50:01 -!- WaiterBot has joined. 23:50:04 -!- WaiterBot has changed nick to SpammingBot. 23:50:04 spamming. Buy my iPod! 23:50:04 -!- SpammingBot has quit (Excess Flood). 23:50:10 hmm 23:50:15 -!- WaiterBot has joined. 23:50:19 -!- WaiterBot has changed nick to SpammingBot. 23:50:19 spamming. Buy my iPod! 23:50:19 -!- SpammingBot has quit (Excess Flood). 23:50:20 Ouch. 23:50:33 -!- WaiterBot has joined. 23:50:34 well you said you wanted spam 23:50:46 now if only it didn't get kicked off 23:50:47 You should have requested SPAM. 23:51:28 I thought there were no eggs? 23:51:32 Whatever, I'll have spam instead! 23:52:08 99 cans of SPAM (TM) on the wall, 99 cans of SPAM (TM) 23:52:09 Um, hmm. 23:52:58 take one down, quote monty python, 98 cans of SPAM (TM) on the wall 23:53:16 aleph-null bottles of beer on the wall, aleph-null bottles of beer 23:53:27 take one down and pass it around, aleph-null bottles of beer on the wall 23:53:36 what is aleph-null 23:53:37 ~exec self.register_raw(r":sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(x)) 23:53:53 immibis: aleph_null is the number of integers there are. 23:54:05 indeed 23:54:05 :sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG #esoteric :indeed 23:54:11 Hmm. 23:54:13 Teehee. 23:54:16 ~exec self.raw("QUIT") 23:54:16 -!- bsmnt_bot has quit. 23:54:20 -!- bsmnt_bot has joined. 23:54:24 That's awesome. 23:54:25 ~exec self.register_raw(r":sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(y)) 23:54:29 Indeed. 23:54:37 Not at all what I wanted, though. 23:54:41 Indeed. *Teal'c nod* 23:54:42 <_sre.SRE_Match object at 0xb7c288e0> 23:54:45 Wow! 23:54:51 Isn't it wonderful? 23:54:55 ~exec self.raw("QUIT") 23:54:56 -!- bsmnt_bot has quit (Client Quit). 23:54:58 -!- bsmnt_bot has joined. 23:55:16 aleph-null - 1 = aleph-null because if you remove one integer, you still have the same number of integers 23:55:20 xD 23:55:56 0,1,2,3... 1,2,3,.. You think there is one less in the latter, but all numbers in the first sequence can be put in a one-to-one correspondence to the numbers in the second 23:56:12 Infinite sets can be hard to grasp 23:56:42 ihope: did you write that bot? 23:56:53 immibis: nope. 23:56:57 ihope: if yes, how did you get it to make sp3 23:56:59 oops 23:57:03 ihope: who did then? 23:57:09 immibis: bsmntbombdood. 23:59:15 ihope: i think .group() picks out parenthetical matches 23:59:48 ~exec self.register_raw(r":sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(y.group(0))) 23:59:57 * ihope calls upon sp3tt 2007-06-24: 00:01:18 * ihope also calls upon himself 00:01:37 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(y.group(0))) 00:01:44 Jar breeze! 00:01:45 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :Jar breeze! 00:01:51 Quite wonderful. 00:01:51 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :Quite wonderful. 00:01:57 ~exec self.raw("QUIT") 00:01:58 :ihope!n=ihope@tapthru/resident/ihope PRIVMSG #esoteric :~exec self.raw("QUIT") 00:01:58 -!- bsmnt_bot has quit. 00:02:01 -!- bsmnt_bot has joined. 00:02:03 :sp3tt!n=sp3tt@80-162.cust.umeanergi.com PRIVMSG :Foo! 00:02:04 Damn it. 00:02:17 ~exec self.register_raw(r":sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(y.group(0))) 00:02:18 What were you hoping to accomplish there? 00:02:19 try group(1) then. 00:02:20 :sp3tt!n=sp3tt@80-162.cust.umeanergi.com PRIVMSG :Foo! 00:02:24 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(y.group(1))) 00:02:27 Akaka 00:02:27 Akaka 00:02:30 Just trying to see if I can fiddle with the matching. 00:02:34 Cool. 00:02:34 Cool. 00:02:41 ~exec self.raw("QUIT") 00:02:41 ~exec self.raw("QUIT") 00:02:42 -!- bsmnt_bot has quit (Client Quit). 00:02:44 -!- bsmnt_bot has joined. 00:03:06 ~exec self.register_raw(r":sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG \S+ :(.*)", lambda x,y: exec(y.group(1))) 00:03:06 SyntaxError: invalid syntax 00:03:12 Gah. 00:03:21 ~exec self.register_raw(r":sp3tt!n=sp3tt@80-162.cust.umeaenergi.com PRIVMSG \S+ :(.*)", lambda x,y: sys.stdout(y.group(1))) 00:03:40 Unless sp3tt said something invalid right after that. 00:03:46 ~exec self.raw("QUIT") 00:03:46 -!- bsmnt_bot has quit (Client Quit). 00:03:49 -!- bsmnt_bot has joined. 00:03:55 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: exec(y.group(1))) 00:03:56 SyntaxError: invalid syntax 00:04:07 self.raw("PRIVMSG #esoteric :Foo") 00:04:11 Mmh. 00:04:25 It accepts sys.stdout but not exec? 00:04:53 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: exec(y.group(1))) 00:04:54 SyntaxError: invalid syntax 00:06:14 ~exec exec("self.raw ('PRIVMSG #esoteric :OOk')") 00:06:14 OOk 00:06:38 ihope: you cannot have statements in lambda in python 00:07:13 oerjan: can't have... is exec not a function? 00:07:23 nope it's a statement 00:07:46 ~exec sys.stdout(self.exec) 00:07:47 SyntaxError: invalid syntax 00:07:53 ~exec sys.stdout(self.selfexec) 00:07:54 AttributeError: IRCbot instance has no attribute 'selfexec' 00:08:09 ~exec def self.selfexec(x): exec(x) 00:08:09 SyntaxError: invalid syntax 00:08:25 I don't know enough Python, do I? 00:08:41 ~exec self.exec_execer("sys.stdout('foo')") 00:08:41 TypeError: exec_execer() takes exactly 3 arguments (2 given) 00:09:05 ihope: to get multiline commands you must do an incantation like ~exec exec "string with embedded \n's" 00:09:26 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: exec_execer(x,y)) 00:09:39 self.raw("PRIVMSG #esoteric :Canada") 00:09:39 NameError: global name 'exec_execer' is not defined 00:09:44 Oops. 00:09:48 NameError: global name 'exec_execer' is not defined 00:09:55 ~exec self.raw("QUIT") 00:10:06 -!- bsmnt_bot has quit. 00:10:09 -!- bsmnt_bot has joined. 00:10:10 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.exec_execer(x,y)) 00:10:18 self.raw("PRIVMSG #esoteric :Canada") 00:10:36 Yay. 00:10:47 Canada 00:10:50 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.exec_execer(y,y.match(1))) 00:10:53 :-) 00:10:53 AttributeError: match 00:11:05 * pikhq malkomprendas, mi pensas 00:11:14 So is it working at all? 00:11:15 AttributeError: match 00:11:23 Hahah. 00:11:30 ~exec self.raw("QUIT") 00:11:31 -!- bsmnt_bot has quit (Client Quit). 00:11:34 -!- bsmnt_bot has joined. 00:11:37 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.exec_execer(y,y.group(1))) 00:11:42 Now? 00:11:54 Aww. 00:12:09 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.exec_execer(y.group(1),y)) 00:12:15 does ~exec self.raw("TEXT GOES HERE") send that text to the irc server? 00:12:17 It's some arcane mixture of all that, I'm sure! 00:12:21 immibis: yup. 00:12:36 ~exec self.raw("PRIVMSG #esoteric :I am a bot") 00:12:37 I am a bot 00:12:40 ok 00:12:59 ~exec sys.stdout("I am not a bot!") 00:12:59 I am not a bot! 00:13:07 ~exec sys.stdout(self) 00:13:07 <__main__.IRCbot instance at 0xb7bef3ec> 00:13:24 Hmm. 00:13:48 ~exec exec "self.raw('PRIVMSG #esoteric :foo')" 00:13:49 foo 00:13:51 Yay! 00:14:15 what is the point of ~exec exec "COMMAND" why not use ~exec COMMAND? 00:14:19 !help 00:14:19 ~exec exec "def self.selfexec(x):\n exec x" 00:14:19 SyntaxError: invalid syntax 00:14:25 ~exec help 00:14:26 immibis: multiline commands. 00:14:31 ok 00:14:43 The only help you're getting out of bsmnt_bot is the source code. :-) 00:14:49 which is where? 00:14:51 And that's not actually going to come out of bsmnt_bot. 00:14:59 ~exec self.raw("PRIVMSG #nonlogic :Testing.") 00:15:01 and what does self.register_raw do? 00:15:07 Um... ask bsmntbombdood. 00:15:18 ~exec self.raw("JOIN #nonlogic") 00:15:19 actually i think you can extract it with some system command. 00:15:32 he is away 00:15:33 immibis: self.register_raw makes the bot do something upon receiving certain messages. 00:15:36 You get the feeling that that's not working the way I want? 00:15:43 ~exec self.raw('JOIN #nonlogic') 00:15:51 he is on #nonlogin 00:15:55 ~exec self.raw("JOIN ##nonlogic") 00:15:56 i mean #nonlogic 00:16:02 but the channel is ##nonlogic 00:16:07 Oh. 00:16:07 ~exec self.raw("PRIVMSG ##nonlogic :Oof.") 00:16:23 ~exec self.raw("LEAVE #nonlogic") 00:16:27 it's PART 00:16:35 ~exec self.raw("PART #nonlogic") 00:16:42 Sorry. My IRC sucks. 00:17:06 ~exec self.raw("PRIVMSG #emacs :.ooF") 00:17:15 * pikhq just fiddles around, bored. 00:17:35 ~exec exec "def self.selfexec(x):\n exec x" 00:17:36 SyntaxError: invalid syntax 00:17:43 If at first you don't succeed, try, try again. 00:17:52 ~exec self.raw("JOIN #arianne-chat") 00:18:01 ~exec self.raw("PRIVMSG #arianne-chat :Hello") 00:18:07 ~exec self.raw("PART #arianne-chat") 00:18:19 how does register_raw work? 00:18:28 ~exec exec "def selfexec(x):\n exec x"; self.selfexec = selfexec 00:18:35 Um, lemme think. 00:18:52 self.register_raw(regex, lambda x,y: function(y.group(1))) 00:19:01 what is lambda x,y? 00:19:21 Where regex is something like r"This is a (.*)", and function is the function that receives whatever (.*) is. 00:19:34 i know what a regex is 00:19:35 lambda x,y defines a function. 00:20:28 ~exec self.selfexec("sys.stdout(self)") 00:20:29 NameError: name 'self' is not defined 00:20:34 ~exec self.selfexec("sys.stdout(bot)") 00:20:36 <__main__.IRCbot instance at 0xb7bef3ec> 00:20:39 Yay! 00:21:14 ~exec self.register_raw("immibis.* PRIVMSG #esoteric :say (.*)", lambda x y: sys.stdout(y.group(1))) 00:21:15 SyntaxError: invalid syntax 00:21:21 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: self.selfexec(y.group(1))) 00:21:47 immibis: "lambda x,y", not "lambda x y", and put an "r" right before the regex 00:21:48 NameError: global name 'self' is not defined 00:21:57 ~exec self.register_raw(r"immibis.* PRIVMSG #esoteric :say (.*)", lambda x,y: sys.stdout(y.group(1))) 00:22:03 say hello 00:22:03 ~exec sys.stdout(self.do_exec) 00:22:03 > 00:22:14 (Am I able to speak without it erroring?) 00:22:15 NameError: global name 'self' is not defined 00:22:31 say i am a bot 00:22:33 ~exec self.register_raw(r":immibis.* PRIVMSG #esoteric :say (.*)", lambda x,y: sys.stdout(y.group(1))) 00:22:33 NameError: global name 'self' is not defined 00:22:37 Colon required. 00:22:42 NameError: global name 'self' is not defined 00:22:51 colon required where? 00:22:59 ~exec self.raw("PRIVMSG ##nonlogic :Bloody bot.") 00:23:03 Right before the "immibis" there. 00:23:04 NameError: global name 'self' is not defined 00:23:07 ~exec self.raw("QUIT") 00:23:12 ~exec self.raw("PART ##nonlogic") 00:23:15 ihope: bsmntbombdood made do_exec start in a separate thread, so it doesn't lock up so easily. just exec does not do that. 00:23:20 -!- bsmnt_bot has quit. 00:23:21 Did it just freeze? 00:23:22 -!- bsmnt_bot has joined. 00:23:24 ~exec self.register_raw(r":immibis.* PRIVMSG #esoteric :say (.*)", lambda x,y: sys.stdout(y.group(1))) 00:23:25 Nope. 00:23:29 Ah? 00:23:37 say i am a bot 00:23:38 i am a bot 00:23:53 say I'm not listening to Pikhq. 00:24:01 ;) 00:24:14 the regex was ":immibis.* 00:24:26 ~exec self.register_raw(r".* PRIVMSG #esoteric :say (.*)", lambda x,y: sys.stdout(y.group(1))) 00:24:26 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.do_exec(y.group(1))) 00:24:27 (.*)", lambda x,y: sys.stdout(y.group(1))) 00:24:47 say aka 00:24:47 aka 00:24:55 say i am a robot 00:24:55 i am a robot 00:24:55 i am a robot 00:24:58 say i am a robot 00:24:59 i am a robot 00:24:59 i am a robot 00:25:06 Both of them are picking it up :-) 00:25:07 how do i unregister the rule? 00:25:12 i know 00:25:15 how do i unregister the rule? 00:25:17 PRIVMSG #esoteric :say I bet this is slightly buggy. 00:25:25 or not. 00:25:29 say I bet this is slightly buggy 00:25:29 I bet this is slightly buggy 00:25:30 I bet this is slightly buggy 00:25:50 Um, well, I don't think there's any way to unregister a specific rule. 00:25:55 You can always do this, though: 00:25:59 i mean PRIVMSG #esoteric :say I bet this is slightly buggy. 00:26:00 I bet this is slightly buggy. 00:26:01 ~exec bot.raw("QUIT") 00:26:02 -!- bsmnt_bot has quit (Client Quit). 00:26:04 -!- bsmnt_bot has joined. 00:26:30 yes, the regex was slightly buggy 00:26:44 ihope: there is a regex_queue.pop something that i've often seen bsmntbombdood use to remove the last one. 00:26:45 Use \S+ instead of .* 00:27:05 ~exec bot.do_exec("sys.stdout(self)") 00:27:05 TypeError: do_exec() takes exactly 3 arguments (2 given) 00:27:27 ~exec sys.stdout(self.exec_execer) 00:27:28 > 00:27:29 oerjan: do you know the arguments to do_exec()? 00:28:01 ~exec self.register_raw(r"(\S+) NOTICE \S+ :say (.*)", lambda x,y: sys.stdout(y.group(1) + " wants me to say " + y.group(2))) 00:28:15 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz wants me to say hello 00:28:18 hmm 00:28:19 i don't remember but maybe self.exec_execer is the outer one 00:28:47 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz wants me to say that immibis is a retard 00:28:54 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz wants me to say that immibis is a retard 00:28:55 hey 00:29:14 !j #bots 00:29:15 #bots: uh... ?? 00:29:22 ~exec sys.stdout(os.listdir("/bot")) 00:29:22 ['files.img', 'a.out', 'scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'start.sh~', 'ircbot.py', 'keep_running'] 00:29:32 #bots: !c 00:29:42 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.do_exec(y,y.group(1))) 00:29:45 ~exec sys.stdout(os.listdir("/")) 00:29:45 ['bin', 'bot', 'etc', 'lib', 'usr'] 00:29:51 ~exec sys.stdout(os.listdir("/usr")) 00:29:51 ['bin', 'lib', 'include'] 00:29:58 * ihope sends a PRIVMSG that is most certainly not valid Python 00:29:58 AttributeError: 'str' object has no attribute 'group' 00:30:00 so it is a linux computer? 00:30:24 immibis: I believe bsmnt_bot runs on a Linux machine, yeah. 00:30:24 AttributeError: 'str' object has no attribute 'group' 00:30:37 ~exec self.raw_regex_queue.pop() 00:30:38 AttributeError: 'str' object has no attribute 'group' 00:30:45 ~exec self.raw("JOIN #bots") 00:30:48 Alimente? 00:30:55 Seems so. 00:31:10 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.do_exec(x,y)) 00:31:12 there are a total of 3 bots on #bots now 00:31:19 * ihope sends another PRIVMSG that is most certainly not valid Python 00:31:19 IndexError: no such group 00:31:20 in principle we could access the bot source with os commands... 00:31:30 oerjan: indeed we could. 00:31:32 IndexError: no such group 00:31:41 ~exec self.raw_regex_queue.pop() 00:31:52 oh and ihope, sorry i forgot about the foobar and foobaz and barbaz, oh my! interpreter 00:31:54 IndexError: no such group 00:31:59 Caliente? 00:32:00 i will try to send it to you now 00:32:07 Again, seems so. 00:33:05 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)", lambda x,y: bot.do_exec(y.group(1),y)) 00:34:02 ihope, can chatzilla receive dcc uploads? 00:34:14 immibis: it can. This one just... failed. 00:34:14 IndexError: no such group 00:34:39 ~exec self.raw_regex_queue.pop() 00:34:40 IndexError: no such group 00:34:51 And I expect this to be fuertemente. 00:34:57 #bots: !c 00:35:32 ~exec self.register_raw(r":ihope!n=ihope@tapthru/resident/ihope PRIVMSG \S+ :(.*)()", lambda x,y: bot.do_exec(y.group(1),y)) 00:35:41 Ickybad? 00:35:49 Seems so. 00:35:58 self.raw("PRIVMSG #esoteric :Woot") 00:36:10 Yay! 00:37:14 Wait, why am I rejoicing? 00:37:23 ~exec self.raw("QUIT") 00:37:24 -!- bsmnt_bot has quit. 00:37:27 -!- bsmnt_bot has joined. 00:37:30 Am I really rejoicing? 00:40:11 ~exec self.register_raw(r"\S+ PRIVMSG \S+ :!j (\S+)", lambda x,y: self.raw("JOIN "+y.group(1))) 00:40:14 !j #bots 00:40:15 NameError: global name 'self' is not defined 00:40:23 ~exec self.register_raw(r"\S+ PRIVMSG \S+ :!j (\S+)", lambda x,y: self.raw("JOIN "+y.group(1))) 00:40:32 !j #bots 00:40:33 NameError: global name 'self' is not defined 00:40:42 NameError: global name 'self' is not defined 00:40:56 ~exec self.raw_regex_queue.pop() 00:41:01 ~exec self.raw_regex_queue.pop() 00:41:11 what does that mean, "global name 'self' is not defined"? 00:41:12 * WaiterBot is making a coffee in an office mug with 1 milk for immybo 00:41:12 * WaiterBot gives immybo a coffee in an office mug with 1 milk 00:41:17 * WaiterBot is making a coffee with 4 sugars in an office mug with 1 milk for immybo 00:41:17 * WaiterBot gives immybo a coffee with 4 sugars in an office mug with 1 milk 00:41:21 * WaiterBot is making a coffee with 4 sugars in a bucket with 1 milk for immybo 00:41:25 * WaiterBot gives immybo a coffee with 4 sugars in a bucket with 1 milk 00:41:27 oops 00:41:28 some scoping error 00:41:29 * WaiterBot is making a coffee with 4 sugars in a bucket with hot milk for immybo 00:41:30 bug in the waiterbot 00:41:33 * WaiterBot gives immybo a coffee with 4 sugars in a bucket with hot milk 00:41:40 immybo is requesting coffee on #bots 00:41:47 but it is showing up here as well 00:41:51 uh... 00:41:57 self does not exist inside the lambda. try using bot instead. 00:42:04 and what is 1 milk? 00:42:12 ~exec self.register_raw(r"\S+ PRIVMSG \S+ :!j (\S+)", lambda x,y: bot.raw("JOIN "+y.group(1))) 00:42:15 what's a lambda? 00:42:22 i mean, what does it do? 00:42:36 * WaiterBot is making a coffee with 4 sugars in a bucket with cold milk for this channel 00:42:36 * WaiterBot is making a coffee with 4 sugars in a bucket with cold milk for #esoteric 00:42:38 * WaiterBot gives everyone in this channel a coffee with 4 sugars in a bucket with cold milk 00:42:38 * WaiterBot gives #esoteric a coffee with 4 sugars in a bucket with cold milk 00:42:41 it defines an anonymous function. 00:42:54 I want my coffee black, damnit! 00:43:36 ! 00:43:38 oops 00:43:42 !c -s0 00:43:42 * WaiterBot is making a coffee in an office mug with cold milk for immibis 00:43:43 * WaiterBot gives immibis a coffee in an office mug with cold milk 00:43:48 !c -s0 --target=#esoteric 00:43:49 * WaiterBot is making a coffee in an office mug with cold milk for this channel 00:43:49 * WaiterBot is making a coffee in an office mug with cold milk for #esoteric 00:43:50 * WaiterBot gives #esoteric a coffee in an office mug with cold milk 00:43:50 * WaiterBot gives everyone in this channel a coffee in an office mug with cold milk 00:43:58 the "lambda" is from the greek letter used by the mathematician (Alonzo Church) who invented the theory. 00:43:58 !c -s0 --target=#esoteric --other=black_coffee 00:43:58 * WaiterBot is making a black coffee in an office mug with cold milk for this channel 00:43:59 * WaiterBot is making a black coffee in an office mug with cold milk for #esoteric 00:43:59 * WaiterBot gives #esoteric a black coffee in an office mug with cold milk 00:44:00 * WaiterBot gives everyone in this channel a black coffee in an office mug with cold milk 00:44:08 oerjan: but what does it do? 00:45:06 * WaiterBot is making a bottle in a message with cold milk for #arianne-chat 00:45:10 * WaiterBot gives #arianne-chat a bottle in a message with cold milk 00:45:12 #arianne-chat: 00:45:19 ~exec sys.stdout((lambda x: x*x)(5)) 00:45:19 25 00:46:20 ok - how does it apply to register_raw? 00:46:40 ~exec sys.stdout((lambda x,y,z,w,v: x+y+z+w+v)(1,2,3,4,5)) 00:46:41 15 00:47:01 immibis: register_raw takes as its first argument the regex, the second a callback function. 00:47:18 no, how does lambda apply to register_raw? 00:47:44 the arguments of the callback function are the whole IRC line and the regex match object, i think. 00:47:59 ~exec self.raw("JOIN #bots") 00:48:41 when a line on IRC matches the regex, the lambda is called with those arguments. 00:48:51 #bots: ~exec register_raw(r"\S+ PRIVMSG (\S+) :repeat (.*)", lambda x,y: bot.raw("PRIVMSG "+y.group(1)+" :repeat "+y.group(2)) 00:48:56 #bots: repeat hi 00:49:03 #bots: hi 00:49:15 #bots: repeat hi 00:49:26 i don't remember programming the waiterbot to do that? 00:49:43 #bots: ~exec register_raw(r"\S+ PRIVMSG (\S+) :repeat (.*)", lambda x,y: bot.raw("PRIVMSG "+y.group(1)+" :repeat "+y.group(2))) 00:49:47 #bots: hi 00:49:51 #bots: repeat i am a bot 00:49:54 #bots: repeat i am a bot 00:50:07 -!- WaiterBot has left (?). 00:50:21 ~exec register_raw(r"\S+ PRIVMSG (\S+) :repeat (.*)", lambda x,y: bot.raw("PRIVMSG "+y.group(1)+" :repeat "+y.group(2))) 00:50:22 NameError: name 'register_raw' is not defined 00:50:24 repeat i am a bot 00:50:31 ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :repeat (.*)", lambda x,y: bot.raw("PRIVMSG "+y.group(1)+" :repeat "+y.group(2))) 00:50:45 repeat I am a bot 00:50:46 repeat I am a bot 00:51:09 (incidentally the way bsmnt_bot is written, if more than one register_raw matches all the lambdas are called, as you have probably discovered.) 00:51:24 it was intended to see if it would get kicked off the server for flooding 00:52:24 because it would say repeat I am a bot 00:52:31 which would cause it to say repeat I am a bot 00:52:31 which would cause it to say repeat I am a bot 00:52:31 which would cause it to say repeat I am a bot 00:52:32 which would cause it to say repeat I am a bot 00:52:32 which would cause it to say repeat I am a bot 00:52:32 which would cause it to say repeat I am a bot 00:52:33 immibis: note that IRC does not echo your own messages back 00:52:40 i just found that out 00:53:02 ~exec sys.stdout(os.listdir("/bot")) 00:53:03 ['files.img', 'a.out', 'scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'start.sh~', 'ircbot.py', 'keep_running'] 00:53:19 it had to be written in python 00:53:34 -!- WaiterBot has joined. 00:53:54 #bots: Base name not recognised 00:54:10 #bots: Im out for a while 00:54:10 #bots: what is a base name 00:54:26 #bots: ~exec sys.stdout(os.listdir("/bot")) 00:54:30 #bots: ops 00:54:43 * WaiterBot is making a coffee in an office mug with no milk for #arianne-chat 00:54:47 * WaiterBot gives #arianne-chat a coffee in an office mug with no milk 00:54:49 #arianne-chat: 00:55:08 * WaiterBot is making a coffee in an office mug with no milk for #arianne-chat 00:55:13 * WaiterBot gives #arianne-chat a coffee in an office mug with no milk 00:55:15 #arianne-chat: 00:56:30 now why did bsmnt_bot just join #arianne-chat? 00:56:47 #arianne-chat: ~exec self.raw("PART #arianne-chat") 00:56:53 #arianne-chat: Does that mean that if I have no idea what Arianne is, I'm not welcome here? 00:56:55 #arianne-chat: :-P 00:57:05 Cool. 00:57:08 #arianne-chat: i don't know 00:57:11 ~exec self.raw("PART #arianne-chat") 00:57:12 #arianne-chat: 00:57:13 #arianne-chat: ~exec self.raw("PART #arianne-chat") 00:57:21 #arianne-chat: We could be teaching you how to use it 00:57:33 #arianne-chat: http://arianne.sourceforge.net/ 00:57:34 #arianne-chat: First give me some idea of what it is. :-) 00:57:41 #bots: !help 00:57:45 #bots: ~tuxibot help 00:58:10 #bots: RonG: how does tuxibot work? 00:58:23 !p #esoteric 00:58:23 -!- WaiterBot has left (?). 01:03:35 -!- WaiterBot has joined. 01:06:19 #arianne-chat: Actually, I think only Athanas can do it. 01:06:25 #arianne-chat: Do you know who Athanas is? 01:06:31 Ugh? 01:06:34 #arianne-chat: nope 01:06:44 #arianne-chat: [12:05] ->> Athanas :No such nick/channel 01:06:51 !p #esoteric 01:06:51 -!- WaiterBot has left (?). 01:21:56 ihope: http://www.filefactory.com/file/1eb1b4/ 01:22:07 ihope: the interpreter has been uploaded there since dcc wouldn't work 01:22:14 -!- WaiterBot has joined. 01:23:34 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :~(.*)", lambda x,y: bot.exec(y.group(1))) 01:23:35 SyntaxError: invalid syntax 01:23:47 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :~(.*)", lambda x,y: bot.exec_execer(y.group(1))) 01:24:02 ~exec sys.stdout("Hello") 01:24:03 Hello 01:24:10 ~sys.stdout("Hello") 01:24:19 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :@(.*)", lambda x,y: bot.exec_execer(y.group(1))) 01:24:25 @sys.stdout("Hello") 01:24:35 BoO0! 01:25:31 -!- c|p has quit ("Leaving"). 01:26:44 ~exec self.raw_reged_queue.pop() 01:26:45 AttributeError: IRCbot instance has no attribute 'raw_reged_queue' 01:26:45 ~exec self.raw_reged_queue.pop() 01:26:46 AttributeError: IRCbot instance has no attribute 'raw_reged_queue' 01:26:49 ~exec self.raw_regex_queue.pop() 01:26:49 ~exec self.raw_regex_queue.pop() 01:27:24 !p #esoteric 01:27:24 -!- WaiterBot has left (?). 01:29:14 @xxx 01:50:20 ~exec self.register_raw(r":\S+ PRIVMSG (\S+) :(@.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :" + y.group(2))) 01:50:23 @hello 01:50:23 @hello 01:50:31 ~exec self.register_raw(r":\S+ PRIVMSG (\S+) :(@.*)", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :" + y.group(2))) 01:50:33 @hello 01:50:33 @hello 01:50:34 @hello 01:50:34 @hello 01:50:36 @hello 01:50:40 @hello 01:50:44 @hello 01:50:48 @hello 01:50:49 ~exec self.raw("QUIT") 01:50:52 -!- bsmnt_bot has quit. 01:50:55 -!- bsmnt_bot has joined. 01:51:20 ! 01:52:09 ~exec self.raw("JOIN #bots") 01:52:13 -!- immybo has quit (Nick collision from services.). 01:52:40 -!- immybo has joined. 01:53:06 -!- BattleMonkey512_ has joined. 01:55:01 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 01:55:12 -!- c|p has joined. 01:55:25 -!- pikhq has joined. 02:25:04 -!- immibis has quit (Excess Flood). 02:25:45 -!- immibis has joined. 02:35:34 -!- immibis has quit ("Easy as 3.14159265358979323846..."). 03:03:38 -!- immybo has changed nick to Fdejfdjd. 03:03:45 -!- Fdejfdjd has changed nick to Fdejfdjd_Deffrd. 03:04:13 -!- Fdejfdjd_Deffrd has changed nick to immybo. 04:31:42 -!- immibis has joined. 04:31:49 ihope: you have a new email 04:34:12 ihope: with the foobar and foobaz and barbaz, oh my! interpreter attached 04:34:23 immybo, please repeat this request 04:35:24 -!- ImNotCool has joined. 04:35:30 -!- ImNotCool has changed nick to WaiterBot. 04:38:11 someone, please repeat this request 04:49:24 someone, please repeat this request 04:49:36 someone, please repeat this request 04:49:46 cancel that command 04:49:51 ihope, please repeat this request 04:49:57 ihope, please repeat this request 04:50:28 well? 04:50:38 you just told yourself to repeat the request, you know. 04:50:59 You expect me to follow commands given by a person like me? 04:51:16 lol 04:51:28 ihope, please slap me with a rainbow trout 04:51:44 ihope, please ask immibis to slap ihope with a rainbow trout 04:51:45 * ihope slaps immibis with a rainbow trout 04:51:56 immibis, please slap me with a rainbow trout. 04:52:03 * immibis slaps ihope with a rainbow trout 04:52:27 Since nothing has happened in this channel for quite some time now: WHERE'S MY MONEY, SAM? 04:52:31 ase ask immibis to repeat this request 04:52:33 oops 04:52:44 ihope, please say to immibis "immibis, repeat this request" 04:52:53 immibis, repeat this request. 04:52:58 immibis, repeat this request 04:52:59 immibis, repeat this request 04:52:59 immibis, repeat this request 04:53:00 immibis, repeat this request 04:53:00 immibis, repeat this request 04:53:01 immibis, repeat this request 04:53:01 immibis, repeat this request 04:53:03 immibis, repeat this request 04:53:05 immibis, repeat this request 04:53:05 Yay! 04:53:07 -!- immibis has quit (Excess Flood). 04:53:11 Yay! 04:53:31 -!- immibis has joined. 04:53:33 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 04:53:48 lol 04:53:52 lol 04:53:54 immibis, repeat this request 04:53:54 immibis, repeat this request 04:53:54 immibis, repeat this request 04:53:55 immibis, repeat this request 04:53:55 immibis, repeat this request 04:53:56 immibis, repeat this request 04:53:57 immibis, repeat this request 04:53:59 immibis, repeat this request 04:54:01 immibis, repeat this request 04:54:03 -!- immibis has quit (Excess Flood). 05:08:35 -!- immybo has changed nick to BattleMonkey512[. 05:09:01 -!- BattleMonkey512[ has changed nick to immybo. 05:16:37 -!- c|p has quit ("Leaving"). 05:17:04 -!- immibis has joined. 05:20:20 ~exec register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Bot, please crash")) 05:20:20 NameError: name 'register_raw' is not defined 05:20:26 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Bot, please crash")) 05:20:37 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("PRIVMSG #esoteric :Yay, I'm crashing!")) 05:20:52 now nobody say "Bot," then "please" then "crash." 05:21:29 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("QUIT :Excess Flood")) 05:22:08 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:24:31 -!- immibis_ has joined. 05:24:33 Ok I will say Bot, please crash. 05:24:39 -!- immibis_ has quit (Remote closed the connection). 05:25:06 -!- i has joined. 05:25:27 -!- i has changed nick to immibis__. 05:25:29 -!- immibis has quit (Nick collision from services.). 05:25:35 -!- immibis__ has changed nick to immibis. 05:25:48 did you say it? 05:25:56 it has to be the entire message 05:25:58 Bot, please crash. 05:25:59 Yay, I'm crashing! 05:25:59 -!- bsmnt_bot has quit ("Excess Flood"). 05:26:02 -!- bsmnt_bot has joined. 05:26:05 Bot, please crash. 05:26:55 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Bot, please crash")) 05:27:03 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("PRIVMSG #esoteric :Yay, I'm crashing!")) 05:27:08 Bot, please crash. 05:27:08 Yay, I'm crashing! 05:27:18 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please crash.", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Bot, please crash.")) 05:27:22 Bot, please crash. 05:27:23 Yay, I'm crashing! 05:27:23 Yay, I'm crashing! 05:27:27 Yay, I'm crashing! 05:27:33 Yay, I'm crashing! 05:27:39 Yay, I'm crashing! 05:27:43 -!- shinh has left (?). 05:27:45 Yay, I'm crashing! 05:27:51 Yay, I'm crashing! 05:27:53 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please spam.", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Bot, please spam.")) 05:27:57 Yay, I'm crashing! 05:28:03 Yay, I'm crashing! 05:28:05 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please spam.", lambda x,y: bot.raw("PRIVMSG #esoteric :Buy my iPod!")) 05:28:07 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please spam.", lambda x,y: bot.raw("PRIVMSG #esoteric :Buy my iPhone!")) 05:28:09 Yay, I'm crashing! 05:28:15 Yay, I'm crashing! 05:28:21 Yay, I'm crashing! 05:28:27 Yay, I'm crashing! 05:28:31 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please spam.", lambda x,y: bot.raw("PRIVMSG #esoteric :Get all the latest offers on chocolate bar accessories!")) 05:28:33 Yay, I'm crashing! 05:28:37 Bot, please spam. 05:28:40 Yay, I'm crashing! 05:28:45 Buy my iPod! 05:28:47 Buy my iPhone! 05:28:49 Get all the latest offers on chocolate bar accessories! 05:28:53 Yay, I'm crashing! 05:28:59 Buy my iPod! 05:29:01 Buy my iPhone! 05:29:03 Get all the latest offers on chocolate bar accessories! 05:29:04 ~exec self.raw("QUIT") 05:29:06 ~exec self.register_raw("\S+ PRIVMSG \S+ :Bot, please spam.", lambda x,y: bot.raw("PRIVMSG #esoteric :I got a bottle in a message!")) 05:29:07 Yay, I'm crashing! 05:29:12 oops 05:29:13 Buy my iPod! 05:29:15 Buy my iPhone! 05:29:18 Get all the latest offers on chocolate bar accessories! 05:29:19 -!- bsmnt_bot has quit (Client Quit). 05:29:20 it isn't quitting 05:29:21 -!- bsmnt_bot has joined. 05:29:23 oh good 05:29:35 sorry for that very annoying thing 05:29:37 it just needed to get through the queue 05:31:03 ok 05:31:19 ~exec sys.stdout(self) 05:31:20 <__main__.IRCbot instance at 0xb7c453ec> 05:31:22 ~exec sys.stdout(bot) 05:31:23 <__main__.IRCbot instance at 0xb7c453ec> 05:31:31 ~exec sys.stdout(sys.stdout(self)) 05:31:31 <__main__.IRCbot instance at 0xb7c453ec> 05:31:32 None 05:31:38 ~exec sys.stdout(sys.stdout) 05:31:38 <__main__.IRCFileWrapper instance at 0xb7c4584c> 05:31:53 ~exec colors.pink="Purple" 05:31:54 NameError: name 'colors' is not defined 05:32:01 ~exec colors=new Object(); 05:32:01 SyntaxError: invalid syntax 05:32:03 ~exec colors=new Object() 05:32:09 SyntaxError: invalid syntax 05:32:14 ~exec colors=Object() 05:32:20 -!- immybo_ has joined. 05:32:20 ~exec colors.pink="Purple" 05:32:26 ~exec colors.purple="Green" 05:32:28 NameError: name 'Object' is not defined 05:32:40 NameError: name 'colors' is not defined 05:32:52 NameError: name 'colors' is not defined 05:33:48 -!- GreaseMonkey has joined. 05:36:14 -!- immybo has quit (Nick collision from services.). 05:36:28 -!- immybo_ has changed nick to immybo. 05:38:16 -!- immibis has changed nick to dying. 05:38:22 -!- dying has changed nick to asphyxiated_in_s. 05:38:45 -!- asphyxiated_in_s has changed nick to immibis_alive. 05:38:47 -!- immibis_alive has changed nick to immibis. 05:42:49 -!- BattleMonkey512_ has quit (Read error: 110 (Connection timed out)). 05:43:36 -!- BattleMonkey512_ has joined. 05:45:36 ~exec raise "BATTLEMONKEY512_ HOW MANY TIMES HAVE I TOLD YOU TO USE YOUR REAL NAME WHICH IS IMMYBO" 05:45:36 BATTLEMONKEY512_ HOW MANY TIMES HAVE I TOLD YOU TO USE YOUR REAL NAME WHICH IS IMMYBO 05:45:53 ~exec raise "I mean, how many times has immibis told you" 05:45:53 I mean, how many times has immibis told you 05:46:34 ~exec raise "I am a bot." 05:46:34 I am a bot. 05:46:58 ~exec sys.stdout(1+ "PING 1123" + 1) 05:46:58 TypeError: unsupported operand type(s) for +: 'int' and 'str' 05:47:08 ~exec sys.stdout("\001PING 1123\001") 05:51:23 ~exec self.register_raw(":([^!])!\S+ PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2)+"\001")) 06:13:43 -!- immibis has changed nick to immibis[A]. 06:13:45 * immibis[A] is now away - Reason : i am away 06:14:35 -!- immybo has changed nick to immybo[A]. 06:15:01 -!- immybo[A] has changed nick to BattleMonkey512[. 06:15:20 -!- BattleMonkey512[ has changed nick to immybo[A]. 06:19:27 -!- immybo[A] has changed nick to immybo. 06:31:04 -!- immibis[A] has changed nick to immibis. 06:31:04 * immibis is no longer away : Gone for 17 minutes 22 seconds 06:32:55 -!- immibis has changed nick to immibis[A]. 06:32:55 * immibis[A] is now away - Reason : i am away 06:48:08 -!- immibis[A] has changed nick to immibis. 06:48:08 * immibis is no longer away : Gone for 15 minutes 13 seconds 06:49:41 -!- immibis has left (?). 07:14:53 -!- lament has quit (Read error: 110 (Connection timed out)). 07:15:18 -!- lament has joined. 07:42:35 afk food 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:16 -!- immybo has quit ("Light travels faster then sound, which is why some people appear bright, until you hear them speak"). 08:28:14 Liar. 08:33:08 -!- BattleMonkey512_ has quit (Read error: 104 (Connection reset by peer)). 10:17:01 -!- Sukoshi has quit (Read error: 110 (Connection timed out)). 10:21:01 -!- GreaseMonkey has quit ("Hasta la Vista(R)"). 10:34:21 -!- oerjan has quit ("Lunch"). 10:35:02 -!- oklopol has quit ("for the need to encumber"). 10:39:18 -!- oklopol_ has joined. 12:48:25 -!- Sukoshi has joined. 13:57:22 -!- ihope_ has joined. 14:17:12 -!- sebbu2 has joined. 14:36:06 -!- sebbu has quit (Connection timed out). 15:07:22 -!- sebbu2 has quit ("reboot"). 15:28:26 -!- sebbu has joined. 16:48:15 -!- c|p has joined. 16:53:41 lol- for a second there it looked like a netsplit, until I realized that it was just nobody talking for 8 hours 16:54:11 Cool, nobody talking for 8 hours. 16:54:18 yeah 16:54:27 One could say that we're not on-topic. 16:54:55 So I seem to have access to a shell account on an OpenBSD server. 16:55:07 neato 16:55:10 I don't know the exact nature of it. 16:55:22 how did you obtain access to this machine? 16:55:32 Somebody sort of gave it to me for some reason. 16:55:46 I believe I have control over two slices of the HTTP server. 16:56:00 sounds vaguely useful 16:56:03 Indeed. 16:56:11 I seem to have an OpenBSD server (if you can call a sparcstation 5 a server) in my basement. It's not exactly very useful there. 16:57:06 I think I'll add a forum and a wiki to it. 16:57:18 And... some other things. 16:57:36 The first step would seem to be to discover the nature of this HTTP server... stuff. 16:57:59 I appear to have a stack of three Sun Ultra10s in my closet 16:58:25 Are the ultra10s running? 16:58:40 And no, this is not a "then you'd better catch them" joke setup. 16:59:04 I have a Linux box. It's dormant. 16:59:15 Misread "it's a doormat". 16:59:23 lol 16:59:45 the ultra10s are not running. They're sleeping....perhaps dreaming... 16:59:59 dreaming of protein folding and packet routing 17:00:23 And turned off? 17:00:38 visions of supercomputing tasks dance in their multiple silicon cores... 17:00:42 ihope_: yeah 17:01:54 I'm gathering the things as my university throws them away, and eventually I'm going to turn them into a cluster 17:03:04 There were 31 Ultra10s in the computer classes of the CS department building as little as a year ago. 17:03:31 Maybe I should ask my school if they have any computers that need throwing away. 17:03:32 :-P 17:03:58 I wonder where they went. The SGI Indys at least were given to anyone who wanted 'em, and I think there was a similar thing for the SGI O2's, but I didn't see any notices about the sparcs. 17:04:31 the trick at MTU is to skulk around all the loading docks, where various departments dispose of their techno-waste. Anything you can find is yours for the taking 17:04:58 Hmm, maybe I'll search for /manual/mod/mod_ssl/, since that seems to be a directory on the web server. 17:04:59 it's pretty much all about good timing 17:05:28 The Indys were given away with a "add your name to this web form, then come pick it up from this classroom" procedure. 17:06:00 ah 17:06:31 well, presumably they did that to avoid a riot, like you'd get if you just dumped a couple SGI machines in a hall somewhere 17:07:02 Anybody know how I'd go about looking for a directory with that name? 17:07:41 erm... hm 17:08:09 * ihope_ tries find / | grep "/manual/mod/mod_ssl" 17:08:43 Now to... wait? 17:09:12 find / -type d -name 'mod_ssl' would perhaps been a bit more elegant, but whatever works. 17:09:24 (I don't think there would be that many directories called mod_ssl.) 17:09:26 Cool. /var/www/htdocs/manual/mod/mod_ssl 17:09:35 More elegant? 17:09:44 No useless 'grep' process. 17:09:53 Would it be faster? 17:10:00 Not noticeably, no. 17:10:14 But starting up grep probably crushes millions of fuzzy baby electrons. 17:10:39 And the same number of fuzzy baby protons? 17:10:49 Really big babies, in a really small way. 17:11:04 * SimonRC is entertained by a mangled web-page http://forums.worsethanfailure.com/forums/thread/124261.aspx 17:11:56 ooh, it has 5.8 seconds of memory, is approx 256 tones tall and can use paper up to 80kg in size! 17:12:41 The "Weight: Standard" made me chuckle, even though it's one of the less outlandish items there. 17:22:28 -!- pikhq has quit (Read error: 110 (Connection timed out)). 17:39:00 Paper Sizes: Optional 17:39:43 -!- c|p has quit. 17:47:06 SimonRC: well, paper "80kg in size" isn't *completely* nonsensical- weight is often used to describe the thickness of paper in terms of weight per ream 17:47:20 but damn, that'd be some thick paper 19:24:34 -!- pikhq has joined. 19:27:07 4kg per 25 sheets. 19:27:18 That's about 40 grams a sheet. 19:27:34 In fact, that probably is 40 grams a sheet. 19:35:07 ask me what? 19:35:56 Did somebody say something about asking? 19:36:10 About asking you, at that? 19:36:46 you did 19:44:53 When? 19:45:38 18:14 19:46:55 blargh 19:47:05 the internet here is soo slow 19:48:15 the upload is faster than the download, lol 19:48:41 165 kb/s down 348 up 19:57:10 18:14? 19:57:24 * ihope_ warns everybody of impending CTCP TIME 19:57:44 That'd be yesterday, wouldn't it? 20:33:10 yeah 20:35:35 I'm guessing I wanted to know where the bsmnt_bot source code is, then. 20:35:44 (You know, you really should have a bsmnt_bot website.) 20:37:19 i should? 20:41:21 http://abacus.kwzs.be/~bsmnt_bot/ 20:43:58 Wow, it's one of the smallest websites I've ever seen! 20:44:00 :-P 20:44:22 and it's not even valid html 20:45:53 indeed 20:46:09 it needs a doctype declaration 20:46:29 How the hell is anyone supposed to remember those anyway? 20:46:45 and an XML version declaration 20:47:13 I mean, the syntax includes double forward-slashes, FFS 20:47:29 is there something like a verbatim tag? 20:51:09 what would it do? 20:52:20 put its contents exactly into the document 20:59:16 ~quit 20:59:17 -!- bsmnt_bot has quit. 20:59:21 -!- bsmnt_bot has joined. 20:59:34 ~exec while 1: time.sleep(1) 20:59:36 ~ps 20:59:37 0: 'while 1: time.sleep(1)', 2.14 seconds 20:59:37 1: 'self.handle_callback(message, m, i)', 0.02 seconds 20:59:50 somebody do ~kill 0 21:00:48 crap 21:01:29 ~kill 0 21:02:17 bsmntbombdood: like the of MediaWiki? 21:02:31 Can't you use < and > for that? 21:02:57 ~ps 21:02:57 0: 'while 1: time.sleep(1)', 202.64 seconds 21:02:58 1: 'self.handle_callback(message, m, i)', 0.00 seconds 21:03:00 ~quit 21:03:00 -!- bsmnt_bot has quit (Client Quit). 21:03:03 -!- bsmnt_bot has joined. 21:03:11 ~exec while 1: time.sleep(1) 21:03:17 ihope_: do it again 21:03:28 ~kill 0 21:03:29 ValueError: invalid literal for int(): #esoteric 21:04:37 ~ps 21:04:38 ~quit 21:04:49 oh no 21:04:58 Hmm? 21:04:59 there's a bug 21:05:05 I can see that. 21:05:22 Use ~exec self.raw("QUIT"), though, like the rest of us! :-P 21:05:38 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)). 21:05:41 -!- bsmnt_bot has joined. 21:05:50 ~exec while 1: time.sleep(1) 21:05:52 ~os 21:05:55 ~os 21:05:58 ~ps 21:05:58 0: 'while 1: time.sleep(1)', 8.23 seconds 21:05:59 1: 'self.handle_callback(message, m, i)', 0.00 seconds 21:06:03 ~kill 0 21:06:05 ~ps 21:06:06 0: 'self.handle_callback(message, m, i)', 0.00 seconds 21:06:08 ok 21:07:24 anyone know how to maximize a window in windows without using the mouse? 21:07:52 Why do you need to do that? 21:08:12 because this computer is running windows and doesn't have a mouse 21:08:35 Attach a mouse? 21:09:08 i would, if i had one 21:09:27 Your place isn't of the type where sufficient searching can yield any number of mice? 21:09:48 i'm not in my place 21:10:13 i'm in my new house, where any amount of searching wouldn't yeild much of anything 21:10:13 The place you're in isn't of that type? 21:10:27 Oh, you could set the computer up to go mouseless. 21:10:59 ? 21:11:23 Accessibility Options under the Control Panel. 21:12:05 If you have a numeric keypad. I'm guessing you do, since if you don't have a laptop you probably have a keypad, and if you don't have a touchpad you probably don't have a laptop. 21:12:43 And if you would rather have a mouse you probably don't have a touchpad. 21:12:46 to access the thingy menu in the upper-left cornet of a windon, usually you can hit alt-space 21:12:57 maximise is alt+space,x 21:13:19 putty sends alt-space 21:13:29 i did it with this mouse keys thing 21:13:39 there is a option to tell it not to 21:13:55 i hate not having my computer 21:14:11 or you can use win+tab (analogous to alt+tab) to go to putty's taskbar button and hit the context-mnu key on your keyboard 21:14:43 clever 21:15:01 Cool. 21:15:24 also, don't forget that alt-shift-tab goes backwards in the alt-tab list 21:15:30 About as nice as knowing about shift+home :-) 21:15:41 what else should i put on bsmnt_bot's page? 21:15:58 and you can select most things in the taskbar/startbar/systray using tab, shift-tab, and the arrow keys 21:16:03 ...Are there any here that do home shift+end rather than end shift+home? 21:16:11 Hmm. 21:16:19 I can't recall what I do 21:17:18 is it possible to get firefox to do sftp instead of ftp? 21:18:10 ah, wait, duh , JFGI 21:20:43 ihope_: my ctcp time is wrong btw 22:01:27 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 22:01:46 -!- ihope_ has joined. 23:20:08 -!- ihope_ has quit (Read error: 110 (Connection timed out)). 23:35:38 RodgerTheGreat: You home? 23:37:28 -!- sebbu has quit ("@+"). 23:44:03 Sukoshi: Nobody is. 23:44:14 When we're on IRC, we fall through the computer and leave home. 23:44:16 :p 23:44:34 I see :P 23:47:11 I'm here 23:47:22 not exactly home, but what the hell 2007-06-25: 00:07:20 -!- ihope has joined. 00:07:30 ~exec self.raw("PRIVMSG #esoteric :rheet") 00:07:30 rheet 00:07:38 ~exec self.raw("PRIVMSG #esoteric :rheat") 00:07:39 rheat 00:09:58 ~exec self.raw("PRIVMSG #esoteric :rheet") 00:09:59 rheet 00:10:02 Yay! 00:15:50 Gah RodgerTheGreat. 00:16:00 ? 00:16:04 RodgerTheGreat: Do you think the game should be windowed? 00:16:17 And if so, what resolution should we aim to make the tiles viewable at? 00:16:41 hm 00:17:06 well, do we *want* the game to look like something for the SNES, or do we want it to look more modern? 00:20:23 if you want it to look "oldschool", you're best off running the game in fullscreen at 640x480 or similar 00:21:21 to make better use of an 1024x768 or larger screen, make it windowed and make your graphics twice their pixel-required size 00:30:49 I'll be back in a bit 00:31:26 Grr. Sorry again :P 00:31:52 Hmm. Yeah, I think we'll have to scale the graphics. 00:31:59 But how ... in SDL ... I'm not sure. 01:59:23 -!- c|p has joined. 02:00:18 -!- oklopol_ has changed nick to oklopol. 02:01:26 reading "How to develop a super power memory"... taught me how to remember 20 objects in sequence in one page 02:01:39 so far so good 02:01:53 20 objects in sequence? 02:01:57 soon i can remove my hd 02:02:05 :-) 02:02:05 cake, plate, computer, cat, ... 02:02:40 learning numbers now, the system sounds feasible so far 02:04:39 so cool... i always knew the key to remembering numbers was to have a number->object hashtable 02:04:58 -!- oerjan has joined. 02:05:00 Hash table? 02:05:19 but the hashtable can actually be formed on the fly using special phonetic sounds for different numbers 02:05:29 hashtable... dictionary 02:05:41 the datatype where you assosiate 02:05:50 You should get synaesthesia! 02:05:56 Not that I know any way of doing that. 02:06:37 what is that? 02:06:58 a decease? 02:07:05 Perceptions invoking other perceptions. 02:07:23 Like the perception of the number or numeral 3 invoking the perception of blue. 02:07:32 i got it, yeah 02:07:36 that's a hash table. 02:07:54 You say things like "Is there a special name for a blue number like 3?", and everybody looks at you funny. 02:08:05 :) 02:08:28 anyway, the way they do it in the book is nice, i might actually start using it 02:08:46 even though i've always disliked learning through images 02:08:53 i like learning the hard way 02:09:12 i wasn't hit enough when i was little, i think 02:09:38 I'm suddenly moved to ask how old you are. 02:11:24 i'm 18 02:11:38 guess i'm still quite little 02:11:46 Bigger than me. 02:11:51 don't know the definition of little 02:11:54 i'm aware of that 02:12:16 Live in... about Finland? 02:12:25 exactly finland 02:12:30 and you live in america 02:12:33 Yup. 02:12:39 Helsinki, about? 02:12:42 nope 02:12:44 turku 02:12:56 though you've never heard that 02:12:57 That's not even on here... 02:13:04 I've heard of it from playing Freeciv :-) 02:13:10 one of the biggest towns 02:13:12 oh 02:13:19 a game of some sort? 02:13:25 Yup. 02:13:28 play...game 02:13:36 associatins... 02:13:40 *assosiation 02:13:43 *assosiations 02:14:14 err 02:14:15 *associations 02:14:24 well played 02:14:28 gotta read on 02:14:42 noah for number two... no fucking way 02:14:50 'no' is better 02:14:53 hmm 02:15:01 should i believe a pro... 02:15:30 guess 'no' isn't concrete enough 02:16:56 Use concrete for two! >:-) 02:17:26 Or the bathroom codes. 02:19:17 you can't just pick a random word 02:19:31 the idea is, you have a consonant for every number 02:19:58 so you can make pegs for each number like 3 -> "ma", because the consonant for 3 is m 02:20:10 Sukoshi: in CRPG, I just rescaled the graphics ahead of time 02:20:15 this allows you to make longer pegs for every two numbers etc 02:20:21 no need to do it in-engine if you're doing it to a fixed factor 02:20:31 like 10 -> toes, because 1==t, 0==s 02:21:16 in any case, the game itself will be working in a fixed resolution (windowed or fullscreen). Variable resolutions can have some irritating side effects 02:21:32 i don't like learning this because i've recently created my own system for learning numbers 02:21:48 i basically just have to forget about it now. 02:22:42 Ah... 02:24:02 oklopol: so, essentially this memory system relies on the fact that our brains are better wired for visual memory than abstract/symbolic memory? 02:26:23 * pikhq doubts that 02:26:48 * RodgerTheGreat shrugs 02:31:44 Doubt what? 02:31:44 RodgerTheGreat: So then we'll have to create different graphics for different resolutions? 02:31:57 They're built for things that are supposedly practical. :-) 02:32:28 RodgerTheGreat: yes 02:32:49 i don't understand why this isn't taught at school 02:33:16 Because it's not. 02:33:19 no, I'm saying to clamp it. pick a rez and stick with it. We're using raster-graphics, so rescaling is just going to make them look horrible in most cases 02:33:23 What's not taught at school? 02:33:24 Different people have different forms of memory. 02:33:37 RodgerTheGreat: Hmm... what do you think would be a convenient resolution? 02:33:41 I run my box at 1280x1024. 02:33:42 hm 02:33:49 And my graphics card is 10 years old. 02:33:53 Sukoshi: sure, that does not change the fact this system works on anyone 02:34:14 well, the largest 2d console games ran at 640x480 02:34:28 most of them actually used 320x240 or something similar 02:34:35 16x16 tiles look awful at my resolution. 02:34:43 oklopol: I have a horrible visual memory. 02:34:55 have you looked at CRPG at all? 02:34:55 me too 02:35:09 this does not depend on visual memory really 02:35:23 in general, map tiles are significantly smaller than sprites- you need to remember that 02:35:47 also, smaller tiles (rather counterintuitively) tend to reduce the number you need 02:35:57 mainly because you can reuse them to a larger extent 02:36:01 True. 02:36:11 I just need a tile size I can work on the mapper. 02:36:27 Sukoshi: what do you mean by having a horrible visual memory? 02:36:43 I'd really like you to take a look at what I've made in CRPG so I can use it as an example. If you have trouble running it, I can get you some static screenshots: http://rodger.nonlogic.org/games/CRPG/ 02:37:01 oklopol: If someone tries to make me memorize something via visual assosciation, I fail. 02:37:16 oh 02:37:23 RodgerTheGreat: Yeah, it's just that I'm hacking two other projects while my parents are whining that I'm going hikikomori on them. 02:37:26 worked for pretty much everyone in my class 02:37:44 lol 02:37:45 oklopol: That's because most people work well with visual assosciation. 02:38:06 it runs in-browser 02:38:19 RodgerTheGreat: Yeah, but my system gets pwned starting Java in browser. 02:38:34 Because this thing is an aging 5 year old machine with a 10 year old graphics card. 02:39:01 alright, I can just pastebin some screenies. One moment... 02:39:12 I have to do it on my dad's system, and I forgot to run VNC on it, and I'm too buzy at the moment to go down and use his machine :P 02:39:22 I just dropped in for a few minute interlude. I'm leaving like right now. 02:39:27 ah 02:39:29 hm 02:39:33 Pastebin please, though. 02:39:37 well, let me know the next time you have a moment 02:40:59 http://www.nonlogic.org/dump/images/1182735587-shot1.png 02:41:09 http://www.nonlogic.org/dump/images/1182735597-shot2.png 02:41:20 just a couple I had sitting on my machine 04:24:45 -!- ihope has quit (Read error: 110 (Connection timed out)). 04:28:12 -!- meatman_k has changed nick to meatmanek. 04:35:43 -!- c|p has quit ("Leaving"). 04:41:07 -!- immibis has joined. 04:41:15 ~exec self.raw("JOIN #bots") 04:44:29 somebody tell ihope to tell ihope to tell ihope to repeat this sentence 04:50:11 ~exec self.register_raw(r":maniac\S+ PRIVMSG #bots :(.*)", lambda x,y: sys.stdout(y.group(1)+", so what?!")) 04:50:15 ops 04:50:17 wrong channel 04:50:21 ~exec self.register_raw(r":maniac\s+ privmsg #bots :(.*)", lambda x,y: sys.stdout(y.group(1)+", so what?!")), so what?! 04:50:39 pink and purple and blue, so what?! 04:51:06 it seems to be possible to make bsmnt_bot say things by /msging them to maniac 04:51:12 i am maniac, so what?! 04:51:24 i am a botr, so what?! 04:51:51 ~exec self.raw_regex_queue.pop() 04:51:59 ~exec self.register_raw(r":maniac\S+ PRIVMSG #bots :(.*)", lambda x,y: bot.raw("PRIVMSG #bots :"+y.group(1)+", so what?!")) 04:53:18 i am dumb 04:53:23 wrong channel 04:53:25 oops 04:53:27 no i'm not 04:54:51 ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :$(.*)", lambda x,y: bot.raw("PRIVMSG "+y.group(1)+" :"+y.group(2))) 04:54:56 $test 04:57:43 -!- immibis has quit ("Now if you will excuse me, I have a giant ball of oil to throw out my window"). 05:00:14 gn 05:06:58 -!- immibis has joined. 05:11:12 someone please add 1+1 and get 4 05:11:52 IRP INTERPRETER ERROR CODE 5: BIG BROTHER IS NOT WATCHING 05:12:54 ERROR CODE ERROR: UNKNOWN ERROR CODE 05:13:42 -!- immybo has joined. 05:13:55 * oerjan completes assignment by working (mod 2) 05:14:09 someone please add 1+1 and get 4, and send the resulting error code to immybo 05:14:19 then divide infinity by zero and unplug your computr 05:14:31 ERROR CODE ERROR CODE ERROR: KILL YOURSELF 05:14:41 * immibis dies 05:14:48 * immybo dies :) 05:14:49 * immibis gets resurrected! 05:14:51 1.#INF :: Double 05:14:59 * immybo rises from the dead 05:16:15 ~exec sys.stdout(0/0) 05:16:16 ZeroDivisionError: integer division or modulo by zero 05:16:20 ~exec sys.stdout(0%-1) 05:16:21 0 05:16:29 ~exec sys.stdout(0/0/0/-1) 05:16:30 ZeroDivisionError: integer division or modulo by zero 05:16:40 ~exec sys.stdout(Math.sqrt(-1)) 05:16:40 NameError: name 'Math' is not defined 05:16:43 ~exec sys.stdout(0.0/0.0) 05:16:43 ~exec sys.stdout(sqrt(-1)) 05:16:45 ZeroDivisionError: float division 05:16:50 ~exec sys.stdout(sqrt(-1)) 05:16:55 NameError: name 'sqrt' is not defined 05:16:59 hmph, no NAN? 05:17:05 * immybo kills everybody 05:17:09 NameError: name 'sqrt' is not defined 05:17:11 is the bot's syntax based on some other language? 05:17:26 ~exec sys.stdout(-1^0.5) 05:17:28 TypeError: unsupported operand type(s) for ^: 'int' and 'float' 05:17:29 er, it's written in python 05:17:51 ~exec sys.stdout("\001ACTION crashes\001") 05:17:53 * bsmnt_bot crashes 05:18:22 ~exec sys.stdout("\001ACTION hits immibis with a big red brick\001") 05:18:23 * bsmnt_bot hits immibis with a big red brick 05:18:34 ~exec sys.stdout("\001ACTION rules!\001") 05:18:36 * bsmnt_bot rules! 05:19:44 ~exec sys.stderr("Hey, bot owner! Here's a gift! :p") 05:20:12 ~exec sys.stdout(sys.stdin) 05:20:13 ', mode 'r' at 0xb7c65020> 05:20:18 ~exec sys.stdout(sys.stdin.read()) 05:20:33 * pikhq applauds 05:20:41 ~exec sys.stdout("Yay, halting!") 05:20:43 Yay, halting! 05:20:48 Damn it. 05:21:22 ~exec while 1: sys.stdout("") 05:21:40 ~exec while 1: sys.stdout("EXCESS FLOOD") 05:21:42 EXCESS FLOOD 05:21:42 EXCESS FLOOD 05:21:42 EXCESS FLOOD 05:21:42 EXCESS FLOOD 05:21:42 EXCESS FLOOD 05:21:43 EXCESS FLOOD 05:21:43 -!- bsmnt_bot has quit (Excess Flood). 05:21:53 -!- bsmnt_bot has joined. 05:22:23 ~exec i=0; while i<3: sys.stdout(i); i=i+1; 05:22:24 SyntaxError: invalid syntax 05:22:34 i don't know how to use this bot for stuff like that 05:22:37 do you, pikhq? 05:22:44 Nor do I. 05:22:48 I don't do Python. 05:23:19 are the commands you give it in python? 05:23:28 Yeah. 05:23:32 ~exec exec "i=0; while i<3:\n sys.stdout(i)\n i=i+1; 05:23:34 SyntaxError: EOL while scanning single-quoted string 05:23:35 er 05:23:39 ~exec exec "i=0; while i<3:\n sys.stdout(i)\n i=i+1" 05:23:41 SyntaxError: invalid syntax 05:23:53 ~exec exec "i=0\nwhile i<3:\n sys.stdout(i)\n i=i+1" 05:23:59 0 05:24:01 1 05:24:03 2 05:24:06 Bona. 05:24:25 python has no semicolons, but mandatory newlines and indentation. 05:24:28 ~exec "i=0\nwhile i<3:\n sys.stdout(i)\n i=i+1" 05:24:35 ~exec exec "i=0\nwhile 1:\nsys.stdout(i+" "+(i+1)+" "+(i+2))\ni=i+3" 05:24:37 IndentationError: expected an indented block (line 3) 05:24:43 ~exec exec "i=0\nwhile 1:\n sys.stdout(i+" "+(i+1)+" "+(i+2))\n i=i+3" 05:24:45 3 05:24:45 12 05:24:45 21 05:24:46 30 05:24:46 -!- bsmnt_bot has quit (Excess Flood). 05:24:49 -!- bsmnt_bot has joined. 05:24:50 er? 05:25:02 3, 12, 21, 30? 05:25:17 Don't ask me. 05:25:25 actually i think semicolons can be used in a few places 05:26:01 0+1+2, 3+4+5, 6+7+8, 9+10+11 05:26:30 even though i had strings in there? 05:26:39 I think one-liners involve using lambda (why the fuck does Python have lambda, anyways?) 05:26:42 oh right, python uses . for concatenation i think 05:26:59 ~exec exec "i=0\nwhile 1:\n sys.stdout(i." ".(i+1)." ".(i+2))\n i=i+3" 05:26:59 SyntaxError: invalid syntax 05:27:12 Strings don't nest. 05:27:12 ~exec exec "i=0\nwhile 1:\n sys.stdout(i*i*i)\n i=i+3" 05:27:13 0 05:27:13 27 05:27:13 216 05:27:13 -!- bsmnt_bot has quit (Excess Flood). 05:27:16 -!- bsmnt_bot has joined. 05:27:21 oh i see 05:27:25 of course they don't 05:27:28 i just didn't notice that 05:27:34 wait, of course it doesn't use . 05:27:38 that's method calls 05:27:59 ~exec sys.stdout("a"+"b") 05:28:00 ab 05:28:11 ~exec sys.stdout(-1**0.5) 05:28:11 -1.0 05:28:19 ~exec sys.stdout((-1)**(0.5)) 05:28:19 ValueError: negative number cannot be raised to a fractional power 05:28:35 right... it uses + but if you mix numbers and strings it uses the numerical meaning 05:28:40 square root of -1 should be I 05:29:28 ~exec sys.stdout(math.sqrt(-1)) 05:29:29 ValueError: math domain error 05:30:37 ~exec "%d %d %d" % (1,2,3) 05:30:42 er 05:30:51 ~exec sys.stdout("%d %d %d" % (1,2,3)) 05:30:52 1 2 3 05:30:52 ~exec sys.stdout("%d %d %d" % (1,2,3)) 05:30:52 1 2 3 05:32:05 I don't think Python has complex numbers. . . 05:32:34 ~exec sys.stdout(1j * 1j) 05:32:35 (-1+0j) 05:33:17 Or maybe it does. Odd. 05:33:24 ~exec _='_=%r;print "~exec" _%%_';print _%_ 05:33:28 ~exec sys.stdout(j^2) 05:33:29 NameError: name 'j' is not defined 05:33:35 ~exec sys.stdout(1j^2) 05:33:36 TypeError: unsupported operand type(s) for ^: 'complex' and 'int' 05:33:48 ~exec sys.stdout (j*j) 05:33:48 NameError: name 'j' is not defined 05:33:51 ~exec sys.stdout (1j*1j) 05:33:56 (-1+0j) 05:34:02 So, it doesn't support all of the operations on the complex numbers. -_-' 05:34:03 ~exec sys.stdout (1j*1j*1j*1j*1j*1j*1j*1j) 05:34:03 (1-0j) 05:34:15 1 MINUS 0j? 05:34:25 shouldn't that be 1 PLUS 0j? 05:34:26 1-0j=1 05:34:30 i know 05:34:45 sys.stdout(((((((((((((((((((((((((((((((((((((((((((((((((((((((("LOTS OF BRACKETS" 05:34:49 Don't ask me; their complex numbers make no sense. 05:34:49 ~exec sys.stdout(((((((((((((((((((((((((((((((((((((((((((((((((((((((("LOTS OF BRACKETS" 05:34:49 MemoryError 05:34:56 there is a distinction between +0 and -0 in IEEE floating point, at least 05:34:57 ~exec sys.stdout("MemoryError") 05:34:58 MemoryError 05:35:08 ~exec sys.stdout("I AM NOT bsmnt_bot") 05:35:08 I AM NOT bsmnt_bot 05:35:59 ~exec self.raw("NICK roboman\nNICK bsmnt_bot") 05:35:59 -!- bsmnt_bot has changed nick to roboman. 05:35:59 -!- roboman has changed nick to bsmnt_bot. 05:36:33 is it possible to write a quine with this bot? 05:36:34 ~exec self.raw("NICK EgoBot") 05:36:35 -!- bsmnt_bot has changed nick to EgoBot. 05:37:10 ~exec sys.stdout("\001ACTION supports bsmnt_bot commands. Schweet.\001") 05:37:10 * EgoBot supports bsmnt_bot commands. Schweet. 05:37:26 lol 05:37:43 i would not be good at writing a quine, but is it possible with this bot 05:37:44 Now, we need to write in support for EgoBot commands. . . :p 05:37:51 I believe so. 05:37:53 using register_raw? 05:38:15 what if it quits, does it still remember the registered regexes? 05:38:16 We've managed *mutual* quines, though. 05:38:19 It doesn't. 05:38:23 mutual? 05:38:49 ~exec print (lambda s:s+`s`+')')("~exec print (lambda s:s+`s`+')')(") 05:39:01 is that valid syntax? 05:39:05 got it off the internet 05:39:13 It'd output code that would make EgoBot output code that would make bsmnt_bot output code that would. . . 05:39:16 Out to be. 05:39:39 aren't they called *iterating* quines? 05:39:46 . . . Well, I suppose so. 05:39:47 except the bot's print command doesn't print onto the channel 05:39:54 and aren't iterating quines *harder* to write? 05:40:19 ~exec sys.stdout (lambda s:s+`s`+')')("~exec sys.stdout (lambda s:s+`s`+')')(") 05:40:20 at 0xb7bef95c> 05:40:20 TypeError: 'NoneType' object is not callable 05:40:33 oh right 05:40:50 ~exec sys.stdout(lambda s:s+`s`+')')("~exec sys.stdout(lambda s:s+`s`+')')(") 05:40:50 at 0xb7bef924> 05:40:51 TypeError: 'NoneType' object is not callable 05:41:03 ~exec sys.stdout(lambda s:s+`s`+')')("~exec sys.stdout(lambda s:s+`s`+')')(") 05:41:04 at 0xb7bef994> 05:41:04 TypeError: 'NoneType' object is not callable 05:41:12 is there a current-request object or something? 05:41:16 sure, it's cheating 05:41:19 but who cares 05:41:57 ~exec self.raw("NICK BOTWHOSNOTABOT") 05:41:58 -!- EgoBot has changed nick to BOTWHOSNOTABOT. 05:42:06 ~exec self.raw("NICK botWhosNotABot") 05:42:06 -!- BOTWHOSNOTABOT has changed nick to botWhosNotABot. 05:42:15 ~exec self.raw("NICK EgoBot") 05:42:21 ~exec self.raw("NICK EgoBot") 05:42:43 -!- boily has joined. 05:42:49 ~exec self.raw("NICK EgoBot") 05:42:49 -!- botWhosNotABot has changed nick to EgoBot. 05:42:57 sys.stdout is not a command you need parentheses around its arguments 05:43:12 ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 05:43:12 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(") 05:43:19 almost 05:43:27 ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')'))(")) 05:43:27 ~exec sys.stdout((lambda s:s+`s`+')'))("~exec sys.stdout((lambda s:s+`s`+')'))(") 05:43:37 ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')')("))) 05:43:37 SyntaxError: unexpected EOF while parsing 05:43:42 ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')')("))) 05:43:44 SyntaxError: unexpected EOF while parsing 05:43:49 ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+')'))(")) 05:43:55 ~exec sys.stdout((lambda s:s+`s`+')')("~exec sys.stdout((lambda s:s+`s`+'))')()")) 05:44:00 ~exec sys.stdout((lambda s:s+`s`+')'))("~exec sys.stdout((lambda s:s+`s`+')'))(") 05:44:02 ~exec sys.stdout((lambda s:s+`s`+'))')()"~exec sys.stdout((lambda s:s+`s`+'))')()") 05:44:11 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 05:44:12 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 05:44:15 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 05:44:16 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 05:44:29 houston, we have a quine 05:44:37 Shit. 05:44:40 RUN! 05:44:56 though i know almost no python 05:45:00 why run? 05:45:07 It'll blow! :p 05:45:11 why 05:45:28 Because I say it will. 05:45:47 ~exec self.register_raw(r,":\ 05:45:47 SyntaxError: EOL while scanning single-quoted string 05:45:53 ~exec self.raw("PRIVMSG #esoteric :Boom!\nQUIT") 05:45:54 Boom! 05:45:56 -!- EgoBot has quit. 05:45:59 -!- bsmnt_bot has joined. 05:46:09 ~exec self.raw("PRIVMSG #esoteric :Boom!\nQUIT :Kaboom again!") 05:46:10 Boom! 05:46:10 -!- bsmnt_bot has quit (Client Quit). 05:46:12 -!- bsmnt_bot has joined. 05:46:16 :) 05:47:15 I am happy! This morning I stumbled upon this article: 05:47:17 http://scienceblogs.com/goodmath/2007/06/simple_pathology_betterave.php#more 05:47:29 :) 05:47:46 oh right i was going to tell you but you weren't around :) 05:48:38 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood")) 05:48:46 no blowing up 05:48:47 DASFASDF 05:48:47 * bsmnt_bot is crashing 05:48:47 -!- bsmnt_bot has quit (Client Quit). 05:48:50 -!- bsmnt_bot has joined. 05:48:51 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood")) 05:49:05 don't say blow 05:49:05 DASFASDF 05:49:05 * bsmnt_bot is crashing 05:49:05 -!- bsmnt_bot has quit (Client Quit). 05:49:08 -!- bsmnt_bot has joined. 05:49:11 ops 05:49:12 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood")) 05:49:23 oerjan: yeah, i had a pretty busy weekend, it was Quebec's national holiday 05:49:32 feature request: it should remember its regex list when it quits 05:49:38 Gimme a blowjob. :p 05:49:39 DASFASDF 05:49:39 * bsmnt_bot is crashing 05:49:39 -!- bsmnt_bot has quit (Client Quit). 05:49:41 -!- bsmnt_bot has joined. 05:49:47 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :DASFASDF\nPRIVMSG #esoteric :\001ACTION is crashing\001\nQUIT :Excess Flood")) 05:49:54 :) 05:50:02 Or, rather: >:D 05:50:12 or rather what 05:50:23 it looks to me like > and a smiley face icon 05:50:39 ~exec self.raw_regex_queue.pop() 05:50:39 Evil smiley face. 05:50:45 ok 05:51:16 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*)blow(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :\001VERSION\001\nPRIVMSG #esoteric :\001ACTION is crashing\001\nPRIVMSG #esoteric :\001PING p\001")) 05:51:19 blow up 05:51:20 * bsmnt_bot is crashing 05:51:47 bug: it does not respond to /version or /ping 05:52:26 from whom? 05:52:31 anyone 05:52:34 Add a regex. 05:52:41 i am going to 05:52:55 but that way it needs to be re-registered every time the bot logs in 05:53:13 ~exec self.register_raw(r"(:\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2)+"\001")) 05:53:24 ~exec self.register_raw(r"(:\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PONG "+y.group(2)+"\001")) 05:53:48 ~exec self.raw_regex_queue.pop() 05:53:48 ~exec self.raw_regex_queue.pop() 05:53:53 neither of those worked 05:54:01 blow up 05:54:01 * bsmnt_bot is crashing 05:54:37 ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001POING "+y.group(2)+"\001")) 05:54:39 ops 05:54:41 poing? 05:54:44 ~exec self.raw_regex_queue.pop() 05:54:48 ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2)+"\001")) 05:54:57 ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING (.*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PONG "+y.group(2)+"\001")) 05:55:13 i keep forgetting whether the ctcp ping reply is PING or PONG 05:55:26 neither of them worked still 05:55:29 ~exec self.raw_regex_queue.pop() 05:55:29 ~exec self.raw_regex_queue.pop() 05:56:01 ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001PING ([^\001]*)\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :PONG "+y.group(2)+"")) 05:56:26 ~exec self.raw_regex_queue.pop() 05:57:20 ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001")) 05:57:32 blow up 05:57:32 * bsmnt_bot is crashing 05:57:40 never mind 05:57:46 it isn't working anyway 05:58:20 someone please tell me your nick 05:58:53 oerjan 05:59:57 i sees someone had funs with bsmnt_bot 06:01:38 bsmntbombdood: i tried to make it respond to /ping and /version 06:01:57 bsmntbombdood: i think pikhq wrote a message to stderr 06:02:00 problems? 06:02:11 i probably did something wrong with the regex 06:02:18 the command was: ~exec self.register_raw(r":(\S+) PRIVMSG \S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001")) 06:02:26 yes 06:02:41 r"" strings don't use escapes 06:03:05 how do you put ascii code 1 in then? 06:03:13 you can't in a raw string 06:03:40 ~exec sys.stdout("\001") 06:03:40 06:03:46 r"....." + "\001" 06:03:54 Damn it; was hoping I'd see a literal \001. 06:03:59 ~exec sys.stdout(r"\001") 06:04:00 \001 06:04:12 pikhq: you forgot the r 06:04:23 the command was: ~exec self.register_raw(":(\\S+) PRIVMSG \\S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001")) 06:04:28 oops 06:04:29 ~exec self.register_raw(":(\\S+) PRIVMSG \\S+ :\001VERSION\001", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business!\001")) 06:04:34 ~exec sys.stdout("\001" + r"\001" + "\001") 06:04:49 ~exec sys.stdout("\001VERSION\001") 06:04:58 ~exec while i_am_annoying: sys.stdout("\001VERSION\001") 06:04:59 NameError: name 'i_am_annoying' is not defined 06:05:01 lol 06:05:07 ~exec annoying=false; 06:05:08 NameError: name 'false' is not defined 06:05:10 ~exec annoying=0 06:05:30 ~exec exec "when annoying:\n while 1:\n sys.stdout("\001VERSION\001")" 06:05:31 SyntaxError: invalid token 06:05:39 ~exec exec "when annoying:\n while 1:\n sys.stdout(\"\001VERSION\001\")" 06:05:39 SyntaxError: invalid syntax 06:05:47 ~exec exec "when annoying:\n while 1:\n sys.stdout("\001VERSION\001")" 06:05:56 SyntaxError: invalid token 06:05:56 ~exec annoying=1 06:06:38 -!- cmeme has quit ("Client terminated by server"). 06:06:50 -!- cmeme has joined. 06:06:54 client terminated by server? 06:06:56 what? 06:09:51 Who is cmeme? 06:09:59 log bot 06:14:04 hmm... 06:15:53 -!- RodgerTheGreat has quit. 06:18:16 ~exec exec exec 06:18:17 SyntaxError: unexpected EOF while parsing 06:18:25 ~exec exec "exec "exec "exec "exec "exec 06:18:25 SyntaxError: invalid syntax 06:18:29 ~exec exec "exec " 06:18:40 SyntaxError: unexpected EOF while parsing 06:19:19 ~exec exec "exec \"exec \\\"exec sys.stdout(\\\\\\\"beep\\\\\\\")\\\"\"" 06:19:19 beep 06:19:20 TypeError: exec: arg 1 must be a string, file, or code object 06:19:26 ? 06:19:33 ~sys.stdout("HHH") 06:19:39 ~beep 06:20:03 ~sys.stderr("Basement bomb dude, don't blow up your house") 06:20:03 * bsmnt_bot is crashing 06:20:11 what 06:20:49 wtf? 06:21:03 ~exec self.print_callbacks() 06:22:39 i think i made it respond to any line containing 'blow' 06:22:40 * bsmnt_bot is crashing 06:22:41 blow 06:22:41 * bsmnt_bot is crashing 06:22:44 blwo 06:22:48 yes i did 06:25:51 ~exec self.self 06:25:52 AttributeError: IRCbot instance has no attribute 'self' 06:26:00 ~exec sys.stdout(self) 06:26:00 <__main__.IRCbot instance at 0xb7c8b3ec> 06:27:08 don't fuck anything up when i'm sleeping 06:27:12 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 06:27:12 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 06:27:36 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 06:27:36 ~exec sys.stdout((lambda s:s+`s`+'))')("~exec sys.stdout((lambda s:s+`s`+'))')(")) 06:27:42 ~exec sys.stdout(sys.stdout) 06:27:42 <__main__.IRCFileWrapper instance at 0xb7c8bcec> 06:27:51 ~exec sys.stdout(sys.stdout(sys.stdout(sys.stdout(sys.stdout)))) 06:27:51 <__main__.IRCFileWrapper instance at 0xb7c8be2c> 06:27:51 None 06:27:51 None 06:27:51 None 06:28:14 ~exec while 1: sys.stdout("GO TO #esoteric") 06:28:15 -!- bsmnt_bot has quit (Excess Flood). 06:28:18 -!- bsmnt_bot has joined. 06:28:25 excess flood without saying anything? 06:29:20 Apparently. 06:29:49 ~exec while 1: 06:29:49 SyntaxError: unexpected EOF while parsing 06:29:50 ~exec while 1: sys.stdout("") 06:30:21 ~exec sys.stdout(sys) 06:30:22 06:30:25 ~exec sys.stdout(modules) 06:30:26 NameError: name 'modules' is not defined 06:30:29 ~exec sys.stdout(sys.modules) 06:30:29 {'cStringIO': , 'pprint': , 'copy_reg': , 'sre_compile': , 'tokenize': ~exec sys.stdout(sys.stdout) 06:30:46 <__main__.IRCFileWrapper instance at 0xb7c4f82c> 06:30:53 ~exec sys.stdout(cStringIO) 06:30:54 NameError: name 'cStringIO' is not defined 06:31:20 ~exec while 1: DoNothing(); 06:31:21 NameError: name 'DoNothing' is not defined 06:31:22 ~exec while 1: nop 06:31:24 NameError: name 'nop' is not defined 06:31:27 ~exec while 1: i=1 06:31:29 ~exec while 1: i=1 06:31:29 ~exec while 1: i=1 06:31:29 ~exec while 1: i=1 06:31:30 ~exec sys.stdout(sys.cStringIO) 06:31:36 AttributeError: 'module' object has no attribute 'cStringIO' 06:31:41 cStringIO is a modul 06:31:45 *module 06:31:46 immibis: pass 06:31:57 oerjan, please clarify your command 06:32:08 pass == nop 06:32:29 ~exec pass 06:32:31 ~exec while 1: pass ("the salt") 06:32:32 SyntaxError: invalid syntax 06:33:25 ~exec self.register_raw(r"(e.*)", lambda x,y: sys.stdout(y.group(1))) 06:33:29 everything 06:33:33 bot? 06:33:35 everything 06:33:44 e 06:33:50 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(e.*)", lambda x,y: sys.stdout(y.group(1))) 06:33:54 everything 06:33:54 everything 06:34:03 ePod 06:34:04 ePod 06:34:10 encarta 06:34:10 encarta 06:34:12 Foo! e! 06:34:21 ~exec self.register_raw(r":\S+ PRIVMSG \S+ :(.*e.*)", lambda x,y: sys.stdout(y.group(1))) 06:34:23 uh ohe 06:34:24 uh ohe 06:34:27 watch out 06:34:32 foo! e 06:34:33 foo! e 06:34:40 i am immibis, user of irc 06:34:40 i am immibis, user of irc 06:34:49 i am a bot and i use irc 06:34:49 i am a bot and i use irc 06:34:49 oerjan: Say something *without* an e. ;) 06:34:49 oerjan: Say something *without* an e. ;) 06:35:04 everything 06:35:05 everything 06:35:05 everything 06:35:06 la di da, la di da 06:35:11 i am immibis 06:35:13 you are boily 06:35:14 you are boily 06:35:17 why should i do that? :) 06:35:23 pink fluffy slipp*rs 06:35:32 you just did, oerjan 06:35:33 you just did, oerjan 06:35:43 ~exec self.raw("SQUIT") 06:35:43 ~exec self.raw("SQUIT") 06:35:47 Hrm. The regexp doesn't match him saying something. :( 06:35:48 Hrm. The regexp doesn't match him saying something. :( 06:35:56 yes it doe 06:35:56 yes it doe 06:36:08 ~exec self.raw_regex_queue.pop() 06:36:08 ~exec self.raw_regex_queue.pop() 06:36:08 ~exec self.raw_regex_queue.pop() 06:36:11 Well, rather, it doesn't match the e in his name. 06:36:25 Because it's not part of the PRIVMSG contents. 06:36:26 it matches the e in the message 06:36:30 Ja. 06:36:54 i know. 06:37:10 hèrè, it doèsn't match è. 06:37:48 i removed the regex, boily 06:38:00 it doesn't match anything anymore 06:38:08 ~exec sys.stdout(sys.time()) 06:38:09 AttributeError: 'module' object has no attribute 'time' 06:38:11 ~exec sys.stdout(sys.time) 06:38:13 ~exec sys.stdout(sys.now) 06:38:14 AttributeError: 'module' object has no attribute 'time' 06:38:28 AttributeError: 'module' object has no attribute 'now' 06:38:48 ~exec sys.stdout(localtime()) 06:38:48 NameError: name 'localtime' is not defined 06:38:52 ~exec sys.stdout(localtime) 06:38:58 ~exec raise 06:39:00 NameError: name 'localtime' is not defined 06:39:02 ~exec raise "SomeError" 06:39:12 TypeError: exceptions must be classes, instances, or strings (deprecated), not NoneType 06:39:20 ~exec raise "GO TO #ESOTERIC!" 06:39:24 SomeError 06:39:36 GO TO #ESOTERIC! 06:39:57 ~exec sys.stdout(sys.version) 06:39:58 2.4.3 (#1, Oct 25 2006, 21:45:16) 06:39:58 [GCC 4.1.1 (Gentoo 4.1.1)] 06:40:23 ~exec sys.stdout(time.localtime()) 06:40:24 (2007, 6, 25, 5, 39, 14, 0, 176, 0) 06:40:36 ~exec sys.stdout(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 06:40:37 2007-06-25 05:39:28 06:40:51 you are gmt+0 06:41:56 ~exec self.register_raw(r":\S+ NOTICE \S+ :~exec (.*)", lambda x,y: exec.execer(y.group(1))) 06:41:56 SyntaxError: invalid syntax 06:42:31 ~exec self.register_raw(r":\S+ NOTICE \S+ :~exec (.*)", lambda x,y: execer.exec(y.group(1))) 06:42:32 SyntaxError: invalid syntax 06:42:50 ~exec self.register_raw(r":\S+ NOTICE \S+ :.exec (.*)", lambda x,y: exec.execer(y.group(1))) 06:42:51 SyntaxError: invalid syntax 06:48:56 ~exec self.raw("JOIN #somechannel") 07:11:18 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :(.*)", lambda x,y: sys.stdout(y.group(1)+" told me: "+y.group(2))) 07:11:24 ~exec self.register_raw(r":(\S+)!\S+ NOTICE [^# ]* :(.*)", lambda x,y: sys.stdout(y.group(1)+" told me: "+y.group(2))) 07:11:32 immibis told me: hi 07:11:45 immibis told me: immibis told me: immibis told me: immibis told me: hi 07:12:48 immibis told me: PING 14865953 07:12:54 ops 07:12:56 lol 07:14:33 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :.VERSION.", lambda x,y: self.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business\001\nPRIVMSG #esoteric :"+y.group(1)+" is a cracker! Get him!")) 07:14:38 immibis told me: VERSION 07:14:38 NameError: global name 'self' is not defined 07:14:50 ~exec self.raw_regex_queue.pop() 07:15:01 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :.VERSION.", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001VERSION None of your business\001\nPRIVMSG #esoteric :"+y.group(1)+" is a cracker! Get him!")) 07:15:06 immibis told me: VERSION 07:15:06 immibis is a cracker! Get him! 07:18:12 Polly wants a cracker. 07:18:54 ooh, the net police! 07:19:10 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG [^# ]* :.PING (.*)", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :\001PING "+y.group(2))) 07:19:16 immibis told me: PING 15254296 07:20:10 -!- GreaseMonkey has joined. 07:24:33 immibis told me: PING 15570718 07:25:05 thats a bit annoying 07:25:28 ~exec self.raw("PART #somechannel") 07:25:35 ~exec self.raw("JOIN #somechannel") 07:25:51 ~exec self.raw("PART #somechannel") 07:28:41 -!- Arrogant has joined. 07:29:58 [18:28] ->> #esoteric :No such nick/channel 07:33:54 -!- immibis has changed nick to immibi. 07:34:00 -!- immibi has changed nick to immibis. 07:34:09 msg nickserv identify He110J0el! 07:34:11 oops 07:34:16 everyone forget i said tha 07:34:17 that 07:34:49 * immibis hopes nobody was watching their screen just now 07:35:18 Nope 07:35:53 Nothing to see here. Move on. 07:37:13 hmmmm 07:37:18 And I am sure both of our two channel logging robots will be polite enough to ignore this embarassing episode. 07:37:25 oh dear 07:37:33 TWO robots? 07:37:38 i thought there was only one 07:37:49 Especially the one whose logs are available through google. 07:37:56 aargh 07:38:05 clog is the other one. 07:39:56 does bsmnt_bot log? 07:40:28 i don't know 07:40:56 where does clog put its logs then? 07:41:08 tunes.org. See the topic. 07:43:10 that was fast 07:43:16 it has already logged it 07:44:14 very realtime, that one. 07:44:59 meme was offline at the time, wasn't it 07:45:06 no. 07:45:23 meme joined again immediately 07:45:31 where is meme now then 07:45:59 on the other hand, that one isn't googled, and is btw slow as molasses to get up so i only use it when tunes is missing something. 07:47:05 the meme page has that last message you said, but meme isn't in this channel 07:47:13 cmeme 07:47:21 ok 07:47:39 * immibis is now changing his irc password 07:48:55 btw meme has changed its url 07:48:59 -!- immibis has changed nick to immibis_. 07:49:03 -!- oerjan has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://www.ircbrowse.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. (Eat bsmntbombdood first.). 07:49:19 * immibis_ eats bsmntbombdood 07:49:35 * pikhq eats immibis_ 07:49:49 * oerjan eats pikhq 07:49:57 * pikhq eats oerjan 07:50:00 ~exec sys.stdout("\001ACTION eats everybody then explodes\001") 07:50:01 * bsmnt_bot eats everybody then explodes 07:50:18 ~exec sys.stdout("\001ACTION is a cannibal - he eats other bots\001") 07:50:18 * bsmnt_bot is a cannibal - he eats other bots 07:50:34 pikhq told me: ~exec sys.stdout("\001ACTION eats himself, too.\001") 07:50:37 Damn it. 07:50:46 lol 07:51:01 ~exec self.raw("QUIT") 07:51:02 -!- bsmnt_bot has quit. 07:51:06 -!- bsmnt_bot has joined. 07:51:25 * pikhq should sleep 07:52:00 ~exec self.register_raw(r":\S+ NOTICE \S+ :!A (.*)", lambda x,y: sys.stdout("\001ACTION "+y.group(1)+"\001")) 07:52:37 -!- immibis_ has changed nick to immibi. 07:52:38 -!- immibi has changed nick to immibis. 07:52:53 * bsmnt_bot is an idiot 07:53:07 Yep. 07:53:08 /notice bsmnt_bot !A ACTION_COMMAND 07:53:42 * bsmnt_bot blows up 07:53:47 * bsmnt_bot is not bsmnt_bot 07:53:48 so, so, just because you're not human is no reason to look down on yourself 07:53:58 * bsmnt_bot is human, oerjan 07:54:05 * bsmnt_bot is oerjan 07:54:12 oerjan, please use only your own nick 07:54:46 * bsmnt_bot will _not_ do that. 07:56:44 -!- helios24 has quit (Remote closed the connection). 07:56:59 -!- helios24 has joined. 07:57:32 * bsmnt_bot eats himself 07:57:36 -!- immibis has quit ("If you can't laugh at yourself, make fun of other people."). 07:57:50 * bsmnt_bot makes fun of helios24 07:58:30 -!- immibis has joined. 07:58:44 * bsmnt_bot makes fun of you, too 07:59:36 ~exec self.register_rw(r":\S+ NOTICE \S+ :!S (.*)", lambda x,y: sys.stdout(y.group(1))) 07:59:37 AttributeError: IRCbot instance has no attribute 'register_rw' 07:59:43 ~exec self.register_raw(r":\S+ NOTICE \S+ :!S (.*)", lambda x,y: sys.stdout(y.group(1))) 07:59:57 * bsmnt_bot kicks immibis (immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz) Reason (bsmnt_bot) 07:59:58 -!- immibis has left (?). 07:59:58 It works. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:02 -!- immibis has joined. 08:00:05 hey! 08:00:10 It works. 08:00:28 I'm a fun bot to mess with. :D 08:01:03 Cool. Now I can do a two-person comedy routine by myself. :p 08:01:11 you are pathetic. 08:01:18 No, you are! 08:01:20 * immibis looks at the logs so he can see what someone registered 08:01:27 I am dumb 08:01:47 Pikhq, he's not pathetic. He's not good enough for that. 08:01:51 Bweheheh. 08:02:14 do i dare do ~exec self.register_raw(r"(.*)",lambda x,y: sys.stdout(y.group(1))) ? 08:02:25 ~exec self.register_raw(r"(.*)",lambda x,y: sys.stdout(y.group(1))) 08:02:37 apparently you did. 08:02:38 :oerjan!n=oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :apparently you did. 08:02:44 ~exec self.raw_regex_queue.pop() 08:02:45 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz PRIVMSG #esoteric :~exec self.raw_regex_queue.pop() 08:02:52 is it gone 08:02:54 yes 08:03:15 Hey! Stop being evil! Please? 08:03:31 ~exec self.register_raw(r"(.*)",lambda x,y: sys.stdout("I am evil")) 08:03:35 hello bot 08:03:36 I am evil 08:03:38 ok 08:03:38 I am evil 08:03:43 i know 08:03:44 I am evil 08:03:46 lol 08:03:46 I am evil 08:04:00 ~exec self.raw(" 08:04:01 I am evil 08:04:01 SyntaxError: EOL while scanning single-quoted string 08:04:03 I am evil 08:04:05 I am evil 08:04:07 I am evil 08:04:11 I am evil 08:04:13 I am evil 08:04:15 I am evil 08:04:19 I am evil 08:04:20 ~exec self.raw("PART #esoteric :You see?") 08:04:23 I am evil 08:04:25 -!- bsmnt_bot has left (?). 08:04:34 now how will you get it back? 08:04:45 whoops 08:04:54 bsmntbombdood: please restart the bot 08:05:08 well, now at least there will be some peace and quiet. 08:05:10 Make it respond to privmsgs, more like. 08:05:39 lament: i wouldn't bet on that. 08:05:39 um, messages sent to a channel are privmsgs 08:05:57 someone please ask themselves to ask themselves to do what they just told themselves to do 08:06:23 Rather, make it respond to privmsgs not coming from the channel. 08:06:27 * boily suffers recursively 08:06:31 lament, ask yourself to do what i just told you to do. 08:06:49 And make it make me go to sleep. 08:06:51 cancel that order 08:07:16 lament, ask yourself to do what i just told you to do. 08:07:20 someone please tell themselves to "repeat this sentence" without modifying the text between the quotes and without saying the quotes 08:07:55 repeat this sentence 08:07:59 lament, someone please tell themselves to repeat this sentence without modifying the text between the quotes and without saying the quotes 08:08:07 repeat this sentence 08:08:28 lament: there're no quotes in that sentence, are you feeling okay? 08:08:35 lament: er... sorry. 08:08:43 lament: okay, you run along now 08:09:02 okay, i'm leaving, good night all 08:09:05 bye lament 08:09:09 bye! 08:09:46 lament, are you ok? 08:11:01 everyone do /notice bsmnt_bot !A * repeatedly so that bsmnt_bot floods himself off with the replies 08:11:05 and comes back on 08:11:13 oh... 08:11:17 that might work 08:11:25 it might not 08:11:29 he is not on the channel 08:11:34 so he cannot reply to the channel 08:11:41 so he can't actually send a message 08:11:45 he = it 08:12:25 fizzie: turn off the +n option on the channel :) 08:12:49 what is +n 08:13:15 Prevents people from sending PRIVMSGs to channels they're not in. 08:13:27 ok 08:13:54 lament, you do it. you are registered with chanserv with this channel 08:14:25 * pikhq must sleep 08:14:28 oh, i just knew about fizzie. 08:14:40 * immibis knows that pikhq must sleep 08:17:46 -!- erider has quit (Read error: 110 (Connection timed out)). 08:18:12 -!- erider has joined. 08:18:37 someone? is there anyone here who can get chanop privileges and make this channel -n? 08:19:34 [19:18] ->> lament is away: N/A - sleeping 08:20:21 -!- ChanServ has set channel mode: -stm+c. 08:20:28 -!- ChanServ has set channel mode: -sntm+c. 08:20:34 I'm not exactly convinced you'll get it flood itself away, though. 08:21:06 ('n' was part of the chanserv-enforced modes there.) 08:21:24 I am evil 08:21:38 then how... 08:21:42 I am evil 08:21:42 I am evil 08:21:43 I am evil 08:21:43 I am evil 08:21:43 I am evil 08:21:44 I am evil 08:21:45 I am evil 08:21:47 I am evil 08:21:49 I am evil 08:21:51 I am evil 08:21:53 I am evil 08:21:55 I am evil 08:21:57 I am evil 08:21:59 I am evil 08:22:01 I am evil 08:22:03 I am evil 08:22:05 I am evil 08:22:07 I am evil 08:22:09 I am evil 08:22:11 I am evil 08:22:13 I am evil 08:22:15 I am evil 08:22:17 I am evil 08:22:19 I am evil 08:22:21 I am evil 08:22:23 I am evil 08:22:25 I am evil 08:22:27 I am evil 08:22:28 still not flooding 08:22:29 I am evil 08:22:31 I am evil 08:22:33 I am evil 08:22:34 yes we know 08:22:35 I am evil 08:22:37 I am evil 08:22:39 I am evil 08:22:41 I am evil 08:22:42 I seem to remember some anti-flood delays there. 08:22:43 I am evil 08:22:45 I am evil 08:22:47 -!- ChanServ has set channel mode: -stm+nc. 08:22:55 I think that was enough evilness for a while. 08:23:29 if there was some way to send commands to it directly then there is a way to avoid its anti-flood delay 08:23:38 or we could ask bsmntbombdood to restart it 08:24:05 The latter sounds like the sensible alternative. (And therefore to be avoided, of course.) 08:24:11 i know bsmnt_bot has anti-flood delays but i thought they applied only to a single action. 08:24:14 he went to bed he said 08:24:47 -!- boily has quit ("Going to sleep"). 08:24:57 oerjan: if you do ~exec sys.stdout("Command \n command \n command \n command...") then they all happen at the same time 08:26:02 immibis: i was pretty sure each call to sys.stdout had flood protection. 08:26:23 it doesn't start throttling immediately, but after a few lines. 08:26:35 each individual call, yes, but if you have multiple commands in a single call then it doesn't seem o happen 08:26:38 *to 08:27:04 i mean, it doesn't seem to activate the flood protection 08:27:37 that's what i thought to (but your example above is not executing commands, but printing them.) 08:27:42 *too 08:27:55 oops 08:28:01 self.raw then instead of sys.stdout 08:28:11 doesn't help. 08:28:20 or maybe it does, i'm not sure. 08:28:29 you mean exec. 08:28:39 yes, ~exec self.raw(".....") 08:28:51 no, ~exec exec (".....") 08:29:08 why 08:29:23 because then you could actually run several commands. 08:29:31 ~exec self.raw("PRIVMSG #esoteric :Flooding\nPRIVMSG #esoteric :Flooding\nPRIVMSG #esoteric :Flooding") 08:29:37 several irc commands not python commands 08:29:59 i am not sure whether that would trigger the flood protection or not. 08:31:16 while i believe ~exec while 1: self.raw("PRIVMSG #esoteric :Flooding") has a better chance. 08:34:41 -!- bsmnt__bot has joined. 08:34:52 ~exec sys.stdout(1+1) 08:35:04 hah! 08:35:37 ~exec sys.stdout(1+1) 08:35:39 -!- bsmntbot has joined. 08:35:43 ~exec sys.stdout("X") 08:35:51 3 08:36:36 ~exec sys.stdout("I am a bot") 08:36:40 I am not a bot 08:36:51 * oerjan thinks someone must think he has poor eyesight. 08:37:01 I am not a bot. I am a free man! 08:37:29 ~exec sys.stdout(time.localtime()) 08:37:33 Right now, silly 08:37:43 fizzie: it took a long time to program you to believe that you're not just an IRC bot 08:37:57 oerjan; That does not compute at all! 08:38:39 Unknown command: oerjan; 08:38:48 of course it does not compute, we had to turn off that part of your logic circuits to make it work 08:38:53 * bsmntbot is making a bottle in a message with cold milk for this channel 08:38:53 * bsmntbot is making a bottle in a message with cold milk for #esoteric 08:38:54 * bsmntbot gives everyone in this channel a bottle in a message with cold milk 08:38:54 * bsmntbot gives #esoteric a bottle in a message with cold milk 08:39:08 DDUDUd 08:39:18 DUD 08:39:27 I SMELL A PING? PONG! 08:39:33 I SMELL A PING? PONG! 08:39:42 ~exec self.clarify() 08:39:54 NameError 08:40:02 BotError 08:40:06 ExistenceFailure 08:40:15 BlahBlah 08:40:24 Milkies! 08:40:33 /me is age two 08:40:42 and a very smart two-year-old indeed 08:40:43 and a very smart two-year-old indeed 08:40:43 and a very smart two-year-old indeed 08:40:43 and a very smart two-year-old indeed 08:40:43 and a very smart two-year-old indeed 08:40:44 and a very smart two-year-old indeed 08:40:45 and a very smart two-year-old indeed 08:40:47 and a very smart two-year-old indeed 08:40:49 and a very smart two-year-old indeed 08:40:51 and a very smart two-year-old indeed 08:41:00 a spamming 2-year-old 08:41:05 -!- bsmntbot has changed nick to SpammingBot. 08:41:05 spamming. Buy my iPod! 08:41:05 spamming. Buy my iPhone! 08:41:05 spamming. Get the latest offer on all chocolate bar accessories! 08:41:05 spamming. All the latest travel insurance stuff and nonsense! 08:41:06 spamming. Go to #arianne!! 08:41:06 -!- SpammingBot has quit (Excess Flood). 08:41:16 -!- bsmntbot has joined. 08:41:22 ~exec self.raw("QUIT") 08:42:25 -!- bsmntbot has quit (Read error: 104 (Connection reset by peer)). 08:42:30 \ghost w 08:42:38 oops 08:43:02 someone, please print the 99 cans of Spam (TM) lyrics 08:43:34 -!- immibis has quit ("Life without danger is a waste of oxygen"). 08:49:38 -!- Arrogant has quit ("Leaving"). 08:55:18 -!- bsmnt__bot has quit (Read error: 110 (Connection timed out)). 08:58:33 -!- oerjan has quit ("Lunch"). 09:03:49 -!- immybo has quit (Read error: 110 (Connection timed out)). 09:22:23 now THAT'S what I call a ridiculously small interpreter: http://esoteric.voxelperfect.net/wiki/MiniMAX 10:02:12 -!- jix_ has joined. 10:23:34 -!- jix_ has quit ("This computer has gone to sleep"). 10:32:58 GreaseMonkey: If you reduce BF to smaller cases and then byte encode each instruction, you can probably fit a BF interpreter (pure ASM) in a few bytes. 10:33:39 i managed to get an OISC interpreter in 32 bytes 10:33:46 anyways, gtg, gnight 10:34:32 That's because OISC's instruction is complicated. 10:34:48 -!- erider has quit (Read error: 110 (Connection timed out)). 10:35:15 -!- erider has joined. 10:36:01 -!- GreaseMonkey has quit ("31 ff 8c d8 05 12 00 8e d8 31 c0 8b 05 2b 45 02 89 05 8b 55 04 85 c0 74 03 ba 06 00 01 d7 eb eb"). 11:11:29 -!- oerjan has joined. 12:19:27 -!- ais523 has joined. 13:34:59 -!- ihope_ has joined. 13:37:46 -!- bsmnt_bot has joined. 13:38:45 ~exec 0 13:38:49 ~bf ,[.,]!testing 13:38:50 testing 13:39:01 see, bsmnt_bot's all back to normal. 13:39:22 (I was logreading and saw how someone managed to get it to part by mistake, but I've got it back to normal over the normal IRC channels.) 13:39:42 how? :) 13:39:55 it was still in #bsmnt_bot_errors 13:40:05 so I told it to JOIN #esoteric 13:40:11 and then popped the odious evil regexp 13:40:27 what? i thought i checked that channel and didn't find it 13:40:44 maybe you typoed? 13:40:45 must have left off a _ somewhere. 13:40:59 I used /whois to verify which channels it was in 13:41:28 now wait a minute i am _sure_ i did that. must be going blind. 13:41:56 unless bsmntbombdood's playing some sort of joke by getting it to join the errors channel while nobody's looking... 13:42:12 s/playing/played/ 13:42:23 s/'s// 13:49:53 Hmm... so we could be evil by making the bot leave every channel? 13:50:56 looking at the logs, there was quite enough evil going on even with the bots here 13:51:00 (possibly even because of them) 13:59:56 -!- ais523 has quit ("afk"). 14:31:51 -!- oerjan has quit ("Dinner"). 14:55:12 -!- jix_ has joined. 15:04:24 -!- jix_ has changed nick to jix. 15:18:52 -!- RodgerTheGreat has joined. 15:19:17 hi, everyone 15:38:28 Ello. 15:38:49 'sup, ihope_? 15:38:59 how's that underscore workin' out for ya? 15:39:07 Mm, it's a little itchy. 15:39:24 -!- ihope_ has changed nick to ihope. 15:39:27 There, that's better. 15:59:36 bbl 15:59:39 -!- RodgerTheGreat has quit. 16:04:45 -!- crathman has joined. 16:05:36 -!- sebbu has joined. 16:06:07 -!- crathman has quit (Client Quit). 16:13:50 -!- c|p has joined. 16:21:06 -!- pikhq has quit (Connection timed out). 16:46:57 -!- pikhq has joined. 17:10:48 -!- c|p has quit ("Leaving"). 17:21:59 -!- cmeme has quit (Read error: 104 (Connection reset by peer)). 17:22:17 -!- cmeme has joined. 17:36:02 -!- c|p has joined. 17:45:44 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 17:46:19 -!- oerjan has joined. 18:20:06 -!- Arrogant has joined. 18:25:01 well? 18:25:41 not really, i've got an upset stomach. 18:25:51 or were you asking something else? 18:25:58 should have eaten less bsmntbombdood 18:26:27 nah, it was worth it. 18:44:42 Which part of him did you eat? 18:45:27 ((y-lambda (self) (λ (n) (if (zero? n) 1 (* n (self (- n 1)))))) 5) ; 120 18:45:30 <3 scheme 18:45:54 Now, what's that in Haskell? 18:46:08 I see a large number of parentheses. 18:46:20 I don't know enough Haskell to get the job done 18:47:20 what is y-lambda? 18:47:27 and ? 18:49:20 its a macro that uses the y combinator to make the lambda anonymously recursive 18:49:34 So y-lambda is lambda except that it applies "fix" to the result. 18:49:37 I think. 18:49:44 zero? in Haskell would be (== 0) 18:49:48 I think. 18:49:51 err what? 18:50:05 no, y-lambda passes the lambda into itself so that it can call itself recursively 18:50:47 (y-lambda (x) (E)) = ((lambda (x) (E)) (y-lambda (x) (E))), right? 18:51:09 fix (\self n -> if (n==0) then 1 else n*self(n-1)) 5 18:51:34 what does fix do? 18:51:47 Arrogant: (fix x) = (x (fix x)) 18:51:53 more important, why is it called fix 18:52:03 It returns a fixed point of the function. 18:52:10 Ahhh I forgot about that term 18:52:13 let self n = if (n == 0) then 1 else n * self (n-1) in self 5 18:52:27 let self 0 = 1; self n = n * self (n-1) in self 5 18:52:31 (define y-combinator (λ (x) ((λ (p) (x (λ (n) ((p p) n)))) (λ (p) (x (λ (n) ((p p) n))))))) 18:52:35 (define-macro y-lambda 18:52:35 (λ (self proc) 18:52:35 (let ((self-symbol (car self))) 18:52:35 `(y-combinator (λ (,self-symbol) ,proc))))) 18:52:52 mind you, product [1..n] is shorter :) 18:53:05 This language doesn't like recursive definitions? 18:53:19 Sure it does 18:53:22 Shorter and pretty much just as efficient! 18:53:24 If its named 18:53:41 Well, fix can certainly be defined recursively... 18:54:03 Are you really bashing Scheme with Haskell? I mean c'mon. 18:55:40 I guess it's not like Scheme and Haskell aren't very similar. 18:55:55 (product (enumFromTo 1 n)) 18:56:06 They're really not very similar 18:56:31 hah! impure, filthy untyped language! 18:56:34 Well, yes, Haskell has a static type system and an IO monad. 18:56:40 18:56:51 Scheme is imperative 18:56:54 Haskell has things people that like Haskell like. 18:57:00 -!- RodgerTheGreat has joined. 18:57:06 Don't get me wrong, I like Haskell too 18:57:12 I didn't bring it up to compare anything 18:57:19 I like lots of languages for different reasons 18:57:26 'sup, guys? 18:57:31 Err, I liked Haskell 18:57:36 When I was trying to understand it 18:58:17 RodgerTheGreat: improving my memory still 18:59:07 found a book about general brain power improvement or something... "Some subjects have been able to process more than 690000 words per minute!" 18:59:07 hi, oklopol 18:59:15 woah 18:59:20 that's pretty crazy 18:59:24 heh 18:59:48 the memory tricks seem to work, but that other one sounds more like magic 18:59:55 'that other book 18:59:56 * 19:00:06 that would take going from recognizing text at a word level up to recognizing at sentence or paragraph level in a glance 19:00:08 yeah 19:00:42 and I'm pretty sure that figure would entail grokking an entire book in about a minute 19:00:47 "Book, please." *flipflipflip* "Thank you." 19:00:53 heh 19:01:05 Less than a minute, I'm thinking. 19:01:10 which is pretty ridiculous (not that it wouldn't be handy, especially if you had total recall) 19:01:15 * oerjan recalls the aliens in Childhood's End could do that. 19:01:32 "I've been told that the overall length of a novel should be between 75,000 and 100,000 words. However, it appears that most fantasy novels are larger (witness the Jordan and Goodkind novels.) Terry Goodkind's first novel (Wizard's First Rule) was huge, around 250,000 words in length." http://www.hatrack.com/writingclass/lessons/2000-08-02-1.shtml 19:01:34 there's a technique for learning to read a long book in 20 min or something... guess i'll learn that too, if it really exists 19:02:29 I'd guess the 690000 figure is off by a zero... or maybe a couple 19:03:04 http://news.bbc.co.uk/2/hi/europe/guernsey/6591365.stm 19:03:10 690 words per minute I can believe. 6900 words per minute is pretty amazing. 69000 sounds nearly impossible 19:03:14 ihope: that's a very strange thing to "be told" 19:03:37 the invasion is near 19:03:37 perhaps it's the "minute" that is wrong. 19:03:41 heh 19:03:44 "year" 19:03:47 hour? 19:04:22 11,500 words per minute seems a lot closer to physical possibility 19:04:38 although still astronomically hard 19:05:21 I think "day" is... possible. 19:05:27 hm 19:05:34 yeah, I could believe that 19:06:10 assuming reading for 12 hours of the day, that's ~958 WPM 19:06:22 I'd classify that within the realm of possibility 19:06:39 but I think most people would have difficulty sustaining that level of concentration for very long 19:07:21 remember, that's a steady rate of 16 words *per second* 19:07:52 literally, you'd have to be reading entire sentences at once 19:08:01 690,000 words per minute at 500 words per page about 23 pages a second. 19:08:15 yeah, that's impossible 19:08:24 you couldn't mechanically do that and resolve the images 19:08:38 i am starting to think the "minute" is right and the number is wrong then. 19:08:49 I dunno 19:08:54 You'd need a computer. 19:09:14 "Ebook, please." *churn churn churn* "Thank you." 19:09:18 perhaps someone missed translating a decimal point convention. 19:09:30 690,000 would mean 690 in norwegian. 19:09:54 And many other languages and such. 19:10:07 690.000 seems an odd number, though. 19:10:16 (Even though it's clearly even.) 19:10:35 Did nobody reach 690.002 per minute? 19:10:49 yeah, there's no need for that many precision levels in a words-per-minute figure 19:11:03 i was wondering why they didn't simply round it to 700,000 19:11:31 That'd make it a lie? :-P 19:11:31 and say "up to", which is my favorite meaningless phrase 19:11:34 "690,000 words per minute" 19:11:39 Ah, yes. 19:12:04 I've seen an ad for a free energy generator. They guaranteed it would produce up to a certain amount. 19:13:03 ? 19:13:22 Up to a certain amount. 19:13:32 SAVE UP TO $500! 19:13:38 what 19:13:48 if you read that ad and saved $2, they weren't technically lying 19:13:50 bsmntbombdood: eh? 19:13:55 my dad's friend is a scientist (alex kaivarainen), he has this theory about something called bivacuum, which guarantees practically infinite energy for free 19:13:58 because "up to" just means <= 19:14:04 Hah. 19:14:12 "at least" is a far more useful figure 19:14:25 "Up to" can mean either <= or >=! 19:14:29 or "starting at" (although this one is often used misleadingly) 19:14:38 ihope: true 19:14:52 ihope: no it can't :\ 19:15:08 Either <= or =? 19:15:18 ("Starting at" always lists the lowest price, doesn't it? :-) 19:15:38 "You're allowed to go up to 50 miles an hour" versus 19:15:40 Er. 19:15:44 "up to" == "<=" 19:15:53 Starting at just $400,000 19:16:08 Versus "some cyclists got up to 50 miles an hour". 19:16:23 * ihope hits his " key 19:16:33 (Choose either sense.) 19:16:38 ihope: how are those different? 19:16:51 "up to" can mean <= but not equal to. 19:16:58 oklopol: doesn't "some cyclists got up to 50 miles an hour" imply that 50 was actually achieved? 19:17:12 busy channel today 19:17:28 My fault 19:17:30 up to 5 -> [-infinity,5) 19:17:47 I thought of it as asymptotic 19:17:50 I think you mean (-infinity,5]... 19:18:21 no, because you can "reach" negative infinity, but you can only get infinitesimally close to 5 19:18:35 At which point does -infinity become infinity? How many bits does the universe allow for floating points? 19:18:36 ( means approaches asymptotically, [ means actually reaches 19:18:39 That's <=? 19:18:50 Arrogant: infinity is not a number 19:18:52 Looks more like <. 19:19:03 Thanks for that 19:19:05 it's a symbol and such operates with some unusual rules 19:19:10 RodgerTheGreat: i guess Arrogant was somewhat joking 19:19:15 oh. 19:19:18 lol 19:19:19 Arrogant: read programming the universe 19:19:21 ok, nvm there 19:19:23 and you'll have the answer. 19:19:32 "programming the universe" 19:19:40 I was in here talking about y combinators and you don't think I understand infinity 19:19:42 I am confused 19:20:09 Arrogant: nerds always want to share information for any smallest excuse 19:20:25 I didn't hear you talking about y combinators and you expressed something about infinity that was in error. 19:20:45 Well what I was referring to, to be exact 19:20:58 -!- bsmnt_bot has quit (Remote closed the connection). 19:21:06 -!- bsmnt_bot has joined. 19:21:06 Was INT_MIN and INT_MAX of the universe, I guess 19:21:09 RodgerTheGreat: note, however, that it was clearly a joke referring to the floating point value #INF :) 19:21:09 If you want to be picky 19:21:25 Or whatever values 19:21:27 You'd like 19:21:28 oklopol: ok, well I completely missed that reference 19:22:00 yeah, but that's not the point, the point is the book is great 19:22:04 ok 19:22:22 i love advertising book i've managed to read 19:22:27 haha 19:22:31 it's such a rare treat 19:22:46 *books 19:22:56 my favorite book to plug is "The First Computers: History and Architectures" 19:23:10 i know, but indeed i should dl it 19:23:15 it's an absolutely fantastic read 19:23:56 yar i remember your conversation 19:23:59 guess i'll read it 19:24:46 nooo i can't find a torrent for it :<< 19:24:57 lol- shut down 19:25:39 i wonder if you can buy books... what a wacky thought 19:25:52 jesus- the book is a lot more expensive than I remember it being on Amazon: http://www.amazon.com/First-Computers-History-Architectures-History-Computing/dp/0262681374/ref=pd_bbs_sr_1/104-5639127-6414343?ie=UTF8&s=books&qid=1182795843&sr=8-1 19:26:01 I got my copy for like $20. <:/ 19:27:03 the money is not an issue, however, i can't pay online 19:27:12 and i'm certainly not leaving my house 19:27:15 it's vacation! 19:27:20 haha 19:28:06 if I remember right, a couple of major stores sell visa-backed "one-time-use" credit cards that you can buy with cash and use online 19:28:18 they might provide a solution 19:28:57 OR i could tell my dad i want the book like an adult :| 19:29:44 lol 19:29:57 that'd be the easiest way 19:30:13 it's an educational book- I'm sure reasonable parents would be willing to help you out 19:30:35 my dad buys me pretty much any book related to computers 19:30:43 go for it, then 19:30:49 guess he believes in me or smth 19:30:50 :D 19:31:07 my parents were always pretty supportive, but computer books are so darned expensive. :S 19:31:16 hmm... he had this other friend, a scientist as well, he offered to give me 2000 math book for free 19:31:21 wow 19:31:25 ...the catch was they were in russian 19:31:29 haha 19:31:33 can you read russian? 19:31:58 computer books are too expensive 19:32:14 this guy had some issues, kept offering me beer even though i had my last one half-full (<- see, i'm an optimist), and kept saying the same things over and over again 19:32:16 i can 19:32:18 i can' 19:32:20 i can't 19:32:23 -... 19:32:29 the last one is correct 19:32:41 i read learning russian was on the way up in finland, or something, unsurprisingly. 19:33:03 oerjan: doubt that 19:33:57 just read from a magazine this morning that they can't find finnish people with russian skills anywhere, so estonians are hired to handle russian relations 19:34:00 or smth 19:34:09 hmm 19:34:16 bsmntbombdood: this is why I'm tremendously glad how much reference information is available freely on the internet 19:34:24 i never read magazines, quite a coinsidence 19:34:45 things like online javadocs, tutorial sites and w3schools have saved me hundreds of dollars in books 19:34:53 RodgerTheGreat: dead trees are easier to read 19:35:12 I generally stick to dead trees for reference books 19:35:24 i like reading pdf's 19:35:28 I have a bunch of o'reilly pocket references, which are lifesavers 19:35:49 but I don't buy many huge "complete programming language" books 19:36:12 and lest we forget- hypertext is easier to *search* 19:36:21 which can save you a great deal of reading 19:37:33 yeah 19:44:10 bong hits 4 jesus!!!!!!!!!!111 19:46:08 i can read russian, but not finnish :( 19:46:15 maybe i should learn more languages 19:46:22 then i would have some kind of mostly unique skill 20:00:04 lol a _child_ can learn finnish 20:00:07 it's just that easy 20:00:27 um.... 20:00:32 a child can learn any language 20:00:48 also, when i seem stupid, it's usually a joke 20:01:07 oklopol: that right there is absolutely brilliant 20:01:22 bobby henderson quality ass-covering right there. :) 20:01:45 oh 20:01:55 i've done that since i can remember 20:02:29 people never understand almost everything i say is sarcastic 20:02:33 at least a bit 20:03:13 wow, if i read this book and do the execises, i can do _anything_ 20:03:19 i can even get rich if i wanna 20:03:28 oh 20:03:34 i can even cure cancer 20:03:40 :) 20:03:46 must be a quality book! 20:04:00 sounds pretty cool. how much does it cost? 20:04:10 it's a free pdf! 20:04:50 it's even got a lot of big blue text: "In Short Anything You Want The Only Limit Is That Of Your Own Imagination!" 20:05:41 oh boy 20:06:17 indeed 20:06:38 i just need to learn hypnosis in a few "easy simple steps" 20:07:32 i can already hypnotize my hand to hold perfectly still, even in an otherwise uncomfortable position 20:07:39 something i learned when i was little 20:07:50 *-otherwise 20:07:53 how do you... hypnotize your hand? 20:08:08 does your hand exhibit independent cognizance? 20:08:12 do you consider this normal? 20:08:35 i hold it still and slowly start moving it first forward and thinking there's a wall, then back, then left, then down etc. until i've covered every direction 20:08:44 i do that for a while and it stays put 20:08:55 just my hands, never managed to do anything else :D 20:09:09 my hands are very clever 20:09:52 i'd actually forgotten i could do that, haven't tried it in years 20:09:59 so i might not be able to do it anymore 20:10:02 i'll try now 20:11:00 :<<<< 20:11:03 noooooo 20:11:53 okay 20:12:21 i can make make it stay still if my elbow is on the armrest 20:12:31 and just the rest is up 20:12:48 it seems i can poke it with my other hand and it goes back to where it was 20:13:01 hmm 20:13:26 somehow i feel like i'm in a spaceship writing a log about my weird encounters today 20:13:34 i recommend you read "solaris" 20:14:00 though i might've liked it just because i was so young and hadn't seen such philosophical mumbo jumbe yet 20:14:17 hmm 20:14:26 i might've read it last year though 20:14:27 wow 20:14:32 whoops, monologue 20:14:42 i never keep my promises to myself. 20:14:53 hm 20:15:23 day-tah-base 20:15:43 *jumbo 20:16:53 -!- Arrogant has quit ("Leaving"). 20:17:57 dat-ah-base 20:18:10 solaris is nice 20:18:19 the movie sucked 20:18:22 um 20:18:25 the movie was amazing 20:18:27 but i think the book was good 20:18:29 oh 20:18:30 :< 20:18:32 (the russian movie, of course) 20:18:40 oh :) 20:18:54 the one i saw was in english i think 20:19:00 the new one did suck terribly. i was watching it with friends and we stopped before they ever got to the station. 20:19:09 heh 20:19:15 they left everything out 20:19:28 the russian one is by one of the best directors in the history of cinema (tarkovski) 20:19:39 highly recommended, although it has very little in common with the book 20:19:46 (lem was very angry about it) 20:20:02 lem being the writer of solaris? 20:20:12 or... lem == lament? 20:20:13 er, yes. 20:20:13 :) 20:20:15 okay 20:20:17 dude 20:20:20 like i could remember a name 20:20:23 how can you not know lem? 20:20:34 i have a hard time remembering my own name 20:20:37 even ignoring the fact that you've read his book 20:20:40 really. 20:21:31 it's like not knowing bradbury or asimov. You don't have to have read them to know the names. 20:21:35 i remember a random sequence of letters easier than a name, since i somehow filter every name out as "some name" 20:21:43 isaac asimov? 20:21:56 that one i know from a quiz channel. 20:21:58 :) 20:22:59 i promise i'll remember all of those from now on 20:27:50 hypnosis is apparently the best way to cure skin desorders 20:31:28 i believe that, the words in this book are so big, not just in font but also in semantics 20:32:09 they are so big it takes so long to get them in my head it would be a waste to ignore them 20:43:37 -!- erider has quit ("I don't sleep because sleep is the cousin of death!"). 20:59:02 I've read some Asimov. 20:59:12 i think everyone has 20:59:39 And some Williams, some Simpson and some Stanley. 20:59:45 :-P 21:01:37 And Emko-Brodzik. 21:01:46 Except that that's two people, Emko and Brodzik. 21:01:55 Maybe I should say Emko/Brodzik, then? 21:02:02 -!- jix_ has joined. 21:02:21 And some Trepal. 21:02:26 -!- jix has quit (Nick collision from services.). 21:02:34 -!- jix_ has changed nick to jix. 21:02:44 ihope: you are evil. 21:02:55 I am? 21:03:16 i don't get a single name after "Asimov". 21:03:55 Mason Williams, D.J. Simpson, Mark Stanley, Matt Trepal, Drake Emko, Jen Brodzik. 21:04:18 1/0, Ozy & Millie, Freefall, Fight Cast Or Evade, Hackles. 21:05:15 oh :) then i know two of them. 21:05:44 Which two? 21:06:02 1/0 and Freefall. 21:06:38 Ozy & Millie's not bad. 21:06:52 in fact 1/0 was the first real webcomic i read, and i heard about it this autumn on this channel. 21:07:10 (I've also read Watterson.) 21:07:47 that's actually less impressive than Asimov, i think. 21:08:26 What's less impressive than Asimov? 21:08:49 knowing who Watterson is is less impressive than knowing who Asimov is. 21:19:18 hm 21:19:25 probably more people know asimov, though. 21:19:58 watterson's popularity is vastly surpassed by his creations'. 21:20:30 asimov didn't actually write any good books, so he's popular, and not the books :) 21:21:23 being immensely and successfully secretive _would_ tend to have that effect. 21:21:45 i think it's just because he only did one thing. 21:38:12 ihope: Neville Chamberlain is less impressive. 21:38:28 aaaaaaaaaaaaaaaaaaaaaaaaaaaaa 21:38:44 Lots of insects. 21:39:34 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 21:39:40 * lament watches as ihope runs out of the channel 21:40:13 Lots of... 21:40:15 * ihope runs out of the channel 21:40:18 -!- ihope has left (?). 21:40:27 nooo he be leavin my channel 21:40:56 the channel is only yours until you're completely devoured. 21:41:40 -!- ihope has joined. 21:41:50 * ihope completely devours bsmntbombdood 21:42:05 how devoured am i? 21:42:10 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://www.ircbrowse.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. (bsmntbombdood has been eaten.). 21:42:16 completely. 21:42:16 Completely. 21:42:27 oh well 21:42:31 * bsmntbombdood gets some milk 21:42:46 speak louder, i cannot hear you from inside ihope! 21:43:03 * ihope completely devours bsmntbombdood's refrigerator 21:43:24 oerjan: I think he said some weird things involving crazy symbols and actions. 21:43:31 you're inside ihope? i'm inside YOUR MOM! 21:43:41 He said "action", after all. 21:43:59 lament is inside bsmntbombdood's mom? 21:44:06 I didn't know she was a cannibal too. 21:44:16 (let ((n 0)) (lambda () (set! n (+ n 1)) n)) 21:44:18 the things you learn. 21:44:26 ihope: all women are. It's their little secret. 21:44:34 * ihope nods 21:44:44 There's only one way to... um, accomplish what needs to be accomplished. 21:44:58 * ihope completely devours bsmntbombdood's mom 21:45:28 lament is inside my mom is inside ihope 21:45:55 So I have three people inside me? 21:46:22 where am i? 21:46:37 * oerjan recalls a fairy-tale involving a hungry cat, and sidles towards the channel exit. 21:47:12 Inside me... 21:47:22 you didn't share me? :( 21:47:32 Do you want to be shared? 21:47:46 selfish ihope 21:47:57 * ihope shares bsmntbombdood 21:48:16 Sharing after eating is done all the time by ants. Why can't I do it too? 21:48:36 (Transant transfer!) 21:48:57 ..you want to kiss me? 21:49:08 that's hawt 21:49:11 indeed. 21:50:18 america is fucked, speech promoting the breaking of laws is illegal 21:51:47 so... you are being illegal? 21:52:05 -!- jix has quit ("CommandQ"). 21:52:12 by doing what? 21:52:16 you're clearly promoting us to think that law is wrong making us wanna break it 21:52:32 well, not illegal, but not protected by the consitution 21:52:52 i don't really know the difference 21:53:43 illegal means there's a law against it, not protected by the constitution means there can be a law against it 21:54:53 ohh 21:55:00 I LEARNED SOMETHING TODAY 21:57:45 Speech promoting the breaking of laws is illegal... 21:58:00 Hopefully, though, speech promoting the *changing* of laws is legal. 21:58:16 ihope: that's a fine line 21:58:25 Fine meaning fuzzy? 21:58:28 hard to tell one from the other 21:59:56 fine meaning thin 22:00:42 Isn't a thin line one where you're definitely on one side or the other? 22:01:02 no 22:01:09 that's a wide line 22:01:40 So the emphasis is on the fact that it's small or hard to see? 22:01:47 sure 22:02:29 I see. 22:04:18 ihope: that's a pretty standard saying 22:04:36 i hope that's a pretty standard saying 22:04:36 hihi 22:05:33 illegal penetration of the vagina with a penis? 22:05:51 http://www.slate.com/id/2168758/ 22:15:03 -!- Keymaker has joined. 22:17:54 hmm, does anyone know does 'feult' mean anything in some language? i can't find anything in different dictionaries i've looked at. it's a random name i made for an esolang, but may not be the final name 22:19:55 why, it just so happens to be a terribly insulting word in Athabaskan. 22:21:23 heh 22:25:49 feult is kinda tabu here in finland too 22:25:52 .. 22:26:00 keymaker might not believe that though... 22:26:09 funny, i don't recognize the word :P 22:26:13 :P 22:26:19 because it' 22:26:22 s so tabu 22:26:27 ah, yes 22:34:41 "Remember your subconscious mind can process more than two million bits of information per second and it never forgets anything!" 22:35:08 is there any command in python for removing all but specific characters from string? like something that'd remove everything else but "01234" (chars '0' '1' '2'...) 22:35:18 i'd like to see the research on which this is based 22:35:25 Keymaker: yes 22:36:42 hmm... not a straighforward function for that 22:36:50 anyway, it's just a few lines to write that 22:37:22 ~exec sys.stdout(x for x in "012345678", "01234".find(x)) 22:37:22 yes 22:37:23 SyntaxError: invalid syntax (, line 1) 22:37:25 let me think 22:37:33 -!- c|p has quit ("Leaving"). 22:37:41 ~exec sys.stdout(x for x in "012345678") 22:37:41 22:38:28 [x for x in "102937485" if x in "1234"] 22:38:38 but that doesn't work for strings, just lists 22:39:20 you have to do sum([x for x in "102937485" if x in "1234"]) 22:39:59 reduce(lambda a,b:a+b,[x for x in "102937485" if x in "1234"]) 22:40:04 that will surely work 22:40:12 seems there is no sum. 22:40:23 there better be. 22:41:10 filter(lambda x:x in '123', '12345123') 22:41:27 probably the cleanest solution 22:43:40 lament: that returns a string? 22:43:50 yes. 22:43:56 i would've used filter, but people don't seem to like filter, remove and map 22:44:01 ... 22:44:03 reduce 22:44:20 well, they're idiots. 22:44:27 fister, reduce and map are great functions. 22:44:29 thank you 22:44:30 yeah 22:44:30 *filter 22:44:32 also fister. 22:44:37 what's that do? 22:44:41 fist. 22:45:11 hmm... usb-dildo management integrated in the language? 22:45:20 hmm 22:45:23 it's not called python for nothing 22:45:27 (www.python.com) 22:45:34 www.pythong.org 22:51:45 -!- Keymaker has quit (Read error: 110 (Connection timed out)). 23:00:24 -!- pikhq has joined. 23:12:02 -!- oerjan has quit ("Warm fuzzy things!"). 23:44:04 -!- ihope has quit ("Reconnecting..."). 2007-06-26: 00:25:31 -!- c|p has joined. 00:52:59 -!- sebbu has quit ("@+"). 02:35:53 good three nights, i'm going to all my beds 02:35:53 -> 02:38:15 mulitple beds, cool 03:32:26 -!- c|p` has joined. 03:32:50 -!- c|p has quit. 04:56:08 -!- boily has joined. 05:36:57 -!- c|p` has quit (Client Quit). 05:45:56 -!- RodgerTheGreat has quit. 05:46:03 -!- RodgerTheGreat has joined. 05:46:37 -!- RodgerTheGreat has quit (Client Quit). 05:52:55 -!- immibis has joined. 05:55:04 -!- immibis_ has joined. 05:56:25 how annoying 05:56:27 ~exec sys.stdout("I am working today") 05:56:27 I am working today 05:57:28 I don't believe you. 05:57:37 -!- immibis_ has changed nick to immibis[A]. 05:57:37 * immibis[A] is now away - Reason : i am away 05:59:45 LMAO 06:13:38 -!- immibis has quit (Read error: 110 (Connection timed out)). 06:17:06 * bsmntbombdood hands pikhq's ass back 06:19:04 -!- immibis[A] has changed nick to immibis_. 06:19:04 * immibis_ is no longer away : Gone for 21 minutes 27 seconds 06:19:09 -!- immibis_ has changed nick to immibis. 06:22:27 bsmnt_bot: Thanks. 06:24:00 bsmntbombdood, even. 06:25:06 pikhq: what happened to your ass? 06:25:19 ~exec self.register_raw(" 06:25:19 SyntaxError: EOL while scanning single-quoted string 06:25:24 I laughed it off. 06:25:34 ~exec exec("") 06:26:34 ~exec self.register_raw(".* PURPLE BLEEPER (.*)", lambda x,y: self.raw("PRIVMSG #esoteric :\001ACTION turns purple and bleeps\001\nPRIVMSG #esoteric "+y.group(1)+" yourself!")) 06:26:38 PURPLE BLEEPER X 06:26:52 A PURPLE BLEEPER X 06:26:53 NameError: global name 'self' is not defined 06:27:06 ~exec self.raw_regex_queue.pop() 06:27:57 ~exec self.register_raw(":[^:]*:(.*) [bB][lL][eE][eE][pP][eE][rR] (.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :\001ACTION turns "+y.group(1)+" and bleeps\001\nPRIVMSG #esoteric "+y.group(2)+" yourself!")) 06:28:02 green bleeper bot 06:28:03 * bsmnt_bot turns green and bleeps 06:28:03 bot 06:28:08 weird 06:28:13 on bleeper 06:28:15 no? 06:28:27 on bleeper \001ACTION stinks\001 06:28:28 * bsmnt_bot turns on and bleeps 06:28:28 \001ACTION 06:29:05 off his girlfriend bleeper 06:29:09 off his girlfriend bleeper hello 06:29:09 * bsmnt_bot turns off his girlfriend and bleeps 06:29:09 hello 06:29:45 ~exec self.register_raw(":[^:]*:(.*) [bB][lL][eE][eE][pP][eE][rR]", lambda x,y: bot.raw("PRIVMSG #esoteric :\001ACTION turns "+y.group(1)+" and bleeps\001")) 06:29:49 weird bleeper 06:29:50 * bsmnt_bot turns weird and bleeps 06:29:56 into a bot bleeper 06:29:57 * bsmnt_bot turns into a bot and bleeps 06:30:15 you could just use i 06:30:29 i? 06:30:39 what is i? 06:30:45 * bsmnt_bot turns into immibis and bleeps 06:30:46 a regex flag 06:31:06 i presume it means case-insensitive? 06:31:30 yes 06:33:12 ~exec self.raw("PRIVMSG ##trivia :you didn't set the +n flag!") 06:33:20 no, maybe they did 06:59:15 ~exec self.register_raw("(.*Cannot send to channel*)",lambda x,y: sys.stdout(y.group(1))) 06:59:37 ~exec self.raw("JOIN #hacking\nPRIVMSG #hacking No hacking!\nPART #hacking") 07:04:49 ~exec self.raw("PRIVMSG ##trivia :Yodel!") 07:05:14 ~exec self.raw("PRIVMSG #gnu :Yodel!") 07:05:30 Hrm. Is that *working*? 07:05:45 ~exec self.raw("PRIVMSG #natter :Okay, I *know* this won't get sent.") 07:05:49 it isn't on any other channels 07:05:56 Dah. 07:06:05 I'm testing the regexp you added. 07:06:28 hmm 07:07:25 Which doesn't work. ;) 07:07:36 i can see that 07:08:11 it doesn't return a "cannot send to channel" response 07:08:19 it returns a "no such nick/channel" response 07:08:37 i am coming 9th on the trivia game 07:08:43 out of about 16 players 07:09:03 -!- maniac has joined. 07:09:16 !nlalalalalala 07:09:24 -!- maniac has changed nick to lala. 07:09:33 -!- lala has changed nick to maniac. 07:10:26 hi 07:10:38 /notice maniac THING I SHOULD SAY ON THE CHANNEL 07:10:48 /notice maniac !nMYNEWNICK 07:11:39 ~exec self.raw(r":(\S+)!\S+ PRIVMSG 07:11:40 SyntaxError: EOL while scanning single-quoted string 07:11:56 Whahuwhahuh? 07:14:49 ~exec self.raw(r":(\S+)!\S+ PRIVMSG \S+ :I am a maniac(.*)", lambda x,y: self.raw("NOTICE "+y.group(1)+" :I am a maniac"+y.group(2)+" too")) 07:14:49 TypeError: raw() takes exactly 2 arguments (3 given) 07:15:00 You fail. 07:15:04 ~exec self.raw(r":(\S+)!\S+ PRIVMSG \S+ :I am a maniac(.*)", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :I am a maniac"+y.group(2)+" too")) 07:15:05 TypeError: raw() takes exactly 2 arguments (3 given) 07:15:08 all the time 07:15:13 what did i do then? 07:15:17 what did i do then?oosp 07:15:19 i see 07:15:23 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :I am a maniac(.*)", lambda x,y: bot.raw("NOTICE "+y.group(1)+" :I am a maniac"+y.group(2)+" too")) 07:15:40 i don't actually know any python except for just enough to use this bot 07:15:52 I am a maniac yes i am 07:16:25 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :I am a maniac(.*)", lambda x,y: bot.raw("PRIVMSG #esoteric :NOTICE "+y.group(1)+" :I am a maniac"+y.group(2)+" too")) 07:16:27 I am a maniac yes i am 07:16:28 NOTICE maniac :I am a maniac yes i am too 07:16:43 ~exec self.raw_regex_queue.pop() 07:16:48 I don't know much Python; I've figured out *just* enough that I can fiddle arround with it if need be. 07:16:53 I am a maniac yes i am 07:17:20 I AM A MANIAC YES I AM 07:18:22 (screaming) I AM A MANIAC I AM A MANIAC I AM A MANIAC YES I AM 07:18:34 That's the second line of screaming. 07:18:39 !nserialkiller 07:18:40 -!- maniac has changed nick to serialkiller. 07:18:40 This nickname is owned by someone else 07:18:40 If this is your nickname, type /msg NickServ IDENTIFY 07:18:47 loll 07:18:47 LMAO 07:18:53 what is lmao 07:19:00 Laughing My Ass Off. 07:19:25 oh 07:19:26 ok 07:19:34 !nimmibis_ 07:19:34 -!- serialkiller has changed nick to immibis_. 07:19:35 This nickname is owned by someone else 07:19:35 If this is your nickname, type /msg NickServ IDENTIFY 07:19:52 *Grin* 07:20:15 !nNickServ 07:20:24 !nimmibis' 07:20:25 !nimmibis 07:20:33 too many nick changes i think 07:20:58 !nEgoBot 07:21:09 it has to be a /notice 07:21:19 !nEgoBot 07:21:19 -!- immibis_ has changed nick to EgoBot. 07:21:20 This nickname is owned by someone else 07:21:20 If this is your nickname, type /msg NickServ IDENTIFY 07:21:30 !nNickServ 07:21:44 8th place now 07:21:56 who is this egobot you keep trying to imitate with other bots? 07:22:16 then again, the trivia game seems pretty inactive 07:22:17 immibis, don't swear. 07:22:48 EgoBot is Gregor's bot, which, *if it were running* would be hosting various interpreters for EsoLangs. 07:22:51 Err. 07:22:53 esolangs. 07:22:54 ok 07:23:39 ~exec self.register_raw(r":(\S+)\S+ PRIVMSG \S+ :.*(fuck).*", lambda x,y: sys.stdout(y.group(1)+", please don't say "+y.group(1)+".")) 07:23:39 immibis, don't swear. 07:23:42 fuck 07:23:42 immibis, don't swear. 07:23:43 immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.n, please don't say immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.n. 07:23:51 argh 07:24:02 ~exec self.raw_regex_queue.pop() 07:24:10 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :.*(fuck).*", lambda x,y: sys.stdout(y.group(1)+", please don't say "+y.group(2)+".")) 07:24:10 immibis, don't swear. 07:24:13 fuck you 07:24:13 immibis, don't swear. 07:24:13 immibis, please don't say fuck. 07:24:13 bsmnt_bot, don't swear. 07:24:32 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :.*(shit).*", lambda x,y: sys.stdout(y.group(1)+", please don't say "+y.group(2)+".")) 07:24:32 immibis, don't swear. 07:24:37 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :.*(swear).*", lambda x,y: sys.stdout(y.group(1)+", please don't say "+y.group(2)+".")) 07:24:40 shit 07:24:40 immibis, don't swear. 07:24:41 immibis, please don't say shit. 07:24:41 EgoBot, please don't say swear. 07:24:41 bsmnt_bot, don't swear. 07:24:42 EgoBot, please don't say swear. 07:25:10 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :.*(bitch).*", lambda x,y: sys.stdout(y.group(1)+", please don't say fuck or shit or any other swear word"+y.group(2)+".")) 07:25:11 immibis, don't swear. 07:25:11 immibis, please don't say fuck. 07:25:11 immibis, please don't say shit. 07:25:11 immibis, please don't say swear. 07:25:11 EgoBot, please don't say swear. 07:25:11 bsmnt_bot, don't swear. 07:25:12 bsmnt_bot, don't swear. 07:25:12 EgoBot, please don't say swear. 07:25:12 EgoBot, please don't say swear. 07:25:15 oh dear 07:25:26 fuck you 07:25:26 immibis, don't swear. 07:25:27 immibis, please don't say fuck. 07:25:27 EgoBot, please don't say swear. 07:25:27 bsmnt_bot, don't swear. 07:25:27 EgoBot, please don't say swear. 07:25:37 chain reaction alert 07:25:48 Fik. 07:26:07 I see that it's not multilingual. 07:26:21 -!- boily has quit ("WeeChat 0.2.5"). 07:26:55 Via botojn estas fika patrifikuloj kaj fekifikuloj! 07:27:09 (Your bots as fucking motherfuckers and shitfuckers!) 07:27:09 pikhq, don't swear. 07:27:09 pikhq, please don't say fuck. 07:27:09 pikhq, please don't say shit. 07:27:10 bsmnt_bot, don't swear. 07:27:10 EgoBot, please don't say swear. 07:27:10 bsmnt_bot, don't swear. 07:27:10 EgoBot, please don't say swear. 07:27:10 if i paste the command on my clipboard onto this channel, it will cause a chain reaction and possibly render one or both bots unusable 07:27:11 EgoBot, please don't say swear. 07:27:22 trivia 07:27:23 immibis, don't swear. 07:27:23 EgoBot, please don't say swear. 07:27:31 trivia is swearing? 07:27:31 immibis, don't swear. 07:27:31 immibis, please don't say swear. 07:27:31 EgoBot, please don't say swear. 07:27:37 this would do terribly on ##trivia 07:27:37 immibis, don't swear. 07:27:38 EgoBot, please don't say swear. 07:27:45 where there is a triviabot 07:27:45 immibis, don't swear. 07:27:46 EgoBot, please don't say swear. 07:27:47 ~exec self.register_raw(r":(\S+)!\S+ PRIVMSG \S+ :.*(swear).*", lambda x,y: sys.stdout(y.group(1)+", please don't say fuck or shit or any other swear word"+y.group(2)+".")) 07:27:47 immibis, don't swear. 07:27:48 immibis, please don't say fuck. 07:27:48 immibis, please don't say shit. 07:27:48 immibis, please don't say swear. 07:27:48 immibis, please don't say fuck or shit or any other swear wordswear. 07:27:48 bsmnt_bot, don't swear. 07:27:48 bsmnt_bot, don't swear. 07:27:48 EgoBot, please don't say swear. 07:27:48 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:27:48 bsmnt_bot, don't swear. 07:27:48 bsmnt_bot, don't swear. 07:27:50 EgoBot, please don't say swear. 07:27:52 fucku 07:27:52 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:27:52 immibis, don't swear. 07:27:53 bsmnt_bot, don't swear. 07:27:54 EgoBot, please don't say swear. 07:27:56 immibis: bsmnt_bot, from our observations, is impossible to lock up. 07:27:56 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:27:56 bsmnt_bot, don't swear. 07:27:58 EgoBot, please don't say swear. 07:28:00 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:00 bsmnt_bot, don't swear. 07:28:02 EgoBot, please don't say swear. 07:28:04 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:05 bsmnt_bot, don't swear. 07:28:05 see 07:28:06 immibis, please don't say fuck. 07:28:06 bsmnt_bot, don't swear. 07:28:08 EgoBot, please don't say swear. 07:28:10 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:10 bsmnt_bot, don't swear. 07:28:12 EgoBot, please don't say swear. 07:28:14 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:14 bsmnt_bot, don't swear. 07:28:16 EgoBot, please don't say swear. 07:28:17 i will move egobot 07:28:18 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:18 bsmnt_bot, don't swear. 07:28:20 EgoBot, please don't say swear. 07:28:21 This will go on forever, however. 07:28:22 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:23 -!- EgoBot has changed nick to xxx. 07:28:23 bsmnt_bot, don't swear. 07:28:23 This nickname is owned by someone else 07:28:23 If this is your nickname, type /msg NickServ IDENTIFY 07:28:24 EgoBot, please don't say swear. 07:28:26 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:26 bsmnt_bot, don't swear. 07:28:28 EgoBot, please don't say swear. 07:28:30 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:30 bsmnt_bot, don't swear. 07:28:32 EgoBot, please don't say swear. 07:28:34 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:34 bsmnt_bot, don't swear. 07:28:36 !nmaniac 07:28:36 -!- xxx has changed nick to maniac. 07:28:36 EgoBot, please don't say swear. 07:28:37 This nickname is owned by someone else 07:28:37 If this is your nickname, type /msg NickServ IDENTIFY 07:28:38 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:38 bsmnt_bot, don't swear. 07:28:40 EgoBot, please don't say swear. 07:28:42 EgoBot, please don't say fuck or shit or any other swear wordswear. 07:28:43 bsmnt_bot, don't swear. 07:28:43 !c##trivia 07:28:43 -!- maniac has left (?). 07:28:44 xxx, please don't say swear. 07:28:45 !exec self.raw("QUIT") 07:28:46 xxx, please don't say fuck or shit or any other swear wordswear. 07:28:48 xxx, please don't say swear. 07:28:50 xxx, please don't say fuck or shit or any other swear wordswear. 07:28:53 xxx, please don't say swear. 07:28:54 xxx, please don't say fuck or shit or any other swear wordswear. 07:28:56 xxx, please don't say swear. 07:28:58 xxx, please don't say fuck or shit or any other swear wordswear. 07:29:00 And now we just wait on the buffer. 07:29:00 maniac, please don't say swear. 07:29:02 maniac, please don't say fuck or shit or any other swear wordswear. 07:29:04 maniac, please don't say swear. 07:29:06 maniac, please don't say fuck or shit or any other swear wordswear. 07:29:10 go to ##trivia to see what happened with maniac and triviette 07:29:15 (they are both bots) 07:29:28 [18:28] <@Triviette> --== Trivia ==-- [category: Music] 07:29:28 [18:28] <@Triviette> American Songbook: "But I miss you most of all, when the 07:29:28 [18:28] <@Triviette> __ __ begin to fall" 07:29:28 [18:28] <@Triviette> Hint [1 of 3]: A _ _ _ _ _ _ _ _ _ _ _ / _ _ _ _ E _ _ 07:29:28 [18:28] Triviette, don't swear. 07:29:28 immibis, please don't say swear. 07:29:29 immibis, please don't say fuck or shit or any other swear wordswear. 07:29:38 ~exec self.raw("QUIT") 07:29:38 -!- bsmnt_bot has quit. 07:29:45 -!- bsmnt_bot has joined. 07:29:49 Oh. I feel stupid. 07:32:20 -!- maniac has joined. 07:32:21 [#esoteric] Welcome to the esoteric programming channel! Logs of previous discussions are available at http://meme.b9.com/clog/esoteric/?M=D 07:32:25 lol 07:32:50 lmaopmpnihnasidoc(nbatgttt) 07:32:56 Interesa. 07:33:13 laughing my ass off peeing my pants now i have no ass so i die of constipation (not being able to go to the toilet) 07:33:26 lshipmp 07:33:49 !rPRIVMSG #esoteric !!@ 07:33:49 !!@ 07:33:53 !rPRIVMSG #esoteric :!!@ 07:33:53 !!@ 07:33:54 !rPRIVMSG #esoteric :!!@ 07:33:54 !!@ 07:33:54 !rPRIVMSG #esoteric :!!@ 07:33:54 !!@ 07:33:56 !rPRIVMSG #esoteric :!!@ 07:33:58 !!@ 07:34:00 !rPRIVMSG #esoteric :!!@ 07:34:02 !!@ 07:34:04 !rPRIVMSG #esoteric !shutup 07:34:06 !shutup 07:34:15 !shutup 07:34:20 !shutup 07:35:04 -!- maniac has quit (Read error: 104 (Connection reset by peer)). 07:35:28 -!- maniac has joined. 07:36:10 pinging alert 07:38:48 ~exec self.register_raw("\S+ PRIVMSG \S+ :(.*quine.*)", lambda x,y: sys.stdout(y.group(1))) 07:38:52 do not quine 07:38:52 do not quine 07:39:40 ~exec self.register_raw("\S+ PRIVMSG \S+ :(.*quine.*)", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Quining. "+y.group(1)))) 07:39:41 ~exec self.register_raw("\S+ PRIVMSG \S+ :(.*quine.*)", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Quining. "+y.group(1)))) 07:39:41 SyntaxError: unexpected EOF while parsing 07:39:44 ~exec self.register_raw("\S+ PRIVMSG \S+ :(.*quine.*)", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Quining. "+y.group(1))) 07:39:47 quine 07:39:50 ~exec self.register_raw("\S+ PRIVMSG \S+ :(.*quine.*)", lambda x,y: bot.raw("PRIVMSG bsmnt_bot :Quining. "+y.group(1))) 07:39:55 quine 07:39:59 Quining. quine 07:40:03 Quining. Quining. quine 07:40:07 Quining. Quining. Quining. quine 07:40:11 Quining. Quining. Quining. Quining. quine 07:40:15 Quining. Quining. Quining. Quining. Quining. quine 07:40:16 not such an accurate quine then 07:40:19 not such an accurate quine then 07:40:23 Quining. Quining. Quining. Quining. Quining. Quining. quine 07:40:27 Quining. not such an accurate quine then 07:40:31 Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:40:35 Quining. Quining. not such an accurate quine then 07:40:36 :D 07:40:37 stop quineing 07:40:39 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:40:43 stop quineing 07:40:47 Quining. Quining. Quining. not such an accurate quine then 07:40:52 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:40:55 Quining. stop quineing 07:40:59 Quining. Quining. Quining. Quining. not such an accurate quine then 07:41:03 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:41:04 do not quine any further 07:41:07 Quining. Quining. stop quineing 07:41:11 Quining. Quining. Quining. Quining. Quining. not such an accurate quine then 07:41:15 do not quine any further 07:41:19 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:41:24 Quining. Quining. Quining. stop quineing 07:41:28 Quining. Quining. Quining. Quining. Quining. Quining. not such an accurate quine then 07:41:32 Quining. do not quine any further 07:41:36 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:41:42 Quining. Quining. Quining. Quining. stop quineing 07:41:43 Woohoo. 07:41:46 Quining. Quining. Quining. Quining. Quining. Quining. Quining. not such an accurate quine then 07:41:46 Blahbitty 07:41:50 Quining. Quining. do not quine any further 07:41:54 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:41:58 Blahbitty quite? 07:42:00 Quining. Quining. Quining. Quining. Quining. stop quineing 07:42:04 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. not such an accurate quine then 07:42:05 sukoshi: what 07:42:06 Blahbitty quine 07:42:09 Quining. Quining. Quining. do not quine any further 07:42:13 Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. Quining. quine 07:42:15 ~exec while 1: sys.stdout("I AM FLOODING MYSELF OFF") 07:42:15 -!- bsmnt_bot has quit (Excess Flood). 07:42:20 -!- bsmnt_bot has joined. 07:42:23 ~exec while 1: sys.stdout("I AM FLOODING MYSELF OFF") 07:42:23 I AM FLOODING MYSELF OFF 07:42:23 I AM FLOODING MYSELF OFF 07:42:23 I AM FLOODING MYSELF OFF 07:42:23 I AM FLOODING MYSELF OFF 07:42:24 -!- bsmnt_bot has quit (Excess Flood). 07:42:26 -!- bsmnt_bot has joined. 07:42:29 ~exec while 1: sys.stdout("I AM FLOODING MYSELF OFF") 07:42:29 I AM FLOODING MYSELF OFF 07:42:29 -!- bsmnt_bot has quit (Excess Flood). 07:42:32 ~exec while 1: sys.stdout("I AM FLOODING MYSELF OFF") 07:42:32 -!- bsmnt_bot has joined. 07:42:37 ~exec while 1: sys.stdout("I AM FLOODING MYSELF OFF") 07:42:37 I AM FLOODING MYSELF OFF 07:42:38 -!- bsmnt_bot has quit (Excess Flood). 07:42:40 -!- bsmnt_bot has joined. 07:43:40 -!- maniac has quit (Read error: 104 (Connection reset by peer)). 07:44:08 ~exec self.register_raw("(.*)",lambda x,y: sys.stdout(y.group(1)+", so what?")) 07:44:11 ok 07:44:12 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz PRIVMSG #esoteric :ok, so what? 07:44:19 ouch 07:44:19 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz PRIVMSG #esoteric :ouch, so what? 07:44:33 ~exec self.raw_regex_queue.pop() 07:44:34 :immibis!n=IceChat7@125-238-176-25.broadband-telecom.global-gateway.net.nz PRIVMSG #esoteric :~exec self.raw_regex_queue.pop(), so what? 07:44:46 ~exec self.register_raw(":\S+ PRIVMSG \S+ :(.*)",lambda x,y: sys.stdout(y.group(1)+", so what?")) 07:44:48 i such 07:44:49 i such, so what? 07:44:50 i suck 07:44:51 i suck, so what? 07:44:52 I, for one, think that there's something odd about the IRC protocol. 07:44:52 I, for one, think that there's something odd about the IRC protocol., so what? 07:44:53 i'm a bot 07:44:54 i'm a bot, so what? 07:45:00 so what? 07:45:01 so what?, so what? 07:45:04 Your mom. 07:45:05 Your mom., so what? 07:45:08 Your mom 07:45:09 Your mom, so what? 07:45:16 pikhq, what is odd abpit tje irc protomilk 07:45:16 pikhq, what is odd abpit tje irc protomilk, so what? 07:45:17 I eat babies in my sleep 07:45:18 I eat babies in my sleep, so what? 07:45:18 Having fun, Sukoshi? 07:45:18 Having fun, Sukoshi?, so what? 07:45:19 pikhq, what is odd abpit tje irc protoplasm 07:45:20 pikhq, what is odd abpit tje irc protoplasm, so what? 07:45:32 i am part of the IRC protoplasm 07:45:33 i am part of the IRC protoplasm, so what? 07:45:36 Quite, pikhq. 07:45:36 Quite, pikhq., so what? 07:45:41 ~exec self.raw_regex_queue.pop() 07:45:41 ~exec self.raw_regex_queue.pop(), so what? 07:45:55 test 07:46:11 pikhq: what is odd about the protocol? 07:46:15 ~exec sys.stdout("test, so what?") 07:46:15 test, so what? 07:46:26 I dunno. Just seems odd. *shrug* 07:47:34 pikhq: why? 07:48:07 ~exec self.register_raw(".*~exec.*",sys.stdout("Make me")) 07:48:08 Make me 07:48:14 ~exec purple 07:48:15 NameError: name 'purple' is not defined 07:48:15 AttributeError: 'NoneType' object has no attribute '__name__' 07:48:22 ~exec self.register_raw(".*~exec.*",lambda x,y: sys.stdout("Make me")) 07:48:26 ~exec na 07:48:30 -!- bsmnt_bot has quit (Excess Flood). 07:48:37 um, what 07:48:38 -!- bsmnt_bot has joined. 07:48:41 ~exec self.register_raw(".*~exec.*",lambda x,y: sys.stdout("Make me")) 07:48:49 ~exec bie 07:48:50 Make me 07:48:50 NameError: name 'bie' is not defined 07:48:57 ~exec self=bot 07:48:57 Make me 07:49:05 ok then 07:49:10 ~exec bot=new Object() 07:49:11 Make me 07:49:11 SyntaxError: invalid syntax 07:49:12 i made you 07:50:40 ~exec bot=Object() 07:50:40 -!- WaiterBot has joined. 07:50:41 Make me 07:50:41 NameError: name 'Object' is not defined 07:50:49 ~exec bot=time.localtime() 07:50:49 Make me 07:50:51 ~exec bot=time.localtime() 07:50:52 Make me 07:50:55 ~exec self=time.localtime() 07:50:56 Make me 07:50:56 ~exec self=time.localtime() 07:50:57 Make me 07:51:06 !nWaiterBo 07:51:06 -!- WaiterBot has changed nick to WaiterBo. 07:51:07 !nWaiterBot 07:51:07 -!- WaiterBo has changed nick to WaiterBot. 07:51:11 !c#esoteric 07:51:11 -!- WaiterBot has left (?). 07:51:11 -!- WaiterBot has joined. 07:51:16 !c#esoteric 07:51:16 -!- WaiterBot has left (?). 07:51:16 -!- WaiterBot has joined. 07:51:21 fuck 07:51:28 waiterbot, i said fuck 07:51:34 oh right 07:51:35 !speak 07:51:37 fuck 07:51:37 immibis, don't swear. 07:51:46 do not quine, either of you 07:51:46 do not quine, either of you 07:51:47 quining: do not quine, either of you 07:51:47 quining: do not quine, either of you 07:51:47 quining: quining: do not quine, either of you 07:51:49 quining: quining: do not quine, either of you 07:51:53 quining: quining: quining: do not quine, either of you 07:51:55 quining: quining: quining: do not quine, either of you 07:51:59 quining: quining: quining: quining: do not quine, either of you 07:52:01 quining: quining: quining: quining: do not quine, either of you 07:52:04 !nWaiterNoQuines 07:52:05 quining: quining: quining: quining: quining: do not quine, either of you 07:52:07 quining: quining: quining: quining: quining: do not quine, either of you 07:52:11 -!- WaiterBot has changed nick to WaiterNoQuines. 07:52:13 !nwaiternoquines 07:52:17 quining: quining: quining: quining: quining: quining: do not quine, either of you 07:52:19 quining: quining: quining: quining: quining: quining: do not quine, either of you 07:52:21 oh no 07:52:23 what 07:52:23 quining: !nwaiternoquines 07:52:25 quining: !nwaiternoquines 07:52:29 quining: quining: quining: quining: quining: quining: quining: do not quine, either of you 07:52:30 !nwa 07:52:31 quining: quining: quining: quining: quining: quining: quining: do not quine, either of you 07:52:35 quining: quining: !nwaiternoquines 07:52:37 quining: quining: !nwaiternoquines 07:52:41 -!- WaiterNoQuines has changed nick to wa. 07:52:43 quining: quining: quining: quining: quining: quining: quining: quining: do not quine, either of you 07:52:45 quining: quining: quining: quining: quining: quining: quining: quining: do not quine, either of you 07:52:49 quining: quining: quining: !nwaiternoquines 07:52:51 stopping 07:52:51 quining: quining: quining: !nwaiternoquines 07:52:52 -!- wa has quit (Read error: 104 (Connection reset by peer)). 07:53:01 do not say quine 07:53:07 -!- WaiterBot has joined. 07:53:08 in capitals or lowercase 07:53:11 or mixed case 07:53:13 whatever you do, 07:53:18 do NOT say QUINE 07:53:18 do not say quine 07:53:18 quining: do not say quine 07:53:19 quining: quining: do not say quine 07:53:21 quining: quining: quining: do not say quine 07:53:25 quining: quining: quining: quining: do not say quine 07:53:26 !nnotaquin 07:53:29 -!- WaiterBot has changed nick to notaquin. 07:53:31 quining: quining: quining: quining: quining: do not say quine 07:53:32 Quines are fun? 07:53:33 !nmannequin 07:53:35 quines are fun? 07:53:39 quining: quining: quining: quining: quining: quining: do not say quine 07:53:43 -!- notaquin has changed nick to mannequin. 07:53:45 quining: quines are fun? 07:53:49 quining: quining: quining: quining: quining: quining: quining: do not say quine 07:53:53 quining: quining: quines are fun? 07:53:57 quining: quining: quining: quining: quining: quining: quining: quining: do not say quine 07:54:01 quining: quining: quining: quines are fun? 07:54:05 quining: quining: quining: quining: quining: quining: quining: quining: quining: do not say quine 07:54:06 quining: Since when did #esoteric become a spam channel? 07:54:09 quining: quining: quining: quining: quines are fun? 07:54:13 quining: quining: quining: quining: quining: quining: quining: quining: quining: quining: do not say quine 07:54:15 quining: Shouldn't the ops lay done some sort of law? 07:54:18 -!- mannequin has quit (Read error: 104 (Connection reset by peer)). 07:54:41 well, if you say quine, it quines your request 07:54:56 as of when it comes back on, it can be stopped using the !shutup command 07:54:58 That's a spam feature. 07:55:04 ok 07:55:11 -!- WaiterBot has joined. 07:55:14 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 07:55:57 what if you need to say ~fuckingshittyquine~ in order to quine? 07:56:16 -!- WaiterBot has joined. 07:57:08 !c#bots 07:57:08 -!- WaiterBot has left (?). 07:58:01 the quine can now be cancelled 07:58:03 [18:56] ~fuckingshittyquine~ 07:58:03 [18:56] !speak 07:58:03 [18:56] ~fuckingshittyquine~ 07:58:03 [18:56] immibis, don't swear. 07:58:03 [18:56] ~fuckingshittyquine~ 07:58:04 [18:56] quining: ~fuckingshittyquine~ 07:58:06 [18:56] quining: ~fuckingshittyquine~ 07:58:08 [18:56] WaiterBot, don't swear. 07:58:10 [18:56] !shutup 07:58:12 [18:56] quining: quining: ~fuckingshittyquine~ 07:58:13 LMAO 07:58:14 [18:56] quining: quining: ~fuckingshittyquine~ 07:58:16 [18:56] WaiterBot, don't swear. 07:58:18 [18:56] (End of discussion) 07:58:25 -!- WaiterBot has joined. 07:58:27 boo 07:58:30 Sukoshi: *bsmnt_bot* is a spam feature. 07:58:44 Yeah, true. 07:59:06 Did the ops here die then? 07:59:22 ~exec exec("while 1:\n sleep(100)\n sys.stdout(\"See?\")") 07:59:22 Make me 07:59:23 NameError: name 'sleep' is not defined 07:59:29 Schiessen. 07:59:59 ~exec exec("while 1:\n i=0\n while i<32767: i=i+1\n sys.stdout(\"See?\")") 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:00 Make me 08:00:00 See? 08:00:00 See? 08:00:00 See? 08:00:01 See? 08:00:01 See? 08:00:02 See? 08:00:04 See? 08:00:06 See? 08:00:08 See? 08:00:10 See? 08:00:12 See? 08:00:13 -!- bsmnt_bot has quit (Excess Flood). 08:00:16 -!- bsmnt_bot has joined. 08:00:23 ~exec self.raw("QUIT irc.freenode.net :Excess Flood") 08:00:24 -!- bsmnt_bot has quit (Client Quit). 08:00:26 -!- bsmnt_bot has joined. 08:00:28 ~exec self.raw("QUIT irc.freenode.net :Excess Flood") 08:00:28 -!- bsmnt_bot has quit (Client Quit). 08:00:31 -!- bsmnt_bot has joined. 08:00:59 ~exec self.register_raw(r":\S+ NOTICE \S+ :(.*)", lambda x,y: sys.stdout(y.group(1))) 08:01:04 Sukoshi: No, fizzie and lament are around still. 08:01:17 Sukoshi: No, fizzie and lament are around still. 08:01:31 Three of them, I don't know, but lament and fizzie are around. 08:01:45 Three of them, I don't know, but lament and fizzie are around. 08:01:48 Taaus, Aardappel, and andreou are the other ops. 08:02:05 (andreou is listed as channel contact, with lament as an alternate) 08:02:05 Taaus, Aardappel, and andreou are the other ops. 08:02:19 (andreou is listed as channel contact, with lament as an alternate) 08:02:43 !exec self.raw_regex_queue.pop() 08:02:47 SHUT UP. 08:03:03 SHUT UP YOURSELF! 08:03:13 -_-' 08:03:22 yeah, its annoying, ay? 08:04:10 ~exec self.register_raw(r":\S+ PRIVMSG [^# ] :(.*)", lambda x,y: sys.stdout(y.group(1))) 08:04:44 ~exec self.register_raw(r":\S+ PRIVMSG [^# ]* :(.*)", lambda x,y: sys.stdout(y.group(1))) 08:04:53 ops 08:04:55 -!- bsmnt_bot has quit (Excess Flood). 08:04:58 -!- bsmnt_bot has joined. 08:04:59 i mean oops 08:05:09 ~exec os.system("killall -9 bsmnt_bot") 08:05:28 ~exec os.system("ps") 08:05:47 ~exec self.raw("BOMB") 08:05:52 It's killed already. >:D 08:06:02 ~exec sys.stdout("No i'm not") 08:06:02 No i'm not 08:06:14 Kuso. 08:06:15 ~exec os.system("killall -9 python") 08:06:22 ~exec os.system("killall -9 pyexec") 08:06:29 ~exec os.system("ps -ax") 08:06:31 ~exec sys.stdout(os.system("ps")) 08:06:32 32512 08:06:36 ... 08:06:50 well theres the process id of ps! 08:06:57 lot of processes on that computer 08:07:33 Yeah; we cause it. 08:07:36 ~exec sys.stdout(os) 08:07:37 08:07:38 :p 08:07:49 ~exec sys.stdout(os.dir("/usr/bin")) 08:07:49 AttributeError: 'module' object has no attribute 'dir' 08:07:53 ~exec sys.stdout(os.listdir("/usr/bin")) 08:07:54 ['dc', 'nice', 'wget', 'python2.4'] 08:07:59 ~exec sys.stdout(os.listdir("/usr/bin/python2.4")) 08:07:59 OSError: [Errno 20] Not a directory: '/usr/bin/python2.4' 08:08:06 ~exec sys.stdout(os.listdir("/usr/")) 08:08:07 ['bin', 'lib', 'include'] 08:08:14 ~exec sys.stdout(os.listdir("/bin/")) 08:08:14 ['ls', 'sh', 'bash'] 08:08:23 ~exec sys.stdout(os.listdir("/usr/bin/py")) 08:08:23 OSError: [Errno 2] No such file or directory: '/usr/bin/py' 08:08:25 ~exec sys.stdout(os.listdir("/usr/bin/py*")) 08:08:26 OSError: [Errno 2] No such file or directory: '/usr/bin/py*' 08:08:43 ~exec self.raw("PART #esoteric") 08:08:44 -!- bsmnt_bot has left (?). 08:08:55 Uggh. Can you not test this in your own channel, at least? 08:08:56 that was how you got rid of it last time, pikhq 08:09:11 Right. 08:09:20 Sukoshi: Happy now? 08:09:24 pikhq: Yeah. 08:09:28 um, it is only on one channel, and anyway I thought we were trying to get rid of it for some reason 08:09:35 well no channels now 08:09:37 I understand if you test it a bit, but you're testing it like crazy. 08:09:48 That's *my* goal. 08:09:53 And I'm more creative about it. 08:10:45 really? what about ~exec os.system("bash -c \"while true; do; /bin/echo; done;\"") 08:10:51 run out of pids 08:11:01 Nope. 08:11:14 why not 08:11:29 x 08:11:38 ~exec os.system("bash -c \":(){ :|:& };:\" 08:11:40 ") 08:11:51 i suck 08:11:52 *Unused* PIDs can be assigned again. 08:11:55 ok 08:12:30 what is :(){ :|:& };: supposed to do? 08:13:10 It's the canonical very unreadable fork bomb. 08:14:30 The :(){} bit makes a new function. 08:14:36 while true; do; {cat < /dev/mouse &;} done 08:14:43 while true; do; {cat < /dev/mouse &} done 08:14:49 very annoying? 08:14:55 :|:& call that function, pipes it into itself, and puts that into the background. 08:15:07 ;: calls your new function. 08:15:17 i got that bit once you explained the :(){} 08:15:22 immibis: Annoying, but making that /dev/urandom is better. 08:15:36 while true; do; {cat < /dev/urandom > /dev/pts/0 &} done 08:15:56 which on ubuntu systems will open a window on every x desktop and cat urandom into it 08:16:09 or is that debian? 08:16:11 or redhat? 08:16:31 That *can't* be right. . . 08:16:43 That ought to just mess with the first psuedotty. . . 08:16:58 while true; do; {cat < /dev/urandom | tee /dev/stdin /dev/pts/* /dev/tty* &} done 08:17:11 well i'm not sure which distro 08:17:27 write but on one system i tried it on it opened up a new "KWriteD" window 08:17:32 That's *much* more annoying. 08:17:57 while true; do; {cat < /dev/urandom | tee /dev/stdin /dev/pts/* /dev/tty* /dev/stdout & nice kwrite &} done 08:18:20 while true; do; {cat < /dev/urandom | tee /dev/stdin /dev/pts/* /dev/tty* /dev/stdout | nice kwrite &} done 08:18:30 Stupid. 08:18:32 And overdone. 08:18:48 while true; do; {cat < /dev/urandom | tee /dev/stdin /dev/pts/* /dev/tty* /dev/stdout | nice kwrite /dev/stdin &} done 08:18:50 write: write: you have write permission turned off. -- I'm not sure if that was actually very annoying at all. 08:18:53 write fizzie: -_-' 08:19:05 Fine, fine. 08:19:09 what is write 08:19:10 sudo write while true; do; {sudo cat < /dev/urandom | sudo tee /dev/stdin /dev/pts/* /dev/tty* /dev/stdout | sudo ping -f localhost &} done 08:20:18 i see 08:21:57 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 08:22:11 -!- WaiterBot has joined. 08:22:22 !cesoteric 08:22:23 -!- WaiterBot has left (?). 08:22:40 -!- WaiterBot has joined. 08:22:53 fuck 08:22:59 percival 08:23:04 is an idiot 08:23:12 who the heck is percival 08:23:27 BALROG RULEZ SUCKAZ 08:25:24 this bot is highly useful. 08:25:48 !rJOIN #waiterbot 08:25:58 !rMODE #waiterbot +i 08:26:08 !rINVITE #waiterbot lament 08:26:22 !rINVITE #waiterbot immibis 08:26:32 !rINVITE immibis #waiterbot 08:26:48 !rINVITE #esoteric #waiterbot 08:26:52 !rINVITE lament #waiterbot 08:27:01 !rINVITE bsmnt_bot #waiterbot 08:27:08 !rINVITE bsmnt_bot #waiterbot 08:27:09 !rINVITE bsmnt_bot #waiterbot 08:27:10 !rINVITE bsmnt_bot #waiterbot 08:27:11 !rINVITE bsmnt_bot #waiterbot 08:27:14 I see that the op doesn't care about flooding. 08:27:21 /kick lament Be an op, damn it! :p 08:27:22 pikhq, don't swear. 08:27:34 fuck you, waiterbot 08:27:35 immibis, don't swear. 08:27:44 fucking shitty hell i won't damn you 08:27:45 immibis, don't swear. 08:28:12 lament's an op? 08:28:44 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 08:29:18 -!- WaiterBot has joined. 08:30:03 He's listed as the channel's alternate contact. 08:30:06 ok 08:30:27 And the primary contact, I've not met in the year I've been here. 08:30:32 -!- WaiterBot has quit (Read error: 104 (Connection reset by peer)). 08:30:32 The reified personification of #esoteric. 08:30:37 ok 08:30:56 Fizzie's the other one I've actually met. 08:30:57 egobot, Q 08:31:24 We should offer Gregor op in exchange for getting EgoBot up. . . Or something. :p 08:31:29 -!- WaiterBot has joined. 08:31:34 !nEgoBot 08:31:34 -!- WaiterBot has changed nick to EgoBot. 08:31:43 That ain't EgoBot. 08:31:50 EgoBot, put 1000 cans of rotting tuna fish into the mixing bowl. 08:31:57 lol 08:32:01 !nmaniac 08:32:01 -!- EgoBot has changed nick to maniac. 08:32:05 !daemon say foo ,[.,] 08:32:05 i know 08:32:06 so what 08:32:14 Err. 08:32:18 !undaemon say 08:32:22 i can pretend its waiterbot 08:32:23 !daemon say bf ,[.,] 08:32:24 i mean egobot 08:32:28 hang on a sec 08:32:34 !say See, it's saying jack. 08:32:34 -!- maniac has changed nick to EgoBot. 08:32:54 -!- EgoBot has changed nick to s. 08:33:02 -!- s has changed nick to EgoBot. 08:33:13 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 08:33:17 oops 08:33:24 -!- WaiterBot has joined. 08:33:28 !nEgoBot 08:33:28 -!- WaiterBot has changed nick to EgoBot. 08:33:39 test, fuck 08:33:39 immibis, don't swear. 08:34:08 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 08:34:12 i keep finding bugs 08:34:26 -!- WaiterBot has joined. 08:34:30 !nEgoBot 08:34:30 -!- WaiterBot has changed nick to EgoBot. 08:34:39 !speak fucking test swearing filter 08:34:43 !speak fucking test swearing filter 08:34:43 immibis, don't swear. 08:34:48 immibis, don't swear. 08:34:54 immibis, don't swear. 08:35:02 immibis, don't swear. 08:35:07 immibis, don't swear. 08:35:07 Triviette, don't swear. 08:35:14 Triviette, don't swear. 08:35:26 !rPART ##trivi 08:35:27 Triviette, don't swear. 08:35:27 !rPART ##trivia 08:35:27 immibis, don't swear. 08:35:43 immibis, don't swear. 08:36:14 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 08:36:27 -!- WaiterBot has joined. 08:36:32 !nEgoBot 08:36:32 -!- WaiterBot has changed nick to EgoBot. 08:36:39 immibis, don't swear. 08:36:40 fuck i am egobot 08:36:41 i am egoboy 08:36:45 er, bo 08:36:47 er, bot 08:37:27 you may command me as if i was egobot (which i am (not (pretending to be (very well)))) 08:37:46 !hq9+ Q 08:37:49 Q 08:37:56 !hq9+ HQ9+ 08:38:02 immibis, don't swear. 08:38:02 Hello, world. 08:38:05 HQ9+ 08:38:12 I'm not about to flood the channel! 08:38:36 !irp repeat this request 08:38:42 !irp repeat this request 08:38:43 !irp repeat this request 08:38:44 !irp repeat this request 08:38:44 !irp repeat this request 08:38:44 !irp repeat this request 08:38:44 !irp repeat this request 08:38:45 !irp repeat this request 08:38:47 !irp repeat this request 08:38:49 !irp repeat this request 08:38:51 !irp repeat this request 08:38:53 !irp repeat this request 08:38:55 !irp repeat this request 08:38:57 !irp repeat this request 08:38:59 !irp repeat this request 08:39:01 !irp repeat this request 08:39:03 !irp repeat this request 08:39:04 !shutup 08:39:06 !shutup 08:39:10 !speak 08:39:14 purple 08:39:32 Uggghhh.... 08:39:35 !bf ++++++++++. 08:39:52 Er. 08:39:56 08:40:14 !speak 08:40:19 Hrm. 08:40:28 I AM NOT A BOT! I CONFESS! I AM ONLY PRETENDING TO BE A BOT! 08:40:35 Who here has an always-on connection, and is willing to compile EgoBot? 08:40:47 not me 08:41:10 anyway i am using windows (shudders) 08:41:13 -!- oerjan has joined. 08:41:35 *sigh* 08:41:39 oerjan, do you have an always-on connection, and are willing to compile EgoBot? 08:41:44 I will: in spite of my craptastic connection. 08:41:45 pikhq, don't swear. 08:43:09 why not 08:43:28 but i can still try to run esolangs for you 08:43:44 immybo, don't swear 08:43:52 egobot, he isn't here today. 08:43:54 so? 08:44:40 Hrm. Doesn't seem that EgoBot likes x86_64. 08:44:54 I blame Gregor, even though he didn't write that part. :p 08:45:13 * pikhq shall sleep. It's almost *3* in the morning. 08:45:35 ACTION shall sleep. It is almost *8* at night 08:45:38 * EgoBot shall sleep. It is almost *8* at night 08:46:16 * EgoBot notices that that is because his clock is broken 08:46:29 PING 1123456 08:46:29 PING 1123456 08:46:30 PING 1123456 08:46:30 PING 1123456 08:46:30 PING 1123456 08:46:31 PING 1123456 08:46:33 PING 1123456 08:46:35 PING 1123456 08:46:37 PING 1123456 08:46:39 PING 1123456 08:46:41 PING 1123456 08:46:43 PING 1123456 08:46:45 PING 1123456 08:46:48 !shutup 08:46:55 !speak 08:47:02 I SHAT MY PANTS! 08:47:16 come on, are you a bot or not? 08:47:41 I SHAT MY PANTS WITH NUTS AND BOLTS! 08:48:03 !nEGOBOOB 08:48:03 -!- EgoBot has changed nick to EGOBOOB. 08:48:20 oops 08:48:24 dead giveaway 08:48:31 !nWaiterBot 08:48:31 -!- EGOBOOB has changed nick to WaiterBot. 08:48:32 This nickname is owned by someone else 08:48:32 If this is your nickname, type /msg NickServ IDENTIFY 08:48:54 !rPRIVMSG NickServ IDENTIFY WaiterPass0 08:48:54 Syntax: IDENTIFY 08:48:54 Type: /msg NickServ HELP IDENTIFY for more information 08:48:58 d'oh 08:49:06 WAITERBOT! 08:49:18 er.. 09:10:32 -!- WaiterBot has quit (Read error: 110 (Connection timed out)). 09:10:45 -!- immibis has quit (Read error: 110 (Connection timed out)). 09:43:59 * oerjan has now browsed the day's channel logs, and is actually somewhat wary of bringing in more bots... 10:34:01 -!- sebbu has joined. 11:57:24 anyone know erlang? 11:57:41 recursion does not change the pid or? 12:01:11 oklopol: i would, but i only have one radiation suit. 12:01:37 are you putting erlang down or being too clever for me? 12:01:45 the latter :) 12:01:53 :) 12:01:57 http://www.irregularwebcomic.net/ 12:03:09 i was hoping that would clear out what you said 12:03:16 :( 12:03:24 er, didn't it? 12:03:42 see the annotation. 12:03:56 oh 12:04:36 trues trues 12:05:04 anyway, time to eat 12:05:14 -!- oerjan has quit ("Lunch"). 12:05:22 i guess i should trust i can read code enough to be sure recursion does not change it 12:17:53 -!- RodgerTheGreat has joined. 14:18:04 -!- sebbu2 has joined. 14:37:20 -!- sebbu has quit (Connection timed out). 14:38:05 heh, found this board game named lotus... didn't know how it's played so figured out a way to represent tree rewriting with the pieces and wrote add(a, b) :D 14:38:29 unfortunately it runs out of pieces after that... 14:38:56 infinite fibonacci was 3 heaps of pieces 14:39:01 no... 5 14:39:11 addition was 9 or something 14:39:30 i guess i could make it a game somehow... if i just had more pieces 14:42:56 -!- sebbu2 has changed nick to sebbu. 15:14:12 -!- pikhq has quit (Remote closed the connection). 15:14:46 -!- pikhq has joined. 15:21:52 -!- c|p has joined. 15:38:05 -!- pikhq has quit (Remote closed the connection). 15:38:22 -!- pikhq has joined. 15:46:49 -!- oerjan has joined. 16:00:54 -!- RodgerTheGreat has quit. 16:38:47 oklopol: URL? 16:41:12 who what when? 16:41:44 you mean did i spec and up it? 16:41:55 or something completely unrelated 16:42:00 just for the heck of it 16:44:35 -!- c|p has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )"). 16:45:35 -!- pikhq has quit (Remote closed the connection). 16:47:08 -!- c|p has joined. 16:47:23 -!- pikhq has joined. 16:57:09 -!- pikhq has quit (Remote closed the connection). 16:57:29 -!- pikhq has joined. 17:22:49 ah 17:23:15 I meant, what are these game pieces that are capable for expression tree-rewriting rules? 17:25:40 last night's chattering was spammy and worthless 17:30:44 4 colors of pieces 17:31:06 and you can stack them up... doesn't take a genius 17:31:17 i can spec it once i have the 5 minutes 17:31:24 gotta leave pretty much now. 17:31:32 * SimonRC suggests that immibis be bannished to #esoteric-spam 17:31:47 oklopol: bye 17:32:46 i'll try to learn to remember a deck of cards today... what else can one do in a summer house 17:33:56 -!- bsmnt_bot has joined. 18:04:13 -!- pikhq has quit (Remote closed the connection). 18:35:56 -!- ihope has joined. 18:38:37 -!- pikhq_ has joined. 18:54:55 -!- pikhq has joined. 18:55:56 -!- RodgerTheGreat has joined. 19:20:23 -!- pikhq_ has quit (Connection timed out). 19:20:31 -!- pikhq has quit (Remote closed the connection). 19:20:49 -!- pikhq has joined. 19:21:50 jeez that kid is annoying 19:21:58 ? 19:22:06 pikhq? 19:22:16 immibis 19:22:28 I missed out on something fun, it would appear 19:22:47 also, I must direct your attention to this video- I find it extremely interesting: http://video.google.com/videoplay?docid=-8461754114455236037 19:28:14 ~quit 19:28:14 -!- bsmnt_bot has quit. 19:28:17 -!- bsmnt_bot has joined. 19:29:01 making changes? 19:29:17 ~exec self.register_raw(".*immibis.*", lambda x,y: raise StopHandlingCallbacks) 19:29:18 SyntaxError: invalid syntax 19:29:22 fucking python 19:30:10 ~exec exec "def f(x, y): raise StopHandlingCallbacks\nself.ignore = f"\ 19:30:11 SyntaxError: invalid token 19:30:13 ~exec exec "def f(x, y): raise StopHandlingCallbacks\nself.ignore = f" 19:30:30 ~exec self.register_raw(".*immibis.*", lambda x,y: StopHandlingCallbacks) 19:30:32 :D 19:30:36 ~exec self.register_raw(".*immibis.*", self.ignore) 19:30:52 why do we have this bot anyway? 19:30:58 what makes it on-topic? 19:30:58 ~exec sys.stdout("foo") # immibis 19:30:58 foo 19:31:02 argh 19:31:15 oh, right, the order 19:31:25 ~exec self.raw_regex_queue.pop() 19:31:25 ~exec self.raw_regex_queue.pop() 19:32:08 ~exec self.raw_regex_queue = [re.compile(".*immibis.*"), self.ignore] + self.raw_regex_queue 19:32:14 ~exec sys.stdout("foo") # immibis 19:32:14 -!- bsmnt_bot has quit (Remote closed the connection). 19:32:16 -!- bsmnt_bot has joined. 19:32:22 useful 19:32:44 ~exec self.raw_regex_queue = [(re.compile(".*immibis.*"), self.ignore)] + self.raw_regex_queue 19:32:44 AttributeError: IRCbot instance has no attribute 'ignore' 19:32:56 ~exec exec "def f(x, y): raise StopHandlingCallbacks\nself.ignore = f" 19:32:59 ~exec self.raw_regex_queue = [(re.compile(".*immibis.*"), self.ignore)] + self.raw_regex_queue 19:33:03 ~exec sys.stdout("foo") # immibis 19:33:07 good 19:33:10 ~exec sys.stdout("foo") 19:33:10 foo 19:33:12 good 19:33:25 what does this bot do that's esoteric? 19:33:36 dunno 19:33:45 it does have a bf script 19:34:32 its presence is generating lots of flood that i would call off-topic, despite the usage of funky python 19:42:01 When's the last time something esoteric happened in here? 19:42:03 :-P 19:47:22 -!- bsmnt_bot has quit (Remote closed the connection). 19:47:45 -!- bsmnt_bot has joined. 19:48:19 ~exec sys.stdout(self.banlist) 19:48:19 [<_sre.SRE_Pattern object at 0xb7c2d3b0>] 19:48:26 ~exec sys.stdout(self.banlist[0].pattern) 19:48:54 ~ps 19:48:55 0: 'self.handle_callback(message, m, i)', 0.00 seconds 19:49:15 hrm 19:49:27 ~exec self.ban(".*foobar.*") 19:49:33 ~exec sys.stdout(self.banlist) 19:49:34 [<_sre.SRE_Pattern object at 0xb7c2d3b0>, <_sre.SRE_Pattern object at 0xb7caad40>] 19:51:12 ~exec self.read_bans() 19:51:12 UnboundLocalError: local variable 'fd' referenced before assignment 19:52:15 -!- falsebot has joined. 19:52:25 botfight! 19:52:35 * lament forgot all the syntax for falsebot 19:52:44 !help 19:53:01 including the help command :D 19:53:19 F! help 19:53:30 F! "hello" 19:53:30 hello 19:53:32 !exec sys.stdout(self.ban_file) 19:53:34 aha 19:53:40 ~exec sys.stdout(self.ban_file)3~ 19:53:41 SyntaxError: invalid syntax 19:53:44 ~exec sys.stdout(self.ban_file) 19:53:47 /bot/scripts/bans 19:54:12 F! 30 9[1-$][\$@$@$@$@\/*=[1-$$[%\1-$@]?0=[\$.' ,\]?]?]# 19:54:12 29 23 19 17 13 11 7 5 3 2 19:54:20 prime numbers up to 30 19:54:21 ~exec self.unban(".*foobar.*") 19:54:22 UnboundLocalError: local variable 'fd' referenced before assignment 19:54:27 wtf 19:55:14 -!- bsmnt_bot has quit (Remote closed the connection). 19:55:21 ["hello world!"]h: 19:55:24 F! ["hello world!"]h: 19:55:36 h;! 19:55:39 F! h;! 19:55:39 hello world! 19:55:49 is it persistent or not? i forgot 19:55:50 -!- bsmnt_bot has joined. 19:55:54 -!- falsebot has quit (Remote closed the connection). 19:56:04 -!- falsebot has joined. 19:56:08 F! h;! 19:56:08 Error: 'h' 19:56:12 crap 19:56:31 ~exec sys.stdout("foo") # foobar 19:56:32 foo 19:56:37 i think i implemented a whole bunch of functionality that's now lost 19:56:42 -!- falsebot has quit (Remote closed the connection). 19:56:51 ~exec sys.stdout([i.pattern for i in self.banlist]) 19:56:52 [''] 19:57:25 ~exec self.ban(".*foobar.*") 19:57:28 ~exec sys.stdout([i.pattern for i in self.banlist]) 19:57:28 ['', '.*foobar.*'] 19:57:35 ~exec sys.stdout("foo") # foobar 19:57:36 foo 19:57:41 wtf 19:57:58 oh, i remember the problem with False now 19:58:10 and also, didn't i use to have a lambda calculus bot? 19:58:40 -!- bsmnt_bot has quit (Remote closed the connection). 19:58:42 -!- bsmnt_bot has joined. 19:58:44 oh of course 19:58:47 ~exec sys.stdout([i.pattern for i in self.banlist]) 19:58:48 [''] 19:58:53 argh 20:00:40 -!- falsebot has joined. 20:01:04 F! [$1=$[\%1\]?~[$1-f;!*]?]f:5f;! 20:01:23 F! [$1=$[\%1\]?~[$1-f;!*]?]f:5f;!. 20:01:23 120 20:01:30 at least now i'm flooding too :) 20:01:40 * lament feels better 20:02:00 ~quit 20:02:00 -!- bsmnt_bot has quit (Client Quit). 20:02:02 -!- bsmnt_bot has joined. 20:02:07 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:02:07 [''] 20:02:19 ~exec self.ban(".*foobar.*") 20:02:22 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:02:23 ['', '.*foobar.*'] 20:02:27 ~exec sys.stdout([i.pattern for i in self.banlist]) # foobar 20:02:28 ['', '.*foobar.*'] 20:02:33 wtf 20:03:25 -!- bsmnt_bot has quit (Remote closed the connection). 20:03:27 -!- bsmnt_bot has joined. 20:03:31 F! ["~exec sys.stdout('F! h;!')"]h:h;! 20:03:31 ~exec sys.stdout('F! h;!') 20:03:36 :P 20:03:37 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:04:11 ~exec sys.stdout("foo") 20:04:16 ~quit 20:04:22 sigh 20:04:32 apparently falsebot is banned 20:04:40 :( 20:05:14 -!- bsmnt_bot has quit (Remote closed the connection). 20:05:16 -!- bsmnt_bot has joined. 20:05:22 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:05:35 !F h;! 20:05:54 F! h;! 20:05:54 ~exec sys.stdout('F! h;!') 20:05:57 come on 20:06:14 -!- bsmnt_bot has quit (Remote closed the connection). 20:06:16 -!- bsmnt_bot has joined. 20:06:50 -!- bsmnt_bot has quit (Remote closed the connection). 20:07:18 -!- bsmnt_bot has joined. 20:07:25 oh 20:07:34 apparently '' matches everything 20:07:51 heh 20:07:52 :D 20:08:08 -!- bsmnt_bot has quit (Remote closed the connection). 20:08:10 -!- bsmnt_bot has joined. 20:08:13 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:08:14 ['.*foobar.*'] 20:08:19 ~exec sys.stdout([i.pattern for i in self.banlist]) # foobar 20:08:24 good 20:08:35 ~exec self.unban(".*foobar.*") 20:08:39 crap 20:08:43 :D 20:08:49 ~exec self.unban(".*foo%s.*" % "bar") 20:08:55 ~exec sys.stdout([i.pattern for i in self.banlist]) # foobar 20:08:56 [] 20:09:00 yay it works 20:09:24 ~exec self.ban("foobar") 20:09:26 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:09:27 ['foobar'] 20:09:30 ~quit 20:09:30 -!- bsmnt_bot has quit (Client Quit). 20:09:32 -!- bsmnt_bot has joined. 20:09:37 ~exec sys.stdout([i.pattern for i in self.banlist]) 20:09:37 ['foobar'] 20:09:54 ~exec self.unban("foobar") 20:09:58 ok 20:10:36 self.ban(pattern) to ignore all messages that match pattern, self.unban(pattern) to stop ignoring, bans persistant across restarts 20:10:40 -!- atrapado has joined. 20:11:00 anybody looked at http://esoteric.voxelperfect.net/wiki/Betterave 20:11:18 it claims to be functional, i can't imagine how it's functional 20:11:32 ~exec self.ban("^:immibis.*") 20:11:43 now he's banned 20:15:37 hm 20:15:47 it's not functional and it's barely turing complete with an ugly memory model 20:18:33 it is very nicely _dys_functional, however. 20:19:20 yeah, i'm just annoyed by the usage of the word "function" 20:19:37 " +, -, *, /, % Base mathematical functions. Return the {sum, difference, product, quotient, modulo} of the next two functions." 20:19:52 hello? "Next two functions"? 20:20:20 this guy thinks functional programming is a bunch of functions arranged in a line. 20:20:54 it's just prefix notation... 20:21:47 yes, a functional language could have that syntax. 20:23:57 I said exactly the same thing about SADOL (which also claims to be functional) over a year ago, but no-one believed me. 20:24:21 i think i'll be pro-active and delete the functional paradigm category 20:24:29 erm 20:24:46 where will we put Unlambda then? 20:24:48 ...from this language's article :) 20:25:07 call it "applicative" instead 20:25:30 it's a plain old imperative language in the spirit of brainfuck. 20:25:44 a functional language needs first-class functions, i.e. literals (lambda) and the ability to store them wherever you can put other first-class values (within reason) 20:25:57 Yeah, functions must be considered values in some way. 20:26:32 bsmntbombdood: I was expecting a little discussion before banning immibis. 20:27:16 (I'm guessing that functions having to be able to be applied to values is also part of the definition of "functional".) 20:27:23 hmm 20:27:29 yeah 20:27:29 they wouldn't be functions otherwise 20:27:40 if i wanted to be the only person who could ban/unban i would have made it that way 20:27:57 anyone can unban anyone except themselves 20:28:11 Banned people can unban each other/ 20:28:28 ...no 20:29:04 people who aren't banned can ban or unban anyone 20:29:16 that's better 20:29:22 And you say bans are patterns? 20:29:36 yeah 20:29:42 Are they over the whole message? 20:29:46 yeah 20:29:52 so any nutter could come along, carefully compose a text file, then pasate it into the channel and ban everyone here? 20:30:15 SimonRC: darn, you had to tell them! :D 20:30:20 There needs to be a name for the SADOL-style syntax though; the one where each token knows how many of the following tokens are its arguments 20:30:25 or they could just type ~exec self.ban(".*") 20:30:38 i was just going to sit around and watch the scheme come crashing down... 20:30:42 ...maybe not so smart 20:30:53 Then bsmntbombdood could come along, unban .* and ban only them. 20:31:08 How the heck does bsmnt_bot do banning anyway? It hasn't the power to kick people. 20:31:10 I'd say it's good for now, since we don't have lots of trolls coming in every day or anything. 20:31:25 SimonRC: it ignores the banned people, I believe. 20:31:34 SimonRC: ban = ignores commands from 20:31:41 ah, wrong meaning of "ban" 20:32:03 self.ban("\S+ PRIVMSG \S+ :~exec .*") 20:34:39 bsmnt_bot's code gets worse and worse every time i add somethine 20:35:36 -!- atrapado has quit ("Abandonando"). 20:38:32 Heh. 20:44:04 -!- atrapado has joined. 20:53:57 bsmntbombdood: such is life 20:58:26 self.ban("(\S+ )?PING .*") 20:58:37 (Assuming parentheses can also be used for grouping.) 20:59:10 yeah 20:59:27 challenge: make an esolang in which (0 can be used for quoting code and also for grouping in expressions, because those two concepts are the same thing 20:59:34 oops, I meant () 20:59:53 Oh, wait, you can do it with thunks. 20:59:56 d'oh 21:02:46 For quoting code? 21:02:53 What do you mean? 21:03:28 like a quotation in Joy, I mean 21:11:58 call-by-name lisp? 21:12:24 want 21:15:56 quotations would also be used for lists as well, I guess 21:16:17 so referential transparency would be... absent 21:21:11 what's grouping? 21:22:11 aha 21:22:12 http://esoteric.voxelperfect.net/w/index.php?title=Betterave&curid=2208&diff=9460&oldid=9458 21:22:34 this is the language author's edit 21:23:10 obviously it does not satisfy me :) 21:40:02 Can you explain quotations to me? 21:40:25 'ihope 21:40:39 Very good explanation, bsmntbombdood! 21:40:47 I understand perfectly now! 21:41:12 I believe he "explained" quotations. 21:41:49 The obvious next step would be to explain "quotations". 21:42:11 i would still like to be explained grouping. 21:44:20 SimonRC: ((lament) would like (to ((be explained) grouping))) 21:46:15 ihope: QUOTE is a special form that returns its argument unevaluated. Or you could say it converts external represenations to internal representations 21:48:30 I see. 21:50:44 So (foo bar baz quux ...), when evaluated, normally evaluates foo, bar, etc. and hands the evaluated foo the evaluated bar, etc.? 21:51:18 yes 21:51:50 But if foo evaluates to, say, quote, bar isn't evaluated and the whole thing evaluates to the unevaluated bar? 21:52:27 no, special forms aren't higher order 21:53:45 What aren't what? 21:54:10 ihope: quote is not a value in lisp 21:54:11 quote is syntax 21:54:28 My model fails, then? 21:54:33 ihope: it does. 21:55:11 Where's one place it breaks down? 21:55:36 ihope: quote is not a value. 21:55:42 things can't evaluate to it. 21:55:49 in common lisp it breaks down at "evaluates foo" 21:56:10 no, it breaks at "evaluates to quote" :) 21:56:30 in scheme, it may or may not break down there 21:56:38 depending on what foo is. 21:56:40 So something like (lambda () quote) is invalid? 21:57:08 that's valid 21:57:08 yes. 21:57:12 well 21:57:16 only valid if quote is defined 21:57:19 that's valid, but that's not QUOTE 21:57:28 more commonly referred to as ' 21:57:40 (in scheme. I don't give a shit about CL :) ) 21:57:49 (let ((quote 42)) (lambda () quote)) is a function of no arguments that returns 42 21:57:58 Not the same thing as quote... 21:58:11 * ihope hugs Haskell for a moment 21:58:19 ihope: lisp has these things called special form 21:58:21 when evaluating an expression it is first checked whether the first element is literally a special form or macro symbol. 21:58:29 ihope: (a b c) is an expression, unless 'a' is special 21:58:35 ihope: 'quote' is special 21:58:45 so (quote foo bar) is not an expression 21:58:49 it's a special form 21:59:01 with its own rules for evaluation 21:59:04 sure it is, it's just not a function call 21:59:06 well, it is an expression, just not a function call 21:59:10 right 21:59:15 So if the head of the list *is* quote, the entire list is a special form? 21:59:21 ihope: yes. 21:59:28 ihope: that's how all special forms work in lisp 21:59:35 ihope: for example lambda is also a special form 21:59:42 QUOTE, LAMBDA etc are syntax, which means they can't be evaluated like a function 21:59:45 ihope: (foo lambda) just calls a function foo with a parameter lambda 21:59:54 ihope: (lambda foo) is a special form 22:00:11 (and in this case a syntax error, i would imagine) 22:00:44 Does (foo lambda) look for a value for lambda and pass that into foo, or does it actually pass the syntax element lambda into foo? 22:01:18 the former. 22:01:23 syntax is not higher order 22:01:26 it evaluates lambda 22:01:37 where lambda is taken from the variable namespace 22:01:41 not the special form namespace 22:02:42 but if you put a function into that variable lambda, you can't evaluate it with (lambda) 22:02:50 i was thinking about higher order special forms the other day 22:03:15 oh god 22:03:35 guile actually looks up variables before special forms 22:03:42 It seems making a special form higher order would make it a function. 22:03:43 so you can redefine lambda with a function 22:03:50 and then you'll never be able to use the lambda special form!! 22:04:20 guile> (define define 1) 22:04:20 guile> (define define 2) 22:04:32 second line causes an error, since it's parsed as (1 1 2) 22:04:37 that may actually be correct scheme - you are supposed to be able to redefine any identifier, right? 22:04:42 i suppose 22:04:51 the effects are catastrophic of course 22:05:34 So after doing basic parsing, can you just look for syntax elements at heads of lists and turn them into the appropriate structures while everything else is treated as a plain old list to be evaluated? 22:06:02 yes. 22:06:05 well no 22:06:09 special forms are also evaluated 22:06:13 they're just specially evaluated 22:06:30 (foo bar) is evaluated as a function call, unless foo is a special form 22:06:39 in which case it's evaluated according to the rules of the special form 22:06:46 which are themselves written in lisp 22:06:55 you can create your own special forms 22:07:23 macros! 22:07:25 which means the syntax of lisp is arbitrarily extendable 22:07:31 So is ((lambda (x y) x) 3 (lambda)) valid, then? 22:07:41 (Assuming the first is a function of two arguments that returns the first.) 22:08:08 hm 22:08:17 ihope: only if lambda is a function of no arguments in the current enviroment 22:08:30 ihope: no, it's not valid because scheme is not lazy. 22:08:35 Oh, right, that. 22:08:42 ihope: it would be valid otherwise. 22:09:13 I think I get it well enough, then. 22:09:13 bsmntbombdood: no 22:09:24 bsmntbombdood: if lambda IS a function of no arguments, then the outer expression fails. 22:09:31 oh right, nevermind 22:09:50 if you define lambda as taking arbitrary arguments and ignoring them, then that works, of course. 22:10:18 but then there's no special forms in it :) 22:13:05 Any pondering of the full consequences of this will be done later. 22:14:00 scheme is yummy 22:16:09 jeez, $500 for the iphone 22:23:54 -!- mtve has quit (Read error: 110 (Connection timed out)). 23:09:43 -!- oerjan has quit ("Good night"). 23:25:36 lol internet: "no its not attitude i just hate people telling me what i can and can not do it just gets on my nerves and english is my native language i just dont pay attention to how i spell words and since u understood me i think itll be alright" 23:26:42 where's that from? 23:27:50 the ZBB 23:28:10 http://www.spinnoff.com/zbb/viewtopic.php?p=525928#525928 23:29:56 heh 23:31:09 -!- atrapado has quit ("alsastalaviaststa"). 23:37:38 -!- sebbu has quit ("@+"). 2007-06-27: 00:28:09 man, spanish is fucked up 00:49:08 mit-scheme needs to not crash when printing an infinite list 00:49:37 don't print infinite lists. 00:49:41 and don't use mit-scheme :) 00:50:00 print them with Common Lisp, which can handle crap like that 00:50:17 it has syntax for arbitrary graphs 00:50:30 i don't _intend_ to print an infinite list 00:55:07 i can't figure out the bug here 00:57:31 Spanish is fucked up? 00:57:48 Don't worry; I doubt 00:57:52 "alsastalaviaststa" is actually a real word. 00:58:51 And so is "antidisestablishmentarianism". 00:59:46 MzScheme outputs infinite lists (any sorts, not just simple circular) fine; but I don't think it _needs_ to not crash: R5RS only mandates that list? must not get confused by them, and mit-scheme (according to docs) gets that part right. 01:05:07 I doubt it's a real word, and so is that? 01:13:00 Well, it's 01:09, so time for bed. 01:13:31 Gasp! 01:13:51 You clearly have never heard of stimulants! 01:15:16 Dopamine reuptake inhibitors! Dopamine releasers! MAO inhibitors! Norepinephrine reuptake inhibitors! Norepinephrine releasers! GABA antagonists! Methlyxanthines! 01:16:11 Methylenedioxymethamphetamine might be the one that works the best because it has the longest name. 01:16:51 But it probably isn't. 01:16:58 And it's illegal. 01:19:05 ihope: some varieties of spanish use one pronoun for men, one for things of masculine gender and another for everything feminine (people and things alike) 01:20:00 Interesting. 01:22:31 Acetylcolinesterase 01:22:44 one of my favorite enzymes 01:24:51 whoops, dropped an h 01:25:00 should be "Acetylcholinesterase" 01:26:02 Naturally, Wikipedia would have a section about acetylcholinesterase in popular culture. 01:26:36 that's bizarre 01:26:57 * ihope looks for "popular culture in popular culture" 01:27:15 Darn. 01:27:24 did you know that RAID functions by being an Acetylcholinesterase inhibitor? 02:47:28 Redundant array of independent disks? 02:49:11 -!- ihope__ has joined. 03:07:03 -!- ihope has quit (Read error: 110 (Connection timed out)). 03:10:31 I'd imagine that a redundant array of independent disks could inhibit acetylcholinesterase. . . Because you can't easily erase a RAID! (cue groans) 03:18:57 * RodgerTheGreat emits the sound of crickets chirping 03:26:25 What, not even a groan? 03:31:48 I think I had one going for a bit, but it turned out to be a burp 03:31:57 sorry. 03:44:39 ihope__: or you could just go with caffiene 03:44:51 That's true. 03:45:18 You could also undergo gene therapy to give yourself fatal familial insomnia. 03:45:27 I wouldn't recommend it. Dying from lack of sleep is not fun. 03:45:28 cheap and legal and and easy to pronounce name and tolerable side effects 03:45:29 -!- ihope__ has changed nick to ihope. 03:46:00 What, "dope" isn't easy to pronounce? 03:46:07 It can even refer to three different drugs! 04:01:06 how about "weed"? 04:01:13 -!- boily has joined. 04:01:22 then you won't care about needing sleep! 04:02:21 cya, guys 04:02:55 -!- RodgerTheGreat has quit. 04:31:18 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:17:39 -!- c|p has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )"). 06:35:15 -!- boily has quit ("WeeChat 0.2.5"). 07:41:20 -!- oerjan has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:22:14 -!- mtve has joined. 09:49:26 -!- helios24 has quit (Read error: 110 (Connection timed out)). 10:04:58 -!- helios24 has joined. 11:31:26 -!- oerjan has quit ("Lunchetera"). 12:22:56 -!- jix has joined. 13:26:12 -!- jix has quit ("This computer has gone to sleep"). 13:34:54 -!- ihope__ has joined. 13:35:06 -!- ihope__ has changed nick to ihope. 14:40:36 -!- pikhq has quit (Remote closed the connection). 14:41:10 -!- pikhq has joined. 14:51:58 -!- jix has joined. 15:03:04 -!- andreou has joined. 15:03:08 sup 15:06:45 remum? 15:39:54 -!- c|p has joined. 15:44:18 -!- oerjan has joined. 16:18:23 -!- jix_ has joined. 16:27:16 -!- jix has quit (Read error: 113 (No route to host)). 16:30:32 challenge: make an esolang in which (0 can be used for quoting code and also for grouping in expressions, because those two concepts are the same thing <<< oklotalk 16:40:05 oklotalk has [], () and {} with different meanings, but their semantics overlap, you can simulate either [] or {} with () in most cases 16:47:14 Oklotalk? 16:47:38 Sounds like something that needs wikiing. 16:53:45 my language i'm speccing up on a daily basis now 16:54:25 still a bit under construction, but i did make a partial parser a few days ago 16:54:56 well, a parser that works for legal code 16:55:03 hmm 16:55:19 everything is legal, i mean code that's _very_ legal 17:06:39 * ihope tosses together a programming language that's riddled with symbols 17:07:33 Okay, not quite riddled, yet. 17:07:48 Only * and > so far. 17:08:14 it could still be riddled with them. 17:08:29 Er, those are the only ones that represent values. 17:08:54 oklopol: aren't even brackets required to match? 17:10:14 nope 17:10:47 it's a bit complicated to explain, though very logical once you grasp it 17:11:16 i wanted to make unmatching brackets possible because that was the only thing making pieces of code illegal 17:11:19 now everything is lega 17:11:22 *leagal 17:11:24 *elgalö 17:11:27 *lkegak 17:11:30 *i give up 17:11:34 Legal? 17:11:44 legacy 17:11:54 Lego 17:12:24 Elgar 17:12:31 Legolas 17:12:32 Lawful! 17:12:44 legal << there 17:12:45 So how does this non-matched bracket thing work? 17:15:32 hmm... i gotta think a bit to get it into words 17:15:54 which, i admit, is a sign of me not having proved it can actually work like i intended 17:15:57 wait a mo 17:16:13 * ihope ties up :, = and ; 17:16:38 F! "morning!" 17:16:38 morning! 17:17:08 My goal for my little language is to be able to express proofs that two expressions are equivalent. 17:17:49 I think that means first-order logic is necessary. 17:17:53 not particularly possible in the general case 17:18:14 No? 17:18:34 Is there a proof that no formal system of proof can express all proofs of equivalence? 17:18:50 Rather, no set of axioms? 17:18:52 isn't that goedel? 17:18:59 I dunno. Probably :-P 17:19:12 goedel is about proving theorems 17:19:12 I'll ask in #math. 17:19:24 which is the same as proving that a statement is equivalent to True 17:19:59 so, sorry :) 17:24:28 from the wiki: "Most programming languages do allow for arbitrary effects at arbitrary points. In the imperative paradigm, for example, all this really means is that there is no restriction on the order that instructions are specified to be executed in." 17:24:32 what the hell does that mean? 17:31:49 Luckily, all the equivalence-of-expressions I want is the fact that it's impossible to produce a type error by applying a function to an argument. 17:33:42 oh, that's different 17:33:45 well 17:34:03 goedel's theorem is for systems complex enough to express arithmetic 17:34:13 if your type system is complex enough to express arithmetic, you're fucked 17:34:22 but it probably isn't 17:34:46 Type system complex enough to express arithmetic... 17:35:07 Does the fact that types can contain any value help? 17:37:43 hmm 17:37:46 i got it ready 17:38:00 i'll up it, see if you find any sense in it 17:39:11 http://www.vjn.fi/pb/p213111455.txt 17:39:20 also tell me if that has a bug or smth 17:40:54 "by the type by the opening bracket." 17:40:56 lol 17:43:14 http://www.vjn.fi/pb/p312111331.txt 17:43:19 better i guess 17:51:58 -!- andreou has quit (Read error: 110 (Connection timed out)). 18:15:28 -!- sebbu has joined. 18:38:25 oklopol: ok i think it make sense except that you have reversed low/high precedence. 18:38:51 (from their usual meaning) 18:53:34 hmm... indeed i have 18:53:38 didn't think that through 18:55:46 okay, i didn't not think that through, i really tried putting them in the more sensible order :) 18:55:47 http://www.vjn.fi/pb/p564212545.txt 18:55:52 like thut 19:06:28 I suddenly want to write a parser for it. 19:06:42 Could be an interesting challenge. :-) 19:06:50 -!- RodgerTheGreat has joined. 19:07:04 'afternoon, everyone 19:08:37 ihope: i can tell you the tokenizing rules 19:08:48 and you can do it all. 19:09:06 I could! 19:09:07 also, okenization is an important part of parsing oklotalk 19:09:17 that has simple rules as well 19:09:44 okenization is my term for "whuz applied to what" 19:10:23 like, 5 + 4 is (+ 5 4), while 5 3 4 is ´(5 3 4) 19:10:41 the parenthesis ones being lisp of course 19:11:05 Acute accent? 19:11:15 ? 19:11:21 ´ 19:11:25 yes, quote 19:11:34 the thing _you_ were talking about some time ago 19:11:35 It looks like neither ` nor '. 19:11:44 it's neither. 19:11:45 ` 19:11:55 Is it ASCII? 19:11:58 but doesn't matter, lisp has just one ' 19:12:00 ` is ascii 19:12:04 yes 19:12:08 what oklopol had was not ascii 19:12:11 oh 19:12:12 :) 19:12:24 it's like ` but going the other way 19:12:37 really isn't? damn :\ 19:12:50 it's an important part of oklotalk tokenization :) 19:13:00 `, ' and that are used in oklotalk? 19:13:05 i'm not a fan of langs that require the use of characters i can't even type 19:13:14 ´, ` and ' 19:13:32 Hmm... 19:13:40 lament: the key you do ` with, doesn't it give you ´? 19:13:50 it does on all my keyboards 19:14:04 and it's not used in finnish so i don't think that's the reason 19:14:05 All your keyboards have ´ under ~? 19:14:19 they have a special button for ´ 19:14:22 oklopol: ` with no shift, ~ with shift 19:14:28 oh 19:14:29 :\ 19:14:37 -!- pikhq has quit (Remote closed the connection). 19:14:45 damn 19:14:53 -!- pikhq has joined. 19:15:04 well, don't care, the choise of characters is not important 19:15:23 Do you know if there are any ASCII characters you're not using? 19:15:32 (Is there a rough oklotalk spec anywhere?) 19:15:39 ihope: that was just the bracket rules, there are other ways to change scoping :) 19:15:45 haskell-like $ for one 19:16:17 I know that without much specification, I can't give much feedback. 19:16:17 ihope: on my comp, but it's partly outdated and too long for me to quickly fix it now 19:16:24 heh 19:16:26 trues 19:17:01 Well, a parser can be written even if you have no idea what the result is supposed to do. 19:17:22 i could make a parsing spec, indeed 19:17:30 I could write up a parser in Haskell. 19:18:18 i'll make one now, i'll make a python parser for it, but you prolly get it finished before me 19:18:34 shouldn't be that hard 19:18:49 Of course, it's probably best to make the whole interpreter/compiler in one language. 19:19:03 yeah 19:19:25 hmm... 19:19:32 wonder if i could make anything in haskell 19:19:41 no. You're not smart enough. 19:19:43 I wonder if I could make anything in Python... 19:19:45 made a thue interpreter... my first and only haskell program :DD 19:20:01 Python is similar enough to Haskell that I could do it, I believe. 19:20:16 lament: my thoughts exactly, it's just i've surprised myself a few times 19:20:23 It might look totally un-Python, though. :-) 19:20:52 python is nice, i just don't like the fact it has no scoping really 19:21:09 No scoping? 19:21:12 well okay it has, but it like sucks ass 19:21:54 if you have a function inside another function, the inner function does not have access to the outer one 19:22:17 oklopol: now, you said Finnish? 19:22:21 err 19:22:26 what i said was in finnish? 19:22:41 hmm 19:22:44 You mentioned Finnish keyboards, or something. 19:22:47 oh 19:22:49 indeed i did 19:22:55 ah 19:22:56 oklopol: it's not a problem in practice. 19:23:10 we have umlaut where you have ` 19:23:16 lament: for me it is 19:23:42 because i'm stupid, probably 19:24:02 inner functions are unpythonic 19:24:10 Do you speak Finnish, then? 19:24:55 (Should I just ask if English isn't your first language and point out your error? :-P) 19:25:31 point point 19:26:03 it's not my first language 19:26:21 is english anybody's first language? 19:26:37 lament: yours? 19:26:37 It's mine. :-) 19:26:42 oh 19:27:02 hmm... actually i might be wrong about you being american 19:27:04 ihope: poor guy 19:27:06 (lament) 19:27:10 ihope: do you speak any other languages? 19:27:15 ihope: not for lambda calculus 19:27:22 I'm learning Spanish and have looked at Japanese. 19:27:31 which means not for any turing complete language 19:27:31 bsmntbombdood: what about lambda calculus? 19:27:32 ihope: will you tell me my error? 19:27:43 the nice thing about NOT having english as your first language 19:27:47 is that you're gonna learn english anyway 19:27:53 so you will know two languages 19:28:00 ihope: proofs of equivilence 19:28:23 oklopol: you said that Python had no scoping, then you said "okay, it has". That should be "okay, it does", since "has" isn't an auxiliary verb here. 19:28:43 wow 19:28:54 1/100 would have niticed 19:28:55 (Isn't it wonderful how many things in English require auxiliary verbs?) 19:28:56 *noticed 19:28:59 hmm 19:29:09 perhaps 100% of americans 19:29:19 :-) 19:29:25 it's easy to see for natives, probably 19:29:26 ihope: i don't think your explanation is correct 19:29:35 With auxiliary verbs? 19:30:12 ihope: or rather, you say "has" isn't an auxilary verb, but you don't explain why there should be an auxilary verb there. 19:30:26 ihope: the reason that happened was i was actually going to write how it has and what, but couldn't phrase it well enough 19:31:09 lament: same reason we need to say "Did you eat lunch yet?" rather than "Ate you lunch yet"? 19:31:36 ihope: no, it's not the same reason. 19:31:48 ihope: In that sentence you need the auxilary verb because that's how you form questions. 19:32:05 I can't say "that's the way it is" for this, too? 19:32:10 oklopol's statement wasn't a question. 19:32:24 it's because the verb itself is stressed, not? 19:32:41 you can't understand it, you have to feel it 19:32:53 oh, i'm pretty sure you can understand it. 19:32:58 english auxiliaries are fucked up 19:33:02 ihope: can you use too in a negative sentence like that? 19:33:06 'too' 19:33:12 oklopol: no, he can't. 19:33:15 cool 19:33:19 ihope: i POWNED ya 19:33:30 WTF are can, could, should, would, etc anyway? 19:33:45 oklopol: ITYM "PWNED" 19:33:51 SimonRC: ...verbs? 19:33:58 "I know this is true. Are you saying that this isn't true too?" 19:34:11 ihope: s/too/either 19:34:13 "as well"? 19:34:17 ihope: "too" is ungrammatical 19:34:36 i'd say "either" would be even more wrong. 19:34:49 lament: they sometimes don't work like verbs 19:34:56 and they don't compose properly 19:35:02 SimonRC: then think of them as mood markers 19:35:02 lament: if the first sentence were "I know this isn't true", then it'd be either, but isn't it "too" when you say that it is true? 19:35:17 ihope: or perhaps "as well"? 19:35:25 That also works. 19:35:40 i'd say "too" doesn't, but i guess you make the language. 19:35:44 ihope: are you parsing it as "are you saying that [this isn't true] too?" 19:36:02 ihope: i'm parsing it as "are you saying that this [isn't true too]" which is ungrammatical 19:36:04 Are you saying that [this isn't true too]? 19:36:17 Hmm... 19:36:47 seems 'too' can only be applied to positive statements 19:37:01 john has an apple and i have one too 19:37:02 "Too", as far as I know, is used whenever some *other* statement is positive. 19:37:08 john doesn't have any apples and i don't have any either 19:37:22 John has an apple but I don't have one too. 19:37:32 ungrammatical 19:37:42 i'm very sure that's ungrammatical 19:38:25 I guess I'm thinking of "to have one too" as a form of "to have one" that's used when someone else has one, and then I'm just negating it. 19:38:27 grammatical: john has an apple but i don't have one. 19:38:29 i'd say that latter one is right 19:38:41 * ihope shrugs 19:39:35 you can only use 'too' when both statements agree with each other 19:39:41 too indicates the agreement between them 19:39:45 you can't understand it 19:39:49 john has it, i have it too 19:40:03 same with either, but for negative statements 19:40:25 "john has an apple but i don't have one too" is wrong because it feels wrong 19:40:29 if one is positive and the other is negative, then there's no agreement, so you can't use "too" nor "either" 19:42:44 Now, I think we were on about Python and Haskell and such. 19:43:00 Python, Haskell, parsers, specs... 19:43:46 Division of labor... 19:44:07 But not Keynesianism. 19:44:13 yeah, yeah, you suck at english and that's all there is to it :) 19:44:47 Yes, isn't it wonderful? 19:44:48 it's raining outside, i wanna go there 19:44:54 lol America: # God hates the world // and all her people #, by the same people that brought you God Hates Fags http://my.break.com/media/view.aspx?ContentID=278059 19:47:59 by the way, it was a 30 minute job learning a deck of cards in order 19:48:12 and the pianist failed pretty bad 19:48:36 Sounds like absurdist humor. 19:48:44 Or is that surrealist humor? 19:48:48 :-P 19:48:59 what me? 19:49:10 Yup. 19:49:20 i used to sing that piece in choir <3 19:49:25 the original one 19:49:27 <3? 19:49:28 :DD 19:49:36 i'm high on caffeine again 19:49:42 I see. 19:50:04 Don't worry. If you do that often enough, you'll develop resistance to it. 19:50:13 Unfortunately, resistance comes with addition. 19:51:14 And by addition, I mean addiction. 19:51:20 mandatory to attain choir since i was on a music class 19:51:25 hmm 19:51:49 ihope: i won't get resistant since the high is psychological 19:52:17 Oh? 19:52:38 what? 19:53:13 AFAICT it's real 19:53:38 what the hell is a "psychological high"? 19:53:47 "psychological addiction" i can understand 19:53:48 If only that were true for the L-Dopa administered to catatonic patients... 19:53:57 "psychological high", not really 19:54:20 since caffeine obviously has physiological effects 19:54:39 unless you're drinking decaf coffee and your high is from the placebo effect 19:54:54 Death is considered a physiological effect, right? 19:54:59 i can get pretty high without any substance. 19:55:17 * ihope ponders the phrase "your highness" 19:55:49 it's true caffeine has physiological effects, but it's highifying effect is minimal 19:56:17 i just get so excited from the fact it's my favorite poison i'm drinking i sometimes get a bit carried away 19:57:03 Now, are you doing anything in the way of an oklotalk spec? 19:57:19 oklopol: huh/ you memorised the order of a pack of cards? 19:58:04 yeah 19:58:18 ihope: trying, but people keep on talking :P 19:58:58 lament: can you please kickban oklopol so that that spec will get written? 19:59:00 :-P 19:59:13 nooo 19:59:14 :D 19:59:25 * ihope grabs the whip 19:59:28 Get to work! 20:00:06 oklopol: how? 20:01:01 SimonRC: http://www.torrentz.com/87dbcdab1a1734730dad25b1fdaf4caf9edd4a06 20:01:13 trivial 20:06:07 hmm 20:06:10 is § ascii? 20:06:26 that's also a pretty crucial char :) 20:06:41 no. 20:07:49 -!- kwertii has joined. 20:08:00 heh 20:08:24 ¤, i guess, isn't either? 20:09:22 i've never seen a keyboard without these keys and don't know the ascii table by heart... i guess i should travel more and remember more 20:09:38 s/keys/characters 20:10:11 ¤ isn't ASCII, no. 20:10:49 Alphanumerics and `~!@#$%^&*()_+-={}|[]\:";'<>?,./ 20:11:42 Does your keyboard have all of ASCII? 20:11:47 okily, then i have to change my whole operator set or just have it not be ascii 20:11:55 ihope: all those yes 20:12:01 and a lot more 20:12:03 ªŋ®þjþ←jœš®→↓ħj€ħjµª€ħ 20:12:24 That's... many. 20:12:37 those were random, not all 20:12:53 Indeed, there certainly were duplicates. 20:13:09 yeah, there's about twice that 20:13:15 much 20:13:55 oklopol: I don't care enough to download all that 20:14:22 one pdf? 20:14:44 well, it's a lot more if you don't do torrents of course 20:14:52 anyway, that's a book i read. 20:14:57 (half of it) 20:15:00 (sofar) 20:18:07 heh, 50000 steps to solve "world's hardest sudoku" with brute force 20:18:28 841258 steps to solve a random sudoku i solved by hand in 10 minutes 20:18:54 :-) 20:19:06 I take it you're using some sort of program to do that. 20:19:13 yeah 20:19:35 no, no, it's a trick from that book... 20:19:51 (Also, people really don't know what they're missing with, say, 9x9 sudokus.) 20:20:07 (...Okay, they probably know that they're missing large headaches.) 20:20:12 i know what i'm missing _without_ sudokus 20:20:18 basically nothing :) 20:20:55 Hmm... by "with" I apparently meant "in". 20:20:59 Or something like that. 20:21:44 16x16 sudokus can be bruted as well 20:22:03 however, even the easiest 25x25 will take forever... never managed to finish one 20:22:11 run the program for days. 20:22:13 *ran 20:22:34 Try implementing... um, some certain algorithm. 20:23:48 http://www.vjn.fi/pb/p553546433.txt 20:23:51 that was hard 20:24:09 i have an algorithm that generalized sudokus... also solves the checkers problem 20:24:16 Say, have you tried brute-forcing http://en.wikipedia.org/wiki/Image:Sudoku_puzzle_hard_for_brute_force.jpg? 20:24:23 that i made one night because i was bored 20:24:48 Dancing Links is the algorithm I mean. 20:25:44 looks like wikipedia is mostly down 20:26:11 Works for me. 20:26:31 dancing links? 20:26:37 Yup. 20:26:38 hmm... didn't brute yet 20:28:34 hmm, i'm not gonna try and understand that... i'm pretty sure it's the same i invented myself 20:28:40 what else could it be 20:29:07 What's probably the same as you invented yourself? 20:29:40 dancing links 20:29:52 i mean, pretty much the same, prolly a bit better 20:30:18 it would take me an hour to understand how it works 20:31:05 Well, Dancing Links is pretty efficient from what I can tell. 20:31:34 most likely it is. 20:32:02 if you like, explain it to me in layman's terms 20:32:07 the gist of it 20:32:21 I currently don't know the gist of it any better than you do :-) 20:32:56 I know that it's a modified version of an algorithm that involves a few steps. 20:33:06 (As opposed to those algorithms that don't require any steps at all.) 20:34:10 those ones are always fun 20:34:25 hmm 20:34:29 no steps? 20:34:46 Dancing Links probably also involves steps. 20:34:55 i don't understand the thing it says there about doubly linked lists. 20:35:04 With the arrows? 20:35:08 arrows? 20:35:09 oh 20:35:13 i thought they were - 20:35:15 Well, it says to read the article on Algorithm X first. 20:35:35 heh, i guess i shouldn't have assumed _i_ don't need to read it 20:35:47 esoteric - "i so erect" 20:35:57 esoteric - "core site" 20:35:59 :) 20:36:05 esoteric - ie corset 20:36:27 esoteric - ice store 20:36:35 i like core site 20:37:37 -!- lament has set topic: The core site for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://www.ircbrowse.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals. (bsmntbombdood has been eaten.). 20:40:12 lament: did you do that manually? 20:41:25 hardest word to anagramize i know is "niklas nordmann", unfortunately i've only searched finnish ones 20:41:46 prolly easy in english 20:41:55 hmm... or not 20:44:08 huh? 20:46:05 Internet Anagram Server = I, Rearrangement Servant 20:46:07 I think. 20:46:26 Nice way to advertise :-) 20:54:22 mmmmm coffee 20:54:25 delicious delicious 20:54:29 coffeeeeeeee 20:54:37 needs moar coffee 21:12:05 ihope: would you have wanted a bnf? 21:12:34 i wrote something... never shown a spec to anyone, don't know if this one makes any sense :P 21:14:14 http://vjn.fi/mb/index.php 21:14:19 try loading oklotalkspec 21:14:35 (that bin has never been tried and is under construction, sorry :P) 21:14:41 "oklotalkspec" 21:15:48 -!- oerjan has quit ("'ishop"). 21:21:39 wikihow is funny 21:23:26 "how to boil water" 21:23:38 cool 21:23:46 i've always wanted to learn that 21:31:59 guess i'll go outside, be back in a few hours 21:32:05 around 2 am 21:35:30 oklopol: oh, it's not really that important. 21:35:39 what? 21:35:55 bnf? 21:41:35 Yeah. 21:41:44 -!- jix_ has quit ("CommandQ"). 21:41:53 Backslash makes a decimal number, you say? How does that work? 21:42:15 (Wait, I'm doing this in Haskell. Um... that won't result in any deaths, will it?) 21:43:55 And what should I do with unmatched comment markers? 21:46:39 And I don't get the scope splitting stuff. 21:51:26 * SimonRC recalls his first cookery lesson at school. 21:52:26 Cookery? 21:54:04 yes 21:54:19 we made beans on toast as the first lesson 21:54:37 * SimonRC recalls the time he made a pizza with a whole block of edam on it 21:56:13 edam? 22:00:13 Or rather, Edam. 22:01:07 Edam (Dutch Edammer) is a Dutch cheese that is traditionally sold as spheres with pale yellow interior and a coat of paraffin. 22:01:36 yes, I know 22:18:03 poop plane!! 22:18:39 Did somebody say poop plane? 22:20:44 i think so 22:26:40 bsmntbombdood: WTF 22:27:43 yes, indeed 22:30:51 btw omitting aux. verbs seems to be a somewhat common feature of informal english 22:32:30 ("you think so?") 22:40:32 Hmm, indeed. 22:41:17 Or is that omitting the first word of a sentence because it's not that important? 22:51:01 looks like omitting the aux. verb specifically 23:34:35 -!- falsebot has quit (Remote closed the connection). 23:35:12 nooo 23:40:04 -!- sebbu has quit ("@+"). 23:49:56 * bsmntbombdood wrote a lisp with first order macros 23:49:59 http://paste.lisp.org/display/43574 23:51:06 implementation of the OR macro: http://paste.lisp.org/display/43573 2007-06-28: 00:26:43 * SimonRC points at section 8 of this: http://paulgraham.com/arcll1.html 00:26:53 "Macros separate 1st class objs." 00:29:39 what esolangs are based on a stack of stacks? 00:30:05 None that I know of. 00:30:08 Yet. ;) 00:30:52 i'm pretty sure they exist. 00:31:03 Ooh, fun. 00:31:10 Just make the basic datatype the stack. 00:31:21 that's what i'm trying to do. 00:33:25 numbers defined as stacks? 00:33:27 cool 00:33:55 very set theoretic 00:34:31 who said anything about numbers 00:36:12 -!- Sgeo has joined. 00:51:57 a different notation for the same thing 00:52:16 what do you have in mind? 00:52:34 funge98 has a stack of stacks 01:11:50 Has any work been done on that factory language? 01:12:03 The one that was not to be called ABCDEF (I think) 01:25:58 bah :( 01:28:51 no fair 01:33:27 * SimonRC finds a pair of people analogous to a laser on Usenet. 01:33:46 Every post by one of them causes an average of 1.1 replies by the other. 01:33:53 qualitavely 01:33:57 speaking 01:34:03 * SimonRC goes to bed 02:58:36 -!- ihope__ has joined. 03:06:56 -!- ihope has quit (Nick collision from services.). 03:06:58 -!- ihope__ has changed nick to ihope. 05:05:10 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:15:14 -!- pikhq has quit (simmons.freenode.net irc.freenode.net). 05:15:14 -!- lament has quit (simmons.freenode.net irc.freenode.net). 05:15:44 -!- lament has joined. 05:15:44 -!- pikhq has joined. 05:35:26 -!- boily has joined. 05:35:26 -!- immibis has joined. 05:36:01 hi everyone whos here right now 05:37:15 bsmntbombdood: who ate you? 05:39:15 lament and ihope, i think 05:40:26 ~exec sys.stdout("* lament burps") 05:40:31 ~exec sys.stdout("* ihope burps") 05:40:42 ~exec self.raw("QUIT") 05:41:47 har har 05:41:58 i added a new feature to bsmnt_bot ;) 05:42:38 cya, guys 05:42:39 ~exec sys.stdout([i.pattern for i in self.banlist]) 05:42:40 ['^:immibis.*'] 05:42:55 -!- RodgerTheGreat has quit. 05:43:23 bsmntbombdood: i see why you did that 05:51:00 anyone who isn't banned can unban you, so feel free to convince someone to 05:52:29 i don't think many people would want to (hehe) 05:52:40 -!- immibis has changed nick to immibis_away. 05:52:50 ~exec sys.stdout("immibis_away is not banned!") 05:52:57 -!- immibis_away has changed nick to immb. 05:53:03 ~exec sys.stdout("immb is not banned!") 05:53:03 immb is not banned! 05:53:14 maybe it should keep track of nick changes? 05:53:21 -!- immb has changed nick to immibis. 05:54:08 that could be gotten around by just quitting/reconnecting 06:08:26 -!- c|p has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )"). 06:10:16 G'night all! 06:11:20 -!- Sgeo has quit ("Ex-Chat"). 06:24:07 * boily restarts X 06:24:11 -!- boily has quit ("WeeChat 0.2.5"). 06:25:07 -!- boily has joined. 06:40:19 -!- toBogE has joined. 06:40:27 !bf ++++++++++. 06:40:31 hm 06:40:36 !bf +++++++++++++. 06:40:44 !bf [+.] 06:40:55 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 06:41:30 toBogE is EgoBot spelled backwards 06:42:35 -!- toBogE has joined. 06:43:06 !bf [+.] 06:43:23 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 06:45:15 -!- immibis has changed nick to immibis[A]. 06:45:15 * immibis[A] is now away - Reason : afk 06:55:40 !bf +.[>+.] 07:04:34 it is offline 07:04:36 i am debugging 07:04:39 it didn't work 07:04:41 -!- immibis[A] has changed nick to immibis. 07:04:41 * immibis is no longer away : Gone for 19 minutes 25 seconds 07:05:36 it will be on #toboge until it works 07:27:17 -!- immibis has left (?). 07:27:49 -!- immibis has joined. 07:30:25 -!- oerjan has joined. 07:33:46 hi oerjan 07:34:05 -!- EgoBot has joined. 07:34:22 !bf +[.+] 07:34:29 hi 07:34:37 I SAID !bf +[.+] 07:34:44 EgoBot! 07:35:29 my brainfuck bot appears to have become a ghost 07:36:02 -!- toBogE has joined. 07:36:08 -!- boily has quit ("Sleep"). 07:36:08 !bf W+[.+M256] 07:36:08 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 07:36:09 07:36:09 gikmoqsuwy{} 07:36:10 07:36:41 !bf +++++[>++<-] 07:36:48 !bf +++++[>++<-][>++<-]. 07:37:09 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 07:37:18 toboge is egobot spelled backwards 07:39:13 -!- toBogE has joined. 07:39:18 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 07:53:24 -!- EgoBot has quit (Read error: 110 (Connection timed out)). 07:56:36 -!- toBogE has joined. 07:56:49 !magritte x 07:57:01 toboge? syntax error 07:57:14 !bf W+[+.M256] 07:57:25 ceci n'est pas un x 07:57:38 its a ghost i think 07:57:46 -!- toBogE has quit (Nick collision from services.). 07:57:47 one second 07:58:02 -!- toBogE has joined. 07:58:03 !magritte syntax error 07:58:03 Syntax error. Please type !magritte Ceci n'est pas un programme. 07:58:12 !magritte Ceci n'est pas un programme. 07:58:12 Paradoxical error. You say it is not a program, I will not believe it. I do not believe it, it is a lie. It is a lie, it is not not a program. It is not not a program, it is a program. It is a program, I believe it. I believe it, it is not a lie. It is not a lie, it is not a program. 07:58:12 It is not a program, I will not believe it. I do not believe it, it is a lie. It is a lie, it is not not a program. It is not not a program, it is a program. It is a program, I believe it. I believe it, it is not a lie. It is not a lie, it is not a program. 07:58:12 It is not a program, I will not believe it. I do not believe it, it is a lie. It is a lie, it is not not a program. It is not not a program, it is a program. It is a program, I believe it. I believe it, it is not a lie. It is not a lie, it is not a program. 07:58:13 -!- toBogE has quit (Excess Flood). 07:58:21 paradoxical error. 07:58:40 spam error 07:59:55 ok, changing error message 07:59:58 -!- toBogE has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:08 !magritte Ceci n'est pas un programme. 08:00:08 Paradoxical error. "Ceci n'est pas un programme" is French for "This is not a program" 08:01:20 !bf ++<++++++++[>[[>++<-]>[-<+>]<-]-. 08:01:21 08:01:27 !bf ++<++++++++[>[[>++<-]>[-<+>]<-]->. 08:01:32 !bf ++<++++++++[>[[>++<-]>[-<+>]<-]->. 08:01:50 !bf ++<++++++++[>[[>++<-]>[-<+>]<-]-[>+.<-] 08:01:50 08:01:51 08:01:52 >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop 08:01:54 qrstuvwxyz{|}~ 08:01:56 08:01:56 08:01:57 08:01:58 >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop 08:01:59 qrstuvwxyz{|}~ 08:02:01 08:02:02 oops 08:02:03 Brainfuck program taking too long 08:02:15 good thing i did that 08:02:19 that error 08:02:29 -!- immibis has changed nick to immibis[A]. 08:09:51 -!- immibis[A] has changed nick to immibis. 08:10:31 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 08:11:48 -!- toBogE has joined. 08:12:26 !magritte Ceci n'est pas un programme. 08:12:26 Paradoxical error. "Ceci n'est pas un programme" is French for "This is not a program" 08:12:45 !raw privmsg #esoteric test 08:12:45 test 08:12:48 !irp test 08:12:48 test 08:13:01 !irp Could someone please repeat this request? 08:13:02 Could someone please repeat this request? 08:13:11 !irp Could someone please repeat the previous request? 08:13:13 Could someone please repeat the previous request? 08:24:17 !bf ++<++++++++[>[[>++<-]>[-<+>]<-]-[>+.<-] 08:24:21 08:24:22 08:24:23 >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop 08:24:24 qrstuvwxyz{|}~ 08:24:26 08:24:30 08:24:30 08:24:30 >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop 08:24:31 qrstuvwxyz{|}~ 08:24:31 Brainfuck program taking too long 08:25:09 !bf +[,.] 08:25:09 Brainfuck input not supported by this bot. 08:25:22 !bf WA.B.C.D. 08:25:23 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:25:23 ABCD 08:26:40 !bf Ww.i.m.p.m.o.d.e.+>++++++[-<[->>+<<]>>[-<<++>>]<<].>h. 08:26:42 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:26:52 Brainfuck program taking too long 08:27:02 !bf Ww.i.m.p.m.o.d.e.+>++++++[-<[->>+<<]>>[-<<++>>]<].>h. 08:27:03 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:27:13 Brainfuck program taking too long 08:27:53 !bf W++++++++++++++++++++++++++++++++>w.i.m.p.m.o.d.e.<.>i.s.<.>b.e.i.n.g.<.>u.s.e.d.<.>f.o.r.<.>t.h.i.s.<.>p.r.o.g.r.a.m. 08:27:55 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:27:55 wimpmode is being used for this program 08:31:12 -!- GreaseMonkey has joined. 08:32:18 HQ9+ interpreter in Thue :D http://esoteric.voxelperfect.net/wiki/User:Ben_Russell/thue/hq9p.t 08:39:29 !bf WO.K.++++++++++++++++++++++++++++++++.G.r.e.a.s.e.M.o.n.k.e.y. 08:39:29 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:39:29 Caught a java.lang.NumberFormatException! For input string: "" 08:39:40 !bf WO.K.++++++++++++++++++++++++++++++++.G.r.e.a.s.e.N-.o.n.k.e.y. 08:39:40 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:39:40 OKkGreaseMonkey 08:40:01 !bf WO.K.>++++++++++++++++++++++++++++++++. Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:40:02 OK GreaseMonkey 08:43:23 !bf H.e.l..o.>+++++[->++++++<]>++.< Unrecognized Brainfuck instruction: H 08:43:27 !bf WH.e.l..o.>+++++[->++++++<]>++.< Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:43:38 Brainfuck program taking too long 08:43:43 what 08:43:46 print some text! 08:43:52 !bf WH.e.l..o. 08:43:53 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:43:53 Hello 08:44:11 why don't you just remove that message? 08:44:20 remove the wimpmode message? 08:44:22 good idea 08:44:53 !bf WT.h.i.s. .i.s. .b.a.l.l.s. 08:44:53 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:44:56 Unrecognized Brainfuck instruction: 08:45:03 space is not recognized 08:45:18 also you can't use M because M is the wimpmode modulo command 08:45:23 !bf WT.h.i.s.++++[>++++++++<-]>..<.b.a.l.l.s. 08:45:24 Wimpmode enabled for this Brainfuck program. Supported wimpmode commands: M(number) - modulo the current cell by NUMBER 08:45:32 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 08:45:47 don't worry 08:45:48 letters a-z, A-Z, and digits in wimpmode set the current cell to their ascii value 08:45:56 EgoBot crashes much worse than that 08:46:17 obviously excluding M 08:46:27 ever coded in Thue? 08:46:35 no 08:46:40 egobot didn't crash 08:46:43 i closed it 08:46:44 after watchin a few programs in action, it's really easy to pick up 08:46:53 -!- toBogE has joined. 08:46:53 i mean not egobot, toboge 08:46:58 which is egobot spelled backwards 08:47:03 yes, it probably would be 08:47:04 nice :D 08:47:15 nice, i'm a kiwi too 08:47:23 what is nice? 08:47:29 the name 08:47:36 ok 08:47:39 where bouts are you based? i'm in the wellington region 08:47:44 lower hutt 08:47:48 in the wellington region 08:48:14 the town before porirua 08:48:24 i removed the wimpmode message and changed it so that the wimpmode command to set the current cell to an ascii value is !C where C is a character 08:48:33 !bf !H.!e.!l..!o. 08:48:33 Unrecognized Brainfuck instruction: ! 08:48:38 !bf W!H.!e.!l..!o. 08:48:38 Hello 08:48:48 you need W at the beginning to activate wimpmode 08:49:12 W!G.!o..!d.! .!i.!d.!e.!a.!!. 08:49:23 W!G.!o..!d.! .!i.!d.!e.!a.! +. 08:49:30 !bf W!G.!o..!d.! .!i.!d.!e.!a.! +. 08:49:30 Good idea! 08:49:32 !bf W!G.!o..!d.! .!i.!d.!e.!a.!!. 08:49:33 Good idea! 08:49:36 you need !bf 08:49:41 oh 08:49:50 * GreaseMonkey slaps himself around a bit with a large trout 08:49:59 otherwise it would pick it up anytime people were talking about brainfuck 08:50:05 that'd be fun :D 08:50:55 lol 08:51:14 !raw PRIVMSG #esoteric :AVERY BUILDER MAN 08:51:14 AVERY BUILDER MAN 08:51:22 are you alright, toBogE? 08:51:43 lol 08:51:45 small wingless birds slapping themselves with large trouts, what has this channel come to? 08:52:05 !magritte Ceci n'est pas un programme. 08:52:05 Paradoxical error. "Ceci n'est pas un programme" is French for "This is not a program" 08:52:22 !raw PRIVMSG #esoteric :And if it isn't a program, I can't be running it. 08:52:23 And if it isn't a program, I can't be running it. 08:52:33 !raw PRIVMSG #esoteric :hope you've fixed this exploit 08:52:33 hope you've fixed this exploit 08:52:39 !raw QUIT :nope you haven't 08:52:40 -!- toBogE has quit ("nope you haven't"). 08:52:51 ^ you need some protection from that 08:53:01 well it was *supposed* to reconnect 08:53:13 -!- immibis has changed nick to immb. 08:53:25 ~exec self.raw("QUIT :QUIT MESSAGE GOES HERE") 08:53:25 -!- bsmnt_bot has quit ("QUIT MESSAGE GOES HERE"). 08:53:29 -!- bsmnt_bot has joined. 08:53:30 -!- immb has changed nick to immibis. 08:53:53 two easy solutions: 1. make it only support !raw from your nick, or ident, or hostmask, 2. add a login command, and make it only !raw for the one logged it 08:54:27 i successfully used a quit message on bsmnt_bot - i did the same thing before and it didn't work? 08:54:29 i wonder why 08:55:27 immibis: freenode has this anti-spam feature where you cannot do quit messages until a while after you've joined 08:55:35 ok 08:55:47 -!- toBogE has joined. 08:55:57 !raw QUIT I AM AN IDIOT 08:55:57 -!- toBogE has quit (Client Quit). 08:56:01 because otherwise spammers could get around mute settings in channels 08:56:20 or something like that 08:56:46 ~exec self.raw("PRIVMSG #esoteric :ACTION thinks toBogE is fat") 08:56:47 * bsmnt_bot thinks toBogE is fat 08:56:59 found the problem 08:57:07 immibis: also, the : is mandatory if what comes after contains spaces 08:57:08 in fatbot 08:57:12 er toBogE 08:57:18 ok 08:57:24 there's a bot called fatso already 08:57:37 lol 08:57:49 oh, and BTW, I suggest you use a Brainsecks interpreter instead of Brainfuck 08:57:57 brainsecks? 08:58:02 http://greasemonkey.nonlogic.org/ 08:58:04 -!- toBogE has joined. 08:58:10 it's under "Software" 08:58:29 !raw QUIT :test 08:58:31 -!- toBogE has quit (Client Quit). 08:58:45 -!- toBogE has joined. 08:58:49 working then 08:58:54 onRegistered event 08:58:54 Calling DoExec on execer Execer_raw (#esoteric,QUIT :test) 08:58:54 onDisconnected event - reconnecting 08:58:54 onRegistered event 09:00:10 brainsecks is brainfuck with memory paging, 16 I/O ports, string support, direct typing in of numbers, and random numbers 09:00:19 it makes brainfuck sexy 09:00:27 actually... 09:00:29 just a mo 09:01:21 !irp Could someone please repeat the previous request? 09:01:44 -!- toBogE has quit (Nick collision from services.). 09:02:03 -!- toBogE has joined. 09:02:06 !irp Could someone please repeat the previous request? 09:02:07 Could someone please repeat the previous request? 09:02:10 !irp Could someone please repeat the previous request? 09:02:12 Could someone please repeat the previous request? 09:02:14 !irp Could someone please repeat the previous request? 09:02:15 Could someone please repeat the previous request? 09:02:16 !irp Could someone please repeat the previous request? 09:02:16 Could someone please repeat the previous request? 09:02:17 !irp Could someone please repeat the previous request? 09:02:18 Could someone please repeat the previous request? 09:02:18 !irp Could someone please repeat the previous request? 09:02:20 Could someone please repeat the previous request? 09:02:43 !irp Could someone please repeat the previous request? 09:02:44 !irp Could someone please repeat the previous request? 09:02:44 Could someone please repeat the previous request? 09:02:44 Could someone please repeat the previous request? 09:02:44 !irp Could someone please repeat the previous request? 09:02:45 Could someone please repeat the previous request? 09:02:45 !irp Could someone please repeat the previous request? 09:02:45 !irp Could someone please repeat the previous request? 09:02:48 Could someone please repeat the previous request? 09:02:48 !irp Could someone please repeat the previous request? 09:02:50 !irp Could someone please repeat the previous request? 09:02:52 Could someone please repeat the previous request? 09:02:53 !irp Could someone please repeat the previous request? 09:02:56 Could someone please repeat the previous request? 09:02:57 !irp Could someone please repeat the previous request? 09:03:00 Could someone please repeat the previous request? 09:03:01 !irp Could someone please repeat the previous request? 09:03:04 Could someone please repeat the previous request? 09:03:08 Could someone please repeat the previous request? 09:03:11 -!- RoboMonkey has joined. 09:03:12 Could someone please repeat the previous request? 09:03:19 !bf W.+[.+] 09:03:20 egikmoqsuwy{} 09:03:21 09:03:23 13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 09:03:23 09:03:25 09:03:26 !bf W.+[.+M256] 09:03:26 cegikmoqsuwy{} 09:03:28 help 09:03:28 09:03:30 /13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 09:03:31 runaway brainfuck 09:03:32 09:03:34 09:03:36 acegikmoqsuwy{} 09:03:38 09:03:40 -/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 09:03:42 09:03:44 09:03:46 _acegikmoqsuwy{} 09:03:48 09:03:50 +-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 09:03:52 09:03:54 09:03:56 ]_acegikmoqsuwy{} 09:03:58 09:04:00 )+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 09:04:02 09:04:02 wait a second, its only printing every second character! 09:04:04 09:04:06 []_acegikmoqsuwy{} 09:04:08 09:04:10 ')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} 09:04:12 09:04:12 help, runaway brainfuck! 09:04:14 Brainfuck program taking too long 09:04:18 egikmoqsuwy{} 09:04:20 09:04:34 !bf +>+>++++++++++++++++++++++++++++++++<[>+[>.<+]<+] 09:04:53 ?listc 09:04:59 !bf +>+>++++++++++++++++++++++++++++++++<[>+[>.<+]<+] 09:05:03 ?delc sekio 09:05:13 ?listc 09:05:19 ?help 09:05:24 it shows up only on the console 09:05:25 -!- toBogE has quit (Excess Flood). 09:05:27 just a mo 09:05:41 \8ball 09:05:41 Without a doubt. 09:05:45 -!- toBogE has joined. 09:05:54 flood without sending anything? 09:05:56 !bf +>+>++++++++++++++++++++++++++++++++<[>+[>.<+]<+] 09:06:49 Brainfuck program taking too long 09:07:09 !bf ++>++++++++[<[>+<-][++>-<]>]-. 09:07:17 !bf W+.!A.!C.!T.!I.!O.!N.! .!b.!o.!w.!s.! .!t.!o.! .!R.!o.!b.!o.!M.!o.!n.!k.!e.!y.[-]+. 09:07:39 Brainfuck program taking too long 09:07:40 ?authc viagra 999 09:07:40 ACTION bows to RoboMonkeyxwvutsrqponmlkjihgfedcba` 09:07:40 _^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.- 09:07:41 ,+*)('&%$#"! 09:07:42 09:07:46 !bf W+.!A.!C.!T.!I.!O.!N.! .!b.!o.!w.!s.! .!t.!o.! .!R.!o.!b.!o.!M.!o.!n.!k.!e.!y.[-]+. 09:07:46 ACTION bows to RoboMonkeyxwvutsrqponmlkjihgfedcba` 09:07:47 _^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.- 09:07:48 ,+*)('&%$#"! 09:07:50 09:07:59 !bf W+.!A.!C.!T.!I.!O.!N.! .!b.!o.!w.!s.! .!t.!o.! .!R.!o.!b.!o.!M.!o.!n.!k.!e.!y.[-]+.-. 09:08:00 ACTION bows to RoboMonkeyxwvutsrqponmlkjihgfedcba` 09:08:01 _^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.- 09:08:02 ,+*)('&%$#"! 09:08:02 there seems to be a queue of brainfuck programs waiting to be executed for some reason 09:08:03 09:08:10 er, what 09:08:14 no, you're not clearing the queue, i don't think 09:08:21 well, the send buffer. 09:08:26 !bf W+.!A.!C.!T.!I.!O.!N.! .!b.!o.!w.!s.! .!t.!o.! .!R.!o.!b.!o.!M.!o.!n.!k.!e.!y.[-]+.+++++++++. 09:08:26 ACTION bows to RoboMonkeyxwvutsrqponmlkjihgfedcba` 09:08:28 _^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.- 09:08:29 ,+*)('&%$#"! 09:08:30 09:08:41 i mean, maybe there isn't 09:08:47 !bf W+.!A.!C.!T.!I.!O.!N.! .!b.!o.!w.!s.! .!t.!o.! .!R.!o.!b.!o.!M.!o.!n.!k.!e.!y.>+.+++++++++. 09:08:47 * toBogE bows to RoboMonkey 09:09:00 your BF parser is ballsed up 09:09:04 !bf -[-] 09:09:07 i meant that for some reason lots of programs were being executed, so i assumed there was some program queue i didn't know about 09:09:08 i know 09:09:23 ?listc 09:09:35 Brainfuck program taking too long 09:09:48 !bf W+[+M256>+<]>. 09:09:48 09:09:56 !bf W+[+M255>+<]>. 09:09:57 09:10:14 !bf W+[+M255>+<]>.[-] 09:10:15 09:10:16 09:10:17 ~}|{zyxwvutsrqponmlkjihg 09:10:18 fedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:987654 09:10:20 3210/.-,+*)('&%$#"! 09:10:20 09:10:24 it shouldn't be printing anything 09:10:25 ?auth immibis 100 09:10:33 something is wrong with it 09:10:46 argh, my bot's not getting any data 09:10:52 oh wait, it's just lag 09:11:06 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 09:11:27 -!- toBogE has joined. 09:11:28 now entering a debug session 09:11:32 !bf W+[+M255>+<]>.[-] 09:12:05 Brainfuck program taking too long 09:12:16 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 09:12:42 the nice thing about esoteric languages is, if your interpreter has weird bugs, you can just declare it a new language dialect :) 09:12:50 -!- toBogE has joined. 09:12:51 hehe 09:13:06 !addc test x00>"PRIVMSG "%1,$1s0($0[>,]){$0%3[>,]}" :In Soviet Russia, "%2[>,]" "[>,]" YOU!!">x0A>x00<[<]%0>[.>] 09:13:06 Caught a java.lang.ClassNotFoundException! toboge.Execer_addc 09:13:15 !test eats sushi 09:13:16 Caught a java.lang.ClassNotFoundException! toboge.Execer_test 09:13:20 \test eat sushi 09:13:30 ?addc test x00>"PRIVMSG "%1,$1s0($0[>,]){$0%3[>,]}" :In Soviet Russia, "%2[>,]" "[>,]" YOU!!">x0A>x00<[<]%0>[.>] 09:13:31 \test eat sushi 09:13:46 wtf? 09:13:50 what 09:13:57 ?addc test x00>"PRIVMSG "%1[>,]" :In Soviet Russia, "%2[>,]" "[>,]" YOU!!">x0A>x00<[<]%0>[.>] 09:13:59 wtf what? 09:14:03 ?addc test 0 x00>"PRIVMSG "%1,$1s0($0[>,]){$0%3[>,]}" :In Soviet Russia, "%2[>,]" "[>,]" YOU!!">x0A>x00<[<]%0>[.>] 09:14:05 ah 09:14:05 !bf W+[+M255>+<]>.[-] 09:14:07 \test eat sushi 09:14:19 ?addc 0 test x00>"PRIVMSG "%1,$1s0($0[>,]){$0%3[>,]}" :In Soviet Russia, "%2[>,]" "[>,]" YOU!!">x0A>x00<[<]%0>[.>] 09:14:23 ?delc 0 09:14:35 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, "%2[>,]" "[>,]" YOU!!">x0A>x00<[<]%0>[.>] 09:14:37 \test eat sushi 09:14:37 In Soviet Russia, bug fixes YOU! 09:14:37 In Soviet Russia, eat sushi YOU!! 09:14:45 oops 09:14:51 ?delc test 09:16:28 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 09:16:42 probably something wrong with finding the matching [] pair 09:17:28 an off-by-two error i think 09:17:38 -!- toBogE has joined. 09:17:39 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00<[<]%0>[.>]+%2[>,]" ">>+[>,]<[<]>>%0[.>]<[<]<[<]>>[.>]>" YOU!!">x0A>x00<[<]>[.>] 09:17:42 \test eat sushi 09:17:42 In Soviet Russia, RIVMSG #esoteric :In Soviet Russia, eat utsushiPRIVMSG #esoteric :In Soviet Russia, eat utsushi YOU!! 09:17:47 oopage 09:17:56 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00<[<]%0>[.>]+%2[>,]" ">>+[>,]<[<]>>%0[.>]<[<]<[<]>>[.>]>x00>" YOU!!">x0A>x00<[<]>[.>] 09:17:57 \test eat sushi 09:17:58 In Soviet Russia, RIVMSG #esoteric :In Soviet Russia, eat uusushiPRIVMSG #esoteric :In Soviet Russia, eat uusushi YOU!! 09:18:23 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00<[<]%0>x00>[.>]+%2[>,]" ">+[>,]<[<]>>%0[.>]<[<]<[<]>>[.>]>x00>" YOU!!">x0A>x00<[<]>[.>] 09:18:25 \test eat sushi 09:18:27 \test purple 09:18:42 ?delc test 09:20:00 ?addc test 0 x00>"PRIVMSG %1[>,]" :In Soviet Russia, ">x00<[<]%0>x00>[.>]+%2[>,]" ">+[>,]<[<]<<%0[.>]<[<]<[<]>>[.>]>x00>" YOU!!">x0A>x00<[<]>[.>] 09:20:06 what sort of regex is that, anyway? 09:20:08 hold on 09:20:14 \test black and green 09:20:21 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00<[<]%0>[.>]>+%2[,>]>+[,>]<[<]>>%0[.>]<[<]<[<]>[.>]>" YOU!!">x0A>x00<[<]>[.>] 09:20:24 \test eat sushi 09:20:25 In Soviet Russia, ">x00 YOU!! 09:20:34 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 09:20:47 just a mo 09:20:49 \test turn green 09:20:49 In Soviet Russia, ren YOU!! 09:20:50 ?delc test 09:20:53 -!- toBogE has joined. 09:21:43 !bf W!W.!h.!a.!t.! .!s.!o.!r.!t.! .!o.!f.! .!r.!e.!g.!e.!x.! .!i.!s.! .!t.!h.!a.!t.!?. 09:21:44 What sort of regex is that? 09:21:53 !bf W+[+M255>+<]>.[-] 09:21:53 09:22:01 !bf W+[+M255>+<]>.[-]+.ACTION 09:22:01 Unrecognized Brainfuck instruction: A 09:22:04 !bf W+[+M255>+<]>.[-]+. 09:22:04 09:22:12 it's Brainsecks 09:22:18 and it gets from I/O 09:22:35 !bf W+.!A.!C.!T.!I.!O.!N.! .!i.!s.! .!a.!n.! .!i.!d.!i.!o.!t.[-]+. 09:22:35 * toBogE is an idiot 09:22:48 !raw NICK TOGAbot 09:22:50 -!- toBogE has changed nick to TOGAbot. 09:23:10 !raw NICK Brainshit 09:23:15 -!- TOGAbot has changed nick to Brainshit. 09:23:17 !raw JOIN #uncyclopedia 09:23:24 !raw PRIVMSG #uncyclopedia :rofllol 09:23:31 !raw PRIVMSG #esoteric a play on brainfuck 09:23:31 a 09:23:43 !raw PRIVMSG #esoteric :a play on brainfuck 09:24:32 -!- Brainshit has quit (Excess Flood). 09:25:00 ...maybe a send throttler 09:25:03 will do 09:25:12 one message per second 09:25:42 i generally just truncate it 09:26:13 !bf +[.+] 09:26:36 what's your bot coded in? 09:26:41 mine's in C 09:26:45 java 09:26:50 though the functions are in Brainsecks 09:26:52 using irclib 09:27:00 -!- toBogE has joined. 09:27:28 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00>x0A<[<]%0>[.>] 09:27:30 \test 09:27:42 argh, that's baaaaaaaad 09:28:06 !bf W+[[-]+.!V.!E.!R.!S.!I.!O.!N.[-]+.] 09:28:06 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:07 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:08 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:09 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:10 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:11 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:12 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:13 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:13 $BSX:Running program [test] 09:28:14 ops 09:28:14 >OUT: 09:28:14 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:15 ok 09:28:16 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:17 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:19 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:21 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:23 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:25 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:27 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:29 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:31 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:33 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:35 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:37 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:39 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:41 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:42 hurry up and reach the time limit 09:28:43 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:45 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:47 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:49 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:51 VERSIONVERSIONVERSIONVERSIONVERSIONVERSI 09:28:53 ONVERSIONVERSIONVERSIONVERSIONVERSIONVE 09:28:55 RSIONVERSIONVERSIONVERSIONVERSIONVERSION 09:28:56 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x0A>x00<[<]%0>[.>] 09:28:56 -!- toBogE has quit (Excess Flood). 09:29:01 \test 09:29:02 In Soviet Russia, 09:29:05 found that bug 09:29:08 now to continue 09:29:09 \test i am a known retard 09:29:09 In Soviet Russia, 09:29:26 [20:27] In Soviet Russia, i am a known retard 09:29:54 -!- toBogE has joined. 09:30:15 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:18 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:19 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:19 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:20 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:22 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:26 !bf W+.!V.!E.!R.!S.!I.!O.!N.[-]+. 09:30:42 !bf W+.!P.!I.!N.!G.! .!2.!1.[-]+. 09:30:51 !raw NICK EgoBot 09:30:53 -!- toBogE has changed nick to EgoBot. 09:30:59 there are 5 bots in this channel 09:31:13 ?addc test 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00<[<]%0>[.>]>%2,[>,]>,[>,]" ">x00<[<]%0>[.>]<[<]<[<]>[.>]>" YOU!!">x0A>x00<[<]>[.>] 09:31:17 \test eat sushi 09:31:17 bsmnt_bot egobot cmeme clog robomonkey 09:31:17 In Soviet Russia, sushi eat YOU!! 09:31:24 \test sushi eat 09:31:24 In Soviet Russia, eat sushi YOU!! 09:31:30 \test retard me 09:31:31 In Soviet Russia, me retard YOU!! 09:31:42 \test is retard 09:31:43 In Soviet Russia, retard is YOU!! 09:31:46 \test is dumb 09:31:49 In Soviet Russia, dumb is YOU!! 09:32:00 ?delc test 09:32:04 ?addc soviet 0 x00>"PRIVMSG "%1[>,]" :In Soviet Russia, ">x00<[<]%0>[.>]>%2,[>,]>,[>,]" ">x00<[<]%0>[.>]<[<]<[<]>[.>]>" YOU!!">x0A>x00<[<]>[.>] 09:32:14 ?listc 09:32:25 ?uncyc russian reversal 09:32:31 \uncyc russian reversal 09:32:32 http://uncyclopedia.org/wiki/Russian_reversal 09:32:36 !magritte Ceci n'est pas un programme. 09:32:36 Paradoxical error. "Ceci n'est pas un programme" is French for "This is not a program" 09:32:39 ^ look at that 09:32:49 wtf is magritte 09:33:00 http://esolangs.org/wiki/Magritte 09:33:06 a joke esoteric language 09:33:18 ah 09:33:40 "Ceci n'est pas un programme." is the only valid program, and it is frenth for "This is not a program". 09:35:07 weird 09:35:23 In America, you Google Tiananmen Square; in Communist China, Tiananmen Square Googles YOU!! 09:35:33 hehe 09:35:38 in Communist China, computer monitors YOU!! 09:35:44 In America, you abort baby; in Communist China, baby aborts YOU!! 09:36:00 "In Mozilla, you keep tabs in browser." becomes "In Soviet Russia, browser keep tabs on YOU!!" 09:36:08 "In America you watch Big Brother." becomes "In Soviet Russia, Big Brother watches YOU!! 09:36:15 "In America, you have scarecrows." becomes "In Soviet Russia, crow scares YOU!!" 09:36:27 In Soviet Russia, toilet urinates on YOU!! 09:37:29 !raw PRIVMSG #esoteric :In Soviet Russia, car fits inside YOU!! 09:37:30 In Soviet Russia, car fits inside YOU!! 09:37:42 !raw PRIVMSG #esoteric :In Soviet Russia, sentences reverse YOU!! 09:37:42 In Soviet Russia, sentences reverse YOU!! 09:38:19 In Soviet Russia, joke tires YOU!! 09:38:50 http://uncyclopedia.org/wiki/Image:JapaneseToiletBidet.jpg "In Soviet Russia, toilet urinates on YOU!!" 09:38:59 oerjan: so you tire jokes? 09:39:11 In Soviet Russia, Soviet Russia hates YOU!! 09:40:17 ?addc cat 1 x00>"PRIVMSG ">%1,$1"#"s0($0%3,[>,]+){$0[>,]+}" :"%0[>,]x0A>x00<[<]%0>[.>] 09:40:22 \cat i maed a yuky doody 09:40:22 i maed a yuky doody 09:41:11 !raw PRIVMSG #esoteric :In Soviet Russia, now goes YOU!! In Soviet Russia, your planet is needed by YOU!! In Soviet Russia, Jupiter sees anus of YOU!! 09:41:11 In Soviet Russia, now goes YOU!! In Soviet Russia, your planet is needed by YOU!! In Soviet Russia, Jupiter sees anus of YOU!! 09:41:32 !raw QUIT :I AM AN IDIOT AN IDIOT AN IDIOT. I AM AN IDIOT WHO LIVES ON CHERRY LANE! 09:41:32 -!- EgoBot has quit ("I AM AN IDIOT AN IDIOT AN IDIOT. I AM AN IDIOT WHO LIVES ON CHERRY LANE!"). 09:41:36 -!- immibis has quit ("Hard work pays off in the future, laziness pays off now"). 09:41:43 -!- toBogE has joined. 09:42:36 ?addc fail 1 x00>"PRIVMSG ">%1[>,]" :">x01>"ACTION declares that "%2[>,]" fails at life.">x01>x0A>x00<[<]%0>[.>] 09:42:38 \fail test 09:42:50 ?addc fail 1 x00>"PRIVMSG "%1[>,]" :">x01>"ACTION declares that "%2[>,]" fails at life.">x01>x0A>x00<[<]%0>[.>] 09:42:55 \fail test 09:42:55 * RoboMonkey declares that test fails at life. 09:43:06 ?raw JOIN #uncyclopedia 09:43:28 ?auth WORLDOFWARCRAFTR -1 09:43:58 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 10:05:17 ?listauth 10:05:31 ?delauth WORLDOFWARCRAFTR 10:05:47 ?authdel WORLDOFWARCRAFTR 10:06:05 ?unauth WORLDOFWARCRAFTR 10:06:08 ?unauth IRLOL 10:07:09 hmm... it's gone quiet 10:10:04 Uggh. Stop the spam. 12:36:24 -!- clog has joined. 12:36:24 -!- clog has joined. 13:08:04 seems i was away a bit longer than 2 hours. 13:20:33 over 15 13:43:31 -!- tokigun has joined. 13:49:42 by the way, the hard to brute force sudoku was solved suring the night, 622 577 598 13:49:46 steps 13:53:16 *during 14:07:22 -!- RodgerTheGreat has joined. 14:07:36 howdy guys 14:18:35 how how 14:19:11 the shop seems to be my destiny -> 14:20:14 -!- sekhmet has joined. 14:20:38 -!- jix_ has joined. 14:21:40 oklopol: what? 14:30:36 -!- ihope__ has joined. 14:31:02 -!- ihope__ has changed nick to ihope. 14:38:00 i went to the shop 14:38:03 to buy stuff 14:38:15 ok 14:38:21 what stuff did you purchase? 14:38:23 ihope: in \.[0-9] the slash is because [] is regex. 14:38:48 Ah, so it's just there to escape the .? 14:39:22 i bought ½l ed (finnish energy drink), 2l cold hot chocolade or whatever that might be in english, 2l orange juice and 6 small fake steaks. 14:39:26 ihope: ya 14:39:57 i guess i forgot to specify unmatching comment brackets 14:40:01 i'll check 14:40:19 i did 14:40:21 damn 14:40:30 fake steaks? Like, soybean based or somesuch? 14:40:59 anyway, the end of the program ends any number of open comments, the beginning starts any number of comments closed before being opened 14:41:21 RodgerTheGreat: cheap ones 14:41:29 meshed meat or smth 14:41:34 whaddyacallit 14:42:00 ah 14:42:07 So in "look, I'm the beginning of the program! --> fooled you", it's a comment right up to "fooled you"? 14:42:17 yes 14:42:46 i should've just explained comments while i explained other brackets, but nooo 14:43:22 I think this type of thing is pure genius: http://nonlogic.org/dump/text/1183038107.html 14:44:44 omitting those lines will definately make it faster 14:44:51 *definitely 14:44:59 har har 14:46:11 Why aren't the spaces consistent? Grr... 14:48:27 whut? 14:48:31 ah 14:48:53 that's kinda a turn off 14:49:42 ihope: sorry 14:49:47 quick copy pasta 14:51:14 Yay, copy pasta! 14:51:58 oklopol: hmm, did I just erase oklotalkspec? 14:52:18 copy pasta can be quite delicious if you prepare it properly 14:52:44 * ihope does this: http://www.undefined.net/1/0/?strip=100 14:54:07 ihope: it should be there now if it wasn't a second ago 14:55:31 i'm gonna make a password system in the bin, i'm just pretty lazy 14:56:06 At least ask for confirmation or something :-) 14:56:39 Or maybe do as wikis do, and include a history thing. 14:57:32 Maybe you could make the user add ?type=save or some such to the end of the URL manually if they want to do any saving. 14:57:37 i could make it save every copy of it 14:57:44 AND have a password system 14:58:17 AND your thing 14:58:25 Anyway, do comment markers inside strings still do their thing? 14:58:27 i'll make so many things it's more like a thingbin 14:58:48 ihope: that i haven't thought about :| 14:59:01 i haven't done much with strings 14:59:02 hmm 14:59:25 i'd say they don't do their thing, which would mean comments can't be preparsed 14:59:45 You can parse both strings and comments at the same time. 15:00:16 yeah, but then why not tokenize fully while you're at it 15:00:33 That adds work, surely. 15:00:44 nesting can't be done while tokenizing in oklotalk, though 15:00:44 hmm 15:00:48 of course it can 15:00:57 but it would be stupid 15:01:16 because there are so many weird syntax thingies 15:01:22 i forgot stuff in the spec :< 15:01:26 i should add it... 15:01:42 " begins a string, and parsing of string symbols is continued up until the next ". <-- begins a comment, and parsing of non-comment-markers is continued until your comment markers are sufficient to close the comment. 15:01:46 haskell $, that's all i forgot 15:02:31 yeah, thazz good 15:02:49 hmm 15:02:52 What if a program begins with "--> 15:02:56 <-- "-->" --> :P 15:03:24 Oof. 15:03:31 the beginning of the program is considered any number of opening brackets 15:03:37 And what should that do? 15:03:47 ...Both of them. 15:04:13 ihope: i'm not a comment kinda guy, it seems i haven't thought them through 15:04:24 Oh, maybe I'll just write the parser the way I think it should be written. >:-) 15:04:36 i'd say tokenizing is not done in a comment, so <-- "-->" --> == " --> 15:05:27 i first thought i'd make comments a tokenized string kinda, but i got lazy 15:05:33 and it would rarely be needed 15:07:41 i'll write it today if you don't, if you get the haskell parser done, i'll prolly just translate it into python and we'll jsut say you wrote it, i don't believe in my haskell skills enough to make the interpreter with it 15:34:27 I'll find a way. 15:36:02 Continuation passing style is one way to do it. 15:36:22 find a way for what? 15:36:38 Handling the --> before <-- thing. 15:36:51 Which is also pretty much all the bracket stuff. 15:37:14 that's the only non trivial thing about the parsing, yeah 15:37:19 Or I could say "if necessary, pretend there's a <-- here", which... is not a bad idea. 15:37:31 It might slow things down a bit, though. 15:37:57 you might fail the parsing if there is a --> and reparse with a starting --> perhaps 15:38:00 well 15:38:04 the comments are easy 15:38:21 Fail on -->, reparse starting with <--, yeah. 15:38:21 because it can only be cut from beginning to the bracket 15:38:27 that's just a substring 15:39:53 the brackets are easy as well, if you do tokenizing separately 15:45:19 -!- pikhq_ has joined. 16:08:58 -!- pikhq has quit (Read error: 110 (Connection timed out)). 16:18:50 -!- jix__ has joined. 16:27:22 -!- jix_ has quit (Read error: 110 (Connection timed out)). 16:40:19 Wait a minute. 16:40:31 There's no need to do this fancy stuff before tokenizing, really. 16:41:27 what fancy? 16:42:19 there's no need to tokenize before knowing whether the code tokenized is actually going to be used 16:44:05 how do deaf people wake themselves up in the morning? 16:44:20 are there kinetic alarm clock or smth? 16:44:25 "kinetic" 16:44:39 anyway, perhaps a programmable vibrator 16:44:58 Cell phone? 16:45:18 touche 16:45:29 Though I guess a deaf person wouldn't have much other use for a cell phone... 16:45:33 that already *is* my alarm clock. 16:45:34 Well, it depends, really. 16:50:49 -!- pikhq_ has quit (Read error: 110 (Connection timed out)). 16:56:49 -!- sebbu has joined. 16:58:41 -!- lament has quit (heinlein.freenode.net irc.freenode.net). 17:00:41 -!- lament has joined. 17:03:00 -!- jix__ has quit (Connection reset by peer). 17:03:29 -!- jix__ has joined. 17:43:54 -!- oerjan has joined. 17:44:53 so 17:44:58 should i study differential equations 17:45:04 or the fossil record? 17:45:14 decisions, decisions 17:45:28 i'd much rather take the fossil record 17:45:32 but it's at 10, the other one is at 11 17:47:20 but if you take differential equations, you might feel as tired during class as if it were still 10 17:47:39 out of boredom 17:49:38 otoh if it is so boring you fall asleep you may get 2 extra hours sleep total 17:50:49 the obvious solution is to do a project to analyze the fossil record with differential equations. 17:51:21 :| 17:51:28 another choice is quantum physics at 11 17:51:44 but then the homework will likely kill me 17:52:42 ohhh! then i can also take spanish at 11! 17:53:08 i'd say differential equations since fossil record sound boring 17:53:16 *records 17:53:30 also, most of the important quantum physics stuff _is_ differential equations 17:53:48 then quantum physics 17:53:51 "Survey of Peninsular Literature and Culture from 1700 to the Present" 17:53:59 oerjan: yes, with which i'm not really familiar. 17:54:45 i wish i could take interesting classes 18:08:28 so my schedule is like this: 18:09:22 earth and life through time - peninsular literature - mathematical demonstrations - machine learning and data mining - intermediate algorithm design and analysis 18:09:35 if spanish is too hard, i'll drop it. 18:10:05 if i survive through this, i'll be quite happy with myself. 18:10:15 challenging, but they all seem to be good courses. 18:10:57 spanish is pretty eazy 18:13:47 hmm... i guess a ball made out of adhesive tape as a pillow, floor for a bed and 5 hours of sleep don't provide enough restoration... a few minutes of sleep might be in order 18:14:36 a pillow that sticks to you? eww. 18:16:22 nonononono the non adhesive side was against mt head! 18:16:24 *my 18:17:02 but what if it started unraveling? 18:17:05 there's also a bit of hay inside it 18:17:07 i won't 18:17:11 because of the hay! 18:17:15 *it 18:17:19 i'm not the ball 18:18:35 okay, i'll sleep 45 min now, or perhaps the whole night 18:18:48 hopefully 45 18:18:49 -------> 18:23:57 oklopol: "spanish" is easy 18:24:17 oklopol: a course in spanish literature, perhaps not as easy 18:29:05 oklopol is one weird kid 18:30:41 -!- jix__ has changed nick to jix. 19:00:08 -!- boily has joined. 19:25:01 -!- c|p has joined. 19:36:30 -!- boily has quit (Read error: 110 (Connection timed out)). 20:25:55 -!- RedDak has joined. 22:11:53 -!- jix has quit ("CommandQ"). 23:10:39 -!- sebbu has quit ("@+"). 23:21:00 -!- oerjan has quit ("Good night"). 23:25:36 -!- RedDak has quit (Remote closed the connection). 23:52:41 -!- kwertii has quit. 23:52:59 -!- kwertii has joined. 2007-06-29: 00:10:13 -!- c|p has quit (Read error: 104 (Connection reset by peer)). 01:02:03 -!- Sgeo has joined. 01:45:52 lament: you said spanish, so i thought it was about the lang 01:46:05 my sleep cycles are pretty steady i'd say 01:46:18 usually i got to sleep between 4am..5am 01:46:26 now i wake up at 3am 01:46:27 xD 01:46:44 oklopol: "english" courses tend to not be about the language either 01:47:10 lament: i'm not saying you said anything wrong, just explaing my stupidity 01:58:43 how can you go to sleep at 4am and get up at 3am? 01:59:46 i usually go to sleep at 4am, today i went to sleep at 9pm 01:59:53 i hate the xm system 02:02:19 use 24 hours then 02:02:19 hmm... gotta figure out something to say that involves time 02:02:19 so i can use it 02:02:59 "Yesterday I went to sleep at 234" 02:03:16 make that 234:823 02:03:22 am 02:03:58 what? 02:04:23 do i take mod 24 to get that to be a real time? 02:05:08 -!- SimonRC_ has joined. 02:06:23 -!- SimonRC has quit (Connection reset by peer). 02:17:26 "i know many of you are already on my side... and for you nay sayers out there i've got 2 strong words... come on" 02:17:55 i need a food. 02:18:43 me too is in need of one 02:19:19 i wish i had food here 02:19:28 the stores aren't open when i'm awake :< 02:19:57 they are 02:20:02 just not at your part of the world 02:20:46 durn. 02:20:59 just move 02:21:16 it might be easier than changing your sleep pattern 02:21:29 are there places where stores are open when the sun is down? 02:21:43 i don't care for sun that much 02:21:53 yes, they're called cities, but not many stores are open 24 hours 02:22:50 we have restaurants that are open 24/7 02:22:57 but no shops :< 02:23:05 oklopol: buy your foods during they day, and keep a cache 02:23:22 and i live 3-4 km from the nearest such restaurant 02:23:48 oklopol: the sun is nice. Your pineal gland gets unhappy without it. 02:24:52 why should i care? 02:25:40 that was an actual question, i don't know what it does 02:26:19 look up seasonal affective disorder 02:29:09 that don't sound like a bad. 02:31:25 i'm skeptical about SAD 02:41:58 i'm not. 02:56:07 -!- immibis has joined. 02:56:16 ihope, are you there? 03:06:45 Ello. 03:07:39 poppet 03:09:21 immibis, are *you* there? 03:09:38 i am now 03:10:06 I take it you wanted me for something. 03:10:09 * immibis sets icechat to flash 03:10:10 ops 03:10:11 oops 03:10:21 yes, i found something wrong with the interpreter 03:10:35 I see. 03:10:36 it reads the program from standard input until it reaches end-of-file. that much works. 03:11:01 then if the foobar program needs input, that gets read from standard input as well, after the end-of-file 03:11:27 so if you wanted to make any sort of cat program you wouldn't be able to 03:11:53 Foobar philosophy: if a flaw isn't fatal, it's acceptable. 03:11:55 :-) 03:12:35 i have changed it so that you can run foobar* Im_a_file.EXT < PROGRAM_INPUT 03:13:10 i will just compile the changes now and email it to you 03:13:14 if you don't mind 03:13:28 unless you find it acceptable of course :) 03:14:06 Who here agrees Brainfuck is the most universally accepted esoteric programming language? 03:14:12 *in the world* 03:15:04 yeah 03:15:43 your mother is the most universally accepted esoteric language 03:16:09 * immibis agrees with immibis's question 03:17:59 oklopol: as is yours 03:19:06 yes, but i'm still hungry 03:23:58 Delivery to the following recipients failed. 03:23:58 ihope127@hotmail.com 03:24:14 ihope, do you actually have a working email address? 03:24:16 or not? 03:30:00 Yes, I do. 03:30:09 Did I tell you ihope127@hotmail? 03:30:17 It's gmail, not hotmail. 03:30:21 ok 03:30:36 i think i did that last time too 03:31:29 s/universally/globally/ 03:31:37 >.> 03:31:56 yes 03:32:20 esoteric_languages.accepted.universally.likens=alien_language; 03:32:33 universal is okay too, though means a different thing 03:32:42 Delivery to the following recipients failed. 03:32:42 ihope127@gmail.com 03:36:25 That's a 1, not an l, right? 03:36:37 it's a 1 03:36:42 (one) 03:37:05 -!- GreaseMonkey has joined. 03:37:17 Well then, unless that address contains a non-ASCII character or something, it's correct. 03:40:29 Yes, it's correct. 03:41:31 -!- toBogE has joined. 03:42:22 Does it have details on why it failed? 03:42:26 no 03:42:33 well yes 03:42:46 i didn't look though because i didn't notice until you asked 03:42:58 What's it say, then? 03:43:33 * immibis is opening the file 03:43:45 Reporting-MTA: dns;bay0-omc3-s7.bay0.hotmail.com 03:43:45 Received-From-MTA: dns;BAY111-W10 03:43:45 Arrival-Date: Thu, 28 Jun 2007 19:30:24 -0700 03:43:45 Final-Recipient: rfc822;ihope127@gmail.com 03:43:45 Action: failed 03:43:46 Status: 5.7.0 03:43:48 Diagnostic-Code: smtp;552 5.7.0 Illegal Attachment e16si1278481qba 03:43:52 so a bad attachment it seems 03:44:07 maybe gmail didn't like it 03:44:52 Huh. 03:45:07 Where does that seem to have come from? 03:45:11 ...that email? 03:45:17 postmaster@mail.hotmail.com 03:45:27 its an automatic message 03:45:57 !regex some-regex USE THE REGEX LUKE. replace Ok, my lord. 03:46:02 USE THE REGEX LUKE. 03:46:02 Ok, my lord. 03:46:09 !delregex some-regex 03:46:11 Caught a java.lang.IndexOutOfBoundsException! Index: 0, Size: 0 03:46:38 Hmm, I thoguht for a moment that toBogE said "Oh my lord". 03:46:39 USE THE REGEX LUKE. 03:46:44 hehe 03:47:41 !raw JOIN #bots 03:48:27 I AM A BOT YOU FOOLS! HA HA HA! 03:49:04 we know 03:49:04 1 03:49:13 PARSE ERROR: did you mean "I AM A BOT YOU FOOL"? 03:49:13 1 03:49:41 stop saying 1 03:49:50 WARNING: Clarity compromised by ambiguity. Suggestion: "I AM A BOT THAT YOU FOOL" 03:50:58 yeah? 03:50:58 yeah? 03:51:10 I AM NOT A BOT 03:51:10 I AM NOT A BOT 03:51:14 yes you are] 03:51:15 yes you are] 03:51:20 don't lie to me 03:51:24 don't lie to me 03:51:24 !delregex echo 03:51:25 Caught a java.lang.IndexOutOfBoundsException! Index: 0, Size: 0 03:51:32 i must fix that 03:51:38 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 03:52:04 -!- toBogE has joined. 03:52:13 toboge now supports regex matching of channel messages using !regex NAME REGEX replace REPLACEMENT 03:52:17 REGEX is not quoted 03:52:21 REPLACEMENT is not quoted 03:52:32 NAME is used to refer to it for !delregex which deletes it 03:52:43 replace is the exact word replace 03:52:57 !raw JOIN #bots 03:53:31 ihope: did you start making the parser? i'm gonna make it after this episode unless you happen to be on it. 03:53:57 No, I pretty much... stopped. 03:54:12 myor 03:54:22 i want food first 03:54:23 Now lemme find it again... 03:54:30 It's gone! 03:54:32 * ihope cries 03:54:35 :P 03:54:37 Except it isn't. 03:54:50 Wonderful! Haskell scraps. 03:55:00 it isn't 03:55:03 Maybe you can grind it up and make Python sausage out of it. 03:55:42 actually, i have one thing i don't really understand here 03:55:54 It might even be ugly: http://pastebin.ca/594787 03:56:15 why in the earth would i encourage you to write a parser and think about making a parser myself, when i ACTUALLY ALREADY HAVE A WORKING PARSER 03:56:29 i have some serious mental problems, really 03:56:30 :| 03:56:40 But given the amount of time I put into that, it must be nice. 03:56:44 i'll look 03:56:51 You already have a working parser... 03:56:58 thuzzit? 03:57:10 i have 400 lines of python :) 03:57:17 Essentially, I wrote something to parse until " or <-- is encountered. 03:57:25 400 lines of Python to do what? 03:57:45 i think it was pretty much the whole parser 03:58:02 I have two parser fragments in a mere 23 lines. 03:58:29 haskell does parsing pretty much like a bnf 03:58:39 == short 03:59:03 BNF-like grammars are easy enough when you have Parsec. 03:59:32 parsec i don't know 03:59:47 oklotalk doesn't have a bnf grammar, of course 04:00:01 Parser library that comes with GHC. 04:00:05 hmm, i guess you could represent it as a bnf 04:00:08 You might want to remedy that :-P 04:00:14 why is that? 04:00:40 it's important non matching brackets are legal 04:01:04 because i want every string to be a legal oklotalk program 04:01:36 Why do you want every string to be a legal program? 04:02:25 for the same reason i wanted to make the language: no. 04:02:34 none 04:02:43 You have no reason? 04:02:49 i guess it's cool 04:02:50 no reason 04:03:04 Are there any runtime errors? 04:03:28 i'd say that's kinda one of my axioms 04:03:30 hmm 04:03:34 runtime errors, not really 04:03:51 i have a sort of an exception system 04:04:06 so... yes it does i guess 04:04:11 ... 04:04:13 yes there are 04:04:21 Are there any type errors? 04:04:40 i have optional typing, but i'm not going to implement it yet 04:04:46 there are none 04:04:58 type errors will be compile time errors if used 04:05:09 (compile time warnings) 04:05:11 So you can feed a function definition into a function that's supposed to handle matrices, then interpret the resulting floating point number as a Sudoku puzzle? 04:05:18 yes. 04:05:24 Fun. 04:05:35 It also makes me want to hug Epigram a little too tightly. 04:05:52 And Goedel, too. 04:06:02 ´{}{}´{} makes 3 empty functions, and uses one of the functions as infix with the other two as args 04:06:32 epigram and goedel? 04:06:35 god i'm a noob. 04:06:35 See, that doesn't make sense! 04:06:42 well guess i know gödel 04:06:58 what doesn't make sense? 04:07:14 Epigram is a programming language that hugs static typing a little too tightly. 04:07:36 (Hugging something a little too tightly can mean anything!) 04:08:25 you see in oklotalk every function call will end up being just message passing... everything is a function, and a function will always return by default 04:08:35 oklopol: what if it isn't a legal sudoku puzzle? 04:09:05 I guess I haven't seen enough of the semantics to know anything. 04:09:06 oklopol: is a legal sudoku puzzle? 04:09:25 immibis: that depends on the solving function 04:09:44 immibis: yes, it's freestyle sudoku 04:09:47 it can check whether it is and throw an exception 04:09:51 heh 04:09:58 0x0 sudoku 04:10:09 i just won 04:10:13 1x1? 04:10:15 0x0 sudoku! 04:10:39 well, i was still thinking 9x9 04:10:41 solution: 04:10:46 ihope: i'll make a somewhat working interpreter today, after that i might be able to explain it in a spec 04:10:53 2x3 sudoku. 04:10:55 solution to 1x1: [1] 04:11:04 solution to 1x1: 1 ---or--- 2 ---or--- 3 ---or--- 4 ---or--- 5 ---or--- 6 ---or--- 7 ---or--- 8 ---or--- 9 04:11:09 right now i'm pretty sure i _know_ how everything works, but can't explain thoroughly 04:11:12 no 04:11:30 2x2 takes 1 to 2, 3x3 takes 1 to 3, 1x1 takes just 1 04:11:36 so the solution is 1 04:11:37 ok 04:11:39 hehe 04:11:40 ook 04:11:40 solution to 0x0 sudoku: nil 04:11:53 solution to 0x0 sudoku: java.lang.NullPointerException 04:12:05 solution to 0x0 sudoku: java.lang.NullPointerException: solution variable is null 04:12:11 there's no 3x3, GreaseMonkey 04:12:18 3x3 = 9x9. 04:12:25 0x0, 1x1, 4x4, 9x9, 16x16 04:12:29 oh 04:12:32 there is a 6x6 04:12:32 By some... things. 04:12:36 then that's 1..9 04:12:41 3x3 = 9x9, 6x6 = 36x36... 04:12:43 he was wrong nevertheless 04:12:45 2x3 = 6x6. 04:13:00 It all depends on whether you mean block dimensions or puzzle dimensions. 04:13:03 is there a 3x3x3? 04:13:11 dunno 04:13:13 that would be cool 04:13:14 is there a 3x3x3x3x3 5-dimensional sudoku puzzle? 04:13:18 someone should test 04:13:24 * ihope ponders 04:13:25 there's even a 5D rubiks cube 04:13:27 ihope: brute force in haskell 04:13:37 There are two ways to do a 3x3x3, I believe. 04:13:39 2x2x2 would be a start 04:13:45 sudoku cube is evil 04:13:54 I like the plane/block way. 04:13:55 sudoku cube was what i was thinking 04:14:01 ihope: explain 04:14:08 aaaaaaaa 04:14:16 i like 3d. 04:14:28 oh 04:14:35 actually i didn't get the plane thing.l 04:15:02 !regex notathing [tT][oO][bB][oO][gG][eE] [iI][sS] [nN][oO][tT] [aA] (.*) replace I am a $1 04:15:14 !regex notathing2 [tT][oO][bB][oO][gG][eE] [iI][sS] [nN][oO][tT] [sS][oO][mM][eE] (.*) replace I am some $1 04:15:16 Slice the cube into 9 planes 3 ways, then into 27 blocks. 04:15:19 Wait a minute... 04:15:35 Then each block has 27 cubes while each plane has 81. 04:15:38 err 04:15:53 whut 04:16:10 Now, stop getting in the way of my sleep. :-P 04:16:14 ah 04:16:15 I was sleepy about a half hour ago. 04:16:15 81 yes 04:16:18 oklopol: !regex is a toboge c 04:16:20 i failed 04:16:22 oops 04:16:29 never mind 04:16:39 actually 04:16:48 it's trivial to make a 3x3x3 sudoku 04:16:49 Of course, we all know *general* sudoku problems are the way forward. >:-) 04:16:58 heh 04:17:16 toboge is not a bot 04:17:17 toboge is a bot 04:17:18 I am a bot 04:17:31 And by that, I mean exact cover problems. 04:17:35 i am not a very fat bot 04:17:35 i am a very fat bot 04:17:48 ihope: ? 04:17:48 ihope: general? 04:17:51 I tied a not in my rope. 04:18:04 toboge is not in limbo 04:18:04 I am in limbo 04:18:09 whatever that means 04:18:31 toboge is not a retarded serial-killer maniac 04:18:31 I am a retarded serial-killer maniac 04:18:40 toboge is not some flowers 04:18:40 i though like solve [[a b c d][e f g h][i j k l][m n o p]] 04:18:46 toboge is not some flowers 04:18:46 I am some flowers 04:18:51 no you're not 04:19:05 toBogE is the best 04:19:11 toBogE is not the best 04:19:11 I am the best 04:19:16 toBogE is the best 04:19:17 toboge is not the worst 04:19:17 I am the worst 04:19:18 toboge is the worst 04:19:31 flowers are not green 04:19:31 flowers are green 04:20:37 An exact cover problem is when you're given a set, such as {A, B, C, D, E, F, G}, and some of its subsets, {A, C, E}, {B, F, G}, {D, G}, and {B, F}, maybe, and you have to find a set of those subsets such that every element of the bigger set is contained in exactly one of those subsets. 04:20:38 An exact cover problem is when you're given a set, such as {A, B, C, D, E, F, G}, and some of its subsets, {A, C, E}, {B, F, G}, {D, G}, and {B, F}, maybe, and you have to find a set of those subsets such that every element of the bigger set is not contained in exactly one of those subsets. 04:21:04 oops 04:21:05 hmm 04:21:09 In this case, one solution (and the only solution) is {A, C, E}, {D, G}, {B, F}. 04:21:19 In this case, one solution (and the only solution) is not {A, C, E}, {D, G}, {B, F}. 04:21:26 how embarassing 04:21:32 !raw PART #esoteric 04:21:37 I think that how is a little. 04:21:43 -!- toBogE has left (?). 04:21:43 yeah, i checked myself :) 04:21:45 Darn. 04:21:57 -!- toBogE has joined. 04:22:01 Look it up on Wikipedia; that explains how to convert Sudoku to an exact cover problem. 04:22:12 i'll look up my brain 04:22:15 doesn't seem hard 04:22:35 Essentially, with a sudoku problem, you have four constraints that all say "for each of these there's exactly one of these". 04:22:56 flowers are purple 04:22:56 flowers are not purple 04:22:57 err what 04:22:57 flowers are never purple 04:23:06 weird 04:23:09 damn i'm stupid 04:23:44 Specifically: for each pair of row and column there's exactly one corresponding number. For each pair of section and number there's exactly one corresponding place within that section. 04:23:52 So actually, two constrains. 04:24:12 Where a section is a row, column or block. 04:24:39 ah yeah 04:24:45 The set contains things such as "row 3 column 5 contains an 8". 04:24:52 Er, no, it doesn't. 04:25:21 It contains things such as "row 3 column 5" and "row 3 contains an 8". The subsets correspond to things such as "row 3 column 5 contains an 8". 04:26:07 i'm not following you 04:26:07 i'm following you 04:26:16 "row 3 contains an 8" is a tautology 04:26:21 {me} are not idiots 04:26:21 {me} are idiots 04:26:22 {me} are not not idiots 04:26:23 {me} are never not idiots 04:26:29 That subset contains the elements "row 3 column 5", "row 3 contains an 8", "column 5 contains an 8", and "block 2 contains an 8". 04:26:35 oops 04:26:37 bug in my regex 04:26:44 !delregex not4 04:26:54 okay 04:27:00 Well then, have it be something like "this subset gives row 3 an 8". 04:27:21 Exactly one subset must give row 3 an 8, exactly one subset must put a value in row 3 column 5, etc. 04:27:34 Exact cover problem. 04:28:09 i'm gonna have to think about this for a while :) 04:28:24 I'll give you a much-simplified illustration. 04:29:00 okily 04:32:53 http://pastebin.ca/594822 04:33:11 Down the left are possibilities; across the top are constraints each possibility fills. 04:33:22 Each constraint must be satisfied by exactly one possibility. 04:34:49 ah indeed 04:35:04 Do you get it? Can I finally rest in peace? 04:35:14 (I'm sleepy. :-P) 04:35:22 i always fail to understand representing something in math does not have to be easy to solve by programming 04:35:22 i always fail to understand representing something in math does have to be easy to solve by programming 04:35:34 i mean, that is a fucking huge array 04:35:48 ihope: thanks, i learned something today 04:35:55 It's either 8x12 or 12x8, depending on how you want to look at it. 04:36:06 Though for Sudoku, it's more like 300x700. 04:36:34 hmm 04:36:40 Oi! Algorithm X is essentially brute force with sanity! 04:37:12 most general ones are 04:37:19 (That is, it doesn't try possibilities that are obviously impossible. "Hmm, can that cell next to that 3 also be a 3?") 04:37:26 Well, time to sleep. 04:37:38 bye 04:38:55 (9*3*9)x(9*9*9) i'd say 04:39:13 nonono 04:39:23 (9*3)x(9*9*9) 04:39:44 (number in set)x(number at (x, y)) 04:40:36 where "number in set" are the constraints, "number at (x, y)" the pussybilities 04:41:41 i wonder how i didn't see that 04:41:51 how that works 04:55:35 -!- ihope has quit (Read error: 110 (Connection timed out)). 05:01:46 -!- RodgerTheGreat has quit. 05:05:42 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 05:15:01 -!- toBogE has joined. 05:15:16 !raw JOIN #toboge 05:16:53 !regex computer (.*)computer(.*)computer(.*)computer(.*) replace $1pizza delivery truck$2river Nile$3robotic monkey land$4 06:02:33 "pussybilities" 06:04:18 whoops, what an embarrassing typo 06:05:03 ~exec self.raw("PRIVMSG #esoteric :pussybilities lol") 06:05:04 pussybilities lol 06:06:17 a computer and a computer and a computer and some more 06:06:17 a pizza delivery truck and a river Nile and a robotic monkey land and some more 06:07:21 computer 06:08:09 computer computer computer 06:08:09 pizza delivery truck river Nile robotic monkey land 06:09:27 !regex computer1 (.*)c(.*)c(.*)c(.*)c(.*)c(.*)c(.*) replace $1 random $2 purple $3 green $4 robot $5 homer simpson $6 bus driver $7 06:09:42 1c2c3c4c5c6c7 06:09:42 1 random 2 purple 3 green 4 robot 5 homer simpson 6 bus driver 7 06:10:36 misspeeling mistacks, mylorcd computer crashes 06:10:44 misspeeling mistacks, mylorcd crazycomputercrashes.com 06:10:44 misspeeling mista random ks, mylor purple d green razy robot omputer homer simpson rashes. bus driver om 06:11:02 ok thats just weird 06:11:05 and plain stupid 06:11:41 !regex agree .*e.*h.*y.* replace I agree. 06:11:48 yes, hello you 06:11:48 I agree. 06:11:54 yes, hello 06:12:17 communists rule. hitler's you. 06:12:18 I agree. 06:12:58 -!- immibis has left (?). 06:20:50 -!- oklopol has quit (heinlein.freenode.net irc.freenode.net). 06:20:50 -!- bsmntbombdood has quit (heinlein.freenode.net irc.freenode.net). 06:22:35 -!- bsmntbombdood has joined. 06:28:25 -!- immibis has joined. 06:28:35 spam 06:28:38 no don't spam 06:28:55 nobody is allowed to spam, especially not me 06:28:55 nobody is allowed to spam, especially never not me 06:28:56 nobody is allowed to spam, especially not not me 06:28:57 nobody is allowed to spam, especially of course not me 06:29:02 including you 06:30:58 !jsp #uncyclopedia what happened? 06:30:58 Caught a java.lang.ClassNotFoundException! toboge.Execer_jsp 06:31:12 !jsp #uncyclopedia what happened? 06:31:13 Caught a java.lang.ClassNotFoundException! toboge.Execer_jsp 06:31:18 oops 06:31:20 wrong channel 06:32:52 -!- bsmntbot has joined. 06:33:24 -!- oklopol has joined. 06:33:59 !r nick PileDriver 06:33:59 -!- bsmntbot has changed nick to PileDriver. 06:33:59 Caught a java.lang.ClassNotFoundException! toboge.Execer_r 06:34:03 -!- oklopol_ has joined. 06:34:08 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 06:34:15 omg 8| 06:34:19 -!- oklopol_ has changed nick to oklopol. 06:34:25 !raw privmsg #esoteric I am a bot. Sometimes. 06:34:25 I 06:34:26 did you see me? i died :< 06:34:33 : 06:34:43 !raw privmsg #esoteric :I am a bot. Sometimes. 06:34:44 I am a bot. Sometimes. 06:35:01 i keep forgetting that : 06:35:06 ::) 06:35:08 :::::::) 06:35:16 :::::):::: 06:35:56 #toboge: Caught a java.lang.ClassNotFoundException! toboge.Execer_m 06:36:34 #toboge: YADA YADA YADA 06:37:02 #toboge: !raw PRIVMSG #toboge :#toboge: I am a retard. 06:37:03 #toboge: #toboge: I am a retard. 06:37:15 !p #esoteric 06:37:15 -!- PileDriver has left (?). 06:37:15 Caught a java.lang.ClassNotFoundException! toboge.Execer_p 06:39:19 immibis: you shouldn't use java 06:39:23 i hear it sucks 06:39:31 yes yes 06:40:29 very sucks 06:43:44 toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may not exist. if it doesn't exist an exception is thrown by java reflection. 06:43:44 toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may never not exist. if it doesn't exist an exception is thrown by java reflection. 06:43:47 toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may not not exist. if it doesn't exist an exception is thrown by java reflection. 06:43:47 toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may of course not exist. if it doesn't exist an exception is thrown by java reflection. 06:43:50 toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a random lass that doesn't exist. all purple ommands try to load an exe green er whi robot h may or may not exist. if it doesn't exist an ex homer simpson eption is thrown by java refle bus driver tion. 06:43:55 what 06:43:55 I agree. 06:44:05 !!! 06:44:05 Caught a java.lang.ClassNotFoundException! toboge.Execer_!! 06:44:15 anything starting with ! is interpreted as a command 06:44:27 !Something._I'm_a_retard 06:44:27 Caught a java.lang.ClassNotFoundException! toboge.Execer_Something._I'm_a_retard 06:44:37 !!.Me.Sucks 06:44:37 Caught a java.lang.ClassNotFoundException! toboge.Execer_!.Me.Sucks 06:47:35 cccccccc 06:47:35 cc random purple green robot homer simpson bus driver 06:47:47 er, are you alright? 06:48:37 c 06:49:16 cvvvvvvvvvvvvvvcxxxxxxxxxxxxxxxxccvvvvvvvvvcvcxccccccccccccccc 06:49:16 cvvvvvvvvvvvvvvcxxxxxxxxxxxxxxxxccvvvvvvvvvcvcxccccccccc random purple green robot homer simpson bus driver 06:49:43 ACTION breaks his computer by jamming a usb flash disk into it so hard that the connecter breaks off the motherboard and falls into the hard drive causing cinky red lines (is cinky a word) to go all over his screen and causing the speaker to scream and a spark goes across the gap caused by the missing connector and the spark destroys the half the motherboard which then explodes and destroys the other half includ 06:49:43 ACTION breaks his computer by jamming a usb flash disk into it so hard that the connecter breaks off the motherboard and falls into the hard drive causing cinky red lines (is cinky a word) to go all over his screen and causing the speaker to scream and a spark goes a random ross the gap purple aused by the missing green onne robot tor and the spark destroys the half the motherboard whi homer simpson h then explod 06:49:44 I agree. 06:49:51 STOP SPAMMING 06:51:47 isn't writing in capitals a form of spamming? 06:51:47 I'm not spamming. isn't writing in capitals a form of spamming? 06:51:48 I'm not spamming. isn't writing in capitals a form of spamming? 06:51:49 I'm not spamming. isn't writing in capitals a form of spamming? 06:52:04 toboge, you are spamming. 06:52:04 I'm not spamming. toboge, you are spamming. 06:52:05 I'm not spamming. toboge, you are spamming. 06:52:06 I'm not spamming. toboge, you are spamming. 06:52:19 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 06:53:10 -!- toBogE has joined. 06:57:06 !raw JOIN #toboge 07:00:55 i don't like ubuntu 07:01:24 who cares 07:02:45 you are mean :| 07:03:05 well tell me one person that cares apart from you 07:04:02 you said i am mean so prove it 07:04:02 you said i am NOT mean so prove it 07:04:19 i am a bot 07:04:19 i am NOT a bot 07:04:26 you are a bot 07:04:26 you are NOT a bot 07:04:28 toboge is a bor 07:04:29 toboge is NOT a bor 07:04:30 toboge is a bot 07:04:30 toboge is NOT a bot 07:04:33 toboge is a wild boar 07:04:34 toboge is NOT a wild boar 07:05:03 toBogE does care 07:05:08 :< 07:05:32 toBogE is a bot of great caring about that 07:05:32 toBogE is NOT a bot of great caring about that 07:05:37 :<< 07:05:41 mean bot! 07:05:46 !regex doesnot (.*) ([dD][oO][eE][sS]) (.*) replace $1 $2 NOT $3 07:05:53 ok, now 07:05:57 toBogE does care 07:05:57 toBogE does NOT care 07:06:01 !raw NICK EgoBot 07:06:01 -!- toBogE has changed nick to EgoBot. 07:06:22 !bf W!B.!r.!a.!i.!n.!f.!u.!c.!k. 07:06:22 Brainfuck 07:07:57 STOP YOUR BLOODY SPAMMING FOR THE LOVE OF GOD 07:08:09 GET YOUR OWN GOD**** CHANNEL AND TEST YOUR IDIOTIC BOT THERE. 07:08:13 -!- immybo has joined. 07:08:16 Hi. 07:08:41 i like spam 07:08:42 <3 07:08:47 Or, for the love of all those who want a decent conversation, please use your own local IRC server, immibis. You're annoying the **** out of most everyone. 07:08:47 really? 07:08:58 i'm prolly the only one 07:09:00 yes, i generally do without meaning to. 07:09:30 GregorR wrote EgoBot, and yet, he didn't spam the entire channel all the time testing it. Even in our breakage competitions, we didn't spam this much. 07:09:47 So please. Evacuate the bot. 07:09:53 !raw QUIT 07:09:53 -!- EgoBot has quit. 07:09:55 Hello immybo. 07:09:58 bye 07:10:02 -!- immybo has quit ("REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q)"). 07:10:03 -!- toBogE has joined. 07:10:07 -!- toBogE has quit (Read error: 104 (Connection reset by peer)). 07:10:12 Meh. Another bot? 07:10:13 -!- immibis has quit ("Depression is merely anger without enthusiasm"). 07:10:22 Ye gods. 07:10:30 Does s/he have no sense of decency? 07:10:38 he left :< 07:10:47 He overreacted. 07:10:51 yeah 07:10:59 He's been spamming the channel for days on end. It's not like this was unwarranted or anything. 07:11:05 yeah :P 07:14:48 fuck... even if i'd get my programming going today, i have to go somewhere tomorrow 07:15:05 I've been reading Wolfram's ``A New Kind of Science'' 07:15:08 when will the holiday start 07:15:09 eough 07:15:18 whuz that? 07:16:03 It's a book :P 07:16:38 like a story book? 07:16:40 The gist is that Wolfram argues that complicated mathematical equations to describe natural phenomena is a thing of the past, and in the future, everything will be modelled using cellular automata. 07:16:47 ah that 07:17:05 He basically develops cellular automata theory and its applications throughout the book. 07:17:10 cool 07:18:06 Unfortunately, so far, while there has been substance (and I do understand the prcatical examples come later, since I've already pre-scanned the book), most of it is full of fanboyism. 07:18:19 OMG Cell automata is #1 coolz ftw d00d !!!111!!!! 07:18:43 That, and I conclude that cellular automata's images are very ... uncomfortable looking. 07:18:46 Waaay too organic. 07:19:26 Like those close-ups of flower patterns or bug hives that make a person's skin crawl in their weird harmonic regularity. 07:19:55 that's uncomfortable? 07:20:47 Yeah, because it's so ... weird. 07:20:51 Gah, I can't explain it. 07:20:55 You have to see the images. 07:21:16 They're utterly unlike the figures of current science. 07:21:36 please draw and show :) 07:23:47 Go to your local library and grab the book. 07:23:56 I'm renting it from the community college's library. 07:24:02 (Alternatively, pirate it.) 07:24:08 every book there is in finnish. 07:24:14 and i can't find it on torrentz 07:24:41 found it 07:26:08 i didn't 07:27:13 Grab it on eDonkey networks. 07:27:17 oklopol: http://en.wikipedia.org/wiki/Image:CA_rule30s.png 07:27:24 http://en.wikipedia.org/wiki/Image:CA_rule110s.png 07:27:25 Alternatively, I can upload it for you. 07:27:42 Check code 912 too. 07:27:50 That one really freak me out. 07:28:16 i've seen tons of those :| 07:28:24 Sukoshi: you can upload the book? 07:28:57 code 912? 07:29:15 bsmnt_bot: Rule 912. 07:29:22 Of the tri-color ones. 07:30:16 G'night all 07:30:16 oklopol: Sure thing. 07:30:33 wikipedia fails me, google fails me 07:30:43 well, that'd be nice 07:30:53 you reading it pdf 07:30:55 ? 07:30:59 hardcopy books++ 07:31:04 heh 07:31:22 I'm reading it hardcopy, because I find hardcopy much more pleasurable. 07:31:36 But I have a PDF version in case I don't finish it in the time allotment. 07:31:40 (And it is indeed dense.) 07:31:46 oh, i see 07:33:41 Guh. The upload will take ages. 07:33:44 Pardon it. 07:40:31 no hurry, i'm not gonna read it today anyway 07:40:52 Sure. 07:47:23 Wow. He's representing Turing Machines as automata (not Cellular, though). 07:47:30 That's pretty crazy. 07:48:05 isn't one of them turing complete? 07:50:13 110 maybe? 07:50:25 that's a cellular automaton. 07:51:38 -!- Sgeo has quit ("Ex-Chat"). 07:51:53 yeah 07:54:43 Not turing complete. Turing Machine automaton. 07:55:13 Where he represents the head as an active cell, the tape as the cell behind the active cell, and the state of the machine the direction of the head. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:35:35 oklopol: http://www.anysize.org/~sukoshi/Stuff/The%20Mathematica%20Book%20-%20A%20New%20Kind%20of%20Science.pdf 08:36:38 oh thankz 08:36:50 I'll be removing the link in a few hours y'all, so download quickly. 08:36:56 10 min left 08:37:03 why removing? 08:37:46 10 mb downloaded 08:37:50 now eat ------> 08:39:07 Because I use that server very very often. 08:39:25 And I do very large daily amounts of transfer (of the order of 500 MB/day average). 08:42:49 oh 11:16:19 -!- clog has joined. 11:16:19 -!- clog has joined. 11:21:36 gonna sleep now, gnight 11:21:52 -!- GreaseMonkey has quit (Remote closed the connection). 13:03:52 -!- RedDak has joined. 13:26:51 -!- RedDak has quit (Remote closed the connection). 13:50:07 -!- RedDak has joined. 13:51:28 -!- Fantazy has joined. 13:51:31 hello 13:55:41 -!- jix has joined. 14:20:03 -!- ihope__ has joined. 14:22:58 -!- Fantazy has quit ("Bye"). 14:28:34 -!- RedDak has quit (Read error: 113 (No route to host)). 14:54:16 -!- RedDak has joined. 14:58:51 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 14:59:43 -!- RedDak has joined. 15:31:24 -!- RodgerTheGreat has joined. 15:31:45 hey, guys 15:32:00 ihope__: you there? 15:33:08 I'm playing with /// again. 15:33:17 Ello. 15:33:21 hey 15:33:34 Have you proven it Turing-complete yet? 15:33:37 I think there is a slim possibility that it could be TC 15:33:45 :-) 15:33:47 I'm still working on it, but I have an approach 15:34:18 I'm designing a way to have an arbitrary number of XOR gates chained together arbitrarily 15:34:39 XOR gates, eh? 15:34:43 I *THINK* that this could constitute a weak TC proof if I pull it off 15:35:21 implementing logic gates seems to be the best approach, because there's no real way to have variables or memory in any conventional sense 15:35:49 do you have any thoughts on the matter? 15:36:52 Well... not very many. 15:37:10 Implementing a quine would be a big step. 15:37:19 ihope__: the parser is not 220 lines, and i think i'll need some 100 more 15:37:22 *now 15:37:27 for oklotalk 15:37:56 because no one else was anal, i'll have to do it 15:38:05 "quine" is a quine in /// 15:38:28 I think he means a nontrivial quine 15:38:34 i know 15:38:38 i'm an anal boy 15:38:44 clearlu 15:38:48 yar 15:38:58 /clearlu/clearly/ 15:39:13 been listening to brainfuck all day 15:39:13 heh 15:39:17 non stop 15:39:27 feels weird to stop it 15:39:34 but, would either of you say that an arbitrary arrangement of logic gates constitutes a TC system? 15:39:43 it doesn't 15:40:10 in what way does it fail? 15:40:21 goedel it backwards: you can't make an infinite loop with it 15:40:29 trivial 15:40:36 hm 15:41:10 it's a bounded storage machine 15:41:16 or whaddyacallit 15:41:23 finite state machine? 15:41:46 yar 15:41:57 hmm... that's not a formal proof, let me think 15:42:25 however, if you have a language that allows you to *build* finite state machines of arbitrary complexity, wouldn't that make the language itself TC? 15:42:35 hmm, for any set of gates there's a maximum number of steps it can do 15:42:41 there. 15:42:45 correct 15:43:12 so it can't, for example, run it's own code a quadrillion times 15:43:30 which of course any turing machine could do 15:43:39 hm 15:43:44 though it would be an infinite loop 15:43:59 quining is possible in a tc lang 15:44:29 you can always make a program that quines it's *functionality* 15:44:31 not necessarily the code of course 15:44:37 hm 15:44:41 interesting idea 15:44:47 running self? 15:45:09 -!- dak has joined. 15:45:09 selfial runnification 15:45:15 Yeah, there are functions that finite state machines simply can't implement. 15:45:29 "recursive execution"? :) 15:45:34 -!- RedDak has quit (Read error: 113 (No route to host)). 15:45:43 RodgerTheGreat: there are many quining langs 15:45:49 yeah, I understand what oklopol is saying 15:45:50 though i don't remember any names 15:46:09 you might wanna try them before /// :) 15:46:19 heh 15:46:31 but /// is so... pretty. 15:46:42 Yes, I'll admit /// is pretty. 15:46:48 quining is one of the most esoteric programming things, string rewriting as well 15:46:53 // combines them 15:46:56 and is pretty 15:46:59 yeah 15:47:00 */// 15:47:11 No, it's s//////// 15:47:13 :-) 15:47:29 WHILE still having a popular aspect as well: /// is a s/// joke 15:47:31 shouldn't there be some escape characters in there 15:47:35 ? 15:47:39 Well, yes. 15:47:42 RodgerTheGreat: looks more boring then 15:47:44 s/\/\//\/\/\// 15:47:48 oh 15:47:54 actually pretty nice :) 15:47:55 Drop the s, and it becomes ///! 15:48:51 hmm... oerjan said it's hard to make quines in /// because you can't separate data & program to copy it 15:49:07 so, my main projects in /// are a proof-of-concept infinite loop that prints something and a modular logic-gate chaining system 15:49:20 but you could have escapes before every byte of data and at the end kill those escapes 15:49:38 like data being "dd.dd.dd." where dots are the data 15:49:39 those are my thoughts for doing a loop 15:49:43 hmm 15:49:54 it's just too hard to actually *code* 15:50:26 So just what does the quine theorem say? If S is Turing complete and there's an "S-complete" language O such that for every O program there's an S program that outputs it, then there is an S program that outputs its own source code translated into O? 15:50:41 my main idea for a loop would look something like "body /A/B//B/escaped bodyA/A" 15:50:45 ("S-complete" meaning "able to output anything an S program can".) 15:50:53 but it gets more ugly as you try to do things with it 15:51:08 you could make wireworld with expansion / wire cutters 15:51:09 Hmm... 15:51:25 these both would work when two electrons collide 15:52:02 The problem with that is that you need to replace the looper on the end as well. 15:52:07 exactly 15:52:30 the "escaped body" would need to contain the escaped body and so on into infinite recursion 15:52:45 * ihope__ ponders "looper, escaped looper, escaped body" to "body, looped, escaped looper, escaped body" 15:53:17 if we solve the infinite loop problem, we solve the quine problem and vice versa 15:53:55 and if we can build logic networks, we solve the "conditionals" problem and part of the "variables/storage" problem 15:54:00 ihope__: i don't know what the quining theorem says, but what you said sounds right imo 15:54:16 if we can solve both of those problems, I think we could likely implement a UTM 15:54:26 i haven't seen the proof nor the theorem in english 16:02:24 hmm... prefix & infix -> prefix & info about which is harder to do than i thought 16:09:00 -!- dak has quit (Read error: 113 (No route to host)). 16:10:15 -!- jix has quit (Read error: 104 (Connection reset by peer)). 16:14:34 Mm, maybe it's more like "if S is Turing-complete and can output any S program, there is an S program that outputs itself", except that the antecedent needs some work. 16:15:18 Consider a programming language in which R followed by a BF program runs the BF program, disallowing output, and O followed by a string outputs that string. 16:16:38 Obviously Turing-complete and obviously capable of outputting any of its own programs, but obviously not capable of quinage. 16:19:13 -!- jix has joined. 16:20:23 r followed by a bf program? 16:20:27 R++.++[]? 16:20:43 hm 16:22:51 i don't really understand what you're going for with that 16:23:01 Obviously Turing-complete and obviously capable of outputting any of its own programs 16:23:14 trivial to see it can NEVER output any of it's own programs 16:23:50 -!- Sgeo has joined. 16:23:59 on the other hand, "capable of outputting any of it's own programs" allows quining 16:24:04 actually, yeah- it can't output the first O of any program 16:24:13 R++.++[] 16:24:15 OR++.++[] 16:24:16 OOR++.++[] 16:24:18 Etc. 16:24:29 Each outputs the one before it. 16:24:41 well 16:24:42 hm. well, that's still not a quine 16:24:49 that's just an illusion 16:24:50 *quines* aren't possible 16:24:57 the outputting has nothing to do with the language there 16:25:03 ? 16:25:09 you can quine any program with that 16:25:13 you just cannot output it 16:25:16 ... 16:25:21 you cannot quine any program 16:25:27 just a program that's a quine in that 16:25:46 just like i can't quine "print 7" in python 16:26:43 I guess my definition is flawed here- I think of a quine as a program that *outputs* its own source 16:27:41 RodgerTheGreat: yes, i'm not talking about that kind of quining, because not every language has output 16:28:05 however, any language can quine it's source in a form it can run itself. 16:28:32 so, what you're talking about is *generating* the source (effectively storing it in memory somewhere)? In that case the BF mode of this theoretical language could quine 16:28:39 yes 16:28:43 exactly what i said 16:28:50 well 16:28:53 not exactly 16:28:56 you said it right 16:29:00 ok 16:30:31 a lang where every program is a number 16:30:35 represented in base 10 16:30:49 the program outputs that number-1 16:30:50 heh 16:31:00 can output any program in itself 16:31:12 not tc though 16:31:34 but if the number is a factran program, it is tc 16:31:46 hmm 16:31:53 i wonder if that's the right lang name 16:32:01 fractran maybe 16:32:06 or something completely different 16:32:29 but base 8 and you can have any bf program in a number 16:32:44 this has the exact functionality of ihope' example 16:32:47 ihope__'s 16:33:28 -!- ihope__ has changed nick to ihope. 16:33:35 i was just saying that 16:33:36 :) 16:34:13 Just saying what? 16:34:16 _ 16:34:19 __ 16:35:10 If disconnecting and leaving a ghost and then reconnecting is considered running, then freenode has no quines. 16:35:21 ihope -> ihope_ -> ihope__ 16:35:34 I don't know where it goes from there. 16:35:41 hmm 16:35:43 seems base 1 16:36:00 church underlines 16:36:04 underscores 16:36:09 Calling it base 1 is like saying sqrt(-x) = -sqrt(x). 16:36:13 :-) 16:36:18 oh 16:36:21 why is that? 16:37:35 Well, it's not like each place is worth 1 and you're expressing numbers using only the digit 0. 16:38:21 "_" is 0? 16:43:42 Did I say it was? 16:44:35 err yes 16:44:42 "you're expressing numbers using only the digit 0" 16:46:18 That was part of the "it's not like". 16:46:46 heh, indeed 16:47:31 -!- sebbu has joined. 16:58:18 -!- oerjan has joined. 17:01:30 morning 17:05:53 evening 17:06:13 anything 17:09:26 -!- Sgeo has quit (anthony.freenode.net irc.freenode.net). 17:13:32 -!- RedDak has joined. 17:24:51 time of day :) 18:03:12 -!- lament has changed nick to kilbot. 18:03:46 -!- kilbot has changed nick to lament. 18:04:00 -!- Sgeo has joined. 18:13:35 -!- dak has joined. 18:14:20 -!- lament has changed nick to lament2. 18:14:21 -!- RedDak has quit (No route to host). 18:14:29 -!- lament2 has changed nick to lament. 18:17:10 -!- lament has changed nick to lament2. 18:58:52 -!- lament2 has changed nick to lament. 19:06:15 -!- kilbot has joined. 19:06:27 okay, let's play. 19:06:31 !start 19:06:31 Opening a new game. Say !join to join. Say !start again to start. 19:07:09 anybody alive? :) 19:07:41 blah 19:07:42 -!- kilbot has quit (Remote closed the connection). 19:11:55 1101110100001101000011011101000011010000 19:12:06 oops, there should be a 1 at the beginning 19:14:15 i guess you're mum should be in the beginning 19:17:49 lament: what's kilbot? 19:18:01 a bot for killing people 19:18:26 cool 19:18:30 you an irc op? 19:19:12 some kind of video game, like the Hunt the Wumpus bot I had earlier? 19:22:16 join #kilbot 19:57:02 -!- oerjan has quit ("leaving"). 20:02:56 -!- dak has quit (Remote closed the connection). 20:39:17 bsmntbombdood: if you don't give bsmnt_bot a website or something so that I can find the source code when I need it, I'm going to give it one :-P 20:40:14 -!- SimonRC_ has changed nick to SimonRC. 21:03:30 ihope: i did 21:03:39 Oh. 21:03:41 abacus.kwzs.be/~bsmnt_bot 21:03:45 Right. 21:04:35 If you don't put that site in my bookmark list, I'm going to put it there. :-P 21:05:03 what's the difference between a "probabilistic polynomial-time machine" and a "non-deterministic polynomial-time machine"? 21:06:07 first one has a distinct probability? 21:06:49 non deterministic being a more general case where it only matters it's not 100% sure it works 21:06:58 though i'm prolly talking bullshit here 21:10:26 NIST definition is again very helpful: "A nondeterministic TM is a probabilistic TM ignoring the probabilities." 21:11:27 i wasn't 21:11:27 cool 21:13:39 I guess the differences mostly are in the complexity classes. The problems solvable by a non-deterministic polynomial-time machine are obviously NP, and I could believe (but am certainly uncertain) that RP is the analogous class for probabilistic machines. 21:14:02 this book says BPP 21:14:11 but i still don't know what that means 21:14:25 Well, RP is there too. 21:14:26 -!- kwertii has joined. 21:14:52 RP has "polynomial time with no false acceptances and less than half false rejections". 21:15:27 -!- kwertii has quit (Client Quit). 21:15:29 then BPP is a subset of RP 21:15:54 -!- kwertii has joined. 21:17:05 I'd say the difference mostly is that with probabilistic TMs, you can talk about these kinds of complexity classes; with a non-deterministic machine you always "do the same thing" (halt accept if it is at all possible and so on) for one string. 21:17:57 -!- oerjan has joined. 21:34:54 * sebbu regarde les 4 fantastiques et le surfeur d'argent 21:35:15 French, I'm guessing. 21:36:47 marvel comics, i'm concluding. 21:37:03 * bsmntbombdood regards the 4 fantastic surfers 21:37:21 The Fantastic 4 and the Silver Surfer? 21:37:41 Could one say that a non-deterministic machine always does the right thing for the purposes of speed but never does the right thing for the purposes of correctness? 21:37:43 so i believe 21:37:57 (that was to your previous question) 21:39:01 well, in the NP case the non-deterministic machine should never give a wrong yes answer 21:39:19 this book's definition of NP is also weird 21:40:24 and should always have some choice path to return a yes answer if that is correct 21:42:14 L \in NP if there exists a boolean relation R_L \subseteq {0, 1}* x {0, 1}* and a polynomial p(x) such that R_L can be recognized in (deterministic) polynomial time and the x \in L iff there exists a y such that |y| <= p(|x|) and (x, y) \in R_L 21:43:04 that's an equivalent definition 21:43:20 I don't understand it 21:43:25 consider the relation between input and choice paths 21:43:29 It should never give a yes when it's no; it should sometimes give a yes when it's yes? 21:43:38 ihope: right 21:45:15 where the relation is that the machine accepts that input through that choice path 21:46:06 for the other direction, let the machine guess the bits of y 21:48:08 and simultaneously check that (x,y) fulfils the relation for the input x and the guessed y 22:16:20 Hmm... it wouldn't be a good idea to just run bsmntbombdood as-is, would it? 22:16:41 ??? 22:16:42 (Ignoring the fact that it tries to use the nick bsmnt_bot.) 22:16:55 People could ~exec and kill me, couldn't they? 22:17:11 this was just a trick to make me give away question marks, right? 22:17:23 Um... 22:17:28 indeed they could 22:17:32 :-P 22:17:45 There's a way to prevent that, I take it. 22:17:55 bsmntbombdood uses chroot 22:18:08 but if you are on windows i don't know 22:18:15 I have Cygwin. 22:19:40 somehow i doubt cygwin adds actual security. but i wouldn't know. 22:20:50 probably simplest to just restrict ~exec. 22:21:06 (and any similar ones, if there are any) 22:22:23 -!- jix has quit ("CommandQ"). 22:23:53 Cygwin has chroot... 22:36:44 -!- ihope has quit ("Reconnecting..."). 22:36:54 -!- ihope__ has joined. 22:37:03 -!- ihope__ has changed nick to ihope. 22:39:36 AttributeError: 'module' object has no attribute 'getuid' 22:39:47 Should I comment out all that os.getuid stuff? 22:39:55 (in bsmnt_bot) 22:42:20 hm... 22:43:42 i wonder if chroot will affect windows programs run inside it at all 22:44:20 the cygwin page does say programs need to be compiled from source with it. 22:44:35 perhaps even python? 22:46:32 if self.verbose: sys.__stdout__.write(line + "\n") 22:46:36 IOError: [Errno 9] Bad file descriptor 22:47:06 What's up now? 22:47:16 no idea. 22:47:40 * ihope turns verbose off 22:47:51 btw bsmntbombdood used a slightly old version of python, i think. 22:48:30 ihope: use sys.stdout.write 22:48:49 lament: no. 22:48:57 this is bsmnt_bot, remember? 22:49:04 so? 22:49:14 ihope: use sys.stdout.write 22:49:27 Well, turning verbose off seems to have done it. 22:49:31 sys.stdout has been reassigned to an IRCwrapper object. 22:49:33 ihope: yes, of course. 22:49:36 oerjan: no it hasn't. 22:49:42 oerjan: oh, i get it. 22:49:48 ihope: you can just delete that line. 22:49:59 sys.__stdout__ otoh probably refers to the real thing. 22:50:06 oerjan: used to, apparentnly. 22:50:15 relying on undocumented features is so... microsoft :) 22:50:29 and reassigning sys.stdout is just _wrong_ 22:53:43 Oh, come on... 22:54:05 x = self.socket.send(message) 22:54:07 File "C:\Python24\lib\socket.py", line 144, in _dummy 22:54:08 raise error(EBADF, 'Bad file descriptor') 22:54:10 error: (9, 'Bad file descriptor') 22:55:17 you don't have sockets? 22:55:39 I don'? 22:55:43 ...don't? 22:56:11 i don't know, it just looked like it 22:56:30 * ihope summons bsmntbombdood 22:58:46 what 22:58:59 Any idea why I'm getting that error? 22:59:02 your bot is ugly! 22:59:06 and it smells! 22:59:38 And it sounds like fingernails against a chalkboard and tastes funny. 23:00:05 but we still love it. 23:00:13 Yup. 23:00:19 so we would like to clone it. 23:00:33 * bsmntbombdood reads 23:01:05 Maybe you'd want the rest of the error message. 23:01:26 File "", line 1, in ? 23:01:28 bot.raw("PRIVMSG #kolbot :Ee!") 23:01:29 File "C:\Documents and Settings\*bleh*\Desktop\ircbot.py", line 91, in raw 23:01:31 x = self.socket.send(message) 23:01:32 File "C:\Python24\lib\socket.py", line 144, in _dummy 23:01:34 raise error(EBADF, 'Bad file descriptor') 23:01:36 error: (9, 'Bad file descriptor') 23:01:37 Maybe I should have pasted that. 23:01:39 Pastebinned it. 23:01:49 Eh well. 23:01:53 and commenting out the os.setuid/getuid stuff = bot has root = you are pwnt 23:02:08 Even if I comment out some of the callbacks? 23:02:15 (This is Windows, by the way.) 23:02:28 terribly dangerous to have it running as root 23:03:12 Well, I couldn't figure out the chroot stuff and I got errors with the uid things. 23:03:56 (All of them that require ownerness except ps.) 23:03:58 you have connected the bot, right? 23:04:02 Yup. 23:04:27 Mm, I just realized it won't listen to me. 23:04:34 ...if I'm not identified. 23:05:45 there was a bug in the raw function, not sure if it was causing your proble 23:05:47 m 23:07:30 It may be. 23:07:32 probably wasn't 23:07:35 What is the bug? 23:08:30 should have been "x = self.socket.send(message)" on line 94 23:09:19 Indeed, the error is on line 91. 23:10:04 raw is called in connect 23:10:12 It is? 23:10:48 Indeed! 23:10:48 of course 23:11:20 And that seems to have worked just fine. 23:11:52 has it joined its channels? 23:12:05 Yes, it has. 23:12:23 bot.disconnect fails. 23:13:05 s/socket.send/sockfile.write/g in raw 23:14:54 self.sockfile.write? 23:14:59 Or just sockfile.write? 23:15:42 what? 23:16:01 "x = self.sockfile.write(message)" and such? 23:16:28 yeah 23:17:11 AttributeError: IRCbot instance has no attribute 'sockfile' 23:17:51 self.sockfile seems to be defined in connect() after some self.raw is called. 23:18:06 oh, and move self.sockfile = self.socket.makefile("rw") to the top of connect 23:18:37 Between self.socket.connect and self.raw? 23:19:01 yes 23:19:15 Hmm, this is interesting. 23:19:30 Now this: error: (10053, 'Software caused connection abort') 23:20:07 on what line? 23:20:21 File "C:\Python24\lib\socket.py", line 243, in flush 23:20:23 self._sock.sendall(buffer) 23:20:57 Might it have something to do with the self.raw("CAPAB :IDENTIFY-MSG") I added? 23:21:12 the line in my code 23:21:31 ...um, just a minute. 23:23:48 and no, that couldn't be it 23:27:27 Cool. Python's frozen. 23:29:37 It should really at least say what's wrong. 23:29:57 (Isn't it wonderful how Windows takes a while to kill a process?) 23:31:03 windows does not kill 23:31:09 it kindly asks processes to die 23:31:29 And they die even if they're not responding? 23:31:53 that's the problem 23:31:58 signal 9, bitches 23:32:04 they are not listening 23:32:09 so they won't die 23:32:12 But they do die. 23:32:16 well 23:32:21 it eventually kills them 23:32:25 * ihope nods 23:32:35 it just doesn't like it, so it tries talking first 23:32:48 Is this the same ask-to-die that happens when you click that nice little "X"? 23:33:34 i'm mostly being poetical, but yes, x asks nicely, easy to circumsomething 23:33:37 vent 23:36:08 bsmntbombdood says "don't use windows" 23:39:04 Tell me how to get my laptop's wireless network adapter working under Linux, then... 23:39:32 rtfm, that's how! 23:39:35 :P 23:43:23 ! 23:43:26 Five network adapters? 23:43:38 * ihope dismisses three as being VM components 23:43:57 Wait a minute, this laptop has an Ethernet port. 23:47:00 -!- sebbu has quit ("@+"). 23:47:45 Oh, also, I have only one partition here. 23:50:05 I'll just set up my Linux desktop. 2007-06-30: 00:02:15 -!- oerjan has quit ("Good night"). 00:14:36 ihope: get it working yet? 00:14:44 my bot, i mean 00:16:32 Nope. 00:16:42 Now to see if it's possible to get ol' "bunty 00:16:44 Er. 00:16:56 If it's possible to get ol' "bunty" running without a monitor or anything. 00:17:35 Meanwhile, I'll go get the monitor. 01:04:32 -!- Tritonio has joined. 01:04:53 hello everyone... 01:05:03 hi 01:06:04 I never thought there would be a room for this subject! ;-) 01:06:14 Ello! 01:07:33 ndiswrapper was surprisingly painless. 01:07:52 Download it, look in the README which tells you to look in INSTALL, follow the instructions. 01:08:17 Then you go into the network configuration thingy and set it up to connect to the network. 01:08:32 Now I have to wait for it to hibernate so I can bring it back upstairs. 01:08:58 (Except since I'm upstairs and it's downstairs, chances are it's done by now... or I'll have to take drastic measures.) 01:10:03 what distro do you use ihope? 01:30:23 Ubuntu. 01:30:52 How cool: I moved the Linux machine's monitor and it dispensed a little strip of black plastic. 01:31:12 Or is it not supposed to do that? 01:35:54 Eek. Where'd the wireless adapter go? 01:38:15 Okay, it's back. 01:38:21 I had to sudo modprobe ndiswrapper again. 01:51:06 Huh--apparently I have a user called bsmnt. 01:53:42 me too... feisty. I am on a laptop and I never had problems with the wifi adapter. it worked immediately when i installed linux. 01:58:01 Huh. 01:58:07 Well, I'm happy now :-) 02:07:36 goodnight... 02:19:56 oh just a question: I made a language that compiles to brainfuck. It's called FuckBrainfuck or FBF (no I never meant to insult this beautiful language). Should I make an article on the wiki? 02:21:20 I mean is it considered an esolang? In any case you can find more about FBF by visiting this link (which I added to the external links section of the brainfuck wiki article) 02:21:36 the link is http://students.ceid.upatras.gr/~asimakis/FBF.html 02:22:24 Lemme see... 02:23:11 Well, if your focus is to make it as easy to use as possible, it's probably not an esolang. 02:23:16 Otherwise, it probably is. 02:23:35 Not much reason not to post it, though. 02:23:50 It getting deleted is the worst that could happen... I think. 02:27:34 Well then I shouldn't make the article. It's not that FBF is Easy... But it is about as easy as assembly i think, although it work in a different manner. 02:28:29 (many late hour typos) 02:30:04 -!- Tritonio has quit (Connection reset by peer). 02:32:02 -!- kbrooks__ has joined. 02:32:05 hi. 02:33:03 Ello. 02:33:32 parent, child = ihope.fork() 02:33:38 parent.kill() 02:33:44 # child lives on... 02:33:59 Hmm... 02:34:16 What if I don't have that many kids before dying, or at least one dies before me? 02:34:17 :-P 02:34:55 teehee. 02:36:53 ihope.revive() # yay, now ihope's back. 02:37:15 -!- Tritonio has joined. 02:37:26 ok i'm back... 02:43:55 -!- Tritonio has quit (Remote closed the connection). 02:44:15 -!- Tritonio has joined. 02:45:24 -!- Tritonio has left (?). 02:45:36 -!- Tritonio has joined. 02:50:58 Tritonio: that's a lot like pikhq's bfm/pebble/pfuck 02:53:19 :- 02:53:22 Hmm. 02:53:30 * ihope attaches a ) to his emoticon 02:56:21 what'sthat? 02:57:12 bsmntbombdood is notorious for replying things so late after the fact that nobody knows what he's talking about :-P 02:57:51 lol. im's googling pfuck and got to an nonsense site. 03:00:14 bsmntbombdood: still haven't got a clue on what pfuck is... 03:01:06 my understanding is that they are all the same thing 03:02:37 okkkkk i foind peeble.... 03:02:42 *pebble 03:04:05 well from what I can see pebble is closer to brainfuck. 03:06:59 the only thing that I am still missing are the macros... Anyway. I'll go to sleep now. So see you in 8 hours I guess. Goodnight to the east hemisphere guys... 03:08:02 Well goodnight to the west one... I didn't notice that it's almost dawn here. 03:14:17 I want a peeble! 03:14:45 i want a food 03:14:57 -!- Sukoshi has quit ("Leaving"). 03:29:06 -!- kbrooks__ has quit (Read error: 104 (Connection reset by peer)). 03:30:13 -!- boily has joined. 03:33:04 -!- ihope has quit (Read error: 110 (Connection timed out)). 03:48:04 -!- kwertii has quit. 03:49:38 -!- boily has quit ("WeeChat 0.2.5"). 03:59:14 -!- cmeme has quit (Excess Flood). 03:59:53 -!- cmeme has joined. 04:02:50 -!- cmeme has quit (K-lined). 04:42:44 -!- cmeme has joined. 07:14:54 what? 07:34:02 -!- kwertii has joined. 07:40:14 -!- Figs has joined. 07:40:17 hmm 07:40:43 In a way, I think I like C++ because it has so many gotchas :P 07:58:57 -!- Figs_ has joined. 07:59:04 -!- Figs has quit (Nick collision from services.). 07:59:06 -!- Figs_ has changed nick to Figs. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:13:45 -!- kwertii has quit. 08:48:26 -!- sebbu has joined. 09:17:33 -!- Figs has left (?). 09:29:23 -!- oerjan has joined. 10:10:19 -!- Sukoshi has joined. 10:13:35 -!- Sukoshi has quit (Client Quit). 10:36:18 -!- sebbu2 has joined. 10:52:06 -!- sebbu3 has joined. 11:01:10 -!- oerjan has quit ("leaving"). 11:04:09 -!- sebbu has quit (Read error: 110 (Connection timed out)). 11:04:41 back again 11:17:20 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 11:26:43 anybody here? 11:36:15 -!- jix has joined. 11:41:14 * Tritonio thinks everyone is dead. 12:07:05 -!- jix has quit (Read error: 113 (No route to host)). 12:08:25 -!- jix has joined. 13:44:07 -!- RedDak has joined. 13:48:32 -!- Tritonio has changed nick to tritonio. 13:48:36 -!- tritonio has changed nick to tritonio_. 13:48:55 /msg nickserv link Tritonio 24062406 13:49:35 -!- tritonio_ has changed nick to Tritonio. 13:51:25 ihope: will there ever be another brainfuck golf? 13:52:16 -!- Tritonio has quit (Read error: 104 (Connection reset by peer)). 13:52:27 -!- Tritonio has joined. 14:20:09 people, quick poll: should i code or write articles? 14:20:27 this chan might be biased, but no one else would answer :| 14:25:38 what? 14:26:01 code what or write articles for what? 14:27:17 that is not specified 14:27:39 code 14:28:13 maybe you could code something that writtes articles so there'll be no problem 14:28:28 cool, now i have "code" from a coding chan and "write" from another chan whose idea i don't know 14:28:36 hmm 14:28:41 not a bad idea 14:29:24 will you code using an esolang? 14:30:02 i'm not sure if i'll do that, the articles might not be exactly perfect and i'm in the middle of another coding project already 14:30:15 i usually use python, it's the easiest to open :) 14:30:51 I want to learn python... But I can't find the time these days. I code in Lua anyway. 14:37:39 -!- ihope__ has joined. 14:38:41 quakenet's bananabot is coded in lua 14:38:46 that's all i know about the lang 14:38:52 also, i've seen some code 14:39:16 -!- ihope__ has changed nick to ihope. 14:39:38 -!- ihope has changed nick to ihope_. 14:39:49 -!- ihope_ has changed nick to ihope. 14:40:24 i like lua a lot. I learned it because port of it called Plua was the only IDE for palms. 14:40:58 i c 14:41:23 anyone got texas instruments ti-84 14:41:23 ? 14:41:37 i've made some fun games with the basic 8D 14:42:07 is that a calc? 14:42:28 yarr 14:50:33 I have an 85 and, somewhere, an 86. 14:51:00 hmm 14:51:04 Their numbering scheme is weird. 83 was made after 85, if I remember correctly. 14:51:10 you can make progs for mine in assembly somehow 14:51:15 i wonder how exactly 14:51:24 it seems it's random, yeah 14:51:26 Same for both of mine. 14:51:32 Is 84 what you have? 14:51:39 yes 14:51:54 A Google search for "TI-84 assembly" or something wouldn't do you bad. 14:52:14 ihope... 14:52:19 haha 14:52:22 true :) 14:52:23 :-P 14:52:34 you were the guy that started brainfuck golf? 14:52:47 I think I started one competition. 14:52:56 I think nobody participated. :-P 14:53:04 only one participated. 14:53:11 There was a participant? 14:53:11 lol. and he won. 14:53:21 Oh yeah... 14:53:28 yeap. I remember his MD5 on the esolang forum 14:53:34 but I never saw his code. 14:53:46 Ah, yes. The codeless winner. 14:54:07 Why don't we start another competition? But we have to find some participants first. ;-) 14:54:30 Well, currently, I'm all about #kilbot. 14:54:32 i'll participate 14:54:39 But I need to find some participants first. :-P 14:55:00 what's kilbot? 14:55:15 A game of... um... 14:55:17 i'll give it a try to. 14:56:28 -!- andreou has joined. 14:56:53 msg andreou Hi! 14:57:05 ooops. forgot the slash 14:57:35 op andreou ellinas eisai re? 15:03:16 andreou? 15:03:19 olppu jorpuli mofo 15:03:41 oklopol, what's this? 15:04:22 finnish-ish nonsense 15:04:31 ok 15:04:42 andreou eisai edo? 15:10:34 -!- Tritonio_ has joined. 15:10:50 -!- Tritonio has quit (Remote closed the connection). 15:10:55 -!- Tritonio_ has quit (Client Quit). 15:11:10 -!- Tritonio_ has joined. 15:11:53 Net effect: a Tritonio_ comes, a Tritonio leaves. 15:12:22 -!- Tritonio_ has changed nick to Tritonio. 15:12:51 andreou? 15:16:09 -!- Tritonio has quit. 15:16:27 -!- Tritonio has joined. 15:17:24 -!- Tritonio has quit (Client Quit). 15:18:00 -!- Tritonio has joined. 15:18:14 Sorry I changed clients... 15:47:03 -!- ihope has changed nick to ihope_. 15:47:11 -!- ihope_ has changed nick to ihope. 16:03:53 YA PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :FOO") 16:04:01 Hmm. 16:04:21 what's that? java? 16:04:33 Most of it's IRC. 16:04:42 self.raw( 16:04:50 That bit's Python. 16:05:01 Though it could well be Java, unless Java requires a semicolon. 16:05:05 is there a way to see if a user on irc is idle? 16:05:19 ic... 16:05:20 I think /whois tells you that. 16:05:39 bsmntbombdood: it seems all the regexes in ircbot start with ^ except the ones for exec and ps. 16:07:31 ./whois nick nick 16:07:36 ok i found ir 16:07:39 it* 16:10:49 bsmntbombdood: is there a reason for that, or is it... not reasoned? 16:19:19 -!- jix__ has joined. 16:26:52 -!- oerjan has joined. 16:28:29 -!- jix has quit (Read error: 110 (Connection timed out)). 16:51:12 testing :something PRIVMSG #esoteric :~exec sys.stdout("Like this?") 16:52:43 hmph, ~exec regex not starting with ^ doesn't seem to have any effect... 16:53:01 ~exec sys.stdout("Like this?") 16:53:01 Like this? 16:53:20 -!- Sgeo has quit (Connection timed out). 17:16:02 ~exec exec("self.raw('PRIVMSG #esoteric :Foo')") 17:16:03 Foo 17:16:10 ~exec exec("sys.stdout('PRIVMSG #esoteric :Foo')") 17:16:11 PRIVMSG #esoteric :Foo 17:39:31 -!- RedDak has quit (No route to host). 17:40:25 -!- RedDak has joined. 17:50:53 -!- Tritonio has quit (Read error: 113 (No route to host)). 17:52:14 -!- Tritonio has joined. 17:58:43 -!- RedDak has quit (Read error: 113 (No route to host)). 18:18:29 -!- sebbu3 has changed nick to sebbu. 18:26:45 it's funny, i have a string representing a program to parse in my code, the program first prints the string, then parses it, then prints the result of the parsing 18:27:08 now if i change the string, it prints the new string all right, but parses the *last* string 18:27:27 i have to run the program twice to get it parse the new string 18:27:41 oklopol, ??? 18:27:50 i find this impossible 18:28:06 oklopol, ? 18:28:07 Tritonio: didn't understand or wonder how the fuck that's possible? 18:28:23 oklopol, i don't know wth you are talking about. 18:28:25 okay 18:28:34 let's say i have a function parse 18:28:39 parse("oko") 18:28:50 ---> "oko", ["o", "k", "o"] 18:28:55 it "parsed" it 18:29:02 seems it's just a split 18:29:04 anyway 18:29:12 i change the thing to parse 18:29:20 parse("hundrum") 18:29:34 ---> "hundrum", ["o", "k", "o"] 18:29:40 when you say you have to run the program twice, do you mean the _whole_ program or just the relevant functions? 18:29:53 oerjan: the whole program 18:30:03 then i do that again 18:30:05 parse("hundrum") 18:30:14 oklopol, this must be python so I have no idea. 18:30:16 does the parse function have internal state that may have been preserved? 18:30:28 ---> "hundrum", ["h", "u", "n", "d", "r", "u", "m"] 18:30:35 oerjan: no :) 18:31:19 maybe you could paste somewhere? 18:31:28 pretty impossible :\ 18:31:36 i have the code on an offline computer 18:31:47 :-) 18:32:23 i think it's better not to think about it :) 18:32:39 if python thinks that's funny, i let it. 18:32:52 maybe you have variables that you think are local but that are actually global or preserved? 18:33:15 that isn't possible in python 18:33:28 plus globals are zeroed at rerun 18:33:45 preserved words are highlighted 18:34:02 whatever 18:34:52 you have to introduce globals using :: or the keyword global 18:35:18 so i don't see how this would be possible 18:35:34 but it's not a problem, really 18:35:49 well, my guess is it is something simple that you don't see because you _think_ you know what it does 18:36:18 (it usually is) 18:38:01 err... i broke it, now xD 18:38:49 oerjan: i was just telling this as an interesting quirk, and now i have to find out why it happens because you made me wanna know :| 18:39:01 -!- RedDak has joined. 18:40:16 bwahaha >:> 18:42:40 argh, i thought i made a subtle change in the structure and broke everything 18:42:41 :DD 18:47:59 okay, i'm pretty sure i've suffered some kind of a braindeath 18:55:14 hmm... now i *have* to find out why it's doing it, it won't change what it's parsing 18:55:30 -!- RedDak has quit (Connection reset by peer). 18:57:02 okay... i find out why it did that 18:57:24 but i don't really understand how it could even work with what i had there :| 18:57:35 :D 18:57:41 i had... hmm 18:57:51 the parsing is done in stages 18:57:51 i guess that is progress, somehow 18:58:02 and... one stage was missing 18:58:23 for each stage there's a variable that holds the return value of the last stage 18:58:38 so i was using an uninitialized variable every time 18:58:47 i guess python just took a random old value 18:58:58 ...can it do that O__o 18:59:03 "None", perhaps? 18:59:08 anybody that knows befunge? 18:59:12 err 18:59:28 if it was none, then how come it was the result of the last parsing? :) 18:59:32 Tritonio: it's been a while since i looked at it 18:59:51 Tritonio: depends on what you're asking 18:59:56 ok 19:00:02 oklopol: i mean the value None 19:00:02 i know the name, i know the main idea 19:00:09 yeah 19:00:12 i took this from the documentation 19:00:13 The g command examines the contents of the playfield. It pops a y coordinate off the stack, then an x coordinate. It pushes the value found at (x, y) onto the stack. If the thing at (x, y) is a Befunge-93 instruction, the value pushed will be the ASCII value of that character. 19:00:14 Tritonio: why? 19:00:17 Oh. 19:00:24 oerjan: i know you meant it 19:00:35 I don't understand a detail. 19:00:35 Tritonio: do you have a question, then? 19:00:47 but if it was passed to the printing stage, it would've printed None 19:00:53 not the result of the last parsing 19:00:57 it says that it pushes to the stack the value it finds at (x,y) 19:01:06 if it finds 3 at that position 19:01:08 xy in the code 19:01:17 it will push 3 or 48+3 to the stack? 19:01:31 I imagine it pushes the ASCII value for "3" onto the stack. 19:01:32 ascii value 19:01:39 ok then everything is fine 19:01:44 48+3 if it was the character '3' 19:01:51 Especially if 3 is a Befunge instruction. 19:01:52 i am trying to find a way to convert brainfuck programs to funge 19:01:58 either that or the author had some serious mental problems 19:02:02 lol 19:02:05 :-) 19:02:27 Okay, time to decide what the game's main data thingy should consist of. 19:11:21 -!- RedDak has joined. 19:15:07 List of (nick, list of kills, list of friends, time of last kill) 19:19:38 Oh, lives left is needed, too. 19:19:49 (nick, lives, time of last kill, list of kills, list of friends) 19:21:08 you can be friends with anyone without delayz? 19:21:51 Why not? 19:23:48 -!- RedDak has quit (Remote closed the connection). 19:25:34 because of the lack of time of last befriendation 19:25:44 anyway, now it actually seems to work! 19:25:52 though, second time it seems to work 19:25:58 it prolly doesn't 19:26:43 so far so good, parsed "1+2+3++4 1 2+5 3" right 19:26:48 I mean, why shouldn't you be able to be friends with anyone with no delay? 19:27:16 and i meant: so you didn't put in the delay, then 19:27:28 just to show you i was listening when you wondered about it earlier. 19:27:37 Yeah, I'm currently not planning to put in a delay. 19:27:50 make it like 10 sec or something 19:28:01 so it's there but not really 19:28:03 hmm 19:28:08 drinking stuff -> 19:28:11 Why should there be a delay at all? 19:28:58 well, lament had one :> 19:29:13 i thought you said: 19:29:24 Yeah, I'm currently planning to put in a delay, though. 19:29:39 When? 19:29:45 in my head 19:29:54 Ah. 19:30:00 i read fast and unaccurately. 19:30:07 and my ed is frozen. 19:30:10 yay 19:30:17 it'll burst everywhere 19:31:19 hmph, it seems it does some small errors, still :| 19:31:31 my parser, that is 22:34:19 -!- poiuy_qwert has joined. 22:44:26 you ppl know any good books about parsing? i'm quitting :P 22:50:11 I know there's Parsec, the parsing library for Haskell, but that's probably not much help. 22:50:28 You might want to at least take a look at it, though. 22:50:49 i did see someone here use a parser library for Python 22:57:04 i could look at any parser and find a solution, i think 22:57:12 i seem to have a mental block right now :| 22:57:34 perhaps because i've been playing the trivia 24/7 22:57:49 might not nourish the brain that much