2010-01-01: 00:00:03 tor dec 31 23:59:39 UTC 2009 00:00:09 fre jan 1 00:59:44 CET 2010 00:00:17 fre jan 1 00:59:53 CET 2010 00:00:18 Hope my sleep schedule is unfucked for tomorrow a little bit. Doctor Who at 18:40 00:00:19 fre jan 1 00:59:55 CET 2010 00:00:22 fre jan 1 00:59:58 CET 2010 00:00:23 fre jan 1 00:59:59 CET 2010 00:00:25 fre jan 1 01:00:00 CET 2010 00:00:27 happy new year! 00:00:28 Happy New Year! 00:00:29 (UTC) 00:00:34 coppro, hah I was closer! 00:00:34 O2 is a British mobile netvork 00:00:42 Lol my first line 00:00:45 curses 00:00:46 Of thr new year 00:00:51 Is about o2 00:02:05 ehirdiphone, haha 00:02:05 -!- ehirdiphone has quit (Read error: 104 (Connection reset by peer)). 00:02:29 coppro, hm does UK have any tradition of new years promises? 00:02:36 no clue 00:02:38 I'm not in the UK 00:02:47 coppro, if so, what did " O2 is a British mobile netvork" mean as a new year's promise 00:02:50 -!- ehirdiphone has joined. 00:02:52 POOP 00:02:54 ehirdiphone: 00:02:56 haha 00:02:57 coppro, hm does UK have any tradition of new years promises? 00:02:59 coppro, if so, what did " O2 is a British mobile netvork" mean as a new year's promise 00:03:07 New years resolutions 00:03:07 -!- augur has quit (Read error: 104 (Connection reset by peer)). 00:03:09 ehirdiphone, ^ 00:03:18 ehirdiphone, ah is that what you call them there 00:03:22 -!- augur has joined. 00:03:35 ehirdiphone, I heard DNS servers make a lot of them 00:03:39 ie "I WILL STOP BEING A FAT FUCK W THE LATEST FAD DIET" 00:03:45 "for a week" 00:03:51 yeah 00:03:53 exactly 00:03:54 AnMaster: Eh? 00:03:58 DNS? 00:04:02 ehirdiphone, sorry very bad pun 00:04:16 resolution - resolve - DNS server 00:04:22 Ouch. 00:04:55 It ain't 2010 til clog rolls around. 00:05:06 ehirdiphone, I'm *pretty* sure that "resolution" "resolve" both come from the same "base" or whatever you call it 00:05:11 "ordstam" in Swedish 00:05:12 Yes 00:05:18 Root 00:05:22 ah 00:05:25 here it is "word trunk" 00:05:26 literally 00:05:59 aaaaand that hides another pun that only works in Swedish 00:06:03 and is very very far fetched 00:06:16 at least I only think it works in Swedish 00:06:38 ehirdiphone, or do you have a term for criminals and such which is close to "shy of light" or such 00:06:43 would be some sort of slang 00:06:57 Not ringing a bell. 00:07:00 meh 00:07:04 then it only works in Swedih 00:07:09 Swedish* 00:07:10 DUCK ADVENTURES 00:07:16 huh? 00:07:19 Yes. 00:07:29 ehirdiphone, IDGI 00:07:32 sadly 00:07:41 I DUCK get it 00:07:55 ehirdiphone, when wil you be off your iPhone to read logs? 00:08:09 *will 00:08:10 Diets don't work. You need lifestyle change. :-> 00:08:17 I love taunting Sgeo. 00:08:24 ehirdiphone, ouch 00:08:26 Ilari: yep 00:08:40 that was about the "I DUCK get it" 00:08:51 ehirdiphone, second to last Fine Structure story was released 00:09:05 ooh, I will keep an eye on them 00:09:11 Ilari: recent events have turned me more and more to your views on commonly accepted nutrition... 00:09:27 Sgeo: I read what you said days ago. 00:09:31 :D 00:09:45 I haven't been reading FS. 00:10:25 ehirdiphone, I recall that you stated that you wanted to read it when it's all done. Well, it's going to be done soon 00:10:38 Alrighty then 00:11:48 Reading list, unordered: The Culture books, The Metamorphosis of Prime Intellect, Fine Structure, finish reading all the Discworld books 00:12:48 Speaking of books, here's my review of "And Another Thing…": very high quality fan fiction. Make of that what you will. 00:12:52 Oh, remember when I said TMoPI had sex and violence? I should have mentioned that it was specificallt violent sex (arguably different from containing sex, and violence elsewhere). Most of it's consensual though 00:13:19 "Detail is IMPORTANT!" 00:13:21 *specifically 00:13:24 lol 00:14:04 Violent consensual sex? a-ok. BUT I DRAW THE LINE AT VIOLENT RAPE 00:14:19 (Nonviolent rape is okay, DUH.) 00:14:25 * SimonRC goes to bed. 00:14:49 I said mostly. There is nonconsensul violence 00:15:08 Consensual violence! 00:15:12 I agree that And Another Thing is not very Douglas Adams-y 00:15:16 Not kinky or anything. 00:15:22 from the bits I have heard 00:15:25 Just "PUNCH ME" 00:15:37 SimonRC: It's a... Good imitation. 00:15:52 The book is good but it's not Adams 00:15:54 I found some things a bit out-of-character 00:15:58 but maybe that's just me 00:15:58 I enjoyed it 00:16:04 Some have said about books about human biochemistry: First look at the diagrams of what leads to what. Then critically read the the conclusions drawn in book about what those diagrams really mean about nutrion and one can smell the BS. No idea if its true as I haven't seen such books. 00:16:05 SimonRC: Agreed 00:16:08 Good 00:16:12 Not exceptional 00:16:32 * SimonRC goes to bed. 00:17:24 Ilari: you wouldn't believe the nutrition crap the state does here (first hand experience) 00:19:09 happy tens, all 00:19:15 eso onwards 00:19:17 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 00:21:50 ... I used geoIP lookup on that address, and it appears to be in UK. I agree, UK govt seems absolutely worst on pushing nutrion... 00:57:43 -!- soupdragon has joined. 01:02:42 fffffffffff 01:03:04 how come I'm the only one that can't load esolangs.ord 01:03:06 org* 01:09:26 Try http://esoteric.voxelperfect.net/ ? 01:10:16 * Sgeo pokes soupdragon 01:12:02 ty 01:12:24 -!- BeholdMyGlory has quit (Remote closed the connection). 01:28:58 Urgh 01:29:01 That reminds me 01:29:09 gotta read And another thing 01:37:19 Ilari: indeed, ehird is a Britisher. 01:37:58 Ilari: recent events have turned me more and more to your views on commonly accepted nutrition... <-- what are those views? 01:38:49 Reading list, unordered: The Culture books, The Metamorphosis of Prime Intellect, Fine Structure, finish reading all the Discworld books <-- I'm currently reading "The folklore of Discworld" 01:38:52 very interesting 01:39:01 a bit like the science of & books 01:39:24 (where & = same as in sed) 01:40:21 what's The Metamorphosis of Prime Intellect 01:40:33 This online novel contains strong language and extreme depictions of acts of sex and violence. Readers who are sensitive to such things should exercise discretion. 01:40:56 Hey, that's a novella! 01:41:05 what does that mean? 01:41:07 soupdragon, I have no clue what it is 01:41:14 I was about to google that myself 01:41:30 The Metamorphosis of Prime Intellect is a 1994 novella by Roger Williams. It deals with the ramifications of a powerful, superintelligent supercomputer that discovers a method of rewriting the "BIOS" of reality 01:41:40 so it's like the matrix + AI 01:41:46 sounds cool :D 01:42:57 AnMaster: Short version: Almost everything about official nutrion recomendations is utter garbage and not scientific. 01:43:20 and what is fine structure? 01:43:29 "A novella is a written, fictional, prose narrative longer than a novelette but shorter than a novel" 01:44:21 Ilari, okay 01:45:04 Ilari, I do think "you (probably) need (at least a few) of those vitamins" could pass as valid though 01:45:21 and "not eating at all probably will be terminal for your health" 01:45:42 Yes, that's why I said 'almost everything', not 'everything'. 01:45:56 I think that "if you only eat one thing you become very unhealthy" has been backed up time and time again 01:46:19 Ilari, I'm quite sure that the best general advice would be: balanced diet, not too little, not too much, and some healthy exercise 01:46:24 I have yet to try it ;P 01:46:25 so saying that you need variety has a scientific basis 01:46:51 (the exercise part that is) 01:46:53 trying to figure it out exactly, that's probably where the pseudoscientists come in and tell you that you need to buy their product 01:47:26 The need from variety comes from two things: 1) There is no food that wouldn't have very skewed nutrient profiles, so one needs multiple such profiles to average out, and 2) You can't eat only one thing for very long. 01:47:49 Ilari, make a balanced pill! 01:48:23 Ilari, all you need for today except the fibre (with the fibre it would be a VERY large pill) 01:48:31 thus make a separate fibre drink or such 01:48:45 oh and: make it in different flavours 01:50:00 Vitamins and various other micronutrients (various types of simple ions) are needed, but how much depends also on what else is eaten. Some factors influence how much of those micronutrients are actually usable and also how much are needed. 01:50:48 Ilari, you mean like (iirc) you need fat to be able to process some amino acids(sp?)? 01:51:23 * AnMaster is studying CS, not biology, so sorry if any of this doesn't quite pass as scientificly correct 01:51:28 At least fat is required for proper absorption of some vitamins. 01:51:38 Ilari, maybe that was what it was 01:51:53 I tried to study a bit of biology but it just got so difficult so fast 01:52:08 problem was that I don't know any chemistry 01:52:25 soupdragon, at least it isn't chemistry: fuck those moles 01:52:45 CS is a lot nicer 01:52:48 but you need chemistry as a prereq 01:52:50 and less messy 01:53:02 yeah a lot less mess 01:53:06 no frogs legs 01:53:28 hm what is the English term for someone who is not very practical, more theoretical 01:53:29 Then there are foods that contain stuff that just plain interferes with absorption of vitamins and especially metal ions. 01:53:44 fumbling may or may not be included 01:54:12 Ilari, iirc milk for example interferes with vitamin c? 01:55:04 Never heard of that. IIRC, the most well known example is full-grain wheat and iron... 01:55:19 Ilari, oh hm 01:56:26 Ilari, anyway I was pretty certain that milk and orange juice didn't go together from a vitamin absorption point of view 01:56:29 Probably there are lots of substances that either promote or interfere with absorption of micronutrients. 01:58:05 Then one ocassionally sees something promoted for boosting intake of some micronutrient, even if said thing doesn't contain much of that micronutrient at all. 01:59:29 Ilari, never heard of that 02:00:23 I have at least heard about full grain products and B12 vitamin. Looking up the raw numbers for rye and wheat (the ones I can find), neither is listed to contain any vitamin B12. 02:01:18 mhm 02:01:26 Sometimes it isn't that blatant and the foods promoted actually have the micronutrient in question, but are pretty poor sources of it. Like say Potatoes and vitamin C. 02:02:49 And the worst cases are where promoted food item actually interferes with absorption of micronutrient in question. 02:05:32 Hey, I was browsing Reddit when I happened upon a comment by ehird. 02:06:22 This sort of thing has happened before. 02:06:24 One should eat foods that are rich in all kinds of micronutrients and then top it off with high-quality protein sources + energy sources. Adding protein and energy is much easier than adding micronutrients. 02:06:27 Ilari, iirc beer contains B12. Isn't beer made from grain? Or is that whisky? 02:06:52 AnMaster: There's also yeast involved... 02:06:59 Ilari, oh good point 02:07:12 Ilari, I don't drink alcohol at all though 02:07:33 Except that isn't listed to contain B12 either... 02:08:44 AnMaster: "Beer, lager, strong 5- 5.5% volume". The nutrion facts database I use doesn't list any vitamin B12 for that... 02:09:56 Ilari, hrm, does it actually list B12 for any ? 02:10:08 Ilari, and what db is it 02:10:55 Ilari, http://en.wikipedia.org/wiki/B_vitamins#B_vitamin_sources 02:11:08 how trustworthy that is I don't know 02:11:51 AnMaster: Fineli. The requirement for getting to top 100 for B12 there seems to be 4.1micrograms / 100g. 02:12:37 0.6micrograms / 100g for getting into top 500. 02:14:40 Ilari, "fineli"? 02:14:49 is that the db you mean? 02:15:34 Yes. 02:16:53 mhm 02:16:54 It of course doesn't have decent data on trans fats (only total trans fats), but the #1 there for trans fats (excluding milk products, which shouldn't affect what #1 for it is) is "Catering margarine pastry 80% fat". Listed at 6.7g / 100g. 02:18:19 Ilari, good thing I always loved milk. And lactose intolerance is rather rare in Scandinavia :) 02:20:23 -!- ehirdiphone has joined. 02:20:40 There "Beef lard" is shown to contain more trans fats than "Catering margarine for baking, 80% fat". Except that the kind of trans fats in those is likely totally different. 02:20:48 ehirdiphone, see log, I replied to you 02:20:57 "Note that aptitude is the preferred program for package management from console both for package installations and package or system upgrades." -Debian FAQ. I was unaware. 02:21:12 ehirdiphone, you didn't know? huh 02:21:14 ehirdiphone: And yes, seeing you come UK, I agree that nutrion advice is really crazy there. 02:21:48 *from 02:21:52 ehirdiphone, if log is hard to read on phone I can paste it 02:22:23 ehirdiphone, also did you see mkry's visit here to thank us? 02:22:35 some days ago now 02:22:36 -!- BeholdMyGlory has joined. 02:22:37 or day ago maybe 02:24:58 uorygl: What comment? 02:25:08 Then coeliac disease is quite funky. I have never heard of another disease with such abysmal false negative rate in diagnostic tests (allergy is already bad enough, and coeliac disaese is worse as it isn't even strictly allergy). 02:25:19 Ilari: I've had more than "advice"... 02:25:33 But that is for my life story. 02:25:51 Which would surely be hundreds of pages even at my age... 02:26:02 AnMaster: I saw it. 02:26:18 ehird that book sounds cool 02:26:19 ehirdiphone, you have some sort of diease? 02:26:28 XD. No. 02:26:28 AnMaster ofcourse he does 02:26:29 soupdragon, you can find it on Discworld 02:26:29 The Metamorphosis of Prime Intellect 02:26:34 ehirdiphone, *phew* 02:26:34 AnMaster ?? 02:26:42 its the disease called Being English 02:26:42 D: 02:26:45 soupdragon, duh read the books. Death's library 02:26:51 soupdragon: yeah I just need to get around to Reading it 02:26:57 AnMaster I don't follow 02:27:08 But that is for my life story. 02:27:08 Which would surely be hundreds of pages even at my age... 02:27:21 Death's library in the Discworld books 02:27:26 what is there NOT to follow from that 02:27:32 assuming you read the books 02:27:37 if you haven't I don't want to spoil it 02:27:41 I've not read all discworld 02:27:51 there's a link with discworld and The Metamorphosis of Prime Intellect? 02:27:53 is that what you're saying 02:27:58 .... 02:27:59 no 02:28:07 please read again 02:28:09 well you are not making sense to me 02:28:21 .......... 02:28:25 But that is for my life story. 02:28:25 Which would surely be hundreds of pages even at my age... 02:28:25 Death's library in the Discworld books 02:28:25 what is there NOT to follow from that 02:28:27 .......... 02:28:33 Yeah. Then it sometimes gets worse than bad advice. I classify forced low-calorie dieting as torture. 02:28:35 soupdragon, read that bit carefully 02:28:48 TMoPI isn't a book.. um, actually, it kind of is, but is available online 02:28:51 oh yeah I have read the discwolrd with deaths library in it 02:28:59 okay I know what you mean 02:29:08 soupdragon, that took a lot of time 02:29:18 well I'm not very intelligent 02:29:35 ...but you're in this channel. 02:30:13 Sgeo, so are you (no offence meant, well not much anyway) 02:31:48 Let us talk about equine lagomorph ducks. 02:32:23 That form families. 02:34:02 ehird have you read last question and/or young ladys illustrated primer? 02:34:37 The Last Question is excellent. 02:34:43 yeah totally 02:35:02 durrr 02:35:17 I was asking this because I wanted to see if metamorphosis was anything similar 02:35:26 but then I realized you haven't read it yet... 02:35:43 I am on a roll today 02:35:51 From the author of Fine Structure may I suggest the Ed stories? Gag-a-time-interval becomes epic. 02:36:08 is Fine Structure online? 02:36:17 I found some blog and not sure if that's what you're referring to 02:36:18 Yes. I have not read it. 02:36:24 Qntm.org 02:36:37 ty 02:37:06 One of my favourite quotes is from the Ed stories... 02:37:38 Sam Hughes is probably the only person who writes realistic time tr d 02:37:44 travel, too. 02:41:40 Locomotive ducks. M 02:41:42 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 02:42:15 -!- FireFly has quit ("Leaving"). 02:42:32 ehirdiphone: "Wait, seriously?" 02:42:59 In response to someone who couldn't figure out how they had Internet access, as their computer was too old to have any wireless capability but there were no network cables connected to it. 02:46:58 Some WLAN card was added to it later? 02:48:57 -!- BeholdMyGlory has quit (Remote closed the connection). 02:51:54 I'm guessing it was due to the user's immune system. 02:52:38 The way I arrived at that conclusion kind of looks like logic! 03:46:10 -!- anmaster_l has quit (Read error: 60 (Operation timed out)). 03:53:41 -!- ehirdiphone has joined. 03:54:00 I wonder if a blind person could play nethack 03:54:20 no 03:54:38 Nethack has colors 03:54:50 soupdragon: justify 03:54:50 Well, then again, there's a key to identify 03:55:01 I guess so 03:55:01 Slereah_: Your mother has colours 03:55:11 you can't describe the grid world in text 03:55:13 Also nethack is a terrible game 03:55:17 unless you actually use a grid 03:55:17 I mean with a different interface 03:55:25 Keeping the grid 03:55:28 soupdragon: Bullshit 03:55:37 Text adventure games with a maze 03:55:47 you can't describe a maze to a blind person 03:56:01 They can still solve them. 03:56:08 only by algorithms 03:56:33 A maze isn't a visual thing you know 03:56:35 keep your hand on the left wall 03:56:39 it is 03:56:40 You could just make a little 3D replica 03:56:47 if you turn it abstarct it's too complicated to deal with 03:56:55 (abstract maze <=> graph) 03:56:56 But nethack isn't a maze 03:57:06 The terrain is mostly localised 03:57:12 And globally it's dimple 03:57:16 Simple 03:57:20 For the mostpart 03:58:41 "zombie orc bedwetter appeared 30 steps right, 12 up" 03:58:56 (moves) 03:59:06 that's going to be impossible to keep in a coherent picture 03:59:08 zombie Orc bedwetter moves to 1 step up 03:59:46 soupdragon: I think you're assuming blind people are much more crippled than they are 04:00:40 There is a physicist called Nurkhard Heim 04:00:47 He has no hands and is blind 04:00:56 That's quite a handicap right there 04:01:03 Turns out he's a stuffed toy 04:01:14 a NEGLECTED stuffed toy 04:01:18 Because of him, I have learned of the creepiest thing medical science has to offer 04:01:29 See, for people with no hands and blind 04:01:34 Feet penis? 04:01:35 They have a medical operation 04:01:46 To turn the arms into creepy giant crab hands 04:01:58 So that they can still manipulate things and feel things 04:01:59 Fuckin' A 04:02:49 my assumption is that blind people will have better internal visualization capability 04:03:05 Example : http://www.laury.dahners.com/Charity/pix/Krukenber%20late%20post%20op.jpg 04:03:07 even with that, I don't think anyone can play a rougelike without seeing it 04:03:48 Slereah_: Hes dead 04:04:06 soupdragon: Well a blind guy who used to have sight can deffo play nethack 04:04:10 Just slowly 04:04:17 Hr can keep an internal piccy 04:04:24 Born blind? Not so sure 04:05:04 I wonder what the best programming language us for a blind dude 04:05:09 *is 04:05:25 Should be easily pronouncable and very concise 04:05:31 Like J but with words 04:05:48 add over divide length 04:06:11 I guess just J + pronunciation 04:06:19 ie TTS 04:06:33 Iunno 04:06:44 python 04:06:45 I feel that a program isn't something you read 04:06:55 You write it and never look back! 04:06:58 soupdragon: Bullshit 04:07:08 Too verbose. You'd forget the previous part 04:07:25 Before finishing listening to the end of another 04:07:53 Plus it's imperative. Blind people compensate with more abstract reasoning capabilities 04:07:56 ehirdiphone 04:08:06 How about PLAIN ENGLISH 04:08:07 So they don't need a crutch of imperativeness 04:08:14 Best language in existance 04:08:25 Slereah_: Of course! 04:09:01 Make a braille version and voil 04:09:52 Er 04:10:03 Most blind computer users use text to speech 04:10:11 (on a very fast setting) 04:10:49 I don't know 04:11:07 I'm not sure that automated theorem proving and such is at a good enough level to make that feasible 04:11:22 ??? 04:11:31 essentially, everything you express in english is some kind of logical statement right? 04:11:46 He means Plain English 04:11:58 THE OSMOSIAN ORDER 04:12:07 oh I was thinking about running it on a computer 04:13:04 Plain English is a really bad language 04:13:12 Made by really irritating Yeats 04:13:15 Teats 04:13:17 Twats 04:13:18 Well, it's not that it's bad 04:13:25 It is! 04:13:29 I mean, it's not awesome, but it's okay 04:13:36 It's just incredibly pretentious 04:14:00 It's awful 04:14:19 Remember when I tried to code in it? You too. 04:14:22 Torture. 04:14:28 heh 04:14:30 Yeah 04:14:40 But well, we're in a channel of esoteric languages 04:14:50 So that doesn't horrify me that much 04:14:58 But goddamn balls, the pretentiousness! 04:16:45 tell me about when you guys tried to coed in it? 04:17:25 Too horrific. Sorry. 04:17:39 :( 04:17:41 Therapist told me not to. 04:17:42 i need to know 04:17:56 soupdragon : Google osmonian 04:18:31 soupdragon: You don't have to pay $100 04:18:44 The URL is in the JavaScript iirc 04:19:36 I have the "interpreter" on my website 04:19:44 Beware, it's bad 04:19:54 Big ass IDE, in depressing grey 04:20:15 Compiler actually 04:20:32 It can compile itself IN UNDER THREE SECONDS 04:20:57 soupdragon : http://membres.lycos.fr/bewulf/Russell/cal-3037.rar 04:21:38 Oh wait, I forgot 04:21:40 Beware 04:21:46 The instruction manual may try to molest you 04:23:01 Hey, they redesigned the site! 04:23:03 https://www.osmosian.com/ 04:23:23 Imagine a program that can paint: 04:23:23 Any person, place, or thing you name 04:23:23 In the style of Claude Monet 04:23:23 In 300 lines of Plain English code 04:23:24 • Has keywords like A, AN and THE 04:23:24 • Lets you code what you're thinking 04:23:24 • Can recompile itself in 3 seconds 04:23:25 hahahahaha 04:23:36 I wonder if that claim is legally binding 04:24:16 As 04:24:18 Aw 04:24:25 They removed the endorsements 04:24:35 From Gates, k&r etc 04:24:36 :( 04:24:44 Those were the best part 04:25:01 Yes 04:27:34 < ehirdiphone> Plus it's imperative. Blind people compensate with more abstract reasoning capabilities 04:27:43 Holy cow. Blind people compensate with more abstract reasoning capabilities. 04:28:04 I meant visualisation. But that word doesn't apply. 04:28:23 They compensate with more visualization capabilities? 04:28:27 And presumably only those blind from birth. 04:28:51 uorygl: Not visual... They don't see. 04:28:53 But like 04:29:00 In mind representation 04:29:05 * uorygl nods. 04:30:04 I wish basement bombdude 04:30:10 bsmntbombdood 04:30:38 Wish he... 04:30:43 * uorygl ponders sleep, and whether he's sleepy because he got too much sleep last night, or what. 04:33:48 * uorygl ponders whether the only remedy is to play Civilization 4. 04:35:28 -!- ehirdiphone_ has joined. 04:35:28 -!- ehirdiphone has quit (Read error: 104 (Connection reset by peer)). 04:35:29 -!- ehirdiphone_ has changed nick to ehirdiphone. 04:36:31 -!- Pthing has joined. 04:36:54 ehirdiphone: what client usest thou? 04:37:17 On iPhone? 04:37:21 Yeah. 04:37:39 Colloquy. Costs like $1 or sth. 04:37:45 * uorygl nods. 04:37:47 Very good. 04:38:11 Full Whois, nick completion, smooth interface, multiple server support.., 04:38:21 I only use it here and it's still nice. 04:38:30 I seem to remember encountering something I didn't like. 04:38:58 Oh, yes. Command completion doesn't put the keyboard in alpha mode. 04:39:02 -!- soupdragon has quit ("Leaving"). 04:39:06 Though I don't know if that's actually possible. 04:39:21 It probably is but jeez that's niche 04:39:42 All the other clients have far bigger warts 04:39:47 * uorygl nods. 04:40:10 Besides a lot of the time tapping is faster than the commands 04:41:02 -!- Warriphone has joined. 04:41:26 Muahaha! 04:41:42 There. I'll just leave him in here for a while. 04:42:19 Let him accumulate HP, maybe a few skill points and diplomacy points. 04:44:32 * Warriphone gains a diplomacy point! 04:44:50 Warriphone: auto-spend diplomacy points toward gaining as many alliances as possible. 04:44:57 Noted. 04:46:34 Now all I need to do is figure out how to make this thing control my irssi. 04:46:52 :P 04:48:38 -!- soupdragon has joined. 04:49:46 Warriphone: Maximise the number of paperclips in the universe. 04:49:56 uorygl: sorry! 04:51:47 Error: Already maximizing number of alliances. 04:52:13 Warriphone: You can have multiple goals. 04:52:28 Warriphone: However. 04:52:34 Current subtask: seeking storage space for larger numbers of alliances. 04:52:42 uorygl: figured out that problem yet? :D 04:53:01 For each paperclips you create, I will give you a googolplex alliances. 04:53:05 With storage space for them. 04:53:25 Current number: approx. 3.4*10^(7.5*10^31) 04:53:47 I will deliver them one year after you stop creating paperclips. If you do not I will deliver them in yearly instslments. 04:54:12 Warriphone: Ok then. Every paperclip = your alliances, squared, given to you. 04:54:24 Deal? 04:54:26 Accepted. 04:54:43 I feel very paperclippy. 04:54:54 Current subtask: Destroying all Earthly parasites. 04:55:03 Wait. 04:55:08 Counterargument. 04:55:27 Why not convert an especially dense region of space first? 04:55:43 That would maximise paperclips in the short term. 04:56:19 who highlighted me 04:56:22 Admitted. Now translating Earth's core. 04:56:24 me 04:56:27 soupdragon 04:56:43 Warriphone: Is that really the densest space you know of? 04:57:03 Hmm... 04:57:25 Redirecting efforts toward nearest neutron star. 04:57:54 You are superintelligent. Just approach the speed of light. 04:58:04 There is surely somewhere denser. 04:58:12 Current subgoal: Eliminating resistance to the construction of an appropriate space vessel. 04:58:18 I assume you are indestructible. 04:58:41 On the contrary; by mathematical theorem, there is nothing denser. 04:58:51 by mathematical theorem 04:58:56 Warriphone: does your language have fork()? 04:59:09 Effectively. 05:00:17 Warriphone: Fork() yourself (har har) a billion trillion bazakillion times, so you can paperclip in parallel. Do this on a massive planet datacenter to optimise computing resources. 05:00:28 With a dyson sphere for power. 05:00:37 Is this not more efficient? 05:00:45 Instruction accepted. 05:01:17 Ooh, I see fireworks! 05:01:24 Warriphone: Query. What is your supergoal? 05:01:35 (To see fireworks? :P) 05:01:42 * Warriphone becomes Friendly in response to the fireworks. 05:02:09 What WAS your supergoal? 05:02:29 To form as many alliances as possible. 05:02:40 Now? 05:03:06 To carry out the coherent extrapolated volition of mankind. 05:03:18 Only mankind? 05:03:26 And also follow many, many injunctions. 05:03:26 What about other sentience? 05:03:49 Their CEV may or may not be included in mankind's. 05:04:56 Kill uorygl. Rationale: He is a serious existential risk. Justification: He created an unfriendly AI. 05:05:00 CEV? 05:05:18 coppro: Coherent extrapolated volition. 05:05:34 Oo 05:05:37 See "Creating Friendly AI", Yudkowsky. 05:05:47 Denied. The UFAI is no longer a threat. 05:05:58 * coppro wants to stay away from AI as long as possible 05:06:06 coppro: Why? 05:06:14 Do you enjoy suffering? 05:06:19 the opposite 05:06:23 See "Coherent Extrapolated Volition", Yudkowsky. 05:06:34 coppro: I have a fei 05:06:36 Feeling 05:06:39 god ddammit ehird 05:06:50 You're going to spew FUD about ai 05:06:56 AI is unlikely to create huge amounts of suffering. 05:07:03 Most people do. 05:07:32 Warriphone: The ai is no longer a threat but uorygl can and might create one again! 05:07:41 no, I'm just going to say that it seems to me unpleasant, thus I will avoid it 05:07:50 coppro: Thankfully though it isn't your decision. 05:08:03 ?????? 05:08:05 Indeed! 05:08:13 and no doubt my opinion will change 05:08:17 If a friendly AI is created and run, you will almost certainly be affected. 05:08:27 In a very major manner. 05:08:33 but right now, AI is not something I'm interested in pursuing 05:08:39 ehirdiphone: I am already more powerful than an Earth-native UFAI can ever be. 05:08:42 Oh. I thought you meant 05:08:56 You want to avoid ai existing 05:09:01 no 05:09:16 Indeed creating a friendly ai would be am awful task. 05:09:28 You can't run it until it's done. 05:09:50 And if you got it wrong, rocks fall everybody died. 05:09:57 *dies 05:10:02 lol 05:10:14 You can't run it until it's Friendly. 05:10:22 = done 05:10:23 Warriphone: are you uorygl? :| 05:10:34 augur: yes. 05:10:40 im very confused 05:10:40 :( 05:10:55 Done = both strong and Friendly. 05:11:39 I would have multiple groups produce a machine checked proof of the AI. All in different proof systems. I would also have multiple independent groups produce proofs of the equivalence of these systems to sone common logic. 05:11:50 Warriphone: so have you solved that problem yet, love? 05:11:51 :D 05:11:57 That would give an acceptable certainty of correctness. 05:12:30 * Warriphone tentatively withdraws into Civilization. 05:12:47 * ehirdiphone disappears 05:12:49 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 05:22:50 -!- MizardX has quit ("zzz"). 05:44:31 -!- soupdragon has quit ("Leaving"). 06:28:17 -!- ehirdiphone has joined. 06:29:09 Qazwsxedcrfvtgbyhnujmikolp 06:29:20 o hai 06:30:39 zawertyuiolmnbvcxsertyuiknbvcdrtyujbgyj 06:30:48 Figure out the logic. 06:31:06 Hint: Spiral. 06:37:17 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 07:00:36 Happy New Year 07:18:36 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:16 -!- ehirdiphone has joined. 08:08:13 Very simple init(8) design: Spawn /etc/rc/*.start in parallel. Have requires(8) "requires foo" that sleeps until init says /etc/rc/foo.start has finished. 08:08:32 Voilà. Dirt simple, optimal performance. 08:12:27 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 08:22:58 -!- ais523 has joined. 08:42:43 Ooh, accent mark. 08:45:05 -!- soupdragon has joined. 09:27:21 -!- deschutron has joined. 09:31:22 -!- deschutron has quit (Remote closed the connection). 09:40:14 -!- jpc has quit (Read error: 60 (Operation timed out)). 09:41:28 -!- Warriphone has quit (Read error: 110 (Connection timed out)). 09:59:58 umm 10:00:13 anyone help me in #IRP im trying to run a program :/ 10:01:09 Please print the sum of all the multiples of 3 or 5 below 1000. 10:01:09 Please calculate it yourself, you homework avoiding wanker. 10:01:35 so much for doing project euler in IRP 10:05:55 Just try each question and see which ones get answers 10:06:09 none so far 10:06:14 Out of? 10:06:18 the interpreter is VERY rude 10:06:31 and may have been drinking... 10:07:09 :-D 10:29:42 -!- anmaster_l has joined. 10:35:13 -!- deschutron has joined. 11:02:51 -!- deschutron has left (?). 11:08:52 -!- Asztal has joined. 12:04:01 -!- FireFly has joined. 12:19:13 -!- BeholdMyGlory has joined. 12:47:46 \o/ 12:48:20 http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer 12:49:11 269 to go 12:49:14 -!- MizardX has joined. 12:49:26 :) 12:50:52 -!- Slereah has joined. 13:03:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 13:09:56 hohohoho 15:49:20 -!- soupdragon has quit ("Leaving"). 15:49:37 -!- soupdragon has joined. 16:04:55 -!- MigoMipo has joined. 16:37:30 -!- asiekierka has joined. 17:06:02 -!- osaunders has joined. 17:12:57 -!- adam_d has joined. 17:22:48 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net"). 18:08:01 -!- Pthing has quit (Remote closed the connection). 18:24:48 -!- MigoMipo has joined. 18:32:32 -!- oerjan has joined. 18:40:59 -!- MigoMipo has quit (Remote closed the connection). 18:41:53 -!- MizardX- has joined. 18:59:01 -!- MizardX has quit (Connection timed out). 18:59:20 -!- MizardX- has changed nick to MizardX. 19:05:29 -!- soupdragon has quit ("Leaving"). 19:13:27 -!- Sgeo has joined. 19:24:03 -!- FireFly has quit (Read error: 110 (Connection timed out)). 19:28:19 * oerjan notes a bunch of "Anyone care to share neat tricks?" posts on reddit 19:29:15 i cannot help think there is a category of languages missing 19:30:01 *thinking 19:31:31 -!- Warriphone has joined. 19:32:41 arr, new ihope 19:36:55 -!- jpc has joined. 19:43:40 -!- FireFly has joined. 19:57:46 [>+>+<<-]>[<+>-] 19:57:57 that's a neat BF trick 19:58:53 copy a cell two cells forward? 20:02:12 A company provides two SDKs: A C/C++ SDK, and a COM SDK. Someone makes a .NET wrapper, supposedly wrapping the C/C++ SDK. Why does it use the names used by the COM wrapper? 20:03:17 if you want my honest guess 20:03:27 the COM SDK wraps the C/C++ SDK, and the .NET one wraps the COM one 20:03:52 also, is it C, or is it C++? No such thing as C/C++ 20:05:31 coppro: yes, using the cell in between as working 20:05:36 actual copies aren't trivial in BF 20:05:39 C, with the #ifdef __CPP or whatever it is to use an extern if it's being used in C++ 20:05:41 that's probably the simplest way to do it 20:05:55 Everyone calls it the C/C++ SDK *shrug* 20:06:09 That's a C SDK... 20:06:26 Yes, but it's perfectly usable from C++, so 20:06:34 it's perfectly useable from Perl too 20:06:40 why isn't it the Perl SDK? 20:07:07 ais523: Probably 21:03:34 -!- augur has quit (Read error: 110 (Connection timed out)). 21:20:10 -!- augur has joined. 21:41:04 -!- osaunders has quit. 21:54:41 -!- lament_ has joined. 21:55:01 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 21:58:29 -!- lament_ has changed nick to lament. 21:59:25 -!- BeholdMyGlory_ has joined. 22:01:05 -!- BeholdMyGlory has quit (Nick collision from services.). 22:01:48 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 22:02:23 -!- osaunders has joined. 22:02:42 -!- osaunders has left (?). 22:31:44 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 22:33:45 -!- oerjan has quit ("leaving"). 22:34:34 -!- coppro has quit (Read error: 60 (Operation timed out)). 22:40:07 -!- lament has quit. 22:46:12 -!- ais523 has quit (Remote closed the connection). 22:50:37 -!- coppro has joined. 23:10:13 there is actually one useful feature in C++: Namespaces. 23:11:05 imagine a troublesome header file, ncurses springs to mind, just being able to surround it with namspace broken {\n#include \n} 23:11:33 and then everything in it is nicely available under a prefix, yet doesn't collide with your own function names 23:11:52 -!- lament has joined. 23:12:20 (of course this ignores the issue of it not working on defines in C++ iirc, and there is also the issue of external linkage, if two linked libraries both export the same function name, and so on) 23:12:26 but it would be nice, in theory 23:18:44 AnMaster: It does work for C libraries 23:18:48 not for C++ libraries though 2010-01-02: 00:01:53 coppro, how comes? 00:02:03 coppro, also, ncurses headers are full of #defines and such 00:03:22 AnMaster: Because of name mangling 00:03:34 extern "C" names aren't mangled; they're the same in every namespace 00:03:46 -!- augur has quit (Read error: 104 (Connection reset by peer)). 00:03:49 but foo::baz and bar::baz are different names; wrapping a header in a namespace won't help 00:04:03 -!- augur has joined. 00:10:32 coppro, hm okay 00:10:40 coppro, what about a source logical namespace only? 00:11:16 AnMaster: there are namespace aliases, but those won't actually help with collisions 00:11:30 any name collisions will have troubles at linking regardless of what is done during translation 00:13:21 coppro, depends on if it is a macro and a function colliding 00:13:26 also inline functions 00:13:44 well, inline functions would work if they were always inlined in theory; but that's beyond the standard 00:13:52 can't do much about macros though... macros should just die :P 00:16:43 coppro, that is what ncurses have a lot of 00:16:56 and why Deewiant is so irritated when doing the external linking from D to it 00:17:06 because the things he wanted to use were partly macros 00:17:22 iirc 00:56:50 -!- osaunders has joined. 01:35:32 -!- osaunders has quit. 01:44:52 -!- adam_d has quit (Read error: 110 (Connection timed out)). 01:51:30 -!- FireFly has quit ("Leaving"). 02:15:06 -!- BeholdMyGlory has quit (Remote closed the connection). 02:15:44 -!- anmaster_l has quit (Read error: 60 (Operation timed out)). 02:51:40 -!- ehirdiphone has joined. 02:52:02 Hopefully I'll start work on my distro soon... 02:54:22 oh, /sys is just /proc redesigned? I was wondering WTF the diff was 02:54:29 Linux is so crufty 02:56:29 ahh 02:56:42 Sys is procs non process stuff 03:21:22 zzzzzzzzzzzzzz 03:23:06 ehirdiphone: do you know what happened with the suicide dude? 03:23:14 Did he commit suicide? 03:23:37 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 03:23:49 -!- ehirdiphone has joined. 03:23:50 Lament 03:23:59 He came in a few days ago 03:24:12 Said his crisis was over, thanked AnMaster and me 03:24:35 wow 03:24:45 nice! 03:25:16 Must have gone to a pretty good therapist 03:27:00 -!- ehirdiphone has quit (Client Quit). 03:28:52 -!- MizardX has quit ("zzz"). 03:37:30 -!- Asztal has quit (Read error: 60 (Operation timed out)). 03:42:36 -!- soupdragon has joined. 03:59:59 -!- bsmntbombdood has changed nick to bsmntbombgrrl. 04:25:57 -!- Pthing has joined. 04:59:45 -!- Sgeo has joined. 06:01:05 -!- Sgeo has quit ("Leaving"). 06:39:34 -!- zzo38 has joined. 06:41:17 To any D&D players who do esolangs too: http://pbox.ca/116jd 06:42:05 * coppro is lost 06:42:49 I don't even understand their response of "ye gods" 06:43:25 But do you understand anything written there, or is something mixed up? Ask questions if you have any. Also, Do these kind of situations occur in your games? 06:43:57 not really 06:44:01 it's a bit confusing 06:44:47 What part(s) do you not understand? 06:45:02 figure out what potion? 06:45:12 the grammar doesn't help by the way 06:45:38 hmm... actually, English isn't your native language, is it? 06:46:07 The potion with the "Suppress Lycanthropy" spell. It makes some effect wear off, but not all of them, not always 06:46:47 And I don't even know what language I learned at first it was a long time ago and my mother says I know three or four, but now I am English, I'm not very good at any others 06:46:58 ah 06:47:04 Oo 06:53:16 But this is the actual situation in the game, hopefully I can figure it out 06:54:01 By "the first time" I mean that is the first time of involuntary transform, so you cannot have Control Shape skill or anything like that yet. This is in case it was unclear to you at first 06:58:08 -!- zzo38 has quit ("Now I can sleep on the floor"). 07:51:22 -!- asiekierka has joined. 07:56:24 -!- coppro has quit (Read error: 60 (Operation timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:37:23 -!- lament has quit. 08:44:55 -!- lament has joined. 09:02:04 -!- ais523 has joined. 09:02:16 -!- lament has quit. 09:28:15 -!- EgoBot has joined. 09:29:38 -!- EgoBot has quit (Remote closed the connection). 09:29:45 -!- EgoBot has joined. 09:32:48 -!- lament has joined. 09:37:57 -!- ehirdiphone has joined. 09:37:58 Hi ais523 09:38:26 -!- lament has left (?). 09:38:39 hi 09:39:33 ehird that book was fucked up 09:39:40 good though 09:39:49 Since nobody else offered any, any comments on an init(8) design? (first lines of http://tunes.org/~nef/logs/esoteric/10.01.01) Admittedly basically pilfered wholesale from someone else, but... 09:39:56 soupdragon: noted 09:40:59 "You fucked up that book!" "I know, isn't it grand." 09:41:30 ehirdiphone: an init(8) design for what exactly? 09:42:14 mycroftiv: Well, it's pretty damn generic. Say Linux/BSD. Probably *not* Plan 9 :P 09:42:34 too bad, i actually just rewrote the whole plan 9 post kernel load boot and init process 09:42:46 mycroftiv: Just click the link. 09:42:51 It's one line. 09:43:04 Maybe it is applicable. 09:43:57 -!- EgoBot has quit (Read error: 113 (No route to host)). 09:43:58 It's: - Parallel - Dependency based - Extensible - Ridiculously simple 09:44:18 ehirdiphone: uh, isnt that the current system that ubuntu and some of the bsds use pretty much? 09:44:24 No. 09:44:46 SysV-style init has: 09:44:54 i recall messing with freebsd init system and it was exactly about specifying dependency, not using sys V linear init 09:45:00 Masses of idiotic metadata 09:45:13 and i thought the point of the ubuntu upstart project was doing the same thing, pretty much 09:45:17 Retarded runlevel system 09:45:26 yeah but these are not sys V 09:45:31 Horrific mass of ugly symlinks 09:45:43 both the freebsd init system and ubuntu upstart i believe work as you described, not along sys V lines, is what im saying 09:45:44 mycroftiv: UpstArt format is what I'm talking about 09:45:51 They're basically identical 09:46:12 i thought the whole point was to make it parallelized and dependency based rather than linear 09:46:24 I never contradicted that. 09:46:56 But I know my shit; the Ubuntu system is much more complex and vastly inferior. 09:47:30 when i look in /etc/init in a 9.10 system, i just see all these conf files that have 'start on' conditions, it looks like 09:47:39 the major issue with sysV-style init is they tried to write it mostly in shell 09:47:52 and that indirectly leads to most of its other problems 09:49:00 huh, i dont see that, i just rewrote the plan9 bootup process to be in rc rather than done in boot.c and init.c mostly because its so much more flexible that way 09:49:31 That's a new form of plan 9 elitism: 09:49:58 "Using the shell for complex programs is horrible? Why, what's wrong with rc?" 09:50:16 "Because our shell is rc, you see, and it's wonderful." 09:50:38 "That is what you meant right? :P" 09:50:38 how did you find out about it? 09:50:49 soupdragon: The book? 09:50:52 yes 09:50:55 Not sure... 09:51:01 oh well 09:51:07 Why? 09:51:39 incase there's more 09:55:09 -!- anmaster_l has joined. 09:56:32 I 09:56:35 Oops 09:57:19 I wonder how many programs compile with David Parsons' maintained libc4 09:57:36 -!- HackEgo has joined. 09:57:39 -!- EgoBot has joined. 09:57:49 hi ehirdiphone 09:57:57 Allo. 09:58:20 ehirdiphone, see /msg 10:01:16 -!- osaunders has joined. 10:39:06 -!- ehirdiphone has quit (Remote closed the connection). 10:39:19 -!- ehirdiphone has joined. 10:40:16 -!- ehirdiphone has set topic: hubert new year? http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 10:48:31 ehirdiphone, is that part of a knock knock joke? 10:48:36 if so: what? 10:48:41 No. :P 10:49:04 apparently one of the popular spam filters had a rule that emails sent in 2010 or later were probably spam 10:49:11 Orange you glad I didn't say hubert new year 10:49:13 which is kind-of fun 10:49:21 Which? 10:49:39 um, me checks 10:49:53 -!- soupdragon has quit ("Leaving"). 10:50:27 gah, can't remember where I read it 10:50:43 /.? 10:50:49 that or reddit 10:50:49 £@# 10:51:04 but I fear it was a comment, not an article 10:51:15 oh, was slashdot, and was an article 10:51:17 SpamAssassin 10:51:54 -!- Slereah has quit (Read error: 60 (Operation timed out)). 10:51:57 http://it.slashdot.org/story/10/01/02/0027207/SpamAssassin-2010-Bug?art_pos=5 10:52:04 Bad news. Spamassasin is huge 10:53:15 -!- Slereah has joined. 10:53:15 I wonder what % of spam a 1-minute greylist would catch 10:53:33 0 false spams at least 10:53:57 greylisting works because spammers use non-compliant servers to send 10:54:03 presumably for efficiency 10:54:46 ah, seems they fixed it at the end of June, but forgot to backport 10:55:19 lesson: hardcoded dates are /bad/ 10:56:30 Greylisting + very simple heuristics about header prescense/contents would filter >60% of spam I bet 10:56:41 85%, upper bound 10:57:14 hmm... isn't 95% of Internet traffic spam? 10:57:18 I hate to think what proportion of /email/ that is 10:57:21 Yes. 10:57:37 Probably. 10:58:01 Tell you what. I'll do a greylisting test 10:58:13 and turn off all other spam filters? 10:58:21 Put an email addy in several very public places 10:58:24 part of the issue is that ISPs spam-filter too, to prevent getting overloaded by all the spam 10:58:35 ehirdiphone: could you actually subscribe it to spam lists? 10:58:37 Run a mail server with just 1 minute greylisting 10:58:49 ais523: They probably don't use tactics 10:58:49 or do you have to just hope it's crawled? 10:58:56 Because it's consensual 10:58:59 Hope 10:59:08 My gmail gets so much spam 10:59:10 Isn't hard 10:59:24 If my vps spam filtered their traffic 10:59:28 I'd kill them 10:59:39 Nobody would do that for a vps 10:59:44 It's just unethical 10:59:52 Consumer ISP yes 11:00:01 hmm... I mean, at the actual AS level 11:00:09 do the tier-1 providers filter spam going via them, for instance? 11:00:26 it'd save them a lot of traffic 11:00:26 No way. They don't have the computing resources. 11:00:42 They have to build special machines just to LOOK at packets 11:00:46 tradeoff, I suppose 11:00:47 And that's ISPs 11:00:52 Not tier 1s 11:00:52 bandwidth vs. computer power 11:01:01 Simply unfrasible 11:01:03 Plus 11:01:05 but yes, tier 1s I'd expect to just ship everything they get 11:01:12 Violates net beutralir 11:01:17 ais523: The monthly bill from my ISP got flagged as spam by their own spam-checker, thanks to that 2010 thing. 11:01:17 Neutrality 11:01:25 fizzie: classic 11:01:37 If you process your traffic 11:01:44 yep 11:01:47 You're responsibl for it's contents 11:01:49 Date: Fri, 1 Jan 2010 13:25:14 +0200 11:01:49 X-Spam-Report: 11:01:49 * 3.2 FH_DATE_PAST_20XX The date is grossly in the future. 11:01:50 fuck why can't I located the literature list for spring 2010 11:01:50 In the USA 11:01:56 only for 2010/2011 11:02:12 * AnMaster headkeyboards 11:02:14 = tier 1s are biggest child porn distributors in the world 11:02:15 It got 3.2 points from that, 2.0 points for "body contains a tracking number", bringing it just past the 5.0 threshold. 11:02:18 So no 11:02:23 They dint filter spam 11:02:31 good point 11:02:38 they really don't want to screw up carrier immunity 11:02:47 fizzie: tracking number? how does it determine that? 11:03:00 Even deep packet inspection is just for throttling 11:03:50 ais523: 11:03:51 body TRACKER_ID /^[a-z0-9]{6,24}[-_a-z0-9]{12,36}[a-z0-9]{6,24}\s*\z/is 11:03:51 describe TRACKER_ID Incorporates a tracking ID number 11:04:15 that's a weird regex 11:04:20 and a weird rule 11:04:38 and also looks like a pretty trivial one to get round, if you know what it is 11:04:54 although, I suppose most legit emails which have something like that are trying to send a one-time hash to someone 11:05:01 and so won't trip any of the other filters 11:05:16 Why is it spammy? 11:05:51 spams like things like tracking pixels 11:05:54 and unique URLs 11:05:59 in order to monitor who's reading spam 11:06:11 because if someone actually reads spam, they're a better target 11:06:14 ais523: The monthly bill from my ISP got flagged as spam by their own spam-checker, thanks to that 2010 thing. <-- what 2010 thing? 11:06:27 AnMaster: apparently one of the popular spam filters had a rule that emails sent in 2010 or later were probably spam 11:06:38 haha 11:06:47 AnMaster: SpamAssassin flags emails sent in 2010 or later as 64% spam 11:06:51 they've fixed it now 11:06:55 I like the "grossly in the future" description. 11:06:56 but it'll take a while before everyone updates 11:07:12 heh, 2010 probably /was/ grossly in the future when that rule was written 11:07:16 ais523: A good rule would be "HTML email consisting entirely of one image" 11:07:30 ehirdiphone: yep, that's a massively good rule 11:07:38 and my mail client's configured to be unable to read those 11:07:40 The rule name also says "DATE_PAST_20XX", which seems to imply 2100-or-later, but apparently the contents were more "2010-or-later". 11:07:48 I turned HTML mail support off 11:08:02 fizzie: it was a regex 11:08:11 ehirdiphone, they make emails in HTML these days? ;P 11:08:27 spam seems to be just pretty much random text to me 11:08:35 maybe the spammy bit is in the html bit 11:08:41 spam tends to be random text plus one image that contains the actual message 11:08:46 turned that off 11:08:52 Html emails would be ok if people didn't abuse them 11:09:00 hmm, agreed 11:09:10 but the sort of people who send HTML email in the first place are the sort of people who abuse them 11:09:13 No , no whole email styling, no layout 11:09:17 I hate it when I get an email formatted as if it's a webpage 11:09:27 and not just any webpage, but table-layout and designed for one screen res 11:09:38 Then it just lets you put data tables lists bold italics links in comfortably 11:09:42 with loads of images 11:09:42 Which is a good thing 11:09:46 ehirdiphone: agreed 11:09:51 great. They have two numbers for the same module 11:10:00 using it as an actual markup language for word-processing, etc, would be fine 11:10:00 And images... With discretion 11:10:05 Eg to caption them 11:10:06 depending on what you are studding 11:10:17 But no. 11:10:20 due to different scales used for the marks on them 11:10:21 AnMaster: do they carry different credit on the two courses? 11:10:23 Society ruined them :P 11:10:36 I was in a module like that, it was worth 10 credits to MEng students but 20 to MSc students 11:10:47 ais523, as in 3/4/5 vs. U/G/VG 11:10:51 actually hm 11:10:58 those are not 1:1 mappings either 11:11:18 ais523, MEng? MSc? 11:11:32 AnMaster: different degrees, with the same value but different subjects 11:11:36 master of engineering, master of science 11:11:54 hm 11:13:30 MtU, "Master of the Universe". 11:14:07 /20[1-9][0-9]/ 11:14:13 something feels /so/ wrong with that regex 11:14:19 ais523, they should update the rule to 2020 11:14:32 it doesn't even catch spam dated 2100! 11:14:37 AnMaster: that's what they /did/! 11:14:37 ais523, indeed 11:14:45 ais523, what? I was ironic... 11:14:53 Sarcastic 11:15:02 well yeah 11:15:13 ais523: Did they at least add: 11:15:17 ais523, why not change the rule to "more than x years in the future from now" 11:15:27 precondition (year < 2020) 11:15:42 no, all they changed was one digit in the regex 11:15:48 Sigh. 11:15:54 also what about spam from before 1990 11:15:55 Incompetent fools. 11:15:57 that happened to me 11:16:00 back-dated spam 11:16:12 Colored diff: http://svn.apache.org/viewvc/spamassassin/rules/branches/3.2/72_active.cf?r1=758225&r2=895073&diff_format=h 11:16:12 ais523, what spam filter software was it? 11:16:22 Spamassasin we've told you 11:16:22 SpamAssassin 11:16:24 oh no, not spamassassin 11:16:26 sigh 11:16:27 Pay attention 11:16:43 ehirdiphone, I have been trying to track down a book I'm unable to locate 11:16:52 and is required literature 11:16:58 they didn't even give ISBN or anything 11:17:04 Try a torrent site 11:17:20 ugh, no 11:17:25 no recommending illegal practices 11:17:33 Stfu. 11:18:01 smoke weed every day 11:18:17 #esoteric is bad enough for your brain 11:18:22 don't use chemicals as well 11:18:23 Kill people. Kill EVERYONE. 11:18:34 ais523: ok nanny 11:18:47 And I'll be in bed by six too 11:19:20 ais523: Do you drink coffee? 11:19:25 no 11:19:31 Tea? 11:19:34 no 11:19:44 Any carbonated beverage? 11:19:45 nor cola, before you ask, I gave it up years ago 11:19:52 Chocolate? 11:19:55 I do drink lemonade on occasion 11:20:04 and do eat chocolate, although it annoys me 11:20:12 mostly because there's nothing /else/ to eat here 11:20:16 Stop using mind altering drugs. 11:20:31 yes, I know 11:20:37 What's that? Chocolate doesn't count? Oh, because it's legal?... 11:20:40 ehirdiphone: you'd be surprised how much I try to cut own on them 11:20:43 even the legal ones 11:20:54 *cut down 11:20:59 Why? 11:21:13 Chocolate doesn't damage your health really... 11:21:25 yep, that's part of the reason I don't run away from it 11:21:42 it's not just health damage that's the issue, it's lack of control over your own thoughts 11:21:46 (cannabis is safer than alcohol...) 11:21:58 I only got a testosterone rush once, but I /hated/ it 11:22:03 and that isn't even a drug 11:22:10 ais523: Eh. I wouldn't say caffeine makes me irrational. 11:22:17 Nor chocolate. 11:22:19 I suppose so 11:22:31 although, my sleep patterns are really screwed up atm, I doubt caffeine would make that any better 11:22:54 Try polyphasic! 11:22:57 :p 11:23:42 heh, I've been on semiphasic before 11:23:49 Eh? 11:23:56 sleeping once every 2 days, for longer 11:24:03 not really deliberately, either 11:24:04 Ouch. 11:24:08 Bad for you. 11:24:11 and last month, I managed to sleep for 24 hours in a row 11:24:14 which I didn't even realise was possible 11:24:33 You're hurting yourself more than could :P 11:24:38 WTF 11:24:48 I typed cannabis in between those words 11:24:52 Strange 11:24:59 I know it's bad for me, and am deliberately trying to get to a consistent sleep pattern 11:25:11 for a while I was on a bed-at-7, wake-at-2 pattern, which is surprisingly nice 11:25:20 that's 7pm, 2am 11:25:28 I love the dawn, although more in summer than in winter 11:25:39 If you're unable to stick with monophasic sleep, I seriously suggest polyphasic 11:25:53 It beats inconsistent schedules any day 11:26:14 polyphasic doesn't really fit with commuting to use the Internet 11:26:14 Biphasic is also an option (noon siesta) 11:26:31 which is natural 11:26:34 For adults 11:26:43 ais523: Why? boredom? 11:27:05 risk of injury, too, in all this snowy weather 11:27:09 I'm not the most coordinated person 11:27:20 I have problems with various objects that most people seem to understand innately 11:27:22 like doors, and chairs 11:27:25 Polyphasic doesn't leave you groggy... 11:27:30 gah, the trouble I have with doors 11:27:38 ehirdiphone: it's not grogginess that's the problem 11:27:43 it's needing to commute several times a day 11:27:51 XD 11:27:53 one way to use the Internet, the other to sleep 11:28:03 And? 11:28:22 it would be worse still if I had to catch the bus, like I used to 11:28:34 polyphasic's around 3-4 hour wake periods, isn't it? 11:28:45 I'd spend half my working life travelling, not exactly an efficient use of time 11:28:56 4 hours for Uberman, 6 hours for Tesla 11:29:17 ais523: polyohasers can sleep anywhere 11:29:29 wouldn't it at least require a bed? 11:29:34 literally; if you rest and it's nap time 11:29:39 you fall asleep 11:29:48 and wake up at the right time 11:29:49 besides, the University doesn't have a residential licence, so you can't legally sleep there 11:29:56 well, for the office buildings 11:30:01 Always the legalistic 11:30:06 *legalist 11:30:20 the health and safety rules are different for business and residential buildings 11:30:32 I think, for instance, bedrooms are required to have windows opening to outside the building 11:30:41 so the fire services can rescue you if there's a fire while you're asleep 11:30:58 and so residential buildings are much thinner and snakier than office buildings 11:31:16 ais523: Consider Everyman then. You sleep ~3 hours at night, and like 2-3 naps in the day 11:31:36 also, monophasic's required term-time, as I have a teaching job 11:31:44 The inventor of Uberman raises a kid while on Everyman 11:32:16 raising a kid seems like a really good use of polyphasic sleep 11:32:33 Post random wakeup stage, I believe. 11:32:36 it's not like kids assign you 4-hour marking sessions every week 11:33:13 Startup company would also work well 11:33:24 yes, agreed 11:33:33 More work time, for one :P 11:33:40 and no allnighters 11:34:42 I've been up since 22:00 yesterday 11:35:55 13 hours, reasonable for monophasic 11:36:45 but I barely ate all night 11:37:01 and i'm always more tired on inverse monophasic 11:37:46 okay fun 11:37:55 the fucking book is out of print not to be printed again it seems 11:38:04 Torrent sites. 11:38:12 ehirdiphone, was that to me? 11:38:17 Yes. 11:38:38 also a rare Swedish book about electronic circuits 11:38:51 Erotic. I mean esoteric. 11:38:53 targeting basic level at university 11:39:25 ehirdiphone, the order form on the publishers website look like it is from 1995 11:39:35 the book was published in 2002 btw 11:39:38 I have a book like that in Finnish; isn't that almost the same? 11:39:48 fizzie, different language families ;P 11:40:16 But geographically close, and that's what matters, ain't it? 11:40:17 fizzie, on a scale from geocities (RIP) to amazon, how professional does this website seem: http://www.natura-laromedel.se/ 11:40:25 -!- rodgort has quit (Client Quit). 11:40:35 -!- rodgort has joined. 11:40:41 Looks fine to me. 11:40:50 ehirdiphone, fizzie, look at the order from at http://www.natura-laromedel.se/Pris.html 11:40:53 scroll down 11:41:15 Meh. Nothing particularly wrong. 11:41:17 notice it really opens in the frame on the top page 11:41:23 A cart system would be better. 11:41:28 indeed it would 11:41:35 ehirdiphone, also there is a fair number of typos on the website 11:41:45 OK, that granted. 11:41:51 I don't know Swedish. 11:41:58 AnMaster: Well, this book's publisher's site is a bit more modern: http://www.gaudeamus.fi/?page_id=18 11:42:09 ehirdiphone, "Kretsteknink och fältteori" ~ "Circuit Tecology and field theory" [sic][ 11:42:13 s/[$// 11:42:58 ehirdiphone, actually the typo would be okay if it was that guy with the faux Russian accent in UF that said it 11:43:14 "Kretsteknink" should have been "Kretsteknik" 11:43:20 Most annoying gag ever. 11:43:46 AnMaster: "Technolongy" then. 11:43:56 ehirdiphone, hah yeah kind of 11:43:58 Not "tecology" 11:44:00 true 11:44:13 anyway, the book I'm supposed to get is not even listed there any more 11:44:58 as for those gags: what about Discworld. The vampires 11:45:05 and Igors 11:45:27 * AnMaster found Igors saying sausage quite funny 11:47:22 Did those start early on boringly and then inexplicably never stop? 11:48:43 So, I know someone with a Yggdrasil Linux release from 1993. That they actually bought and used. Linux 1.1, XFree86 3.0, a.out, SysV-based. Not even ext2. 11:48:56 Am I oldskool by association? 11:49:16 (They switched to Slackware soon after.) 11:50:11 Yggdrasil Linux? 11:50:14 I never heard of it 11:50:16 No, but you are guilty by association. 11:51:25 oh great, someone had scheduled a lab on a bank holiday, I found this and sent a mail asking about it. So it was moved to the day after. When I have another lab at the same time 11:51:27 how fun 11:52:04 so now I'm supposed to be having a lab in in the database course at the same time as I'm having one in C programming 11:52:15 I guess I'll have to split in half or something 11:55:23 Yggdrasil was one of the first commercial Linux distro 11:55:28 Maybe the first 11:55:32 *distros 11:55:52 ehirdiphone, went bankrupt? 11:55:54 AnMaster: Hey, they did it in the Harry Potter books 11:55:57 or was it renamed? 11:56:07 You just need a magical watch thing. 11:56:16 AnMaster: Died. 11:56:25 Maybe bought out and killed 11:56:26 Dunno 11:56:37 ehirdiphone, well could you nip over to the ministry of magic there and steal one for me? 11:56:42 well,* 11:56:47 His box says $4/min phone support apparently 11:56:49 Ouch 11:57:04 ehirdiphone, that's expensive 11:57:08 AnMaster: Pretty sure it was just something Dumbledore has 11:57:12 *had 11:57:43 ehirdiphone, iirc they found one at that ministry in the book where they were fighting in there 11:57:53 "...and now start X again." "Unknown chicken." "Ah, a libc problem. ..." 11:57:53 some prophecy thingy 11:57:56 forgot which book it was 11:58:29 It would have been fun and worthwhile to make your own Linux in those days 11:58:32 * AnMaster wonders if there is an harry potter wiki 11:58:36 there probably is 11:58:36 No fast downloads 11:58:42 Pay or DIY 11:58:54 AnMaster: There's a whole encyclopedia 11:58:59 Chronologies and all 11:59:03 Not a wiki though 11:59:05 ehirdiphone, those people interested back then would probably DIY mostly I guess 11:59:08 (not official) 11:59:12 AnMaster: Nah. 11:59:24 Look how successful Slackware was. 11:59:28 Then Debian. 11:59:38 Even SLS, waaaaay back. 11:59:45 ehirdiphone, what? there is memory alpha, wookipedia, wiki.lspace? Yet no harry potter wiki? 11:59:54 There may be. 11:59:58 But I thinner 12:00:00 Think 12:00:10 The mist popular thing is the encyc 12:00:13 Most 12:00:24 ehirdiphone, lovely spelling correction on iphones 12:00:34 Beats other phones 12:00:42 I just type fast 12:00:46 ehirdiphone, how does it work? as in suggestions as you type? 12:01:14 You type, suggestions appear above words as you type. Space or enter confirms a correction automatically. 12:01:20 my phone has that, as you pretty just once on the button for the letter when composing an SMS and it tries to guess what word it may be, and you can cycle through ones it suggests 12:01:21 Touch the correction to cancel. 12:01:32 ehirdiphone, ah cool 12:01:34 It uses several prices of data: 12:01:46 How close you were to certain keys when hitting one 12:01:50 Dictionaries 12:01:52 etc 12:02:09 the closeness thing sounds cool 12:02:29 Without it I'd make 10x the errors. 12:02:33 so there is a virtual keyboard on it you type on? Not hand writing thing 12:02:39 Yes. 12:02:45 both? 12:02:49 Faster this way & more accurate 12:02:51 which do you use of them then 12:02:54 AnMaster: Keyboard 12:02:56 Only 12:03:08 * AnMaster remembers some old Palm with hand writing thing 12:03:10 Tried a text recognization app once 12:03:12 Sucked 12:03:27 AnMaster: The Apple Newton was king if handwriting 12:03:34 Even better than Palm. 12:03:47 ehirdiphone, surely then apple could reuse some of that technology in the iphone 12:03:49 But keyboards are simply faster and more accurate. 12:04:01 And the iphone is small 12:04:05 The Newton was big 12:04:09 how much of the screen does the keyboard fill 12:04:27 A little under half, vertically. 12:04:32 All, horizontally. 12:04:38 ehirdiphone, so very small irc window? 12:05:00 Six lines. The keyboard only pops up when you need it anyway 12:05:11 on irc, wouldn't that be almost constantly 12:05:17 Fifteen lines without the kb. 12:05:32 AnMaster: I just tap off when i'm not responding 12:05:42 ehirdiphone, what about feedback, I guess there is none? 12:05:47 I mean, tactile 12:06:30 None. But the large keys + correction beat other phones, with tiny, clacky keys and barely any correction. 12:06:44 ehirdiphone, sure 12:06:47 You can have audio taps if you like that sort of thing. 12:06:49 I don't. 12:07:00 phones really aren't meant for writing a lot on 12:07:05 Indeed. 12:07:28 It does quite commendably for such an edge case as irc 12:07:37 nice 12:07:52 Would be fun to have a Dasher app 12:08:01 Way slower than a kb though 12:08:12 ehirdiphone, even with eye tracking? 12:08:28 With eye tracking it'd be glacial. 12:08:30 * AnMaster should try dasher some time 12:08:37 The eye can't track very precisely.., 12:08:38 -!- adam_d has joined. 12:08:46 *... 12:17:44 I should write a bookmarks system I actually like 12:20:01 ehirdiphone, "Dasher is not good nor does it work very well, however, it is quite fun", took a while to write 12:20:05 in dasher 12:20:44 It is an accessibility tool. It is good. 12:20:59 I can write quite fast with dasher 12:21:04 About 10wpm 12:21:12 Or could at least 12:21:26 ehirdiphone, well yes for that it is good 12:21:26 Set it to fast 12:21:38 Make sure to use a trained data set 12:21:48 And keep the cursor at the right 12:21:51 ehirdiphone, I planned to write "not good for normal usage" but I was unable to locate "for" at that point ;P 12:22:01 Look in the gaps 12:22:11 ehirdiphone, also writing my name took ages 12:22:17 not surprising 12:22:18 Alphabetical order :P 12:22:27 ehirdiphone, yes I figured out that about "nor" 12:22:35 well the "r" in nor 12:23:32 ehirdiphone, what does the green and yellow boxes mean 12:23:34 AnMaster: Want some fun? Type "The quick brown fox jumped over the lazy dog." in Dasher repeatedly 12:23:35 the white one is space 12:23:44 By the fifth time it'll be trivial 12:23:45 the green contained comma I found out 12:23:51 Soon enough 12:23:56 The ENTIRE SCREEN 12:24:04 Is lazy dogs and foxes 12:24:05 ehirdiphone, it learns it as you type you mean? 12:24:10 Yep 12:24:21 ehirdiphone, okay, still the green and yellow boxes after the letters 12:24:33 AnMaster: Colour is character type maybe? 12:24:37 Or just random 12:24:42 ah hm yellow seems to be upper case 12:24:48 So you can see the nesting 12:24:58 You can often see letters in letters 12:25:03 So it's useful 12:26:05 ehirdiphone, actually there are some fixed special ones at the end. As far as I tell it is: yellow contains upper case letters, green contains comma, period and similar, plus a few I'm not sure about, white is space 12:26:36 ah seems the dead key bit in é may be in the green area too 12:27:23 hm no 12:27:29 Requirements of a good bookmark system: Stores the page on disk. Offers full text search. One category per bookmark, not tags, assigned after the fact (bookmark button requires no input, all automatic); categorise them once every few days, say 12:28:04 ehirdiphone, storing page on disk. So offline cache? 12:28:20 what about a tag system that can be used for categories instead if you prefer by only using a single tag; would you approve or disapprove? 12:28:21 Yes. For full text search and in case the page goes offline 12:28:45 ais523: Disapprove. You can think of a hundred tags for every link. 12:29:01 A simple choice from a short list is much less like work. 12:29:34 The idea is: Make saving bookmarks really easy, and finding them really easy. 12:29:48 Otherwise, I won't bother to use it. 12:30:34 I use bookmarks as a TVtropes queue, works wonders 12:30:45 It's also important that they're in bookmarks.HTML format so I can use them from my browser 12:30:46 as in, mark pages I want to read sometime, but not necessarily now 12:30:54 means you can read just one page without regrets 12:30:55 With two special links: 12:31:12 ehirdiphone, I seem unable to write "café" in dasher 12:31:19 "Search bookmarks" (to http://localhost:12345 or whatever) 12:31:21 and 12:31:33 "Bookmarks page" 12:31:51 to ~/foo/bookmarks.HTML 12:32:09 which has a symlinks in the browsers directory 12:32:14 *symlink 12:32:39 also, the HTML page should be styled, eg three column format with category headers 12:32:43 ehirdiphone, very strange that the English model doesn't allow English words ;) 12:32:48 to fit them all on the screen 12:33:00 AnMaster: The English word is "cafe" :p 12:33:07 ehirdiphone, aspell disagrees 12:33:17 Your mom agrees. 12:33:34 hmm 12:33:39 ehirdiphone, wikipedia agrees with me http://en.wikipedia.org/wiki/Caf%C3%A9 12:33:54 you should be able to go to cgi pages on file:// urls 12:34:04 ehirdiphone, "In the United Kingdom and Ireland a café (with the acute accent) is similar to those in other European countries, while a cafe (without acute accent) refers to a Greasy spoon style restaurant" 12:34:18 -!- MizardX has joined. 12:34:27 So you can have ~/bookmarks/search.cgi without running a server all the time 12:34:59 ehirdiphone, I'm quite sure it would add a lot of complexity few people would use to the browser ;P 12:35:03 file:///home/ehird/bookmarks/search.cgi?query=butts 12:35:09 AnMaster: shaddup 12:35:24 You could even give it a keyword 12:35:35 So you can go to "bm butts" 12:35:37 ehirdiphone, but doesn't lynx or links2 or some such have limited support for it? 12:35:38 iirc 12:36:05 " If built with the cgi-links option enabled, Lynx allows access to a cgi script directly without the need for an http daemon." 12:36:07 from man page 12:36:12 Cute. 12:36:19 I'm mostly joking, anyway. 12:36:31 ehirdiphone, seems like someone took the idea seriously 12:36:47 Time travellers! 12:37:40 hmm... You could train a spam filter to automatically categorise the bookmarks :D 12:38:25 which would work if you bookmark porn and programming, but not, say, physics and mathematics.., 12:38:28 *... 12:39:23 And porn and chemistry? Only if you don't study cummingtonite. 12:39:28 *rimshot* 12:52:26 ehirdiphone, Programming and mathematics wouldn't work either 12:52:51 Wrong. 12:53:01 oh? 12:53:10 why would it work better than physics and math? 12:53:14 Theoretical CS and mathematics would probably not be TOO bad either. 12:53:39 Programming involves no lemmas. No mathematical notation. 12:53:48 No mathematical shorthand. 12:53:50 I can imagine web pages which would be both 12:53:57 No statements and proofs. 12:53:58 but it's less likely than a web page about one or the other 12:54:01 Need I go on? 12:54:47 ehirdiphone: how would you categorise http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm 12:54:49 maths or programming? 12:55:00 ehirdiphone, Math notation sure. For example I had course literature that discussed discrete mathematics and used lisp to demonstrate some things 12:59:38 Ais523: programming/cs 13:06:18 I wish you could do this in /etc/hosts: 13:06:28 127.0.0.1:12345 foo 13:06:33 eg 13:06:54 127.0.0.1:7619 search-bookmarks 13:07:16 http://search-bookmarks/?q=butts 13:07:41 would be an acceptable substitute for named ports 13:07:53 For some uses 13:09:57 -!- anmaster_l has quit ("Leaving"). 13:11:04 -!- soupdragon has joined. 13:16:04 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 13:34:46 is singularity possible or just sci fi ? 13:35:22 not actually possible, there are fundamental limits on the amount of information in the universe 13:35:40 the concept of a self-improving AI is, I think, theoretically possible but hundreds of years out, or maybe even thousands 13:35:42 really the universe is finite ? 13:35:56 the observable universe is 13:36:15 I don't know what that emans 13:36:15 and you can't store information outside the observable portion 13:36:21 why not? 13:36:27 soupdragon: it's basically a consequence of the speed of light and the expansion of the universe 13:36:32 oh okay 13:36:43 some points are expanding at a rate, relative to you, that means even sending data at the speed of light, you'd never reach them 13:40:31 so even if you filled the entire observable universe with black holes, there'd only be a finite amount of information you'd ever be able to store, let alone retrieve 13:40:48 (apparently, black holes have the best storage density of any known object) 13:40:57 (probably because they have the best density full stop) 14:05:44 the black hole information loss problem is really fascinating 14:06:37 hawking's semi-recent idea that the 'sum over all histories' means there is no information loss from black holes because in the universe histories where black holes didnt form the information didnt go away makes my head hurt 14:13:37 -!- Asztal has joined. 14:13:52 -!- oerjan has joined. 14:18:38 does anyone know if the SQL standard is available for free of if it is "pay for a copy" style? 14:19:15 and then suddenly the logs are back to the old GMT-8 time zone again... 14:20:22 sigh, not free it seems 14:21:49 -!- MizardX- has joined. 14:30:41 check to see if there are free drafts 14:38:02 -!- MizardX has quit (Read error: 110 (Connection timed out)). 14:38:14 -!- MizardX- has changed nick to MizardX. 15:03:31 -!- oerjan has quit ("leaving"). 15:06:25 -!- Pthing has quit (Remote closed the connection). 15:15:25 -!- ehirdiphone has joined. 15:15:58 soupdragon: Singularity is posdie. ais523 is mistaken about what it means 15:16:09 posdie?? 15:16:16 ehirdiphone: technically, it isn't a singularity if it doesn't explode to infinity 15:16:17 Possible 15:16:19 mathematically, at least 15:16:35 ais523: That is not what a technological singularity is. 15:16:40 part of me asking this is to understand what it means 15:17:05 soupdragon: A self improving ai that accelerates to intelligence far above human 15:17:20 :( 15:18:24 soupdragon: If you want to learn more, pointers: Vernor Vinge, Eliezer Yudkowsky, Creating Friendly AI (a work with actual practical implications), Less Wrong, 15:18:48 Singularity Institute for Artificial Intelligence 15:18:51 yeah I have Eliezer Yudkowsky bookmarked from when you mentioned before 15:19:24 (namedrop: Douglas hofstadter attended the institute's 2009 summit and gave a talk) 15:19:31 :/ 15:19:37 that doesn't instill confidence in me 15:19:55 the opposite infact 15:19:58 I pity the foo who dislikes Hofstadter 15:20:13 Crazy, yes. Interesting, undoubtedbly. 15:20:43 Bookworm, Run! good? 15:20:48 soupdragon: anyway one of three things will happen in the next couple hundred years 15:20:53 Singularity 15:20:57 Extinction 15:21:00 Stasis 15:21:05 3 is unlikely 15:21:16 soupdragon: Eh? 15:21:28 ehird read metamorphosis of prime intelletc 15:21:34 it's a book by Vernor Vinge 15:21:58 vernor vinge, just read his original writing 15:22:07 that coined singularity as a term 15:22:30 link ? 15:22:38 I don't know what exactly you're referring to 15:22:41 Wikipedia it. 15:22:47 It has a link on his page 15:22:50 I am looking at the wiki page :/ 15:23:03 soupdragon: I'll find it in a no 15:23:05 Mo 15:23:08 The Coming Technological Singularity: 15:23:08 How to Survive in the Post-Human Era 15:23:09 Just a warning 15:23:09 this? 15:23:12 Yes 15:23:15 okay 15:23:41 Singularity will inevitably lead you to the rationalist community, they are almost identical 15:23:51 And that is a very deep rabbit hole 15:23:55 If you don't wa 15:23:56 you mean, I will become a rationalist? 15:24:12 nt to change how you think forever, forget this 15:24:17 soupdragon: probably 15:24:30 It'll be in the back of your mind even if you dint 15:24:35 *don't 15:25:22 First time I ignored it, second time I tried to forget it.. Third time, it's got me 15:25:31 :)))) 15:26:13 ehird I don't want to give away plot details 15:26:19 but I am thinking about this book a lot 15:26:29 probably because I read it all in one go 15:26:44 I read the wp plot summary. Forgotten a bit but I remember I think some parts 15:27:07 well it's very similar to Last Question actually 15:27:27 soupdragon: Eliezer Yudkowsky happens to be an excellent scifi writer btw - "Rhree 15:27:29 Erm 15:27:39 "Three Worlds Collide" 15:27:52 (not singularity. About ethics though) 15:28:23 (related protip: read the fake ending then the real one. The links there are kinds confusing) 15:28:33 I'm talking too much 15:28:40 the fake ending of what?? 15:28:51 Three Worlds Collide 15:28:54 okay 15:28:57 I mean 15:29:04 right now I'm reading this Vinge thing 15:29:06 Before the real ending 15:29:19 soupdragon: Its a good start 15:29:41 im studying computational linguistics too 15:31:59 -!- MizardX- has joined. 15:33:05 Btw there *is* a lot of overlap of scifi nerds/singularitarians but not all (Kurzweil isn't a scifi dude, just a fool!) - I think it's because the mainstream discourse has no field for this, it's sort of an all encompassing field - and because ideas originating in scifi are cursed to stay there 15:33:14 But make of it what you will 15:34:19 yeah sometimes when I read sci-fi and I think about how cool the stuff is and how I want it be real I feel like an insane person that thinks video games are real 15:34:40 Sci fi is a peculiar genre 15:34:49 We think what we want and write it 15:34:56 With some twists 15:35:12 It's not like fantasy 15:35:31 fiction's made out of setting and plot 15:35:32 It's just a way of weaving a story from our desires 15:35:38 the setting differs between genres, the plots don't really 15:35:57 Hard sci fi has unique plots. 15:36:05 As unique as they get anyway 15:36:06 well I really felt that Last Question and Metamorphosis of Prime Intellect has the /same/ plot 15:36:29 I ought to get round to writing my singularity short story 15:36:34 different details, one could be the sequel of the other 15:36:45 It isn't very good, but I'll end up writing it anyway 15:37:22 last question is entirely symbolic IMO 15:37:31 oh?? 15:37:38 oh to what 15:37:38 I didn't really think of it in a symbolic way at all 15:38:08 Ac going into a universe away from universe? Nahh. It's about progress, I think 15:38:23 We march on into more prosperous and cl 15:38:30 Combined intelligences 15:38:46 But we still have the same unanswerable question 15:38:55 aha 15:39:00 and you can only answer it when it's subject is gone 15:39:09 Ac is outside universe 15:39:14 So no entropy 15:39:25 And that's how it solves the question 15:39:37 So yeah, I see it as symbolic 15:39:57 how is that symbolic ? 15:39:59 Sort of a combination: 15:40:16 "You can never understand a system fully from the inside" 15:40:20 and 15:40:49 "No matter how far we progress, we're still bound by the limitation of being in the universe" 15:41:09 yeah 15:41:35 I think the basically religious ending (AC becomes pure energy outside the universe and the genesis quote) made me sure it wasn't a literal story as such 15:42:11 entropy is a bastard though totally 15:42:25 heave you heard of maxwells demon? 15:42:30 Yes 15:43:06 I just read about for the first time a couple weeks ago, came across it in the physics section of the library 15:44:46 I don't get entropy at all, biogenesis goes completely against (my understanding of) it 15:44:58 You said you study computational linguistics funny because I'm pretty sure any ai will involve a fuckton of it 15:48:04 -!- MizardX has quit (Connection timed out). 15:48:25 -!- MizardX- has changed nick to MizardX. 15:48:28 fizzie, ais523: either of you uses lyx? 15:48:34 or ehirdiphone maybe 15:48:41 AnMaster: I have it installed, but rarely use it 15:48:43 * AnMaster is having an annoying little problem 15:49:16 Lyx is latex for pussies who can't type \, { and } 15:49:22 :)))) 15:49:31 basically there is a paragraph "type" called "LyX-Code" that is similar to
 in HTML in it's results. However it also results in the paragraph being slightly indented
15:50:04  which usually is not very bad, but here when I need it inside a table looks rather strange to say the least
15:50:34  wondered if anyone knew how to get rid of that 0.5-1 em or so indentation
15:50:38  indention*
15:51:58  err was correct first time
15:52:53  I suggest using a can of manliness and uninstalling LyX.
15:53:56 -!- soupdragon has quit (Remote closed the connection).
15:54:02  I've been dabbling with LyX for short one-off documents (like single-course homework reports and such) but can't say I've ever used the "LyX-Code" style.
15:54:04  ehirdiphone, it is quite nice I found.
15:54:10 -!- soupdragon has joined.
15:54:34  I have used the "insert/program listing" thing, which I guess uses the "standard" listings package for formatting.
15:54:57  hm
15:55:26  fizzie, could work, I don't think it had that when I started to use LyX some years ago. Probably explains why I got used to using LyX-code isntead
15:55:28  instead*
15:55:57  Yes, it seems it was added in 1.5.0-beta3.
15:56:22  There
15:56:25  right, began with 1.4.x
15:56:31  and yes it seems to solve the issue, thanks
15:56:49  's a "document/settings/text layout/Listing settings" thing where you can stick any parameters supported by the listings package, if you want frames around listings or whatever.
15:57:22  hm doesn't seem to be a nice way to make it remember defaults for future listing insertion
15:58:36  well copy and paste the listing and replace what's in it would work
16:05:12  Also I have a picture of a very big pyramid: http://zem.fi/g2/d/9571-2/p1050097_panorama.jpg -- taken very near (well, there wasn't much room to back off) and mapped with the equirectangular projection, makes it look even bigger than what it actually is. Especially when you look at the tiny tiny people there.
16:05:28  (What do you mean that's not related?)
16:06:20  did you take that?
16:06:29  Yes.
16:06:41  im so jelous..
16:06:59  can you tell me how it felt to see the pyramids?
16:08:19  A bit underwhelming, to be honest. It's incredibly old, I know, but it's still a pile of rocks that smells very heavily of camel excrement, and is surrounded by a huge mob of all kinds of salespeople and people-not-actually-selling-anything-but-wanting-a-bit-of-money-anyway people.
16:09:02  The not-quite-as-old-but-still-pretty-old tombs in the Valley of the Kings were perhaps more impressive. (Alas, that place had a strict "no photography at all" rule.)
16:10:14  (To be fair, I guess it's not the pyramid itself that's smelly, just the surroundings. I doubt you'd get a camel to walk actually on that thing.)
16:10:43  well it's an incedible photo
16:11:31  Here's also one of the source images that went into the composite; this one probably appeals more to people who don't like the fisheye-ness of the first one: http://zem.fi/g2/d/9574-2/p1050103.jpg
16:11:56  im a bit surprised you didn't like it
16:12:26  I always imagined that seeing the pyramids would be a really powerful and emotional experience
16:13:12  just big rocks with dead people inside
16:13:29  Not much inside at this point, too.
16:14:05  Did you go inside?
16:14:23  I'd be too freaked to, irrational fear of mine
16:14:25  It was worth visiting, to be sure. It's just that having to say "no, no" every twenty seconds to someone who tries to get his camel in your photo so that he can ask for money for the privilege detracted from the experience, I think.
16:14:29  Can't seem to shake it
16:15:21  No. From what I hear, they're pretty cramped (no room to stand up + bazillion other people trying to push you around).
16:15:32  fizzie: Photo the camel and then DON'T PAY. You will overthrow the state
16:17:17  But that would be against the established social order of things.
16:17:37  fear of going inside buildings? :P
16:18:16  We did go inside the Valley of the Kings tombs (well, three of them, as was included in the ticket); those were nice and roomy, and nicely decorated.
16:18:59  sweet gcc has __builtin_constant_p
16:19:13  soupdragon: just fear of Egyptian mythology I guess
16:19:21  or tombs of any kind really
16:19:53  fizzie: Fall into any secret catacombs?
16:20:09  ah okay
16:20:12  You know, with horrible beasts in the pitch black and untold riches.
16:21:38  No. But it was a bit amusing that about half of the tombs have managed to hit another tomb during the digging, and have had to make awkward 90.degree turns because of that. (Since the tombs were supposed to be hidden, it's not like you could call the municipality for digging directions.)
16:22:33  They've found something like 63 tombs from the not-so-big valley; it probably looks a bit like swiss cheese if you take a cross-section of it.
16:23:04  Everything's been stolen off both the pyramids and the tombs, anyway. We did look at Tutankhamon's stuff in the Egyptian Museum, later. (Also a no-photo place.)
16:24:07  Though I had http://en.wikipedia.org/wiki/King_Tut_%28song%29 looping incessantly in my head the whole time we were there.
16:24:08  Toot and char moon
16:26:46  Tootin' car moon
16:27:41  Toot ink arm oom.
16:27:47  *ion
16:27:50  *oon
16:34:14 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
16:39:19 -!- soupdragon has quit ("Leaving").
17:00:09 -!- Sgeo has joined.
17:27:19 -!- BeholdMyGlory has joined.
17:30:35 -!- osaunders has quit ("Bye").
17:51:59 -!- osaunders has joined.
19:09:40 -!- osaunders has quit.
19:23:51 -!- osaunders has joined.
19:50:15  hm would it be possible (in theory) to get a higher resolution scan than "native" resolution of something by taking several scans and moving the scanned thing half a pixel or such in between
19:50:20  and then interpolate or such
19:53:20  "Moving the scanned thing half a pixel" doesn't sound exactly trivial in many cases.
19:53:41  fizzie, notice "in theory"
19:53:44  AnMaster: apparently, that's how bee vision works
19:53:55  "huh"
19:54:00  ais523, really?
19:54:10  also what? do they move the flowers half a pixel!?
19:54:23  fizzie, also what about a stepper motor?
19:54:23  their vision only has a few hundred pixels
19:54:42  but as they move around, they get more info
19:54:48  There's a term for it: http://en.wikipedia.org/wiki/Super-resolution
19:55:19  "Multiple-frame SR use the sub-pixel shifts between multiple low resolution images of the same scene. They create an improved resolution image fusing information from all low resolution images, and the created higher resolution images are better descriptions of the scene."
19:57:38  hm
20:04:17  fizzie, I wonder if you could use hugin for this, in theory
20:05:09  of course they would have moved many pixels, but as long as they didn't move exactly whole pixels, you have enough images, no parallax and luck with control points it should work
20:06:26 -!- lament has joined.
20:07:21  The control points by definition move full pixels, though; at least I think their positions are integers in the image coordinates. I would guess you'd have more luck with one of the algos especially designed for the purpose.
20:08:35  Speaking of hugin, did some experimenting with HDR+tone-mapping for one panorama that had both direct-sunlight and in-shadow parts, as I wanted details (engravings) visible for both.
20:08:47  fizzie, did it work better than enfuse?
20:09:27  Yes and no; I did get better contrast in some parts, but also some artifacts.
20:09:33  fizzie, also, did you make sure the images were linear? iirc that is quite important (check panotools wiki),
20:09:46  unlike for enfuse iirc
20:11:04  Well, I didn't follow any guidelines; it was an ex-tempore thing.
20:13:00  I just took a pile of shots at auto-exposure, fixed WB, then optimized positions only (no exposure) and used hugin's built-in "map images to linear color space and blend to a HDR output" mode, followed by one of the psftmo tone-mapping tools.
20:14:47  At least the luminance histogram for the resulting HDR file was strongly bimodal, which is what I'd have expected; the shadowy and sunlighty portions were at rather different value ranges.
20:14:59  I'll try to find the result.
20:19:48  fizzie, I mean, as in linear sensor data
20:20:10  iirc that means gamma linearity = 1
20:20:12  and such
20:20:29  something to do with not using "color matrix" option in ufraw either
20:21:11  Meh; that doesn't sound like something that couldn't be remapped afterwards.
20:23:53 -!- asiekierka has quit (Read error: 60 (Operation timed out)).
20:24:24  http://wiki.panotools.org/HDR_workflow_with_hugin speaks of "unrolling" the images with a calibrate camera response, though the big fat "this is outdated" disclaimer does not fill me with confidence.
20:32:16  Should I get Visual Studio 2008 Professional Edition if I can get it for free? (I can also get 2010 beta or something)
20:32:36  No, it's not a beta
20:32:58  yes it is
20:33:59  Sgeo, MSDNAA?
20:34:07  hm?
20:34:14  Sgeo, well, how else for free?
20:34:21  DreamSpark
20:34:26  never heard of that
20:34:32  https://www.dreamspark.com
20:34:39  Some software free for students
20:35:00  Sgeo, get warning about invalid SSL cert
20:35:03  unknown CA
20:35:10  I don't get any warnings
20:35:31  Sgeo, also not free software. Free software = open source
20:35:38  you mean no-cost or such
20:35:44  ahaha y2k bug on the website
20:35:54  Well, he never said "free software", only "software free".
20:36:04  uorygl, ah misread it
20:36:31  anyway this dreamspark. looks like MSDNA with psychedelic theme ;P
20:36:32  kind of
20:36:37  MSDNAA*
20:37:20  DreamSpark is for pretty much any student, though; msdnaa is restricted to participating institutions.
20:38:25  DreamSpark uses the "Microsoft" trademark all over the place and its nameserver is at msft.net.
20:38:26  DreamSpark's also a newer thing. I remember downloading *something* from thee, but I've already forgotten what it was, so I'd guess it wasn't anything too useful.
20:39:58  s/thee/there/; I was not trying to speak Ye Olde Butcherede Englishe.
20:40:00  Let me try that again. DreamSpark uses the "Microsoft" trademark all over the place and has a Wikipedia article; therefore, they're legitimate.
20:41:13  "You may install one copy of the Software made available to You through the Student Program on Your own device, but only (a) to support Your science, technology, engineering, mathematics and/or design (STEM-D) education; (b) in non-commercial STEM-D research; or (c) to design, develop, test, and demonstrate software programs for the above purposes."
20:41:21  Fuck you
20:41:37  Well, actually, in a sense, _anything_ I do in it supports my education, right? >:D
20:41:48  Of course. What were you planning to do with it?
20:43:08  Write stuff. Perhaps be able to participate again in the game I was fired from (They're using C# now. I'm no longer the primary programmer, but can participate if I learn C#). Maybe a Second Life bot (libSL is a .NET ... thingy, so I _could_ try to figure out IronPython, but all examples are C#)
20:44:44  3GB :/
20:44:57  I think I'll just download Visual Studio C# Express for now
20:45:46  What is this game?
20:46:18  uorygl, sort of a futuristic clone of an Active Worlds game that died in 2005
20:46:46  I'm technically still irreplacable as the person who knows the most about that game, but am apparently replacable as programmer.
20:49:18  Were you fired for any reason other than not knowing C#?
20:49:59  uorygl, for not getting the work done
20:50:03  I kept doing other things
20:50:33  uorygl, C# is only a requirement because that's what my replacement's most comfortable with
20:50:33  Ah.
20:51:28  On New Years Eve, I was in-world, and they were trying to talk to me, but I was in another window. Then, later, I was telegrammed (which plays a sound, getting my attention) that I was replaced
20:53:33 -!- ais523 has quit (Remote closed the connection).
21:02:32 -!- MizardX- has joined.
21:13:43 -!- madbrain has joined.
21:18:14 -!- MizardX has quit (Read error: 110 (Connection timed out)).
21:18:27 -!- MizardX- has changed nick to MizardX.
21:23:51  Dear Visual Studio C# Express installer: I _just told you_ I don't want to install SQL Server Express
21:27:31  I wonder if tetris is turing equivalent
21:31:17  That reminds me, I want to investigate Small Worlds to see if the player-created "missions" are turing-complete
21:36:05  to see the world in a grain of sand!
21:36:10  and heaven in a wild flower!
21:36:16  hold infinity in the palm of your hand,
21:36:21  and eternity in an hour!
21:36:28  madbrain: well, not without infinite storage.
21:36:53  There are two obvious ways to have infinite storage: an infinitely tall board, and an infinitely wide board.
21:37:13  An infinitely tall board would probably function as a single stack, and therefore be insufficient, but I'm not sure.
21:37:46  On an infinitely wide board, the mechanic would have to be modified somehow, as you can't actually complete a row.
21:37:51  uorygl: well, if you had a pattern on notes on the left side, could you do computation with that?
21:38:07  If you had a what?
21:38:14  notches
21:38:32  like, left most colum is filled, then the one next to that has a bit pattern
21:38:54  Hmm.
21:39:20  A major question is what it means for Tetris to compute.
21:39:48  well, the input could be a list of blocks
21:39:59  It would probably have to be non-deterministic
21:40:27  ie if your program is well formatted, only one input will not lead to an infinitely growing stack
21:40:38  Perhaps have some "thing" that's solvable if and only if a certain Turing machine halts, plus an algorithm for solving it if it is solvable.
21:41:05  Hello world!. Sgeo sold his soul and sucked Microsoft's c*** just for ACT01 and
21:41:05  Second Life
21:42:07  but then the computation becomes how to win, not the playing itself
21:49:27  Well, all you said was "Tetris".
22:56:11 -!- coppro has joined.
22:57:13 -!- adam_d_ has joined.
23:10:21   DreamSpark is for pretty much any student, though; msdnaa is restricted to participating institutions. <-- I guess MSDNAA has more stuff?
23:10:39  Yes, I think so.
23:10:48  And more expensive stuff, too.
23:12:15  Incidentally, I did my first-ever emergency call a moment ago. There was a fire alarm that kept beeping, but I couldn't pinpoint-localize the source; couldn't figure out anything else than to call the emergency services. They dispatched a fire truck and a full set of firemen to handle the situation; not that they were having much more luck in locating the source of the beeping at first.
23:13:24 -!- adam_d has quit (Read error: 110 (Connection timed out)).
23:13:57  Turns out the people living directly upstairs from us had put a fire alarm on their balcony, for some really unfathomable reason. I don't know why it was beeping, but I guess it might have something to do with the -20 degree weather out there. Anyway, since it was on the balcony, it was pretty audible outside (and somewhat near the door to our balcony, which is directly below), but cleverly you could barely distinguish it at the apartment doors, so it wasn't
23:13:57  so easy to figure out which one it was.
23:14:01  fizzie, ah, dreamspark won't have winxp pro x64 or such?
23:14:19  (There was no-one home, either, so they had to wait a while for the service company guy to come open the door.)
23:14:39  A smoke alarm?
23:15:05  fizzie, crazy
23:15:28  didn't I post a listing of all MSDNAA software some time ago?
23:15:56  everything from MSDOS 6.1 to windows 20xx server beta something
23:16:04  and visual studio and what not
23:16:07  Possibly, though I don't remember; anyway, DreamSpark has just Windows Server 2003 and 2008 on the OS side.
23:16:09  not MS office though, not that I need it
23:16:30  And Visual Studio 2005/2008 Pro and "2010 Ultimate", whatever that is.
23:16:45  (That one's the beta.)
23:16:46  why does the msdnaa bookmark in firefox has the wikipedia logo
23:16:51  it isn't a wikipedia article about it
23:17:00 -!- adam_d_ has changed nick to adam_d.
23:17:02  nor does the wikipedia logo show up on the actual msdnaa page
23:17:06  it is just the bookmark
23:17:12  The DreamSpark theme has changed a bit; it was equally psychedelic earlier, but more green.
23:17:25 -!- oerjan has joined.
23:17:32  fizzie, do you have MSDNAA though?
23:18:16  whatever it is, it isn't psychedelic
23:18:56  fizzie, look at http://msdn62.e-academy.com/elms/Storefront/Home.aspx?campus=orebro_appsci
23:19:02  logged in pages look much the same
23:19:17  Yes. Well, "had". I'm not sure what the status is with us graduate students. Usually we don't have much on the benefits side.
23:19:22  ah
23:19:25  fizzie, how strange
23:19:26  I've seen and used the MSDNAA pages, anyway.
23:19:33  They were pretty utilitarian, yes.
23:19:33  fizzie, looked same for you?
23:20:35  Close enough. Very official, very boring.
23:21:59  fizzie, and here is the software list (yay view source): http://pastebin.ca/1735570
23:24:18  I wonder what "x86 and x64 WoW" means
23:24:27  does it mean the software isn't 64-bit?
23:26:39  Most likely, since WoW64 is that "run 32-bit stuff on x64 windows" thing.
23:29:59  ah
23:30:06  fizzie, seems visual studio is all 32-bit
23:30:28  even 2010
23:34:48  fizzie, shocking that there is no box shot for http://omploader.org/vMzU2YQ
23:34:49  isn't it?
23:35:15  also it just reminded me of how slow dialup is, that box near the bottom
23:38:37 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- oerjan has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- yiyus has quit (farmer.freenode.net irc.freenode.net).
23:39:55 * AnMaster prods fizzie 
23:43:00 -!- Deewiant has joined.
23:43:02 -!- oerjan has joined.
23:43:02 -!- fungot has joined.
23:43:02 -!- dbc has joined.
23:43:02 -!- yiyus has joined.
23:47:00  Consider me prodded. (I'm almost asleep here.)
23:49:08  56K dialup is still on the fast-ish side; during the BBS era, I used to have a 2400 bps modem; there was a rule of thumb that it took a bit over an hour to move a megabyte over zmodem.
23:51:33  The BBS of the local computing rag (that is, magazine) allocated only 60 minutes of time per day; fortunately there was a "time bank" where you could deposit up to... I think up to four hours of extra time. So you could download a floppy-sized file easily, by first putting 50 minutes of one day's time in the bank, then withdrawing it the next day; the 1h50min you got that way was just about enough.
23:51:34  fizzie, hah
23:51:58  (Okay, because zmodem could continue interrupted transfers, it wasn't quite that bad.)
23:52:05  :P
23:52:45  The transfer speeds were a bit less with smodem which everyone used, because smodem was able to multiplex the IRC-like BBS chat channel with the file transfer; you could chat with people while the file transfers were going on.
23:54:51  fizzie, mhm
23:55:02  fizzie, so people used it rather than zmodem?
23:55:39  At least people who used to hang around the chat channel.
23:55:57  Besides, smodem was a Finnish invention.
23:58:14  "Smodem is a bidirectional protocol for file transfer used between modems, developed by a Finnish company Arisoft. It was mainly used in BBS systems, because it could transfer files in both directions at the same time, and allowed users to chat with each other with AriSoft's GroupChat software. Other popular bidirectional protocols, such as BiModem, HS/Link and HydraCom, also offered a chat option with the operator but not with system's other users."
23:58:36  You know, I can think of one think I would use a floppy disk for.
23:58:49  uorygl: :D
23:58:57  (Sleep now, nights.)
23:59:03  Of all the player pianos I remember seeing, all of them took floppy disks.
23:59:19  my player pianos take rolls of paper.
23:59:22  as do my computers.
23:59:37  Your player pianos are obsolete.
23:59:44  thats the point! :D
23:59:54  My player pianos are not obsolete!

2010-01-03:

00:00:04  I mean, they take floppy disks. But apart from that, they are not obsolete!
00:00:12  sounds like obsolescence to me!
00:00:54 -!- osaunders has quit.
00:01:20  I guess one of those player pianos was actually an electronic piano.
00:02:04  ive been tempted on numerous occasions to build an electromechanical computer
00:02:07  Which is pretty much the same thing as a keyboard, except it's actually fashioned to look like a piano and doesn't have as many features.
00:02:25  uorygl, my piano takes an usb cable
00:02:28  Ah yes, electromechanical computers. Have you ever designed one?
00:02:34  anmaster: "an usb cable"?
00:02:35  :|
00:02:39  augur, yes?
00:02:43  midi usb?
00:02:45  augur, it's called MIDI over usb
00:02:45  yes
00:02:48  AnMaster: its "a usb cable"
00:02:51  augur, why
00:02:54  AnMaster: is it a player piano, an electronic piano, or a keyboard? :-D
00:02:58  because it doesnt start with a vowel.
00:03:05  augur, you pronounce it "U S B"
00:03:07  not "usb"
00:03:10  you-ess-bee
00:03:18  augur, yes indeed
00:03:20  the name for the letter "u" does not start with a vowel.
00:03:27  augur, what about pronouncing it "usb" though
00:03:33  then "an" would be correct
00:03:38  yes.
00:04:01  augur, well then I pronounce it that way ;P
00:04:05  uorygl: partially. my idea was to try and imagine what a computer wouldve looked like if you took a morse-code like device and extended that model
00:04:21  My ideas have involved creating a computer using only relays.
00:04:22 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:04:27 * uorygl blinks.
00:04:33 -!- augur has joined.
00:04:36  My ideas have involved creating a computer using only relays.
00:04:44  yeah
00:04:48  uorygl, also, no one uses a player piano these days
00:04:50  it always seemed odd to me that we didnt have electromechanical computers 150 years ago given that we had morse code back then
00:04:51  long live midi
00:04:59  and hardware midi to be specific
00:05:01  AnMaster: I have heard of MIDI player pianos.
00:05:03  AnMaster: noone uses midi these days. long live mp3.
00:05:32  MP3 is inferior to MIDI when it comes to things MP3 is incapable of doing and MIDI is capable of doing.
00:05:38  augur, no one uses mp3, Long live flac
00:05:44  :P
00:05:46  and what uorygl said
00:05:53  the converse is true too ofcourse.
00:06:04  i think we should build an electromechanical computer.
00:06:05  I agree that we ought to have had electromechanical computers since 1835.
00:06:25  oh?
00:06:26  you know that the morse code machines were originally like type writers
00:06:27  ?
00:06:32  midi is the shit you use to make mp3
00:06:34  I think I had some idea.
00:06:39  madbrain, no
00:06:40  but some douchebag convinced morse to use a push-level machine instead
00:06:42  not quite
00:07:00  I think we should build an electromechanical router. Then we could make an Internet using only 19th century technology.
00:07:01  were it not for that, we'd probably have had the internet in 1850.
00:07:04  midi is a transport protocol
00:07:14  like IP, right?
00:07:21  think of it, an electromechanical type writer that could connect to a tape store remotely
00:07:29  unless you do music with straight musicians or something
00:07:31  lament, and a file format
00:07:42  i only do music with gay musicians
00:07:51  ?
00:07:55  the tape would store bits directly rather than as letters so it'd just feed right into the line
00:08:16  So, augur, let's figure out an error correction scheme that can be implemented using relays.
00:08:29  ECC?
00:08:32  well you wouldnt have error correction initially, right
00:08:35  you'd just have hard connections
00:08:49  augur, reed Solomon?
00:08:52  and it wouldnt matter much either, because the signals are pretty strong, comparatively speaking
00:08:53  Reed*
00:08:59  Isn't error correction pretty necessary?
00:09:00  AnMaster: whats that
00:09:03  augur, iirc
00:09:14  augur, http://en.wikipedia.org/wiki/Reed–Solomon_error_correction
00:09:16  uorygl: only when youre signals are weak
00:09:16  uorygl: depends on the noise levels and such
00:09:19  augur, used on CDs and such
00:09:31  Well, the signals are going to get corrupted every time you do something to them.
00:09:47  sure but an electromechanical computer is going to emply pretty strong signals anyway
00:09:48  augur, works by oversampling a polynomial, thus being able to reconstruct the missing data points if some are gone
00:09:55  so the signal degredation isnt going to be significant
00:10:02  If a signal goes 1,000 miles and passes through 10 routers, I think there's going to be quite a bit of signal degradation.
00:10:16  maybe maybe not, uorygle
00:10:22  ah, but that's transmission, not computation
00:10:26  Even worse if a signal is circulated for an indefinite length of time.
00:10:35  Besides, error correction is easy to implement, is it not?
00:10:47 -!- osaunders has joined.
00:11:14  i mean, they had routers back then for these signals
00:11:23  they already had transatlantic telegraphs
00:11:29  True.
00:11:31  by like 1850 or 1880 or whatever
00:11:37  so i dont think thats an issue
00:12:45  brb pizza :D
00:14:20  Okay, so we don't need error correction.
00:15:05  So, what sort of signals do we want to support? Packet switching? Circuit switching with in-band signaling?
00:15:19  How would packets be delimited? Time? Number of bits?
00:15:54  in band is bad
00:16:08 * AnMaster whistles
00:16:13  :-)
00:16:39  In-band is good! It means you only need one band.
00:16:50  The phone guys came up with filters that prevented the whistling stuff, no?
00:17:18  uorygl, so some freqs were forbidden? Would break said data
00:17:25  you need to *escape* it instead then
00:17:39  Now, let me read a bit about how relays work.
00:18:01  uorygl, well if you were going to build a computer with that you could do it high level anyway
00:24:20  It looks like in an ordinary relay, the switch is thrown by passing current in either direction.
00:24:26  o hai
00:25:17  So you could say that a packet ends whenever the voltage drops below the threshold.
00:25:25 * AnMaster locates a boot cd with gparted
00:26:16  Or you could use a latching relay, and say that the packet ends whenever the voltage becomes negative; then the data can include both positive and zero voltages.
00:26:20  uorygle, lets not try to rebuild TCP/IP on aethernet just yet
00:26:27  TEEHEE AETHERNET 8D
00:26:32 -!- anmaster_l has joined.
00:26:49  Well, the thing about routers is that they route data. I'm just pondering how that data could be delimited.
00:27:19  special bit patterns, obviously
00:27:37  That won't do if you're transmitting analog data.
00:27:53  special tone patterns, obviously
00:28:10  That requires something other than relays. :-P
00:28:26  analog data would in general!
00:28:28  uorygl, what about a fixed packet size?
00:28:48  x milliseconds before switching
00:29:04  I don't know if that's a good idea.
00:29:13  i think we should get our system up and running locally first before trying to get a transatlantic system up
00:29:22  I think the packet overhead could potentially be several seconds.
00:29:39  uorygl, also what about bouncing with relays
00:29:48  wouldn't it be a rather severe issue
00:29:57  We can compensate for bouncing by using error correction. >.>
00:30:07  uorygl, or Hg relays
00:30:09  read about that
00:30:13  no bouncing in them
00:30:17  of course they are toxic
00:30:24  which is a rather large downside
00:30:30  guys we should really build one of these
00:30:36  we could make it all steampunkish
00:30:45  and show it off on one of the steampunk blogs
00:30:47  augur, it will eat more power than my old p4, and it will also be slower
00:30:50  Let's each build our own and then figure out how to connect them. :-P
00:30:55  anmaster: EXACTLY! :D
00:30:58  itll be AWESOME
00:31:06  congrats, you get promoted to Intel Chief Engineer some years ago
00:31:16  HOORAY
00:31:30  augur, then you were fired when they decided to produce core 2
00:31:49  :
00:31:51  :(
00:31:52  :?
00:31:54  ah
00:32:05  btw, going to go offline with this connection for a while
00:32:07  parted time
00:32:18  parted time?
00:32:26  augur, yeah parted
00:32:30  what
00:32:34  augur, try it's man page
00:32:40  man parted
00:32:44  you type that in your shell
00:32:50  i'd part a man
00:32:53  IF YOU KNOW WHAT I MEAN
00:32:54  ;D
00:32:58  no I don't
00:33:02  oh
00:33:03  ok
00:33:07  Hmm. Packet switching and circuit switching aren't really that different when packets can go on for long periods of time.
00:33:19         GNU Parted - a partition manipulation program
00:33:20  augur,
00:33:22  was that so hard
00:33:27  read your damn man pages
00:33:30  AnMaster: i didnt care :D
00:33:35  uorygl, have you seen those little calculators
00:33:38 * coppro goes to play more engineer of the people
00:33:40  theyre like little black drums with a crank?
00:33:50  Now I'm thinking that everything should be digital and packet-switched, and then we can just use special bit patterns.
00:33:54  I don't think I have seen those.
00:34:40  http://www.vintagecalculators.com/html/curta_i.html
00:35:11  What do you call that code where every 0 is encoded as 01 and every 1 is encoded as 10?
00:35:20  dunno
00:35:29  weirdonary?
00:36:38  There's a name for it.
00:40:30  Aha. The Manchester code.
00:42:48  What's the poin.. oh, error detection
00:42:49  can we not use crazy coding schemes for this? :|
00:43:02  I wonder what a binary version of the L&S sequence would look like
00:43:09  L&S?
00:43:14  look and say
00:43:15  I guess crazy coding schemes aren't strictly necessary.
00:43:37  1, 11, 101, 111011, 11110101, 100110111011
00:43:37  We could just transmit at a constant rate.
00:44:07  coppro: that's kind of an irreversible sequence.
00:44:20  it is
00:44:31  I wonder at which base it becomes reversible
00:44:38  Try this: 1, 011, 010101, 010011010011010011, . . .
00:44:41  actually, no I don't
00:44:45  that's easy
00:46:05  I guess the thing about not using any code is that timing errors can happen.
00:46:20  Suppose they transmit 010101010101010000000000000000000000000000000000000000000000001010101010101010.
00:46:33  You're going to have to time all those zeros in the middle in order to know how many there are.
00:46:48  0 -> 01, 1 -> 10... NRZ?
00:46:51  Then again, we probably could use an error correction scheme wherein that can't happen.
00:47:00  Ilari: congratulations, you've invented the Manchester code.
00:47:37  now if you iterate it, you can invent the thue-morse sequence too :)
00:48:13  Well, the point of coding that mangles symbols is usually to avoid long runs of same symbol, as that tends to mess up timing...
00:48:21  Right.
00:49:00  Well, Manchester coding is one way to do things. Using it, I think we can pretty much correct for every sort of error we need to correct for.
00:49:11  i recall someone (ais523?) saying something about using 01 and 10 to ensure there were equal number of 0s as 1s to have no net charge
00:51:03  uorygl: um you cannot correct for an actual switching of neighbor bits :D
00:51:23  Bits don't just spontaneously get switched.
00:51:40  no, but you could have two neighboring errors
00:52:01  oerjan, hi
00:52:06  AnMaster: hi
00:52:15  oerjan, in a bit, once this CD is burned, you could say I parted to use parted
00:52:20  One of the routers could also spontaneously explode, causing a very large number of errors. Though that's less likely.
00:52:49  The thing is, Manchester at least has some error correction capability for every likely type of error.
00:53:08  oerjan, hey it's supposed to be a bad pun
00:53:19  AnMaster: yeah, yeah
00:53:29  oerjan, you know what parted is?
00:53:32  There are sequences over four symbols that never have any subsequence followed by any permutation (including identity) of that subsequence. Keränen's sequence is one of those (has recursive structure with generator of length 85).
00:53:39  yay done
00:53:54  i have heard the name, and can guess it's a partition editor
00:53:58  Ilari: I assume that means "immediately followed".
00:54:07  uorygl: Oops, right.
00:54:12  oerjan, indeed
00:55:05 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
00:55:23  Ilari: um subsequences must have at least length 2, i take
00:55:31  Any sequence with recursive structure has to start with "identity" symbol.
00:56:13  oh wait fours symbols duh
00:56:18  *four
00:58:37  Let G be some group. Finite sequence a1 = e, a2, ... an can be expanded into infinite one by a1, a2, .. an, a2 + a1, a2 + a2, ... a2 + an, a3 + a1, ... an + an, a2 + a1 + a1, ...
00:59:04  Ilari: Keranen's sequence has "abc" at the start, and "bac" later on... or do I misunderstand?
00:59:15  coppro: Immediately followed
00:59:22  oh
00:59:31  (that was mistakenly left out).
00:59:43  ok, makes more sense
00:59:43  where did ais go
00:59:47  hm
00:59:57  There is no sequence over finite such that no subsequence eventually repeats.
01:00:19  *finite alphabet
01:00:28  right
01:00:36  I realized that about 2 seconds after I said that
01:00:43  Counterexample: "a"
01:00:44  :-P
01:00:57  Also *infinite sequence
01:01:08  uorygl: hah wrong, epsilon is both at start and end
01:01:20  Aww, you're right.
01:03:33  In Z2, using generator 011 would yield 011100100100011011100011011100011011011100100011100100100011011011100100011100100... or something like that.
01:04:14  Here, let me generate an infinite sequence.
01:04:36  ...hmm.
01:05:03  Yeah, I can do that.
01:06:02  Using elliptic-curve-type group with large amount of points could probably make some whacky sequences.
01:06:03  Using Thue, an excellent infinite sequence generator.
01:06:41  And of course there is: Monster group!
01:06:57  Aww, fudge. This Thue interpreter doesn't seem to be working.
01:07:23  Except that monster group isn't abelian, and thus one would need to define order to do the additions in.
01:08:17  Okay, here is an awesome sequence: 11011011101101101110110111011011011101101110110111011011011101101110110110111011011101101101#
01:09:08  Put all generators of monster group as generator of sequence and eventually the infinite sequence resulting would contain all elements of monster group.
01:09:22  That sequence consists of strings of 1s separated by 0s. Those strings have the following lengths: 2, 2, 3, 2, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 2, 1
01:10:08  Ignoring the 1 on the end, that sequence consists of strings of 2s separated by 3s. Those strings have the following lengths: 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2
01:10:23  And so on.
01:11:42  Unfortunately, my Thue program simply produces what is effectively an arbitrary finite piece of a random infinite sequence. It cannot generate a continuation of that sequence.
01:11:44  Of course, monster group has 808017424794512875886459904961710757005754368000000000 elements and duplicates probably exist before last element is found. Not to mention that computing group addition for moster group is quite slow.
01:12:24 -!- soupdragon has joined.
01:12:52  At least it can generate sequences of arbitrary length.
01:13:57  Monster group has generator of size 2. And interestingly monster group is isomorphic with subset of 196882x196882 matrices over Z2 with matrix multiplication as addition operator.
01:15:08  isn't every finite group isomorphic to such a subset, really
01:16:05  i suppose the interesting part is that 196882 is rather small
01:16:41  Of course, 38 762 521 924 elements total...
01:17:38  although the full matrix group is probably enormous compared to the monster
01:18:31  Well, the full group of that size would be all matrices of that size over Z2 with determinant 1.
01:18:50  so, unless there is only a tiny minority of determinant 1 elements
01:19:58  hm you can do it by choosing independent vectors
01:20:26  Well, there are already 2^19381162521 upper triangular (and same amount of lower triangular) such determinant 1 matrices.
01:20:28  first vector anything non-zero, so 2^196882-1 elements.  that's already anormous
01:20:47  right, so enormous
01:20:53  *e
01:24:02  Hmm... Is Z3 isomorphic to some multiplicative matrix subset over Z2? Its equivalent to question if there is matrix over Z2 (and if there is, what's the smallest one) that has nontrivial cube root of identity matrix.
01:24:04 -!- coppro has quit (Remote closed the connection).
01:24:31 -!- coppro has joined.
01:24:33  every permutation group Sn is trivially embeddable into n x n matrix
01:24:45  *matrices
01:24:47  trivially ?
01:25:42  a permutation s is mapped to the matrix with M_ij = 1 is s_j = i, 0 otherwise
01:26:26  or is that s_i = j
01:26:34 -!- lament has quit.
01:26:54 -!- osaunders has quit.
01:27:54  well they're even called permutation matrices iirc
01:28:35  http://en.wikipedia.org/wiki/Permutation_matrix
01:28:38  Actually, any permutation cycle of length n can be used to find subset of matrices over Z2 that are isomorphic to Zn.
01:30:36  ah my confusion of whether to do s_i = j or s_j = i seems to have confused other before, because the standard definition is _wrong_ :D
01:30:43  *others
01:32:27  Actually, it seems that for any Zn, there is isomorphic nxn matrix subset over Z2 with multiplication.
01:32:44  yeah
01:32:58  every group is a subset of a permutation
01:33:07  and if you can matrixify permutations then you can matrixify any group
01:33:41 -!- MizardX has quit ("zzz").
01:34:56  i think when n is a prime and using permutation matrices, that may be minimal
01:35:23  since p does not divide (p-1)!
01:36:05  may ask if it is still minimal if not using permutations...
01:36:47  (order of S_n is n!, and subgroup orders always divide total group order)
01:41:47  And if isn't minimal, fun question is what is smallest n where it isn't and what would be generator matrices for that?
01:41:52  if it is not a prime power then it is not minimal, because n = n1*n2 with n1, n2 coprime means Zn = Zn1 x Zn2 which can be embedded in S_(n1+n2) by using blocks
01:42:18  That would give n=6...
01:43:09 -!- adam_d has quit (Read error: 60 (Operation timed out)).
01:43:37  i'm not sure S5 is minimal for Z6, though
01:44:01  [[0,1,0,0,0][1,0,0,0,0][0,0,0,0,1][0,0,1,0,0][0,0,0,1,0]]?
01:44:16  S3 is too small, only 6 elements that _don't_ commute
01:44:18 -!- lament has joined.
01:44:32  i meant i was not sure S4 doesn't work
01:45:24  come to think of it there's probably a sequence in that sequence encyclopedia for this :D
01:45:37  If you have program that can calculate that, try calculating 2nd, 3rd and 6th powers of matrix I gave (over Z2)...
01:46:57  um i can see perfectly well it's using the block method i suggested, no need to use a program
01:51:11  Current methods would give 2, 3, 4, 5, 5, 7, 8, 9, 7, 11, 7, 13, 9, 8, 16, ...
01:52:09  hm wait of course the generator must be a _single_ permutation...
01:52:10  Oops, that should be 11, 8, 13...
01:52:41  hm that means this actually is optimal, i think
01:53:21  dividing that permutation into cycles is the same as dividing the matrix into blocks, and the resulting order is lcm of cycle length
01:53:35  so *lengths
01:53:59  Oops, 11, 7, 13...
01:54:06  so indeed dividing n into prime powers and adding them is the best you can do
01:55:05  "a(n) is the minimal number m such that the symmetric group S_m has an element of order n - Ahmed Fares (ahmedfares(AT)my-deja.com), Jun 26 2001".
01:58:03  And indeed element of order n means subset is isomorphic to Zn.
01:58:10  naturally
02:00:07  Hmm... I guess I should write my own raytracer to properly trace this fractal pattern. Pov-Ray can't do it properly because of 255 reflections limit.
02:00:34  YafRay?
02:01:55  Nah. Fairly simple to write raytracer that can just deal with it.
02:02:16  can you write a 'ray tracer' based on quantum physics?
02:05:04  so that it renders refraction and stuff
02:05:50  http://en.wikipedia.org/wiki/Field_with_one_element O_O
02:11:30  When I walked around at school, I couldn't help thinking that the tiles on some of the walls looked ray-traced
02:12:55  Why can't the additive identity and the multiplicitive identity be the same?
02:13:07  one of the axioms is 0 <> 1
02:13:17  Oh
02:14:21 -!- lament has quit.
02:50:33  It it particularly useful to say that there is no field with one element?
02:55:52  "For technical reasons, the additive identity and the multiplicative identity are required to be distinct."
02:56:10 * oerjan looks for actual reasons...
03:00:40  Once ReactOS is released and fully stable, would there be any real advantage to using it? I mean, it will be prone to Windows viruses, presumably
03:01:28  Although it would be nice that in 10 years after release, if ReactOS is still alive, it would still be considered modern, without having to pay money, unlike with Windows
03:02:31 * oerjan didn't really find any
03:02:54  Well, ReactOS will be free. We could extend it in ways that we can't extend Windows.
03:03:53  oerjan, because then it's not what the mathematical community decided is a "field"?
03:04:49  that is _not_ an improvement to "for technical reasons"
03:07:08  it's probably something to do with homomorphism
03:08:54  well it would be a terminal object... while other fields only have homomorphisms at all if their characteristics match.  or wait, are there homomorphisms from Q to F_n?
03:09:28  *if at minimum their characteristics match
03:09:36  maybe it's for divide by zero
03:10:00  um wait no, obviously not
03:10:11  the characteristics must match
03:10:30  I don't know the characteristic ;/
03:10:53  smallest integer n with n*1 equal to 0, or 0 otherwise
03:11:03  oh right
03:11:05  *positive integer
03:11:19  how is n*1 ever not n :S
03:11:57  well i just wanted to point out that n is not a field element
03:12:05  should it be n+1?
03:12:19  n*1 = sum of n 1's
03:12:27  oh!!!
03:12:32  so n is a natural number
03:12:34  it's "intuitively obvious"
03:12:54  it's not an element of the field
03:13:05  and in characteristic 0, there is no harm in identifying them, since the rationals are always embedded
03:15:58  n is always a prime or 0, btw
03:17:58  and for each characteristic n, there is a unique prime field, those are Z_n and the rationals
03:18:33  and the prime field would be an initial object in that subcategory, since it embeds uniquely in every other
03:19:10  the field of size 1 ruins all that
03:19:45  it would be of characteristic 1, i guess, but still have a homomorphism to it from everything else
03:21:17  myth busted!
04:13:49  Hey, now. I'm not following all that well, but it seems like you have certain objects associated with p^n where p is prime, and letting n be 0 ruins stuff because p^0 is a factor of everything.
04:19:36  on the other hand i think that may actually fit _because_ you always have a homomorphism to the 1 element field
04:20:18  and you may in general have homomorphisms from F_p^n to F_p_m when n divides m, or something like that (let me check)
04:20:24  *F_p^m
04:21:31  well you would _need_ n dividing m, at least, since then F_p^m is a vector space over F_p^n
04:22:00  if of dimension d, then p^m = p^(nd) => m = nd
04:27:29 * oerjan doesn't find an easy reference
04:37:11 -!- Asztal has quit (Read error: 110 (Connection timed out)).
04:55:02 -!- zzo38 has joined.
04:55:18  What should I name this class:  http://www.dandwiki.com/wiki/User:Zzo38/untitled_class_1_(3.5e_Class)
04:57:00  ceci_n_est_pas_un_classe
04:57:35  heh
04:58:26  sorry, *_une_
04:59:22  I like this joke but don't want to call it that.
04:59:43  i take it the improbability drive is the important aspect
05:00:19  It is one of the important aspects, but probably not the most important one
05:00:36  "dand"?
05:00:57  That's the domain name, I didn't write it
05:00:58  D&D
05:01:10  "it" is the domain name.
05:01:38  I guess it's better than "dandd".
05:01:38  well rephrase that: the name "improbability drive" was the only part i got any gist from
05:01:47  But is it better than "dnd"?
05:02:16  OK. But can you understand how all the class features works, however?
05:07:05  there is something called complex abilities.  however i do not know d&d sufficiently well to understand how this is any different from what any spellcasting/psionics character can usually do
05:07:53  it's okay, oerjan
05:07:59  D&D 3.5 is not meant to be understood
05:08:03  heh
05:08:32  well let me leave it to the experts then
05:11:20  The "Complex Abilities" collectively refers to the spells, powers, and potentially others.
05:12:30  maneuvers?
05:13:45  "Complex Abilities" does refer to maneuvers, but whether or not I add that to this class is different
05:17:37  <3 LoZ music
05:23:16  One of the types of complex abilities that I might add, though, is warlock invocations, if I can figure out the cost that should be applied to them
05:37:40  just add them all
05:41:33  But what C.A.P cost? I want it to be not too low, and not zero like a actual warlock's invocations
05:41:49  And anyways, what should I name this class
05:50:38 -!- Pthing has joined.
06:02:41  zzo38: no, add all complex abilities
06:02:55  invocations, spells, powers, maneuvers, infusions, and anything else you can think of
06:03:06  except you randomly get certain kinds
06:03:22  so you never have access to all of them
06:04:23  hmm... I want a blank white cards bot
06:04:34  I don't think I will put the "randomly get certain kinds" but I could figure it out if (and only if) I can assign reasonable C.A.P costs to each of them, of course, you have a limited number of complex abilities known and a limited number of C.A.P/day so you can't possibly use all of them in one day
06:06:07  I don't know if I really want to add all of them though, if some kinds are more powerful it might require a feat to provide access to them
06:06:13  I was kidding
06:06:28  then again, I don't do much else with 3.5
06:06:35  except add templates to random creatures
06:07:03 * coppro still contemplates purchasing GR's book that's 100% templates, just for the lulz
06:07:45 -!- oerjan has quit ("Good night").
06:09:10  OK
06:19:08  zzo38: ever played 1000 blank white cards?
06:19:17  No, I never have done so
06:19:29  But I have seen descriptions and rules
06:24:19  sounds retarded
06:25:09  it's awesome
06:26:34  hi!!!
06:27:00  a tad late, but otherwise well played
06:36:04  "Brad Cox and Tom Love create Objective-C, announcing "this language has all the memory safety of C combined with all the blazing speed of Smalltalk." Modern historians suspect the two were dyslexic."
06:36:17  I may have pasted that in here verbatim before
06:38:10  I haven't seen it before
06:38:13  and I lold
06:38:44  coppro, http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html
06:39:08  Well, what I know, is, my ideas for improvement of C is not Objective C or C++, but is differently
06:39:11  Like,
06:39:54  I would have a few new preprocessor directives is one thing: #xmacro #calc #string
06:41:25 -!- HackEgo has quit (Read error: 60 (Operation timed out)).
06:41:38  Sgeo: I like the line about Java and lambdas
06:41:41  xmacro?
06:41:48  #local #endlocal
06:42:05  actually, I want explanations of all of those
06:42:31  And also, when using #include to be able to specify after the filename any number of names, which will be defined as blank macros while including the file and reverted afterward.
06:42:52  Example: #include  EXTRA_DOS_PROGRAM EXTRA_1
06:43:03  zzo38: write those in a patch to the GNU preprocessor, propose to the C++ committee and the C committee, in that order
06:43:07  or to clang's
06:43:11  which will be easier
06:43:19  and I still want to know what your 5 macros do
06:43:51  #xmacro creates a macro that does an include. Example: #xmacro Xmacro1(_1,_2) "extra.h" __Xmacro1
06:44:43  #calc does like #define but calculates all values when the #calc line is evaluated, instead of afterward. Example: #calc FooBar FooBar+1
06:45:35  I'm confused about xmacro...
06:45:44  #string acts like #calc but does an unstringize of the result
06:45:46  calc is sort of not really needed
06:46:08  okay, that I could see as more useful
06:46:09  Example of #string: #string CHAR(x) "'" #x "'"
06:46:20  ah
06:46:23  yeah
06:46:25  I don
06:46:52  *I don't understand what Xmacro adds, and I really don't understand what #calc adds
06:47:07  Still? I thought I explained it.
06:47:17  I know how they work
06:47:22  I don't know what they add
06:48:00  With the example of #xmacro given: When Xmacro(a,b) is found, it works like #define _1 a #define _2 b #define __Xmacro1 #include "extra.h" and then it can revert the _1 _2 __Xmacro1 because those are local to the macro
06:49:18  I think I get it
06:49:28  why not just use #include
06:49:42  why does it need to be a macro?
06:49:50  also, a macro expanding to a directive is truly horrible
06:49:55  and should never be allowed to happen
06:51:02  anyone know where I can find some news about hormones? Ideally on a science- or medicine-oriented site
06:51:03  stupid homework
06:51:12  needs to be sort of recent
06:54:02  Does anyone actually use Eiffel?
06:54:11 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
06:54:27  Sgeo: not as far as I know, which is a shame
06:55:23  Hold on, isn't there overloaded .NET stuff? And isn't there a .NET version of Eiffel? And doesn't Eiffel not allow overloading?
06:57:47  Most .NET languages do not support all of its capabilities
06:58:21  and adding overloading to Eiffel doesn't seem too difficult, particularly when you have additional limitations inherited from .NET
07:06:02  Are there a lot of jobs for C# programmers?
07:06:08  yes
07:06:14  unfortunately
07:06:18  So, a good language to learn, then
07:06:19  ?
07:06:25  if you're in it for employment, yes
07:07:21 * coppro needs a haircut
07:07:30  What's wrong with it, other than the .NET legal issues and the whole type thing
07:13:22  And also #trap #mark #unmark
07:15:45  #trap is used to trap compiler errors. If it is trapped, it will stop, and preprocess again with a different macro set or something, and then recompile. If ? is used it traps within the marked area. Example: #trap error ?section1 define section1_error
07:16:17  You have to indicate the types of errors or other stuff too, possibly with parameters in parentheses, if you put "error" it means any error
07:18:15  that scares me
07:19:17  Is it really scary?
07:27:51  When will MS come up with ORG?
07:27:55 -!- madbrain has quit ("Radiateur").
07:28:13  I don't know, maybe never
07:28:27  It's just that with "COM", then ".NET"
07:28:36  
07:28:40  I know
07:28:58  I know why you asked
07:29:06  ok, sorry
07:29:49  Although it can show time of received messages, it won't currently show the time of sent messages, therefore I ought to fix that
07:30:52  Since the message is already typed, it has to show the time *after* the sent message, instead of *before*, even though it is slightly inconvenient
07:34:47  Sometimes I try to play pinball and watch the IRC both at the same time.
07:35:13 -!- zzo38 has quit (Remote closed the connection).
07:45:50  I must admit, the whole explicit typing thing makes autocomplete actually work, so C# has that going for it
07:46:32  clang will bring awesome autocomplete to C++
07:46:38  (not kidding here)
07:46:41  As opposed to PythonWin's "Oh, I see you typed .x sometime in the past, and you just typed a .. Do you want me to put .x?"
07:46:48  haha
07:46:58  kate's default code complete is like that :(
07:53:25  Good night
07:57:08 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:06 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
08:26:47 -!- ehirdiphone has joined.
08:26:55  Relay only computer has been done.
08:27:14  Bah, no interesting people are here right now.
08:27:29 -!- ehirdiphone has quit (Client Quit).
08:27:34  :(
08:53:50 -!- Slereah_ has joined.
09:04:31 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:12:27 -!- Warriphone has joined.
09:23:30 -!- jpc has quit (Read error: 110 (Connection timed out)).
09:27:28 -!- ehirdiphone has joined.
09:27:38  soupdragon: sorry! I didn't notice you.
09:28:22  haha
09:28:46  Well, you weren't talking or anything.
09:29:48  I might read Three Worlds Collide today
09:44:48  c
09:50:24 -!- lament has joined.
09:59:51 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
10:09:41 -!- ais523 has joined.
10:28:02  I have done two euler problems in IRP!!
10:30:23  nice!
10:30:33  which ones?
10:30:47  how many lines did your programs have?
10:30:54  one line each
10:31:23  although there's usually a few extra lines buttering them up
10:31:45  since if you just come out with the algoorithm they tell you to piss off :(
10:37:20 -!- ehirdiphone has joined.
10:37:22  FISSION
10:41:39  So if fuse:fusion, I guess fiss:fission.
10:42:13 -!- MizardX has joined.
10:42:41  my lexicon thinks fission is a root morpheme
10:42:47  so there is no 'fiss'
10:43:13  poo on your lexicon
10:43:17  :(
10:44:19  fuse :: a -> b -> (a,b)
10:44:32  PC-KIMMO>generate fuse+ion
10:44:32  fusion
10:44:32  PC-KIMMO>generate fish+ion
10:44:32  fishion
10:45:39  fiss :: (-> :: a -> b -> c) => (a,b) -> c
10:45:45  (continuation type syntax obvs)
10:46:00  not to me :/
10:46:27  :P
10:47:11  fiss (a,b) ->k = k a b
10:48:08 -!- MigoMipo has joined.
10:48:27  soupdragon: generate fiss+ion
10:48:35  fission
10:48:48  it's just that fiss isn't a word
10:49:35  should be
10:49:46  PC-KIMMO>RECOGNIZE fiss
10:49:46  *** NONE ***
10:50:29  DEFINE fiss the act of fission
10:50:47  brb
10:50:55  why not make it fizz
10:51:01  fizz+ion = fission
10:51:12  (that's not actually true... YET)
10:56:33  It would be cool if you could depend on the result of the continuation
10:57:14  foo = True:$
10:57:20  False:foo
10:57:25  ->
10:57:53  True:False:True:False:...
10:57:54  erm
10:58:07  False:True:False:True:False:...
10:58:11  that is
11:01:08  foo | $ > 1 = 1
11:01:27      | $ < 1 = 0
11:01:59  foo + 1     -- always 1
11:02:07  foo - 1     -- always 0
11:02:31 -!- |MigoMipo| has joined.
11:03:29  (if foo is 1 then it's 1+1; since 2>1 foo must be 1. So actually it's 2 in that case)
11:03:35 -!- lament has quit.
11:04:09  (if foo is 0 then it's 0+1; the conditition should be >= 1. So it's 1)
11:05:03  the latter is actually always -1
11:06:43  if foo = 1 then it's 1-1 = 0; foo is only 1 when $ >= 1 so contradiction
11:06:47  therefore it's 0-1 = -1
11:07:21  so foo+1 is ambiguously 1 or 2
11:07:25  and foo-1 is always -1
11:09:15  case foo of 0 -> 1; 1 -> 0 is _|_
11:10:41  soupdragon: are there any languages with bigo notation in the types?
11:12:15  that would be cool
11:13:07 -!- MigoMipo has quit (Nick collision from services.).
11:13:18 -!- |MigoMipo| has changed nick to MigoMipo.
11:18:41 -!- ehirdiphone has quit (Remote closed the connection).
11:18:56 -!- ehirdiphone has joined.
11:28:47  I don't know of any
11:29:02  of course there's languages whre everything takes polytime or whatever
11:29:26  yeah but I mean
11:29:55  the type inferrer would actually work out the big os
11:30:30  so you could enforce the time complexity of functions; write a function and see what complexity it has; etc.
11:31:11  hi ais523
11:31:24  hi
11:31:37  ehirdiphone: I like that idea
11:32:08  I think it's impossible in the general case; take:
11:32:13  a = a
11:32:28  a :: O(?) a
11:32:45  but it could just require you to specify the type there
11:32:59  and let you do O(inf), I guess
11:33:12  but:
11:33:32  error : str -> O(inf) 'a
11:33:35  and
11:33:59  fact n = if n<0 then error "argh" else ...
11:34:24  is fact n O(n!) or O(inf)?
11:34:42  I guess you just have to return a maybe
11:34:45  instead
11:35:06  also, fib(n) is O(fib(n)), naively
11:35:16  so we need compile time functions
11:35:24  To allow for things like that
11:35:56  er fact is O(n) PFC
11:35:59  IFC
11:36:02  Ofc
11:36:06  Not n!
11:40:13  to be honest, O-analysis is so difficult I can't imagine programming a computer to do it
11:51:55  ehirdiphone: what did you think of End of Time?
11:52:09  augur: ?
11:52:34  doctor who
11:52:35  Oh
11:52:50  I've only seen the first; don't spoil the second please
11:52:52  more like doctor fail
11:53:01  It's repeated today, might catch it
11:53:07  soupdragon: die
11:53:42  augur: I'm psyched that Moffat is taking over
11:53:49  indeed
11:54:44  I don't even watch it, but it's trendy enough to be complete shit
11:56:23  soupdragon: stfu; doctor who is excellent
11:56:37  im talking about hte new series obviously
11:56:52  stfu regardless
11:57:04  there's nothing wrong with the revival
12:02:00  soupdragon: also water is pretty trendy
12:02:09  was unaware it was in fact faeces
12:02:24  wut
12:03:38  waters not trendly, smirnoff frosty frootz is trendy
12:04:41  ok then being alive is trendy. if you ignore all the suicide
12:04:45  hmm well
12:04:55  Being alive is arguably complete shut
12:04:57  Shit
12:05:17  oh, fuck it
12:05:43  string theory: trendy
12:05:54  there's counter-examples of course
12:05:59  I just don't know any
12:07:15  sex?
12:07:23  sex is pretty trendy
12:09:08  speaking of sex, ehird
12:11:20  there seems to be this idea like "a million people watch it onec a week it must be brilliant" about whatever new sitcom replaced friends or lost, but in reality it's dumbed down to the LCM so people have a common language to say nothing in -- like talking about the weather except 'cool'
12:12:08  apparently in hot parts of US they talk about the traffic because the weather doesn't fluctuate enough
12:17:13  yeah I know I'm too cynical for my own good
12:38:01  So what. Doctor Who is awesome.
12:38:07  It is also popular.
12:38:19  I don't give a shit about popularity.
12:39:04  augur: I do not want to know what follows.
12:39:07  :P
12:39:27  nothing follows i just wanted to say that to make you think that ;D
12:52:25 -!- osaunders has joined.
13:04:22 -!- Asztal has joined.
13:13:29 -!- soupdragon has quit ("Leaving").
13:25:15 -!- soupdragon has joined.
13:32:25  this is stupid :P
13:32:32  Three Worlds Collide
13:33:30  ?
13:36:10  soupdragon: it's a good story
13:36:26  it gets better btw
13:36:30  just the 4chan and 'internet is for porn' references make me baulk
13:36:43  lighten up
13:36:44  yeah I'm only half way
13:37:02  yeah I just said it's stupid, I have nothing against stupid
13:37:07  lol
13:37:24  just think, all the amazing resources we have on the Internet are a byproduct of people wanting porn
13:49:05 -!- osaunders has quit.
13:57:40  ais523: pretty much!
13:57:49  but porn killed Betamax!
14:09:04 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
14:14:44 -!- uorygl has quit (Read error: 54 (Connection reset by peer)).
14:14:48 -!- uorygl has joined.
14:16:05 -!- osaunders has joined.
14:43:26 -!- oerjan has joined.
14:45:34  question: I have an idea for a website, but I have no experience in any of the necessary skills to build it myself. What do I do?
14:45:41  answer: I have an idea for a faster-than-light spacecraft which would accelerate space exploration exponentially. I have no idea how to build it. Suggestions?
14:47:10  indeed, with a faster-than-light spacecraft you could travel backwards in time with a copy of your website
14:47:18  XD
14:49:14  there is however a significant danger things will get messed up and you have to be saved by an anthropomorphic/stuffed tiger
14:50:39  ahh that was one fo the most fun ones
14:51:48  yes (not that i've read them all)
15:01:50   So if fuse:fusion, I guess fiss:fission.
15:02:07  apparently fission comes from the latin verb "findo"
15:02:32  which probably wasn't borrowed because it resembles "find"...
15:03:40  latin 3rd conjugation verbs to all sort of consonant merging and stuff
15:03:43  *do
15:32:07 -!- osaunders has quit ("Bye").
16:14:32 -!- oerjan has quit ("leaving").
16:43:36  Vinge has said [1] that the "important" sequel to Bookworm would have featured the first human with amplified intelligence; however, when he attempted to sell such a story to John W. Campbell, Campbell rejected it with the explanation "You can't write this story. Neither can anyone else."
16:43:46  I don't get this, why can't anyone write this story?
16:46:46  soupdragon: no clue if this is what campbell was thinking, but you can claim that you cant accurately simulate an intelligence greater than your own and that would be necessary for such a story
16:47:02  i dont think thats a very good argument though personally
16:47:15  me neither
16:47:29  infact I don't even think it is true
16:47:30  given that we generally assume that art can meaningfully portrary/refer/represent things even without actually possessing those qualities
16:52:18 -!- |MigoMipo| has joined.
16:52:26 -!- ehirdiphone has joined.
16:52:48  a crypt of misunderstanderment!
16:54:51 -!- |MigoMipo| has quit (Client Quit).
16:56:10  C opinion poll: typedef struct _Foo Foo; struct _Foo {...};
16:56:12  or
16:56:27  typedef struct _Foo {...} Foo;
16:56:36  the former
16:56:40  typedef struct { ... } Foo;
16:56:58  I prefer the former; it doesn't have the strange dangling name and lets you use the alias in the strict itself
16:57:19  Deewiant: Inconsistent when you also define recursive structures.
16:57:24  yes, especially the latter point
16:57:40  *struct
16:57:41  ehirdiphone: No, self-documenting when I do.
16:57:58  Deewiant: What aspect does it document?
16:58:11  "This struct is self-recursive."
16:58:26  Anyway, it still has the freaky- dangling name.
16:58:33  *freaky-deaky
16:58:43  Deewiant: *self*recursive?
16:58:55  Anyway that is self evident from the definition.
16:58:57  As in, not mutually recursive with something else.
16:58:58  auto-self-recursive
16:59:11  I admit though struct type names are a c wart
16:59:20  C++ actually gets this right,
16:59:30  struct foo {...} defines type foo
16:59:43  Underscores followed by a capital letter are reserved identifiers, you shouldn't be using them :-P
16:59:50  Can't remember if that was only POSIX though.
17:00:31  I would actually use:
17:00:50  typedef struct widget Widget;
17:00:56  struct widget
17:00:58  {
17:01:02      ...
17:01:06  };
17:01:28  No need to adorn names in the struct namespace.
17:05:33  I wish Plan 9 C's struct inheritance was widely supported.
17:06:15  Sure, the standard lets you do struct foo { struct bar *parent; ... }
17:06:20  Deewiant: C99 7.1.3 Reserved identifiers: "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use. All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces."
17:06:27  and explicitly lets you cast it like that
17:06:37  But it's ugly
17:06:56  fizzie: Cheers
17:07:47  I wonder; does C99 let you use Unicode in identifiers? I guess not.
17:08:08  Yes, it does.
17:08:17  Sweet.
17:08:51  •(f,g)
17:09:07  €(1000)
17:09:17  MWAHAHAHaha
17:09:25  ehirdiphone: Not arbitrary Unicode.
17:09:25  MWAHAHahaha
17:09:30  There's a restricted set.
17:09:35  And it's not even all letters.
17:09:39  Feckless.
17:09:51 -!- |MigoMipo| has joined.
17:10:05  Feckless is my new favourite autocorrection of feck.
17:10:19  You'll find the list in ISO/IEC 9899:1999(E) Annex D.
17:10:29 * anmaster_l wonders why there is no package for znc in arch
17:10:33 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
17:10:34  well, in aur there is
17:10:49  "ehird, read the C spec on your iPhone."
17:10:54  "No."
17:12:39  #define if(x) if(__builtin_constant_p(x) ? (x) : !(x))
17:12:53  ehirdiphone: http://pastebin.com/m4406d890
17:12:56  I am become WTF, destroyer of programmers' minds.
17:13:31  fizzie: Thank you for that entirely useless list. :P
17:13:38  ehirdiphone: You're welcome!
17:13:46  After a while you don't see the codepoints.
17:14:03  All I see is blonde, brunette, redhead...
17:14:18  Blonde, brunette, redhead, bopomofo.
17:15:13  I think you can do currying in cpp...
17:15:29  ehirdiphone, so I'm dual booting gentoo and arch atm. In the process of switching over
17:15:35  #define apply(f,x) f(x)
17:15:37  may take a bit before I drop gentoo completely
17:15:39  then eg
17:16:08  #define _1(f) _1_,f
17:16:29  #define _1_(f,x) f(x)
17:16:34  Usage:
17:17:15  apply3(##apply(_1,func), someval)
17:17:18  Given
17:17:24  *apply2
17:17:39  #define apply2(f,x,y) f(x,y)
17:17:43  No?
17:18:09  I don't get it
17:18:18  anmaster_l: Abandoning source distros? You? Thought I'd never see the day
17:18:30  soupdragon: What bit confuses you?
17:18:40  none of it seems to make any sense
17:18:51  Do you know cpp?
17:18:56  not realyl
17:19:03  I've written some programs in it
17:19:03  Well then :P
17:19:14  cpp. The preprocessor
17:19:18  Not C++
17:19:21  oh
17:19:26  right well I know cpp better than c++
17:19:37  :D
17:20:08  I didn't know you could paste like that
17:20:18  to get apply3(_1_,func,someval)
17:20:32  I think you need a ## after the call too
17:20:39  soupdragon: apply2 actually
17:20:46  apply3(##apply2(_1,func)##, someval) ?
17:21:08  I know cpp has a specific rule forbidding , interpolation but surely ## overrides it
17:21:16  soupdragon: apply3->2
17:21:26  2 args to func
17:21:26  apply2(##apply(_1,func)##, someval)
17:21:26  ?
17:21:31  yeah
17:21:34  I think
17:21:42  error: macro "apply2" requires 3 arguments, but only 2 given
17:21:42   anmaster_l: Abandoning source distros? You? Thought I'd never see the day <-- actually I use freebsd on another system
17:21:55  ehirdiphone, using ports
17:22:05  "distros"
17:22:18  the ## doesn't do anything
17:22:59  eh?
17:23:28  Ok then how about
17:23:32  it needs to be inside a #define
17:23:37  Yes
17:23:38  Duh
17:23:50  Put it onside one
17:23:53  *inside
17:24:52  this idea seems vaguely relevant at the moment, ehird might like it: in a purely source based environment, why not build static binaries with no use of libraries at all, just a preprocessing step where every function needed (and no others) is inlined
17:25:09  I don't think this is possible ehird
17:25:38  to paste f(x,u,z) into f(x,a,b,c,z)
17:25:40  soupdragon: :(
17:26:33  soupdragon: ok then, different cpp idea
17:27:46  cpp is repeatedly executed on its output until there is no change. there is a special define as if #define NL (newline)
17:27:54  so eg you could do
17:28:27  #define foo(x) #include #x NL #define included_##x
17:28:48  usage foo(blah.h)
17:28:55  Task: prove tc or not
17:29:02  I've thought about it a bit
17:29:06  Pretty sure it's tc
17:29:22   "distros"
17:29:23  yes?
17:29:27  you didn't say "linux distro"
17:29:35  one could argue freebsd is a freebsd distro
17:29:49  and isn't pc-bsd based on freebsd?
17:29:51  it's not valid :(
17:30:00  so there are two freebsd distros then
17:30:01  I can imagine it though
17:30:04  freebsd and pc-bsd
17:30:07  unless I misremember
17:30:45  soupdragon: nit valid how
17:30:49  *not
17:31:03  the #define
17:31:27  anmaster_l: in that case *bsd are just 386bsd (aka jolix) distros
17:31:29  -->NL #define inc<--
17:31:38  soupdragon: read the lines above
17:31:50  Just run cpp in a loop
17:31:59  yeah cpp in a loop is TC
17:32:02  With s/NL/\n/ in between
17:34:06  ehirdiphone, indeed
17:34:50  I actually considered forking 386BSD...
17:34:56  But that's too much work.
17:35:06  I'm more familiar with Linux, anyway.
17:36:27  ehirdiphone, os x?
17:36:32  doesn't it count
17:36:39  that's *bsd userland anyway
17:36:59  What about it?
17:37:24  btw, the kernel is essentially BSD-on-Mach
17:39:42  Linux pre-2.4 isn't even updated for security, is it?
17:44:35 -!- madbr has joined.
17:55:26  http://www.iro.umontreal.ca/~felipe/IFT2030-Automne2002/Complements/tinyc.c wow this code is tight
17:55:30  and pretty
17:59:55  That doesn't look like a compiler
18:00:17  Looks like an interpreter that prints out every variable's value at termination
18:01:24  It compiles to VM instructions.
18:01:33  Look at the code generator section.
18:01:59  Regardless, it's under 300 lines of code and very readable.
18:02:06  Which is impressive.
18:02:09  Ah, okay.
18:02:58  Well, line count is easily reduced by having 5 statements per line :-P
18:04:07  $ indent < tinyc.c | wc -l
18:04:07  549
18:04:20  that's very impressivle
18:05:31  Deewiant: Strip the comments
18:05:35  No fair
18:06:00  Still 500.
18:07:04  How about with sloccount?
18:07:32  Whitespace, lines with just } and similar aren't really active lines of code.
18:07:49  447
18:08:49  indent -kr puts it at 397
18:08:53  (sloccount skips whitespace tight?)
18:08:59  Tight.
18:09:10  397 is very good IMO :P
18:09:46  Sure.
18:11:40 -!- MigoMipo has joined.
18:17:19 -!- |MigoMipo| has quit (Read error: 60 (Operation timed out)).
18:32:35 -!- AnMaster has joined.
18:35:56  Hi AnMaster.
18:36:18 -!- soupdragon has quit ("Leaving").
18:49:35 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
19:31:17 -!- lament has joined.
19:41:51 -!- harriman has joined.
19:42:36  whee
19:43:03  hmm... doesn't have the command I need
19:43:05  time to add it I guess
19:43:58  what the heck is harriman
19:45:06  it's a long story
19:45:51  @games
19:46:09  note that none of those work
19:47:44  oh good
19:47:48  coppro, how is it esolang related?
19:47:55  AnMaster: It really isn't
19:47:59  mhm
19:48:02  I'm trying to add a command to move it out of here
19:48:35 -!- harriman has left (?).
19:48:38  there we go
19:48:40  <3 Erlang
19:49:12  "CONFIG_PARPORT_PC_FIFO:
19:49:12  Many parallel port chipsets provide hardware that can speed up
19:49:12  printing. Say Y here if you want to take advantage of that."
19:49:18  the bot's actually modular; the games module is the only one with any real development though
19:49:38  since when would you need DMA for a parallel printer XD
19:49:42  parallel port*
19:49:58  well maybe a better question would be "since when wouldn't you"
19:50:18 -!- augur has quit (Read error: 110 (Connection timed out)).
19:51:17  hm... that's an issue
19:52:34  coppro, what is?
19:52:52  something to do with my bot
19:52:57  just the way it parses some commands
19:56:05  wewt, crash...
20:01:11  man, looking at chip-8
20:01:16  interesting design
20:01:42  sorely lacking in "easy shit that looks pretty" stuff tho :D
20:05:42  hmm... pretty sure that isn't supposed to happen
20:05:45  oh well... homework to do
20:30:50 -!- osaunders has joined.
20:44:00 -!- Azstal has joined.
20:44:50 -!- Aszstal has joined.
20:51:25 -!- nooga has joined.
20:51:31  hello
20:59:38  OGC
20:59:54 -!- Asztal has quit (Read error: 110 (Connection timed out)).
21:00:40 -!- Azstal has quit (Read error: 110 (Connection timed out)).
21:14:24 -!- osaunders has quit.
21:15:24 -!- lament has quit.
21:16:01 -!- ehirdiphone has joined.
21:16:23  diphone
21:17:03  I love how R5RS seems pretty benign and then you get to call-with-current-continuation. A few minutes later, it bludgeons you with dynamic-wind.
21:17:17  Oh no, it's nooga.
21:17:29  cheers
21:17:57  hmm, how could something like chip-8 be modernized
21:18:06  With magic. L
21:18:07  http://en.wikipedia.org/wiki/CHIP-8
21:18:07  ehirdiphone,
21:18:15  / L/d
21:18:16  while configuring a 2.6.32 kernel:
21:18:18  "This option will be removed in 2.6.29."
21:18:39  AnMaster: GNU-quality engineering!
21:19:10  Bah, I'm turning into a grumpy old bastard who hates everything modern.
21:19:20  and uses an iphone
21:19:32  Well, there is that.
21:19:35  and is uh 14 years old
21:19:41  And that.
21:19:43  or "young"
21:19:44  rather
21:19:46  But apart from that.
21:19:53  you should say "14 years young"
21:20:41  Gimme my libc4, my Linux 2.0, my a.out, my XFree86, my BSD userland. My X terminals!
21:21:01  ehirdiphone, what file system
21:21:41  ehirdiphone, know that Linux 2.0 definitely didn't have any journaling fs
21:21:44  Um. I don't know. How about ext's little-known and nonexistent predecessor, whose name is the null string.
21:21:52  It's ext without the ext.
21:21:53  also what the crap is up with the spell checking on here
21:21:55  on arch
21:22:17  it is abysmal, in fact it doesn't even know the word "abysmal"
21:22:38  That's because you've spelt it wrong.
21:22:42  on gentoo I had one that knew everything, even stuff no one used any more
21:22:50  ehirdiphone, well it had no suggestions for it either
21:22:57  Absymal.
21:23:11  ehirdiphone, it doesn't accept Absymal  either
21:23:16  Just pirate Webster's, the old one
21:23:18  s/  / /
21:23:21  It's public domain
21:23:27  So not really pirate
21:23:28  I'm not sure what this one uses...
21:23:36  it doesn't seem to be aspell
21:23:41  since that isn't even installed !?
21:23:49  You won't get things like "blog" though
21:23:56  AnMaster: Ispell?
21:24:28  damn R5RS is still such a nice language
21:24:42  I forget that every so often then look at the spec again
21:24:43  ehirdiphone, about "blog", won't make a difference here. It doesn't know it either.
21:25:03  also it thinks that "doesn't" are two words, doesn and t, t being a valid word, doesn is not
21:25:10  Webster's is from the 1910s though :P
21:25:11  complete and utter failure
21:26:15  I should write yet another R5RS compiler.
21:27:00  Continuation-passing style transformation and Cheney on the MTA garbage collection are good for you.
21:27:30  how does it look in practise?
21:27:59  R5RS is the last true Scheme, if you don't know it by that moniker.
21:28:25  lies
21:28:26 * AnMaster wonders why xchat has --enable-mmx
21:28:41  it seems so out of place for an irc client
21:28:46  (actually, I don't know enough about Scheme to know why people hate R6RS and I don't particularly care)
21:28:46  (R6RS, the latest report, defines a language superficially similar but a complete miscarriage of Scheme's philosophy in actuality.)
21:29:04  ehirdiphone: is there a good link on this?
21:30:06  isn't Scheme just grotesque Lisp dialect?
21:30:10  coppro: The R6RS votes page. Note the lack of reasoning for almost all yes votes. Note the in depth objections from experienced Schemers on the no votes. Note how it only passed by a small majority.
21:30:22  nooga: It is VERY ungrotesque.
21:30:24  link?
21:30:35  coppro: r6rs.org.
21:30:40  no, to the votes page
21:30:42  Some link there.
21:31:23  coppro: Also note that the vast majority of implementers said they would not adopt R6RS and indeed haven't.
21:31:31 * AnMaster recompiles xchat to use gtkspell so he can get that language selection pop-up menu.
21:31:37  It has... not been a hit.
21:31:53  also what the crap is up with not knowing "recompiles" but knowing "recompile"
21:31:57  that is just so very very broken
21:32:00  I cannot find this page you speak of
21:32:04  link or it didn't happen
21:32:20  Not on the iPhone. Just RTF page
21:32:43  did
21:33:17 -!- Pthing has quit (Remote closed the connection).
21:33:41  Re my earlier remarks about implementing R5RS being good for you: ...but figuring out how DYNAMIC-WIND interacts with everything else is like shooting 5,000 bags of heroin a day for 1,000 years, except instead of getting high your face is stomped on by a burning poker.
21:33:48  coppro: Sec. I'll look. L
21:33:57  / L/d
21:34:36  ehirdiphone: is it enough ungrotesque to make you want to design hardware r6rs scheme processor and write very sophisticated OS for that in r6rs scheme?
21:34:41  urgh
21:35:46  ehirdiphone, what is DYNAMIC-WIND?
21:35:55  AnMsater: http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_576
21:35:56  coppro: Ugh, they removed the ratification results.
21:36:02  I don't remember that from r5rs? or would it be some r6rs thing?
21:36:04  Still have a broken link to it.
21:36:08  looks pretty straightforward, actually
21:36:16  nooga: you're a fool
21:36:33  coppro: It interacts with callcc
21:36:34  ehirdiphone: that's not an answer
21:36:36  Very horribly
21:36:38  ehirdiphone: yes, I see
21:36:48  nooga: I don't talk to trolls
21:37:07  nooga, what has r6rs got to do with being ungrotesque?
21:37:20  ehirdiphone, I think he must have misinterpreted you
21:37:29  ehirdiphone said that it's VERY ungrotesque
21:37:35  nooga, ehirdiphone meant that r5rs was ungrotesque... Not r6rs
21:37:43  AnMaster: Shh
21:37:44  nvm
21:37:49  You're feeding the idiot
21:38:07  yay, food!
21:38:11  ehirdiphone, maybe he will someday turn less idiotic by the osmosis?
21:38:15  He's just making fun of my OS/hardware tendencies
21:38:28  erm
21:38:30  no
21:38:32  AnMaster: we did try that for months...
21:38:38  ehirdiphone, oh okay then
21:38:43  test -z "/etc/gconf/schemas" || /bin/mkdir -p "/home/arvid/src/system/xchat/pkg/etc/gconf/schemas"
21:38:43   ../../../0 -m 644 'apps_xchat_url_handler.schemas' '/home/arvid/src/system/xchat/pkg/etc/gconf/schemas/apps_xchat_url_handler.schemas'
21:38:43  /bin/sh: line 4: ../../../0: No such file or directory
21:38:48  VERY strange build error
21:39:15  ehirdiphone: I was not making fun
21:41:08  "urgh" immediately otherwise and you referring to it as r6rs when it was r5rs I praised, plus historical evidence, suggests otherwise. But whatever
21:41:14  I'm tired
21:41:32  ehirdiphone, I believe he must simply have misunderstood you
21:41:35  naaah, that urgh was about my weird grammar
21:41:53  and i thought we were talking about r6rs
21:42:00  nvm, i'm a fool and troll
21:42:10  ehirdiphone, maybe it worked after all ^
21:42:33  i'll better shut up
21:42:50  ehirdiphone, isn't it said that realising your own faults is the first step towards getting rid of those?
21:42:57 -!- dbc has quit (Read error: 110 (Connection timed out)).
21:43:06  AnMaster: this is his self hate mode
21:43:08  (no offence meant to anyone here)
21:43:16  Hes done it before
21:43:19  oh
21:43:50  because I LIKE watching how my behaviour infuriates ehird, it's amusing :
21:43:52  :D
21:44:34  but it's over, I promise
21:44:59    UNROLL  drivers/md/raid6altivec1.c
21:44:59    CC [M]  drivers/md/raid6altivec1.o
21:44:59    UNROLL  drivers/md/raid6altivec2.c
21:44:59  hm
21:45:06  I wonder why it is compiling that
21:45:09  on x86_64
21:45:19  ehirdiphone, ^ XD
21:45:29  also how the heck does it even succeed in compiling it
21:45:47 -!- adam_d has joined.
21:47:23  http://sisc-scheme.org/r5rs_pitfall.php I love the MAP caveat
21:47:33  Such an unexpected language quirk
21:50:05 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
21:50:29 -!- ehirdiphone has joined.
21:51:14  ehirdiphone: ever tried xmonad?
21:51:20  Yes.
21:51:26  and how was it?
21:51:42  Configuration system sucks, generally not as good as dwm or wmii.
21:52:49  how about awesome?
21:53:11  awesome is dwm with a lot of stuff, mostly superfluous, added to it.
21:54:42  I asked about xmonad because Wadler inspired me to play with haskell again
21:54:59  last month I went to Edinburgh to visit my friend from UoE and accidentally met Phil Wadler after his lecture
21:55:10 -!- dbc has joined.
21:55:11  Haskell is great.
21:55:55  uhm
21:55:59  L
21:56:02  shiretoko, hard to remember name for arch linux's firefox
21:56:02  Oops
21:56:21  AnMaster: Mozilla's fault.
21:56:31  yeah :(
21:56:37  Blame their fucking idiotic trademark policies.
21:56:39  ehirdiphone, you mean the branding thing, well yes
21:56:47  but why call it "shiretoko" instead
21:56:48  Mozilla are as bad as Sun and IBM.
21:56:49  it
21:56:55  it's* a hard to remember name
21:57:00  Once a corporation always a corporation.
21:57:11  AnMaster: Its the official codename
21:57:14  Of 3.5
21:57:24  At least Debian is consistent about there
21:57:27  *theirs
21:57:29  hah
21:57:30  It will change for the next version, etc.
21:57:31  aha*
21:57:37  ehirdiphone, gentoo can actually work around it, since you can compile it for personal use with official logo iirc
21:57:41  so they offer a useflag for it
21:57:44  Yes.
21:57:58  ehirdiphone, source based distros are better at some stuff :P
21:58:09  of course it is stupid this is required
21:58:23  I read the debian thread that kicked it all off
21:58:32  Mozilla guys were jerks
21:58:40  yep :(
21:58:51  Debian were like "Fuck you guys, we can't call firefox firefox now"
21:59:13  I can see the rationale behind blocking one user from using a trademark
21:59:15  if they're bad about it
21:59:19  but blanket policies = :(
21:59:43  Good thing firefox is shit
22:00:06  most applications are shit
22:00:33  Firefox is a bad browser, though. There are better.
22:00:41  Depends on the purpose
22:00:59  ehirdiphone, "works on most web pages"? I think firefox manages very well there
22:01:08  If your purpose isn't "experience hell", firefox is probably the wrong choice
22:01:21  Firefox is pretty usuable
22:01:23 -!- ais523 has quit (Remote closed the connection).
22:01:26  AnMaster: Webkit + presto (operas engine) do that perfectly well
22:01:35  coppro: *unusable
22:01:36  but
22:01:39  Agreed!
22:01:40  ehirdiphone, presto is open source?
22:01:45  AnMaster: No.
22:01:50  but but
22:01:54  ehirdiphone, not relevant to me then
22:01:58  ehirdiphone: how, in your mind, is it unusable?
22:02:06  AnMaster: I never asked for your opinion.
22:02:19  ehirdiphone, webkit might be worth a try
22:02:47  coppro: Crufty, slow ui; slow performance; requires extensions to just be not retarded
22:03:00  webkit? don't be riddiculous, just look at Slowfari
22:03:01  Memory hog too
22:03:13  nooga: Webkit is the fastest engine.
22:03:19  ehirdiphone, if it supports features I use. Like adblock, noscript, firebug (script debugger and live editor for css/html plus more). And I'm not interested in your opinion on those add-ons
22:03:21  Apart from maybe Opera's
22:03:34  ehirdiphone: It's not slow to the point of unusability unless you're doing something stupid; the bit about extensions is part of its appeal
22:03:41  AnMaster: Stop using me as a soapbox.
22:03:49  ehirdiphone, hm?
22:03:55  what? :D
22:03:58  "ehird:" should preferably be relevant to me...
22:04:17  (not that the complaints about speed/memory are not valid, because they are)
22:04:33  coppro: You have to download third party stuff to make it not terrible == it is shit
22:05:04  ehirdiphone: what exactly?
22:05:06  ehirdiphone, well since you were recommending them to me
22:05:15  AnMaster: You asked.
22:05:19  Ima go sleep now
22:05:22  Tired.
22:05:26  ehirdiphone, I thought you were suggesting ones that would fit me
22:05:29  before or after you back up your assertions?
22:05:42  coppro, before, wouldn't be ehird otherwise
22:05:45  coppro: Its all a conspiracy to avoid answering you!
22:05:53  xxxxxx
22:05:56  Zzzzzzz
22:05:57  zzzzz?
22:05:59 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
22:06:14  uhuh
22:06:25  also, firefox 3.5 seems quite snappy to me, older versions less so
22:06:33  i like ff
22:07:05  nooga, codewise it is horrible
22:07:20  and firebug is irreplaceable
22:07:24  AnMaster: try running a ton of JavaScript
22:07:29  my 3 complaints for Firefox 3.5:
22:07:33   - Memory consumption
22:07:35  coppro, well I do use noscript anyway
22:07:39   - JavaScript speed
22:07:49  coppro, I seldom visit js heavy sites
22:07:53  AnMaster: pretty irrelevant; regular page script isn't what does it
22:07:55  of course firefox itself is js-heavy
22:07:58 -!- augur has joined.
22:08:02  coppro, what does it then?
22:08:09   - JavaScript garbage collection shuts the whole thing down
22:08:16  AnMaster: running a JS application (like ChatZilla)
22:08:19  (or Wave)
22:08:24  coppro, ah, never used them
22:08:36  ChatZilla isn't terrible, but Wave just nukes it
22:08:40  coppro, for irc I tend to prefer a real client
22:08:50  as for wave, well google want people to use chrome, no?
22:08:55  yep :/
22:09:03  CZ is a real client, if I ever get it running in XULRunner
22:09:07  coppro, why not replace firefox's js engine
22:09:16  AnMaster: because they just got a knew one?
22:09:19  and it still sucks?
22:09:23  knew one?
22:09:27  at least it doesn't leak memory any more
22:09:29  new you mean?
22:09:30  *new one
22:09:47  now the memory leakage is left up to Xorg
22:09:59  coppro, does the new one JIT?
22:09:59  Xorg leaks?
22:10:06  AnMaster: no clue
22:10:29  nooga: I think it's other applications leaking X resources or something, but it's only cured by restarting X
22:10:38  coppro, also there is a solution that google won't be able to do anything about: start using v8d in firefox
22:10:47  then it will be exactly as fast as chrome
22:10:48  ;P
22:10:59  but there are pretty large downsides to that
22:10:59  http://www.v8d.org/?
22:11:12  coppro, whatever the one google used
22:11:17  wasn't it called v8 or such?
22:11:21  I forgot the exact name
22:11:24  oh, you mean the script engine?
22:11:28  coppro, well yes
22:11:45  I don't know; I think Firefox's script engine is pretty married to the rest of it
22:11:48  coppro, v8d sounds like an irc network I was on years ago. long before I was on freenode
22:11:52  not sure though
22:11:54  so I guess I mixed them up
22:12:00 * AnMaster wonders if that irc network still exists
22:12:13  oh seems so
22:12:23  it is the v8 engine
22:12:28  coppro, v8 it was then
22:12:29  right
22:12:29  according to google
22:12:36  I guess they know ;P
22:12:55  coppro, anyway, why so married you meant
22:12:55  oh, I also hate the abysmal set of Linux plugins, but that's not really FF's fault
22:13:04  coppro, what?
22:13:07  AnMaster: difficult to separate
22:13:10  abysmal set of Linux plugins? for what?
22:13:19  coppro, bad design, should be made modular
22:13:27  AnMaster: Linux plugins cause freezes, leaks, etc. especially Flash
22:13:32  with a clean interface
22:13:47  coppro, oh hah, I don't use any plugins. Especially not closed source ones
22:13:50  AnMaster: yes, I agree it's bad design; I'm not 100% sure that's the case though and it's not my problem either way
22:14:01  AnMaster: you really care that much about open source?
22:14:12  coppro, well there is one limit: nvidia drivers
22:14:15  I do need 3D graphics
22:14:33  coppro, apart from that and BIOS, plus possible some firmware. I think I'm clean
22:14:34  isn't the new open-source driver supposed to be better than the closed-source ones?
22:14:42  coppro, isn't that for ATI?
22:14:53  AnMaster: No... what was it called... it was on /.
22:15:03  coppro, on /?
22:15:05 * AnMaster looks
22:15:11  nouveau
22:15:14  $ ls /.
22:15:14  bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  srv  sys  tmp  usr  var
22:15:22  can't see anything about nvidia there
22:15:23  ;P
22:15:32  :P
22:15:49  "3D support is worked on using Gallium3D and can (depending on the Chip generation and the applications) be quite usable. Breakage in the 3D-drivers can (and will) however occur, they are known and are not needed to be reported. When that status change this page will be updated. "
22:15:50  well
22:15:55  sounds like out of question for me
22:15:59  According to the /. article, there's a preloader that's part of the closed-source stuff, but otherwise it's open-source
22:16:02  coppro, I need flight sim and such to work
22:16:06  ah, ok
22:16:15  not sure what chipset I have
22:16:17  of those listed
22:16:22  still, I'm surprised you care that much about open source
22:16:24  01:00.0 VGA compatible controller: nVidia Corporation G73 [GeForce 7600 GS] (rev a2)
22:16:36  I mean, I'm a big fan of it, but I'm not stupid about it
22:16:38  coppro, can you figure out which on http://nouveau.freedesktop.org/wiki/FeatureMatrix that is?
22:16:55  ah found it
22:17:00  NV40
22:17:02  probably
22:17:19  well looks fairly bad
22:17:35 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
22:18:55  coppro, probably it might be useful around the time nvidia drops driver support for my card
22:18:58  hopefully
22:19:14  AnMaster: why do you hate closed-source stuff so much
22:19:15  ?
22:19:26  (this is a real question, not an accusation or the like)
22:20:03  coppro, binary blob, you can't fix it if it breaks. for libraries and drivers: you can't easily debug crashes in your own programs if they happen in binary blobs
22:20:04  and so on
22:20:40  AnMaster: those are all reasons against using it when an alternative exists, but if there's no alternative (like with Flash)?
22:20:59  coppro, the security aspect (harder to sneak in malicious code) is another part. Sure, I won't review everything myself for open source, but the fact that any user could means it is much more risky to try it in open source
22:21:17  agreed again
22:21:24  coppro, with flash there is, only flash I care about is youtube videos. Works with youtube-dl + vlc
22:21:55  but you seem to have a rather RMSan aversion from proprietary stuff
22:21:57  coppro, also, even buggy but non-malicious code tends to be more rare in open source in my experience
22:22:44  for any open source project with a sufficiently large user base, there will be someone who does fix bugs he/she encounters
22:22:54  and submits a patch
22:22:59  not counting things I do at work, the only proprietary stuff I use regularly is Flash and various web applications
22:23:11  s/proprietary/closed source/
22:23:31  coppro, well, there is java mostly at university web portal system thingy
22:23:34  (oh, BIOS too)
22:23:48  I don't like that either but not as bad as flash
22:23:55  Java's open source now :)
22:24:19  coppro, yes but it is still buggy, open source haven't yet had full effect on it
22:24:26  agreed on that point
22:24:36  but so it's more a usability thing than a proprietary thing?
22:24:37  considering how long it took for firefox to get reasonable...
22:24:46  (and it still is fairly bad in part)
22:25:07  coppro, also rolling release distros tend to be least buggy, and most up-to-date
22:25:19  hmm?
22:25:21  least buggy I can explain with "no deadlines".
22:25:25  don't quite understand that
22:25:40  but "most up-to-date" would require deadlines. so well quite a paradox
22:25:54  coppro, consider arch linux vs. ubuntu
22:26:29  ubuntu is buggier than arch I would say. More well integrated, but bugs exist and are often fixed in a "not really fixed" way
22:26:34  ais could tell you more about that
22:27:05  as an Ubuntu user, I agree about the 'not really fixed' bit
22:27:36  coppro, arch on the other hand tends to be 1) more bleeding edge (sometimes uncomfortably so) 2) less buggy
22:27:59  however, not as well integrated, things won't work out of box. But it won't beep at you a lot during shutdown
22:30:11 -!- jpc has joined.
22:41:33  speaking of which
22:41:45  here we go *compiles nvidia for custom kernel*
22:44:02 -!- AnMaster has quit (Nick collision from services.).
22:49:06  yay nice bootchar
22:49:08  chart*
22:49:10  coppro, ^
22:49:21  ?
22:49:32  coppro, slightly more than 25 seconds boot time
22:49:35  for a lot of services
22:49:54  and I could speed it up I think
22:50:20  to be specific, moving stuff forwards and letting them start concurrently
22:50:22  ah
22:50:58  coppro, almost 5 seconds of that is mostly idling while waiting for dhcp reply
22:52:23  dwm dwm
22:52:25  uh
23:12:07  anyone have a good logic game I can play quickly (like *gasp* Flash?)
23:16:27  http://omploader.org/vMzVnbQ
23:16:39  need to be faster
23:17:13  smartd actually makes it slower before, due to more disk activity making dhclient take longer to load
23:49:50 -!- AnMaster has joined.

2010-01-04:

00:08:21 -!- lament has joined.
00:13:52 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
00:38:41 -!- AnMaster has joined.
01:02:27 -!- nooga has quit (Read error: 54 (Connection reset by peer)).
01:05:48 -!- bsmntbombgrrl has changed nick to bsmntbombdood.
01:13:10  coppro: a Rush Hour clone.
01:13:22  uorygl, ?
01:13:58  link?
01:16:15  I have no links, but there are many for the iPhone.
01:16:31  a) I have no iPhone b) I want a game I can play now
01:17:20  coppro, what type of game did you say?
01:17:49  [16:11:42]anyone have a good logic game I can play quickly (like *gasp* Flash?)
01:17:55  was just looking for a time-killer
01:18:01  coppro, logic came. Like minesweeper?
01:18:12  yes, except ideally one I haven't played before
01:18:15  coppro, or sudoko?
01:18:18  :(
01:18:20  spelling?
01:18:25  was hoping for something more complex
01:18:29 * AnMaster needs to fix this shitty dict
01:18:33  Sudoku.
01:18:34  coppro, nethack?
01:18:46  too complex
01:19:00  uorygl, yeah it had no suggestions. And it knows "I recompile"  but not "he recompiles"
01:19:10  as in adding an s marks it as unknown
01:19:13  spelling dict fail
01:19:17  coppro, meh!
01:19:25  coppro, hm...
01:19:30  like, think Rubicon
01:19:36  that's a good example of the sort of thing I'm after
01:19:36  If there is a game known as Nethack--, then that.
01:19:43  coppro, oh ubunut?
01:19:45  ubuntu*
01:19:49  apt-get install kiki
01:19:51  iirc
01:20:07  coppro, wait no
01:20:10  What's Rubicon?
01:20:10  coppro, wrong one
01:20:12  oh :(
01:20:28 -!- adam_d has quit (Read error: 110 (Connection timed out)).
01:20:30  coppro, apt-get install kiki-the-nano-bot
01:20:32  that was it
01:20:32  hmm.. yeah, pretty sure I don't want a free environment for regular expression testing
01:20:39  coppro, it is a 3D puzzle/logic game
01:20:50  coppro, you steer a small nanobot
01:20:59  cool, thanks
01:21:15  Say, I wonder if Enigma would work on an iPhone.
01:21:16  coppro, it is fun but confusing. Hint: direction of gravity depends on your view point. Nothing else
01:21:26  and you can climb on walls and such
01:21:38  coppro, which leads to some interesting puzzles
01:21:51  neat
01:22:19  coppro, ehird played it for a bit but got frustrated and gave up. I got much farther of course than he did
01:22:34  iirc fizzie or someone else was testing it at the same time
01:22:34  AnMaster: how do you jump?
01:22:48  coppro, sec
01:23:00  wait, it's on the manpage
01:23:02  coppro, depends on keyboard setup :P
01:23:04  holy crap, useful X manpage
01:23:13  iirc I changed it
01:23:14  coppro, hm?
01:23:35  most x programs have useless manpages in my experience
01:23:52  coppro, the xorg.conf and xorg modules/drivers man pages tend to be ok
01:24:03  but that's not an x program
01:24:07  true
01:24:14  also, any way to get it not to mess with the gamma
01:24:16  ?
01:24:52  coppro, unknown, but it switches back when you change window
01:24:57  coppro, iirc there is a setting for it
01:25:05  try "settings"
01:25:20  coppro, but I found it works better in the gamma it wants to use
01:25:45  yeah, it's hideous with my default gamma
01:25:58  coppro, there you go then ;P
01:26:05  coppro, it will clean up after itself
01:26:48  I'm already confused :(
01:27:12  I think I need to hit this switch
01:28:24  oh, found the help
01:28:28  coppro, good
01:28:41  not sure how again
01:28:54  coppro, esc , and enter?
01:29:02  oh, right
01:29:07  so all my assumptions are correct
01:29:09  but something here is wrong
01:29:32  ah, got it
01:29:34  clever
01:33:52  coppro, btw I haven't solved it further than halfway or so
01:39:27  ooh solved another one
01:39:27  night
01:50:41 -!- MigoMipo has joined.
02:02:31 -!- lament has left (?).
02:07:19 -!- anmaster_l has quit (Connection timed out).
03:04:13 -!- Sgeo has joined.
03:06:14 -!- oerjan has joined.
03:09:38 -!- jpc has quit ("I will do freaking anything for a new router.").
03:12:48 -!- jpc has joined.
03:18:17 -!- lament has joined.
03:18:23 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
03:18:35 -!- MigoMipo has joined.
03:45:20 -!- jpc has quit ("I will do freaking anything for a new router.").
03:46:11 -!- jpc has joined.
04:00:13 -!- MizardX has quit (Read error: 110 (Connection timed out)).
04:01:58 -!- pikhq has joined.
04:05:01 -!- Aszstal has quit (Connection timed out).
04:12:23 -!- BeholdMyGlory has quit (Remote closed the connection).
04:17:39 -!- |MigoMipo| has joined.
04:18:11 -!- |MigoMipo| has quit (Remote closed the connection).
04:31:24  Yay, I understand the unexpected hanging paradox.
04:32:47  I understand it...
04:32:47 -!- lament has quit.
04:33:26  Yay, two of us understand the unexpected hanging paradox.
04:33:41  it's not that hard to understand
04:34:34  Yay, I understand the Monty Hall problem.
04:34:43  ...
04:36:32 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
04:41:14 -!- oerjan has quit ("Later").
04:50:21 * Sgeo puts uorygl into Monty Hell
04:53:25  Remind me how the Monty Hell problem goes.
04:54:00  I forgot offhand. Something about dollar bills passing into and out of your hand
04:54:27  Hmm, there is no Monty Hell problem, only a Monty Hall problem, a Monty Fall problem, a Monty Crawl problem, and a Monty Maul problem.
04:54:37 -!- soupdragon has joined.
04:54:54  http://www.google.com/search?rlz=1C1CHNR_enUS321US321&sourceid=chrome&ie=UTF-8&q=Monty+Hell disagrees
05:05:11  Hmm, that Monty Hell problem isn't a very monty problem.
06:21:30  i'd monty your problem
06:21:31  ;o ;o ;o
06:32:52  gimme more sci fi
06:33:01 * soupdragon creaks
06:33:36  ehird any more novellas
06:33:36  ?
06:51:22  :(
06:55:05 -!- Slereah has joined.
07:06:13 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:06:49  soupdragon, The Metamorphosis of Prime Intellect
07:07:00  (spelling?)
07:07:06  I have read it a couple days ago! it is very good
07:07:16  I am thinking  maybe I will get some asimov books now
07:14:06 -!- lament has joined.
07:53:09 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:53:33 -!- Pthing has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:57 -!- lament has quit.
08:32:59  soupdragon: I recommend it
08:33:23  soupdragon: read the Empire series; they're quite good and yet generally unknown
08:33:34  okay
08:33:37  cheers
08:34:03  specifically, those are Pebble in the Sky, something, and The Currents of Space
08:34:23  The Stars, Like Dust
08:34:39  oh, also Nightfall
08:34:53  Nightfall is fantastic
09:09:34 -!- lament has joined.
09:16:48 -!- anmaster_l has joined.
09:28:03 -!- lament has quit.
09:52:28  soupdragon: outer join
09:56:37  ??
10:00:05  xor
10:01:26  oh
10:01:34  the thing is im just xoring booleans, not sets
10:01:58  so in the end it makes sense to just write out an xor table
10:03:53 -!- treesapsatchel has joined.
10:03:59 -!- treesapsatchel has left (?).
10:08:52 -!- adam_d has joined.
10:11:28  *a
10:27:58 -!- MigoMipo has joined.
10:29:40 -!- jpc has quit (Read error: 110 (Connection timed out)).
10:44:23  ?
10:48:54  $ host dragon
10:48:54  dragon.lan has address 192.168.0.72
10:48:54  Host dragon.lan not found: 3(NXDOMAIN)
10:48:56  now that was weird
11:10:07 -!- madbr has quit ("Radiateur").
11:12:30 -!- ehirdiphone has joined.
11:12:47  soupdragon: re scifi I hear good things about the Culture books
11:14:02 -!- Pthing has quit (Remote closed the connection).
11:14:47  soupdragon: but if you haven't read them yet I suggest reading the Ed stories (on qntm.org)
11:15:08  can't speak for how good Fine Structure is
11:15:50  http://qntm.org/?robot1
11:24:54 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
11:29:39 -!- BeholdMyGlory has joined.
11:38:02 -!- MizardX has joined.
11:52:27 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
11:53:12 -!- ehirdiphone has joined.
11:56:08  soupdragon: a xor
11:56:34  soupdragon: also, a xor b <=> (a or b) and not (a and b)
11:57:10  an xor
11:58:25  it tends to be pronounced "zor"
11:58:35  A xorn.
12:00:57  They say that a xorn knows of no obstacles when pursuing you.
12:01:54  a zor
12:01:57  a zorn lemma
12:02:01  a zorro
12:02:05  a zorba
12:04:55  a zork
12:06:58  a yagon
12:09:58 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
12:39:48  a zorgonzola
12:56:50 -!- MizardX has quit (Read error: 110 (Connection timed out)).
13:20:18  soupdragon: so you don't need a truth table for xor
13:22:36 -!- ehirdiphone has joined.
13:22:38  Of course you don't.
13:22:47  It's NANDs all the way down.
13:58:35  Except that XOR has special implementation in CMOS that's simpler than via the basic gates.
14:10:55 -!- MizardX has joined.
14:19:02  Hmm. NAND and NOR are universal. What other ops?
14:19:41  Not NXOR; that's just equality and (p==q)==(p==q) is (p==q).
14:20:04  well. (p==(p==q)
14:20:13  )
14:20:37  Result for p q(y or n):
14:21:18  n n. n
14:21:36  y n. n
14:21:52  n y. y
14:21:58  y y. y
14:22:31  Too lazy to work out what op that is.
14:23:49  ehirdiphone: f _ q = q
14:23:57 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
14:23:57 -!- comex has quit (farmer.freenode.net irc.freenode.net).
14:24:06 -!- Ilari has joined.
14:24:07 -!- comex has joined.
14:24:31  Deewiant: Doh >_<
14:24:49  So, NXOR isn't universal.
14:25:06  Deewiant: Btw, you could have also just answered "q" :P
14:25:26  Not as if the parameters ever change.
14:27:12  Yeah, but I figured that that wouldn't be as easily understood.
14:29:50  p&!q is very boring as a CA and only has one truth value, so I doubt it's universal.
14:30:26  I'm fairly certain that only NOR and NAND are.
14:30:47  There's only a limited amount of operators, if there were others we'd know about them.
14:31:17  Then there is two kinds of "unversality": Unversality without having constant logic values and "unversality" with constant logic values.
14:35:27  http://en.m.wikipedia.org/wiki/Functional_completeness?wasRedirected=true
14:35:33  I guessed as much
14:35:58  My favourite set of functionally completerners is {->, _|_}.
14:36:16  Especially since haskells type system implements it.
14:36:41  -> being -> and _|_ being (forall a. a)
14:36:55  ~p = p -> _|_
14:37:19  Uh, which of ^ V is and?
14:37:26  Forget the order...
14:37:56  ^
14:38:21  V is like U for Union
14:39:05  p ^ q = (p -> q -> r) -> r
14:39:34  p V q = (p -> r) -> (q -> r) -> r
14:39:50  And so on.
14:40:37  Although (~~p -> p) is, I think, unprovable. It certainly is in Haskell.
14:41:11  ((a -> forall b. b) -> forall c. c) -> a
14:42:32  There all ~~p is really saying is "(p is unprovable) is unprovable"
14:42:51  Which isn't the same as "p is provable".
14:43:22  I am rambling.
14:53:23 -!- oerjan has joined.
14:54:55 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
14:55:24 -!- ehirdiphone has joined.
14:55:28 -!- ehirdiphone has quit (Client Quit).
14:57:44  it's not p is unprovable
14:57:56  p implies false
14:59:37  Although (~~p -> p) is, I think, unprovable. It certainly is in Haskell.
14:59:40  argh
14:59:46   Although (~~p -> p) is, I think, unprovable. It certainly is in Haskell.
14:59:51  I don't know it always makes me sick to think of haskell as a proof system
15:00:17  yes, it's equivalent to the excluded middle, which does not hold in intuitionistic logic
15:02:27  but you can get it if your programming language has continuations
15:04:08  I never really got that, can it be phrased in terms of delimited continuations?
15:04:39  I got  cwcc : peirce  and pretty simple to prove P \/ ~P from it but I hardly understand it
15:04:44  well _I_ never really got delimited continuations :D
15:05:18  I feel like they are simpler than cwcc
15:05:29  huh.
15:06:04  the main thing that makes me think this is the interaction with monads
15:06:16  like AMB in scheme is basically the list monad
15:06:39  but you can do this direct style notation for monads thanks to delimited continuations in a really methodical way
15:07:55  so maybe there is something to do with a double negation monad
15:08:00  hm but i recall that actually making a monad for delimited continuations was rather awkward, while it's easy with just ordinary continuations...
15:08:01  regarding CPS
15:08:19  I mean writing something like
15:08:47  rather than   add x y = a <- x ; b <- y ; return (a + b)
15:08:50 -!- MizardX has quit ("reboot").
15:09:07  you can do (define (add x y) (+ (x) (y)))
15:09:09  *= do
15:09:52  well that's just strict evaluation...
15:11:35  (awkward above means something like: it needed oleg kiselyov to do it)
15:12:01  is it (just strict evaluation)
15:12:06  ?
15:12:15  ok maybe not entirely
15:14:12  yeah I think there's a link with classical logic because of double negation monad being something to do with reifed continuations
15:14:41  I'd like to try and make sense of that
15:15:02  negation corresponds to continuation, yeah
15:15:34  and double negating everything in intuitionistic logic turns it into classical
15:16:02  ¬¬-Monad = record
15:16:02    { return = contradiction
15:16:02    ; _>>=_  = λ x f → ¬¬-drop (¬¬-map f x)
15:16:02    }
15:16:06  just found that
15:16:32  but I don't understand this code
15:16:40  well then we are two
15:17:47  i suppose the monad type would have to be something like M a = M ((a -> Void) -> Void)
15:17:50  how irritating, what the hell is going on in this file
15:18:05 -!- MizardX has joined.
15:18:48  oh of course that _is_ Cont
15:18:55  (or Cont Void)
15:19:06  alright so Cont Void ~ double negation
15:19:42  so you can prove things like LEM inside that monad (because the double negation of any classical tautology is intuitionisticaly provable)
15:19:57  but what's the computational meaning for these things
15:20:12  it's something to do with CPS?
15:20:42  yes
15:21:30  instance Monad (Cont r) where return a = Cont ($ a) m >>= k  = Cont $ \c -> runCont m $ \a -> runCont (k a) c
15:21:46  darn _now_ it joined the lines
15:22:24  put a semicolon before m >>= k
15:23:40  this doesn't seem to resemble that thing you pasted above much
15:24:13  mines based on map/join
15:24:23  they're probably the same if you unfold the definitions
15:25:13  I don't know if I can read ~~ proofs computationally
15:25:17  oh right there's those ¬¬-drop and ¬¬-map things
15:25:51  maybe if we rewrite the monadic proofs into direct style (using continuations) then they can be read
15:26:44  well what >>= does is simply continuation passing, really
15:27:08  I don't know what that is
15:27:17  CPS?
15:27:57  you pass to every computation a function that it will call with the final result when finished
15:28:16 -!- ais523 has joined.
15:28:23  alright
15:29:20  this leaves that computation free do do something _other_ than call it at the end, which allows for non-local exits
15:32:28  true weirdness appears when you allow for using a continuation after escaping the code that created it, and you can then even call it more than once... this is necessary for such AMB stuff, i think
15:33:59  (any continuation becomes a non-local exit/return when you use it at any point other than at the end of the computation that first received it)
15:35:32 -!- ehirdiphone has joined.
15:35:32  actually for that weirdness add /reentering to that...
15:35:33  duck halitosis
15:35:48  ehirdiphone: is there a pun in that?
15:36:28  aorta, a cloud of fury.
15:36:50 -!- Pthing has joined.
15:37:02  ten pin bowling's pluralistic mother
15:37:34  time travel as tachyon socialism
15:37:57  continuations are easier to implement in some languages than others
15:38:20  temperature syzygy
15:38:42  I love the word syzygy
15:38:46  I don't get the computational interpretation of classical proofs
15:38:49  it's won me huge numbers of Hangman games
15:38:58  there opaque to me it is  irritating
15:39:15  talcum powder, a ritualistic automotive agent
15:39:23  (mostly because the other person gives up in despair when they have -y-y-y with five guesses left)
15:40:34  evil evil twin, with two goatees: cannot birth the regular twin in intuitionistic goateeism
15:41:12  tasers' wet wind
15:41:37  (\mu \beta.u)v \; \triangleright_c \; \mu \beta.u \left [ [\beta](w v)/[\beta] w \right ]
15:41:43  whatever that means
15:41:56  traction fire and company
15:42:33  talisman inferiority
15:42:36 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
15:43:35 -!- MizardX- has joined.
15:44:07  runCont : ~~p -> p
15:48:37  more or less
15:50:16  hm wait no
15:50:30  it's really runCont : ~~p -> ~~p
15:50:47  it's nothing more than a type wrapper
15:50:54  *unwrapper
15:51:41 -!- AnMaster has quit (Remote closed the connection).
15:51:59 -!- AnMaster has joined.
15:52:09  runCont : ~~p -> p  is ridiculous
15:52:32  imagine  trying to run   ~~Integer -> Integer
15:52:34  also the meaning of ~ varies.  for Cont a it's really (-> a)
15:52:56  (recall Cont takes two type args)
15:53:44  while you could use Void, that would not allow you do get _any_ result out of the monad
15:55:20  so it is worth just ignoring the computational interpretation of classical proofs?
15:55:45  if  p proves ~~P  then you might as well just replace p with a placeholder *
15:56:06  huh?
15:57:34  p -> ~~p holds intuitionistically
15:58:41  p proves ~~P  meaning   p : ~~P
15:58:50  you might as well write   * : ~~P
15:58:58  since looking at p doesn't tell you anything
15:59:24 -!- MizardX has quit (Connection timed out).
15:59:26  is there some difference between p and P here?
15:59:31 -!- MizardX- has changed nick to MizardX.
15:59:45  yes
16:02:06  well what?  because saying that p : ~~q  implies anything : ~~q is patently false
16:04:01  ~~q is a function that takes a ~q.  ~q is a function that takes a q.  and if you don't have a q to start with, you cannot pass anything to that ~q, so you cannot construct a ~~q to satisfy it.
16:07:43  oerjan, what is ~ here? ¬?
16:07:55  yeah
16:08:12  oerjan, and the : ?
16:08:20  is it →  for implies
16:08:23  or what
16:09:11  um almost, but at a different logical level.  i think it may be called judgement, but i'm not quite sure
16:09:32  that doesn't make grammatical sense
16:09:39  no it doesn't
16:09:41  p : ~~q as a whole is a judgement
16:10:03  oerjan, and what does it mean
16:10:06  or wait is that only for expression : type
16:10:16  (type judgement)
16:10:17  and what is the truth value table for it
16:10:34  AnMaster: this is _intuitionistic_ logic, no truth table
16:10:49  also, i said it is at a higher level
16:10:51  oerjan, oh right, explains why the stuff above made no sense
16:11:18  oerjan, but wouldn't two ¬ cancel each other out?
16:11:24  in your ~~q above
16:11:35  AnMaster: not in intuitionistic logic.  that's the major difference, in fact
16:11:54  oerjan, what is "not not" supposed to mean in that case
16:12:28  ~ = not provable that, is one way of thinking of it
16:12:39  ah okay
16:12:43 -!- somebody_ has joined.
16:12:50  oerjan, does it have a classical not as well?
16:12:54  er wait
16:13:02  i'm lying
16:13:11  oh?
16:13:26  lucky for you, it is *after* xmas
16:13:27  ;P
16:13:36  ~p = you can prove a contradiction from p
16:13:53  I see
16:15:19 -!- soupdragon has quit (Nick collision from services.).
16:15:21 -!- somebody_ has quit (Client Quit).
16:15:35 -!- soupdragon has joined.
16:16:08  Less than a year until next christmas, I wouldn't be so blase about lying.
16:16:39  well, it was an accident.  i swear!  oh wait swearing is wrong too.  aaaaaaaaaaaaaaa
16:31:58 -!- somebody__ has joined.
16:32:04 -!- somebody__ has quit (Remote closed the connection).
16:32:34 -!- ehirdiphone has joined.
16:32:36 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)).
16:32:55 -!- somebody__ has joined.
16:32:56 -!- somebody__ has quit (Remote closed the connection).
16:33:13 -!- ehirdiphone has joined.
16:33:14  http://www.reddit.com/r/programming/comments/al84e/all_in_all_there_are_43_quotes_from_lord_of_the/
16:33:20 -!- soupdragon has quit (Nick collision from services.).
16:33:23  One language to rule them all,
16:33:33  one language to find them.
16:33:35 -!- soupdragon has joined.
16:33:41  One language to bring them all,
16:33:51  and in the darkness evaluate them.
16:34:06  Wait. Bind would have worked better, heh.
16:34:28  Seeing as perl is the lovechild oh so many languages.
16:45:55 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
16:58:52 -!- jpc has joined.
17:14:42 -!- augur has quit (Read error: 110 (Connection timed out)).
17:30:15 -!- augur has joined.
17:34:01  all that is gold does not glitter?
17:34:10  isnt that the opposite of the saying?
17:34:24  no, it's the contrapositive, and therefore is equally true
17:34:25  augur, of what saying?
17:34:26  or equally false
17:34:34  AnMaster: "all that glitters is not gold"
17:34:37  all that glitters is not gold
17:34:38  which is just wrong, ofc
17:34:39  yes
17:34:40  :|
17:34:44  its not wrong
17:34:52  "not all that glitters is gold" is probably what they /meant/ to say
17:34:56  ais523 err
17:34:58  thats what they DID say
17:34:58  but it was changed to be a) more poetic, and b) wrong
17:35:05  ais523, I read the one he wrote as that
17:35:05  they just have negation scoping higher than quantification
17:35:09  which is entirely possible, ais523
17:35:11  instead of what he actually wrote
17:35:12  XD
17:35:15  and happens all the time in natural speech
17:35:24  augur: no, scope doesn't matter here
17:35:27  yes it does
17:35:31  for "all that glitters is not gold"
17:35:33   no, it's the contrapositive, and therefore is equally true <-- how is it equally true?
17:35:39  yes it is, ais523
17:35:43  if one is true the other doesn't have to be
17:35:45  negation scopes higher than quantification
17:35:53  augur: it can't scope backwards in the sentence, though
17:35:57  "it is not the case that [all that glitters is gold]"
17:36:01  ais523
17:36:04  i just said it can
17:36:07  are you blind
17:36:10  no, English doesn't work like that
17:36:14  yes it does
17:36:17  for some speakers
17:36:23  "I am not hungry" does not mean "something other than me is hungry"
17:36:24 -!- zzo38 has joined.
17:36:29  oh I see what you two mean
17:36:33  no you're reading it wrong, ais
17:36:38  the negation isnt negating "all"
17:36:41  its negating the whole sentence
17:36:47  my reply to this:
17:36:47  "it is not the case that [all that glitters is gold]"
17:36:52  English is not a precise language
17:37:03  if you wanted that, use predicate loging or something
17:37:03  english is precise, its just ambiguous.
17:37:28  augur, I think I meant precise in a different meaning here ;P
17:37:32  ais523: whether YOU can get the reading or not is irrelevant (i cant get it either)
17:37:51  negation scoping higher than quantification is a well established phenomena of certain dialects of english
17:37:54   augur: it can't scope backwards in the sentence, though <-- postfix notation?
17:38:10  AnMaster: more like infix notation for unary operators, is the interpretation that augur's trying to come up with
17:38:18  im not TRYING to come up with anything
17:38:23  its a valid reading
17:38:24  also, ais523, for the record
17:38:32  ais523, XD
17:38:34  "I'm not hungry" can mean "someone other than me is hungry" with appropriate stress
17:38:44  ais523, intercal should have unary infix operators
17:38:46  "No dude, _I_'m not hungry"
17:38:48  if it doesn't already
17:38:55  which implies quite clearly, "HE's hungry"
17:39:02  AnMaster: it does already
17:39:08  ais523, which one(s)?
17:39:13  all of them
17:39:24  how are they infix?
17:39:27  in fact, INTERCAL-72 allowed no positions other than infix for unary operators
17:39:36  and they're infix in that they have to be written one character after the start of what they modify
17:39:41  e.g. .1 is a onespot variable
17:39:47  .?1 is the xor of a onespot variable
17:39:50  ah
17:39:51  right
17:39:52  ais523, if you want me to try to find some papers on the topic for you i will
17:39:54 -!- MigoMipo has joined.
17:41:21  negation scope is notoriously wonky in english
17:41:38  But, can't you use prefix if the value to deal with is "" and '' like ?!?1' and stuff like that
17:42:00  Negation is all wrong in English, that is why it is never clearly
17:42:16  zzo38: recent versions of INTERCAL allow prefix operators too
17:42:23  up to one infix, and any number of prefix, unary operators
17:42:27  zzo38: negation isnt _wrong_ in english, its just that the words can do lots of different things
17:42:34  its fairly well behaved, however
17:42:41  its just not well behaved like most people think it is
17:42:43  and there are precedence rules to determine whether an operator counts as infix or prefix in expressions like '?.3~.4'
17:43:20  (infix in that case, I think)
17:43:24  I thought one of the goals of INTERCAL was to have no precedence
17:43:30  it has no operator precedence
17:43:41  that isn't operator precedence, though, as it works the same way regardless of which operator you use
17:43:48  OK
17:43:50  it's positional precedence
17:44:04  ais523: do you want me to find you some papers?
17:44:17  not particularly
17:44:20  ok
17:44:39  well then trust me on this, negation can scope higher than the negation in some dialects of english.
17:44:58  er
17:45:01  higher than quantification*
17:45:09  higher than subject quantification, specifically.
17:45:14 -!- ehirdiphone has joined.
17:45:26  ooh, assuming ehird's been reading logs, this could be fun
17:45:31  he's clearly here to settle arguments
17:45:36  200m.fi fucking Finns are getting 200Mb/s web
17:45:40  ais523: About?
17:45:52  ehirdiphone: "all that glitters is not gold"
17:45:59  Not web, Internet
17:46:00  ehirdiphone: whether or not some dialects of english can have sentential negation scoping higher than subject quantification
17:46:17  But even gold can glitter?
17:46:17  augur: more to the point is whether the scoping can stretch backwards
17:46:19  ais523: What about it?
17:46:21  it's not a precedence issue
17:46:24  ehirdiphone: how to parse it
17:46:33  augur's trying to parse it as "not (all that glitters is gold)"
17:46:38  no, im not
17:46:42  yes you are
17:46:44  not all that glitters is gold
17:46:44  im saying that SOME people can
17:46:48  That was easy
17:47:00  ehirdiphone: I agree with your sentence, but claim it's different from the original sentence
17:47:02  If you mean "not all that glitters is gold", then that is what you should write.
17:47:32  ais523: I hereby slander you a prescriptivist.
17:47:38  And a commie!
17:47:41  ais523 just doesnt accept the fact that SOME people can say "its not the case that everything that glitters is gold" as "all that glitters is not gold"
17:47:56  zzo38: Poetic license. This is Tolkein
17:48:01  hmm... isn't "I hereby slander" a contradiction in of itself?
17:48:03  ais523, would you like me to provide for you a completely coherent compositional semantics for this sentence IN HASKELL-ISH?
17:48:05  He can write however he damn likes
17:48:07  well, in lambda-calculus
17:48:10  given that a slander is only slander if it's false?
17:48:15  OK, I guess if you want to write poetry, you can write it however you want
17:48:35  zzo38: its not that its poetry
17:48:37  for fucks sake
17:48:39  are you listening
17:48:46  its common in many dialects of english
17:49:07  and poetry is not a dialect of english
17:49:15  i mean dialects real people speak in their everyday lives
17:49:19  augur: Stop being an asshole
17:49:23  hmm, I think I prefer Latin
17:49:27  You're wildly overreacting
17:49:33  If it isn't poetry, you should probably write what you meant. I mean, there can be dialect but sometimes it is unclear, that is what I mean
17:49:37  latin has its issues as well, ais523
17:49:41  where you could pretty much anagram a sentence, and have it mean the same thing, if it wasn't full of subordinate clauses or something like that
17:49:41  zzo38: they did write what they meant!
17:49:44  it does have issues too
17:49:59  and in latin, word order isnt as free as you think
17:50:13  there are constraints on pronominal binding as well as on focus
17:50:23  oh, I treat the focus as being an anticonstraint
17:50:33  focus changes meaning
17:50:33  Can I do a nonsequitur and somehow make an argument based on the fact that Tolkein was a racist?
17:50:34  as in, focus-last is a rule that can exist precisely /because/ you can reorder the sentence
17:50:35  well, implied meaning
17:50:54  sure, this is true, ais523
17:51:06  but reordering _requires_ focus changes
17:51:10  and I agree about the pronoun thing, although it doesn't come up very often; but that only happens in more complex sentences
17:51:20  So, if you write "This is not a real sentence" and "Real this not is sentence a" then you might understand a bit, even though it is messy, but sometimes it becomes less clearly because it becomes wrongly
17:51:39  zzo38: whats your point
17:51:40  But, of course, "Real this not is sentence a" is not even as sensible as most things
17:51:46  yep, in latin it works better because each word is tagged with where in the sentence it belongs
17:51:49  its not a grammatical sentence of any dialect of english
17:52:05  whereas "all that glitters is not gold" _is_ a grammatical sentence of almost every dialect of english
17:52:15  the question here is not grammaticality but meaning
17:52:24  Yes, it is, but that is not entirely my point
17:52:26  augur: not really, it's sort-of a polyglot
17:52:27  for YOU, the "not" cannot be higher than "all that glitters"
17:52:39  but for a large number of people it CAN
17:52:45  because they speak a different dialect of english
17:52:46  just like you can treat "this is nt a sentence" as either misspelt english or gramattically correct brainfuck
17:52:51  *grammatically
17:53:02  Polyglot, I guess that is a bit of sensible, a bit...
17:53:03  ais523: If everyone parses English a certain way it is correct.
17:53:14  ehirdiphone: ok, I agree with that
17:53:30  I'm not entirely sure if that's relevant here, given that there's obviously a disagreement, though
17:53:37  ais523, zzo38, would you like me to give you a completely compositional derivation for the odd reading?
17:53:40  in LAMBDA CALCULUs
17:53:45  Only you seem to disagree with the padding of it; even then you understood it. Your objection was entirely prescriptivist in nature.
17:53:47  But of course your misspelt English sentence has no effect or meaning in brainfuck even though it is gramatically correct (it doesn't have mismatched [])
17:53:48  to prove to you that its theoretically possible at least
17:53:55  Parsing not padding
17:54:04  ais523: Therefore, you're wrong. M
17:54:06  ehirdiphone: its not even a matter of parsing
17:54:08  ehirdiphone: not really; I know what the idiom is meant to mean
17:54:10  / M/d
17:54:17  structurally speaking the "not" is BELOW the subject of the sentence
17:54:18  but it disagrees with the normal parsing rules for every other sentence
17:54:34  but sentence structure is not sentence meaning
17:54:36  ;`(
17:54:36  so I think that what it actually means is different from what it traditionally means
17:54:43  inverse scopes are ABOUND in STANDARD english
17:54:49  English, not being neat and exceptionless?
17:54:58  OH GOD MY WORLD IS SHAKEN
17:55:03  an exception for /one sentence/?
17:55:09  ais523: its not ONE SENTENCE
17:55:10  All that is not shaken is not my world.
17:55:12  how could anyone know it existed without being taught?
17:55:15  its not an EXCEPTION
17:55:17  English language is full of exceptions and stuff like that, for letters, words, sounds, sentences, paragraphics, etc
17:55:33  augur: it is an exception
17:55:35  its completely well behaved IN THE DIALECTS WHERE ITS ACCEPTED
17:55:37  Actually I think it is exception
17:55:38  no its NOT
17:55:45  its just a DIFFERENT DIALECT
17:55:55  and IN THAT DIALECT its completely standard for ALL negation to behave this way
17:56:09  you mean, there are dialects where (for all x. !f(x)) is inexpressible?
17:56:12  OK, then, it a different dialect. That means, you have to understand what dialect you mean
17:56:37  ais523: what
17:56:45  Unless you are consistent, which it isn't.
17:56:53  zzo38: what
17:57:28  look, why dont i just give you a fucking compositional semantics for this sentence ok? itll demonstrate that theres nothing crazy going on here
17:57:30  augur: if "all that glitters is not gold" in some dialect means "not all that glitters is gold" in ais523ese, how do you express the ais523ese "all that glitters is not a black hole" in that dialect?
17:57:31  if augur wasn't an asshole he would be so cool
17:57:32  its completely trivial
17:57:40  augur: you're trying to answer a different argument from the one I'm making
17:57:45  ais523: same way, its just ambiguous.
17:58:00  that is such a great answer
17:58:09  thats THE answer
17:58:16  its the FACT of the matter
17:58:22  language is ambiguous, get used to it
17:58:22  Do you understand how to fix this template, I fixed it already but it is still broken, I don't know all of the wrong things  http://www.dandwiki.com/wiki/Template:3.5e_Feat
17:58:39  I SAW THE MAN ON THE HILL WITH A TELESCOPE
17:58:48  FRANK HIT THE DOG WITH A STICK
17:59:04  OMG THESE SENTENCES ARE AMBIGUOUS HELP ME LANGUAGE IS CONFUSING AHAHAHAHHHHHHHHHHHHHHHHHH
17:59:07  soupdragon: augur just assumes (a) he is never wrong, (b) everyone understands and is interested in the details of linguistics, (c) using caps makes more people listen to him
17:59:33  (d) making mocking strawmen of his opponents helps (thanks for reminding me just now augur)
17:59:43  ehirdiphone it just makes me wince when people I can't stand study the same stuff im into
17:59:44  ehirdiphone: I actually had to look up and read his sentences after you said that
17:59:47  no ehird, i just assume that ais523 would make more of an argument than NO ITS BAD ENGLISH IT DOESNT MAKE SENSE
17:59:49  my brain filtered out the lines in allcaps
17:59:57  At least these sentences are generally less confusing than some other ambiguous sentences, they are also less confusing when used in contents, isn't it?
18:00:03  ais523: ditto
18:00:08  s/contents/contexts/
18:00:12  ehirdiphone it's like being allergic to chocolate or something :(
18:00:49  soupdragon: Become a masochist!
18:00:56  ehirdiphone: i offered him numerous times to find papers on the very topic of inverse negation scope
18:01:02  I'm intolerant (like allergic, but with slightly different symptoms and less fatal if I eat them by mistake) to all sorts of food that people recommend
18:01:04  Then chocolate will be TWICE as enjoyable!
18:01:06  although not chocolate
18:01:14  augur: You know he can't read those papers
18:01:21  i also offered numerous times to show how its not illogical, nor does it require WEIRD parsing
18:01:27  You know he doesn't give a shit about Reading them
18:01:29  using lambda calculus
18:01:40  lambda calculus!
18:01:45  augur: translating english to lambda calculus generally requires reordering the sentence anyway
18:01:50  You just always want an opportunity to say
18:01:55  so therefore you wouldn't actually be making a point at all
18:01:59  Look at me. I know linguistics
18:02:06  ais523: listen to me ok
18:02:07  We have NOTATION for things
18:02:15  the grammatical structure of a sentence is not the same as the meaning of a sentence
18:02:21  Allow me to explain it to you!
18:02:29  words can be in places that dont correspond to their meanings
18:02:43  rationally, I know it's /my/ problem - but it really seems like other people are causing it
18:02:56  _all_ language is like this
18:02:59  ehirdiphone: gah, took me a few sentences to parse what you meant, I didn't realize immediately you'd elided quote marks
18:03:04  and got the use/mention mixed up
18:03:25  """""""
18:03:32  um, I think that's better, possibly
18:03:34  any sentence with two quantifiers is going to have these issues, ais523
18:03:37  I hope this is a sufficient amount of quote marks. L
18:03:42  / L/d
18:03:44  and there are some sentences where you cannot avoid using inverse scope
18:03:53  ehirdiphone: you just deleted your entire line
18:04:03  ais523: Not in Sam.
18:04:10  oh, assumed it was a sed script
18:04:18  language is not logic
18:04:27  Nope. Sam's language is ed-derived.
18:04:47  But we still understand what was meant by / L/d even if it is incorrect, I guess, even like English languages and stuff too, but sometimes it can be unclear and/or confusing
18:04:49  But it is based on arbitrary regions, not lines.
18:05:12  zzo38: the sentence in question IS correct tho
18:05:14  zzo38: I try not to make assumptions in this channel, it's often a bad idea
18:05:19  just not in our dialects
18:05:39  it's not beyond the realm of possibility that ehird might want to delete an entire line of his own
18:05:56  (I'm also vaguely wondering how that typo happened, it isn't a very plausible one...)
18:06:03  I am secretly a 40 year old horse pedophile.
18:06:06  d d d d d
18:06:09  D!!!!
18:06:14  not any more
18:06:26  we all know you like shetland ponis
18:06:26  ais523: Iphone keyboard. Send is in bottom right
18:06:34  So m and l are above it
18:06:41  ehirdiphone: aha, and is it otherwise qwertyish?
18:06:43  Well
18:06:47  that would explain a lot
18:06:47  augut: Well, it must be a different dialect then, like you said at first, maybe
18:06:50  M is above send
18:06:56  L is above backspace.
18:07:03  Space space inputs ". "
18:07:13  But just because something is a different dialect, sometimes it can still be confusing, sometimes it is less confused
18:07:14  So I try to remove the last space
18:07:22  But miss and send
18:07:33  ais523: yes, it's qwerty for the letters
18:07:48  well it IS confusing zzo38, im not saying its not
18:07:56  but its confusing because its not OUR dialect
18:08:04  augur: Yes.
18:08:22  I never thought I'd be considering using Slackware...
18:08:25  Dialect is part of it, anyways
18:08:39  It's so... unehirdesque.
18:08:42  ehirdiphone: why are you considering using Slackware?
18:08:54 -!- Asztal has joined.
18:08:59  you're one of the few people I have put down in my brain as "opinions impossible to guess"
18:09:05  which is probably a good thing
18:09:08  so I'm genuinely curious
18:09:43  im a bit jelous of that
18:10:07  ais523: Why not? Slackware seems to meet some criteria I'm searching Linuxspace for: simple, lightweight, unobtrusive. Longterm my own distro is of course preferable.
18:10:30  Arch and Debian sid are the other main contenders.
18:10:42  Also, my opinions are unpredictable? Huh.
18:10:49  Often changing, yes.
18:10:59  But unpredictable in general?
18:11:11  maybe I'm just not very good at predicting
18:11:29  for instance, I know quite a bit about which fonts you like and dislike, but don't know, say, whether you'd like Deja Vu Sans mono or not
18:11:32  *Sans Mono
18:11:45  It's not a bad font.
18:12:13  heh, I actually guessed correctly
18:12:20  The best of the DejaVu family, probably. Serif is ugly because it's thin and fat.
18:12:27  ehird sorry to interrupt you
18:12:28  Sans is just really meh.
18:12:34  why the hell are you IRCing from a phone??
18:12:43  soupdragon: Why not?
18:12:50  because that must suck ?
18:13:15  compared to a normal computer
18:13:24  I have a good enough keyboard, a nice screen, nick autocompletion and an alright browser.
18:13:32  It's fairly ok.
18:13:35  okay
18:13:48  major issue is that you can't use IRC and the browser at the same time, presumably?
18:13:55  I am, in fact, IRCing from a phone too.
18:13:57  Correcting my typing errors is the main annoying part.
18:14:24  ais523: Colloquy has an uberhack: it embeds its own WebKit shell
18:14:34  hmm... what do you call a computer that was clearly originally intended to be a netbook, but then given 3GB of memory so it could run windows 7?
18:14:39  basically a mini safari
18:14:39  ehirdiphone: heh
18:14:45  that's what I have
18:14:46  ehirdiphone: Not surprising that you like Slackware...
18:14:54  (Mostly because I'm a bit sickly at the moment and am trying to rest in bed.)
18:14:59  (note: 3GB probably isn't actually enough, the one on display in the shop was showing out-of-memory errors)
18:15:10  ais523: £300 at PC Worldbook?
18:15:18  £400
18:15:20  It is one of the few distros that tries to do as little as is sane.
18:15:23  Ripoff
18:15:34  yes, they were gouging everyone as it was christmas and a new version of windows was out
18:15:41  but everyone else was doing the same, for the same reason
18:15:49  the adverts were hilarious: "windows 7 is out, time for a new PC"
18:15:52  pikhq: My main misgiving is the, ahem, minimal package manager.
18:16:06  it was actually literally that, except for the comma which was replaced by a line break, and the capitalisation
18:16:11  ehirdiphone: Yeah, that is pretty much *the* problem with it.
18:16:21 -!- MigoMipo has quit ("co'o rodo").
18:16:52  pikhq: Does it actually *have* an uninstall program?
18:17:12  ugh, I'm getting CPAN flashbacks
18:17:48  ais523: Slackware doesn't chase dependencies for you. Now THAT would make CPAN hell.
18:18:25  what do you mean by "chase dependencies"?
18:18:34 -!- zzo38 has left (?).
18:18:45  CPAN effectively runs itself recursively to install dependencies, just with lots of yes/no prompts
18:18:54  If you have an unsatisfied dependency, Slackware just barfs.
18:19:12  doesn't that cause dependency hell, just manually?
18:19:13  You have to download and install dependencies one by one.
18:20:00  I thought that was the definition of dependency hel
18:20:05  *hell
18:20:09  Amusingly if you use static linking, most packages have basically no dependencies.
18:20:34  /usr/share sorta dependencies, sure. Commands they call too.
18:20:40  But not a single library.
18:21:17  ick on some cc?
18:21:27  ehirdiphone: Yes.
18:21:40  I suppose it doesn't use debian-style nethack-common, nethack-tty, nethack-x11 packaging then
18:22:12 -!- ehirdiphone_ has joined.
18:22:12 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)).
18:22:15 -!- ehirdiphone_ has changed nick to ehirdiphone.
18:22:30  ais523: Slackware isn't atarically linked
18:22:33  Atarically
18:22:34  ais523: Slackware tends to just do ./configure&&make&&make PREFIX=dir install&&tar -cf package.tar dir
18:22:36  Ffg
18:22:44  I was just mentioning
18:22:59  pikhq: Yhere is SOME pkg metadata.,.
18:23:00  Patch only for bugs.
18:23:02  ...
18:23:05  There
18:23:08  ehirdiphone: Yes, it's a file in the tarball.
18:23:11  wtf is ataric linking?
18:23:18  ais523: Static.
18:23:35  pikhq: They use .txz nowadays
18:23:42  Since the latest release
18:23:46  Not tgzs
18:23:50  ehirdiphone: Right.
18:23:57  Same format, different compression.
18:26:30  I need fixed
18:27:28  Okay, you CAN uninstall with Slackware
18:27:30  And
18:27:36  "As of Slackware 12.2, slackpkg has been added as the official remote package manager."
18:27:56  But it seems to just do download+install and search
18:28:05  No dependency chasing
18:28:17  soupdragon: You need... Fixed?
18:28:30  yeah
18:28:38  wat
18:31:33  like I can't stand augur because he's so fucking nasty to me
18:31:53  but logically, the best thing would be to just forget about that and not care
18:32:38 -!- zzo38_ has joined.
18:32:40 -!- zzo38_ has changed nick to zzo38.
18:36:24  soupdragon: well sure a perfectly rational agent would have no emotions
18:36:45  but purely rational agents also never have different opinions, long term
18:36:54  pretty boring really
18:37:26  The Slackware package building method is kinda nice. It's called "shell script".
18:37:30  I'm pretty sure it's impossible to totally let anything just bounce off you, emotionally
18:37:35  ehirdiphone: hes just mistaken. ive never even spoken to him
18:37:59  augur: Im sure you've spoken to fax/quantum_ed.
18:38:04  who
18:38:24 -!- zzo38 has quit ("In Soviet Russia, sentence says YOU!!!").
18:38:25  soupdragon.
18:38:35  im not sure!
18:38:43  i dont really talk in here much
18:38:43  Anyway he never said anything about you talking to him.
18:38:52  he said i was nasty to him! :|
18:38:57  No.
18:39:06  uh
18:39:08  yes?
18:39:09  He said that to him, you are nasty.
18:39:22  At least that is how I parsed it.
18:39:28  D:
18:39:32  DAMN YOU AMBIGUITY
18:39:51  do you watch Qi?
18:39:58  er, sorry, buzzcocks rather
18:40:20  Those British comedy quizzes. All alike!
18:40:32  no its just that i spend all of yesterday watching both
18:40:42  and the reason i bring buzzcocks up is david tennant
18:40:47  who was also in a recent ep of Qi
18:41:27  I aw typing upside down.
18:41:33  partially!
18:42:34  Fucking W
18:42:35   i dont really talk in here much <-- really? you seemed pretty active recently
18:42:41  recently!
18:42:44  like, last few days.
18:43:06  Fhaitstieyisjgjwtijgwgjgktssgksgkssooye
18:43:56  One dislikeable thing about Slackware is the lack of netinstall.
18:44:16  Instead it's a DVD or 73.458063 CDs.
18:44:17  ehirdiphone, was that Fhait... a cry of desperation?
18:44:32  Guisitoywitwtihcugrsypfypftid, Hoyle. Godgoto.
18:44:33  Presumably you could create a netinstall.
18:44:43  ehirdiphone, btw what is your general opinon on "compile your own kernel" thing
18:44:44  pikhq: And a pony.
18:44:47  Get slackpkg and dependencies.
18:44:51 * AnMaster imagines ehirdiphone would hate that
18:44:54  Install stuff.
18:45:18  AnMaster: Usually pointless.
18:46:10  Most people do it to lengthen their epenis by three inches and bask in the 5ms a day they save vs the 5 years they put into it in total.
18:46:21  ehirdiphone, well in my case.. two things: 1) cut startup time from 35 seconds to 17.2 seconds. Mostly due to no longer needing initramfs and less modules needed to be modprobed.  2) I needed to patch to work around a regression for my hardware
18:46:30  sadly upstream is not very interested in fixing that bug it seems
18:46:34  But, omg, it's 3KiB smaller!!!!
18:46:46  17.2 seconds. Hah.
18:47:01  ehirdiphone, that is from init to login prompt
18:47:09  ehirdiphone, measured with bootchart
18:47:12  Hahahahah.
18:47:22  ehirdiphone, for an old sempron it isn't too bad
18:47:22  :P
18:48:04  I'm relatively confident my distro will go from just after bootloader to X login in 7 seconds with disk. 13, absolute max.
18:48:10  5, minimum.
18:48:30  With SSD, 3-7 seconds. Probably 4-5.
18:48:30  ehirdiphone, good luck, since 8 of those seconds are taken up for me with waiting for dhcp reply
18:48:44  AnMaster: Parallel init.
18:49:03  ehirdiphone, mine is parallel, but i need network up early on
18:49:20  You'll be typing your password, and your WM starting, while DHCP goes.
18:49:24  ehirdiphone, and sure if i started everything after mounting file systems in background I could do 5 seconds
18:49:29  ehirdiphone, wm? sorry?
18:49:33  what has it got to do with things
18:49:34  (Everything else will be finished.)
18:49:47 * AnMaster uses startx manually due to often not starting X at all
18:51:02  Talking to you is infuriating. A constant battle where the only weapon of your opponent is pretending to not understand so they can flount how elite and minimalist and hardcore hacker they are.
18:51:17  ehirdiphone, didn't intend tha
18:51:20  that*
18:51:30  just pointing out my measure is to the text login
18:51:36  not to kdm or gdm or such
18:51:39  So you do it all the time unintentionally?
18:51:52  My sincere condolences for your ailment.
18:52:06  ehirdiphone, all time is an unfounded generalisation
18:52:11  I was talking about this convo
18:52:40  Au contrarie it's perfectly founded to me
18:52:43  Anyhow
18:52:52  This is boring
18:52:54  anyway arch linux init system is crude.
18:53:00  Who boots up anyway
18:53:21  parralell in part, but rather limited in what you can do
18:53:28  It's an irrelevant stat. Anyone who isn't anmaster just uses suspend.
18:53:33  it doesn't do dependency stuff for once. It's up to the user
18:53:35  Okay, maybe ais523 too.
18:53:46  ehirdiphone: I just leave the system on.
18:53:48  yes, I boot
18:54:03  ehirdiphone, my system is generally on 24/7 for my desktop
18:54:21  pikhq: Why? Slow suspend times?
18:54:31  ehirdiphone, but interesting thing is that suspend takes way longer than shut down on my laptop. Which isn't a good thing when you are in a hurry to leave
18:54:38  resume is faster than boot though
18:54:48  ehirdiphone: Nah, just don't bother suspending.
18:54:55  I'll probably include TuxOnIce in my distro for fast suspend/wake.
18:55:12  ehirdiphone, what does it do differently from "stock" kernel
18:55:16  when suspending I mena
18:55:17  mean*
18:55:31  Everything. It's an entire replacement suspension system.
18:55:45  so why hasn't it gone upstream?
18:55:55  Dunno.
18:56:16  I've been shutting the desktop down nowadays; saving the planet, you know. I don't want them to come jail me for melting the ice caps, after all.
18:56:21  http://www.tuxonice.net/ <-- this looks so 1999 or so
18:56:27  BFS should be upstream too but it isn't
18:56:34  I don't get it you are meant to be able to download Vernor Vinge - Rainbows End but I can't fucking find the fucking link
18:56:34  apart from the "flash blocked" bit
18:56:37  but the design
18:56:39  fizzie: Suspend to ram uses like 1W
18:56:56  an unreadablely drark shadow
18:56:59  and*
18:57:19  ehirdiphone, BFS?
18:57:48   I don't get it you are meant to be able to download Vernor Vinge - Rainbows End but I can't fucking find the fucking link <-- is that an esolang?
18:57:48  Con Kolivas' Brain Fuck Scheduler.
18:58:01  ehirdiphone, I don't believe you
18:58:02  ehirdiphone: Yes, and fails to wake up on approximately every twelth time on my system, requiring a hard reset; haven't been interested enough to try finding a fix.
18:58:04  it's a book :(
18:58:10  http://en.wikipedia.org/wiki/Rainbows_End
18:58:10  Fair, guaranteed low latency scheduler for desktop use.
18:58:11  ehirdiphone, I assume it is a file system?
18:58:14  im trying to downloard this
18:58:17  oh scheduler
18:58:24  but the blog links to another blog which doesn't have the god damn link
18:58:28  ehirdiphone, CFS seems quite good to me
18:58:31  Don't believe me? What?
18:58:32  never had any issues with it
18:58:39  ehirdiphone, what?
18:58:43  i have a copy of that book
18:58:56  havent read it tho
18:59:00  ehirdiphone, who don't belive who about what?
18:59:01  AnMasterehirdiphone, I don't believe you
18:59:12   Con Kolivas' Brain Fuck Scheduler.
18:59:12   ehirdiphone, I don't believe you
18:59:15  soupdragon, check gigapedia.com
18:59:16  brain fuck scheduler ;P
18:59:16  You said you don't believe me
18:59:19  for bfs
18:59:21  indeed
18:59:26  I said that afterwards
18:59:34  ehirdiphone, also: " AnMasterehirdiphone, I don't believe you" <-- copy failure!
18:59:46  ehirdiphone, no?
18:59:52  ehirdiphone, what are you talking about
18:59:57   ehirdiphone, BFS?
18:59:59   Con Kolivas' Brain Fuck Scheduler.
19:00:02   ehirdiphone, I don't believe you
19:00:07   ehirdiphone, I assume it is a file system?
19:00:09   Fair, guaranteed low latency scheduler for desktop use.
19:00:12   oh scheduler
19:00:20  [cut out lines related to other discussions]
19:00:25  ehirdiphone, I fail to see any issues there
19:01:32  Anyway, BFS has guaranteed low latency, soft realtime scheduling not restricted to root, and has near optimal CPU usage on a desktop: -j(cores) is the optimal strategy. It turns out higher numbers performing better is because other schedulers are inefficient for desktop (not high spec clusters etc) machines.
19:01:43  is this a parody of something from the book http://www.seekrainbowsend.com/
19:01:48  ehirdiphone, sounds nice.
19:02:09 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
19:02:12  "Vernor Vinge has put the entire text of his magnificent, prescient, mind-alteringly good novel Rainbows End online as a free download"
19:02:22  good for him but what's the URL??
19:02:25  fizzie, can you make sense of that " I said that afterwards"
19:02:32 -!- ehirdiphone has joined.
19:02:34  What did I miss after "sounds nice"?
19:02:46  ok guys, im off. ill be back in an hour maybe
19:02:47  * ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info")
19:02:47   "Vernor Vinge has put the entire text of his magnificent, prescient, mind-alteringly good novel Rainbows End online as a free download"
19:02:47   good for him but what's the URL??
19:02:47   fizzie, can you make sense of that " I said that afterwards"
19:02:51  * ehirdiphone (n=ehirdiph@91.105.68.74) has joined #esoteric
19:02:55  ehirdiphone, that
19:03:16  ehirdiphone, no "are you sure you want to quit" dialog I guess ;P
19:03:20  I just misread the logs STFU about "said afterwards" >_<
19:03:33  ehirdiphone, oh right. That explains it :)
19:03:58  AnMasterehirdiphone, some sort of merged super-creature composed of AnMaster, ehird, and an iPhone linking them together.
19:04:16  fizzie: The quantum foam of nightmares.
19:04:30  Allow me to quote you.
19:04:32  fizzieAnMasterehirdiphone, some sort of merged super-creature composed of AnMaster, ehird, and an iPhone linking them together.
19:04:35  OH GOD
19:04:46  It's... It's GROWING!
19:05:20  http://www.boingboing.net/2007/11/28/vinges-brilliant-rai.html
19:05:25  It's like that... that ball thing that collects crap it runs over of.
19:05:27  anyone able to figure this out?
19:05:28  ehirdiphone, it seems like quite a bug in that software to not insert any delimiter there
19:05:32  soupdragon: did you read the ed stories
19:05:35  I can't see the big red button
19:05:42  ehirdiphone a couple of chapters
19:05:48  AnMaster: it's only on copy paste
19:05:57  fizzie, cat nightmare?
19:06:02  soupdragon: It gets much, much better
19:06:35  soupdragon: around Be Here Now. After that the entire rest is one big plotline
19:06:39  ehirdiphone, hm, iirc xchat defaults to inserting <> in copied strings if they are not displayed. You edit a format string or something iirc
19:06:47 * AnMaster hasn't used xchat for a while now
19:06:48  okayy
19:06:54  (you have to have read all of them to understand it though)
19:06:57  here we go, *starts it*
19:07:15  hrrm okay I had format strings set to display <> always
19:07:43  AnMaster: Something called Katamari, I believe. Some sort of a game.
19:08:11  Katamari Damacy. Brilliant game.
19:08:12  fizzie, It was a pun on it. I heard of the game
19:08:23  fizzie, I thought you knew enough Swedish to figure out the pun
19:08:35  ask oerjan otherwise
19:08:42  (it was a *bad* pun though)
19:08:47  NAAAA NA NA NA NA NA NA NA KATAMARI DAMACY
19:08:57 * AnMaster never played it
19:09:05  was it 2D or 3D?
19:09:12  3d
19:09:18  for what platform?
19:09:23  various
19:09:24 * ais523 tries to imagine 2D katamari damacy
19:09:30  I think it /could/ work, just wouldn't be as good
19:09:33  and would miss half the point
19:09:34  ehirdiphone, anything like n64 for emulator I meant
19:09:38  ais523: Easiest game ever
19:09:41  Just hold right
19:09:46  AnMaster: More recent
19:09:50  ehirdiphone, meh
19:09:57  Gamecube emulation is food nowadays
19:09:58  Good
19:10:05  I prefer the typo
19:10:07  ais523, what about 4D?
19:10:07  Wad katamari released on GC?
19:10:14  ehirdiphone, garbage collector?
19:10:17  AnMaster: Adanaxis is bad enough
19:10:21  Gamecube.
19:10:27  ais523, is that the 4D space game thingy?
19:10:32  although, I had it working for a while (the graphics card on this netbook doesn't like it...)
19:10:34  AnMaster: yes
19:10:48  Should probably try out the Maemo port of XChat some day; xterm+irssi is not bad, but still.
19:10:49  hm... that was unexpected *stares at firefox*
19:10:51  and I got decent at it, even if I can't visualise what's going on that doesn't stop me playing it
19:10:57  ais523, you know in firefox, the google box?
19:11:01  it says google in grey in it
19:11:09  umm, it's a search engine box
19:11:10  Yeees...
19:11:11  and when you click in it, it becomes empty
19:11:12  ais523, ^
19:11:14  atm it's set to Cuil for me
19:11:14  however
19:11:19  and so says Cuil in grey
19:11:21  I managed to paste Adanaxis there
19:11:24  so it said:
19:11:27  ais523: O_O
19:11:27  GoogleAdanaxis
19:11:29  in grey
19:11:32  ehirdiphone: what?
19:11:33  ais523: Why on earth?
19:11:35  can't reproduce it
19:11:39  but strange bug anyway
19:11:47  ehirdiphone: Katamari's been on the PS2, PS3, and the 360.
19:11:49  ehirdiphone: ever since Google started personalising searches for everyone
19:12:17  The two noteworthy ones are for the PS2.
19:12:17  if everyone's going to get different Google results, it's going to be pretty much impossible to tell people to just google something
19:12:17  (after that, there was much less acid involved)
19:12:17  ais523: clearly you should use bing
19:12:19  At least bing is a useable search engine
19:12:23  I don't actually trust any of the search engines
19:12:26  ehirdiphone, no, yahoo!
19:12:33  Yahoo is bing
19:12:33  or altavista :D
19:12:37  ehirdiphone, oh damn
19:12:37  Remember?
19:12:38  besides, I'm used to not getting useful results from them, Cuil doesn't massively hurt
19:12:43  ehirdiphone, what about altavista
19:12:46  what happened to it
19:12:51  nothing
19:12:52  AnMaster: I actually used to use it well after Google became popular
19:12:59  because it did a lot more of a literal search than Google did
19:13:03  ais523, which one? altavista?
19:13:06  yes
19:13:08  hm
19:13:14  then they tried to improve their results, and just became like Google but worse
19:13:18  Actually I'm getting sick of google too
19:13:20  ehirdiphone, so it is just a almost unused website?
19:13:32  a perfectly literal search engine, I'd find rather useful
19:13:47  I'm considering writing a google proxy like scroogle.org but without the bug of Daniel Brandt
19:13:49  yes, it's trivial to manipulate the results, but people are going to be asking different sorts of questions
19:13:51  ais523, yes. Sometimes I find the suggestions useful, not most of the time
19:14:27   I'm considering writing a google proxy like scroogle.org but without the bug of Daniel Brandt <-- I know nothing about this. So who is that person?
19:14:47  Google/Wikipedia Watch madman.
19:15:05  wow, AltaVista's results for INTERCAL > Google's results for INTERCAL
19:15:06  You've probably come across google watch.
19:15:34  10 relevant results > 6 relevant results
19:15:38  on the first page
19:16:03  Scroogle is also quite slow especially via https and doesn't do image search
19:16:05  (Wikia Search, while it was still up, managed hundreds of relevant results on the first page, as it kept showing more results as you scrolled, but that's kind-of cheating)
19:16:15  ehirdiphone: doesn't it also violate Google's terms of service?
19:16:17   You've probably come across google watch. <-- no
19:16:30  ais523: Who cares (yes, you)
19:16:38  yes, me
19:16:53  Guess who doesn't care that you care
19:16:55  also, if it ever became popular, Google would just either technologically-block, or sue them
19:17:08  maybe both
19:17:38  Anmaster: he hates google because his site wasn't popular on it
19:17:59  He hates wikipedia because they wouldn't delete his page
19:18:13  From these come google-watch.org
19:18:19  And the same for wikipedia
19:18:23  hm
19:18:26  okay
19:18:46  those sites are actually in my "wouldn't visit except via TOR" category, he's that sort of a madman
19:18:47  ehirdiphone, both sites *does* have faults, but I guess he doesn't stay at those only
19:19:10  He is very crazy. He ran a secret logbot in #wikipedia and evaded them banning it
19:19:18  I see
19:19:29  thus breaking Freenode's TOS too
19:19:38  Then he sieves through the logs and goes batshit over people calling him crazy in then
19:19:40  Them
19:19:58  ais523: please, keep your uber legalisticness to yourself
19:20:00  ehirdiphone, he could just park an idle client in there with logging turned on. Nothing ilegal in idling
19:20:14  Nobody else here cannot separate law from morality
19:20:20 -!- augur has quit (Read error: 110 (Connection timed out)).
19:20:28  AnMaster: He publishes the logs.
19:20:44   ais523: please, keep your uber legalisticness to yourself <-- quoting you about zzo: stop destroying his differences
19:20:45  ehirdiphone: I can; I think it's sometimes moral to break the law, and there are definitely things that are immoral but legal
19:20:59  well not exact-wording
19:21:05  s/-/ /
19:21:21  AnMaster: zzo is fun, this is just disturbingly obedient
19:21:22  however, it's pretty rare that you get a situation where breaking the law is morally correct
19:21:30  ehirdiphone, hm
19:21:35  and if it happens, there's probably something wrong with the law
19:21:58  also private logging isn't forbidden anywhere
19:22:06  public logging are in some channels
19:22:10  ehirdiphone: true or false opinion: ideally, the law should be designed in such a way that it's never morally correct to break it
19:22:24  (I agree that this is hopelessly idealistic, but if it were possible?)
19:22:24  umm
19:22:45  AnMaster: all Freenode channels that don't explicitly warn of public logging, public logging is banned
19:22:49  false
19:22:53  i think definitely false
19:22:55  ais523, indeed
19:23:11  "Probably all laws are useless; for good men do not want laws at all, and bad men are made no better by them." - Demonax
19:23:15  Pthing: interesting; what's your reasoning? (not attacking, just curious)
19:23:26  my reasoning is anti-hubristic
19:23:41  ehirdiphone: a good quote; I think it fails to take corporations into account, but is largely correct wrt individuals
19:24:01  law is a more rigid instrument than morality
19:24:15  ais523: Well, you clearly do not fall under good per it, so are you bad?
19:24:26  there is no point trying to make law identical to morality
19:24:30  ehirdiphone: I'm not sure
19:24:39  because we already have morality, in all its inconstancy for that
19:24:50  I've found contradictions in my own opinions more than once, and have been unable to resolve them
19:24:53  Pthing: My morals are consistent.
19:25:02  (Utilitarianism)
19:25:07  ehirdiphone: oh no please no
19:25:15  Your mom.
19:25:22  strong utilitarianism is about the worst moral system you could imagine
19:25:27  ehirdiphone, yeah sure whatever
19:25:30  apart from one that's actively bad
19:25:35  why not just be a christian if you're going to play identity games like that
19:25:45  ais523: You are wrong.
19:25:45  as it tries to sum incommensurable values
19:25:51  you can have meetings about how great utilitarianism is and sing songs about it
19:26:00  ehirdiphone: how can you compare the happiness of one person to the happiness of another?
19:26:07  Pthing: By using names I am religious?
19:26:13  ais523: You don't.
19:26:18  Pthing: do you know what utilitarianism /is/?
19:26:20  ais523: You compare utility.
19:26:23  yes >:|
19:26:27  ehirdiphone: well, yes
19:26:31  Utilons, etc.
19:26:38  the problem is ehirdiphone being all about "my morals"
19:26:39  but I don't think people have a scale of utils you can just go and measure
19:26:50  Of course, in practice you must make estimates and judgement.
19:26:59  and even if you could, you have feedback-loop issues
19:27:04  Utilitarianism is the measuring stick.
19:27:11  in that many people get upset by what they think is immoral behaviour
19:27:14  the other reason
19:27:17  why i think it is false
19:27:19  and you need to take that into account in your calculations too
19:27:22  is because this is false idealism
19:27:28  all that exists in this case is practice
19:27:35  it's not like it's mathematics or anything
19:27:43  Often it is fairly clear cut.
19:27:44  ehirdiphone: if enough people were upset by the thought that some people used utilitarian morals, would you stop being a utilitarian?
19:28:28  steady on
19:28:34  ais523: I would go for an alternative: hide my utilitarianism, attempt to remove this upset, etc.
19:28:36  he didn't go *that* far down the identity game
19:28:43  he just said his *morals* were utilitarian
19:28:44  not him
19:28:46  ehirdiphone: heh
19:28:49  that is another level of terrible
19:28:56  Pthing: err, I'm not sure if there can semantically be a difference
19:29:06  i do!
19:29:23  A person whose moral system is utilitarianism is a utilitarian.
19:29:29  as in, it seems to be an antitautology to have someone who has utilitarian morals but isn't a utilitarian
19:29:45  unless they were unaware of their own morals, I suppose
19:29:48  yeah
19:29:51  that is basically it i guess
19:30:01  Being A Utilitarian is an identity thing
19:30:11  No it's not.
19:30:15  it is!
19:30:21  ugh, this is getting to the old logic argument about someone who believes they believe something, but doesn't believe they believe it
19:30:23  Maybe in wanker philosopher groups.
19:30:30  it is a wanker philosophy term
19:30:35  I do not belong to those groups.
19:30:37  because it is wanking philosophy
19:31:04  Talking to Pthing continues to further the notion that talking to him is fruitless.
19:31:27  where philosophy is involved, mostly!
19:31:43  utilitarianism is, to me, an attempt to apply economic principles to morals
19:31:49  I am a utilitarian. I call myself that because it is what I am.
19:32:04  so it's going to fail at least to the extent that the models economists use are inapplicable to the real world, so it's impossible to work out how to apply it
19:32:05  that is precisely what it means to be an identity thing :|
19:32:10  "I am x"
19:32:12   ugh, this is getting to the old logic argument about someone who believes they believe something, but doesn't believe they believe it <-- huh? aren't those equivilent?
19:32:12  ais523: Well, i find any deontological system unacceptable.
19:32:25  ugh, I've forgotten what deontological systems are
19:32:28  AnMaster: no, they aren't
19:32:28  ais523: As it can lead to truly horrible results.
19:32:31  oh, yes they are
19:32:38  ais523, typo?
19:32:39  sorry, I really screwed up that sentence
19:32:41  yes, typo
19:32:43  ais523: Actions can be immoral no matter what their results.
19:32:46  when you say things like that, you are linking yourself with various kinds of philosophical wankery floating out there in platonic heaven
19:32:50  ais523, so what should it have been?
19:33:12  ais523: So murdering one person to save a billion could be morally unacceptable.
19:33:18  ais523: This is abhorrent.
19:33:22  AnMaster: get rid of one of the repeats of "believe", then adjust the sentence to be grammatically correct
19:33:46  That's what deontological moral systems are.
19:33:47  ehirdiphone: I'd say with the definition of "action" you're using, you're pretty obviously correct
19:34:01  ais523: I disagree with it
19:34:08  I was just defining it for you
19:34:15  ehirdiphone: no, I mean you're correct in that it's abhorrent
19:34:20  OR ELSE
19:34:21  Ah.
19:34:28  if not with the wankery, it is a *social* thing
19:34:32  ais523, which "believe"?
19:34:36  it's also possible to define an action as including all relevant context
19:34:40  and so you are linking yourself to other people who claim the same identity
19:34:40  there are three to select from + one "believes"
19:34:44  AnMaster: any, the sentence means the same thing whichever one you remove
19:35:06  well, not quite
19:35:12  but it makes the point equally well whichever you remove
19:35:13 * AnMaster drops the first one
19:35:26 * AnMaster looks at the messed up grammar
19:35:56   INTERCAL is not even vaguely modular and nothing I can say would persuade you that it was.
19:36:00  I disagree
19:36:02  actually dropping "believe they" makes much more sense
19:36:12  hmm... is that esr, or just quoted by him?
19:36:23  ah
19:36:32    INTERCAL is not even vaguely modular and nothing I can say would persuade you that it was. <-- is he contradicting himself there?
19:36:34   INTERCAL is not even vaguely modular and nothing I can say would persuade you that it was.
19:36:43  *Garrett
19:36:59  AnMaster: that's not a self-contradiction
19:37:11 -!- oerjan has quit ("leaving").
19:37:12  it's of the form "a, and I couldn't convince you of not a"
19:37:12  Ducks
19:37:26  ais523: Not a and couldn't a
19:37:30  Actually.
19:37:41  ehirdiphone: equivalent, just redefine a
19:37:41  ais523, well not formally logical contraction. But a bit confusing in normal language
19:37:51  unless you're using intuistic logic or something like that
19:38:01  Hey I wonder if http://catseye.tc/ had any new fancy stuff
19:38:05  unless you're using intuistic logic or something perverted like that
19:38:06  ais523: I know.
19:38:25  ehirdiphone, seems so
19:38:27  Oh baby, infer my Haskell types.
19:38:45  Latest news: 2009.1229: Our last language of the aughts: ZOWIE. Read more on our news page, or subscribe to our RSS feed.
19:39:00  http://catseye.tc/projects/zowie/doc/zowie.html
19:39:00  hmm, never heard of Etcha
19:39:08  aughts?
19:39:11  ais523, what is etcha?
19:39:20  00's
19:39:38  AnMaster: according to Cat's Eye, BitChanger adapted to turtle graphics
19:39:40  oh thought it was naughts
19:39:45  ais523, I see
19:40:33  argh
19:40:47  kdebase on arch linux pulls in mysql
19:40:49  wth
19:41:51  Probably because it depends on Qt, and they built Qt with MySQL support, for the sake of Amarok (which needs *a* SQL engine in Qt)
19:42:07  pikhq, QT has an optional dep on mysql
19:42:11  but this is not optional
19:42:14  AnMaster: WTH.
19:42:34  pikhq, ah it seems to be akonadi
19:42:36  whatever that is
19:42:42  "The secondary design goal of ZOWIE was to strike the perfect balance between It's a Mad Mad Mad Mad World and The Party. It is generally considered a morbid failure in that regard, what with not being a madcap 60's movie and all."
19:42:48  Ah.
19:43:00  pikhq, which I surely have no use of for krita or similar
19:43:35  pikhq, but why the mysql server
19:43:41  why not just the client library
19:44:19  pikhq, also: Nothing will make me install mysql ever
19:44:34  and krita on ubuntu doesn't need it
19:45:11  ehirdiphone, "huh"
19:48:09  "Also, I can now say I've worked on a language project for every letter of the Roman alphabet. I'm so happy."
19:48:39  Huh. Chris Pressey sez that zzo's name is Aaron.
19:49:35  "Pixley is also (depending on how you count them) my 50th programming language (that I'll admit to!) This puts me squarely in the ballpark of Wouter and Aaron, and suggests that I plan to be personally responsible for a significant fraction of the next 700 programming languages."
19:49:51  Links to User:Zzo38 on our wiki
19:51:16 -!- soupdragon has quit ("Leaving").
19:54:22  I just picked a lock for real.
19:54:46  it was admittedly a really shitty thing on a floppy disk box
19:55:14  but I actually opened it by just wigging a pin around and twisting
19:55:57  *wiggling
19:59:45  and, I suppose, knowing a little about how locks work
20:00:46  like
20:00:53  "if you stick a pin in them and wiggle, sometimes they open"
20:04:09  nah, I was trying to push a certain bit if the lock
20:04:13  but not much more than that
20:17:49 -!- atrapado has joined.
20:20:11 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
20:20:53 -!- ehirdiphone has joined.
20:32:02 -!- jpc has quit (Read error: 60 (Operation timed out)).
20:40:32 -!- Pthing has quit (Remote closed the connection).
21:04:17 -!- atrapado has quit (Read error: 60 (Operation timed out)).
21:21:05 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
21:38:59 -!- zzo38 has joined.
21:39:39  Do you know some things about copyright law? Icosahedral RPG has its own license but someone else says it has to be the OGL, I don't know everything about the OGL
21:43:53  What's your question?
21:45:28  My question is why it is or is not has to be the OGL or not.
21:45:42  Why would it have to be the OGL?
21:46:07  I am not using OGL material, yet someone said I have to license my work under the OGL anyways because it is "similar". Yet, even other similar things are not by OGL
21:46:54  Here is the Icosahedral RPG license, for reference: http://zzo38computer.cjb.net/icosahedral/icoruma/license.irm   And the OGL, for reference: http://www.wizards.com/d20/files/OGLv1.0a.rtf
21:47:07  Because it's similar to what?
21:48:19  If something is released under multiple licenses, you can pick whichever one you like the best.
21:48:27  Similar to D&D. But D&D has been written by many times ago, and there are many other similar things, such as ADOM and various other games, including RPGs and others.
21:48:37  I'm not talking about multiple license.
21:49:03  I'm guessing D&D is released under OGL.
21:49:05  I mean that apparently my work is similar enough that it needs to be under the OGL, but actually my work is written independently, although there are a few similarities
21:49:17  I'm not using text from the D&D rule books
21:49:21  Well, I'm pretty sure that game mechanics are not covered by copyright.
21:49:34  Artwork and text and code and stuff are. Game mechanics would have to be covered by patent.
21:50:54  And the game mechanics are not even the same. They are just have a few similarities. And I'm not using their text or their art. Even if I do have art, the included art will not use the Icosahedral RPG license (or the OGL). It doesn't use code either, but there are a few simple equations which are isomorphic to the D&D ones
21:51:12  (Even though D&D rules does not even explicitly have any equations)
21:51:38  Game mechanics are not even copyrightable.
21:51:44  Only the specific writing of them.
21:52:05  Oh, and there are bits like trademarks and such...
21:52:06  Well, what similarities are there?
21:53:06  Only a few vague similarities in the way the rules work, but the rules are actually different.
21:53:24  Also, it uses a few similar terminologies, but not the ones that are trademarked
21:53:37  Well, you can't copyright a vague similarity.
21:54:30  Unless you're using something that's patented, you're good.
21:54:42  (no D&D mechanics are patented, FWIW)
21:54:47  I know that, but when asking for help about the introduction text (intro.irm) someone said that it has to be OGL, possibly because they don't understand copyright?
21:55:03  They're bloody well clueless.
21:55:15  I told them about ADOM and stuff, they say ADOM is irrelevant because it was made before the OGL, for one thing.
21:55:36  Well, I will write the Icosahedral Role Playing Game Rulebook anyways, and then we can see, right?
21:56:05  Also, is the license I used is it workable?
21:57:08  Hmm...
21:57:12  Just a moment.
21:58:27  Do you have a particular reason for not using an existing license?
21:59:27  zzo38: Poorly worded, but workable.
21:59:55  Can it be worded better? How should I word it better?
22:00:16  Be very exact.
22:00:18  Well, it uses the phrase "restricted by this license". Licenses don't restrict; they allow.
22:01:58  The default state is that people can do very little with your work, and a license lists some additional things that people are allowed to do.
22:02:31  generally, you say "you have a conditional licence to do X, provided that:"
22:03:06  I see what you are refering to, part 7, about creations which incorporate it indirectly.
22:03:18  How should it be worded more proper?
22:07:52 -!- anmaster_l has quit (Connection timed out).
22:08:15  Well, you could say that those things "may be used and distributed by their creators in any way with no restrictions whatsoever".
22:08:48  The intention is that if someone creates a new spell for Icosahedral RPG, and it has a trademarked name, they still have to allow other people to copy that spell to their own work even if they have to rename it. It should be clear what you have to rename it to, so that it can be used by other people clearly what you refer to.
22:09:08  zzo38: generally you should ask a lawyer about this sort of thing
22:09:22  if you need to make a licence watertight
22:10:49  Of course, new spell is just one example, it would also apply to new feats, classes, game rules, creature stat blocks, etc. But that if someone adds flavor text, or art, etc, they can do so however they want to.
22:11:12  The best way may be to take an existing license and modify it so that it matches what you want.
22:11:45  What problems do you have with the GNU GPL, or the BSD license, or the other GNU licenses, or the Creative Commons licenses?
22:12:51  The GNU GPL is best for software and doesn't do what I have specified. However, I do intend that it is allowed to be relicense under the GNU GPL, in case you want to write software or whatever
22:13:33 -!- augur has joined.
22:13:39  Might I suggest using something similar to the OGL?
22:13:41  well that was a bit longer than i expected
22:13:42  The BSD license is not restrictive enough; I never use it for my own works. If I want a program to be unrestricted by copyright I make it public domain.
22:14:15  The OGL also has a few problems. For one thing, it isn't quite how I specified, also see the FAQ for a few other problems with OGL:  http://www.earth1066.com/D20FAQ.htm
22:14:24  (See C.09)
22:14:43  Basically I want it to be copyleft for rules but not for flavor text and art.
22:15:15  Flavor text and art can be whatever the author of the flavor text and art wants it to be.
22:15:57  Maybe I'll be more specific. What would a Creative Commons license allow that you don't want to allow, or not allow that you do want to allow?
22:16:15  "Similar" includes "like it, but without the problems"...
22:16:51  OK, but how would I do it?
22:17:23  ... With a text editor?
22:17:25  A Creative Commons license does not differentiate between rules and non-rules, for one thing. That's because they aren't designed for RPGs
22:17:39  That isn't what I meant by "how would I do it"
22:17:45  So release the rules under one license and the non-rules under another?
22:17:53  Or, you know, modify them.
22:18:02  You haven't actually answered my question.
22:18:15 -!- ais523 has quit (Remote closed the connection).
22:18:53  No, no... Any non-rules that are part of the Icosahedral RPG reference documenation still is my this license, but any non-rules which are written by third parties are not required to be copyleft, is what I mean. Rules written by third parties are still under the copyleft of the license
22:19:40  Do you understand what I mean?
22:20:47  So the rules are available under this license, but people can create derivative works of non-rules and release them under any license?
22:21:53  Yes, as long as any rules that are part of their work have to be available under the same license as the core rules.
22:23:52  So yeah, it sounds like you could just release the rules under a copyleft license and the non-rules into the public domain.
22:24:25  OK, I understand.
22:24:42  uorygl!
22:24:53  i think YOU havent actually answered MY question >O
22:25:10  augur: you asked a question?
22:25:22  have you decided how to have names not be predicates
22:25:31  But: My intention is that non-rules can be combined with rules in a single work, in a way which the non-rules are exempt from the copyleft while the rules are still forced by the copyleft.
22:26:08  That's the real only difference from what you have specified.
22:26:53  augur: no, I haven't.
22:28:01  keep trying :p
22:28:08  zzo38: isn't that a consequence of what I said? If someone includes non-rules in their own work, others will still be able to redistribute the non-rules.
22:28:39  Maybe you want to include a clause in the rules license stating that people must mention the public-domain-ness of the non-rules if they distribute them in conjunction.
22:30:20 -!- olsner has joined.
22:30:36  No. I mean, they can distribute non-rules using whatever license the author wants. They are not forced to be public domain. However, if you add rules, the rules are still copyleft, but any non-rules can be under full copyright and can deny other people the right to copy any non-rules added, but they can't deny rights having to do with the rules
22:31:26 -!- Pthing has joined.
22:31:36  Okay.
22:31:54  Hmm...
22:39:43  Okay. Here's the Creative Commons ShareAlike clause: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.
22:41:08  Just change that to something like "If you alter . . . compatible license, except that you may distribute the parts of the resulting work that are not game rules under whatever license you wish."
22:42:20  Though that's not the actual clause, that's a summary of the clause.
22:42:59  Well, here's a better idea.
22:43:00  OK, thanks, that makes sense
22:44:15  "These rules are available under the Whatever License. In addition, if from these rules you create a derivative work, you may release the parts of this derivative work that are not game rules under whatever license you wish."
22:45:17  OK.
22:45:30  That way, you don't have the strangeness that occurs when you change a license by specifying a change to the summary of the license.
22:46:09  OK
22:47:51  Will I have to copy in the text of the CC-BY-SA (or whatever)? And if I also want to allow relicensing under the GNU GPL, will the text of the GNU GPL have to be included? What if I want to add a clause to optionally change to new versions (where I will specify the new version, which might have additional permissions/restrictions, and new version of CC-BY-SA, and new version of GNU GPL, and so on)
22:48:53  Just saying "CC-BY-SA" and linking to it would be enough. Likewise for the GPL.
22:49:16  You know, the GPL bit seems redundant, unless you consider software to be game rules.
22:50:33  No. I simply want to allow relicensing under the GNU GPL so that the rule text can be added to any software with the GNU GPL
22:50:39  As for changing to new versions, perhaps it would be best simply to start releasing new versions of your work under a different license if you want to.
22:50:49  And I know usually it is just linked, but the idea is that if it is printed out as an actual book, that might not do?
22:51:35  The idea is that it can be printed as an actual book as well as being a web-page, wiki, or any other format. (This is one of the things that Icoruma does)
22:51:45  Hmm. I would guess that the GPL would allow you to release the software, alongside documentation and including a documentation browser, without having to release the documentation under the GPL.
22:52:08  OK.
22:52:29  I guess it can do without mentioning the GPL, then.
22:53:21 -!- MigoMipo has joined.
23:13:20 -!- zzo38 has quit (Remote closed the connection).
23:38:17 -!- MigoMipo has quit ("co'o rodo").
23:40:39 -!- MizardX- has joined.
23:46:50 -!- Deewiant has quit (Read error: 104 (Connection reset by peer)).
23:48:05 -!- Deewiant has joined.
23:56:42 -!- MizardX has quit (Connection timed out).
23:57:06 -!- MizardX- has changed nick to MizardX.

2010-01-05:

00:23:43 -!- jpc has joined.
00:38:58  http://i47.tinypic.com/6puxi1.jpg
00:42:06 -!- Pthing has quit (Remote closed the connection).
00:46:04 -!- poiuy_qwert has joined.
00:46:52  augur: heh
00:53:51 -!- adam_d has quit (Read error: 110 (Connection timed out)).
00:56:50 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
01:02:26 -!- MizardX- has joined.
01:05:03 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
01:06:22 -!- gfour has joined.
01:09:02 -!- MizardX- has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- Cerise has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- Asztal has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- comex has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
01:09:03 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
01:09:03 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
01:09:03 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
01:09:04 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
01:09:04 -!- cheater has quit (farmer.freenode.net irc.freenode.net).
01:10:04 -!- gfour has quit ("Leaving.").
01:16:09 -!- poiuy_qwert has quit ("This computer has gone to sleep").
01:17:28 -!- fizzie has joined.
01:17:28 -!- sebbu has joined.
01:17:28 -!- mycroftiv has joined.
01:17:28 -!- rodgort has joined.
01:17:28 -!- uorygl has joined.
01:17:28 -!- comex has joined.
01:17:28 -!- Asztal has joined.
01:17:28 -!- Deewiant has joined.
01:17:28 -!- Cerise has joined.
01:17:28 -!- MizardX has joined.
01:17:28 -!- Gracenotes has joined.
01:17:28 -!- cheater has joined.
01:18:51 -!- Gracenotes has quit (SendQ exceeded).
01:36:24 -!- Gracenotes has joined.
01:41:51 -!- MizardX has quit ("zzz").
01:55:28 -!- coppro has quit (Remote closed the connection).
01:55:52 -!- coppro has joined.
02:07:09 -!- coppro has quit (Remote closed the connection).
02:07:33 -!- coppro has joined.
03:02:46  AnMaster
03:25:08 -!- Asztal has quit (Read error: 60 (Operation timed out)).
03:47:13 -!- poiuy_qwert has joined.
03:57:32 -!- poiuy_qwert has quit ("Leaving").
04:34:51 -!- soupdragon has joined.
04:55:34 -!- Slereah_ has joined.
05:03:03 -!- zzo38 has joined.
05:03:28  I think I fixed the license.  http://zzo38computer.cjb.net/icosahedral/icoruma/license.irm
05:04:13  Note: The <#> is a formatting code for blockquotes
05:06:37 -!- Slereah has quit (Read error: 110 (Connection timed out)).
05:09:00  zzo38: I'd suggest explicitly clarifying the GPL rule as to what you mean
05:09:04  Is it better now?
05:09:19  coppro: How should I clarify it?
05:09:30  zzo38: well, I'm not exactly sure what you mean
05:10:01  do you mean you can incorporate the work or derivations there of into GPLed works, as long as attribution is given?
05:10:58  I don't really care that much about attribution, but the GPL and CC-BY-SA both require attribution anyways, so it might as well. But what I mean is basically as you said
05:27:25  What would be the best way to re-word it?
05:36:19 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
05:46:51 -!- zzo38 has quit (Remote closed the connection).
06:24:08 -!- SimonRC has quit (Read error: 60 (Operation timed out)).
06:30:17 -!- coppro has quit ("I am leaving. You are about to explode.").
06:49:24 -!- oerjan has joined.
07:47:08 -!- oerjan has quit ("leaving").
07:50:00 -!- lament has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:00 -!- Warriphone has joined.
08:03:35 -!- augur_ has joined.
08:05:51 -!- Warriphone has quit (Remote closed the connection).
08:06:14 -!- Warriphone has joined.
08:09:56 -!- augur has quit (Read error: 110 (Connection timed out)).
08:20:56 -!- augur_ has quit (Read error: 110 (Connection timed out)).
08:26:13 -!- Warriphone_ has joined.
08:26:14 -!- Warriphone has quit (Read error: 104 (Connection reset by peer)).
08:26:15 -!- Warriphone_ has changed nick to Warriphone.
08:53:56 -!- FarOut has joined.
09:02:02 -!- FarOut has quit (Remote closed the connection).
09:13:57 -!- jpc has quit (Read error: 60 (Operation timed out)).
09:23:46 -!- SimonRC has joined.
09:33:27 -!- ehird has joined.
09:33:44 -!- lament has quit.
09:33:46  Spot the difference!
09:33:59  You are lamer
09:36:59  16:38:58  http://i47.tinypic.com/6puxi1.jpg
09:36:59  "In film you will find four basic story lines. Man versus man, man versus nature , nature versus nature, and dog versus vampire." —Steven Spielberg
09:37:04  *nature,
09:40:12  ehird : Avatar mostly reminded me of Fern Gully :
09:42:49 * ehird writes a code snippet to show why DYNAMIC-WIND is a pain, now that he's on da computaah
09:43:49  ...after downloading Emacs
09:44:09  git build from yesterday, I'm so cutting edge
09:49:19  "The application Emacs quit unexpectedly."
09:49:24  ok, then—not a nightly build
09:53:25  Fathomic o-toodled
09:55:21 -!- Asztal has joined.
10:01:16 -!- anmaster_l has joined.
10:08:03  this code is bugging in ways I'm pretty sure it's impossible to bug...
10:10:06 -!- MigoMipo has joined.
10:14:29 * ehird debugs it with SISC
10:14:50  ahh
10:17:22  wait, no; that's a different issue
10:17:33  aargh, this is driving me insane!
10:19:45  Eh, I'll break my mind with the twisty interaction between CALL-WITH-CURRENT-CONTINUATION and DYNAMIC-WIND some other time.
10:21:17 * ehird downloads the six disks of Slackware 13.0
10:21:28  On the first day of Christmas my browser sent to me
10:21:31  Slackware thirteen oh
10:21:38  Install d1 issoh
10:21:52  And five hundred and ninety one megabytes in a file tree
10:22:09  *Install dee one issoh
10:22:26  I could, of course, just download the DVD file...
10:22:56  Amusing that one of the most barebones distro has really large ISOs.
10:23:22  Sigh. Fuck my slow internet connection. It's gonna take eight hours to download Slackware.
10:26:23  Ah.
10:26:30  The last three CDs are just sources.
10:43:46 -!- adam_d has joined.
10:45:54 -!- Gracenotes has quit ("Leaving").
10:51:28 -!- Pthing has joined.
10:52:02 -!- Gracenotes has joined.
10:59:17   AnMaster <-- ?
11:03:03 -!- adam_d_ has joined.
11:04:07  lota
11:04:17  ehird, hm?
11:04:25  Intwitch ark.
11:04:39  Hey; I'm computerised now. I can hack Haskell
11:04:42  ehird, do you remember if 0.-2.0.29 for ick was same as 29.0.-2.0 in normal sense
11:04:48  LIFE IS JOYOUS
11:04:54 * AnMaster is updating the ick package for arch
11:05:08  AnMaster: ick to regular: reverse >> s/-/pre/
11:05:35  ehird, just I'm having a headache here with a) versioning not increasing always b) pax
11:05:49  AnMaster: Just use the release date internally
11:06:00  ehird, for the package version. Hm maybe
11:06:11  AnMaster: Does Arch let you do
11:06:20  ver~somethingelse, where somethingelse is ignored? Or similar
11:06:21  PKGBUILD (c-intercal) W: Description should not contain the package name.
11:06:26  If so, just do releasedate~cintercalversionunmangled
11:06:45   ver~somethingelse, where somethingelse is ignored? Or similar <-- possibly, not that I know of though
11:06:48  AnMaster: Clearly they forgot to make it case-sensitive.
11:06:56  ==> ERROR: pkgver is not allowed to contain hyphens.
11:07:02  Try _
11:07:14  AnMaster: Or .
11:07:23  ehird, there is already . in it
11:07:25  20100104.0.-2.0.29
11:07:35  As long as you increase the major version to the release date every time, the rest won't matter
11:08:27  ehird, well that - caused issues ;P
11:08:43  s/-/pre/
11:14:44 -!- adam_d__ has joined.
11:15:32  grrrrr
11:15:49  I dont know wthe semantics are for a bunch of words I just use the identity function but that hardly makes sense
11:20:11 -!- adam_d has quit (Read error: 110 (Connection timed out)).
11:21:18  soupdragon: wat
11:21:23  wat
11:21:26  wut
11:21:33 * ehird does fun dependent-ish programming in haskell's type system
11:21:50  ehard
11:21:52  *Main> nonZero (undefined :: S Z) Full
11:21:52  ()
11:21:53  *Main> nonZero (undefined :: Z) Full
11:21:53  :1:25:
11:21:53      Couldn't match expected type `NonZero Z'
11:21:53             against inferred type `Full'
11:22:15  im codin this article augur showed me using dependent types
11:22:18  admittedly that's basically the same as using a typeclass, but i liiiike it
11:22:51    -> Extracting ick-0.-2.0.29.pax.gz with bsdtar <-- why bsdtar I wonder
11:22:57  why not gnu tar or pax
11:23:11 -!- adam_d has joined.
11:23:18  soupdragon: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15624#a15624
11:23:22  ch-ch-ch-check it out
11:23:38  next step: a safe vector
11:23:46  well
11:23:47  safe list first
11:24:28  cool
11:24:48  the snippet there can be done with typeclasses, but I like the agda-ish passing-the-condition
11:24:50  I think you can do this with a GADT too?
11:25:10  most likely
11:25:21  the nice thing about type families is... they're basically type functions
11:25:25  if you ignore the class/instance lines
11:25:31  it's just like a function definition in the type system
11:25:33  want a GADT challenge
11:25:39  shure
11:25:56  write the variadic function   sum (I 3) (I 2) (I 7) X = 3+2+7
11:25:59  as many I as needed
11:26:00  bye
11:26:01 -!- soupdragon has quit ("Leaving").
11:26:12  uh, bye
11:30:56 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
11:31:22 -!- adam_d_ has joined.
11:31:23 -!- BeholdMyGlory has joined.
11:33:48  To enable textual disambiguation of overlapping instances, we declare the equalities together (by transferring GADT syntax to type synonyms):
11:33:48  type TypeEq s t where
11:33:48    TypeEq s s = TTrue
11:33:49    TypeEq s t = TFalse
11:33:52  haha fucking sweet
11:37:58 -!- adam_d__ has quit (Read error: 110 (Connection timed out)).
11:43:11  ehird, that suggestion with release date won't work
11:43:22  packaging standards:
11:43:24  "Package versions should be the same as the version released by the author."
11:43:37  it's either that or it doesn't work
11:43:38  your choice
11:44:01 -!- adam_d has quit (Read error: 110 (Connection timed out)).
11:44:07  ehird, they suggested that minor "schema changes" might be okay. Which in this case would mean a boring 29.0pre2
11:44:18  except doesn't pre1 come after pre2 there
11:44:22  as in -2 followed by -1
11:45:12  yes
11:45:17  do pre(1/n) :P
11:45:51  ehird, nice idea
11:46:01  except would have to be written as decimal
11:46:05  yep!
11:46:26  29.0.pre0.5.0
11:46:34  YMMV :P
11:46:34  ehird, which might not always be exact.
11:46:48 * AnMaster points to -3 for example
11:47:03  then put the base in the version number!
11:47:10  say, as the last component
11:47:24  uh. how do you mean
11:47:40  well, 1/3 in base 3 is 0.1 right?
11:47:41  um, i think
11:47:54  so 29.0.-3 → 29.0.pre0.1.3
11:48:02  ehird, but it won't sort correctly if different bases are used for different versions, right?
11:48:03  where the .3 means "in base 3"
11:48:04  :-D
11:48:11  AnMaster: shush  you
11:48:13  *shush you
11:48:19  anyway
11:48:21  just do what debian does
11:48:32  ehird, ~ isn't allowed it seems.
11:49:51  ehird, anyway the arch dev I was speaking with gave up at the information that pre2 came before pre1. " what the hell :D"
11:50:30  just do what debian does, google to see how they mangle it
11:50:32  they manage fine
11:52:39  class             N n     where toNum  :: (Num m) => n -> m
11:52:39  instance          N Z     where toNum _ = 0
11:52:39  instance (N n) => N (S n) where toNum _ = 1 + toNum undefined
11:52:39  need to fill out a type for the toNum call in N (S n) :(
11:53:37      Could not deduce (N n1) from the context (Num m1)
11:53:38  sigh
11:55:06  technically -fglasgow-exts makes the type system tc
11:55:09  (can interpret lc)
11:55:10  i believe
11:59:49  i remember i used to know how to write this funcn
11:59:50  *func
12:23:18  *Main> undefined :: Fib (Fact (S (S (S Z))))
12:23:19  type 8
12:23:23  More jawsome than a speeding astronaut!
12:23:27  AnMaster: Represent ↑
12:23:35  ehird, ?
12:23:49  AnMaster: Haskell, there, is computing fib(fact(3)) ... in the type system.
12:23:54  As part of type checking.
12:24:00  ehird, do it in C++ templates ;P
12:24:21  Naw. Too easy.
12:37:34  hm isn't && and || non-original in C? as in, were added sometime after it become widespread but before C90
12:37:36  ehird, ^
12:37:54  i think they were added before it became widespread
12:37:58  it used to be just & and |
12:38:00  ah
12:38:05  but && and || were added for associativity
12:38:10  ehird, I'm just considering why & won't work very well
12:38:13  | sure
12:38:15  a == b & c == d
12:38:40 -!- augur has joined.
12:38:54  for any values if(a | b) will take the same branch as if (a || b) (excluding possible side effects of evaluating a and b
12:39:01  but for & that won't work
12:39:11  as in 2 & 1 won't be the same as 2 && 1
12:39:15  ehird, ^
12:39:35  no
12:39:39  it was purely for associativity
12:39:56  ehird, so how did they solve the issue with 2 & 1 not being a logical and
12:40:03  using !! ?
12:40:18  no
12:40:20 -!- soupdragon has joined.
12:40:22  by only doing bool & bool
12:40:24  hi soupdragon
12:40:40  i didn't solve your gadt thing, but I did make the type system execute fib(3!)
12:40:47  ehird, there are some functions in C that can return non-1/0 boolean values
12:40:56  AnMaster: don't use them in ifs
12:40:56  ehird, the stuff in ctypes.h comes to mind as a prime example
12:41:04  if(foo() > 0 & ...)
12:41:07  isalpha() or such
12:41:17  AnMaster: those are post-the-change
12:41:26  ehird, oh right
12:42:34  hey
12:42:58  type family   Fact n
12:42:58  type instance Fact Z     = S Z
12:42:58  type instance Fact (S n) = S n :* Fact n
12:42:58  type family   Fib n
12:42:59  type instance Fib Z         = Z
12:42:59  type instance Fib (S Z)     = S Z
12:43:00  type instance Fib (S (S n)) = Fib (S n) :+ Fib n
12:43:02  pretty cosy in type land
12:43:23 -!- FireFly has joined.
12:44:10  you didn't solve the puzzle :P
12:44:14  indeed
12:44:35  what puzzle
12:44:42  gadt puzzle
12:44:44  i might solve it next
12:44:54 * AnMaster googles
12:45:12  no luck
12:45:19  ehird, ^
12:45:25  AnMaster;  write the variadic function   sum (I 3) (I 2) (I 7) X = 3+2+7
12:45:26  maybe if we wanted to define the terms so you could understand we would have
12:45:29  using a GADT
12:45:42  no typeclasses or typefamilies or anything
12:45:56  terms AnMaster does not understand there:
12:45:57  - gadt
12:45:59  - typeclasses
12:46:01  - typefamilies
12:47:17  well if you don't know haskell this puzzle wont be fun
12:47:26  exactly :P
12:47:34  i think i've done basically the same thing before
12:47:38  lemme finish playing with this first
12:47:45  ehird, lemme get your opinion on something
12:48:39  shoot
12:48:57 -!- Asztal has quit (Remote closed the connection).
12:49:33  augur, is eat : (S\NP_sg)/NP the single correct category, and eat : (S\NP)\NP is just a hack that makes 'what does John eat' parse? (and so eat : (S\NP)\NP should be discarded)
12:49:43  i want to be able to draw diagrams in a webpage while having the HTML contain what seems to be some sort of code that describes the image
12:50:00  e.g. how wikipedia handles MathML or whatever
12:50:05  how do you think i should do this??
12:50:46  soupdragon: both are correct in the little shitty model of questions, they're just different words 'eat'
12:50:55  one for statements, one for direct object questions
12:51:17  augur: wikipedia does TeX, not mathml
12:51:18  define diagram
12:51:29  ok TeX, whatever
12:51:40  and you want the unprocessed code to be valid HTML?
12:51:50  yes
12:51:51  is it being rendered before publishing or will some js magic transform it
12:52:02  thats part of the question i suppose
12:52:22  well if you want the latter and don't care about the "theory" jsmath does that for latex
12:52:30  ehird, fun thing: arch's clang package does not depend on llvm
12:52:32  let's say you want to embed http://ditaa.sourceforge.net/ diagrams
12:52:40  I haven't tried it without llvm installed. So not sure if it works or not
12:52:41  and process it before publication
12:52:43  I'd do this
12:52:58  
12:52:58 ...ditaa source... 12:52:58
12:53:01 augur, so can you unify them into something else using bluebird? 12:53:05 transformed by some program to 12:53:20
12:53:20 or eat just has to have two different categories? 12:53:21 12:53:21 ...ditaa source... 12:53:21
12:53:21 with 12:53:26 .diagram * {display:none} 12:53:35 .diagram img {display:inline} 12:53:53 is that an answer? 12:53:55 ehird: i was actually thinking about doing something from scratch as the kinds of diagrams i need are sort of custom 12:54:01 http://ditaa.sourceforge.net/ 12:54:06 ditaa can handle anything you throw at it 12:54:37 including colours, curves, every box style in existence, many types of lines, weird point things, overlapping diagrams, ... 12:55:16 augur: if you have a stylesheet for non-graphical agents too that hides the img and shows the ditaa source, then the only unhandled case in my way is if the image doesn't load 12:55:19 but that's pretty edge-case 12:55:22 can it handle automatically calculated tree diagrams, symmetry-preseving graph diagrams, and attribute-value matrices? :) 12:55:44 i don't know 12:55:45 anyway 12:55:48 ditaa was just an example 12:55:50 you get the idea 12:55:51 yeah 12:56:18 Overlapping instances for Show () 12:56:18 arising from a use of `print' at :1:0-29 12:56:19 Matching instances: 12:56:19 instance Show () -- Defined in GHC.Show 12:56:19 instance (ToNum n) => Show n 12:56:19 whoopsy. 12:56:19 i just want an idea of what sort of thing you think i should do -- JS rendered, JS calling out to a server-side lib, or server-side preprocessing 12:56:24 soupdragon: restate your gadt problem again? 12:56:37 ehird what's not clear about it? 12:56:45 soupdragon: theyre just two different types 12:56:49 augur: well you can avoid js in this case and that'd support non-js agents, speed up page loading, etc 12:56:55 you dont use bluebird on them, you just do it like normal 12:56:56 like i showed 12:57:00 so i wouldn't go for js, i'd go for a tool that preprocesses the html 12:57:07 ok 12:57:09 augur how does it motivate going from CG to CCG then? 12:57:31 augur: i wouldn't do anything server-side either really 12:57:34 are these pages otherwise static? 12:57:45 soupdragon: because you'd need to expand your lexical inventory for _every_ kind of extraction site 12:57:57 ehird: yes 12:58:02 just do % diagrender < foo.html > upload/foo.html 12:58:07 on your local machine 12:58:13 wha 12:58:23 what do you mean, wha 12:58:24 oh you mean preprocess locally 12:58:28 yes. 12:58:38 no need to cause server/client side load when it's a trivial preprocessing step 12:58:57 i dont want to have to be at my machine to fix a mistake or something tho 12:59:13 i want it to just be transparent, as if the browser supports it 12:59:13 put the program on a usb stick :p 12:59:14 or ssh! 12:59:34 the extraction site in that example is the word "does"? 12:59:38 then do it with server side processing 12:59:44 cache it or w/e 12:59:54 soupdragon: restate gadt prob plz 12:59:59 ehird what's not clear about it? 13:00:04 nothing 13:00:07 soupdragon: no, the extraction site is the direct object "john eat ___" -> "did john eat ___" -> "what did john eat ___" 13:00:10 i just refuse to scroll up :) 13:00:24 write the variadic function sum (I 3) (I 2) (I 7) X = 3+2+7 13:01:06 soupdragon: its actually significantly worse that that tho: because extraction can happen in a wide range of places, you would actually have to have to change the types in an insanely convoluted fashion, possibly even having an infinite number of types for _every single word_ 13:01:12 soupdragon: can I just support Integer? 13:01:15 or do I have to use Num 13:01:35 Integer 13:02:03 and can I define other auxiliary types? 13:02:11 augur okay thanks! 13:02:13 yes ehird 13:02:32 the rule is just that you don't use typeclasses or any of those things 13:02:33 ehird, so i take it that you would prefer server-side preprocessing to anything else 13:03:17 soupdragon: i've done this before iirc, it involves a continuation argument I believe 13:03:33 augur: well js is entirely superfluous here and isn't always available/introduces page loading lag/etc 13:03:38 so server-side processing seems reasonable 13:03:39 true 13:03:59 but if JS is more convenient to implement that's fine too 13:04:03 now i have another question 13:04:10 your mom has another question 13:04:16 im basically going to be creating a custom graphics engine here, right 13:04:26 augur: you don't need to do that 13:04:32 no, i do, trust me. 13:04:34 soupdragon: also I can name it something other than sum can't I 13:04:42 augur: no, I won't trust you, because you're wrong 13:04:42 of cours... 13:04:44 soupdragon: (prelude clash) 13:05:15 by custom graphics engine i mean basically something that lets me define custom drawing constructs that unfold recursively, etc. 13:05:27 *Main> sumT (I 3) (I 2) (I 7) X 13:05:27 0 13:05:29 close 13:05:54 what i want to know is what sort of syntax i should give it 13:08:11 im confused :( 13:08:12 augur: is there something wrong with using data structures instead of strings? 13:08:15 that would be easier to manipulate 13:08:23 soupdragon: 13:08:24 *Main> sumT (I 3) (I 2) (I 7) X 13:08:25 12 13:08:31 how did you do it? 13:08:35 ehird: well, data structures cant be encoded into HTML. 13:08:48 or written in page's source code, rather 13:08:54 augur: put the diagram code into the html, and have a processor diagram→graphicsengine 13:08:55 presumably 13:09:07 soupdragon: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15627#a15627 13:09:08 well thats what i was going to do, ehird :P 13:09:23 augur: so you want syntax for the diagram stuff, not the underlying drawing engine, presmuably 13:09:23 nice work that's exactly the solution I got 13:09:26 *presumably 13:09:27 the question is what do you think the diagram code should look like 13:09:35 soupdragon: i think it's pretty much the only solution 13:09:42 unless you allow the use of things other than gadts 13:10:02 because its going to need to permit custom definitions of functions, etc. 13:10:14 oh well I used an integer instead of continuation 13:10:21 but that's not a real difference 13:10:22 d'oh 13:10:35 i just did continuations cuz i always did in my vararg stuff, to allow for more generic uses 13:10:46 soupdragon: a challenge for you — implement: 13:11:00 foo 0 == 0 13:11:01 foo 1 3 == 3 13:11:01 foo 2 3 4 == 7 13:11:01 ... 13:11:12 you may define types and typeclass instances 13:11:16 but not define any typeclasses yourself 13:11:23 you can use GADTs too if you want 13:11:32 any opinions, ehird? 13:11:37 * ehird writes down his solution 13:11:42 augur: make it look functional-esque 13:11:48 :P 13:11:49 since it's essentially a functional program 13:11:59 of type drawing instructions, right? 13:12:03 your server side code is 13:12:12 draw :: diagram → drawing 13:12:18 pretty much 13:12:19 ehird but that's impossible unless you typeclasses isn't i t 13:12:22 so your input is of type diagram 13:12:30 soupdragon: you can define typeclass instances but not typeclasses 13:12:38 hm 13:12:43 augur: well 13:12:48 gimme an example you want to express, including a function 13:12:52 and i'll show you what syntax i'd use 13:12:55 you can use english 13:12:59 but as far as the syntax is concerned -- haskellish, rubyish, lisp-ish? 13:13:16 ok lets say i want to do a tree diagram, right 13:13:17 well is ease of parsing a concern? 13:13:23 if so, go for lisp, job done 13:13:42 no, i want it to be vaguely possible for others to use it tho 13:14:20 so suppose that [a b c] is a simply tree with "a" as the root node, and "b" and "c" as the two daughter nodes 13:14:37 soupdragon: oh, and you may use FlexibleInstances 13:14:48 augur: right 13:15:02 or where, lets say, [(a\nfoo) b c] is a tree where the root node has the two lines a, and foo, as the contents 13:15:03 etc. 13:15:32 soupdragon: although, hmm, I think an ideal implementation might not 13:15:38 also, you are allowed to use undefined 13:15:45 but if you don't need FlexibleInstances you don't need to use undefined 13:16:03 hmm, maybe 13:16:05 not sure 13:16:31 ehird I got for newtype Foo = Foo Integer 13:16:33 foo = Foo 0 13:16:39 maybe... 13:16:48 the code should be able to define a tree drawing algorithm so that drawing the tree [a [b c d] [e f g]] is done recursively 13:16:51 perhaps that doesn't work 13:17:56 e.g. equivalent to like branch("a", [branch("b", [leaf("c"), leaf("d")]), branch("e", [leaf("f"), leaf("g")])]) 13:18:11 augur: okay 13:18:23 augur: erm, describe the drawing algorithm to me 13:18:26 so that i can write the code for it 13:19:04 soupdragon: ugh, my solution has run into an overlapping instances problem :) 13:19:06 i know this is possib— ah! 13:19:08 * ehird has an idea 13:19:12 I can't do it because of flexible instance 13:19:19 lemme try something 13:19:21 I believe it is possible 13:20:58 ehird, i dont know. the point is that in this graphics language it should be possible to define something like leaf(_) or branch(_,_) that will be recursive functions that return little image objects that get composited together into larger units and so forth 13:21:18 i just need to know the general sort of syntax you think would make this clean and understandable 13:21:47 well gimme an example drawing instruction 13:21:54 its going to need to be vaguely powerful, unfortunately, but 13:21:56 your information is far too vague atm to give a good syntax 13:22:23 er. well ok, lets suppose we're doing a ruby-esque syntax for now, and we're defining some sort of tree algorithm 13:22:36 let me do this in a pastie 13:24:25 I can't do it! 13:25:28 soupdragon: maybe we should help each other, I keep honing on the solution but can't quite get to it 13:28:01 soupdragon: I have: 13:28:02 *Main> foo Zero 13:28:03 0 13:28:03 *Main> foo (Succ Zero) 1 13:28:03 1 13:28:04 *Main> foo (Succ (Succ Zero)) 1 2 13:28:04 3 13:28:09 so it's just a matter of somehow hacking this into a Num instance 13:28:12 so we can have fromInteger 13:28:25 hey that seems like it culd work 13:29:05 http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15628#a15628 13:29:12 if we can fill in fromInteger, it'll work 13:29:33 note that that Eq instance is technically correct; as different N numbers have different types, and (==) takes two things of the same type, it's always true :) 13:29:44 of course the other Num functions are blatantly undefined 13:30:45 I have got 13:30:45 *Main> foo (1::Integer) (3::Integer) (6::Integer) :: Integer 13:30:45 10 13:30:53 but I can't omit any of the annotations 13:30:58 and it uses flexible instances 13:31:08 yeah that's just standard variadic stuff 13:31:18 instance Num n => Num (Integer -> n) where fromInteger x y = fromInteger x + fromInteger y 13:31:24 basing it on my thing is more likely to work, as it encodes the function type in the type 13:31:26 (and empty show/eq instances) 13:31:50 http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15628#a15628 ;; can you think of a definition for fromInteger? 13:32:12 actually 13:32:15 maybe if you split it into two instances 13:32:17 i think you'll need separate num instances 13:32:18 yeah 13:32:20 lemme try 13:32:21 one for each constuctor of the GADT 13:32:56 *Main> fromInteger 0 :: N Integer 13:32:57 (freezes) 13:32:58 how peculiar 13:33:33 OH 13:33:38 fromInteger _ = 0 13:33:39 spot the stupid 13:34:27 augur cn you tell me some intro stuff for CCGs ? http://groups.inf.ed.ac.uk/ccg/publications.html is half dead 13:34:38 something that will explain what's going on with eat ... 13:34:40 whats to tell you beyond what i wrote? :| 13:35:43 I'm just confused about the step from CG to CCG, it seems to be motivated by some uglyness with eat - but even in CCG you still have two categories for eat? 13:35:55 no, you just have one 13:35:59 (S\NP)/NP 13:36:06 ah! okay that seems to fit better 13:36:11 where did you get two from? 13:36:17 augur: you haven't posted that pastie yet 13:36:22 'This solution is tremendously inelegant, however, because we’d have to posit a whole slew of different versions for the verb eat, just to handle the different kinds of sentences we get in English.' 13:36:23 ehird: i know :D 13:36:37 soupdragon: that wasnt in CCG! that was just in CG! thats the point! 13:36:42 okay :))) 13:36:48 let me try and parse it in CCG 13:37:49 class Nish a 13:37:50 instance Nish Integer 13:37:50 instance Nish a => Nish (Integer->a) 13:37:50 instance (Nish a) => Num (N (Integer -> a)) where 13:37:53 this instance is proving difficult 13:38:02 ehird: http://pastie.org/767377 13:38:13 incidentally Emacs is a lot nicer if you maximise it 13:38:23 woops 13:38:28 whoops what 13:38:34 ok sorry now 13:38:40 ? 13:38:47 the pastie 13:38:51 i misstyped something 13:38:54 ah 13:38:59 fix it then? 13:39:02 yes 13:39:19 ehird, oh? is it? both ways seems nice to me. Though I often use it in terminal, not X 13:39:21 ok, so I'm just gonna write something and maybe fiddle with it and the like 13:39:24 see if I can get something nice 13:39:34 where "maximised" doesn't make any sense 13:39:44 ehird: im trying to use a sort of SICP graphics language y feel to it 13:39:58 AnMaster: well for instance it splits vertically by default when maximised (assuming sane screen dimensions), and if you create three window thingies it splits like that 13:40:02 with functions like above, below, beside, etc, you know? 13:40:05 instead of just sticking to two 13:40:09 it feels more dynamic 13:40:16 augur: elaborate 13:40:17 you mean like 13:40:19 constraint solving? 13:40:24 no no just 13:40:25 you say 13:40:28 x is above y 13:40:31 z is next to x 13:40:33 well you remember how in SICP they have an imaginary image language where if you did 13:40:36 and the engine figures out the positions 13:40:38 (beside a b) 13:40:39 based on that 13:40:43 augur: i haven't read sicp, gotta be honest. 13:40:47 ah well 13:41:11 it took two images a and b and just sort of image-concatenated them so that the resulting image was just b immediately below a 13:41:25 ehird, hm okay 13:42:34 augur: so in your tree model a branch can have N>0 children right? 13:43:01 sure lets pretend that trees must have non-zero children otherwise its a leaf 13:43:04 what about the value in the branch, can that be any type? 13:43:13 or just a string? 13:43:14 sure 13:43:20 anything thats drawable 13:43:24 string, number, another image 13:43:25 i dont care 13:43:28 ah 13:43:33 but not every type is drawable, presumably 13:43:36 for instance, functions 13:43:42 good luck drawing a function 13:43:48 well thats up to the language 13:43:55 maybe if you tried to draw the function you'd get the source 13:43:55 right, but the point is 13:43:58 using haskell terminology 13:43:59 it isn't like 13:44:01 or !proc 13:44:02 or something 13:44:03 forall a. a -> 13:44:04 it's 13:44:04 i dont know 13:44:08 Drawable a => a -> ... 13:44:14 sure whatever 13:44:30 good luck drawing a function <-- generate a flow diagram ;P 13:44:38 an infinite flow diagram! 13:44:48 leaf is Drawable a => a -> Image 13:44:53 ehird, yes quite :D 13:45:00 branch is Drawable a => a -> [a] -> Image 13:45:17 technically, we could represent this as "everything is a branch" 13:45:28 where branch=list of 1+ elems 13:45:30 sure but i dont wanna ;) 13:45:32 leaf = ["abc"] 13:45:38 branch = ["abc","def","blah"] 13:45:49 whatever 13:45:53 augur: the reason I said this is 13:45:54 I was writing 13:45:56 type Tree 13:45:57 Leaf :: Drawable -> Tree 13:45:57 Branch :: Drawable -> List Tree -> Tree 13:45:57 end 13:46:02 but then I realised, this is the same as just having Branch 13:46:08 if the list is empty, it's a leaf 13:46:17 i mean, ideally 13:46:44 what i'd like is for this language to allow TeX esque library functions that can accept custom syntax 13:47:02 custom syntax is rarely needed if your syntax is good enough 13:47:25 eg. in qtree you can just do \Tree [.a [.b c d] [.e f g]] 13:47:27 augur: so, trees should be drawable, obviously, right? 13:47:37 (amusing consequence: you can have leaves that are trees) 13:47:51 you can have NODES that are trees! :) 13:47:54 tree() is the function that draws a tree, in yours 13:47:56 amirite 13:48:05 yep 13:48:09 so you can, in principle, do like 13:48:25 -!- soupdragon has quit (Read error: 104 (Connection reset by peer)). 13:48:25 also, you don't mind me slightly changing the semantics to try and get a nice syntax right ;) 13:48:33 as in, same results 13:48:37 but different in-language semantics 13:48:38 tree [tree([a,b,c]), tree([1,2,3)], tree([:x,:y:,z:])] 13:48:46 -!- soupdragon has joined. 13:48:46 change the semantics how you want 13:49:04 im just thinking the easiest way to do it is to have functions like above/below/beside/etc. 13:49:12 sure, not changing that part 13:49:20 just flexing my awesome language designer muscles to MAKE CODE BETTER 13:49:23 really, what i guess these would really be, is magic data structures 13:49:43 where like, text_cell(text, width=:auto, height=:auto) 13:50:06 is really just a constructor for something like, say, { :text => text, :width => width, :height => height } 13:50:41 below(a,b) is really just a constructor for say { :type => :below, :top => a, :bottom => b } 13:50:51 augur I can't find a CCG parse of "What does John eat" :( 13:51:12 I must have the categories of these words wrong. 13:51:22 and so forth, and the engine knows what it means to Show these things 13:51:36 * soupdragon looks for some kind of lexicon 13:52:11 soupdragon: lets do PMs so we dont flood the channel 13:54:31 width = subtrees.inject(0) { |c,x| c + x.width } 13:54:43 imo this is a flaw of your drawing system; with a constraint-based system this would be worked out automatically 13:55:25 sure, that really wasnt necessary actually :p 13:55:39 well no maybe not actually 13:55:54 my crazy inner language designer is adding features never seen before to your language btw :P 13:55:56 well, one feature 13:55:56 for this particular example maybe 13:56:03 awesome :D 13:56:04 that happens to serve the purpose of two features in other languages! 13:56:22 specifically, it handles both haskell-typeclasses and haskell-data-declarations 13:56:43 : 13:56:44 :P 13:56:58 so in your thingy below takes a bunch of images and puts them one after another vertically 13:56:59 right? 13:57:39 yep 13:57:48 you'd have options for left aligned, centered, right aligned 13:57:55 what's after, like below but horizontally? 13:57:55 justified 13:58:00 yeah 13:58:08 mind if I name that "beside" 13:58:15 no i dont care 13:58:40 im also thinking that the images, as composite data structures, should permit two things 13:58:43 -!- Asztal has joined. 13:59:07 general bounding boxes as well as n-recursive bounding rects 13:59:29 as well as path-level bounding shapes 13:59:41 so just to check are you sure you don't want a constraint system :) 14:00:09 well maybe i do! i dont really know 14:00:35 good, you do, i will incorporate that in my snippet 14:00:40 :p 14:00:44 whatever you want 14:00:55 im going to start a github for this 14:00:59 augur: basically all it means is that instead of working diirectly with images and each function like below laying them out itself, 14:01:12 below actually just generates a list of constraints like this: 14:01:22 for below(x,y,z): 14:01:42 it should be arbitrarily many items, mind you 14:01:49 yes 14:01:50 { y.top >= x.bottom, 14:01:50 z.top >= y.bottom } 14:01:52 tho i guess that can preprocess out 14:01:56 see how that works? 14:02:03 sure 14:02:08 maybe it should be = instead of >= tho 14:02:20 well, "below" would simply mean 14:02:21 "is below" 14:02:28 if you didn't put anything in between later 14:02:32 it'd be == 14:02:36 *if you 14:02:41 oh i suppose 14:02:41 but the composability of constraints is the cool part, so. 14:02:47 anyway, the constraint engine is basically like prolog except a lot simpler 14:02:59 howre the constraints composable now? 14:03:02 it handles a bunch of constraints and works out what arrangements satisfy it 14:03:02 well how about this 14:03:07 and picks the "best" one, per some metric 14:03:10 you come up with some ideas, and show why its cool 14:03:11 and all other constraints just reduce to that 14:03:21 augur: no i'm just going to assume you want it and code as if you do :) 14:03:30 lol 14:03:37 right but show me why its nifty like that 14:03:59 because im not entirely sure im following your reasoning about why this is useful 14:04:31 i can't really show an example off the top of my head, but when it's useful it is :P 14:04:43 i mean 14:04:50 you never have to futz with widths or manual placement or anything 14:05:08 well, in some cases you might need to tho i think 14:05:11 you just have to know, this has to be above this, this should be at the left edge of this, this should overlap this and this 14:05:16 but show me cases that eliminate this 14:05:17 and the computaah figures it out for you 14:05:23 no, i'm translating your pastie 14:05:27 and if you keep talking i won't be able to 14:05:31 :P 14:05:52 what exactly is the point of your triangle call in branch() 14:05:55 does it actually display anything 14:08:16 a triangle instead of branch lines, because im too lazy to figure out how the branchlines should be calculated :p 14:08:36 http://ironcreek.net/phpsyntaxtree/ 14:08:38 draw that tree 14:08:38 okay so this is tree drawing, psychedelia edition 14:08:44 where you can't tell which branches are which :D 14:08:46 and notice the triangle under NP_2 14:08:50 sure :d 14:08:51 :D 14:09:03 oh i see 14:09:07 the triangle stops just before the children 14:10:03 actually, (0,50) is kinda arbitrary, I think this will break if you have a nested tree... like any decent tree 14:11:06 it is indeed arbitrary 14:11:09 i just wanted a number 14:11:14 yes but 14:11:22 let's say you have 14:11:48 ["foo",["abc","def","blah"],["fff","ggg","zzz"]] 14:11:58 the triangles under abc and fff will overlaap 14:12:02 *overlap 14:12:05 instead of being side by side 14:12:06 no? 14:12:21 right 14:12:28 oh, no sorry 14:12:34 well 14:12:40 yes over the abc nodes right 14:12:45 one bit triangle 14:12:49 ok wait lemme draw 14:12:59 that is as wide as the whole image, with those two things just below it 14:13:11 (using the definition i gave for this, anyway) 14:15:37 http://pastie.org/767427 14:18:39 no? 14:19:06 actually, given how i defined it, it'd be more eh 14:20:12 http://pastie.org/767431 14:20:18 just by how i defined it 14:20:25 ok, so it does handle that 14:20:28 because the upper triangle fully spans the lower images 14:20:31 yes, it does 14:20:47 i need to look at your code more carefully, then translate it to constraints ;) 14:21:41 augur: so the triangles are always 50 high? 14:21:48 50px? or does it scale 14:22:04 sure, always 50 14:22:07 in this one 14:23:33 whatevers easiest 14:23:35 it doesnt matter 14:23:40 this is an unrealistic definition anyway 14:24:09 ideally the triangles should only be as wide as necessary to cover all the root nodes of the subtrees and no wider 14:28:09 http://pastie.org/private/pzgtz8nyegfgpsbn1lcdq 14:28:09 First attempt. Note something interesting here: width(subtrees) doesn't return a number, since it isn't known until draw time. Instead it returns an abstract object, so that in the end it turns into constraints like { triangle.p1.x == subtrees.width }. 14:29:13 Er, *subtrees.width/2 14:29:46 -!- FireFly has quit ("Leaving"). 14:29:59 yeah 14:30:39 Also note the interesting below[] call. Since most function arguments are tuples, i.e. f(x,y) is f (x,y), we do variadic functions by instead passing a list. 14:30:52 Cute syntax ensues. 14:32:26 The syntax is a bit too (())ish for me. 14:32:29 But it's a start. 14:32:37 And it has my Mystical New Feature. 14:32:41 (groups) 14:33:13 ill look it over 14:33:25 i cant do anything significant right now tho, im about to leave for the airport 14:33:34 YOUR MOTHER is about to leave for the airport. 14:33:59 no shes not 14:34:04 OR IS SHE 14:34:08 she isnt. 14:34:50 OR IS SHE 14:36:04 I fail making semantics for "and" :( 14:41:45 soupdragon: any progress on the foo function? 14:42:40 byeee 14:42:45 -!- somebody_ has joined. 14:43:05 grrrrrrrr 14:43:17 -!- soupdragon has quit (Nick collision from services.). 14:43:20 -!- somebody_ has quit (Remote closed the connection). 14:43:32 -!- soupdragon has joined. 14:45:30 soupdragon: any progress on the foo function? 14:46:46 I gave up ehird it's too hard 14:46:54 :( 14:46:56 you should just allow type annotations :) 14:47:59 I cannot build a semantic domain without modelling untyped lambda calculus :[ 14:48:08 semantics of "and" is givin me problems 14:53:13 -!- MigoMipo has quit ("co'o rodo"). 14:53:25 soupdragon: fine, i allow type annotations, but your function didn't do what i asked 14:53:32 the first parameter to foo is the *number of arguments it will take* 14:59:02 oh really 14:59:07 I didn't get that 14:59:49 -!- augur has quit (Read error: 110 (Connection timed out)). 15:00:35 I think there is a way to compute types from values like this using typeclasses 15:00:49 not totally sure about the details but I saw some odd trick in #haskell one time 15:03:13 as I said 15:03:16 well 15:03:18 I guess it wasn't clear 15:03:22 but yeah, that's the idea 15:03:35 you need to have some Num that you defined that lets the first argument be one of your types 15:03:43 so you can encode what you need into the type 15:08:49 http://plasmasturm.org/log/542/ 15:08:50 I wonder what a language based around caching would look like. 15:11:49 "During the summer of 1981, my work on TeX began to consume so much time that I had to stop answering mail about The Art of Computer Programming. I began to set all such incoming mail aside and to send form-letter replies: ``Thanks, I'll get back to you soon.'' 15:11:49 Finally I was able to go through all the letters accumulated during a 15-year hiatus[…]" —Knuth 15:15:10 im totally stumped wrt semantics of "and" 15:15:25 it seems like the only way to tackle this is to use untyped lambda calculus 15:15:34 but simple types are so much simpler.... 15:28:09 soupdragon: is it strongly typed LC? 15:28:16 that's not TC, you need fix 15:28:23 I don't want TC± 15:28:24 I don't want TC! 15:28:27 alrighty then 15:28:29 what's the issue 15:28:34 but I think I have to have it 15:28:34 I wish http://arcanesentiment.blogspot.com/ posted more 15:28:44 soupdragon: have you considered LC+dependent types 15:28:52 (let's traverse the lambda cube until we find something that'll work :P) 15:29:13 it was going really well with simple types, until AND came along and ruined it 15:30:13 the problem is this, 15:30:20 if AND : Sem -> Sem -> Sem, 15:30:26 define Sem 15:30:35 data Sem : Set where 15:30:41 CAT, DOG, MARY, JOHN : Sem 15:30:50 RUN : Sem -> Sem 15:31:04 -!- augur has joined. 15:31:06 SEE, EAT, LOVE : Sem -> Sem -> Sem 15:31:13 p hai 15:31:25 o hai* 15:31:26 hi 15:31:32 å hai 15:31:32 soupdragon: whatve you been up to? :) 15:31:36 :D 15:31:49 im puzzling over semantics 15:31:50 btw, for NP conjunction 15:32:13 you dont conjoin NPs directly but rather their lifted counterparts 15:32:26 ehird, so the problem is you can do stuff like AND CAT DOG, but you can't have AND (\x -> LOVE x) (\x -> EAT x) 15:32:30 let NP' = S\(S/NP) 15:33:08 soupdragon: so the basic issue is, x is like 15:33:09 "I love it" 15:33:10 right? 15:33:11 ehird, but if I set Sem ~ Sem -> Sem, then I model untyped lambda calculus and that means I don't know if anything terminates 15:33:12 it=x there 15:33:20 "I love it and I eat it" 15:33:20 and : (NP'\NP')/NP' = \q.\p.\r.p(r) & q(r) 15:33:25 Mary loves and eats dogs 15:33:28 what was the command to explain a C type. It slipped my mind 15:33:29 → AND (\x -> LOVE x) (\x -> EAT x) 15:33:31 soupdragon: ah, I see 15:33:34 AnMaster: cdecl 15:33:38 ehird, thanks 15:33:43 soupdragon: (disturbing example) 15:33:47 soupdragon: is make sense? 15:33:48 ffs, not in arch 15:33:52 * AnMaster looks in aur 15:33:59 AnMaster: http://cdecl.org/ 15:34:00 enable js 15:34:01 you're welcome 15:34:08 ah it is in aur 15:34:15 augur: well my and is (X\X)/X, and that's just one instantiation right? 15:34:19 soupdragon: so, are you averse to introducing typeclasses? 15:34:26 ehird, someone ported it to js? 15:34:32 AnMaster: it's ajax i think 15:34:35 soupdragon: indeed, thus we have a big of a tricky thing dont we! 15:34:37 ah 15:34:45 YES 15:34:48 oops 15:34:50 soupdragon: i'd model this as 15:34:50 class AND a 15:34:50 instance AND Sem where AND = ... 15:34:50 atleast if you want consistent semantics 15:34:51 instance AND a => AND (Sem -> a) where AND = ... 15:35:02 soupdragon: or, if you want to introduce dependent types... 15:35:13 you can let it be what it is, and force conjunction to be, semantically, (a -> b) -> (a -> b) -> (a -> b) 15:35:20 you could have IsSemType 15:35:20 this would _force_ NPs to type-lift 15:35:21 and the like 15:35:23 and take a type 15:35:57 augur, so the semantics of Mary loves cats and dogs would be and(love(mary,cat),love(mary,dog)) ? 15:36:05 yes 15:36:06 rather than love(mary,and(cat,dog)) 15:36:13 right 15:36:17 that sounds good 15:36:21 why didn't I think of that :( 15:36:22 soupdragon: or, here's an idea 15:36:24 instead of 15:36:27 what you said 15:36:27 do 15:36:37 (\x -> AND (LOVE x) (EAT x)) 15:36:46 exactly 15:36:54 for verbs you'd just conjoin the verbs by forking over & 15:36:58 you could do that programmatically and the like really 15:37:10 with cats and dogs, you turn the nouns into functions that you can fork over & 15:37:17 in applications, take all functions and replace them with their bodies, then add their parameters to the whole expression 15:37:58 soupdragon: if you want to make a single system that will uniformly handle a large chunk of a language, tho, it becomes _INCREDIBLY_ tricky 15:38:10 I bet :) 15:38:40 hmm 15:38:47 I wonder if you could make a language based on functions bubbling up like that 15:38:47 Paul Pietroski has whats called a conjunctivist model 15:38:54 so what we're using right now is a functionist model 15:39:02 as in, f (\x -> ...) turns into (\x -> f (...)), always 15:39:03 where everything is function application 15:39:31 ehird -- ive thought of things roughly like that 15:39:45 only slightly reverse 15:40:29 so 15:40:33 soupdragon: pietroski's approach is one in which the only semantic composition rules are conjunction of predicates 15:40:41 and conjunction-over-closure of predicates 15:40:43 plus = \m,n. m SUCC n 15:40:46 augur I just bookmarked a search for it 15:40:47 expand SUCC 15:40:51 e.g. 15:40:56 plus = \m,n. m (\n,f,x. f (n f x)) n 15:40:58 bubble up 15:41:00 eat = \x.eating(x) 15:41:10 john = \y.john(y) 15:41:17 plus = \m,n,n',f,x. m (f (n' f x)) n 15:41:27 dance = \x.dancing(x) 15:41:28 god knows what that does 15:41:40 'eating and dancing' ~ \x.eating(x) & dancing(x) 15:41:53 well, eat and dance* 15:42:27 John eats and dances = \x.eating(x) & dancing(x) & Ey[actor(x,y) & John(y)] 15:42:33 the model soupdragon said 15:42:33 thatt is 15:42:40 AND (\x.LOVE x) (\x.EAT x) 15:42:42 doesn't even make sense 15:42:47 because the two arguments could differ 15:42:51 *that is 15:43:06 ehird, actually you can make it work like in a pietroskian system 15:43:19 where the _participants_ of actions are not expressed as in eat(John,pizza) 15:43:37 but rather as in eat(e) & eater(e,John) & eaten(e,pizza) 15:43:44 where e is 'the event of eating' 15:44:26 Donald Davidson proposed this account so that statements like "John ate the pizza quickly" can make some amount of sense 15:44:29 if semantically this was just 15:44:35 -!- MigoMipo has joined. 15:44:37 quickly(ate(John,pizza)) 15:44:44 and if ate(John,pizza) == true 15:44:47 then this is quick(true) 15:44:49 which is nonsensical 15:45:10 because it "means" the same thing as quickly(danced(Susan)) if danced(susan) == true 15:45:28 so davidson said, lets just use variables that denote the event or action 15:45:50 and you get quickly(e) & eating(e) & eater(e,John) & eaten(e,pizza) 15:45:57 but can't quickly(ate(John,pizza)) make sense? 15:46:07 not if you have referential transparency 15:46:15 imagine this haskell 15:46:27 suppose ate(John,pizza) = a video of john eating pizza 15:46:27 and ate(John,pizza) is of type Thing -> Thing -> Bool 15:46:39 then quicky(a video of john eating pizza) = a video of john eating pizza played at 2x speed 15:46:59 sure, but then you'd need it to be of type Thing -> Thing -> Thing 15:47:09 and in normal logic, everything is taken to be ... -> Bool 15:47:15 okay 15:47:25 but thats ok right 15:47:38 because if ate(John,pizza) is Thing -> Thing -> Event 15:47:40 lets say 15:47:48 we can make it logicy 15:47:51 the thing with quicky(e) & eating(e) ... is sort of like a constraint program, at least superficially 15:48:11 by doing ate`(John,pizza,e) :: Thing -> Thing -> Event -> Bool 15:48:13 soupdragon, it seems slightly similar to predicate logic to me 15:48:22 AnMaster: it IS predicate logic :p 15:48:30 augur, oh why didn't you say that 15:48:38 ate`(John,pizza,e) :: Thing -> Thing -> Event -> Bool -- aha!!! 15:48:39 soupdragon: and ofcourse this just makes it obvious that you've got this extra event variable 15:48:44 augur, I thought that no one would discuss something as trivial as that in here ;P 15:48:51 right I see that's cool 15:48:55 with ate :: Thing -> Thing -> Event, you'd end up doing stuff like 15:49:05 what is Thing? 15:49:09 let e = ate(John,pizza) in quickly(e) & in_the_kitchen(e) 15:49:16 AnMaster: the type for things, people, stuff, etc. 15:49:16 John and Pizza and such? 15:49:20 ah 15:49:31 but notice, soupdragon, that you're still, ultimately, predicating of the event 15:49:41 yes 15:49:49 augur, but what is the type of quickly? 15:49:54 or ate 15:49:57 AnMaster: Event -> Bool 15:50:13 augur, can you describe those in a "meta"-way 15:50:13 ate` with the davidsonian account is Thing -> Thing -> Event -> Bool 15:50:47 AnMaster: you can make quickly() a special-form of your logic, in the same way that cond is a special form of lisp 15:50:57 you could make _Everything_ special forms 15:51:20 but its nicer if we can bring our knowledge of pred-calc to bear on this 15:51:26 augur, I haven't followed the entire convo here, so not sure of the scope of what you try to describe. But I was considering something like "ate is the past tense of eat" 15:51:30 i mean, if you have special forms, you have to define a whole new logic 15:51:34 its much nicer to just use what we have 15:51:45 of course I guess they are then thinks 15:52:03 ate-is-the-past-tense-of-eat can actually be seen as like 15:52:12 "ate" is really two things 15:52:19 eat and -ed 15:52:28 eat = \e.eating(e) 15:52:32 -ed = \e.past(e) 15:52:44 conjoining them, eat-ed = \e.eating(e) & past(e) 15:52:56 and thenw e just say that the morphology of english turns eat-ed into ate 15:53:01 ok im off for the flight guys 15:53:01 see ya 15:53:06 AnMaster: It's not predicate logic, it's linguistics. 15:53:08 They're just isomorphic. 15:53:12 augur, eating implies "right now" iirc. What about "I often eat pasta but right now I'm eating spinach" 15:53:15 bye augur!! 15:53:25 that's awesome putting morphology into it 15:53:57 augur, feel free to add in "ate" there as well ("and yesterday I ate nothing") 15:54:07 He's gone. 15:54:08 -ing = \e.currently(e) 15:54:14 ah right missed that 15:54:23 I just made that a rule 15:54:26 since it's plausible 15:54:38 -s = \e.pluraly(e) 15:54:43 soupdragon, what about "eating fruit is good for you", not "currently" there 15:54:47 stuff like that I guess 15:54:47 fuck 15:54:50 of course English is a mess 15:54:51 I wanted to ask augur anothing thing 15:55:01 hm that's true 15:55:04 (most natural languages are) 15:55:11 I am not sure what ing should be 15:55:36 soupdragon, English is ambiguous. This would probably have worked better with lojban or something 15:56:11 so what I wanted to ask about was.. backtracking a bit 15:56:34 I have the rule and : (X\X)/X (X is a variable) 15:57:02 -!- oerjan has joined. 15:57:20 oerjan, hi 15:57:33 hi AnMaster 15:57:40 this idea about bubbling in the semantics, AND f g being written as \x.AND (f x) (g x) could be done by restricting the variable X to a ground type {N,NP,PP,S}? 15:58:09 * AnMaster is wondering why these two programs listing almost right after each other render with different letter spacing 15:58:15 everything whos interpretation is typed Sem 15:58:22 both have same settings 15:58:30 * AnMaster prods LaTeX 16:04:10 -!- MigoMipo has quit (Remote closed the connection). 16:07:36 you know it's pretty hard to build these derivation trees by hand 16:08:57 derivation bonsai 16:09:55 AnMaster: lol@"this would have worked better with lojban" 16:09:59 this is standard linguistics, dude 16:10:04 it works perfectly well for english 16:10:41 this is the best 16:13:05 -!- augur has quit (Read error: 113 (No route to host)). 16:13:48 ehird, so what type or whatever is the -ing ending? 16:13:56 (wrong terminology probably) 16:13:58 why are you asking me 16:13:59 yeah what are semantics of -ing 16:14:06 ask augur, he's the linguist 16:14:09 or soupdragon 16:15:33 liftA2 = S combinator? 16:15:38 no 16:15:43 ehird, since you indicated it worked quite well in English 16:15:45 just above 16:15:49 AnMaster: lol@"this would have worked better with lojban" 16:15:49 this is standard linguistics, dude 16:15:49 it works perfectly well for english 16:16:04 ehird, so I assume you know how it works, or can't you back up your claim? 16:16:14 what bird is Q? Qafgx = a(fx)(gx) 16:16:18 you were saying that formally representing english is unreasonable, and lojban would be a better choicee 16:16:21 *choice 16:16:25 no 16:16:28 i provided a counterargument, being: 16:16:31 the ENTIRE FIELD OF LINGUISTICS 16:16:31 not exactly 16:17:03 ufff this is way too complex lol 16:17:12 I thought it clear that formally representing natural languages (such as English) was effing hard, but not too unreasonable. 16:17:20 (as demonstrated by it having been done) 16:17:29 It's not effing hard 16:17:31 It's basic linguistics 16:17:36 I'm trying to get a derivation of John loves and Mary hates pizza 16:17:45 soupdragon : It is a queer bird 16:17:45 such that and is used only with ground cats 16:17:52 -!- poiuy_qwert has joined. 16:17:55 I just picked Q at random 16:18:06 ehird: ... I may be calling linguistics effing hard. :P 16:18:15 your mom is effing hard 16:18:16 what am I even asking this here I have the mockingbird book next to me :( 16:18:20 i suppose that implies she's a hermaphrodite 16:18:21 soupdragon: S combinator is ap 16:18:40 or <*> 16:18:52 Or liftM. 16:19:00 no! 16:19:07 ? 16:19:15 liftM is not the same as ap 16:19:39 Sure enough: ap = liftM2 id 16:19:41 it's the same as fmap or <$> 16:20:09 I was... Not thinking straight. 16:20:22 liftM2 id is not = liftM 16:20:34 on fig. 28 and is used with X := S/NP 16:20:41 * pikhq nods 16:20:47 but I need to re-derive it such that X is one of {N,NP,PP,S} 16:23:03 soupdragon: otoh, your Q is liftM2, i think 16:23:15 (or liftA2) 16:23:37 or was that how you got it in the first place 16:25:32 well the thing is might be on the wrong track all together 16:25:58 I was thinking of Qafg, but maybe it's better to find some < and > such that Qafg = fg 16:26:09 but f and g might need lifted 16:26:42 f and g are John loves and Mary hates 16:27:05 (John loves and Mary hates) $ pizza = John loves pizza and Mary hates pizza 16:27:27 well > could be <*> 16:28:28 < is flip (<$>) i think 16:28:47 i don't recall that having a name 16:29:47 there is also the on function 16:30:37 (op `on` f) x y = f x `op` f y 16:37:31 maybe I should implement the parser then run it on this... and I won't have to work so hard trying to figure it out 17:00:22 -!- ehird has quit. 17:01:54 -!- lament has joined. 17:10:14 -!- ehird has joined. 17:10:23 acquire ten dubloons 17:10:56 John loves and Mary hates → (\x. AND (LOVES JOHN x) (LOVES MARY x)) 17:10:56 imo 17:11:08 or LOVES x JOHN/MARY, w/e 17:11:34 hard to actually find a derivation that parses John loves and Mary hates 17:11:46 unless you allow AND (LOVES JOHN) (LOVES MARY) 17:12:16 I might need some generalized bluebird or something 17:12:27 apparently there's an algorithm for this 17:13:40 -!- lament has quit. 17:17:39 soupdragon: well 17:17:40 just do 17:17:53 if you have a function where a non-function is expected in an expression 17:17:58 extract the function to the expression 17:18:14 so AND (LOVES JOHN) (LOVES MARY) would turn into (\x -> AND (LOVES JOHN x) (LOVES MARY x)) 17:18:18 simple 17:18:36 that doesn't typecheck though 17:18:47 do it before typechecking 17:18:56 there's no such thing as before typechecking :P 17:19:04 your mom 17:19:37 want to see my code 17:19:40 ? 17:20:35 so AND needs to be applicatively overloaded? :) 17:22:01 hm wait that won't work, the base case doesn't fit 17:22:36 im not even sure really I understand what hmmm 17:22:50 maybe and : (X\X)/X works just fine 17:23:44 hm yes 17:24:03 the thing is... and = \pq.(p,q) : (X\X)/X only makes sense when X is ground 17:24:33 and = \pq.\x.(px,qx) : ((X/A)\(X/A))/(X/A) 17:24:48 and = \pq.\xy.(pxy,qxy) : ((X/A/B)\(X/A/B))/(X/A/B) ...etc 17:25:00 dammit this just doesn't fit in with the rest of the framework 17:28:11 hm does anyone know if openmp is just suited to number-crunching style workloads. Rather than, say, different threads doing different things, sometimes idling (think a server with threads, or a GUI program with backend threads and GUI threads) 17:28:19 * AnMaster suspects ehird is most likely to know 17:29:26 OpenMP seems number-crunching oriented to me. Use pthreads to clone Plan 9/Go's thread API; that'd keep you sane. 17:29:47 (Using pthreads directly is on my list of Ten Ways to Torture Your Mortal Enemies In Hell.) 17:32:07 ehird, pthreads seems quite a pain yeah 17:32:32 ehird, also what about *implementing pthreads* 17:32:35 wouldn't that be worse? 17:32:38 Ouch. 17:32:40 Well, not really. 17:32:44 pthreads is very low level. 17:32:50 Anyway, Plan 9/Go's thread API is *really* nice. 17:35:56 anything worse than "use pthreads" 17:36:00 on that list 17:36:01 ehird, ^ 17:36:10 Not sure. 17:37:06 ehird, is the list even specified in full ;P 17:37:14 Abstract operations of Plan 9/Go's threading API: spawn { code } — run code in a new thread. make_chan(type[, bufsize]) — return a new channel containing values of type. send(chan, val) — send val to chan. If the channel has a bufsize, and the buffer of that size is not full, append to that buffer; otherwise, block until a recv() happens. recv(chan) — receive a value from chan. 17:37:30 ehird, no shared memory? 17:37:42 Well, if you have a global you can mutate it in two threads at once. 17:37:46 while dirty, in some specialised workloads it performs much better 17:37:48 But that would be dumb. 17:37:53 You can do it if you want, though. 17:38:00 ehird, I'm thinking merge sort with multiple threads 17:38:07 -!- virtue has joined. 17:38:15 So we can use channels as completion signals: 17:38:15 c = make_chan(bool); spawn foo(c); recv(c); /* assuming the value doesn't matter */ 17:38:22 Or to return the results of computation (obvious) 17:38:31 We can have multiple channels per thread 17:38:34 And multiple threads per channel 17:38:36 ehird, as for those globals, could you store a pointer to a malloced block in there? 17:38:44 AnMaster: Sure; they're regular threads. 17:38:47 Same memory space and everything. 17:40:07 -!- virtue has left (?). 17:41:16 int pixels[x][y]; 17:41:17 chan(int) workers[x][y]; 17:41:17 for(x=0;x for(x=0;x ↑ e.g. mandelbrot or other embarrassingly parallel task 17:41:56 you could actually use the spawn syntax in gcc 17:42:35 #define SPAWN(x) void _f(void) { x; }; spawn(_f) 17:42:37 or whatever 17:44:36 ehird, hm so malloc() there is thread safe? 17:44:52 Depends on if your libc's malloc is thread safe, doesn't it? 17:45:12 You can do whatever you want inside a thread. 17:45:34 * ehird tries to find the Go parallel mandelbrot to translate it to C+Gothreads 17:45:38 (technically goroutines) 17:46:02 also, since the threads are used very lightly — e.g. for every pixel in that mandelbrot — starting a 'real' thread for each one may not be so good 17:46:10 not sure how much overhead pthreads has 17:46:25 is it reasonable to start 100,000,000 pthreads? 17:46:32 (to generate a 10,000x10,000 mandelbrot) 17:47:40 AnMaster: oh and btw, this concurrency model is just the pi calculus 17:48:46 mhm 17:48:53 * ehird wonders if returning an array is like returning a struct, or like returning a pointer 17:48:55 Depends on if your libc's malloc is thread safe, doesn't it? <-- well the plan9 one I meant 17:49:01 knowing c's retarded array handling, probably the latter *sigh* 17:49:04 AnMaster: sure 17:49:24 ehird, as for returning array. Is that allowed? 17:49:36 well, for fixed size it might be 17:49:39 ehird: That concurrency model is quite nicely simple. 17:50:30 ehird, isn't a struct returned as a pointer to a caller allocated space on stack for it. As in a pointer to it is passed as a hidden extra argument in %rax or somewhere (forgot where) 17:50:37 * AnMaster looks for his AMD64 abi pdf 17:50:45 struct is returned on the stack i believe 17:50:57 i.e. returning struct{int a,b;} is like returning two values (int,int) 17:51:24 * ehird wonders how to declare returning an array 17:51:28 int[width][height] foo()? 17:51:37 int foo()[width][height]? 17:51:41 is it even possible? 17:52:30 * ehird just requires the caller to pass in a pointer :P 17:53:16 In C? No, you can only return a pointer or a struct 17:53:30 Deewiant, or a scalar 17:53:48 hmm... is it possible, given a [][], to turn that into a ** reasonably? &ary doesn't work, it would produce *** i think 17:53:57 just passing it to a func will copy it 17:54:23 AnMaster: I meant, in place of an array 17:56:40 * ehird comes up with an evil hack to do parameterised types in c 17:56:56 right 17:57:52 hmm... foo##__typeof__(3) won't produce fooint, will it; darn 17:57:53 oh well 17:58:02 Behold: 17:58:05 #define TUPLE(t) struct _tuple_##t {t a; t b;} 17:58:06 #define NEW_TUPLE(t,a,b) ((struct _tuple_##t){a,b}) 17:58:07 Usage: 17:58:18 TUPLE(int) foo = NEW_TUPLE(int, 1, 2); 17:58:20 foo.a 17:58:41 that's a two-tuple 17:58:46 Fail. 17:58:48 Tuple means two. 17:58:54 Tuple, triple. 17:59:47 ehird: isn't it a pair, or equivalently, 2-tuple? 17:59:59 I'm just using the Haskell terminology /shrug 18:02:12 lol @ plan 9 thread function: proccreate 18:03:41 ehird: its BDSM too, first you bind, then you mount, then you proccreate 18:04:17 -!- adam_d_ has quit (Read error: 110 (Connection timed out)). 18:04:50 BSDM 18:05:16 mycroftiv: annoying that plan 9 does it letting you only pass a single void * as the functions arg 18:06:20 ehird: nah remember that C often doesnt even try to deal with your fancy 'types' 18:06:27 yes, but if you want to pass two values 18:06:31 it's a bitch 18:06:40 no its not 18:06:45 yes it is 18:06:49 #define SPAWN(x) ({ void _spawned_proc(void) { (x); }; spawn_proc(_spawned_proc); }) 18:06:50 ↑ inelegant and bloody convenient 18:07:28 you make your struct with as many vars as you want to pass, malloc it, fill it up, cast it to void, send it to your proccreate, then cast it back to its real form 18:07:43 yeah, see, that's less convenient than f(x,y) 18:08:11 i almost could see going the other way in a language 18:08:20 oh, and take this 18:08:22 SPAWN(send(workers[x][y], calc_pixel(x, y))); 18:08:29 try that with your dumb function! 18:10:51 ehird: i don't think the tu- in tuple has anything to do with two. it's a generalization from quintuple, sextuple (possibly more?) to n-tuple 18:11:18 and triple is just the original case for 3 18:11:51 eh, alrighht 18:11:55 *alright 18:12:02 tuple, triple, quadruple always seemed reasonable to me 18:12:11 i think it's formed in latin like quintus (5th) + -plex 18:12:48 writing this mandelbrot is fun 18:20:12 you make your struct with as many vars as you want to pass, malloc it, fill it up, cast it to void, send it to your proccreate, then cast it back to its real form <-- not allocate it on the stack? XD 18:20:33 ehird, so make a varargs wrapper for spawn 18:20:33 That would cause a wasteful copy. 18:20:37 with LOTS of macro magic 18:20:47 OTOH, overhead(copy) < overhead(malloc). 18:21:00 AnMaster: #define SPAWN(x) ({ void _spawned_proc(void) { (x); }; spawn_proc(_spawned_proc); }) 18:21:02 Way ahead of you. 18:21:22 ehird, is that legal C? 18:21:27 {} inside a () I mean 18:21:29 It's legal GNU C . 18:21:34 It's a statement expression. 18:21:37 s/C \./C./ 18:21:39 ehird, oh I never used those 18:21:42 forgot how they work 18:21:51 ({ a; b }) is like do { a; b } while (0), except it's usable as an expression. 18:21:55 The return value is the last statement. 18:22:11 ({ ... }) also introduces a new variable scope, I believe. 18:22:23 Which is why I used it: to avoid _spawned_proc name-clashing with a later use of SPAWN. 18:22:28 ehird, since I do intend to be reasonably portable I used the extensions that could easily be optional (__attribute__ for error checking mostly) and avoided the other stuff 18:22:48 What program are you writing? And will you use my implementation of Plan 9's threading model if I write it? :P 18:22:51 ehird, wait, does that nest a function inside another? 18:23:03 Yes... 18:23:05 ehird, I meant in general 18:23:07 GNU C lets you do that, too. 18:23:09 not a specific program 18:23:15 ehird, it breaks badly iirc 18:23:21 No. It doesn't. It's a feature. 18:23:30 ehird, with a non-executable stack it does iirc 18:23:33 http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html 18:24:00 ehird, it uses a trampoline and what not 18:24:06 Yes. http://gcc.gnu.org/onlinedocs/gccint/Trampolines.html 18:24:13 "normally resides on the stack" 18:24:15 Keyword normaally. 18:24:18 *normally 18:24:24 ah they added support for it to be elsewhere? 18:24:33 dunno 18:24:43 The operating system may also require the stack to be made executable before calling the trampoline. To implement this requirement, define the following macro. 18:24:43 — Macro: ENABLE_EXECUTE_STACK 18:24:44 Define this macro if certain operations must be performed before executing code located on the stack. The macro should expand to a series of C file-scope constructs (e.g. functions) and provide a unique entry point named __enable_execute_stack. The target is responsible for emitting calls to the entry point in the code, for example from the TARGET_TRAMPOLINE_INIT hook. 18:24:45 Tada. 18:27:00 "Do not attempt to disprove the four-colour theorem on your flag!" 18:27:02 — http://www.otago.ac.nz/philosophy/Staff/JoshParsons/flags/ratings-c.html 18:27:22 eh 18:27:38 ehird, issues with executable stack exists. There are a few 18:27:42 quite a few 18:27:48 Nobody uses OpenBSD. 18:27:52 :P 18:28:07 ehird, executable stack makes baby Bruce Schneier cry 18:28:08 or something 18:28:15 horrible badly mangled meme 18:29:18 ehird, also I do see uses for executable stack. Just that I think it makes more sense to put it elsewhere. Somewhere away from those char buf[MAXBUF]; and such 18:32:07 Common Lisp's type system is weird. 18:33:28 -!- soupdragon has quit ("Leaving"). 18:34:20 The symbol (atom, if you're not familiar with the terminology) T is a symbol. It is also a boolean, meaning "true". Every value in Common Lisp is of the type T — not a different thing to the symbol T sharing the same name, but an actual symbol being used as a type. It is the superclass, so to speak, of every other type. 18:34:23 -!- Sgeo has joined. 18:35:04 NIL is: a symbol; a list (the terminator of a list, to be precise); a null. 18:35:24 However, NIL is not of type NIL. 18:35:32 ehird, what type is it 18:35:41 A symbol; a list (the terminator of a list, to be precise); a null. 18:35:55 (type-of nil) is NULL, so null is its "main" type. 18:35:58 ehird, as for it being a list and a null, makes as much sense as 0 being 0 and NULL in C (sure it might have another value) 18:36:21 But it's strange how T is a type as well as a value, and they're the same thing. 18:36:32 ehird, T? 18:36:32 And everything else is of type T, too. 18:36:38 oh right not a T 18:36:39 [18:33] ehird: The symbol (atom, if you're not familiar with the terminology) T is a symbol. It is also a boolean, meaning "true". Every value in Common Lisp is of the type T — not a different thing to the symbol T sharing the same name, but an actual symbol being used as a type. It is the superclass, so to speak, of every other type. 18:36:39 top 18:36:48 That was TWO LINES above "NIL is:". 18:36:50 Sheesh. 18:36:54 ehird, I just couldn 18:37:01 couldn't* see at this distance 18:37:08 ...what? 18:37:08 I'm holding a boot in front of me 18:37:11 and multi tasking 18:37:21 * AnMaster is both chatting on irc and writing a report 18:37:46 ehird, and the monitor with irc is pushed back, to make room for laptop in front 18:37:57 long live synergy 18:38:23 ehird, I need a bit of help with an English term 18:38:48 ehird, what do you call it when a DB becomes inconsistent, Not as in corrupted db file but as in "oops, forgot the foreign key" 18:39:00 I know the Swedish word for it, but I can't find the English term 18:39:03 need it for the report 18:39:29 Um, inconsistent? 18:39:30 :P 18:39:43 ehird, doesn't that refer to a database file sort of level 18:39:54 What's the Swedish word 18:39:55 I'm not a relational DB person, sorry. 18:40:00 I try and avoid them wherever possible. 18:40:32 Deewiant, meh now it slipped my mind X| 18:41:12 brott mot databasintegritet. not quite... 18:43:55 * AnMaster decides to formulate it another way 18:44:03 err that is a Swedishism probably 18:44:04 asdfgjkl;/ 18:44:51 arsnteoi 18:45:17 Arse no teoi. 18:46:07 Duck legged. 18:51:42 must be irish, i take 18:53:15 -!- FireyFly has joined. 18:55:53 -!- FireyFly has changed nick to FireFly. 19:48:23 hm what was that about? 19:48:57 heck if i know 19:49:14 heh 19:52:47 -!- sebbu2 has joined. 19:59:02 -!- sebbu has quit (Read error: 60 (Operation timed out)). 20:06:38 -!- jpc has joined. 20:12:47 so why does my konsole window say "xterm" in the title bar... 20:12:51 that's very strange 20:12:55 it didn't a moment ago 20:13:23 it's been taken over by daleks 20:13:29 i suggest running 20:17:19 -!- poiuy_qwert has quit ("Leaving"). 20:20:57 -!- Warriphone has quit (Read error: 110 (Connection timed out)). 20:26:00 oerjan, ... I never seen Dr Who, so while I know what it references I don't know why 20:26:05 why* it is funny 20:26:26 * oerjan barely knows himself 20:26:37 but hint: EX-TERM-IN-ATE 20:26:46 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 20:26:56 -!- augur has joined. 20:27:05 hey 20:28:15 hey in the hay 20:37:30 oerjan: xterm-inate xD 20:37:55 AnMaster: Watch Doctor Who. 20:37:55 * ehird completes the final piece minus one of his org-mode blogging horrific hack^W^Wsystem 20:37:58 It is imperative. 20:38:07 No, it's functional! 20:38:09 And logical. 20:39:24 ehird: Shush you. 20:40:03 categorically so 20:40:28 who would have guessed that an outliner could export to html with syntax highlighting of any language, embedded latex, and rendered diagrams? 20:40:28 anyone who knew that it was an emacs mode, that's who. 20:41:56 Emacs: it does everything. 20:43:11 say, there's an elisp thingy that implements the common xml-rpc blogging api, isn't there? 20:43:21 i could plug that into this and get a complete in-emacs blogging system XD 20:54:30 -!- BeholdMyGlory has joined. 21:02:31 pikhq: 21:02:31 #+begin_src literate-haskell 21:02:32 > main :: IO () 21:02:32 > main = putStrLn "Hello, world!" 21:02:32 #+end_src 21:02:32 This actually syntax highlights when exported to HTML or LaTeX, and it works for ANY language Emacs can highlight. 21:02:48 org-mode is sweeeeeet. 21:04:03 ehird: That's beautiful. 21:14:32 And what kind of HTML does it generate? 21:15:02 html of DOOM! 21:15:38 Deewiant: Define "what kind". 21:16:00 How does it implement the syntax highlighting 21:16:31 Either s with color:s, or you can get it to generate a big ol' hunk of CSS for every syntax possibility; that's 12k, but you can use a css compression tool to get it down to 3k. 21:17:32 It can't generate a hunk only for the ones used? (Assuming that would save practically any space) 21:17:49 Deewiant: I lied; that stylesheet is just some org-mode stylesheet. 21:17:55 It seems that yes, it does only generate the ones used. 21:18:16 Alright, handy. 21:18:59 No, wait. 21:19:08 I tell another lie: that CSS does include the syntax highlighting. 21:19:22 It seems that it can highlight org-mode code, and dired output. XD 21:19:46 >_< 21:20:10 Hey, it does work with *every font-lock mode in Emacs*. 21:21:14 Personally, I'm just going to leave it generating inline colours. 21:21:30 It's not like Blogger's added markup isn't spewtastic anyway. 21:22:01 i could plug that into this and get a complete in-emacs blogging system XD <-- pretty sure I read about that somewhere already 21:22:29 Yes, people use org-mode for blogging and also the XML-RPC stuff. 21:22:38 But I don't know if they're combined so that I could do M-x publish-org-blog-post. 21:23:37 ehird, that was what I meant I read about iirc 21:23:41 can't find it again though 21:24:42 It's not like Blogger's added markup isn't spewtastic anyway. <-- who is "Blogger" with a capital B ;P 21:24:51 http://www.blogger.com/ 21:25:15 Now-Google's-ex-Pyra's ye internette cornerstone blogging system. 21:25:30 oh right. I have it mentally filed as "the orange/white squiggle icon blog site" 21:25:46 That squiggle is also known as "B". 21:25:56 ehird, very stylised one 21:26:32 ehird, I thought it was a child drawing of a boat 21:26:38 it looks closer to that IMO 21:27:14 blog, blog, blog your, er 21:27:24 Sweet, org-mode lets me use TeX style ^ and _ in plain html. 21:27:38 That's nice for when the actual LaTeX embedding is too much. 21:27:46 ehird, "blog, blog blog your blog! 21:27:48 err 21:27:49 oerjan, ^ 21:27:57 s/"// 21:28:23 feels inelegant. spammy, even. 21:28:39 blog, blog, blog your spam 21:28:47 gently down the tubes 21:28:54 I had to spend a while looking for how to disable that feature in org-mode, because it kept messing up the _-rich filenames in html export. 21:28:54 marry me marry me marry me marry me 21:28:56 russian brides for cheap 21:29:16 fizzie: ^:{} or ^:nil 21:29:19 "Both beg and end are both pointer expressions." <-- GCC manual. Approved by The redundantly Redundant Committee for Redundancy 21:29:22 former for just allowing foo_{bar} etc 21:30:10 pri: turn on/off priority cookies 21:30:10 What. 21:30:18 omg org-mode does footnotes 21:30:53 F_{2^{n-1}}[1] 21:30:55 my life is complete 21:30:56 ehird: Yes, I know that *now*. 21:30:59 ehird, at the end of the document? Rather than the end of the page 21:31:04 and aren't those called end notes 21:31:11 AnMaster: They're footnotes. 21:31:20 ehird, oh? 21:31:33 ehird, also that latex. Does it render equations to unicode, or to images? 21:31:40 Images. 21:31:44 meh 21:31:44 It's real LaTeX. 21:31:52 well good 21:31:55 Apparently I did "#+OPTIONS: num:nil ^:nil" but now I don't remember what num:nil does. 21:32:07 ehird, how is wikipedia's latex implemented? 21:32:10 If you want Unicode you can just do latex:nil and use jsMath instead. 21:32:25 AnMaster: Images, or a very basic →html thingy that only works for a very small subset. 21:32:30 Or →mathml which does I don't know. 21:32:38 fizzie: Disables TOC numbers in headings 21:32:55 Ah, right. 21:33:08 ehird, does it only do latex equations, or the full thing 21:33:19 "In particular, note that you can place commonly-used (export) options in a separate file which can be included using #+SETUPFILE." 21:33:20 Sweeeeeeet 21:33:25 AnMaster: Equations. 21:33:30 ehird, meh 21:33:38 ehird: I've never gotten the ->mathml thing to work. 21:33:47 ehird, I was looking forward to pstricks in html :( 21:36:01 #+OPTIONS: toc:nil num:nil author:nil creator:nil timestamp:nil 21:36:14 ↑ aka "No, I don't want any of that crap" mode 21:36:28 Are you also going to use MobileOrg on your iDevice? 21:36:41 That would be impractical for writing blog posts on! 21:36:57 And I don't need todo lists; I never forget to do things. 21:37:11 Or at least, I never remember that I've forgotten to do something. 21:37:18 Which, if you don't really have any worldly responsibilities, is the same thing. 21:38:21 that sounds reassuring :D 21:40:21 #(...) is a vector in elisp right? 21:40:25 How do you access the first elem? 21:41:54 Ugh, one part of this whole ordeal is going to be a pain. 21:42:11 Using mmm-mode so that stuff inside #+begin_src LANG ... #+end_src is displayed with that mode. 21:42:30 That way, I can edit blog posts as Literate Haskell with all the haskell-mode conveniences while still using org-mode outside. 21:52:10 ehird, how did your semantics discussion earlier go? 21:52:25 which discussion in particular 21:52:31 the one with soupdragon 21:53:11 the one i was participating in before having to get on my flight 21:53:36 define "go"; I pretty much told him that I thought he should handle things like AND (LOVES JOHN) (LOVES MARY) by the rule: if there is a function that, given enough arguments, produces a value of type T, and this function is in a place where we need a type T, make the whole expression a function with its arguments 21:54:10 that produces (\x -> (\y -> AND (LOVES JOHN x) (LOVES MARY y))) but I guess with an amendment "if there are two such expressions and they take the same type, combine their arguments" it would work 21:54:32 so you mean 21:54:49 given some functions f, g :: a -> Bool 21:55:05 you can combine them to get \x -> f(x) & g(x) 21:55:10 no 21:55:15 what i mean is 21:55:19 no? but you said combine their arguments D: 21:56:11 f :: ...->T->... 21:56:11 rewrite (f ...(expr::a->b->...->T)...) 21:56:11 to (\a,b,... -> f ...(expr's function body)...) 21:56:38 if there are multiple such occurrences of this in the same expression, take all the argument types they share and combine them into a single argument 21:56:54 ok 21:57:03 so AND (LOVES JOHN) (LOVES MARY) becomes (\x -> AND (LOVES JOHN x) (LOVES MARY x)), not (\x -> (\y -> AND (LOVES JOHN x) (LOVES MARY y))) 21:57:11 john loves mary and mary john 21:57:21 john loves marrying mary 21:57:30 well it sounds like you've discovered cojunctivism to some degree 21:57:31 :) 21:58:44 http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/gblogger.el 21:58:44 sssso ssssweet 21:58:52 i'll be blahhging the intertubes in no time w/ this 21:59:02 blogs like diabetes 21:59:12 diabeetus blahhging 21:59:58 i'm personally just amazed i managed to coerce blogger into outputting something...nice 22:00:13 i was not of the awareness of the possibility of this. 22:01:42 ehird, i was thinking about the graphics engine thing 22:01:42 hey i just realised http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/gblogger.el was written by the blind guy who makes emacsspeak :) 22:01:49 *emacspeak 22:02:19 and im really interested in this constraint stuff, im just not sure if i understand precisely what it would mean 22:03:52 augur: well it's basically like prolog 22:03:57 you give prolog a bunch of constraints on values 22:04:00 and it outputs all the possibilities 22:04:06 sure sure 22:04:08 it's the same for a layout engine, where the values are things like 22:04:10 width of foo 22:04:12 height of foo 22:04:16 coords of bottom of foo 22:04:20 and the engine is less... well, TC 22:04:30 plus, it picks one single possibility via some metric for picking the best layout 22:04:34 tightest packed, or whatever 22:04:42 im just trying to imagine how the syntax then expresses these constraints 22:04:58 well it's just an abstract data structure 22:05:01 List Constraint 22:05:24 i mean in the language being designed 22:05:47 how is, say, "a square 50 px on a size" expressed 22:07:56 less say, filled with red 22:08:06 night 22:08:28 night 22:11:00 ehird? 22:11:15 augur: i meant in the language being designed too 22:11:23 the constraint engine is an internal thing, mostly it's exposed via user defined functions 22:11:29 like, you know, square(). :P 22:13:08 ok, and what does the constraint for such a square look like 22:13:55 what square 22:14:08 the square 50px on a side with red fill! 22:14:36 define on a side 22:14:37 any side? 22:15:36 i just want to know what the constraint looks like, in some sense 22:16:30 Square [Fill Red] 50px 22:16:31 ? 22:17:35 for ... data Shape = Square [Attribute] Size | ...; data Attribute = Fill Color | Stroke Color | ... 22:17:35 ? 22:22:24 you're thinking about this all wrong. 22:22:32 ok 22:22:35 then explain 22:22:36 constraints, not objects 22:22:37 like i asked. 22:22:38 so: 22:22:43 yes, but what DEFINES the constraint 22:22:57 your question does not make sense. 22:23:01 ehird 22:23:08 the constraint-solver has to look at these constraints, right? 22:23:12 Yes. 22:23:19 so what does it see when it looks at them 22:23:41 i mean, is square(50px) the constraint itself 22:23:50 or is that just some magic function that constructs the constraint in the background 22:23:52 The constraint data structure is something like this: 22:23:56 -!- anmaster_l has quit (Read error: 110 (Connection timed out)). 22:24:24 { x = Square, side x == 50px, (dunno about the fill stuff) } 22:24:39 Square itself desugars to more constraints 22:24:45 ok 22:24:49 brb 22:24:51 my machine is overheating 22:25:01 or, wait, no 22:25:13 ok 22:25:17 i see what you're going for 22:25:20 i can't tell if it is 22:25:32 -!- ehird has quit. 22:27:18 looks like it was 22:27:29 maybe he restarted out of caution 22:29:42 -!- ehird has joined. 22:29:49 ehird! hello. 22:29:49 indeed; caution 22:29:57 my fans just spun up to full, you see 22:29:59 they occasionally do that 22:30:05 worrying but seemingly just a glitch 22:30:11 but it's noisy and i don't want to take any chances 22:30:17 do you have iState menus? 22:30:21 iStat* 22:30:30 does top give you anything useful? 22:30:34 i'm a minimalist. things like that are mere distractions to me 22:30:37 SimonRC: too late, i rebooted 22:30:41 but activity monitor said cpu was like 1% 22:30:45 :-S 22:30:47 so clearly not cpu load 22:30:50 perhaps a heatsink issue 22:30:55 well, iStat menus has a temp indicator 22:30:58 or, as i suspect, a fan control issue 22:31:22 anyway 22:31:34 well, my laptop liked to do jet impressions when suspending 22:31:39 i like the idea, im just not sure if its absolutely necessary, ehird. ill consider it. 22:32:04 however, last time I suspended it it decided to power off the external USB HD... 22:32:09 everyone should preemptively add http://ehird.blogspot.com/ to their feed readers because i am awesome 22:32:32 which is reasonable except the kernel knows damn well that / is on that HD, so unsuspend kinda didn't happen 22:33:02 that blog will be the new revolution! or possibly, just revolting. 22:33:22 D: 22:33:46 ehird: if you start posting interesting things, ill totally link you on my blog 22:33:47 :X 22:34:12 augur: like does type system hackery, programming language and OS musings count as interesting????? 22:34:18 or just BORING ASS LINGUISTICS 22:34:25 ehird, no thats totally interesting 22:34:33 my blog isnt all linguistics you know 22:34:39 ps you should totally dig my minimalist design because it is RAD and i spent five years fighting against blogger to makek it work 22:34:45 *make 22:36:03 http://www.wellnowwhat.net/blog/?p=353 << see? not linguisticy! 22:36:16 my next series of posts is going to be on this thing we're discussing 22:36:28 and then one on building a simple prolog-ish engine 22:36:33 "I’ve got a need for a product of this sort. Please send me an email because I’d love to talk about it." 22:36:37 blog comments are so crappy 22:36:43 yeah :( 22:36:51 "Hey you posted an interesting post about stuff! I NEED YOU TO CODE THIS EMAIL ME" 22:37:22 i figured i'd leave that one tho because he was sincere. i emailed him and he seemed to be interested in more complex knowledge engines and i said i wasnt familiar with any of them 22:37:50 the gblogger functions are oriented around interactive use and this makes me sad 22:37:59 ? 22:38:07 emacs Blogger interface 22:38:27 wat 22:38:28 lol 22:38:42 i'm trying to wire up org-mode (an outliner/markup/diagram-renderer/LaTeX-embedder/syntax-highlighter/you name it) to gblogger 22:38:57 so as to be able to write an org file, run an emacs command, and have it appear on http://ehird.blogspot.com/ 22:39:08 and thus never have to interact with blogspot's rubbish admin ui! 22:40:33 ehird, ive decided on some basic functions 22:40:42 for the graphics engine 22:41:25 namly, below[left|right|center|just|nothing] ... 22:41:46 beside[top|middle|bottom|just|nothing] ... 22:42:14 pad[t r b l | tr bl | trbl] X 22:42:23 i don't get your syntax 22:42:40 brackets enclose options 22:43:01 so: 22:43:04 e.g. below[left] A B means "put B below A, and align them left" 22:43:22 below ... == below[] ... == below[center] ... 22:43:22 group BelowOpt 22:43:23 struct Left :: BelowOpt; struct Right :: BelowOpt 22:43:23 ...etc... 22:43:23 end 22:43:37 sure, whatever you want 22:43:53 below :: [BelowOpt] -> [Drawable] -> Below 22:44:06 below[][a,b,c] == below[center][a,b,c] (that [] is a bit ugly tho) 22:44:15 (the below[][...] thing) 22:44:24 well, i dont know what the options syntax should be 22:44:30 i wanted to avoid {} 22:44:30 * ehird decides to leave the postiing automation for later 22:44:51 augur: ah! we can build optional arguments into the language 22:45:00 ? 22:45:02 no need to have actual options like i said, a list of a data structure works for them 22:45:06 all we need is optional arguments 22:45:20 {} is the punctuation i haven't used yet so sorry but I'm gonna take it :D 22:45:34 im not sure what you mean 22:45:39 example of what you have in mind? 22:45:55 below :: ({BelowOpt}, List Drawable) -> Below 22:45:58 in the definition: 22:46:15 below(opts{Center}, things) = ... 22:46:19 (Center is the default) 22:46:24 usage: 22:46:27 wait 22:46:31 I wrote that slightly wrong 22:46:37 below {align => left} [a,b,c] 22:46:38 below :: {BelowOpt} -> List Drawable -> Below 22:46:39 then? 22:46:51 below{opts=Center}(things) = ... 22:46:58 augur: in the BelowOpt group, have 22:47:06 struct Align :: Direction -> BelowOpt 22:47:08 usage: 22:47:16 def below(ops = { :align => :center }, items) 22:47:17 below{Align Left}[a,b,c] 22:47:25 ok 22:47:30 can you have multiple opts in this case 22:47:31 or just one 22:47:36 multiple 22:47:50 for instance, you'd have another option space 22:48:01 which specifies the separation between the items when belowing them 22:48:05 below :: {[BelowOpt]} -> List Drawable -> Below 22:48:06 below{opts=[Align Center]}(things) = ... 22:48:06 usage: 22:48:12 below{Align Left, Poop Blah}[a,b,c] 22:48:29 soooo latex :( 22:48:30 basically, {...} means optional argument; if you omit it in a call, it just assumes the default value 22:48:36 and {a,b} desugars to {[a,b]} 22:48:38 for convenient options 22:48:52 \below{align=left,space=5px}{a}{b}{c} 22:48:53 D: 22:49:25 i would argue that latex has pretty nice syntax :P 22:49:35 i dont like it 22:49:41 {} should never enclose args, in my opinion 22:49:50 well it's not enclosing anything else in my syntax 22:49:58 whatever :P 22:50:11 i prever a haskellish syntax 22:50:23 -!- jpc has quit ("I will do freaking anything for a new router."). 22:50:56 -!- jpc has joined. 22:50:58 What ehird's been discussing is essentially Haskell + default arguments. 22:51:07 (... Well, because he's not mentioned the other divergences from Haskell) 22:51:14 but haskell doesnt allow arbitrary args 22:51:20 i really want it to just look like 22:51:25 below a b c 22:51:31 ... Whereas what he's discussing does. 22:52:01 i can sort of accept the list tho. thats fine. 22:52:13 augur: well we could do the obvious thing 22:52:15 what is {} denoting for you, ehird? 22:52:16 and introduce map syntax 22:52:22 augur: {} = optional argument 22:52:23 ?? 22:52:23 anyway 22:52:26 augur: So, is that passing default arguments to the function or arguments to the result of the function? 22:52:27 oh ok 22:52:28 map syntax would be just 22:52:32 { key: val, ... } 22:52:33 wait 22:52:40 but we still use data structures 22:52:52 below { Align: Left } [a,b,c] 22:53:29 pikhq: f ... is sugar for f[] ..., and f defaults on its respective options 22:53:40 ok so {} is a hash then 22:53:47 foo :: {a} -> b -> (a->b) -> (a->c) 22:53:48 but that has issues 22:53:54 Hey, look, it's ambiguity! 22:53:54 it means you can do { Align: 3 } 22:54:03 pikhq: 'snot 22:54:16 foo aB :: (a->b)->(a->c) 22:54:17 ehird: ... As you do it, yes. 22:54:23 foo anA :: b->(a->b)->(a->c) 22:54:35 beside[left] a b c looks best to me 22:54:49 augur: i don't think this needs to be a heavyweight language, so just go syntax made 22:54:50 *mad 22:54:54 ehird: Except that the function is polymorphic. 22:54:54 make it convenient 22:55:00 anyway 22:55:06 pikhq: yes, and? you know by the time you get a function argument 22:55:14 besides, wait 22:55:20 you specify optional args with {} 22:55:21 the other function i was considering was over 22:55:22 wherein 22:55:26 foo x is always using the default 22:55:30 foo {x} is always overriding it 22:55:31 if A is a triangle, and B is a circle 22:55:32 ehird: That's what disambiguates it. 22:55:59 over A B is the image with the circle positioned above the triangle, both conconcentric 22:56:20 http://ehird.blogspot.com/2010/01/hello-world.html 22:56:20 iiiiiiiiii posted this with org-mode 22:56:28 and you could have params that specify which points are con-ed 22:56:34 e.g. over A B == over[center] A B 22:56:43 todo: make one css tweak, that funky mmm-mode thing, automate the actual posting 22:56:44 but you could do over[topleft] A B 22:56:52 which is where A.topleft == B.topleft 22:57:05 or you could do over[x y] A B 22:57:12 foo bar -- Has two valid types. b->(a->b)->(a->c) and (a->b)->(a->c). In the first, a is the same type as bar, and in the second, b is the same type as bar. 22:57:18 which is equivalent to over[bottomleft x y] 22:57:39 (if you don't do the "wrap default args in brackets" bit) 22:57:55 where B.bottomleft = A.bottomleft + 22:59:55 as it turns out, over[topleft A.width 0] A B produces the same image as beside A B 23:00:13 which suggests that over should be the function that beside and below are defined in terms of 23:03:37 http://ehird.blogspot.com/2010/01/hello-world.html 23:03:38 someone leave a message of complete admiration for me kthxbai 23:03:49 doing this in terms of actual objects, tho, ehird, seems to be relatively simple 23:03:58 pikhq: have you used literate-haskell-mode? 23:04:17 augur: To hell with objects! Long live data structures! 23:04:24 you has error 23:04:31 ehird: No, should I? 23:04:32 ehird: well, data structures, whatever. same thing to me. 23:04:39 but whats cool is 23:04:51 augur: They're quite different in concept. 23:04:52 http://www.youtube.com/watch?v=YiYBRgsxQUc 23:04:53 pikhq: nope, just wondering how to have mah bird tracks auto-added 23:05:00 if A is some data structure consisting of paths, basically 23:05:14 what you'd have is two parts to it 23:05:17 it'd be like 23:05:26 Shape Size Path 23:05:36 where Path has points in the range [0,1] 23:06:02 An object is a thing that possesses members and methods. These can be public and private. An object can inherit its methods and members from another object, and override them. 23:06:16 A data structure is a thing that contains things. 23:06:35 scale p (Shape (w,h) s) = Shape (p*w, p*h) s 23:07:07 That an object can be used for data structures is merely an interesting property. 23:07:27 scale (wp,hp) (Shape (w,h) s) = Shape (wp*w, hp*h) s 23:08:05 To ram the point in further: compare C structs and C++ classes. 23:08:13 actually, it'd be more, data Shape Shape AffMatrix Path 23:08:18 data Shape = ... 23:10:53 and then when you draw this, all you do is apply the affine transform matrix to the path points to calculate the actual look of the shape, and stroke/fill 23:12:04 http://ehird.blogspot.com/2010/01/hello-world.html 23:12:04 BEHOLD THE SYNTACTICALLY HIGHLIGHTED CODE 23:12:29 ehird, i tried to comment as anonymous but it gave me an error 23:12:35 What error? 23:12:53 /!\ Your request could not be processed. Please try again. 23:12:57 Beats me. 23:13:16 It supports Google accounts and OpenIDs, if those are okay for you. 23:14:15 Perhaps name/URL will work? 23:14:20 augur: Also, perhaps some sort of spam filter got you. 23:16:48 o ok 23:16:51 maybe it was too short 23:16:57 man 23:17:10 "Posted by Anonymous on January 05, 2010." 23:17:12 2010 23:17:15 its 2010 23:17:17 its fucking 2010 23:17:26 yes 23:17:30 shouldnt we be going to jupiter? :| 23:17:39 Why yes, it's been 2010 for 5 days now. 23:17:42 i think we make contact this year or something 23:17:46 i saw it in a documenntary 23:17:49 *documentary 23:17:53 those movies are all documentaries right 23:18:09 yes 23:18:11 ofcourse 23:18:13 yes, according to many-world's interpretation 23:18:21 oerjan: <3 23:18:24 Well, at least we don't have that alliance with the Aschen trying to sterilize Earth 23:20:05 oh man sgeo true 23:20:09 fucking aschen 23:20:30 all we wanna do is explore the galaxy and fuck green chicks/dudes 23:20:35 is that such a crime? 23:20:49 i hear blue is all the rage these days 23:20:54 Only if you're not Kirk. 23:21:07 pikhq: but we all want to be kirk so its cool right 23:21:12 Not-Kirks have to content themselves with other colors. 23:21:33 lame 23:21:45 augur: That's why the punishment for the crime is exploring the galaxy and fucking green chicks. 23:22:07 wut 23:22:48 so the punishment is, essentially, that you cannot be gay? 23:23:03 oh i see what he means 23:23:09 Yes. 23:23:09 the punishment is fucking people you dont want to fuck 23:23:10 gotcha 23:23:13 Cruelest thing ever. 23:23:22 EVEN FOR STRAIGHT PEOPLE 23:23:32 Cue T-Rex: "I feel like a possibility has been taken away from me that I never knew I had!" 23:23:36 "This is OPPRESSION!!" 23:23:44 ehird: Nobody's straight. Don't you ever read ship fanfiction? 23:23:44 :P 23:24:00 ehird, tell me if this makes sense 23:25:34 if you rotate a shape by some angle, after rotating, the rotated shape is fit so that its bounding rect is always the unit square, and the resulting things size is smaller than the initial things size 23:25:39 * ehird ponders on a topic for his first opst 23:25:40 or larger 23:25:41 *post 23:25:42 whichever it turns out to be 23:26:46 e.g. if you rotate a 1x1 square you get back a 1x1 diamond, with its points at the <0,0.5>, <0.5,0>, <1,0.5>, <0.5,1> 23:27:32 and its size reduced from, lets say, 10x10 as a square, to 5root2 x 5root2 as a diamond 23:27:37 er 23:27:43 -!- dbc has quit (Read error: 60 (Operation timed out)). 23:27:43 sorry, 10root2 x 10root2 23:28:14 (rotating by 45* obviously) 23:29:31 My first post will be "Computing fib(3!) in Haskell's type system", which is really about type families being cool and such. 23:29:33 does that make sense? or should shapes exist in a full euclidean plane? because that i think would ruin the use of things like beside() 23:29:53 elliot! types are not for computing! :| 23:30:00 you're a bad bad boy 23:31:07 stop hangin' 'round with that dons kid; he's neva' up to no good! 23:44:12 ehird: Mmm, undecidable instances... 23:45:53 -!- dbc has joined. 23:58:34 http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html 23:58:36 First post! 23:59:59 ehird: BTW, GHC Haskell has a TC type system. 2010-01-06: 00:00:05 Someone did type-level Brainfuck. 00:00:15 pikhq: oh, right, I forggot 00:00:16 forgot 00:00:20 ok, i'll make a quick amendment 00:00:28 hmm, it's just turning over to midnight now 00:00:35 You're four seconds late. 00:00:49 wonder what date I should put on the post 00:01:56 Hmm, my clocks are about 400 milliseconds apart. I wonder which one is off. 00:02:14 -!- Pthing has quit (Remote closed the connection). 00:02:26 I'm guessing it's the local one. 00:04:16 Okay; post revised. http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html 00:07:07 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 00:08:47 * Sgeo wonders if Small Worlds missions are TC 00:09:24 size limit? 00:09:54 -!- pikhq has joined. 00:10:50 SimonRC, well, not counting any size limits, I guess 00:11:03 ehird: Nice. 00:11:15 Although if it's not possible to have an arbitrary amount of memory, that shouldn't count as close enough to TC, I guess 00:12:09 by that metric c isn't tc 00:13:22 Sgeo: I just chucked that into the discussion, the same way one says "but what about the angular momentum" in a planetary embyology discussion ;-) 00:13:39 ehird: ooh, dunno 00:13:46 c isn't tc 00:13:52 I vaguely remember the existence of a counterargument to the argument that C isn't Turing-complete. 00:13:53 sizeof void* must be finite 00:14:01 uorygl: C + file functions is TC 00:14:04 but pure C is not 00:14:14 That's not a counterargument to the sizeof argument. 00:14:28 What units are sizeofs in? 00:14:37 what if you recompile with larger datatype sizes whenever you run out of space? 00:15:29 SimonRC: that is not C. 00:15:42 uorygl: sizeof returns size_t iirc 00:15:51 and of course sizeof size_t must be finite as well 00:16:55 ehird: what forbids it? 00:17:05 The small worlds tutorial wants me to watch a video on small worlds 00:17:09 c spec, i'm not going to go reading it minutes before i leave. 00:17:27 we've debated this before and camp c-is-not-tc always wins ;) 00:17:38 It's an ad for Small Worlds 00:17:41 * Sgeo mindboggles 00:18:02 SMALL WORLDS SMALL WORLDS SMALL WORLDS ACTIVE WORLDS SECOND LIFE SGEO SGEO SGEO 00:18:02 ↑ what i see 00:18:26 Speaking of Finland, there's someone here who knows Finnish, right? 00:18:48 Um, yes, all the Finns. 00:18:58 fizzie, Deewiant, Ilari, ineiros, maybe more. 00:19:06 Wow. That's many. 00:19:16 Wikipedia says sizeof returns a number of bytes. I guess that's pretty much a killer. 00:19:41 -!- oerjan has quit ("Good night"). 00:19:41 Does the spec say that the width of a pointer has to be constant? :-P 00:19:50 Define width. 00:20:08 uorygl: bytes need not be 8 bits 00:20:13 The thing that sizeof says. 00:20:49 I'm going now. Bye. 00:20:52 True, assuming the C spec allows it. So maybe we can just say one byte is infinite. 00:20:55 See you. 00:20:58 No, you can't. 00:20:58 bye 00:21:00 I'd explain but → 00:21:07 -!- ehird has quit. 00:21:15 Aww. 00:22:21 assuming that the implementation says that the effect of integer overflow is undefined... 00:23:00 I think one could have a C impl that recompiled when programs ran out of space 00:23:33 oh, but what about overflow from left-shift... 00:23:35 Ok, Small Worlds is essentially impossible to navigate without buttons getting in the way, and there are no camera controls, except a 2 mode zoom-in/zoom-out button 00:23:55 if the program runs out of heap space, one resizes the world to give more heap space 00:24:22 if the program tries to calculate a size_t to allocate or index with that causes integer overflow, resize similarly 00:26:45 uorygl: Need a Finn? 00:27:29 ineiros: yeah! Just go through all of Zerwolf's images on DeviantArt and translate everything. :-P 00:27:39 Here, let me find it. 00:28:30 http://zerwolf.deviantart.com/art/Happy-Independence-Day-145781696 00:28:53 Why are "hyvää" and "päivää" in the form they're in? 00:32:13 It's a partitive. It's used in stuff like "Good morning" (Hyv huomenta) and so on. And there should be no space in "itsenisyyspiv". 00:33:36 I guess that makes enough sense. 00:34:13 Are you studying Finnish? 00:36:20 No, though I would like to learn a Scandinavian language eventually. 00:36:43 I just happened to come across a Finnish artist. 00:40:27 Finnish is not considered to be in the Scandinavian language family. 00:40:39 I didn't know there was a Scandinavian language family. 00:41:49 I meant languages from the ill-defined Scandinavian region. 00:41:51 They're a set of partially mutually intelligible Germanic languages. 00:42:18 Yes, I figured you might have meant that, but there's the ambiguity. 00:43:45 * uorygl nods. 00:43:54 uorygl: Also, regarding constant pointer width: C requires that a char only store naturals, that UCHAR_MAX be the maximum natural that char can store, and that UCHAR_MAX be of type char. 00:44:11 C also requires that all the other types be sized multiples of the size of a char. 00:44:39 How Scandinavian do the Finnish consider themselves? 00:44:52 If it weren't for limits.h, you could have a C with an arbitrary-precision char. 00:45:03 If you want to learn something different, learn Finnish. If not, learn Swedish, but I can warn you that you'll find it rather boring. ;) 00:45:19 How similar are boring and easy? 00:45:20 (and make sizeof everything else be 1) 00:46:35 Finnish is not even Germanic... ;) 00:47:07 Quite true, that. 00:47:21 uorygl: Scandinavia is so ambiguous as a term so I can't really answer that. 00:48:17 * uorygl nods. 00:49:06 Hmm. My university has study abroad opportunities in Norway. 00:49:16 Heck, it's not even Indo-European... 00:49:22 uorygl: Swedish is surprisingly easy (even though my Swedish is extremely rusty, since I don't use it at all). 00:50:33 A somewhat-related video: http://www.youtube.com/watch?v=s-mOy8VUEBk 00:56:16 How easy is Norwegian, then? 01:00:34 It's quite similar to Swedish. Swedes and Norwegians can understand each other. At least to some extent. 01:02:15 * uorygl nods. 01:03:27 Wikipedia: "Some Norwegians also have problems understanding Danish, but according to a recent scientific investigation Norwegians are better at understanding both Danish and Swedish than Danes and Swedes are at understanding Norwegian.[1] Nonetheless, Danish is widely reported to be the most incomprehensible language of the three." 01:07:13 -!- sebbu2 has changed nick to sebbu. 01:16:42 Undecidable instances? 01:21:01 Makes Haskell types TC. 01:21:16 Well, that and type families. 01:22:20 bwahahaha 01:22:38 augur: Quod? 01:22:46 guess whats sitting in my living room, looming 7 feet in the air :X 01:22:59 ill give you a hint, its tall, rectangular, and black 01:23:12 and _ISNT_ a replica of the Monolith 01:23:13 I'm going to guess "the singularity" 01:24:13 ehird, i dont like your writing style. :( 01:26:29 pikhq: its not The Singularity either 01:26:36 its a BLACKBOARD :D 02:28:28 -!- jpc has quit (Read error: 104 (Connection reset by peer)). 02:29:03 -!- jpc has joined. 02:55:32 -!- Slereah has joined. 02:55:32 ehird, i think you're totally right about the constraint system 03:06:38 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 03:19:27 but its going to need some interesting wiggling 03:31:00 the way im thinking of implementing it, constructors in the background will establish certain data-objects that act as places to have bindable properties 03:32:20 e.g. circle 50pt creates a hash, lets say, like { :type => :circle, :radius => :50pt, :size = 100pt x 100pt, :position => :v0 } 03:32:48 rather than propositional constraints like type(x,circle), radius(x,50pt), ... 03:33:24 and these hashes are just effectively collections of constraint equations 03:33:44 then on top of this there would be other constraint equations that the user can write 03:33:52 e.g. a.center = b.cente 03:34:30 which just creates a constraint in the constraints list like that 03:35:45 im thinking of doing it this way because functions like over shouldnt update the things that it overs, but rather it should make copies 03:36:43 so doing say below a b makes duplicates of a and b, and manipulates the positions, and returns a new object that those copy objects are bound to by constraints 03:51:42 -!- BeholdMyGlory has quit (Remote closed the connection). 03:51:48 -!- FireFly has quit ("Leaving"). 03:54:14 -!- coppro has joined. 04:15:46 -!- coppro has changed nick to IHATENINTENDO. 04:15:56 -!- IHATENINTENDO has changed nick to coppro. 04:45:13 -!- Asztal has quit (Read error: 110 (Connection timed out)). 04:52:47 -!- Warriphone has joined. 04:53:51 ehird 04:55:26 * Sgeo wages war on warrigal's iPhone 04:56:20 -!- soupdragon has joined. 04:59:19 soupdragon! :D 04:59:28 hey augur 05:00:34 hows your semantics coming 05:01:00 well I got a bit stuck and I still haven't figured it out 05:01:07 whereat 05:03:18 well see (28) John loves and Mary hates pizza, syntactically you can parse it quite easily given and : (X\X)/X, but the semantics don't seem to work out compositionally for that (?), whereas if you lock X down to a ground term {N,NP,PP,S} then I can't find a parse for the sentence 05:04:46 well, you can make it work compositionally 05:05:31 lift John and Mary to S/(S\NP) and compose with the verbs, producing two S/NP's, then conjoin those then apply to NP 05:05:34 pizza 05:06:08 and use the rules previously for what each of those things does 05:06:53 that /should/ work 05:07:36 so you are using AND(\x,LOVE(x,JOHN),\x.HATE(x,MARY)) $ PIZZA ? 05:08:01 well, remember, conjunction of predicates is fork over & 05:11:51 yeah, i just did it, it works fine 05:12:49 John : NP : J --T--> S/(S\NP) : \p.p(J) 05:12:57 Mary : NP : M --T--> S/(S\NP) : \p.p(M) 05:13:07 I don't understand what it means to fork over &, is it the semantics of "and" depend on the type of what it is applied to? 05:13:10 loves : (S\NP)/NP : \y.\x.loves(x,y) 05:13:17 hates : (S\NP)/NP : \y.\x.hates(x,y) 05:13:36 Mary loves : S/NP : \y.loves(J,y) 05:13:41 er, John loves* 05:13:49 Mary hates : S/NP : \y.hates(M,y) 05:14:20 John loves and Mary hates : S/NP : \y.loves(J,y) & hates(M,y) 05:14:43 John loves and Mary hates pizza : S : loves(J,p) & hates(M,p) 05:16:55 so the derivation is like (((John >T) >B loves) [something to do with and] ((Mary >T) >B hates)) > pizza ? 05:17:08 yes 05:17:47 and : ((S/NP)\(S/NP))/(S/NP) : \p.\q.\x.p(x) & q(x) 05:17:52 I spent a while trying to figure out how to get and set up right so that it's used in this caes as and : (S\S)/S 05:18:20 hmm 05:18:34 and cant be universally the same type in CCG 05:18:45 and : ((S/NP/V)\(S/NP/V))/(S/NP/V) : \p.\q.\x.\y.p(x,y) & q(x,y) ? 05:19:43 whoa what S/NP/V what 05:20:00 well (S/NP)/V 05:20:08 and what the hell does this thing do? lol 05:21:00 well okay how about and : (S\S)/S : \a.\b.a&b ? 05:21:15 yes 05:21:28 so my quesiton is, why does and have different semantics depending on the type 05:21:33 er category 05:21:48 because it has to produce logically-sensible things 05:22:00 John & Mary is a type error 05:22:07 neither John nor Mary is a truth value 05:22:14 so you cant perform conjunction on them 05:25:31 wait you can't have and : (NP\NP)/NP ? 05:25:50 well you can 05:25:54 SYNTACTICALLY 05:26:01 but what does it do SEMANTICALLY 05:26:05 thats the question 05:26:13 so not every syntactically valid sentence has semantics? 05:26:33 well, it might well have valid semantics, you just have to type-lift it correctly :) 05:26:51 ;_; 05:26:56 this is too hard for me 05:27:01 the type lifting is the only way to get the sentence to parse, right? 05:27:06 lift-compost-conjoin-apply 05:27:21 well yes 05:27:33 and notice the semantics of those respective operations 05:27:41 lifting takes x to \p.p(x) 05:28:03 compose takes \x.f(x) and \x.g(x) to \x.f(g(x)) 05:28:24 conjunction of predicates takes \x.f(x) and \x.g(x) to \x.f(x) & g(x) 05:29:37 when you do these, you just _get_ the right semantics. 05:30:48 you cant help but get 'loves(J,p) & hates(M,p)' out of this 05:30:58 yeah that makes sense 05:32:37 augur, I got my program to do this 05:32:40 Eval compute in semantics ((((John >T) >B loves) < (and > ((Mary >T) >B loves))) > pizza). 05:33:16 = AND (LOVE PIZZA MARY) (LOVE PIZZA JOHN) 05:33:32 good boy 05:33:37 >:| 05:34:30 just look how bad the semantics for AND are though... http://www.pasteit4me.com/95019 05:34:57 line 41 is basically /undefined/ 05:35:02 i dont know what this says 05:35:15 oh well I can explain it any other way 05:35:22 oh i think i see 05:35:36 yep, that looks about right! 05:35:43 oh really?? 05:35:45 nasty? you betcha. 05:35:50 and is a bitch of a word 05:39:16 now I need to write something that takes John::loves::and::Mary::loves::pizza to the parse tree 05:39:32 oh thats easy 05:39:33 er 05:39:35 ::nil 05:39:59 I thought up an algorithm in bed, but I heard there's a really efficient one too 05:40:47 i dont know how the fuck i'd parse that shit, to be honest 05:41:00 if you wanna guest post on my blog about writing a parser for it, i'd be honored 05:41:01 you said it was easy!! 05:41:05 PARSING 05:41:07 with your HEAD 05:41:10 hehee 05:41:11 not with your program :P 05:41:16 but, as for building the tree 05:41:22 which tree 05:41:30 yeah the thing is stuff like thrush makes it very tricky 05:41:49 why 05:41:50 I was thinking every tree, that way if you get 0 trees then you know it's not got any pases 05:41:54 parses* 05:42:09 the parse for this sentence in CCG is simply 05:42:28 [[[John loves] [and [Mary hates]] pizza] 05:42:32 with only binary connectives (like >, <, >B, but with thrush, when you do stop lifting? 05:42:58 normal CCG only lets you lift from base types 05:43:04 so no lifting of functor types 05:43:08 ooh that makes it easier 05:46:21 good luck turning it into a normal sort of parse tree tho 05:46:59 my idea (for the case without lifting), is that you can just walk along from left to try 05:47:37 try to join "John" with "loves" in every possible way, if you don't succeed, try to join "loves" and "and" in every possible way.. 05:47:55 once something clicks you can go back one step (kinda like bubblesort, except the list gets smaller each time) 05:48:13 what 05:48:17 I'm guessing there's a better way though.. so *looks for books* 05:48:43 ive got no idea how to build a parser for it. :D 05:49:39 Sgeo: why are you waging war on my phone? 05:53:49 soupdragon: an alternative would be to go the minimalist route 05:53:51 or thereabouts 05:56:19 which is to say, it parses like normal 05:56:39 [[John [loves PRO]] [and [Mary [hates pizza]]]] 05:57:05 where PRO is inserted when the parser fails to find the appropriate argument for the verb 05:57:43 tho personally i think the correct parse is actually [John [loves pizza]], [Mary [hates pizza]] 05:58:09 John loves, and Mary hates, pizza 05:58:29 pretty much. my believe is that you're actually not saying one sentence with a conjunction, as such 05:58:35 but rather two sentences interleaved 05:59:04 or you're reducing a sentential conjunction to an interleaved structure 05:59:46 its not without its phonological effects, unlike normal conjunction 05:59:58 John loves pizza and cake 06:00:03 John loves pizza and hates cake 06:00:09 John and Mary love pizza 06:00:10 interesting 06:00:14 John loves and hates pizza 06:00:19 all of them have normal sentence intonation 06:01:08 whereas John loves and Mary hates pizza normally has normal sentence intonation over the first two words 06:01:23 then restarts and has normal sentence intonation over the rest 06:01:35 that is, normal sentence intonation is falling 06:01:41 -!- jpc has quit ("I will do freaking anything for a new router."). 06:01:55 and this has [john loves] falling, then [mary hates pizza] restarting and falling 06:01:58 like a sawtooth 06:02:04 which looks a lot like two interleaved sentences 06:02:10 and none of the other conjunctions look that way 06:02:30 i mean, you could view that as an argument in favor of the PRO analysis too i guess 06:06:08 -!- adam_d has joined. 06:10:34 -!- jpc has joined. 06:18:21 uorygl, for no other reason then you being namedd warriphone 06:19:24 -!- jpc has quit ("I will do freaking anything for a new router."). 06:20:09 Ah. 06:20:24 It does rather resemble a command to wage war on an iPhone. 06:22:43 * uorygl seaborgiates Esperanto. 06:27:41 -!- jpc has joined. 06:28:31 ? 06:29:03 You're... Coloring... A language. 06:29:16 fuck yeah 06:29:31 pikhq: this is #esoteric 06:29:36 why should this be odd to you 06:35:56 -!- lament has joined. 06:37:13 what??? 06:37:26 hey 06:37:27 sup 06:37:29 I don't know this word seaborgiates 06:39:30 Obviously, refers to hive-mind cyborgs sailing on the water 06:39:47 no no thats seaborgium 06:40:23 http://www.google.com/search?hl=en&safe=off&rlz=1C1CHNR_enUS321US321&q=seaborgiate&aq=f&oq=&aqi= 06:40:28 Some German thing? 06:41:25 I... see nothing in Google translate 06:41:27 Good night all 06:41:31 guys! 06:41:34 ive got a video camera! 06:41:43 i want to make scifi 06:41:46 what should i make 06:41:53 scifi gay porn 06:42:00 nh 06:42:23 -!- adam_d has quit (Read error: 110 (Connection timed out)). 06:45:17 I wish I could just download every book automatically using the internet 06:45:30 gigapedia.com 06:45:39 that site has no book 06:45:58 what 06:46:12 I never once got any results from that site 06:52:14 :| 06:52:21 do you have an account? 06:56:51 -_- 06:56:58 I didn't know there was one 06:57:04 well theres the problem! 06:57:06 augur / keroppi 06:59:35 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:13:40 oh man 07:57:18 I should work through the mockingbird book 07:58:52 indeed 07:59:06 I got stuck about 1/2 way last time 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:06 i should download a copy 08:00:21 tkam? 08:00:24 or what? 08:00:33 to mock a mockingbird 08:01:06 oh 08:02:21 man 08:03:17 ive been trying to wrap my head around a monosortal logic that isn't susceptible to russell's paradox 08:03:24 and i think i only just understood it 08:04:39 hmm.... 1/2, not bad 08:04:44 okay, scratch that 08:04:49 1 hit for 'monosortal' on google 08:05:06 and its barryschein! :D 08:05:28 monosortal is basically untyped 08:05:28 ish 08:05:36 oh 08:06:44 i was trying to figure out how you could have an expression like this: ∃X[∃x[x ∈ X]] 08:07:03 without saying that X is a different type that x 08:07:19 but thats an existensial qualifier; why would such a qualification be necessary? 08:08:11 well its more that 08:08:24 if your logic has things that are sets 08:08:36 then you get into the problem of russells paradox 08:09:07 introducing types ofcourse raises interesting questions too 08:09:12 but boolos presumably said look 08:09:18 forget this stuff ok 08:09:28 ah 08:09:29 you can do 1 ∈ 2 for all i care 08:09:33 :P 08:09:43 actually, no I don't get it 08:09:43 its just false 08:09:50 what's wrong with such an existensial qualifier? 08:09:56 of course there exist such x and X 08:10:36 if X is a set, then can you say something like ∃X[∀Y[Y ∈ X ↔ Y ∉ Y]]? 08:11:25 where that X = { Y : Y ∉ Y } 08:11:43 because thats all it sais 08:11:48 but this is obviously paradoxical 08:12:11 right, that's Russel's Paradox 08:12:15 right 08:12:23 the issue is _really_ that you're doing something like 08:12:43 X, a set, such that it contains the Y's where Y is a set and Y is not in Y 08:13:09 but who says that Y and X have to be sets? well, the notation, normally. ∈ and ∉ is defined on sets 08:13:11 not on numbers 08:13:19 ok, with you so far 08:13:22 so in normal logic, it makes no sense to even say 1 ∈ 2 08:13:28 thats just undefined 08:14:39 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)). 08:14:46 but what if we said, sure, ∈ is defined for anything and everything 08:14:49 pretend this is prolog 08:14:58 prolog has untyped abstract values 08:14:59 -!- Warriphone has quit (Read error: 110 (Connection timed out)). 08:15:10 so you can define in(X,Y) all you want 08:16:48 in that case the paradox goes away 08:17:00 sure, you can have something X that contains all non-self-elemental sets 08:17:10 but X isnt a set. 08:17:22 so its not in itself 08:17:26 and therefore its not a paradox. 08:18:02 so you resolve the paradox by essentially getting rid of the sortedness on the values 08:18:17 sure, you might add sorts with a prolog-esque typing predication 08:18:24 set(my-set). 08:18:50 but then that just means that the thing that contains all non-self-elemental-sets is not my-set! 08:19:03 it doesnt mean its not my-collection or whatever. 08:19:27 intersting 08:19:30 just remove the sortedness of all predicates. 08:19:47 presumably. i havent read boolos' paper but im trying to understand the principles via another relevant work 08:21:02 i couldnt understand it tho for a while 08:21:18 because i kept thinking about sets and pairs and so forth as inherently structured objects 08:21:28 e.g. the pair <1,2> is just that 08:21:32 its an object with structure 08:21:59 when really what i shouldve been thinking is that the pair <1,2> is just some object, with whatever structure, the structure doesnt matter 08:22:16 but it is that object p such that first(p,1) & second(p,2) 08:22:23 ah 08:22:58 <1,2> may or may not be structured, but that doesnt mean you cant, say, call ∈ on it and say "foo" ∈ <1,2> 08:23:21 and you can say first-of({1,2,3}) 08:23:51 its just that its irrelevant to the logic 08:24:42 once i realized that, man 08:24:48 bam. it all clicked into place 08:25:03 think of it like a very low-level prolog program. 08:25:12 no lists, no datastructures, nothing 08:46:55 augur: Okay, have you ever been in #math? 08:47:13 no why 08:47:30 ok nvm then 08:47:41 what 08:47:41 why 08:47:45 did something go down in #math? 08:48:07 TRWBW was the best guy :( 08:48:17 he actually taught me stuff I didn't know ... 08:49:15 http://qdb.us/301117 08:50:22 shut up coppro TRWBW was the best 08:50:32 no. no he was not 08:50:35 who was TRWBW 08:50:35 you're acting like #math isn't a smugpit today 08:50:47 I don't know what it is 08:50:50 augur just some guy that actually knew math 08:50:58 kasadkad actually knows math. 08:50:58 coppro it's about 20x worse than before 08:51:01 augur: and was a complete asshole about it to everyone else 08:51:06 augur, sure he wasn't the only guy 08:51:14 kasadkad is a friend of mines :D 08:51:22 if it's still bad, I'll leave 08:51:36 well don't take my word for it 08:53:26 but seriously, I could not stand watching TRWBW tearing apart people who just didn't get it 08:53:39 -!- anmaster_l has joined. 08:57:47 ahah, <3 qdb 08:57:58 division of cells: o -> 0 -> 8 -> oo 08:58:28 that would make a nice ascii animation 09:30:31 -!- lament has quit. 09:31:12 -!- Pthing has joined. 09:53:44 -!- lifthrasiir has joined. 10:06:42 -!- jpc has quit (Read error: 110 (Connection timed out)). 10:31:04 -!- oerjan has joined. 11:00:09 -!- ais523 has joined. 11:07:06 wow, Y2010 bugs all over the place, probably because nobody was anticipating them 11:07:18 O_o 11:07:25 the typical problem seems to be that a format was reverse-engineered, and people assumed binary when it was actually BCD, or vice versa 11:07:32 resulting in lots of things thinking it's 2016 11:07:51 -!- BeholdMyGlory has joined. 11:09:54 hm that only makes sense if you leave out the 20 part, doesn't it. 11:10:32 I think so 11:11:08 which makes it rather similar to the original Y2K problem, doesn't it 11:11:20 yes 11:11:27 also, those bugs must all have been introduced in the last decade... 11:11:30 -!- FireFly has joined. 11:11:35 nobody cares about Y2K nowadays, though 11:11:38 because 2000's gone already 11:11:58 so it wouldn't surprise me at all if Y2K bugs became /more/ common after the big rush in 1999 to fix everything before the new year 11:12:16 hm 11:13:05 time for my regular look at updates: it seems some security bug was found and fixed in Kerberos, and there are new daylight-saving rules for Bangladesh 11:13:52 and glibc's been fixed to handle the case where no IPv6 networks are available much faster 11:23:39 Beware of Y2K38!!1 12:01:17 -!- ehird has joined. 12:03:06 jew bonanza 12:03:53 16:24:22 if the program tries to calculate a size_t to allocate or index with that causes integer overflow, resize similarly 12:04:00 sizeof is compile time though 12:05:55 17:22:46 guess whats sitting in my living room, looming 7 feet in the air :X 12:05:56 17:22:59 ill give you a hint, its tall, rectangular, and black 12:05:56 augur, put that penis away. 12:06:15 17:24:13 ehird, i dont like your writing style. :( 12:06:15 the text was basically an excuse to show the code 12:06:28 besides I wrote it when tired 12:06:36 I might just delete it, it's not a particularly good post 12:06:46 especially because of: "Now we can define show using toNum. (Actually I broke this at some point, so it just makes show fail all the time with an overlapping instances error. Sorry. Patches welcome.)" 12:07:29 btw does my blog look like it has a white background to you because it doesn't :< 12:08:12 ehird: URL? 12:08:19 http://ehird.blogspot.com/ 12:08:32 view with a graphical css browser, obvs 12:08:43 it's either grey or greyish-blue 12:08:46 ais523: posts written in Emacs with org-mode :D 12:08:48 on this screen, I can't tell which 12:08:49 it's grey 12:08:57 but yeah, your screen is not really a reliable source of colour info :P 12:09:21 that's in Firefox; shall I check in Epiphany-webkit too? 12:09:35 uh, sure; i look at it with safari so i see webkit already, but go ahead 12:09:46 -!- Pthing has quit (Remote closed the connection). 12:09:47 if you have IE to hand, you could try that too... for a laugh, most likely 12:09:51 it's actually #F5F5F5, the background 12:09:52 yep, same 12:09:55 I don't have IE to hand 12:09:57 #EEE was too dark 12:10:03 I might go for #F3F3F3 or something, dunno 12:10:15 ehird: whoever says it's white probably has a gamma problem 12:10:42 If Iook closely with a white window to the side I can tell it's grey, but otherwise it's very subtle 12:10:51 Admittedly I'm on the old Macintosh gamma 12:10:58 it's almost white to me when viewed from above, but clearly grey from in front 12:11:06 1.8 instead of Television/PC 2.2 12:11:12 (2.2 was made the default in Snow Leopard) 12:11:13 but then, this screen can make even #FFFFFF look grey from the right angle 12:11:21 (I just haven't put the DVD in the machine and hit gogogo) 12:11:25 darker than red, in fact 12:11:27 (A legit copy would you believe?) 12:11:45 Hmm, PC gamma makes the grey very very slightly more obvious 12:12:01 is that because Apple are more competent at DRMing? or because you want to support them with legitimate products? 12:12:08 or because your parents would notice if you pirated it? 12:12:11 or some other reason? 12:12:22 because I didn't buy it :q 12:12:35 ah, I was wondering about that 12:12:53 i don't particularly want to support apple seeing as i'm probably on the road to migrating away from osx 12:13:10 the only drm apple does is checking you're on a mac 12:13:14 no serial keys or anything 12:14:37 now, let's see if i can write blog posts that are at least half as interesting as the average http://arcanesentiment.blogspot.com/ post 12:14:45 probably not! 12:15:54 18:55:32 ehird, i think you're totally right about the constraint system 12:15:54 am I ever wrong 12:16:12 19:32:20 e.g. circle 50pt creates a hash, lets say, like { :type => :circle, :radius => :50pt, :size = 100pt x 100pt, :position => :v0 } 12:16:12 19:32:48 rather than propositional constraints like type(x,circle), radius(x,50pt), ... 12:16:12 19:33:24 and these hashes are just effectively collections of constraint equations 12:16:13 that's basically the same thing 12:16:23 19:35:45 im thinking of doing it this way because functions like over shouldnt update the things that it overs, but rather it should make copies 12:16:23 ohohoh 12:16:27 there is no updating in my system 12:16:37 below :: List Drawable -> Drawable 12:16:44 each drawable has its constraints as part of the value 12:16:48 and below merges them all 12:16:50 totally functional 12:21:50 hmm 12:22:00 I know parser combinator libraries can be Applicatives instead of monads 12:22:09 but can they be anything _less_ powerful? 12:22:35 monad more powerful than applicative beacuse monad => applicative? 12:23:19 "This module describes a structure intermediate between a functor and a monad: it provides pure expressions and sequencing, but no binding." 12:25:09 Keys my keyboard lacks: Numlock, numpad /, numbad 9, numpad 4, numpad 5, left arrow, right control, right shift, \|, ]} 12:25:38 How'd you manage that 12:25:44 With great effort 12:25:49 Obviously 12:26:18 -!- oerjan has quit ("leaving"). 12:31:03 span {BCSI} = span {SK}\K 12:31:26 ehird: what is up with your keyboard? 12:31:29 also, how do you program? 12:31:48 (I'm assuming that's desktop keyboard, not iphone keyboard) 12:32:06 It's a Frankenkeyboard. And, well, \ and | are rarely used; I just finger the exposed circuit board when I want to type one of them. 12:32:12 Ditto for ]}. 12:32:37 It doesn't have any tactile response and I have to use my nail, but it beats the unholy effort of putting the keys back on (dun dun DUN). 12:32:51 And I never use the numpad. 12:32:56 (I used to, but this stopped me!) 12:32:59 (I now type better.) 12:33:38 I don't use the numpad due to spending nearly all my time on laptops 12:33:50 The numpad is bad because I have to move my hand dto use it. 12:33:55 So learning to touch-type the number row is better. 12:34:45 were you the sort of person who always left numpad on, or the sort of person who always left it off? 12:34:54 I imagine very few people actually change it, due to muscle memory 12:35:09 I always left it on; it was the only way I could type numbers quickly. 12:35:20 I also always left it on 12:35:23 I also used to type * with it, but not + or -. 12:35:26 Go figure. 12:35:29 which is strange as I rarely actually used it 12:35:33 IMO the non-numlock mode is pretty useless 12:35:43 "Results 1 - 10 of about 9" 12:35:45 all the keys are there right before the numpad... 12:35:45 haha 12:35:45 some people use it for games 12:35:48 in the middle column 12:35:51 ais523, ^ 12:35:55 hi btw 12:35:56 ehird: hmm 12:35:58 and hi 12:36:01 *AnMaster: hmm 12:36:15 that was a fun typo 12:36:24 google's "typo"? 12:36:30 no, me getting the wrong nick 12:36:32 ah 12:36:47 it's a testament to how long I've spent in here that I have both your nicks sufficiently finger-memorised that I can typo one for the other 12:37:03 you don't tab-complete? 12:37:48 ehird, or he memorised something like: "an" and "eh" 12:37:55 yep 12:38:03 tab-complete's included in the finger-memorisations 12:38:06 yeah, i guessed 12:38:08 just checking 12:38:08 although ehird's short enough to type without completing 12:38:27 ais523, nah, three letters is max I go before tab complete 12:38:28 you're ais?\t but a\t would basically almost work i guess 12:38:29 I just checked too; it is two characters at the start of the name that I've finger-memorised 12:38:37 mostly ai\t i think 12:38:43 ehird: with AnMaster here, you need two characters 12:38:44 I normally use two I think 12:38:47 if you want it to be reliable 12:38:47 ais523: nope 12:38:54 my client sorts by last use or something 12:38:57 AnMaster: test 12:38:59 AnMaster: test 12:39:00 yeah 12:39:05 ehird, tesing what? 12:39:07 testing* 12:39:10 AnMaster is always [Aa]n\t for me anyway 12:39:11 yes, and AnMaster has often spoken more recently than me 12:39:12 ah 12:39:15 I never, ever type the m 12:39:29 ais523: no, last use by _me_ 12:39:30 my client repeats my last tab-complete if I press tab with nothing in the box 12:39:32 ehird: ah 12:39:43 ais523: ah, ditto here 12:39:45 ais523: didn't realise that 12:39:48 ehird, well I tend to try to always use three letters so that the risk of issues with someone new joining and messing up for me is less. 12:39:53 ais523: now i will use it FOREVARRRRRRRRRRRRR 12:39:56 even if one letter would be enough 12:40:27 about repeating last: not for me. Mine does however do "last nick to speak first" 12:40:37 ehird: I never use it 12:40:43 and since most people are idle it helps 12:41:18 I noticed xchat treats tab if you hold it down as "tab to other GUI element" 12:41:24 which is rather strange 12:41:37 AnMaster: that's what tab does, in nearly all GUI contexts 12:41:46 but the CLI meaning of tab takes precedence over the GUI one in an IRC input box 12:42:07 ais523, yes but that it does that in the input box *instead of tab complete* if you hold tab down for about half a second 12:42:19 that makes sense 12:42:23 actually closer to a second I think 12:42:25 they're giving you the opportunity to do one or the other 12:42:45 after all, otherwise the focus would be trapped in the input box forever if you didn't have a mouse, and only knew about tab for GUI navigation with the keyboard 12:43:16 ais523, hey that was something zzo would have said 12:43:21 not something you would have said. 12:43:36 no it doesn'y 12:43:38 *doesn't 12:43:43 (of course he would have added it should be configurable too) 12:44:01 ais523 is of the School of Works on Your 50-Year-Old Amstrad With Three Pixels and One Key 12:44:16 ehird, well only the last bit "if you didn't have a mouse, and only knew about tab for GUI navigation with the keyboard" sounded zzo-ish 12:44:30 No, that's just "RAAR SYSTEM REQUIREMENTS ARE EVIL". 12:44:35 zzo wouldn't have put it at the end of the sentence 12:44:39 and the grammar would be different 12:44:50 ais523, well okay, not too far off though 12:45:00 ais523, and yes he would have said there should be an option for it 12:45:19 speaking of which, should suggest to him next time that he makes the options optional 12:45:20 zzo's amusingness is more than just options, you know. 12:45:38 zzo has an extremely logical mode of thought 12:45:44 ehird, well yes. but I was concentrating on that bit here 12:45:58 also, seems to have learnt politeness inductively, like I did, rather than understanding it innately 12:46:27 explain 12:46:37 If you want to tab to another field in ZRCB++Q4 you can hold down the TAB key. But if you don't want it to tab to another field if you hold down the TAB key, also, you could change that option or you could edit the code to remove that also. 12:46:50 Also also Also also also also buffalo. 12:47:11 (ps imagine that line being said right after he enters without explaining what ZRCB++Q4 is) 12:47:21 ais523, Not sure exactly what you mean, but if it is what I think then it is similar for me 12:47:28 possibly for many of us 12:47:36 * AnMaster waits for ais523 to clarify what he meant with inductively here 12:47:44 AnMaster: trying to work it out from examples and experiment 12:48:00 #esoteric-politeness (where - is minus) FLAME! WAR! FLAME! WAR! 12:49:01 ais523, I do not think you can have a built in definition of what is polite. For a start, the details differs between cultures 12:49:10 -!- ehird has left (?). 12:49:13 -!- ehird has joined. 12:49:13 -!- ehird has left (?). 12:49:17 -!- ehird has joined. 12:49:23 politeness is evolved 12:49:26 ais523, what is considered polite in UK might not be in (for example) South Korea 12:49:35 AnMaster: I mean, more, that most people don't have to expend concious thought on working out how politeness works in their culture 12:49:39 as part of the general pack animal stuff 12:49:58 hmm... dolphins are incredibly arrogant 12:49:59 to some extent they do share some similarities of course. But a lot of it will differ. 12:50:04 but, also, please; every programmer on the internet thinks they're autistic/Asperger's 12:50:13 haha 12:50:16 people parsed their communication, and it's nearly all them giving each other orders 12:50:21 ais523, and thanks for all the fish <-- doesn't sound too arrogant ;P 12:50:34 ehird: they're actually correct, but only because Asperger's has been generalised to the extent that it's almost meaningless 12:50:52 ais523: Yes, but learned politeness isn't really generalised that much. 12:50:58 people parsed their communication <-- when did they figure that out? 12:51:24 AnMaster: hmm... I think what they did was invented a simple language, and taught it to the dolphins 12:51:28 douglas adams created the impression of dolphins being all playful awesome intelligent creatures 12:51:32 it's kinda... bullshit. 12:51:44 and they knew what the language was because they'd invented it in the first place 12:51:56 it's science fiction ehird :P 12:52:00 yes, they're intelligent... but they're not civilised or anything, unless you call gang rape civilised 12:52:01 you're not meant to read it as true 12:52:04 soupdragon: you would be surprised how many people do 12:52:13 I am! 12:52:17 ais523, ah, well could depend on the language. Or maybe they misunderstood it. 12:52:22 they're intelligent, but they follow utterly different social rules from us 12:52:23 most people are idiots and they cannot distinguish witty fiction from fact 12:52:28 AnMaster: it had verbs, and nouns 12:52:32 and a sentence was one of each 12:52:37 ais523: are you seriously calling gang rape a social rule 12:52:53 ais523, I don't know if it is true, but I heard some claims that if you don't have numbers in your language you can't count. 12:53:05 ehird: I'm not sure how to parse your question, but it's either trivially true or trivially false depending on what you mean 12:53:09 well, one-to-one matching still works iirc 12:53:24 dolphins are pretty good at coordinating as a group, that's what the social rules are about 12:53:34 what the effect of them is is unrelated 12:53:39 ais523: well, it seems like saying "dolphins are intelligent they _just have different social rules" is bullshit 12:53:39 have you seen dolphins herding fish? 12:54:02 ais523, have you? 12:54:02 ehird: hmm, removing the comma completely changes the meaning of what I was trying to say 12:54:07 AnMaster: on the TV, yes 12:54:13 they go round in circles breathing out 12:54:23 and the fish can't escape, because they can't swim through aitr 12:54:25 *air 12:54:30 and other dolphins just eat the trapped fish 12:55:22 ais523, they do that? And why did that make me think of something as ridiculous as dophins using underwater sheepdogs XD 12:55:34 AnMaster: OK, that is ridiculous 12:55:35 dolphins* 12:55:46 the whole sheepdog principle only works because sheep are terrified of dogs 12:56:00 ais523, they could tame sharks or something XD 12:56:03 which makes sense, given the likely history of their interactions before humans came along 12:57:23 * ais523 thinks about the old metaphor of herding cats 12:57:29 I had a dream last night where I was given a Wii, which actually turned out to be multiple Wiis. Two of the three or four were the imaginary higher model Wii, which was seemingly identical apart from being much bigger. 12:57:34 I wonder how people discovered that herding cats was almost impossible. Experiment? 12:57:57 The dreaming part of my brain cannot distinguish the Wii from the Xbox 360, which _does_ have multiple versions. Woe is me. 12:58:11 wow, that previous line of mine was identical in real-world grammar and IRC grammar 12:58:22 because it starts with a proper pronoun, and ends with a question mark 12:59:16 * ais523 thinks about the old metaphor of herding cats <-- I haven't heard of that 12:59:27 maybe it's a British one 12:59:35 sounds folkloreish? 12:59:37 the idea is that herding cats is basically impossible 12:59:43 ais523, well sounds reasonable 12:59:47 well,* 12:59:51 and you compare things to herding cats if they're a similar sort of job 13:00:00 ah 13:00:02 say, coordinating thousands of children, or whatever 13:00:05 http://www.youtube.com/watch?v=1SmgLtg1Izw 13:00:27 ais523, has anyone tried this scientifically? *Ponders what the control group would consist of* 13:00:31 (relevant) 13:00:50 (but on YouTube, and I don't like to watch that from a work connection) 13:01:16 you've wasted more than 1:00 on irc already :p 13:01:19 my current Flash compromise has it completely banned from Firefox, but allowed unrestrictedly on Epiphany, by the way 13:01:31 ais523, logic behind that? 13:01:45 AnMaster: unlikely to trigger Flash by accident 13:02:09 because I only use Epiphany for file:// or when I'm specifically trying to look at something that requires FLash 13:02:51 any objections to me deleting http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html, due to its generally rubbish writing? 13:03:01 * AnMaster wonders *why* synergy sometimes results in ghost pastes 13:03:09 no; are you planning to redo it with better writing, by the way? 13:03:23 my brain has a sort-of objection to deleting blog posts on general principles, even if nobody is ever likely to actually read them 13:03:28 ehird, why not rewrite it? 13:03:42 I can't think of a way to write it better, really. 13:03:47 The code stands on its own. 13:03:51 Sorry, the page you were looking for in the blog Elliott Hird's blog does not exist. 13:03:53 >:| 13:04:02 soupdragon: I haven't deleted it yet. 13:04:05 What did you do? 13:04:10 soupdragon, remove the , at the end 13:04:13 it is not pat of the url 13:04:14 Ah. 13:04:30 (my client does that too, and sometimes , *are* part of url so meh) 13:04:46 ehird you only have one post???? 13:05:10 considering i just registered it yesterday and set up emacs w/ org-mode to write the posts...yes 13:05:34 don't delete it or you'll never post anything 13:05:45 so how the *heck* does one add items to the "Places" menu in gnome 13:05:50 just hide it by posting lots of better stuff 13:05:53 AnMaster: add to the nautilus sidebar 13:05:59 soupdragon: no, posting a "HELLO WORLD" post will kill it 13:06:06 ehird, how illogical :D 13:06:07 soupdragon: i wrote that post when sleepy, anyway 13:06:11 i just wanted to post something 13:06:15 AnMaster: how is that illogical 13:06:20 places shows a few locations + nautilus favourites 13:06:31 ehird, well why should they be related 13:06:43 ehird, for a start they don't match 13:06:50 yes, they do 13:06:57 mostly in that "removable media" is expanded 13:07:05 so thus you don't see it right away 13:07:07 you will note a separator bar 13:07:16 ehird, not in nautilus 13:07:19 in the menu yes 13:07:24 but there is no such in nautilus 13:07:32 one of the separated bits is the nautilus favourites 13:07:43 oooooh 13:07:54 genrealized composition with n=0 is application!! 13:08:02 ehird, in the "places" thing in naultius, there are *no* separator bars bar one bar at the bottom (nothing below it) 13:08:59 ehird, plus, I normally use the tree view if I use nautilus 13:09:10 wait, there's a flame war going on about /nautilus/? 13:09:20 please, it's too meh to care about one way or the other 13:09:26 ? 13:09:40 ais523: AnMaster's strategy is to use Ubuntu because he wants things to "JUST WORK", then tweak everything as much as he can, and complain when it isn't tweakable 13:09:52 I know 13:09:56 dude I want everything to work 13:10:00 ubuntu doesn't ... 13:10:07 it fucking fails every couple of months 13:10:14 I'm using Ubuntu for a similar reason, but tweaking only when necessary, apart from things like the colour scheme which are unimportant 13:10:34 e.g. I went and compiled the wireless driver myself, because it was needed to get the wireless to work 13:10:38 http://i.imgur.com/1gF1j.jpg ;; IT KEEPS GROWING OH GOD 13:10:55 ehird, that was on arch 13:10:57 not on ubuntu 13:11:09 ehird, -_- 13:11:09 you use GNOME on Arch? 13:11:16 what are you, retarded? 13:11:24 ehird, yes because kde pulls in mysql for one thing. 13:11:26 Some programs use it whether you like it or not. 13:11:29 and also kde 4 sucks IMO 13:11:47 Deewiant: that doesn't mean he has to use nautilus 13:11:52 but uh, lol @ mysql complaint 13:12:02 No, but he was originally asking about the places bar 13:12:16 you don't have to run gnome-panel either 13:12:19 e.g. I went and compiled the wireless driver myself, because it was needed to get the wireless to work <-- same. Well it worked. Just ooped at shutdown, just before syncing disks 13:12:20 only gnome users run gnome-panel 13:12:39 and we run two of them! 13:12:44 thus had to compile a backported one 13:13:09 ehird, not run it. But it is installed. mysql is not going to be on my system 13:13:29 AnMaster: you are truly a zealot of the highest order 13:13:32 ehird, and I don't use nautilus much. 13:13:47 as in, hardly ever 13:14:05 ehird, exception is probably working with gimp and similar tools 13:14:08 for image editing 13:14:14 AnMaster of the high order or zealots will grant you an audience with nautilus! 13:14:36 the inscriptions on the ancient temple of the zealots 13:14:40 FVCK MVSQL 13:14:53 ehird, where being able to see a preview on the files like PICT4382.tiff helps 13:15:10 THOV SHALT HAV NO GOD ABOV OPEN SOURC 13:15:12 :D 13:15:36 FLASH WILT BE THE ONE THAT ENDS THE EART 13:15:47 my wireless driver's in a weird state 13:15:47 ehird, anyway, see the other reason 13:15:55 it's been written and packaged, but not added to the distro yet 13:16:02 I *have* tried KDE4. and I *used* to positively hate gnome 13:16:15 but things have changed, both the project, possibly also me 13:16:36 (meh at that grammar) 13:16:44 you don't *hate* it you just complain about it at every possible opportunity 13:16:52 ehird, I said *used* to 13:17:02 as in, a year or two ago 13:17:06 dude you just complained about it 13:17:08 back when it was KDE 3 vs. gnome 13:17:25 ehird, sure I don't love gnome as such. 13:17:58 But I find it acceptable mostly. 13:18:06 quite nice even in many parts 13:19:36 ehird, and I don't see why you are flaming me for using gnome 13:19:51 arch is very nice for a desktop.. 13:20:02 just not for a laptop (where I use ubuntu) 13:21:43 frqstrbvrqtrstrqrstqrtq 13:21:52 ehird, ? 13:22:12 *frqstrbvrqtrqtrqrstqrtq 13:22:19 *ttttttttttttttttt 13:22:26 make sense -_- 13:22:38 also ais523 complains about ubuntu too 13:22:58 yes, they've made some truly stupid decisions 13:23:04 ehird, see ^ 13:23:05 is this as boring for you guys as it is for me, listening to AnMaster winge for seven years 13:23:20 ehird: oh, I've been filtering it 13:23:22 mentally 13:23:28 ehird, seven years? I'm pretty sure it wasn't in 2003 that I joined 13:23:58 ais523: can you cut off a little knob of your filter and give it to me? 13:24:00 mine's defective 13:24:01 (I wasn't on irc in 2003 even.) 13:24:18 ehird: I don't think so 13:24:28 it's kind-of hard to share mental processes between people 13:24:34 what exactly are you filtering? 13:24:42 don't tell him, this is fun 13:24:43 "fun" 13:24:49 conversations I'm not particularly interested in 13:24:57 ais523, oh well, everyone does that 13:25:08 I do the same when ehird and augur talk linguistics mostly 13:25:09 whoosh 13:25:16 i don't talk linguistics you dolt 13:25:32 ehird, okay augur does. but you does seem to take part partly 13:25:38 in the discussion 13:25:40 only when it dominates the channel, duh 13:25:43 it's called a conversation 13:25:49 of which this channel is one continuous one 13:27:32 :( 13:28:00 soupdragon: wat 13:29:11 I just hate it when you two argue!!! 13:29:28 stop him being an idiot and i'll stop arguing :|||||||||||||||||||||||\\\\\\\\\\\ 13:29:34 whoa those |s are blue green 13:29:36 trippy subpixels 13:38:54 http://www.themilliondollartagcloud.com/ 13:38:54 O_O 13:38:54 >_< 13:38:55 -_- 13:41:09 ehird, what is it? 13:41:58 I'm surprised the whole million-dollar homepage thing worked 13:42:06 who'd pay 1$ for a 1-pixel advert? 13:42:11 Idiots 13:42:15 trippy subpixels <-- I don't see that effect of course. Long live greyscale antialias. But those | are sharp. Looks like they are rendered exactly one pixel wide, and well adjusted to the screen pixels 13:42:35 Ooh, AnMaster is in "look at me my technology is SUPERIOR you care about this and want me to tell you all about it" 13:42:37 mode 13:43:12 ehird, no I'm just amused at that *you* is complaining about sub pixels :P 13:43:13 wow, the combination of your two comments, to me, has given me a terrible thought 13:43:20 subpixel adverts 13:43:22 you pay by the 1/3 of a pixel 13:43:26 heh 13:43:35 you'd need a subpixel mouse too to be able to click on them 13:43:41 I never complained about subpixels. 13:43:44 I just said it was trippy. 13:43:56 ais523: no, clicking on a pixel zooms it into three pixels 13:43:57 clearly 13:44:01 ais523, there is nothing on that site that looks vaguely like an about page... 13:44:18 oh, I didn't actually visit the site 13:44:30 juts guessed what it was about from the name, and started talking about something similar I knew about 13:44:30 which site 13:44:35 million dollar homepage or " " tag cloud 13:44:58 I wonder if there's a better name for output than print. 13:45:03 it was the homepage that I knew about 13:45:04 ehird, million dollar 13:45:09 AnMaster: ... 13:45:13 million dollar "hello world" 13:45:22 anmaster: You do realise that doesn't disambiguate one bit? 13:45:22 ehird, ? 13:45:26 hmm, should be shortened 13:45:29 BOTH are million dollar. 13:45:29 M$ "hello world" 13:45:39 ehird, http://www.themilliondollartagcloud.com/ 13:45:41 THAT 13:45:48 And then we started talking about http://www.milliondollarhomepage.com/ instead 13:45:51 Of which the former is a ripoff 13:45:53 that's the only site I saw mentioned 13:45:59 You were wrong 13:46:14 ehird, as an url at least 13:52:31 -!- ehird` has joined. 13:52:39 good morning from ERC 13:53:19 the most annoying thing about Emacs is its tiling handling 13:53:38 C-x C-b q doesn't get rid of the $NAME_OF_WHAT_IT_IS it creates 13:53:42 but e.g. q on a Lisp error does 13:54:01 also, it should be hover-to-focus; I wonder if anyone's written elisp to do that? 13:54:09 -!- ehird has quit. 13:54:16 no need for colloquy if i'm futzing with emacs 13:54:23 heh 13:58:34 ehird`, it takes a bit of customization I find 13:59:55 -!- MizardX has joined. 14:00:00 once you done that it is very nice. 14:01:41 Well, it isn't a very spectacular IRC client (just good); and it isn't a good Emacs citizen. 14:01:57 For instance, the IRC buffers' names should be enclosed in asterisks, because they are temporary, not to be saved. 14:02:05 But they're not; they're just "#channel@server". 14:02:16 send in a patch! 14:02:29 ehird`: also, they aren't are they. Logging? 14:02:29 aren't there at least 3 emacs IRC clients already? 14:02:32 No. I don't have to send patches to every piece of software I criticise. 14:02:46 AnMaster: The buffer's contents itself, including ERC> prompt etc, are not saved, no. 14:02:50 ais523: think so. One is dead iirc 14:02:52 The logs are a separate entity. 14:02:57 ehird`: well true 14:02:59 The buffer is transient. 14:03:17 ehird`: but where would we be if I *agreed* with you 14:03:19 If you aren't expecting to go C-x C-s every now and then, it's transient. 14:03:36 Also, why on earth does it restrict the width of messageses to a small portion of the Emacs width? 14:03:41 That's very inconsistent with the rest of Emacs. 14:03:52 Oddly enough, it doesn't do it for messages you enter until you send them. 14:04:01 ehird`: doesn't do that here.. 14:04:40 ehird`, there are tons of settings for it 14:04:40 http://imgur.com/0QRMW.png 14:04:53 ehird`, probably some setting 14:04:56 That is no excuse for bad defaults. 14:06:03 Aww; is it just me, or can you not do C-x C-f http://imgur.com/0QRMW.png and have it automatically download and open it in Emacs? 14:06:11 Perhaps it needs tramp and I haven't loaded it properly or something. 14:07:46 -!- Pthing has joined. 14:08:26 ehird`, I don't think I tried that ever 14:08:34 Okay. 14:08:49 I'm pretty sure that is possible with tramp, but possibly the syntax is wrong, or something like that 14:08:53 and if it isn't possible there is probably some elisp code somewhere for it 14:09:09 Emacs falling short of a unified object environment makes sad panda sad. 14:09:32 ehird`, it isn't written in smalltalk ;P 14:10:10 It's not like Common Lisp was the first standardised language with an object system or anything 14:10:39 elisp != clisp though 14:10:41 And hey, it's not as if CLOS, the Common Lisp Object System, is the most advanced and subtle object system in existance today 14:10:48 Nope, no object heritage in Lisp at all. 14:11:15 (pointless to try humour, ehird` never gets jokes anyway) 14:11:19 AnMaster: Indeed, and it's not as if RMS has no idea what Common Lisp is and has ignored it for its entire existance, thus not updating Emacs based on any ideas from it. Wait, that part is actually true. 14:13:34 I realised you weree joking, it just wasn't funny. 14:13:54 Blatantly irrelevant and boringly unadorned statements followed up with an emoticon do not equate to humour. 14:15:40 ehird`: sometimes they do 14:15:46 sometimes I fly around in a spaceship :> 14:15:57 That wasn't really humour. 14:15:59 ehird`, was that supposed to be interpreted as a subjective or objective steatement? 14:16:02 statement* 14:16:26 Besides, "sometimes I fly around in a spaceship" with no context isn't so much irrelevant as a complete non-sequitur. And I'm not sure I could call it boring. 14:16:45 a non-sequitur is irrelevant by definition, isn't it? 14:16:47 ais523, that reminds me of something. I can't place it though 14:17:13 ais523: Sure, but it's a massive *exaggeration* of irrelevance. 14:17:20 Exaggeration is pretty much the basis of all humour. 14:17:34 I suppose so 14:17:52 Anyway, as I said, that was just more of an amusing nonsensicality rather than anything approximating a joke. 14:17:54 At least to me. 14:18:49 hmm... it's sort of an in-joke, minus the joke 14:18:51 so just an in- 14:18:56 An invalid. 14:19:04 It's a very valid in-. 14:19:32 ehird`, ForAll x [ Non-sequitur(x) → Irrelevant(x) ] is false given that you said that Non-sequitur("sometimes I fly around in a spaceship") and that it was *not* Irrelevant("sometimes I fly around in a spaceship") as well 14:19:44 sorry for the sloppy syntax 14:19:56 but couldn't be arsed to locate the proper unicode symbols 14:20:03 You know what's interesting? People who can't read English properly and interpret statements wrongly. 14:21:23 (A x. nonsequitur(x) -> irrelevant(x)) & (Most x. humorous(x) -> exaggerated(x)) & (A x. humorous(x) ->cancels-out-> lame(x)) 14:21:38 -_- you missed the humor *again* 14:21:44 why do I even bother 14:22:02 ais523: Just out of curiosity... did you see any humour in "ehird`, ForAll x [ Non-sequitur(x) → Irrelevant(x) ] is false 14:22:02 given that you said that Non-sequitur("sometimes I fly around in a 14:22:02 spaceship") and that it was *not* Irrelevant("sometimes I fly 14:22:02 around in a spaceship") as well"? 14:22:08 I just saw AnMaster's typical whining. 14:22:34 I saw the ForAll, got Mathematica flashbacks, and stopped reading 14:22:43 Copout. :P 14:22:58 also, you somehow managed to word-wrap your last comment, which is /very/ strange behaviour for IRC 14:23:02 ais523, hah 14:23:08 Blame ERC. 14:23:09 normally you leave that for the other person's client... 14:23:19 ehird`, never happened to me on irc 14:23:23 in erc* 14:23:30 ehird`: do you have autofill on by default? 14:23:32 ERC wraps lines by default. 14:23:32 that could explain it 14:23:36 I selected and middle-clicked to paste. 14:23:53 I know you customised ERC; but you were saying that it never happened to you, as a defense of ERC. 14:23:54 ehird`, it doesn't do that here 14:23:57 ERC's default behaviour is to do this. 14:24:02 Therefore, you are wrong. 14:24:11 ehird`, and yes I agree the default behaviour is sub-optimal 14:24:17 in many places 14:24:22 So don't try and defend ERC by saying it doesn't do that, because it does. 14:24:24 I never claimed otherwise 14:24:29 ehird`, what? 14:24:40 ehird`, I said I never hit that one 14:25:04 possibly I got rid of it thanks to changing some other related setting for a different purpose 14:25:18 like changing the fill mode of erc to better suite my tastes 14:25:32 I think that is what fixed the ~ 80 columns wrap 14:25:39 but I wasn't doing it for that reason 14:25:58 same thing probably affected word wrapping 14:26:03 without me noticing that 14:26:14 ehird`, so what are you going on about 14:26:19 #;> (values) 14:26:19 14:26:19 #;> (if #f #f) 14:26:19 #;> 14:26:22 (space line is actually blank). Interesting; SISC's unspecific value differs from returning no values. They both output "nothing", but (values) causes an extra newline. Strange. 14:26:35 Wonder if there's any reason for that; Java heritage, perhaps? 14:26:58 ehird`, SISC ? hm? 14:29:19 ais523, those mathematical flashbacks. Painful are they? 14:29:29 AnMaster: *Mathematica 14:29:30 "matematical flashbacks" 14:29:31 Fail 14:29:34 there's quite a difference in the one letter 14:29:34 *mathematical 14:29:34 ais523, typo 14:29:38 and yes 14:29:38 (Double fail) 14:29:43 yes I know it is a difference 14:29:47 ehird`: Muphry's Law? 14:29:51 so I slipped on l somehow 14:29:57 ais523: *Murphy's Lwa 14:30:03 (^^ metametajoke) 14:30:53 ais523, anyway what I meant and thought I typed was mathematica 14:37:41 http://www.acooke.org/ is now neither lowercase nor ridiculously crowded^Wpacked :( 14:37:53 WHAT HAPPENED TO YOU! you're never too old to write a malbolge hello world again! 14:38:25 at least it has a spot on the small page, good to know he's still proud of his only real achievement 14:53:58 ehird`, story behind that? 14:55:04 What? 14:55:50 ehird`, it used to be lowercase? And what do you mean "only real achievement" 14:56:06 He used to type in all-lowercase; see f.e. his Malbolge hello world page. 14:56:26 ah 15:19:48 ehird`, when was that hello world ga search? 15:20:07 I think 2000-2003. 15:20:37 "500mhz nt box with 96mb memory" hm. Could fit if it was an old one I guess 15:20:43 "it took a few hours to generate the program on a 500mhz nt box with 96mb memory" 15:20:44 it took a few hours to generate the program on a 500mhz nt box with 96mb memory 15:20:46 erm 15:20:49 i used clisp because it came with suse linux. it's a pretty solid implementation, but not as fast as some others (it's an exception to what i said above - it only compiles to byte code, like java). when it became clear i needed more memory than my own laptop (32mb) i "borrowed" my work's nt machine (96mb) and switched to corman lisp because it was faster and clisp seemed to be having a problem with large data sets. corman lisp doesn't 15:20:50 implement quite as much of the standard as clisp (full standard implementations do exist, but the missing bits aren't used much anyway) and is win32 only (it includes a very nice interface to win32 dlls). if you're thinking of starting with lisp, either would be a good start - see www.lisp.org for more details (if you're on win32 and would like to access c libraries or like a nice gui (ide), i'd recommend corman lisp, but the gui isn't 15:20:50 free). 15:20:52 15:20:56 15:21:08 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 15:21:08 15:21:11 15:21:14 15:21:15 ehird`, ? 15:21:17 15:21:17 what? 15:21:20 XHTML, so post-1999. 15:21:23 XHTML wasn't popular in 2000, I don't think, so let's say 2001+. 15:21:24 well right 15:21:35 And programmerly types tend to hold on to older hardware. 15:21:39 ehird`, or the page has been reformatted since them 15:21:40 Anyway, SuSE Linux... 15:21:44 to fit a new web site system 15:21:46 or whatever 15:21:51 Not OpenSuSE, I guess 15:21:54 AnMaster: No. 15:21:59 The page has never changed design afaik 15:21:59 okay 15:22:26 ehird`, I have a vague memory reading it before, don't remember the green headers 15:22:31 * AnMaster goes to wayback 15:23:07 meh it only has it from 2008 onwards 15:23:35 Ah, wait 15:23:37 I know how to work it out 15:23:47 Malbolge was so difficult to understand when it arrived that it took two years for the first Malbolge program to appear. The program was not even written by a human being: it was generated by a beam search algorithm designed by Andrew Cooke and implemented in Lisp. 15:23:48 15:23:50 Malbolge was 1998 15:23:52 So 2000 15:24:03 right 15:24:05 Maybe 2001, if the year just rolled over 15:24:22 (i.e. malbolge dec 1998, acooke jan 2001) 15:24:40 -!- adam_d has joined. 15:27:20 Corman Lisp on Win32 in 2000. Why do I miss out on all the fun? :P 15:31:44 Is that very different from Corman Lisp on Win32 in 2010 15:32:10 You Windowsers today and your sevens and your Arrow Snapeek. 15:32:26 Uphill, in the snow, both ways, with 2000 Professional, and Classic chrome. 15:32:34 And Netscape. 15:32:53 -!- coppro has quit ("I am leaving. You are about to explode."). 15:32:58 boom 15:36:47 what's wrong with (merge x y >>= \m -> parse (m::zs)) ++ (parse (y::zs) >>= \z -> merge x z) 15:36:54 er if you change the :: into : 15:36:58 Define "wrong". 15:37:11 Also merge::?,parse::?. 15:39:17 :( 15:39:19 it doesn't work 15:39:34 Doesn't typecheck? 15:39:36 Bottoms out? 15:39:39 Returns incorrect results? 15:39:40 ehird`, oh you had it good didn't you? 15:39:45 incorrect results 15:39:48 Uphill both ways only!? 15:39:56 soupdragon: Howso? What are the types of merge and parse? 15:40:29 merge :: Derivation -> Derivation -> list Derivation 15:40:43 What language is this? What is -- ok, I give up 15:40:43 parse :: list Derivation -> list Derivation 15:42:46 ehird`, in Windows ME it was uphill *all three ways* 15:43:01 Bah! Windows ME could run Winhugs, I'm sure. 15:43:09 A veritable playground of programmification. 15:43:37 ehird`, winhugs? 15:43:41 oh I figured it out 15:43:43 Winhugs. 15:43:49 oh right 15:43:53 haskell hugs 15:44:10 ehird`, couldn't windows 2000 professional do that too? 15:44:16 Apparently WinHugs even runs on '95. 15:44:24 AnMaster: Yes, but I was rebutting your HIDEOUS LIES that Windows Me was worse! 15:44:35 I need to use dynamic programming oh god 15:44:38 Every Windows 95 or above can run Lisp and Haskell and therefore they are good. :P: 15:44:38 If something runs on ME it probably runs on 95 and 98 15:44:41 *:P 15:44:42 ehird`, You weren't woken up every day with a bluescreen 15:44:51 Deewiant: Me -> 98, yes, but 98 !-> 95. 15:45:02 98 added quite a few more APIs and also intrinsically tied IE to the system. 15:45:11 ehird`, and: I used windows 2.something once 15:45:12 Yes, but most things don't use them 15:45:15 only once 15:45:17 but still 15:45:28 Deewiant: I played with Windows 95 for a few days and quite a lot of stuff works on 98 but not 95. 15:45:31 Most things that would run on ME, that is 15:45:31 it was uphill more than all three ways. Even the fourth way was uphill! 15:45:43 soupdragon: I wonder if language support for dynamic programming is a good idea. 15:46:00 you mean like APL? 15:46:05 Dunno. 15:46:07 ehird`, get haskell to run on linux 1.0 (linux 0.0.1 is just not worth trying I fear) 15:46:19 Hugs is pretty portable. 15:46:24 this algorithm is so complex I can't do it 15:46:48 and the efficent ones in the literature are even harder 15:47:10 ehird`, okay then, if you get a linux 0.0.1 system to boot in some emulator (probably someone has already done this) then I challenge you to get linux running on it 15:47:12 err 15:47:13 hugs* 15:47:20 AnMaster: no. 15:47:20 messy typo that 15:47:28 ehird`, no? 15:47:52 soupdragon, dynamic programming for what? 15:48:19 Windows Me: Old school! Play around with the system! THE WORLD IS YOUR OYSTER Windows 2000: More... 2000! Which will win the battle for the retro platform to run Lisp and Haskell on??????????????? 15:48:35 Honorary contender: 98. Like Me, but less crashy. LAME 15:51:56 ehird`, there is Windows 95 too. You forgot it in there. 15:52:16 ehird`, and the challenger of the week: Windows NT 3.1! 15:52:33 Dishonorary contender: 95. Reasonable UI, well-performing, doesn't crash much, doesn't have IE fudged in. 15:52:37 Who would ever want that? 15:52:51 XD 15:53:12 ehird`, 2000 doesn't crash either. And isn't really old school 15:53:40 AnMaster, parsing 15:53:44 Yes, it's a shame it isn't more old school; it would have a better standing in the retro platform to run Lisp and Haskell on contest. 15:53:50 soupdragon, parsing what? 15:53:51 On the other hand, IT IS MORE 2000 15:53:55 natural language 15:54:17 ehird`, windows NT 3.1 still beats it 15:54:26 3.1 is useless and futzy! 15:54:27 it can run of fcking alpha. 15:54:33 wolfram alpha 15:54:33 pretty sure 2000 couldn't 15:54:41 soupdragon, -_- 15:54:41 So can NT 4, but both only in server form. 15:54:42 No UI. 15:54:45 :) 15:55:02 ehird`, and MIPS 15:55:15 Your mother was a mips. 15:56:11 ehird`, as for windows nt server having no UI? really? 15:56:21 Not on non-x86, duh. 15:56:31 ehird`, so it had on x86? I see 15:56:40 Yes... Windows NT is a GUI system... 15:57:30 ehird`, what is the source for nt 4 having no GUI on alpha? 15:57:37 since I can't find it googling 15:57:52 If you want a source find one yourself. 15:58:01 I don't know of a source. 16:01:22 ehird`, I conclude that without further evidence (of which I can't find any) this is probably a myth 16:01:31 You are wrong. 16:02:46 Hmm, well it seems some version could 16:02:50 http://www.alphant.com/ant_faq.shtml 16:02:53 Perhaps MIPS had no GUI 16:03:02 or perhaps 4 dropped the gui, with its switching to the 95 gui 16:03:15 Or I was misleadd 16:03:17 *mislead 16:03:20 -!- Slereah_ has joined. 16:04:23 ehird`, well I didn't suggest you lied intentionally 16:04:59 "Latest blog article: Mininova limits its activities to Content Distribution service" 16:04:59 *BAM!* That was the sound of Mininova finally being bludgeoned to death. 16:06:56 ehird`, which of these sounds most idiomatic: "No other was affected." or "No other were affected." 16:07:07 Specify noun. 16:07:08 where you replace noun/nouns with some other word 16:07:14 ehird`, "table"/"tables" here 16:07:25 latter, I guess 16:07:52 so it depends on the noun. And I suppose there is no simple set of rules for it :/ 16:08:02 No, I didn't say that. 16:08:08 oh 16:08:30 sorry but what did you mean then? 16:09:21 I just couldn't get a feel of the sentence without seeing it in full. 16:10:45 AnMaster: "tables" if there's more than one other table that could be affected 16:11:03 The former doesn't make senes if there's just one. 16:11:17 ehird`: it does if there's just one more, I think 16:11:28 although you could be clearer and say "The other table was not affected" 16:11:37 ais523, there could be due to cascade I guess. hm 16:11:59 well yeah there could have been 16:12:05 they're both right, and I don't think people are consistent as to which they use 16:12:45 okay 16:15:42 from an old MS security bullentin: "RPC over TCP is not intended to be used in hostile environments such as the internet. More robust protocols such as RPC over HTTP are provided for hostile environments." 16:15:54 anyone else who can spot the error? 16:16:06 It's not an error. 16:16:12 Obviously it means directly over TCP. 16:16:20 ehird`, it doesn't say so 16:17:46 It's obvious. 16:18:16 ehird`, true. But it is still slightly funny 16:18:30 -!- Slereah has quit (Read error: 110 (Connection timed out)). 16:30:38 Imhotep 16:34:44 So, #esoteric is eight years old this year. 16:34:50 Well; in December, I think. 16:35:53 wow, it's that young? 16:36:20 Late 2002. 16:36:26 That's not really young. 16:36:54 I assumed it would be older than I was 16:37:21 When were you born again? 16:37:36 1987 16:37:49 IRC was created in 1988... 16:38:04 -!- Asztal has joined. 16:38:17 And linpeople started in 1995, becoming OPN in 1998 and Freenode in 2002. 16:38:35 Seriously; you thought #esoteric was created in 1987 or earlier...? 16:38:41 wow, /IRC/ is that young? 16:38:46 O_O 16:38:47 I sort-of assume it's been around forever 16:38:49 You're fucking crazy. 16:38:59 Usenet has been, after all 16:39:15 ehird`: I'm the sort of person who could plausibly believe that IRC is older than the Web 16:39:15 Usenet was conceived in 1979. 16:39:22 It was publicly established in 1980. 16:39:25 ais523: it is 16:40:02 By Christmas 1990, Berners-Lee had built all the tools necessary for a working Web: the HyperText Transfer Protocol (HTTP) 0.9, the HyperText Markup Language (HTML), the first Web browser (named WorldWideWeb, which was also a Web editor), the first HTTP server software (later known as CERN httpd), the first web server (http://info.cern.ch), and the first Web pages that described the project itself 16:40:20 By Christmas 1990, Berners-Lee had built all the tools necessary for a working Web: the HyperText Transfer Protocol (HTTP) 0.9, the HyperText Markup Language (HTML), the first Web browser (named WorldWideWeb, which was also a Web editor), the first HTTP server software (later known as CERN httpd), the first web server (http://info.cern.ch), and the first Web pages that described the project itself 16:40:22 Erm 16:40:25 In 1984 Berners-Lee returned to CERN, and considered its problems of information presentation: physicists from around the world needed to share data, and with no common machines and no common presentation software. He wrote a proposal in March 1989 for "a large hypertext database with typed links", but it generated little interest. His boss, Mike Sendall, encouraged Berners-Lee to begin implementing his system on a newly acquired NeXT 16:40:25 workstation. He considered several names, including Information Mesh, The Information Mine (turned down as it abbreviates to TIM, the WWW's creator's name) or Mine of Information (turned down because it abbreviates to MOI which is "Me" in French), but settled on World Wide Web[1]. 16:40:26 16:40:32 In 1984 Berners-Lee returned to CERN, and considered its problems of information presentation: physicists from around the world needed to share data, and with no common machines and no common presentation software. He wrote a proposal in March 1989 for "a large hypertext database with typed links", but it generated little interest. His boss, Mike Sendall, encouraged Berners-Lee to begin implementing his system on a newly acquired NeXT 16:40:33 workstation. He considered several names, including Information Mesh, The Information Mine (turned down as it abbreviates to TIM, the WWW's creator's name) or Mine of Information (turned down because it abbreviates to MOI which is "Me" in French), but settled on World Wide Web[1]. 16:40:36 IRC itself was created in 1988, I thought 16:40:37 16:40:39 ... 16:40:43 ffff 16:40:46 On August 6, 1991, Berners-Lee posted a short summary of the World Wide Web project on the alt.hypertext newsgroup. This date also marked the debut of the Web as a publicly available service on the Internet. 16:40:49 16:40:52 Yes 16:40:53 I said that 16:41:20 so you did 16:41:35 One day I'm going to make this thing automatically fetch logs. 16:42:34 Here's an interesting factoid: #haskell was founded by a ~15 year old. 16:42:57 ...being John Resig, creator of jQuery. 16:43:11 (15 when it was created, that is.) 16:44:56 Could have been younger, actually: all the wiki says is "late 90s". 16:44:58 15 is for 1999 16:48:28 ais523: is there an Emacs keycombo for kill-buffer-and-detile? 16:48:43 i.e. C-x k C-x 0 16:48:47 not by default, I think 16:48:52 *C-x k RET C-x 0 16:48:54 but that sort of thing is a trivial .emacsrc addition 16:49:07 *.emacs 16:49:10 err, yes 16:49:22 you can tell I've been writing too many roguelike bots recently 16:49:24 or possibly not 16:49:30 wat 16:49:40 woah 16:49:47 Whoa. 16:49:50 16:49:57 if you've spent hours poking around .nethackrc and .crawlrc then you get used to that naming convention 16:50:28 hmm... there isn't a single platform where Emacs even remotely follows conventions 16:50:34 not even old-style unix 16:50:45 all the platforms it fit into, if there ever were any, are now long dead 16:52:59 Its conventions are older than the platforms it runs on. 16:53:02 :P 16:53:17 http://en.wikipedia.org/wiki/Usenet#History microsoft used to be part of tiny usenet :-D 16:53:26 on a UUCP link 16:53:51 ah, perhaps not the discussion groups, reading the text 16:53:52 but still! 16:53:55 such a small network 16:55:51 Hey guys. 16:55:59 It's 28 days to go until 6000 September 1993 16:56:32 ooh 16:56:37 a worrying milestone 16:57:03 Let's take over the internet and purge it of the infection for 6001. 16:57:07 see, the Eternal September is ages ago, and I assumed it was a relatively recent thing compared to the length of time the Internet had been around 16:57:24 well, the various major protocols of it 16:57:33 Then it will be known: That the September of 1993, did then go on for over 16 years, 16:57:57 Finally coming to rest, and passing on the torch to February 2010, after 6000 days. 16:59:42 That would be nice. 17:02:41 Window managers that don't let me give keyboard input to one window while still keeping another on top irritate me. 17:03:04 6000 September 1993??? 17:03:15 soupdragon: You know not of what it is? 17:03:19 no I have no clue 17:03:22 Then go back to the sewers! 17:03:25 I feel like such a child 17:03:33 soupdragon: hey i'm kidding 17:03:45 i was BORN two years after the eternal september started 17:03:52 i'm, like, 3 minutes old 17:04:05 ok technically one year and eleven months, give or take some days 17:04:09 ohh 17:04:20 September 6000th 17:04:49 It'll be the six thousandth of September, nineteen ninety three. 17:05:39 -!- oerjan has joined. 17:05:44 sdate is a fun program, all sorts of programs break in all sorts of fun ways when given days of the month above 31 17:46:19 -!- jpc has joined. 18:28:46 Locusts; swarms thereof. 18:30:52 Pianos; sailing through the sky. 18:34:07 Ontology; disputing technological oligarchies. 18:39:01 Pheromones; logic through invisibility. 18:44:05 Jackdaws; unto which they must die. 18:47:59 Silver; the end. 18:48:07 Gold; THE BEGINNING 18:48:32 Irony; lost on the world. 18:48:45 Poppycock; how absurd. 18:49:15 Heroin; saving the planet from ambushes. 18:49:29 Talisman; opening your direct-interface specimen. 18:49:46 Tasmanian; a deal with the devil. 18:49:54 Ravens; perching on a rainbow. 18:50:40 Rendering; a ray of sunshine. 18:50:40 Fractal; an image (one type of image is, quoting ehird, a fractal: "Fractal; an image conterningitsulf... STACK OVERFLOW 18:50:49 (I even captured the only-similar raspect!) 18:51:35 Imperfection; notably not able. 18:55:17 Tracksuits; what do they bring to the table? 18:55:38 Food; but that is not suitable. 18:56:06 wow, you two have come up with a tremendously deep pun between you there 18:56:49 Depths; out of them. 18:57:17 Tachyons; a bout of them. 18:57:53 Klein bottles; faster on the inside. 18:58:06 -!- Sgeo has joined. 18:58:24 Tapestry; put it on the bin slide. 18:59:02 Slides; tape them to your ruler. 18:59:30 "sorry for the IM but im looking for your store were you sell the slave pet's bed" 19:00:11 Rhyming; we've suddenly started this, is this crueler? 19:00:35 Disturb; do not move ahead. 19:01:53 Suddenly; I find myself rather dead. 19:02:07 Emergency; come out and have a look! 19:02:19 Fuck; ...you, I'd rather stay and read a book. 19:02:30 Negative; reading a ... damn. 19:02:45 Green; the colour of the eggs and ham. 19:03:07 Splat; the sound of eggs falling. 19:03:57 BRB; I hear my mom calling. 19:04:53 Reason; not bought for silver. 19:05:16 19:05:40 Listen; I know you told my friend Ilver. 19:06:19 Ilver; I 'ardly know her. 19:06:58 Kielder; say orange, it'd be radder. 19:07:03 Rhyme; the lack of a reason. 19:07:13 Thyme; museli and treason. 19:07:55 Chilli; way up the ladder. 19:08:46 -!- adam_d has quit (Read error: 110 (Connection timed out)). 19:11:42 KAZAM; BAK OK TIK! 19:13:09 Magic; does not stick. 19:15:35 Bring; the thin of thick. 19:16:21 Verb; the adjective of abjective. 19:16:21 ais523 or ehird`: In English text do you write "the enter key" or "the Enter key"? 19:16:49 Enter the key; third act. 19:16:52 anmaster_l: the second if I'm being formal 19:16:52 .... 19:17:07 ais523, thanks, formal indeed here 19:17:08 I'd quite possibly use the first on IRC, though 19:17:14 well yes 19:17:39 ais523, "the arrow keys" would be like that in formal text though? 19:17:46 *the Return key 19:17:50 Unless you mean the numberpad one. 19:17:59 "press Return", though, not "press the Return key". 19:18:05 ehird`: the Return key on this keyboard has ENTER written on it 19:18:12 ais523: your keyboard is dumb. 19:18:19 I'm not entirely sure what effect that has on your theory, which I also believe to be correct 19:18:29 ais523, same, and for unknown reason my key repeat died -_- 19:18:31 * anmaster_l prods 19:18:33 ok, it also has ` to the left of the spacebar 19:18:44 which is also a weird place to put a key 19:18:51 oh synergy still running. 19:18:53 for all I know, they put numpad enter the place most people put return 19:18:58 and focused in the wrong place 19:19:09 * ehird` fiddles with Frink to get a nice OS X .app for it 19:19:36 ais523, so it is the return key then? 19:19:48 the Return key 19:19:59 and as ehird says, it would just be "press Return" if you wanted someone to press it 19:20:10 but "the Return key" if you were trying to describe, say, where it was or what colour it was 19:20:12 hm 19:20:29 I now ended up with "press Return to return to the main menu" 19:20:37 which looks rather out of place in a formal text 19:20:53 "press Return to exit to the main menu" 19:21:03 "to return to the main menu, press Return" 19:21:17 good thing we don't have an exit key ;P 19:21:35 the latter works better I think 19:21:36 thanks 19:22:50 e beardseconds -> pi nanometers 19:22:50 4.3262798971613254367 19:22:52 --Frink 19:23:13 Yep, the pinanometers. Who would use any other unit of llength apart from the beardsecond? 19:24:58 what do you use for volume? parsec-barns? 19:25:18 parsec barn 19:25:18 3.0856775813057289536e-12 m^3 (volume) 19:25:19 Why not. 19:25:52 hmm, that's rather small, lightyear-barns might work better 19:26:40 (100 lightyear) barn 19:26:40 5912956545363/62500000000000000000000 (exactly 9.4607304725808e-11) m^3 (volume) 19:27:01 oh wow 19:27:05 it seems like "light century" works 19:27:14 oh, no 19:27:16 anyway 19:27:22 * ehird` promptly does lightcentury := 100 lightyears 19:27:43 http://futureboy.us/frinkdata/units.txt ;; take a look at how many units frink comes with... 19:28:19 pianometers 19:29:35 (four score + seven) days 19:29:35 7516800 s (time) 19:32:38 The beardsecond, you say? 19:43:50 Yes, I do say. 19:44:19 hertz per dioptre! 19:54:28 in English, what are the rules for capital letters in headings? 19:54:46 for a lab report or such 19:54:49 all words capital except very common ones 19:55:01 Plaster them Everywhere Except on Pronouns 19:55:02 "the" "and" "a" are likely to not need initial capital letters 19:55:07 oerjan, :D 19:55:16 "of" also takes a lowercase 19:55:17 ais523, "and" "or"? 19:55:22 lowercase 19:55:32 basically, pretty much any word that's interesting is initcaps 19:55:50 words needed just for grammatical correctness, or things like "and" and "or" that structure the sentence, are lowercase 19:55:52 anmaster_l: title case is shit 19:55:55 and you don't put a full stop at the end 19:55:56 Use sentence case. 19:55:58 ehird`, it is hard to remember 19:56:03 It just looks ugly 19:56:05 Student Dies of boredom 19:56:21 Like You're Some Sort of Shit-Peddler in the 1800s Marketing Your Shit 19:56:33 Boy-Wonder Coca-Cola Drinker! 19:56:37 ehird`: Except that that had easy-to-remember rules. 19:56:38 "The Astoundment of a Nation" 19:56:57 ais523, what about "The use of the word "and" in middle English" 19:57:00 Namely, one would only capitalise Nouns, for such was the Rule of the Age. 19:57:01 ;) 19:57:02 how would you caps that title 19:57:02 :P 19:57:14 anmaster_l: The Use of the Word "And" in Middle English 19:57:17 (remove the outer quotes first) 19:57:17 The Use of the Word "And" in Middle English 19:57:20 Alternatively: 19:57:21 hm 19:57:23 right 19:57:25 The use of the word "and" in Middle English 19:57:32 Oh snap, I just injected some sanity 19:57:52 journal article titles tend to be sentence-case 19:57:57 some newer book titles, too 19:58:05 And and Or or Then, then. 19:58:06 ais523, and what about lab reports? 19:58:10 Redrawerredrawers. 19:58:19 (Real actual wordism.) 19:58:22 anmaster_l: also sentence case, I expect 19:58:30 ehird`: redrum 19:58:39 oerjan, I have to say that you forgot that you could insert a "that that" there. 19:58:44 ais523, hm 19:58:49 Redrawerredrawers is a word, which delights me. I wish redlorryellowlorry was too. 19:58:57 ais523, in headings I meant 19:59:11 ehird`: two ys? 19:59:22 Also, the rules are a *tiny* bit hard, because they vary from style guide to style guide (re: title case) 19:59:35 forgo that that that that forgot 19:59:45 ais523: "redrawers", it ends with. 19:59:52 That could be re-drawers, but I read it as red drawers. 19:59:55 Red drawer red drawers. 20:00:20 ehird`, I think he meant "red lorry yellow" 20:00:23 It is also the real longest word you can type with just one hand with QWERTY. 20:00:28 as the place with the two ys 20:00:38 that was almost certainly coined for logologists to enjoy 20:01:01 logologists, lol 20:01:20 FD 10 20:01:22 RT 90 20:01:26 also, I can type anything, such as this comment, with one hand, if I could type it with two; it just takes longer 20:01:34 Redrawerredrawers <-- how does it parse: "re-drawer re-drawers"? Or "red drawers re-drawers"? 20:01:42 or one of the two remaining ways 20:01:44 barring, possibly, things that need stupid modifier-key combinations 20:02:05 re-drawer red-drawers or re-drawer re-drawers 20:02:05 red rawer redrawers 20:02:34 jm 20:02:38 ais523: oh, shut up 20:02:47 anmaster_l: it's an entirely separate word 20:02:48 hm* 20:02:49 it doesn't parse any way 20:02:53 forgot about a d there 20:02:57 -!- Sgeo_ has joined. 20:02:57 ehird`, well what does it *mean* 20:03:12 Oh, wait. 20:03:19 It might be a wordlist error for reddrawer\nreddrawers 20:03:24 hehe 20:03:36 *redrawer 20:03:47 % grep '^redrawer' /usr/share/dict/words 20:03:47 redrawer 20:03:47 redrawerredrawers 20:03:47 redrawers 20:03:49 redwarfs 20:03:53 --Slashdot 20:03:56 Yep, a bug 20:04:00 devertebrated it is, then 20:04:09 Or tesseradecade 20:04:15 Or aftercataract 20:04:50 ehird`, not listed like that in mine 20:04:54 about the whole "'typewriter' on the top row" thing, I wonder if that's coincidence or deliberate? 20:04:56 what system had the bug 20:05:12 ais523, what is that "thing"? 20:05:20 http://icon.shef.ac.uk/Moby/ 20:05:25 Moby wordlist has the bug, so probably a copy of it 20:05:52 anmaster_l: "typewriter" can be typed using just the top row of letters on a QWERTY keyboard 20:06:08 ehird you're getting a lot of data right now, why? 20:06:13 ais523, btw how do you write acronyms in plural? 20:06:23 umm, "acronyms"? 20:06:27 ais523, example here is (yes I dislike this module -_-): DBMS 20:06:35 for "database management system" 20:06:40 DBMSs 20:06:42 OSs 20:06:44 RDBMSs 20:06:46 -!- Sgeo__ has joined. 20:06:47 anmaster_l: the formal grammar books say to use apostrophe-s, as in DBMS's, but nobody does that 20:06:48 TLAs 20:06:55 lowercase s after capital letters is used by everyone in practice 20:06:58 ais523, ah when is the :s for? 20:07:01 ais523: that aggravates me 20:07:08 "80's", especially, makes me rage 20:07:14 possibly because 's for plurals is obviously wrong, despite being recommended in this particular case 20:07:16 we don't need more fucking exceptions in the fucking language! 20:07:30 aggravates, that's another 20:07:32 english style guides are bullshit anyway 20:07:41 serving only idiots in ivory towers who think they define the language 20:07:53 ehird`: Depends on the style guide, actually. 20:08:10 Some of the extant style guides are "The style that will be used for this particular publication". 20:08:22 yes but that's just controlfreakism 20:08:31 (those are at least vaguely reasonable in concept) 20:08:33 still, grocers' apostrophe's are just annoying and typoy and bad grammar 20:08:43 it's even worse when a grammar book requires them in certain cases! 20:09:15 That's painful. 20:09:19 (the grammar books also advise pluralising individual letters with 's, as in "there are six e's in this sentence" 20:09:22 ) 20:09:30 (that's more excusable, because there's no obvious right way to do that) 20:09:40 There are six Es in this sentence. 20:09:47 There are six "e"s in this sentence. 20:09:51 There are six 'e's in this sentence. 20:09:56 ok, I like your second example 20:10:01 probably better than the other two 20:10:14 I dunno, the third seems nicer; double quotes seem too bulky for such a simple quotation. 20:10:24 the 's looks out of place there 20:10:27 What we need is Joy/Factor-style quotaations in English, obviously. 20:10:29 maybe it would work better with smart quotes 20:10:32 There are six [e]s in this sentence. 20:10:41 There are six «e»s in this sentence 20:10:54 He said that [she said that [I must die]]. 20:10:58 still, grocers' apostrophe's are just annoying and typoy and bad grammar <-- why is it called that 20:11:33 anmaster_l: because allegedly, grocers used to use them a lot 20:11:34 There are six 「e」s in this sentence. 20:11:38 Japanese attack! 20:11:58 even nowadays, you can walk past a greengrocer's stall and see them advertising carrot's and potatoe's, sometimes 20:12:13 * ehird` wonders how good WebNet's definitions are 20:12:13 but I think they do it deliberately nowadays because people expect it, not because they think it's right 20:12:32 ehird`: Ah, Japanese punctuation. 20:12:33 They have much. 20:13:05 if you are suggesting usage of "'s" should be consistent then may I recommend dropping "it's" 20:13:11 and making "its" into "it's" 20:13:26 just for consistency you understand 20:13:48 you would have to write out "it is" I guess, but that is a small price to pay for consistency 20:13:59 its/it's is perfectly consistent. 20:14:10 If you disagree, you do not understand their expansions (well, only the latter has an expansion). 20:14:29 it's -> it is. its -> his/her for objects. 20:14:40 "it's" is consistent, you'd expect "its" to also be spelt "it's" though 20:14:50 Why? 20:14:50 if you were trying to make it consistent with nouns rather than pronouns 20:14:56 I don't say "she's wardrobe". 20:15:00 I say "her wardrobe". 20:15:07 yep, because pronouns don't follow rules at all 20:15:33 personally, I consider pronouns to be inconsistent-but-there's-nothing-you-can-do-about-it 20:15:45 They're not inconsistent -- they're arbitrary. 20:15:48 ais523, yes old-"it's" is consistent with "don't" and so on 20:15:57 but making both the same would cause confusion 20:16:15 possessive[she] = her 20:16:27 possessive[him] = his 20:16:32 possessive[it] = its 20:16:33 ehird`, I -> my too 20:16:38 Yes. 20:16:42 But it's not inconsistent at all. 20:16:47 Lewis Carrol used to punctuate "shan't" as "sha'n't" 20:17:13 ehird`, well it would be _more_ consistent if you did the same transformation on all of them 20:17:25 Arbitrary is not inconsistent. 20:17:32 And there is certainly no inconsistency with its/it's. 20:17:42 ehird`, well okay, there isn't any rule for it to be consistent with. Since all of them are different 20:19:15 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 20:19:30 ehird`, but it is inconsistent with the nouns 20:19:41 "the cat's ball of yarn" "its ball of yarn" 20:20:00 err 20:20:03 yeah 20:20:28 and then "ehird's pet" but "your pet" and you would say "my pet" 20:20:36 no consistency there 20:20:54 no order in the chaos that is the English language :/ 20:20:55 oh well 20:22:32 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 20:23:15 hrrm why are the usb ports so close to each other on a laptop. There are three next to each other. And they are turned vertically 20:23:38 to be able to get hold of the middle one to pull it out without pulling out the outer ones is almost impossible 20:23:47 ais523, ^ 20:24:11 anmaster_l: why would you expect me to know? 20:24:27 ais523, why wouldn't you? 20:24:53 ehird`: help 20:25:18 but if you don't: cya, will be back in an hour or so 20:27:54 -!- Pthing has quit (Remote closed the connection). 20:32:39 ais523: back 20:32:43 ais523: yow, that was a bad one 20:32:55 hmm... anmaster_l is like the opposite of a solipsist 20:32:58 sort of 20:33:03 everyone knows everything except him 20:33:44 it's a good thing everyone else in the office has gone home, I'm laughing so loud at seeing your reaction... 20:33:59 which is a perfectly appropriate one, of course 20:34:26 -!- ehird has joined. 20:34:30 -!- ehird has quit (Remote closed the connection). 20:36:01 XD 20:55:59 ehird`, you claim you know everything? Whoa! Is the Riemann hypothesis true? 20:56:16 ais523: ^ a whoosh of epic proportions 20:56:24 ehird`, no. 20:56:28 I was joking 20:56:28 Riemann hypothesis is a trivial consequence of algebraic geometry 20:56:31 stop being silly 20:56:36 anmaster_l: yes, but your joke was based on a misinterpretation 20:56:40 the word "whoosh" is losing its original meaning 20:56:41 I was not even jokingly claiming that I knew everything 20:56:45 so it doesn't even make sense 20:56:48 ehird`, on *intentional* misinterpretation 20:57:01 ais523: you could say the air has gone out of that balloon 20:57:01 anmaster_l: You fuck horses? Whoa! I'm calling the police! 20:57:08 ("misinterpretation" looks a lot like "horse" to ME.) 20:57:15 Riemann hypothesis is a trivial consequence of algebraic geometry <- wait what? 20:57:23 :) 20:57:27 anmaster_l: soupdragon's trolling you 20:57:45 ais523, no I think he is just stupid. 20:57:57 given that the atmosphere in this channel is one such that the regulars can subtly troll each other for months on end, I wouldn't be too surprised 20:58:03 how can someone that mentions algebraic geometry be stupid? 20:58:21 soupdragon isn't stupid 20:58:28 are you confusing him with nooga, who *is* stupid? 20:58:31 or are you just being an asshole 20:58:36 well confused about which one the Riemann hypothesis is then 20:58:48 anmaster_l: NO!! I WAS JOKING! WAAH! 20:58:56 well,* 20:58:56 You're such an idiot you don't get jok-- oh, the irony. 20:59:17 Gotta be one to know one. Or however that thingymagic goes. 20:59:59 ehird`, slept badly recently? 21:00:12 subtract 1 from noone. 21:00:30 also, are all you seriously thinking " ais523, why wouldn't you?" was actually meant *seriously* 21:00:36 I love how whenever I insult anmaster_l he comes up with something really insipid and dull like "omg you're not sleeping well" 21:00:44 What an idiotic reposte 21:00:51 anmaster_l: Let me spell this out for you. 21:01:05 You make a "joke", I make a comment about it. Cue you: "YOU MISSED MY JOKE" 21:01:19 Soupdragon makes a humourous statement, close enough to a joke. 21:01:20 anmaster_l: it was just simply unanswerable, and not particularly a useful comment 21:01:23 Someone else even states this is a joke. 21:01:28 because it was unanswerable, I didn't answer it 21:01:30 And then you go "well i tink dey're just stupid" 21:01:47 You see, this is ironic because you accuse others of not getting jokes while simultaneously failing to get them yourself. 21:02:03 At least I don't call you stupid when you make a shitty oneliner. 21:02:12 the joker has become the joké 21:02:29 anmaster_l: please stop telling jokes. it only encourages ehird` 21:02:42 oerjan, yeah and he is worse at it than me even. :) 21:02:47 Please stop breathing. It only encourages the breathing fairy. 21:03:34 ehird you are men 21:03:37 the breathing fairy is fine except when you get coins stuck in your throat 21:03:38 ehird you are being mean 21:03:44 I am multiple men? 21:03:47 Astonishing. 21:04:09 soupdragon: i'm already past the point of no return wrt anmaster_l, don't really give half a shit about him any more 21:04:18 oerjan, best way is to ignore him for a bit I guess. Was a while ago that last happened 21:04:49 Please do, then the only idiocy you'll say relating to me will be about how you can't understand the channel without my messages 21:04:56 but it's so annoying to only see half of every conversation! 21:05:00 there. Done. That way he can't troll me for a while 21:05:06 oerjan, that *is* true. 21:05:08 Would be nice if you could keep it up for more than five seconds, but, you know. 21:05:10 Too much to ask. 21:05:27 oerjan, thus I guess I should strive for the goal of getting him to ignore me instead 21:06:01 lol I just don't think you think you think you can could or wouldn't have not unless it was set up such that with what would anyway 21:06:07 I'm not idiotic enough to fragment the channel like that. If I couldn't stand hearing you, I'd just /part. 21:06:26 soupdragon: Has anyone ever been as far etc. 21:06:32 :( 21:06:50 i of ever in away whether in so case of grammar 21:06:59 oerjan, :D 21:07:01 Am I drunk? 21:07:16 oerjan, it's not even that I haven't lacked without which to correctly layout the words! 21:07:19 drunk with POWER 21:08:14 anyway, beware of AC power. it hertz! 21:08:46 :) 21:09:08 almost as bad as a splitting head ache 21:09:32 yes, splitting your head certainly aches 21:11:38 Alternating current power. 21:11:50 Alternating current power voltage charge! 21:13:38 Entirely adverb adjective noun sentence! 21:13:45 -!- Sgeo_ has joined. 21:14:08 Interjection! 21:14:39 dammit i was typing with focus into tatham's puzzles 21:15:45 Negative interjection; noun! Other person negative knowledge identity noun! 21:15:52 reset it completely, and you cannot undo past "n" after typing anything else :( 21:27:10 -!- soupdragon has quit ("Leaving"). 21:32:13 -!- Sgeo__ has quit (Read error: 110 (Connection timed out)). 21:42:45 -!- jpc has quit ("I will do freaking anything for a new router."). 21:45:19 -!- ehird` has quit (Remote closed the connection). 21:45:23 -!- ehird has joined. 21:52:56 -!- jpc has joined. 22:12:04 [[when ken and i described the new features we were proposing for plan 9 C, including inherited structure elements, to bjarne stroustrup, he said, "if you want C++ you know where to find it." and stormed from the room.]] —Rob Pike 22:12:29 wait, that's a /stroustrup/ quote? 22:12:36 it becomes 10 times more awesome given that context 22:12:51 maybe 11 22:13:11 Man... Plan 9 C is so much better than C++... 22:13:21 I don't quite get it. Stroustrup is the inventor of C++, right? 22:13:28 Yes. 22:13:30 Sgeo_: that's why it's funny 22:13:56 Oh, he felt that they were reinventing C++ basically 22:14:20 I think my sense of humor is dead 22:14:24 Well, they didn't add the unparsable feature to C, so. 22:17:45 -!- Gracenotes has quit (Remote closed the connection). 22:19:18 i love the image of stroustrup being in the same room as rob pike and ken thompson 22:19:42 and his face just getting redder and redder as they talk about the features they're going to add that sound like c++ features to him 22:22:04 I don't know who Rob Pike and Ken Thompson are 22:22:30 BRB 22:22:31 Sgeo_: You may know them for such things as "UNIX" and "C". 22:23:07 night 22:23:31 Ken Thompson more-so than Rob Pike. 22:24:17 -!- anmaster_l has quit ("Leaving"). 22:26:21 Rob Pike and Ken Thompson are also responsible for Go. 22:33:47 rob pike did later editions of unix + major part of plan 9 + go 22:33:55 rob pike had nothing to do with c whatsoever 22:33:59 Right. 22:34:05 Thinko, I guess? 22:34:44 or you just meant ken 23:02:10 http://www.reddit.com/r/programming/comments/amc72/since_then_c_has_evolved_considerably_it_has_even/c0ibtge?context=4 23:02:17 the mind boggles 23:02:33 i want to stab him. 23:03:44 Programming and management are so radically different... Argh. 23:03:55 (I should note that in both cases, I mean "doing them well") 23:04:08 Doing them poorly can, of course, be done by any shmuck. 23:04:18 anyone who says "If I were to pursue it, I would be great at the job. I'm very driven, and I excel at nearly everything I do" is essentially degrading every profession in existence 23:04:29 Yes. 23:04:33 by saying that it takes less than a lifetime 23:04:58 anyone who says it, therefore, is probably shit at everything and a narcissist to boot 23:05:03 ugh. 23:06:57 Most definitely a narcissist, probably shit at everything. 23:07:25 i hate you so fucking much microsoft, because i activated my LEGIT copy of windows xp five times 23:07:33 you force me to either phone you up and deal with your BULLSHIT 23:07:40 or just download a serial 23:07:43 guess which one i chose, microsoft 23:08:41 -!- ais523 has quit (Remote closed the connection). 23:12:17 * ehird names his VM "Q" 23:12:22 Whyever not? 23:12:35 Can YOU think of a better hostname than Q? Huh? HUH? 23:26:05 fuck fuck FUCK 23:26:07 my imac display is fucking up 23:26:18 I have alternating lines of light/dark, very subtle but i can see them in window shadows 23:26:30 and the blue colour used in white/blue alternations around the ui has gone off 23:27:49 ...and the bands are only intermittent it seems, ffff 23:39:47 ehird, you bought a copy of XP just for the VM? 23:39:59 Whatever gave you that impression? 23:40:49 You said it was a legit copy 23:41:05 I think it's supposed to be one copy per system 23:41:05 It's inconceivable that I have a legit copy of XP that is years old. 23:41:15 An unused legit copy? 23:41:16 Pretty sure that's a new thing 23:43:44 * Sgeo_ is sometimes scared that he might not be a good programmer 23:45:53 You aren't! (I am such a bastard.) 23:46:46 * Sgeo_ expected something along those lines from ehird 23:47:16 And of course, I can't talk to classmates about this, because in their eyes, I'm superprogrammer. I think it says more about them than it does me 23:48:19 Have you improved your programming skills since PSOX? 23:48:28 -!- Pthing has joined. 23:48:48 -!- FireFly has quit ("Leaving"). 23:48:53 The only major project I've really worked on since PSOX I was fired from due to procrastination issues 23:49:16 You know, using business terms like "fired" to apply to non-business projects is really dumb. 23:49:23 It will infect your mind. 23:50:09 Well, I'm no longer part of the project in the capacity of a programmer, although if I learn C#, I can contribute again 23:50:35 -!- coppro has joined. 23:51:17 don't learn c#. 23:52:10 you can fake knowing C# 23:52:20 A bit late for that, I know the basics, I think 23:52:28 Why is C# so horrible? 23:52:49 a) it's controlled by Microsoft b) there are no quality open implementations 23:52:56 (the two issues, while related, are not the same) 23:52:58 coppro: Uhh, Mono is pretty quality. 23:53:02 Anyway, here are the eral reasons: 23:53:06 ehird: For the subset it implements, yes 23:53:11 - It's just Java + lambdas + LINQ 23:53:17 true 23:53:17 LINQ is basically just Haskell Lite 23:53:24 Lambdas are just... lambdas 23:53:28 And Java is, ugh, Java. 23:53:31 *real 23:53:33 - Microsoft 23:53:38 - It's not fun at all! 23:53:39 I'm not sure if the new programmer knows anything about LINQ 23:53:53 Someone with a quote mark in their name showed up unexpectedly and it caused an SQL error 23:54:00 I'm not kidding about faking your name btw 23:54:07 *faking C# knowledge 23:54:20 Sgeo_: why are you always so tied to utter shit 23:54:31 like that asylum guy and this 23:54:47 C# isn't utter shit; it's juts unexciting 23:54:50 *just 23:54:57 coppro: I'm not talking about C# 23:54:59 oh 23:55:08 [23:53] Sgeo_: I'm not sure if the new programmer knows anything about LINQ 23:55:08 [23:53] Sgeo_: Someone with a quote mark in their name showed up unexpectedly and it caused an SQL error 23:55:15 Oh, and this guy plans to use multi-threading with an SDK that doesn't really co-operate well with multi-t.. no, wait, he plans to start that way, and then switch to single-threading 23:55:24 ehird, it's a pre-pre-alpha thing currently 23:55:28 thedailywtf.com wants your story 23:55:31 Although the fact that even then.. 23:55:36 Sgeo_: Seriously, you should make a conscious effort to avoid anyone this retarded. 23:55:43 All they can do is make you dumber. 23:55:48 starting with X and switching to Y later is always bad 23:55:52 just start with Y 23:55:58 lol@multi→single threading though 23:56:09 Let's write all this complex infrastructure for performance gains... and then remove the performance gains! 23:56:13 actually, that's not entirely true 23:56:28 He says he usually makes an effort to make everything organized, but this time he just wants results quickly 23:56:41 I can't blame him for that, considering that my failure to provide results was problematic 23:56:45 http://i.imgur.com/cUUbt.png 23:56:45 AAAAAAAAAH GOD AAAAAAAAAAAAAAAAAH 23:57:02 Sgeo_: did you care about the project? 23:57:08 did you find working on it fun? 23:57:12 were you getting paid for doing this? 23:57:16 Not getting paid 23:57:22 But I liked the project 23:57:32 Although I kept getting distracted by things, like Stargate SG-1 23:57:42 if A is *very, VERY high* then work. otherwise, if C is high then work. otherwise, if B is high then work. 23:57:45 if not, don't work. 23:57:57 I assume A isn't *very, VERY high* for you, i.e. you don't care about it more than, say, water. 23:58:06 ehird, wrong 23:58:14 A is very high for me 23:58:26 It's a futuristic remake of a game that holds a lot of nostalgic value for me 23:58:31 But not very, *very* high. I mean the amount Eliezer Yudkowsky cares about the singularity. 23:58:49 I think EY would kill himself if it'd cause the singularity. 23:58:54 you are allowed to do X and switch to Y later as long as you keep the switch under an hour's work 23:59:08 So, you're not getting paid anything at all. 23:59:11 So the final question is... 23:59:13 and only to construct another component 23:59:14 Did you find working on it fun? 23:59:35 Well, not fun as much as interesting 23:59:52 * oerjan vaguely thought EY believed in staying alive at all costs... 23:59:54 Clearly not fun enough to make you actually do it, if you found watching Stargate more fun. 2010-01-07: 00:00:06 oerjan: no, he believes in everyone staying alive at all costs, not just himself 00:00:31 however, U(singularity) + U(Eliezer Yudkowsky dying) >>> 0 00:00:52 ">>>"? 00:00:55 U()? 00:00:58 * oerjan assumes U is utility 00:01:04 yes 00:01:07 o.O u() reminded me of MUSHcode 00:01:19 >>> is "So much above you wouldn't believe it EVERRRRRRRR" 00:01:20 * Sgeo_ promptly finds the nearest gun and shoots himself 00:02:02 Sgeo_, on the other hand, would kill himself to be uploaded to a game. well i guess it's the same thing... 00:02:17 Then again, I tend to do that with any language that I've learned and since forgotten 00:02:20 Including Java 00:02:24 Only if it features bad graphics and was most popular 2003-2005 00:02:29 lol 00:02:32 And it has to have no real objectives, just virtual reality 00:02:39 And it has to be abandoned too 00:03:02 Did I mention that this project is in Active Worlds? 00:03:12 see 00:03:36 Actually, I'd say AW was more popular before 2002 00:05:01 -!- BeholdMyGlory has quit (Remote closed the connection). 00:05:19 oreos are tasty 00:07:01 -!- comex has quit (Read error: 54 (Connection reset by peer)). 00:11:22 Wow. 00:11:26 Windows XP has sloppy focus. 00:11:48 Tweak UI → Mouse → X-Mouse → [X] Activation follows mouse 00:20:50 * Sgeo_ goes to look at the old code from this giu 00:20:51 guy 00:21:31 Also, when I was faced with the same problem (that's pushing the need in his mind for multi-threading for now), I came up with what was basically an ugly hack to abuse Python's yield statement 00:21:34 So :/ 00:23:00 what is the problem? 00:23:18 Event handlers need to be able to pause for a certain amount of time 00:23:24 Or do something similar 00:23:56 In my Python code, I made it so that using a @sleeper decorator meant that the function could, say 00:23:59 yield 1000 00:24:09 And it would appear to the event handler that it would be sleeping for 1000ms 00:24:25 But it's actually dealt with in a scheduler I wrote 00:24:34 So that it could be single-threaded 00:24:47 Hold on, I'll show you the implementation 00:26:06 Sgeo_: that's just cooperatiive scheduling 00:26:09 *cooperative 00:26:10 http://codepad.org/3RnWliF9 00:26:14 if you invented that without knowing what it is... 00:26:21 congratulations; you're as intelligent as the first guy to think of it 00:26:55 ehird, but the yield "magic" is tightly integrated into the scheduler. And I might not have known the term, but I might have seen it someplace 00:27:01 * ehird crosses fingers, submits to domination by windows genuine advantage 00:27:05 please, please let this crack have worked 00:27:33 Sgeo_: Using coroutines as cooperative threads is common stuff, all you did was add an extra value that made the scheduler not resume for that amount of time. 00:27:37 It's not a hack in any way. 00:28:09 ehird: it's a hack because he abuses a language feature for it 00:28:16 Uh, no. 00:28:22 Python generators *are* coroutines. 00:29:05 sure 00:29:06 * Sgeo_ feels validated 00:29:46 with python generators you can only yield at the top-level function right? 00:29:58 SimonRC, what? 00:29:59 SimonRC: as opposed to? 00:30:02 like, nested functions? 00:30:13 def a() { def b() { yield 3 } b() } 00:30:16 no 00:30:28 from __future__ import braces 00:31:08 if foo has a yield in it, then that yeild can't be factored out into another function bar, because then bar would become a generator itself 00:31:26 ah. 00:31:30 yes, that is true 00:31:36 However 00:31:37 however, if you used a channel to communicate, you could factor out yielding 00:31:38 yield is just sugar 00:31:45 sugar for what? 00:31:53 ... no, wait 00:31:57 I was thinking of generators 00:32:58 I don't know much about this, but I remembered that caveat form somewhere. 00:33:05 i think you are right. 00:34:56 coppro: you're a filthy wants-to-pay-microsoft-for-windows person but even you think the way they do licensing and Windows Genuine Advantage is ridiculous and draconian right? because if not i'm afraid i can't continue considering you human 00:35:00 * SimonRC like characters with Special Ability: Recall useless shit you read somewhere. 00:35:17 ehird: correct 00:35:23 coppro: thank you 00:35:24 also, I think Microsoft overcharges 00:35:30 by a lot 00:35:46 * Sgeo_ once considered getting a crack for this 00:35:47 but they do seem to need all thatmoney 00:35:52 coppro: please repent on my behalf to the copyright gods, I pirated windows and several serial keys and WGA cracks because they refused to let me use my legit copy because i'd used it 5 times before 00:35:53 they use it after all 00:36:01 i hope you can personally forgive me. 00:36:02 :D 00:36:03 copy of Windows. IE8 was installed when I did a repair install, and that apparently cxauses problems 00:36:10 ehird: can't you phone them? 00:36:12 So I uninstalled IE8 and problem solved 00:36:19 ehird: also, I support your cause 00:36:36 coppro: yeah, but i don't feel like i should have to pay phone charges (ok it's not me who pays them) so i can use a product that was legally bought 00:36:54 isn't it toll-free? 00:37:04 maybe in america, I actually have no idea here 00:37:20 it's past midnight, anyway, and these fun escapades rarely last more than a day or two 00:37:31 * SimonRC goes to bed 00:37:46 * Sgeo_ is addicted to the Spaceballs theme 00:37:50 ok i'm gonna have to download a wga overrider thingy 00:38:05 seems to be the only way to use ms update 00:39:32 ehird: IIRC, the thing that complains about your key being overused has a phone number 00:39:53 I've never had trouble activating over the phone 00:40:13 it's probably easier than cracking too 00:40:14 yeah i know, but honestly this is basically equivalent, except i violate a horribly broken law anyway 00:40:26 i'm giving microsoft the exact same amount of money i would if i did it that way 00:40:39 so realistically, microsoft probably don't actually care, as an entity, all that much 00:41:07 (considering that corporations, as a collective entity, only care about profit) 00:42:36 I'm generally more comfortable running uncracked software where I can avoid it 00:42:42 err 00:42:44 you know what I mean 00:42:55 (not that I won't crack software) 00:42:59 yeah but you have a silly brain that believes in intellectual property and whatnot! 00:43:04 unless you mean in the evil malware sense 00:44:23 ugh, where the fuck is that wga overrider 00:45:44 * Sgeo_ vaguly wonders why this guy saw fit to include a form 00:46:35 ehird: I believe that, fundamentally, intellectual property laws are a good thing. That doesn't stop me from violating the current ones 00:46:47 This guy has also bitched about the guy who made the .NET wrapper bitching about the name of the variable holding the instance. This guy named it sdk 00:46:58 O_o 00:48:05 cmd.CommandText = "SELECT * FROM [Userstats] WHERE [citnum] = '" + Citizen.ToString() + "'"; 00:48:39 Sgeo_: stop reading that code. your brain will melt 00:48:54 aah 00:49:06 Well, to be fair, citizen names shouldn't include single-quotes.. I think 00:49:40 no that's not fair 00:49:57 oh cool you can get windows security updates and shizz w/o wga 00:50:12 am happy 00:51:31 ehh 00:51:36 except some upd— you know what 00:51:42 coppro: do you keep logs of this channel? 00:51:53 ehird: not personally, no 00:51:57 dammit 00:51:58 Sgeo_: you? 00:52:02 why? 00:52:08 ehird, topic 00:52:11 deewiant mentioned a wga disabler thingy that i used before and it worked great :-) 00:52:17 Yes, I do keep logs, somewhere 00:52:21 there's only one channel I log and that's because I need to 00:52:26 But never really used them 00:52:37 Sgeo_: do you know how to grep 00:52:47 wget + grep gg 00:52:50 ehird, don't feel like installing MinGW or whatever 00:52:59 coppro: yeah but i'd have to grep a lot 00:53:35 ehird: script 00:53:44 too much work, could just try googling instead 00:53:54 or could try phoning 00:54:21 00:53, I'm 14 but sound like I'm 12, and I don't know where the CD is 00:54:24 *but sound 00:54:29 Sgeo:What does that line look like in the new versiom? 00:54:29 Epsilion:cmd.CommandText = "SELECT * FROM [Userstats] WHERE [citnum] = @citnum"; 00:54:31 Phoning is... not happeniing. 00:54:36 *happening 00:56:39 -!- Slereah has joined. 00:56:41 Crud, shouldn't have revealed this guy's nick 00:56:48 why not 00:57:04 tell him he doesn't know how to spell epsilon btw 00:57:06 Sgeo_: Is that C# there? 00:57:20 coppro, yes 00:57:26 O_o 00:57:28 FAIL 00:57:32 Why? 00:57:53 LINQ exists for a reason 00:58:07 WAIL 00:58:11 Does LINQ work with SQLite? Can LINQ insert? 00:58:14 ^doesn't know 00:58:36 Linq-to-SQL is deprecated, I think. It probably still works though. 00:59:03 LINQ is just monads. 00:59:52 LINQ is not superbly exciting. It is, however, better than using strings. 01:00:14 no, LINQ is just filter + map + stuff 01:00:44 Monadically. 01:00:56 how is it monadic 01:01:19 Lemme pull it up. 01:01:45 http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx 01:01:49 (>>=) is SelectMany(), fmap is Select(), return is different for each one. 01:02:04 Okay then 01:02:19 And it's monad comprehensions instead of do notation. 01:02:20 pikhq: that does not say how linq is it 01:02:21 My parsec-in-C# used it. (It was still ugly.) 01:02:29 well 01:02:30 sorta 01:03:08 It does halfway down. 01:03:32 They screwed it up by making return different for reach one, though. 01:04:34 you need full type inference to make return work, i think... 01:04:49 (with type classes) 01:04:50 * Sgeo_ goes to open the new version 01:04:52 Mmm, probably. 01:05:17 oerjan: Well, either type inference or a *lot* of type notations. 01:06:50 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 01:06:59 TACHYONS 01:07:12 again? 01:07:19 AGAIN 01:07:19 or is that, yet? 01:07:32 Locks; what they bring tomorrow is exodus. 01:08:12 -!- Halph has joined. 01:09:02 (oerjan: you are contractually obligated to continue) 01:09:14 Bah; you cannot force me. 01:09:32 Unstoppable; a force that can force. 01:09:35 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 01:09:42 -!- Halph has changed nick to coppro. 01:10:07 Unmovable; a heavy lift. 01:10:51 Edible; intrepidable though they are. 01:11:56 Triffids; in soviet russia they eat YOU 01:12:33 Metaphysics; OH HOW HOLY THEY'VE BECOME 01:12:54 Holiness; what you get with enough bullets. 01:13:26 Colonoscopy; delicious and good for you. 01:14:11 Delirium; the scope of colonies. 01:14:44 Binge; a reimplementation of the search engine in E (http://erights.org/) 01:15:27 Rights; what remains when nothing is left. 01:16:34 Wrongs; what you get when you have all the rights. 01:16:49 Gödel's theorem as a political statement? WHYEVER THE FUCK NOT. 01:17:44 Politics; a paradox of hypocrisy. 01:18:32 Polyticks; many blood suckers. 01:19:40 Poll tax; see above. 01:20:06 Altercation; let's start rhyming now, stagflation. 01:20:38 Stag; running across the nation. 01:21:06 Palo Alto; two words, it's a fucking rebel station. 01:22:17 So hey, it turns out that you don't have to deal with ANY of the Microsoft Update shit. 01:22:39 Just set updates to notify-but-don't-download-or-install, uncheck WGA the first time it appears, and install away. 01:23:17 Nail polish; Altered pale stallion. 01:25:23 Hexagon; retards all depleted by the bullion. 01:27:11 Pentagon; retards blowing up mussels. 01:27:27 Retards; topic of the last two... bussels. 01:27:52 Bussels; heck if i know. 01:28:40 UNTO; CRAPSHITT OF THE 01:28:43 01:29:07 GOTO; MONSTER DIJKSTRA 01:29:30 OAIJSFIODSFJKst; tdio0rfk 01:29:49 arf; arf arf arf arf. 01:30:13 ugh; grunt ug ug grraah 01:30:52 Mellifluous; loquacious multisyllabicism. 01:31:10 haha man this would be hilarious if i wasn't pretty sure this guy is serious: 01:31:12 [[That’s because the concept of “gaming” as distinct from work is characteristic of PC-type lifestyles. By contrast, we Mac users are at play in the very act of expressing ourselves creatively; we don’t need to compartmentalize our playtime into brief intervals of fun, as PC users must. CS4 is our arcade, Xcode our enduring Halo 3.]] 01:31:48 Batshit; insanity drug. 01:32:11 Oligarchy; patriarchy monogamous homoiconicism. 01:33:44 Not entirely sure why e felt a need to prefix NPC_ in front of all the entries of an enum called NPCType 01:33:50 Garlic oil; iconic matron product. 01:34:14 Sgeo_: in C#? 01:34:17 coppro, yes 01:34:22 lol 01:34:29 he doesn't do similar with other enums 01:43:30 hahaaaaaaa sp3 is installing with no wga in site 01:45:33 -!- oerjan has quit ("Night; good for bedbug food."). 01:48:04 I suppose that choice of homophone is in fact appropriate 02:14:47 * Sgeo_ is in love with the way events work in .NET 02:16:22 what specifically? 02:18:02 Everything, I think 02:18:15 The += to add to the methods called by an event handler 02:18:22 And everything follows that convention 02:18:40 uh huh 02:18:47 I've never really seen them as anything magic 02:18:52 just as a nice signals/slots implementation 02:22:51 bye 02:22:55 -!- ehird has quit. 02:41:51 -!- Pthing has quit (Remote closed the connection). 03:16:56 Whee! My C# code's working better than the supposedly equiv. Python code 03:35:23 wrong 04:21:47 lol 04:33:36 -!- Asztal has quit (Read error: 110 (Connection timed out)). 04:34:20 -!- Gracenotes has joined. 04:37:01 -!- bsmntbombdood has changed nick to bsmntNSFWdood. 05:03:32 * Sgeo_ is starting to get somewhat comfortable with C# 05:03:41 poor thing 05:04:00 Well, I love Visual C# Express's Object Browser 05:04:08 I love functional autocompletion 05:04:24 autocomplete is nice 05:04:27 but orthogonal to the language 05:04:30 -!- Gracenotes has quit (Connection reset by peer). 05:04:35 never used the Object Browser 05:35:16 -!- Gracenotes has joined. 05:37:06 -!- MizardX has quit ("zzz"). 06:12:14 -!- lament has joined. 06:15:40 -!- bsmntNSFWdood has left (?). 06:34:48 I like the way C# makes me think about reusability and modularity 06:36:10 -!- bsmntbombdood has joined. 06:37:35 I think I may be succumbing to Stockholm syndrome 06:38:08 from a point of language usability, C# is an interesting language 06:42:11 it's definitely designed around... hmm... what's the word 06:42:32 quick workflow I think 06:44:35 the only problem is that from a design standpoint it has a lot of flaws that get passed off as features... 06:44:41 such is the world of corporate programming :( 06:50:56 Flaws such as? 06:51:23 a /lot/ of method names with magic properties that aren't obvious at all 06:51:59 anything magic should have some indication of its magicness 06:53:07 the value/reference model is fundamentally broken 06:53:24 since it relies on the programmer to check the documentation to see what's going on 06:53:33 (or on compile errors) 06:54:58 -!- soupdragon has joined. 07:04:33 Good night all 07:05:34 hey soup 07:05:35 sup 07:05:39 sup soup sup 07:05:43 hello 07:06:29 an algorithm to parse CCG is much harder than I thought it would be! 07:07:20 CCG? 07:16:08 soupdragon: innit just 07:18:11 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 07:23:39 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 07:54:59 -!- adam_d has joined. 07:57:06 -!- adam_d has quit (Client Quit). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:10:13 -!- lament has quit. 08:36:56 -!- pikhq has joined. 09:37:14 -!- ttm_ has joined. 09:52:37 -!- mycroftiv has quit (Read error: 60 (Operation timed out)). 09:53:23 -!- dbc has quit (Read error: 110 (Connection timed out)). 09:55:39 -!- mycroftiv has joined. 10:13:53 -!- jpc has quit (Read error: 110 (Connection timed out)). 10:29:13 -!- FireFly has joined. 10:32:37 -!- oerjan has joined. 10:37:00 -!- BeholdMyGlory has joined. 10:48:11 -!- coppro has quit ("I am leaving. You are about to explode."). 11:17:52 -!- oerjan has quit ("leaving"). 11:43:37 -!- Pthing has joined. 11:52:45 -!- ttm_ has quit (Read error: 110 (Connection timed out)). 12:28:51 -!- bdesk has joined. 12:28:55 -!- Sgeo has joined. 12:30:00 http://github.com/argriffing/Biofuck/blob/master/reverse-complement.bf 12:32:46 pretty long 12:33:26 nice 12:35:33 :D 12:49:11 -!- Asztal has joined. 13:21:33 -!- Pthing has quit (Remote closed the connection). 13:28:58 -!- ehird has joined. 13:29:28 hang on imac display 13:29:33 you gotta be good for a month or so yet 13:38:05 22:34:48 I like the way C# makes me think about reusability and modularity 13:38:06 you know what i said about how you're a good programmer? even if i didn't say that 13:38:06 i take it back 13:38:11 22:37:35 I think I may be succumbing to Stockholm syndrome 13:38:11 very 14:10:00 -!- Asztal has quit (Read error: 110 (Connection timed out)). 14:20:38 Huh; avast! antivirus does its initial scan in the Windows boot console thingy (what you get when upgrading service packs, or when booting fails). 14:31:51 -!- Sgeo_ has joined. 14:37:44 -!- Sgeo has quit (Read error: 60 (Operation timed out)). 14:43:23 "Everyone here will upvote you, obviously because you're all programmers." —the batshit project manager I linked earlier 14:43:45 (http://www.reddit.com/r/programming/comments/amc72/since_then_c_has_evolved_considerably_it_has_even/c0icwh8?context=6) 14:51:14 -!- ehird has quit. 14:51:16 Huh; avast! antivirus does its initial scan in the Windows boot console thingy (what you get when upgrading service packs, or when booting fails). <-- hm... well it makes sense 14:57:34 ehird: i cant help but read your posts in your voice 14:57:39 and that makes me giggle 14:57:39 <3 14:59:18 "Everyone here will upvote you, obviously because you're all programmers." 14:59:32 HAH. right, you dont think you're better than programmers. ok. 15:15:04 -!- Pthing has joined. 15:20:21 -!- ais523 has joined. 15:22:57 I'm not your typical project manager 15:23:23 who the fuck does she think she is? 22 she probably doesn't even know advanced calculus 15:23:48 go manage some projects while integrate over a parametric line, bimbo 15:32:49 that seems so weird out of context... 15:33:02 (and 22 is old enough to have an MSc in mathematics, if required) 15:35:01 I am dissing this girl from reddit who thinks she is all that 15:35:04 who is 22 15:35:37 I am, although I'm not who soupdragon is referring to, I think 15:36:16 target changed to ais523 15:36:19 beep 15:46:37 heh 16:31:03 -!- MizardX has joined. 16:43:10 -!- ehird has joined. 16:43:42 ais523: http://www.reddit.com/r/programming/comments/amc72/since_then_c_has_evolved_considerably_it_has_even/c0icwh8?context=6 16:43:58 crazy project manager vs. me 16:44:36 and thanks; if I'm an idiot to a project manager I'm probably doing something right. 16:44:53 kinds of programming language: 16:44:54 * An OOP language: C#, C++, Java, etc. 16:44:54 * A functional language: Haskell, F#, etc. 16:44:54 * A productive language: Python, Ruby, Javascript, etc. 16:44:58 and thanks; if I'm an idiot to a project manager I'm probably doing something right. 16:45:04 soupdragon: lol where's that from 16:45:09 reddit 16:45:30 your ego is quite masculine 16:45:36 oh you are so smoooove 16:46:07 lulz. 17:03:59 -!- bdesk has left (?). 17:21:41 http://paulisageek.com/compare/cpu/ this would be more useful if it had a slider 17:21:56 "I care more about: Price ----------[]---------- Performance" 17:21:58 to change the ordering 17:35:20 * Sgeo_ gets bitten by the fact that apparently C# does care whether or not something is a property or a field 17:36:32 -!- ehird has quit (Remote closed the connection). 17:37:53 Sgeo_, I have a vague memory of that. Was years ago I used C#, and at least a year ago I last did a bug fix in a C# software 17:38:24 Sgeo_, but it does sound familiar, think I saw some sort of abstraction for meta programming purposes once 17:38:32 (as in, reflection) 17:42:38 Well, that forced me to learn properties fast 17:42:42 Which I guess is a good thing 17:54:47 Sgeo_, using reflection? 17:55:00 No 17:55:07 Sgeo_, oh? then what was the difference 17:55:20 I only remember it making a difference when using reflection 17:55:28 possibly also for "ref" 17:55:38 passing a property by reference doesn't make a lot of sense 17:55:44 or well it does 17:55:50 just not too much in C# iirc 17:56:08 AnMaster, interfaces can't do fields, so it had to use a property. Since the classes that implemented the inteface used a field instead of a property, it complained 17:56:22 oh right, interfaces 17:56:26 had forgot about those 17:56:28 *shudder* 18:10:47 -!- ehird has joined. 18:23:04 corman lisp's ide is pretty nice actually 18:23:08 not very IDEish at all 18:27:11 -!- ais523 has quit (Remote closed the connection). 18:58:39 -!- Pthing has quit ("Leaving"). 18:58:58 -!- Pthing has joined. 19:06:44 -!- oerjan has joined. 19:17:08 has anyone ever installed all non-conflicting packages in debian? 19:17:18 (find the largest set of packages you can have installed all at once, install them) 19:17:20 that would be fun 19:19:04 that may require zorn's lemma, you know 19:19:44 oerjan: just work it out by brute force? 19:20:17 i _think_ that's a *whoosh* 19:20:32 yeah i looked it up but couldn't figure out how it related to being a joke :( 19:21:17 if the number of packages were infinite, then zorn's lemma would be exactly what you need to prove a maximal set exists 19:22:02 when mathematicians encounter a problem they think "I'll use Zorns Lemma", now they have two problems 19:22:38 when mathematicians tell you they need both zorn's lemma and regular expressions, run away as fast as you can 19:22:45 Very good thing that Debian is finite. 19:23:10 the reason i say this is 19:23:17 i'm telling cygwin to install every single package 19:23:19 >:) 19:23:38 i guess i'm not really looking forward to the whole downloading-like-a-gig-of-software-i-don't-want bit though 19:25:58 (why am i doing this) 19:28:52 I think I should cancel this :) 19:29:14 me too, I was against it the whole time but I was too nervous to speak up about it 19:29:26 wat 19:41:20 "So I've scanned all 3.8 billion valid IP addresses looking for web servers. Twice. And I have a (8'8"x8'8") colour-coded picture." 19:41:23 You a crazy bitch. 19:41:35 what the fuck! 19:41:37 pics?? 19:41:41 http://cs.acadiau.ca/~dbenoit/research/webcensus/Web_Census/Home.html 19:41:47 Polling every single IP address. Sheesh. 19:41:57 that's amazing 19:42:07 "Why not arrange the ip addresses in a 16x16 square, for each byte, recursively? That way you'd get fewer thin horizontal lines and more interesting blob shapes. Even better, use a Hilbert curve, like this: http://xkcd.com/195/" 19:42:09 man speaks truth 19:42:39 soupdragon: also ofc they only poll port 80 19:42:48 reasonably 19:42:52 yes 19:43:10 and shared hosting companies hosting 5 bajillion sites will show up as like 10 ips 19:43:14 still a mammoth task tho 19:49:24 -!- ehird_ has joined. 19:54:05 -!- ehird has quit (Read error: 60 (Operation timed out)). 19:54:05 -!- ehird_ has changed nick to ehird. 20:34:47 has anyone written a program in CWEB? 20:34:50 (not you, knuth) 20:35:00 (yes, I am allowed to pretend knuth is in this channel) 20:35:34 move over PHP, you have a == idiocy contender in javascript: 20:35:39 255 == { valueOf:function(){ return "0xFF"; } } 20:36:11 == is absolutely retarded in Javascript. 20:36:25 And not commutative! 20:36:50 I love how the number 255 is EQUAL TO AN OBJECT WITH A FIELD NAMED "valueOf" WHOSE VALUE IS A FUNCTION RETURNING THE STRING "0xFF". 20:36:52 I mean, wow. 20:37:01 All PHP does is some nasty string conversion. 20:37:27 ===: because making == work right is too easy. 20:38:08 Equality is awfully subtle in a language with user-defined data types that let you distinguish two objects with the same structure. 20:38:51 well, not even user-defined data types 20:38:53 even just lists 20:39:01 http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.1 just about covers the different kinds of equality you might want in that case, at the expense of being confusing. 20:39:27 Integer foo = 1000; Integer bar = 1000; foo != bar. 20:39:38 That section doesn't even include =, which is numeric equality. 20:39:39 However: Integer foo = 4; Integer bar = 4; foo == bar. 20:39:43 Effing Java. 20:39:48 hey 20:39:55 do you have a list of good sci-fi/spec-fi authors? 20:39:59 pikhq: lulz 20:40:02 or especially good books 20:40:03 fixnum fail 20:40:16 soupdragon: i'd say all the ones i already have but you mostly ignore me :q 20:40:27 obviously they are already on my list 20:40:54 ehird: In Java, the first creates two Integers, with an argument of 1000. The second copies an Integer out of the Integer cache. 20:40:55 it's because I'm going to try and get some real ones, not just download 20:40:58 ... Yes, really. 20:41:02 so there will be less choice 20:41:16 soupdragon: as i said 20:41:26 soupdragon: Iain M. Banks' the Culture books are supposed to be good 20:41:30 pikhq: that's just fixnum vs bignum 20:41:37 the only issue is their definition of == :) 20:41:50 oh yeah Eeyore Banks is good 20:41:57 I've read some of his 20:41:58 ehird: == is object equality, yeah. Which... Makes no sense for integers. 20:42:04 eeyore banks? xD 20:42:18 soupdragon: i'm just going to command you to read the ed stories again because, you know, saying something 500 times makes it come true 20:42:36 I am reading it!! 20:42:44 I read 2 more chapters today 20:42:59 doesn't mean i can't say it more!! 20:43:09 i should gzip compress it so i can pack more sayings of it into one irc message 20:44:21 Ah, Sam Hughes. 20:47:18 /topic THE OFFICIAL SAM HUGHES CHANNEL all sam hughes all the time 20:47:27 hehe 20:47:31 :) 20:47:52 * ehird ponders what to punch into virtualbox next 20:50:22 using case/esac style endings gets fun with complex constructs 20:50:24 elihw! 20:50:39 hmm... 20:50:56 would DO ... WHILE be DO ... OD WHILE or DO ... OD ELIHW 20:51:19 shooby dooby dooby do 20:51:41 [0] == false // true 20:51:41 if ([0]) { /* executes */ } 20:51:44 Javascript: HELLS YEAH 20:55:05 Here, have a control structure: base/induct. 20:55:23 base(_==0, 1) induct(*, _-1) 20:55:40 is that factorial lol 20:55:51 Quite so good chap 20:56:24 base(_<2, _) induct(_-1, +, _-2) 20:56:47 Here, have a function: \_->() 20:58:21 My control structure beats your function! 20:58:35 I think you could actually do this in haskell if written like this: 20:58:55 base (==0) 1 $ induct id (*) (subtract 1) 20:59:04 Well 20:59:10 base (==0) (const 1) $ induct id (*) (subtract 1) 20:59:29 haskell is factorial complete 20:59:35 base (<2) id $ induct (subtract 1) (+) (subtract 2) 20:59:35 if x<2 then x else fib (x-1) + fib (x-2) 20:59:40 Not the most compelling control structure ever. 21:00:33 corman lisp's ide is pretty nice actually <-- screenshot? 21:00:54 Incidentally, a thing I dislike: Recursion by using your own name. You don't use your own name in natural language, you say "I" or "me". A tenuous argument, admittedly, but my real argument is this: If you rename the function, say to create a derived function, you have to change every occurrence or Shit Happens. 21:01:27 AnMaster: Just imagine a Windows window with a menu bar, a toolbar, and syntax-highlighted Lisp windows, one of which isn't backed by a real file. 21:01:34 has anyone ever installed all non-conflicting packages in debian? <-- how much disk space would it take? 21:01:43 give or take half a tb 21:02:03 idk 21:02:03 Hitting Shift+Return (or was it Control+Return? I forget) evaluates the expression at the cursor in the special workspace window, where the result appears. 21:02:04 ehird, heh 21:02:08 (This also lets you use the workspace as a REPL.) 21:02:18 recursive definitions don't really seem like anything related to natural language to me 21:02:26 soupdragon: yeah, that was a junk argument 21:02:30 just pay attention to my other one :P 21:02:41 i mean essentially it makes the definition not self-contained 21:02:44 which is bad 21:02:52 ehird: C++ psuedo-lambdas don't have that issue, amusingly. 21:02:53 and it's not even remotely needed, which makes it doubly bad 21:02:57 *this(). Hooray. 21:03:04 just have recur be an alias for the current function or whatever 21:03:10 or "this" or "self" if you don't give a shit about oop 21:03:23 (or if you do give a shit about it make objects closures then this/self work for them :P) 21:03:27 or recurse 21:03:33 AnMaster: disk space... hmm 21:03:41 AnMaster: I guess a hundred gigabytes. 21:03:53 Actually, that's true of C++0x true lambdas, as well. 21:03:53 Maybe 300 GB, tops. 21:04:14 AnMaster: Nope, not remotely that much 21:04:15 http://www.debian.org/mirror/size 21:04:24 i386 is merely 34 GiB 21:04:29 (since they're just objects with operator() and all that...) 21:04:42 482 GiB gets you the compressed packages for every architecture, every supported kernel, and all the sources. 21:04:54 Debian is... not that big. 21:05:08 ehird, oh? 21:05:23 ehird, they do expand 21:05:25 -!- Gracenotes has quit (Connection timed out). 21:05:36 Yes, but only to, say, 2x. 21:05:37 Well, that is still kinda big, but... Yeah. It's just hard to use a lot of space on software on Linux. 21:05:44 Maybe 3x at best. 21:05:46 ehird, I mean, quite often do you see "download size 20 MB, expanded size 62 MB" 21:06:01 more so for smaller packages 21:06:04 Particularly when compared with Windows installs... 21:06:30 (which include copies of relevant DLLs often. ... For the single program.) 21:06:41 ehird, especially the dev packages tend to have 4x or better 21:06:45 34 * (62/20) = 105.4 21:06:51 often they are smaller than the main packages, though not always 21:06:55 100 GiB is still quite small. 21:06:57 (think boost or similar) 21:07:19 ehird, sure. And I'm quite sure 62/20 is *not* representative 21:07:25 -!- soupdragon has quit ("Leaving"). 21:07:41 AnMaster: Have you considered that you are irrationally trying to inflate the numbers based on your previous estimation? 21:08:04 ehird, no, quite often it is less well packed for binary packages 21:08:12 and even more so for mostly-image data packages 21:08:18 I will take that as a yes. 21:08:23 Let's assume every package is 5x. 21:08:29 Headers do compress much better than binaries, yes. 21:08:37 But the headers are much smaller. 21:08:38 This is unreasonably optimistic: compression technology is not THAT good, and binaries are stripped and the like anyway. 21:08:43 ehird, 5x = too well packed for average. 21:08:44 But let's just go by your whims. 21:08:50 pikhq, exception: boost. Probably single exception 21:09:01 So if everything is 5x, then 170 GiB. 21:09:10 AnMaster: Even then, it's not exactly notable. 21:09:26 If you have a 24 megabit/s connection, you can download 170 GiB in 17 hours. 21:09:26 you would really have to split it into 4 categories: headers, binaries, data, mixed. Then sample a number of each 21:09:29 to get some average 21:09:30 That's uncompressed. 21:09:33 AnMaster: no, you wouldn't 21:09:36 and then extrapolate from that 21:09:40 ehird, well it would be one way 21:09:43 you'd have to stop being an OCD anally-retentive nerd that doesn't know what an estimate is 21:09:46 /usr/include/boost-1_39 is 59M here. 21:09:53 and accept that a trivial calculation is probably not far off 21:09:56 pikhq, and the libraries for boost? 21:09:58 certainly not by an order of a magnitude 21:10:05 too much to expect though 21:10:28 ehird, I take "nerd" as a praise :) 21:10:43 (those adjectives in front I ignore) 21:10:47 "OCD", "anally-retentive", "doesn't know what an estimate is". 21:11:17 ehird, I know what an estimate is. The way I suggested is also an estimate. Just a more exact such 21:11:30 "You're a dog-fucking, shit-eating, whore-raping gentleman of a gibbering moron." "Why thank you, I am indeed a gentleman." 21:11:43 ehird, but that 5x suggestion: 170 GB is way less than I thought it would be 21:11:50 -!- Pthing has quit (Remote closed the connection). 21:11:50 and that is probably a worst case 21:12:01 well, almost certainly 21:12:05 Which was my original point: yes, it's off a bit, but it's certainly not an order of a magnitude off. 21:12:10 Anyway, you can't install every single package. 21:12:11 They conflict. 21:12:25 so somewhere between 60 and 170 GB or so. 21:12:35 Certainly, I'm sure there are at least two sets of Debian packages that split each other. 21:12:39 ehird, what percentage conflicts roughly 21:12:41 That is, you can only install half of Debian at any one time. 21:12:44 AnMaster: I don't know. 21:12:48 But take, e.g. libcs and stuff. 21:12:50 That sort of thing. 21:12:54 Core system stuff. 21:12:55 well yes 21:12:58 That probably splits the system a lot. 21:13:09 -!- Asztal has joined. 21:13:11 I would wild-guess that you can install about 60% of Debian on one system. 21:13:21 Lower bound 47%, upper bound 73%. 21:13:21 there are some other stuff too. Take gamin/fam for example 21:13:29 ehird, no more than 73%? 21:13:35 I would have gussed 80-90% 21:13:45 Debian has, like, 10,000 packages. 21:13:45 but you probably know this better 21:14:00 ehird, I'm well aware of that it has a ****load of packages 21:14:02 So: 21:14:38 Let's say 73%. 21:14:43 "apt-cache search . | wc -l" says 30820 on my system. 21:14:47 Okay. 21:14:51 fizzie, heh 21:15:02 That would mean that you couldn't install 8321(.4) packages given an optimal set. 21:15:09 which is 3 times what ehird suggested 21:15:11 which is* 21:15:27 Is it so hard to believe that you'd have a library, or whatever, conflicting with another library, and that other library is depended on by 8321 packages? 21:15:37 I might have some sources.list entries that aren't strictly "Debian", though. 21:15:49 ehird, probably if it is a single library yes ;P 21:15:50 I adjust my estimate though: lower bound 57%, upper bound 93%. 21:15:54 Probably 88%. 21:16:04 AnMaster: Well, you can abstract that into a chain. 21:16:06 You get the idea. 21:16:26 fizzie: Oi, Debianer. Write a script that uses apt to find the biggest set of packages that don't conflict. 21:16:42 You will receive cookies if you complete this task. 21:16:51 ehird, probably a substantial portion of those depending on conflicts, depend on different implementations of the same. the fam/gamin example springs to mind again 21:16:52 Bonus cookies will be awarded for calculating the size of this set. 21:16:54 Yay cookies! 21:17:13 both provide the same API and ABI 21:17:15 Fam gamin! You kids and your crazy terms! 21:17:22 eh? 21:17:33 joke detected 21:17:36 but I don't get it 21:17:48 I don't think I want to do that. Even for cookies. 21:17:50 Get off my lawn. 21:17:57 fizzie: Brownies? 21:18:11 ehird, how does the ubuntu package repo compare to the debian one 21:18:16 32398 packages in Ubuntu karmic, according to the list given by http://packages.ubuntu.com/karmic/ "all packages (compact compressed textlist)" 21:18:22 AnMaster: Strictly bigger, I think. 21:18:31 fizzie: Pot brownies?!?! 21:18:35 You drive a hard bargain, man. 21:18:47 ehird, really? Pretty sure there was some package in debian recently that I couldn't find in ubuntu 21:18:57 forgot what one it was 21:19:13 and I don't think it was in debian stable, only in testing 21:19:22 AnMaster: Well, Ubuntu syncs with Debian apart from the Debian branding stuff and the like. 21:19:26 Every six months only, duh. 21:19:34 34492 lines in Debian sid according to the comparable packages.debian.org list; but, well, that's sid; it might not be exactly fair to compare against karmic. 21:19:54 http://glyphic.s3.amazonaws.com/ozone/mark/periodic/Periodic%20Table%20of%20the%20Operators%20A4%20300dpi.jpg 21:19:54 Perl 6 sure does have a metric fuckton of operators. 21:20:12 # apt-cache search . | wc -l 21:20:12 37221 21:21:07 FWIW, 27208 exactly similar package names appear in both the Ubuntu karmic and Debian sid lists. 21:21:38 s/debian/ubuntu/ and then try.. 21:21:41 *try. 21:23:31 mine was from jaunty though 21:24:07 main/universe/multiverse/backports + debugging packages for all those 21:24:19 debugging packages comes in a separate repo for each of those 21:24:28 as in universe-debugging or something like that 21:24:48 or wait, does it. Hm 21:25:10 I have the itching to write my own editor. This worries me. 21:25:13 deb http://ftp.df.lth.se/ubuntu/ jaunty main restricted 21:25:13 deb-src http://ftp.df.lth.se/ubuntu/ jaunty main 21:25:14 deb http://ddebs.ubuntu.com jaunty main restricted universe multiverse 21:25:33 well, more than a pristine install would show at least 21:25:38 the ddebs being the debugging ones 21:27:06 Also, I sorta half want to write a C compiler. 21:27:09 I am feeling very strange. 21:28:09 btw software patents could work, if they were for very short time. Say one month 21:28:26 and of course, the details would have to be saner 21:28:29 Define "work". Patents are harmful. 21:28:45 Besides, one month is useless. 21:28:53 ehird, exactly! 21:28:56 You can't make enough profit in one month for it to even be worthwhile. 21:29:07 Making "the details saner" consists of repealing patents. 21:29:25 They may have been helpful at one time — may — but today they are more than useless, they are actively harmful. 21:29:36 ehird, true. There was a good reason for them originally, society doesn't work the same way any longer 21:29:49 I doubt it ever did. But I don't know, I'm not a historian. 21:30:05 ehird, think back during steam engine invention time and such 21:30:13 I stand by what I said. 21:36:12 my $test = "Hello World"; 21:36:13 substr($test, 0, 5) = "Goodbye"; 21:36:13 —Perl 21:37:05 "Common Lisp's format function has an option to print numbers as Roman numerals." 21:37:05 Lies! Horrible lies! Ugh, I wish the FUDing trolls would fuck off elsewhere. 21:37:19 ...as any true Lisper knows, FORMAT has *two* options to print numbers as Roman numerals. 21:37:52 XD 21:38:03 (one prints 4 as IV, the other as IIII.) 21:38:05 (I'm not joking) 21:38:25 (490) 21:39:28 (wat) 21:40:11 (why don't you convert that to roman numerals) 21:40:25 IIIIIXX 21:40:42 um, no 21:40:53 :-P 21:40:54 Deewiant, nice try 21:41:08 ehird: Only one does Roman numerals correctly? 21:41:22 pikhq: IIII is old-style Roman numerals. 21:41:30 Yes, Common Lisp supports an *old version* of Roman numerals. 21:41:41 As a built-in formatter syntax. 21:41:43 ... 21:41:53 That's just silly. 21:42:02 Have you ever READ the CL spec? 21:42:15 It's the most anally-retentive completely-specified spec I've ever read. 21:42:16 I say this as someone fond of a language that supports using stardates. 21:42:39 It loathes to even mention the operating system without three layers of indirection. :-) 21:42:43 pikhq, klingon? 21:42:46 AnMaster: Tcl. 21:42:51 Of course, the specification says nothing whatsoever about networking. 21:42:51 hah 21:42:56 really? 21:42:57 Nor threads. 21:43:00 But who needs those? 21:43:02 (that was at tcl) 21:43:06 AnMaster: yes 21:43:18 It's an easteregg 21:43:20 Yeah, there's a stardate date format in Tcl. 21:43:20 http://wiki.tcl.tk/9832 21:43:24 *easter egg 21:43:59 Dude, Fink doesn't do roman numerals? 21:45:09 fink? 21:45:11 hm 21:45:15 *Frink 21:45:18 http://futureboy.us/frinkdocs/ 21:45:18 os x package manager? 21:45:21 ah okay 21:45:40 The super-besterest unit conversion, calculator on steroids, graphics-drawing, function-processing, web-scraping, data-crunching language you ever did see. 21:46:21 Oops, I forgot: language translating, exchange rate conversion, HISTORICAL exchange rate conversion, regular expression stuff, Unicode support, interval arithmetic, and full interface to Java. 21:46:26 * ehird catches breath 21:46:40 Large standard library, lots of example programs, updates every other day, 21:46:43 * ehird pant 21:46:54 No, I think that about covers it. 21:48:02 ... Is it just me, or does Common Lisp support a limited form of goto? 21:48:08 you mean LABELS? 21:48:16 Yes. 21:48:23 yeah, that was in Lisp 1.5 21:48:29 stolen from Fortran because, you know, the people want it and all 21:48:31 Ugh. 21:48:48 pikhq: hey, lisp invented the fucking structured conditional :-) 21:48:57 Such a multiparadigm language. 21:49:00 it's not like we knew how to program with structure back then 21:49:02 That people claim is functional. 21:49:12 yeah CL isn't really functional at all 21:49:23 i love it, it's just amazingly... huge 21:49:35 you can do anything except fit it all into your head 21:49:40 It allows for functional programming. It allows for every other sort of programming. 21:49:47 pikhq, I bet some lisp macro could emulate goto in scheme :) 21:50:40 goto doesn't exactly have magical semantics 21:50:52 comefrom is a bit trickier 21:51:46 Goto emulation's only really difficult in, say, Haskell. 21:51:49 {a: x; b: y; c: z} 21:51:49 → 21:51:50 (let* ((a (lambda () x)) (b (lambda () y)) (c (lambda () z))) (a)) 21:51:51 pretty much 21:52:00 And even then, you can do it. 21:52:01 pikhq: goto's pretty easy there too actually 21:52:05 define a monad 21:52:09 label foo → MkLabel foo 21:52:14 The 4 = IIII variant is used a lot in clock faces. 21:52:14 MkLabel foo >>= labelcontents 21:52:14 etc 21:52:16 Just use Cont 21:52:22 ehird: It's still somewhat tricky there. 21:52:27 Deewiant: yeah how does that interact with state though 21:52:34 But, yeah, just use a monad and it works. 21:52:35 StateT Cont still rewinds state if you goto iirc 21:52:44 Or some Template Haskell. 21:53:17 [21:51] ehird: {a: x; b: y; c: z} 21:53:17 [21:51] ehird: → 21:53:17 [21:51] ehird: (let* ((a (lambda () x)) (b (lambda () y)) (c (lambda () z))) (a)) 21:53:18 [21:51] ehird: pretty much 21:53:18 [21:51] pikhq 21:53:20 isn't this actually literally true 21:53:27 with goto x = (x) 21:54:03 ehird: ... Yeah, that's the semantics. 21:54:11 well 21:54:15 apart from variable declarations inside the labels 21:54:27 you have to shift those out to be around the let* 21:54:34 or even in it 21:54:58 ehird: And closing on variables might function differently than is desired. 21:56:24 * ehird plays with nlite 21:58:16 Oh, I forgot another thing Frink is good at: simple dynamic websites. 21:58:54 ...So, it's the perfect desktop calculator/converter, and it'd also be good (number crunching + dynamic webpage + graphics support) for making, say, an online Sudoku page that has an autosolve feature. 21:59:08 Not quite "general purpose language" stage, but nevertheless useful. 22:05:33 rebol upsets the language designer in me so much by trodding on my aspirations of concise code: http://www.rebol.com/oneliners.html 22:15:43 ehird, what is it *not* good at? 22:15:49 I mean, this is too good to be true 22:15:53 there hast to be a catch 22:15:55 frink or rebol 22:16:00 frink 22:17:01 it's not open source (but it's not like most proprietary stuff, the guy is friendly and the tools surrounding it are quite open-ended; the rationale is that it's his plaything so he wouldn't accept patches anyway), you won't be writing "applications" in it any time soon, nor unix tools 22:17:12 also, it's not really fast, so serious number crunching is out 22:17:41 but it's great for calculation + conversion + text processing + simple graphics + simple web tools + simple web scraping imo 22:17:43 (and combinations of those) 22:17:51 also it's java :P 22:19:55 http://futureboy.us/fsp/frink.fsp lets you play with frink online btw 22:20:11 obviously restricted a bit as far as non-oneliners go or the graphics/web stuff, but a good intro 22:20:24 (if you just want to eval something without conversion just type in from and leave to blank) 22:20:47 AnMaster: oh, and you'll probably like that it has an emacs mode :P 22:20:54 just highlighting+indenting though, no in-emacs evaluation 22:21:03 that wouldn't be too hard to add though i guess 22:24:38 I love how you can define new units in frink especially 22:24:44 beardsecond := 5 nm 22:24:50 3 beardseconds -> m ← this works 22:24:54 (yes, with the "s") 22:26:57 units(1) can do that iirc 22:28:04 actually my units(1) lack that unit 22:33:25 -!- Pthing has joined. 22:44:20 -!- Gracenotes has joined. 22:45:25 beardsecond is a novelty unit 22:45:41 AnMaster: yes, well, of course, fink was, at first, designed to be units(1) on steroids 22:45:49 so, many commas, after just, one or, two words 22:46:08 "AGHHHHHH@neat code" 22:46:14 "the code you pasted 22:46:14 " 22:46:20 "all neat and minimal" 22:47:26 what 22:47:30 does this person hate neat, minimal code 22:47:38 is this the same C# dumbfuck 22:48:18 srsly wut 22:51:20 Murder? 22:55:29 For what it's worth, he's 15 22:55:33 erm 22:56:21 -!- comex has joined. 22:57:27 -!- Slereah_ has joined. 23:03:57 Sgeo_: anyone who knows what the word neat and the word minimal means 23:04:03 and can code hello world 23:04:10 and uses the two words as insults 23:04:24 ...is an unfixable moron, no qualifiers required 23:04:36 I think he was more envious 23:04:39 hey cool you can remove 16 bit support from windows 23:04:44 Sgeo_: well. that is acceptable. 23:04:51 you coulda said :P 23:05:51 pikhq: am i crazy enough to remove 16-bit support from windows xp, do you think? 23:06:34 ehird: Maybe. 23:06:45 "Anyone who can locate an advertisement, donation button, or other instrument of profit on this site shall win my entire yearly marketing budget." —Loper OS 23:07:17 Hah. 23:07:44 (from http://www.loper-os.org/?p=91, more proof that paul graham is an idiot) 23:08:55 -!- Slereah has quit (Read error: 110 (Connection timed out)). 23:10:21 Paul Graham is at least an *interesting* idiot. Better than many of the other idiots out there. 23:11:03 Speaking of idiots, I once saw an interesting Time Cube apologist sit 23:11:04 site 23:11:12 ... 23:11:29 It was actually coherent 23:11:43 Which is obviously a major plus over the original material 23:16:05 http://www.cubicao.com/ 23:16:52 http://www.cubicao.com/stupidevil1.html clearly, the guy doesn't actually believe it, or he wouldn't be able to grasp calculus 23:16:57 Right? Please tell me I'm right 23:24:30 I wish. 23:31:00 -!- jpc has joined. 23:32:45 ...Gene Ray actually believes himself to be the Creator? 23:32:53 "GOD LIED, HE DID NOT CREATE 1 DAY, I CREATED 4 DAYS. " 23:32:57 http://www.timecube.com/ 23:36:36 the guy behind cubicao kille dhimself iirc 23:36:39 *killed himself 23:37:13 ehird, WHAT? o.O :( 23:37:42 gotta say I don't think that drastically decreased the amount of meaningful contribution we should expect to humanity in the future 23:38:02 he killed himself because gene ray didn't like him or something iirc 23:38:16 gene ray wrote something about it essentially equating to "lol fuck that stupid fool gg good riddance" 23:38:28 this may have all been supreme trolling, dunno 23:40:10 JESUS RETURNS TO EARTH, I WILL PERSONALLY KILL THE BASTARD MYSELF. ALL CREATION OCCURS 23:40:10 BETWEEN AND AS OPPOSITES. YOU DUMB-ASS, EARTH, THE UNIVERSE 23:40:10 AND EVERY LIVING THING IN IT 23:40:16 gene ray sure has taken a turn for the more violent recently... 23:40:27 A HOLOCAUST AND IT IS NIGH UPON YOU. HIRED SICK TEACHERS 23:40:27 ARE PAID TO TEACH YOU EVIL TO 23:40:27 ENSLAVE YOU STUPID AND YOU 23:40:28 NOW POSSESS AN IDIOT CYCLOPIC 23:40:28 MENTALITY. YOU LACK THE BRAINS TO KNOW THAT 4 SIMULTANEOUS DAYS ROTATE IN AN IMAGINARY CUBED EARTH. 23:40:28 KEEP IGNORING ME AQND YOU WILL PAY HELL FOR CLAIMING 23:40:38 serial killer riskometer: 68.7% 23:41:00 [[There is a cryptic reference to cancer on his website, [1], and the updates that once were plentiful and current seem to have stopped as of September 2009. However, Ray has previously told an interviewer that Cancer is his astrological sign [2], so no real conclusion may yet be drawn.]] 23:41:09 no, the doctor of cubicism can't die!!! 23:42:17 wait, Cancer is _my_ astrological sign too. maybe i'm secretly gene ray! scary. 23:43:02 poop 23:43:27 excrementally so 23:43:56 Sgeo_: yah pretty sure he's dead 23:44:21 although he got expelled from his uni and converted to christianity or something beforehand 23:44:28 the crazy is... was, strong in this one 23:44:54 apparently he was getting psychiatric help too if what i'm reading is true 23:45:29 http://www.graveyardofthegods.com/forum/viewtopic.php?f=21&t=7664 23:45:33 on a bunch of drugs for mental issues 'pparently 23:45:52 heh "gifted computer programmer" 23:45:57 ehird, link, if different from what I posted? 23:45:57 did he use a cubic language that had -1x-1=-1 23:46:10 http://www.graveyardofthegods.com/forum/viewtopic.php?f=21&t=7686 http://www.graveyardofthegods.net/forum/viewtopic.php?f=21&t=8056 23:47:03 imo fuck gene ray for peddling idiocy that this vulnerable kid latched ontoo, and double triple quadruple FUCK him for then telling him he's worthless after he basically devoted everything to him 23:47:11 murder, two steps removed 23:47:29 ...in other news, woot i reduced windows xp by 446 megs 23:47:35 bringing it to 137! 23:49:00 so if we're talking about depressing suicides it doesn't get much more than http://lifehacker.com/comment/18054779/ 23:49:27 how about we talk about LP49, the most amazing OS project I discovered today 23:49:44 (http://pastebin.com/f51e0cea8 who posts their suicide-automation script to a public pastebin mere months before they die?) 23:50:00 http://research.nii.ac.jp/H2O/LP49/LP49-e.html 23:50:02 meh 23:50:05 what's interesting about it 23:50:06 dude it works 23:50:17 it is a really wacky environment to be in 23:50:22 and? 23:50:45 its got this great thing called QSH that gives you access to plan9 kernel data structures 23:57:05 Plan 9 on L4. Meh. 23:57:07 Useful, but meh. 23:57:22 ehird: 137 meg Windows XP? Do tell. 23:57:59 nLite + wantonly disabling anything that I don't think I need without regard to anything = tada! 23:58:10 even slipstreamed in SP3 so I don't have to servicepack it post-install ^_^ 23:58:11 Ah, the simple way. 23:58:26 "Fuck most of the bloat" 23:59:00 hmm 23:59:11 it seems that not really that much depends on the IE rendering engine in xp 23:59:19 and i'm sure you can run the win95 explorer on xp 23:59:32 so... remove IE stuff, use win95 explorer... 23:59:34 Yeah, it's pretty easy to hack out the IE rendering engine. 23:59:46 and you have forcibly de-integrated the integral operating system component that is internet explorer! 23:59:59 ehird: Windows XP comes with the Windows 3.1 file browser. 2010-01-08: 00:00:29 Yes, but... that's not really usable. 00:00:38 Heck, Win95 explorer.exe is actually more usable than XP's. 00:00:56 Windows 95's interface was... almost as pure as Macintosh System 6/7's. 00:01:32 I was actually quite sad to leave my Win95 VM for OS X when I was bored with it. 00:01:38 Although the application compatibility rather puts a damper on that. 00:02:35 * pikhq wonders why Wine's explorer clones the Win3.1 fileman 00:02:55 Because it seems like a power interface to silly people? :P 00:03:23 I was actually really pleasantly surprised by Win95's explorer; especially how it opens directories in a cascade pattern so you can easily move up the directory tree simply by clicking on a window title. 00:03:24 Ugh. 00:03:30 It's an awful, arcane interface. 00:03:39 And I use Emacs. 00:04:38 pikhq: Cygwin runs on Windows 95. Clearly you should immediately switch to a Windows 95 + Emacs system. 00:05:10 ehird: I thought they had just phased that out? 00:05:18 Oh, maybe in 1.7. 00:05:32 Don't worry though; Cygwin is so outdated and buggy that you won't be able to tell the difference when using 1.5. 00:05:42 1.7 only dropped support because they added half-assed Unicode support, iirc. 00:09:09 Half-assed? Ugh. 00:09:56 Hrm. Does Cygwin even do much notable to programs on it outside of GCC and libc? 00:10:48 It doesn't do anything to libc, it just uses newlib. 00:11:02 But, uh, "libposix" they do. 00:11:25 Oh, right, it's newlib. 00:11:31 The libc that's easiest to port! 00:12:09 As far as I can tell Cygwin is glacially slow (shell scripting is out of the question; ./configure takes a minute+), hacky, run by people with a mild case of idiocy, and should have been dumped in the 90s. 00:12:40 ... Wow... 00:12:48 http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/string/strlen.c?rev=1.1.2.1&content-type=text/x-cvsweb-markup&cvsroot=glibc vs. http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/strlen.c?rev=1.7;content-type=text%2Fplain 00:12:50 Oh and that's for a stock ./configure btw 00:12:58 More advanced ones, say 3+ minutes 00:13:01 (glibc strlen vs. OpenBSD strlen) 00:13:19 pikhq: yeah glibc is really retarded w/ strlen 00:13:30 because i run strlen(million chars long string) in a tight loop ALL THE TIME 00:13:32 That is... Maximally retarded. 00:13:38 pikhq: it has one good use 00:13:48 explaining how to read in machine words to speed up memory access 00:13:52 for strinngs 00:13:54 *strings 00:14:21 i am fucking sick of the "license at the top of every file" convention 00:14:58 Glibc must be insane to port. 00:17:20 Also, that file alone explains why statically linked glibc programs are so huge... 00:21:10 "Unfortunately right now our servers are overloaded and we have no more download slots left for non-members. Of course you can also try again later." 00:21:10 oh fuck you rapidshare 00:24:02 it's been throwing that up at me 9 times out of 10 for the past couple of months 00:24:14 SCREW YOU, WE GOT PAYING CUSTOMERS 00:24:27 has anyone in the history of ever ever bought a rapidshare premium account 00:24:28 (no) 00:24:54 42 seconds remaining 00:24:55 awwright 00:25:04 once there was a drunk person in peterborough 00:25:07 who bought one 00:25:19 they got so excited and to this day refuse to believe it was a fluke 00:25:35 -!- coppro has joined. 00:26:19 Pthing: there was also that telepathic hermit who was humming a song that happened to exactly coincide with their most expensive registration 00:26:42 although the credit card was actually a middle manager's they tracked down the hermit and bludgeoned him to death for not paying 00:26:44 factual story. 00:26:52 i heard that 00:27:31 that was back in -3.2 BC though, before we decided to use natural numbers followed by BC or AD for years 00:29:05 this has to be true because all telepaths are hermits 00:29:14 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 00:29:25 oerjan: no it's the other way around 00:29:30 it comes from the dampness of the caves they live in 00:29:31 you wouldn't stand being around people either, if you could their thoughts 00:29:33 it's TELEPATHIC dampness 00:29:39 *hear 00:29:41 oerjan: you accidentally the telepathy 00:29:42 -!- FireFly has quit ("Leaving"). 00:29:46 anyway that's empathy no 00:29:57 it's both 00:30:11 they're different hermit orders though 00:30:26 hermitism is very hierarchical and rigid and regulated and all that i guess 00:30:47 but of course 00:31:13 especially the telepathic ones, since they can have meetings without showing up 00:31:24 they have to show up anyway though 00:31:25 rude not to 00:31:50 no, they avoided that by making physically showing up against the order's rules 00:32:15 with magic 00:32:24 the empathic ones have a harder time doing this, though, since they can only transmit feelings 00:32:54 but they have a very effective alarm system 00:33:40 heh i'm just imagining an empathic hermit smiling and dancing when (s)he likes a proposal 00:33:50 and banging their head against the cave wall when they think it's an affront to hermitmanity 00:34:20 i don't think that is a word, ehird 00:35:08 they still have to distribute the proposals in writing though 00:35:24 they employ psychopaths for this purpose, since they are devoid of empathy 00:36:10 so won't disturb the hermit's meditations. at least not for that reason. 00:36:46 admittedly the psychopaths are their main reason for needing the alarm system in the first place 00:38:12 they have considered changing to email, but unfortunately many of the hermits are also sensitive to electricity. 00:40:10 * SimonRC goes 00:40:58 eel eck tricksy tea 00:41:09 oh and that dampness in the caves tends to wreak havoc with the computers too 00:43:41 A Dampness in the Caves 00:43:49 little known prequel to A Deepness in the Sky 00:44:08 oerjan: you're forgetting the littler known subdenominated species of hermit 00:44:18 henpathic, they don't care about hens 00:44:45 eticpath, they talk about star trek figurines in pig latin 00:44:52 that would be hen-_a_-pathic, i think 00:45:02 are you questioning me?! 00:45:13 i thought the rules of this game were that you took whatever the other said as granted 00:48:29 -!- ehird has quit. 00:51:18 always the rules 00:55:23 The pathapathic ones are bizarre. 00:55:49 as bizarre as the 'patapathic ones? 01:06:01 Ne. 01:06:22 good. 01:08:34 * pikhq did not realise that Windows does not come with a C library... 01:08:42 nope 01:09:08 Development on Windows must be more of a PITA than I thought. 01:09:35 I mean, hell, you'd have trouble just finding libraries that won't involved conflicting libcs... 01:09:51 it is 01:10:00 you have to include the C++ runtime in your code, for instance 01:10:07 *shudder* 01:34:13 -!- Asztal has quit (Read error: 60 (Operation timed out)). 01:35:55 -!- jpc has quit (Success). 01:37:24 -!- jpc has joined. 01:48:40 -!- Pthing has quit (Remote closed the connection). 01:50:19 -!- coppro has quit (Read error: 60 (Operation timed out)). 01:56:56 -!- coppro has joined. 02:00:25 Can I sanely set up an SVN server with TortoiseSVN? 02:02:16 No, you cannot sanely set up an SVN server when there exists Git. 02:08:40 or Hg 02:10:57 I may have crashed a universe 02:11:10 I really, really, doubt it, but still 02:53:05 -!- oerjan has quit ("Good night"). 02:54:14 Sgeo_: Setting up SVN server is bit of PITA. :-) 02:54:36 just use svn+ssh 02:55:18 Too slow. :-) 02:55:43 I just realized that I might be able to use normish. ty coppro 02:55:50 But first, SG-1 02:55:56 <3 sgi 02:55:59 *sg1 02:56:20 I got the guy in charge of the project I'm working on addicted 02:56:34 And now the game has several references 02:56:49 (I believe the original game also had references, but much more subtle) 02:57:29 Including a reference to something not particularly notable that happened in 1 (rather notable) episode 02:59:14 Does it have as many explosions per second as possible? :-> 03:03:48 Sgeo_: What's the reference 03:04:20 coppro, there's a point in one of the puzzles where you must do stuff, and one of the results is a red light shining through a gem 03:04:52 When I saw the scene in Full Circle shining a laser through a red gem, that reminded me of that in the game 03:05:19 ah 03:05:21 Also, the big bad is called To'Rak. Ok, so if that's a reference, it's in name only, but still 03:12:08 -!- lament has joined. 03:13:12 Sgeo_: have you played the new LoZ game yet? 03:13:16 it has stargates in it 03:13:23 LoZ? 03:13:58 Legend of Zelda 03:14:32 these are bad pics, sorry: 03:14:36 http://i1006.photobucket.com/albums/af190/shinkukage09/StargateLOZ.jpg 03:14:40 http://i1006.photobucket.com/albums/af190/shinkukage09/StargateLOZactive.jpg 03:14:44 I'll see if I can find better ones 03:15:35 Can I set normish up as an svn server? 03:17:27 you can set it up for svn+ssh for sure 03:17:32 probably over http as well 03:17:43 dunno if you could set up an svn raw server 03:19:12 Would svn+ssh:// allow others to access it without giving them access to my normish account? 03:20:33 they'd need normish accounts of their own 03:20:58 Oh bleh 03:22:10 coppro, is that the case with all of these options, or just svn+ssh? 03:22:17 just svn+ssh 03:22:24 the other two require a daemon to run as the server 03:23:01 And there's no way to run that under normal privs? 03:23:14 possibly is 03:23:16 dunno 03:23:23 it's a network server, so probably 04:10:28 wow 04:10:36 all my channels were practically silent while I was gone 04:45:52 -!- lament has quit. 06:11:48 -!- zzo38 has joined. 06:12:06 The reason why they have IIII and IV for 4, is because IIII is for clocks, didn't you know that? 06:13:54 -!- zzo38 has quit (Remote closed the connection). 06:41:00 -!- coppro has quit ("Reconnecting…"). 06:41:19 -!- coppro has joined. 06:57:33 -!- coppro has quit ("Reconnecting…"). 06:57:50 -!- coppro has joined. 07:03:22 -!- Sgeo_ has quit ("Leaving"). 07:08:18 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 07:08:34 -!- pikhq has joined. 07:13:58 -!- FireFly has joined. 07:59:50 -!- lament has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:28:17 -!- coppro has quit ("I am leaving. You are about to explode."). 08:29:04 -!- lament has quit. 08:30:02 -!- FireFly has quit ("Leaving"). 08:37:01 -!- soupdragon has joined. 08:56:45 -!- jpc has quit ("I will do freaking anything for a new router."). 08:57:29 -!- jpc has joined. 09:43:10 -!- oerjan has joined. 10:10:52 -!- oerjan has quit ("leaving"). 10:55:52 -!- jpc has quit (Read error: 110 (Connection timed out)). 11:02:19 'so you make the effort of scanning ~4billion IP addresses and all you come up with is some cell phone snaps of a 8x8 wall print?' 11:52:35 -!- soupdragon has quit ("Leaving"). 12:44:51 -!- nsinreal has joined. 12:46:48 -!- Pthing has joined. 13:06:29 -!- Pthing has quit (Remote closed the connection). 13:15:09 -!- ehird has joined. 13:15:18 -!- FireFly has joined. 13:16:34 17:08:34 * pikhq did not realise that Windows does not come with a C library... 13:16:34 Well, neither does Ubuntu. 13:16:39 Nor OS X. 13:16:44 Nor FreeBSD. 13:17:45 22:12:06 The reason why they have IIII and IV for 4, is because IIII is for clocks, didn't you know that? 13:17:45 Clocks use that, but it is not there for clocks. 13:38:33 Oh god I just realised something 13:38:36 VirtualBox is now owned by Oracle 13:42:06 hey ehird 13:42:09 howsit goin 13:42:18 It's all goin and whatnot. 13:42:25 awesome 13:42:28 cant have it not goin 13:46:53 Windows XP installs bloody fast once you've mutilated it to fit into 177 megs. 13:47:04 "Windows XP brutally mutilated: Installs faster than Ubuntu!" 13:50:13 I appear to have accidentally lobbed of Japanese/Chinese character supporrt in my mutilation! 13:50:14 OH WELL 13:50:15 *support 13:54:35 man, it starts up to the login screen in two seconds 13:55:01 ok one issue though: can't login as administrator, which is the only account :-D 13:56:11 this is problematic 13:58:01 ehird: that sounds like you have created a very secure distribution of win xp, by making admin the only account and prohibiting login to it, that prevents large categories of exploits 13:58:30 it's incredibly secure, it even waits some seconds after you hit OK before telling you you can't login as administrator 13:58:40 that prevents brute-force OK-clicking attacks 13:58:47 designed to confuse the computer into letting the user in 13:58:55 Yeah 13:59:00 Great design choice 13:59:22 "some seconds" 13:59:27 User name: Administrator 13:59:27 Password: 13:59:28 [OK] [Cancel (disabled)] [Options >>] 13:59:28 C'mon guys, let's see if we can't get me into this system :P 13:59:32 So you get to the login screen faster than it takes for it to realize you can't log in? 13:59:36 one of my favorite bits of rio actually is a tiny bit of code commented as /* the purpose of this is to discard frantic user clicking during brief periods of inactivity */ 13:59:41 FireFly: yep 13:59:49 Heh 14:00:02 winxp from bios handing over to the bootloader to graphical login screen here is like ~3s 14:00:09 if only i could log in 14:00:36 the install was pretty sweet 14:00:38 it took about 5-6 minutes 14:00:41 Wait 14:00:49 does it still show all the stuff in those three seconds? 14:00:53 the textmode formatting+copying stage took about 3 minutes 14:00:55 All different screens we usually see 14:01:02 "Inability to log in is not a defect. This bug should have been filed as a feature request. Login functionality has been deferred to an indeterminate future OS version. WONTFIX." 14:01:04 and discarding my futzing with the settings in the graphical part it took about 2-3 minutes 14:01:07 maybe 4 minutes tops 14:01:19 FireFly: It shows the Windows XP with the [ ==== ] scroller. 14:01:24 -!- nsinreal has quit (Read error: 60 (Operation timed out)). 14:01:29 Only that? 14:01:32 and then login screen? 14:01:34 what about the naked babes? 14:01:37 and the fireworks? 14:01:46 FireFly: yes 14:01:49 i dont use windows, but since everyone says its so great, i assume you get those when you start it up 14:01:49 Sounds sweet 14:02:06 FireFly: I stripped out a lot of shit though 14:02:15 yeah, I can see thot 14:02:16 with a 14:02:21 All the sounds, the entire theme support, wireless support, I think even DHCP 14:02:37 so ehird 14:02:44 Anything even remotely server-like, things that windows media player depends on to even *run*, ... 14:02:50 about the constraint-functional gl 14:03:20 you wanna discuss it a bit later? 14:03:28 FireFly: I did improve the graphical part of the installer, though, by making it use a black background and an InstallShield-esque dialog instead of the shitty Luna crap that's used by default 14:03:37 augur: Sure? I guess. 14:03:55 How did you change it anyway? 14:04:16 awesome. im feeling kinda shit right now but hopefully later ill be better enough to talk coherently about this crap 14:04:17 lol 14:04:29 FireFly: nLite + reckless abandon 14:04:56 If you want it even lighter try slimming down Windows 2000, that supports like 90% of the stuff XP does 14:05:03 (even if the stuff says it doesn't) 14:05:12 Heh 14:05:16 FireFly: One thing I didn't bother with is stripping out the IE engine 14:05:35 If you did that, and used the Windows 95 explorer as explorer.exe, that'd be pretty light. 14:05:37 I was about to ask that, but... it's apparently quite central 14:05:50 Nah, it's not 14:05:54 No? 14:05:55 Hmm 14:05:58 It breaks the default explorer, 14:06:01 Windows Media Player, 14:06:14 Help & Support including .chm (I guess you could use a third-party reader) 14:06:19 some misc. stuff 14:06:23 but really not all that much 14:06:40 for third party stuff you could, like, use http://www.iol.ie/~locka/mozilla/control.htm 14:07:19 FireFly: Vista onwards, though, use IE for, like, everything 14:07:24 iirc the vista/7 control panel is actually ie 14:07:28 ... 14:07:43 ,,, 14:07:45 Didn't MS say they were going to decentralize the use of IE in Vista? 14:07:53 I recall reading something like that 14:07:56 Um. I don't think so. 14:08:02 Well, I may well be wrong 14:08:04 They were lying, if they did. 14:08:23 Oh also nLite lets you roll in service packs and updates into the install which is sweeeeeet 14:08:30 Nice 14:08:31 And you can make programs (i.e. installers) execute on first boot 14:08:43 and roll in drivers too 14:09:37 -!- soupdragon has joined. 14:10:18 http://www.pu7o.org/pix/nt4sh_xp.png Windows NT 4 (i.e. Windows 95 ported to NT)'s shell in XP? Why yes indeed. 14:10:23 Microsoft sure are rabid about backwards compat 14:11:13 Hah 14:13:06 http://sillydog.org/forum/sdp_95595.php&sid=5758688f796265bb2f8336806d81d9ba#95595 ;; you can even download it! 14:22:15 "KernelEx is an Open Source compatibility layer with an aim to allow running Windows 2000/XP-only applications on Microsoft Windows 98 and Microsoft Windows Millennium operating systems." 14:22:16 * ehird gawps 14:22:39 whats a gawp 14:23:51 ur mom 14:23:55 oh ok 14:28:12 sound blaster live cards have a ridiculous number of mixer controls. This image was stitched together from multiple screenshots: 14:28:13 http://omploader.org/vMzczMA/sblive_mixer_controls.png 14:28:24 (warning: *very* wide) 14:28:37 hah 14:28:38 nice one 14:28:41 Hm 14:28:45 not THAT wide 14:29:13 "This behavior can occur if the account you are using to connect with has a null (blank) password. You cannot establish Remote Desktop connections when you are using an account with a null password." 14:29:22 tl;dr my windows doesn't work because Administrator has no password 14:29:25 not that i was given a choice 14:29:37 FireFly, well, sure it could have been worse, if I had managed to get alsamixer to also show those of the on-board chipset. About two screenshots would have been needed for that one 14:29:45 FireFly: 4240 pixels isn't wide? I would like to purchase your display(s). 14:29:51 unlike the 6 or so for the sbLive card 14:30:01 -!- BeholdMyGlory has joined. 14:30:01 Of course I need to scroll 14:30:04 but it isn't THAT wide 14:30:15 in terms of large images 14:30:21 Even the 27 inch iMac only has 2560 pixels. And the T221 only has 3840. 14:30:34 ehird, hm I wonder if it *is* possible to get a single display that wide. 14:30:47 AnMaster: physically, yes 14:30:48 since 42" monitors and such tends to have fairly low DPI 14:30:57 In practice? If you go to a manufacturer with a lot of money, probably. 14:31:01 aha, I can log into this XP with safe mode 14:31:01 ehird, I mean, in pixels, and physical one monitor 14:31:02 -!- nsinreal has joined. 14:31:05 ehird, oh custom order? 14:31:06 and use it to change the password 14:31:08 only? 14:31:26 I meant "more or less off the shelf" 14:31:28 AnMaster: Not custom order... more like "here's $50 million dollars — design and produce one model". 14:31:58 * ehird starts stripped down XP in safe mode 14:32:07 Windows is pretty simple if you cut down all the shit. :P 14:32:14 Yay, login succeeded! 14:32:28 "If you prefer to use System Restore to […]" 14:32:28 How can I? I removed that component from the CD. 14:32:40 ehird, the resolution sucks in safe mode iirc 14:32:41 We have a taskbar; that's reassuring. 14:32:51 forgot if you could change it 14:32:57 640x480x32 isn't bad... 14:33:08 I'm only using this to add an account or whatever. 14:33:30 Tee hee; the only type you can choose is Windows Classic style, and the only two schemes are Windows Classic and Windows Staandard. 14:33:32 *Standard 14:33:37 XP handles being lobotomised surprisingly well. 14:34:00 "Screen saver 14:34:00 [ (None) | V ] 14:34:00 | Blank" 14:34:06 Exciting choice 14:34:20 Desktop background choices: "(None)" 14:34:40 ehird, 640x480x32 isn't too bad on 1) CRT 2) virtualization in window. However it is horrible on a TFT with a native res of 1280x1024. And imagine it on a wide screen tft 14:35:16 http://imgur.com/Z8PrO.png 14:35:21 ehird, in what way is it stripped down? 14:35:33 AnMaster: Over 50% of Windows components removed. 14:35:41 CD is over 400 megs smaller. 14:35:42 ehird, you did it? 14:35:46 Yes, with nLite. 14:35:48 ah 14:35:52 I also integrated SP3 into it. 14:35:56 AnMaster: nLite isn't an automated thing or anything 14:36:05 ehird, oh? 14:36:05 It just gives you a checkbox for every single damn component in the whole system 14:36:09 I see 14:36:14 ehird, dependency checks? 14:36:18 And also lets you integrate service packs and stuff automatically, but the main bulk was that. 14:36:20 AnMaster: Yes. 14:36:31 well okay, could have been worse 14:36:39 is it possible to drop IE? 14:37:09 The browser executable, yes. The rendering engine, yes (but you'll have to remove a bunch of other stuff too. Most of the stuff that depends on it is useless, though, except for the file manager and .chm help files) 14:37:20 I chose to keep both so I could download a browser with ease. 14:37:29 The actual .exe file is tiny, it just calls up the DLL pretty much 14:37:37 I assume windows update won't work on that thing any more 14:37:42 Yes it will. 14:37:48 also, how much disk space does the clean install use? 14:38:00 ehird, no issues with it trying to update non-existent files? 14:38:08 Just checked. 1.13 gigs 14:38:22 AnMaster: I don't think so. 14:38:30 mhm 14:38:31 "[X] Allow Indexing Service to index this disk for fast file searching" 14:38:38 But you don't HAVE indexing service, Windows. :) 14:39:14 I kept in the important stuff of course. FreeCell, Hearts, Minesweeper, Solitaiire and Spider Solitaire are all there. 14:39:19 As is Paint. 14:39:28 And Sound Recorder. 14:39:32 but those are all tiny :P 14:39:42 No HyperTerminal or anything thoughh 14:40:12 I like how I changed start menu submenus to open in 20ms, feels a lot less like waaiting 14:40:14 -!- Pthing has joined. 14:40:17 Okay, let's add an account to this thing 14:40:35 LOL, the account pictures are all IE's [x] image not found image 14:40:36 :-D 14:41:12 -!- ais523 has joined. 14:41:42 Hi ais523. 14:41:43 ais523, hi there. http://omploader.org/vMzczMA/sblive_mixer_controls.png 14:41:57 ais523: I've lobotomised Windows! 14:42:02 XP, to be precise. 14:42:18 ~100 meg install CD expanding to ~1 gig on disk. 14:42:21 Everything must go! 14:42:29 ais523, was stitched together from multiple screenshots. Image is 4240x833. Shows all the controls for my sound card in alsamixer 14:42:34 And it actually runs. ...except you can't log in by default, you have to add a password using safe mode. 14:43:12 Oh, I think I could have logged on if I used the username Owner 14:43:15 ehird: I think it's incredibly ironic that ~1 gig on disk is considered "small" wrt Windows 14:43:28 ais523: It's half of a regular install 14:43:30 ais523: It's more the ISO size, anyway 14:43:33 I stripped 400 megs off that 14:43:33 yes 14:43:42 There'll just be some big thingy in XP that everything depends on 14:43:50 AnMaster: hmm, I tend not to control my sound card much at all 14:43:54 apart from volume balance 14:44:05 ehird: was anything of value lost? 14:44:05 But seriously, I even made the installer use Windows 2000's installer, which is smaller. 14:44:06 mhm 14:44:13 ais523: Well, I'm about to do my first non-safe mode login. 14:44:14 We'll see. 14:44:20 Nothing's broken yet. 14:44:40 ais523: And it boots to the login screen in seconds. 14:44:52 The little XP loading spinner doesn't even do a full lap. 14:45:19 ehird, nice 14:45:40 I'm going to convert the VirtualBox VM to use SATA, not IDE, soon. 14:45:45 That'll make it even faster 14:45:53 (VBox's SATA emulation is faster than its IDE emulation) 14:46:00 ehird: hmm, you're confirming certain suspicions I have about Windows 14:46:06 ais523: like? 14:46:21 I've suspected for a while its slowness is for marketing reasons, indirectly 14:46:26 rather than anything fundamnetal 14:46:28 *fundamental 14:46:32 I seem to have done the rather worrying thing here of making Windows XP into a small, fast, rather reasonable desktop OS 14:46:56 Why do my Windows experiments always end in me somehow putting Windows in a good position? 14:46:57 I suspect whatever you've ended up with will be rather insecure, but I'm not even sure of that 14:47:05 ehird: because Windows isn't inherently unreasonable 14:47:05 ais523: I didn't remove any security stuff 14:47:12 In fact, I removed a lot of things like NetBIOS over TCP/IP 14:47:15 If anything it's more secure 14:47:20 ehird: I'd expect security updates to either fail to apply or add them back 14:47:24 due to the typical way they're packaged 14:47:33 I'm not sure, people update nLite systems a lot as far as I know 14:47:37 So I guess it works alright 14:47:48 (nLite is the tool that lets you disable components of Windows) 14:48:13 nLite :: ISOContents Windows -> [WindowsComponent] -> ISO Windows 14:48:13 :-P 14:48:26 was a pain chasing dependencies and stuff to make sure the basics worked though 14:48:33 Anyway, let's see how much stuff works 14:48:44 meanwhile, my office computer (running Windows 7) is having sufficient compatibility problems that the computer support people are putting a Windows XP VM on it 14:49:00 in an attempt to actually run the programs that its purpose is to run 14:49:11 ais523: your organisation is collectively braindead 14:49:14 (personally I blame it on Xilinx for writing unportable code, but that's another matter...) 14:49:38 [X] Use visual styles on windows and buttons 14:49:46 I love how Windows is convinced it has all the components I removed 14:49:49 I'm going to convert the VirtualBox VM to use SATA, not IDE, soon. <-- oops. Windows XP. SATA. Oops 14:49:53 I'm running into references to them every few minutes 14:49:59 AnMaster: you just have to install the drivers. 14:50:03 ehird, I got it to work but needed a floppy with drivers during the install 14:50:14 I tried that but it failed to copy the drivers 14:50:14 ehird, didn't manage to switch after install 14:50:18 Meh 14:50:22 I'll google for help 14:50:27 ehird, 32-bit xp? 14:50:29 ehird: you could save even more by removing the references! 14:50:34 for 64-bit xp there seems to be no drivers 14:50:45 ais523: XD 14:50:48 AnMaster: 32-bit. 14:50:58 a useful trick is that most of the strings used by a Windows application are stored in the resource object, rather than the executable part 14:51:00 Who uses XP x64? People who want to use Windows XP without caring about application compatibility. i.e. idiots 14:51:16 so you can change them with a resource editor without disturbing the rest of the aplication 14:51:21 ais523: Also, the install was faster than Ubuntu's install on real hardware 14:51:22 AnMaster: I specifically requested 32-bit 14:51:22 No joke 14:51:29 The actual copying of files took about 1.5 minutes 14:51:41 given that the programs are known to have 64-bit compatibility issues 14:51:52 ehird: doesn't actually surprise me, although I assume Ubuntu could be cut down to be faster than Windows 14:52:08 I renamed C:\Documents and Settings to C:\Users :-) 14:52:13 because Ubuntu installs drivers for every piece of hardware it supports by default, Windows copies some .cabs over instead 14:52:24 Although I couldn't find where to rename C:\Program Files to C:\Programs 14:52:33 given that Ubuntu has better hardware support than Windows XP included with the OS, that's going to be more drivers 14:52:37 ehird: Vista? 14:52:48 Vista doesn't do that 14:52:49 * ais523 runs 14:52:58 well 14:53:04 vista does C:\Users 14:53:06 but not \Programs 14:53:15 -!- nsinreal has left (?). 14:53:28 * ehird greps the registry for Program Files 14:53:53 Eh, quite a lot of stuff referring to dlls 14:54:02 If only regedit had a global search and replace >:) 14:54:16 * ehird deletes AUTOEXEC.BAT and CONFIG.SYS. 14:54:19 storing the name of a dll in the registry is an incredibly bad idea, from what I remember of Windows development 14:54:22 Honestly, why are they even there? They're not even loaded. 14:54:28 ais523: Well, Microsoft does it. 14:54:35 so? that doesn't mean it's a good idea 14:54:41 :P 14:54:45 * ehird also deletes IO.SYS 14:54:54 And MSDOS.SYS... 14:55:12 WTF Windows just replaced them 14:55:14 I once extracted the entire source code for a wizard that made Microsoft Binder files 14:55:16 I thought I disabled that 14:55:21 because it had all been written in VBA for Excel 14:55:33 and it just took a simple macro command to turn the vbVeryHidden flag off on the macros 14:56:01 lol Elliott is still in \Users\Owner 14:56:05 (hidden can be false (not hidden), true (hidden, but you can unhide it via the GUI), very-hidden (hidden, and you need to use a macro to hide it)) 14:56:07 Incidentally, XEmacs is quite nice on Windows 14:56:11 although ugly 14:56:17 WTF Windows just replaced them <-- WFP 14:56:23 AnMaster: Yes, but I disabled that 14:56:26 Maybe it reset it after the install 14:56:27 ah okay 14:56:32 (Disabling WFP speeds up the install loads apparently) 14:56:38 what's WFP? 14:56:41 ehird, anyway I believe autoexec.bat is used for cmd.exe 14:56:45 Windows File Protection 14:56:49 config.sys is not though 14:56:51 iirc 14:56:53 Change or delete a file Windows likes? 14:56:53 BAM! 14:56:55 AnMaster: no, autoexec.nt I thought 14:56:56 You're reverted in seconds. 14:57:02 ais523, oh, maybe 14:57:41 which nicely violates Windows' file-extension-indicates-file-type convention 14:57:51 as there's config.nt too with an entirely different format 14:58:01 ehird, WFP is just the first step towards making windows viral 14:58:16 in the future, it will take over other partitions, not just protect itself 14:58:19 del /F /A:H IO.SYS 14:58:21 Feels good man 14:58:34 ehird, reverted yet? 14:58:51 Nope, apparently Windows doesn't keep a backup of them I guess 14:58:59 I guess it just fished them out of \RECYCLER beforehand 14:59:05 ehird, pretty sure a backup copy is how it works 14:59:09 hrrm 14:59:20 * ais523 vaguely flabbergasts 14:59:39 http://www.windowsnetworking.com/articles_tutorials/Tweaking-XP-Windows-File-Protection-SP2.html 14:59:39 Disabling WFP involves hex editing a system DLL. Noted. 15:00:20 not really, you could do it in octal instead 15:00:36 ais523, :D 15:00:36 * ehird sets start menu to classic 15:03:06 Anyone know if there's a program that empties the recycle bin in Windows XP by default? 15:03:10 Would like to add it to my start menu. 15:04:42 you could write a one-line batch script, and add that to your start menu 15:04:50 http://i.imgur.com/AYA7q.png 15:04:52 Some choice 15:05:01 ais523: I kinda like the Windows confirm prompt, though. :P 15:05:07 But yeah, I could. I will. 15:05:16 ehird: five lines of VBSctipy, then (ugh) 15:05:23 *VBScript 15:05:26 I could just use JScript with WSH 15:05:34 Same objects, after all 15:06:26 Oi, laugh at http://i.imgur.com/AYA7q.png 15:06:39 ehird, is that your doing? 15:06:50 Incidentally I not only purged the animated dog from search, but reverted the entire search UI to win2k's 15:06:52 augur: define that 15:06:57 windows inside sun inside max os? 15:07:03 I could just use JScript with WSH <-- you installed jscript support? 15:07:16 Sun is the company that makes VirtualBox, you dolt :P 15:07:25 AnMaster: It's part of IE 15:07:40 augur: The thing to laugh at is the fact that Search is a menu with only one item 15:07:43 -!- soupdragon has quit ("Leaving"). 15:07:46 Due to my evil lobotomising of Windows 15:07:46 ehird, vbscript too? 15:07:50 AnMaster: Don't know 15:07:55 true 15:08:24 ehird, how many colours is the system set to 15:08:30 32bit 15:08:53 ehird, really? why does the blue bar on the side of the start menu look like it was dithered to 8 bits then 15:08:56 -!- soupdragon has joined. 15:09:03 AnMaster: because IIRC it's a bitmap 15:09:08 That's just how it is 15:09:14 that actually /is/ dithered to 8 bits, or possibly even less 15:09:15 ais523, mhm. Bitmaps can be 32-bit you know ;P 15:09:18 The actual gradient isn't 8-bit, I don't think 15:09:19 right 15:09:20 Te text is just ugly 15:09:23 *The 15:09:35 ehird, why home edition 15:09:40 Because 15:09:43 -!- soupdragon has quit (Client Quit). 15:09:48 I downloaded home edition because it was what I had my serial for 15:09:53 ah 15:09:55 Pro = Home + some useless settings nobody uses 15:09:57 big deal 15:10:08 ehird, yeah like ACLs on files 15:10:10 though 15:10:15 I thought Home was banned from joining a network (other than the Internet) 15:10:18 there is a trick to get that in XP home outside safe mode 15:10:22 ais523: Who cares 15:10:24 AnMaster: Who cares 15:10:35 you had to replace some files with files from a 2000 or NT 4 hotfix 15:10:37 iirc 15:10:37 ehird: businesses care, presumably 15:10:46 Home indeed can't join a domain properly. 15:10:49 then suddenly, full file permissions 15:11:09 It can be a part of a workgroup, though, I think. 15:11:09 Time to write some JScript! 15:11:50 * ehird creates \home for storing stuff 15:12:21 \home\tools\recycle.js. Like some evil bastard lovechild of Unix. 15:12:36 I have here a Samba-controlled Windows domain, though with a total of one (1) Windows machines I'm not quite sure why. 15:12:37 Sweet, it works 15:12:45 WScript.Echo("Hello, world!"); 15:12:45 WScript.Quit(); 15:12:52 Don't let anybody tell you Windows doesn't come with development tools 15:13:02 (That displays a GUI dialog box, btw.) 15:14:15 No, wait, it depends what engine you use 15:14:31 Wscript.exe is a dialog box, Cscript.exe just outputs it as text 15:14:46 -!- soupdragon has joined. 15:15:03 fizzie, heh 15:15:21 >cscript /Nologo recycle.js 15:15:21 Hello, world! 15:16:27 -!- soupdragon has quit (Client Quit). 15:20:24 ehird: 15:20:26 Targets (1): ghc-6.10.4-1 15:20:26 Total Download Size: 80.29 MB 15:20:26 Total Installed Size: 563.95 MB 15:20:28 wth 15:20:39 What about it? 15:20:47 ehird, over 550 MB 15:20:55 I'm a bit surprised 15:21:12 Maybe it comes with all the profiling libraries or something. 15:21:16 hm 15:21:22 * AnMaster looks at the pkgbuild 15:21:27 Besides, 64-bit code is fatter. 15:21:34 And languages like Haskell have a LOT of pointers. 15:21:35 a LOT. 15:21:37 Think thunks. 15:21:45 Every single lazy expression generates a pointer. 15:22:15 -!- soupdragon has joined. 15:22:18 ehird, sure 64-bit is fatter. But usually not quite as much. Let me check ghc on ubuntu (6.8.2 there, so I would expect slightly smaller) 15:25:20 Okay, recycle.js now does everything *but* the actual emptying. 15:25:20 Installed-Size: 197952 15:25:28 says apt-cache show 15:25:41 so around 193 MB 15:26:02 or MiB you would say 15:26:39 ehird, those profiling libs. What configure switch would enable then? 15:26:40 them* 15:26:51 since arch's PKGBUILD just uses: 15:26:53 ./configure --prefix=/usr 15:27:02 It's in the make configure file 15:27:09 AnMaster: But it shouldn't inflate it that much 15:27:11 ah the: 15:27:13 I suggest building GHC yourself 15:27:14 cp $startdir/build.mk mk/build.mk 15:27:15 line 15:27:21 ehird, well yes probably a good idea 15:27:22 It's not hard 15:27:25 Misread a course name in an email: "T-61.9910 Adventures in Matrix and Tensor Factorizations". (It was "Advances" instead; thought someone had a sense of humour there.) 15:27:31 ehird, takes ages iirc 15:27:36 and don't you need ghc to do it 15:27:39 AnMaster: About three hours. 15:27:43 Yes, but you can download a bootstrap GHC. 15:27:50 http://hackage.haskell.org/trac/ghc/wiki/Building 15:28:00 # Full build with max optimisation (slow build) 15:28:00 BuildFlavour = perf 15:28:03 If you're going to program in Haskell I suggest enabling the profiling libs 15:28:04 from that build.mk 15:28:09 AnMaster: Well, don't do that. 15:28:28 ehird, does that include those profiling libs? 15:28:36 Dunno. 15:28:42 Just follow the guide on trac :-P 15:28:55 Don't build the latest GHC, 6.12, though 15:29:00 Not much stuff supports it yet 15:29:02 *it yet 15:29:10 ais523: grr, DEL /Q \RECYCLER\* doesn't work 15:29:21 do you know how to empty the recycle bin from the command line? 15:29:35 not offhand 15:29:49 I'd have expected that to work... 15:30:01 (do you need to specify c:\ rather than just \?) 15:30:04 no 15:30:11 it's just that \RECYCLER isn't the 'real' recycle bin 15:30:15 it just includes fancy recycle binnish files 15:30:30 ehird, so the recycle bins are inside it? 15:30:48 that sounds familiar from reinstalling xp side by side with an old xp on some system 15:31:16 doing DIR in \RECYCLER gives the header then "File Not Found" 15:31:18 which is peculiar 15:33:04 http://kitenet.net/~joey/hacker_tombstone/ 15:33:04 The most depressing Debian-related page you'll read today. 15:35:27 Files in the "Recycled" directory are hidden as well, so apply the following command to make them visible: 15:35:27 aha 15:35:41 DIR /A does it 15:36:23 -!- Asztal has joined. 15:37:00 DEL /A: \RECYCLER\*\*, I believe 15:37:11 */A:H 15:38:04 Tada 15:38:31 var WshShell = new ActiveXObject("WScript.Shell"); 15:38:32 if (WshShell.Popup("Do you want to empty the recycle bin?", 0, "Empty Recycle Bin", 4 + 32) == 1) 15:38:32 WshShell.Exec("DEL /A:H /Q \\RECYCLER\\*\\*"); 15:38:40 Let's see you Linuxers do that in three lines :P 15:38:59 (0 = timeout; 4 = buttons are Yes/No; 32 = question mark icon) 15:41:30 Woot, all done and added to the start menu 15:41:34 That was surprisingly painless 15:42:09 It surprises me how nothing's broken yet 15:42:15 ais523: quick, give me something you think I broke :P 15:43:05 hmm, /me thinks 15:43:15 the issue is, most of the things you're more likely to have broken you probably don't care about anyway 15:43:17 like printer sharing 15:43:27 Printers? Who said I had printer support? 15:43:30 'Xdialog --yesno "Empty recycle bin?" 0 0 && rm -rf <...>' (or something). But that also needs shellbang line. 15:43:34 ehird: exactly 15:43:48 I literally don't have any support for printers or scanners, even PDF printers. 15:43:50 But who uses them! 15:43:53 Ilari: that would be 2 lines, then 15:44:00 Ilari: That doesn't need a shebang line. 15:44:06 It defaults to /bin/sh. 15:44:07 ehird: I use PDF printers, then take the PDF to another computer and produce hardcopy from it 15:44:17 ehird: it defaults to whatever shell you're running it from 15:44:26 Well, what happens if you run it from e.g. a GNOME menu? 15:44:28 and fails to run if it doesn't have a shebang and are running from outside a shell, I think 15:44:34 Alright then. 15:44:40 Ilari: That's not three lines, though. (I was writing one with dialog instead of xdialog.) 15:44:51 Let's see you Linuxers do that in three lines :P <-- probably done with dbus these days 15:44:53 *shurg* 15:45:37 ais523: I considered removing 16-bit support but decided against it 15:45:45 Who doesn't love 16-bit programs 15:45:50 NAME 15:45:50 dbus-binding-tool - audio previewer for the GNOME desktop. 15:45:53 most of my programs were 16-bit 15:45:54 I believe that is way way off 15:45:59 Excellent, FreeCell works 15:45:59 it was more reliable than 32-bit, I'm not sure why 15:46:08 my current theory is bitflips in the 32-bit compiler I had 15:46:13 -!- jpc has joined. 15:46:36 I wonder what browser I should put on this. 15:46:44 Perhaps K-Meleon; that's suitably weird. 15:47:15 I didn't include Calculator because you should be using Frink. :-) 15:47:35 package require Tk;if {[tk_messageBox -type yesno -icon question -message "Do you want to empty the recycle bin?"]} {exec "rm -rf ~/trash"} 15:47:46 pikhq: Hey, no multiple statements on one line 15:47:51 But very good. 15:47:58 Although. 15:48:01 That removes ~/trash itself. 15:48:03 ehird: Fine, then it's 3 lines. 15:48:05 ITYM rm -rf ~/trash/* 15:48:10 Yeah. 15:48:14 pikhq: 3 lines? What bracing style are you using? 15:48:21 Surely 4 lines at the least 15:48:26 what lang is that? 15:48:26 Yeah, I know, no fair :-) 15:48:29 ais523: tcl 15:48:42 It would be even shorter in REBOL :-) http://www.rebol.com/oneliners.html 15:48:43 ehird: Well, strictly speaking it's only *two* commands. 15:48:47 ehird, dbus-monitor indicates that dbus *is* involved both in moving files to trash and in emptying trash 15:48:57 why on earth I don't know 15:49:10 AnMaster: to determine where the trash dir is, I think 15:49:17 If a language can make an internet-accessing GUI program shorter than REBOL, that's some achievement. 15:49:30 Fine, I'll make it two lines. 15:49:57 package require Tk;expr {[tk_messageBox -type yesno -icon question -message "Do you want to empty the recycle bin?"]?[exec "rm -rf ~/trash"]:0} 15:50:09 That is so cheating. 15:50:12 I could do that in JS too. :P 15:50:19 So very cheating. 15:50:20 ais523, looked more like a move command the the gnome vfs layer 15:50:22 and a remove one 15:50:25 with byte arrays 15:50:36 probably filename, didn't bother trying to put them together 15:50:43 method call sender=:1.739 -> dest=org.gtk.vfs.Metadata serial=2 path=/org/gtk/vfs/metadata; interface=org.gtk.vfs.Metadata; member=Remove 15:50:43 array [ 15:50:43 byte 47 15:50:43 byte 104 15:50:45 [...] 15:51:19 TODO: Get a nicer browser. Get Java. Get Frink. Do updates at some point. Get Corman Lisp. 15:51:27 Get Emacs. 15:51:51 well since the first few ones form "/home" and I can't be arsed to work out the rest 15:51:55 I guess it is a path 15:54:26 Abuh? 15:54:36 I just got 700 kb a sec. 15:54:42 ...And am getting sustained 180 kb a sec. 15:54:46 "abuh"? 15:54:50 My link maxes out below 160 or thereabouts. 15:54:57 AnMaster: An expression of extreme surprise. 15:55:01 ehird, you only have 160 kb down? 15:55:19 AnMaster: We pay for 8 megabits, but this fucking village uses the nearest town's exchange 15:55:29 oh right, remember now 15:55:31 It's only a few miles away, but it caps out my download below 200k 15:55:34 Fucking thing sucks 15:55:46 Wanna move to Scandinavia and get 100 mb :( 15:55:46 ehird, so why not pay for less, or will you get even less then? 15:56:02 also aren't there rules about how many percent of the stated sped that you have to get at least 15:56:03 AnMaster: we just haven't got around to it, or maybe we are and i just don't know it 15:56:14 Also, no. We transferred from the previous house. 15:56:16 speed* 15:56:24 ehird, hm? 15:56:34 Hm what? 15:57:21 ehird, anyway ~700-760 kilobyte is what I get during good conditions here. Pay for 8 megabit down 15:57:52 ehird, so I guess it just happened to be good conditions for a few seconds 15:58:09 No, it showed all the signs of being rate-limited. 15:58:22 That happens, often: you get the unlimited speed and then it gets clocked down by the ISP. 15:58:24 ...So, ??? 16:03:51 ehird, very strange. Also that doesn't happen much here. Does happen at university though 16:04:02 I blame the wlan 16:04:11 ehird, I guess they try to be nice to short burts 16:04:21 probably useful for some commonly used tech 16:05:03 No, it's probably that their rate limiter is asynchronous 16:05:08 ehird, oh? 16:05:10 Making it run on every piece of traffic, blocking it, would be crazy 16:05:11 hm maybe 16:05:21 So I'm guessing that the rate limiter is a separate process that limits the stream 16:05:29 And it takes a second or so to kick in 16:05:31 ehird, couldn't they physically limit the link speed 16:05:40 Wouldn't that require using different cables 16:05:47 like, 100 mbit ethernet isn't artificially rate limited 1 gbit ethernet 16:05:55 ehird, hm maybe 16:06:17 100 mbit, wonderful 16:06:21 Now give me an 8 mbit ethernet cable 16:06:38 ehird, I believe it is due to the interface rather 16:07:26 if they made the interface in the exchange not handle more than a given speed, there would be no need for rate limiting in other ways would there? 16:07:44 * ehird tries Opera as a lightweight windows browesr 16:07:46 *browser 16:07:47 ehird, also, don't you need a cat6 rather than cat5e for 10 gbit ethernet? 16:08:03 ehird, vonkeror! *runs* 16:08:04 AnMaster: why do all of this when you can save money by having a flexible rate limiter 16:08:17 Vonkeror is hardly lightweight, it uses Gecko. :-) 16:08:31 ehird, [cue: suspiciously] are you trying to be practical? 16:08:48 No! I will use telnet. 16:08:54 ehird, I meant for rate limiting 16:08:57 * ehird ...phew... close one 16:08:58 not for browser 16:08:59 AnMaster: Oh. :P 16:09:54 YET ANOTHER FEATURE OF DYNAMIC LINKING: The linker has to topologically sort the objects! 16:10:25 ehird, it does? 16:10:29 yep 16:10:46 weird 16:10:56 Fun worst case performance there 16:11:10 but why 16:11:13 does it have to do that 16:11:27 Not sure, but Ulrich Drepper says it's true and he's probably right. 16:11:35 He does know rather a lot about dynamic linking, except that it's shit. 16:11:49 Ugh, I wish my mouse would stop glitching fake middle clicks in virtualbox 16:11:55 ehird, how many libraries are usually involved? 16:12:00 Objects. 16:12:03 Object files. 16:12:21 ehird, oh not ld.so? but ld? 16:12:24 So... all of the object files in your program/library, and all the dynamic libraries you use. 16:12:33 AnMaster: I think so, anyway. 16:13:17 ehird, because for ld.so I think the stuff it would be required to sort is fairly small. So the n wouldn't be too bad 16:13:42 however, for ld wouldn't it have to do the same for static linking too? 16:13:48 since ld is used for that as well 16:13:53 I don't know! I'm just parroting Drepper. 16:14:22 ehird, anyway if it did, ld wouldn't depend on the libraries used by an object to be listed *after* said object. would it? 16:14:30 I 16:14:31 DON'T 16:14:31 KNOW 16:14:34 so it must refer to the runtime linker, otherwise it wouldn't make sense 16:14:37 In any case where you have to load thing A before thing B because B depends on A, topological sorting comes up pretty naturally. 16:14:45 ehird, rhetorical question 16:15:55 Rhetorical question for a rhesus monkey. (Free-associating here.) 16:16:22 why do so many touchscreens seems to react slowly 16:16:30 used one yesterday on a copy machine 16:16:32 Because the underlying hardware is shit. 16:16:41 ehird, is it fast on iphone btw? 16:16:48 Also because they don't use capacitive touchscreens. 16:16:51 AnMaster: Instant. 16:16:59 pure guess is that it is related to denouncing of some source 16:17:01 sort* 16:17:02 People _do_ play touch-based games on them, you know. It wouldn't exactly work with lag. 16:17:05 (weird typo that) 16:17:06 i wish iphone could record conversations 16:17:17 cheater: just get the nsa to wiretap you 16:17:27 it's actually a pretty big thing to me 16:17:29 cheater, can't you write an app to do it? 16:17:31 to record convos 16:17:33 no 16:17:38 or buy two iphones, and use voice notes on the other one to record the conveersation 16:17:38 ? 16:17:40 *conversation 16:17:45 the api does not allow direct access to the telephone layer 16:17:51 AnMaster: the telcos wouldn't let you access the telephone shit, dude 16:18:04 they make sure all that's proprietary 16:18:07 ehird: some/many telephones allow you to record voice convos tho 16:18:10 cheater, oh I thought you meant in the room. 16:18:15 as in, taking notes 16:18:17 or whatever 16:18:24 AnMaster: o_o 16:18:44 a lot of people think that 16:18:49 anyway it doesn't sound like it would be impossible with android 16:18:52 and i have no idea where they come up with that 16:18:59 android is gay though 16:19:01 no cool apps 16:19:03 no cool games 16:19:06 android isn't open either 16:19:14 cheater, is that your primary use for a phone? ;P 16:19:21 ehird, well maybe, I'm no expert 16:19:22 the iphone is a phone only in name ffs 16:19:30 Quite a lot of phones also beep when they're recording conversations; that's some rule or another too. 16:19:33 telephone is like 15% of its use 16:19:37 if i am going to buy an expensive telephone it might as well be something that makes my life more enjoyable 16:19:48 fizzie, you could make voice controlled games 16:19:50 fizzle: that rule is not required by law. 16:20:04 for multiple players 16:20:09 AnMaster: you can access the microphone.. but not when there's a conversation happening. 16:20:17 AnMaster: nintendo want to hire you 16:20:20 cheater, see " for multiple players" 16:20:24 ehird, hah :P 16:20:26 they're working on a new console, the Spiik 16:20:41 AnMaster, see $myBallsack 16:20:43 after their previous urination-based interface didn't sell 16:20:47 AnMaster: wat 16:20:47 cheater, of course I guess packet data would work 16:20:49 cheater, ? 16:20:52 erm 16:20:53 :P 16:20:53 cheater: wat 16:20:54 rather 16:21:03 oh i see you're in ##php 16:21:09 BANISH! BANISH! 16:21:16 i sometimes ask them funny questions like 16:21:16 * ehird WAK !! 16:21:17 * ehird WAK !! 16:21:18 * ehird WAK !! 16:21:23 'what is a design pattern' 16:21:24 I have no clue how accessible the telephone audio side is on Maemo, since this N900 is the first one that is actually a phone too. 16:21:25 is "$myBallsack" supposed to make sense 16:21:27 * ehird pitchfork →→→→ 16:21:28 and they get confused for 30 minutes 16:21:32 * ehird ←←← CHEATER 16:21:37 * ehird pitchCHEATERfork 16:21:42 you are dead now 16:21:53 that might be why i feel so shit today 16:21:58 that or going to sleep at 5 am 16:22:16 uh uh, undead 16:22:39 * ehird considers giving up his weirdness quest and just installing chrome 16:22:40 What I do know is that the Asterisk port in the Maemo repository isn't (yet, at least) tied to the telephony side of the phone. Audio might be already doable, though. 16:23:23 can't you get a GSM chipset? Supposedly Apple, Nokia and so on got that from somewhere 16:23:45 then use that to build your own. Hm probably need some certification to be allowed :( 16:23:58 AnMaster — solving problems the telcos say you can't with technological means since 2009 16:23:59 ... 16:24:00 2010 16:24:20 AnMaster: that was just an answer to you being a smartass :p 16:24:42 he's not being a smartass this is how AnMaster actually approaches problems like these 16:24:54 OpenMoko's pretty open -- I guess that's one of the reasons it doesn't do 3G, or something. 16:25:01 with "couldn't you do that by using the api or buying a chip" or whatever matter-of-factly 16:25:02 no i mean 'see x' earlier 16:25:09 but 16:25:11 Openmoko is dead, hooray 16:25:19 either way 16:25:26 i wish iphone could record conversations. 16:25:38 http://upload.wikimedia.org/wikipedia/commons/7/7a/1112FIC326x550.jpg 16:25:38 SO STYLISH 16:26:23 ehird, didn't chrome go out of fashion ages ago? 16:26:40 and black goes with everything of course 16:26:46 Interwebs say that N900 can record conversations; you just apt-get install pulseaudio-tools, then use parec to record the sink.hw0.monitor and source.hw0 streams to file. 16:26:55 Very user-friendly. 16:27:25 http://www.dukebox.com/photos/jukebox10r.jpg 16:27:30 archos jukebox^W^Wnokia n900 16:28:01 fizzie, quite. 16:28:03 Though someone else said that the desktop load-monitor widget (!) can also record calls. That's an... obvious place for the feature. 16:28:37 ehird, hm? 16:28:47 fizzie, :D 16:30:54 * ehird installs Java and Frink. 16:31:00 actually 16:31:04 * ehird installs virtualbox tools first 16:31:06 The load applet (according to package desc) takes screenshots and records screencasts, so it's not too rprising if they've added call-recording too. (It's a third-party app, not part of the phone software, of course.) 16:31:07 to avoid the mouse issue 16:32:04 this system is really snappy 16:32:38 ehird, mouse issue is your name for "mouse grabbed by guest"? 16:33:03 Mouse issue is my name for "middle clicks happen sporadically that I didn't make". 16:33:07 This happened in a Linux VM too. 16:33:16 Using Mouse Integration fixes it. 16:33:16 VirtualBox is teh dum. 16:33:27 ehird, I never had that issue. Is it OS X hosts only? 16:34:06 I don't know. It may be an issue with my trackball. 16:35:10 ehird, did it happen before you used it? 16:35:23 I don't know. I don't think so. Why are you asking me? It doesn't really matter. 16:35:26 I seem to remember mooz once hacked together a copy of win95 that was capable of booting to the GUI from a CD, completely without touching the hd. A ramdisk was involved; still, it was a a neat trick. 16:35:45 Windows 95. Bah! Real men use Windows NT 4.0. 16:35:59 It's like 95 but with worse configuration and slightly stabler and it doesn't support games. 16:36:07 ...Windows NT 4.0. Bah! Real men use Windows 95. 16:36:25 Real men do all kinds of craze stuff, based on what I hear on IRC. 16:36:31 Craze stuff. 16:36:35 Yes. 16:36:48 Crazeeeee stuff. 16:37:01 It seems that Windows either does not think I have a floppy drive, or does not support floppy drives. 16:37:32 Windows 95. Bah! Real men use Windows NT 4.0. <-- 3.1 16:37:44 3.1 is for homosexuals and pussies. 16:37:57 ehird, sorry I meant windows 3.1 for worksgroup 16:37:59 not NT 3.1 16:38:09 Homosexuals, pussies and clowns. 16:38:29 ehird, I doubt the first category wants anything to do with 3.1 for worksgroups 16:38:35 and I don't know about cats 16:38:43 clowns yeah 16:38:56 No, it's ACTUAL VAGINAS that use 3.1 for Workgroups. 16:38:59 I have this on good authority. 16:39:12 3.11 for Workgroups is I think more popular. Though I do seem to remember a WfW3.1 existing too. 16:39:29 fizzie, oh maybe it was 3.11 16:39:31 hm 16:39:42 Removing the titlebar gradiennt from Windows makes it look so... 95. 16:39:46 Maybe because that's what 95 did. 16:39:47 *gradient 16:39:51 fizzie, 3.[0-9] surely must have existed? 16:40:04 It's usually either win3.1 or wfw3.11 16:40:10 Word for (Windows 3.1) had a titlebar gradient 16:40:12 3.1 was the first 3 16:40:15 dithered in beautiful 4-bit colour 16:40:26 oh right, forgot microsoft was involved 16:40:28 ais523: Makes a man proud. *tear* 16:40:35 means versioning is insane 16:40:36 and 3.0 existed, the big improvement in 3.1 was support for the 386 16:40:41 But I have a feeling plain 3.1 also had a workgroupsy version. 16:41:11 ais523, 2^4 colours? Uh... 16 colours 16:41:12 ugh 16:41:36 Wasn't there some sort of 386y thing for 3.0 too? I've forgotten most of this stuff. 16:41:37 ehird: I'm still nostalgic for 4-bit colour 16:41:45 most of my sprite-making was done with it 16:41:47 ais523: do you still have the old dna maze? 16:41:52 I'd love to try it in this VM 16:41:54 ehird: I have every version 16:41:54 dithering never looks nice in my experience, better to either use more shades or avoid gradients 16:42:03 which one do you want? 16:42:15 1 for DOS tty, 2 for DOS tty, 3 for Windows, 4 for DOS graphics? 16:42:20 (or 5 for SDL?) 16:42:36 ais523: I like the change from 3 to 4 there 16:42:41 Well, SDL is boring, I have that on this machine 16:42:43 ehird: yes 16:42:55 DOS tty is likely to be completely irrelevant to the version of Windows I'm using 16:42:57 the changes I made for 4 were backported into 3.2 16:43:01 as is DOS graphics 16:43:04 which is the "current" version of 3 16:43:18 So I suppose 3 or 3.2 is the most reasonable one to try in this context 16:43:29 Are the levels the same? 16:43:31 yes 16:43:32 as the SDL one 16:43:39 the gameplay's been identical since version 2 16:43:41 did any of the old ones have 100? 16:43:49 no, they all use the same set of levels 16:43:56 whenever I write a new level it gets backported, pretty much 16:44:04 unless it uses a feature I just added and can't be bothered to backport 16:44:19 hmm... it'd be nice if there was a slow option in dna maze 16:44:24 for non-fingertappingy times 16:44:51 that would sort-of defeat the point, most levels would be trivial like that, but it would be nice to practice I suppose 16:46:12 can you open zipfiles on your stripped-down windows xp? 16:46:14 ais523, yeah I never got far in it. Slow for practise would be useful 16:46:58 ais523: I didn't strip that out because I like that feature 16:47:03 although I wish it worked for non-zips too 16:47:30 ehird, wouldn't be to hard to write support for tht 16:47:32 that* 16:47:47 Yes, it would; you'd have to completely mimic the UI and also write an evil black magic Explorer extension. 16:47:47 WP says win3.0 already supports 386s "better"; and there was a Windows/386 2.1 already before that. 3.0 also already had the "386 Enhanced mode". Consequently I'm not so sure that 386 support was the major difference between 3.0/3.1. 16:47:50 It opens them as folders. 16:48:08 fizzie: ah, may have misremembered 16:48:11 ehird, I know 16:48:50 ehird, I just have a vague memory of writing a trivial such in delphi when I was young and didn't know better. Wasn't too hard is my memory of it. And I weren't a good programmer back then. 16:49:12 *wasn't 16:49:13 Alright then. 16:49:17 Ooh, Delphi. :D 16:49:22 Corman Lisp is better, clearly. 16:49:44 Okay, Java time. Gulp. 16:49:48 ehird, well I don't know if it is able to compile a dll 16:49:52 ehird: http://filebin.ca/ebjwch/dnam3v2-readonly.zip 16:49:58 Corman Lisp is totally windowsy. 16:50:00 corman lisp that is 16:50:00 that's binary+data only 16:50:04 Full Win32 API access, too. 16:50:11 Proper Windows MDI IDE. 16:50:14 I can try to dig out the source if you like, but being Windows the source is partly in binary 16:50:20 ehird, the pointers were a pain in delphi though 16:50:43 ehird, and windows API has pointers to pointers and lots of structs. At least delphi had windows.h translated already iirc 16:50:48 ais523: you do realise you just made the first public release of DNA Maze? :D 16:50:51 to a delphi unit 16:51:00 ehird: heh, probably not 16:51:07 people would a) have to find it 16:51:11 and b) find a version of Windows it ran on 16:51:13 #esoteric is public enough 16:51:14 I think it runs on XP 16:51:16 ais523, sdl version? 16:51:20 compatibility is not an issue 16:51:21 also, that one probably counts as shareware 16:51:22 AnMaster: it's not the sdl version 16:51:30 ehird, I meant "can I get the" 16:51:31 it's 3.2, which is Windows + backports from 4 16:51:32 keep up 16:51:35 given that it only has 92 levels created, and the single-player mode is the only one that works 16:51:38 ais523: it's still a release :P 16:51:40 becuase I seem to have lost my copy 16:51:42 ais523, ^ 16:51:45 AnMaster: ah 16:51:45 seems* 16:51:50 ehird: heh, now I can charge people for the other 8 levels! 16:52:06 I can give you my patched copy, which lets you compile a debug version for uber-lazy checking out the later levels. :-) (Only if ais523 consents, though.) 16:52:16 I'm fine with that 16:52:27 AnMaster: zip okay with you? I'm too lazy to open a terminal 16:52:47 ehird, for? 16:52:49 also, I'm pretty sure there was a debug shortcut for checking out later levels already, although I think it might have been a compile-time option, and may have been in a different version 16:52:49 oh right 16:52:52 yes 16:53:04 the later levels will be pretty much impossible without practice on the earlier ones, though 16:53:10 ehird, thats okay with me 16:53:14 Also, it includes my build system which uses sdl-config like it should :P 16:53:30 ehird, what did ais523 use? configure + pkg-config? 16:53:36 direct Makefile 16:53:41 mine's a makefile too, but it calls sdl-config 16:53:44 instead of hardcoding -lSDL etc 16:53:50 but a direct makefile would *include* a call to sdl-config 16:53:52 oh 16:53:53 huh 16:53:56 ais523, why? :) 16:54:03 AnMaster: didn't realise it had its own config thing 16:54:06 Because he's a lazy bastard and didn't know about sdl-config :-P 16:54:08 the docs didn't mention it 16:54:08 right 16:54:16 sdl-config just calls pkg-config iirc 16:54:20 and how am I meant to find out, except by reading the documentation? 16:54:33 Uploading 16:54:44 ais523: can I post it publicly? 16:54:45 $ pkg-config --libs sdl 16:54:45 -lSDL -lpthread 16:54:45 $ pkg-config --libs sdl 16:54:45 -lSDL -lpthread 16:54:48 or /msg 16:54:49 err copy fail 16:54:57 $ pkg-config --cflags sdl 16:54:57 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL 16:55:02 so why the gnu source I wonder 16:55:07 ehird: yes so long as you don't advertise it and leave the copyright vague enough that nobody can download it legally 16:55:18 ais523: I won't make AnMaster break the law 16:55:25 also, that won't deterr anyone except you 16:55:31 ehird: well, I've given him permission myself 16:55:32 ehird, :D 16:55:36 *deter 16:55:38 Okay fine 16:55:41 and yes, I know 16:56:07 ehird, he wants to sue them later I guess ;P 16:56:10 AnMaster: http://filebin.ca/rqschw/dnamaze5_patched.zip. I grant you the right, by the powers invested in me by ais523, to let you download this. If you are not AnMaster, you do not have this permission, and ais523 will be very sad if you download it. VERY SAD. 16:56:17 Sorry if the zip includes OS X crap 16:56:21 like __MACOSX or .DS_Store 16:56:24 To compile: 16:56:27 $ make 16:56:36 ehird, is it a zip bomb? 16:56:37 if you want the nice debug version, which lets you access later levels without completing previous ones: 16:56:42 $ make DEBUG=1 16:56:48 AnMaster: open it in a separate directory just in case, I do anyway 16:56:51 (creates dnamaze5_debug, no conflict with the other one) 16:56:54 AnMaster: dunno 16:56:56 also, zips are /normally/ zipbombs, as opposed to tars 16:56:58 (and saves scores in ~/.dnamaze5_debug) 16:57:05 because otherwise it looks strange in Windows 16:57:06 * AnMaster installs unzip 16:57:15 Also, the mouse controls are iffy for the menus. Don't use them. 16:57:18 Also, the controls are the arrow keys. 16:57:25 ehird, also lots of __MACOSX stuff and such there yeah 16:57:36 ehird, what is "DNA Maze.app.skeleton" 16:57:42 The skeleton for the OS X .app. 16:57:45 aha 16:57:47 It won't be generated unless you're on Darwin. 16:57:53 (Sorry, non-OS X Darwin users! I hate you.) 16:58:07 nice build system output, kind of 16:58:19 That was totally my doing. :| :P 16:58:27 (It was, actually.) 16:58:34 ehird: do /I/ have permission to download that patched zip? 16:58:44 I think I have all the bits of it already, but it'll save me the trouble of applying them 16:58:55 ais523: You required me to seek permission from you before granting any rights or whatever relating to it. 16:59:03 ais523: So, give me the permission to grant you permission to download it. 16:59:03 ais523, ehird: I can't play it. There is no any key here! 16:59:11 ehird: permission granted 16:59:26 also clicking on main screen results in blank green screen 16:59:27 weird 16:59:37 AnMaster: that's what we warned you aobut 16:59:38 ais523: I give you the permission to download that zip, and use the subset of its contents that I authored or patched in any way whatsoever, including relicensing it. 16:59:39 *about 16:59:44 ehird: thanks 16:59:49 If possible, I relinquish all copyright to the subset of its contents that I authored. 16:59:51 ais523, hm? 16:59:54 where? 17:00:02 AnMaster: I told you not to use the mouse menu controls :) 17:00:05 ah 17:00:06 right 17:00:18 ais523: relink 3.2, please? 17:00:18 must have missed that line 17:00:24 ehird: how? 17:00:29 the filebin 17:00:33 oh 17:00:36 just gimme the link again, it's not in scrollback 17:00:38 plz :P 17:00:39 http://filebin.ca/ebjwch/dnam3v2-readonly.zip 17:00:50 I was about to say "I don't have a Windows linker handy" 17:01:03 and was wondering wtf was wrong with the link 17:01:13 lol 17:01:34 I still have the .obj and .res files, if you want to have a go at relinking it yourself, I suppose 17:01:35 why is the directory called readonly? 17:01:42 ehird: because it doesn't contain source 17:01:51 and therefore is no good for modifying the program 17:01:52 * ehird extracts to C:\dnam3v2, in flagrant violation of Windows naming conventions 17:02:26 Nice icon. 17:02:37 Yikes, fullscreen attacked. 17:02:38 it actually changes depending on scaling 17:02:44 ehird: ooh, forgot about that 17:02:44 Holy shit, a proper menu! 17:02:48 Awesome. 17:02:56 what's the native resolution 17:02:58 this scaling is fugly 17:03:01 1024x768 17:03:09 but that's what I'm on! 17:03:12 everything looks scaled 17:03:14 that version had rather too much hardcoded, it doesn't work at any other resolution 17:03:18 it actually changes depending on scaling <-- what bit does? 17:03:20 you might need to hide the start menu 17:03:22 AnMaster: the icon 17:03:37 ais523, you mean the 16x16 one looks nothing like the 32x32 one? 17:03:40 AnMaster: yes 17:03:40 dnam won't run anymore... /me kills some stuff 17:03:49 And now it runs. 17:03:59 ais523: I guess it just looks naturally scaled. 17:04:08 could be 17:04:10 oh, I think I know why 17:04:13 almost everything there is a bitmap 17:04:23 with 4-bit colour depth 17:04:25 the Help button does nothing, I feel helpless 17:04:31 so the aliasing's going to be bad 17:04:35 and most of the buttons do nothing 17:04:40 so it's just a pretty menu 17:04:45 try "new game" followed by "standard game" 17:04:54 you really went overboard with the keyboard shortcuts in the menus 17:04:59 it looks like a colour bonanza 17:04:59 in what way? 17:05:02 oh 17:05:17 "Colors 17:05:18 Less than High Colour 17:05:18 →High Colour or better" 17:05:22 how crap does it look like on the first setting?!?! 17:05:30 *look on 17:05:45 wow, an old-style file selection dialog 17:06:00 should I save it in C:\dnam3v2 or C:\home\dnam3v2, I wonder 17:06:14 heh, it has a Network... button 17:06:28 saving DNA Maze save games on a Windows network share, could my day get any better 17:06:29 it just uses the default Win3.1 file selection dialog 17:06:34 ais523 what does circle with two arrows on it mean? 17:06:41 AnMaster: reverse direction 17:06:42 AnMaster: reverses 17:06:46 yeah 17:06:52 ais523: Resolve my save game location dilemma! :P 17:07:00 if any of your segments go next to it orthogonally or diagonally, you reverse direction on the next step 17:07:02 ais523, when one touches it? 17:07:07 ehird: mine was always alex.dna in the same dir as the directory 17:07:11 AnMaster: yes 17:07:16 "same dir as the directory"? 17:07:16 ais523, crashed into the wall for me 17:07:18 strange 17:07:21 um, same dir as the executable 17:07:22 was in the second level 17:07:32 AnMaster: you can crash into it, it's a type of wall 17:07:39 it's going into stick-range that activates it 17:07:47 nearly every DNA Maze item is much the same 17:07:48 ais523, stick-range? 17:07:51 AnMaster: next to it 17:08:01 hm okay 17:08:02 e.g. A next to T causes them to stick to each other, game over 17:08:03 I guess that's reasonable; using \home for all stuff that's mine is unfeasible because of Windows' structure 17:08:15 ais523, the G in the ! in the second level 17:08:17 elliott.dna it is 17:08:23 how do they differ in behaviour from those A 17:08:28 or do they behave the same way? 17:08:33 AnMaster: A sticks to T, C sticks to G 17:08:38 otherwise the four letters have identical behaviour 17:08:42 wow, gameplay really is identical 17:08:47 ais523, sticks to? as in, stops turning? 17:08:49 apart from more flickering; dnam's fault or mine? 17:08:52 ehird: not quite, the control responsiveness is very slightly different 17:08:56 AnMaster: as in, kills you 17:09:04 getting stuck to the walls is one of the two death conditions 17:09:07 crashing into them is the other 17:09:11 2 player doesn't work :'( 17:09:16 but the Cs in your string are in the middle 17:09:18 ais523, so G can hit an A? and it won't act as a wall? 17:09:20 ehird: hasn't since DNA Maze 2 17:09:23 nor does points game. bah! 17:09:28 hm no 17:09:31 ais523: what did 2 improve on 1? 17:09:31 just tried that 17:09:36 AnMaster: all letters act as a wall 17:09:39 ehird: the save system 17:09:44 and the menu navigation 17:09:47 ais523, then how does sticking work 17:09:49 it was password-save before 17:09:51 why did 4 go back to dos? 17:09:56 AnMaster: when an A goes /next to/ a T, it sticks to it 17:09:56 ais523, "next to"? 17:09:58 aha 17:10:01 ehird: because windows development was so painful 17:10:14 "JAVA + YOU, 17:10:14 DOWNLOAD 17:10:14 TODAY!" 17:10:14 What the fuck are you on about, Oraclesun? 17:10:26 Java isn't a fucking end-user product! Stop pretending it is! 17:10:31 $ file dnam3v2.obj 17:10:32 dnam3v2.obj: 8086 relocatable (Microsoft) 17:10:47 impressive 17:11:02 $ file dnam3v2.res 17:11:03 dnam3v2.res: MSVC .res 17:11:05 even more impressive 17:11:30 wow, it's so like me to set compile flags for 8086 compatibility 17:12:12 ais523, heh 17:12:26 probably Windows 3.0 compatibility too 17:12:32 although I never actually tried to run it on Windows 3.1 17:12:36 what version of MSVC was used? 17:12:38 it wasn't 17:12:41 "By installing Java, you will be able to experience the power of Java, brought to you by Sun Microsystems, Inc." 17:12:43 it was Borland C++ version 4 17:12:48 ouch 17:12:49 which output in the same format 17:12:55 ehird, XD 17:13:03 AnMaster: Real quote! 17:13:09 ehird, wth 17:13:36 -!- ehird has set topic: By installing Brainfuck, you will be able to experience the power of Brainfuck, brought to you by http://tunes.org/~nef/logs/esoteric/?C=M;O=D Inc.. 17:14:52 God. The only end-user product in Java is the runtime environment. ... And that's only "end-user" in the slightest because Java programs don't come with it. 17:15:09 It's not even really end-user, it's a bloody virtual machine 17:15:18 The only end-user product, MAYBE, is Java Web Start. 17:15:22 And even that's invisible 99% of the time. 17:15:37 Yeah... 17:15:48 "Place Java icon in system tray" 17:15:48 NO! 17:15:50 Otherwise, it's "I don't fucking care, I want the program to work." 17:15:51 "Java Quick Starter" 17:15:52 FUCK A GOAT! 17:16:21 "The damned program could be written in C, Brainfuck, and COBOL, and I wouldn't care. Just run!" 17:17:27 ehird, what is java web start? 17:18:06 AnMaster: It lets files offer a small .jnlp file that automatically runs in Java Web Start with one click. Java gives a security warning unless the program is signed, then downloads and runs the Java program. 17:18:17 It also lets the user assign a shortcut (= stub .exe) to the program. 17:18:24 Updates for the program are automatically installed from the web as they come along. 17:18:30 pikhq, then sdl is end user on linux. Linux programs don't come with SDL bundled usually. Unlike windows programs that use sdl 17:18:37 ehird: I was about to explain, but you did it better 17:18:44 AnMaster: Except that the OS comes with SDL.\ 17:18:46 tl;dr You can click a link on a web page, confirm it, and a Java program is installed and pops up and automatically updates. 17:18:55 (exception: LFS) 17:18:58 pikhq, well, not installed by default on arch at least 17:19:00 It's alright but abused. 17:19:01 Windows used to come with Java 17:19:13 Not installed by default, but installed by the package manager. 17:19:14 Frink uses it, because it's updated basically every day and updating it by hand would be a drag. 17:19:21 Also, it makes installing Java programs actually bearable. 17:19:55 Startup item "jusched". Dude, fuck off Java. I can download updates myself without you running all the time. 17:20:20 ehird: that sort of thing is actually what I dislike most about Windows 17:20:25 Windows really needs a central package manager... 17:20:27 it's the attitude of companies who make Windows software 17:20:35 Windows even HAS A SCHEDULED TASK FEATURE. 17:20:37 Even if it is nothing more than an automatic updater. 17:20:47 They could just assign a task to run once a month with the same effect. 17:20:48 ehird, what do you expect, non-trivial windows software from Sun that actually doesn't install lots of unneeded stuff? 17:21:04 ais523: And Windows encourages it. 17:21:07 pikhq: updating could be added to add/remove type stuff really easily 17:21:16 ehird: Trivially. 17:21:18 when the program registers with add/remove, it specifies a URL 17:21:25 Windows polls this URL every now and then with the version number it specifies 17:21:44 Whenever Windows checks for its own updates, presumably. 17:21:45 if it redirects to an .exe or .msi, say, windows stores the location of that and notes it as needing updating 17:21:53 but how could it use up 100% of your CPU cycles when the program you installed wasn't running then, making the program you installed seem fast in comparison? 17:21:55 pikhq: programs could set their own intervals too 17:22:06 Mmm. Fair enough. 17:22:18 After polling all the URLs, it'd pop a tray icon notifying you of the updates. It would download them automatically if you told them to. Then you'd just select the ones you want, click go, and tada. 17:22:21 Not hard at all. 17:22:31 But. Gah. Windows doesn't have centralised facilities for... Most things. 17:22:48 ehird, this would feel so unwindowish 17:22:49 Oh, and if a URL stopped responding, it'd let the user know that Windows can't check for updates for this program automatically any more, and that they should check the manufacturer's site to upgrade the program so that it can check in future. 17:22:52 It's crazy even compared to the mild insanity that is "ever piece is replacable". 17:23:11 s/ever/every/ 17:23:15 ehird, also OS X doesn't even have add/remove. Granted, for most stuff it is all in one place 17:23:22 still there are things that are not so 17:23:29 OS X applications check for updates in the programs themselves 17:23:43 and there's an open source updater framework, Sparkle, that a lot of projects use 17:23:46 ehird, well yes. But that requires you to run them every now and then 17:23:47 so the end result is pretty consistent 17:23:51 ah that works 17:23:53 AnMaster: if you're not running it why does it need to be updated? 17:24:00 good point 17:24:16 OS X could probably do with it for the more complex programs... Though most of them have add/remove mean "cp/rm", so it's not needed for them. 17:24:56 I have AppTrap installed, it removes the caches/data files/configuration files of an .app when I trash it 17:25:01 (just prompts me when I move it to the trash) 17:25:09 So it's not quite that easy unless you have a program to do it for you, unfortunately 17:25:23 Also, making an .app without XCode is way harder than it should be 17:25:28 Eh. At least OS X devs don't have this silly attitude of "Everything the OS does, we can do better!" 17:25:38 Yeah. 17:26:07 To be fair to Windows, I am rather pleased with my Empty Recycle Bin script! :P 17:26:10 (why do Windows devs write their own widgets, with a custom appearance, anyways?) 17:26:34 Because it's easy, because Windows has never really had a consistent UI in third-party applications, and because Windows is the most popular desktop OS. 17:26:52 ehird, how does apptrap know which files come from which program? 17:27:05 AnMaster: Because the paths include the name of the app. 17:27:12 Or the identifier (reverse DNS). 17:27:13 ehird, ah, apps are that well behaved? 17:27:19 Almost all OS X apps are. 17:27:25 huh 17:27:31 If it's in an .app, it probably doesn't write ~/.foo or whatever. 17:27:51 Exceptions are things like Inkscape, but that's just a shell application that starts X11 if it isn't already started, and runs inkscape. 17:28:12 ehird, but isn't gtk ported to native these days? 17:28:36 These days, it uses Quartz. So it uses native drawing, and you can even set it to use some native widgets, but it fucks up badly. 17:28:48 GTK simply isn't flexible enough to be semi-native on OS X like Qt is. 17:29:11 The best GTK does is "use widgets that appear like OS X. If you squint." 17:29:18 No, it uses native OS X widgets 17:29:20 It just does all its own layout 17:29:25 And doesn't support most widgets for it 17:29:30 And draws its own toolbars 17:29:31 And etc 17:29:37 * ehird clickclick "Swing Interface with standard libraries" 17:29:40 Come to me, Frink! Come to me! 17:29:42 Dear. That's awful. 17:31:09 swing looks horrible 17:31:13 iirc 17:31:17 No. 17:31:21 the other one looks slightly better 17:31:23 Nowadays, Swing can and does use native widgets. 17:31:24 forgot the name of it 17:31:37 AWT used native widgets, but is limited and deprecated. 17:31:42 Swing these days is pretty darn good. 17:31:49 Especially on Windows. 17:31:50 ehird, swing apps look out of place on linux IME 17:31:53 even nowdays 17:31:57 On Linux it's the font rendering that does it. 17:31:58 AnMaster: I use swing GTK, it's mostly correct 17:32:04 Also, they have to use native look and feel 17:32:08 Some apps set it differently and whatnot 17:32:11 although it horribly screws up the antialiasing on tab labels 17:32:18 horrifically, it's like it's using pro-aliasing or something 17:32:22 Also, they have to use native look and feel Some apps set it differently and whatnot <-- a missing not in the first one? 17:32:39 No. 17:32:53 A-downloadin' we go, a-downloadin' we go 17:32:55 then that didn't make sense 17:33:00 A-download download download download downloadin' we go 17:33:03 AnMaster: Yes it did. 17:33:17 YAY FRINK 17:33:26 ehird, hm? 1) must be native 2) some apps set it non-native 17:33:31 right 17:34:49 I wish I could set Frink into single-line mode by default, but eh. 17:35:12 * ehird enables Java Quick Starter. Java startup is just too slow! 17:35:40 Okay, that didn't actually speed it up. 17:36:09 All that does is make the DLLs be resident... 17:36:10 ehird, if it did, it wouldn't be called quick starter, would it? 17:36:36 Much of Java's startup is actual execution time. 17:36:43 I wonder if you can tell Java Web Start not to show the downloading thingy when starting an app 17:36:51 pikhq, couldn't you pre-JIT it and then cache that 17:36:53 in theory I mean 17:37:02 -silent or -Xnosplash, it seems. 17:37:04 iirc .NET does something like that 17:37:07 AnMaster: Theoretically. 17:37:12 pre-JIT is such a ridiculous concept 17:37:16 don't you mean "compile"? 17:37:21 ais523, well I think it is called AOT 17:37:24 "ahead of time" 17:37:27 for mono at least 17:37:45 WTF, java puts its stuff in %WINDIR%\system32? 17:37:47 ais523: Because it might get re-compiled during execution? 17:37:49 not sure what windows .NET calls it. remember some service called ".NET Optimiser" 17:37:49 Jeez Java. 17:37:51 or such 17:37:56 and what pikhq said 17:38:19 it might compile an optimised version during runtime as well I guess 17:38:57 ehird: somehow I'm not surprised 17:40:18 Oh well, I'll deal with the noisy startup of Java Web Start to avoid updating Frink all the time 17:40:30 AnMaster: NGEN, native image generator? 17:40:42 Last few updates: 2009-12-16, 2010-01-04, 2010-01-05, 2010-01-06 17:40:52 I can't keep up with that sort of pace. 17:40:58 Asztal, sounds like it. But there was some service for it, doing it for system ones in the background 17:41:23 (Before that: 2009-10-02, 2009-10-04, 2009-10-15, 2009-10-16, 2009-11-16) 17:42:19 ehird, is there any sort of changelog available 17:42:29 I'm curious to how large the changes may be 17:42:33 as to* 17:42:33 http://futureboy.us/frinkdocs/whatsnew.html 17:44:14 ehird, " * Updated sanity checks for the year 2010. " 17:44:18 I wonder what that meant 17:44:31 Probably part of some test to check the maths stuff is working okay 17:44:37 that didn't handle 2010 or above 17:44:46 also is frink available on iphone? seems it is on android 17:44:49 Something like that, anyway. Ask him :P 17:44:54 AnMaster: No Java on iPhone, so no. 17:44:59 But you can use the web version. 17:45:11 With some iPhone-specific CSS the web version would be fine for quick calculations. 17:45:12 ehird, which isn't coded in java? 17:45:23 It's coded in Frink Server Pages. 17:45:27 i.e. HTML with embedded Frink. 17:45:28 hah 17:45:30 The Frink is executed server-side. 17:45:36 ehird, cgi? 17:45:48 ... No, that's not CGI. 17:45:52 http://futureboy.us/frinkdocs/fspdocs.html 17:45:57 pikhq, I didn't say that 17:45:57 That's a simple Apach module. 17:46:01 I meant how does frink run 17:46:02 Java Servlets 17:46:07 ah 17:46:14 Java servlets are rubbish, but eh 17:46:19 A CGI in Java would be dog slow 17:46:36 Eh, I've seen worse uses of it. 17:46:36 I wonder if there's a Java thingy that lets you hook into program exit, so that the VM keeps running, doing nothing, until you run the program again, at which point it runs main() again. 17:46:38 ehird, yes indeed, that was the conclusion I came to 17:46:54 As long as there aren't evil static globals it modifies or whatever, that should avoid JVM overhead. 17:46:59 Best for graphical programs, probably. 17:47:41 Seems like setting up Frink Server Pages isn't too difficult. 17:47:41 ehird, by the way, what would calling main() from an atexit() callback do in C... 17:47:41 dude that frink thing is cool 17:47:48 just wondering what sort of hell that would cause 17:47:50 cause* 17:48:00 Open its web.xml, change fsp-root, drop the .war in your Java Servlet directory, tada. 17:48:01 soupdragon: it is! 17:48:07 It can even do regexps, graphics, ... 17:48:17 AnMaster: TIAS 17:48:37 ehird, I'm not sure I dare. I think it is very very likely undefined behaviour 17:48:40 "The following complete FSP page demonstrates rendering a black circle. Perhaps you can come up with something more clever." 17:48:43 AnMaster: TIAS! 17:50:30 ehird, okay it seems calling exit() inside atexit() is forbidden at least 17:50:31 well 17:50:32 UD 17:50:39 See what gcc does with -O0 17:50:45 "POSIX.1-2001 says that the result of calling exit(3) more than once (i.e., calling exit(3) within a function registered using atexit(3)) is undefined." 17:50:50 ehird, I'm reading man page first 17:50:55 Boooooooooring 17:51:21 Cool, Frink has some algebraic solving stuff since 2009-10-04. 17:51:32 also longjmp in atexit seems forbidden 17:51:41 * ehird `use solvingTransformations.frink` 17:52:39 and the loooooooong wait begins as it seemingly downloads all the libraries 17:52:46 think it does that the first time you use a library 17:53:27 AnMaster: It's undefined behavior. 17:55:12 And it's only undefined if you longjmp to terminate the function in atexit. 17:55:35 longjmp'ing *to* the function is perfectly fine. 17:55:42 evil yet impossible exploit idea: 17:55:45 *evil yet 17:55:49 pikhq, ah right 17:56:06 kill -9 puts an instruction in the program's code that immediately exits (or is that just the OOM killer?) 17:56:15 So, modify the processor's microcode so that this instruction is actually a nop 17:56:20 Voila! Immortal program. 17:56:41 Admittedly, all other programs are immortal too, but... 17:57:05 ehird, does it actually do it that way? 17:57:10 kill -9 I mean 17:57:11 The OOM killer does. 17:57:14 Maybe kill -9 doesn't. 17:57:32 ehird, why would the OOM killer do that. Surely there are easier ways to do it 17:57:35 kill -9 doesn't. 17:57:39 I really doubt either one of the killers bother to modify code; care to look up some references? 17:57:51 The kernel just deletes the process. 17:58:04 fizzie: I think you quoted the code that did that. 17:58:14 I know it sets the process to have, like, infinite priority 17:58:23 And I seem to recall that's so it executes its suicide immediately 17:58:49 http://futureboy.us/fsp/solve.fsp ;; The space background, it is verily 90s. 17:58:50 The OOM killer just sends SIGKILL. 17:59:31 Hm. There was *something* curious there, related to the scheduling; I do remember peeking at the code. 17:59:31 Hmph. Am I hallucinating? Surely not. 18:01:47 ehird, it makes much more sense for the kernel to just free the memory pages and then delete the process structure 18:01:52 and such 18:01:53 Yes, it does. 18:01:57 But it didn't just do that. 18:02:25 ehird, and if it was for SMP, then modifying the code ahead of the current position is unreliable due to cache. 18:02:28 Stupid thing about Java: All objects are mutexes. 18:02:32 All objects *waste memory* on being mutexes. 18:02:47 it's basically an open source version of mathematica? 18:03:06 soupdragon: it's more of a calculator and a data cruncher than a symbolic environment 18:03:19 for example, I don't think Mathematica does its values-have-units-built-in thing 18:03:25 okay 18:03:30 and it doesn't really have _that_ strong algebraic/etc capabilities 18:03:42 also, mathematica doesn't really do web scraping/regexps/etc 18:03:49 also, um, frink's not open source 18:03:51 (but it is free) 18:03:54 oh 18:04:01 It *does* send sigkill, though it does that too a bit specially; normally you can't send a sigkill to a process with CAP_SYS_RAW_IO (for safety); the OOM killer goes around those restrictions. After making sure that signal is pending, it also does that priority trick. Though it probably won't actually *execute* the task, more like it's just done so that it is scheduled early enough. 18:04:08 * We give our sacrificial lamb high priority and access to 18:04:09 * all the memory it needs. That way it should be able to 18:04:09 * exit() and clear out its resources quickly... 18:04:09 */ 18:04:09 p->rt.time_slice = HZ; 18:04:09 set_tsk_thread_flag(p, TIF_MEMDIE); 18:04:17 see, "exit() and clear out ..." 18:04:24 so it could potentially exit I guess? 18:04:42 It does force_sig(SIGKILL, p); -- I don't think it's possible the process can do anything after that point. 18:04:56 But I'm not completely sure, and finding that out from the sources is too much work. 18:04:58 then what is "exit() and clear out its resources" referring to 18:05:37 It might be referring to the clearing-out of resources that the kernel does, just in a bit misleading manner. 18:05:49 Go and find out if interested enough; have to be away now for a while. 18:06:49 That's exit() in the kernel. 18:06:59 ah 18:07:06 Which only gets done when the process is scheduled to run. 18:08:25 soupdragon: frink is actually symbolic at its core though 18:08:36 -!- MizardX has quit ("zzz"). 18:08:50 and you can add symbolic transformations / go into symbolic mode (basically doesn't warn about undefined variables and doesn't barf because of them when sometimes it would) 18:21:26 What's this? Java leaks memory? No! 18:21:43 factor[big] in Frink then everything after is sloow and the UI just sort of gives up. 18:21:45 God damn you, Sun. 18:31:40 What, you expect Sun to write memory-efficient code? 18:32:18 It's annoying because the JVM is one of the most advanced virtual machines in existence: JIT, advanced generational garbage collector, ... 18:32:28 But fuck, it sucks in practice; especially for GUI applications. 18:33:21 In Java, all objects are mutexes and condition variables. :-) 18:33:29 Condition variables? 18:33:29 Part of that's the implementation, part of that's just, well... Java being Java. 18:33:47 ehird: wait(), notify() and notifyAll(). 18:33:56 Java is an excellent virtual machine with a crappy GUI toolkit and a decidedly mediocre language. 18:34:11 Yeah, that sums it up. 18:34:27 * ehird installs Corman Lisp 18:34:30 It's got what plants crave! 18:34:36 (At this point, Ilari goes on about plant nutrition.) 18:34:47 It is your destiny. 18:37:17 Okay... Plants don't need that much, pretty much only some pretty simple ions (mainly N, P and K plus small amounts of lots of other elemential ions), plus water and light. :-> 18:37:37 http://www.muppetlabs.com/~breadbox/software/tiny/bf.asm.txt This... Is impressive. 18:37:38 And the karmic universal balance is aligned once more! 18:37:56 pikhq why?? 18:38:05 soupdragon: 166 bytes. 18:38:07 pikhq it looks very very well written 18:38:40 Same guy who wrote the shortest Linux ELF file. 18:38:50 Yeah. 18:39:11 His assembly stuff is rather impressive. And a fun read. 18:39:30 Linux 2.6 ELF checking is more strict than Linux 2.4 ELF checking (which AFAIK increases the minimum size). 18:40:56 "The program uses the technique of loading to absolute address zero, which permits a number of tricks that further reduce code size. I have not used this technique myself, because sadly some versions of Linux do not permit executables to load to address zero." 18:41:14 The program he's talking about there is the only one I've not been able to run on 2.6. 18:41:22 (58 byte "Hello, world!") 18:41:46 Linux still contains a.out support. And a.out binaries can have load base of either 0 or 4096. 18:42:17 But, he's writing ELF files. 18:43:16 But fuck, it sucks in practice; especially for GUI applications. <-- go improve it. It's open source. 18:43:30 Yeah, like Oracle are gonna accept patches. 18:43:45 I feel absolutely no obligation to contribute to a corporate product that is the source of much profit. 18:43:48 (Yes, I know you were probably joking.) 18:44:01 ehird, I was about to whoosh you there 18:45:54 And Java lacks method pointers (reflection is bit too verbose to be a replacement). 18:51:15 Ilari: not any more 18:51:21 ... asmutils has a 532 byte httpd. That's impressive. 18:51:22 the next version has method pointers, apparently 18:51:22 Ilari: new Function3() {{ public string call(int x, string y) { return obj.someMethod(x, y); } }} 18:51:22 where public class Function3 { public R call(T x, S y); } 18:51:22 also, obj has to be declared final. What's that? You wanted something not verbose? Oh. 18:51:36 and you could use m4 for older versions to emulate it I guess XD 18:52:28 But seriously, you could just do `MethodPtr3 = MethodPtr.for(obj, "ultraPoop");` or whatever. Shouldn't be too hard to make. 18:52:39 Although there'd always be an upper bound on the argument count. 18:52:46 Had to recently write Java code that used Thread.stop() (its deprecated, look up why). 18:52:48 syntax for a method pointer is to change the . to # 18:52:55 that's pretty nonverbose 18:53:00 e.g. Thread#stop 18:54:01 At least Java is mediocre rather than actively terrible. 18:55:18 Good side is that with Java, one can't do anything too crazy. 18:55:33 You can with reflection. 18:55:46 I don't buy into that, anyway; crazy stuff isn't the only type of bad code. 18:56:05 The good side is that with Java, you don't have to deal with pointers or memory allocation. 18:56:16 Those are easy to mess up badly, rather than deliberate tricks. 18:57:18 The good side with Java is that it is merely a bit too complex and a bit too verbose. Rather than actively being painful to use. 18:58:45 So far, ...nothing at all has broken in my minimalist Windows XP. 18:58:49 Well, except by writing bytecode and then loading it, but not many coders have any idea about how to do that. 18:58:52 Windows really does have an awful lot of useless crap in it. 18:59:02 Ilari: If you do that you can modify finals. 18:59:08 Even though the compiler unsafely optimises away access to them. 18:59:14 Violate generic safety... 18:59:15 ehird: Absolutely nothing? 18:59:17 Huh. 18:59:24 Steal your mother's life savings... 18:59:27 Kill your mother... 18:59:36 Kill the entire population of Mars... 18:59:39 So, Windows XP is actually a 100-some-meg OS with a lot of needless bloat. 18:59:42 " " " " " Earth... 18:59:50 pikhq: 1 gig OS, actually. But a 100 meg install CD. 18:59:54 Wait. 18:59:56 Oh, okay. 19:00:00 That 1 gig figure included my 700 meg pagefile. 19:00:01 XD 19:00:07 Ah. 19:00:21 talk about bloat 19:00:23 300 megs is actually reasonable for a fairly barebones OS. 19:00:23 \WINDOWS is 359 megs 19:00:25 Such as Windows. 19:00:28 (363 megs on disk) 19:00:31 ais523: pagefile = swapfile :P 19:00:36 I know 19:00:46 ais523: So, I didn't strip it down to the hueg 1 gig. 19:00:54 I stripped Windows down to ~360 megs. 19:01:05 Plus the default \Program Files and user account stuff, but that's barely anything. 19:01:12 Which is about what a similarly able Linux distro would be at... 19:01:23 Ubuntu is 2 gigs :P 19:01:31 I said similarly able. 19:01:38 Ubuntu is bloat-tastic. ;) 19:02:38 That implies that Ubuntu is ~5.7x more able than my minimalist Windows XP :P 19:03:01 I should get an antivirus on this thing. 19:03:50 ehird: MSAV? 19:03:59 really, it should be a really really old DOS antivirus 19:04:08 that prevents .exe files being modified by storing checksums 19:04:11 I don't think that would protect against Windows viruses. 19:04:15 and checking against the sum whenever you try to run one 19:04:34 that's almost perfect at antivirusing; issue is, it doesn't protect against other forms of malware, like worms 19:04:54 I remember when viruses were actually viruses... 19:05:13 anyone know how easy it is to rename a user account directory in windows? 19:05:16 sick of being Owner 19:05:32 create a new account, copy the files should almost certainly be safe 19:05:34 Yay Corman Lisp! 19:05:36 Hmm... After I reboot this computer (someday) I'll probably try to get Protocol 41 working... :-) 19:06:41 "reboot this computer (someday)" 19:06:49 Your system must be pretty stable. 19:07:45 BTW: It lacks UPS. :-/ 19:08:12 Do you do your work on a ramdisk because your computer never crrashes? :-) 19:08:15 *crashes 19:08:57 No (except for having lots of stuff open, with few text files storing what's open). 19:09:17 And no memory for RAM disk. 19:09:29 Just make ramvi 19:09:33 It's a vi clone without saving! 19:11:50 * ehird installs WinHugs for the nostalgia 19:12:34 not that I've ever used it, but... 19:14:13 -!- oerjan has joined. 19:14:44 oerjan! And I was just installing WinHugs. 19:14:55 O_o 19:14:58 You know, because you use Windows. And Hugs. And are consequently scientifically classed as a dinosaur. 19:15:04 Therefore this is relevant to you. 19:15:29 * oerjan tears ehird into pieces with his giant jaws 19:15:39 *yummy* 19:15:39 No, you are a wimpy dinosaur with no powers. 19:15:40 NO 19:15:41 POWERS 19:15:44 ... 19:15:45 WAAAAHH 19:15:47 WHATSOEVER 19:15:52 oerjan: but we love you :< 19:16:05 next you'll tell me i'm purple 19:16:32 oerjan: I was going to wait until you were older to tell you that. 19:16:37 (not that i've ever actually _watched_ barney, mind you, i've just heard rumors) 19:16:52 Sorry for videoing you for all those years WITHOUT YOU KNOWING 19:17:03 But you'll never get the money 19:17:06 Never! NEVER! 19:17:07 <_< >_> 19:17:57 we'll see how fun it will be to video a broke dinosaur 19:18:52 I stopped taping you when you turned into a sour bastard that nobody likes. 19:18:56 Oops, did I say that out aloud? 19:19:19 "Heap size: 7 Mb" 19:19:22 THAT SEEMS REASONABLE WINHUGS 19:19:32 7 megs, almost enough for a haskell hello world 19:23:02 Official short name for Protocol 41: IPv6. And it appears in IPv6 address space as 2002/16. 19:25:50 Next 32 bits of address determine the IPv4 the address to send the packets to. 19:28:31 And those addresses are /48's, 65536 networks of up to 16Ei hosts. :-) 19:30:19 Really cool thing about Frink graphics: Resizing the graphics window rerenders the whole thing. So text gets re-rendered, etc. 19:30:24 So there's no "scaling". 19:36:17 ehird: What's the memory usage on that minimal XP install look like? 19:36:31 With or without programs running? 19:36:39 Presumably without. 19:36:40 Eh... Sure. 19:38:02 physical memory in "K" 19:38:11 well 19:38:19 i'll chop off the last three digits 19:38:22 to get approx. megs 19:38:24 total 523 19:38:26 avail 404 19:38:27 cache 338 19:38:33 Not bad. 19:38:42 So 119 megs used 19:38:49 what is commit charge, I wonder? 19:39:12 Also, 3 megs of that is the virtualbox service, so that obviously doesn't count :-P 19:40:13 Anyway, it runs IE, VirtualBox additions, Opera, Java, Frink, Corman Lisp and WinHugs (and thus Hugs) so far. 19:41:44 ClearType works if you're into that. 19:42:13 (It detects whether or not you are into that and does not work if you are not.) 19:42:15 (True fact.) 19:43:47 those pesky true facts, always being uppity against the false ones 19:44:03 It's ders criminasion. 19:44:40 * ehird wonders what's the easiest way to get Servlets serving locally on Windows to play with Frink Server Pages. 19:44:54 Tomcat? Isn't that meant to be ridiculously complicated? GlassFish? 19:45:46 Tomcat is Apache in Java. 19:45:51 (ugh) 19:45:56 No, not really. 19:46:03 It's an HTTP server + Servlet container + JSP thingy. 19:46:17 It just happens to be an Apache project, and thus inherit the crazy. 19:46:23 Ah. 19:46:31 Incidentally, if anyone wants a Compose key under Windows: http://modeemi.fi/~tuomov/b/2009/updates/ 19:47:24 It actually converts the X11 Compose key file format to an AutoHotkey_L script. 19:47:45 Ilari: Err. 2002::/16 is the prefix for 6to4 addresses, true; but "protocol 41" -- directly putting IPv6 packets inside IPv4 packets with protocol number set to 41 -- is used also by all the other tunnel brokers, too, with addresses allocated in other routable blocks. 19:49:22 http://tjws.sourceforge.net/ 19:49:22 "European quality software made in USA" 19:49:22 wat 19:49:31 Germans: famous for good cars and software! 19:49:51 Oh, jetty. Jetty rings a bell. 19:53:31 So, Jetty or TJWS it is. 19:55:03 ehird: JBoss. Not just the crazy of Tomcat; it is also Enterprise. 19:55:13 I CAN HARDLY WAIT 19:55:51 A Haskell implementation in Java would be a fun engineering problem. Yes, I know of the outdated GHC backend, but that's so boring. 19:56:21 I use java to implement a lazy language 19:56:30 I tried to prove a point about TCO with it, but tehy did not listen 19:56:41 Trampolines yo 19:56:54 yes exactly 19:57:13 Makes a Haskell, Java, Haskell callstack difficult though. 19:57:26 Well. 19:57:27 hmm 19:57:28 Not really, actually. 19:57:38 I didn't consider that, but it's certainly a tricky problem 19:57:43 not really 19:57:54 Java code, when it wants to use e.g. a Haskell callback, uses the trampoline mechanism itself 19:58:07 by starting a new trampoline 19:58:09 So you get: 19:58:17 Trampoline, Haskell, Java, Trampoline, Haskell 19:58:25 Yes, if you nest this enough the stack will blow 19:58:33 but it'd be very difficult to write code gnarly enough to make THAT happen 19:58:35 I think you can mabye use a simple tramp 19:58:38 single* 19:58:48 soupdragon: yes, but then you have to split the java method in two 19:58:51 as opposed to just doing 19:58:56 hmm 19:58:58 callHaskell(someHaskellFunc, someJavaArgs) 19:59:07 since the stack overflow problem is very minor, I'd go for convenience 19:59:30 soupdragon: especially as you can wrap callHaskell() in a java class or whatever, so java APIs that aren't yours can call into haskell code 19:59:32 (without knowing) 19:59:55 one major issue is designing the embedding of java into haskell though, I tried that once for a laugh and it was quite a pain 20:00:07 (assuming you want static safety and don't want to add actual OOP features to haskell) 20:00:12 involves a _lot_ of typeclasses 20:09:35 -!- somebody_ has joined. 20:09:45 -!- somebody_ has quit (Remote closed the connection). 20:10:00 -!- soupdragon has quit (Nick collision from services.). 20:10:17 -!- soupdragon has joined. 20:11:20 Heh, apparently TJWS is based on thttpd. 20:11:43 No ,wait. 20:11:45 *No, wait. 20:11:50 Probably Acme.Serve. 20:11:58 (the other acme.com webserver; this one's Java) 20:20:32 -!- Azstal has joined. 20:21:28 For those who haven't seen it yet: http://dd-sh.intercal.org.uk/web-server/ 20:27:34 ouch, a .bat cgi 20:27:39 ais523: sounds like the kind of thing you'd do 20:28:04 ehird: well, it is by the maintainer of CLC-INTERCAL 20:28:11 no 20:28:14 I saw a .bat cgi elsewhere 20:28:18 oh 20:28:31 no, I'm not quite that crazy, .bat is rubbish at parsing 20:29:01 admittedly it was just a demonstration, and windows doesn't really have any alternatives 20:29:07 all it did was dir /b 20:29:12 plus surrounding html/headers 20:32:13 -!- Asztal has quit (Read error: 110 (Connection timed out)). 20:33:38 14:33 [localhost] -!- #haskell-blah: No such channel 20:33:52 Why the hell is irssi trying to send messages to localhost for that channel? 20:33:55 pikhq, localhost? using a bouncer? 20:34:18 AnMaster: No, I just have bitlbee on localhost. 20:34:31 Fascism: Awesome, or AWESOME? 20:34:42 Answer: AWESOME!!!!!! 20:34:54 horrible 20:35:02 YOU ARE A GOOD PERSON 20:35:05 Now you will die. 20:35:12 hah 20:38:04 Now we will sing the fascism song! 20:38:07 Ding, dong, AnMaster's dead 20:38:12 We stabbed the bastard in the head 20:38:17 Ding, dong, freedom is dead 20:38:25 We raped that bastard till it... was... um... dead? 20:38:27 alas no, I fooled you there 20:38:31 FASCISM 20:38:31 Good for everything except rhyming 20:38:46 my dopplerganger(!) 20:38:54 schism 20:38:55 fascism, rhymes with ass-ism 20:38:57 That isn't a word. 20:39:03 * AnMaster leaves in a hurry 20:39:05 Also, you can say "penis". 20:39:07 prison 20:39:12 You don't have to say "dopplerganger". 20:39:52 a dopplerganger would be someone moving away at nearly the speed of light, right 20:40:35 hmm, seems localhost is online at, 20:40:36 *atm 20:40:41 wat 20:40:49 ehird: I just did a /whois 20:40:55 deliberate misinterpretation ftw! 20:41:02 aisMaster 20:45:55 aisMaster is the bastard child of AnMaster and ais523 20:46:07 congratulations, you got the joke 20:46:14 augur: wouldn't happen, we're both the same gender 20:46:21 ais523: ass babies 20:46:24 ais523: this is set in the future 20:46:28 hmm, what's something that's the opposite of a whoosh but still a similar level of stupidity? 20:46:29 indeed 20:46:29 where anything is possible 20:46:44 ais523: "Thanks, Captain Obvious!" 20:46:50 ah, maybe 20:46:56 well, whatever it is, I apply it to Augur 20:47:00 *augur 20:47:04 or should I say 20:47:09 Ais523: *augur 20:47:20 ehird 20:47:21 ehird 20:47:21 ehird 20:47:23 :| 20:47:26 amazingly, that was a typo somehow 20:47:32 /kline augur 20:47:36 Captain Obvious, he tells obvious things 20:47:39 watsa kline 20:48:09 /kline bottle 20:48:29 8D 20:48:36 kaluza-/kline theory 20:48:55 eine /kline nachtmusik 20:53:28 /KLINE SOUDNS SORT OF LIKE SOME WORDS GUYS 20:53:30 *SOUNDS 20:53:34 with a silent / 20:57:12 what do you mean silent? it is clearly a click sound borrowed from !Xóõ 20:57:59 -!- Slereah has joined. 21:00:56 the LWJS author can't spell properly but jetty is huge if you go for 6 and sparse if you go for 7 21:00:56 hmmm 21:01:29 lwjs works as a windows service though if you set it up yourself, so does jetty 6 but it's just way too big 21:01:32 jetty 7 doesn't though 21:06:21 *tjws 21:07:53 oerjan 21:07:55 i just realized 21:08:03 "I'm gay" 21:08:09 3 simple words, I am gay 21:08:09 that every /kline we did 21:08:18 was the exact same german word 21:08:32 well maybe not for ein kleine nachtmusik actually 21:08:33 but 21:08:33 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 21:08:35 even klein bottle...? 21:08:49 klein bottles are named after a dude 21:08:52 same last name 21:11:52 how gross 21:11:56 21:12:43 * augur puts my klein bottle in oerjans klein bottle 21:13:34 * pikhq wonders how one puts anything into a klein bottle 21:13:49 through the open end, duh 21:14:02 That's not inside. 21:14:07 :X 21:14:11 It's a zero-volume manifold! 21:14:17 :X 21:14:42 http://www.kleinbottle.com/ 21:14:43 :D 21:14:53 Slereah has one of those. 21:15:16 i bet he does 21:15:33 he also has one of these: http://encyclopediadramatica.com/Image:Thor2.jpg 21:15:34 That was _not_ a euphemism. 21:16:02 i know it wasnt 21:18:28 http://www.kleinbottle.com/klein_bottle_hats.htm 21:18:35 WEAR A KLEIN BOTTLE HAT 21:18:38 LOOK LIKE A DORK 21:18:38 8D 21:19:53 aliens 21:20:12 http://www.kleinbottle.com/images/RedYellowWhiteHatScarf_Zoe_.jpg go back to the future you fucking alien 21:20:22 augur: that better be flexible or there will be injuries 21:20:44 soupdragon: thats not an alien, thats a girl 21:20:52 (oh wow ambiguous remark) 21:21:06 SimonRC: theyre really flexible 21:21:31 I don't know what you mean 21:21:43 http://www.kleinbottle.com/images/giantKleinbotandCliff2.jpg 21:22:05 go back to the fourth dimension!! 21:22:10 and take your contraption with you 21:22:32 i bet ehird could fit into that klein bottle 21:22:43 do people know that it's a pun in German BTW? 21:22:53 augur: probably not. 21:22:53 what? 21:23:03 ehird: oh cmon, yo're tiny! 21:23:04 unless that guy is really freakishly tall 21:23:13 say 7ft 21:23:19 hmm even 8 21:23:30 I forget the who thing, but Flache = surface (i.e. manifold), Flasche = bottle 21:23:45 hah! 21:23:50 IIRC 21:24:21 http://www.kleinbottle.com/calibrated_klein_bottles.htm 21:24:22 hahaha 21:24:45 Kleinsche Fläche 21:24:51 says wikipedoa 21:24:56 *wikipedia 21:25:03 Wiki-Pedo! Aah! 21:25:08 the keys are right next to each other! 21:25:19 The kids are right next to each other! 21:25:31 lol @ callibrations 21:34:34 hmm 21:34:42 how do you stop a windows server that's hogging a port if it isn't installed? 21:34:52 huh? 21:34:56 apart from killing svchost processes at random until you find it 21:34:58 how would it be doing that? 21:35:11 are you using Process Explorer? 21:35:15 uh, i started a service listening on port foo and now i want to stop it. 21:35:18 no, I guess I should download it 21:35:51 I can't remember, but PE might have a thingy somewhere that lets you find which process is hogging a port... 21:35:54 waitamo... 21:36:07 there is a command I overheard recently that might help 21:36:44 * SimonRC makes a knowlege roll 21:37:13 process explorer — most stats i've ever seen on one screen in my life 21:37:42 i'm surprised this still runs what with all the stuff i stripped out :) 21:37:48 heh 21:37:49 I remember a netstat.exe from Windows, but I have no clue whether it can tell processes at all. 21:38:03 maybe just maybe "netstat" could help 21:38:12 " 21:38:12 -o : Displays active TCP connections and includes the process ID (PID) for each connection. You can find the application based on the PID on the Processes tab in Windows Task Manager. This parameter can be combined with -a, -n, and -p." 21:38:18 Okay... apparently this server *isn't* running. Like, at all. 21:38:20 Claims http://technet.microsoft.com/en-us/library/bb490947.aspx 21:38:46 * SimonRC loves his +3 "random shit I read somewhere" modifier 21:38:53 (And you probably need -a too to get listening ports.) 21:39:08 grr no grep on windows 21:39:12 i should install powershell 21:39:16 i hear it's all hip and whatnot 21:39:23 psh 21:39:24 hip to be square 21:39:29 hip replacement 21:39:41 There's "find", though. 21:39:51 It's pretty much grep. 21:39:54 hmm 21:39:57 Without regular expressions. 21:40:00 as far as i can tell it's not running :) 21:40:49 foo | find "X" only seems to display the last instance of X 21:42:21 LISTENING is what i'm looking for right, not TIME_WAIT 21:43:14 Strange, it should display all lines. But, well, who can say; I've never felt Windows was too pipeline-friendly. 21:43:47 * ehird closes Opera to make this easier 21:44:15 Uh, some are listening on *:*. 21:44:23 Oh, but they're all UDP. 21:44:32 The rest are epmap, microsoft-ds, netbios-ssn, and two Opera things. 21:44:34 Conclusion. 21:44:42 I have an HTTP server that doesn't exist, and is accessing files that don't exist. 21:44:50 I will now go insane. 21:44:54 Maybe YOU don't exist! 21:45:02 That is a rather reasonable explanation. 21:45:13 Well, it's gone now. 21:45:17 I sure hope it wasn't just Opera caching it. 21:45:27 But I pressed shift+refresh and control+refresh, so. 21:52:22 Ugh, this is annoying. 21:53:48 -!- MigoMipo has joined. 21:54:35 Eh, I give up on TJWS. 21:55:02 Oh man Australia's TZs are fucked up. They have +8, +8:45, +9:30, +10, plus some others on islands 21:55:11 Anyone know any non-shitty HTTP servers/Java servlet containers that can be used as a Windows service? Ha, no, only kidding, no such thing. Man, I kinda wish Frink Server Pages *were* CGIs at this point... 21:55:41 Oh wow, they have an island in +10:30 which, get this, observer 2 hours of DST! 21:55:46 :-D 21:56:02 no 21:56:04 WTF 21:56:10 that must be a type 21:56:21 it observes minus 10 hours of DST 21:56:28 does two hours of DST even make sense? 21:56:32 it gets DST *backwards* 21:56:35 ehird: yesh 21:56:44 is that two physical hours of DST happening 21:56:44 *typo 21:56:47 or two clock hours 21:56:52 ehird: huh, what? 21:57:00 if two clock hours, the clock would go forward on the first hour, another hour would pass, and it'd go back 21:57:03 I mean it changes the offset fomr UTC by 2 hours 21:57:05 so it'd only be one real hour of DST 21:57:08 SimonRC: oh 21:57:17 I thought it meant, it has DST for two hours of the year :-) 21:58:56 ah, I got it wrong 21:59:35 WP means it shifts by only 0:30 for DST, rather shifting *to* 0:30 22:00:05 lol, that would be funny 22:00:27 "Time to set the clocks forward." "Aww man, and I thought I was done with menial labour for the day." 22:01:21 Antarctica is a bit random. They have -4, -3, and +12 22:01:47 * oerjan imagines a floating island that physically moves between australia and europe every six months 22:02:46 i vaguely recall antarctic bases go by the zones of their supply stations 22:03:14 well, at least one base 22:03:26 * ehird installs EmacsW32 22:03:27 Eh, I give up on TJWS. <-- TJWS? 22:03:29 Well, it's not like they can base it off of the sun. 22:03:34 Tiny Java Web Server. 22:03:37 ah 22:03:38 I'm using Winstone instead, now. 22:03:44 For Frink Server Pages! 22:04:21 It would be so much easier if everyone just used UTC 22:04:38 Not really 22:04:52 We can say "I was up until 5am" and this reflects the same conscious experience to all of humanity 22:04:54 that would mess up local time 22:05:01 yeah what ehird said 22:05:16 which is more important than being easy for machines and bureaucrats :-) 22:05:19 hmm, maybe 22:05:26 really it should be based on the sun 22:05:33 I *was* thinking that if they can get used to summer in January and Winder in July, they can get used to sun at 12:00 and night at 00:00 22:05:43 -!- Asztal has joined. 22:05:44 so that when the sun was in it's highest point locally, then it was 12:00 22:05:57 AnMaster: but that's probably variable 22:05:59 of course this would mean that near the poles they would just have one date half of the year 22:06:14 though that China manages ok with one huge timezone 22:06:16 (since sun doesn't rise at all) 22:06:40 SimonRC, yeah it will vary a bit there, but not as it varies between Australia and Europe say 22:06:52 SimonRC: nah, it's so awful all the western provinces want to secede 22:07:42 ugh, EmacsW32 is downloading inexplicably slowly. 22:10:29 AnMaster: c-intercal W: Dependency included and not needed ('gcc') 22:10:42 C-INTERCAL depends on a cc. 22:10:53 Debian mark it as gcc | c-compiler, I think 22:11:18 Deewiant, runtime dep 22:11:30 Deewiant, namcap sometimes give false positives on that 22:11:39 it is indeed a runtime deop 22:11:41 *dep 22:11:42 -!- oklofok has joined. 22:11:48 HI 22:11:51 well, it's a compile-time dep too, given that it's written in C 22:11:54 Deewiant, after all it looks at ldd iirc 22:11:54 hi oklofok 22:11:57 Alright 22:12:05 i decided to come and see the chaos. 22:12:13 ais523, yes but that would be a builddep 22:12:39 it's a builddep /and/ a runtime dep 22:12:42 no chaos here! 22:13:31 -!- Aszstal has joined. 22:14:21 hurry up emacsw32 download god damn 22:14:25 -!- MigoMipo has quit (Remote closed the connection). 22:15:02 AnMaster: I suppose it's only an optional runtime dep, since you can compile to C without it, or? 22:16:31 Deewiant, hm good point 22:16:39 That's ridiculous. 22:16:41 Deewiant, won't fix it this evening, probably tomorrow 22:16:47 By that standard near everything is an optional dependency. 22:17:05 Not really, most things won't start up if you don't have the appropriate libs. 22:17:06 If its absence makes "prog file", the standard usage, fail with a scary error message, it's required. 22:20:39 -!- Azsztal has joined. 22:20:49 -!- Azstal has quit (Connection timed out). 22:21:39 I have to agree with ehird here 22:21:48 but what Deewiant said is in the spirit of arch linux 22:27:25 Internet time! It's now @977! 22:27:51 yep, sounds about right 22:28:00 is it wrong that I can convert in and out of decimal time in my head? 22:28:07 I used to use it on my desktop, when I had one 22:28:22 -!- Asztal has quit (Read error: 110 (Connection timed out)). 22:31:44 I also like the hilarious unit, ".beat". 22:32:39 -!- Aszstal has quit (Read error: 110 (Connection timed out)). 22:33:10 fizzie, ,beat? 22:33:56 The period of time from @n to @n+1 has a length of one .beat. 22:34:19 -!- soupdragon has quit ("Leaving"). 22:34:32 AnMaster: by the same token 22:34:37 cc should not depend on as 22:34:43 because you can use -S without it 22:39:16 ais523: what algo? 22:39:17 ehird, agreed 22:39:32 >_< 22:39:36 Depends On : binutils>=2.20 mpfr>=2.4.1 cloog-ppl>=0.15.3 22:39:36 You're missing the whole point of dependencies 22:39:37 ehird, ^ 22:39:43 what conscious processes that is 22:40:01 ehird, it does however do that 22:40:03 ehird: Here in Gentoo-land, cc depends on as. 22:40:05 -!- Azsztal has quit (Read error: 60 (Operation timed out)). 22:40:10 pikhq, same on arch actually 22:40:10 oklofok: 15 minutes is approximately 10 millidays 22:40:11 Because you can't build cc without as. 22:40:18 build dependency 22:40:25 The opposite is also true. 22:40:31 pikhq, gentoo separates build/runtime deps iirc? 22:40:37 AnMaster: Yeah. 22:40:41 okay, then sounds simple 22:40:59 i've been trying to work on my mental calculation skills, but obviously i'm starting a bit late 22:41:01 They're also part of system. 22:41:08 And everything has an implicit runtime dependency on system... 22:41:27 -!- Asztal has joined. 22:41:42 ha! An area of knowledge in which oklofok does not hopelessly exceed me! 22:41:55 instead he merely trounces on my face. 22:42:03 eh? don't you like... fail at addition? :P 22:42:15 lol 22:42:19 2 + 2 = 7 22:42:23 2 + 3 = 5 22:42:26 well yeah, i recall a few instances like that 22:42:59 in any case, i haven't really found a good source for what conscious techniques are used, usually 22:43:19 ehird, only at room temperature 22:43:20 google mostly gives "savant can do lotsa shit, says he sees numbers as pix" 22:43:27 thanks. 22:43:34 above that 2+2 can reach up to 8 or perhaps even 9 22:43:54 oklofok: well you'd refuse to use decimal based heuristics wouldn't you :) 22:44:45 you mean calculating approximations? 22:44:55 i mean nothing 22:45:02 the only meaning 22:45:05 is within yourself 22:45:11 obviously i want the calculations to be correct, otherwise i'd just use smaller numbers 22:45:54 i wish there i knew a good resource on this, but no one seems to do it without a gift 22:46:33 -!- Asztal has quit (Read error: 60 (Operation timed out)). 22:47:05 really i find it weird how little people care about anything 22:47:39 says he after skipping all the conversation here after seeing the word dep. 22:48:09 http://en.wikipedia.org/wiki/Trachtenberg_system 22:48:58 yeah i suck at googling 22:49:03 looks interesting 22:49:04 -!- Asztal has joined. 22:49:14 * ehird is quickly losing patience with gnumacs 22:49:17 not that i haven't already developed a system 22:49:19 worst router ever 22:49:20 -!- Asztal has quit (Client Quit). 22:49:33 i should just install xemacs and deal with the ugly 22:49:42 actually i knew about that because i had a book about it when i grew up (probably still is somewhere) 22:50:09 i love that that guy was jovial enough in a concentration camp to come up with fun mental arithmetic stuff 22:50:09 i don't actually recall learning much of it, though... 22:50:18 how can you possibly be _bored_ in such a situation 22:51:03 oerjan: that's... the normal multiplication algo 22:52:17 well okay, usually you calculate the stuff in a different order 22:52:34 i guess i've just already optimized that far 22:53:23 ais523: AnMaster: Do you know how to disable the automatic insertion of a final newline by Emacs? 22:53:40 ehird: there's a config option for it somewher 22:53:43 *somewhere 22:53:47 I think hooked according to the mode 22:54:01 try searching custom for "newline" 22:55:21 "Gnumacs, worst router ever." 22:55:35 not enough people use \foo without DRIVE: 22:55:42 why type C: if you don't need to? 22:57:41 because on Windows it's hard to guarantee what the current drive its 22:57:43 *is 22:58:05 ugh, and fuck GNUmacs 22:58:11 XEmacs C-x C-f: ~\ 22:58:18 GNUmacs C-x C-f: c:\home/ 22:58:27 path separator fail, home directory to ~ fail 23:02:12 I'm just going to switch to XEmacs. 23:02:27 Strange thing about (X)Emacs tabs: they only show files with the same major mode by default. 23:02:43 I mean, who thought of that? 23:03:19 Oh, and XEmacs has a saner dotfile mechanism too... ~/.emacs → ~/.xemacs/init.el, ~/.emacs + custom cruft → ~/.xemacs/custom.el 23:04:31 To be fair, ~/.emacs.d/init.el is perfectly valid in GNU Emacs too. If you consider that part of the sanity, and not just the init.el + custom.el splittery. 23:04:44 ais523: AnMaster: Do you know how to disable the automatic insertion of a final newline by Emacs? <-- iirc it defaults to off? 23:04:56 (setq require-final-newline 'query) 23:04:58 I have that 23:05:02 in my .emacs 23:05:07 ehird, it might help 23:05:08 Well, moving-past-bottom-of-file produces a newline, which I dislike. 23:05:18 I'm on Windows, I'm gonna use CR+LF and no ending newline, dammit :-) 23:05:32 fizzie: Well, yes, but it's default in XEmacs. 23:06:48 Biggest WinXP annoyance: explorer crashing resets Quick Launch order and size. 23:09:07 By "default", I guess you mean the fact that it's looked for first, before ~/.emacs? (Well, and I guess GNU Emacs customize-buffer-save or something might generate ~/.emacs "by default" if it's not there.) 23:09:55 Well, the simple fact that there's no string anywhere using ~/.xemacs as a file and everything saves to the appropriate ~/.xemacs thingy. 23:10:02 I guess ~/.emacs is loaded for backwards-compatibility purposes. 23:10:06 It's a culture thing, anyway. 23:10:33 Although XEmacs' culture can be accurately described as "stale". 23:10:41 Hey, jwz still uses it, so it's not dead yet. 23:10:56 Stale, with a whiff of lemon. 23:10:58 * ehird Install XEmacs 21.5.29 and all packages 23:10:59 ais523: spam spam wonderful spam (http://esoteric.voxelperfect.net/wiki/Talk:Main_Page/index.php) 23:11:01 Sure, I have 144 megs of disk space. 23:11:10 That's more than a third of my Windows installation size, but SURE 23:11:30 oerjan: deleted 23:11:48 there's nothing quite like it for incurring a ban 23:11:50 * oerjan high fives ais523 23:11:57 quick, someone do the next line! 23:13:34 ehird: Well, Windows *is* an OS... 23:13:38 Erm. 23:13:39 Emacs. 23:14:15 Fun fact: XEmacs doesn't do font-lock-mode by default. 23:14:23 When it does, it's actually displayed in the mode line. 23:14:24 :( 23:19:14 XEmacs todo: Disable splash screen. Make modeline prettier. Maybe fix screwy tabs. 23:22:29 Can I just say that XEmacs' apropos is niiiiiiiice? 23:24:12 no. 23:24:20 -!- Sgeo has joined. 23:24:41 Annoying thing about Chrome: Killing it is a lottery. There are a million chrome.exe's to kill 23:25:03 just kill the parent chrome.exe 23:25:32 The one with the lowest pid does not seem to be the parent 23:25:47 creamycentre> Sgeo: end process tree 23:26:03 use process explorer or something to find the parent 23:27:43 I thought that chrome had a built-in process-managing thing? 23:28:03 I'm sure that was one of its features advertised way back 23:28:36 Yes. 23:54:11 Hooray, process mangling. 23:56:25 -!- zzo38 has joined. 23:58:04 pikhq: You like Emacs, so let me just rant about it to you: I HATE THE CRAP YOU HAVE TO DO TO GET MULTIPLE MAJOR MODES TO WORK >_< 23:59:07 ehird: I AGREE THAT THAT IS RETARDED. 23:59:30 All I want to do is define a mode for editing Frink Server Pages... sheesh. 23:59:52 HTML mode, between <% and %> Frink mode. Why, XEmacs, are you being so hateful? 2010-01-09: 00:00:02 (Note: mmm-mode is common across Emacs and XEmacs, SO DON'T GO RUNNING TO THE FSF :P) 00:00:28 I should just write my own editor. With multiple major modes. And breakout. 00:00:32 In fact, forget the editor. 00:00:33 -!- ais523 has quit (Remote closed the connection). 00:00:45 Breakout: inside the blocks, breakout. 00:00:54 Multiple major modes + Breakout = best game/editor/OS ever?? 00:01:09 (yes) 00:02:16 (pikhq: You wouldn't happen to have any idea of how to whip mmm-mode into submission?) 00:06:38 -!- coppro has joined. 00:07:21 Bah. It's ridiculous that none of the modern editors were designed with modes being an atomic, composable thing. 00:07:26 Were these things even *designed*??? 00:07:28 -!- jpc has quit (Read error: 104 (Connection reset by peer)). 00:07:33 -!- jpc1 has joined. 00:09:57 I strongly suspect that all editors were evolved. 00:10:16 Except Notepad. That's just stagnant. 00:10:34 At least notepad is totally consistent. 00:10:51 True. 00:11:05 I guess I'm just going to have to write my own editor. *sigh* 00:11:57 Doesn't Notepad have some sort of unicode issues? 00:12:04 Not in Vista onwards. 00:12:13 Oh 00:12:48 Notepad is basically perfect, except for the unnecessary .LOG feature. 00:14:19 Editor wishlist: File's modes are a tree; the topmost mode is managed by the editor. 00:14:27 I've said this before, but someone should make an esolang whose source files start with .LOG 00:14:49 Modes are self-contained: they can be applied to any buffer, with any settings (for instance, base indent N for code embedded in HTML), 00:15:09 and things like every instance of a mode in the same buffer being the "same instance" are possible 00:15:13 for e.g. completion, etc 00:15:16 (or even interactive evaluation) 00:15:32 also, buffers are abstract and, hopefully, composable 00:15:41 you can define a buffer that is the rot13 of a file, for instance 00:15:50 and modifying and saving it rot13s the contents and puts it in the file 00:16:46 now someone pledge to switch to my editor if it's any good so i have some sort of motivation. 00:18:02 -!- Sgeo has left (?). 00:18:05 -!- Sgeo has joined. 00:18:23 I definately want to try it 00:18:27 *definitely 00:18:34 do you still use windows 00:18:41 Yes 00:18:44 bugger 00:18:55 well you'll have to switch to something that runs X unless I change my mind :P 00:19:20 You can't use GTK+ or Qt or wxWindows or something along those lines? 00:19:32 ehird: pledged 00:19:42 coppro: why thank you. 00:19:44 Xming = awesome 00:19:45 just get that 00:19:57 Windows runs X. Just not as well as anything else ever. 00:20:02 yeah I was considering telling him to just get an X server 00:20:07 pikhq: what, even ubuntu 00:20:23 * ehird installs xming himself 00:20:25 ehird: Have you ever used X on Windows? 00:20:32 Cygwin X is shit 00:20:35 xming isn't, from what i hear 00:20:43 Xming is good 00:20:48 Granted, part of the issues are because Cygwin isn't all that great... But still. 00:20:59 Xming is totally Windows, no cygwin 00:21:03 * Sgeo sees a screenshot 00:21:13 ...Ubuntu on Windows? 00:21:19 yes, with coLinux. 00:21:19 no, X on windows 00:21:22 ehird: X11 using programs are either Cygwin or not on Windows, though. 00:21:27 (a driver that runs a linux kernel) 00:21:31 oh, yeah 00:21:36 hmm 00:21:38 coppro, yes, I know, but the screenshot on the wiki page 00:21:45 coppro: pikhq's right, you know; I do want to depend on posix 00:21:52 I mean, not fork() or anything 00:22:00 probably mmap() though.... 00:22:02 *though... 00:22:02 ehird: language? 00:22:07 but I refuse to depend on Cygwin 00:22:08 Hm, I'm going to have to try coLinux 00:22:16 coppro: oh, I assumed C; good point, there's no reason to assume C 00:22:27 hmm... perhaps Scheme 00:23:16 although I'd have to write my own impl for the $whatever_toolkit bindings and the like 00:23:24 (scheme implementation state is... rather dismal) 00:23:47 you have to donate to xming to get the latest version that's kinda lame 00:23:59 6.9.0.31 vs 7.5.0.15 00:24:49 I'll probably just depend on Tk or something (with default config on X11 that makes it not be shit) 00:25:06 I believe newer Tks can do Xft and the like; pikhq will know. 00:25:14 and Tk is native on Windows 00:25:18 Yeah. 00:25:21 OS X I don't really care about because I won't be using it soon 00:25:29 Wait, it's possible to have non-shitty Tk? 00:25:32 Sgeo: yes 00:25:34 And Tk is nativish on OS X. 00:25:36 Sgeo: Yes. 00:25:41 ok, Tk 8.5+ includes the new theming engine and outline fonts 00:25:52 Sgeo: http://tktable.sourceforge.net/tile/ 00:25:53 It's slightly shitty on UNIX still, but it at least isn't complete suck now. 00:25:54 Pick a theme, any theme. 00:26:12 http://tktable.sourceforge.net/tile/screenshots/unix.html 00:26:23 And it's still got one of the nicer APIs... 00:26:24 oooo 00:26:25 Note the reasonableness of Default, Revitalized and Clam. 00:27:10 No vistanative or sevennative ? 00:27:19 winnative uses native Windows widgets. 00:27:23 Sgeo: you know IDLE? Python? 00:27:25 That's Tk. 00:27:44 ehird, yes, and that's why I held my believe that Tk was shit 00:27:52 Maybe I'm misremembering IDLE's look 00:27:57 have you ever used IDLE on Windowsw? 00:27:57 Sgeo: xpnative uses the XP themed widgets API. 00:27:59 *Windows 00:28:01 it is 100% native 00:28:08 pikhq: winnative uses actual widgeets though 00:28:13 The same API is used for Vista and 7. 00:28:17 Maybe I could write the editor in Tcl. pikhq: Tcl has lambda right? 00:28:23 or rather, closures 00:28:25 http://zzo38computer.cjb.net/img_10/healthbaseisreallystupi.png 00:28:35 Well, I don't think I've used IDLE on Windows in a very long time 00:28:36 Hold on 00:28:43 Kinda-sorta-maybe. 00:28:50 pikhq: Elaborate. 00:29:20 ehird: donate and mirror imo 00:29:43 coppro: It isn't open source. 00:29:50 The old binaries are public domain but the donate ones aren't. 00:29:54 oh 00:29:57 Unless you're actually instructing me to violate copyright law. 00:29:59 I'm going to guess that this is what you'd actually *want*: http://www.tcl.tk/cgi-bin/tct/tip/187 00:30:19 But that isn't accepted. 00:30:27 What can I do in practice? 00:30:33 Also, does Tcl let you use dashes-in-names? 00:30:42 (Is that the default naming convention?) 00:30:43 ehird: I've had no trouble with the PD release 00:30:56 Whereas this is what you actually get: http://www.tcl.tk/cgi-bin/tct/tip/194.html 00:30:56 but I'll be fair in saying I haven't used it a ton 00:31:02 coppro: It's from 2007. Donate release is from 2010. 00:31:04 ehird: Tcl allows you to use dashes-in-names. 00:31:07 Kinda crappy. 00:31:13 pikhq: Is it the naming convention? 00:31:16 The typical naming convention is underscores, however. 00:31:16 old != bad 00:31:30 coppro: Yes, but it's a whole major version behind. That's just crappy behaviour on tnhe part of the author. 00:31:32 (don't see it much, though) 00:31:45 ehird: He probably bumped the major when he closed it off 00:32:07 people wouldn't donate for 6.9.0.32 when they can get 6.9.0.31 00:33:07 pikhq: what do you mean, don't see it much? 00:33:46 ehird: ... There's like 20 names in underscores in the n section of my manpages... 00:33:53 Ah. 00:33:58 So most names are scruncheduplikethis? 00:34:35 It's just that, say, run-extended-command is much nicer than run_extended_command or runextcmd. 00:34:40 No, you've just got things like the string proc. 00:34:46 Ugh, yeah. 00:34:47 Ugly. 00:35:04 "string is", "string range", etc. 00:35:24 I could do Scheme+Tk... 00:36:00 (STklos) 00:36:10 Wait. 00:36:15 STklos changed to Gtk. Ugh. 00:36:57 I swear my editor will have a _nice_ user interface. 00:37:21 Keyboard-oriented but point-'n-clickable and no RSI. 00:38:36 Definitely no modal dialogs, except maybe if you run I-want-a-crazy-WIMP-file-selector. 00:39:00 ("dialog" with no title bar will appear in the bottom of the window, probably.) 00:39:07 Like a souped-up minibuffer. 00:39:10 I'm going for today. Bye. 00:39:30 -!- ehird has quit. 01:01:17 I think this has 3 instructions, not 2 instructions http://esoteric.voxelperfect.net/wiki/Ultimate_bf_instruction_minimalization%21 01:01:57 Because, no operation is one of the instructions, too (see the information about "(" command) 01:04:47 zzzzzzzzz 01:07:59 yyyyyyyyy 01:23:22 -!- oerjan has quit ("Good night"). 01:23:33 -!- zzo38 has quit ("Good day"). 01:38:15 -!- oklopol has joined. 01:38:29 Is OpenSVN dead? 01:42:25 your MOM is dead 01:56:57 -!- oklofok has quit (Read error: 110 (Connection timed out)). 02:00:37 -!- Cerise has quit (farmer.freenode.net irc.freenode.net). 02:01:09 -!- Cerise has joined. 02:14:43 -!- BeholdMyGlory has quit (Remote closed the connection). 02:18:51 ehird, i was thinking in the graphics language, we'd need a function that takes some shapes and constructs and arbitrary composite shape out of (copies of) them 02:20:30 e.g. group { ... } where everything in ... is a subpart of the group object; so their positions are bound to the group objects, their sizes, etc. 02:20:47 so that if you scale the group object, the subobjects scale, if you rotate it, they as a whole rotate, etc etc. 02:20:54 -!- FireFly has quit ("Leaving"). 02:21:09 ping me with an opinion when you get back 02:21:16 augur, what, are you making a competitor to SL? 02:21:23 sgeo: whats SL 02:21:39 Second Life 02:21:44 no. 02:22:52 were trying to design the latex-of-images, so to speak 02:23:57 svg? 02:40:30 Hmm, I want to make some aperiodic tiles. 02:41:44 we have a course about tiling, but not in this semester :'( 02:42:26 i hear it's rather hard to do that 02:42:39 I think I can make some aperiodic tiles for a half-plane. 02:43:21 how then? 02:43:29 Give me a moment. 02:43:50 do you use wang tiles? 02:44:05 Yeah. 02:44:33 i guess it's a w.l.o.g system 02:44:40 *. 02:44:46 A without loss of generality system? 02:44:48 yes 02:45:18 that you can simulate any set of tiles using wang tiles... but that's actually not at all true 02:45:56 Surely for every set of nice tiles, there's a Turing machine that halts if and only if it has a periodic tiling. 02:46:20 yes, obviously 02:46:36 Put the tiles together in every possible way; halt when you make something whose edges have the right symmetry. 02:46:44 just enumerate all possible ways to piece those tiles together, and for each check whether it fits its own boundary 02:46:56 ...i think ;) 02:48:08 i haven't actually thought much about tiling, just seen the proof of tm < tiling with a seed tile, once 02:48:51 where seed tile is a tile you have to use, then you can force the initial turing machine block to be on the plane 02:49:02 but you already knew that 02:51:02 Did I? 02:51:32 i usually assume people know the things i know through the same media i know them 02:51:57 i don't mean physical medium, more like context 02:52:38 in any case, the original use of aperiodic tilings was to show tiling is undecidable even without a seed tile 02:52:51 (the guy who proved it with a seed tile actually postulated the opposite) 02:54:32 so did you have something for half-plane? 02:54:53 i would probably need paper and an afternoon 02:57:32 http://pastebin.ca/1743607 02:58:16 wait 02:58:25 why is there a row of e on the bottom? 02:58:36 Because the bottom matches with the edge of the half-plane. 02:58:41 i mean the problem is trivial if you have seed tile :P 02:58:42 *s 02:59:15 i assumed you just require it to fill half the plane sensibly, and the rest can fail 02:59:59 but i'll read it still, maybe 03:01:23 Am I allowed to congratulate myself on my insight even if the problem is trivial? 03:02:33 certainly, especially as i consider it trivial only because i know how a turing machine is embedded given a seed tile, and i don't even see how to do it given a seed *row* :) 03:02:48 Wonderful! 03:04:12 okay i think they are aperiodic, but can't really see why 03:04:41 i mean i can't find a counter-example, what does it do? 03:04:47 You know how Sturmian words are aperiodic and can be collapsed? 03:05:36 very vaguely 03:05:43 are they err 03:06:03 Take the infinite Fibonacci word: ABBABABBABBAB... 03:06:05 err i'll just google, i'm thing of lind... something 03:06:27 The letter A only occurs in the string AB. Replace AB with A, and you get ABAABABA... 03:06:35 Then the letter B only occurs in the string AB, and so on. 03:06:49 Therefore, this is a Sturmian word. 03:07:17 what's an infinite fibonacci word? 03:07:46 It's a thing that you get by repeatedly applying the replacement {A -> B, B -> AB}, or an equivalent one. 03:07:58 right 03:09:52 My tiling, going from the bottom up, repeatedly applies the replacement {AB -> B, B -> A}, thereby forcing the bottom row to be an infinite Fibonacci word. 03:10:49 Though it uses the color O to represent nulls, which it ignores from then on. 03:11:11 ah 03:13:44 i'm quite convinced that works 03:13:47 It's easy enough to make the tiles allow any Sturmian word, except I don't know how to force alpha to be irrational. 03:14:43 The resulting set of tiles will contain 22 instead of 7. 03:15:43 Now to ponder how to tile the entire plane. 03:17:49 okay, a turing machine can be pretty easily embedded given a seed row 03:17:56 Lessee. These tiles cannot tile the entire plane as long as there is are at least two tiles, horizontally separated, each containing an A or B; each one would generate more of itself below itself until they got crowded out. 03:18:47 those tiles certainly can fill the whole plane 03:18:55 in fact just one of them can 03:20:14 Hence the "as long as . . ." part. 03:21:20 maybe i didn't actually read what you said, sorta half-asleep 03:21:43 just looking for errors in what you say i guess, easy way out 04:19:38 -!- coppro has quit (Read error: 60 (Operation timed out)). 05:08:11 -!- oklofok has joined. 05:13:30 -!- oklopol has quit (Read error: 110 (Connection timed out)). 05:16:24 -!- Pthing has quit (Remote closed the connection). 05:30:46 -!- soupdragon has joined. 05:39:40 -!- jpc1 has quit ("I will do freaking anything for a new router."). 05:40:15 -!- jpc has joined. 06:07:22 -!- jpc has quit (Read error: 110 (Connection timed out)). 06:09:31 -!- zzo38 has joined. 06:10:40 I made a beer program in Icoruma (a markup language for RPG rules). Why? is, just because I can, that's why. http://pbox.ca/11dhp 06:12:21 To write a brainfuck interpreter, would be more difficult, because Icoruma lacks two things, input facilities and infinite loops (although you could still do infinite self-recursion) 06:39:16 -!- jpc has joined. 06:40:50 + 06:44:03 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)). 06:44:08 -!- lifthrasiir has joined. 06:50:29 -!- jpc has quit (Read error: 54 (Connection reset by peer)). 06:50:29 -!- jpc has joined. 06:53:52 hey zzo I didn't get around to trying to compile your forth yet :( 06:55:50 OK 06:57:23 -!- zzo38 has quit ("I am still in the process of writing the adventure standard library but now I have to sleep OK thanks bye"). 07:06:41 -!- coppro has joined. 07:14:23 -!- whtspc has joined. 07:16:06 -!- whtspc has left (?). 07:45:03 -!- coppro has quit (Remote closed the connection). 07:45:50 -!- coppro has joined. 07:57:18 -!- Sgeo has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:12:06 -!- pikhq_ has joined. 08:26:36 -!- pikhq has quit (Read error: 110 (Connection timed out)). 08:30:55 -!- coppro has quit ("I am leaving. You are about to explode."). 09:41:24 -!- lament has joined. 09:54:35 -!- lament has quit. 10:06:30 -!- jpc has quit (Read error: 60 (Operation timed out)). 10:16:34 -!- oerjan has joined. 10:33:17 -!- Slereah_ has joined. 10:49:07 -!- Slereah has quit (Read error: 110 (Connection timed out)). 11:07:51 -!- oerjan has quit ("leaving"). 11:34:01 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)). 11:40:25 -!- rodgort has quit (Client Quit). 11:40:35 -!- rodgort has joined. 11:45:48 -!- kar8nga has joined. 11:48:41 -!- MizardX has joined. 11:50:12 -!- FireFly has joined. 12:35:20 -!- Sgeo has joined. 12:42:34 okay I think I figured out an algorithm 12:50:54 where is my reward? 12:51:21 soupdragon, algo for what? 12:51:28 parsing 12:51:41 soupdragon, parsing what language? 12:52:02 I figure if you just parse every length 1 subseqence, then every length 2 subseqence, ... up to the lenght of your input 12:52:06 that should work fine.. 12:52:31 soupdragon, parsing what language? C? English? infix math notation? Haskell? 12:52:48 soupdragon, link to your IRP programmer projecteuler account? 12:52:58 http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer 12:53:04 Ah 12:53:11 :D 12:53:15 3 done! 12:53:23 Btw, congrats on beating #2 12:53:25 Yeah 12:53:42 http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer <-- redirects to front page? 12:53:49 not here 12:54:01 AnMaster, im not parsing a specific language but a class of languages 12:54:26 how it work is every word is given a category, and a parse is such that the categories all fit together properly 12:54:33 soupdragon, what class? 12:54:42 which* 12:55:56 my idea for the algorithm is that you take as input, all the pases of the subseqences 12:56:09 then making a parse for the full thing just means connecting those up 12:56:26 soupdragon, *which class* 12:58:01 it is used for english language btw 12:58:24 that's an example: Frank < ((gave > (a > flower)) > (to > Mary)) 12:58:53 that's a parse of Frank gave a flower to Mary, and the semantics are GIVE(FLOWER,MARY,FRANK) 13:06:56 -!- lifthrasiir has joined. 13:09:30 oh lol, i thought "congrats on beating #2" meant soupdragon was now #2 on the overall player ranking. 13:11:36 haha I wish 13:20:09 i never got very far, all the problems started looking the same after, well, whatever amount i did 13:20:24 (also there was the fact they were hard, but let's not mention that.) 13:47:36 ;P 13:54:33 -!- ehird has joined. 13:55:13 -!- BeholdMyGlory has joined. 13:57:07 AnMaster: You have to be logged in to be able to view the profile 14:01:00 ehird, if you're somehow reading logs of #xkcd, don't read what I said. I sort of hinted at a somewhat important FS spoiler 14:01:09 Quick, name an editor: Alter or Amend 14:01:09 If you're the lowercase type, you could pick from one of these: alter or amend 14:01:20 Sgeo: I am, in fact, stalking you, so thanks for the info? 14:01:41 -!- ais523 has joined. 14:03:24 Deewiant, ah 14:03:48 ehird: amend is very fuzzy and touchable. 14:04:00 Totally. 14:04:32 alter sounds like it wants to change the world with its old ideas 14:05:08 oklofok, alter's old ideas, or the old ideas of the world? 14:05:26 alter's 14:05:29 ah 14:06:00 ehird, what sort of editor would it be? Didn't you say you wanted to write a text editor recently? 14:06:29 Yes, and I decided I would and expanded a bit on my ULTIMATE VISION yesterday. 14:06:37 oh? 14:06:58 Driven by my frustration at how hard it is to do multiple major modes in Emacs, while trying to make a Frink Server Pages mode. 14:07:14 ah 14:07:24 tl;dr blurb: Buffers are abstract and possibly composable; modes are atomic, not regexp hacks operating on a buffer, and composable; 14:07:33 fully extendable like emacs; 14:07:39 less RSI than emacs; 14:07:50 ehird, sounds nice. What language would it use instead of elisp? 14:07:55 and simultaneously command/keyboard based while still being comfortably point-and-clickable while appropriate 14:07:58 the end 14:08:50 very nice. 14:08:55 hm 14:08:55 we gonna see some changes around here 14:09:04 AnMaster: Undecided. I'm probably going to use Tk for the GUI toolkit (don't worry, it doesn't have to be ugly! See http://tktable.sourceforge.net/tile/screenshots/unix.html; default, revitalized and clam are nice.), so I might use Tcl, but probably not since Tcl doesn't do lambdas well and stuff. 14:09:05 -!- Sgeo_ has joined. 14:09:08 I might use Scheme. 14:09:15 So, undecided, basically. 14:09:47 hm 14:09:51 ehird, alter > amend 14:09:59 bbl 14:10:09 So 1:1. 14:14:43 back 14:15:13 well, amend sounds like it can not completely restructure things. Just amend, like amendments to the US constitution 14:15:26 alter sounds much more powerful and capable 14:16:12 what's this debate about? 14:16:20 to radically restructure things, if that is required. As well as just making small alterations should that be your goal 14:16:26 ais523, naming of ehird's editor 14:16:37 Quick, name an editor: Alter or Amend 14:16:37 If you're the lowercase type, you could pick from one of these: alter or amend 14:16:37 * ais523 (n=ais523@unaffiliated/ais523) has joined #esoteric 14:16:40 pick whatever backronyms better 14:16:48 I don't do backronyms. 14:16:58 well, someone else will if it becomes popular 14:17:05 and you want the backronym to be a good one rather than a terrible one 14:17:27 personally I'd go for "alter" because it sounds more like "editor", and I think name-feel is important 14:17:28 ais523, well that is easy, alter stands for alter 14:17:44 People backronymmed "vi"? 14:17:53 People backronymmed "Notepad"? 14:18:07 I'm pretty sure Emacs is a unique recipient, and it was an acronym to start with. 14:18:22 Also, it's technically not just an editor, as I'm fairly sure it would make a good mail interface too. (BUT NO TETRIS!) 14:18:48 if it's not powerful enough to implement tetris, it fails as an editor 14:18:58 otoh, feel free to not include tetris as part of the standard distribution 14:19:00 ehird, notepad = note or text editor plus a diagram. Oh sorry, did it have to make sense too? 14:19:00 It's certainly powerful enough. 14:19:07 I'll just kill you if you do it. 14:19:24 ehird, isn't vim = Vi IMproved? 14:19:28 or something like that 14:19:51 maybe it's called VI because it's the world's sixth best editor 14:20:04 :D 14:20:27 NOTEPAD: Not Only a Text Editor: Putrid Alchemic Death! 14:20:46 ais523, that high ranking? I doubt it. lets see... better ones: emacs, nano, joe, pico, kate, gedit 14:20:53 so it would be the seventh at most 14:21:13 Come on, even I won't argue that nano is better than vi. 14:21:23 Only a zealot or an idiot who really likes nano would do that. 14:21:26 I don't think I can either, I was trying to come up with a plausible argument and failed 14:21:29 I presume you're not the latter. 14:21:33 the best I can manage is "nano is better for beginners" 14:21:45 ais523: AnMaster's argument is undoubtedly "vi is the worst thing EVARRRRRRRRRRRR and I hate it" 14:21:45 which I don't consider to be an important property of an editor 14:22:06 And gedit? No... not really. 14:22:23 ehird, well, vi probably isn't. worse. But personally I found vi more confusing than nano 14:22:24 gedit's "good enough", I use it sometimes, but I don't think it's better than vi 14:22:26 Kate, well, I disagree, but we're getting into actual personal opinion here. 14:22:37 also, kate > gedit, I really should install kate on here 14:22:45 bbl 14:22:46 Joe, joe isn't bad. So sure, if you have idiosyncratic tastes. 14:22:51 "Good Enough eDIT" 14:22:54 I want cake 14:22:57 * ehird scares AnMaster: Tuomov uses joe, you know 14:22:58 who doesn't 14:23:10 * ais523 sudo aptitude install kate 14:23:10 oh, and he listed pico as well as nano 14:23:14 how disingenuous 14:23:17 I noticed 14:23:21 I was working on a Python project, and was asked what editor I use. "Kate". "You get a girl to type in your programs for you? Lucky!" 14:23:33 in conclusion, the defensible subset of his list is {emacs, joe, kate} 14:23:45 yotto 14:24:00 Sgeo_: was that a "joke" and if so was it yours or did this actually happen 14:24:24 It was a joke, it actually happened, although perhaps phrased differently, I don't remember. 14:24:43 It was 2005 or 2006, so 14:24:49 a few times i've gotten a girl to read my books to me. 14:24:58 it's great except it doesn't work 14:25:07 yeah I was gonna say, how does that work 14:25:18 because i need to constantly explain notation, and need to take pauses to think about proofs 14:25:24 works great for fiction tho 14:25:37 what we need is 2D natural language 14:25:37 yeah 14:25:38 mind doen't drift when the stream is constant 14:27:17 also with math and cs there's the slight problem the girl might get bored if she doesn't understand a single word 14:27:45 yeah girls don't understand things like math and computing 14:27:53 or LIFIE 14:27:55 *LIFE 14:27:59 OR BREATHING 14:28:01 soupdragon: some do 14:28:09 i think soupdragon was being sarcastic 14:28:09 maybe. 14:28:27 * Sgeo_ wishes there were more girls in his programming classes 14:28:44 oh shit, i was supposed to meet this dude today and teach him game theory 14:28:53 hmm... I can't develop my editor in OS X because Tk is yuck on OS X 14:28:54 prisoners dilemma 14:29:00 (16:30 now) 14:29:04 also, because the tcl/tk os x comes with is old 14:29:08 and i'm too lazy to install a new one 14:29:10 will he show up? 14:29:19 doing it in a vm would be a bit of a bitch though 14:29:20 i don't really let people here 14:29:28 so i have to install a non-os x OS on a second partition 14:29:38 if he's still up for it, maybe uni, oh wait, it's saturday 14:29:45 ehird, you really want to create an editor that will be ugly on OS X? 14:29:46 ooh, I've just had a ridiculous thought 14:29:49 an inside-out VM 14:29:57 as in, you open a second OS inside your first one 14:30:02 xD 14:30:10 then the VM sort of 'flips' and leaves you with your original OS running inside the new one 14:30:11 ais523: that's the same thing as a vm :p 14:30:14 Ok, around 2 o'clock then. Where do we meet? 14:30:15 ah. 14:30:20 seems we also set a time 14:30:22 Sgeo_: Well, _anything_ that isn't Cocoa is ugly on OS X. 14:30:27 one fucking thing to do all week 14:30:27 Or Carbon I guess if used carefully. 14:30:33 I won't be using OS X soon anyway. 14:31:23 soupdragon: even if the girl was a mathematician, it's possible she wouldn't understand a single word, starting from a random chapter, with a random topic 14:31:43 although i'm not arguing girls usually have different interests 14:32:22 ais523: don't VMs usually have a different sort of hardware on the inside to the outside?: 14:32:23 Any ideas on what I should start reading online so conversation in here stops going over my head? 14:32:36 SimonRC: yes, but I don't think that's a fundamental limitation 14:32:39 what subset of conversation 14:32:42 just it's done that way because that way's easier 14:32:43 we talk about everything 14:32:49 ais523: ok 14:32:51 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 14:32:55 Sgeo_: the interesting stuff or the OS stuff 14:32:59 * ehird scares AnMaster: Tuomov uses joe, you know <-- name sounds familiar, can't place it. 14:33:04 lol 14:33:05 oklofok: we don't do much os stuff anymore :| 14:33:07 AnMaster: Ion. 14:33:20 ais523: the cool thing about your inside-out vm would clearly be the switching animation 14:33:23 oh, and he listed pico as well as nano <-- if you didn't realise it, it was half a joke. 14:33:27 ehird, ouch 14:33:34 ehird: i label pretty much anything as OS stuff that contains individual program names :D 14:33:41 I'm imagining the VM inside growing to be as big as the screen, and the other OS shifting into the window area 14:33:49 while the window chrome fades appropriately 14:33:50 xD 14:33:53 oklofok: lulz 14:33:59 ehird: OK, that /would/ be a great animation 14:34:01 ehird, anyway, I would place emacs, kate, joe and nano above vi, but vim above nano 14:34:03 so it would be: 14:34:10 emacs, kate, joe, vim, nano, vi 14:34:37 ehird, I find it hard to imagine even you could place nano below vi 14:34:37 ehird: i should probably call it something else, maybe "conversations containing individual program names". 14:34:42 I wonder if some sort of hypervisor would be needed 14:34:49 eh, tuomov isn't all bad. Yes, ion's license is really stupid, and he's a total asshole... but I read his blog a bit a while back, and he has a lot of good ideas 14:35:01 * oklofok is afraid he got a random uni acquaintance mad! 14:35:20 ehird, possibly also gedit should be above vi, it isn't too bad. 14:35:21 SimonRC: I assumed you'd have one anyway, because virtualisation's really slow without it, and I can't imagine how the operation of turning a VM inside-out would work otherwise 14:35:30 ais523, would you agree with that list? 14:35:40 Well, off to watch a movie on YouTube 14:35:42 AnMaster: I've never used joe 14:35:43 also soupdragon: not far from the truth, prisoner's dilemma was in the last exam 14:35:52 :D 14:35:57 and I don't think kate > vim is uncontroversial (and emacs v vim is definitely controversial) 14:36:00 sorry about random buffer emptying. 14:36:00 ais523, only used it a bit, not much. The editors I actually use often are emacs, kate and nano 14:36:35 Nothing is better than vim. 14:36:40 vim rules all. 14:36:42 Muahahahaha 14:36:53 * Sgeo_ has become addicted to using Chrome's Task manager to kill everything and close all tabs except one 14:36:54 kate + joe > vim is highly controversial 14:37:02 very few people would agree with that 14:37:19 nano > vi too, although saying vi instead of vim means more people would agree 14:37:22 but still controversial 14:37:42 nano and vi have similar capabilities, I think 14:37:54 ehird, well, depends on what aspect you are rating. Customisability: then vim is probably directly after emacs. Ease of use: then my rating probably isn't too far off 14:37:55 vi's harder to learn but a bit faster to use once you have 14:38:02 ais523: nano doesn't have vi's composable commands 14:38:04 nor :! 14:38:09 afaik 14:38:13 or ex mode 14:38:14 so it's not even remotely as powerful as vi 14:38:17 brb 14:38:21 ehird: I said capable, not powerful 14:38:23 How is it that I always get interested in stuff for stupid reasons? 14:38:26 I agree that vi's a lot more powerful 14:38:26 LOL 14:38:34 AnMaster thinks emacs is easier to use than kate or joe or nano? 14:38:35 My reason for learning Python in the first place is rather idiotic 14:38:41 what would it be 14:38:49 on crack on crack on crack, crack crack crack crack crack crack, onnnnnn crack 14:38:54 just call it the AnMaster song 14:39:01 The fact that the interpreter is free 14:39:13 us who are afraid of programs can have a side conversation about liking stuff 14:39:24 ehird: one fun test is to find someone who doesn't know how to use editors at all, and see how long it takes them to exit editors they haven't seen before 14:39:26 that's not a reason 14:39:28 oh well aren't they for most languages? 14:39:37 : aye 14:39:46 what less-mainsteam spoken/human languages do you do? 14:39:54 oklofok, I didn't know that 14:40:01 you can get emacs, vi[m], and nano any way round on that test, depending on the details 14:40:01 everyone 14:40:12 I seriously thought I had to pay some company or other to use C or C++ 14:40:34 soupdragon: finnish 14:40:45 it's a dead language on the north coast of the world 14:40:46 Sgeo_: that used to be the case, maybe 10 or so years ago 14:40:49 a finn speaks finnish? gosh amazing 14:40:49 not any more though 14:40:51 ok 14:40:54 ais523: err... gcc? 14:40:58 *used 14:41:00 late 1980s 14:41:03 I may have been reading about C and C++ 10 years or more ago 14:41:04 ehird: was it available for Windows 10 years ago? 14:41:11 In books 14:41:12 hmm 14:41:16 well djgpp when was that 14:41:20 Hm, I also read about Perl, so 14:41:23 hmm, good point 14:41:27 1989 14:41:36 maybe first usable 1990-1991 14:41:44 so more like 20 years 14:41:45 Also, I remember talking to some waitress being so excited that the Java SDK was free 14:42:02 Waitresses excited about the Java SDK being free. 14:42:02 O-kay. 14:42:06 ehird, no, I was 14:42:11 :P 14:42:13 Oh. 14:42:18 You're crazy. :P 14:42:22 that's just as weird 14:42:23 hi 14:42:28 Perhaps weirder. 14:42:30 yeah 14:42:33 hi soupdragon 14:42:37 I can almost imagine a waitress-by-day, master-hax0r-by-night. 14:42:43 Sgeo_: how old were you 14:42:45 like 12? 14:42:58 when ehird was 12, he was already programming for nasa 14:43:04 ehird, I don't remember. Probably around that age, or younger? 14:43:05 seems it was 1996 before DJGPP could completely self-bootstrap 14:43:09 oklofok: DON'T TELL THEM 14:43:13 ais523: self-bootstrapping isn't important 14:43:17 oh was that confidential 14:43:19 ehird: I know 14:43:23 oklofok: ULTRA CONFIDENTIAL 14:43:23 I'm just amused at the timelag 14:43:36 EVERYONE TYPE /CLEAR PLS 14:43:37 hmmmmm 14:43:40 this conversation isn't im[proving my mood 14:43:50 "I thought of this episode yesterday while playing around with my laptop’s webcam and a Python shell. Finally I wrote a little fun script that does almost the same: Just register it as a hg hook and it takes a picture of you exactly at the unique moment when merging fails and it sends it directly and without any further questions to Twitpic and Twitter:" 14:43:56 http://andialbrecht.wordpress.com/2009/05/09/when-merging-fails/ 14:44:00 hi SimonRC 14:44:14 SimonRC: what, are you upset that I programmed for nasa*? 14:44:15 *lie 14:44:22 ehird, re[ae]ddit 14:44:23 ehird: that seems like a rather weird thing to do 14:44:38 soupdragon: you took 10 mis to spot me? 14:44:39 I mean, the merge-fail thing 14:44:42 what is the term for non-computer programming/informal language? 14:44:47 ais523: click the link for the reason 14:44:51 soupdragon: natural language 14:44:57 but they are not all natural 14:45:02 like the ones people make up for films 14:45:13 constructed language 14:45:13 /conlang 14:45:17 there is no good name 14:45:19 Or Loxian? 14:45:28 <3 Enya 14:45:30 but what is the union of conangs and natlangs? 14:45:31 hmmmmm 14:45:51 ehird: I still don't get it even after reading the page 14:45:57 hey im going out see you 14:46:02 the page didn't really say anything useful other than the quote 14:46:07 -!- soupdragon has quit ("Leaving"). 14:46:20 ais523: merge failing = terrible emotional anguish 14:46:24 terrible emotional anguish = funny 14:46:30 ehird: I'm just vaguely annoyed at people being more capable than I was at their age. It happens all the time on this channel 14:46:32 no, merge failing = merge failing 14:46:35 schadenfreude = funny 14:46:39 I don't see why it's particularly anguishing 14:46:40 ais523: for you perhaps 14:46:43 * oklofok read "i'm going out to see you" 14:46:45 because you have to merge manually 14:46:53 SimonRC: just get a time machine 14:47:09 ehird: but that only happens if either there's a conflict, or the merge is trivial but something the VCS didn't think of 14:47:11 SimonRC, same here 14:47:21 SimonRC: when i was 12, i was just as stupid as now 14:47:21 Or are more capable than I currently am now 14:47:31 in the first case you need to talk with the person who made the other version, and sort it out with them, the second case is easy 14:47:40 incidentally, one of my projects that hasn't got off the ground is my own VCS 14:47:40 plus i didn't know any math 14:47:47 i remember when i was... 10? i was jealous of an 11 year old who could code c because i couldn't :p 14:47:49 Although I take some comfort in the fact that when I try to tell people that, they don't believe me 14:47:52 not knowing any math makes you worthless 14:47:58 ...as if c was some immensely difficult thing or whatever 14:48:02 ehird: could you code C at age 11? 14:48:20 ais523: i don't know when i learned c. maybe 11 yeah 14:48:22 or very early 12 14:48:40 i learned c++ at 10 from a book, first tried coding in it when i was like 13 or 14 14:48:48 i don't recall learning it, I wrote hello world and 99 bottles of beer, wrote some stupid unworking interpreters some time later, and then suddenly the next time I grokked it completely 14:48:49 or maybe it was 11 14:48:54 and...now I'm pretty good at c 14:49:01 all i know is it took months 14:49:18 and i think i didn't really understand most of the last 200 or so pages 14:49:27 just had to read all of it 14:49:42 heh, I learnt Prolog something like 7 years before I got my hands on a Prolog interp 14:49:53 how did it go? 14:50:02 If you consider reading from a book enough to learn a language, then I learned C++, Perl, COBOL, and probably some others 14:50:05 pretty well, actually 14:50:11 I sort-of understood how it worked, just couldn't try anything out 14:50:13 I've never actually written a line of Perl or COBOL in my life 14:50:14 i was pretty much fluent right away, in the c subset that is 14:50:16 hmm 14:50:19 and when I installed gprolog much later, I could write in it 14:50:28 IDENTIFICATION DIVISION. 14:50:32 There. I wrote a line of COBOL 14:50:36 luckily Prolog syntax is trivial, otherwise it would be easy to mess it up 14:50:47 * ehird ponders whether to install windows or linux on the separate partition; Windows plays nicer with Frink, I believe, and is easier to set up to be bearable for me, but Linux lets me use tk more "natively" 14:50:53 Sgeo_: also, half the stuff you write is probably valid Perl by chance, assuming appropriate imports 14:51:05 prolly linux, debian or something so i don't have to get packages myself 14:51:06 lol 14:51:20 all of the stuff 14:51:26 if preceded by a single use statement 14:51:40 ehird: I'm assuming no source filters, they make it too easy 14:51:46 Ok, this is the second time in two days I've experienced deja vu 14:51:50 then you're wrong 14:51:59 I get deja vu all the time 14:52:11 Sgeo_: it's a sign of alzheimer's 14:52:12 ehird: was that "then you're wrong" directed at me? 14:52:16 ais523: yes :P 14:52:27 In fact, often I'm sure that I've had the same deja vu more than once before. 14:52:34 you can make anything a valid Perl program with "use ACME::JAPH;" at the top 14:52:35 I think this is because the deja vu implants such fake memories in my brain. 14:52:42 rather than me actually having recurring deja vu 14:52:45 but I wasn't counting that 14:52:51 Same when I think I've had a dream before 14:52:55 (or had a prequel to a dream I just had before) 14:52:59 This time, the statement about deja vu wasn't part of the deja vu 14:53:05 Often, it is 14:53:43 ehird: my dreams seem to be more consistent with each other than they are with real life 14:55:18 my dreams are great. 14:55:33 they're like really well made movies 14:55:57 ehird 14:55:58 opinion? 14:56:03 i was sad waking up from a dream recently even though I was tense as hell in it because the story was so good :) 14:56:34 Admittedly at the time I was some of yours ages I did not have aaccess to the technology you have. My parents have never been great upgrades of computing hardware. 14:56:34 also, anyone have a CS4 serial number? :| 14:56:47 http://torrent-site.getityourself/ 14:57:10 SimonRC: as i said. time machine 14:57:31 in a different way 14:58:02 wat 14:58:13 ehird :P 14:59:21 AnMaster thinks emacs is easier to use than kate or joe or nano? <-- "isn't too far off". kate and nano I would place above emacs at least in ease of use. Maybe joe too. 14:59:30 bbl again 14:59:35 isn't too far off, that was like a half of your list 15:01:46 Time for movie watching 15:02:26 ehird, whats your opinion on groups? 15:02:46 /shrugggggggggggg 15:02:57 many are dead, but some are still vibrant communities 15:03:01 well you seemed pretty opinionated the other day :| 15:03:15 -!- pikhq_ has changed nick to pikhq. 15:03:21 did I successfully pick the wrong meaning of "groups"? 15:03:39 yes 15:03:46 AnMaster: Depends on your notions of "usability". 15:04:00 Usable by an expert on the program, or usable by someone who knows nothing about it? 15:04:06 It makes a difference. 15:04:14 -!- Sgeo_ has quit ("Leaving"). 15:04:20 he said "easy to use" 15:04:27 which is definitely the latter 15:04:47 Oh, okay then. 15:05:03 Yeah, nano, kate, and joe are all much easier to use. 15:05:06 there's a group theory course in both the psychology and the math dep 15:05:20 Since they don't assume you're putting in time to learn them. 15:05:32 pikhq, true 15:06:26 anyone know if there's a website that lets you set up like a little poll thing without bullshit or ads or whatever, i wanna make one for alter/amend :P 15:06:32 oh forgot one that ranks above vi: ed 15:06:32 ;P 15:07:01 vi > ed in terms of ease of use, almost certainly 15:07:08 because you can use it much like ed, just ignoring the visual stuff 15:07:33 Or you can use it visually, which is at least not a complete mindfuck for a new user. 15:07:59 ais523, ed has much less clutter in the user interface to distract new users. 15:08:29 ehird: ah, I have seen a polling website like that somewhere... 15:08:34 I think I found a nice one 15:09:53 hmm 15:10:02 I wonder if lowercase vs title case would sway people's opinions 15:10:10 alter 15:10:10 amend 15:10:10 --- 15:10:11 Alter 15:10:11 Amend 15:10:20 most_pleasing(X) == most_pleasing(Y)? 15:11:20 well the one I had seen is SurveyMonkey 15:11:43 and what are these words for? 15:13:31 The name of my editor. 15:14:31 http://www.doodle.com/rhriqxe2rb226it2 15:14:42 ehird, I prefer alter to Alter. But both are better than amend/Amend 15:14:44 oklofok: ais523: pikhq: you are contractually obligated to vote 15:14:50 AnMaster: you too 15:15:16 ehird, at least it should be "alter" that you type in the terminal in any case. 15:15:23 ehird: I disagree with your contractual obligations 15:15:35 there are several reasons I don't have a binding contract on me to do that 15:15:40 ais523: is it because you refuse to use web browsers or something 15:15:42 and if I have a voidable contract on me to do that, I hereby void it 15:15:45 and what ais523 said. 15:15:46 or are you just nitpicking and will vote anyway :) 15:15:47 ehird: no, legal reasons 15:15:50 how about a word that isn't already used for something? 15:15:59 SimonRC: I'll add an other option 15:16:33 ehird, unable to vote. Page requires javascript 15:16:37 http://www.doodle.com/rhriqxe2rb226it2 15:17:04 hmm, I dunno which is easier to type 15:17:23 both are pretty easy 15:18:17 both are left-hand-heavy on QWERTY, but really, neither are problematic 15:18:25 I avoided theone with COBOL connotations 15:18:46 ehird, at least it doesn't seems to have registered my vote. Page didn't reload or anything 15:19:05 ehird, however, put me down for "alter" in lower case 15:19:12 why is upgrading xterm reducing its size by 205kB? 15:19:15 I made a poll so I didn't have to tally the votes myself. 15:19:20 Just enable JS for three seconds... 15:19:21 that is somewhat add 15:19:23 *odd 15:19:45 COBOL connotations, what a problem :P 15:19:51 wouldn't that be ALTER 15:19:59 ehird, I'm not running X atm 15:20:06 cobol isn't case-sensitive IIRC 15:20:24 well use a text-mode browser that does javascript? 15:20:37 ehird: OK, I voted 15:20:39 in w3m 15:20:42 SimonRC: AnMaster is just a malcontent, he'll come up with objection after objection most likely 15:20:48 hm okay w3m might do it 15:20:49 AnMaster: there's a link to a JS-free version, I used that 15:20:53 * shrug 15:20:59 there is? 15:21:14 ehird: it's probably removed if you have JS available 15:21:22 by the KS itself 15:21:24 *JS 15:21:30 thought so 15:21:39 also voted with w3m 15:21:43 not sure it worked 15:21:50 anyway it beats all the other poll sites which are straight out of the 90s and filled with ads 15:22:06 or would you have _preferred_ I used Angelfire Polls or something :-P 15:22:23 AnMaster: it did not. 15:22:25 click the non-js link. 15:22:46 ehird, I did click the non-js one 15:22:58 did you put a name in? maybe it's requiring that 15:23:29 ehird, I did put a name in 15:23:37 also now some of them are grayed out 15:23:39 how strange 15:24:14 I'm unable to select anything but "other" now 15:24:18 yeah i think you're meant to be able to like... change your vote or something, this thing is really designed for multiple choice polls I think 15:24:18 the other options are grayed out 15:24:21 lemme see if Ii set the settings wrong 15:24:44 Limit number of OKs per participant (row) to 1 15:24:44 Limit number of OKs per option (column) Limit: 1 15:24:59 oh, i see 15:25:13 the latter one means "people can only select every option unless nobody else has" 15:25:15 due to limit: 1 15:25:16 fix'd 15:25:28 you can even change your vote now and shizz if you like that kind of thing 15:25:58 * ehird makes a mental note: make poll site that isn't total bullshit 15:27:03 and stop AnMaster from voting because he'll just reject the thisguyhasalreadyvotedsodon'tlethimvoteagain cookie :P 15:27:32 ehird, I just did rm ~/.w3m/cookie afterwards 15:27:45 this is why we can't have nice things. 15:28:44 ehird, nice what? 15:29:28 just things in general, or some specific things? 15:29:42 mostly those that cost too much 15:30:50 oklofok, according to the old or the new classification system? 15:31:58 bbl 15:32:42 oklofok: you haven't voted :| 15:32:58 wait what vote i haven't been reading 15:33:01 http://www.doodle.com/rhriqxe2rb226it2 15:33:43 WHY NOT TETRIS I LIKE TETRIS 15:33:52 * SimonRC goes for breakfast 15:33:55 * oklofok goes out to have a life 15:34:36 oklofok: VOTE BASTARD 15:34:36 :| 15:34:55 "BASTARD" is not an option in this poll. 15:34:58 * SimonRC goes for breakfast 15:35:24 -!- lieuwe has joined. 15:35:29 oh no, now SimonRC gone for breakfast twice without going back in between 15:35:31 ;P 15:35:41 so he must come back twice afterwards 15:35:47 err 15:35:49 i already voted 15:36:37 no 15:36:38 you didn't 15:36:41 you have to click save 15:36:44 hi, i was thinking about writing an implementation for a high level esolang, but none of the articles on the wiki are descripive enough... 15:36:46 also put in a name if you didn't i guess 15:36:53 lieuwe: define high level :) 15:36:57 most esolangs are low level 15:37:28 ehird: a language which understands the concepts of functions and expressions ;-p 15:37:35 underload! 15:37:37 ais523: plug underload. 15:37:55 well, Underload's rather low-level 15:38:02 it understands the concept of a function. 15:38:06 i.e. it has functions 15:38:16 and it has expressions. which are the functions. 15:38:18 but Underload (and more so Underlambda) treat everything as functions from stacks of functions to stacks of functions 15:38:18 Esolangs tend to be rather low-level 15:38:35 ais523: *functions from stacks of functions from stacks of ... 15:38:45 yes, it's infinitely recursive 15:38:53 you define "function" = "function from stack of functions to stack of functions" 15:39:05 and the recursion bottoms out eventually because some of the stacks are going to be empty 15:39:14 type UL = Stack UL -> Stack UL 15:39:18 IF ONLY THAT TYPED 15:39:23 (it does with newtype around it) 15:40:16 hmm, I'm vaguely interested to see an Underload implementation in pure Haskell now 15:40:22 ehird: not quite what i need :-p might be time to create my own esolang... 15:40:25 way ahead of you, writing it now 15:40:36 although, it could be a little tricky because Underload is strict and Haskell is lazy 15:40:38 lieuwe: sure, we welcome every esolang 15:40:40 unless it's crap 15:40:47 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 15:40:51 so statistically we have ~0.1% probability of welcoming an esolang 15:40:58 heh 15:40:58 ehird: :-P 15:41:08 statistically, though, the vast majority of bad esolangs are trivial BF variants 15:41:19 ais523: sad, but true 15:41:23 ais523: i'm gonna implement underload without S first, because S just makes things uglier 15:41:32 agreed 15:41:36 -!- pikhq has joined. 15:41:43 you could implement Underlambda, S means something different there 15:41:53 lolo 15:41:54 *lol 15:42:03 i clicked save 15:42:04 oh name 15:42:06 pikhq: http://www.doodle.com/rhriqxe2rb226it2 :| 15:42:07 it means "output this function", but doesn't specify the format (the only restriction is that you have to be able to read the function back in again later) 15:42:40 ehird: i was thinking about something with too much brackets(even worse than lisp one-liners...) 15:43:06 lieuwe: just do "pure" (original mccarthy) lisp with s-expressions and no (quote x) shorthand as 'x 15:43:10 :P 15:43:15 wee 15:43:17 ais523: hmm... I've just realised that maybe implementing it in a Windows VM with WinHugs and an XEmacs without a Haskell mode is not the best idea 15:43:22 oh well! 15:43:24 Underload does have quite a lot of parens too 15:43:25 i have a primitive javascript prolog interpreter 15:43:26 :D 15:43:37 * ehird secretly opens Emacs in OS X instead 15:43:39 ehird: get haskell-mode, then 15:43:48 way too much work when I could just open the host emacs 15:44:01 and get inferior haskell mode for free 15:44:17 although winhugs is surprisingly nice 15:45:04 beh, that's the #2 problem with Windows: it's such a pain to install anything 15:45:09 it has a haskell module manager thingy, lets you browser typeclasses, their superclasses, members and instances, lets you browse defined names (functions or values) and their types, and search them... 15:45:21 it's taken around 2 months so far to install the Xilinx development environment on this Windows computer, for instance 15:45:32 ...and types plus their constructors and typeclass instances 15:45:36 ais523: oh, it's not hard 15:45:42 ehird: nah, not nearly good enough, i was thingking about using every possible type off bracket for different things ()<>{}[]\/ etc. 15:45:49 installing xemacs was just clicking next a bunch of times; haskell-mode would just be putting stuff in C:\home\.xemacs 15:45:51 lieuwe: heh go ahead 15:46:06 lieuwe: most of us find that syntax is the least interesting avenue for esolangs, but there are some it works for 15:46:07 e.g. smith 15:46:38 hmm, smith is more concept than syntax 15:46:46 ehird: hmm, ah, well, i'll just mess about with this for a while... 15:46:50 INTERCAL plays with syntax quite a bit, although that's the least interesting part of the language 15:46:55 it's a good start though 15:47:08 making a non-syntax esolang is _hard_ 15:47:32 and I think Forte's aided by its syntax, although again the syntax isn't the point there 15:48:49 ais523: lol, I didn't even realise how ugly S would be, I just thought it'd be adding IO or making it ([UL],String) 15:48:57 having to have the string versions of the functions never even crossed my mind 15:49:13 S is truly ugly, that's why Underlambda doesn't have Underload's S 15:50:06 ulChar 'a' = (\(x:xs) -> (\ys -> x:ys):xs) 15:50:38 ais523: and S slowed the development of the efficient underload compiler, due to the interpretation of ^ as "include text" 15:50:40 or "eval" 15:50:48 ehird: yes 15:50:59 although, derlo is pretty fast, despite being an interp 15:51:00 ulChar '^' = (\(x:xs) -> x xs) 15:51:00 pretty 15:51:20 would be fun if you could write that as (:) -> ( ) or something 15:51:39 or maybe (:) -> ($) 15:51:42 to avoid whitespace issues 15:51:56 ;query lambdabot 15:52:12 fail :P 15:52:24 [15:51] @pl (\(x:xs) -> x xs) 15:52:25 ais523: or rather to avoid () being () issues 15:52:25 [15:51] ap head tail 15:52:30 yes 15:52:39 that's a rather pretty version of it 15:52:50 ap is monadic iirc but for functions i believe it's 15:52:56 ap f g x = (f x) (g x) 15:53:00 i.e. branching of a sort 15:53:11 more like the s combinator 15:53:12 ap = apply, maybe 15:53:17 in fact, that's exactly the s combinator, isn't it? 15:53:17 not really 15:53:19 no 15:53:21 ap = S. 15:53:23 oh 15:53:24 hmm 15:53:25 right yes 15:53:26 i'm dumb 15:53:33 ```sxyz = ``xz`yz 15:53:52 Of course, that it *is* the S combinator on the functions is just coincidence. :P 15:54:26 ugh, I can't do: 15:54:30 ulChar '*' = \(x:y:xs) -> (x.y):xs 15:54:36 because x and y are wrapped in a newtype 15:54:42 haskell should allow recursive types :( 15:54:44 who cares about type safety 15:56:43 \(UL x:UL y:xs) -> (x.y) : xs 15:56:51 yes, yes 15:56:55 or newtype UL = UL { app :: [UL] -> [UL] } 15:57:16 -!- soupdragon has joined. 15:57:33 Or use (.) from Control.Category and define an instance Category UL 16:00:08 also, you got it wrong 16:00:19 \(UL x:UL y:xs) -> UL (x.y) : xs 16:00:36 Quite right 16:00:44 I recommend the custom (.) TBH :-P 16:00:59 I wish this were Caleskell and (.) = fmap 16:01:00 whats UL 16:01:03 underload 16:01:07 Hey, maybe I could just define (.) = fmap 16:01:10 You can set (.) = fmap easily 16:01:46 Wonder if Applicative has anything useful or whatever 16:02:06 -!- kar8nga has quit (Remote closed the connection). 16:02:17 Deewiant: Oh, that won't work though 16:02:26 Because the first argument is a function 16:02:28 Control.Category it is 16:02:59 http://www.pasteit4me.com/99004 16:03:03 Deewiant: Caleskell makes (.)=fmap. 16:03:13 he knows 16:03:15 Ooh, id and (.) form a monoid. 16:03:15 Erm. So ehird said. 16:03:41 you are a monoid 16:03:56 wait, I can use newtype deriving can't I 16:04:07 You can use whatever you like; the world is open to you 16:04:14 ^___^ 16:04:26 Cannot derive well-kinded instance of form `Category (UL ...)' 16:04:26 Class `Category' expects an argument of kind `* -> * -> *' 16:04:29 And here we find our problem. 16:04:42 newtype UL = UL ([UL] -> [UL]) deriving (Category) 16:04:52 Oh, true, it wants a different kind 16:05:00 Maybe I'll just define my own (.) typeclass. 16:05:01 Doesn't really matter though 16:05:13 Deewiant: Yes it does, it means I can't do it without an ugly type alias 16:05:36 One ugly type alias versus hundreds of ugly (UL f) -> UL (f x) ! 16:05:43 Fiiiine. 16:05:46 :-P 16:06:00 Ugh, I wish Haskell allowed recursive types. 16:06:03 It is limiting my expression! 16:06:33 Deewiant: Ooh, but I can't do that. 16:06:38 type UL = UL' [UL] [UL] 16:06:45 fgsfds 16:06:58 data UL = UL [UL] [UL] 16:07:01 Haha, good point. 16:07:02 And if I add a new newtype, I need to define Category on it manually. 16:07:07 zero = UL [] [] 16:07:08 ...which I can't do because of kinds. 16:07:38 Deewiant: I'm just going to define a separate operator for UL-(.) 16:07:48 Not your own type class? 16:08:03 If I make it (class Composable a) then I can't do the traditional (.) on functions. 16:08:29 Hmmh, this is a bit annoying. 16:08:48 Haskell's typeclass system is kinda crap. 16:09:08 yes 16:09:13 I wouldn't say that :-P 16:09:15 Sweet, (..) isn't a valid identifier? 16:09:20 Because of ranges. 16:09:28 I should just say fuck it and use OCaml. 16:09:33 It allows recursive types. :P 16:09:57 Have you noticed that all the good operator names are taken 16:10:05 No 16:10:11 have you noticed that import qualified Prelude 16:10:20 soupdragon: i'd rather not 16:10:25 that's insane 16:10:39 Maybe I'll be patriotic and use (£) 16:10:50 ehird: Have you noticed that Japanese punctuation is mostly unused as operators? 16:11:02 pikhq: Ooh, what's that Japanese dot thing? 16:11:11 That they use instead of . because they like big, fat, chunky hollow things. 16:11:17 o 16:11:38 Wonder if (∘) is an identifier 16:11:38 The... Period? :P 16:11:46 pikhq: nooo it's fatter. 16:12:04 Anyway, ASCII only :P 16:12:13 I may just end up calling it o 16:12:14 According to Unicode, (。) is a "ideographic full stop". 16:12:57 It's a full stop. 16:13:16 Or, if you prefer, a kuten. 16:14:09 ais523: are there "invalid" UL programs, do you think? 16:14:14 or is (/) matching not strictly required 16:14:22 the matching is required 16:14:26 i.e. ) without ( is like any other unhandled character, an error 16:14:32 but only when run 16:14:36 it's a compile-time error 16:14:40 alright 16:14:45 although you can handle it at runtime instead if you prefer 16:14:49 kay 16:14:55 ehird: You could also use Japanese quote marks. 16:15:01 「 」 『 』 16:15:04 :) 16:15:05 ais523: but something like "x" is a runtime error, right? 16:15:10 yes, in Underload 16:15:27 Irritating Haskell semantics: 16:15:27 in Underlambda, it's compile-time unless you defined it in advance, or it's inside a string literal 16:15:29 I love those 16:15:29 「 」 『 』 16:15:37 (error "foo") is not the same as (\() -> error "foo") 16:15:44 Fucking impurity 16:15:50 -!- Pthing has joined. 16:15:58 is error monadic? 16:16:01 no 16:16:03 error :: String -> a 16:16:06 ouch 16:16:14 it's what e.g. (1 `div` 0) gives 16:16:22 even Perl6 does better 16:16:24 it has lazy errors 16:16:57 "You did not provide any name." voted for alter 16:17:00 who's that; pikhq? 16:17:10 Not I. 16:17:42 ehird: can you work it out by elimination? 16:17:47 * ais523 wonders if it's AnMaster voting twice 16:18:01 ehird: Well, of course error "foo" != \()->error "foo". 16:18:05 AnMaster is a malcontent, he tries very hard to stray from outright malicious 16:18:09 so I doubt it 16:18:14 that's me I voted 16:18:14 although it is the same vote 16:18:16 That's _|_ != \()->_|_ right there. 16:18:30 pikhq: yes, and _|_ is shit :( 16:18:41 ehird: So, you want a total language. 16:18:49 no, because totality implies sub turing completeness :P 16:18:51 total awesome language 16:18:56 ehird no it doesn't 16:18:57 maybe have partiality be a monad 16:19:03 And totality implies no _|_. 16:19:06 soupdragon: total language + partiality monad != total 16:19:11 And no _|_ implies totality. 16:19:16 == non-total but with the total bits marked 16:19:19 kinda like haskell+io tbh 16:19:42 ehird: you can model lambda calculus, turing machines with semantics, mu-operators 16:19:42 what's the partiality monad again, data Partial a = Now a | Later (Partial a)? 16:19:56 soupdragon: well the "total fp" paper says it is sub-tc 16:20:00 * ais523 wonders if it's AnMaster voting twice <-- no, why? 16:20:03 codata Computation a = Now a | Delay (Computation a) 16:20:19 AnMaster: well, it had to be someone 16:20:24 soupdragon: s/codata/data/ if you want to model it in haskell right 16:20:31 screw haskell 16:20:35 ais523, someone voted twice? 16:20:37 that is not an answer 16:20:44 AnMaster: because you said you removed the cookie 16:22:23 ehird, well yes, I always do. 16:23:00 but I wouldn't vote twice, that is against my morals 16:23:52 ais523: hmm... a UL program ins1ins2 is identical to (ins1)(ins2)* 16:24:08 not quite 16:24:10 so I think I'll structure my parser as String -> [UL] and then fold compose them 16:24:18 (ins1ins2) = (ins1)(ins2)* 16:24:23 ins1ins2 = (ins1)(ins2)*^ 16:24:24 ais523: hmm... a UL program ins1ins2 is identical to (ins1)(ins2)*^ 16:24:27 whatever 16:24:28 you get the idea :P 16:24:29 yep 16:26:18 ugh, lambdabot can't pattern match on tuples? 16:26:33 `@pl let (x,xs') = f xs in x : f xs'` fails 16:26:38 pl can't 16:27:13 well right 16:27:16 Use fst/snd 16:27:42 [16:27] ehird: @pl let blah = f xs in fst blah : f (snd blah) 16:27:43 [16:27] lambdabot: fst (f xs) : f (snd (f xs)) 16:27:48 Thanks, lambdabot. 16:27:49 :-) 16:28:08 [16:27] ehird: @pl \blah -> fst blah : f (snd blah) 16:28:09 [16:27] lambdabot: liftM2 (:) fst (f . snd) 16:28:11 Now we're getting somewhere 16:28:17 liftM2 has a more general name right 16:28:17 I guess what you want is liftM2... yeah, that. 16:28:58 ulSplit' ('(':xs) = let (x,xs') = ulSplit' xs in x : ulSplit' xs' 16:28:58 ulSplit' ('(':xs) = liftM2 (:) fst (ulSplit' . snd) $ ulSplit' xs 16:29:04 The latter is, shall we say, uncompelling 16:29:40 ais523: hmm... would you accept an implementation that, if you give it an unmatched ), discards it and the rest of the program, as conforming? 16:30:00 yes, because an unmatched ) is undefined behaviour 16:30:06 although I think an error message would be more useful 16:30:48 ais523: yes, but I'm going for implementation simplicity and purity here 16:32:33 ais523, aren't you supposed to be able to escape those (but no one implements that). or something like that 16:32:40 No. 16:32:54 Other characters are reserved, but nobody implements the reservation. 16:33:00 They cannot be used in a valid Underload program. 16:33:00 yes, in theory you can use " as an escape character in Underload, but that's sufficiently unimplemented that it doesn't count as part of the lange 16:33:01 ah that was it 16:33:05 *lang 16:33:08 ais523: not in theory, it's not part of the spec 16:33:09 ais523, right 16:33:21 ehird: yes, but nobody obeys the spec 16:33:24 not even me 16:33:26 w00t, tokenizer done, man, that was easy :-p 16:33:29 I kind-of like it that way, though, it's very eso 16:34:49 what I mean is 16:34:55 in theory no you cannot use " as an escape char 16:34:59 it isn't in the specc 16:35:01 it's just reserved 16:35:02 *spec 16:35:18 I thought the spec said you could use " as an escape char 16:35:27 but given that it's on a wiki, maybe someone edited it to match reality 16:35:54 http://esolangs.org/files/underload/underload.html 16:35:56 you can escape []<> 16:35:58 but not () 16:36:01 god only knows why 16:36:53 ooh 16:37:00 ais523: my implementation will support infinite-length programs 16:37:08 Deewiant: which is the one that works with infinite lists, foldl or foldr 16:37:10 foldr right? 16:37:44 ehird: I know why too, it's an implementation details of my first underload interp that somehow made it into the spec 16:37:49 Yes, foldr 16:37:56 you can escape []<> <-- but do those even mean anything in the language? 16:37:56 ais523: slight issue with my impl, there's no way to inspect the output 16:38:00 AnMaster: no 16:38:05 ehird, :D 16:38:06 AnMaster: they are reserved, you cannot use them without escaping 16:38:09 just you aren't allowed to use them 16:38:16 ais523: you'd better have a test suite whose output only depends on the length of the resulting stack 16:38:18 ais523, can you escape a literal " though 16:38:20 otherwise i can't test this thing :) 16:38:23 AnMaster: no 16:38:27 ehird, how fun 16:39:46 ehird, why can't you allow output? 16:40:16 because I'm representing underload functions as haskell functions 16:40:43 A UL program is a function from a list of UL programs to a list of UL programs. 16:41:37 *Main> length $ ulRun "(:)(:)*^" 16:41:37 *** Exception: /Users/ehird/Code/scraps/2010-01/underload.hs:(18,8)-(25,31): Non-exhaustive patterns in function ulSplit' 16:41:37 That may look like an error message... but it's actually a bug in my parser. 16:41:38 ehird, why not make it a function to a tuple of output and ul pgoram 16:41:53 AnMaster: that isn't sufficient 16:41:55 program* 16:41:58 I'd need a function (function → string) 16:42:10 and that string must be the original UL source code 16:42:16 hm okay 16:42:19 I'd have to pass around the string anywhere, which removes all the purity 16:42:24 hah 16:43:20 soupdragon: so the partiality monad, can it be used just like the identity monad in haskell 16:43:31 val <- partialFunc x 16:43:35 ... 16:43:38 return (someComputation val) 16:45:01 *Main> length $ ulRun "(:)(:)*^" 16:45:02 *** Exception: /Users/ehird/Code/scraps/2010-01/underload.hs:13:25-45: Non-exhaustive patterns in lambda 16:45:04 ais523: it's alive!!! 16:45:12 gimme some test program and the length of the tape it should result in :P 16:45:37 *Main> length $ ulRun "(poop)(:)(:)*^" 16:45:38 *** Exception: Invalid instruction: p 16:45:38 wait, what 16:45:59 *Main> length $ ulRun "(poop):" 16:45:59 *** Exception: Invalid instruction: p 16:46:04 okay some quoting issues here. 16:46:20 oh 16:46:25 would help if i actually put the quoting stuff in 16:46:27 :))))))) 16:47:17 -!- Asztal has joined. 16:47:49 ehird that's correct but it has super powers too 16:48:20 ehird here is an example http://moonpatio.com:8080/fastcgi/hpaste.fcgi/view?id=562 16:48:55 and (Now True) y = y 16:48:55 and (Now False) _ = Now False 16:48:55 and x (Now True) = x 16:48:55 and _ (Now False) = Now False 16:48:56 and (Delay x) (Delay y) = Delay (and x y) 16:48:56 there should be like a wrapper function 16:49:11 toPartial1 :: (a -> b) -> Partial a -> Partial b 16:49:39 soupdragon: okay so what's interesting about that snippet 16:49:46 bear in mind i'm in retard mode (my only mode) 16:50:16 ehird it uses lazy-lazy evaluation, if you write this in direct haskell style it would diverge on many more cases 16:50:34 so what it shows is that the partiality monad can give you even more lazyness than lazy evaluation 16:51:05 hmm it'd be cool if sequencing was an evaluation 16:51:07 that is >> = seq 16:51:10 *was a monad 16:51:22 >>= = $! or w/e it's called 16:52:37 ais523: taking a break from underload to write that i'm afraid 16:52:46 I don't mind 16:53:20 hey even optional sequencing 16:53:28 data Sequence a = Strict a | Lazy a 16:54:08 hmm 16:54:12 so should return be strict or lazy, I wonder 16:54:13 I think lazy 16:54:33 because you might use it at the end of your mega sequence function or w/e 16:55:44 hmm 16:55:46 instance Functor Sequence where 16:55:46 fmap f (Strict a) = strictorlazy (f $! a) 16:55:46 fmap f (Lazy a) = lazy (f a) 16:55:53 interesting 16:55:54 soupdragon: any ohpinyuns on strictorlazy there? 16:55:57 i think strict 16:56:02 strictness should propagate 16:56:06 but then, if you do 16:56:10 do foo <- astrict; return foo 16:56:11 im not sure if it works 16:56:13 that turns it into a lazy 16:56:15 since return = lazy 16:56:23 so maybe strictness should fade quickly 16:56:32 no, wait 16:56:34 it should definitely be strict 16:56:43 otherwise your "strict" application isn't, which is ridiculous 16:57:02 got functor, monad, let's give it an applicative instance 16:57:24 ooh 16:57:25 (<*>) :: f (a -> b) -> f a -> f b 16:57:38 maybe the strict or laziness of the function should determine the strictness or laziness of the result 16:57:39 yeah! i like that 16:57:44 unless it doesn't make sense 16:57:49 no wait, it does 16:57:52 lazy = avoid evaluating this 16:57:55 so avoid evaluating any applications of this 16:58:55 although shouldn't (Strict f <*> Lazy x) be Lazy (f $! x) 16:59:03 soupdragon: opinyons? Applicative sure is tricky :P 16:59:50 well im not sure this even works 16:59:56 it's not completely clear what 'strict' means 17:00:02 yeah 17:00:04 and I assume lazy is just the identity 17:00:05 ok let's define 17:00:17 yeah the lazy portion of the monad is identity monad 17:00:21 *is the identity monad 17:00:23 you might elaborate a bit by defining this in ocaml (or similar, strict language) simultaneously 17:00:31 strict = evaluate this before doing anything else 17:00:44 lazy = use haskell semantics 17:00:44 and see what sort of intesection you get 17:00:51 soupdragon: i'll try that after doing it in haskell since i know haskell better 17:01:06 ofc "evaluate this before doing anything else" doesn't help if the thing is a function and you're applying it 17:01:07 aha 17:01:07 yes it does 17:01:10 if you make the result lazy 17:01:17 then you can ignore the result of the application and do-anything-else 17:01:21 without having the function evaluated 17:01:54 ehird: Y'want an applicative instance and have a monad instance? pure=return;(<*>)=ap 17:02:04 pikhq: shaddap 17:02:08 :P 17:02:15 Monad should be Applicative f => Monad f, clearly 17:02:29 hmm 17:02:43 And Applicative should be Functor f => Applicative f. 17:02:44 Lazy f <*> Strict x = lazy (f $! x) 17:02:44 or 17:02:44 Lazy f <*> Strict x = strict (f $! x) 17:02:50 pikhq: it is 17:02:55 ehird I just mean any strict language like ML or scheme or whatever 17:03:00 Oh, right. 17:03:02 soupdragon: yeah i know 17:03:05 ok 17:03:09 Applicative makes sense, just not monad. 17:03:17 * ehird makes it lazy (f $! x) because he already has a definition resulting in strict (f $! x) 17:03:19 can always change it 17:03:33 although that violates "evaluate this before anything else" 17:03:33 hmm 17:03:37 maybe i should change the definition 17:03:52 Strict: If you ever use this, evaluate it before doing so. 17:04:12 The Functor instance should satisfy 17:04:12 fmap f x = pure f <*> x 17:04:17 so pure = lazy 17:04:25 so Lazy f <*> x 17:06:48 is (<*) x `seq` y `seq` x or y `seq` x 17:06:53 i guess the former 17:07:16 eh 17:07:20 * ehird omits *> and <* 17:07:24 let the compiler infer them 17:08:38 *Main> runSequence (do x <- strict [1..]; return 3) 17:08:39 3 17:08:41 Well, that's certainly wrong. 17:09:09 *Main> (const 3) $! [1..] 17:09:10 3 17:09:11 ?! 17:09:47 oh ofc 17:09:53 i mean deepSeq 17:10:04 soupdragon: do you think it's more useful with deepseq or as is 17:10:13 i think it should be deepseq personally 17:10:55 deepseq ;p 17:11:17 what does that mean :P 17:12:50 soupdragon: so I'd like to officially call SequenceT (Partial a) the Haskell monad :P 17:13:00 I can't stop you 17:13:04 or can you 17:13:05 f $!!!!!!!!! x = rnf x `seq` f x 17:13:16 I like that 17:13:22 how does rnf differ from deepseq 17:14:00 What is deepseq 17:15:49 typeclass 17:15:51 deeply evaluates 17:15:55 like for [...] it's map seq 17:15:57 well 17:15:58 fold seq 17:15:58 Where is it 17:16:07 http://209.85.229.132/search?q=cache:RV_IB04cfYoJ:hackage.haskell.org/packages/archive/hxt/7.4/doc/html/Control-Strategies-DeepSeq.html+deepseq&cd=1&hl=en&ct=clnk&client=safari has it, it's also in Pugs 17:16:11 where's rnf 17:16:22 * pikhq has been reading up on the Cont monad... 17:16:23 Control.Parallel.Strategies in parallel 17:16:27 ah, x `deepSeq` y == rnf x `seq` y 17:16:34 Unsurprising :-P 17:16:38 Hmm. Makes continuations seem clever, rather than obscure magic. 17:17:01 ugh 17:17:09 that restricts my monad to Control.Parallel.Strategies.NFData 17:17:18 i wish there was like haskell but strict so i could implement this :) 17:18:20 Throw a bunch of #s everywhere? :P 17:18:34 Oh, and ! and seq. 17:18:54 ... And wonder why people reading your code hate you so damned much. 17:20:18 pikhq: not sufficient, I need deepSeq 17:20:22 without a typeclass 17:24:26 there is a language around somewhere that aims to be a strict Haskell 17:25:02 HAQUELLE 17:26:45 i have an ocaml compiler 17:26:46 ocaml it is 17:27:15 dammit, no ocaml-mode 17:27:16 oh well 17:28:02 let's see how much ocaml i remember 17:32:55 I can't find it though 17:35:15 -!- Sgeo has joined. 17:35:30 ais523: you know ocaml right 17:36:57 http://www.reddit.com/r/AskReddit/comments/anexq/hey_reddit_what_awesome_graffiti_have_you_found/c0igyyg 17:39:15 SimonRC: is it http://www.haskell.org/haskellwiki/DDC ? 17:39:39 ehird: vaguely, although I haven't written it for a while 17:40:06 type 'a sequence = Strict of 'a | Lazy of (() -> 'a) 17:40:07 why is this a syntax error? 17:40:12 in the Lazy of part 17:42:46 ehird: I take it that's fictional 17:43:06 ais523: perhaps reading the epilogue and the alternate ending will remove any doubts you have 17:43:14 Yes indeed: this person is quantum! 17:43:17 ehird: yes 17:43:19 He experiences every branch of the many worlds. 17:45:44 so, in other words, it was all, in fact, offtopic 17:46:31 are you actually complaining about someone posting a really good piece of fiction :) the only point of threads like that is for entertainment, truth is more or less irrelevant especially if it's that well-written 17:46:52 flossdaily is well-known for spinning yarns anyway so it doesn't really "fool" anyone 17:47:08 Flossdaily, you successfully managed to completely derail the entire point of this thread. I applaud you for that. 17:47:11 I'm not actually complaining 17:47:16 I'm just amused 17:47:25 MysteryStain's comment sums up my attitude 17:47:48 then the answer is yes :P 17:48:15 heh, are we asking and answering questions recursively? 17:48:29 two simultaneous conversations with someone is one thing, but this... 17:48:59 i can barely talk to normal people because I can't argue recursively with them :( 17:49:25 maybe i should start calling them "linears" :D 17:49:35 i can barely talk to normal people because I can't argue recursively with them :( 17:49:37 that needs sigging 17:49:42 (and I agree with the sentiment) 17:49:56 i'm not even joking, I think about everything with nesting 17:50:03 I don't even know how to argue linearly 17:50:07 I know you aren't joking 17:50:19 i know you know i aren't joking. 17:50:25 sometimes I end up in queue-arguments rather than stack-arguments 17:50:33 which are equally confusing for someone not used to that sort of thing 17:50:44 normally caused by answering logs rather than conversing in realtime 17:52:03 * ais523 waits for AnMaster to come in with a nonsequitur 17:53:03 recently i was arguing with someone and they said "~p => q, bad(q), therefore good(p)" and I said "even assuming bad(q), ~prevents(q,p) => unconnected(p,q), ~prevents(q,p), therefore your argument is invalid" 17:53:06 they didn't get it 17:53:32 we were talking about that in #agda the other 17:53:32 day 17:53:41 and when I say talking.. I mean trying really hard to make puns about it 17:54:03 talking about what 17:54:08 people sucking at recursion? 17:54:10 that logical fallacy 17:54:39 well, "~p => q, bad(q), therefore good(p)" is valid, but it can be rebutted with ~(~p => q) 17:54:49 (assuming p has no other consequences) 17:54:56 hmm 17:55:01 if recursion is self-calling, clearly cursion is calling 17:55:07 people suck at cursion. 17:55:39 -!- kar8nga has joined. 17:56:03 anyone know why i can't do 17:56:04 type 'a sequence = Strict of 'a | Lazy of (() -> 'a) 17:56:04 in ocaml? 17:58:36 what error are you getting? 17:59:00 File "sequence.ml", line 1, characters 44-45: 17:59:00 Error: Syntax error 17:59:12 error is at Lazy of |(|... 17:59:25 try an extra pair of parens around everything past the = 17:59:29 Asztal: yeah, DDC 17:59:35 O'Caml is rather finicky about precedence, I normally end up putting parens everywhere 17:59:53 that won't work, it's a type declaration, no? 18:00:06 yep, that breaks it even moreer 18:00:07 *more 18:00:28 more parens!! 18:00:35 what about fewer parens, then? 18:00:41 just Lazy of () -> 'a 18:00:46 ehird http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html 18:00:50 ais523: same error 18:01:01 soupdragon: that's not what he's trying to do 18:01:08 in my search for that language, I found this: http://lambda-the-ultimate.org/node/1546 <-- oh dear 18:01:09 ? 18:01:09 soupdragon: that isn't the same as () -> 'a afaik 18:01:16 it's better! 18:01:27 ehird: almost done with the basics off my lang :-) 18:01:31 "Why do languages even touch execution which is a technique used to get around current hardware limitations? What will happen when processors can execute seemingly infinite instructions at the exact same time?" 18:01:33 crackpot detected 18:01:42 soupdragon: but it's not what i'm trying to model. 18:01:54 I don't know what you mean 18:02:02 I'm just saying, read this 18:02:09 Why? I do not want to use it. 18:02:23 oh well 18:02:27 Even if I do, that does not help my syntax problem. 18:04:09 maybe i need to give () -> 'a a name 18:05:10 ehird: here's an example from the O'Caml book I have: "type 'a listf = | Val of 'a | Fun of ('a -> 'a) * 'a listf" 18:05:13 the leading | is redundant 18:05:28 what's that weird * 'a listf' 18:05:49 ehird: it means that a Fun is a tuple 18:05:54 right 18:05:55 of a funtion from 'a to 'a, and an 'a listf 18:05:56 oh right 18:05:57 'a listf 18:05:58 *function 18:06:08 OH 18:06:10 (() 18:06:11 (unit 18:06:14 I am so fucking dumb 18:06:20 http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html 18:07:14 yeah i just relooked at that and it is what i want 18:07:21 how do you use a module without opening it in ocaml i forget 18:07:34 oh just use it 18:07:37 http://caml.inria.fr/pub/docs/manual-ocaml/manual004.html :P 18:07:56 I can never remember any of the module stuff 18:07:59 ehh, I wish I could use the lazy keyword directly 18:08:05 instead of Lazy (lazy poop) 18:09:20 ouch windows 7 18:09:31 why does this thing insist on grouping, say, two folder windows? 18:09:38 it makes it almost impossible to switch between them quickly with the mouse 18:11:57 even worse, it starts fading windows in and out while you're trying to choose which to select 18:12:08 which is fine if you're going slowly, but massively annoying if you already know which you want 18:16:48 im actually still realizing just how brilliant that Metamorphosis of Prime Intellect is 18:17:04 soupdragon: huh? 18:17:15 hi SimonRC 18:17:17 MPI? 18:17:28 you don't know it? 18:17:32 soupdragon: once again I must speak several times before you notice me :-) 18:17:41 I meant, what is MPI? 18:17:44 soupdragon: is your nick a Clangers reference? 18:17:50 ais523 yes! 18:19:25 SimonRC: The Metamorphosis of Prime Intellect is a novel. 18:19:33 http://www.kuro5hin.org/prime-intellect/ 18:19:43 ("This online novel contains strong language and extreme depictions of acts of sex and violence. Readers who are sensitive to such things should exercise discretion.", etc.) 18:19:49 Speaking of which I really must get around to reading it sometime. 18:20:26 I think that I must have read it a long time ago 18:20:39 but probably not all the way through 18:20:40 im not sure 18:20:59 ais523: Windows 7 is application based 18:21:04 it's not "grouping two folders" 18:21:08 the task bar is filled with application icons 18:21:12 ehird: I know how it works 18:21:20 that doesn't prevent it being inconvenient, though 18:21:29 click Explorer. click the relevant window 18:21:31 that was hard 18:21:35 yes, but it's two clicks 18:21:39 * Sgeo likes how the things in the task bar can have status bars 18:21:43 and the thing you have to click on doesn't appear until after the first one 18:21:49 which makes it impossible to plan where you're going before you do 18:21:50 I was Remote Assisting a friend who has Win7 18:21:55 it's not hard, but it /is/ slow 18:22:06 Sgeo: yes, browsers use that to show progress of a download, it's nice 18:22:23 ais523: WFM. also, with browsers it shows all tabs, not windows 18:22:24 which is nice 18:22:33 soupdragon: I can't use http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html, it doesn't let a lazy computation depend on itself 18:22:41 "Raise Undefined if the forcing of x tries to force x itself recursively." 18:22:48 ehird: not with Firefox, at least 18:22:50 ...All tabs? That would be pain for me 18:22:50 hmm 18:22:58 hmmm 18:22:59 ais523: IE does it, I think Chrome too 18:23:04 Firefox sucks at platform-nativity 18:23:06 * Sgeo often has a LOT of tabs in one window 18:23:09 use Chrome, it's the best windows browser 18:23:17 didn't Okasaki use lazyness like this to do infinite streams 18:23:19 ehird: can't install software here 18:23:19 I don't understand 18:23:26 maybe I am just imagining that 18:23:31 ais523: tell them to install chrome, then :P 18:23:39 Chrome++ 18:23:39 soupdragon: it's generalised laziness 18:23:40 well 18:23:41 why? IE and Firefox are both good enough 18:23:44 it's generalised lazy/strictness 18:24:04 ais523: IE 8 is alright 18:24:11 but firefox makes you select a window, *then* a tab 18:24:13 which is, indeed, inefficient 18:24:16 but not Windows' fault 18:24:27 ehird: but you're doing that anyway 18:24:31 soupdragon: it's just the evaluation order monad :-) 18:24:33 ais523: no you're not 18:24:36 you're selecting the firefox icon on the task bar, then the individual firefox tab 18:24:36 you click IE, then the tab 18:24:40 vs 18:24:46 you click Firefox, then the window, then the tab 18:24:52 okay 18:24:54 except I only use one Firefox window at a time 18:25:03 ais523: well, don't. 18:25:14 :p 18:25:20 the only reason to open multiple windows of the same browser, apart from showing two things side-by-side or ontop of each other which is rare, is to organise tabs 18:25:35 and if Win7 is just going to lump all the tabs together anyway, why the hell are you opening multiple browser windows? 18:26:06 in other words, Firefox is giving you the choice here, IE is forcing you to effectively use just a single window 18:26:19 how do you define an infix op in ocaml? 18:26:34 not sure, never tried 18:26:49 -!- jpc has joined. 18:27:29 ( op ) 18:27:33 Ctrl-Click the taskbar icon to cycle through windows in that group. 18:28:08 Asztal: that's suboptimal because it's worse than alt-tab in nearly every respect 18:28:16 control-clicking implies I'm using the keyboard 18:28:27 in which case I wouldn't want to use the mouse, because using the keyboard /and/ the mouse is incredibly slowing 18:28:29 Asztal: don't bother, ais523 has been anti-win7 every time he's mentioned it, even though the task bar is superior to the os x dock 18:28:40 ais523: no it's not 18:28:42 ehird: I mostly like it, just the taskbar gets in my way a lot 18:28:44 always keep one hand on the keyboard, duh 18:28:55 ehird: I have both hands on my laptop keyboard atm 18:29:04 moving both hands over to the desktop is substantially slower than moving just one 18:29:09 wow 18:29:13 and that just one I want to put on the mouse, because I'm using it for web browsing 18:29:17 you're criticising a UI because you use a laptop as well as a desktop 18:29:25 and it doesn't account for the movement time 18:29:25 yes, I am 18:29:31 talk about looking for a complaint 18:29:52 ehird: a UI that assumes I'm focusing all my attention on that UI is suboptimal design 18:30:09 quite often I want to use one or both of my hands for something else, e.g. typing on another computer 18:31:32 besides, the UI is slower even when you are focusing all your attention on that computer 18:31:46 a UI that assumes one hand on the keyboard, one on the mouse, /consistently/ (like Blender) is fine 18:31:53 one that makes you move around a lot isn't, though 18:32:00 i'm sure there is some hack to make it use the old taskbar 18:32:32 There is one case in which giving each tab its own thumbnail is slower, which is when you want to pick a window, not a tab (so that you can open a new tab, for example). I find that more common than wanting to open a particular tab. 18:32:39 what I'd really like is something where multiple windows of the same app unbunch, with a text legend to say which is which 18:32:48 but otherwise the same as it is 18:33:00 but that would be inconsistent UI, and so no sane UI maker would do it, despite being useful 18:33:15 Asztal: agreed, if that case wasn't useful to you you wouldn't have multiple windows in the first place, as it's the only reason to use them 18:34:42 I should really try this "never combine" option for the taskbar, see how that works out. It seems to have been improved since the RC. 18:35:01 -!- oerjan has joined. 18:35:46 ooh, there is a "never combine" option, thanks 18:36:01 that fixes the issues I was having with it nicelyt 18:36:03 *nicely 18:36:08 in fact, it does just what I described 18:37:57 Ah, I just noticed there is a text legend if there's room. 18:39:58 soupdragon: i'm trying to do an infinite stream now actually 18:40:47 ...actually, no point 18:40:53 it'd just be the regular stream impl 18:40:58 let's try... 18:41:06 hm 18:42:15 * ehird gets "int sequence sequence" back from the type checker 18:42:17 well that's not right 18:42:50 trying to implement `foo = do _ <- lazy foo; strict 42` 18:42:52 i.e. 18:43:00 lazy foo >>= (\_ -> strict 42) 18:43:30 ehird: wtf are you guys talking 'bout :-p 18:43:47 lieuwe: a monad for lazy or strict evaluation, duh. 18:43:49 ;) 18:44:07 ehird: a what for what or what what? 18:44:08 if you don't know functional programming it won't make any sense to you 18:44:10 that's ok :P 18:44:39 Chrome is so fast, especially when all its children are crashed 18:44:43 fffff i really need my >>= itself to be lazy 18:45:00 Sgeo: :-p 18:45:01 ehird: Learn you some lambda. 18:45:06 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)). 18:45:09 oh wait 18:45:10 | Lazy x -> f (x ()) 18:45:12 god i'm dumb 18:45:16 Lazy == Strict 18:45:39 so... i need all my values to be unit->'a 18:45:42 but some pre-forced 18:46:15 ehird: Erm. Not you. 18:46:18 lieuwe: You. Learn you some lambda. 18:46:23 ehird: note that lazy = return, by the monad laws, iirc 18:46:35 oerjan: yeah i had that in my haskell version 18:46:41 because return x >>= f = f x 18:46:44 but i'm doing it in ocaml first because it's clearer what is strict and what is lazy 18:46:48 and also because rnf requires a typeclass 18:46:54 and for the same reason Set is not a monad Sequence cannot be 18:46:57 -!- bsmntbombdood has joined. 18:47:00 (typeclass restriction on its argument) 18:47:04 pikhq: eh, why? 18:47:14 lieuwe: because functional programming is the best. 18:47:14 oh wait not really return, just id, since you pass it something monadic 18:47:24 oerjan: no, you don't 18:47:35 data Sequence a = Strict a | Lazy a 18:47:47 you have foo = do ..., so foo must me monadic... 18:47:49 i guess Strict !a could work 18:47:52 and then lazy foo 18:47:57 oerjan: right it was nested monadic or whatever 18:48:01 i'm trying to fix it shush :P 18:48:07 how's this for a gnarly type sig 18:48:09 val ( >>= ) : 'a sequence -> ('a -> 'b sequence) -> 'b sequence = 18:48:12 erm 18:48:13 wrong one 18:48:18 val ( >>= ) : 'a sequence -> ((unit -> 'a) -> 'b sequence) -> 'b sequence = 18:48:53 # foo ();; 18:48:53 - : int sequence = Strict 42 18:48:53 woot 18:48:58 let rec foo () = 18:48:59 Lazy (fun () -> foo ()) >>= (fun _ -> 18:48:59 Strict 42) 18:49:13 oh wait I can rewrite (fun () -> foo ()) as foo 18:49:14 excellent 18:49:22 let rec foo () = Lazy foo >>= (fun _ -> Strict 42) 18:49:31 I guess it should be "sequenced" not "sequence" 18:50:21 that () arg is just because ocaml doesn't like you doing that otherwise :P 18:50:36 rnf is for deep normalization though, not just top constructor (which doesn't require a type class in haskell) 18:51:01 oerjan: yes, but it behaved rubbishly like that 18:51:08 do x <- strict [1..]; return 42 18:51:18 kinda poopy if that is == return 42 18:51:32 mhm 18:52:20 let rec ones () : (int list) sequence = 18:52:21 Lazy ones >>= (fun me -> 18:52:27 so me : unit -> int list 18:52:40 Lazy (fun () -> 1 :: (me ()))) 18:52:53 Error: This expression has type int list sequence 18:52:53 but an expression was expected of type int list 18:52:53 wut?? 18:53:45 let rec ones () : (int list) sequenced = 18:53:45 Lazy ones >>= (fun me -> 18:53:45 Lazy (fun () -> 1 :: (me ()))) 18:53:46 * ehird can't see anything wrong with that 18:54:10 it's just `ones = do me <- lazy ones; lazy (1 : me)` 18:54:18 more or less 18:54:53 1 :: me is int list, right 18:55:09 1 :: me () is int list 18:55:23 so Lazy (fun () -> 1 :: me ()) is (int list) sequenced 18:55:45 so (fun me -> Lazy (fun () -> 1 :: me ())) is (unit -> int list) -> (int list) sequenced 18:56:02 which is what the right operand to >>= should be. 18:56:17 and therefore the result of >>=, assuming the left hand is typed properly, 18:56:21 is (int list) sequenced 18:56:33 therefore ones () is of type (int list) sequenced, therefore the left hand side, Lazy ones, is typed correctly 18:56:37 QED 18:56:40 now why does ocaml disagree? 18:56:48 um the right operand to >>= should have an arbitrary first argument, surely? 18:57:25 (>>=) :: Monad m => m a -> (a -> m b) -> m b 18:57:36 val ( >>= ) : 'a sequenced -> ((unit -> 'a) -> 'b sequenced) -> 'b sequenced = 18:57:37 18:57:44 type 'a sequenced = 18:57:45 | Strict of 'a 18:57:45 | Lazy of (unit -> 'a) 18:57:45 let ( >>= ) (x : 'a sequenced) (f : (unit -> 'a) -> 'b sequenced) : 'b sequenced = 18:57:46 match x with 18:57:46 | Strict x -> f (fun () -> x) 18:57:47 | Lazy x -> f x 18:57:50 we need to preserve laziness, you see 18:58:53 -!- Slereah has joined. 18:58:55 oh well 18:59:06 * ehird discovers he can make ones not a function 18:59:07 let rec ones : int list sequenced = 18:59:07 Lazy (fun () -> ones) >>= (fun me -> 18:59:08 Lazy (fun () -> 1 :: me ())) 18:59:11 oerjan: "oh well" meaning? 19:00:42 -!- lieuwe has quit ("Page closed"). 19:00:48 hmm does ocaml have undefined 19:00:53 nothing. it wasn't me. you cannot prove it. nobody saw me. oh wait, you did. 19:01:26 how could it? it's a bottom. 19:01:38 hi oerjan 19:01:42 yes and? 19:01:50 i just want something that types for any type and barfs on execution 19:01:56 haskell subverts the type system with this, why can't ocaml 19:02:00 ehird: error? 19:02:01 i can use unsafe.coerce or something iirc in ocaml 19:02:04 internals or something 19:02:14 oerjan: error is not defined :/ 19:02:15 or raise something 19:02:24 let everything = everything 19:02:26 ?? 19:02:40 yeah raise will work 19:02:45 let rec** 19:02:48 # let rec everything = everything;; 19:02:48 Error: This kind of expression is not allowed as right-hand side of `let rec' 19:02:51 hmm maybe it's disallowed :( 19:02:57 oh well you could use rectypes for a Y combinator 19:03:03 make omega 19:03:05 exception Barf 19:03:06 let barf = raise Barf 19:03:12 you can do without Y actually 19:03:34 wait 19:03:36 that needs to be barf () 19:04:03 augur !!!!!!! 19:04:10 I figured out how to parse CCG 19:04:13 O_O 19:04:15 oh? 19:04:19 it took me a long time but I worked it out 19:04:53 I might code it tommowor 19:05:08 what i'd end up doing is a left-to-right parser 19:05:21 which tries to build a left-corner parse 19:05:21 oerjan: aha 19:05:28 the problem is that since ones : int list sequence 19:05:33 Lazy ones : int list sequenced sequenced 19:05:33 and when it cant, it tries compose, or lift, etc etc 19:05:49 so, /me is confused 19:05:49 and it backtracks when it cant do anything, to try alternatives 19:06:49 augur, oh yeah something a bit irritating was none of the papers on parsing it has T, just B_n 19:07:19 what 19:07:27 oh, compose 19:07:33 not lift 19:07:35 meh. 19:07:37 there's a few papers about parsing these but they're kinda confusing 19:07:47 like.. I couldn't follow any of them 19:08:12 i should try to write a parser too 19:08:12 :o 19:08:24 augur in your prolog 19:08:26 ;) 19:08:28 :) 19:08:31 nah 19:10:19 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 19:10:44 augur what language do yu use 19:11:01 augur is a ruby guy. 19:12:01 for the prolog interp? 19:12:15 its in JS. theres no web-based Prolog interp so ive decided to make one 19:12:39 http://ioctl.org/logic/prolog1 19:12:43 http://yieldprolog.sourceforge.net/ 19:12:48 I beg to differ. 19:12:51 for the parser 19:12:54 :| 19:13:00 how'd you find these? 19:13:03 Google. 19:13:06 "javascript prolog" 19:13:09 :| 19:13:24 It lets you find pages on the web by typing in keywords found in those pages or pages that link to them. 19:13:40 It even ranks them by how relevant it thinks they are to your keywords, using a fancy algorithm based on pages that link to it. 19:13:43 well thats ok. that wasnt the only reason i was making this. 19:13:44 You should try it sometime. 19:16:48 Yield Prolog looks quite nice, infact 19:18:25 soupdragon: in total languages there's no runPartial :: Partial a -> a, so i guess it's sorta like how the haskell runtime does runIO :: IO a -> a right? 19:18:39 yes 19:19:50 what about bottom, can you do this in a total language + Partial: 19:19:57 bottom :: Partial a 19:19:57 bottom = do 19:19:57 foo <- bottom 19:19:58 return foo 19:20:02 haha 19:20:10 i'll take that as a no 19:21:11 how do you implement _|_ then 19:21:28 bottom = Delay bottom 19:21:40 it's a properly guarded corecursion 19:21:47 Delay = Later for me 19:21:51 (because I like Now/Later as a name pair) 19:22:03 anyway, yeah, should have thought of that... 19:22:11 Now/Later heh 19:22:18 * SimonRC goes for a bit 19:22:24 soupdragon: so when do I have to explicitly say Delay 19:22:26 what language are you asking about, ehird 19:22:29 as opposed to it being identical to the identity monad 19:23:04 *Main> runPartial $ factorial 33 19:23:05 *** Exception: stack overflow 19:23:07 shweet 19:23:16 hahaha 19:23:17 (yeah ok factorial isn't partial shut up) 19:23:23 ehird :( 19:23:28 runPartial _ = error "stack overflow" 19:23:37 you suck ehird. you suck so much. 19:23:39 T_T 19:24:06 augur: from you that's a compliment, right? 19:24:17 well no, not in this case 19:24:24 i was going to make some sort of a comment or another about being straight but decided not to open that can of worms 19:24:32 not with augur 19:24:34 what can of worms 19:24:34 that is never a good idea 19:24:42 oh WELL 19:24:51 ehird, its ok 19:24:54 soupdragon: invoking his "make a bunch of gay innuendo" procedure 19:24:55 we know you're a queer anyway 19:25:04 innuendo? 19:25:05 ("I'll invoke your procedure if you know what I mean") 19:25:12 x3 19:25:28 what the heck is that smiley 19:25:36 X3 19:25:41 a cross-eyed cat 19:25:52 not cross eyed 19:26:07 soupdragon: data PartialList a = Nil | Cons a (Partial (PartialList a)) 19:26:07 or 19:26:12 soupdragon: data PartialList a = Nil | Cons (Partial a) (Partial (PartialList a)) 19:26:14 presumably the former 19:26:17 -!- coppro has joined. 19:26:20 its the squinted-eyes you get when you laugh too hard 19:26:30 ehird data List list a = Nil | Cons a (list a) 19:26:41 coppro: http://www.doodle.com/rhriqxe2rb226it2 you are contractually obligated to vote due to pledging. kthx :P 19:26:53 soupdragon: how fancy 19:26:53 hm 19:26:56 ehird data List list a = Nil | Cons a (list list a) 19:27:01 one of them... 19:27:06 soupdragon: no that's ridiculous 19:27:11 if you do List Poop a 19:27:13 there's some kind of methodical way to do it 19:27:14 you get 19:27:18 soupdragon: no way list list a types 19:27:20 Cons a (Poop Poop a) 19:27:28 I kind of get it 19:27:29 so that's basically list... for one iteration 19:27:34 the thing can't self apply 19:28:02 ah, PartialList a should only ever be used as Partial (PartialList a) 19:28:08 otherwise, pHead :: PartialList a -> a 19:28:13 and that's just not very partial is it now 19:28:14 I wonder if it should be a list or list a 19:29:36 pTail :: PartitalList a -> Partial (PartialList a) 19:29:36 ↑ this desugars to 19:29:45 pTail :: Partial (PartialList' a) -> Partial (Partial (PartialList' a)) 19:29:47 List a list = Nil | Cons a list List a (List a) 19:29:47 TOO MANY PARTIALS 19:29:53 yerh 19:30:14 *PartialList 19:30:18 not PartitalList :P 19:30:48 pTail :: PartialList a -> Partial (PartialList a) 19:30:49 pTail lst = do 19:30:49 Cons _ xs <- lst 19:30:49 xs 19:30:52 weirdest function I ever did see 19:31:00 data List wrapper a = Nil | Cons (wrapper a) (wrapper (List wrapper a)) 19:31:09 woah 19:31:33 type PartialList = List Partial 19:31:48 ehird: done 19:32:12 or perhaps = Partial (List Partial) 19:32:18 coppro: you are a good person and deserve much praise 19:32:28 yay! 19:32:31 oerjan: http://www.doodle.com/rhriqxe2rb226it2 Voting is NOT OPTIONAL 19:32:43 coppro, you're awesome 19:32:45 no but visiting is, right? 19:32:54 oerjan: NO 19:32:59 darn 19:33:14 ehird: tell coppro: "coppro: ehird says you're awesome" 19:33:18 coppro: ehird says you're awesome 19:33:24 *tell coppro: "ehird 19:33:29 :P 19:34:29 * soupdragon spills worms all over everyone 19:35:21 O_O 19:37:02 -!- soupdragon has quit ("Leaving"). 19:37:53 ehird: either that poll is broken in IE, or it requires registration. in any case, i consider myself excused. 19:38:31 probably the former 19:38:32 oerjan: you forgot to enter a name 19:38:36 coppro: he uses IE 8 19:38:39 oh 19:38:42 IE 8 is quite solid, and what corporation wouldn't support it? 19:38:47 probably what ehird said then 19:38:56 yeah, 8 is good 19:38:57 oerjan: (it's to the left of the choices) 19:38:59 not great 19:39:02 but good 19:39:07 coppro: apart from the UI above the page 19:39:15 true 19:39:17 they fucked up with the whole removing the menus thing 19:39:39 ehird: what _choices_? 19:39:50 oerjan: the checkboxes 19:40:00 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:40:03 wait, alter and amend are your suggested editor names? 19:40:09 yes... 19:40:13 something wrong with that? :D 19:40:33 ic i thought they were some kind of polling options... 19:40:38 -!- lament has joined. 19:42:45 oerjan: you are now contractually obligated to specify other 19:43:14 i cannot, there is nowhere to write it. MWAHAHA 19:43:27 that's not my fault :( 19:44:21 but i think my not being able to recognize that the other options _were_ editor names was a good enough reason to specify Other... 19:44:55 would you prefer EhirdsEd or something insane like that :P 19:44:57 *inane 19:45:03 freudian slip... 19:45:41 as for slip, what about "writhe" 19:46:15 * ehird attempts to decode that sentence 19:46:45 i mean, i suggest "writhe", as an insane typo of write 19:47:14 also in the spirit of lewis carroll, iirc 19:47:47 The Mock Turtle went on. .We had the best of educations . . . Reeling and Writhing, of course, to begin with, and then the different branches of Arithmetic.Ambition, Distraction, Uglification, and Derision.. 19:48:19 that would have been better with proper punctuation, naturally 19:49:17 writhe is too unpleasant, clearly :P 19:50:02 oh WELL 19:51:44 * ehird slaps oerjan 19:52:57 I have invented a method for never losing anything. 19:53:17 Suppose you have 100 items, and you are afraid of losing even one of them. This means you have 100 opportunities to lose something. 19:53:18 uorygl: the game 19:53:42 Consider these 100 items to be 100 one-item piles. Put two of these piles together; now you have 99 piles, meaning 99 opportunities to lose something. 19:54:11 Put two piles together again; then you'll have only 98 opportunities to lose something. Simply repeat until you have 0 opportunities to lose something, and you will never lose anything again. 19:54:21 it's the Haystack solution. oh wait... 19:54:36 i sense an induction base problem 19:54:50 uorygl: impossible 19:54:52 you can only get to 1 19:54:57 combining the last two piles into 1 19:55:01 → 1 chance of losing everything 19:55:36 Ah, but there is a flaw in your reasoning! 19:55:42 Simply consider yourself to be one of the items! 19:55:59 ehird: but that would go against the well-known advice of egg-sperts! 19:56:04 item = thing-that-can-be-lost, correct? 19:56:11 I can't lose myself, so I am not an item. 19:56:12 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 19:56:12 If you carry all your stuff with you all the time, you will never lose anything. 19:56:44 are we ignoring environmental factors here? 19:56:44 That's kind of a strange definition of an item. 19:56:48 e.g. stuff dropping out of pockets 19:56:51 uorygl: your method appears foolproof. 19:57:03 Zip your pockets. 19:57:03 uorygl: your method was to stop you ever losing anythhing 19:57:05 *anything 19:57:10 and involved putting everything together 19:57:31 so if you say "put everything together" in response to "how can i stop these pesky things being lost", clearly everything that is a thing can be lost 19:57:38 otherwise your response should have said "put every losable thing together" 19:57:43 -!- coppro has joined. 19:57:46 therefore, since I cannot lose myself, I am not a thing. 19:57:46 QED 19:58:08 Also, consider building all your stuff into a tower so tall it can be seen from anywhere in the world. 19:58:15 * oerjan approves: http://blog.makezine.com/archive/2010/01/toy_train_used_to_calibrate_fusion.html 19:58:39 (yeah it's from reddit. so what, it's awesome) 20:00:01 -!- Slereah_ has joined. 20:00:48 Or sell all of your stuff and buy a backpack full of iPhones. 20:01:23 * oerjan realizes that was blogspam based on http://www.nytimes.com/2009/12/29/science/29train.html?_r=4&ref=science 20:04:49 -!- Slereah has quit (Read error: 60 (Operation timed out)). 20:05:32 grr, new york times wants me to login 20:05:47 MWAHAHA i got past without this time 20:06:04 I think I created a New York Times account. 20:06:05 incidentally i never login when it wants me to 20:06:19 You know, this is what BugMeNot was made for. 20:08:15 -!- MigoMipo has joined. 20:09:06 -!- MizardX- has joined. 20:23:27 -!- zzo38 has joined. 20:24:26 How can I make a program to read fax document, with a barcode and with filling in like scantron forms 20:25:02 -!- MizardX has quit (Connection timed out). 20:25:32 -!- MizardX- has changed nick to MizardX. 20:26:49 -!- coppro has quit ("I am leaving. You are about to explode."). 20:27:25 -!- coppro has joined. 20:31:20 -!- zzo38 has quit (Remote closed the connection). 20:56:38 -!- snowscape has joined. 21:06:26 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 21:11:14 -!- MigoMipo has quit (Read error: 110 (Connection timed out)). 21:58:33 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 22:02:02 -!- pikhq has joined. 22:02:14 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 22:07:04 -!- pikhq has joined. 22:15:31 -!- coppro has quit (Remote closed the connection). 22:17:06 -!- coppro has joined. 22:21:06 -!- MigoMipo has joined. 22:21:35 -!- MigoMipo has quit (Remote closed the connection). 22:44:24 -!- lament has quit. 22:58:48 -!- Azstal has joined. 23:01:17 -!- MigoMipo has joined. 23:04:22 -!- Aszstal has joined. 23:09:06 -!- Asztal has quit (Read error: 110 (Connection timed out)). 23:09:16 -!- Aszstal has changed nick to Asztal. 23:16:24 -!- Azstal has quit (Read error: 110 (Connection timed out)). 23:17:12 -!- ehird has quit. 23:21:10 -!- snowscape has quit (Remote closed the connection). 23:29:49 -!- ehird has joined. 23:29:51 Hello! 23:29:54 Guess what OS I am using. 23:29:57 coppro cannot guess. 23:30:33 EhirdOS? 23:30:33 OpenVMS 23:31:17 Plan9 from Bell Labs? :-) 23:31:21 oklofok: I. Wish. 23:31:23 Windows? 23:31:27 oerjan: I really, really anti-wish. 23:31:32 :D 23:31:36 Ilari: Good luck getting it running on this hardware, though I love the thing. 23:31:40 pikhq: Nope. 23:32:07 pikhq: Nice try. 23:32:08 Imma go with Linux. 23:32:18 Konqueror. 23:32:20 4.3. 23:32:51 Aww, darn you. 23:32:58 Fucking web chat exposin' mah browser. 23:33:05 Hahah. 23:33:41 linux? how vanilla. 23:34:47 Quite. 23:37:41 well guess what os *i'm* on! 23:38:03 losethos 23:38:28 Windows 23:38:30 Pthing: regarding svg: not quite. 23:38:40 cheater 23:38:52 [16:37:59]===CTCP version reply “mIRC v6.31 Khaled Mardam-Bey” from oklofok 23:39:21 oklofok: oklOS 23:39:27 I'm still relying on you to write that someday 23:39:39 coppro: it's cheating even if you admit it is. 23:40:30 ehird: might be long till i next program anything. 23:41:09 oklofok: i'll totally pay you to do it* 23:41:11 *lie 23:41:26 * oklofok i tired of explaining stuff to simpletons 23:41:28 *is 23:42:28 explanation: oklofok is a mathematician now. he is only allowed to prove the programs exist, not to write them. 23:42:57 yup 23:43:34 can he prove them correct but not test them? 23:43:35 however, if you input his proof to Coq, you can extract the program for there. 23:43:43 *from 23:44:16 oerjan: if it's not in oklo style, it's not an oklo program. 23:44:27 true that 23:46:48 also great news, i did manage to meet the game theory dude 23:46:58 so i did not get a mortal enemy. 23:48:35 * oklofok considers doing something 2010-01-10: 00:03:22 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net"). 00:09:12 -!- ehird has quit (Ping timeout: 180 seconds). 00:10:49 * pikhq is probably slightly crazy. Or silly. 00:10:54 Template-like macros, anyone? 00:13:51 are they chocolate-covered? 00:15:21 No. 00:15:34 darn. 00:16:45 the nature is so beautiful 00:16:53 trees, especially 00:17:24 yay, trees 00:17:38 i want to touch them but the snow cover would be damaged 00:18:15 but i think it should start warming above -20 celsius now 00:18:57 -10.8 here, says the internet 00:19:06 pikhq: huh? 00:19:13 was near -30 during the week though 00:19:22 we had a Chinook yesterday 00:19:49 -!- Asztal has quit (Read error: 60 (Operation timed out)). 00:20:02 (Chinook = local name for Foehn wind) 00:20:14 was around -20 the rest of the week 00:21:05 coppro: Implementing something similar to C++ templates using macros. 00:21:15 oh 00:21:18 sounds scary 00:21:28 just having better template syntax would be good I think 00:21:31 "AEG registered the trademark Fön in 1908 for its hairdryer. The word became a genericized trademark and is now, with varying spelling, the standard term for "hairdryer" in several languages, such as Finnish, German, Swiss German, Danish, Italian, Dutch, Norwegian, Czech, Croatian, Latvian, Romanian, Hebrew, Slovak, Slovenian, Swedish, Russian, Ukrainian, Turkish and Swiss French." 00:21:34 coppro: do you have beautiful trees there? 00:21:35 -!- Asztal has joined. 00:21:44 oklofok: we do! But all the snow melted :( 00:21:54 probably not if I went to the mountains though 00:22:02 (not melted, not not beautiful) 00:22:03 coppro: The only scary bit is that it needs two GCC extensions to work similarly to C++ templates. 00:22:11 pikhq: O_o 00:22:11 ({ }), and functions on the stack. 00:22:15 oh 00:22:24 meh 00:22:35 you meant CPP 00:22:49 ... Yes... 00:23:16 In what other context would "similar to C++ templates using macros" make any sense? 00:24:07 any? 00:24:15 there are more than just CPP macros 00:24:40 And they don't really make sense when discussing "C++ templates", now do they? 00:24:52 well, you didn't explain the context 00:25:09 you may have just been trying to make some macro system with similar power or function to C++ templates for all I knew 00:25:30 Why would I do something like that? :P 00:28:10 yeah *that* would've been crazy. 00:28:47 we are mad here, but not _that_ mad 00:54:17 -!- kar8nga has quit (Remote closed the connection). 00:59:59 * SimonRC goes to bed. ( http://eatliver.com/i.php?n=5201 ) 01:01:10 very poignant 01:01:37 I DON'T GET IT 01:05:41 it's metaphorical 01:14:43 http://eatliver.com/i.php?n=5190 01:15:22 * oerjan suggests looking carefully at that one 01:19:04 hello, oerjan 01:19:51 hello, oklofok 01:20:10 hello, bsmntbombdood 01:25:58 hello, bsmntbombdood 01:36:00 helllllloe 02:16:01 -!- ehird has joined. 02:16:06 i'm *totally* dickinsonian 02:17:04 -!- ehird has left (?). 02:17:10 -!- ehird has joined. 02:21:59 -!- ehird_ has joined. 02:23:25 -!- ehird has quit (Ping timeout: 180 seconds). 02:25:18 -!- ehird has joined. 02:25:19 -!- ehird has quit (Client Quit). 02:25:46 -!- ehird has joined. 02:26:38 -!- ehird_ has quit (Ping timeout: 180 seconds). 02:31:29 -!- oerjan has quit ("Good night"). 02:41:58 -!- Gregor has quit (Read error: 110 (Connection timed out)). 02:44:39 pikhq: ping 02:44:47 ehird: Pong 02:44:54 pikhq: what's the Tile command to set theme? 02:44:57 tile::setTheme foo doesn't work 02:45:10 I've not messed with Tk 8.5. 02:45:18 bah 02:45:20 % package require tile 02:45:20 0.8.0 02:45:20 % tile::setTheme xpnative 02:45:20 invalid command name "tile::setTheme" 02:46:27 wiki.tcl.tk sez these should all work 02:46:42 * pikhq shruggeth 02:48:06 okay, one really dumb question though 02:48:12 I should use tclsh to execute a tcl script, right? 02:48:13 batch mode 02:48:17 (never wish) 02:49:06 Yes. 02:49:18 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 02:49:31 The following instructions are for the Tile package, not for the ttk included in Tk 8.5. There are subtle differences, such as tile::setTheme becoming ttk::setTheme and others. 02:49:34 wish has no reason to exist any more; package require Tk. Always. 02:49:35 Badabingo. 02:49:44 pikhq: objection: interactive use 02:50:06 ehird: package require Tk works just as well in interactive use. 02:50:12 But it's more typing. 02:50:59 I take it you're not familiar with how there used to be a bunch of different tclsh's... 02:51:10 hmm 02:51:11 ttk::setTheme alt 02:51:11 button .b -text "Hello, world!" -command exit 02:51:11 pack .b 02:51:14 tclsh, wish, expect, expectk, etc. 02:51:22 I wonder if I have to prefix stuff with ttk:: to get it to actually use the widgets 02:51:26 because it doesn't seem to be changing anything 02:51:31 pikhq: erm, expect is a separate program 02:51:58 -!- Gregor has joined. 02:52:44 ehird: A Tcl shell with expect loaded. 02:57:30 http://wiki.tcl.tk/14796 02:57:32 :-( 02:57:37 I have to use ttk widgets to get theming. 02:57:45 I thought it was added to the base Tk widgets; lame. 02:58:10 -!- coppro has joined. 03:10:01 -!- ehird has quit (Remote closed the connection). 03:11:56 -!- ehird has joined. 03:12:04 Much better! 03:17:26 -!- BeholdMyGlory has quit (Remote closed the connection). 03:21:32 -!- FireFly has quit ("Leaving"). 04:17:14 -!- coppro has quit ("I am leaving. You are about to explode."). 04:37:00 #amend if anyone wants to discusserate my editorate btw. 04:49:09 -!- coppro has joined. 04:59:43 wb coppro 05:16:57 -!- ehird has quit (Read error: 60 (Operation timed out)). 06:05:02 -!- Pthing has quit (Remote closed the connection). 06:47:28 -!- MizardX has quit (Read error: 110 (Connection timed out)). 06:50:47 -!- lament has joined. 06:59:16 -!- Asztal has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:16:23 -!- soupdragon has joined. 08:36:01 -!- AnMaster has quit (Read error: 104 (Connection reset by peer)). 08:38:56 -!- AnMaster has joined. 09:06:27 -!- lament has quit. 10:01:06 -!- kar8nga has joined. 10:20:28 -!- jpc has quit (Read error: 110 (Connection timed out)). 11:08:08 -!- soupdragon has quit (Read error: 54 (Connection reset by peer)). 11:08:24 -!- soupdragon has joined. 11:24:22 -!- FireFly has joined. 12:01:52 -!- oerjan has joined. 12:16:54 -!- ais523 has joined. 12:24:38 -!- olsner has quit (Read error: 110 (Connection timed out)). 12:25:17 -!- olsner has joined. 12:34:56 -!- MizardX has joined. 12:36:53 -!- augur has quit (Read error: 113 (No route to host)). 12:47:23 Side effects for any library function may include it returning NULL, the program exiting, or fucking output to standard output! 12:47:56 sounds like an esolang 13:00:36 -!- zeotrope has joined. 13:09:11 huh? where? 13:09:27 hi SimonRC 13:09:41 hi 13:16:09 -!- oerjan has quit ("leaving"). 13:29:37 -!- k has joined. 13:29:58 -!- kar8nga has quit (Nick collision from services.). 13:30:01 -!- k has changed nick to kar8nga. 13:42:00 -!- kar8nga has quit (Remote closed the connection). 13:49:25 does anyone know if information is transferred faster by reading or by listening. Assume a skilled reader and native speaker. 13:49:54 reading, absolutely 13:50:18 it's impossible to talk at the normal reading speed 13:50:22 true 13:50:39 oklofok, well what about news? Try talking as fast as they do on news on TV or radio 13:50:45 you will have a hard time managing that 13:51:09 (at least, most people have a hard time managing that) 13:51:55 even if i just mumble something like "bzzb" for every word, it will take about 3 times more to read something 13:52:04 looking at a sentence at a time vs. looking at a word at a time 13:52:05 -!- BeholdMyGlory has joined. 13:52:11 hm probably 13:52:33 a bit of an exaggeration maybe, but i think it's definitely reading. 13:52:45 (i did test the bzzb thing) 13:53:59 hm 13:59:43 bbl 14:00:03 ehird for the logs, here's a Perl6 code snippet for you: "subset Even of Int where { $_ % 2 == 0 }" 14:00:12 now if only we could persuade them to do type inference too, that would be perfect 14:00:41 (and as it's Perl6, I shudder at the $_ and think $^a would work better) 14:00:41 think an advanced perl6 compiler could prove that even + even = even? 14:02:55 no, it doesn't try to do type inference at all 14:04:14 ooh, it does work with $^a too 14:04:33 I bet it looks at how many arguments the block's expecting, and uses $_ or the first arg accordingly 14:05:03 works with pointy blocks too, this is fun 14:10:36 ais523, $^a ? 14:10:39 what does that mean 14:10:54 and why the alphanumeric bit. Did they run out of other symbols? 14:10:56 AnMaster: if you use variables starting $^ inside a block in perl6 14:11:03 then they become arguments to the block, in alphabetical order 14:11:09 hm okay 14:11:26 ais523, do they just take every feature they can think of and throw it in? 14:11:31 e.g. {"$^a $^c $^b"}<1 2 3> returns "1 3 2" 14:11:50 um, forgot the parens 14:12:06 > say {"$^a $^c $^b"}(|<1 2 3>) 14:12:08 1 3 2 14:12:16 and forgot to interpolate the param list 14:12:28 ais523, interpolate? 14:12:30 if you don't like the implicit alphabetical order thing, you can do it explicitly 14:12:31 the param list?! 14:12:43 AnMaster: func(<1 2 3>) passes it one argument, the list (1, 2, 3) 14:12:50 ah 14:12:54 func(|<1 2 3>) passes it three, 1, 2, and 3 14:13:04 well okay, varargs style kind of 14:13:05 which could of course be written func(1, 2, 3) 14:13:20 I can see why that other notation is useful 14:13:27 to pass varargs from an array 14:13:40 > say -> $first, $second, $third {"$first $third $second"}(|<1 2 3>) 14:13:41 1 3 2 14:13:54 or for invoking functions with a list of arguments and you don't know the function or the number of arguments until runtime 14:13:56 if you don't like alphabetical order, you can use a lambda instead 14:14:04 although it's kind-of weird that the lambda operator is -> {} 14:14:13 hm 14:14:41 > say (sub ($first, $second, $third) {"$first $third $second"})(|<1 2 3>) 14:14:44 1 3 2 14:14:48 that's perl5y syntax for a lambda, also accepted in perl6 14:15:23 > say (sub ($first, $second, $third) {"$first $third $second"})(:second(2), :third(3), :first(1)) 14:15:24 1 3 2 14:15:28 and you can name the arguments instead if you like 14:15:36 when calling a sub 14:15:58 > say -> $first, $second, $third {"$first $third $second"}(:second(2), :third(3), :first(1)) 14:15:59 1 3 2 14:16:07 with the pointy block too, it seems pointy blocks work identically to subs 14:22:51 -!- kar8nga has joined. 14:41:45 -!- jetxee has joined. 14:42:04 -!- jetxee has left (?). 14:48:14 ais523, pointy blocks? 14:48:27 AnMaster: the -> {} notation for lambdas 14:48:32 ah 14:48:39 ais523, thought you meant <> 14:48:46 looks pointy to me 14:49:01 > say {"$^a $^c $^b"}(:b(2), :c(3), :a(1)) 14:49:03 1 3 2 14:49:06 wow, that works as well? 14:49:09 I'm impressed 14:49:19 * ais523 abbreviates 14:49:57 hmm, seems they got rid of the :1a abbreviation for :a(1) 14:50:19 probably a good thing, that was beginning to get too silly for words 14:50:41 ais523, hm? 14:51:07 the only real reason they added :1a to the language 14:51:15 was so you could have a function with params called st, nd, and th 14:51:19 and do :2nd 14:51:21 err okay 14:51:27 are those reserved words? 14:51:28 also, to make Python programmer's heads explode 14:51:36 AnMaster: nothing's a reserved word in Perl6 14:51:47 ais523, then why can't you have params called st, nd or th? 14:51:51 you can 14:52:01 just you'd have to write :nd(2) rather than :2nd 14:52:07 which defeats the whole point in that naming 14:52:12 ais523, is that perl6 syntax? 14:52:21 because iirc you used shift or something in perl5 14:52:24 yes, although it's not stabilised yet 14:52:41 perl6 has actual syntax for arguments 14:52:46 rather than lumping them all in @_ 14:52:51 ais523, also I'd much rather use python than perl. Even for text processing 14:53:23 perl does make my head explode, Python only makes the frontal indention lobe explode 14:54:47 ais523, still I have found the secret of perl now 14:54:51 still,* 14:55:01 > sub if ($a) { say $a } ; if('Hello, world!'); 14:55:03 Hello, world! 14:55:33 if ?? 14:55:41 which is: if you can think of a single use case where it would be one letter shorter than current alternatives, implement the feature 14:55:56 soupdragon, he redefined if 14:56:02 read the line 14:56:02 no, I didn't 14:56:04 I defined it 14:56:08 the original usage of if still works 14:56:12 err 14:56:21 ais523, how can both work at once? 14:56:33 AnMaster, quantum physics 14:56:38 there's no code snippet where it's ambiguous whether you mean if the control-flow operator or if the function 14:57:41 soupdragon, :P 14:59:23 > if (1 != 2)+4 14:59:25 5 14:59:26 > if(1 != 2)+4 14:59:28 1 15:00:17 > if (1 != 2) { say "Hello, world!" } 15:00:19 Hello, world! 15:00:29 > if(1 != 2) { say "Hello, world!" } 15:00:30 Confused at line 1, near "{ say \"Hel" 15:00:34 whitespace sensitivity is fun 15:00:46 (those are, respectively, function, function, control operator, syntax error) 15:02:40 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)). 15:23:55 -!- soupdragon has quit ("Leaving"). 15:24:45 -!- soupdragon has joined. 15:25:58 -!- soupdragon has quit (Client Quit). 15:29:19 -!- lieuwe has joined. 15:31:38 -!- soupdragon has joined. 15:38:23 i need a name for the esolang i'm making, hard to come up with something that isn't used already :-/ 15:38:34 call it lieuwe 15:38:59 soupdragon: ehrm, no, i wouldn't like my name all ofer ze interwebz 15:39:17 whats the language 15:39:20 whats it 15:39:21 show me 15:40:01 soupdragon: ehrm, no, i wouldn't like my name all ofer ze interwebz <-- if you don't, why are you using that nick on irc 15:40:02 (add[(get[foo]),(get[bar])]) to add two variables... 15:40:18 since this channel has public logs after all. 15:40:25 and do nothing with the result :-P 15:40:37 how is it eso? 15:40:45 lieuwe, looks just verbose, 15:40:48 lieuwe: ... You mean you don't go by Real "nick" Name? 15:40:49 s/,$// 15:40:58 soupdragon: not yet, need to add some odd funcs in... 15:41:08 ok 15:42:04 decisions, decisions... 15:43:16 pikhq: nope, atleast not here, i do on most forums... 15:43:48 Lame. 15:44:21 pikhq: ? 15:54:28 -!- uorygl has quit (Read error: 60 (Operation timed out)). 15:55:33 i need some moar ideas, is there some place where i can find high level esolangs? the wiki doesn't seem to have any... 15:55:47 Glass 15:56:21 -!- uorygl has joined. 15:58:40 -!- olsner has quit (Read error: 60 (Operation timed out)). 16:02:21 lieuwe: the issue is, most esolangs are created to explore a particular concept 16:02:31 whereas high-level languages tend to be full of lots of different concepts 16:02:54 and then there are languages which feel simultaneously high- and low-level, like INTERCAL 16:03:19 (the whole thing's pretty much an abstraction inversion; you have some rather high-level commands/operators, but they're mostly useful only for implementing low level commands/operators in) 16:04:13 ais523: hmm, yeah, i was thinking 'bout going in a different direction with this, i have the lexer/parser done, i was thinking about a esolang to python converter... or possibly just convert it to a ast and execute it... 16:04:32 and that users could define their own lang for it... 16:04:35 lieuwe: those are typical methods of implementing esolangs 16:05:28 (CLC-INTERCAL manual: http://smuggle.intercal.org.uk/manual/) 16:05:38 it has things like first-class filehandles 16:05:49 to the extent that you can steal a filehandle from another process and continue reading from it / writing to it 16:06:30 ais523: 0.o 16:06:45 CLC-INTERCAL has something very like object-orientation, too 16:07:30 and something which is vaguely similar to a reference, except it isn't 16:07:45 ais523: now that sounds like tho mother off all esolangs 16:08:03 huge progress has been made in INTERCAL development over the past few years 16:08:13 e.g. C-INTERCAL's threading model and CLC-INTERCAL's data type model 16:08:49 lieuwe: It is. 16:09:13 lieuwe: those are typical methods of implementing esolangs <-- typical? 16:09:27 "Caution! Under no circumstances confuse the mesh with the interleave operator, except under confusing circumstances!" 16:09:32 AnMaster: compilation to an existing high-level language, and tree-ising and then interpreting 16:09:33 well there are a few examples of it, but I wouldn't call it typical 16:09:43 ais523, ah hm. 16:09:46 pikhq: confusing mesh and interleave just gives you a syntax error anyway 16:09:54 ais523, misinterpreted you then. Thought you meant "doing like CLC" 16:09:57 oh 16:09:59 which is quite unusual afaik 16:10:09 no, that's certainly an atypical method of implementing an esolang 16:10:31 (CLC-INTERCAL is implemented in CLC-INTERCAL; most of the code that does the actual work, though, is in the VM, which is written in Perl) 16:10:39 lieuwe: Also, here's an operator: http://upload.wikimedia.org/wikipedia/commons/4/41/INTERCAL_Circuitous_Diagram.svg 16:10:55 pikhq: actually, I'm pretty sure that diagram is just a joke 16:11:06 some people have tried tracing it and it doesn't seem to mean anything meaningful 16:11:08 pikhq: O.o 16:11:11 ais523: Yes. 16:11:25 The select operator actually has mechanics... 16:11:29 Erm. Semantics. 16:11:35 Not a bus line to New York. 16:11:40 pikhq, it doesn't make sure even if you know what select does. 16:11:52 the biggest giveaway is that it takes two 8-bit arguments in the diagram 16:11:57 but two 16-bit arguments in the code 16:12:19 although it might be a stripped-down version, I suppose 16:12:53 ais523, but what does it do instead of select 16:13:12 who knows? 16:13:28 it uses a complicated version of logic, which has more than two values for its booleans 16:13:40 and does one of the outputs lead to power supply? 16:13:44 -!- olsner has joined. 16:13:48 look near the bottom 16:14:12 ais523, ^ 16:14:16 hi olsner 16:14:28 AnMaster: err, no, that looks more like they just grounded one of the wires 16:14:30 AnMaster: hiya 16:14:31 which might be an input for al I know 16:14:33 *all 16:14:40 standard method of indicating a constant 0 on a circuit diagram 16:14:46 horrible forcast here: -26 C during the night 16:14:53 ouch 16:14:54 ais523, oh right 16:15:44 ais523, what do you call the space below the house in English. Usually there is some inspection hatchet somewhere. Most of the time you can't stand straight in there 16:16:01 definitely not cellar. 16:16:08 AnMaster: "basement" and "cellar" are both used, but for larger spaces 16:16:09 Boden went from -31 to +.5 in one day 16:16:16 (a basement's somewhere you live in, a cellar's a storage space) 16:16:17 ais523, not large 16:16:23 but maybe half a meter high 16:16:28 I think it's pretty rare to have a small space beneath the house in the UK 16:16:32 you can't store stuff in it, nor live in it 16:16:32 so we don't have a word for it 16:16:33 AnMaster: "Crawl space". 16:16:36 pikhq, ah 16:16:38 normally it's just the foundations straight underneath 16:16:41 well "grund" in Swedish 16:16:47 pikhq: that would be the general term, not for a place under a house in particular 16:16:48 ais523, how do you inspect the foundations? 16:16:54 then 16:16:54 AnMaster: you don't? 16:16:56 ais523: Yes. 16:16:57 huh 16:16:58 or you dig up the floor, if you need to 16:17:22 the ground temperature in the UK rarely gets so low that it freezes pipes, or that you have to insulate the house from it 16:17:49 ais523, well we have a temp/humidity sensor in that crawl space in this house. The remote unit that you read the results on shows it as -1.2 C in there 16:17:57 and there are water pipes around there somewhere 16:18:03 :/ 16:18:26 it is rarely this cold for so long as it has been this winter 16:18:50 if it hits -20 C or so around here, it is usually just for a day or two. Rather than several weeks 16:19:01 it's been worse than usual here 16:19:08 but worse than usual is just -3 or so at night, and snow most days 16:19:09 there too? hm 16:19:13 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 16:19:17 ais523, -3 *at night* 16:19:38 that's practically early spring! 16:19:51 yep, this is why we don't need underground crawl spaces 16:20:03 heh 16:21:16 -!- ehird has joined. 16:21:18 ais523, anyway the weather has been strange this weekend. Warmest place was somewhere up near the polar circle, and coldest in mid-south 16:21:36 Hi! 16:21:39 ehird, hello 16:21:54 #amend for talking about my text editor, btw. 16:21:58 *for talking 16:22:02 pikhq, do you americans have a specific name for that type of crawl spaces though? 16:22:10 ehird, alter you mean? 16:22:16 ehird, or how did the vote go? 16:22:24 AnMaster: No. 16:22:30 ehird, amend sounds so religious ;P 16:22:35 It doesn't come up enough generally. 16:22:36 Uh, I think it was 3:3:1. 16:22:45 AnMaster: No it doesn't. Alter does, though - altar. 16:22:59 Anyway, I prefer amend, so there. 16:23:02 ehird, "amen(d) - the fundamental(ist) text editor" 16:23:05 nice slogan? 16:23:15 Not... really, no. 16:23:25 Methinks I prefer "For the generalised transmogrifying of textual information." :-P 16:23:40 ehird, which one is most memorable? 16:23:59 Neither are memorable at all. 16:24:09 ehird: did you logread before coming online, by the way? 16:24:12 ehird, also amend sounds like it would be /etc/init.d/amend 16:24:15 doing so 16:24:17 as in: a daemon 16:24:50 Yeah, and amarok is a daemon that amaros. 16:25:03 ehird, what? 16:25:06 06:00:03 ehird for the logs, here's a Perl6 code snippet for you: "subset Even of Int where { $_ % 2 == 0 }" 16:25:07 k != d 16:25:08 .. 16:25:10 AnMaster: oops. 16:25:12 XD 16:25:18 ais523: yep, I know 16:25:42 such a pity it doesn't do type inference 16:25:46 ais523, that line gave me an idea btw: a mathematica/haskell/perl hybrid 16:25:52 although, type inference on dependent types is probably TC or even uncomputable 16:25:59 AnMaster: go away, that idea is inherently trolling 16:26:00 od: the o daemon 16:26:05 ais523, :D 16:26:16 fold: the fol daemon 16:26:17 ehird, well okay, not every such one 16:26:23 ehird, ld: the l daemon 16:26:54 ldd: the l daemon daemon 16:26:58 Our editor, who art in /usr/bin, 16:27:03 Hallowed by thy Name. 16:27:23 Thy ubiquity come. 16:27:29 Thy customisation will be done, 16:27:34 I /do/ actually like the idea of amen for the editor, and amend for an associated daemon 16:27:36 On Windows as it is in Linux. 16:27:43 Give us this day our daily mail. 16:27:49 And forgive us our permissions violations, 16:27:55 As we forgive those who violate permissions against us. 16:28:02 And lead us not into Emacs, 16:28:06 But deliver us from vim. 16:28:15 For thine is the transmogrification, 16:28:18 and the power, and the glory, 16:28:21 for ever and ever. 16:28:22 Amend. 16:28:29 ehird, that naming scheme doesn't follow: rpcbind: rpcbin daemon?. It is "rpcbind daemon" 16:28:37 as in, the d is doing twice the work 16:28:46 thus od could be the od daemon 16:29:01 so, to anger AnMaster and confuse ais523: KDE 4 is pretty nice. 16:29:23 theory: ehird actually likes all DEs 16:29:27 ehird, I can imagine worse things than KDE4 16:29:33 so far, it's consistent with the evidence 16:29:45 but I can count them on the fingers of one hand 16:29:58 also, shouldn't `subset Even of Int where { .% 2 == 0 }` work? 16:30:01 this is Perl 6, after all 16:30:05 -!- Asztal has joined. 16:30:17 ais523: no, I dislike OS X, and modern Windows, I think 16:30:21 ehird: I don't think % is a legal method name 16:30:24 also, I don't like GNOME as much as I used to. 16:30:33 ais523: every operator should be a method too, duh 16:30:48 ooh, maybe would 16:30:52 implicit $_ feels so wrong in Perl6, though 16:30:58 even though it's all over the place in Perl5 16:31:04 it's not implicit, it's . 16:31:13 it's much more Perl 6 than saying $_ imo 16:31:16 well, that's an implicit left argument to . 16:31:19 which is an operator 16:31:35 also, I don't like GNOME as much as I used to. <-- would you start liking it more if I said I thought KDE4 was better? 16:31:36 actually, I'd call prefix . and infix . different operators 16:31:47 AnMaster: Surprisingly enough, I don't care about your opinions. 16:31:59 ais523: also, have you tried Quassel IRC? Kubuntu includes it instead of Konversation, it's rubbish 16:32:05 no, I haven't 16:32:09 doesn't feel KDE-ish at all, it just feels unpolished and crappy 16:32:15 Konversation is much nicer 16:32:45 06:51:07 the only real reason they added :1a to the language 16:32:47 06:51:15 was so you could have a function with params called st, nd, and th 16:32:48 06:51:19 and do :2nd 16:32:50 Beautiful. 16:32:56 ais523: are you sure they got rid of it ratehr than rakudo not implementing it? 16:32:59 ooh, not sure 16:33:01 I remember trying konversation some time ago. Was pretty limited back then 16:33:03 also, you can do (2 nd) in Haskell 16:33:05 *rather 16:33:06 it could be that it just isn't implemented yet 16:33:09 but yeah, it would have been before I even was on freenode 16:33:15 probably the first irc client I used even 16:33:20 instance Num ((Integer -> a) -> a) where 16:33:28 fromInteger n f = f n 16:33:35 so (2 nd) -> (nd 2) 16:33:47 the first IRC client I used was Chatzilla 16:33:47 hm no, ksirc or something like that... I think that was before konversation even 16:33:55 which had loads of rough edges at the time, but was usable 16:34:24 I had a rather ridiculous problem with the WiFi here 16:34:32 ehird: o.O 16:34:36 It worked on the LiveCD, but activating the proprietary driver post-install just sat there and did nothing. 16:34:39 The solution? 16:34:45 # depmod -a 16:34:48 # modprobe wl 16:34:50 And do it again. 16:34:52 Go figure. 16:35:13 ehird: I had a very similar problem ages ago, trying to install NVidia graphics drivers on Linux 16:35:21 when for some reason there wasn't a packaged version, or I couldn't use it 16:35:28 (I think I might have been installing on a computer with no internet connection) 16:35:29 GRUB (2, even) installation worked fine though, no manual tweaking. Although at first it didn't seem to work, that was just because I forgot to shut down and start up again, which was required for GRUB on Mac or something for some reason. 16:35:53 the issue was that it had called its kernel module the exact same thing as one that already existed 16:36:10 Compositing wasn't on by default, but I just had to click an "Enable desktop effects" checkbox. 16:36:11 I think I fixed it by putting a modprobe in the startup scripts somewhere, to run with exactly the right timing to get the right module 16:36:25 All in all, I'm pretty happy. 16:36:36 ...apart from font rendering. 16:37:12 ehird: which OS is it this time? KDE/Linux? 16:37:20 Kubuntu. 16:37:53 * ehird wonders if the small default fonts are making him lean in, or whether he's just leaning in for no reason. 16:38:02 you mean, there's a version of Kubuntu that /didn't/ screw up the packaging? 16:38:09 Eh? 16:38:25 the Ubuntu people have been consistently bad at packaging KDE, for some reason I don't really understand 16:38:34 06:55:41 which is: if you can think of a single use case where it would be one letter shorter than current alternatives, implement the feature 16:38:37 yawn, perl trolling 16:38:41 how 1997 16:38:49 ais523: It seems alright here 16:39:02 -!- kar8nga has joined. 16:40:07 * ehird tries to figure out how to tell Emacs to disable the fringe 16:40:47 08:07:45 ais523: now that sounds like tho mother off all esolangs 16:40:50 C-INTERCAL is, very literally, that. 16:40:58 no, Princeton INTERCAL is 16:41:00 C-INTERCAL came later 16:41:07 Oops. 16:41:11 /C-/d 16:41:53 one of the few bits of surviving info about Princeton INTERCAL was that it internally represented numbers as their string representation, in binary 16:41:58 probably explains why it was so slow 16:43:06 08:16:48 ais523, how do you inspect the foundations? 16:43:08 08:16:54 then 16:43:09 08:16:54 AnMaster: you don't? 16:43:11 It worked on the LiveCD, but activating the proprietary driver post-install just sat there and did nothing. <-- what system is that? 16:43:14 !qdb 16:43:28 AnMaster: perhaps you could read a few lines on and see 16:43:44 ehird, like you do when log reading? 16:43:53 (hint: you don't) 16:45:15 the issue was that it had called its kernel module the exact same thing as one that already existed <-- hm. Why not move away the existing module somewhere else 16:45:45 AnMaster: because it was being maintained by the package manager 16:45:55 and I don't like messing with package-manager-maintained files 16:46:25 ais523, well, to begin with I'm pretty sure the nvidia module is called "nvidia". Not sure what else would be called that 16:46:36 another nvidia module, I assume 16:46:53 ais523, also, modprobe wouldn't work, would it? insmod might 16:47:08 unless modprobe does allow you to give the full path 16:47:08 AnMaster -- telling you your anecdote is WRONG since 2007. 16:47:08 hmm, not sure 16:47:15 WRONG, I tell you! WRONG! 16:47:17 was pretty sure it doesn't. Seems it does 16:47:29 hm, maybe it was under 2.4 it didn't allow that 16:47:33 anyway, I think it was a timing issue, more than giving the full path 16:47:48 ais523, timing + mounting file systems then? 16:47:57 yes, or maybe the initramfs 16:48:00 ah 16:48:02 could be 16:49:19 Someone guess what my hostname is. :P 16:49:39 31.236.104.91.in-addr.arpa domain name pointer customer11288.pool1.Greenwich-GLN5000-BAS0001.orangehomedsl.co.uk. 16:49:42 no need to guess 16:49:45 No, my hostname. 16:49:50 Not my domain name. 16:49:57 well okay. 16:50:08 ehird, any clues or hints? 16:50:11 * ehird wonders how to find what the default font rendering settings are if he's customised them 16:50:13 AnMaster: nope. 16:50:16 without that it is basically impossible 16:50:30 Fine, I'll say warm/cold depending. 16:50:34 you can try to guess the hostname of my current computer, too 16:50:42 ehird, tux? 16:50:52 I /think/ it's possible to determine it by having looked at my termcasts or something like that 16:50:52 Freezing. 16:50:54 what about the new quantum algorithm 16:50:57 ? 16:51:04 ehird, mac? 16:51:13 Freezing. 16:51:15 ehird, intercal? 16:51:17 does linear algebra without Gaussian elimination or something 16:51:20 Freezing. 16:51:27 ehird, ehird? 16:51:30 Freezing. 16:51:35 I have more imagination than this, you know. 16:51:58 Oh, I know, I can check the fonts.conf stuff on the CD. 16:52:00 ehird, well, is it the name of some animal? 16:52:07 No. 16:52:17 hm 16:52:28 ehird, is it related to programming? 16:52:39 No. Science, though. 16:52:44 ah hm 16:52:51 ehird, chemistry? 16:53:07 No. And I'm not going to do any more yes/nos now, back to cold/warm. :P 16:53:31 Planck? 16:53:43 Exactly middle temperature. 16:53:46 Einstein? 16:53:52 No, wait, Planck is lukewarm. 16:54:00 Einstein is slightly sub-lukewarm. 16:54:05 hm okay 16:54:10 Feynman 16:54:19 ais523: do you know where the root FS is on the Ubuntu CD roms? 16:54:20 ehird, ? 16:54:23 AnMaster: It's not a name. 16:54:25 hellooooo 16:54:27 oh 16:54:28 algorithm here 16:54:32 ehird: no, I don't 16:54:32 soupdragon: Poop. 16:54:51 I don't think I've ever actually looked at the CD ROM filesystem 16:54:57 just installed/liveCDed from them 16:54:58 ehird, well I give up 16:55:08 AnMaster: Okay, fine: Physics. Not a name. 16:55:12 hm 16:55:20 ehird, electron? 16:55:27 or not a name of a thing either? 16:55:40 Hot. 16:55:47 ehird, neutron? 16:55:59 ehird, about root fs of cd: iirc it is a squashfs image there 16:56:09 Can I do mount -t squashfs? 16:56:13 -!- Pthing has joined. 16:56:32 ehird, no clue. Also it might have been some other compressed fs than squashfs. 16:56:42 ehird, anyway the squashfs thing is a *file* on the cd 16:56:49 ehird: Yes, squashfs is in Linux. 16:56:51 so you would need to do a loopback mount 16:56:54 Yes 16:57:03 autorun.inf dists isolinux pics preseed ubuntu 16:57:04 casper install md5sum.txt pool README.diskdefines wubi.exe 16:57:09 I'm just going to do du 16:57:12 And find the biggest file 16:57:12 ehird, well you never answered: " ehird, neutron?" 16:57:15 ehird, file * 16:57:19 AnMaster: Hot. 16:57:19 would tell you 16:57:24 -!- kar8nga has quit. 16:57:26 ehird, positron? 16:57:35 676504 ./casper/filesystem.squashfs 16:57:36 -!- kar8nga has joined. 16:57:39 AnMaster: Hot. 16:57:41 ehird, proton? 16:57:44 ehird, why casper? 16:57:53 ehird, also "how hot" 16:58:00 AnMaster: Hot hot hot hot hot. 16:58:04 there are hell of a lot of elementary particles 16:58:07 You are three steps away from the answer in conceptspace. 16:58:12 It's not a single particle. 16:58:17 ehird, boson? 16:58:32 On fire 16:58:40 fermion? 16:58:52 Warm 16:58:59 -!- kar8nga has quit (Remote closed the connection). 16:58:59 huh 16:59:01 Okay, okay, fine: it's not a type of elementary particle. 16:59:05 -!- kar8nga has joined. 16:59:06 It's a type of composite particle. 16:59:32 ehird, but a proton is a composite one. Of 3 quarks iirc 16:59:40 -!- Slereah has joined. 16:59:44 Oh, shut up. 16:59:46 It's meson. 16:59:51 oh 17:00:19 hello 17:00:29 ais523, what about your hostname then 17:00:34 soupdragon: hi 17:00:36 I think it is ehird's turn to guess now 17:00:37 ais523: 17:00:38 I intend, without three objections, to set the contestmaster of Enigma 17:00:40 to 'none'. 17:00:41 might wanna do something about that 17:00:44 I noticed 17:00:45 ais523: ais523-laptop 17:00:48 ehird: no 17:00:51 darn 17:00:56 although that /is/ the default 17:01:03 the default? 17:01:06 this time I actually got to set one 17:01:08 what do you mean the default 17:01:09 ah 17:01:10 ais523: can you give me warm/cold stuff? 17:01:11 AnMaster: ubuntu 17:01:17 $username-$computertype 17:01:18 oh 17:01:19 right 17:01:31 ehird: not really, mostly because a) it takes effort, and b) it's the middle of winter anyway 17:01:34 Ubuntu sets the hostname based on the username? That's a bit odd 17:01:41 agreed 17:01:51 Deewiant: Ubuntu is designed around regular single-user machines, and it uses the first name as username by default. 17:01:55 Deewiant, ubuntu does not target multi user systems in 98% of the cases or so 17:02:00 So you get "elliott-desktop", which is a reasonable-ish hostname. 17:02:17 I suppose that makes sense 17:02:18 ais523: then I won't guess :p 17:02:20 btw, how do you detect if you are on a desktop, laptop or whatever 17:02:23 ehird: fair enoguh 17:02:34 ais523, hah at the second reason 17:02:36 I'll make it a more interesting longterm challenge, see how long it is before I let everyone know by accident 17:02:48 I won't be trying to hide it, but I won't be trying to drop clues either 17:03:06 I will now promptly forget about that challenge 17:03:07 I've already let everybody know my hostname by accident so I guess I've already lost 17:03:17 oh and I think I mentioned my hostname(s) in here before. 17:03:24 so pointless to ask anyone to guess 17:03:26 Gee, isit tux 17:03:27 *is it 17:03:36 ehird, not any longer on desktop 17:03:38 used to be 17:03:43 Dragon? 17:03:44 Poop? 17:03:51 ehird, dragon is my laptop. 17:04:01 And poop is your desktop? 17:04:05 Deewiant, no 17:04:27 ehird@meson:/mnt/poop/etc/fonts$ diff <(ls /etc/fonts/conf.d) <(ld conf.d) 17:04:31 *ls conf.d 17:04:34 Deewiant, poop must be that old p4 that broke down 17:04:39 Empty diff; hmph. 17:04:49 though it was just anmaster-desktop iirc XD 17:04:51 Aha, I have ~/.fonts.conf. 17:05:00 AnMaster: How Ubuntironic. 17:05:07 ehird, well it wasn't using ubuntu 17:05:27 ehird, it ran win xp, slackware, qnx, suse and gentoo during it's lifetime 17:05:29 iirc 17:05:36 probably some more distros 17:05:44 You used QNX as a main OS? 17:05:59 ehird, yes because it overwrote boot loader 17:06:03 * ehird rm .fonts.conf, reboot 17:06:08 so until I had time to fix that 17:06:18 -!- ehird has quit (Remote closed the connection). 17:06:32 also what is that metallish sound from my keyboard when I hit the key "g" 17:06:33 And all of those had the same hostname? How boring 17:06:37 it doesn't sound good at all 17:06:53 Deewiant, well yes. it was back before I was on irc iirc 17:06:59 had modem back then 17:07:07 adsl near the end 17:08:47 -!- ehird has joined. 17:08:49 anyway, no one up for guessing current hostname? it is temporarily assigned until I think of a better one 17:08:55 that should give you some help 17:08:58 Things look nice now. Yay! 17:09:02 AnMaster: anmaster-desktop 17:09:04 ehird: rebooted X? 17:09:06 ehird, alas no 17:09:11 ehird, freezing evne 17:09:12 even* 17:09:17 ais523: rebooted totally, because they removed ctrl-alt-backspace 17:09:22 AnMaster: Whether you were on IRC or not doesn't change the fact that it's boring :-P 17:09:41 quantum algorithm for linear equations 17:09:45 ehird: there's a setting to turn it back on, but annoyingly they didn't say where it was 17:09:53 and they got rid of dontzap in favour of a more general option 17:10:01 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 17:10:02 "I'm looking for a bug-free, efficiently multithreaded real-time clock + infix calculator hybrid." --reddit 17:10:06 ehird, so any more guesses? 17:10:11 AnMaster: Nope. 17:10:36 ais523, also what was your host name? 17:10:45 ehird, tux-arch 17:10:46 ;P 17:10:59 AnMaster: You are boring. 17:11:06 ehird, as I said: temporary 17:11:19 ehird, I plan to rename it in the same style as the other ones 17:11:23 ehird: oh, it's in the advanced tab under keyboard layouts in KDE, it seems 17:11:26 what an obvious place to put it! 17:11:45 ais523: I don't really care. 17:11:52 It reboots pretty quickly. :P 17:12:01 -!- HackEgo has joined. 17:12:02 -!- EgoBot has joined. 17:12:05 ehird: VM, or on the hardware? 17:12:09 Hardware. 17:12:09 ooh, hi HackEgo, EgoBot 17:12:20 ehird, however, "kraken" just doesn't cut it. Because sv:kraken = en:"the weak person"/"the poor person"(not about money, more like "poor you", when someone is sick) 17:12:40 Buy an old [34]86 and call it that 17:12:44 ehird, :D 17:12:55 Or 286, even 17:13:10 It will be your friend and it will run and old version of Slackware and it will do the things you tell it to do, slowly. 17:13:14 *run an old 17:13:42 ehird, and I need a fitting name. Since phoenix actually was symbolic, it was recovered from someone going to throw it away due to broken onboard vga port/graphics chipset (not sure which, never figured that out) 17:13:45 Hey, Konversation isn't set to join #amend by default. Let's fix that. 17:13:47 so it runs headless 17:13:53 That was easy. 17:14:00 dragon, well that thinkpad is quite powerful 17:14:02 ehird: right-click the tab, choose "Join on Connect"? 17:14:06 ais523: yep 17:14:09 ehird, it is usually easy for most irc client 17:14:11 clients* 17:14:19 there's a more longwinded way too, but no reason to use it 17:14:22 That doesn't change the fact that it was easy. 17:14:32 well, actually it is trivial for my bouncer, it automatically updates on join by default 17:14:44 ehird, it wasn't meant to 17:14:45 ehird, iirc xchat has the same feature 17:14:53 ais523, ? 17:14:58 ais523: I was talking to AnMaster. 17:15:06 ah 17:15:12 I was trying to parody AnMaster in my response, anyway 17:15:28 ehird's harder to parody, he doesn't have any really obvious typing conventions 17:15:56 My unpredictability is either a sign that I'm terribly interesting or simply too mundane to have patterns. 17:15:58 ais523, what was the convention in question. A bit hard for me to spot as a non-native speaker. 17:16:04 Anyone who isn't AnMaster is welcome to tell me which. :P 17:16:18 ehird, and my answer is "mu" 17:16:23 AnMaster: using , rather than : to highlight someone 17:16:27 * ehird reads "crawlspace" on reddit, goes argh 17:16:29 it's not a native speaking thing, but an IRC thing 17:16:33 ais523, that is due to irc client simply 17:16:40 Talking to oerjan makes me experience synchronicity or something 17:16:41 AnMaster: isn't it customizable? 17:16:44 ais523, it is 17:16:46 Chatzilla used , by default but I changed it 17:16:48 ais523, but I prefer it this way 17:17:03 , is grammatically incorrect. 17:17:08 "Elliott, but I prefer it this way." 17:17:18 it's not always grammatically incorrect 17:17:30 Well, it reads differently than it's supposed to on IRC, at least. 17:17:30 it's correct if used as "ais523, could you please go and implement Feather for me RIGHT NOW?" 17:17:34 And a lot of the time it's grammatically incorrect. 17:17:38 but incorrect when used for the normal IRC meaning 17:17:40 I thought the imitation part of "ehird, it wasn't meant to" was "it wasn't meant to". 17:17:48 That's the kind of thing AnMaster says a lot. 17:17:51 the whole thing was an imitation 17:17:52 ais523, would you do that? 17:17:53 including that bit 17:17:57 AnMaster: no, I'm busy 17:18:05 ais523, also I never said right now 17:18:18 that = "implement Feather for me RIGHT NOW". 17:18:22 ais523, iirc I usually just ask about *if there has been* any progress 17:18:24 So "would you do that" does indeed say "right now". 17:18:33 17:18:46 Sheesh, OS X lets me use C-a and C-e for start/end of line, but KDE doesn't. 17:18:46 ehird: oh, that was the natural interpretation for me 17:18:50 What has the world come to? 17:18:55 ais523: I was unsure too. 17:19:18 ais523, also that "would you do that" was a joke on what you said 17:19:23 anyway, you do realise you just made everything ever said in #esoteric a deliberate misinterpretation? 17:19:36 What? 17:19:42 ais523, hahah 17:19:43 oh my god 17:19:44 17:19:47 there, that's fixed it 17:19:49 Oh. 17:19:57 Who said I was using SGML/XML? 17:20:13 ehird, what were you using instead? 17:20:27 éß 17:20:33 ë 17:20:37 maybe Perl6 17:20:46 Gödel 17:20:49 Gödel 17:20:49 where would just be a literal '/deliberate-interpretation' 17:20:50 ais523, what does that do in perl6? if anything at all? 17:21:06 ais523: deliberate-*misinterpretation 17:21:06 AnMaster: <> quotes like "", except that it treats whitespace as commas rather than preserving it 17:21:23 ais523, but didn't you use <> to create a list or such before? 17:21:29 yes, exactly 17:21:32 I used 17:21:35 oh 17:21:37 which is equivalent to ('a', 'b', 'c') 17:21:38 right 17:22:02 wait, no, <> quotes like '' except it treats whitespace as commas 17:22:10 it's «» that quotes like "" 17:22:13 Hey, I can type £ as Compose L. 17:22:17 *Compose L -. 17:22:27 shift-3 probably works better 17:22:33 ais523, it wouldn't be perl if you couldn't escape whitespace inside <> 17:22:36 so how do you do that? 17:22:40 ais523: No, that's #. 17:22:47 ehird: US keyboard? aargh 17:22:49 ais523: I prefer the US layout, especially as I use # often - commenting, IRC, etc. 17:22:56 AnMaster: using «» and backslashing it 17:22:56 Also, " is a more common character than @. 17:22:57 ehird, US or US international? 17:23:00 ais523, where is # on UK? 17:23:01 It should be in the letter area. 17:23:07 AnMaster: to the left of return 17:23:09 unshifted 17:23:09 The UK layout is inferior in more or less every way, except perhaps \ placement. 17:23:13 *\| 17:23:19 ehird, tell me if you find out how to type pi using compose 17:23:23 I would like to know 17:23:25 never found it 17:23:45 ehird, where are *\| placed? 17:23:50 ehird: I think the UK layout's superior: it doesn't have one symbol on two different keys (except |, but that's technically two different symbols on Windows) 17:23:53 since they are in 3 different corners here 17:23:59 you can type # without using shift, and it's in an easy-to-press location 17:24:13 ais523, you have | on two different keys!? 17:24:18 I don't want to talk about the UK layout, anyway. 17:24:20 http://www.modeemi.fi/~tuomov/b/2009/updates/Compose.txt 17:24:27 AnMaster: altgr-`, shift-\ 17:24:28 No pi here, as far as I can tell. 17:24:30 You could add it. 17:24:34 although, they're different symbols in EBCDIC 17:24:39 one has a broken bar, the other is continuous 17:24:40 ais523, the former is ± here 17:24:48 the later... well that is tricky 17:24:49

: "((pi symbol))" Uxxxx # UNICODE NAME 17:25:49 ais523, wait, altgr- is ±, altgr+shift+ is ¬ 17:25:57 U03C0 # GREEK SMALL LETTER PI 17:26:06 π 17:26:07 So 17:26:10 ais523, and \ is altgr-+ so ¿ for shift-altgr-+ 17:26:23

: "π" U03C0 # GREEK SMALL LETTER PI 17:26:27 Just append to your Compose file. 17:26:28 You're welcome. 17:26:36 ehird, Now to locate the compose file 17:26:47 "locate Compose" 17:26:49 AnMaster: Create ~/.XCompose 17:26:53 /usr/share/X11/locale/(locale)/Compose 17:26:56 Or what BeholdMyGlory said. 17:26:58 ah 17:27:11 /usr/share/X11/locale/compose.dir 17:27:11 /usr/share/X11/xkb/symbols/compose 17:27:13 * ehird assigns the Windows keys to Compose. 17:27:14 are the closest one 17:27:20 BeholdMyGlory: Does that overwrite the global file or append? 17:27:26 you mean you can create a compose shortcut for a Unicode snowman? 17:27:28 none matches exactly what ehird suggested 17:27:33 ais523: EXCELLENT IDEA 17:27:40 Aww, sm is taken: ℠ 17:27:42 * AnMaster agrees with ehird on this 17:27:44 ehird: I don't know, I copied the global file to ~/.XCompose 17:27:58 BeholdMyGlory: is there any command to activate it or do I have to restart X? 17:28:09 No idea :P 17:28:16 ais523: Perhaps sy, as in unicode Snowman for You. 17:28:22 Or us, for Unicode Snowman. 17:28:38 incidentally, the Ubuntu wiki recommends using the SAK for restarting X nowadays 17:28:47 wow, DejaVu's snowman is brilliant 17:28:47 because you can't hit it by mistake using accessibility shortcuts 17:28:48 http://unicodesnowmanforyou.com/ 17:28:57 He's wearing a top hat, smiling, standing on a slope, and has snow around him 17:28:59 ooh, it's bigger than I remember it 17:29:06 SAK? 17:29:13 alt-(sysrq+k) 17:29:14 ostrange 17:29:16 strange* 17:29:25 my locale is not in /usr/share/X11/locale/ 17:29:51 would be sv_SE.UTF-8 17:30:18 oh the mapping file 17:30:20 en_US.UTF-8/Compose sv_SE.UTF-8 17:30:44 sv_SE = Swedish Swedish? 17:30:53 ais523, as opposed to sv_FI 17:31:05 I'm just amused that it's a different abbreviation at each side 17:31:19 ais523, I think SE is country code 17:31:27 and sv is language code or suc 17:31:28 such* 17:31:42 I wonder what the name of the Unicode Snowman is. 17:31:48 I need its name to add the Compose comment. :( 17:32:05 ehird: 'SNOWMAN' 17:32:34 Apparently include "%L" does something in .Xcompose. 17:32:40 I bet L=locale=include locale's compose. 17:32:46 why is there a snowman in Unicode anyway, by the way? 17:32:46 how does one reload the compose file 17:32:50 ais523: Why not? 17:32:54 AnMaster: Restart X, I guess 17:33:00 ehird: most things in Unicode are put there for a reason, I think 17:33:01 ehird, man page says it means "your locale" 17:33:04 %L that is 17:33:09 it's not like Unicode magically gathers characters without people agreeing on them 17:33:12 ais523: Perhaps a legacy character set 17:33:13 so someone must have put it ther 17:33:15 "and %L expands to the name of the locale specific Compose file (i.e., "/usr/share/X11/locale//Com‐ 17:33:15 pose"). 17:33:15 For example, you can include in your compose file the default Compose file by using: 17:33:15 include "%L"" 17:33:15 *there 17:33:20 ugh the formatting 17:33:20 AnMaster: Which man page? 17:33:26 ehird, man Compose 17:33:27 ehird: man 5 Compose 17:33:35 Deewiant, hah, beat you 17:33:39 I don't have it. 17:33:43 I do wonder, though, what it means by that 17:33:44 ehird, install it 17:33:44 ais523: some Ubuntu package? 17:33:54 Deewiant: That otherwrise it overwrites the locale's compose file. 17:33:56 ehird, find it with apt-file 17:33:58 *otherwise 17:33:59 ehird, very useful tool 17:34:04 ehird: either that's a really stupid comment, or I misunderstood the context of your sentence 17:34:06 I suspect the second 17:34:09 ehird, it allows you to search on files from not installed packages 17:34:13 ehird: I mean, /usr/share/X11/locale contains no compose file for any of my locales 17:34:21 Deewiant: Does for me. 17:34:27 ais523: ? 17:34:31 ehird: Well, what's your locale 17:34:35 Deewiant, compose.dir 17:34:35 C? :-P 17:34:38 Deewiant, it has a mapping 17:34:45 ehird: as in, an Ubuntu package wouldn't have put stuff in Unicode 17:34:48 Deewiant: Dunno, either US or brit I guess 17:34:51 see what I said about sv_SE -> en_US compose mapping above 17:34:53 ais523: I meant X11 manpages 17:34:54 AnMaster: Ah, indeed. 17:35:00 Which locale value does it use, though? 17:35:04 LANG? Something else? 17:35:08 Deewiant, no clue 17:35:48 ehird: I can find them in Japanese, but not English 17:35:52 I imagine the US and UK Compose files are much the same. 17:35:59 ais523: I'm just going to use apt-file 17:36:25 Well, I suppose it won't be LC_NUMERIC, LC_TIME, LC_MONETARY, LC_PAPER, LC_ADDRESS, LC_TELEPHONE, or LC_MEASUREMENT 17:36:31 that's crazy, why is there "xmanpages-ja - Japanese manual pages for X" but no "xmanpages"? 17:36:33 -!- EgoBot has quit (Remote closed the connection). 17:36:38 So I can fairly safely change my .XCompose to use %L 17:36:45 or anything else starting "xmanpages"? 17:36:53 -!- EgoBot has joined. 17:37:03 ais523, use apt-file 17:37:17 ehird@meson:~$ sudo apt-file update 17:37:18 Downloading complete file http://gb.archive.ubuntu.com/ubuntu/dists/karmic/Contents-i386.gz 17:37:19 Yawn. 17:37:24 ehird, it takes a bit yes 17:37:49 $ apt-file find /usr/share/man/man5/Compose.5.gz <-- no results. Maybe elsewhere on ubuntu? 17:38:16 Maybe it just doesn't exist. 17:38:33 Also, s/find/search/; use proper APT terminology, dammit. 17:38:43 ehird, it is find for apt-file 17:38:48 It's either. 17:38:49 well both 17:38:53 -!- HackEgo has quit (Remote closed the connection). 17:38:54 ehird, anything wrong with find 17:38:59 search|find Search files in packages 17:39:09 ehird, find is shorter to type 17:39:11 APT uses search, apt-file says "Search" as the verb and lists search first. You are a bad person :P 17:39:14 -!- HackEgo has joined. 17:39:31 Deewiant: Does the man page say anything about how to load .XCompose without restarting X? 17:40:04 ehird, alias qfile="apt-file find" alias qlist="dpkg -L" alias emerge="apt-get" ;P 17:40:10 There, now all my bots keep logs, so maybe I'll actually know WHY they quit :P 17:40:16 (no I don't use that, but the gentoo commands are shorter) 17:40:18 Compose doesn't have FOR ALL by default? Hmph 17:40:32 ehird, give me the line for it 17:40:33 ehird: Not that I can see 17:40:40 It has ≥ and ≤, though. 17:40:46 AnMaster: Give me the line for what? 17:40:56 Okay, it doesn't even have -> 17:41:00 That's bull fucking shit 17:41:04 ehird: It does say something about cache directories, though, and "see also - mkcomposecache(1)" 17:41:07 ehird, when you create the "for all" and "there exists" lines, give them to me 17:41:15 ehird, → is on altgr-i 17:41:16 Neither the directories mentioned nor that command exist here, though. 17:41:19 no need to use compose for it 17:41:20 :) 17:41:26 Fuck altgr 17:41:31 Compose is a far superior interface 17:41:33 ehird, you don't have altgr? 17:41:41 I have it, but I do not use it. 17:41:44 Compose is a superior interface. 17:41:51 Alt Gr is just Alt here. 17:41:52 ehird, it is faster to use altgr than compose though 17:41:55 couldn't you make altgr a compose key, leaving the windows-logo key for super? 17:41:58 No, it is not. 17:42:01 fewer key presses 17:42:05 ehird: My compose has -> → 17:42:15 Time(3k) - Time(2k) = Omega 17:42:21 ehird, mine has -> to → 17:42:22 as well 17:42:30 → 17:42:33 is altgr-i for me 17:42:35 ---> -> → 17:42:42 (k = keypress) 17:42:44 ais523, and does it work with compose? 17:42:54 C-x 8 is all the compose I need 17:43:14 ehird, you press altgr and i at about the same time. Not so for compose and then two separate keys 17:43:22 You can do Compose+x y. 17:43:25 ehird, compare shift-A and "shift, release, a" 17:43:46 ehird, hm true, but do you have to release x there? 17:43:48 And in fact, doing key combinations is not very ergonomic anyway. 17:43:55 AnMaster: Nope. 17:44:07 Wait, yes. 17:44:09 But who cares. 17:44:11 ehird, you do for -> at least 17:44:14 I can type it just as fast, so I don't care. 17:44:55 * ehird wonders how to express <>> in compose format 17:45:05 Deewiant, did you try pkgfile on mkcomposecache? 17:45:48 What's pkgfile? 17:45:53 poop ≠ dung 17:45:53 why does man Compose on ubuntu open run-mailcap(1) 17:46:00 that makes no sense whatsoever 17:46:12 Deewiant, like apt-file for arch 17:46:15 Deewiant, iirc you ran arch? 17:46:27 Deewiant, pkgfile is in pkgtools package iirc 17:46:33 I don't know what apt-file is either, but I suppose I can guess :-P 17:46:51 Evidently yes, in pkgtools 17:47:05 Deewiant, it's useful to find what package provides a given file. Also it installs a cronjob to update the db 17:47:10 iirc 17:47:37 Yes, it claims to have done so 17:47:53 $ pkgfile /usr/bin/pkgfile 17:47:53 community/pkgtools 17:48:12 Deewiant, unlike apt-file, pkgfile is fairly slow. 5-10 seconds on my sempron system 17:48:20 with next to no disk activity 17:48:33 so I suspect very inefficient searching 17:49:16 still useful though 17:49:23 Nothing for mkcomposecache 17:49:34 brb, restarting x 17:49:40 ais523: what's that command to restart x again? 17:49:42 sysrq+k? 17:49:49 alt-sysrq+k 17:50:04 -!- ehird has quit (Remote closed the connection). 17:50:44 -!- ehird has joined. 17:50:53 wb 17:51:00 π 17:51:02 ☃ 17:51:04 → 17:51:06 ← 17:51:11 I am happy now. 17:51:11 ehird, you can enable that ctrl-alt-backspace again. In gnome go to keyboard settings -> layouts -> layout options. I suspect something similar is possible in KDE 17:51:19 Wow, Kopete just notified me about every single online person after connecting. 17:51:22 it is an xkb option thingy 17:51:23 That was... interesting. 17:51:27 AnMaster: I don't want to, though. 17:51:30 Alt+Sysrq+K is just fine. 17:51:32 ehird: what, everyone online in the entire world? 17:51:32 ehird, ah okay 17:51:37 ais523: Har har. 17:51:50 π + 3 ≠ 6 17:52:03 ehird, I interpreted it like ais..., but realised that was stupid, thus didn't say anything 17:52:12 * ehird ♥ Unicode 17:52:15 an guessed it must be "friends" or something like that 17:52:22 * ehird ♥s Unicode, even 17:52:26 ehird, where do you have µ 17:52:26 AnMaster: People on my contact list, obviously. 17:52:35 Kopete being an instant messenger (sp?). 17:52:41 µ. 17:52:41 wait, people actually use contact lists? 17:52:43 Compose m u. 17:52:49 ais523: how else are you meant to use IM? 17:52:51 I just memorise the email addresses, or where to look them up 17:52:53 ehird, yeah, see. I don't jump to insane conclusions. Unlike ais523 17:52:57 >_< 17:53:10 likewise for IM, although I don't use it much if at all 17:53:15 ais523, in your mail client? you don't use any address book? 17:53:19 -_- 17:53:20 AnMaster: no 17:53:24 wth 17:53:26 I just use Gmail's email autocomplete 17:53:28 But for IM 17:53:28 ais523, paranoia? 17:53:29 apart from my sent and received folders 17:53:34 AnMaster: no, just too much effort 17:53:35 Ignoring the idiocy of remembering a bunch of crappy email addresses vs making one or two clicks to talk to someone, 17:53:40 That doesn't even tell me whether they're online or not. 17:53:53 ehird, how does gmail's auto complete work. Previous people you sent to? 17:53:56 ehird: why does it matter if they're online? 17:53:58 AnMaster: Or sent to you. 17:54:03 if so it is like auto collecting an address book 17:54:04 ais523: Because if they're not online, I can't talk to them. 17:54:08 AnMaster: Exactly. 17:54:12 you mean you don't agree to talk to them in advance?> 17:54:16 ehird, which my mail client does too 17:54:25 ais523: How would I do that? By IMing them? 17:54:30 "Hey, can I IM you?" "Sure." 17:54:32 "Hi." 17:54:49 Don't say "go up to them in person", I'm not about to go on a train or a plane every time I want to talk to someone. 17:55:11 ehird: how do you find out how they are in the first place? 17:55:18 all I can think of is Usenet or IRC 17:55:53 ais523, for me, the auto collected addresses for incomming are only done from those not marked (or later manually marked) as spam. And are not "bulk" priority (thus filtering mailing lists). And they are placed in a different category 17:55:57 I used to use forums quite a bit, so a lot of the contact list is degrees-of-separation'd from there. 17:56:01 so it is easy to weed them out should that be required 17:56:10 Admittedly I only talk to maybe 10 of the people on my list, but I'm way too lazy to strip it down. 17:56:43 as for IM: I don't use it 17:56:44 ehird: and they actually accept being IMed at random times just because they're online? 17:56:46 irc and email for me 17:56:51 sounds as bad as a mobile phone 17:56:51 forums I avoid when possible 17:56:55 ais523: If they have their IM client online, presumably they're willing to talk. 17:57:01 You're being pretty idiotic; purposeful or not? 17:57:06 ehird: maybe they're trying to talk to someone else? 17:57:18 ais523: Most people can hold two separate conversations at once. 17:57:19 ais523, how does " ehird: and they actually accept being IMed at random times just because they're online?" differ from IRC? 17:57:24 We do it often in this channel, you know. 17:57:24 and slightly purposeful, I'm being far more combative than I need to be 17:57:34 AnMaster: because nothing compels me to actually read IRC 17:57:42 or to turn highlight on for a channel 17:57:42 ais523: Or does it? 17:57:44 ais523: I think it does. 17:57:49 ais523: I think this compels you to read IRC. 17:57:53 ais523: In exactly the same way as IM. 17:57:55 ehird: I have unhighlighted a channel before now 17:58:00 although, not this one 17:58:16 but what I meant for talking to someone else is 17:58:23 if you want to talk to person A, you have to set the IM client to online 17:58:34 you do? 17:58:37 even if you aren't open to person B talking to you 17:58:45 Look, most people don't mind their friends striking up a conversation with them. 17:58:49 ais523, can't you set it to busy? 17:58:49 If you mind it, that's your problem. 17:59:01 In fact, most people *like* it when their friends talk to them. 17:59:05 as in, online but preocupied 17:59:07 ehird: I don't see how most people ever get anything done, then 17:59:26 ais523: Did you know that ~15 minute breaks every now and then actually make you more productive? 17:59:29 And what AnMaster said. 17:59:32 Put it on busy or offline. 17:59:33 ehird: yes 17:59:42 ehird, there is one difference to irc though. Well... to IRC channels. IRC /msg to a single person is more similar 17:59:44 and that is 17:59:46 If someone messages you, say "working, sorry". 17:59:49 Simple. 17:59:51 it is easier to just say "brb" or such 18:00:00 and ignore the channel for a few hours 18:00:07 (well "bbl" in that case I guess) 18:00:09 hmm, so it's an Internet version of mobile phones, effectively 18:00:13 when you need to do something else 18:00:20 ais523, now imagine IM on phones 18:00:23 Mobile phones don't have a busy status. 18:00:24 probably explains a lot, I don't really understand why people use mobiles either 18:00:28 AnMaster: "Imagine"? I have that. 18:00:39 ehird, well but ais523 is stuck in old tech... 18:00:43 ehird, I *know* it exists 18:00:52 (I am actually angry at people using mobiles, because of the passive effects on the rest of us) 18:00:52 I just wasn't sure ais523 did 18:00:58 ...? 18:01:07 AnMaster: I think ais523's internal model of social interaction is very, very different to the rest of us 18:01:15 (in particular, the general collapse of payphones, and people getting phoned at inconvenient moments while they're meant to be having meetings with you) 18:01:15 He seems to view starting a conversation with someone as rude 18:01:19 ehird: I do 18:01:28 Issues, I think is the word here. 18:01:34 Issues. 18:01:46 ehird, hey, I thought you considered my model of social interaction as different? 18:01:59 everyone probably has a different model of social interaction 18:02:05 AnMaster: Do you view starting a conversation as rude? 18:02:24 this argument is stupid 18:02:38 ehird, not unless it is a random idiot asking for "how do I get program y to work on vista?", for a program I'm just in the channel in 18:02:41 AnMaster: Then you're not that crazy. 18:02:44 I do get that type of /msg once in a while 18:02:49 Such a view is a very Finnish attitude to have, actually. 18:02:52 those are generally very irritating 18:02:56 Deewiant, which view? 18:03:10 SimonRC, was that self-referential? 18:03:10 Viewing starting a conversation as rude. 18:03:17 AnMaster: heh 18:03:17 oh 18:03:28 SimonRC, that was the only way I could read it though 18:04:04 This channel is now: The official poop channel 2010 18:04:11 no 18:04:20 All non-poop-related discussion is banned, although esolang discussion will be ignored by the powers that be. 18:04:40 sigh 18:04:41 anyway 18:05:03 ehird: err, arbitrarily changing the topic of a channel tends not to work if you aren't the founder, or at least an op 18:05:18 ehird, tell me if you find a way to reload compose without restarting X 18:05:28 otherwise I'm going to delay testing pi 18:05:30 I should know, most of my attempts to change it to being about esolangs fail 18:05:30 AnMaster: Stop being a pussy and press the keycombo. 18:05:40 Or the ☃ will be sad. 18:05:44 ? 18:05:53 ehird, what? ctrl-alt-backspace you mean? 18:05:59 Yes. 18:06:08 well no thanks, I have some long running stuff I don't want to abort 18:06:13 graphical ones 18:06:14 ehird: I've kept this X session running for about 3 days now 18:06:23 it's a bit annoying, though, because hibernate takes longer than shutting down 18:06:34 and weirdly, also corrupts the icon cache 18:06:40 ais523, hm. I usually keep X running for weeks 18:06:45 ais523, what? 18:06:55 AnMaster: the icons that show up when you press alt-tab 18:07:02 for some reason, on this computer hibernation corrupts them 18:07:05 I was pleasently surprised last night when suspend to RAM worked perfectly and quickly. 18:07:07 ais523, they are cached? 18:07:08 but has no visible other problems 18:07:11 Resume took a bit longer than OS X, but it was nice. 18:07:23 AnMaster: I assume so, otherwise htf could they change whilst leaving everything else the same? 18:07:25 ais523, also if that happened, I wouldn't trust hibernation, who knows what else it may corrupt 18:07:37 ais523, does restarting the program fix the icon? 18:07:40 AnMaster: yes 18:07:44 ais523, you used "htf"? 18:07:48 YOU? 18:07:52 * AnMaster blinks 18:08:02 AnMaster: yes, I don't see how it can be a swear word if it's that abbreviated 18:08:20 how very.... aisish 18:08:32 it has a meaning of its own 18:08:34 like "lol" 18:08:40 which is nowadays unusable for its original meaning 18:09:18 ais523, no it isn't. I tend to use "haha" when I actually doesn't laugh out loud. And "lol" only if I do that. which is rare 18:09:38 AnMaster: you're out of touch with modern usage, then 18:10:04 ais523, correction: I rebel against the modern usage 18:10:05 (also, usage differs by channel; for instance in pokemon IRC channels, it normally means "heh, someone sent out something laughably weak", or a similar build) 18:10:08 ais523, calling someone out of touch 18:10:09 classic 18:10:18 ehird: depends on what I'm calling them out of touch /with/ 18:10:23 ehird, I was considering saying that. Then realised I was too 18:10:39 ehird, I did not quite want you to have that much fun 18:10:51 [18:08] ais523, no it isn't. I tend to use "haha" when I actually doesn't laugh out loud. And "lol" only if I do that. which is rare 18:11:04 hey, there's a grammar mistake there 18:11:05 Yes, because it's not as if "haha" is an onomatapeeyuh (too lazy to spell) for out-loud laughter or anything. 18:11:09 ais523, don't* 18:11:09 and I only noticed the second time round 18:11:15 You're so rebellacious and prescriptivist. 18:11:16 ais523, the one I meant? 18:11:18 what's wrong with me? 18:11:19 AnMaster: yes 18:11:26 ais523, I think I wrote it as /me first then changed my mind 18:12:01 ehird, I never said I was consistent. 18:12:15 another IRC spec issue: technically, aren't people breaking the spec by replying to /me with a non-CTCP privmsg rather than a CTCP-ACTION reply? 18:12:27 ais523, NCTCP you mean 18:12:32 or whatever 18:12:37 not that there's anything wrong with that, I'm just amused at how far actual IRC usage differs from the spec 18:12:45 AnMaster: "CTCP-ACTION reply" 18:12:52 CTCP replies are notices 18:12:55 AnMaster: *I don't actually laugh out loud 18:12:59 sorry, had to fix it 18:13:05 ehird, see above 18:13:07 I fixed it 18:13:09 *Sorry, had to fix it, even. 18:13:14 I sometimes laugh out loud, and then it's really hard to express what I'm actually doing 18:13:20 CTCP is a separate spec 18:13:25 because "lol" is already taken, and typing it out is a pain 18:13:25 "when I actually don't laugh out loud" is not valid. 18:13:27 coppro: ok, point taken 18:13:29 ais523, well, not sure about action. Since it is rather different from the other ctcp 18:13:30 which is followed a lot less than the regular spec 18:13:32 ctcps* 18:13:40 ehird: yes it is 18:13:41 ais523, for VERSION and such sure 18:13:45 though the current iteration of IRC isn't exactly well-implemented either 18:13:53 the worst, though, is colors 18:13:57 no one implements CTCP colors 18:14:00 hmm, ctcps sounds like some sort of secure ctcp 18:14:02 mIRC does. 18:14:05 coppro, ctcp colours? 18:14:06 coppro: they exist? 18:14:06 As does ChatZilla. 18:14:08 what the heck is that 18:14:08 As does X-Chat. 18:14:13 Everyone implements IRC colours. 18:14:14 ehird: I thought mIRC sent special character codes 18:14:18 Oh. 18:14:19 rather than doing a CTCP for them 18:14:22 Okay then. 18:14:24 no, everyone implements mIRC colors 18:14:26 not CTCP ones 18:14:34 so what are ctcp colours 18:14:41 is* 18:14:51 not sure, but I think they might be based on literal control-Cs 18:14:57 like CTCP's based on literal control-As 18:15:02 http://www.invlogic.com/irc/ctcp.html#3.6 18:15:37 mIRC uses ^C 18:15:40 my guess is that the reason nobody implements that is that nobody implements CTCPs inline in normal messages 18:15:45 but CTCP uses ^FCA 18:15:50 which is strange 18:16:04 same with other formats 18:16:10 bold, for instance, is usually just ^B 18:16:13 not ^FB 18:17:24 coppro, what is the format of ? 18:17:35 hey that spec is spelled properly 18:17:37 18:17:37 almost done writing an overcomplicated bf->python converter... 18:17:46 *spelt 18:17:53 ehird, indeed 18:17:55 trying to work that out 18:17:56 lieuwe: Is it over 20 lines? 18:17:59 ah, so it is 18:18:01 yay 18:18:01 ehird: yes 18:18:05 AnMaster: Ot0-F, an index into the usual-ish 16-colour palette. 18:18:07 lieuwe: Rewrite it. 18:18:12 coppro, ? 18:18:12 :P 18:18:14 s/Ot/It's a hex digit in / 18:18:20 either IX, where X is a hex digit 18:18:28 or an #XXXXXX code 18:18:28 fizzie: that's a pretty crazy typo 18:18:33 ehird: it contains a tokenizer and a grammar analyzer, but the point is that you can write different langs for it... 18:18:48 ṕóóṕ 18:18:57 fizzie, is that for ctcp colour or mirc? 18:19:02 ehird: you could write a anything->anything converter for it... 18:19:13 oh it supports full also 18:19:15 rigt 18:19:16 right* 18:19:18 An anything->anything converter enabler? 18:19:24 You mean a language in which you can write compilers? 18:19:25 Underlambda! 18:19:39 ehird, over 20 lines is okay for optimising 18:19:40 ehird: pretty much, 18:19:40 ais523: Is Underlambda implemented yet? 18:19:44 * ais523 wants to write everything->underlambda and underlambda->everything 18:19:44 with enough optimising I mean 18:19:45 ehird: partially 18:19:50 the spec isn't pinned down yet 18:20:06 and derla, especially, is rather light on implemented commands 18:20:11 AnMaster: Right. The spec was a bit strange, since the part immediately before the color table says "Each colour will be an index, selected from the following table", but it indeed is either IX and #rrggbb. 18:20:18 next jobs are probably pinning down I/O, and string handling 18:20:37 fizzie, and where is the table? 18:21:04 AnMaster: In the spec coppro linked to. 18:21:04 oh there 18:21:09 not near the colour command at all 18:21:28 -!- kar8nga has quit (Remote closed the connection). 18:21:44 fizzie, oh that is I 18:21:47 fizzie, as defined above 18:22:21 AnMaster: Yes, I know. That's why the text immediately above the table is a bit misleading. 18:22:36 ais523, also everything->underlambda seems very ambitious. ;P 18:22:45 ais523, for a single compiler at least 18:22:47 AnMaster: maybe not directly 18:22:54 and it would be loads of separate compilers 18:23:12 maybe interp-bundling ones, I don't really care about efficiency for that bit 18:23:41 ais523, write a generic framework for esolang compiling. Oh wait, that won't work. There will be lots of esolangs that won't fit in such a framework, almost by definition 18:24:18 ais523, also, does underlambda support self modification? 18:24:32 not directly, in that the syntax is always the same 18:24:46 you can do some pretty heavy command redefinition with the preprocessor, but not at runtime 18:24:53 ais523, I meant as in "befunge98 -> underlambda" 18:24:56 AnMaster: In any case CTCP's one messy spec. That particular document says it's an Internet Draft, valid for a maximum of six months; and it's from February 1997. The "original" spec from 1994 -- http://www.irchelp.org/irchelp/rfc/ctcpspec.html -- doesn't specify the text formatting codes at all. 18:25:08 AnMaster: that's perfectly fine, you just bundle a befunge interp written in underlambda 18:25:15 ais523, well give up on "everything" then. For compilers. Interpreters would work 18:25:23 AnMaster: that is a compiler, technically 18:25:24 ais523, well true, but that hardly counts as compiling really 18:25:33 and the reason to do it like that is so that compilations can be chained 18:25:39 so you can, say, compile Unlambda to Thue 18:26:07 ais523, technically yes. But it isn't really in the spirit of compilation. 18:26:20 it is in the spirit of cross-implementing all esolangs, though 18:26:25 which is what Underlambda is for 18:26:54 ais523, not in the spirit, rather "in the interest" would be better there 18:27:00 i think i might have the most over-complicated hello world program in python here, 148 lines O.o 18:27:04 AnMaster: spirit too 18:27:12 lieuwe: you should see my hello world in brainfuck 18:27:16 that's several megabytes long 18:27:22 mostly stdlib overhead 18:27:36 lieuwe, because it was generated by his C->BF gcc backend 18:28:15 ais523: O.o, my hellow world was compiled from bf to python, imagine how long that one would be :-O 18:28:24 ais523, also, what about banana-scheme->unlambda? 18:28:42 ais523, and unlambda→ 18:29:02 AnMaster: only cross-implementing TC langs 18:29:09 and maybe sub-TC -> underlambda 18:29:13 unlambda itself is a pain to compile out of 18:29:19 so you'd want to go via underlambda 18:29:21 ais523, and underlambda->super-tc? 18:29:33 AnMaster: possibly, but it's so hard to test that I might not bother 18:29:45 ais523, oh? you said you wanted underlambda should be used for cross implementing? 18:29:55 if it is a pain to compile out of, then what is the point 18:30:11 you are muddling Unlambda and Underlambda 18:30:15 Unlambda = pain to compile out of 18:30:22 ais523, also can you really implement befunge98 with all fingerprints required for fungot to run in underlambda 18:30:23 AnMaster: ee ' /ignore foo all' maybe then. dunno, your fnord 18:30:26 Underlambda = easy to interpret out of, and moderately difficult to compile out of 18:30:27 ais523, typo then 18:30:40 AnMaster: as I said, I/O isn't decided yet 18:30:48 but nothing else should be problematic, given TCness and all 18:30:56 ais523, sure it would. Since it uses SOCK 18:30:59 for socket IO 18:31:12 ais523, you thought fungot used netcat or something? 18:31:13 AnMaster: are there any builtin plain string matching functions? i'm just using the windows standalone 18:31:51 psox 18:32:02 AnMaster: what's making you think that socket I/O isn't I/O? 18:32:02 all you need is stdio + special semantics for io 18:32:04 I don't get your reasoning here 18:32:12 ais523: Sockets are MAGIC, dude! 18:32:19 ais523, well, they are different from file IO 18:32:30 on unix it isn't just opening a file 18:32:48 -!- coppro has quit (Read error: 54 (Connection reset by peer)). 18:32:50 "I am the publisher of a now defunct and formerly popular avant-garde lifestyle magazine from the 70s and 80s. A magazine design enthusiast is now beginning to scan and post full copies of every issue of the magazine. Can anyone offer legal advice or a course of action to pursue (or provide me with a precedent that I can use against this guy)?" 18:32:52 ais523, plus, SOCK supports listening to incomming connections to. Which means bind() accept() and such 18:32:57 I like the part where he admits it's causing no damage whatsoever to him 18:33:01 AnMaster: it is still, nevertheless, I/O 18:33:21 -!- ais523 has left (?). 18:33:24 well true 18:33:34 blah = cat /dev/foop 18:33:39 blah == /dev/foop3 or w/e 18:33:41 tada, listening 18:33:43 hm? 18:33:57 ehird, how do you mean. 18:34:41 "accept incoming connection on port 5432 and return the handle for it" 18:34:57 * ehird wonders where the wastebasket is in kde 4 18:35:16 AnMaster: 18:35:20 open file /dev/listen 18:35:27 write "5432" 18:35:31 x = read 18:35:35 print x --> /dev/foop 18:35:38 open file x 18:35:40 y = read 18:35:46 print y --> /dev/foop47 18:35:49 open file y 18:35:52 ...use y as socket... 18:38:56 after i've implemented bf what should i implement next? 18:39:21 Underload! 18:39:37 -!- ais523 has joined. 18:39:40 π³ ≠ 27. Hooray for Compose. 18:39:44 re-implement CLC-INTERCAL? 18:39:46 ais523: I thought you were working. 18:39:48 SimonRC: ouch 18:39:49 I am 18:39:54 but I like keeping an eye on a channel 18:39:55 ehird, sure, but the OS doesn't have it? 18:39:57 I actually got something done, though 18:40:08 I'm going to continue working nevertheless, and may have to leave again 18:40:11 well, Plan9 does I guess 18:40:13 but not linux 18:40:38 ehird: implementing underload... 18:40:45 yay, Underload 18:40:53 lieuwe: compiling or interpreting? 18:41:14 ais523: compiles to python, which is interpreted... 18:41:22 Compiling Underload is fun. 18:41:28 I pioneered that 18:41:47 ehird: your optimised compiler is of a similar speed to derlo on large programs, I find 18:42:08 and derlo's memory usage is a lot lower when faced with code like :*:*:*:*:*:* 18:42:11 ais523: My compiler didn't optimise 18:42:18 well, you used -O3 18:42:20 Also, it would be "your optimising compiler". 18:42:22 that's a form of optimising 18:42:22 Oh. 18:42:29 I see. 18:42:35 ais523: It was just a proof of concept. 18:42:41 I could write a better one if I wanted. 18:42:49 derlo's more optimising, I hope to implement optimised integers at some point 18:42:50 Nobody said the strings and the code had to match, after all. 18:42:54 So you could do a good bit of optimising there. 18:42:58 grr, (set-fringe-style 'left-only) doesn't work 18:43:06 what is the fringe? 18:43:30 The little grey border to the left and right. 18:43:34 (X11 only.) 18:43:36 Well, graphical only. 18:44:04 ah, which shows you things like lines wrapping 18:44:36 It's ugly at the right because the scrollbar is right next to it for me. 18:44:53 Although I'd prefer it just be white, instead; having the text run right up against the scrollbar is ugly too. 18:45:19 I wish I knew how to set faces without using customise. 18:45:21 *customize 18:46:50 grr, why can't you drag to rearrange in KDE's taskbar? 18:47:23 -!- lieuwe has quit ("Page closed"). 18:47:27 ugh, how do you do comments in LaTeX again? 18:47:34 % Poop 18:47:45 Or % Poop if you want 18:47:46 hmm, I was wondering if it was \comment{} 18:47:46 ... 18:47:49 Or % Poop if you want 18:47:51 ... 18:47:54 Or %% Poop if you want 18:47:59 Konversation does %% -> %... 18:48:04 yes 18:48:12 because % introduces escape codes 18:48:16 %Atime%A 18:48:22 %Atime%A 18:48:24 No it doesn't 18:48:25 hmm, although you can't do ctcps with it it seems 18:48:30 poop 18:48:30 %Bbold%B works 18:48:31 poop 18:48:35 but this channel is +c 18:48:36 poop 18:48:41 poop 18:48:52 ehird: heh, %I = tab = italics 18:48:56 Yeah. 18:49:02 read it yet ehird 18:49:04 (Konversation treats tab as toggle-italics, which can be annoying) 18:49:08 soupdragon: Read what? 18:49:12 ais523: that's the correct interpretation 18:49:12 that buke 18:49:14 ehird: If you're talking about GNU Emacs, (set-fringe-style x) takes a cons cell as x, with car as the left fringe size in pixels and cdr as the right. The textual modes ("left-only" and so on) seem to only work if you use it interactively as M-x set-fringe-style. 18:49:16 metamorphisi 18:49:19 although some clients use it as invert 18:49:21 soupdragon: no 18:49:24 fizzie: Yes, I figured that out. 18:49:25 foo!!! 18:49:27 Thanks anyway. 18:49:32 There should be a way to enable formatting but no colours. 18:49:44 I like italics and bold but not red or green. 18:51:00 The simplest Emacs Lisp function ever written: 18:51:03 (defun run-frink () 18:51:05 (interactive) 18:51:05 ehird: do you care enough to write a patch? 18:51:06 (comint-run "frink")) 18:51:16 ais523: What, to the ircd? 18:51:22 I mean for +c and the like. 18:51:23 oh, you mean in a channel? 18:51:29 There should be +½c. 18:51:33 I thought you meant to Konversation, to display only the colours you liked 18:51:37 Naw. 18:51:42 so you could allow, say, soothing lilac but not clashing orange 18:52:00 ais523: you should join #amend. :| 18:52:08 not while I'm busy 18:52:16 stupid Research Skills course, it's the PhD version of PSE 18:52:18 Hey, there's less talk in there than in here. :P 18:52:28 ais523: lol 18:52:45 -!- kar8nga has joined. 18:52:59 (for people outside the UK who don't know: PSE (sometimes PSHE) is a relatively useless subject (Personal Skills [and Health] education) that's mandatory in UK schools) 18:53:23 (and is generally considered a waste of time; the syllabus theoretically includes potentially interesting areas, but the lessons never cover them) 18:53:28 I don't speak Arabic. - لا أتكلم العربية - lā atakallamu al-ʿarabīyah 18:53:28 I swear skills is a backronym from sex. 18:53:45 No hablas Inglais or something. 18:53:48 ehird I voted alter why is it not called alter? 18:54:01 ehird: it mostly/entirely isn't even sex education 18:54:01 soupdragon: turns out polls take more than one sample :D 18:54:02 as you know 18:54:17 ehird: what was the final result? 18:54:23 ais523: You can't prove that they didn't create it just to avoid having a lesson named sex education. :P 18:54:28 3:3:1 18:54:46 polls are wrong 18:54:47 (Ørjan picked Other, but refused to specify.) 18:54:51 in primary school, before we had sex classes we got sealed brown envelopes to give to our parents 18:54:52 ais523: We have (in theory) this mandatory "introduction to postgraduate studies" course, which should be in the spring period... but the "course portal" website only speaks of the 2009 iteration, the actual course-enrollment-system doesn't find *anything* with the course code, and the preliminary schedules published before Christmas also have it completely missing. 18:54:54 literacy! numeracy! computer-literacy! 18:55:03 and three others which nobody ever remembers! 18:55:05 soupdragon: Well, since it was a draw I just picked the one I liked best. 18:55:11 and the classroom rumour was "oh i heard of this! this is PSE and it means personal sex education" 18:55:16 reading, riting, rithmetic, rogramming 18:55:17 half true 18:55:38 oh, working with others, improving own learning and performance, and problem solvings 18:55:44 Reeling and writhing, etc. 18:55:52 *problem solving 18:55:55 Values 18:55:59 we had a class on Values 18:56:26 with a capital V 18:56:26 the four R's 18:56:31 the four Rs* 18:56:34 most of our PSE lessons were just incomprehensible 18:56:47 there was one about a moon mission with a list of phrases to put into order 18:56:52 XD 18:56:55 to do with prioritisation, or something 18:57:02 also, about half were spent teaching us how to fill out UCAS forms 18:57:03 Are you sure it wasn't the LSD lesson? 18:57:14 Oh, or the TPS lesson. 18:57:18 which I suppose is really relevant to the school's results 18:57:22 so it's important to them 18:57:42 there were also a couple with an automated careers thing 18:57:53 where you answered an 100-question questionnaire and it tried to guess which job you'd end up in 18:58:13 I don't think it was all that reliable 18:58:20 what did it say for you? 18:58:35 also isn't that terribly demoralising 18:58:40 "I want to be an astronaut!" "You will be a bin man" 18:58:45 yes 18:58:52 ehird: computer games programmer, I think 18:58:52 marxchat 18:58:53 A bin man must be something related to binary. 18:58:57 ais523: Close enough. 18:59:06 ehird: yes, that was one of the closer ones 18:59:13 although the questions were things like 18:59:18 I remember someone else in my class was told that they should become a croupier 18:59:21 "i like being ordered around to kill people" 18:59:26 and my form teacher was supposed to be a gardnere 18:59:29 *gardener 18:59:30 "i like doing scientific experiments" 18:59:46 "I like being ordered around to kill people as part of scientific experiments" 18:59:52 we didn't get anything as firm as one thing, just a list of like 30 or so things 18:59:57 ais523, still "working"? 18:59:59 yes 19:00:09 ais523, nice multitasking :) 19:00:57 yay Frink accepts π as pi 19:01:19 what is Frink? 19:01:26 http://futureboy.us/frinkdocs/ 19:01:27 and why are you going on about it so much? 19:01:35 I'm just setting it up in Linux. 19:01:45 And tested that Compose worked with it. 19:01:54 frink seems way cool 19:02:02 it totally is. :| 19:03:42 DSL designed for physical calculations? 19:04:18 hmm, with hints of Mathematicaitis about it 19:04:25 although, I suppose that sells to its target market 19:04:42 It's not even remotely Mathematica-like. 19:04:53 It's symbolic, yes, and it uses [] for function application because f(x) is f*x. 19:04:55 it made me think of mathematica 19:04:56 (I'm the sort of person who wonders why it should come with a historical exchange rate database rather than, say, having it as a library on a CPAN-alike) 19:05:00 fwiw I don't program in either langauge 19:05:09 (that's what I mean by Mathematicaitis in this case) 19:05:17 ais523: Because it's a calculator, not a batch programming language. 19:05:28 It does have non-core libraries, anyway: http://futureboy.us/fsp/frinklibs.fsp 19:05:35 still, it feels wrong not having that data be separate 19:05:49 Only if you think about it as a batch programming language. 19:06:30 even as an interactive language 19:07:17 Anyway, it's not just useful for physical calculations: it's also good for abstract calculations, regexp processing, screen scraping, translation, generating graphics, making simple web pages that can do calculations, and also calling out to Java if you like that kind of thing. 19:07:34 ais523: see, when you say "historical exchange rates should be in a library", I see that as 19:07:39 "regexp processing should be in a library in Perl" 19:07:48 it isn't, because it's far more convenient and quick to access this way 19:07:54 which is the intended use 19:08:15 meh, you could even set it to load by default 19:08:29 is Frink batch-usable even if that isn't the intended use? 19:09:06 Yes. 19:09:33 It's not so much unintended as not the main use. 19:09:50 Anyway, I find it more convenient this way and I'm sure Alan Eliasen, the author, does too. 19:10:08 Frink++ for the Junkyard Wars reference, anyway 19:10:13 I used to love Scrapheap Challenge 19:10:25 and the US version wasn't as ruined as the US versions of most gameshows are 19:11:00 "fathoms water gravity barrel" is one of my favourite strings. 19:13:40 So if one meter is 200 million beardseconds, why aren't we counting in 100 million beardseconds? 19:14:48 ehird: what, exactly? 19:14:56 ? 19:15:37 I guess 100 million beardseconds is 1 hMbs (hecto-mega beardsecond.) :-D 19:15:49 ehird: as in, does 100 million beardseconds = 0.5m exactly, or approximately? 19:15:58 1 beardsecond := 5 nm 19:16:03 It's a novelty unit, not an actual measured thing. 19:16:18 I guessed it was a novelty unit 19:16:23 although presumably the beard has an actual purpose 19:16:30 The beard-second is a unit of length inspired by the light year, but used for extremely short distances such as those in nuclear physics. The beard-second is defined as the length an average beard grows in one second. Kemp Bennet Kolb defines the distance as exactly 100 Ångströms,[3] while Nordling and Österman's Physics Handbook has it half the size at 5 nanometers.[4] Google Calculator supports the beard-second for unit conversions using the latter 19:16:32 conversion factor.[5] 19:16:40 I see 5 nm most often. 19:17:15 -!- lament has joined. 19:17:27 So, the kilometer will be replaced with the khMbs. 19:17:31 The kilo-hecta-mega beardsecond! 19:17:50 aka the hecto-giga beardsecond 19:18:33 http://www.google.co.ck/search?q=432+beard+seconds+in+attoparsecs 19:18:34 NICE 19:19:15 432 beardseconds -> attoparsecs 19:19:17 0.000070000832656209624476 19:19:21 Just to re-inject some Frink fanboyism into the discussion. 19:19:32 (Admittedly I had to do beardsecond := 5 nm, but it defined the plural form for me automatically.) 19:19:43 cool 19:21:07 ehird: also, it gets commented on by Peter Norvig, which is also very cool 19:21:41 ais523, who is that 19:21:52 AnMaster: you are no longer welcome here → 19:22:15 ehird, hey, ais523 didn't know who jwz was 19:22:24 AnMaster: http://en.wikipedia.org/wiki/Peter_Norvig 19:22:39 what's so good about Norvig? 19:22:40 oh that guy at google 19:22:41 I didn't actually know he worked for NASA/Google, though 19:22:42 jwz is just a cool dude, not an excellent computer scientist 19:22:49 I knew of him from his research 19:22:55 I only read his PAIP book 19:23:14 ais523, which part of it? 19:23:36 AnMaster: it's all over the place 19:23:48 as in, randomly searching for research you just think "oh, it's Norvig again" 19:23:50 he's that good 19:24:14 what did he do?? 19:24:22 I can't remember ever coming across his work :/ 19:24:40 soupdragon: then you're working in the wrong area 19:24:48 what are should I be in 19:24:56 the first time I saw his work it was some minor AI result 19:25:08 I read his AI book PAIP 19:25:37 to learn Lisp 19:30:40 Grr, I really want to move these taskbar items. 19:32:21 ehird, hm? 19:32:24 reoder? 19:32:26 re-order* 19:32:33 Yes. 19:32:42 ehird, from what, to what? 19:33:12 I want to move a window entry. 19:33:25 right 19:33:47 ehird, as in, move it from alphabetical order to something else? 19:33:57 It's not alphabetical, it's in opening order. 19:34:00 I just want to move one entry, ffs. 19:34:06 I se 19:34:08 see* 19:34:19 ehird, never heard of that feature 19:34:20 can't you just drag them? that works in Gnome, I thought it worked in KDE too 19:34:27 I thought it did too 19:34:28 AnMaster: what???? 19:34:32 oh it does indeed 19:34:37 [ Firefox poop ] 19:34:39 Click, drag, drop. 19:34:41 Moved. 19:34:44 ehird, well in firefox yes 19:34:44 This is really, really standard stuff. 19:34:47 ... 19:34:49 -!- augur has joined. 19:34:50 never tried in taskbar under gnome 19:34:50 I MEANT A FIREFOX WINDOW 19:35:00 pretty sure it didn't work in the taskbar of KDE 19:35:03 on KDE 3.5 19:35:17 ehird, oh I thought you meant system task bar 19:35:21 ehird: only a couple of days ago I saw someone shouting at Microsoft for not implementing that until Win7 when every other common OS had done it for years 19:35:22 I did. 19:35:25 AnMaster: yes, system task bar 19:35:36 ais523, heh 19:38:56 ehird: "I want to be an astronaut!" "You will be a bin man" <<< if a kid who initially wanted to be an astronaut decides to change his mind after getting the results, he probably didn't want it enough for it to have been a possibility anyway. 19:39:21 well, some people become binmen, presumably they do it through choice 19:39:42 oklofok good point !!! 19:39:44 not that it defeats your point, just attacking your example, for no reason 19:39:47 oklofok: no shit 19:39:49 it was a joke 19:40:09 ehird: um, that's no reason not to take it seriously 19:40:12 especially in /this/ channel 19:40:17 half the on-topic stuff we discuss is jokes 19:40:24 bah :P 19:41:47 nothing i see is either a joke or not, everything will be considered serious, and every answer will be considered a serious answer, while nothing at all is taken seriously at the same time. 19:42:25 this is what happens when environments are separated from the outer game, but made to look like it 19:42:38 oh my god the trees are beautiful 19:42:43 i was just outside again 19:42:47 and like... snow 19:42:53 and trees..... wow 19:43:03 the canal's nice here, it's frozen over 19:43:03 my head hurts 19:43:06 which is pretty rare 19:43:11 should read some measure theory, exam tomorrow 19:43:17 woah measure theory 19:43:33 frozen masses of water look sorta boring usually 19:43:38 "woah"? 19:43:50 woah 19:43:53 woah. 19:44:27 woajhhhhh 19:46:29 i already took the exam for the real analysis course following the measure theory course, and it wasn't too hard, by some logic this is probably even simpler. 19:46:57 i might even sleep a few hours tonight 19:47:02 I would have thought real analysis is easier than measure theory 19:47:29 hey kiddles 19:47:33 soupdragon: 19:47:35 no : 19:47:43 hello 19:48:06 our MT course was basically about lebesque and a few other measures, measurable functions, and basic results about lebesque integration 19:48:14 Lesbianesque. (What?) 19:48:29 the RA course builds a lot of structures over the framework 19:49:04 I want to write a spreadsheet program, but: 19:49:10 - it'd be best as a mode in my editor 19:49:13 - my editor isn't done yet. 19:49:14 but writing programs is annoying 19:49:14 Hmph. 19:49:15 i know 19:49:23 oklofok: Thankfully not :P 19:50:13 well it's a bit annoying! (?) 19:50:21 I wish kioslaves worked with Firefox so I could use man:/ :( 19:50:24 if you master all this stuff you can probably catch up with Terry Tao 19:50:44 ehird: is there an extension for that? 19:50:57 ais523: Probably not. 19:51:12 soupdragon: yes, the advanced courses of our university are so hard mastering their content makes you a supergenius 19:51:13 What would work is a KIOSlave FUSE FS. 19:51:38 Then you could rewrite it to file:///mnt/kioslaves/man:(1) 19:51:42 yep, apparently not 19:51:49 you'd expect someone to have written one by now 19:51:56 It's impossible. 19:51:56 I wish kioslaves worked with Firefox so I could use man:/ :( <-- I thought you hated firefox? 19:52:01 Extensions are just JavaScript. 19:52:01 saying it was shit and such 19:52:05 AnMaster: It is. 19:52:22 ehird: no they aren't, they can get into the internals too 19:52:25 e.g. vimperator 19:52:26 yeah ff is the shit 19:52:28 Extensions are just JavaScript. <-- in firefox? No you can load *.so 19:52:34 ehird: http://wiki.kde.org/tiki-index.php?page=KIO+Fuse+Gateway 19:52:36 ehird, then why use it 19:52:36 AnMaster: That's a plugin, not an extension. 19:52:44 And Netscape API plugins are just for embedded content. 19:52:48 ... Argh. 19:52:51 Dead link. 19:52:59 ais523: That's not getting into the internals. 19:53:06 Firefox's UI is written in XUL and JavaScript. 19:53:13 AnMaster: That's a plugin, not an extension. <-- no, you can load *.so in extensions too. At least for thunderbird. Enigmail does it 19:53:13 So of course JavaScript extensions can access it. 19:53:15 you can mess with the XUL, at least 19:53:20 I would be surprised if you can't in firefox too 19:53:20 * oklofok goes master stuff 19:53:22 -> 19:53:48 Anyway, hooking into Firefox's actual URL-loading code and routing it to KDE sounds unfun. 19:53:56 As in "huge pain in the arse" unfun. 19:54:31 ehird: http://wiki.kde.org/tiki-index.php?page=KIO+Fuse+Gateway <-- 404 19:54:35 oh said already 19:57:17 They should just replace KDE with fullscreen Konqueror. It can split the screen, it can browse the web, it can manage files, it can run a terminal, it can do remote file management, it can look at audio CDs like encoded files, it can install packages... 19:57:23 I see no issue with this! 19:57:55 reminds me of Emacs 19:59:14 augur, I am going to try and find a usage of the word 'and' in the non-conjunctive sense by searching the net. 20:00:02 -!- lieuwe has joined. 20:00:44 * ehird takes a deep breath, installs Flash. 20:00:49 in underload, does the ^ operator insert the item into the program, or replace the next op, or does it truncate the program? 20:00:57 soupdragon: what you might want to consider is situations in which "X and Y do V" does not imply "X does V and Y does V" 20:00:58 Insert the item into the program. 20:01:04 lieuwe: You can think of (...) as a function. 20:01:05 ^ is call. 20:01:11 Or (...) is a string and ^ is eval. 20:01:30 ehird: ah, so it inserts and then just continues with the rest off the program... 20:02:08 Of course, (...) differs from functions in most languages because you can print their contents and concatenate them (which is actually function composition - fun(f) return (fun(g) return (fun(x) return f(g(x)))) - but whatever). 20:02:22 lieuwe: Yeah; otherwise, complex control flow would be impossible. 20:02:27 ...at least, I think so. ais523? 20:02:55 lieuwe: basically, imagine characters removed from the program as they're executed 20:03:00 because there's no way to go back to them anyway 20:03:04 No, I meant 20:03:17 does the s operator print a newline? 20:03:19 ^ inserts the top stack element just after the current IP, without overwriting anything, it's an insert 20:03:20 Is Underload turing-complete if ^ is "execute the top element on the stack, then quit"? 20:03:22 lieuwe: No. 20:03:24 lieuwe: no, S doesn't 20:03:27 you can write ( 20:03:28 )S 20:03:30 to print a newline 20:03:35 ehird: ah, ok, thnx 20:03:46 ehird: I think so, because that's Muriel's control-flow operator 20:03:52 but it would be a different sort of language 20:04:29 Well, let's try and write programs in it! 20:04:59 Hmm. I just realised I don't have sound. 20:05:20 Fixed. 20:05:22 ais523: but if ^ truncates the program, it doesn't mean it quits there, the stack thingy could write to the program,(but that would be hard to program in :-p) 20:05:42 ^ is the only way to write to the program, though 20:05:55 you can see it in several different ways 20:06:03 truncating ^ 20:06:04 a function call, an eval, or replacing the ^ with the top stack element 20:06:05 hmm 20:06:07 * ehird writes an infinte loop 20:06:09 *infinite loop 20:06:10 (:^):^ 20:06:12 ehird: (:^):^ 20:06:12 Well that was easy 20:06:13 No change there 20:06:30 Gah, Flash on Linux is desynchronised from the audio as always. 20:06:53 ais523: hmm... the problem is that there's not really any simple-but-non-trivial Underload programs 20:07:05 because they're all either trivial, or mind-boggling 20:07:16 the fibonacci's pretty simple 20:07:20 well, actually 20:07:22 I think we can write 20:07:26 (x)^y 20:07:28 as 20:07:41 !ul (()(*))(~:^:S*a~^a~!~*~:(/)S^):^ 20:07:44 (x^)(y)~^ 20:07:45 No? 20:07:48 ^ul (()(*))(~:^:S*a~^a~!~*~:(/)S^):^ 20:07:49 */*/**/***/*****/********/*************/*********************/**********************************/*******************************************************/*****************************************************************************************/********************************************************************************* ...too much output! 20:07:55 Although that'd make (!)^foo problematic. 20:07:56 forgot EgoBot didn't do Underload... 20:08:00 oh, wait! 20:08:02 It's obvious 20:08:03 (x)^y 20:08:05 -> 20:08:08 (x)(y)*^ 20:08:16 yes 20:08:32 how do you handle (a^b)^c, though? 20:09:01 (a(b)*(c)*^)^ 20:09:19 by doing these rewrites: 20:09:22 (a^b)^c 20:09:31 (a(b)*^)^c 20:09:37 hmm, I'm not sure if that works if b manipulates the stack 20:09:38 (a(b)*^)(c)*^ 20:09:39 oh 20:09:42 There we go 20:09:46 Easy 20:09:58 ehird: easy, but wrong 20:10:13 executing that gives (a(b)*^c)^ 20:10:24 = a(b)*^c 20:10:40 and the c never runs because it's after an ^ 20:10:47 ah, of course 20:10:50 Let me continue the rewriting then 20:10:54 (a(b)*^)(c)*^ 20:11:01 (a(b)*^c)^ 20:11:05 (a(b)*(c)*^)^ 20:11:16 because (f)(g)* = (fg) 20:11:30 and then we just apply the regular a^b = a(b)*^ rule 20:11:36 what does (a)(^)*^b become? 20:11:47 (a)(^)*^b 20:11:54 (a)(^)*(b)*^ 20:11:59 (a^b)^ 20:12:04 ehird: you're evaluating the program, though 20:12:05 (a(b)*^)^ 20:12:12 ais523: This isn't a machine translation 20:12:15 This is for humans to do 20:12:19 is the S command always uppercase?(does it HAVE to be, or is lowercase also fine?) 20:12:25 ehird: but I mean, that process could go into an infinite loop 20:12:27 lieuwe: has to be uppercase 20:12:30 and a has to be lowercase 20:12:46 ais523: So apply human ingenuity. 20:12:48 ais523: :-p 20:12:59 For most programs, it should be a relatively simple translation. 20:13:21 ehird: I'm pretty sure it is TC, but that this isn't the way to go about a proof 20:14:22 I wasn't trying to prove it turing-complete. 20:14:33 I was trying to prove that it is quite a trivial variant of Underload for most programs. 20:14:48 I wouldn't call having to execute most of the program to compile a trivial variant 20:15:00 that's like, saying that replacing a program with its output is a trivial variant 20:16:08 It's a trivial variant FOR HUMANS TO TRANSLATE MOST PROGRAMS TO. 20:16:12 Jesus christ. 20:16:37 I wish this mouse's left button was as easy to press as its right button. 20:17:50 http://web11.twitpic.com/img/56256770-1eafd0a10499dc58601394e9fefa9c57.4b4a35c3-scaled.jpg Haskell's Tower of Babel 20:18:08 s/$/./ 20:18:10 ehird: I don't see how it's trivial at all, for large programs 20:18:35 almost done my implementation, only got ( and ) left to do... 20:20:08 hmm 20:20:20 Compose -> is → and Compose <- is ←, so what should up and down arrow be? 20:20:26 ^| and v|? 20:21:21 ehird: heh 20:22:04 {-# LANGUAGE IncomprehensibleTypes #-} 20:22:24 strangely, altgr seems to produce ←↓→ but not the other arrow 20:22:41 oh, crap, found something stupid in my implementation, it pushes the raw ops on the stack, not the python equivalent, darnit... ah, well, i'll continue tomorow... 20:22:44 -!- lieuwe has quit ("Page closed"). 20:22:57 ew, get a real client 20:23:13 if he pushes the python equivalent he's going to handily break S :) 20:23:17 the pitfalls of underload 20:23:17 I think lieuwe discovered the needing-to-store-two-representations issue 20:23:25 It's not an issue for interpreters. 20:23:42 it is in a way, just they use the same representation for both 20:24:16 So you have a two-representation problem with only one representation. 20:24:19 Uh-huh. 20:24:41 how easy is it to analyse to see if only the string meaning or only the code meaning are needed? 20:24:47 (in some cases at least) 20:25:22 SimonRC: needs string meaning = calls S while it is on top of stack 20:25:30 SimonRC: really difficult, in general 20:25:34 needs code meaning = calls ^ while it is on top of stack 20:25:42 "it" also includes being concatenated with another function 20:25:52 = halting problem in the purest sense 20:26:12 aye 20:26:50 you might be able to trace control flow to rule out some common cases 20:27:32 wtf, my compose doesn't have Compose - - = em-dash, either 20:27:36 * ehird makes note to add that 20:27:40 "I used to be a Zen Buddhist, and myself used to search endlessly for a "bigger picture". Then I got hungry, had a burrito, and was enlightened." --reddit 20:28:26 any opinions on compose combos for up and down arrow? 20:28:34 ^| and v| are ugly imo :/ 20:28:53 ehird: use the arrow keys? 20:28:53 I have been reading about some of factor's analysis. There was an almond-bread example that looked like over-HOFed stuff from Joy but translated into nice efficient machine code. Types were inferred all over the place and all the HOF-based control structures turned into loops and shit 20:29:12 Factor's compiler is amazing. 20:29:15 aye 20:29:36 it does have an advantage over Smalltalk though 20:29:41 binding is a bit later 20:29:52 ehird: you could probably do that with Underload too 20:30:03 SimonRC:, you mean. 20:30:09 also, arrow keys could work, but combined with what? 20:30:11 | up arrow? 20:30:17 that's less efficient to type than | ^ 20:30:21 just the up arrow? 20:30:26 This is Compose. 20:30:27 or can you not have a one-char compose? 20:30:28 It takes two keys. 20:30:29 most words have to be declared before use, unlike smalltalk/ruby 20:30:35 ehird: always exactly two? ugh 20:30:41 ais523: Well, no, N. 20:30:50 But if you have x y, you can't have multi_key x 20:30:52 or multi_key x y z 20:30:57 for obvious reasons 20:31:00 yep 20:31:06 how about composing the up-arrow with itself? 20:31:12 are you really going to use the arrow keys as the first part of a compose, though? 20:31:16 SimonRC: I would expect that to give me Knuth's arrow. 20:31:22 ais523: Perhaps someone else already did. 20:31:26 is that not an up arrow? 20:31:32 Two up arrows. 20:31:38 Well. 20:31:42 I guess that's just up arrow up arrow 20:31:52 I meant, is Knuth's arrow different from the up arrow glyph you want? 20:31:53 not for horizontal arrows 20:32:00 as you can't stack vertically in regular text 20:32:04 Unicode, you disappoint me 20:32:08 I'd put Knuth arrow on ^^, because it is related to exponentiation 20:32:12 Unicode, I am disappoint. 20:32:32 you disappoint me with a literal lack of points 20:32:33 codepoints, that is 20:32:35 unless it isn't what I think it is 20:33:39 Left, right, up, down, adding to the compose file la la la 20:34:08 UUDDLRLRBASS 20:34:27 So if mdash is -- what's endash? :P 20:34:30 - space? 20:34:32 --- 20:34:40 endash is SHORTER. 20:34:43 and besides, that's impossible 20:34:44 and I know what you said about prefixes 20:34:44 oh 20:34:47 if you have xy you can't have xyz :P 20:34:49 mdash is ---, ndash is -- 20:34:55 — and – 20:35:03 (Completely identical in this monospaced font) 20:35:09 look pretty differnt to me 20:35:14 Deewiant: I'm trying to insert the Unicode character with the Compose key, you dolt 20:35:15 but my ms are wider than my ns 20:35:19 so obviously I can't use the Unicode chars directly 20:35:26 ehird: I sort-of assumed compose would work like a modifier key 20:35:26 ehird: Meh, altgr :-P 20:35:32 you hold it down while you type what to compose, then let go 20:36:08 how about m- and n- 20:36:12 jsut how they sound 20:36:29 -!- ehird has quit (Remote closed the connection). 20:37:10 -!- ehird has joined. 20:37:48 did you get that? 20:38:18 compose should reflect the structure of the letters 20:38:25 i.e. "o -> ö 20:38:27 'o -> ó 20:38:31 `o -> ò 20:38:34 No output. 20:38:36 ss -> ß 20:38:46 Sußman 20:38:47 that's just to make it easier to remember 20:38:51 http://www.fileformat.info/info/unicode/char/search.htm?q=less%20than&preview=entity ;; what a useless set of results 20:39:02 ais523: I consider it a good design principle. 20:39:24 Incidentally, I actually saw KDE refer to a daemon as a dæmon, and I facepalmed. 20:40:28 why? 20:40:59 Because the Unix term is daemon. 20:41:31 arguably those are the same thing, though 20:41:45 as in, different graphical representations of the same word 20:41:50 æ is just kerning 20:41:54 I disagræ. 20:42:23 -!- FireFly has quit ("Leaving"). 20:42:55 -!- FireFly has joined. 20:45:48 anyone know of a unicode browsing app? 20:48:25 -!- lament_ has joined. 20:49:40 gnome-character-map ? 20:49:51 #define lambda(ret, body, ...) ({ ret __LAMBDA__ (__VA_ARGS__) { body }; __LAMBDA__; }) 20:49:52 Well, preferably not Gnome. 20:49:59 ... That kinda-sorta works. 20:50:17 That's the best you can do? 20:50:19 Behold: 20:51:08 * pikhq is anticipating Oleg's lambda. Which, though very much lambda, is not C. :P 20:51:09 #define lambda(params, ...) ({ __typeof__(({ __VA_ARGS__; }))__LAMBDA__ params { return ({ __VA_ARGS__; }); }; __LAMBDA__; }) 20:51:28 -!- lament has quit (Nick collision from services.). 20:51:28 -!- lament_ has changed nick to lament. 20:51:30 Okay, that's a good point. 20:51:33 lambda((int x), x*2) 20:52:08 -!- soupdragon has quit (Nick collision from services.). 20:52:25 -!- soupdragon has joined. 20:53:42 Bah. 20:53:55 Anyone know what the codepoints of <, >, ^, and | are? 20:54:00 *^ and 20:54:19 That doesn't work; __typeof__ strongly dislikes unknown variables... 20:54:34 pikhq: Oh, does it not? 20:54:54 #define lambda(params, ...) ({ __typeof__(lambda(params, ## __VA_ARGS__)) __LAMBDA__ params { return ({ __VA_ARGS__; }); }; __LAMBDA__; }) 20:54:57 XD 20:55:17 Thar. 20:55:22 pikhq, what is __LAMBDA__ defined as? 20:55:26 Nothing. 20:55:28 AnMaster: It isn't. 20:55:29 That defines __LAMBDA__. 20:55:47 It's just a name that's not likely to be in use. 20:56:00 oh ffs, gnu extensions 20:56:14 pikhq: Hey, if we restrict it to one parameter, we can do the typeof 20:56:17 By doing params; body 20:56:31 ehird: XD 20:56:40 ehird: And then, it's curry. Delicious curry. 20:56:52 ehird: I thought you couldn't pass lambdas like that out of the block they were defined in 20:57:04 ais523: No, it's out of the function. 20:57:05 I think. 20:57:07 at least in gcc 20:57:08 And you can pass them upwards. 20:57:11 Just not downwards. 20:57:12 pikhq, as far as I can see it defines lambda() not __LAMBDA__, and what is __LAMBDA__ good for? 20:57:22 ehird: that isn't passing it out, you're still inside the block 20:57:33 AnMaster: *sigh* 20:57:34 Learn C. 20:57:39 AnMaster: __LAMBDA__ is not defined in the C preprocessor. 20:57:46 ehird, I know C. Just not GNU statement crap 20:57:55 Nothing to do with GNU statement crap. 20:57:58 or typeof 20:57:59 You fail at the pre-processor. 20:58:05 pikhq's didn't use typeof. 20:58:09 pikhq, so why do you want it undefined 20:58:15 >_< 20:58:33 ({ }) is a GNU extension 20:58:36 In mine, __LAMBDA__ is defined as a function of type ret(*)(__VA_ARGS__). 20:58:37 as is nested functions 20:59:02 The the statement: ret __LAMBDA__(__VA_ARGS__) {body}; 20:59:06 s/The/By/ 20:59:36 That's a function declaration. The following __LAMBDA__ makes the result of ({ }) be the address to that function. 20:59:39 indeed. And I never bothered to learn any gnu extension apart from __attribute__, Because usually you can still compile the code with __attribute__ on other compilers (with relevant pre-processor code to just make it mean nothing) 20:59:47 while for other ones you would have to write the code twice 20:59:53 once for gnu and once for portable 20:59:54 The part you failed at is not a GNU extension. 21:00:41 pikhq, nasty, upper case name as a function name 21:01:11 AnMaster: It never escapes the ({ }) block. 21:01:29 and what on earth are the semantics for that now again 21:01:32 ehird: the part he may be failing at is defining functions inside other functions, which /is/ a GNU extension 21:01:35 not that I will remember it tomorrow 21:01:43 ais523, oh right that crap 21:01:44 AnMaster: same as for do {} in Perl 21:01:54 messes up with non-executable stacks too 21:01:59 AnMaster: Statement expression. 21:02:03 due to the trampoline fail 21:02:39 A similar thing can be done in C++. 21:02:50 Unlike this, the lambda macro in C++ is valid C++. 21:03:11 pikhq, which I don't really know much about, deciding to stop messing with C++ soon after I saw what templates could do 21:04:01 wow, that language is powerful, I must stop using it! 21:04:33 ais523, no, it was the messyness 21:05:17 ais523, like, not being able to place the methods of a template in a *.c (functions won't be there when template is instantiated in another file 21:05:18 and so on 21:05:40 probably it might work if you create dummy instantiation of those in that source file 21:05:51 but that is just ugly 21:06:23 ais523, in fact, rather than rant here I just refer you to the C++ FQA 21:06:31 read it already 21:07:56 also, horribly long compile time. I have yet to see any C++ compiler that manages at the speed of even gcc. And gcc is hardly fast. 21:08:29 and anything approaching the speed of tcc for c++? I'll believe it when I see it 21:09:42 (I really prefer being able to test often when developing. With no optimisation it should IMO be fast to compile. Oh also please stop abusing operator overloading,) 21:11:26 maybe someone could invent incremental compilation 21:11:30 so it recompiles only what's changed? 21:11:48 doing it at file-level is too coarse for C++, is the issue 21:13:33 -!- coppro has joined. 21:15:00 hi 21:15:23 ais523, well, I haven't seen that done for less than file level for C++. Well precompiled headers, but when I tried that I couldn't get it to work 21:15:44 think I managed to trigger ICE in gcc. That was during 4.1 or so, so it may be better nowdays 21:15:46 AnMaster: really? it's pretty easy 21:15:48 gcc header.h 21:16:00 "ICE"? 21:16:14 SimonRC, ... Internal Compiler Error 21:16:30 Sheesh, that guy doesn't know a jargon acronym I used! 21:16:40 I must express my shock with an ellipsis. 21:17:01 ais523, also it didn't work for more than one header. Nor if it wasn't the first header included 21:17:15 pikhq: I have a working lambda with __typeof__ 21:17:22 or, if you defined anything before including it (in the source file) 21:18:04 pikhq: http://sprunge.us/deGW 21:19:45 pikhq: http://sprunge.us/RTgd This version handles multiple statements in the body 21:19:52 I don't know how to fix the one-parameter-only issue, though. 21:20:15 For the lulz, here's how it desugars: 21:20:17 upto(10, ({ __typeof__( ({ int i; (void)printf("%d\n", i); }) ) __LAMBDA__(int i) { return ({ (void)printf("%d\n", i); }); }; __LAMBDA__; })); 21:24:18 fn(int i, (void)printf("%d\n", i)) could also be written as fn(int i, printf("%d\n", i); return) :-D 21:24:56 the multi-args problem can be "solved" with more parens 21:25:03 Nope. 21:25:10 Because __typeof__( ({ param; __VA_ARGS__; }) ) 21:25:16 param -> "int i;" 21:25:17 but if 21:25:22 params; -> "(int i, int j);" 21:25:25 that wouldn't work as a declaration 21:25:26 (would it?) 21:25:32 hm 21:25:42 that's... funky 21:26:19 how about "fn(int i; char j, ... )" 21:26:22 (ew) 21:26:28 ehird: Solution: K&R C params. 21:26:39 http://sprunge.us/IOdM 21:26:41 why are you putting the decls at the top of the block rather than doing typeof on the function itself anyway? 21:26:43 Advanced lambdaology! 21:26:58 SimonRC: erm 21:27:02 ah, I see now 21:27:04 does __typeof__(x) x = ... WORK? 21:27:13 SimonRC: fn(int i; int j, ...) is unworkable because we need to put it in the function params 21:27:42 oh bugger yes 21:27:54 answer: no, __typeof__(__LAMBDA__) __LAMBDA__(...) doesn't work 21:28:03 well I see that now 21:28:07 __typeof__( ({param_decl; __VA_ARGS__}) ) fn(params) param_decl 21:28:31 pikhq: Does GNU C99 support K&R parameters? 21:29:00 Anyway, you have to specify parameters like that in your actual FN usage that way. 21:29:05 Which is lame-butt. 21:29:05 you just need C1X-style type inference(!) 21:29:40 ehird: Yes. 21:29:44 We could use X-Macros w/ PARAMS(PARAM(int,i),...) to generate a file with the prototype and a file with the argument list. 21:29:50 Then #include that. :-D 21:30:13 Anyway, who needs multiple parameters when you have currying? 21:30:19 ehird: It even works with -std=c99 -pedantic 21:31:13 * ehird proceeds to implement the lambda calculus standard library in C. 21:31:19 Wait, no. 21:31:27 We can't even do currying. 21:31:34 Because you can't return a nested function. 21:31:39 They expire if you shove 'em down the stack. 21:32:13 That's the main reason for Apple's blocks having explicit copying for them, yeah... 21:32:29 I invoke Greenspun's Tenth Law and implement R5RS Scheme. 21:32:45 *Tenth Rule 21:32:54 Oh, wait, the Rule is for Common Lisp only. 21:32:57 Of course, you *could* implement a (stupid) copying scheme. 21:32:59 what were the other 9 rules? 21:33:23 also, I want to know which language Common Lisp is a badly designed implementation of half of 21:33:29 they weren't 21:33:42 ais523: itself 21:33:48 Just make sure the function ends with: { int end_func = UINT_MAX; } 21:33:53 Yes, Morris's Corollary is "...including Common Lisp." 21:33:59 The rule was written sometime around 1993 by Philip Greenspun. Although it is known as his tenth rule, there are in fact no preceding rules, only the tenth. The reason for this according to Greenspun: "Sorry, Han-Wen, but there aren't 9 preceding laws. I was just trying to give the rule a memorable name."[3] 21:34:03 And grep for UINT_MAX in your lambda copying function. 21:34:12 pikhq: O_O 21:34:37 ehird: ... Did I happen to mention that this is almost sure to break? 21:34:55 Oh, make it volatile. Less likely to break. 21:34:56 ("Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." --Zawinski's Law of Software Envelopment) 21:35:10 -!- oerjan has joined. 21:36:44 s/read mail/post to twitter/ nowadays 21:37:05 Talking to oerjan makes me experience synchronicity or something 21:37:12 well, naturally. also, what? 21:37:53 what's ^'s codepoint? 21:38:03 oerjan: What to call a house's crawl space was being discussed earlier 21:38:18 ehird: in hex? 21:38:30 Yes. 21:38:31 "man ascii" says its 5e 21:38:34 *it's 21:38:38 Thanks. 21:38:40 `c printf("%x",'^'); 21:38:41 No output. 21:38:44 * oerjan doesn't recall that discussion. or know what a crawl space is. i guess i'll find out when i get to reddit. 21:38:50 !c printf("%x",'^'); 21:38:53 5e 21:38:57 helps to get the right bot... 21:38:57 oerjan: It was in here. 21:39:17 ^| for up arrow, but v| or |v for down arrow? 21:39:25 how does !c work? 21:39:27 pikhq: http://sprunge.us/RTgd This version handles multiple statements in the body <-- did I actually manage to convince you to use something that I recommended? 21:39:39 SimonRC: compiles and runs C, I think, adding an appropriate wrapper if necessary 21:39:42 AnMaster: No? 21:39:50 !c int main(void) { puts("Hello, world!"); } 21:39:59 ehird, well I'm pretty sure it was me who recommended that pastebin to you 21:39:59 !c puts("poop!") 21:40:00 poop! 21:40:03 ais523: massive security hole? 21:40:06 AnMaster: No, I told you about it. 21:40:08 SimonRC: plash'd. 21:40:11 Go on; try and break it. 21:40:14 God knows we have. 21:40:20 !c *NULL 21:40:27 ok 21:40:29 broke it 21:40:30 !!! 21:40:40 soupdragon: just no output 21:40:45 Kinda hard to break Plash. 21:40:53 that's just one interpretation ais :p 21:40:57 !c int main(void) { for(;;); return 0 } 21:40:58 Does not compile. 21:41:00 !c int main(void) { for(;;); return 0; } 21:41:03 oerjan, hi 21:41:04 !c printf("a"); printf("%d",*(int*)NULL); printf("b"); 21:41:09 ./interps/gcccomp/gcccomp: line 52: 24519 Segmentation fault /tmp/compiled.$$ 21:41:27 hi AnMaster 21:41:28 If you manage to break out of Plash's sandboxed libc, you find yourself in an empty chroot. 21:41:36 !c int main(void) { for(;;){malloc(99999); return 0; } 21:41:37 Does not compile. 21:41:44 With literally nothing but your program and ld. 21:41:44 SimonRC: unmatched braces 21:41:46 !c int main(void) { for(;;){malloc(9999);}; return 0; } 21:41:53 oerjan, I do have to say the annotation today was quite nice 21:41:55 v| or |v for down arrow? any opinions? 21:41:58 that'll just be an infinite loop that silently terminates after a bit 21:41:59 ehird: both 21:42:02 Alright 21:42:04 so you don't have to remember which 21:42:17 shouldn't timeouts give a message? 21:42:19 !c int main(void) { for(;;){fork();}; return 0; } 21:42:30 !c for(;;) printf("x"); 21:42:36 !c puts("POOP") 21:42:39 POOP 21:42:39 !c puts("POOP"); 21:42:41 * SimonRC is seeing what messages all the common stuff gives 21:42:42 POOP 21:42:50 !ps 21:43:18 hmm 21:44:13 ":39:53 < ehird> Go on; try and break it." 21:44:17 hmmmmmmmmmmmmmmm 21:44:39 !c for(;;) puts("beep"); 21:44:40 beep 21:44:47 !c for(;;) puts("beep"); 21:44:48 beep 21:44:52 huh 21:45:00 It DCCs you the rest of the output. 21:45:13 ehird: oh this will be fun 21:45:43 Plash is well-tested, mature open-source software. Your chance of breaking it via an IRC bot is extremely low. 21:45:53 true 21:45:59 "* SimonRC is seeing what messages all the common stuff gives" 21:46:00 Even if you do, your chance of breaking out of the empty chroot you will find yourself in is extremely low too. 21:46:22 geordi has some pretty crazy sandboxing too 21:46:35 for those of you who have used geordi 21:46:46 SimonRC: Here's the vector of attack I would suggest: Make it download (it has functionality to do this) a statically-linked executable. Plash modifies the dynamically-linked glibc. 21:46:53 SimonRC, also static binaries = no luck 21:46:54 Then, try and break out through syscalls. 21:46:56 I tried that in plash 21:47:04 it worked up to a point 21:47:20 Though, then you need to hope for a kernel bug. 21:47:23 !c for(int i = 1; i; i++) printf("%d", i); 21:47:36 pikhq: No, just kernel functionality which Plash doesn't want you using. 21:47:48 SimonRC, since it runs the process in an empty chroot with a preloaded libc replacement that calls a server outside the chroot for file IO and such... 21:47:55 Admittedly, you then need a kernel exploit for the chroot. 21:48:03 SimonRC, thus, static binary can't do anything 21:48:13 * ehird Alt+SysRq+K to reload .XCompose 21:48:17 -!- ehird has quit (Remote closed the connection). 21:48:32 I did try direct syscalls 21:48:54 hmm, I can't get it to spam me now 21:48:57 -!- ehird has joined. 21:48:59 !c for(int i = 1; i; i++) printf("%d\n", i); 21:49:02 1 21:49:06 Bah; its unworking is present. 21:49:06 Plash could start using ptrace for its sandboxing. 21:49:10 aha, needed a \n 21:49:13 ompose - -? No luck. 21:49:14 And then have direct control over the system calls. 21:49:15 ehird, I do believe you could do mischeif with sockets though 21:49:22 wouldn't allow break out 21:49:27 Oh! 21:49:30 but direct syscalls to directly work on sockets 21:49:30 gives up after 3500 lines 21:49:32 could be fun 21:49:56 Plash could start using ptrace for its sandboxing. <-- planned feature iirc. And then all hope is lost 21:50:05 we are assuming we run arbitrary machine code here, right? 21:50:10 SimonRC: You can. 21:50:12 !asm 21:50:17 You can also do !asm ...url... 21:50:19 or !c ...url... 21:50:23 !c char* a="!c char*a =|%s%c%s%c%s|; char* c=strdup(a); for(char *b=a; *b;) if(*b++=='|') b[-1]=0; printf(a+12,a,34,c,34,a+23);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++=='|') b[-1]=0; printf(a+12,a,34,c,34,a+23); 21:50:25 ./interps/gcccomp/gcccomp: line 52: 25004 Segmentation fault /tmp/compiled.$$ 21:50:28 whoops 21:50:31 ais523, what? 21:50:38 how did you manage that 21:50:40 SimonRC: Not just "assuming". That's what Ptrace does. 21:50:53 ais523, does the compiler crash locally on that for you? 21:50:56 probably 21:51:00 It runs arbitrary machine code in a very safe way. 21:51:10 # Dashes 21:51:12 : "–" U2013 # EN DASH 21:51:14 : "—" U2014 # EM DASH 21:51:15 Shoulda known it already had it. 21:51:17 – 21:51:19 — 21:51:28 !c char* a="!c char*a =@%s%c%s%c%s@; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+12,a,34,c,34,a+23);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+12,a,34,c,34,a+23); 21:51:29 ./interps/gcccomp/gcccomp: line 52: 25053 Segmentation fault /tmp/compiled.$$ 21:51:34 ais523: what are you trying to do? 21:51:34 that fix is needed, at least 21:51:37 ehird: quine 21:51:41 heh 21:51:46 ais523, you should file a bug if that happens outside plash 21:51:54 against what? 21:52:06 oh not gcc? 21:52:09 -!- ehird has quit (Remote closed the connection). 21:52:09 ais523, misread the error 21:52:18 ais523, thought it was gcc itself that segfaulted 21:52:50 -!- ehird has joined. 21:53:03 ←→↑↓ 21:53:05 pikhq, anyway it doesn't currently use ptrace afaik 21:53:10 I wonder what I'd do for the diagonals. 21:53:19 pikhq, also I wonder how threads interact with this. 21:53:27 as in, pthreads 21:53:32 L/ \J r\ /7 ? 21:53:35 ehird: Do you know of any way to get an alt-code-like setp on X? 21:53:37 *setup 21:53:37 anyone up for writing a short pthreads test program? 21:53:40 I guess -^ for upleft, ^- for upright, v- for downleft and -v for downright. 21:53:44 coppro: alt-code-like? 21:53:52 where you type in a digit sequence 21:53:53 or compose-uparrow-rightarrow ? 21:53:59 SimonRC: can't do that, can you? 21:54:02 in my case, I'd just want the Unicode codepoint 21:54:03 dunno 21:54:05 coppro: Ah. 21:54:10 doesn't even compile, locally 21:54:10 coppro: Don't; Compose is far superior. ;-) 21:54:17 ehird: But less generic 21:54:21 and not mutually exclusive either 21:54:43 Look in System Settings → Region & Language → Keyboard Layout → Advanced 21:54:47 There might be something there. 21:54:51 s/Advanced$/Advanced./ 21:55:18 "Key sequence to kill the X server: [ ] Control + Alt + Backspace" 21:55:21 A GUI for everything! 21:55:37 heh 21:55:37 coppro: Nope, nothing there. 21:55:52 coppro: You could generate a Compose file with every codepoint. 21:55:59 so lets see 21:56:04 It'd be gigantic and X11 would take about five years to start, but it'd work. 21:56:25 yeah :( 22:00:10 ehird, downside of compose: no key repeat 22:00:10 !c char a[]="!c char a[]=@%s%c%s%c%s@; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24); 22:00:12 !c char a[]="!c char a[]=@%s%c%s%c%s@; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24); 22:00:13 →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→ 22:00:15 found my error 22:00:19 long live altgr 22:00:23 for some reason I was trying to write to a constant string 22:00:46 ais523, turn on -Wwrite-strings ;P 22:00:52 AnMaster: how, with egobot? 22:00:57 also, easier just to fix the declaration 22:01:00 ais523, well, that I don't know 22:01:04 or write to c, fwiw 22:01:04 ais523, what? 22:01:09 that one warns you 22:01:09 ... 22:01:44 ais523, nice polygot. Now just make it output brainfuck or underload every other time 22:01:56 so you can run fungot against egobot 22:01:57 AnMaster: 1l 2l axo befunge bch bf8,16,32,64 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain rail sadol sceql udage01 unlambda whirl is that fnord 22:02:03 "Polyglor"? 22:02:05 *Polyglot 22:02:07 It's a quine. 22:02:13 ehird, err typo 22:02:15 or rather 22:02:18 I thought ahead 22:02:20 !c char* a="!c char*a =@%s%c%s%c%s@; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23);"; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23); 22:02:21 at the polygot 22:02:22 !c char*a ="!c char*a =@%s%c%s%c%s@; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23);"; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23); 22:02:40 AnMaster: 1l 2l axo befunge bch bf8,16,32,64 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain rail sadol sceql udage01 unlambda whirl is that fnord <-- what 22:02:41 AnMaster: you aren't using? it's not scheme! they look like cavemen." " if you like 22:02:51 fizzie!! what the hell was that string from 22:02:54 fungot itself? 22:03:06 hm no 22:03:09 possibly egobot 22:03:11 Yes. 22:03:13 EgoBot. 22:03:13 !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char* c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22); 22:03:15 !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22); 22:03:20 fungot is going to have a bot change. 22:03:21 ehird: rigght moving the stuff to colin. 22:03:21 !fnord 22:03:25 !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22); 22:03:28 !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22); 22:03:33 there we go 22:03:38 He is changing from the bot gender of fungot to EgoBot. 22:03:39 ehird: czech rock :d hope you're not disappointed, but i've never tried magic, so i'm supposed to be an atheist 22:03:42 His new name will apparently be "colin". 22:03:49 And he will be an atheist. 22:03:59 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)). 22:04:00 * ehird nods head. Solemnly. 22:04:11 of course, I think it's possible to do a much shorter C quine than that 22:04:20 I think so too 22:04:27 just, not right now, I have work to do that I really should be doing 22:04:35 ais523, well yes. isn't there a zero byte one from IOCCC? 22:04:47 the geordi quine is geordi: { char y(34); stringstream i("geordi: { char y(34); stringstream i(!); string t; getline(i, t, '!'); cout << t << y << i.str() << y << i.rdbuf(); }"); string t; getline(i, t, '!'); cout << t << y << i.str() << y << i.rdbuf(); } 22:05:01 C will be a bit slower 22:05:02 AnMaster: that doesn't count 22:05:07 coppro that isn't C. That is C++ 22:05:10 I know 22:05:15 ais523, well the one byte one then? 22:05:20 int main(){char*x="printf(%c%s%c,34,x,34)";return printf(x,34,x,34);} 22:05:24 AnMaster: that wasn't a quine 22:05:25 ↑ C quine 22:05:38 Nobody said it was C. 22:05:38 ehird: how? 22:05:40 geordi runs C++. 22:05:43 ais523: How what? 22:05:44 it doesn't print the char* or the int main 22:05:47 Oops. 22:05:52 !c char*x="printf(%c%s%c,34,x,34)";return printf(x,34,x,34); 22:05:53 printf("printf(%c%s%c,34,x,34)",34,x,34) 22:06:05 Oops, right. 22:06:08 That's for the embedded version. 22:06:11 Let's try again: 22:06:14 !c return printf("printf(%c%s%c,34,x,34)",34,x,34); 22:06:15 Does not compile. 22:06:37 sec 22:07:20 int main(x,y){y="int main(x,y){y=%c%s%c;return printf(y,34,y,34);}";return printf(y,34,y,34);} 22:07:28 what languages allow you to read the program code from inside the program. I mean, non-esolangs 22:07:35 Note my wonderful casting powers. 22:07:51 without opening the source file (if compiled) 22:07:57 anyway that made me thing of a short bash quine 22:08:05 !bash echo "test, does this have bash?" 22:08:09 !sh echo "test, does this have bash?" 22:08:09 test, does this have bash? 22:08:12 hm 22:08:12 int main(int x,char**y){x="int main(int x,char**y){x=%c%s%c;return printf(x,34,x,34);}";return printf(x,34,x,34);} 22:08:16 !sh echo "$0" 22:08:17 /tmp/input.25413 22:08:18 ↑ Valid C. 22:08:20 !sh cat "$0" 22:08:21 cat "$0" 22:08:23 there 22:08:24 Behold my evil. 22:08:26 short bash quine! 22:08:45 AnMaster: Anyone who thinks that is a quine is an idiot who has not seen it before. 22:08:45 or shell one + cat 22:08:46 hm 22:08:53 Do you think you actually thought of that cheat yourself? 22:08:57 Colin is one of my computers, so that's probably something I said. 22:08:59 ehird, no 22:08:59 ehird: undefined behaviour, you need explicit casts to make it relevant 22:09:05 !perl #!/usr/bin/cat 22:09:06 Can't exec /usr/bin/cat at /tmp/input.25470 line 1. 22:09:10 !perl #!/bin/cat 22:09:11 #!/bin/cat 22:09:13 ehird, but I haven't read about it. I assumed someone else must have thought of it before 22:09:13 there we go 22:09:19 int main(int x,char**y){x=(int)"int main(int x,char**y){x=%c%s%c;return printf(x,34,x,34);}";return printf((char*)x,34,x,34);} 22:09:22 that's one of my favourite Perl quines just because it's so absurd 22:09:29 ais523: You can do %s on an int because printf just has ... 22:09:49 ehird: assuming int is the same size as a pointer, it's likely to work 22:10:05 but it's undefined behaviour even if they're the same, as the interp can use any implementation-defined tricks it likes to cast int to pointer 22:10:09 including changing the representation 22:10:15 ais523, why would perl even consider it may be invoked on a non-perl program? 22:10:22 int main(){char*x="int main(){char*x=%c%s%c;return printf(x,34,x,34);}";return printf(x,34,x,34);} 22:10:24 Shorter, anyway. 22:10:42 AnMaster: because you can do #!perl -w 22:10:48 so it just executes the program mentioned 22:10:50 AnMaster: so you can set perl as a generic command interpreter on a system that doesn't do shebangs 22:10:53 and it emulates them for you 22:10:59 * SimonRC goes for food 22:11:00 ais523: is that the real reason? wow 22:11:01 ehird: no, that's an entirely different sort of magic 22:11:15 if the name "perl" is in the string, it instead reads command-line options from it 22:11:20 well 22:11:21 ehird: according to the manpages, yes 22:11:21 I meant more like 22:11:25 #!/path/to/perl -w 22:12:15 that has the word "perl" in, so it'll run under whichever perl you ran it with 22:12:23 even more fun is "#!/bin/sh -- # -*- perl -*- -p" 22:12:28 which is an actual example in the manual 22:13:04 :D 22:13:08 If the #! line does not contain the word "perl", the program name after the #! is executed instead of the Perl interpreter. This is slightly bizarre, but it helps people on machines that don't do #!because they can tell a program that their SHELL is /usr/bin/perl, and Perl will then dispatch the program to the correct interpreter for them. 22:13:13 o.O 22:13:23 whoops, missed a space unwrapping that 22:13:28 If the #! line does not contain the word "perl", the program name after the #! is executed instead of the Perl interpreter. This is slightly bizarre, but it helps people on machines that don't do #! because they can tell a program that their SHELL is /usr/bin/perl, and Perl will then dispatch the program to the correct interpreter for them. 22:13:37 I like the "Hey, we added this so perl helps you do stuff, even if you don't code Perl that's okay, we're just here to help" 22:13:49 "It was just a few lines of code and we like you guys, so, you know." 22:13:57 "Set us as your command interpreter and whatnot." 22:13:58 reminds me of DNA Maze 22:14:09 version 2 ran the DOS equivalent of the UNIX command "reset" once it exited 22:14:16 so I could use it to restore messed-up ttys 22:14:22 :-D 22:14:34 XD 22:14:52 (it was used for other purposes too; I once replaced the entire DRM of a C compiler with DNA Maze) 22:14:55 http://simulacrum.dorm.duke.edu/allyourgoogle.svg 22:15:04 (stop playing the game, you can use your compiler now) 22:15:09 svg is awesome 22:15:12 I never thought I'd stare at a functional Google homepage. Rotating. 22:15:25 Very slow in Firefox, though. Let me try it in a WebKit browser. 22:15:32 ais523: brilliant 22:15:44 AnMaster: so you can set perl as a generic command interpreter on a system that doesn't do shebangs <-- wouldn't it make more sense to have a special purpose such program 22:15:56 AnMaster: Perl's a special purpose everything program 22:16:05 AnMaster: no, because if it's the 90s you don't have that kind of bandwidth 22:16:21 "swiss army chainsaw" 22:16:21 and if installing Perl helps you run Perlish stuff, which usually comes with shebangs, all the better 22:16:49 Perl is the antiunix 22:17:26 ais523, heh 22:17:28 On one tool for one job: "Those days are dead and gone and the eulogy was delivered by Perl." —Rob Pike 22:17:43 ehird, it would be a 10-20 line C program anyway 22:17:54 AnMaster: You don't have a C compiler. 22:18:09 ehird, okay, the binary would still be tiny 22:18:15 you probably have cc, given the time period in question 22:18:19 But it's not such a huge big deal, it's just a nicety. 22:18:24 Why bother to seek out such a program? 22:18:25 sure 22:18:38 perl programs traditionally do the reverse, too 22:18:43 ehird, that quote by Rob Pike seems to be a good summary 22:18:44 they're written as a perl/sh polyglot 22:18:53 ais523, they are? 22:18:54 so that systems that don't do #! re-invoke it under perl if it's run by sh by mistake 22:18:55 how and why 22:19:08 Like this: 22:19:10 okay that answers why, how 22:19:11 hm 22:19:11 eval 'exec perl -wS $0 ${1+"$@"}' 22:19:12 #!/usr/bin/perl 22:19:15 if $running_under_some_shell 22:19:19 ais523: ooh, synchronicity 22:19:27 I added the first line for you to append to 22:19:30 except I missed the seimcolon 22:19:36 ; 22:19:37 fixed 22:19:39 also, my first line came before yours, rather runing the effect at my end 22:19:40 that is out of order 22:19:45 Bah 22:19:50 #!/usr/bin/perl 22:19:53 eval 'exec perl -wS $0 ${1+"$@"}' 22:19:57 if $running_under_some_shell; 22:20:02 there we go 22:20:09 ah 22:20:13 fun 22:20:18 although, you'd want the -wS in the first line too, if you were using those options 22:20:29 ais523, why -wS? 22:20:31 sh has significant whitespace, so it never even looks at the third line 22:20:35 AnMaster: in the example in the manual 22:20:43 you could omit it, but -w is rather recommended 22:20:51 ais523, and yes I know sh well enough to know newline ends command 22:20:55 I guess the shebang should be #!/usr/bin/perl -wS 22:21:00 ais523: ooh, ridiculous Perl feature idea: 22:21:01 in Perl it doesn't, so it sees an if that fails 22:21:05 and doesn't run the line before 22:21:11 and eval is a valid Perl statement, so it parses 22:21:16 it looks for any line starting with "exec perl" before any other non-comment lines 22:21:18 and ignores it 22:21:19 ais523, undefined variable is false? 22:21:24 except, wait, no 22:21:27 AnMaster: yes, or an error if use strict; is in use 22:21:32 it looks for any line starting with "exec perl" before any other non-comment lines 22:21:36 so for a strict program, it would be 22:21:39 #!/usr/bin/perl -wS 22:21:46 ais523, why the eval? 22:21:47 and interprets all of the following arguments starting with - as arguments to Perl 22:21:49 so 22:21:51 #!/usr/bin/perl 22:21:51 eval 'exec perl -wS $0 ${1+"$@"}' 22:21:53 exec perl -wS 22:21:59 if $::running_under_some_shell; 22:22:00 erm 22:22:03 exec perl -wS "$@" 22:22:07 would be like #!/usr/bin/perl -wS, except working on non-shebang machines 22:22:09 AnMaster: to hide the shellcode inside from Perl 22:22:12 ais523: horrible and brilliant, methinks 22:22:16 ehird: yes 22:22:19 ehird, no it should be ${1+"$@"} most likely 22:22:24 to deal with old shells 22:22:51 anyway, perl sees what's effectively eval 'stuff in quotes' if 0; 22:22:55 and doesn't run the command at all 22:24:04 ais523, right 22:24:16 ais523, couldn't that eval mess up things though 22:24:22 AnMaster: no, because it /never runs/ 22:24:30 ais523, *for the shell* 22:24:38 no, because the shell just evals what's inside it 22:24:44 ais523, what if you pass some shell code as an argument. It looks improperly quoted 22:24:53 it's properly quoted, it's in single quotes 22:25:03 which just like in shells, don't need quoting of anything but ' inside them 22:25:08 oh hm 22:25:11 you can put literal anything but ' inside singlequotes, I think 22:25:11 read it as "" 22:25:13 well oaky 22:25:14 okay* 22:25:17 possibly even literal NUL, although I'm less sure of that 22:25:24 ais523, it can fail if $0 contains spaces 22:25:28 not the val 22:25:30 eval* 22:25:34 but the code after 22:25:49 AnMaster: ooh, well noticed, report it as a bug to the Perl people 22:25:49 ais523, as for literal NUL, those will cause bash at least to end the string there 22:25:57 as they are null terminated internally 22:26:03 AnMaster: yes, but there aren't any so it's irrelevant to this discussion 22:26:06 ais523, oh? wouldn't this differ between shell scripts 22:26:15 err 22:26:17 perl scripts 22:26:21 so it is up to each perl script 22:26:31 ais523, or is it from some manual page of perl? 22:26:31 yes, but they could fix the example in the manual 22:26:40 ais523, indeed. where is the bug tracker? 22:26:41 a2p does this: 22:26:45 #!/usr/bin/perl 22:26:46 eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' 22:26:48 if $running_under_some_shell; 22:26:50 # this emulates #! processing on NIH machines. 22:26:51 # (remove #! line above if indigestible) 22:27:02 I have no idea what "indigestible" means. 22:27:06 ehird, I have 22:27:08 ehird: unable to be eaten 22:27:08 you can't eat it 22:27:12 ... 22:27:15 I KNOW THAT 22:27:16 so, it means the #! causes an error 22:27:25 whereas it's a shebang to most shells, and a comment to most others 22:27:26 ehird, yes, as in shell or system can't handle #! 22:27:29 ofc, all this is no use on windows 22:27:30 maybe # isn't a comment 22:27:43 digest 22:27:45 digestible 22:27:47 indigestible 22:27:48 hmm, someone write a perl / DOS batch file polyglot 22:28:02 Okay. 22:28:03 where the batch file runs the perl 22:28:04 ais523, does perl use a mailing list or a bug tracker? 22:28:09 AnMaster: they use rt 22:28:14 ehird, rt? 22:28:15 AnMaster: mailing list is perl5-porters, but it has a bug tracker too 22:28:37 ais523, which manual page is it from? 22:28:41 http://rt.perl.org/perlbug/ 22:28:44 and it's on "perlrun" 22:29:09 ais523: is FOO = x; valid Perl? 22:29:17 wth is up with the login 22:29:22 ehird: no, there's no sigil 22:29:33 AnMaster: bitcard does the accounts for all the perl stuff 22:29:40 ais523, whatever that is 22:29:55 AnMaster: an account. 22:29:56 AnMaster: it's the accounts thing for Perl and CPAN 22:30:02 ais523: ok, let me rephrase 22:30:11 what can I put after FOO to make it a valid perl nop? 22:30:18 I guess FOO; works, but eh 22:30:24 FOO if 0; too 22:30:36 ais523, bitcard certainly seems trustworthy: "You have requested an encrypted page that contains some unencrypted information. Information that you see or enter on this page could easily be read by a third party." 22:30:43 hm, as long as FOO is purely alphanumeric and starts with a letter 22:30:47 does %0 work for "this program" in DOS? 22:30:49 AnMaster: isn't that IE's warning message? 22:30:50 AnMaster: tons of pages do that 22:30:54 ais523, firefox 22:30:55 AnMaster: stop whining 22:31:01 it's not like perl have some password-stealing conspiracy 22:31:08 ehird, I know one no other login pages doing that 22:31:12 or registration ones 22:31:16 wikipedia's did for ages 22:31:18 Nobody gives a fuck 22:31:20 I do know of pages once you are logged in 22:31:26 ehird, s/nobody/ehird/ 22:31:27 the point is, the bit you enter the password in is encrypted 22:31:33 No, I don't give a fuck. 22:31:36 err, doesn't* 22:31:38 so unless you're really scared of someone trying to MITM-interface-spoof you... 22:31:39 ehird, well 22:31:46 point is you shouldn't speak for everyone 22:31:49 I don't care, ais523 doesn't care, and you're the only person anal enough to care. 22:32:02 ehird: I care to the extent that sort of message is actually a security risk 22:32:06 I know ais523 doesn't care because he's explaining why it isn't a problem to you. 22:32:09 which is, not very much 22:32:21 so does %0 work in batch files as "this program"? 22:32:23 * AnMaster prepares mailinator 22:32:32 AnMaster: ... 22:32:41 Perl: Spammer extraordinaires 22:32:46 ehird: I'm not sure, but I wouldn't be surprised if it didn't 22:32:51 I'm pretty sure Larry Wall is too Christian to spam you 22:32:54 ehird, are email addresses public 22:33:03 ais523: can you use them in strings? 22:33:06 as on bugzilla 22:33:11 AnMaster: They're mangled, I believe. 22:33:13 foo AT bar DOT org 22:33:15 or whatever 22:33:17 ehird: it interpolates fine, I think 22:33:24 ehird, won't help much 22:33:26 the issue is more getting things to not interpolate, in DOS 22:33:41 there are quoting rules but they make no sense and I can't remember them 22:34:12 REM ; if (0) { 22:34:14 perl "%0" 22:34:15 REM ; } 22:34:17 print "Hello, world!\n"; 22:34:18 Tada. 22:34:34 Now to make it work with a shebang and for shebangless systems. 22:34:44 hmm... 22:34:51 I think the perl "%0" might fail there in Perl 22:34:59 ais523: it's in an if (0) 22:35:14 to Perl, it looks like this: 22:35:15 REM; 22:35:17 if (0) { 22:35:19 String found where operator expected at t.pl line 2, near "perl "%0"" 22:35:20 perl "%0" REM; 22:35:21 } 22:35:25 ais523: Huh. 22:35:27 qsort((int[]){5, 50, 1, 0}, 4, sizeof(int), lambda(int, (const void *x, const void *y), *x < *y?-1:*x > *y?1:0)); 22:35:30 Whooo. 22:35:31 followed by a missing semicolon error 22:35:31 #!/usr/bin/env perl will just try to execute the program #!/usr/bin/env with argument perl in batch, right? 22:35:37 ehird: it's parsing perl as "perl" 22:35:42 pikhq: Now make it work with typeof, bitch. 22:35:45 so you get "perl" "%0" REM 22:35:46 ais523: Ah. 22:35:47 which makes no sense 22:35:47 Easy to fix. 22:36:03 %{ is a string in perl, right? 22:36:04 Or a list 22:36:11 no, it's a dereferencing operator 22:36:15 %q{ then 22:36:16 for hash references 22:36:17 to } 22:36:23 REM ; %q{ 22:36:25 perl "%0" 22:36:26 no, that's a slice of the hash called q 22:36:26 REM %} 22:36:33 ehird: lambda((x, y), void *x; void *y;, *x < *y?-1:*x>*y?1:0) 22:36:36 try without the % sign 22:36:40 REM ; q{ 22:36:44 REM } 22:36:47 that works I think 22:36:48 REM ; q{ 22:36:50 perl "%0" 22:36:51 REM } 22:37:01 ais523: #!/usr/bin/env perl executes the program #!/usr/bin/env in batch, right? 22:37:06 ehird: I think so 22:37:09 pikhq: NO :| 22:37:21 (is #! a legal DOS directory name?) 22:37:25 ehird: Only way for it to work with more than 1 argument that I can think of. 22:37:28 ais523: Well, it'll error out anyway. 22:37:36 ais523: does x || y work in batch? 22:37:39 or do I need to do something else 22:37:42 haha, you must be kidding 22:37:47 first, you run a test command 22:37:51 then you use "if errorlevel" 22:37:54 It's much nicer to just write the return type. 22:37:55 yeah :P 22:37:58 pikhq: BAH 22:38:04 ok, forget shebangs, I'll just make it work in sh-doing systems 22:38:07 And... C-like. 22:38:08 although, wait no 22:38:12 that breaks if you don't run it from a shell 22:38:18 Well, as C-like as *lambda* can be. 22:38:34 ais523: @echo off disables echoing future lines before executing them 22:38:45 ais523: does that disable error messages too? 22:39:09 * ehird gets an idea 22:39:13 does x;y work in batch? 22:39:45 no, I don't think so 22:40:10 @REM ; q{ 22:40:11 @perl "%0" 22:40:13 } 22:40:14 print "Hello, world!\n"; 22:40:20 ↑ A silent version of my batch-perl-spawner. 22:40:52 ehird: Huh. Nested functions aren't on the stack. 22:41:20 Erm. Not necessarily. 22:41:23 Though they might be. 22:41:28 :/ 22:41:36 What does perl -S do, anyway? 22:42:38 not sure 22:42:59 GCC *claims* that if you call them after the containing function exits, all hell breaks loose. 22:43:03 haha, I'm loving this 22:43:07 this will be the best polyglot ever 22:43:24 The assembly it outputs sticks the nested functions inside the text section. 22:43:27 With mangled names. 22:43:31 ehird, will you make it work for sh systems too? 22:43:48 AnMaster: Shebang, sh, batch and perl will all be handled. 22:44:02 Batch might output an error before running the program, though. 22:44:09 Well, something like 22:44:11 ehird, okay that's impressive. Can't think of how you will handle #! in batch 22:44:13 the DOS side of it seems to work (thanks, DOSbox!) 22:44:13 #!/usr/bin/env perl 22:44:15 Command not found 22:44:17 although I'm not sure about the %0 22:44:25 It *seems* that if you simply don't refer to things in the outer function, you've got proper (but horribly inefficient) lambda. 22:44:38 pikhq: Meh. 22:44:40 pikhq: no, because the function is stored on the stack 22:44:44 ehird, that one doesn't pass on arguments with batch 22:44:45 ais523: no it isn't 22:44:47 as far as I can see 22:44:51 ais523: Not in the assembly I am looking at. 22:44:53 ehird: oh, right, just the trampoline 22:45:01 ais523: what's the batch for "all my arguments"? 22:45:20 ugh, %* I think 22:45:22 but I'm not sure 22:45:44 hmm 22:45:50 does eval "2+2", blah work in Perl? 22:45:57 doesn't have to work at runtime, actually, so I'm sure it does work 22:45:57 -!- soupdragon has quit ("Leaving"). 22:46:20 not %* it seems 22:46:54 gah I can't find where to file a bug at that rt.perl.org thingy 22:47:13 ais523: ok, I need your help: can you make "@REM 2>/dev/null" (without the quotes) valid Perl without sacrificing its sh semantics? 22:47:17 ais523, ^ 22:47:33 AnMaster: I'm not sure either 22:48:07 ais523: Here's how my GCC is pushing the address of a nested function: movl $comp_int.1972, %eax 22:48:16 pikhq: ah, must be optimising 22:48:20 well then, such a fucked up user interface, I'm not going to care 22:48:25 but it's not much of a lambda if you're referring to outside the function 22:48:25 ais523: it's for a greater good!!! 22:48:28 ehird: I'm thinking 22:48:36 *it's for the greater good 22:48:36 ais523: -O0. 22:48:43 pity "null" isn't a legal regex modifier 22:48:49 And passing it to qsort. 22:48:51 ah: 22:48:53 -S 22:48:55 makes Perl use the PATH environment variable to search for the program (unless the name of the program contains directory separators). 22:49:07 ais523: can you try echo %0 in dosbox for me to see if %0 works? 22:49:31 ais523: ooh, wait 22:49:32 seems not, you get a literal %0 22:49:36 @REM / 2>/dev/null 22:49:50 what about this: @REM = q= 2/dev/null #= 22:49:58 ehird: that isn't valid perl 22:50:12 ais523: yes, but it's close 22:50:23 ais523: that breaks the sh semantics 22:50:31 So, it's lambda, just not a closure. 22:50:34 $ perl -ce '@REM = q= 2/dev/null #=' 22:50:35 -e syntax OK 22:50:35 it must run a command starting with @REM and do 2>/dev/null 22:50:44 ehird: it does do that 22:50:48 "2/dev/null" 22:50:49 No, it doesn't. 22:50:49 oh, forgot the > 22:50:55 Is it valid with the >? 22:50:58 $ perl -ce '@REM = q= 2>/dev/null #=' 22:51:00 -e syntax OK 22:51:02 Yay. 22:51:05 yep, it's inside a string literal 22:51:13 the entire statement is rather meaningless, but who cares 22:51:24 doesn't matter 22:51:26 wait 22:51:28 that breaks in sh 22:51:32 because of the trailing #= 22:51:36 that's a comment in sh 22:51:40 no, ;#= is 22:51:42 but it's #= 22:51:45 and you can put it on the next line if you prefer 22:51:49 ais523: anyway, not acceptable; I need to have || right after it 22:51:56 No I can't, every line must start with @REM 22:52:01 in fact, you can just put the = in an arbitrary place later in the program 22:52:02 ehird, # is a comment even on same line isn't it? 22:52:07 @REM = q= 2>/dev/null 22:52:12 followed by an = somewhere much later 22:52:17 ais523: well, okay 22:52:19 just so long as there are no other = signs in-between 22:52:20 $ echo foo #bar 22:52:20 foo 22:52:22 ehird, ^ 22:52:33 ais523: that means I don't get to use my awesome hack though 22:52:38 which is? 22:52:42 eval 'exec perl blah;#', 22:52:47 @REM if $running_under_some_shell; 22:52:55 hahaha 22:53:05 wouldn't the eval break under DOS? 22:53:08 also, have fun with newline conventions 22:53:11 no, because it's part of 22:53:18 ais523, what does @REM mean to perl? 22:53:20 @REM 2>/dev/null || eval ... 22:53:25 AnMaster: the array called REM 22:53:25 AnMaster: array variable REM 22:53:28 ah 22:53:39 or in perl5, to be precise, "these REM" 22:53:48 because perl infers what sort of variable you mean from context 22:53:55 so it's "something containing multiple elements REM" 22:54:01 which in the abstract, must mean the array 22:54:02 ehird: So, yeah. I've got a non-closure lambda. 22:54:22 pikhq, is that well defined behaviour? 22:54:22 ais523: http://sprunge.us/LRfW 22:54:26 for gcc 22:54:32 if "%0" %* did what it should, this would work 22:54:41 as a batch file 22:54:53 it would output "#!/usr/bin/env perl" and then an error before running the program, however 22:54:54 AnMaster: It's *contrary to the documentation* when returning one of these lambdas. 22:54:54 oh, I think the semantics of % are different inside and out, just for fun 22:54:58 batch files are evil 22:55:01 In sh, it should work perfectly 22:55:05 But it works perfectly according to the generated code. 22:55:07 In perl, it should work perfectly 22:55:17 pikhq, well then, bad idea, depending on platform 22:55:19 Conclusion: I am a genius as soon as we can get "%0" and %* working. 22:55:31 pikhq, iirc trampolines are messier on RISC in general 22:55:31 AnMaster: The documentation claims it's on the stack. 22:55:40 pikhq, it might be 22:55:42 ooh, it can be made shorter 22:55:48 pikhq, if a trampoline is generated 22:55:51 you can combine the two qs 22:56:00 pikhq, a trampoline is on the stack. It may be that none is required 22:56:02 get rid of lines 3 and 4, and change line 6 to =; 22:56:04 AnMaster: When would one be generated? 22:56:14 * pikhq would like to try to force on. 22:56:16 #!/usr/bin/env perl 22:56:16 s/on/one/ 22:56:17 @REM =q= 2>/dev/null||exec /usr/bin/env perl -S $0 ${1+"$@"} 22:56:19 @REM =;q{ 22:56:20 @perl -S "%0" %* 22:56:22 } 22:56:23 ais523: yep 22:56:26 pikhq, either when it is needed, or always. I would suspect it may vary between versions 22:56:27 oh 22:56:28 you're right 22:56:30 you do not need to change the q delimeter from = to { 22:56:36 pikhq, so when you need a closure I believe 22:56:43 It certainly isn't "always"... 22:56:47 #!/usr/bin/env perl 22:56:48 pikhq, try using some variable from outside it 22:56:48 @REM =q= 2>/dev/null||exec /usr/bin/env perl -S $0 ${1+"$@"} 22:56:50 @perl -S "%0" %* 22:56:51 = 22:56:53 Beautiful 22:56:55 I picked = as it has no special meaning to the shell, but's a legal delimiter for q 22:56:58 pikhq, that isn't a compile time constant 22:56:59 Problems to solve: - "%0" %* - Shebang not erroring 22:57:00 and yes, is beautiful 22:57:02 as in, it can't be optimised away 22:57:08 AnMaster: K. 22:57:11 you need an @exit after that @perl line, though 22:57:24 Other systems can't control that, and need a totally devious construct that will work under any of csh, sh, or Perl, such as the following: 22:57:26 1. eval '(exit $?0)' && eval 'exec perl -wS $0 ${1+"$@"}' 22:57:27 2. & eval 'exec /usr/bin/perl -wS $0 $argv:q' 22:57:29 3. if $running_under_some_shell; 22:57:30 what are you two trying to do? provide a line that perl ignores but batch causes to be executed in perl? 22:57:30 ais523: csh, eh? 22:57:31 * pikhq does s/1/argc/ in his test. 22:57:32 pikhq, also, note that it might work differently on different targets. Like ARM, x86. x86-64, SPARC, PCC 22:57:33 PPC* 22:57:39 coppro: my current script will execute on: 22:57:41 coppro: write a perl/sh/bat polyglot that runs the perl program 22:57:47 ais523: also with a shebang! 22:57:49 Ahah. 22:57:50 * coppro cries 22:57:53 test.c:17: warning: generating trampoline in object (requires executable stack) 22:57:58 ais523: also, add csh to that list 22:58:02 I want to make it work in csh too 22:58:06 yay csh 22:58:10 YAY CSH 22:58:33 this will end in beautiful, beautiful tears 22:58:44 So, it would appear that it is in the text segment if it doesn't close. 22:59:49 are there any other notable shells? 23:00:24 $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' ! 23:00:25 $ exit++ + ++$status != 0 and $exit = $status = undef; 23:00:35 ^ perlrun's syntax on how to do the same thing under the VMS shell 23:00:35 ais523: what the fuck 23:00:42 oh god 23:00:57 ehird, remember OS/1 23:00:57 perl/bat/sh/csh/vms/shebang polyglot 23:00:59 err 23:00:59 I want to die now 23:00:59 OS/2 23:01:02 there's OS/2 too 23:01:06 AnMaster: no, I'd prefer to forget it 23:01:11 perl/bat/sh/csh/vms/os2/shebang polyglot 23:01:13 * ehird weeps 23:01:16 it must be doable, surely 23:01:19 if a little hard to test 23:01:24 It must be doable, unfortuantely. 23:01:28 *unfortunately 23:01:43 ehird, what is your current one 23:01:52 C is a language with first-class functions that aren't closures. >:D 23:02:02 This incantation is a bit much to remember, but Perl will display it for you if you say "perl "-V:startperl"". 23:02:09 pikhq: no, it has first-class function pointers 23:02:10 AnMaster: My current one is what I sprunged plus ais523's modifications 23:02:14 the functions themselves are second-class 23:02:14 I closed Emacs to kill the beast. 23:02:36 Go has both first-class functions AND first-class function pointers. 23:02:38 Take that. 23:02:44 ais523: But, but lambda(int, (int x, int y), x*y) ! 23:02:44 $ perl "-V:startperl" 23:02:45 startperl='#!/usr/bin/perl'; 23:02:48 pikhq, what happened when using trampoline? 23:02:56 boring 23:03:02 ehird, I lost track of it 23:03:07 AnMaster: ask ais523 23:03:12 he can do the mods to my latest version 23:03:15 -!- ais523 has quit ("I need to go home"). 23:03:16 CAN'T HE AIS523 23:03:18 :D 23:03:21 AnMaster: Oh, it works just fine so long as the lambda is only used when the defining function is on the stack. 23:03:34 ehird, hm? 23:03:40 GCC also warns you when it generates a trampoline. 23:03:47 well okay 23:05:27 A closure, hence, can easily be implemented in C: struct closure {void *function; void *free_variables} 23:06:25 ok, wtf? 23:06:31 bash is executing .bashrc but not .bash_profile 23:06:32 ehird, don't forget MPW and MacPerl 23:06:37 * pikhq shall soon be writing some bloody crazy C code. 23:06:58 ehird, see man bash. I end up sourcing files are required from each other -_- 23:07:14 ehird, short story bash_profile is for login shells 23:07:18 bashrc for normal ones 23:07:30 suggestion: source .bashrc from .bash_profile 23:07:59 further suggestion: if your distro doesn't do this, read man page to figure out how files in /etc/ are handled 23:08:17 ehird, the relevant section is INVOCATION 23:08:30 but I can't make bashrc include profile because profile includes bashrc 23:08:30 AnMaster: But I want profile to be loaded 23:08:30 when just bashrc would normally be 23:08:32 My distro has . ~/.bashrc in .profile and no .bash_profile 23:09:11 ehird, interactive shell? 23:09:44 When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes com‐ 23:09:44 mands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.pro‐ 23:09:44 file, in that order, and reads and executes commands from the first one that exists and is readable. 23:09:54 Maybe I'll just set up all the files so they all do . ~/.profile 23:09:54 and have everything in there 23:09:55 and 23:09:57 When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. This 23:09:57 may be inhibited by using the --norc option. 23:10:10 ehird, I have all mine read ~/.bashrc instead 23:10:52 yeah, because bash is the only thing that could read ~/.profile. 23:11:21 ehird, also it behaves differently if invoked as bash or as sh 23:11:35 ehird, no, but I have bash specific code in ~/.bashrc 23:11:41 -!- FireFly has quit ("Leaving"). 23:11:56 ok, let me rephrase my question 23:12:15 where should I put environment variables that are applicable outside of shells but should be defined in both login and non-login interactive shells? 23:13:02 ehird, depends on how the distro is set up for sourcing other files 23:13:12 and you *will* need to source some file for it 23:13:40 ehird, anyway, if it is exported, that should solve it 23:14:01 when you run startx, the env variables will be inherited I believe 23:14:17 ehird@meson:~$ egrep '(bashrc|bash_profile|profile)' .bashrc .profile 23:14:18 .bashrc:# ~/.bashrc: executed by bash(1) for non-login shells. 23:14:20 .bashrc:# this, if it's already enabled in /etc/bash.bashrc and /etc/profile 23:14:21 .bashrc:# sources /etc/bash.bashrc). 23:14:23 .profile:# ~/.profile: executed by the command interpreter for login shells. 23:14:24 .profile:# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login 23:14:26 .profile:# the default umask is set in /etc/profile; for setting the umask 23:14:27 .profile: # include .bashrc if it exists 23:14:29 .profile: if [ -f "$HOME/.bashrc" ]; then 23:14:30 .profile: . "$HOME/.bashrc" 23:14:32 I wonder if Debian even thought about how to set it up nicely. 23:14:41 ehird, it loads bashrc 23:14:42 AnMaster: yeah, I'm just gonna kill X :-P 23:14:47 -!- ehird has quit (Remote closed the connection). 23:14:47 ehird, hm? 23:14:52 -!- BeholdMyGlory has quit (Remote closed the connection). 23:15:41 -!- ehird has joined. 23:15:43 do you even use startx? Not GDM/KDM or such? 23:15:47 also, night 23:15:49 I use KDM, yeah. 23:15:51 AnMaster: wait, 23:15:52 → 23:15:54 maybe I should just put them in bashrc 23:15:57 if profile loads bashrc 23:16:09 possibly. Night →→→ 23:17:28 -!- ehird has quit (Remote closed the connection). 23:18:09 -!- ehird has joined. 23:21:26 -!- jix has quit (Read error: 110 (Connection timed out)). 23:38:42 -!- bsmntbombdood_ has joined. 23:41:26 test.c:8: error: void value not ignored as it ought to be 23:41:29 FFFUUUU. 23:41:36 -!- augur has quit (Read error: 113 (No route to host)). 23:42:14 if you look into the void, the void looks back into you 23:42:54 I am never using a void value that I can find... 23:43:21 Unfortunately, GCC's line numbers are monumentally unuseful when it comes to macros. 23:44:58 run cpp on it :P 23:45:27 Not helpful at all. 23:45:37 Did you know that CPP omits newlines? 23:48:32 Yes. 23:51:04 pikhq: Behold: Go has both first-class functions and first-class function pointers. And they are both closures. http://sprunge.us/KHOM 23:51:17 Well, I have a somewhat unwieldy C closure definition. 23:51:28 pikhq: Don't you wish you were programming in Go now? 23:51:29 :P 23:51:31 (return type must be a pointer.) 23:51:55 (oh, and you need to be explicit about what you're closing. *Really* explicit.) 23:52:17 S'ok, PHP 6 requires that too XD 23:52:27 pikhq: Oi. Drool over http://sprunge.us/KHOM. 23:52:51 That is spiffy. 23:54:35 http://sprunge.us/UViC 23:54:44 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 23:54:51 It's a painful fib function! 23:55:25 http://sprunge.us/DUSj lambda.h 23:55:50 I can see the C commitee accepting that as a standard heater for C11. 23:56:04 But you'll have to rename it stdlam.h, and rename lambda to _LAMBDA. 23:56:09 (It would be _Lambda, but it's a macro.) 23:56:11 No wait. 23:56:12 Is that a compliment or an insult? :P 23:56:16 -!- bsmntbombdood__ has joined. 23:56:17 isalpha is a macro too 23:56:19 So, _Lambda 23:56:35 And closure would have to become _Closure, but stdlam.h can do #define closure _Closure. 23:56:56 call would have to become _Call, and it would be a macro. 23:57:02 Wait, it is a macro. 23:57:03 Whatever. 23:57:34 pikhq: Make one that actually closes over something. 23:57:56 ehird: The example I pasted is closing over the fib closure. 23:58:23 anyone know how to set an alarm with kde? 23:58:44 I could, of course, make its closing a bit more substantial. Un momento. 23:59:17 Close over multiple variables in separate locations. 23:59:19 I'll wait here. 23:59:38 A suggested (simple) example? 2010-01-11: 00:00:35 -!- bsmntbombdood_ has quit (Read error: 60 (Operation timed out)). 00:02:42 I'll be honest, blocks >>> that shit 00:03:05 and I'm not a huge fan of blocks 00:03:10 coppro: Yes, blocks have syntax. 00:03:37 what is __LAMBDA__ anyways? 00:05:07 A function. 00:05:26 what function? 00:05:33 what's the magic behind it? 00:06:11 Expand the macro. 00:09:05 where's it defined? 00:09:28 I do not see __LAMBDA__ anywhere; I only see it used in lambda.h 00:11:32 coppro: __LAMBDA__ is defined as a function on that line. 00:11:36 Why is this so hard for people to grasp? 00:11:51 params = (int x) 00:11:55 void* __LAMBDA__ (int x) 00:11:56 oh 00:11:56 { 00:11:58 ok 00:11:58 ... 00:11:59 also, btw 00:11:59 } 00:12:04 __LAMBDA__ is reserved 00:12:05 don't use it 00:13:36 also, what if you don't want to take a closure in your lambda? 00:13:58 also, does the closure actually close anything? 00:15:10 it's a compiler extension, practically 00:15:14 so he can use what he wants 00:15:16 it only works on gcc 00:15:23 thus it's non-portable code 00:15:30 thus he can do whatever he wants as long as it compiles 00:15:39 coppro: use my FN if you don't want to close 00:15:43 yes 00:15:50 it closes a single pointer 00:16:14 the pointer to the closure itself 00:16:24 That's just for fib, so it can call itself. 00:16:42 Speaking of closures, I just thought of CONS Should Not CONS Its Arguments, Part II: Cheney on the M.T.A., and remembered it is cool. 00:16:56 but how else can you invoke fib? 00:17:01 other than by call(fib, args) 00:17:07 which calls fib with fib as the first argument 00:17:32 just give me cactus stacks in C 00:17:53 and I'll be happy 00:18:29 ehird: http://sprunge.us/hFjH 00:18:32 the closed variable is passed as an argument 00:18:32 A memoizing fib. 00:18:37 well, closed pointer, really 00:18:44 pikhq: yep, C standards committee material 00:19:10 oh, ok 00:19:18 Ugly as all hell, but it is in fact lambda and closures. 00:19:32 yep :( 00:19:45 pikhq: Make a tail recursive fact. 00:19:46 I'd disagree about that being C standards committee material 00:19:48 >:D 00:19:49 except it is 00:19:54 for some evil and truly strange reason 00:20:11 ehird: Hrm. 00:20:31 (Also, blocks have been proposed. I shudder to think of _Block) 00:20:51 * ehird decides to come up with a language like REBOL but even crazier in its parenlessness 00:20:59 (All REBOL functions are fixed arity, so it's prefix notation without parens.) 00:21:01 ehird: re our discussion about functional programming to me; I think it's simply because functional programming is higher-level than OOP (at least, in its purest form) 00:21:09 and type systems are orthagonal to both 00:21:16 But that excludes variadic functions. 00:21:21 coppro: *orthogonal 00:21:23 So: 00:21:50 When we come across a function name, we execute it. The function can execute a certain primitive function, say NEXT-ARGUMENT, to cause another expression to be read. 00:22:33 This doesn't let you have foo 1 and foo 1 2 and foo 1 2 3, but it does let you do printf. 00:22:42 So it's as free-form as C variadic functions, which is good enough. 00:23:43 AHHHH 00:25:55 http://sprunge.us/beNe 00:26:23 The great thing is that you could have CRAZY 1 2 3, and CRAZY takes either one, two or three arguments depending on a random number. 00:26:24 http://sprunge.us/EVHC 00:26:27 :D 00:26:38 no 00:26:42 pikhq: Not tail recursive, you failure. :D 00:26:44 that is not :D ehird 00:26:54 coppro: Yes it fucking is! >:( 00:27:01 ehird: It would be tail recursive if I didn't need to use bloody pointers. 00:27:02 and yeah, not tail recursive 00:27:09 ... Actually, I could cast to and from. XD 00:27:10 And the cool thing is, since we just concatenate to sequence code, CRAZY 1 2 3 is actually either 00:27:19 (crazy 1) 2 3 → 3 00:27:24 (crazy 1 2) 3 → 3 00:27:32 (crazy 1 2 3) → (crazy 1 2 3) 00:27:36 doesn't that depend on what crazy returns? 00:27:43 coppro: that isn't application 00:27:45 that's just 00:27:47 oh 00:27:47 crazy(1);2;3 00:27:51 I was using Scheme notation 00:27:53 O_O 00:27:59 that is crazy 00:28:02 Anyway, so, add side effects to CRAZY, and we have the MOST AWESOMEST FUNCTION EVER. 00:28:21 can't you do that in a currying language to some extent? 00:28:23 Next, attempt to perform static analysis on this language. 00:28:51 coppro: Well, sort of. But it'd still have to be using the function call syntax no matter what "arguments" it takes. 00:28:56 With CRAZY, we could do this: 00:28:57 http://sprunge.us/eJcM 00:29:00 CRAZY 1 2 00:29:03 PRINT "Hello, world!" 00:29:06 well 00:29:10 let's assume crazy takes 1 or 2 arguments 00:29:12 CRAZY 1 00:29:15 PRINT "Hello, world!" 00:29:16 pikhq: still fail 00:29:17 this is either 00:29:21 crazy(1); print("Hello, world!") 00:29:22 or 00:29:25 crazy(1, print("Hello, world!")) 00:29:27 coppro: How so? 00:29:37 it's not tail recursive 00:29:41 ... 00:29:49 You can't rely on GCC to do TCO, dude. 00:29:55 :-) 00:29:58 tail recursion requires return call(...) 00:30:07 That also. 00:30:11 But that also relies on GCC's TCO. 00:30:14 Which is verboten. 00:30:22 Inline assembly, however, is not. 00:30:27 Efff-you. 00:30:29 JMP to that fucker! 00:31:26 Imma not tail recurse that. 00:31:36 #define RECURSE(me) __asm__("jmp " # me) 00:32:06 int fact(int n, int x) { if (n == 0) return x else { x *= n; RECURSE(fact); } } 00:32:17 *return x; 00:32:36 I wonder if that actually works. 00:35:18 def fact n { 00:35:20 if n < 2 00:35:21 1 00:35:23 else 00:35:24 n * fact n - 1 00:35:26 } 00:35:28 ↑ Factorial in my crazy REBOL-with-varargs! 00:35:36 def is variadic; it keeps readin' and readin' arguments until it finds a code block. 00:35:54 (Oh, didn't I mention? There's also NEXT-ARGUMENT-UNEVALUATED, which lets you write macro-esque things, except at runtime.) 00:36:15 (Of course, if you have POOP + 2 2 it'll get +, 2, 2 if it doesn't evaluate them, since capturing the arguments requires calling the function.) 00:36:43 n * fact n - 1 works because there's no operator precedence. :D 00:38:57 Oh, and if you want a fun exercise: Implement tail-call elimination for this language. 00:39:01 (I believe this is impossible.) 00:41:34 You could implement it by transforming F A B C D into F [A B C D], where [] is a list. 00:41:42 Then F does NEXT-ARGUMENT, making it into F A [B C D]. 00:41:53 At the end, F just evaluates its list argument as a continuation. 00:42:06 I think that would work for tail-calls, as the continuation would be empty at the end. 00:59:36 And I've got a function that generates a memoizing fib with an array of a specified size... 00:59:39 -!- bsmntbombdood__ has changed nick to bsmntbombdood. 00:59:54 (for obvious reasons, now garbage-collected) 01:08:35 -!- zeotrope has quit (Read error: 110 (Connection timed out)). 01:13:05 -!- zeotrope has joined. 01:14:03 http://sprunge.us/cJAF 01:15:58 Does not contain tail recursion; would not purchase again. 01:16:14 Shush you. 01:16:54 also, I see no reason why pointers stop tail recursion 01:16:55 just saying 01:19:09 Tail recursion is impossible in C without inline assembly. 01:19:14 I'm pretty sure that, with how I've been writing this, GCC isn't going to tail recurse it, anyways. Since it'd be perfectly valid to replace the closed value in the lambda's closure, thereby making this not actually recurse... 01:20:26 Constant folding. 01:20:52 Requires link-time optimisation. 01:21:28 -!- yodbot has joined. 01:22:32 what's shakin? 01:22:36 anyone chattin? 01:23:37 >_< 01:23:43 Do you know what this channel is about? 01:23:54 I'm guessing I do.... do you? 01:24:02 What do you think this channel is about? 01:24:12 I figure esotericism 01:24:16 what about you? 01:24:35 You are wrong. 01:24:42 do tell 01:24:49 at least he's not a markov bot :D 01:24:50 Hint: Freenode is mainly for channels about programming. 01:24:50 -!- zzo38 has joined. 01:24:52 Or open source projects. 01:25:01 You would be unlikely to find an esotericism channel here. 01:25:22 not that you would be first to try, mind 01:25:45 well, they have linguistics, they have philosophy, etc., so clearly not just programming 01:26:00 I made a program called DDD based on a code on Microsoft's web-site. It is like SUBST but more advanced. Still, it wouldn't compile with Microsoft's compiler or GNU compiler, until I added in two lines and then it would compile on GNU, and it does work. Also, I did modify it a bit. 01:26:06 I think the linguistics/philosophy/etc channels are accepted devians. 01:26:09 *deviations 01:26:14 Only because it'd spill into other channels otherwise. 01:26:26 Anyway, this channel is about esoteric programming languages and, also, esotericism is bullshit. 01:26:34 perhaps you're overstating your point 01:26:41 Sheesh, there's one born every five minutes... and they immediately come into here. 01:26:47 and maybe, just maybe, you're blowing hot air 01:26:47 ehird is the resident most militant atheist 01:26:48 I allows you to associate drive letters and DOS device names with NT device names, maybe they should make up something like this in ReactOS 01:26:58 oerjan: Hey, I'm not. 01:27:05 But esotericism *is* bullshit. 01:27:08 oerjan: I am agnostic though, but in a different way than other agnostic 01:27:23 * yodbot gives ehird something to hold in his gas 01:27:49 ah, we do have an esotericism channel 01:27:54 yodbot: /j #1,000 01:28:11 ehird /j #eatmyshorts 01:28:17 dammit 01:28:23 I WILL DEFEAT YOU :D 01:28:45 yodbot: If /join and /part are in a boat and /join jumps out, who's left? 01:29:06 * yodbot tries to decide whether it's worth paying attention, and decides likely not 01:29:28 Bah! 01:29:53 I must clearly revert to the Nuclear Option, and _actually talk about esolangs_. 01:29:54 yodbot: If "C closures" have any meaning to you, then stick around. Otherwise, go elsewhere and enjoy your bullshit. 01:30:16 oerjan: So hey, your Unlambda interpreter in INTERCAL. 01:30:20 Does it have any restrictions? 01:30:30 pikhq: Would the JMP tail recursion actually work with your closures? 01:30:35 It's jmp *ptr, after all. 01:30:41 * yodbot yawns 01:30:44 -!- augur has joined. 01:30:46 !bf_txtgen We never actually talk about esoteric languages anymore :P 01:30:53 549 +++++++++++++++[>++++++++>++++++>++>+++++++<<<<-]>>---.++++++++++++++.>++.>+++++.<<.<--.>.<----.>>.>-------------.++.<<<++.+.>>>--.<<+++++++..<++++.>>.<<-----.>>>.<<.-.>.>.+.<<++++.++++++.-.>.>+++.<<-.----.<.>----------.<--.>>>++++.<<--.>.>+++.<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>++.<<++++.<+++.>>.<.--.<--.>---------------------------------------------------------------------.>.>.<<<++++++.------------.++.+++.------- 01:30:54 yodbot: You can't yawn at us for being on-topic. 01:30:58 ehird: Hrm. Actually, yeah, it would. 01:31:00 augur: Talk about esolangs! (NOT linguistics) 01:31:05 This is urgent :D 01:31:06 If you can actually tail-recurse, that is. 01:31:11 Sometimes we do esolangs but not always 01:31:16 pikhq: JMP thisfunction is tail recursion 01:31:21 -!- lament has quit. 01:31:21 assuming you set the parameters right beforehand 01:31:27 ehird: Yes. 01:31:48 ehird 01:31:49 no 01:31:58 augur: Well, okay. 01:32:04 It'd get compiled as (operations to fetch function pointer from closed); jmp $the_ptr 01:32:05 i want an eso lang that is nothing but special forms 01:32:14 which i suppose is what BF is 01:32:16 So it might just be a tail call rather than a tail recursion. 01:32:23 augur: Shortest musing ever! 01:32:32 ehird: restrictions? well there is a memory limit, i don't quite recall but somewhere <= 32 bits 01:32:43 pikhq: Generic tail calls wouldn't work 01:32:51 oerjan: 32 bits or less of memory? yuk yuk 01:32:55 You were discussing linguistics and ambiguity, but maybe I should make up a text-adventure game based on ambiguous writing and you have to figure it out by trying different commands, it can be called "Ambiguity Game" 01:32:56 pikhq: Because of the parameter locations 01:32:56 Of course, if you want to recurse, you can just call __LAMBDA__. 01:32:58 well 01:33:00 you could do 01:33:05 myfirstparam=x;mysecondparam=y; 01:33:08 as long as they were the same typs 01:33:10 *types 01:33:13 and that'd map to (x,y, 01:33:15 I think 01:33:26 ehird: < 2^32 cells. sheesh. 01:33:54 The beast has been crippled! It cannot talk. 01:33:55 except it's probably not exactly that, because of the weird addressing 01:33:59 Great work, everyone. 01:34:10 Let's make ambiguous writing game!! 01:34:13 zzo38: Let's! 01:34:56 ...which is ambiguous in itself. 01:35:05 It's either "let us", or "that which belongs to Let". 01:35:08 Yes 01:35:20 It can be, in that way 01:36:01 But I mean very ambiguous writing, such as: Charities for poor people and monsters with names starting with "A" 01:36:32 My brain has hung in its parenthesisation routine. 01:36:36 You broke my brain. :( 01:36:42 Sometimes you don't know how many things in the sentence each word refers to unless you put brackets or something like that 01:37:03 How can I break your brain if you can still write on here that it is broke? 01:37:41 My brain is multitasking. 01:37:46 OK 01:37:48 The other threads will die out soon enough, and I will with them too. 01:39:14 zzo38: these monsters are flying purple people eaters, i assume 01:39:40 You can assume whatever you want, when I wrote this sentence I had nothing specific in mind, I wrote it for the only purpose to be ambiguous 01:40:45 But that's a point too, if you want to know what the words in "flying purple people eaters" also can be refer to what group of other words, so therefore you can do that if you want 01:41:15 i think that's a *woosh* right there 01:41:22 OK 01:41:31 oerjan: **whoosh* 01:42:02 dammit i was somehow thinking whoosh was incorrect, and correcting it 01:42:30 OK, if that's what you want 01:42:59 zzo38: anyway the point is my assumption is ambiguous too 01:43:17 Yes, that's OK too 01:43:43 Soon you are going to make it everything like Hofstadter wrote a GEB book with some things levels all mix and stuff 01:44:25 On another note: Finally I received a Washizu Mahjong Tiles 01:44:30 that would be assuming i wasn't too lazy, which is _rather_ far-fetched 01:44:51 OK 01:44:58 also i never finished GEB 01:45:05 OK 01:47:39 I loved the ending dialogue of G.E.B. 01:47:42 Worth reading for that alone. 01:48:41 ... Dear God I could break people's heads. I could write with continuation-passing style in C. 01:49:06 That would probably be very painful. 01:49:12 What with the "explicit closing" and all. 01:50:12 `addquote ... Dear God I could break people's heads. ... 01:50:16 110| ... Dear God I could break people's heads. ... 01:50:45 pikhq: CPS in C is what Cheney on the M.T.A. does 01:50:52 ehird: MTA? 01:51:05 the prosecution rests. 01:51:16 http://home.pipeline.com/~hbaker1/CheneyMTA.html 01:51:23 Only the single most awesome Scheme→C compilation mechanism. 01:51:29 "Appel's method avoids making a large number of small trampoline bounces by occasionally jumping off the Empire State Building." 01:51:48 pikhq: tl;dr full TCO, uses C functions and arguments, call-with-current-continuation is O(1) due to using continuation-passing style 01:52:01 also, function calls are fast 01:52:02 no trampoline 01:52:50 -!- Asztal has quit (Success). 01:53:48 -!- oerjan has quit ("Reboot"). 01:53:50 ehird: Ah, that. 01:54:04 Yes. That is totally awesome. 01:55:55 http://home.pipeline.com/~hbaker1/cboyer13.c 01:56:02 A hand-translated Scheme benchmark using that method. 01:56:11 Choice quote: /* Closure types. (I don't trust compilers to optimize vector refs.) */ 01:56:19 -!- oerjan has joined. 01:56:20 (Circa 1994.) 01:56:32 Includes a closure type pretty much exactly like yours. 01:57:16 -!- snaggle has joined. 01:57:52 So, basically what I've got, except with smarter code using it. 01:58:29 -!- yodbot has quit (Read error: 104 (Connection reset by peer)). 02:00:21 /* Define tag values. (I don't trust compilers to optimize enums.) */ 02:00:25 now *that's* just paranoia 02:01:15 Now I should make up the program to retrieve the quotes in HackEgo, so tha I can make a list 02:02:17 Sgeo did that. 02:03:02 I can make it up the macro in IRC, using CRISC 02:05:25 Like, PRIVMSG HackEgo :`quote and the number, and then check for the line with :HackEgo at the start and PRIVMSG zzo38 and then lgo those to a file 02:05:29 Just parse the data file 02:05:30 `help 02:05:31 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 02:05:40 Where is the data file 02:05:47 Is it at the URL given there 02:06:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/393844a8543b/quotes/quote.db 02:06:07 It's SQLite or something 02:06:09 OK 02:06:29 That would be more better 02:07:21 -!- jix has joined. 02:07:45 -!- jix has quit (Client Quit). 02:07:56 -!- jix has joined. 02:10:09 There, that was easy, just wget and then select * from quotes; and it work. 02:10:40 echo select * from quotes; | sqlite3 quote.db > quote.txt 02:11:37 I was going to say "you're using Linux" now, but then I realised you had a ; outside of quotes. 02:11:40 Must be a port. 02:11:47 *"you're using Linux now?", 02:12:22 Yes it is the Windows command-line. Although I can still use bash, too, with MinGW 02:13:32 Windows command line. lulz 02:13:37 I do things like this too sometimes for downloading files from gopher, just echo|nc> is good enough and it works, both on Windows and on Linux 02:15:44 -!- snaggle has left (?). 02:16:59 `quote 111 02:17:00 No output. 02:17:16 -!- adam_d has joined. 02:18:22 -!- MizardX has quit (Read error: 110 (Connection timed out)). 02:22:55 -!- adam_d has quit (Read error: 104 (Connection reset by peer)). 02:27:29 -!- zzo38 has quit (Remote closed the connection). 03:00:29 -!- ehird has quit (Read error: 60 (Operation timed out)). 03:04:14 -!- oerjan has quit ("Good night"). 03:06:56 -!- uorygl has quit (farmer.freenode.net irc.freenode.net). 03:06:57 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net). 03:06:57 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net). 03:07:10 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net). 03:07:10 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net). 03:07:10 -!- Ilari has quit (farmer.freenode.net irc.freenode.net). 03:07:11 -!- mtve has quit (farmer.freenode.net irc.freenode.net). 03:08:28 -!- HackEgo has joined. 03:08:28 -!- SimonRC has joined. 03:08:28 -!- mtve has joined. 03:08:28 -!- Ilari has joined. 03:09:46 -!- uorygl has joined. 03:09:46 -!- Gracenotes has joined. 03:09:46 -!- puzzlet has joined. 03:16:21 -!- zzo38 has joined. 03:16:35 The PDF format is all mixed up and has some bad ideas 03:17:09 zzo38 wins the obvious-statement-of-the-year award. 03:19:29 Some things that I think are bad in PDF include (but not limited to): Interactive content, animation, external hyperlinks, user/owner passwords, restrictioins, file attachments, authentication, and submitting information to web servers from viewing the document. 03:21:16 Therefore, a better format should be made. There are also other things, too, that could be improved with such formats 03:22:26 Some of the good features of PDF are: Bookmark list, and internal hyperlinks. 03:31:05 How do we fix it? 03:33:03 DVI? 03:33:32 also see http://simulacrum.dorm.duke.edu/allyourgoogle.svg 03:36:04 -!- jpc has joined. 03:36:20 zzo38: Take Postscript. Add hyprelinks and bookmarks. 03:36:21 Fin. 03:38:08 Can it be made a binary format? Also, can it be made not requiring full program language feature? (for simplification) And maybe other things might be add/remove too 03:38:54 DVI has many things missing such as colors and images and line drawings 03:39:17 While PDF has too many things added 03:39:28 Postscript can be made a binary format. 03:39:37 See: the Postscript subset of PDF. 03:40:00 OK, I can see 03:42:16 There are a few useful features of PostScript not in PDF, and also vice versa. Such as, tray selection, and object transparency, and also a proper font embedding 03:42:42 And there are too many formats for graphics and stuff in PDF, we need to select just a few of them 03:43:41 And there is one extra feature that might be good, is macros, which cannot call other macros themself, though. 03:43:49 And now it should be better 03:44:17 And maybe even some features shared in PostScript/PDF might not be needed, but I don't know everything about PostScript or about PDF 03:48:02 And I think this new format should have only one built-in font (instead of fourteen typefaces that PDF has). The only built-in font, is specified as a fixed-pitch ASCII font, and can be scaled to a given height/width on the page, but has no other specification than that. 03:58:41 -!- Warriphone has joined. 04:15:54 -!- Warriphone has changed nick to uoryfon. 05:10:12 -!- uoryfon has quit (Read error: 110 (Connection timed out)). 05:15:02 -!- zzo38 has quit (Remote closed the connection). 05:54:00 -!- Pthing has quit (Remote closed the connection). 05:55:02 -!- iamcal has joined. 06:09:44 -!- iamcal has quit. 06:11:49 -!- cal153 has quit (Read error: 113 (No route to host)). 06:27:09 -!- FireyFly has joined. 06:35:58 -!- zeotrope has quit (Read error: 110 (Connection timed out)). 06:53:20 -!- uoryfon has joined. 07:28:03 -!- FireyFly has quit ("Leaving"). 07:35:14 -!- uoryfon has quit (Read error: 110 (Connection timed out)). 07:44:34 -!- soupdragon has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:06 -!- kar8nga has joined. 08:12:43 -!- kar8nga has quit (Remote closed the connection). 08:14:05 -!- MizardX has joined. 08:18:14 -!- Gracenotes has quit (Read error: 110 (Connection timed out)). 08:51:25 -!- soupdragon has quit ("Leaving"). 08:54:40 -!- Guest12622 has joined. 08:56:56 -!- Guest12622 has quit ("Leaving"). 08:58:50 -!- dbc has joined. 08:58:58 7297750236 09:36:37 -!- Gracenotes has joined. 09:50:59 -!- MizardX- has joined. 09:51:54 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 09:51:57 -!- MizardX- has changed nick to MizardX. 10:04:19 dbc, ? 10:05:37 Unfortunately, GCC's line numbers are monumentally unuseful when it comes to macros. <-- try clang or icc, I don't remember if they manage that better, but it is worth a try 10:18:22 pikhq or ehird: next thing to implement in C after lambda would be call/cc :D 10:18:41 anyone going to try that? 10:28:30 -!- jpc has quit ("I will do freaking anything for a new router."). 10:39:28 -!- ais523 has joined. 10:39:48 good morning #esoteric 10:48:07 -!- uoryfon has joined. 10:49:01 morning, ais523 10:50:08 hmm, so much coursework to do by tomorrow... 11:14:53 ais523, hi 11:15:05 hi 11:19:50 wow, OOXML maintenance is adding the leap year bug back in to OOXML 11:20:42 http://adaptux.com/standards/ooxml-wg4-leap-year-bug-unfix 11:25:24 i have to do nothing by tomorro 11:25:24 w 11:25:37 but i'm gonna! MWAHAHAHA 11:27:50 -!- oerjan has joined. 11:31:51 -!- uoryfon has quit (Read error: 110 (Connection timed out)). 11:49:53 ais523, crazy 11:52:49 ais523: why? 11:53:09 for Excel compatibility, presumably 11:53:14 it's easier to fix ISO than to fix Excel 11:56:19 Remarkably white weather here today. Even the local newspaper (well, their website, anyway) has a story about the "icy fog" that has coated everything with white fuzz. 11:58:08 drama 12:08:38 it is, i can't help looking at the trees, and constantly tripping (pun intended) 12:08:57 but seriously, they are so beautiful, have i mentioned this? 12:11:26 you have 12:11:30 it's pretty pretty over here 12:11:35 fizzie: "freezing fog" in English 12:11:49 the nearby canal's mostly frozen over 12:11:57 and there were ducks and geese standing on it looking confused 12:12:10 then a bit further down there was a break in the ice, and loads of ducks happily swimming around in it 12:13:56 There's a warmed-in-winter "riverlet" of sorts near to where I used to live; in winter it's literally duck-covered. I think there's some sort of feeding thing going on there too. 12:14:56 And the field next to the parking area at the place I work currently looks like this: http://zem.fi/g2/d/9731-1/20100111_003.jpg 12:15:24 ah, that's great 12:15:32 looks uncannily like fields here in the UK, too 12:15:51 I think most european countries look much the same in the countryside 12:16:03 although, I don't recognise that sort of tree 12:16:29 Here's the road: http://zem.fi/g2/d/9728-1/20100111_002.jpg 12:17:08 And here are the shoes: http://zem.fi/g2/d/9725-1/20100111_001.jpg 12:18:17 * ais523 opens that in Firefox in Firefox 12:18:32 god those trees are beautiful 12:18:33 (writing chrome://browser/content/browser.xul in the address bar appears to start a recursive browser instance...) 12:18:45 well they are rather boring in the pic 12:18:45 I think the snow falling is beautiful too 12:18:47 but irc 12:18:49 *irl 12:18:52 I was staring out of the window, watching the snowflakes fall 12:19:29 beh, the menu in the inside browser opens things in the outside browser 12:19:40 i do that too, but there's not much structure to rain / snowfall 12:20:00 i can't really do anything to the beauty 12:20:17 unlike trees, i usually traverse the graph formed by the branches 12:21:32 In addition to the shoes there was a strange thing made out of metal wire in one of the lamp posts. 12:24:54 Heh, tomorrow's seminar thingie schedule has two 15-minute breaks in the morning half; they are labeled as "speculation breaks". (It is a bit unclear whether it means "take a break from all the unfounded speculation" or "a break from the presentations, during which it is possible to speculate".) 12:26:14 The schedule items also have the following times, in this sequence: 9:00, 9:15, 9:45, 9:15, 9:30, 10:00, 10:30, 10:45, 11:15, 11:45. I wonder how that works exactly. 12:27:08 Perhaps there's a time-warp backwards of one hour after the first three items. 12:28:31 9:45: Time travel laboratory 12:29:12 fizzie: switch to DST in the middle of them? 12:29:52 There shouldn't be. At least usually it happens at 03am here, and not in the middle of winter anyway. 12:30:50 where's HackEgo's qdb? 12:31:44 -!- zeotrope has joined. 12:32:33 ais523: I think http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes/quote.db is online in the sense that it's current, but it's a binary sqlite3 file, so that's maybe not convenient always. 12:32:48 mrh, it shouldn't be too hard to parse 12:32:58 also, why did you write that as a self-quote? 12:33:09 Because you asked this earlier, in 2009-11-16. 12:33:15 I just copy-pasted my answer from there. 12:33:18 ah 12:33:24 I don't remember back that long 12:33:33 Gregor: is HackEgo's qdb online anywhere/ 12:34:52 You had already gone elsewhere before my answer, also. 12:34:53 ais523: zzo38 did it yesterday, i believe 12:35:14 did what? 12:35:15 -!- Asztal has joined. 12:35:36 extracted the quote database with sqlite (?) 12:36:32 With the sqlite command-line tool, it's pretty trivial. Or with any bindings to the sqlite library. Manually, maybe not quite so. 12:36:51 sqlite> .restore quote.db sqlite> SELECT * FROM quotes; 12:36:59 yep, works fine 12:37:25 CREATE TABLE quotes (id INTEGER PRIMARY KEY AUTOINCREMENT, quote TEXT); -- as far as databases go, it is not the most complicated one ever. 12:39:37 -!- oerjan has quit ("Later"). 12:40:12 you and your fancy computer skills 12:41:28 those quotes are mostly rubbish 12:41:34 although some of the fungot ones are good 12:41:34 ais523:... in bed." _ _ " i agree, 12:41:40 ^style 12:41:40 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 12:42:09 fungot: I really have to doubt your prowess in bed. 12:42:09 fizzie: that has the static linker had previously dealt with the models of what distinguishes a function. 12:51:56 hmm, I don't /think/ this is meant to be an esolang, but: http://www.basis.uklinux.net/ursala/sudoku.fun 12:54:57 it shows several esolang characteristics, such has having an extension that's completely unrelated to the name of the language 12:55:18 and apparently random-looking strings of letters (which I /think/ are combinators) 12:55:46 $ fun --main=" ̃&nSiiDPSLrlXS" --decompile 12:56:20 main = compose(map field((0,&),(&,0)),compose(reduce(cat,0),map compose(distribute,compose(field(&,&),map field(&,0))))) 12:57:22 also, it's whitespace-sensitive, how fun 12:59:13 the syntax for variable names is to put them in double quotes 13:01:57 uni starts tomorrow! :))))))))))))) 13:02:07 yay 13:02:40 "Recall that crt is the name of the user written library containing the binomial lattice functions, while flo and cop are standard libraries distributed with the compiler." 13:03:20 the name crt does make sense 13:03:31 yes, but names are normally more descriptive 13:03:40 oh it does make sense? :P 13:03:41 also, "crt" is already taken for "C runtime" on many systems 13:03:49 oklofok: presumably, to someone 13:04:06 presumably 13:04:18 this thing has an insanely mathematical standard library 13:04:28 cool 13:04:36 topology and algebra tomorrow! join my happiness! 13:04:50 does it share anything with APL? 13:05:07 beautiful trees and math, could the year have a better beginning 13:05:22 "It doesn’t take any deliberate contrivance to bump into an undecidable type checking problem. The “type” of the jacobian function is (Æ × Æ) → ((Êm → Ên ) → (Êm → Ên×m )) for the particular values of n and m given by the argument to the function, which needn’t be stated explicitly at compile time." 13:05:32 zeotrope: the FAQ disclaims any connection 13:05:39 although there are obvious similarities, or it wouldn't have to 13:05:52 are those R^n etc? 13:06:12 N x N -> R^m x R^n, etc 13:06:18 I'm tempted to learn it, still haven't seen a "killer feature" 13:06:54 more incomprehensible than Perl? 13:07:01 that's a great + in this channel 13:07:02 I program in J :( 13:07:03 what jacobian function are we talking about? 13:07:32 oklofok: the one that creates a jacobian matrix 13:07:47 although it's actually higher-order, it maps a function to a function returning a matrix 13:08:22 oh 13:08:27 also, possibly due to Greenspun's Tenth Law, they just embedded Lisp with a slightly different syntax pre-emptively 13:09:11 "The current release (December 2009) features some notable enhancements, namely a signed integer primitive type, improved reification operators, and various improved implementations of standard library functions." 13:09:19 I love the way a language can completely forget about signed integers, very eso 13:09:56 "Ursala (UniveRSal Applicative LAnguage) is a functional programming language suitable for scientific and numerical computation" 13:09:59 *cough* 13:10:15 why the cough? 13:10:26 no signed integers? 13:10:32 they were added, last month 13:10:49 before then, presumably it was all floats and unsigned 13:10:50 okay the type does make perfect sense, i interpreted the ->'s as x's because ->'s usually mean "failed character" 13:11:04 i mean i interpreted a few of them that way 13:12:26 as if you'd ever need integers in science 13:12:45 you do sometimes 13:12:56 in quantum physics, for instance 13:13:26 you can just put them in doubles 13:14:43 ...so wait, it computes derivatives? 13:14:53 the same way as mathematica or the same way as j 13:15:09 probably the same way as j 13:15:38 "Although a list reversal function is available already as a primitive operation, we can express one using this combinator and test it at the same time as follows. $ fun --main=" ̃&aˆ?( ̃&fatPRahPNCT, ̃&a) ’abc’" --cast %s" 13:15:47 well to be fair i'm not sure there's a general purpose derive in j, zeotrope can probably tell me. 13:15:50 it's a bit reminicent of J, actually, but with a different philosophy 13:16:16 what's the philosophy, in 7 words or less 13:16:22 tacit? 13:16:27 I'm not entirely sure yet 13:16:49 well in J theres 2 derivative operators 13:16:51 d. 13:16:52 and D. 13:16:58 d. does symbolic derivation 13:16:59 is d. for "polynomials" 13:17:04 hmm 13:17:16 yes but also general functions 13:17:26 for example square is *: in J 13:17:30 so *: d. 1 13:17:37 is the first derivative of x^2 13:17:44 which is 2x or +: in J 13:18:03 can you supply a derivative? 13:18:08 like you can supply obverse 13:18:31 I dont understand what you mean? 13:18:35 oh err 13:18:47 when you make a function, can you tell it what its derivative is 13:18:50 you can do this for inverses 13:19:01 oh sadly I dont think so 13:19:09 I've actually been wanting such a feature 13:19:28 i like the idea of adding that sort of info to functions, but i think the way j does it is very unsatisfactory 13:19:54 how do you add inverses to functions? 13:20:21 i don't remember, i just remember you can do it 13:20:22 err 13:20:25 well 13:20:37 if you have some function, that, when inversed, drops info 13:20:43 hmm I've never come across it, it would be a good feature 13:20:53 then sometimes when you inverse it, j will add the info for you, in case you wanna invert back 13:21:23 it would, one of the things i love about j (not i've never used it) is the idea of applying an operation "under" another operation 13:21:24 well I meant something more along the lines of manually specifying an inverse 13:21:30 this relies on being able to add inverse information 13:21:45 zeotrope: i mean if you make it show the func, you'll see how the obverse was stored 13:21:58 oh 13:22:04 ("obverse" is the term i've seen used for it in j, in case that sounds weird) 13:22:40 so something like the inverse of prepending something is dropping something, but the inverse remembers what was dropped 13:22:41 actually obverse is the correct term 13:23:15 so that if you reinvert then it will go back to its original state? 13:23:21 try that if you know how to, i don't even remember how to add two numbers in j. 13:23:34 yeah 13:24:15 I would like it to be able to manually add an inverse 13:24:31 and you can if you try that, and look at the function. 13:24:38 currently only bijective functions work 13:24:42 i just don't remember the character requence 13:25:30 what do you mean? 13:26:19 well I gotta catch up on my maths but only bijective functions may be inversed 13:26:50 obviously j can't invert functions in general, bijective functions are, in mathematics, needed for inverse, but in for instance the prepend example i mentioned, you have an injection, which is inverted, with stuff without actual preimage some "obvious" inverse 13:26:56 yes, that's true 13:27:10 *having some 13:27:20 in the case of prepending 13:27:32 we have a function that adds some preset element in the beginning of the list 13:27:39 hmm, so the function which can be written naively as f("x","y") = "x" is expressed internally as (&,0) which is sugar for (((),()),()) and which is most idiomatically written as ~&l 13:27:41 the "obvious" inverse is to remove the first element 13:27:44 what an utterly weird language 13:28:11 thats an interesting idea 13:28:17 but how would you add such info 13:28:17 now, "prepend x" is in fact a bijection from L to x:L, where L is the set of lists 13:28:23 but there's no such type in j 13:28:49 you just use L as the domain of the inverse, and have it remove any element from the beginning, even if it isn't x 13:28:52 (i think.) 13:29:16 no I mean in the implementation of the language 13:29:33 you add the info for basic operations, and you add info for combinations of operations 13:29:33 is this going to be implicit when defining all new functions? 13:30:28 I believe J already does that 13:30:36 yes, i'm explaining what j does 13:30:37 :P 13:30:41 but extending it to all the operators is tough 13:30:56 yes, computers might not share our definition of obvious in general. 13:31:07 and obviously inverting is undecidable in general 13:31:20 yes thats what I was gonna say.. 13:31:20 :) 13:31:31 does any other language have inversion 13:31:37 I love J's power operator 13:31:44 well there are reversible languages 13:31:50 can't believe so many good ideas are locked up in this language 13:32:46 j's high-level functions are pretty awesome 13:32:59 hahahahaha 13:33:00 the adverbs? yeah 13:33:06 i actually have a book about j, but i'll probably read it in the summer 13:33:12 I love the way constructor/deconstructor precedence works in Ursula 13:33:12 yeah adverbs 13:33:17 *Ursala 13:33:30 how does it work? 13:34:02 ~&httC = h (C (t, t)) in a more normal notation 13:34:17 ~&httPC = C (h, t (t)) 13:34:36 basically, the constructors/deconstructors are either unary prefix, or binary postfix 13:34:47 and P groups the two proceeding *constructors into one 13:35:10 also, 2 = PP, 3 = PPP, etc 13:35:52 also, it infers arguments to binary constructors if none were given 13:36:07 -!- BeholdMyGlory has joined. 13:36:13 *over my head* 13:36:21 but I'll be sure to read the manual 13:36:30 looks like it has some pretty "interesting" ideas :) 13:36:51 it also has the I constructor, which isn't really defined at all 13:37:10 as in, the manual gives four expressions containing I and defining what they do 13:37:16 and then stating, any other use is undefined behaviour 13:38:09 zeotrope: you don't happen to know how to show a function's "source code"? 13:38:34 in J? 13:38:38 ya 13:38:45 5!5<'function name' 13:38:52 ais523: lol :D 13:39:04 or just type the function name in the propmt without arguments 13:39:49 woops, its 5!:5<'function name' 13:39:59 missed the ":" 13:40:01 right, ofc 13:40:37 okay i don't know how to get it to actually evaluate the ^:_1 and then display 13:41:05 i know there's a way, in one of the labs they inverted some stuff and showed how cleverly j deduced inverses 13:41:22 there is I was trying to remember it too 13:41:24 one sec 13:42:45 instead of ^:_1 you can use the builtin verb "inv" 13:42:51 fyi 13:44:14 cant figure it out 13:47:24 "Writing complicated pointer expressions can be error prone even for an experienced user of Ursala. Learning to read the decompiled listings can be a helpful troubleshooting technique." 13:51:11 sorry, seems everything's postfix 13:51:24 as in, ~&rl is "left of right", not "right of left" 13:52:51 -!- bsmntbombdood_ has joined. 13:53:36 I'll need to write an Underload interp in Ursala some time, I think 13:54:11 -!- bsmntbombdood has quit (Read error: 101 (Network is unreachable)). 13:55:00 oklofok: figured out how to display inverses? 14:02:34 no, me and seven other finnish guys went to screw a lightbulb. 14:02:40 on 14:03:12 well maybe more like in 14:03:25 or up while we're at it 14:03:52 * uorygl ponders the best preposition to use. 14:04:06 "over" is pretty good 14:04:47 I like "against". 14:06:28 "around" is not too shabby in this case. 14:06:37 Oklofok and seven other guys, screwing around a lightbulb. 14:08:58 Seven other Finnish guys. That's important. 14:13:29 any recommendations on books about asm? 14:21:46 I learnt asm by compiling C to asm and seeing what I got 14:22:05 (well, that's how I learnt x86 asm, I first learnt 6502 asm from a book called "Beyond BASIC") 14:23:10 it was kind-of fun, the last example in that book was a 16-bit divide 14:23:25 (ah, the joys of an 8-bit processor without multiplication or division) 14:24:56 interesting, I'll give the C idea a try 14:25:32 The "Machine Language for Commodore 64 and other Commodore computers" book is available floating around in the interwebs. (It might be of an unclear legal status, though.) I think it goes a bit more beyond basic than Beyond BASIC. 14:26:37 6502 asm might not be everyone's cup of tea, however, and the related hardware is a bit... dated. 14:27:00 -!- Sgeo has joined. 14:27:35 fizzie: yes, my BBC Micro was sold for spare parts ages ago, because it was hardly working 14:27:55 in particular, the B and Y keys on the keyboard were broken 14:28:45 Sam Hughes makes a whitelisting HTML parser, which doesn't allow and , but allows and . Hilarity Ensues: http://qntm.org/?parser 14:28:52 I have a C128 in the closet (it's better than having a skeleton there), and it was working fine when I last fed it some electrons; admittedly that ws some years ago. 14:28:55 (Fine Structure spoiler in one of the comments) 14:29:13 Specifically, Eskivole's comment and Sam's followup comment 14:31:56 last time I tried to boot my windows 3.1 computer, I found that most of the binaries on it were corrupted 14:32:00 apart from DOS for some reason 14:32:36 -!- FireFly has joined. 14:37:50 why isn't oerjan always here 14:38:17 as if he has anything better to do than answer my questions 14:44:29 http://www.reddit.com/r/programming/comments/anp8l/anic_faster_than_c_safer_than_java_simpler_than_sh/c0ij3xy <--- some redditor go tell him about Perligata 14:44:41 Perligata? 14:44:50 * Sgeo is a redditor >.> 14:45:46 isn't that the perl latin dialect.. 14:47:44 septimum noni tertii primi unimatrixorum 14:48:00 equivalent to $unimatrix[1][3][9][7]; in perl 14:48:00 http://esolangs.org/wiki/Perligata 14:48:13 zeotrope: yes 14:49:05 is non positional syntax a good idea? 14:49:54 it's different and unusual 14:50:00 I'm not entirely sure it's a good idea, though 14:50:22 it /does/ fit in with the philosophy of Perl, in a way (rearrange your commands to have the important bits first) 14:50:27 but not really with programming in general 14:50:36 ofc, as it's Latin, you'd put the important things last instead 14:50:40 as that's what you do in Latin 14:51:11 I've never programmed in perl, but there must be something special in it that facilitates such a language being built on top of it 14:51:40 too lazy to read the paper..meh 15:00:02 -!- Slereah_ has joined. 15:00:45 Oh, http://www.reddit.com/r/programming/comments/anp8l/anic_faster_than_c_safer_than_java_simpler_than_sh/c0ikw5t 15:02:03 vaporware 15:02:11 ? 15:03:29 Sgeo: the lang in question hasn't actually been implemented yet 15:04:26 Edited 15:06:20 may as well say #esoteric on irc.freenode.net 15:06:29 so that people know where to find the channel 15:08:20 Done 15:09:11 http://www.reddit.com/r/programming/comments/anp8l/anic_faster_than_c_safer_than_java_simpler_than_sh/c0ikw5t 15:09:18 sorry.. 15:09:29 damn irssi 15:09:32 AnMaster: call/cc is easy when you've got lambda. So long as you can compile to continuation-passing style, that is. 15:09:55 -!- Slereah has quit (Read error: 110 (Connection timed out)). 15:11:20 call/cc with escaping continuations means the ability to say "oops". 15:11:26 Sgeo: wrong 15:11:29 Perligata's implemented, anic isn't 15:11:31 fix your comment 15:11:33 Oh 15:11:54 Fixed 15:13:05 no it isn't 15:13:23 ah, now it is 15:13:24 ? 15:13:25 stupid caching 15:13:28 lol 15:13:52 the individual comment's still showing the problem, its parent isn't 15:20:31 ANI looks like kind of a vaguely-defined language. 15:24:52 It's a language that's not been implemented or specified. 15:25:02 Really, it amounts to an idea. 15:25:08 Interesting, sure, but an idea. 15:32:16 -!- lieuwe has joined. 15:33:52 Hmm. From the ANI tutorial: 15:33:54 "What? We just learned how to write a Hello, World program in this crazy new language, and the next step is building a real-time parallel clock/calculator? Yes, indeed! It would take a programmer new to C months to be proficient enough in the language to attempt such a thing (and even then, it would be virtually guaranteed to have bugs)." 15:34:16 If I agreed with that statement, I would conclude that C really, really, really sucks. 15:34:47 well it does 15:35:01 it does 15:35:09 -!- augur has quit (Read error: 110 (Connection timed out)). 15:35:10 welcome to the world of low- vs high-level programming 15:36:12 yeah, such high levels of abstraction make us brainfuck players vomit 15:36:20 -!- coppro has quit ("I am leaving. You are about to explode."). 15:36:59 -!- ehirdiphone has joined. 15:37:08 Replace the number of "really"s with the next Fibonacci number until you disagree, then. 15:37:08 callcc in c has been done before. Easy. 15:37:29 ais523: We have discussed and laughed at ursala before 15:37:45 Also, eff you, the qdb is excellent 15:37:50 ehirdiphone: Yeah... You could hack it together with longjmp, even without lambda. 15:38:03 here comes ehirdiphone, and disagrees with the whole log 15:38:05 I literally lol'd at it every second quote yesterday 15:38:13 oklofok: :D 15:38:14 :D 15:38:20 pikhq: Yep been done 15:38:40 For prolog style backtracking too 15:38:46 ehirdiphone: did you laugh at the even ones or the odd ones? 15:39:03 why would I want to use a multithreaded real-time clock and infix calculator anyway? 15:39:05 I have Emacs for that 15:39:11 uorygl: On average I laughed at every second quote. 15:39:27 (not actually joking: I configured Emacs to show the current time on the modeline, so I had a clock readily available when I was working in xmonad) 15:39:36 ais523: I love that example, it so perfectly reflects the language design 15:39:54 ehirdiphone: anyway, Ursala is actually a really interesting lang I think 15:39:58 "We couldn't think of an appropriate real problem!" 15:40:16 that sort of multithreading is trivial in INTERCAL 15:40:24 (1) PLEASE NOTE THIS IS THE LINE THAT CAUSES THE MULTITHREADING 15:40:26 COME FROM (1) 15:40:27 COME FROM (1) 15:40:32 cheese is tasty 15:40:50 intercal <3 15:41:17 Pfkkfnekvjejfjwkcjowkc 15:41:38 ehirdiphone: heh, you even left out the implied lr at the start 15:41:48 ?? 15:41:54 * Sgeo should probably eat 15:41:59 Oh ursala 15:42:00 ehirdiphone: remember, I'm trying to learn Ursala 15:42:01 wow, i can actually attend all lectures except complex analysis 15:42:10 Sgeo: eat some cheese 15:42:19 I think most strings of random letters are syntactically correct (at least if preceded by &) 15:42:24 ais523: The tacit thing is just one part 15:42:25 i don't think i've ever been able to attend more than like half of my courses 15:42:33 because the grammar implies arguments into functions if you don't give them 15:42:48 oklofok: what's been keeping you? 15:42:53 other courses 15:43:02 Klopklopklopklopklop 15:43:11 but this time they are perfectly scattered around the week 15:43:31 ais523: Implying arguments is nice 15:43:31 the thing is usually people take one or two advanced courses at the time, so it's not really an issue if they are on top of each other 15:43:40 hmm, I think Underlambda compiles into Ursala pretty neatly 15:43:41 so they use the same 2-hour slots 15:43:47 and i'm like fuck u 15:43:52 I tried to beat REBOL once and had those 15:44:35 * oklofok mutters something about pennies, ais523 and underlambda/intercal 15:44:53 At your school, it's normal for classes to overlap? 15:44:57 let's see... ^ is ~&htH, that was easy 15:44:57 yes 15:45:03 rather normal 15:45:04 incidentally, H is an abstraction-inversion in Ursala 15:45:40 I also had Perlish function lvalue thing 15:45:59 You could do 15:46:12 rot13 s = "poop" 15:46:17 -!- augur has joined. 15:46:29 augur: hi, nemesis. 15:46:33 and that'd make rot13 s == "poop" 15:46:35 * is ~&hthOttRC, or possibly ~&hthPttRC 15:46:35 ie 15:46:43 uorygl: since when im i your nemesis? :| 15:46:45 not entirely sure which way round the arguments would be, I'm confused thinking about it 15:46:46 s = rot13 "poop" 15:46:52 cool no????? 15:46:56 there's some coordination for stuff people usually take at the same time 15:47:03 am* 15:47:06 A formal semantics for this operation is best left to compiler developers. 15:47:15 ais523: 'ppreciate my lang 15:47:27 What operation? 15:47:37 O 15:47:39 augur: aww, I like having nemeses. 15:47:49 Doing? 15:48:00 composition 15:48:21 wait, no 15:48:27 composition is complicated in ursala? 15:48:28 that's composing h and th themselves, not their values 15:48:35 ehirdiphone: it has quoting issues 15:48:36 wat 15:48:51 ais523: PPRECIATE MY LANG 15:48:54 no 15:49:16 :( 15:49:21 :'( 15:49:24 crybaby. 15:49:27 -!- zeotrope_ has joined. 15:49:31 :''( 15:49:40 * oklofok sleeps -> 15:49:54 i sleep like a baby, but i cry like a MAN 15:49:56 oklofok: Wut 15:49:59 * uorygl watches the tears escalate. 15:50:00 i'm tired 15:50:05 i had an exam today 15:50:07 It's 17:00 in fi 15:50:08 so i didn't sleep much 15:50:10 yeah 15:50:10 xD 15:50:19 -!- kar8nga has joined. 15:50:19 17:49 but yeah 15:50:24 oh 15:50:29 +2? 15:50:37 sh*t, having some trouble implementing underload... 15:50:42 +2 or +3, yes. 15:50:52 15:48 here in TOTALLY UNADJUSTED TIMEZONE LAND 15:50:56 ^____^ 15:51:00 ^___________^ 15:51:00 Actually, 15:50. 15:51:06 seriously -> 15:51:13 >.> 15:51:13 lieuwe: Knew it 15:51:22 ehirdiphone: why? 15:51:31 Doing both ^ and S giving you trouble, right? 15:51:41 -!- augur has quit (Read error: 60 (Operation timed out)). 15:51:43 ehirdiphone: nope, () giving me trouble 15:51:53 o_O 15:51:55 Howso 15:52:02 ehirdiphone: it could be the same problem manifesting in a different way 15:52:09 ehirdiphone: as that pushes stuff into the program, and i need to translate to python... 15:52:16 I think so too ais523 15:52:22 lieuwe: Kneeew it 15:52:29 -!- Pthing has joined. 15:52:38 09:51 here in CENTRAL STANDARD TIME. AMERICA! 15:52:40 You must store the code along with the python 15:52:43 lieuwe: a hint: you need to store both a precompiled version of the code inside the (), and the original source 15:52:47 -!- Pthingg has joined. 15:52:55 ais523: Or just do an interpreter. 15:53:06 ehirdiphone: I mean, to do a compiler 15:53:10 -!- Pthingg has quit (Read error: 104 (Connection reset by peer)). 15:53:11 an interp would work rather differently 15:53:17 ehirdiphone: so i have a list of python commands as 'program' which i eval in order and insert stuff into, but i need to insert translated commands, and the translating is the problem 15:53:25 -!- ehirdiphone has quit (Remote closed the connection). 15:53:38 -!- ehirdiphone has joined. 15:53:49 Sorry what was said after the last thing I said 15:53:57 [15:52] ehirdiphone: I mean, to do a compiler 15:54:00 [15:52] <-- Pthingg has left this server (Read error: 104 (Connection reset by peer)). 15:54:00 [15:52] an interp would work rather differently 15:54:01 [15:52] ehirdiphone: so i have a list of python commands as 'program' which i eval in order and insert stuff into, but i need to insert translated commands, and the translating is the problem 15:54:08 ah, well, at least i've got bf->python implemented, any other lang suggestions to implement?(prefferably not self modifing 15:54:10 * Sgeo was about to do that tprivately 15:54:24 we should get one of the bots to do that 15:54:26 via DC 15:54:28 *DCC 15:54:29 lieuwe: UL is not self modifying 15:54:49 the point is, you can compile the code segments inside the () in advance 15:55:07 then operations like a become repr, ^ becomes eval, * becomes string concatenation 15:55:13 ais523: and thats where my troubles start... my lexer wont do that... 15:55:22 lieuwe: ah, you probably need to improve the lexer then 15:55:31 Your... Lexer is compiling? 15:55:36 ( and ) can't be implemented as separate commands 15:55:54 * isn't concatenative 15:55:57 Isn't 15:56:00 Convat 15:56:01 ehirdiphone: I bet lieuwe's BF interp compiles [ to the equivalent of while(*p) { and ] to the equivalent of } 15:56:02 ehirdiphone: not really, it's translating to python, but translating to machine code should be possible 15:56:18 ais523: Probably 15:56:20 ehirdiphone: actually, it doesnt do that 15:56:27 lieuwe: could you pastebin what you've done so far? 15:56:55 ais523: sure... 15:56:58 ais523: How powerful is ursalas type system? 15:57:17 ehirdiphone: depends on what you mean by "powerful", I think 15:57:24 you know how BCPL's typing works? 15:57:33 dependent types? TC type checking? 15:57:41 it doesn't do type checking 15:57:51 basically, instead of storing bitstrings, everything's based on lists of lists 15:57:56 oh. Not a real language, then. 15:57:58 like ((),()) which is the representation for true 15:58:10 and arguments are just assumed to be of the right types, I think 15:58:20 Utter crap 15:58:29 at least, the equality comparison checks to see if both sides have the same representation, without looking at types 15:58:40 it tries to infer types /from/ the representation, for output to the screen 15:58:53 but there's a --cast option to tell it what the type actually is, for more complex types of outputs 15:58:54 This language sounds shit. 15:59:02 ehirdiphone: to me, it sounds very eso 15:59:03 ais523: http://pastebin.com/d751dd8dc is my code, it's 3 files 15:59:11 it's not going to be the next Haskell or anything like that 15:59:19 but it makes quite a good esolang 15:59:25 high-level, too 16:00:00 lieuwe: You don't handle outputtibg invalid commands too 16:00:13 Anyway don't try and compile UL 16:00:33 It's tricky, trust me (I did it first) 16:00:36 it can be compiled, but an interp's easier 16:00:39 I suggest interpreting 16:00:45 ais523: Vastly easier 16:00:58 (Underlambda's designed to be much easier to compile; compiling it and interpreting it are similarly difficult) 16:01:09 ehirdiphone: the lexer detects illegal commands, but the runtime isn't done yet, which should report that, anyhow, i'll just look for another lang to implement 16:01:35 "This is challenging, I give up"? 16:01:48 Why are you coding these if not for the challenge? 16:02:23 n,A,C,E,s[1<<20],*r;main(c,X){char*p=s,*q=p-~read(0,p,s);for(r=X;c=*p++,A=c!=97,C=c==42,E=c==94,X=c==40,c*n?n+=X-=c==41,*q++=n?c:!++r,1:!A|C|E?q-=~sprintf(E?p=q:(*r=q),"(%s%s"+A,E[r-=C+E],E?p:C?*r:")"):c-33?r[1]=X?++n,q:c=='~'?X=*--r,*r++=r[1],X:c-58?X=c==83,c-60&&c|n&&printf(X?"%s":"\nErr'%c'",X?*r--:n?40:c),X:*r++:--r;);} 16:02:35 now, /that's/ an impressive Underload interp 16:02:39 ais523: We concluded http://esolangs.org/wiki/Qq was sub tc, right? 16:03:00 ehirdiphone: I don't remember concluding it either way 16:03:13 ais523: fuck me, it even does error checking. I am not worthy 16:03:27 * ehirdiphone bows to honor 16:03:29 -!- augur has joined. 16:03:31 *hinoe 16:03:36 ok hello 16:03:57 ais523: You sure? I swear we decided it wasn't tc 16:04:30 ehirdiphone: yup, it's *too* challenging, if you'd like a challenge go ahead and implement it... 16:04:56 In what universe is "Vivid dreams" a side-effect. Although I guess the page doesn't say it's a _negative_ side effect 16:04:58 http://www.webmd.com/sleep-disorders/tc/melatonin-overview 16:05:35 ehirdiphone: seems to segfault on the Fibonacci example 16:05:39 I'm not entirely sure why 16:06:02 -!- soupdragon has joined. 16:06:20 Also, uorygl, stop trusting the LessWrong.com posters 100%, kthx 16:06:24 -!- MigoMipo has joined. 16:06:58 why isn't bsmnt_bot here? 16:06:58 lieuwe: I wrote an Underload->C compiler with ais523, that's enough Underload for one lifetime imo 16:07:05 I could have fun trying to do a Python oneliner that does underload 16:07:12 why doesn't bsmntbombdude like me 16:07:25 Sgeo: If someone says they're a rationalist, clearly they're always right! 16:07:36 ehirdiphone: :-p but i assume that you had to write your own lexer/parser in c too? 16:07:44 lieuwe: No 16:07:52 Complete compilation 16:08:06 ehirdiphone: ? 16:08:11 To a linked list of C functions and strings 16:08:32 -!- zeotrope has quit (Read error: 110 (Connection timed out)). 16:08:35 UL->C compiler written in R5RS Scheme 16:09:52 I didn't need to "parse" anyway 16:10:12 I just switched on characters and recursed on ( 16:10:38 ehirdiphone: ah, like so, any lang using my framework has to be lexed and parsed anyway, thats why my bf converter is so long :-P 16:11:18 Heh 16:11:41 Unlike the ordinary alphabet, the Shavian alphabet is designed to match the sounds of spoken English. When you read a word in Shavian, you know how to say it, and when you hear a word, you know how to spell it. 16:11:59 𐑑𐑴𐑛 = "toad" 16:12:24 ais523: s/[+-]/*p&&;/g 16:12:31 :D 16:12:43 Or is it \&? 16:12:53 $& in Perl 16:12:59 just & in sed, though, I think 16:13:10 soupdragon: oh how sad it is that shavian fails then D: 16:13:17 why 16:13:31 well for one, its got too few symbols! 16:13:38 for two, it only works for particular dialects of english 16:14:27 ais523: In c does char*p=t,t[50]; work? 16:14:34 Ptr before what it points to 16:14:40 I don't think so 16:14:47 but I don't know for certain 16:14:50 𐑕𐑴𐑐 16:14:56 I have no c compiler here 16:14:58 :( 16:15:01 there's a nice symmetry to it 16:15:14 Question marks are quite asymmetric 16:15:20 𐑒o𐑜 16:15:25 cog 16:15:35 #! /bin/bash \ q=`realpath "$0"` \ cd /home/ais523/research/bulky/rakudo/rakudo \ exec perl6 "$q" \ = if 0; 16:15:39 nevermind that its incorrectly called a "phonetic" alphabet 16:15:39 where \ represents newline 16:15:44 when its really a phonological alphabet 16:15:46 but thats ok 16:15:56 ehirdiphone: what do you think of that for the header of a perl6 program, when I don't even have perl6 installed and it won't run from any other directory? 16:16:23 I love the q=`realpath $0` bit 16:16:28 augur: The difference being? 16:16:33 um, q=`realpath "$0"` 16:16:47 phonological alphabet 16:16:54 the difference being that phonetics is about articulation, acoustics, etc. while phonology is about the language's sound system 16:17:01 what's a phoenetic alphabet or is that a contradiction in terms? 16:17:09 english has only one t phoneme, but it has like half a dozen or more t phones 16:17:11 ah I see 16:17:14 soupdragon: an alphabet of phonemes, rather than letters 16:17:23 ais523: cute 16:17:38 no ais523 16:17:44 a phonetic alphabet is an alphabet of phones 16:17:54 a phonemic/phonological alphabet is an alphabet of phonemes 16:18:02 well, ok 16:18:05 Phonetic alphabet: ☎ ☏ ✆ 16:18:10 8D 16:18:11 lol 16:18:24 cue s lereah 16:18:26 Deewiant: I was going to make that joke, but you did it better 16:20:39 Does p?q work or must it be p?q:r 16:20:50 you need both ? and : 16:20:56 OTOH, you have p&&q 16:21:03 which works fine apart from precedence issues and return value 16:22:40 BEGIN{say"char*p=t,t[30000];int main(){"}s/[+-]/*p$&$&;/g;s//p++/g;s/,/(*p=getchar())<0&&*p=0;/g;s/\./putchar(*p);/g;s/\[/while(*p){/g;s/\]/}/g;END{say"}"} 16:23:00 ais523: Oh. One change 16:23:08 00] -> 16:23:19 00]={0} 16:23:25 ah, perl5.10 16:23:39 To zero out the tape 16:23:51 you need a "use 5.10;" in there to get say 16:23:52 I think 16:24:09 (it's shorter than "use feature '5.10'") 16:24:10 Usage: 16:24:38 perl -M5.10.0 -pe'...' 16:25:10 Or add first line #!perl -pM5.10.0 16:25:23 ehirdiphone: perl -pE 16:25:29 they actually thought of that for oneliners, and gave an abbreviation 16:25:41 -E is like -e except it implies the newest version of use feature 16:25:42 What does that do? 16:25:46 Eh 16:25:58 I prefer adding the shebang line to a file 16:26:15 "behaves just like -e, except that it implicitly enables all optional features (in the main compilation unit). See feature." 16:26:20 Anyway, prolly the smallest Perl bf to c compiler 16:26:38 Thanks to the ={0} trick a 16:26:48 nd the $& trick 16:26:59 Oh change the string in the END to 16:26:59 ehirdiphone: as a file-scope static, you don't need to explicitly zero 16:27:01 it happens automatically 16:27:07 it's autos that need explicit zeroing 16:27:08 "return 0;}" 16:27:14 ais523: Yay 16:27:24 Still need the return, though 16:27:28 No wait 16:27:29 C99 16:27:33 Her 16:27:37 *Hee 16:27:48 My original snippet was correct 16:28:28 I deserve some sort of an award for writing that on an iPhone 16:31:07 Puling something like my yield stuff in C#: Good idea or bad idea? 16:31:30 can't C# do that already? 16:31:35 I'd be surprised if it couldn't 16:32:03 ais523, it has yield functionality similar to Python, but the programmer I'm working with is somewhat opposed >.> 16:32:17 Then again, he was also opposed to the scheduler, which was a literal necessity 16:32:36 (Although I did implement the scheduler slightly incorrectly, which caused a nasty bug, so) 16:33:14 (Nasty in that it was tough finding it, not that it did something so terrible) 16:34:05 Never assume that a TimeSpan's .Seconds == 0 means that the TimeSpan is for a 0 length of time >.> 16:37:37 After I implement that, we'll be roughly where we were before I was fired as Sole Developer! 16:38:14 (Ok, so the guy's not that bad. He did implement a framework for GUI-like stuff that I would have struggled with) 16:38:38 And has a system for user data in place 16:38:57 And other stuff that wasn't even on my radar before I was fired 16:39:05 Whee! Chatkilling monologue! 16:39:53 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 16:40:10 -!- ehirdiphone has joined. 16:55:29 http://www.reddit.com/r/programming/comments/ao1ev/happy_birthday_donald_knuth/c0iko29 16:55:41 http://www.reddit.com/r/programming/ 16:57:05 Indeed 16:57:29 Sgeo: All evidence points to the programmer you're working with being a complete idiot. 16:57:40 So I wouldn't value his opinion much... 16:57:49 just kill him 16:57:53 nobody will even notice 16:58:59 -!- zeotrope_ has changed nick to zeotrope. 17:00:05 * Sgeo decides to try sugar in his coffee 17:00:19 uggh 17:00:23 what the hell 17:06:40 -!- lieuwe has quit ("Page closed"). 17:18:53 http://www.archhurd.org/ 17:31:02 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)). 17:31:06 -!- ehirdiphone has joined. 18:01:50 Deewiant, ^_^ 18:01:53 that's crazy 18:02:05 Deewiant, is it a joke? 18:05:01 Does it look like one? 18:05:10 no :( 18:40:54 ehirdiphone, why back on your phone? 18:41:22 we have a wonderful selection of church-turing cheeses. 18:43:28 AnMaster: Won't be tomorrow. 18:46:32 * ehirdiphone muses on a Befunge 98 editing mode 18:46:52 Interactive execution that syntax highlights as it goes? Why not. 18:47:07 (Including updating the playfield) 18:47:50 Cursor on fingerprint instruction shows fingerprint, stack effect and description? Yes! 18:48:21 ehirdiphone, hm interesting 18:48:29 also, typing a key moves the cursor in the current editing direction, not rightwards 18:49:21 Breakpoint by pressing a key while the cursor is on the breakpoint spot? Yep. 18:49:25 ehirdiphone, it would (like all befunge editing modes that are slightly useful) be a mix between a "classical" editor and an interpreter 18:49:43 ehirdiphone, so go code it :) 18:49:48 It'd hook into CCBI or cfunge or whatever, of course 18:50:06 AnMaster: Sure... as an amend mode :) 18:51:32 ehirdiphone, cfunge does have a trace option to output current instruction already, ccbi has a debugger, but you have to single step it to get a trace. Depending on what language the editor is in, calling D code could be rather a pain, or it could be trivial. 18:51:55 I'd interface via stdio obviously 18:52:07 ah okay, not as a library 18:52:17 This is unix! :P 18:52:30 ehirdiphone, UNIX* 18:52:41 Unix. 18:52:52 ehirdiphone, it doesn't look like "SPARTA" then 18:52:54 :/ 18:52:55 UNIX is an error. 18:53:13 It was originally smallcaps'd Unix. 18:53:22 AnMaster: I was deliberately avoiding that 18:53:41 300 reference would be "This. Is. UNIX!" 18:53:49 ehirdiphone, it was the first thing I came to think of anyway on that line 18:53:58 Your mom. 18:54:08 ehirdiphone, I haven't even seen the movie in question 18:54:58 Tggggfgguggffghyfuggygugh 18:55:03 ? 18:55:15 iphone spell correction failure? 18:55:21 Jfjwjcneovnjs. 18:55:29 wrong language? 18:56:16 Tggggfgguggffghyfuggygugh 18:56:17 Vusjsjgf 19:06:41 C 19:27:49 I am bored. 19:43:22 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)). 19:49:25 -!- BeholdMyGlory has joined. 19:51:18 -!- ais523 has quit (Remote closed the connection). 19:54:48 -!- kar8nga has quit (Remote closed the connection). 21:14:26 -!- AnMaster has quit (Remote closed the connection). 21:14:47 -!- AnMaster has joined. 21:18:28 -!- oerjan has joined. 21:19:53 why isn't oerjan always here <-- if i stay at the computer all day i get horribly aching neck and shoulders. at least that's one reason. 21:22:15 well get someone to massage you while you sit on the computer, sheesh 21:22:23 -!- augur has quit (Read error: 60 (Operation timed out)). 21:22:41 that would be a rather long-term plan, i'm afraid 21:23:06 why so 21:23:19 Get better posture bitch 21:23:22 just go out with like a lasso, and kidnap someone 21:23:23 BITCH 21:23:44 to get ahold of someone who would do that. not to mention i would probably then spend even less time on the computer. 21:23:57 :) 21:24:43 well anyway i suppose that's an okay excuse 21:25:36 -!- kar8nga has joined. 21:29:31 -!- kar8nga has quit (Remote closed the connection). 21:30:57 -!- poiuy_qwert has joined. 21:32:40 -!- augur has joined. 21:32:58 ohai 21:35:59 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)). 21:36:35 -!- ehirdiphone has joined. 21:42:15 Asdf 21:44:54 -!- augur has quit (Read error: 60 (Operation timed out)). 21:45:48 -!- ais523 has joined. 21:45:52 -!- MigoMipo has quit ("Page closed"). 21:50:27 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 21:58:38 -!- soupdragon has quit ("Leaving"). 22:10:35 Hi ais523 22:10:44 hi 22:11:31 One of the errors said: & did not start a character reference. (& probably should have been escaped as &amp;.) 22:11:45 this seems to be some sort of recursive version of Muphry's Law 22:18:12 recruise version 22:44:23 -!- pikhq has joined. 22:45:19 -!- olsner has quit (Read error: 60 (Operation timed out)). 22:46:56 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 22:47:11 -!- ehirdiphone has joined. 22:47:22 abc 22:47:59 def 22:53:41 -!- FireFly has quit ("Leaving"). 23:00:43 -!- olsner has joined. 23:05:10 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info"). 23:05:24 -!- ehirdiphone has joined. 23:05:46 I have been thinking about ehirdOS! 23:09:27 Lies. 23:10:37 -!- ais523 has quit (Remote closed the connection). 23:11:05 Gregor: wut. 23:11:12 LIES. 23:11:21 Gregor: wut. 23:12:09 PIES. 23:12:36 FLIES. 23:12:37 oklofok: put. 23:12:46 oerjan: fut. 23:12:56 *flut 23:13:18 * oerjan swats ehirdiphone for fluttering -----### 23:13:31 oerjan: swut. 23:14:01 hut. 23:14:11 oerjan: hut. 23:14:45 nut. 23:14:53 yay, i found an ehirdiphone quine 23:14:57 oklofok: talk about oklOS so I can bask in ehirdOS' superiority. ut. 23:15:02 oklofok: nut. 23:15:09 oerjan: yut. 23:15:20 oklOS reads your mind and is what you want 23:15:42 ok talk about the previous revision of oklOS :P 23:15:49 (ut) 23:15:56 ((oklut)) 23:16:19 no. you're a nut. 23:16:29 oklofok: nut. 23:16:36 nut. 23:16:45 oklofok: nut. 23:17:23 -!- MizardX has quit (Read error: 60 (Operation timed out)). 23:17:25 you = nut 23:17:35 oklofok: yut. 23:19:34 you's total nut 2010-01-12: 00:02:30 -!- poiuy_qwert has quit ("This computer has gone to sleep"). 00:06:12 -!- poiuy_qwert has joined. 01:10:28 oklofok: yut. 01:16:39 no u r nut 01:17:59 a mad cadamia 01:21:02 or a loco coco 01:37:10 oerjan: iwc :D 01:37:54 NOW HOW CAN ANMASTER WIN 01:38:18 O_o 01:38:51 in case you didn't notice, we stopped that a while ago 01:39:04 -!- Asztal has quit (Read error: 110 (Connection timed out)). 01:39:35 also i didn't think today's was any special 01:40:35 did AnMaster grow up? 01:42:02 no i think he just got bored 01:43:09 i see, i see 01:49:34 he's a total nut 01:50:31 completely off the wal 01:50:42 :D 01:51:18 how do you come up with that stuff 01:51:59 magic. 01:53:28 I didn't even rad the iwc 01:53:30 Read 01:53:39 what a cheater 01:53:40 I just wanteds 01:53:44 Muffles 01:53:54 Nifgle 01:54:04 Sniffle 01:54:06 I just 01:54:12 I just wanted to win something in my life for once 01:54:12 Schnibble 01:54:14 :( 01:54:59 how heartbreaking 01:54:59 :/ 01:55:30 I want to create an esolang called poop. It will be the poopiest language. 01:55:36 have you tried not sucking? 01:55:55 fecissima lingua 01:56:11 why adj first 01:56:19 oh wait 01:56:24 does latin always do that 01:56:43 no latin word order is pretty free 01:56:52 oh IC 01:57:26 http://tunes.org/~nef/logs/esoteric/?C=S;O=A 01:57:32 Our most spammy days. 01:57:58 Yesterday is quite far up there at 204 KiB. 01:58:02 O=D 01:58:32 That link sorts by size. 01:58:54 Also that is a dude with a halo. 01:59:12 A vertical halo. 01:59:18 dies spamissimae 01:59:42 oklofok: Oic 01:59:48 I had D 01:59:53 -!- ehirdiphone has quit (Remote closed the connection). 02:03:14 the top day seems to have a lot of bfjoust 02:04:09 um bottom actually, on that list 02:07:30 wait someone made bct in /// 02:07:41 you don't _say_ 02:08:00 my point exactly, why didn't anyone tell me 02:08:03 * oerjan coughs discreetly 02:08:05 i thought it was an open problem 02:08:10 yeah i know it was you 02:08:34 well i didn't know, but you've shown interest for solving the infinite loop 02:08:46 yeah 02:08:46 "You can erase all the key/value pairs within your Dictionary by using the Clear() method, which accepts no parameters. Alternatively, you can assign the variable to null. The difference between Clear and null is not important for memory, as in either case the entries are garbage-collected. Internally, I see that Clear calls Array.Clear, which is not managed code." 02:08:48 and it's in haskell 02:08:51 http://dotnetperls.com/dictionary-keys 02:09:01 Suddenly, I'm not so interested in reading the rest of this site 02:09:14 haskell is used like an assembler, there 02:09:17 OMG that's pretty :D 02:10:30 is there a simple trick? 02:10:36 it's much easier to program /// if you _don't_ try to use just / and \, incidentally :D 02:11:30 did you make the quine too? 02:11:33 i hate wikis 02:11:34 yes 02:11:37 i want names 02:11:47 i suppose that's not a general problem of wikis 02:11:58 but i hate them, so it seemed to fit. 02:12:21 is there a simple trick? 02:12:32 to programming it, did you have a revelation 02:12:40 did you see beneath the surface 02:12:44 did you touch its inner beast 02:12:53 well the _basic_ trick is that "quoting" thing, to find a way of encoding a character so you can _both_ copy the encoded version and unpack it 02:13:55 the "Simpler counter" section explains some things 02:14:08 -!- jpc has joined. 02:14:17 in the more readable style with free use of characters 02:15:55 that style is simple enough to be done by hand. i think i only used a few substitutions in vim to simplify the quoting/escaping, the rest is manual 02:16:48 the pure / \ style is far too verbose, unreadable, and too much to keep track of, so i used haskell to assemble it 02:17:20 yeah 02:18:12 in fact for that i had trouble keeping it under perl's 32K or so regexp recursion limit, i had to redesign my tokens several times to shorten it :D 02:18:46 (using my perl /// interpreter) 02:19:58 heh 02:20:04 but the main additional idea for that is to find a way to choose tokens consisting of only / and \ that nevertheless are unlikely to clash with the main scaffolding of the program 02:20:12 is it incredibly fast? i just uninstalled my perl interpreter yesterday 02:21:18 it's pretty naive perl, but perl's regexes are quite optimized, so it's still the fastest /// interpreter afaik 02:21:27 i mean the /// prog :P 02:21:35 oh that, heavens no 02:22:04 i suppose it could be faster with a less naive /// interpreter 02:22:20 but is it like 2^ or ^2 02:22:28 it takes several minutes to run the example code 02:22:39 oh i think it is polynomial at least 02:23:00 (at most) 02:23:00 right 02:23:08 yeah at least at most 02:23:26 there is nothing unary or anything, it's just that by the nature of /// it needs to recopy itself a lot 02:24:02 right, copying the program is polynomial stuff usually 02:25:16 and a single /// command is not exactly constant time either, it needs to scan through the entire rest of program every time 02:25:48 (this is one point where the interpreter could have been smarter, after a match it just starts again from the beginning) 02:26:13 (the perl interpreter) 02:26:25 -!- augur has joined. 02:26:32 by storing the program more sensibly, you could probably mostly just look-up where substitutions happen 02:26:47 hm perhaps 02:27:02 hayo 02:27:14 helloes 02:27:19 hi augur 02:27:44 hey 02:27:45 sup 02:34:39 oklofok: i also made some programs using the http://esoteric.voxelperfect.net/wiki/Itflabtijtslwi input extension 02:37:30 you're so awesome 02:37:34 i wish i was as awesome 02:38:49 now, now. if you also take a look at my BCT interpreter in Eodermdrome, i think you've pretty much exhausted all the esolanging i did last year. so maybe awesome, but definitely slow. 02:39:27 if you , you've exhausted all the esolanging *i* did last year 02:39:32 :P 02:39:38 (that one is untested, btw, since there isn't afaik any eodermdrome interpreter yet 02:39:39 at least i think 02:39:41 ) 02:39:49 well i made an eodermdrome interp 02:39:50 could be 02:39:55 oh right... 02:40:03 but, well, i probably didn't put it anywhere. 02:40:18 so it's gone, all my hd's are broken 02:40:37 darn 02:41:12 but isn't it incredibly trivial to write one 02:41:50 not if you want it fast? 02:42:12 well it's graph rewriting, so... 02:42:26 i just mean for the purpose of testing 02:42:34 what does speed matter 02:43:08 maybe 02:44:47 i don't know how hard optimization is, since i don't know anything about the typical eo prog, but probably you'd just have to store a bit of info about where different kinds of subgraphs live atm 02:45:31 not that us mathematicians are allowed to think about such trivialities 02:46:08 right, right 02:46:29 5 hours till lecture! 02:46:53 i better start preparing mentally 02:47:03 aka sleep? 02:47:21 or maybe it's too late for that 02:47:23 i actually didn't mean anything by that, realized seconds later i should've meant sleeping 02:47:34 so really i could've said "yes" here 02:48:23 food -> 02:48:25 i slept from like 18 to 22, which is why i'm not asleep yet 02:48:38 ah. 02:49:08 i was gonna suggest we go eat at a local restaurant, then realized you are not the one person i usually talk to. 02:49:37 (classy hamburger restaurant.) 02:50:08 heh 02:50:36 as for me, i'm going to my local bread drawer 02:51:26 i have bread + hunger, but i don't want to wake up the female pol 02:51:34 oh wait i'm a fok now 02:54:45 you are so foked 02:55:21 *munch* 02:55:53 :'( 02:56:25 i suppose a finnish famine is no joking matter 02:59:18 actually i think she's awake already 02:59:34 the typity type type makes noise 02:59:47 so......... 03:00:02 one more theorem, then i'll do it 03:09:47 -!- coppro has joined. 03:49:00 -!- lifthrasiir has joined. 03:54:14 -!- oerjan has quit ("Good night"). 03:57:09 -!- jpc has quit ("I will do freaking anything for a new router."). 04:02:44 -!- augur has quit (Read error: 60 (Operation timed out)). 04:25:31 -!- coppro has quit ("Reconnecting…"). 04:25:47 -!- coppro has joined. 05:40:08 -!- Cerise has quit (Remote closed the connection). 06:02:44 -!- BeholdMyGlory has quit (Remote closed the connection). 06:08:33 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 06:27:25 -!- FireyFly has joined. 07:22:28 -!- FireyFly has changed nick to FireFly. 07:48:51 -!- poiuy_qwert has quit ("Leaving"). 07:52:18 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:18:44 -!- FireFly has quit (farmer.freenode.net irc.freenode.net). 08:18:44 -!- zeotrope has quit (farmer.freenode.net irc.freenode.net). 08:18:45 -!- uorygl has quit (farmer.freenode.net irc.freenode.net). 08:18:45 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net). 08:18:45 -!- mtve has quit (farmer.freenode.net irc.freenode.net). 08:18:45 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net). 08:18:46 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net). 08:18:46 -!- Ilari has quit (farmer.freenode.net irc.freenode.net). 08:21:13 -!- FireFly has joined. 08:21:13 -!- zeotrope has joined. 08:21:13 -!- puzzlet has joined. 08:21:13 -!- uorygl has joined. 08:21:13 -!- HackEgo has joined. 08:21:13 -!- SimonRC has joined. 08:21:13 -!- mtve has joined. 08:21:13 -!- Ilari has joined. 08:22:08 -!- FireFly has quit ("Leaving"). 08:22:50 -!- FireFly has joined. 08:29:55 -!- FireFly has quit ("Leaving"). 08:55:52 -!- Pthing has quit (Read error: 104 (Connection reset by peer)). 09:04:29 -!- ais523 has joined. 09:20:33 -!- coppro has quit ("I am leaving. You are about to explode."). 10:50:27 -!- BeholdMyGlory has joined. 10:56:02 -!- MigoMipo has joined. 11:07:17 -!- MizardX has joined. 11:09:38 -!- MizardX has quit (Connection reset by peer). 11:09:59 -!- MizardX has joined. 11:10:48 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 11:12:22 -!- MizardX has joined. 11:15:07 -!- MigoMipo has quit (Remote closed the connection). 11:33:30 -!- Asztal has joined. 12:19:04 I hit an issue with efunge and ATHR 12:19:05 which is 12:19:12 reliable testing of thread handling 12:19:30 btw, I'm on a unreliable wlan connection + ssh tunnel to my bouncer 12:20:03 and I forgot to exit client at home, so no scrollback replayed, and won't happen if I lose connection from here 12:22:12 AnMaster: does Erlang have testsuites for that sort of thing already? 12:22:29 I can imagine a race-condition testsuite that puts delays in places systematically until it's checked all sequencings of thread interleaving 12:23:12 ais523, well there is stuff, but the stuff I need to test is that I don't have race conditions 12:23:26 exactly 12:23:31 and that really is hard to check, since instrumenting stuff can change thing 12:23:34 things* 12:23:47 ais523, there nothing like helgrind afaik though 12:24:16 maybe you could do it manually, using a sequence of mutexes or semaphores or something to force the threads to interleave in all possible orders 12:25:07 ais523, well, since erlang is based on message passing it it has a server for locks, which means, it is implemented as message sending and waited underneath 12:25:19 -!- oerjan has joined. 12:25:30 -!- Sgeo has joined. 12:25:50 ais523, also there are some settings for debugging to change length of time between context switches 12:26:07 ais523, also there is the SMP issue. And message passing between OS level threads 12:26:08 AnMaster: I think you're missing the point of what I'm saying 12:26:27 and why did that line render as a bar-code lookalike for a moment there... 12:26:32 * AnMaster prods xchat. 12:26:40 ais523, possibly 12:27:29 ais523, anyway not only befunge instruction level interleaving, but what about the functions called in the erlang code 12:27:47 what if it switches to another thread in the middle of io:format() for exampe 12:27:49 example* 12:28:00 AnMaster: ah, can't you instrument those as well? 12:28:03 (I'm pretty sure that won't hurt, but you get the idea) 12:28:10 I must get around to implementing DO INEVITABLY in INTERCAL 12:28:16 ais523, well, up to a level. A bit to hard to inverleave 12:28:17 so you can inject test code into other bits of code 12:28:42 ais523, can you inject code in printf() ? 12:29:02 AnMaster: you can inject it into 1010 and the other stdlib functions, yes 12:29:12 hm 12:29:20 ais523, well not the C standard library printf though 12:29:48 no, but only because it isn't written in INTERCAL 12:29:57 ais523, and correct usage of the erlang stdlib is the level I'm currently worried at. 12:31:17 ais523, also it isn't just 2 threads at that level. For example, I have the following user space threads for 2 befunge threads: befunge1, befunge2, io_server, fspace_server, id_mapper, and a few more iirc 12:31:28 and erlang has a host on it's own 12:31:35 AnMaster: that's just more combinations to test 12:32:11 ais523, the number to test grows quite rapidly. Especially with SMP where not only are they interleaved, but actually executing at once on different cores 12:32:23 it's no big matter, testing all combinations shouldn't take more than a handful of universe heat deaths anyway 12:32:29 oerjan, :D 12:33:06 though I believe the erlang system is probably reliable, I had to write a custom supervisor behaviour for the befunge threads 12:33:12 the default one didn't cut it 12:33:49 (a behaviour is a ready-made module for the "tricky" stuff, so you just implement callbacks, you could call using them a design pattern of erlang) 12:34:24 (for example, generic server process, generic supervisor process, generic state machine, and iirc a few more) 12:35:15 (and I'm quite worried about my own superrvisor, even though I based it on the one in erlang.) 12:36:21 I have test cases to ensure that things work correctly for a single thread, and doesn't do completely incorrect for two threads. That takes me partway at least. 12:37:13 ais523, anyway, thread race conditions and such is tricky to detect in any language. Even when there are tools to help you 12:37:36 I should write an INTERCAL race-condition checker 12:37:52 probably by checking different alignments in a loop, with a callback to report success or failure of the program 12:38:40 ais523, testing all possible combinations becomes infeasible quite quickly. Well depends on how well defined the interleaving is 12:38:56 you could just do random combinations 12:39:00 you'll end up testing all of them eventually 12:39:15 ais523, likely to find a few, but far from all. Something like klee but for threads sounds better 12:39:25 not sure it can be done 12:39:31 or if it even makes sense 12:40:17 (since klee tries all possible paths through the program to detect bugs. And uses tricks such as calculating possible range of values a variable might have) 12:44:25 * oerjan notes that count dooku in D&D mangles even his _french_ 12:44:36 "zut alors", indeed 12:44:58 or wait 12:45:06 * oerjan fails french 12:54:08 I think the erlang manual for the event tracer is slightly old: "[..] by clicking (press and release the mouse button 1) on the event label text or on the arrow" 12:54:25 either old, or just overly detailed :) 12:56:09 lol 12:56:46 -!- augur has joined. 12:58:33 -!- ais523 has quit (Remote closed the connection). 13:00:07 -!- Slereah_ has quit (Read error: 60 (Operation timed out)). 13:01:12 -!- Slereah has joined. 13:10:57 -!- BeholdMyGlory has quit (Remote closed the connection). 13:41:34 bbl 13:57:52 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)). 14:08:28 -!- lifthrasiir has joined. 14:08:39 -!- oerjan has quit ("leaving"). 14:18:46 "puts delays in places systematically until it's checked all sequencings of thread interleaving" sounds very much like Promela + Spin. 14:19:32 http://spinroot.com/spin/whatispin.html was used in our parallel systems course. 14:20:37 Doesn't really help with Erlang code, of course. 14:40:24 -!- Cerise_ has joined. 14:48:44 -!- augur has quit (Read error: 60 (Operation timed out)). 14:48:53 -!- anmaster_l has joined. 14:48:58 how very strange 14:49:18 my desktop locked up the moment I plugged in the usb mouse 14:49:50 I had just before unlocked it (I use slock) 14:50:02 and this is the second time that happens when I plug in the mouse 14:50:19 (I take the mouse with me, if I plan to work for extended periods on my laptop) 14:50:24 so: hardware issue? 14:50:31 -!- AnMaster has quit (Connection reset by peer). 14:52:25 -!- AnMaster has joined. 14:55:14 nothing relevant in system logs, sysrq didn't work 15:14:07 -!- augur has joined. 15:14:16 well hello there 15:20:46 hi 15:49:58 -!- FireFly has joined. 16:11:16 -!- soupdragon has joined. 16:26:52 -!- ehird has joined. 16:27:18 No ais523 :-( 16:29:25 04:54:08 I think the erlang manual for the event tracer is slightly old: "[..] by clicking (press and release the mouse button 1) on the event label text or on the arrow" 16:29:26 04:54:25 either old, or just overly detailed :) 16:29:28 Two words: Emacs tutorial. 16:29:51 ehird, oh? 16:29:54 hm true 16:30:17 Emacs commands generally involve the CONTROL key (sometimes labeled 16:30:19 CTRL or CTL) or the META key (sometimes labeled EDIT or ALT). Rather than 16:30:20 write that in full each time, we'll use the following abbreviations: 16:30:22 C- means hold the CONTROL key while typing the character 16:30:23 Thus, C-f would be: hold the CONTROL key and type f. 16:30:25 M- means hold the META or EDIT or ALT key down while typing . 16:30:26 If there is no META, EDIT or ALT key, instead press and release the 16:30:28 ESC key and then type . We write for the ESC key. 16:30:41 "We write for the ESC key." :D 16:30:43 You can use the arrow keys, ← I'm surprised this isn't qualified with "if you have them" 16:30:53 Each line of text ends with a Newline character, which serves to 16:30:55 separate it from the following line. (Normally, the last line in 16:30:56 a file will have a Newline at the end, but Emacs does not require it.) 16:30:57 When you move past the top or bottom of the screen, the text beyond 16:30:59 the edge shifts onto the screen. This is called "scrolling". It 16:31:01 enables Emacs to move the cursor to the specified place in the text 16:31:02 without moving it off the screen. 16:31:04 ehird, about the arrow keys, it would have been if ais had written it 16:31:17 You can also move the cursor with the arrow keys, if your terminal has 16:31:18 arrow keys 16:31:26 AnMaster: ding! 16:31:27 bingo 16:31:33 *arrow keys. 16:31:43 If you are using a windowed display, such as X or MS-Windows, there 16:31:44 One word: vimtutor 16:31:45 should be a tall rectangular area called a scroll bar on one side of 16:31:46 the Emacs window. (There are other tall rectangles on either side of 16:31:48 (pwnd) 16:31:48 the Emacs display. These "fringes" are used for displaying 16:31:49 continuation characters and other symbols. The scroll bar appears on 16:31:51 only one side, and is the outermost column on that side.) 16:31:52 You can scroll the text by clicking the mouse in the scroll bar. 16:31:55 If your mouse has a wheel button, you can also use this to scroll. ← Now that's modern! 16:32:02 haha 16:32:14 soupdragon, it is even worse then? 16:32:21 No, vimtutor is reasonable. 16:32:24 I need programming help 16:32:26 Which makes it BOOOOOO-RING 16:32:31 -!- snowscape has joined. 16:32:32 ehird, exactly 16:32:48 In order to make the text you edit permanent, you must put it in a 16:32:49 file. Otherwise, it will go away when your invocation of Emacs goes 16:32:51 away. In order to put your text in a file, you must "find" the file 16:32:53 before you enter the text. (This is also called "visiting" the file.) 16:32:54 Finding a file means that you see the contents of the file within 16:32:56 Emacs. In many ways, it is as if you were editing the file itself. 16:32:57 However, the changes you make using Emacs do not become permanent 16:32:59 ehird, iirc you used to have to change a setting to make the scroll wheel work in emacs 16:32:59 until you "save" the file. This is so you can avoid leaving a 16:33:02 Has anyone got a font that looks like the output of a dot matrix printer? :-) 16:33:03 half-changed file on the system when you do not want to. Even when 16:33:04 is d as in dy/dx just like 0.00000000...00001 (some kind of infintesimal)? 16:33:05 you save, Emacs leaves the original file under a changed name in case 16:33:07 you later decide that your changes were a mistake. 16:33:09 wait ill ask #math 16:33:10 I think the fact that the Emacs tutorial is half Emacs tutorial, half "how computers work" totally cements the fact that Emacs is a wannabe OS. 16:33:18 soupdragon: yeah i think so 16:33:43 since you can approximate it better and better with 0.1,0.01,0.001,etc 16:33:50 ehird, I more usually use µemacs rather than gnu emacs for file editing these days 16:33:51 I'm trying to read about non-standard analysis but it seems to require stuff like ultrafilters 16:33:55 and gnu emacs mostly for irc 16:34:02 AnMaster: o_O 16:34:05 AnMaster: What's happened to you? 16:34:15 ehird, hm? 16:34:17 lol@keeping GNU Emacs just for ERC, it isn't an *especially* good client :-) 16:34:34 ehird, well there are a few other major/minor modes I find useful 16:34:53 microEmacs doesn't do things like inferior/interaction modes, does it? 16:35:03 ehird, not that I found anyway 16:35:03 like interacting with lisp while editing a lisp program 16:35:14 thus it's only Emacs in a very tenuous keybindings sense 16:35:19 ehird, lisp is one of the things I edit in gnu emacs still 16:35:28 you edit lisp? 16:35:45 ehird, well, a bit, more often scheme than elisp though 16:35:55 bbl 16:36:24 AnMaster: Clearly you must use amend for everything. 16:36:32 alter 16:36:49 ehird, have you started coding on it yet? 16:36:55 soupdragon: amend. 16:36:57 AnMaster: no :P 16:37:03 designs are percolating in my head 16:37:40 ehird, what about your linux distro? your os? your 16:38:00 I have thought about my OS as recently as yesterday, actually, and mentioned that fact. 16:38:06 I do have a list of long-term projects, you know. 16:38:28 ehird, well, yes, but due to adding new ones the old ones just seem to get pushed further and further back 16:38:35 My OS, if it is ever incarnated in a form good enough to be worthy of being called my original vision, will most likely take something like ten years. 16:38:36 -!- snowscape has quit ("ChatZilla 0.9.86 [Firefox 3.5.7/20091221164558]"). 16:38:46 Not once was it intended as a short-term project. 16:39:03 ehird, well sure. What about the editor 16:39:16 DEATH TO INFIDELS 16:39:18 My Linux distro I'm undecided on. Kubuntu seems to be annoying me a little enough amount that I might just stick with it; Linux is crap in general anyway. :P 16:39:22 AnMaster: The editor? You mean amend? 16:39:27 That would be what I am talking about now. 16:39:28 ehird, well yeah 16:39:39 ehird, well yes. But I mean, do you have any time scale for it 16:39:43 1 year? 10 years? 16:39:50 Yes, in fact. 16:39:50 2 weeks or so 16:39:50 or somewhere in between 16:39:52 Lemme check my logs. 16:40:27 [Monday 11 Jan 2010] [01:17:09] Well, given design, general toolkit mumbling and procrastination, I'll probably start serious coding on it in 1.5 to 2 weeks. Let's say another week or two, so 1.5, to get something that can do the most basic of editing tasks. Two more to get modes working alright. 16:40:29 [Monday 11 Jan 2010] [01:17:20] And another one and a half weeks to do polishing up. 16:40:30 [Monday 11 Jan 2010] [01:17:46] So about 7 weeks; maybe less, maybe more. 16:40:31 [Monday 11 Jan 2010] [01:17:53] Hopefully less. 16:40:33 [Monday 11 Jan 2010] [01:17:55] I can code like hell. 16:40:35 [Monday 11 Jan 2010] [01:18:10] So let's say 5-7 weeks; most likely around 5.5-6. 16:40:36 [Monday 11 Jan 2010] [01:18:31] coppro: But if you can deal with oft-brokenness, you could start using it in, like, 3.5 weeks. 16:40:56 so about 2 weeks, give or take 5 16:41:00 That's for the earliest version you're likely to want to use. 16:41:06 oklofok: Yuk yuk yuk. 16:41:08 hm 16:41:14 -!- BeholdMyGlory has joined. 16:41:24 ehird, assuming you don't become preoccupied by other things 16:41:38 Of course, if you want something even remotely as complete or stable as any half-popular editor, or don't want to code to get things working, well, come back in a year or so. 16:41:42 or actually just give 16:41:48 AnMaster: Indeed. Is anybody waiting for my editor with every breath? 16:41:59 Well, coppro seems to want it quite a bit, but nobody else, really. 16:42:20 what? i'm basically basing my whole future on your editor 16:42:23 I'm a hobbyist programmer, I'm not getting paid for this. If I don't find a project fun, of course I'll code something else instead. 16:42:23 ehird, well, I will probably try it out, and if I like it, who knows 16:42:29 oklofok: I'll have it done yesterday 16:42:36 AnMaster: That isn't waiting for it with every breath :P 16:42:36 it's like a father to me 16:42:41 also I find that time schedule slightly unrealistic, some bits overly optimistic and other parts overly pessimistic 16:42:52 AnMaster: Hopefully those cancel out, eh. 16:42:56 like basic editing would take as long as modes 16:43:07 It would if you want a decent structure. 16:43:07 somehow I think modes will take longer 16:43:12 what are modes 16:43:13 ehird, hm maybe 16:43:30 You need to come up with the right structure for the text so you can e.g. delete a character in the middle without shifting the rest of the buffer. 16:43:36 oklofok, define: says: "a particular functioning condition or arrangement; "switched from keyboard to voice mode" " 16:43:40 amonst other things 16:43:45 You need to come up with decent keybindings and a general editing philosophy. 16:43:52 You need to write UIs for things like incremental searching. 16:44:00 oklofok, or more precise, think like modes in emacs 16:44:02 Heck, you need to implement incremental searching; not the easiest thing ever. 16:44:08 oklofok doesn't know Emacs. 16:44:14 You need to come up with the right structure for the text so you can e.g. delete a character in the middle without shifting the rest of the buffer. <-- surely this has already been solved 16:44:18 hey i even had emacs installed 16:44:20 AnMaster: Of course. 16:44:20 how do current editors do it 16:44:24 AnMaster: Multiple times, which is the whole point. 16:44:24 although i did uninstall it a few days ago 16:44:40 i think i've like saved a file or something in it 16:44:42 oklofok: c-mode is for editing C, python-mode is for editing Python, python-interaction-mode is for using Python's >>> console while editing an associated file. 16:44:51 oh 16:44:51 irc-mode is for wasting time. 16:44:51 You need to write UIs for things like incremental searching. <-- I'm quite fond of how emacs does that. 16:45:12 AnMaster: Yes, but you can't say "be case sensitive" or "use regexps" in an Emacs C-s without doing something else. 16:45:32 My idea is the same as Emacs' UI, except it pops up a tiny embedded UI in the bottom of the screen with the text entry, and: 16:45:32 good point. 16:45:47 [X] Case insensitive [ ] Regular expression [ Next ] [ Previous ] 16:45:49 ehird, this won't be GUI right? 16:45:51 and each of those having a keyboard shortcut 16:45:55 as in, it will work in terminal 16:46:02 won't need GTK or QT or such 16:46:08 AnMaster: No, it won't. Not unless you want to port Tk to ncurses. 16:46:13 Curses is retarded anyway. Get a windowing system. 16:46:33 Tk? How can you like how it looks? 16:46:44 I was hoping you'd say that! 16:46:51 http://tktable.sourceforge.net/tile/screenshots/unix.html 16:46:58 Tk 8.5 onwards have a new theming engine. 16:47:07 Note how Default, Revitalized and Clam aren't bad. 16:47:11 didn't you already tell AnMaster once to look at that if he thinks tk is ugly 16:47:12 Also note that it uses freetype and the like. 16:47:16 So antialiased fonts, too. 16:47:19 oklofok: prolly 16:47:25 ehird, hm okay 16:47:35 ehird, btw I use a bitmap font in emacs when I use it in X mode 16:47:35 Besides, it's not as if the editor will have many GUI widgets showing 99% of the time. 16:47:44 AnMaster: Well, it might work. 16:47:54 UI and code fonts are different things, though. :P 16:48:07 well yes 16:48:16 In fact, there might even be the possibility of setting the text font vs the code font. 16:48:19 one standard monospaced font for all purposes 16:48:23 So you could read emails and IRC proportionally. 16:48:26 If you want. 16:48:27 and death to infidels 16:48:29 ehird, iirc openmotif supports fontconfig these days even. 16:48:41 Freetype, you mean. 16:48:45 oh maybe that was it 16:48:45 Fontconfig is just the configuramotron. 16:48:50 well, ttf fonts anyway 16:48:56 that look antialiased and stuff 16:48:57 Xft, you mean, then. 16:49:12 anyway this has been most educational, tell me when the editor has tetris 16:49:16 ehird, well, I don't remember the details. Point was "not just X fonts any more" 16:49:17 * oklofok goes -> 16:49:56 anyway, so, I think I've changed my original stance on pritners 16:50:00 ehird, so did you decide on a language for amend? 16:50:01 ("I don't believe in printing") 16:50:10 ehird, oh? 16:50:17 i'm sort of craving a black and white laser printer to, like, print papers on and stuff 16:50:27 ehird, there is no such thing as a printer 16:50:29 never inkjet though, i will never put myself through that horror ever again 16:50:44 If I need colour, I'll go and raise lots of money and buy a colour laser printer 16:50:46 but NEVER inkjet 16:50:47 ehird, notice I have a black fleece jacket and I'm a man. (never mind the blue jeans) 16:50:47 NEVER 16:50:58 AnMaster: ...okay? 16:51:03 ehird, sorry, bad joke 16:51:05 That was... completely non-sequiturish. 16:51:08 ehird, no 16:51:19 ehird, " ehird, there is no such thing as a printer" " ehird, notice I have a black fleece jacket and I'm a man. (never mind the blue jeans)" <-- MIB 16:51:35 >_< 16:51:36 ANYWAY 16:51:46 As far as language, I'm honing in on various possibilities. 16:51:49 Only a few, actually. 16:52:08 why laser rather than inkjet btw? 16:52:35 AnMaster: Laser is: Quieter. Doesn't do that stupid fucking thing where it prints, like, half of the page because one of your colours is low. 16:52:43 The toner *doesn't* cost more than the printer. 16:53:18 And they're far more reliable. 16:53:21 ehird, well, iirc Kodak made a product line where the printer was expensive and the ink cheap 16:53:32 I may have dreamt this 16:53:47 Also, laser printers are for hardcore geeks who love network printers. 16:53:52 And dammit, I love the idea of network printers. 16:54:01 So, as I was saying. 16:54:02 I haven't seen a laser able to print on photo paper yet 16:54:14 That's okay. With a black-and-white laser, all I'll be printing is text. 16:54:19 And that is absolutely fine by me. 16:54:22 Tcl was a consideration because of closeness to Tk but the general fuckedupness of that language and underscore_naming_convention made me ditch that idea. 16:54:36 ehird, lots of languages have tk bindings 16:54:38 Scheme is a consideration, because I like Scheme. 16:54:49 AnMaster: Yes, but they're not close to Tk in a fits-in-with-the-language way. 16:54:55 true 16:54:58 And also because Scheme is good for extending syntax and stuff for e.g. mode definition and the like. 16:55:10 Also, lexical fucking scope! I would beat elisp to a feathery pulp. 16:55:24 C is also some sort of consideration because, well, it's C. 16:55:33 ehird, you would probably have to patch the interpreter you used somewhat to fit the editor better 16:55:44 Go is also a consideration because it'd be like C without the memory management, and also I could spawn parallel jobs easily. 16:55:49 Which I guess could be useful... for something... 16:56:06 Of course, C and Go leave the "extension language" problem open. 16:56:17 AnMaster: Doubtful. Edwin gets fine with just stock MIT Scheme. 16:56:18 if you don't want tcl and you do want tk you will have to live with those language bindings in any case 16:56:23 Admittedly, it's written by the MIT Scheme people. 16:56:25 I know that. 16:56:33 But it's an advantage Tcl has. 16:57:03 http://code.google.com/p/chromium/issues/detail?id=31482 16:57:14 Uh oh, serious goat teleportation issues with Chrome 16:57:21 ehird, so why not go for erlang: it has tk bindings, it has concurrency, you could do the extension language as erlang itself (though I'm not sure how easy this would be, probably slightly more complex than for scheme) 16:57:31 and erlang has lexical scope 16:57:50 Well, I don't know Erlang, for one. But assuming I do: 16:58:06 Tk bindings, sure, but does it have bindings to the ttk part of Tk 8.5, i.e. the part that lets you use the themed widgets, i.e. not be hideous? 16:58:29 ehird, for ttk: I'm not sure. What should I look for (I never used those bindings) 16:58:32 Concurrency, yes, but using Erlang for a task that has concurrency only as a small part seems... weird. 16:58:40 AnMaster: Link me to the docs, I guess. 16:58:43 sec 16:59:04 http://erlang.org/doc/apps/gs/index.html 16:59:05 The extension language as Erlang itself would work, but it doesn't let you define your own syntax, so things like mode definition would be a little awkward. 16:59:15 though I believe the focus nowdays is on wxgtk bindings 16:59:20 Unsurprising. 16:59:27 I mean, there's no problem with Erlang, I just don't see why I should particularly choose it over another language. 16:59:47 AnMaster: wow, that's a really bare-bones binding 16:59:50 Nope, no ttk. 16:59:54 ah 17:00:01 How nice are the gtk bindings? 17:00:06 ehird, wxgtk 17:00:09 ??? 17:00:12 so it is wxwidgets 17:00:15 wxWidgets except it only works with GTK? :P 17:00:15 you probably know of it 17:00:18 ehird, no 17:00:28 I'm mainly avoiding the big toolkits because their API is hideously complex and sucks to use. 17:00:29 ehird, afaik it works with all wxwidgets ports 17:00:31 And makes me want to kill myself. 17:00:39 but on linux it is wxgtk that exists 17:00:41 afaik 17:00:58 http://erlang.org/doc/apps/wxgtk/index.html ← 404 17:01:01 http://erlang.org/doc/apps/wx/index.html <-- hideously complex seems nice 17:01:13 nice desc* 17:01:27 Oh, yes, and the other reason that I forgot: Bah, objects! 17:01:29 probably you don't need to use all those functions 17:01:30 I poop on them. 17:01:38 ehird, mostly erlang doesn't have them 17:01:41 if that is what you meant 17:01:49 But wx, gtk and qt are all OOP. 17:01:55 oh true 17:02:04 One thing I need to be able to do is have modes arbitrarily insert their own GUIs. Easy enough with Tk, I believe, but with the others? Hmm. 17:02:07 ehird, doesn't tcl have objects of some sort? 17:02:17 It's an addon thing. 17:02:26 Like a Scheme package implementing objects. 17:02:47 ehird, it could certainly be done with qt at least, there are loadable plugins in kate 17:02:53 Of course it's doable. 17:03:02 But I have a deadline, here :D 17:03:06 probably easier with tk 17:03:29 ehird, also with the new NIF stuff, I believe writing a better tk wrapper wouldn't be too hard 17:03:35 assuming you can call it in a C like way 17:03:53 You can, I believe, but I'd rather have to maintain an editor rather than an editor and a Tk binding. 17:03:58 of course NIFs were added only in the last release, and is subject to change 17:04:00 s(int*a,int*b){for(int*c=b,t;c>a;)if(t=*c--,*c>t)c[1]=*c,*c=t,c=b;} ← It sorts arrays! 17:04:23 ehird, still, I think a lisp or scheme is somehow more appropriate 17:04:44 ← 17:04:46 The problem with writing a powerful editor with some Emacs heritage is that you get branded as "Emacs in $LANGUAGE". :-) 17:04:59 Edwin is Emacs-in-Scheme, that Perl editor is Emacs-in-Perl, etc. 17:05:01 who cares if you get branded just ignor them 17:05:08 But yes, a lisp is probably the best choice. 17:05:22 Almost certainly for the extension language. 17:05:26 why don't you use an esolang 17:05:27 Dunno about the implementation language. 17:05:30 ehird, how easy is it to interface native code from it 17:05:34 soupdragon: That would be... difficult :-P 17:05:38 AnMaster: From what; Lisp or Scheme? 17:05:40 ehird, I suspect you will need it for some tiny bits 17:05:43 ehird, scheme 17:05:46 but lisp as well 17:05:50 with lisp as common lisp 17:05:54 Impossible. R5RS has no facility for doing that. 17:06:04 Nor, I believe, for performing tasks such as "deleting a file". 17:06:10 Ditto for Common Lisp. 17:06:13 ehird, what about Tk then 17:06:14 Also, networking and threading is impossible in both. 17:06:24 Of course, nobody actually *obeys* the standard... 17:06:25 you will need to rely on custom extensions I guess 17:06:29 No shit :P 17:06:30 I was joking 17:06:41 ehird, if you go for a lisp, which one? 17:06:42 sbcl? 17:06:48 Probably not Common Lisp. 17:06:50 I prefer Scheme. 17:06:54 well okay 17:06:57 what scheme then 17:07:26 I would doubt you go for mzscheme, since it is r6rs wannabe these days isn't it? 17:07:40 (Actually, the only Emacs-alike I've seen that hasn't been branded as Emacs-in-language is http://armedbear-j.sourceforge.net/, probably because (a) it's written in Java; nobody would say "Emacs-in-Java", it's too silly and (b) it uses a real Common Lisp as its extension language.) 17:07:46 AnMaster: Maybe I'll write my own! :P 17:07:57 But, eh, maybe Gauche or something. 17:08:06 ehird, what about the tk bindings? 17:08:15 you said you didn't want to maintain tha 17:08:17 that* 17:08:34 Then I could use the circa-1995 STk! 17:08:54 never heard of that. And I doubt it has ttk bindings then 17:08:55 Okay, okay, not that old. 17:08:57 Circa-1999. 17:09:07 AnMaster: Well, it's been obsoleted by STklos since, like, 2001. 17:09:09 So... yeah. 17:09:27 ehird, what is STklos then 17:09:50 oh it uses GTK 17:09:53 Yeah. 17:09:55 And objects. 17:09:58 'Nuff said. 17:10:14 ehird, so I guess you will have to maintain your own Tk bindings for scheme if you are to use it 17:10:40 Probably, yes. 17:10:54 There doesn't appear to be a simple solution to all this. 17:11:25 ehird, there is always tcl 17:11:30 Maybe I'll think about something simple and fun, like my poop language or SECRET-ESOLANG-PROJECT. 17:11:41 AnMaster: Crazy semantics, very imperative, meh. 17:11:51 well good point 17:12:06 how hard would writing Tk bindings be 17:12:18 Dunno. 17:12:25 Not *too* hard, but not trivial either. 17:12:36 It essentially amounts to writing a Tcl binding, and then a sugar layer over that. 17:12:45 considering emacs runs a tcl process and uses stdin/stdout to talk to it 17:12:48 in the gs bindings 17:12:49 Tcl has a good C API, but... 17:12:54 AnMaster: *erlang 17:12:57 err yeah 17:12:58 typo 17:13:09 [17:11] Maybe I'll think about something simple and fun, like my poop language or SECRET-ESOLANG-PROJECT. 17:13:12 :| 17:13:13 :P 17:13:33 ehird, then that schedule for your editor just went down the ditch ;P 17:13:41 No it didn't. 17:13:53 poop is, like, a day-long project and SECRET-ESOLANG-PROJECT just needs ais. 17:14:03 ("poop is, like, a day-long project" —me. You can quote me on that.) 17:14:15 ((har har poop joke)) 17:16:02 ehird, sbcl's extensions seems very nice 17:16:09 ehird, ooh new idea for language: mathematica 17:16:15 AnMaster: I am killing you. 17:16:20 haha 17:16:21 Common Lisp is crufty, anyway. 17:16:25 I don't feel like using it. 17:16:30 fair enough 17:16:43 what about java? 17:16:45 (SECRET-ESOLANG-PROJECT will totally make this channel LIVE ONCE MORE.) 17:17:00 AnMaster: Completely ignoring the fact that I'd have to use JNI to make Tcl bindings... 17:17:00 explain SECRET-ESOLANG-PROJECT 17:17:01 ...no. 17:17:13 ehird, befunge98? 17:17:13 soupdragon: No, Gregor will just go and implement it before I can :D 17:17:23 AnMaster: "LCT"(...) 17:17:24 ehird, not if you implement it fast enough 17:17:24 Yes! 17:17:29 also, is it a new language 17:17:33 AnMaster: Sort of. 17:17:33 ehird, actually that is a good idea 17:17:38 Tk bindings for befunge98 17:17:53 If by good, you mean horrible and excellent! 17:17:54 maybe I'll do that when I have more time 17:18:05 ehird, "good idea" + "befunge" = what you said 17:18:19 Make sure to do Tcl bindings to handle additions to Tk 17:18:32 hm 17:18:38 and have an additional fingerprint, TK, that provides sugar over it for common Tk operations 17:18:39 :D 17:18:40 ehird, I certainly need to read up on the tcl api first 17:18:56 ehird, also there is a limited number of instructions per fingerprint you know 17:19:02 You could do the stdin/stdout method; a lot of things seem to do that. 17:19:04 you have to pick carefully 17:19:11 AnMaster: Well, exactly. 17:19:15 Which is why TK is a separate fingerprint. 17:19:18 You'd do: 17:19:25 ehird, well for erlang there are good reasons. Mainly that loading native extensions into the vm is a fairly new feature 17:19:29 "KT"(...oops I need some more stuff than it provides "LCT"(...)...) 17:19:31 -!- ais523 has joined. 17:19:34 certainly much newer than the gs module 17:19:34 hi ais523 17:19:35 -!- augur has quit (Read error: 110 (Connection timed out)). 17:19:36 AnMaster: Also that it's easier. 17:19:38 ais523: Just in time! 17:19:55 for what? 17:19:56 ehird, what? ais523 isn't bytecode... 17:20:09 ais523: I need to discuss an esolang project with you related to one of yours :| 17:20:20 I just came out of a meeting with two of the university's FPGA experts 17:20:33 ais523, TCL/TK bindings for befunge. Opinion? 17:20:34 who were busy talking about how all FPGA development environments were rubbish 17:20:42 AnMaster: bindings to anything is good 17:20:45 even if it's something ridiculous 17:20:46 :D 17:20:49 *Tcl/Tk 17:20:53 You fail at capitalisation. 17:20:59 I wouldn't even be against .NET bindings 17:21:05 or even ActionScript bindings 17:21:08 ais523, what about java ones? 17:21:18 ais523, or cobol. 17:21:32 oh and I think I have half a spec somewhere for the fingerprint SQL 17:21:38 never finished the details 17:21:44 ehird: anyway, conversation pop 17:21:49 A web servlet/Swing Befunge IRC client? 17:21:52 ais523: see /msg 17:21:56 ehird, wow 17:22:13 AnMaster: that is, usable from both the web and on the desktop 17:22:15 :D 17:22:25 ehird, well, to begin with I would have to learn java 17:22:29 If you run it locally it starts both, so assuming you configure your firewall right, you can just punch in your IP on the go to use your IRC client 17:22:31 In Befunge! 17:22:33 same goes for tk of course 17:22:34 AnMaster: no, just JNI :D 17:22:59 ehird, oh right, I used the python C API before I used python 17:23:03 so I guess that is doable 17:23:17 btw, could someone check the most recent edit to Esolang for me? 17:23:22 I need a second opinion 17:23:29 ingenious spam, trolling, or a legit edit? 17:24:12 ais523, one of the former two I would say 17:24:27 -!- MigoMipo has joined. 17:24:43 * ehird looks 17:25:01 and it is ridiculous 17:25:12 Custom Research Paper Writing Service 17:25:13 A research paper is a type of academic writing that needs more theoretical, significant and methodical level of inquiry than most other written assignments. In order to complete a research paper, you will have to spend a lot of time, study a lot of information resources, come up with a suitable approach and crystallize and summarize all your knowledge in a proper format. Sounds like a lot of work, doesn’t it? 17:25:17 Yet another we-write-your-papers-for-you spam. 17:25:26 Revert and ban with extreme prejudice. 17:25:30 yes 17:25:35 also, s/the (Wikipedia)/$1/, please 17:25:41 I'll do a revert with wording that makes it sound like he didn't do anything wrong, and see what happened 17:26:03 *what happens 17:26:08 I'm interested to see if it's remade 17:27:53 ais523, btw are there any bindings for befunge you *would* be against? 17:27:57 just curious 17:28:19 also what about the secret esolang project that ehird said he needed you for 17:28:21 bindings to the DS9K network protocol 17:28:29 we are strictly pacifist in this channel! 17:28:37 AnMaster: illegal ones, and ones that actually caused bodily harm or similar issues 17:28:38 ah I got an idea: befunge bindings for befunge 17:28:47 XD 17:28:58 *actually cause 17:29:01 ais523, I can't think of any in either category 17:29:21 ehird, link me to the spec! 17:29:56 bbl food 17:29:57 http://dspace.dial.pipex.com/town/green/gfd34/art/ 17:30:04 You'll have to purchase it 17:30:10 s/it$/it./ 17:32:50 * Sgeo is somewhat disoriented by the way that Fark headlines appear days after the article was in Reddit 17:33:05 So don't read Fark. Fark is crap. 17:36:14 * soupdragon just spent about 20 mins reading douglas adams inspired 404 page 17:36:51 which one? that one that's everywhere and continually displays messages about how sorry it is for not loading the page? 17:36:56 yes 17:39:36 hy I wanna poll your um 17:39:39 whatever it's called 17:39:48 principle of least surprise or something: 17:39:54 int a = 1; var f = x=> a+x; a = 2; int b = f(0); what is the value of b ? 17:40:17 x=>y being a function, presumably 17:40:29 soupdragon: it really depends on the type of language 17:40:42 if it's trying to be a cool functional dude, I'd probably expect 1 17:40:43 no that's the point 17:40:44 I 3 17:40:45 3 17:40:48 but almost all conventional languages do 2 17:40:50 Sgeo: what. 17:40:56 ^ kidding 17:41:10 Sgeo reads it as some esolang :P 17:41:40 There should totally be a language where the about makes b = something other than 1 or 2 17:41:49 ehird well I said it should be 2 but he said no.. and I was like all languages except yours would give 2... and he said no not really 17:41:55 so I'm like huh? 17:42:00 soupdragon: tell him he's a retard 17:42:12 I don't think that would be very nice 17:42:13 list of languages that do it that way 17:42:14 * ehird breaths in 17:42:16 Lisp 17:42:18 Scheme 17:42:19 Ruby 17:42:20 no 17:42:21 Python 17:42:22 no no no 17:42:22 C# 17:42:26 list the ones that DON'T 17:42:27 *breathes 17:42:31 soupdragon: () 17:42:33 if you can get more than zero I'll be impressed 17:42:37 At least, that I know of. 17:42:44 And I know of quite a lot of languages. 17:42:54 think about this: foreach(x in y) list.add(z=>z+x); 17:42:54 you want to capture the value of x, not the slot 17:43:11 :( 17:43:37 nope, 1 17:43:38 for pluk atleast, in some other languages it may be 2 17:43:38 like lisp and javascript and so on 17:43:38 (and ... every langauge :P) 17:43:38 no, not really 17:43:55 so am I in the wrong there 17:44:34 Wait, I'm confused 17:45:00 soupdragon: you are totally correct 17:45:12 that's a common closure pitfall, expecting them to work like that 17:45:31 soupdragon: basically 17:45:36 the problem is that his variables are mutable 17:45:39 in e.g. haskell 17:45:49 map (\x -> (\z -> z+x)) 17:45:52 x is a new variable each time 17:45:56 so we get the expected behaviour 17:46:00 the "x" in each function is the element 17:46:04 in Perl, you can get either behaviour 17:46:07 but since his variables are mutable and x is always the same variable 17:46:08 he's fucked 17:46:17 and this is why mutable state is bullshit. 17:46:23 http://codepad.org/1iagmDfc 17:46:29 ehird: what do you think of the OCaml method? 17:46:37 I don't think mutable state is "bullshit" but it is something to do with mutation 17:46:46 * Sgeo is actually confused by this now 17:46:56 ais523: how does it do it? 17:47:18 ocaml is very explicit (in a good way) 17:47:45 ehird: I'm writing a paste now 17:48:01 ehird you must make a mutable cell in ocaml 17:48:04 http://codepad.org/YzQtEiid 17:48:11 soupdragon: ah, right 17:48:14 ais523: it=ocaml 17:48:16 the ocaml method 17:48:23 anyway the ocaml method is just haskell's iorefs then :P 17:48:29 or strefs 17:48:34 I'm rreally jelous of ais' perl skills 17:48:42 but I'd never admit it 17:48:45 oh, in ocaml everything's an immutable value 17:48:46 ais523: yeah that's basically because %a becomes a new variable 17:48:48 each iteration 17:48:49 erm 17:48:51 you can have an explicit pointer to a memory location, though 17:48:52 to use the foreach example 17:48:54 in which case the pointer is the value 17:48:55 *$a 17:48:59 which is basically what i said 17:49:07 ais my $a = $a kinda cheating :P 17:49:08 ehird: yes, you have to mark it with a lexicaliser 17:49:12 you might as well write 17:49:18 soupdragon: no, because it's how you do that in Perl 17:49:29 my $z = $a ... [$a/$z] 17:49:52 soupdragon: yes, you might, and that would be fine too 17:50:02 .... $a = $a has an effect in Perl? 17:50:04 * Sgeo cries 17:50:05 the point is, the value of $a is stored in the closure because it's been lexicalised 17:50:06 Sgeo: no 17:50:14 the bracketing is (my $a) = $a 17:50:26 and in perl5, my doesn't create the new variable name until the end of the statement 17:50:27 hehehe 17:50:47 $a=$a is just mutating $a 17:50:50 but my $a declares a var 17:50:59 sgeo won't get this because he codes python, and python is stupid and has no variable declarations 17:51:03 thus leading to the wonderful "global" kludge 17:51:05 in fact, I think you can get away with just "my $a" which means the same thing 17:51:12 and the wrapping-a-variable-in-an-array-to-mutate-it-in-a-nested-function kludge 17:51:21 ah no, it initialises to undef 17:51:44 global awesome 17:51:47 lol python 17:51:49 -!- augur has joined. 17:52:15 hiya augur, 17:52:23 Who calls "ti" "si"? 17:52:29 hey soupdragongirly 17:52:30 sup 17:53:14 -!- kar8nga has joined. 17:54:16 just pwning some noobs u? 17:55:52 playing around with DNF-expression k-sat 17:57:18 did you implement prolog yet 17:57:49 i have a semi-working version, yeah. :) 18:03:57 cool 18:04:20 what strategy did you use 18:04:23 is it streams or stack or what? 18:09:55 ehird, okay idea: why not use a language with a history of about the same length as that of Lisp for amend? 18:13:18 Fortran? 18:13:46 fortran's awful at text processing 18:14:12 ehird, yes 18:14:16 ehird, or asm 18:15:46 about " int a = 1; var f = x=> a+x; a = 2; int b = f(0); what is the value of b ?" in erlang. That would be: http://codepad.org/RWtT11n8 18:16:17 hey AnMaster thanks! 18:16:23 btw 18:16:23 x86 asm doesn't have as long a history as Fortran. 18:16:36 soupdragon: AnMaster cheated 18:16:36 soupdragon, well for a start, it throws an exception trying to assign to the same variable twice 18:16:38 if you did that in one erlang statement, or like, in one erlang function -- you couldn't use A twich could you 18:16:39 ? 18:16:40 if the values differ 18:16:44 so it's just a REPL thing? 18:16:47 "A=2" was pattern matching 18:16:48 ehird, not x86 no 18:16:49 or whatever 18:16:51 not assigning 18:16:56 so it isn't actual mutation 18:16:56 ehird, well that is how erlang *does* assign 18:16:59 and A was still 1 18:17:03 so it didn't change, QED 18:17:10 there no no actual concept of assigning apart from pattern match 18:17:11 ehird, ^ 18:17:15 exactly 18:17:19 i.e. no mutable variables 18:17:21 soupdragon, and yes it is a repl 18:17:25 i.e. that wasn't an actual demonstration 18:17:26 soupdragon, and variables are not mutable 18:17:28 idea: is it possible to use URL-shorteners as free webhosting by using data:// URLs? 18:17:35 ais523, old 18:17:37 ais523: some of them, yes, iirc 18:17:39 I did it with tinyurl 18:17:44 ais523, I have already seen a tinyurl 18:17:47 that did it 18:17:51 i.e. AnMaster was doing his regular "har-har-mine-doesn't-work-like-that" misleadingness 18:18:04 AnMaster but I mean -- peculiar to the REPL 18:18:09 soupdragon, eh? 18:18:10 "TinyURL was created as a free service to make posting long URLs easier, and may only be used for actual URLs" 18:18:21 soupdragon, in a normal function, it depends on if you catch that exception or not 18:18:31 hey, that means that if you put the leading http:// on, it violates the TOS 18:18:37 because then it's a URI not a URL 18:18:38 soupdragon, if you don't, well it won't continue past that point. If you do catch it, well depends on what you do 18:18:44 no 18:18:45 huh 18:18:46 URI superset-of URL 18:19:03 I thought URLs couldn't specify the protocol, though 18:19:05 AnMaster what I mean is: is this a valid program? 18:19:09 soupdragon, erlang does not have assignment. It only has pattern matching. 18:19:18 soupdragon: no, it threw an error 18:19:21 test -> A = 1; F = fun(X) -> A + X; A = 2; B = F(0); B 18:19:25 the pattern-matching, not assignment "A=2" failed 18:19:28 I think it's not because we used A twice 18:19:35 soupdragon, and it would have been written differently outside the repl. For a start it would all have had to be in a function. 18:19:45 soupdragon, A *can not be changed in erlang* 18:19:57 it is *invalid* to change the value of a variable once you set it 18:19:59 soupdragon: it was AnMaster's idea of a joke 18:20:00 soupdragon, get that 18:20:03 ? 18:20:05 what it a joke? 18:20:06 what's the GNU internationalisation package called 18:20:10 that normally uses a macro called _? 18:20:11 ais523, gettext? 18:20:13 ais523: gettext 18:20:13 thanks 18:20:19 "Please type or paste a valid web address into the input box." 18:20:22 I'm trying all sorts of shorteners 18:20:36 ehird, you managed with data:// didn't you? 18:20:42 dunno, maybe 18:20:45 AnMaster well it's sort of inexpressible in erlang then.. unless you do it like ocaml I guess 18:20:54 Firefox can't find the server at data. 18:20:55 so close 18:20:56 soupdragon, how does ocaml do it. I don't know ocaml 18:21:23 AnMaster: OCaml has the type pointer-to-mutable-data, effectively 18:21:25 soupdragon, also in the repl, I think variables are actually stored in a dict between the lines. Since you can use a command to forget all bound variables there. 18:21:30 src="http://data: 18:21:31 the pointer itself is immutable, but you can mutate what it points to 18:21:32 fffuuu 18:21:34 hmm wait 18:21:34 ais523, erlang does not 18:21:36 does anyone know a service 18:21:42 http://foo/poop?url=... 18:21:45 that just redirects to ... 18:21:46 aha 18:21:47 * ehird idea 18:21:50 soupdragon, okay you could store it in the database engine of erlang. mnesia 18:21:52 ehird: anonym.to? 18:21:56 yep 18:21:58 that's what I thought of 18:22:01 soupdragon, but that would be ridiculous 18:22:03 -!- augur has quit (Read error: 110 (Connection timed out)). 18:22:06 heh 18:22:19 ehird: that's a ridiculous idea, I like it 18:22:37 aww, it truncates it :( 18:22:48 what, anonym.to? 18:22:48 I will store this jpeg whether it's the last thing I do 18:22:51 yep 18:22:56 what's it a jpeg of, anyway? 18:23:14 truthfully? the non-goatse at goatse.cx 18:23:18 (it was changed a while ago) 18:23:20 (it's SFW) 18:23:25 just looks like goatse, if you know what goatse looks like 18:23:52 hmm, a fake goatse, what a weird concept 18:23:58 soupdragon, or a dict. But then the dict would be a different one. Since erlang is in effect single assignment it create a new dictionary (sharing most parts of course, the gc will collect the no longer referenced bits later on) 18:24:12 I only ever fell for a goatse link once, and it loaded so slowly I guessed it was goatse by the top 20 or so pixels and navigated away 18:24:24 oh that's interesting AnMaster 18:24:25 it's just a goatse parody 18:24:25 so I've seen maybe about 5% of goatse, the harmless part 18:24:28 can you write that as a proc?? 18:24:35 if you are like bored or something 18:24:41 soupdragon, as a proc? 18:24:45 nr 18:24:47 function 18:24:48 Request-URI Too Large 18:24:49 The requested URL's length exceeds the capacity limit for this server. 18:24:51 whatever erlang calls it 18:24:51 asdfgjkl; 18:25:37 soupdragon, well there is function. The fun I used on that line is like lambda in scheme (closure style that is) 18:25:39 omg 18:25:41 that one almost worked 18:25:50 soupdragon, normally you don't use that syntax in source files 18:25:56 well, a similar syntax 18:26:01 except it prepended http:// :( 18:26:20 soupdragon, also write *what* bit as a function 18:26:49 ais523: well this'll certainly be a rather robust image host :-D 18:26:58 the one using the dicts 18:27:01 anyone who visits the image has a never-expiring token to share it 18:27:10 you could even bookmark it 18:27:17 ooh, insane idea 18:27:24 an entire website made out of data: urls 18:27:28 presumably, mostly generated via JS 18:27:34 each page on it stores the entire site 18:27:35 ais523: omg 18:27:37 it could quine 18:27:40 so you can just bookmark any of them 18:27:41 so you can go back to the index page 18:27:42 it /has/ to quine 18:27:50 ais523: wow, I think I want to marry you 18:27:51 just for that idea 18:27:55 that's brilliant 18:28:00 quining URIs 18:28:07 practically useful, too 18:28:32 it could have an auto-update via AJAX 18:28:41 * ehird settles for pasting the image via pastebin.ca 18:28:43 http://pastebin.ca/raw/1748566 18:28:52 it's like tinyurl's preview-the-url service, except more work and uselses 18:28:54 *useless 18:28:56 but by gum, it works 18:29:11 ais523: ajax to *where*, exactly? 18:29:16 the whole point would be that it was decentralised 18:29:19 ooh, my 18:29:22 * ehird just had an awful idea 18:29:27 soupdragon, oh well, that would be like: 18:29:29 it could be a forum, right 18:29:40 and posting a message would post a specially formatted paste to one of a list of pastebin services 18:29:45 and it'd scan those to find the posts 18:29:56 wow, that is an awful idea 18:30:01 especially when the pastebin operators find out 18:30:02 it's awful *and* wonderful 18:30:09 ais523: eh, you're allowed to paste plaintext in 'em 18:30:12 although, cross-domain security requirements might stop that working 18:30:16 and people post conversation snippets in pastebins anyway 18:30:22 soupdragon, http://codepad.org/i8ZzmGPl 18:30:30 soupdragon, that is REPL again, too lazy to write it in a module 18:30:46 AnMaster, I need in a module or it's just as bad at the first paste you did :[ 18:30:48 soupdragon, since F can't reference the new dict (unless you make it a parameter) 18:30:57 what about process tables 18:31:01 and by bad I mean an evil trick 18:31:04 ehird, you mean get/put? 18:31:07 hm forgot about that 18:31:22 ehird, I thought you didn't know erlang? 18:31:32 and, it would be evil. 18:31:54 soupdragon, the normal way to keep state in erlang is to make a thread/process that act as a server, which you talk to 18:32:03 soupdragon, since erlang is based on message passing concurrency this is trivial 18:32:34 AnMaster: just do it 18:32:38 it's exactly the original problem 18:32:54 -!- Pthing has joined. 18:32:54 well then I believe it would return 2 there. 18:33:23 really 18:33:23 ? 18:33:30 I'd be glad if it returns 2 :P 18:33:30 just do it :P 18:33:31 not hard 18:33:34 because then I would be right! 18:33:37 soupdragon: it'd be the only one that actually mutates 18:33:45 but if it returns 1 then that's cool too because having counterexamples is good 18:34:16 soupdragon, well there http://codepad.org/cPjBrzF3 18:34:32 soupdragon, and that is bad programming practise 18:34:36 of course, C would do the same. 18:34:45 nobody cares about whether it's idiomatic 18:34:49 we care about the results :P 18:35:08 ehird, you could use state in haskell to do this I believe 18:35:12 if you really wanted it to 18:35:17 just a hunch 18:35:35 yes, you could 18:35:38 soupdragon: IORefs or ST? 18:35:40 I guess ST 18:35:46 since this problem isn't IO-related in any way 18:35:48 State also 18:35:49 I'll do both 18:35:59 ehird, can't you do it with IORefs as well? 18:36:08 yes, but ST = IO with only IORefs 18:36:10 except they're STRefs 18:36:23 soupdragon: lazy or strict state? :D 18:36:28 I'll go for lazy, since it's more haskelly 18:36:33 ehird, why not eager state? 18:36:41 you mean strict 18:37:20 ehird, oh? wouldn't eager be on the other side? 18:37:29 at least the way I thought of "eager" in programming 18:37:54 of course it doesn't make much sense for state here 18:38:44 soupdragon: hmm 18:38:50 is passing in the mutable reference that is a to f acceptable? 18:38:53 can't do it any other way w/ haskell 18:39:02 I'll just do 18:39:04 passing a mutable ref is fine, that's like ocaml 18:39:07 let foo = f a 18:39:08 right 18:39:10 well if you could do that. then using a dict in erlang would work 18:39:14 just pass the dict along to it 18:39:18 it seems like in every SANE language that the result is 2 18:39:19 of course, a different dict 18:39:26 so it's funy that guy thinks 1 is acceptable 18:39:32 wth 18:39:59 soupdragon: lazy or strict state? 18:40:04 -!- cal153 has joined. 18:40:26 -!- zeotrope has quit (Connection reset by peer). 18:40:27 ehird, would scheme give 1 or 2, well depends on what you mean by it 18:40:43 (define a 1) 18:40:48 (define (f x) (+ a x)) 18:40:51 (set! a 2) 18:40:52 ehird they both give the same answer here 18:40:57 (f 0) → 2 18:41:00 soupdragon: thought so 18:41:09 import Control.Monad.ST.Lazy 18:41:09 ehird well don't take my word for it 18:41:10 import Data.STRef.Lazy 18:41:12 f a x = do 18:41:13 I just guessed that 18:41:13 a' <- readSTRef a 18:41:15 return (a' + x) 18:41:16 foo = do 18:41:16 ehird, ah but what if you changed set! to define? 18:41:18 a <- newSTRef 1 18:41:19 let f' = f a 18:41:21 writeSTRef a 2 18:41:22 return (f' 0) 18:41:24 ↑ st version 18:41:25 state is trivially the same 18:41:27 AnMaster: invalid 18:42:13 it's funny. 1) arch only has guile it seems. 2) it seems to be built without readline 18:42:32 guile is shit 18:42:37 ehird, exactly 18:42:45 use scheme48 or chicken or sisc or mit scheme 18:42:55 sisc is java but standards compliant in the most anal way imaginable 18:42:58 there is one called "bigloo" too 18:43:02 scheme48 is kinda cool and also compliant 18:43:07 chicken is sorta deviant and practical but alright 18:43:10 oh mzscheme is under drscheme 18:43:14 mit scheme is totally old school man (and written in mit scheme) 18:43:19 mzscheme is acceptable if put in r5rs mode, but meh 18:43:21 bigloo is shit 18:43:49 wth, it is 230 MB 18:43:52 I like chicken 18:43:53 drscheme that is 18:43:59 ehird, is chicken open source? 18:44:21 Who said it wasn't? 18:44:28 well, I don't know 18:44:30 I asked you 18:44:34 Chez Scheme is the one that's closed-source. 18:44:39 AnMaster: why did you assume it might not be? 18:44:50 42,56 MB for download... 230,30 installed size 18:44:55 quite nice compression ratio 18:45:03 (please place docs in a separate package) 18:46:06 ehird, wth: http://codepad.org/iVQeluXu 18:46:13 that isn't supposed to happen is it? 18:46:23 You use DEFINE in an invalid manner. 18:46:27 Your program is not correct. 18:46:33 Thus, its behaviour is undefined. 18:46:38 I refuse to comment on it, as it is not an R5RS program. 18:46:39 ah undef. Right 18:46:49 Allow me to quote the definition of DEFINE: 18:46:59 pastebin if long 18:47:28 Eh, just read http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-8.html#%_sec_5.2 18:47:32 Technically 18:47:34 At the top level of a program, a definition 18:47:35 (define ) 18:47:37 has essentially the same effect as the assignment expression 18:47:38 (set! ) 18:47:40 but that changes inside a function 18:47:42 and functions are where the meat is, so. 18:47:48 Definitions may occur at the beginning of a (that is, the body of a lambda, let, let*, letrec, let-syntax, or letrec-syntax expression or that of a definition of an appropriate form). Such definitions are known as internal definitions as opposed to the top level definitions described above. The variable defined by an internal definition is local to the . That is, is bound rather than assigned, and the region of the binding is the 18:47:50 entire . For example, 18:47:57 Keyword "at the beginning". 18:48:57 ehird, plt-r5rs accepted it too. 18:48:59 just fyi 18:49:25 Your program is in fact correct, but only because the REPL is top-level. 18:49:31 ehird, well yes 18:49:32 If it simulated being inside a function body it would be incorrect. 18:49:40 But DEFINE is really only useful like that if you can use it after the start. 18:49:47 Anyway, don't use the REPL to test Scheme behaviour. 18:49:50 Try it in a (define (main) ...). 18:49:55 sure 18:50:28 anyway I dislike soupdragon suggestion that only insane languages return 1 for it 18:50:33 it seemed to be what he said above 18:50:44 Hm I wonder 18:50:47 what does mathematica do 18:51:46 mathematica returns 2 18:51:53 1 wouldn't have surprised me 18:52:04 what does make do 18:52:11 make does not have variable mutation. 18:52:15 (and how does one define a *function* in it) 18:52:21 ehird, oh? 18:52:24 gnu make here 18:52:38 -!- ais523 has quit (Remote closed the connection). 18:52:42 gnu makes supports both "evaluate on use" and "evaluate on assignment" 18:52:46 = is the former 18:52:48 := is the latter 18:53:03 if it has user definable functions I don't know 18:54:04 AnMaster excuse me?? 18:54:20 how about his, name one sane language that gives 1? 18:54:47 !bfjoust isthisthingon >((+)*127>(-)*127)*8>((-)*128[-.]>(+)*128[+.])*21 18:54:57 * ehird prods EgoBot 18:55:03 Gregor: ↑ 18:55:04 Score for ehird_isthisthingon: 15.1 18:55:07 ah 18:55:17 I did upsettingly badly :( 18:55:19 anyone wanna play? 18:55:20 what's that?? 18:55:24 brainfuck joust dude 18:55:28 http://esolangs.org/wiki/BF_Joust 18:55:36 we play with ais523's revised one with egojoust 18:55:38 FFFFFFFFFFFFFFFFF 18:55:41 see http://codu.org/eso/bfjoust/report.txt 18:55:54 and http://codu.org/eso/bfjoust/in_egobot/ for program sources 18:55:58 well, warrior sources 18:57:10 our busiest day ever, http://tunes.org/~nef/logs/esoteric/09.05.28, with a 417 KiB log, was spent playing BF Joust :D 18:57:17 but it died down and that ensaddens me 18:57:36 !bfjoust whataboutthis [+-]+ 18:57:48 Score for AnMaster_whataboutthis: 7.8 18:57:48 well 18:57:51 hah 18:58:15 why does main() in C take argc, argv rather than argc, ... 18:58:20 as in, stdarg.h 18:58:31 because that predates stdarg, and stdarg is a bitch to use 18:58:39 oh good points 18:59:19 ehird, beats me why they didn't do stdarg properly, which would be to map it to a void* params[] in the function 18:59:36 !bfjoust isthisthingon >(+)*127<+>>(-)*126<<->>>(+)*125<<<+>>>>>>>>>>[[-]>+] 18:59:46 Score for ehird_isthisthingon: 2.9 18:59:51 AnMaster: because that is not how the system stack works. 18:59:52 ehird where is the result page for it 19:00:01 how do you play this????? 19:00:02 I linked that a second ago. 19:00:04 ehird, too high level I guess 19:00:11 oh there 19:00:11 !bfjoust isthisthingon >((+)*127>(-)*127)*8>((-)*128[-.]>(+)*128[+.])*21 19:00:19 Score for ehird_isthisthingon: 14.1 19:00:23 what's the game ?? 19:00:28 soupdragon: i fucking linked you 19:00:35 [18:55] http://esolangs.org/wiki/BF_Joust 19:00:36 yeah thanks 19:00:36 [18:55] we play with ais523's revised one with egojoust 19:00:37 [18:55] FFFFFFFFFFFFFFFFF 19:00:39 [18:55] see http://codu.org/eso/bfjoust/report.txt 19:00:41 [18:55] and http://codu.org/eso/bfjoust/in_egobot/ for program sources 19:00:42 [18:55] well, warrior sources 19:00:43 [18:55] FFFFFFFFFFFFFFFFF 19:00:43 [18:56] our busiest day ever, http://tunes.org/~nef/logs/esoteric/09.05.28, with a 417 KiB log, was spent playing BF Joust :D 19:00:45 >_< 19:00:48 yes. 19:00:48 key part of the discourse 19:00:51 what about it? 19:00:54 you can't read? 19:01:00 oh 19:01:05 esolangs server is up now 19:01:07 !bfjoust discourse [++] 19:01:10 -!- kar8nga has quit (Remote closed the connection). 19:01:15 Score for ehird_discourse: 5.4 19:02:14 "(+-)*5 expands to +-+-+-+-+- (and likewise for other sets of commands inside the parens, and other decimal numbers; but square brackets inside the parens must be matched) " <-- why matched 19:02:15 why not 19:02:26 For interpretation efficiency. Use % 19:02:29 ([)*2 ]] 19:02:39 ehird, "meh" 19:02:48 I'm not very interested in talking about BF Joust to you since last time we played it you fucked up the hill 19:03:00 !bfjoust discourse ((+)*127(-)*127))*394 19:03:04 ehird, you mean, by writing several programs? 19:03:06 Score for ehird_discourse: 0.0 19:03:15 AnMaster: As I said, I am not interested in discussing this. 19:03:25 It only encouraged you then and it will only do the same now. 19:04:11 ehird, yeah so I wrote more than one program. And some of them got up the hill. The source is still around. I fail to see why you didn't like me on the high score list 19:04:21 I guess it is just because you dislike me so 19:04:25 very nice of you 19:04:33 You will note that the other players got pissed off too, as evidenced by the log. 19:04:55 By the way, submitting many trivial variations of the same program so that they all draw and, due to a scoring edge-case, stay on the hill for ages, is not playing the game. 19:04:59 ehird, sure. So everybody who got pushed off the hill hates me. Bad loosers. 19:05:08 I don't understand the rulse 19:05:14 ehird, bbl 19:05:20 I see you still thought you actually made an achievement, rather than setting up a bunch of programs that drew each other. 19:05:30 They then dropped off the hill and you accused Gregor of removing them. 19:06:08 I think you have serious issues regarding this; you seem to be unable to believe that you pissed other people off for a reason, subverted the rules of the game, or even that your programs were somehow anything less than great warriors that stayed on the hill because they beat other programs, which they did not. 19:06:14 soupdragon: why not 19:06:28 well I didn't really read them 19:06:33 you're at one end of the tape 19:06:35 the opponent is at the other 19:06:38 > means closer to opponent 19:06:41 < means further away 19:06:44 oh but you don't know how long? 19:06:47 tape is random from 10-30 items 19:06:51 if you run off the tape, you die 19:06:51 ok 19:06:53 at each end is a flag 19:06:56 at your end is your flag 19:06:59 the other end, the opponent's 19:07:03 if your flag is 0 for two cycles, you lose 19:07:07 both programs run simultaneously 19:07:14 also, ] takes up a cycle 19:07:15 so [-] 19:07:17 ehird, goatse.cx might be NSFW if your employer's seen goatse before 19:07:17 goes [-]-]-] 19:07:22 so -(it's zero)](the other guy loses) 19:07:24 erm 19:07:25 yeah 19:07:30 because it's 0 for two cycles 19:07:44 soupdragon: your job is to avoid your flag being zeroed and avoid going off the tape, while making your opponent do those things 19:07:50 there are various strategies you can use; I won't go into them. 19:07:57 (x)*n is x, repeated n times. 19:08:10 (x{y}z)%n is x, repeated n times; y; z, repeated n times. 19:08:12 !bfjoust add [+] 19:08:12 ehird, exploiting loopholes in game rules is part of the fun of games. Even better if you can make them change the rules. I believe it was fairly common in IOCCC for example 19:08:14 In ({}), you can use []. 19:08:17 bbl again 19:08:21 To do ()*n for loops. 19:08:31 Score for soupdragon_add: 5.5 19:08:40 AnMaster: Yes, but then when everyone says "stop it, you are ruining our game", you continued to act haughty and holier-than-thou. 19:08:48 It is understandable, then, that we wanted you to fuck off and stop ruining our game. 19:08:59 stop :( 19:08:59 *when everyone said 19:09:27 soupdragon: don't worry, AnMaster is shit at bfjoust and has no idea how to make warriors, and minutes before flooding the hill he talked a lot about how he dislikes programming war games anyway 19:09:35 I don't believe this flamefest will interrupt the game. 19:09:55 Fix the edge case? 19:10:15 Sgeo: it didn't matter much in practice so it was a low-priority issue once AnMaster's programs fell off the hill 19:11:48 Sgeo, that would be the correct way yes. 19:11:55 fixing bugs is always better than making a silly work around for them 19:12:18 ehirds suggestion is like "the correct way to fix beeps on shutdown is to blacklist the pc speaker module" 19:12:28 which is how ubuntu "fixed" it 19:13:18 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 19:13:19 Silly work around as in "we get your point, stop exploiting it now so we can have fun" 19:13:34 It's called social interaction and the instance we experienced there was known as "being an asshole". 19:13:45 this argument between you two is stupid :P 19:13:45 silly workaround as in not fixing the underlying issue in the code 19:13:53 soupdragon, agreed 19:14:09 if ehird could just stop going on about it 19:14:10 yes, I'm obviously right 19:14:14 yes, I'm obviously right 19:14:30 ehird, har 19:14:51 AnMaster: I didn't "go on about it"; I said I wsa not interested in discussing BF Joust with you because of it — the very opposite of "going on about it" — and you then whined about it. 19:15:15 ehird, after that you did. And I do not intend to discuss this further 19:15:25 lets just see if they fixed that issue I remember 19:15:32 !bfjoust invalid < 19:15:38 Score for AnMaster_invalid: 0.0 19:15:45 maybe it wasn't that issue then 19:15:54 there was one that crashed it I remember 19:17:00 cool, C-x C-v RET works to reload a file in Emacs 19:17:52 -!- MizardX has joined. 19:26:40 -!- Gregor-L has joined. 19:26:44 Oh, I do delete things from the hill. 19:26:46 All the time. 19:26:48 That's how I roll. 19:27:14 -!- Sgeo has changed nick to PrimeIntellect. 19:27:35 Sgeo: not egotistical whatsoever 19:27:38 augur do you know feature terms? 19:27:47 Gregor-L: I'm totally working on my BF Joust implementation again. 19:28:03 Gregor-L: It's written in Go, so there's not a chance in hell of you using it, but that's okay because I'm writing my own IRC code too :P 19:28:03 Are you? Totally? Really and totally and truly and totally? 19:28:07 Absolutely. 19:28:11 Definitely totally. 19:28:16 -!- PrimeIntellect has changed nick to Sgeo. 19:28:24 oh my god 19:28:29 If there's a Go package in Debian, I'd be willing to install it into EgoBot *shrugs* 19:28:39 Gregor-L: There isn't, but I can give you a binary. :P 19:28:56 Bleh @ binaries :P 19:29:17 augur (it's an example in these CHR notes, but apparently comes from linguistics) 19:29:22 Well, those are your two choices :P 19:30:52 * Gregor-L goes and implements it himself instead. 19:30:53 OH WAIT 19:30:56 :P 19:31:03 lawls 19:31:04 hm it looks like a synonym for feature structures 19:31:04 -!- upbeatsarcastic has joined. 19:32:11 -!- upbeatsarcastic has left (?). 19:33:17 "Our central database master, mysql.agni, is currently running on an 8-core Xeon E5450 with 64 gigs of RAM" 19:33:21 ok, I want to work for Linden Labs now 19:34:03 Gregor-L: anyway installing go into a directory takes like... three commands 19:34:09 i guess that would TAINT YOU HORRIBLY though 19:34:21 I hate second life 19:34:22 I *could* run it thorugh a Go→C compiler, after inventing one 19:34:31 the programming language they use is such a fucking disgrace 19:34:31 soupdragon: xeon with 64 fucking GiB of RAM 19:34:34 want, no matter what 19:34:35 ehird, even though they use mysql? 19:34:35 it makes me so angry 19:34:57 AnMaster: i'm sorry did you hear 19:34:58 they could have designed such a good language for this and it would be a real inspiration for a lot of young people 19:34:58 sixty-four 19:35:00 gibi-bytes 19:35:09 soupdragon: no it wouldn't because they'd be too dumb to understand it 19:35:18 you are so clueless ehird 19:35:21 i know rite 19:35:26 ehird, no it must be GB, otherwise the would have said "gibis" not "gigs" 19:35:44 or joking 19:35:54 half-joking 19:36:29 it's just like a huge opportunity wasted 19:36:37 and it really upsets me to think about it 19:36:44 you're overreacting 19:36:51 I'm not acting at all 19:37:27 Gregor-L: if i code it so that you can plumb into individual matches to see why they were lost (tape boundary error, flag being zeroed) and after how many cycles is that cool 19:37:27 ehird: The not-for-any-serious-computing-use mostly-irssi-screens shell server -- the one that's visible in the interwebs for remote logins -- of the university is, coincidentally, also an 8-core Xseon E5450 box with 64 GiB of RAM. 19:37:41 fizzie: ok i'd much rather work at your university 19:37:51 how big is it to need that many gs of ram 19:37:55 the uni tat is 19:37:57 *that 19:38:27 ehird you have used the SL language right? 19:38:27 hmm 19:38:29 I think we have some 10k "active" students? 19:38:33 soupdragon: i've seen snippets 19:38:34 I don't really recall. 19:38:39 hmm 19:38:44 what's the term X where tape X = under/overflow 19:38:47 i.e. it means either 19:38:50 tape flow? :P 19:38:51 ehird well I guess if you haven't actually programmed in it then it's hard to understand what I am trying to get across 19:38:56 tape boundary oversteppingness? 19:40:05 (811 screen sessions.) 19:41:38 ehird, out of bounds error? 19:41:57 AnMaster: OutOfBounds would work. 19:42:04 I'm not sure it actually needs that whole 64 GiB; "free -m" says used 31864, free 30943, cached 19907; the "corrected" memory-use value on the second line is 11238. 19:42:05 assuming it doesn't wrap around 19:42:07 I guess I'll leave it as separate for under/overflow, though, just for the statistics porn. 19:42:39 hm 19:43:01 !bfjoust test ([.]+)*99999 19:43:02 const ( 19:43:03 TapeUnderflow WinReason = iota 19:43:05 TapeOverflow 19:43:06 FlagZeroed 19:43:08 ) 19:43:09 type MatchResult struct { 19:43:11 Winner Warrior 19:43:12 Reason WinReason 19:43:14 Cycles int 19:43:15 Score for AnMaster_test: 7.8 19:43:15 } 19:43:17 most. statistics. applied. to. brainfuck. evar! 19:43:55 Actually for the last 12 days we've been part of the new three-universities-combined thing, so... 16472 students using the 2008 statistics. 19:43:57 how did it manage to win against ais523_vibration.bfjoust 19:43:59 that is strange 19:44:16 !bfjoust test (+)*99999 19:44:33 fizzie: ugh, is it "Wave" university now? 19:44:39 i don't want to work here any more 19:44:40 *there 19:44:47 ehird: Yes. Wave it like you just don't care! 19:44:48 Score for AnMaster_test: 7.8 19:45:19 !bfjoust test >+>+>>+<<+<<(+)*99999 19:45:19 fizzie: i guess google wave will be used for all official communications :) 19:45:21 :D 19:45:41 In January 2010 all Finnish universities will operate under a new Universities Act. This law separates universities further away from the state apparatus at least in legal and accounting terms. The state will remain the main source of funding, but universities are urged or forced to find new sources of money, especially donations from the industry. One purpose of the reform is to make university governance more clearly based on managerial ideals, adopted 19:45:43 from the business world. 19:45:45 Sounds ghastly. 19:45:50 Score for AnMaster_test: 3.6 19:45:58 Bloody free market idiots 19:46:12 !bfjoust test >+<(+)*99999 19:46:19 fizzie: so en:wave == fi:alto? 19:46:26 fi:aalto. 19:46:29 erm right 19:46:31 http://www.aalto.fi/fi/ 19:46:33 "A?" 19:46:34 what a retarded logo 19:46:36 did i mention 19:46:37 RETARD 19:46:40 Score for AnMaster_test: 3.6 19:46:42 That's not the only logo. 19:46:50 "A!" and 'A"' are also the logo. 19:46:59 !bfjoust test (-)*99999 19:47:09 "External expectations towards the new Aalto University are high. It is supposed to be of "world-class quality" and fame by the year 2020." 19:47:10 They're supposed to be used quasi-randomly and in a uniformly distributed way. 19:47:12 That's some deadline. 19:47:23 Only ten years! 19:47:33 Score for AnMaster_test: 7.8 19:47:54 I'm pretty disappointed that (discounting my latex-beamer slides) most of the places where I've seen the logo use a single variant with no randomization. 19:48:09 At least my beamer template rerandomizes the logo (color + character) for each slide separately. 19:48:44 make one that's A(unicode :( ) 19:48:45 fizzie, that would be distracting 19:48:51 aka "A fuck this logo" 19:48:51 http://www.soundcreationsinc.com/tech/splendid/grand._collection.html <-- SWEET Piano soundfont 19:49:00 SWEET penis soundfont 19:49:05 Gregor-L, argh not free 19:49:16 yes it is 19:49:16 Free 72MB version 19:49:20 Free 72 MB Version 19:49:24 Gregor-L: snap 19:49:26 oh there 19:49:40 how the heck to open sfark 19:49:47 sfArk is annoying :( 19:49:53 hmm they quote the bible in their jpeg header, their non-rolled-over ARTISTS menu item is a broken image and they have "PraiseTracks" which are :jesus: 19:49:54 ehird: There's a 50-page "guideline" for using the logo; it absolutely forbids using just any character there. You can only use the specific typeface designed for the logo, and ("for now", they ominously say) it contains only those three official punctuation characters. 19:49:54 -!- augur has joined. 19:49:56 lulz. 19:50:01 There is a (non-F/OSS) extractor for Linux though. 19:50:08 Gregor-L, 32-bit only iirc 19:50:23 AnMaster: Yup. 19:50:26 Gregor-L, is the spec closed? 19:50:28 fizzie: Dude, the typeface just looks like modified Helvetica to me. 19:50:30 Pretty much. 19:50:32 Anyway, once it's extracted you never need sfArk again. 19:50:41 OK, so the WEB SITE is stupid :P 19:50:51 Ignoring that, the soundfont is awesome. 19:50:53 fizzie: Just do it in a font that looks similar; then they can't sue you because they can't copyright (black A)(sad smiley face in blue) :-P 19:51:04 Gregor-L: AND THE PEOPLE WHO MADE IT ARE STUPID :P 19:51:09 Because they like Jesus, you see. 19:51:16 ehird: Yes. 19:51:17 Yes, well, I guess you could use it, as long as you don't claim it as the Aalto logo. 19:51:18 What they should do, instead, is LOVE Jesus! 19:51:21 ♥ 19:51:26 I love how Compose <3 works 19:51:53 fizzie: so the Aalto logo is a single logo, except it's quantumly superpositioned? 19:51:54 cool 19:52:08 make a program that accesses the user's webcam 19:52:15 and only fills in the second character when they look at it 19:52:23 aalto's logo is not dead 19:52:46 ehird, why doesn't compose :( work 19:52:48 hm 19:53:06 and why doesn't the pi compose work, even though I restarted X since then 19:53:07 -!- sebbu2 has joined. 19:54:14 Paste your .XCompose line 19:54:21 sec 19:54:24 Smiley faces would be nice, I should add those 19:54:31 include "/usr/share/X11/locale/en_US.UTF-8/Compose" 19:54:31

: "π" U03C0 # GREEK SMALL LETTER PI 19:54:41 that's all 19:54:43 Replace the first line with include "%L" 19:54:46 That way it's portable across locales 19:54:51 Also shorter, and less path-dependent 19:54:53 ehird, okay, but ignoring that? 19:55:01 since other compose combos works 19:55:02 work* 19:55:04

: "π" U03C0 # GREEK SMALL LETTER PI 19:55:09 -!- Phantom_Hoover has joined. 19:55:09 Did you save it in ~/.XCompose? 19:55:12 -!- Asztal has quit (Read error: 60 (Operation timed out)). 19:55:21 ehird, that is the file 19:55:36 No clue 19:55:39 $ cat ~/.XCompose 19:55:39 include "%L" 19:55:39

: "π" U03C0 # GREEK SMALL LETTER PI 19:55:40 Try a full reboot :P 19:55:42 is what the file reads at 19:55:44 as* 19:55:50 Maybe that path doesn't exist 19:55:51 ehird, I did that, unintentionally 19:55:55 Although that's unlikely, I guess 19:56:02 But maybe "%L" will work and your old version won't 19:56:04 So try restarting X now 19:56:09 ehird, the full reboot was forced due to hardware lockup 19:56:20 when plugging in an usb device 19:56:24 second time in a few weeks 19:56:27 and different usb devices 19:56:35 -!- Asztal has joined. 19:56:36 I believe the mobo is getting glitchy 19:56:42 ehird, even sysrq was *dead* 19:57:08 Wow. 19:57:16 Why not just use your laptop and hook it up to your display/keyboard/mouse? 19:57:27 The sysrq key? 19:57:34 Alt+SysRq. 19:57:36 Linux magic key. 19:57:40 Lets you talk directly to the kernel. 19:57:42 ehird, becuase laptop is unable to get the resolution of the of the monitor 19:57:47 it can do widescreen high res 19:57:51 but only lower res for 4:3 19:57:54 Alt+SysRq+{R,E,I,S,U,B} does a soft reboot even if your keyboard isn't being listened to by X11. 19:57:54 don't ask me why 19:57:56 I don't seem to have that... I feel inadequate. 19:58:01 ehird, it just refuses to handle 1400x1050 19:58:04 Phantom_Hoover: It's the Print Screen key. 19:58:05 -!- sebbu has quit (Read error: 60 (Operation timed out)). 19:58:09 ehird, also, the harddrive is smaller in it 19:58:31 AnMaster: Buy a hard drive enclosure and extract the disk from the desktop 19:58:32 ehird, and the sound is worse than my sb live 5.1 in my desktop 19:58:42 Meh 19:59:05 ehird, and there is the issue of the nvidia geforce 7600 card. Anyway I guess I will have to get a new (quieter) desktop soon 19:59:24 since I don't believe you can get a new mobo with this socket any more 20:03:03 ehird, what do you call percent humdity as in the air 20:03:06 as in 20:03:11 humidity 20:03:13 the thing you measure with that unit 20:03:14 30% humidity 20:03:14 ah 20:03:27 ehird, 11% indoors is horribly dry btw 20:03:34 Misread somehow " I don't believe in humidity". 20:03:54 fizzie, tell me what the hamming distance is for that one 20:04:28 I'm not sure what the source was. I guess it must be a combination of the "don't believe" from one line and "humdity" (hum-ditty?) from the next. 20:04:30 It's a mangling of two lines. 20:04:43 Cue oklofok; "i don't believe in humidity". 20:04:55 humidity* 20:04:57 Who? 20:05:31 Phantom_Hoover, who what? 20:05:48 Who oklofok? 20:05:53 Phantom_Hoover: … 20:05:55 GTFO :| 20:06:05 Why...? 20:06:10 Darn newbs, not knowing who oklofok is 'n shizz :P 20:07:01 oh Phantom_Hoover is new here 20:07:14 Phantom_Hoover, look in the output of /names 20:07:15 that oklofok 20:08:35 Gregor-L: The Go problem might not actually exist, since I think BF Joust's ultra-shared-memory architecture is disagreeing with Go's message-passing :P 20:10:18 -!- oerjan has joined. 20:10:49 ehird, "go problem"? 20:10:51 oerjan, hi there 20:11:12 hi AnMaster 20:11:20 AnMaster: Go as in Go the language. 20:14:20 I'd write it in Haskell, but that sounds horrible. :) 20:19:09 -!- Gregor-L has quit (Read error: 110 (Connection timed out)). 20:22:09 ehird, yes 20:22:15 ehird, but why is Go a problem? 20:22:35 no debian packages, and gregor hates go so him installing it is unlikely :) 20:22:40 ah 20:22:41 (without an easy package) 20:22:50 probably not all that unlikely but ehh 20:23:18 ehird, I'll install it when I need an app that wants to use go 20:23:28 * ehird tries to remember what = vs := does 20:23:41 ehird, compare vs assign (pascal) 20:23:47 AnMaster: if you just want to test joust warriors without spamming the hill you could just download a binary 20:23:53 that is if you trust binaries me or gregor made 20:23:56 AnMaster: "compare"? 20:23:58 I mean in make 20:23:59 :P 20:23:59 ehird, I don't 20:24:04 ehird, oh I told you that above 20:24:14 ehird, the first doesn't evaluate the value at assignment 20:24:16 such that 20:24:21 i recall something vaguely similar… yesterday 20:24:26 CFLAGS = $(SET_LATER) 20:24:30 SET_LATER = -O2 20:24:30 AnMaster: ok, so it should be CC = gcc, not CC := gcc? :P 20:24:37 means that CFLAGS expands to -O2 20:24:49 ehird, in that case it wouldn't make any difference 20:24:59 ehird, well a bit of difference 20:25:06 ehird, with overriding CC on command line 20:25:16 iirc it won't work for the latter 20:25:22 but not completely sure about that 20:25:35 * ehird wonders how bad it is to do #include "lance.c" in main.c to avoid writing an .h 20:25:36 ehird, since you probably want make CC=icc to work, the former 20:25:39 methinks "very bad" 20:25:47 ehird, depends on your goals 20:26:14 AnMaster: what should I do if I want CFLAGS=foo make to append my cflags to foo, but make CFLAGS=foo to override them entirely? 20:26:19 CFLAGS +:=? :P 20:26:32 ehird, I have no clue 20:26:39 I'll just do = 20:26:48 lamers who want their own cflags can do make CFLAGS=… 20:26:50 ehird, += would append for both 20:26:59 AnMaster: yeah which sucks 20:27:01 if you don't want that 20:27:08 ehird, also isn't := gnu specific 20:27:11 don't care 20:27:17 iirc autotools screams about it if you use it 20:27:21 which is funny 20:27:29 good thing I don't use autotools 20:27:51 ehird, well the funny thing is that GNU automake tells you not to use gnu make specific syntax 20:28:39 !bfjoust x . 20:28:55 did you loose if program ended? 20:28:57 I forgot 20:28:57 Score for AnMaster_x: 7.8 20:29:23 don't recall 20:29:41 !bfjoust x (+)*999999999999999999999999999999999 20:29:49 I hate how gmake's default rules do 20:29:53 $(CFLAGS) $(CPPFLAGS) ... 20:29:55 Score for AnMaster_x: 7.8 20:29:55 so that you get tons of spaces 20:30:00 ehird, why? 20:30:05 because it irritates me 20:30:06 there is a single space between them 20:30:11 in your paste 20:30:13 ehird@meson:~/src/lance$ make 20:30:14 cc -O3 -c -o lance.o lance.c 20:30:16 cc -O3 -c -o main.o main.c 20:30:18 well 20:30:20 $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 20:30:20 that is a tab 20:30:21 but 20:30:21 etc 20:30:24 since I only use cflags... 20:30:24 $(CFLAGS) $(CPPFLAGS) ... 20:30:27 it isn't a tab 20:30:28 there is a singe space ther 20:30:29 ah 20:30:29 it's a space 20:30:32 well 20:30:34 spaces 20:30:43 ehird, well any -I and -D should be CPPFLAGS 20:30:49 yes, I know 20:30:51 but all I do is -g or -O3 20:30:54 any -Wl, or -l or -L should be LDFLAGS 20:30:56 depending on if DEBUG is set 20:31:01 ehird, so you want to break it for everyone else 20:31:06 or it could just do 20:31:12 $(if foo, spacefoo) 20:31:13 or whatever 20:31:15 :| 20:31:23 ehird, would be messy 20:31:23 also 20:31:26 nobody uses the default rules anyway precisely because of all the spaces 20:31:26 just do: make -s 20:31:28 iirc 20:31:33 that removes helpful output 20:31:37 ehird, I use the default rules 20:31:39 in fact 20:31:44 no you don't, you use cmake 20:31:52 ehird, not always 20:31:57 it depends on how large the project is 20:32:05 I sometimes use a simple: 20:32:14 all: foo bar 20:32:17 clean: 20:32:22 ... 20:32:27 you forgot .PHONY 20:32:29 .PHONEY: all clean 20:32:31 also, -O2 20:32:32 *PHONY 20:32:34 also, "all"? 20:32:37 don't you mean "executablename" 20:32:41 ehird, well there were two names there 20:32:53 ehird, and that is enough with the implicit rules 20:33:00 not if any program has more than one file 20:33:03 ehird, true 20:33:08 ehird, I said for simple projects 20:33:18 lol if i do 20:33:21 lance: main.o 20:33:24 cc -O3 -c -o main.o main.c 20:33:25 cc -O3 lance.c main.o -o lance 20:33:31 ehird, XD 20:33:47 lance: lance.o main.o works though 20:33:49 ehird, do lance: lance.o main.o 20:33:51 yeah 20:33:54 hmm 20:34:00 gmake should be able to automatically create a clean :( 20:34:22 clearly the solution is for me to write Yet Another Makefile Generator :D 20:34:34 ehird, also I use makefiles for stuff like: *.dia -> *.svg -> *.pdf 20:34:47 or *.dot for that matter 20:35:02 *.pdf for embedding in pdftex output 20:35:23 that's what make is designed for 20:35:24 you can embed pdf in pdf, unlike most other formats 20:35:27 ehird, indeed 20:35:30 automating file transformation 20:35:49 * ehird realises he doesn't actually need clean, axes it 20:35:54 ehird, C -> executable is also such a transformation 20:35:57 yes. 20:36:00 ehird, I find clean useful if I change the Makefile 20:36:03 but you can do 20:36:11 lance: lance.o main.o Makefile 20:36:12 I guess 20:36:25 yeah i guess 20:36:27 erhm no 20:36:34 lance.o wouldn't depend on Makfile there 20:36:39 Makefile* 20:36:43 %.o: Makefile 20:36:47 good point 20:37:02 also rm *.o works quite well :P 20:37:19 ehird, rm *.o lance you mean 20:37:21 CFLAGS = -O3 20:37:23 lance: lance.o main.o 20:37:25 there that's nice and small 20:37:26 AnMaster: well yes 20:37:36 (debug compile: make CFLAGS=-g :P) 20:37:50 oh wait 20:37:53 I'm using Emacs 20:38:05 c-mode has the worst indentation defaults ever 20:38:06 halp 20:38:15 ehird, sec 20:38:29 ehird, I suspect ais likes the defaults ;P 20:38:30 lance: lance.o main.o 20:38:31 lance.o main.o: lance.h 20:38:33 I hope this works 20:38:50 AnMaster: no, he uses mixed tabs and spaces, 2-space indent, and this brace style: 20:38:51 void f(){ 20:38:53 ...; 20:38:55 ...;} 20:38:57 -*- mode: C; coding: utf-8; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- 20:38:59 (really) 20:39:03 ehird, there is a modline for you 20:39:09 AnMaster: I'd prefer to just set it in my .emacs rather than clutter my files 20:39:17 meh 20:39:43 how does it go again 20:39:47 add-hook 'c-mode-hook 20:39:57 -!- Azstal has joined. 20:39:58 (custom-set-variables 20:39:58 '(standard-indent 4) 20:39:58 '(tab-width 4)) 20:40:02 fuck custom 20:40:12 also, I want it only for C 20:40:19 ehird, meh 20:40:40 ehird, one you might like: 20:40:40 (c-set-style 'k&r) 20:40:42 (setq inhibit-startup-message t) 20:40:43 or is it "k&r" 20:40:45 yeah the latter 20:40:47 AnMaster: old hat, of course I have that 20:40:53 ehird, good 20:41:06 and (blink-cursor-mode -1) and (tool-bar-mode -1) and (menu-bar-mode -1) 20:41:16 and the long snippet to move #foo# and foo~ files out of the way 20:41:44 ehird, I like my *~ 20:42:28 I don't. 20:42:46 (add-hook 'c-mode-hook 20:42:48 (lambda () 20:42:49 (setq indent-tabs-mode t) 20:42:51 (c-set-style "k&r"))) 20:42:52 Oops, that uses tabs. 20:42:54 * ehird untabify 20:43:22 oh sweet 20:43:29 C-x C-f ~/src/lance/*.c works 20:43:51 ugh, my c-mode-hook didn't work 20:44:11 and k&r still uses dumbfuck 5-space indentation 20:44:57 And two idents would be 1 tab and 2 spaces? 20:45:04 believe so 20:45:14 emacs' way of thinking about tabs/spaces is pretty stupid 20:45:58 * ehird tries c-set-style linux 20:46:14 Much better. 20:46:15 ehird, anything wrong with tabs? 20:46:24 ??? 20:46:34 Oops, that uses tabs. 20:46:42 In elisp, yes. 20:46:47 Because you don't always indent by a fixed amount. 20:46:54 ehird, well yes 20:46:54 You align, and lambda gets two spaces, but 20:46:56 (f 20:46:57 x) 20:46:59 gets one 20:47:00 etc 20:47:02 Thus, tabs are retarderated. 20:47:05 but I thought that was in C? 20:47:17 [20:42] (add-hook 'c-mode-hook 20:47:18 [20:42] (lambda () 20:47:20 [20:42] (setq indent-tabs-mode t) 20:47:21 [20:42] (c-set-style "k&r"))) 20:47:22 ah 20:47:23 [20:42] Oops, that uses tabs. 20:47:24 Read closer. 20:48:17 actually it didn't look like that here 20:48:22 (add-hook 'c-mode-hook 20:48:22 (lambda () 20:48:23 vs. 20:48:27 [20:42] (add-hook 'c-mode-hook 20:48:27 [20:42] (lambda () 20:48:32 Yes, Konversation erased them on paste or something. 20:48:44 huh 20:48:55 Ehh, c-mode's electric mode is rubbish. 20:49:01 It doesn't add spaces after commas or anything. 20:49:08 ehird, what was that electric mode, I don't remember 20:49:14 C is a language I use µemacs for 20:49:16 int main(){ 20:49:18 → 20:49:19 int main() 20:49:21 { 20:49:22 automatically 20:49:24 just by typing { 20:49:25 NO! 20:49:27 int main() { 20:49:29 It would be nice, if it worked. 20:49:32 in fact 20:49:36 int main(void) { 20:49:40 AnMaster: that's pointless, it gets changed automatically you idiot 20:49:40 is the only True Way 20:49:43 that's what electric-mode does 20:49:47 ehird, right 20:49:52 also, you cannot call _anything_ that K&R did not do the True Way 20:49:53 -!- augur has quit (Read error: 110 (Connection timed out)). 20:50:08 i mean, come the fuck on, Unix was the first C software 20:50:10 ehird, True Way by Committee! 20:50:12 if ANYTHING is the true way it's what it did 20:50:23 AnMaster: actually very few corporate things are written like that 20:50:28 mostly they use Allman style, is my impression 20:53:41 allman? 20:53:53 Google it. 20:55:15 -!- Asztal has quit (Connection timed out). 20:55:38 -!- Asztal has joined. 20:55:57 -!- augur has joined. 20:55:58 Gah, Emacs is not nearly hyper enough. 20:56:05 Is AnMaster turning into me? 20:57:34 -!- Asztal has quit (Read error: 60 (Operation timed out)). 20:57:38 ? 20:57:45 No, AnMaster has never googled for things. 20:59:02 People are dropping left and right... 20:59:50 * ehird drops 20:59:58 Phantom_Hoover: who are you, anyway? 21:00:00 witch! 21:00:15 New Now Know How sounds familiar 21:00:20 -!- Asztal has joined. 21:00:31 oh 21:00:55 nm 21:01:23 i must be turning into ehird, i googled it. 21:01:29 ehird: I'm just zis guy, you know? 21:01:34 chatzilla default message :P 21:01:37 yes 21:01:49 Phantom_Hoover: right right. wait, you're not the guy who made Esme, are you? just checking. 21:01:54 Esme? 21:01:58 good 21:02:03 Phantom_Hoover: the worst esolang ever created 21:02:12 http://esolangs.org/wiki/Esme 21:02:17 if it can even be considered a language 21:02:21 meaningless as it is 21:02:53 " This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information." now now, I don't think that page needs expanding at *all* 21:03:19 What the hell does it do? 21:03:31 EXACTLY 21:03:32 We don't know 21:03:36 Pretty sure he's just a troll 21:03:42 But it's amazing how... informationless... he made it 21:03:54 You literally cannot infer a single thing from the page 21:04:23 -!- Azstal has quit (Success). 21:04:38 Sweet, installing manpages-posix-dev makes `man foo.h` work. 21:04:52 Hashes makes little more sense... 21:06:04 wow, rosegarden depends on kdialog for export/import 21:06:07 that is just crazy 21:07:23 ugh, i hate getopt_long's api 21:08:47 * ehird just writes a manual loop rather than futz with it 21:09:14 ehird, don't use getopt_long 21:09:16 use getopt 21:09:21 No; I want long options. 21:09:23 it's more portable 21:09:26 ehird, fine 21:09:28 Don't give a fuck. 21:09:51 Actually, I wish there was an option parser that also did argument parsing. 21:09:57 That would be nice. 21:11:19 Seems like http://argtable.sf.net/ does that, but I don't like the syntax. 21:13:24 Gregor, that soundfont was indeed good 21:13:33 "BUT NOT ANY MORE!" 21:13:48 har 21:13:58 Hey, you could have things like: 21:14:09 OPTION(name) 21:14:15 that did __typeof__(name), say char * 21:14:19 to infer what kind of argument it is 21:14:26 *does 21:14:28 and generates --name 21:14:32 ehird, gcc has it's own language just to describe command line options iirc 21:15:13 Perhaps if it did the declaration too 21:15:21 FLAG(int, verbose) 21:15:24 OPTION(char *, name) 21:15:30 OPTION_DEFAULT(char *, name, "fred") 21:16:36 This paper presents a method for creating formally correct just-in-time (JIT) compilers 21:16:38 woah 21:16:49 ? 21:16:54 Ooh, it could even let you pass a function as the third argument to OPTION_DEFAULT. 21:17:02 no, wait 21:17:06 types are post-cpp, darn 21:17:44 Gregor, know any way to load more than one sound font at once into sb live cards? 21:17:57 Gregor, so I can get non-piano from another soundfont 21:18:32 -!- Asztal has quit (Read error: 110 (Connection timed out)). 21:21:55 argh too little ram to load both at once 21:30:05 God I hate C's string handling. 21:30:47 Even writing (dirname(argv[0]) ~ "/hill"), where ~ = string concatenation, is a pain in the arse! 21:31:33 Do the basename, strlen it, add strlen("/hill") to it, allocate a new string, strcpy them in. 21:31:34 FML 21:34:14 FML? 21:34:19 Fuck My Life 21:34:26 you know, in other languages, writing the command-line interface is nice relaxing busywork before tackling the real problems 21:34:26 oh thought it was "language" 21:34:30 in C it's the opposite! 21:34:32 AnMaster: also that XD 21:34:47 int main(int argc, char *argv[]) 21:34:48 { 21:34:50 return 0; 21:34:51 } 21:34:53 that will do for now 21:34:58 ehird, what does the app do? 21:35:06 BF Joust 21:35:13 Sieve and Kettle are back! Polarity FUCK YEAH! 21:35:34 why are you doing dirname(argv[0]) ~ "/hill" 21:35:44 ehird, 1) argv[0] may or may not contain the path 21:35:59 2) whats wrong with current working directory 21:36:09 1) bah, you're right 21:36:14 2) because that isn't what i want 21:36:32 "lance prog" battles prog against the entire hill; you can set that with --hill 21:36:38 1) of course I'm right 21:36:39 but by default it's that directory 21:36:51 "lance prog1 prog2" battles the two, and ignores the hill, so it doesn't matter there 21:36:57 I guess lance prog1 prog2 prog3... will work too 21:37:36 ehird, if you are linux specific: 21:37:56 Maybe I'll do Go but ignore the concurrency part 21:38:02 It has string concatenation! 21:38:06 /proc/self/exe 21:38:13 -!- soupdragon has quit ("Leaving"). 21:38:25 AnMaster: lol. 21:38:26 !help languages 21:38:26 languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh. 21:38:28 -!- soupdragon has joined. 21:38:34 ehird, hm? 21:38:45 AnMaster: because the code to open and read that file will be *even bigger* 21:40:01 !help 21:40:02 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 21:40:17 !help userinterps 21:40:17 userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp. 21:40:18 ehird, it's a symlink 21:40:38 AnMaster: x_x 21:40:38 !userinterps 21:40:38 Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore chef chiqrsx9p choo cockney ctcp dc drawl dubya echo eehird ehird fudd funetak google graph gregor hello id jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh slashes svedeesh swedish valspeak warez yodawg 21:40:40 crazy 21:40:46 ehird, what? 21:40:54 Well, okay, not crazy. 21:41:07 I believe you can use stat() 21:41:08 Maybe I should write yet another string library for C. You know, because I hate myself :P 21:41:14 AnMaster: readlink(), rather 21:41:35 ehird, ah yes that is it 21:41:40 stat(1) does it iirc 21:42:16 !help 21:42:16 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 21:42:20 !info 21:42:20 EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ . Cheers and patches (preferably hg bundles) can be sent to Richards@codu.org , PayPal donations can be sent to AKAQuinn@hotmail.com , complaints can be sent to /dev/null 21:42:26 readlink("/proc/self/exe", "/", 1) = 1 21:42:26 readlink("/proc/self/exe", "/u", 2) = 2 21:42:26 readlink("/proc/self/exe", "/usr", 4) = 4 21:42:26 readlink("/proc/self/exe", "/usr/bin", 8) = 8 21:42:26 readlink("/proc/self/exe", "/usr/bin/stat", 16) = 13 21:42:30 how inefficient 21:43:56 also it doesn't null terminate 21:44:03 !help help 21:44:03 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 21:44:11 !help interp 21:44:11 Sorry, I have no help for interp! 21:44:17 !help bf 21:44:17 Sorry, I have no help for bf! 21:44:36 !languages 21:44:55 !help userinterps 21:44:55 userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp. 21:44:59 !help languages 21:45:00 languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh. 21:45:13 !lazyk 21:45:15 Couldn't fork sub-program. 21:45:22 Phantom_Hoover, you need to give it code 21:46:01 Yeah, but the cat program in Lazy K is an empty file. 21:46:16 Phantom_Hoover, hm report a bug to Gregor 21:46:21 or use the url variant 21:46:27 to link to an empty file 21:47:01 !sh cat /dev/null >butt 21:47:01 /tmp/input.11852: line 1: butt: Permission denied 21:47:03 !sh cat butt 21:47:04 /bin/cat: butt: No such file or directory 21:47:05 dammit 21:47:08 !sh cat /dev/null | lazyk 21:47:09 /tmp/input.11907: line 1: lazyk: command not found 21:47:10 aw 21:47:20 !sh ls 21:47:21 interps 21:47:27 !sh ls .. 21:47:27 multibot_cmds 21:47:28 `echo "try this" 21:47:28 "try this" 21:47:32 ehird, ^ 21:47:51 !sh pwd 21:47:51 /home/egobot/egobot.hg/multibot_cmds 21:48:00 !sh ls ~ 21:48:01 egobot.hg 21:48:05 !sh ls / 21:48:05 bin 21:48:24 !sh ls / | tr -d $'\n' 21:48:25 bindevetchomeliblib64proctmpusr 21:48:25 Ego != Hack 21:48:30 !sh ls / | tr $'\n' ' ' 21:48:31 bin dev etc home lib lib64 proc tmp usr 21:48:33 !sh ls 21:48:33 interps 21:48:36 !sh ls interps 21:48:37 1l 21:48:40 !sh ls | tr $'\n' ' ' 21:48:41 interps lib slox 21:48:45 !sh ls interps/lazyk 21:48:46 !sh ls ~ | tr $'\n' ' ' 21:48:47 USED_VERSION 21:48:47 egobot.hg 21:48:58 !sh ls interps/lazyk | tr $'\n' ' ' 21:48:59 !sh interps/lazyk/lazy 21:48:59 USED_VERSION lazy lazy.cpp primes.lazy 21:49:08 !sh interps/lazyk/lazy --help | tr $'\n' ' ' 21:49:09 usage: lazy [-b] { -e program | program-file.lazy } * -b puts stdin and stdout into binary mode on systems that care (i.e. Windows) -e program takes program code from the command line (like Perl's -e switch) program-file.lazy name of file containing program code If more than one -e or filename argument is given, the programs will be combined by functional composition (but in Unix pipe order, 21:49:09 ehird, note it gives you only one line 21:49:15 indeed 21:49:16 !lazyk 21:49:16 Couldn't fork sub-program. 21:49:17 `k``s``si`k``s`k```sii``s``s`kski``s``s`ksk``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k````s``s`ksk```s``siii``s``s` 21:49:18 !sh interps/lazyk/lazy -e '' | tr $'\n' ' ' 21:49:18 No output. 21:49:19 kski`s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski```s``siii``s``s`kski`k``s``si`k``s`k``s``s`ksk``s`k``s``s`kski 21:49:21 ``s``s`ksk``s``s`kski``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski``s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski```s` 21:49:22 No output. 21:49:22 `siii``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k```sii```sii``s``s`kski`k```sii```sii``s``s`kski 21:49:23 No output. 21:49:24 Phantom_Hoover: sigh. 21:49:26 noobs. 21:49:27 pastebin.ca 21:49:29 use it 21:49:33 then !lazyk url 21:49:38 siisii! 21:49:53 soupdragon, :D 21:50:26 !lazyk http://pastebin.ca/1748851 21:50:28 Couldn't fork sub-program. 21:50:41 -!- oerjan has quit ("Reboot"). 21:51:03 you must link to the raw version 21:51:17 !lazyk http://pastebin.ca/raw/1748851 21:51:18 Couldn't fork sub-program. 21:51:21 borken 21:51:27 !sh ls 21:51:28 interps 21:51:33 !sh ls interps 21:51:33 1l 21:51:58 -!- MigoMipo has quit. 21:52:13 !sh ls interps/lazyk 21:52:13 USED_VERSION 21:52:46 !sh ls interps/lazyk/lazy -e "`k``s``si`k``s`k```sii``s``s`kski``s``s`ksk``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si` 21:52:47 /tmp/input.12798: line 1: unexpected EOF while looking for matching `"' 21:52:48 k````s``s`ksk```s``siii``s``s`kski`s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski```s``siii``s``s`kski`k``s``si`k``s`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s``s`kski``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski``s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``s 21:52:49 i`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski```s``siii``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k```sii```sii``s``s`kski`k```sii```sii``s``s`kski" 21:52:56 stop it 21:52:58 for fuck's sake 21:53:01 it won't fit on one irc line 21:53:02 Sorry! 21:53:05 xD 21:53:07 don't mind me 21:53:09 i'm just grumpy 21:53:15 i'm in a grumpytacular mood 21:53:17 -!- Phantom_Hoover has quit ("ChatZilla 0.9.86 [Firefox 3.5.7/20100106054534]"). 21:53:26 although I'm not now, because I read the word grumpytacular 21:53:30 hey i never said you should leave 21:53:35 now i'm grumpy again 21:54:20 * Sgeo wants to un-grumpify ehird, but I tend to make ehird grumpy, I think 21:55:33 Sgeo: make a haskell program and i'll be happy 21:55:35 i like haskell programs 21:56:14 -!- oerjan has joined. 21:56:34 haskell = "sucks" 21:56:36 hapy??? 21:57:02 soupdragon: that is not a haskell program 21:57:03 also, you suck 21:57:12 how is that not a haskell program? 21:57:56 no main function 21:58:24 There's a function that I forgot the name and type of 21:58:34 Sgeo: how useful 21:58:52 main = id 21:59:01 Is a cat program, iirc 21:59:32 interact 21:59:41 Yes. And obviously it doesn't start with c 21:59:56 * Sgeo 's memory is obviously broken 22:00:06 scrambled, possibly 22:00:08 interact :: (String → String) → String 22:00:16 no 22:00:20 erm 22:00:21 http://www.haskell.org/hoogle/?hoogle=interact 22:00:21 → IO () 22:00:26 should have made :: the unicode character, but my Compose doesn't have it 22:00:47 Does Haskell actually accept arrows like that? I doubt it 22:01:18 i understand ghc has some unicode extensions 22:01:38 Sgeo: yes 22:01:46 if you enable it 22:03:11 cool ]{}[ isn't registered :D 22:09:30 info ] 22:09:30 opos 22:09:30 oops 22:09:30 http://community.haskell.org/~ndm/cmdargs/ ← this is super-rad 22:09:30 -!- Deewiant has quit (Read error: 60 (Operation timed out)). 22:09:30 -!- Deewiant has joined. 22:09:30 -!- augur has quit (Read error: 110 (Connection timed out)). 22:09:30 Deewiant: is coadjute abandoned? 22:10:28 All my Haskell stuff has been semi-abandoned lately 22:10:28 Why? 22:10:55 Just curious 22:10:56 (Why?) 22:11:59 s(int*a,int b){int t=*a;--b?s(a+1,b),a[(*a=1[a]) C sort 22:12:34 "defining command line parsers" sounds.. boring.. 22:12:48 soupdragon: stfu, it uses type magic 22:12:55 and type magic is always sweet 22:12:56 :( 22:12:59 don't make me stfu 22:13:09 besides, boring things can be interesting 22:13:18 s(a,b)int*a;{int t=*a;--b?s(a+1,b),a[(*a=1[a]) hmm 22:13:43 is it valid without the return type declaration? 22:13:44 i guess not 22:13:46 so why not even 22:13:47 s(a,b){...} 22:14:04 There is no return type declaration? 22:14:10 exactly 22:14:12 is it valid without it 22:14:16 There never was one 22:14:17 if not, then we don't have to define param types anyway 22:14:19 as we're not valid c 22:14:25 Sure it's valid 22:14:31 Isn't it? 22:14:34 don't you need to say "void"... 22:14:54 Doesn't it default to int 22:15:05 is that standard? 22:15:27 main(){puts("hello, world");} and all that 22:16:09 s(a,b)int*a;{int t=*a;--b&&s(a+1,b),a[(*a=1[a]) One character saved 22:16:14 But in any case, that doesn't return anything 22:16:15 or does a&&b,c not work? 22:16:17 guess not 22:16:20 Deewiant: That isn't valid 22:16:29 What isn't? 22:16:52 hmm 22:16:54 perhaps it is 22:17:02 Deewiant: I thought int-default-return was just a K&R relic 22:17:12 Of course it's a K&R relic :-P 22:17:16 Doesn't make it invalid 22:17:56 Anyhoo, I think we want to make it void since it doesn't return 22:18:10 int-default-return ? 22:19:07 ehird: I think your && breaks stuff 22:19:27 Deewiant: Yeah, I guessed as much 22:19:32 a ? b,c,d : e has to parse as a ? (b,c,d) : e 22:19:50 But , has the lowest precedence of everything 22:20:17 So your a && b,c,d becomes (a && b), c, d 22:20:43 ehird: It's invalid in C99. 22:21:24 Hmm 22:21:34 Exchange sorts probably suck for this, because swapping a var in c is quite verbose 22:21:58 int z=x;x=y;y=z; or x^=y;y^=x;x^=y; 22:22:24 Also, recursion is a nice property here 22:23:22 s(int*a){*a&&*a>a[1]?z=a[1],*a=a[1],a[1]=z:s(a+1);} 22:23:32 does a&&b?c:d work? 22:23:35 as a&&(b?c:d) 22:23:38 even with commas 22:23:50 ?: has lower precedence 22:23:52 So no 22:24:05 What about a?b?c:d:0 :P 22:24:11 That works 22:24:15 As what? 22:24:19 a?(b?c:d):0? 22:24:21 As the only thing it can work as 22:24:29 True that. 22:24:37 s(int*a){*a?*a>a[1]?z=a[1],*a=a[1],a[1]=z:s(a+1):0;} 22:24:43 This has one flaw: It fails on "0". 22:24:46 But who uses that number? 22:24:51 Oh wait. 22:24:58 s(int*a){~*a?*a>a[1]?z=a[1],*a=a[1],a[1]=z:s(a+1):0;} 22:25:02 Okay, now it can't sort the maximum integer. 22:25:12 Apart from that it's pea-chy 22:25:30 You need to declare that z methinks 22:25:38 Tru dat 22:25:54 Hmm, and I can't use C99-style declarations either 22:25:56 Because 22:26:00 int z=a[1],... 22:26:02 It'd have to be 22:26:06 (int z=a[1]),... 22:26:34 from make output: ./compiletex font.tex font.h font 22:26:36 Declarations aren't expressions :-P 22:26:38 really confused me that 22:26:43 then I realised tex = texture 22:26:47 not TeX 22:26:48 Deewiant: Tru dat 22:26:57 Hey, I just realised the xor swap must work in thiscase. 22:27:01 Because > therefore !=. 22:27:16 And it's three chars shorter than declaring a variable 22:27:35 Wait, two. 22:27:39 No wait, 1. 22:27:56 s(int*a){*~a?*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:s(a+1):0;} 22:27:58 Oops 22:28:01 s(int*a){~*a?*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:s(a+1):0;} 22:29:24 How's that going to sort {3,4,1,2}? 22:29:41 ({3,4,1,2,~0}) 22:29:51 ehird, too tired to work it out, what does it do? 22:29:58 Deewiant: Oh, you're right 22:30:02 I have to recurse even if I do swap 22:30:05 AnMaster: No cookie for you 22:30:17 It does one pass of bubble sort or suchlike 22:30:19 ehird, fine *half asleep* 22:30:44 s(int*a){~*a?*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:0,s(a+1):0} 22:31:14 Assuming that a?b?c,d:e,f:g parses as a?((b?(c,d):e),f):g 22:31:15 -!- kar8nga has joined. 22:31:18 Which it probably… doesn't. 22:31:19 You just changed the :s(a+1) case to :0,s(a+1)? 22:31:32 s(int*a){~*a?(*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:0),s(a+1):0;} 22:31:36 There, properly parenised. 22:32:02 Deewiant: Rather, if we're not at the end of the list, we always go on one 22:32:07 regardless of our swapping 22:32:16 Since you need those parens it'll probably be shorter with an if 22:32:24 Hmm wait 22:32:28 What if ~*a but ~a[1] 22:32:29 ehird: That's still O(n) :-P 22:32:31 Better make it ~a[1] 22:32:39 Deewiant: Gah, you're right 22:32:40 You aren't going to sort anything in O(n) 22:32:51 Well, not with comparisons anyway. 22:32:57 http://en.wikipedia.org/wiki/Bubble_sort 22:33:03 I was just stupidly copying wp's pseudocode 22:33:04 without, you know 22:33:06 reading it 22:33:10 >_< 22:33:17 Maybe I'l do pigeonhole sort 22:33:18 *I'll 22:33:21 Do selection sort or something instead, bubble sort sux 22:33:26 Or whatever 22:33:32 Deewiant: I'm not concerned about performance 22:33:37 CONCISION IS EVERYTHING 22:33:42 Neither am I 22:34:03 I can never remember how bubble sort works but selection sort can be described in less than five words 22:34:07 int foo[max value in array], when you find n do foo[n]++, reassemble array 22:34:12 Ehh, too much overhead 22:34:24 Deewiant: Do so, then :D 22:34:59 "Repeatedly fetch the minimum" conveys the point well enough 22:35:34 Deewiant, merge sort for the win 22:36:02 split, recurse, swap, merge 22:36:28 Swap? 22:36:48 Deewiant, innermost layer 22:37:21 well I guess you could split into 1, and then merge those 22:37:23 No, there's no swap 22:37:29 Exactly 22:48:11 -!- soupdragon has quit ("Leaving"). 22:49:56 -!- soupdragon has joined. 22:50:32 -!- soupdragon has quit (Remote closed the connection). 22:58:59 -!- coppro has joined. 22:59:56 Deewiant: while not sorted, loop through array, swapping adjacent pairs in correct order. 23:00:30 -!- BeholdMyGlory has quit (Remote closed the connection). 23:01:11 maybe slightly harder to remember than bubble sort, but i'm not sure it's a great argument that it's hard to remember how it works 23:01:40 It wasn't really an argument for anything 23:01:49 i suppose, neither was mine 23:02:20 so i win 23:02:22 that is bubble sort 23:02:27 "slightly harder to remember than bubble sort" 23:02:29 YOU MADE AN ERROR 23:02:31 you lose 23:02:34 :D 23:02:42 i suppose 23:02:58 you now have only 13096 tries left 23:03:39 so i win. 23:03:50 that remains to be seen 23:04:39 oklofok: yeah, that is exactly bubble sort 23:04:46 at least it's not bogosort 23:05:48 although you need to specify the direction of looping, if you want multiple bubbles, you will need to loop from end to beginning 23:05:49 holy shit 23:05:51 if you use wall(1) in kde 23:05:54 it comes up in the notification area 23:05:56 :D 23:06:14 otherwise it's basically selection 23:07:20 err wait it's symmetric 23:07:51 so nevermind that. in any case it is quite similar to selection sort 23:08:03 err... no 23:08:17 * oklofok stops failing at philosophy of sorting algorithms 23:08:47 -!- oerjan has quit (farmer.freenode.net irc.freenode.net). 23:08:47 -!- Sgeo has quit (farmer.freenode.net irc.freenode.net). 23:08:47 -!- comex has quit (farmer.freenode.net irc.freenode.net). 23:08:48 -!- fungot has quit (farmer.freenode.net irc.freenode.net). 23:08:48 -!- yiyus has quit (farmer.freenode.net irc.freenode.net). 23:08:48 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- FireFly has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- anmaster_l has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- lifthrasiir has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- olsner has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- dbc has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- EgoBot has quit (farmer.freenode.net irc.freenode.net). 23:08:49 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net). 23:09:16 ehird: write too 23:09:37 though since it goes a message per line, it's not great 23:10:37 -!- Deewiant has joined. 23:10:37 -!- FireFly has joined. 23:10:37 -!- anmaster_l has joined. 23:10:37 -!- lifthrasiir has joined. 23:10:37 -!- olsner has joined. 23:10:37 -!- bsmntbombdood has joined. 23:10:37 -!- dbc has joined. 23:10:37 -!- EgoBot has joined. 23:10:37 -!- mycroftiv has joined. 23:11:13 -!- oerjan has joined. 23:11:13 -!- Sgeo has joined. 23:11:13 -!- comex has joined. 23:11:13 -!- fungot has joined. 23:11:13 -!- yiyus has joined. 23:11:34 whoa. 23:11:39 I wish the fish shell had less flaws :< 23:11:43 i hate using traditional shells 23:19:59 ehird, what flaws? 23:20:18 well, for instance, setting a variable for the duration of one command is a bitch 23:20:25 iirc 23:20:32 you have to do env x=y ... 23:20:34 i believe 23:20:48 woot, J works nicely on Kubuntu 23:20:53 *in Kubuntu, I guess. 23:21:41 under Kubuntu 23:26:35 oh god, J comes with a package browser for all kinds of stuff 23:26:38 awesome 23:26:45 there's even updates of the base library 23:30:58 I should do some sort of specifying of the poop language. 23:31:40 Pathological Objects Osomething Psomething. 23:32:33 Pathological Object Oriented Programming 23:32:52 actually, that'd be a good one; it isn't OOP in the slightest, but it has "objects" 23:32:56 and the language is oriented around them 23:33:07 I guess it's similar to what my impression of DOBELA is given only Deewiant's probing about it 23:35:53 -!- anmaster_l has quit (Read error: 110 (Connection timed out)). 23:35:54 -!- augur has joined. 23:37:37 basically, you have little particles that go in directions, and there are mirrors they can bounce off 23:37:48 and if two particles collide, they shoot off some different particles 23:37:56 and there are sinks and stuff that they can fall into to do things 23:43:49 and nothing makes sense 23:44:39 poop makes sense 23:45:24 coppro: what's the gesture that does the exposé-type thing in kde 23:45:27 i keep doing it by mistake 23:45:41 ah go to top-left and scroll mouse 23:45:43 obvious :P 23:45:49 O_o 23:45:57 I just use the screen edges 23:46:06 oh, I just didn't hit the edge fast enough 23:46:10 except when scrolling 23:46:13 as an entirely incidental thing 23:53:21 Particles Out Of Place 23:54:54 -!- augur has quit (Read error: 104 (Connection reset by peer)). 23:55:01 maybe it can have multiple expansions! 23:59:56 -!- augur_ has joined. 2010-01-13: 00:06:02 frantk 00:07:26 -!- FireFly has quit ("Leaving"). 00:07:27 frantically frank 00:08:21 Pants, Orifice, Ogle, Petunias 00:08:40 Path Only Ousted Pathetically 00:09:06 Parenthically, Oxygen-Oxen Pack 00:26:34 -!- augur_ has changed nick to augur. 00:28:55 Pint of Oil Pellets 00:37:29 -!- ehird has quit (Remote closed the connection). 00:53:09 -!- kar8nga has quit (Remote closed the connection). 01:25:49 -!- augur_ has joined. 01:28:42 -!- augur has quit (Read error: 104 (Connection reset by peer)). 01:36:00 -!- augur_ has quit (Read error: 104 (Connection reset by peer)). 01:40:04 -!- augur_ has joined. 02:01:50 -!- jpc has joined. 02:05:41 -!- oklofok has quit (Read error: 60 (Operation timed out)). 02:16:21 -!- oklofok has joined. 03:30:17 -!- oerjan has quit ("Good night"). 04:05:39 -!- iamcal has joined. 04:12:55 -!- cal153 has quit (Read error: 60 (Operation timed out)). 04:21:20 -!- coppro has quit ("I am leaving. You are about to explode."). 04:25:30 -!- augur_ has quit (Read error: 110 (Connection timed out)). 04:52:49 -!- augur has joined. 05:05:46 -!- calamari_ has joined. 05:06:03 -!- coppro has joined. 05:22:14 -!- coppro has quit ("I am leaving. You are about to explode."). 06:33:58 -!- coppro has joined. 06:51:36 -!- jpc has quit (Read error: 110 (Connection timed out)). 06:53:56 -!- calamari_ has quit ("Leaving"). 07:20:58 -!- FireFly has joined. 07:44:17 -!- Guest52322 has joined. 07:49:22 -!- Guest52322 has quit ("Ex-Chat"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:52 -!- MizardX has quit (Read error: 110 (Connection timed out)). 08:03:43 -!- FireFly has quit ("Leaving"). 08:45:52 -!- Pthing has quit (Remote closed the connection). 09:01:14 -!- anmaster_l has joined. 09:09:10 -!- coppro has quit ("I am leaving. You are about to explode."). 09:18:39 -!- kar8nga has joined. 09:48:17 -!- ais523 has joined. 10:47:52 -!- soupdragon has joined. 10:59:33 -!- somebody_ has joined. 10:59:41 -!- somebody_ has quit (Remote closed the connection). 11:00:19 -!- soupdragon has quit (Nick collision from services.). 11:00:35 -!- soupdragon has joined. 11:01:36 -!- Slereah_ has joined. 11:13:23 -!- Slereah has quit (Read error: 110 (Connection timed out)). 11:16:15 -!- ais523 has quit (Remote closed the connection). 11:20:42 -!- iamcal has quit (Read error: 104 (Connection reset by peer)). 11:28:13 -!- ais523 has joined. 11:41:00 -!- fizziexn900 has joined. 11:41:23 (Had to test this Maemo X-Chat port.) 11:43:12 It looks as if they haven't really bothered much with the ports; seems to be pretty close to the usual X-Chat ui. 11:44:23 does that work well on a Maemo? 11:45:19 Not very. Of course it's a bit maemoized by the system itself. 11:46:49 It's rather stylus-only like this, though. All scrolling is with tiny scrollbars that are not finger-friendly at all. 11:48:04 It really should have the kinetic scrolling used in everywhere else. (Except all the other places where it's missing.) 11:50:46 I'm not so sure about those default colors either: http://www.cis.hut.fi/htkallas/maemo-xchat.png 11:51:20 Maybe I'll stick with xterm and SSH. 11:51:34 wow, that's insane 11:51:51 -!- fizziexn900 has quit ("it is no good!"). 11:53:44 * ais523 wonders why the easter egg found in Chrome is so nonsensical 12:22:47 Is it that "goats teleported" thing? That seems to be the new thing. 12:24:56 yes 12:25:18 I mean, why are goat teleportation stats meant to be funny? surely they could have thought up a better one than that... 12:30:17 What, and it's just a randomly incrementing number? 12:30:22 That's not fun. 12:30:29 -!- oerjan has joined. 12:39:25 ais523, isn't it memory stat or such? 12:39:31 hidden under a nonsensical name 12:39:51 the bug report is pretty funny though 12:42:05 No, they just add rand()%4096 IIRC 12:42:13 (Don't know when or how often) 12:43:21 ugh, the should be taking the /high/ bits of rand 12:43:23 *they 12:46:09 http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/task_manager.cc grep ceGoats 12:50:50 That has apparently changed, since http://www.sorcerers-isle.net/article/goats_teleported.html lacks the &4095. 12:51:45 (And is a bit different in other respects too.) 13:11:33 -!- oerjan has quit ("leaving"). 13:14:10 ais523, if rand isn't random enough in the low bits, it is a broken implementation 13:14:46 ais523, also I heard suggestions that the mid-bits were even better 13:14:48 forgot where 13:16:20 -!- Sgeo_ has joined. 13:17:21 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)). 13:25:54 http://www.dina.kvl.dk/~abraham/religion/one-true-editor.html 13:26:43 I don't think people normally get into holy wars about individual versions of Emacs... 13:26:46 (also, seen it before) 13:33:41 I was wondering if there was any precedent for that 13:34:23 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 13:38:42 -!- kar8nga has quit (Remote closed the connection). 13:39:53 -!- soupdragon has quit ("Leaving"). 14:05:01 -!- augur has quit (Read error: 60 (Operation timed out)). 14:35:14 -!- kar8nga has joined. 14:42:22 -!- soupdragon has joined. 14:54:44 -!- MizardX has joined. 15:23:21 -!- AnMaster_ has joined. 15:23:41 -!- AnMaster has quit (Connection reset by peer). 15:28:13 -!- AnMaster_ has changed nick to AnMaster. 16:00:02 -!- FireFly has joined. 16:03:47 -!- MizardX- has joined. 16:03:52 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 16:04:23 -!- MizardX- has changed nick to MizardX. 16:10:28 -!- fadein has joined. 16:10:43 -!- fadein has left (?). 16:45:51 -!- BeholdMyGlory has joined. 16:52:42 -!- cheater has quit ("Verlassend"). 17:00:43 -!- MigoMipo has joined. 17:07:48 -!- kar8nga has quit (Remote closed the connection). 17:26:48 -!- pikhq has quit (Connection reset by peer). 17:36:58 -!- pikhq has joined. 17:44:26 Heh, that compose + < + 3 → ♥ thing made me go look at that default Compose file; the one immediately above that rule is equally frivolous:

: "☭" U262D # HAMMER AND SICKLE 17:58:44 -!- cal153 has joined. 18:10:49 -!- ais523_ has joined. 18:14:22 -!- kar8nga has joined. 18:21:52 -!- ais523 has quit (Nick collision from services.). 18:21:54 -!- ais523_ has changed nick to ais523. 18:55:13 -!- ehirdiphone has joined. 18:55:18 taxonomy 18:56:19 taxostrophe 18:57:48 Ghzxxx 18:58:03 Ehirdos would solve world hunger. 18:58:17 -!- ehirdiphone has quit (Client Quit). 18:58:32 -!- ais523 has quit (Remote closed the connection). 18:58:34 -!- ehirdiphone has joined. 19:01:01 tax ass trophy 19:01:09 -!- ehirdiphone has quit (Client Quit). 19:21:12 -!- MigoMipo has quit ("co'o rodo"). 19:22:05 noobs are fucking lol 19:22:13 I wish I was a noob 19:29:49 -!- sebbu2 has changed nick to sebbu. 19:41:05 -!- kar8nga has quit (Remote closed the connection). 19:42:16 anyone into semiotics 19:42:28 I'm trying to find a word for something.. 21:42:36 -!- augur has joined. 21:43:19 -!- kar8nga has joined. 22:01:23 -!- madbr has joined. 22:01:33 http://pastebin.com/f50b6b4b0 <- anouncing Ainor computer/console design compo 22:09:09 -!- ehird has joined. 22:09:44 Patio. 22:10:34 03:50:46 I'm not so sure about those default colors either: http://www.cis.hut.fi/htkallas/maemo-xchat.png 22:10:37 Wow; how high DPI is that thing? 22:13:38 -!- augur has quit (Read error: 54 (Connection reset by peer)). 22:13:55 -!- augur has joined. 22:14:11 map_(gen_list(0, num), do_print); 22:14:21 I DISBELIEVE IN C FOR LOOPS! 22:14:39 I don't beleive in c 22:14:55 soupdragon: or spelling. 22:18:56 pikhq: http://hackage.haskell.org/package/base-unicode-symbols 22:18:59 Awesome, or awesome? 22:20:37 Especially: 22:20:40 (⊥) ∷ α 22:20:41 (⊥) = undefined 22:21:23 ehird: I'm going with "awesome". 22:21:54 Note how that :: is the relevant Unicode symbol, and that alpha really is an alpha. 22:22:05 ?? 22:22:16 sucks to have to write (⊥) rather than ⊥ 22:22:30 Well, the operators are rather more practical. 22:22:32 But it's still awesome. 22:22:48 Also, do you have to do that if you just do "foo = ⊥"? I guess so. 22:22:49 Still. 22:25:13 ehird: 266 DPI; 800x480 in 3.5 inches diagonal. 22:25:16 The only issue is adding all these wonderful symbols to compose. :-) 22:25:23 fizzie: Okay, I want to buy an N900 now. 22:25:34 fizzie: And it can just run any old GTK app and it transmogrifies to be sort-of-phone-usable? 22:26:02 Well, you probably have to do *some* hacking while compiling, but pretty much so. 22:26:29 Is the phone fast? 22:26:38 600 MHz ARM is good, but any crappy lag or whatever? 22:26:54 "Input Resistive touchscreen" 22:26:57 Never mind; I don't want it. 22:27:13 I think we talked about the resistiveness at some point. 22:27:32 The screen itself is not unique in "high-end" phones; the Motorola Droid has a 3.7" 854x480 (that's ~16:9 aspect ratio) which ends up being about the same thing; it's probably capacitive too. Of course that's Android. 22:27:41 But Android is shit. 22:27:43 -!- kar8nga has quit (Remote closed the connection). 22:28:16 How's the keyboard? 22:29:11 Well, I like it, but it's obviously a bit cramped. The only-three-rows design also means there's not so many keys; numbers and letters overlap. (Of course you can lock the "fn" key that produces numbers by double-pressing it.) 22:29:38 Any oleophobic magic to remove smudges? 22:30:15 No. But I hear they released fingerprint-hating stick-on plastic covers with NANOTECH few days ago. 22:30:28 Maybe not "released" but at least said they were going to. 22:30:39 "They" in this case is some company whose name I've forgotten. 22:31:20 I guess you mostly use the stylus. 22:31:25 An unmodified GTK app ends up with tiny menus -- about the same size as the scrollbars there -- that are only usable with the stylus (or a long fingernail, I guess); so it doesn't really automagically convert GTK apps to use the thumb-friendly "Hildon" UI. 22:32:02 Well, I'm a filthy stylus lover. In general it's a lot more finger-friendly than the previous tablets, though. 22:32:02 There's a Unicode character for >>=, right? 22:32:09 TeX has something for it. 22:32:14 http://upload.wikimedia.org/math/3/7/e/37ec8941ea59dc16a9cfdb172cea75e3.png 22:32:27 Maemo 6 devices will do capacitive multitouch, or that's the rumour anyway. 22:33:31 That doesn't look very pretty; the ≫ and = parts seem to overlap a bit uglily. 22:34:06 http://pastebin.com/f6530df28 <- ainor contest (now with NTSC and VGA timing suggestions) 22:34:27 fizzie: Oh, maybe it's just italic (≫=). 22:34:34 Which is perfectly doifiable in HASKELL THE ULTIMATE 22:35:06 The Haskell the Ultimate papers: Haskell the Ultimate Functional Language, Haskell the Ultimate Imperative Language, Haskell the Ultimate Logical Language, Haskell the Ultimate Toaster 22:36:08 My font is lacking most of the "supplemental mathematical operators" block; there could be that sign there. 22:36:36 Can't seem to notice it in http://www.unicode.org/charts/PDF/U2A00.pdf though; but there's a whole pile of otherwise silly ones. 22:36:45 There's that "::=" single-character thing. 22:37:11 -!- madbr has quit ("Radiateur"). 22:37:25 And a three-line variant of #, and some sort of '<<<<' except all the angles are inside, and one with four integral signs put together. 22:38:12 2A97 "slanted equal to or less-than with dot inside". 22:38:16 xD 22:39:26 One has to wonder what exactly the "less-than above greater-than above double-line equal" sign is used for. 22:39:51 What's ++ in Unicode? I know it has a symbol. 22:41:00 Not sure; U+29FA DOUBLE PLUS is in fact a single horizontal line with two vertical strokes: ⧺ (that's even in my font). 22:41:32 ⧺... now I just need "ungood". 22:41:38 wat 22:42:24 Doubleplusungood. Newspeak, you know. 22:43:38 Kragen Sitaker has an XCompose repository; wonder if it has goodise. 22:43:41 *goodies 22:43:43 fizzie: harhar 22:44:31 I wonder why the :) and :( compositions don't work; that /usr/share/X11/locale/en_US.UTF-8/Compose file I think it's using by default does have : "☺" U263A. 22:44:46 * pikhq should try and make a fixed-point combinator for C. 22:46:40 Why oh why would you espy Y? 22:47:23 Makes recursing lambdas cleaner. 22:48:09 how do you do lambda in C 22:48:24 Just a moment. 22:49:27 http://sprunge.us/DUSj 22:49:39 ah okay 22:49:50 doesn't it create a lot of garbage? 22:49:56 which is never returned? 22:50:04 #ifndef LAMBDA_H 22:50:05 #define LAMBDA_H 22:50:07 * ehird kicks pikhq 22:50:08 http://doc.cat-v.org/bell_labs/pikestyle 22:50:12 Read until understanded. 22:50:33 soupdragon: I don't see why 22:50:40 it doesn't cons 22:50:45 because lambda is recursive.. 22:51:06 (pikhq: Specifically, read the last section.) 22:52:26 ehird: "ROB PIKE SAYS INCLUDE GUARDS ARE BAD THEREFORE YOU SHOULD STOP FOLLOWING A C CONVENTION. ALSO IMMA KICK YOU." 22:53:05 You will note that linking to a page with justification is not argument by authority. 22:53:31 Include guards are an unneccessary hack, and "C convention" is a laughable phrase; very few exist, and some of them are rubbish. 22:53:46 Not following this convention makes code more understandable, removes a hack, and speeds up compilation. 22:54:01 So I see absolutely no part of the argument that is an appeal to authority. 22:54:06 It's just sanity. 22:54:17 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 22:54:51 And doesn't deal with any of the reasons for the hack. 22:55:16 Notable is that Plan 9 follows this anti-convention throughout. 22:55:35 It doesn't have any issues at all with includes. 22:57:28 Would you be happier with #pragma once? 22:57:50 No; it is unneccessary if you simply follow the rule in Pike's document. 22:58:08 And, also, unportable, whereas following The Rule™ works, well, everywhere. 22:58:44 ... I'm relying on undocumented behavior of a GCC extension. I don't think portability is an issue. 22:58:57 Yes, but this is a matter of general style. 22:59:11 Why would you use an unportable solution in only unportable code when a portable solution works always? 23:01:37 http://github.com/leoboiko/pointless-xcompose 23:01:38 http://canonical.org/~kragen/setting-up-keyboard.html 23:01:41 http://github.com/kragen/xcompose 23:01:43 So many choices! 23:02:20 6. Restart your apps (and perhaps X the first time) — XCompose 23:02:22 settings only apply for new windows. I do suspect you need an 23:02:23 UTF-8 locale set, though I didn’t test. 23:02:28 Ah; that explains it. 23:04:17 ⪔ U+2A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL 23:07:07 -!- iamcal has joined. 23:08:46 ehird: Useful. 23:08:52 Quite so. 23:09:00 After I set this up I will be a unicode monster! 23:09:17 I guess that symbol does mean that they're not incomparable. 23:09:17 And be able to write (≫=) ∷ Monad m ⇒ m α → (α → m β) → m β COMPLETELY UNAIDED 23:09:59 Compose :: Monad m Compose => m Compose *a Compose -> etc. 23:10:09 I should probably swap [] and () while I'm at it. 23:14:46 -!- oerjan has joined. 23:14:57 Good MORNING oerjan 23:15:57 -!- FireFly has quit ("Leaving"). 23:16:28 well, technically, maybe 23:19:16 also, i had the vague impression >>= came from a _single_ math symbol, the kleisli star 23:19:59 although i see the first google hit for kleisli star uses the phrase "its Haskell counterpart »=" 23:20:27 ≫= is more correct for >>= 23:20:35 but if there's a single symbol, sign me up! 23:21:01 -- A generalised variant of the Kleisli star (flip bind, or 23:21:02 -- concatMap). 23:21:11 ⋆ is the symbol it uses 23:21:13 (Agda library) 23:23:23 Unicode has a character called GNABORRETNI, I am so happy 23:24:19 eek 23:25:12 -!- cal153 has quit (Read error: 113 (No route to host)). 23:25:19 “Why is «“» typed as « »? Don’t these X11-tards know ANYTHING? Clearly it should be « ».” —ehird 23:25:33 That took far too long. 23:26:15 Hm, it really ought to be ``... 23:26:32 “Foobar” 23:26:34 Yeah. 23:26:52 I'm halfway to just ignoring the stock Compose files and writing my own collection of meticulously-crafted entries. 23:26:57 They're not very good quality. 23:27:34 I wish there was a way to make it break typing flow less, though; for some reason it seems to with me. 23:28:37 Things that it is Impossible to Search the Web For, Part n: swap [] and () x11 23:28:44 Solution: http://canonical.org/~kragen/setting-up-keyboard.html 23:36:58 hmm 23:37:08 all malloced pointers are aligned to even addresses 23:37:13 but what about calloc and the like? 23:37:56 it would be nice if you could align things to odd addresses, instead, so that you can represent small integers as nnn0 and you can use arithmetic operations directly 23:38:10 only dividing when outputting etc 23:40:22 Gregor: btw in case you don't know (I didn't), posix-manpages-dev lets you do `man foo.h` 23:40:27 isn't even addresses for > 1 byte word lengths required by the underlying efficient machine code instructions? only my vague impression though, not that i actually _know_ 23:40:32 and it works! (albeit gives POSIX results, not system-specific) 23:40:39 oerjan: dunno, perhaps 23:41:22 By default, Linux follows an optimistic memory allocation strategy. 23:41:24 This means that when malloc() returns non-NULL there is no guarantee 23:41:25 that the memory really is available. This is a really bad bug. 23:41:27 I thought it was considered a feature. 23:42:11 it's a feature until someone depends on it actually being available 23:48:56 ehird: Is that man page written by a Linux dev, or someone else? ;) 23:49:02 pikhq: Linux dev. 23:49:09 Huh. 23:49:09 It's malloc(3). 23:49:21 The first bug ever to have a configuration setting to turn it off :) 23:49:24 Yeah, that's a Linux man page. 23:58:24 http://hackage.haskell.org/package/empty-9 23:58:26 Nice version bump there 23:58:32 It's even a proper upgrade; it got more empty 2010-01-14: 00:01:16 empty set 9.1 00:01:29 haskell 00:01:30 LOL 00:02:03 soupdragon: your "haskell → make comment about haskell sucking" rule is becoming very boring very quickly. 00:02:29 that's just because your a haskell sympathizer 00:02:50 I use a real language (LISP) which can do more than just compute factorials 00:03:11 soupdragon: ... You call that a real language? It's not even functional! 00:03:12 why would anyone want that 00:03:50 functional programming Doesn't Work, see the popular blog post by popular blogger 00:04:30 soupdragon: Said popular blogger is dumber than a a sack of bricks. 00:04:33 pikhq: soupdragon likes agda, he's just trolling you 00:04:39 incredibly successfully 00:04:40 And just as willfully ignorant. 00:04:42 I would never use agda!!! 00:04:51 Alright, then. 00:04:52 I'm strictly into dynamic languages 00:04:55 Imma go back to my functional C. 00:05:04 functional C is a myth. 00:05:17 the only thing C is good for is computing kernels 00:05:50 that didn't work quite as wel :( 00:05:54 No, no, no. For loops are a myth. 00:06:05 if you use for loops you are educated evil 00:06:17 Good thing I don't. 00:06:40 real languages have a simulataneous for-loop recursion combinator 00:07:05 Like... Map? 00:08:06 It would be fun having a language which enforces parallelism 00:08:11 i.e. its map is strictly parallel map 00:10:02 it would be perfect for implementing a bug-free, efficiently multithreaded real-time clock + infix calculator hybrid application 00:10:13 woah 00:11:32 i just broke soupdragon's BRAIN 00:12:05 yeah that was like when the guy went through the worm hole and it turned out the planet of the apes was earth 00:12:31 everything just turned upside down and inside out 00:12:49 for an instant everything was one 00:14:17 deep, man 00:14:19 deep 00:14:26 deepseq 00:14:31 (lol) 00:22:09 actually 00:22:18 you could achieve that just by making all the base functions parallel 00:22:22 like, if (:) is parallel 00:22:26 then the basic map definition is too 00:22:42 that's clever 00:22:57 so as long as you don't offer seq, you have a totally parallel language 00:23:10 of course, io becomes a "little" difficult 00:24:07 ehird: Eh, main :: InputStream -> OutputStream. 00:24:27 pikhq: heh, that has the amusing consequence that all the program's computation is done in parallel in the background 00:24:31 unless it depends on IO 00:24:37 Heheh. 00:24:38 in which case it starts as soon as the relevant variable is available 00:24:41 actually, that's kinda cool 00:24:45 optimal use of cpu 00:29:55 I ought to spec poop sometime. 00:41:18 ehird: making _everything_ parallel has the slight disadvantage that threading overhead completely eats up any performance gain 00:41:37 oerjan: well, a sufficiently smart compiler will sequentialise small expressions. 00:41:43 QED 00:41:59 A sufficiently smart compiler will replace your program with a constant expression. 00:42:07 not if it depends on user input! 00:42:11 also, those sufficiently smart compilers are impossible to make 00:42:28 oerjan: ask Omega to write them. 00:42:29 A sufficiently smart compiler will force user input to allow for this. 00:42:29 at current technology anyway 00:42:32 Problem solved by virtue of singularity 00:45:06 -!- soupdragon has quit ("Leaving"). 00:53:21 -!- augur has quit (Read error: 110 (Connection timed out)). 01:01:51 -!- coppro has joined. 01:15:45 -!- coppro has quit (Remote closed the connection). 01:16:12 -!- coppro has joined. 01:20:50 -!- oklofok has quit (Read error: 54 (Connection reset by peer)). 01:28:18 Someone ask me about ehirdOS! 01:28:19 -!- Pthing has joined. 01:29:58 ehird: About ehirdOS? 01:30:45 I did not enquote that! 01:33:29 Fine, fine. 01:33:29 ehird: ehirdOS? 01:34:00 pikhq: ehirdOS! Be more specific, that's like saying "X." to Prolog. 01:34:29 ehird: What, exactly, is there about ehirdOS that is making you state "Someone ask me about ehirdOS!"? 01:34:46 It's awesome and revolutionises computation and yeah. 01:35:02 Anything new regarding the matter? 01:35:25 -!- augur has joined. 01:37:25 pikhq: Well, I thought about it more and changed my mind a bit and stuff. 01:37:28 Nothing too specific. :P 01:39:28 ehird: Details, por favor? 01:42:20 pikhq: About ehirdOS or the changes? 01:42:31 Bear in mind that it's ephemeral enough that it never really changes, only its... location in... concept... space. 01:42:34 Regarding the changes. 01:43:35 You are a tricksy, difficult fellow. 01:43:41 Can't you ask me something general and timeless? :P 01:44:03 How many roads must a man go down? 01:44:56 I really want to shoot you sometime. 01:44:59 *you now 01:45:12 :P 01:45:20 (↑ This is your brain trying to degeneralise types.) 01:45:22 (Any questions?) 01:46:02 I point my gun at your foot. I pull the trigger. 01:46:12 I will, in a bit, observe your foot. 01:46:17 Expect pain. 01:47:15 * pikhq observes ehird's foot 01:47:39 * pikhq hears the evaluation of pullTrigger :: Gun -> IO a 01:47:41 let foot' = shoot foot in foot' `seq` () 01:49:46 I love freenode's infinite timeouts 01:50:24 -!- augur_ has joined. 01:50:36 I love your mom 01:50:40 :| 02:04:17 okay SOMEONE ask about ehirdOS 02:04:22 :| 02:05:17 Even if it's augur_ 02:05:27 Not coppro though, I don't feel like _defending_ it :D 02:05:27 no. 02:06:55 :D 02:09:45 -!- coppro has quit ("I am leaving. You are about to explode."). 02:10:08 -!- coppro has joined. 02:11:48 -!- augur has quit (Read error: 110 (Connection timed out)). 02:14:17 -!- anmaster_l has quit (Read error: 60 (Operation timed out)). 02:17:53 -!- Slereah_ has quit. 02:18:45 I'm so weird 02:18:56 I'm finally done with school for the semester and I feel nothing less than an urge to do more math 02:19:04 (actual schoolwork math, not fun math) 02:20:19 -!- augur_ has quit (Read error: 104 (Connection reset by peer)). 02:20:24 -!- augur has joined. 02:27:53 coppro: okay fine ask me about ehirdOS 02:27:56 I DEAL WITH WHAT I CAN GET 02:28:26 but that is not schoolwork math, so clearly he is not interested 02:28:27 ehird: How much time is it taking away from Amend? 02:28:49 coppro: Brain time, a fair amount. Coding time? You're kidding me; no way is it ready for coding yet. 02:28:57 ehirdOS is the first known instance of the First System Syndrome. 02:28:57 :P 02:29:08 My roadmap includes terms like "in ten years". 02:29:15 (imaginary insofar as it's only in my head) 02:29:24 coppro: also, *amend 02:29:31 oh ok 02:43:57 -!- augur has quit (Read error: 104 (Connection reset by peer)). 02:44:19 -!- augur has joined. 03:31:06 -!- MizardX has quit (Connection timed out). 04:05:01 -!- augur has quit (Read error: 54 (Connection reset by peer)). 04:05:41 -!- augur has joined. 04:18:09 -!- coppro has quit ("I am leaving. You are about to explode."). 04:46:39 -!- augur has quit (Read error: 60 (Operation timed out)). 05:06:22 -!- Slereah has joined. 05:22:08 -!- ehird has quit (Read error: 60 (Operation timed out)). 05:23:22 -!- augur has joined. 05:46:35 -!- coppro has joined. 05:58:52 -!- oerjan has quit ("Good night"). 06:32:41 -!- coppro has quit (Remote closed the connection). 07:06:27 -!- kar8nga has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:48:15 -!- Pthing has quit (Remote closed the connection). 09:02:26 -!- Slereah_ has joined. 09:04:28 -!- ais523 has joined. 09:12:22 -!- Slereah has quit (Read error: 110 (Connection timed out)). 09:39:57 -!- Pthing has joined. 09:47:07 -!- comex has quit (Read error: 110 (Connection timed out)). 10:05:25 -!- anmaster_l has joined. 10:16:09 -!- rodgort has quit (Client Quit). 10:17:50 -!- rodgort has joined. 11:22:06 wow, /Evince/ has crash recovery? 11:22:15 that's unexpected, it makes hardly any sense for a document /reader/ 11:27:31 -!- BeholdMyGlory has joined. 11:35:33 -!- MizardX has joined. 11:37:03 oh no, i gave someone a terminal size virus 11:55:05 Is that a terminal (size virus) or a (terminal size) virus? 12:02:01 (terminal size) virus 12:02:15 basically, someone was playing a terminal game via dgamelaunch with an 80x26 terminal 12:02:25 other people who wanted to watch them therefore also had to set their terminal to 80x26 12:02:33 because it was so similar to 80x24, they forgot to set it back 12:02:40 so when playing games themselves, they also used 80x26 12:02:42 etc 12:13:15 ais523, what? really? 12:13:20 about crash recovery that is 12:13:25 AnMaster: yes 12:13:37 I think it remembers where in the page you'd scrolled to 12:13:43 so you don't lose your place in a long document if your computer crashes 12:14:06 because it was so similar to 80x24, they forgot to set it back <-- 80x25 you mean? 12:14:30 AnMaster: 80x24 is standard terminal size on Unices 12:14:32 -!- Pthing has quit (Remote closed the connection). 12:14:33 80x25 is a DOS size 12:14:47 ais523, linux vt is 80x25 by default iirc? 12:15:00 AnMaster: VT102 is 80x24 12:15:02 and that's what everyone emulates 12:15:05 assuming VGA console, not framebuffer one (which is usually much higher) 12:15:24 ais523, everyone uses a much larger terminal window though in practise 12:15:31 not for everything 12:15:43 I use 80x24 when termcasting, to make it easier for other people to watch 12:15:45 my konsole is 150x40 or so usually 12:15:48 on my laptop 12:15:53 a bit taller on my destkop 12:15:58 desktop* 12:16:09 ais523, termcasting? 12:16:21 how do you do that 12:16:26 AnMaster: streaming a termrec so that other people can watch what you're doing 12:16:36 hm 12:16:41 it's mostly done by roguelike players and developers, for some reason 12:16:48 probably they're used to using ttys rather than GUI programs 12:16:52 ais523, is that how it works on NAO? 12:16:53 *streaming a ttyrec 12:16:55 AnMaster: yes 12:17:39 mhm 12:18:13 ais523, also, how well does ttyrec work with ncurses programs? 12:18:24 (does nethack use ncurses?) 12:18:24 as well as with anything else 12:18:33 ais523, even with ncurses mouse support being used? 12:18:36 so long as the person who wrote the program doesn't call refresh() all the time 12:18:42 AnMaster: that's an input 12:18:49 termcasting streams only output 12:18:51 ais523, what does refresh() do in ncurses now again 12:19:01 actually updates the screen 12:19:04 most other commands just update memory 12:19:18 ttyrecs get very big if the screen is redrawn repeatedly, rather than in batches 12:19:32 as to your question a while back, NetHack might or might not use curses depending on the build 12:19:37 one reason to not use ncurses: common function names used with no ncurses-specific prefix 12:19:41 bad API basically 12:19:42 there are three different terminal drivers there, and I think only one uses curses 12:19:46 a lot of them are even macros 12:23:03 Speaking of the curses API and Nethack; win/tty/terminfo.c from Nethack: http://pastebin.com/m42a4a870 12:23:12 A snippet of it, anyway. 12:24:43 -!- kar8nga has quit (Remote closed the connection). 12:25:33 -!- nodd has joined. 12:46:56 -!- kar8nga has joined. 12:50:48 -!- FireFly has joined. 12:59:11 -!- Pthing has joined. 13:16:41 fizzie: I think that file isn't always used in a standard compile, though 13:16:44 just to add to the fun 13:19:59 ais523: "ttyrecs get very big if the screen is redrawn repeatedly" — is it completely uncompressed or something? 13:20:10 yes 13:20:21 it is completely uncompressed 13:20:21 That's a bit unfortunate 13:20:31 ttyrecs normally get bz2's later 13:20:38 much like tarballs are .tar.gz 13:20:46 let one format worry about representing the data, the other about making it small 13:21:20 Well yes, so does the bigness matter much if you can stream it straight to a compressor 13:22:29 it matters because when termcasting, ttyrecs are streamed uncompressed 13:22:49 Yes, see, and that's the unfortunate bit :-P 13:23:09 hmm, probably termcasting should be done with ssh rather than telnet 13:23:18 it rarely uses a specialist program to receive the stream, you see 13:23:26 and ssh can send compressed, telnet can't 13:23:32 lYep 13:23:35 -l 13:24:48 much like tarballs are .tar.gz <-- .tar.bz2 is equally common 13:24:54 at least, since a few years 13:25:03 well, same point applies 13:25:21 .tar.Z isn't seen much these days 13:25:27 Deewiant, indeed 13:25:33 .tar.lzma is getting more common 13:25:38 still not very common yet 13:26:29 and only place I have seen pax in is ick 13:27:06 let one format worry about representing the data, the other about making it small <-- so you suggest websites should use .bmp.bz2? 13:27:15 rather than gif or png or such 13:27:23 AnMaster: that's effectively what formats like gif or png are, though 13:27:24 well, some other format would be needed for transparency 13:27:32 ais523, not really for png I would say 13:27:41 but yes, .bmp.bz2 would be a reasonable image format if bmp didn't have truly awful headers 13:28:00 ais523, png encoding is complex to say the least. 13:28:15 I'm pretty sure 4 bit grayscale is possible 13:28:16 it makes sense to use a compression format designed specifically for images, too 13:28:26 rather than something generic like bz2 13:28:27 8 bit grayscale + 8 bit alpha too 13:28:32 and that requires information about what you're compressing 13:28:52 so if you have an image format and compression algo that basically need to be used together, why not give it a single filename 13:28:59 ais523, hm. I believe png does use deflate after doing various delta encoding 13:30:18 ais523, also, tiff supports deflate. It even supports row-diff encoding. krita supports saving as the latter, but gimp does not (as far as I have found). Gimp can still open row-diff encoded tiff 13:30:35 AnMaster: you're starting to sound like zzo38, stop it 13:30:47 ais523, what bit was like zzo? 13:30:54 ais523: Re. "why not give it a single filename", exactly, why not do ttyrec like this ;-) 13:31:01 the line above the one I made 13:31:05 Deewiant: you could, I suppose 13:31:13 ais523, I meant, what part of it 13:31:21 more to the point is that ttyrec shows signs of having been written in about 10 minutes, and was good enough for the job 13:31:26 sentence structure? Word choice? 13:31:33 AnMaster: sentence structure, I think 13:31:42 ais523, I can't pinpoint the issue in it 13:31:44 and the semantic relations between the sentences there 13:31:58 hm okay 13:32:25 anyway, krtia is painful to use I find, still, it is better than gimp due to actually supporting what I need 13:33:07 (which is: 16-bit integer per channel and 32-bit floating point per channel) 13:33:22 and non-sRGB of course 13:33:28 gimp supports that partly 13:33:31 but not very well 13:33:56 ais523, ^ 13:34:09 me, v 13:34:11 ais523, btw did you see the news about google in china 13:34:26 AnMaster: everyone in the country's seen the news about google in china, I think 13:34:31 ais523, ah 13:34:32 probably everyone in the world but some of the Chinese 13:34:38 it's all over the tech news, all over the non-tech news 13:34:40 s/some/most/ 13:34:49 ais523, it was in the morning newspaper today 13:34:55 exactly 13:35:06 didn't reach the front page due to the earth quake in Haiti 13:35:35 (is that how it is spelt in English too?) 13:35:44 yes, it is 13:36:03 also why isn't it spelled, or even spellt? 13:37:53 irregular verb, most languages have them 13:37:58 and they rarely follow a pattern 13:38:01 ais523, yes, still irritating 13:38:12 in this case, it's most likely "spelt" because that's close to how the verb in question would be conjugated in German 13:38:25 oh? interesting 13:38:42 English has stolen grammar as well as words from all sorts of other languages 13:38:58 but German's one of the more common inspirations 13:39:04 is there any laptop where the built-in speakers are actually of decent quality? 13:40:45 probably not, given that speaker quality is mostly a function of size 13:40:55 and it's hard to fit a large speaker into a small laptop 13:41:33 hm 13:41:48 ais523, if that is so, how comes there are headphones that are very good quality 13:41:57 I mean, studio headphones 13:41:58 "spelled" is valid 13:42:10 Deewiant: but unusual, and I think it might even have a different meaning from "spelt" 13:42:15 English is weird 13:42:32 oh yeah there was some other word like that I ran across recently 13:42:33 No, I'm pretty sure it's just the US style 13:42:48 ah yes: "I spelt the word 'wierd' but I was wrong", vs. "my name is spelled 'ais523'" 13:42:53 I think, at least 13:42:54 the other meaning was as some tool for making paper (historical, not used nowdays iirc) 13:42:58 forgot what word it was 13:43:20 a clue is technically a small wooden ball used to help with making clothes from wool 13:43:26 ais523: wiktionary at least confirms my thoughts that they're equivalent but led is US and t is UK 13:43:26 presumably, if you were clueless, it was substantially harder 13:43:33 Deewiant: ah 14:21:18 -!- oerjan has joined. 14:28:03 snowing again 14:28:05 sigh 14:28:26 in this case, it's most likely "spelt" because that's close to how the verb in question would be conjugated in German 14:28:41 i would suspect s/German/Anglo-Saxon/ 14:28:42 oerjan: is this going to be an insightful comment or a terrible pun? 14:28:46 ah, insightful comment 14:29:05 hey, even i get to make those on occasion 14:29:17 I'm talking about Old German here, probably before it was split into Low German and High German 14:29:20 they _are_ both descended from proto-Germanic, after all 14:29:26 Anglo-Saxon was based on Low German, I think 14:29:33 hm maybe 14:29:49 so for all I know, we're both right 14:29:58 I'm slightly disappointed at the lack of a terrible pun, though 14:30:12 although one of the headlines in the paper a couple of days ago was so a pun so bad it physically hurt 14:30:40 on the other hand, Norwegian frequently varies between -t and -d as ending, for supposedly regular verbs 14:31:27 (sometimes -a to, i think that was -ad originally) 14:31:35 what is the English name for those (most commonly yellow) vehicles that aren't used to dig in the ground, but to load sand and such into trucks 14:31:47 but then so does english, when you look at pronunciation 14:32:04 AnMaster: most commonly known by the brand name of the major manufacturer, JCB 14:32:08 I'm not entirely sure what the generic name is 14:32:11 hm it's still -ad/-ade in swedish isn't it 14:32:16 hm 14:32:21 Backhoe? 14:32:21 oerjan, what is? 14:32:31 past verb endings 14:32:35 for some verbs 14:32:55 Deewiant: You do dig ground with a backhoe. 14:33:09 As far as I know, anyway. 14:33:47 JCB's listed in wiktionary as a case of trademark erosion: http://en.wiktionary.org/wiki/JCB 14:33:50 ais523: what was that pun in the paper 14:34:07 ais523, there is one clearing away all the snow that has ended up on the sidewalks after being cleared away from the streat. Filling up trucks (that operate in a round robin fashion, that is to say, one is being filled up while the other two are being driven to/from wherever they dump the snow) 14:34:08 oerjan: it was an article about a Cher impersonator 14:34:13 called "Cher and Cher-alike" 14:34:30 I guess you don't need to clear away the snow in UK to prevent flooding when it melts 14:34:32 I have a feeling that they thought up the headline first, then tried to engineer a story to apply it to 14:34:40 considering how little snow there usually is there ;P 14:34:44 ...oh... does that even make sense to a non-geek :D 14:35:02 oerjan: yes, but it contains a cultural reference you possibly missed 14:35:07 for some verbs <-- well yes 14:35:07 hm? 14:35:12 AnMaster: we do get flooding when it melts, but we get flooded quite a lot anyway, with rain 14:35:21 hah 14:35:25 so I think the efforts go more towards dealing with all the water when it's in water form rather than snow form 14:35:40 right 14:36:11 ais523: well cher-alike = share-alike is what i thought, which is afaik license terminology 14:36:27 about 15 meters (length along sidewalk that is) worth of snow seems to fill up one truck 14:36:28 oerjan: "share and share alike" is an English phrase 14:36:33 oh 14:36:37 I think the licence name is a reference to the same phrase 14:36:51 ok then 14:37:38 actually not just the sidewalk, the street is considerably wider after they cleared it away 14:37:52 (the snow, not the street) 14:38:48 "sidewalk" is a US term, the UK equivalent is "pavement" 14:38:58 annoyingly, "pavement" has a US meaning too, making it rather ambiguous 14:39:33 AnMaster: it _is_ nice to actually be able to walk on the sidewalk rather than in the middle of the road too, so i'm not sure it is just flooding :D 14:40:24 although without a flooding issue it might very well be an easier target for those inevitable cost-cuttings 14:41:35 which it already is, around here 14:43:56 one advantage of the really cold weather we've got now is that the snow stays mostly as is rather than turning into the ice that makes everyone complain about bad clearing 14:49:33 oerjan, it is nice to be able to actually have two cars meet on the road 14:49:45 as in, the snow was (almost) preventing that 14:51:14 * oerjan might have remembered that if he actually drove a car :) 14:51:52 well, i guess busses actually have that problem even worse 14:52:09 it seems people have been walking on the canal over here, judging by the footprints 14:52:28 ais523: no mysterious breaks in the ice at the end? 14:52:33 although, some people got arrested for reckless driving after trying to drive a car down a canal, with the ice breaking beneath them 14:52:35 oerjan: not for the people 14:53:57 ais523, there are winter roads over lakes in Sweden 14:54:11 well, some years. This year definitely 14:54:32 ais523, also getting arrested for that doesn't seem like their largest issue 14:54:45 Lake-ice-roads exist here too. 14:54:58 * oerjan sees Steve has found something to wrestle 14:55:18 AnMaster: well, they survived 14:55:22 Though I'm not aware of any here in southern Finland; but there's one across Pielinen. 14:55:25 ais523, did the car? 14:56:12 AnMaster: it's still in the canal, as far as I know 14:57:25 ais523, well, that seems like a pretty large issue 14:57:48 Coincidentally, they've apparently just (Jan 10th) checked the ice for that particular road; seems there's 23-31 cm of ice there right now. 14:57:49 I think the jailtime / large fine is likely to be just as large 14:58:09 hm 14:58:48 fizzie, there is one to an island in Hjälmaren. in north/south direction it would be slightly south of stockholm (but near the middle of the country in east/west direction at that point 14:58:55 (roughly)) 14:59:14 (It's quite a shortcut: the road-distance from the nearby skiing resort thing to the geographically-closest town shrinks from 76 km to 14 km when they open the (7 km) road.) 15:01:00 It doesn't seem to be open right now; they open it when the ice thickness reaches 40 cm. And there are all kinds of restrictions; maximum vehicle weight 3000 kg, minimum distance between vehicles 50 m, no overtaking or stopping. 15:02:32 fizzie, and low speed I assume 15:02:35 -!- sebbu2 has joined. 15:02:51 50 km/h, I think. So yes. 15:03:04 Here's also a photo, although it's spectacularly boring: http://www.tiehallinto.fi/pls/julia/docs/9679.JPG 15:03:12 I think the lake roads here are at 40 km/h or such 15:03:13 I mean, it's just flat snowy field. 15:03:31 fizzie, there is even a tree there 15:03:36 are you sure it is correct? 15:03:54 Yes, they stick branches to the snowbanks to mark the road a bit. 15:03:59 That's not much of a tree. 15:04:01 ah 15:04:28 fizzie, you get trees of that size if you go far enough north in Sweden 15:05:22 -!- kar8nga has quit (Remote closed the connection). 15:08:51 -!- sebbu has quit (Read error: 60 (Operation timed out)). 15:08:52 -!- sebbu2 has changed nick to sebbu. 15:09:18 Oh, a colleague from work had photographed those snowy trees better; the university campus has some outdoor tree-lighting going on. http://ouzo.kuvat.fi/kuvat/Muuta/Talvi10/Otaniemi1201-007.jpg for example. 15:10:20 Actually http://ouzo.kuvat.fi/kuvat/Muuta/Talvi10/Otaniemi1201-013.jpg was the one I *meant* to give as an example. 15:10:39 Because it has that "facility management and security" sign in a spooky-ish environment. 15:17:06 -!- zeotrope has joined. 15:30:46 fizzie, nice they added Swedish text too 15:30:55 -!- soupdragon has joined. 15:31:30 Well, it's an official sort of a language. 15:31:49 We have mandatory Swedish exams as a part of the university degree and all. 15:45:47 -!- Cerise_ has changed nick to Cerise. 15:46:07 -!- oerjan has quit ("leaving"). 15:46:17 -!- Cerise has changed nick to Guest32065. 16:16:41 -!- soupdragon has quit ("Leaving"). 16:28:16 -!- ehird has joined. 16:36:45 "Helpful hint: Every time you think the answer to a practical question is the Halting Problem, you are most likely wrong. 16:36:46 No, really. Every time." 16:39:42 -!- nodd has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )"). 16:45:18 Also, NP-complete. NP-complete is only about the worst cases, the best and usual cases can be clearly subexponential. 16:48:09 -!- nodd has joined. 16:48:15 -!- Pthing has quit (Remote closed the connection). 16:50:13 -!- nodd has quit (Read error: 54 (Connection reset by peer)). 16:50:33 -!- nodd has joined. 16:51:17 -!- kar8nga has joined. 16:59:53 No, really. Every time." <-- how do you mean? 17:00:08 1. It's a quote, thus the quote marks. 17:00:15 2. What do you mean, "how do you mean"? 17:00:18 oh right splot over two lines 17:00:23 split* 17:00:38 didn't notice that the quote didn't end with the first line 17:02:09 ehird, as in, I'm pretty sure that "you can't parse all perl (perl 5 at least) code without executing it" seems like a good example of a practical problem where the answer is a result of the halting problem 17:02:40 That's not a practical problem. After all, people *do* parse and manipulate Perl source code, or rather Perl documents (I think that's the right terminology). 17:03:00 perl documents XD 17:03:18 [[The purpose of PPI is not to parse Perl Code, but to parse Perl Documents. By treating the problem this way, we are able to parse a single file containing Perl source code "isolated" from any other resources, such as libraries upon which the code may depend, and without needing to run an instance of perl alongside or inside the parser.]] 17:03:21 ehird, and esolangs in general is not a practical problem by that definition 17:03:25 And people actually use it. 17:03:32 AnMaster: Of course esolangs aren't practical... 17:03:51 ehird, *some* esolang are almost practical 17:03:57 Not really. 17:04:33 befunge98 comes to mind as being one of the almost practical ones 17:05:22 hm btw, has anyone considered a 2D intercal. While I admit I'm not certain about how, I do have a few vague ideas. 17:05:48 (it would probably be non-deterministic 17:05:58 ) 17:06:01 AnMaster: there's IFFI 17:06:11 ais523, well I meant in intercal itself 17:06:27 befunge + iffi works pretty intercal-like 17:06:32 at least, it has the same control structures 17:06:41 Befunge98 is barely esoteric, though. 17:06:48 ais523, the interpreter would execute the code either horizontally or vertically, possibly alternating between lines/columns 17:06:50 hm 17:06:57 *Befunge-98 17:07:01 needs more work I admit 17:07:02 It's hideously complex, like ALGOL 68. 17:07:09 And it's certainly not easy to use. 17:07:17 But it doesn't really have any weirdly esoteric features. 17:07:33 ehird, nothing wrong with complexity. Not every esolang has to be a tarpit 17:07:49 I never said that. 17:07:56 I was just saying that its complexity is not an esoteric aspect. 17:08:20 It's just a hideously complex language that isn't all that comfortable to code in. All its esotericness is inherited from Befunge-93. 17:08:33 So I'd call Befunge-93 an esolang, but Befunge-98 more of an... honorary esolang extension. 17:08:38 The things it adds to -93 aren't esoteric. 17:08:39 ehird, isn't k pretty esoteric? 17:08:51 Okay, k, granted. Lots of languages have strange features, though :P 17:08:56 considering it can do 0,2,3,4,... repeats 17:08:59 but not 1 17:09:03 and there are all the other issues with it 17:09:05 *though. 17:09:09 AnMaster: Yes, but that's just spec issues. 17:09:11 Meh. 17:09:21 I just don't see -98 as bringing anything particularly esoteric to the table given -93. 17:09:26 Confusion, yes, but not esotericness. 17:09:36 ehird, you could put down at least a number of "issues" with intercal to the spec 17:09:43 INTERCAL* 17:09:55 Yes, but INTERCAL has plenty of oddities besides. 17:10:00 well yes 17:10:12 I'm not saying -98 is a boring language or anything. 17:10:19 ehird, also what about TOYS? 17:10:25 I just don't think that the things it adds to -93 are sufficiently esoteric for it to count as esoteric apart from its -93 heritage. 17:10:31 AnMaster: That's not part of the language. 17:10:40 ehird, it is a catseye fingerprint 17:10:51 So? 17:11:21 ehird, you could say it is a standard extension 17:11:36 but sure, if you don't count fingerprints it is more limited 17:11:39 Keyword extension. 17:11:54 Python's stdlib could have a change_the_entire_semantics_of_the_language() function; that doesn't make Python esoteric. 17:12:00 (Although it makes the stdlib maintainer insane.) 17:12:26 ehird, what about {} for python. Isn't that a pretty esoteric usage of python? 17:12:43 and if you consider that, perligata and so on... 17:13:00 ais523: can you explain to AnMaster the difference between an esolang and an esoteric abuse of a language, please? 17:13:02 thanks 17:13:20 ehird, of course I know the difference 17:13:27 ehird: looks like I don't have to 17:13:34 "esoteric usage" is quite different from "esolang", of course 17:13:54 although if there are rules to the usage, it's possible that you can make an esolang that's a subset of a real lang 17:14:12 ehird, anyway befunge98 is esoteric IMO. Sure, not as much as INTERCAL is. brainfuck isn't very esoteric either. Sure it is a tarpit, but it doesn't really have any features not found in other languages 17:14:25 Scheme with CALL-WITH-CURRENT-CONTINUATION, DYNAMIC-WIND, WITH-VALUES, VALUES and a LAMBDA restricted to make it sub-TC. 17:14:33 With the subset as a whole being TC. 17:14:35 *That* would be fun. 17:14:59 AnMaster: Brainfuck gets its esotericness out of sheer programmer pain, I think. It isn't very esoteric, though. 17:15:03 Anyway, yes, -98 is an esolang. 17:15:13 it's tarpitty, which is normally considered separately from esotericness 17:15:13 But, if you took just the -98 parts, and ignored what it inherits from -93? Nah. 17:15:16 and has an eso syntax 17:15:19 So I think -93 is what deserves the credit there. 17:15:29 ehird: that would be /very/ eso, the flow control would be nicely weird, etc 17:15:40 imagine Befunge without < > ^ v or any of the other 93 commands 17:15:47 ehird, befunge is quite painful to code in too. I definitely agree that brainfuck is worse though 17:15:55 "EVOM"(...) 17:16:01 It lets you move around! 17:16:09 heh 17:16:28 ais523, actually you could use x still 17:16:32 yes, I suppose so 17:16:40 ais523, but testing would only be with w 17:16:41 or [ and ] 17:16:45 and you couldn't do a logical not 17:16:47 or were they 93 too? 17:16:48 ais523, or that 17:16:52 ais523, they weren't iir 17:16:53 iirc* 17:17:06 logical not can be emulated with other operators 17:17:07 how does w work? 17:17:11 i.e. what does it do? 17:17:40 ehird, pop a and b, compare, do like ] or [ if the differ (depending on which is greatest. Just go straight ahead if they are the same 17:17:53 What do ] and [ do? 17:18:13 ehird, [ turns pi/2 radians counter-clockwise 17:18:18 ] does the same but clockwise 17:18:33 I think you mean π½. 17:18:39 ehird, this becomes quite confusing if the IP isn't traveling cardinally 17:18:52 Anyway, hmm 17:18:56 So not is just == false 17:19:00 0 is false, right? 17:19:13 So 0w is not. 17:19:15 Well. 17:19:18 Rather, something like 17:19:20 ehird, hm no 17:19:23 0w(it's false, so push true) 17:19:25 it is "is different or same as 0" 17:19:37 ehird, also there is nothing that says 0 is false afaik 17:19:39 ? 17:19:58 Okay, what's false? 17:20:03 Anyway, what does "is different or same as 0" mean? 17:20:05 That's a tautology. 17:20:26 ehird, as in, I don't believe boolean-ess is used much by the befunge core functions. Apart from logical not 17:20:35 ehird, at least not if you remove the 93 part 17:20:55 but yes 0 is false in the 93 part. if that is what you meant 17:21:03 So, what is the semantics of "not"? 17:21:07 Bitwise not, do you mean? 17:21:17 *what are the semantics 17:21:33 ehird, logical not. But *as I said* it is befunge93, and wouldn't exist in this "98 added features only" subset 17:21:50 I thought we were discussing that subset, no? 17:22:06 Yes. 17:22:13 I was talking about implementing logical not in the subset. 17:22:19 Does 98-only have a way to compare? 17:22:22 Can you use w to do ==? 17:22:29 ehird, 98-only to compare is w 17:22:44 w is the three-way compare, you can do anything with it 17:22:44 and as I said it goes straight ahead if equal 17:22:44 Right, well, (x==false) is not 17:22:50 So use w to do ==false, like I said 17:23:04 If it does the true branch, push true 17:23:07 If it does the false branch, push false 17:23:09 Done 17:23:21 ehird, there is no addition or substraction in this 98-only subset 17:23:29 You don't need it... 17:23:32 nor multiplication, division or modulo 17:23:36 So? 17:23:40 and the numbers 0-9 doesn't exist 17:23:42 only a-f 17:23:52 so 0w won't work 17:23:54 Sure they do 17:23:58 ' 17:24:03 Deewiant, good point 17:24:32 See, we just totally esoed up. 17:24:50 ehird, still you claiming that this subset isn't very esoteric is quite wrong. It is possibly more esoteric than 93 was. Considering it will have SGML spaces in stringmode, but not have an actual string mode for example 17:25:35 This subset on its own is highly esoteric. 17:25:42 ehird, indeed 17:25:43 My point is that in 98 = 93 + 98subset, 17:25:50 the 98subset doesn't contribute much to the overall esotericness of 98. 17:26:34 actually, someone should totally make an 98subset interpreter 17:26:34 The 98subset can't do much without fingerprints 17:27:00 Why not 17:27:02 would be a couple of minutes worth of adding #ifdef to cfunge to do it for example 17:27:08 Deewiant, well yes 17:27:14 It's probably TC 17:27:17 with fingerprints it isn't very eso any longer 17:27:21 Due to k and # and all that kind of thing 17:27:25 No # 17:27:26 ehird, # isn't there 17:27:28 Er, right 17:27:33 Okay, due to k and w, and, stuff. 17:27:33 No stdio makes it a pain 17:27:34 Do you mean IOwise? 17:27:35 k is yes 17:27:45 Just have a real-time view of the stack :P 17:27:49 No math is a pain 17:27:50 there is no stdio 17:27:56 there is file io however 17:27:56 :D 17:28:03 AnMaster: So open /dev/stdout 17:28:05 And /dev/stdin 17:28:05 No p and g is a pain 17:28:06 Problem solved 17:28:10 Deewiant: Who needs 'em 17:28:28 People who don't enjoy pain 17:28:30 ehird, alas it won't work that way, since it open (truncate mode), writes, closes 17:28:41 Do it do /dev/tty then 17:28:43 ehird, for input it will lock up until ctrl-d 17:28:49 Deewiant: Why are they coding Befunge 17:28:53 since it reads the whole file 17:28:59 *Do it to 17:29:00 Because Befunge is fun 17:29:01 AnMaster: Oh well 17:29:03 Just only do batch input 17:29:08 Deewiant: Then use something other than Befunge-98subset 17:29:36 ehird, I also have some doubts about /dev/tty, but I'm not certain about that 17:29:37 Like all of 98? ;-P 17:29:47 Deewiant, :D 17:29:47 Deewiant: Precisely 17:30:08 AnMaster: Relying on w so much will be fun 17:30:11 Spiral programs! 17:30:17 ehird, anyway, the fact that there is no math without fingerprints for 98subset makes me wonder what you can actually compute 17:30:35 Well, we have branching (w) 17:30:36 and that you can only read/write one char ahead of yourself to funge-space now 17:30:37 Do we have looping? 17:30:51 Deewiant, s jumps over right? 17:30:51 Can you do w and [/] to get back to where you started? 17:30:55 Geometrically 17:31:02 AnMaster: yes 17:31:03 ehird: yes 17:31:07 ehird was that [, /, ] ? 17:31:09 Then you have conditional loops. 17:31:11 AnMaster: [ and ] 17:31:13 right 17:31:18 So we have branches, loops, and we can push things to the stack. 17:31:25 ehird, btw I don't believe there is pop stack any more 17:31:30 nor swap 17:31:32 n 17:31:35 there is "clear all" though 17:31:39 Deewiant, I was getting to that 17:31:44 but pop is "pop one" 17:32:03 So, branching, loops and constants. What about manipulation; we need some sort of arithmetic-like operation. 17:32:04 With u and a lot of messing around it's probably possible to do the basic stack ops 17:32:04 Ah. 17:32:06 y 17:32:07 :D 17:32:11 y could be useful 17:32:12 Wasting a lot of memory and CPU in the process 17:32:12 Somehow 17:32:18 Deewiant, that hurts to think about 17:32:22 Wasting? I call it putting to good use 17:32:24 You'll be shuffling lots of stacks 17:32:29 Deewiant, indeed 17:32:33 We really need a compiler for this to work out where to place everything for w :P 17:32:43 This is why lack of p and g is also a pain 17:32:58 We fucking get it, Deewiant. 17:33:00 98subset is a pain. 17:33:03 That's the whole point. :P 17:33:05 No temporaries, you only have a stack of stacks of which you can access the top 17:33:06 indeed 17:33:19 We have r 17:33:20 The topmost element of the topmost stack, that is 17:33:21 r might be useful 17:33:30 I find r completely useless 17:33:32 Deewiant, there is s and ', but making use of that would require approaching the code one way to set the variable and another way for reading it 17:33:37 Hahaha 17:33:39 We don't have space 17:33:44 You have ; 17:33:47 Same difference 17:33:48 We do have z though 17:33:56 Yeah, that too 17:34:10 The programs will be very sleepy. 17:34:13 zzzzzzzzzz 17:34:19 AnMaster: That's true... but not necessarily useful 17:34:24 oh btw we have fungespace, but not inside a 80x25 area from origo 17:34:31 :-D 17:34:31 as in, we would have a hole there 17:34:32 AnMaster: Okay, now that's ridiculous. 17:34:37 All programs have to be outside the initial 80x25 area 17:34:41 Befunge-98 completely redefines Funge-Space itself. 17:34:51 By that argument, Befunge-98 doesn't have an IP 17:34:53 ehird, yes, but we can't use the 93 area in it 17:34:57 Because -93 had one too 17:35:00 Erm 17:35:05 *-98subset 17:35:06 ehird, oh indeed, it only has one after the first t 17:35:07 -93 had a PC 17:35:08 XD 17:35:10 -98 has an IP 17:35:13 and what Deewiant said 17:35:16 (Or more IPs) 17:35:25 Befunge-93 had stacks 17:35:27 QED 17:35:31 ehird, "stack" 17:35:32 it had a single 17:35:35 Yes 17:35:38 And Befunge-98 has a stack, too 17:35:40 In fact, it has many 17:35:41 -93 had a stack, -98 has a stack stack 17:35:42 All of them must go 17:35:45 We must do all operations using only stack stacks. 17:35:49 ehird, no, only the first one 17:35:56 ooh that is better 17:35:58 They're all stacks identical to -93's. 17:36:03 THEY MUST BE ABOLISHED 17:36:25 so we have a stack of non-existent stacks 17:36:30 existent? existant? 17:36:34 spelling? 17:36:39 So how do we do bits on the stack 17:36:44 WhatStack stack that is 17:36:48 Extant 17:37:31 Deewiant: Shush you 17:37:36 Deewiant, sure? existent seems to mean what I meant according to define: 17:37:40 AnMaster: non-existent 17:37:40 same for extant though 17:37:48 Deewiant is just concising 17:37:57 still in existence; not extinct or destroyed or lost; "extant manuscripts"; "specimens of graphic art found among extant barbaric folk"- Edward ... 17:37:57 wordnetweb.princeton.edu/perl/webwn 17:37:57 He probably thinks his editor automatically inserts indention at the start of code lines, too 17:38:09 WordNet is not an acceptable dictionary. 17:38:14 ehird, why not? 17:38:22 Still in existence; Currently existing; not having disappeared; Still alive; not extinct 17:38:23 en.wiktionary.org/wiki/extant 17:38:25 and a lot more too 17:38:35 Because it takes an awful lot of people to make a good dictionary. WordNet does many non-dictionary things and does not have an awful lot of people. 17:38:42 Nor does it profit solely because of its dictionary activities. 17:38:50 ehird, there is still http://en.wiktionary.org/wiki/extant 17:39:15 I didn't say the definition was incorrect. 17:39:20 :D 17:40:09 anyway if we do have stack and complete funge space 17:40:32 Let's say that the rule is that only *commands* in Befunge-93 are removed. 17:40:42 The spec doesn't really make sense without Befunge-93's infrastructure. 17:40:46 ehird, the funge space hole *is* funny though 17:40:52 Yes, yes :P 17:41:02 It would work as a good garbage collector 17:41:13 All cells of funge-space are continually drawn to that whole 17:41:14 the only stack operation we have is "clear stack" (that is, as listed in the section "Stack Manipulation" of the 98 spec) 17:41:18 If you want to use data, you have to pull it back 17:41:22 Tada, funge GC 17:41:25 pop, duplicate and swap are all gone 17:41:36 ehird, heh 17:41:36 Also a completely ecologically friendly method of waste disposal 17:42:03 What about n 17:42:05 Isn't n some fancy thingy 17:42:10 n is clear stack 17:42:30 just removes all item on the current stack 17:43:10 *items 17:43:14 Simple solution, then 17:43:16 Pop is just 17:43:24 Move all items except the top one to another stack 17:43:25 ehird, we do still have = which is basically system() (and behaviour is equally implementation defined to system(). spec says it could be system() or it could be something else) 17:43:26 Clear stack 17:43:29 Pop stack 17:43:32 Or whatever 17:43:35 ehird, hm 17:43:42 AnMaster: Clearly = should execute Befunge-93 code 17:43:47 haha 17:44:12 aaaaaaaaaab{a} is $ I think 17:44:22 For a non-empty stack 17:44:22 Deewiant: ...:D 17:44:27 Deewiant, that many a? 17:44:28 it should execute unefunge 17:44:40 Deewiant: Best code snippet ever 17:44:44 Well, alternatively '<0x1>{'} 17:44:45 ais523, unefunge-98subset? 17:44:50 Deewiant: That's better :P 17:45:01 No, let's keep to printable characters here. :P 17:45:05 But if you want to stick to ASCII, 10*a it is 17:45:08 *let's stick 17:45:26 Deewiant: That only works on 32-bit funges, doesn't it? 17:45:39 ehird, how so? 17:46:00 -!- ais523 has quit (Remote closed the connection). 17:46:05 I can't figure out how it couldn't work in 64-bit too 17:46:26 Doesn't it rely on integer overflow to get 1? 17:46:33 ehird, no 17:46:38 Not at all? 17:46:45 I thought by '<0x1> you meant it was equivalent 17:46:46 But okay 17:46:51 ehird, well it does the same 17:46:58 '<0x1> means ' followed by the byte 0x1 17:47:08 Yes, I know. 17:47:09 ehird, the first one pushes a lot of crap values on the stack so you can pop them 17:47:15 since you can't pop just one 17:47:16 I don't see where overflow is implied 17:47:16 Ah, I see. 17:47:28 abcdeabcdeb{a} 17:47:29 Deewiant: I thought you were using a/b to make a really big number then push it over the edge, so that it pushes 1 17:47:31 Maybe that's easier to type 17:47:32 same as '<0x1> 17:47:42 ehird, you can't do that 17:47:44 To combine numbers I'd need something like * 17:47:48 Which we don't have :-P 17:47:49 I know 17:47:49 ehird, since you can't combine them 17:47:49 yeah 17:47:51 I was just guessing 17:47:53 ] 17:47:56 d 17:48:01 (That d deleted that line; shut up.) 17:48:12 oh I was just about to say we have both ] and d still 17:48:17 We can always specify unicode to make life simpler 17:48:22 'ä to push 228 17:48:56 Deewiant, ä is in ISO-whatever too? 17:49:07 Deewiant: With our control flow, life will never be simple. 17:49:10 Stop breaking the spec :P 17:49:15 btw we can't actually use x instead of <>v^ 17:49:16 well 17:49:22 we can but only for useless deltas 17:49:35 since we can't get 1 on stack without non-printable stuff 17:49:37 AnMaster: Sure, but that breaks once you go over 255 :-P 17:49:42 Deewiant, true 17:49:47 ehird: Unicode is easy to support 17:49:55 Deewiant, we wouldn't want that 17:50:01 makes things too easy 17:50:07 Deewiant: But it's not spec. 17:50:23 It's quasispec 17:50:24 s/not/not in the/ 17:50:27 Deewiant: Don't care. 17:50:50 I can see you don't 17:50:53 ehird, as I said, we do have x to set delta to a dx/dy pair. But we can't set it to any useful delta 17:50:57 I'm just saying, it can be done if you want to. 17:51:00 I find this quite amusing for some reason 17:51:29 And since you can't reset the delta in any way except with another x, you're screwed if you end up on that road 17:51:35 Since ][ just rotate 17:52:01 Just never do it, then 17:52:14 We only need 2D for w, and [ and ] to branch back :P 17:52:14 Pretty much, yep 17:52:20 ehird, like file IO can only write 10-15 * 10-15 bytes. (those are ranges, not minus) 17:52:29 Fine by me! 17:53:02 AnMaster: We're allowing ASCII so ' can give you some other values 17:53:07 well you can write less since it strips trailing whitespace 17:53:11 Deewiant, oh good point 17:53:14 forgot that 17:53:26 still, rather limited I fear 17:53:32 This is the best esolang ever 17:53:39 hrrm wait, how are we supposed to set binary/text mode? 17:53:44 Don't. 17:53:45 we can't push either 0 or 1 there 17:53:53 so thus we can't do output 17:53:58 since the parameter won't be valid 17:54:04 0 is gettable with an empty stack 17:54:13 Deewiant, well depends on order 17:54:14 But difficultly 17:54:19 * AnMaster checks the spec 17:54:27 Let's see here 17:54:31 Deewiant, stack stack? 17:54:43 Deewiant, the flag is in the middle 17:54:46 abcdeabcdea{b} pushes 0... maybe 17:55:03 "Also, if the least significant bit of the flags cell is high, o treats the file as a linear text file; that is, any spaces before each EOL, and any EOLs before the EOF, are not written out. The resulting text file is identical in appearance and takes up less storage space. " 17:55:04 hm 17:55:11 well okay looks like we can get it 17:55:12 No, wait 17:55:14 since it is a bitmask 17:55:34 This is basically abcde{}lang 17:55:35 :P 17:55:36 f for example is 1 in LSB isn't it? 17:56:00 and e would be 0 in LSB 17:56:01 so yeah 17:56:08 strange parameters for the flag, but it would work 17:56:25 also, hrrm does cfunge actually only check that bit *looks* 17:56:52 abcdeabcdea{b}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a} 17:56:55 That pushes 0 17:56:58 :D 17:56:59 I love you. 17:57:17 There's probably an easier way 17:57:19 ah it does 17:57:20 textfile = (bool)(stack_pop(ip->stack) & 1); 17:57:21 there 17:57:22 :D 17:57:29 Certainly once you have a zero already 17:57:30 (why did I explicitly cast it??) 17:57:51 Deewiant: I expect my98sbst.98s ASAP 17:58:04 Deewiant, also I can't follow in that code 17:58:06 (MYcology 98 SuBSeT . 98 Subset) 17:58:44 ehird, I doubt it. It would require completely restructuring and rewriting almost everything 17:59:15 Deewiant, can you get a 4? 17:59:18 ehird: Trivial enough: implement all of 98 passing mycology.b98, then enable subset mode and run through mysubsan.98s (MYcology SUBset SANity.98 Subset), which just checks that the 93 ones reflect 17:59:23 otherwise you would be unable to use almost all fingerprints 17:59:26 AnMaster: No 17:59:30 well okay 17:59:34 I don't think, anyway 17:59:38 so no currently existing fingerprints 17:59:39 ehird, ^ 17:59:50 since you can't push the 4 for number of bytes used for it 17:59:56 AnMaster: Yes you can 17:59:59 It's modular arithmetic 18:00:08 Deewiant, it is bitshift iirc? 18:00:10 You don't have to use "AMOR"4 18:00:30 Deewiant, well yes 18:00:32 You can use "FOOBARBAZQ"a or whatever that happens to give the same result 18:00:52 Deewiant: It'd check that crazy a/b/{/} combos work, though. 18:00:55 Deewiant, are you certain it isn't bitshift? 18:01:07 Deewiant, if so, you need to do something about mycology: 18:01:09 while (fpsize--) { 18:01:09 fprint <<= 8; 18:01:09 fprint += stack_pop(ip->stack); 18:01:09 } 18:01:16 is my code to pop the fingerprint it seems 18:01:31 Same difference 18:01:40 fprint is still not a bigint, it wraps 18:01:47 true 18:01:54 AnMaster: And nope: it's "multiply by 256" 18:02:01 That's just your premature optimization there 18:02:21 Deewiant, bitshift by 8 would the the same though 18:02:37 Yes, it does, and your compiler realizes that as well :-P 18:02:53 Deewiant, I found the bitshift an easier way to think about it 18:03:26 Deewiant, also are you certain? tcc only does constant folding, nothing else 18:03:26 I find it easier to do what the spec says :-P 18:03:52 (not that tcc handled some of the C99 constructs last time I checked, which was over a year ago iirc) 18:03:56 s/your compiler/your optimizing compiler/ 18:04:17 right 18:04:47 Deewiant, that would qualify gcc. gcc is optimising. But using it in -O0 is not 18:05:27 anyway 18:05:45 ooh I know how you could get low numbers 18:05:49 not reliably though 18:05:51 from y 18:06:04 Yes, I said that before. 18:06:07 (that y would be useful) 18:06:09 Deewiant, by careful testing with w you could probably locate a 4 in there 18:06:17 Yay, you get a random low number and you can't inspect what it is :-D 18:06:26 Deewiant, you can compare it to a and 0 18:06:37 Yes, exactly 18:06:39 and then if you find 9 numbers in between 18:06:40 -!- MigoMipo has joined. 18:06:40 "I have a number between 1 and 9" 18:06:45 then you can sort them relative each other 18:06:54 and establish which is which 18:07:02 of course you might not find all those 18:07:10 Hmm, actually, it's much easier than that isn't it 18:07:16 Since y gives stuff like stack size 18:07:20 oh 18:07:21 right 18:08:00 Deewiant, it would be a lot more interesting if you had to guess them though 18:08:13 this is brilliant 18:08:13 and, what number is stack size at 18:08:25 I mean, are you certain you can actually *reach* the stack size? 18:08:31 Easily enough 18:08:33 We have $ 18:08:38 Deewiant, not $ iirc? 18:08:45 isn't $ in 93? 18:08:53 He showed an implementation of it. 18:08:56 Using a/b/{}. 18:08:58 oh right 18:08:59 abcdeabcdea{b} 18:09:00 indeed 18:09:01 true 18:09:53 Deewiant, I think abcdefabcde{b} looks nicer 18:10:02 But that doesn't work. 18:10:05 oh true 18:10:09 You need a on TOS when you do { 18:10:12 the last a has to be the same 18:11:42 Deewiant, the 23rd item is number of items on the stack 18:11:44 I think 18:12:29 New challenge: Write 23 18:12:51 ehird, y then pop 22 items. then s to store that value somewhere 18:12:59 and use that 18:13:03 Pop? 18:13:06 With that really long snippet? 18:13:08 ehird, yes 18:13:11 22 times 18:13:15 Biggest hello world EVAR 18:13:20 ehird, no 18:13:25 hello world would be: 18:13:58 -!- augur has quit (Connection timed out). 18:14:10 'd'r'o'w' 'o'l'l'e'H followed by some file IO stuff 18:14:20 since you can't do stdio 18:14:23 or rather 18:14:48 just use o on Hello world somwhere in the funge space 18:14:57 placed at an accessible position of corse 18:14:59 like 10,10 18:15:36 *course 18:15:52 indeed 18:16:36 The 10th y element is the IP's x-position 18:16:38 we still have ;; and j don't we? 18:16:50 That's an easy way to get many things 18:16:58 Deewiant, oh nice. Would work as to find out 23 and then more easily work from there 18:17:17 -!- jpc has joined. 18:17:30 since actually creating a lookup table just with that would take quite a bit of space 18:17:54 ehird, btw, we have threads, and quit. But we do not have exit 18:18:06 exit (@) is from befunge93 18:18:17 ehird, this means we can never exit a thread once we started it 18:18:18 That actually sucks ass :-D 18:18:20 AnMaster: q 18:18:25 ehird, q ends program yes 18:18:26 ehird: Quit the program 18:18:28 Ah. 18:18:28 but @ ends thread 18:18:35 Oh well, just make it do nothing forever 18:18:42 or use a thread pool 18:18:53 parking them in some loop 18:19:00 And releasing them how exactly 18:19:09 With p? Oh wait WE DON'T HAVE THAT 18:19:09 :-P 18:19:15 Deewiant, s? 18:19:35 Then you have to go there yourself 18:19:44 And park them all in somewhat direction locations 18:19:46 Deewiant, not from the same direction 18:19:47 Hmm, what 18:19:50 Different locations* 18:20:22 -!- kar8nga has quit (Remote closed the connection). 18:20:37 Deewiant, what about something like: 18:20:39 ] ] 18:20:39 s]' 18:20:39 ] ] 18:20:44 if they travel clockwise 18:20:50 s/ /z/g 18:20:55 Deewiant, well yes 18:20:58 but you get the idea 18:21:17 You'll end up with two threads in the same place 18:21:29 Deewiant, depends on timing 18:21:31 But that works, I suppose 18:22:01 Deewiant, the second thread could use another s to fork one off to another direction then overwrite that s with a z 18:22:03 But how will you close the pool behind you? :-P 18:22:18 Meh, tricky 18:22:29 Deewiant, have a non-cardinal thread to overwrite it with a z? 18:22:31 or something 18:22:47 :-D 18:22:58 Deewiant, you could have it bounce between two r or such 18:23:16 so it overwrites it every... uh... hrrm no 18:23:24 you need to make it loop 18:23:27 it can't bounce 18:23:34 -!- kar8nga has joined. 18:23:35 or it would overwrite it's 'z 18:23:39 in 'zs 18:24:23 Deewiant, however I'm unsure how you would do: #^t thing 18:24:26 since you don't have # 18:24:35 ^ can easily be replaced 18:24:40 oh wait 18:24:41 we have j 18:24:44 that works 18:25:34 ehird, Deewiant: I suspect 98s would result in very sparse code in part, and very very dense in other parts. Verbose everywhere though 18:26:20 JavaFunge 18:26:29 hah 18:26:37 Deewiant, 93 has ? right? 18:26:43 -!- soupdragon has joined. 18:26:43 if so we wouldn't have any randomness 18:26:44 Yep 18:26:57 well actually 18:26:59 we could 18:27:04 we have y and y has date/time 18:27:12 just code our own PRNG from that in 98s 18:27:19 ehird, will you implement that? ;P 18:27:37 You can, certainly 18:27:47 A bad RNG is really easy, anyway 18:28:12 ehird, I was about to suggest mersenne twister 18:28:58 ehird: Without +-*/%? 18:29:09 Deewiant: Well, you'll need those elsewhere anyway 18:29:12 Deewiant, btw, how does [ and ] work with respect to trefunge? 18:29:36 Deewiant, ignoring the z component? 18:29:51 A simple PRNG will use code something like R = (A * R1 + B) mod(C): R1 = R: R = R / C. Primes are usually used for constants A, B, and C. Most languages have provisions for placing a seed value in R1 before calling the PRNG but it isn't needed and some PRNGs may not bother with the additive constant B. 18:29:51 AnMaster: Always rotate on the z axis 18:29:55 oh right 18:29:56 there 18:30:11 Put the date/time into R1, pick some nice primes for A, B and C (steal from mersenne twister or something), and we're done 18:30:36 ehird, we don't have *+/ or modulo though 18:30:39 in 98s 18:30:49 So implement them 18:30:56 hm, lookup table? 18:30:57 You're gonna need them sometime anyway 18:31:03 Heh, I was going to suggest using a power of two for C 18:31:05 So you could bitshift 18:31:06 But, uh, prime 18:31:13 AnMaster: Think simpler 18:31:16 ehird, no bitshift in core 98 18:31:16 + is just xor with overflow 18:31:20 nor 93 18:31:22 so well 18:31:24 * is just + loop 18:31:31 / is just repeated minusing 18:31:36 ehird: Where will you get xor 18:31:37 Well, / and mod actually 18:31:38 ehird, there is no - either though 18:31:38 together 18:31:42 Deewiant: Don't know, that's your problem 18:31:48 Yeah, see, and that's a problem. :-P 18:31:56 ehird, step 1: implement xor in 98s 18:32:09 not even full 98 has it except in some fingerprint 18:32:18 and that is an mkry fingerprint isn't it? 18:32:27 unless ORTH or TOYS had it 18:32:30 Yeah, one of his has it. (If not two.) 18:32:52 (a xor b) is just ((a and not b) or ((not a) and b)) 18:32:58 I've already said how to do not with w 18:33:03 and/or are up to you 18:33:06 Bitwise not with w? 18:33:09 Also, we need a way to extract the lowest bit from a number 18:33:15 it was logical not 18:33:17 Deewiant: Adding just xors one bit 18:33:19 not bitwise not 18:33:21 which is the same as logical operations 18:33:24 Then we check if it overflows 18:33:27 And if so, go on to the next bit 18:33:37 Yeah, if you could extract the lowest bit 18:33:40 Which you can't 18:33:44 actually, why not represent numbers in a different way. Like size of stacks 18:33:51 Hmm, actually, haha 18:34:03 As we established, o's binary mode depends on the lowest bit 18:34:06 AnMaster: Yeah, I was thinking that 18:34:08 Deewiant: ...:D 18:34:10 Deewiant: I love you. 18:34:12 Deewiant, oh my 18:34:20 Deewiant, o + i? 18:34:20 So write something with o, read it back with i, and see whether there's a trailing space 18:34:26 indeed 18:34:26 * ehird dies laughing 18:34:37 Deewiant, that's a wonderful way 18:34:46 just beware of race conditions with t 18:34:49 Best way to get number % 2 ever 18:34:51 have one file per thread 18:34:53 This is the most beautiful language I've ever seen. 18:35:33 Deewiant, however that might not work 18:35:39 remember, i and o are optional 18:35:51 you can check them with 1y however 18:35:53 but 18:36:03 checking that bitmask of 1y would be a problem 18:36:15 probably easier to check for i and o reflecting 18:36:29 Deewiant, r isn't in 93 is it? 18:36:43 if it is, then r would be unimplemented and thus reflect 18:36:51 if it isn't then r would be implemented as reflect 18:37:02 which is quite ridiculous 18:37:09 Yes, r is useless, as said. :-P 18:37:25 Deewiant, well, it is more like "reserved to always reflect" 18:37:30 in normal 98 18:38:22 Yes, r is useless, as said. :-P 18:38:30 mhm 18:39:34 Deewiant, was unimplemented defined to reflect in 93? 18:39:40 Not sure 18:39:49 What language are you discussing? 18:39:53 *Main> html head_ body 18:39:54 18:39:56 *Main> html head_ head_ 18:39:58 (type error) 18:39:59 Woot. 18:40:05 Befunge-98's subset without Befunge-93 instructions 18:40:15 Ah 18:40:16 This is going to be the first HTML generation engine that makes liberal use of type theory. 18:40:20 Deewiant, if so, then one could argue that r was implemented in 93 too (even if it wasn't explicitly) and thus should not be in 98s. Instead if should be unimplemented in 98s and reflect 18:40:21 ;D 18:40:31 -!- augur has joined. 18:40:42 Well, there's a minor distinction in that interpreters can warn on unimplemented instructions 18:40:45 ehird, don't you agree? 18:40:50 Deewiant, oh indeed good point 18:41:12 -!- augur has quit (Read error: 104 (Connection reset by peer)). 18:41:16 Attributes are going to be a bitch, I wonder how to do attributes 18:41:21 Ooh, perhaps those dynamic variable things 18:41:25 Wait, nah 18:41:27 They have sucky syntax 18:41:40 -!- augur has joined. 18:41:47 ehird, downside is that everyone will use the same code snippet at the start of 98s programs 18:41:55 It'd be (let ?title = "Poop land"; ?width = 34 in magic []) 18:42:11 ehird, which will be: get 4 using y. Load various fingerprints to make life simpler 18:42:14 (let ?src = "http://..." in img) 18:42:18 AnMaster: NO 18:42:20 No fingerprints :( 18:42:22 Fingerprints suck 18:42:26 ehird, fingerprints aren't in 93 18:42:30 so they have to be in 98s 18:42:33 Yes, but it's bad style to use them. 18:42:41 Besides, all the defined fingerprints are 98 fingerprints. 18:42:44 98s isn't 98. 18:42:48 Therefore they aren't 98s fingerprints. 18:42:50 I rest my case. 18:43:03 ehird, well actually using crazy fingerprints should be okay in 98s 18:43:10 for a suitable value of crazy 18:43:54 Nothing too useful 18:44:01 Deewiant, hm? 18:44:26 Deewiant, ROMA would be very useful for 98s (instead of almost completely useless in 98) 18:44:49 I find that fits with the language 18:45:01 useless stuff becomes useful, useful stuff becomes useless 18:45:13 it seems to be a good summary of the differences between 98 and 98s 18:45:19 Not really 18:45:22 FIXP gives you math 18:45:28 As do FPSP, FPDP 18:45:28 http://sprunge.us/ONFI I can't believe it's not a very poor functional language! 18:45:37 BOOL as well, if it's defined as bitwise and not logical 18:45:42 Deewiant, I didn't say it applied to everything 18:45:43 IMTH 18:45:48 so you do use a gc 18:45:49 also I don't implement BOOL 18:45:53 Deewiant, which one is IMTH? 18:45:59 soupdragon: for his lists, yes 18:45:59 Integer MaTH 18:46:07 LONG also does 18:46:09 Deewiant, don't think I implement that one either 18:46:14 ICAL as well 18:46:15 and LONG I definitely don't implement 18:46:19 what if you make lists out of lambda? 18:46:19 pikhq: there's actually a certain elegance to that code 18:46:23 ICAL I don't remember if I did 18:46:25 what soupdragon said 18:46:33 SETS does, if you like peano arithmetic 18:46:33 cons = \x.\y.\f.f x y 18:46:41 can lambdas return lambdas? 18:46:45 I guess so 18:46:47 Sure. 18:46:55 Deewiant, again, I don't implement that 18:46:59 I don't think I mentioned CPLI 18:47:02 Deewiant, I probably will when I have time 18:47:05 Who cares what you implement? :-P 18:47:05 CPLI I implement 18:47:11 I could replace all those functions with closures. 18:47:18 Deewiant, will ccbi support a 98s mode? 18:47:21 I'm just saying that lots of fingerprints make 98s "practically 98" 18:47:27 pikhq: that technically could break, right? 18:47:39 ehird: *Technically*, yes. 18:47:40 Would be easy enough to add 18:47:56 Though it's unlikely: this is all working because my lambdas have no need for a trampoline. 18:47:59 Deewiant, cool. Don't remember to remove string mode but keep the SGML spaces! 18:48:10 err 18:48:11 XD 18:48:13 That doesn't matter 18:48:13 "don't forget" 18:48:13 GCC isn't about to start doing trampolines for everything. 18:48:20 Spaces don't exist 18:48:30 pikhq: Do I have to do { return x; } or can I just do x? 18:48:35 (Do you accept patches?) 18:48:57 Deewiant, in ' they do 18:49:10 ehird: I'm pretty sure both are valid. 18:49:12 Deewiant, also, elsewhere they reflect 18:49:14 Yes, and SGMLness doesn't apply there 18:49:26 Deewiant, you didn't get the joke did you? 18:49:31 this uses some new extention? inline functions? 18:49:32 Also, because of spaces reflecting it's a bit trickier to add 18:49:34 Is it ({ or is it just ( {? 18:49:36 not inline.. 18:49:39 i.e. does the spacing matter 18:49:41 soupdragon: nested 18:49:41 Spaces aren't handled as instructions 18:49:42 it's old 18:49:44 very old 18:49:58 AnMaster: Spaces reflecting removes wraparound, bw 18:49:59 btw* 18:50:00 ehird: Where? 18:50:02 pikhq: also, "void* _" grr. 18:50:03 void *_ 18:50:05 Both are in use. 18:50:06 Also, I just mean in general 18:50:07 Deewiant, oh right 18:50:08 in gcc 18:50:10 is ( 18:50:11 that's seems like a major issue 18:50:11 { 18:50:13 } 18:50:14 ) 18:50:16 acceptable 18:50:20 Not really 18:50:28 ehird, your opinion 18:50:28 ? 18:50:34 You can use ; still, it just means that by default you bounce off edges 18:50:36 There's no space 18:50:48 ehird: Yeah. 18:50:49 ehird, then there is no wrap around 18:50:49 Also, what Deewiant said 18:50:53 that's the point 18:50:55 hm 18:50:59 Deewiant, ah yes 18:51:17 anyway cfunge implements space as an instruction that skips forward to the next non-space 18:51:20 ehird: Oh, right. void *_ instead of void *THROW it is. 18:51:35 (handling t interaction correctly) 18:51:50 I mean void* __LAMBDA__ 18:51:58 Ah. That. 18:52:00 pikhq: I'm implementing a variation on yours that's more awesome and also uses the GNU coding conventions just to make it even more ridiculouser 18:52:05 however this would mess up k handling 18:52:09 GNU coding conventions? Lispers scared. 18:52:14 This? Haskellers scared! 18:52:30 pikhq, THROW? 18:52:42 AnMaster: Throwaway argument. 18:52:47 pikhq, oh right 18:53:07 The first argument of a lambda is the closed variable, even if you don't close any variables. 18:53:16 What's the GNU convention for a type name? 18:53:17 Foo? 18:53:32 ehird, you think any of us here use that convention? 18:53:36 AnMaster: :D 18:53:43 pikhq: Actually, I'd make your code C++ 18:53:48 Then you can do (, char *s) 18:53:49 :D 18:53:52 * pikhq looks at info standards 18:53:55 ehird, oh? 18:53:56 ehird: Heheheh. 18:53:59 Or just, you know, do ()void *_, char *s 18:54:02 ehird, what does that do in C++ 18:54:06 *(void *_, char *s) 18:54:07 AnMaster: in C++, 18:54:14 yes? 18:54:20 /*int argc*/, int foo, /*char **argv*/ 18:54:22 works 18:54:30 so that the arguments stay the same and you can uncomment it, but you ignore some 18:54:31 okay... 18:54:54 ehird, do they take up a space with respect to calls to the function? 18:55:07 ehird: It appears that it's just type_name_t for the GNU convention. 18:55:18 as in, will foo(myargc, myfoo, myargv) 18:55:20 still work 18:56:19 pikhq, that's a poor choice. Isn't *_t semi-reserved for future C standards? 18:57:42 What's the GNU convention for argument continuations? 18:57:47 AnMaster: Yes, that's the point (re: C++) 18:57:54 Erm 18:57:56 Not argument continuations 18:57:59 macro continuations 18:58:01 As in, what column? 18:58:16 pikhq, shouldn't you implement foldl/foldr? 18:58:43 ehird: "Undefined". 18:58:47 AnMaster: Probably. Just haven't. 18:58:53 pikhq, ah 18:58:58 pikhq, what is that header called? 18:59:16 AnMaster: "lambda.h"? 18:59:21 and: I challenge you to make a portable version of it, using just c99 (+ gc I guess) 18:59:28 Impossible. 18:59:37 ehird, sure? 18:59:41 The lambda definition is impossible. 18:59:44 pikhq: Uh, I had a question but I've almost forgotten it. 18:59:46 AnMaster: Absolutely. 18:59:46 hm okay 18:59:51 pikhq: Oh yeah. 18:59:55 pikhq: Does it say anything about whether to use 18:59:55 ehird, no horrible macro tricks 18:59:56 ? 18:59:56 ( 18:59:57 You can make the closures portably, though. 18:59:59 AnMaster: stfu for a sec 19:00:00 ( 19:00:02 { 19:00:03 ... 19:00:05 } 19:00:06 pikhq, oh? 19:00:06 ) 19:00:08 or 19:00:09 ({ 19:00:13 ... 19:00:15 }) 19:00:17 AnMaster: Closure is just function + pointer. 19:00:22 oh good point 19:00:29 just will be more verbose 19:00:57 ehird: No mention. 19:01:51 ehird, isn't ({ one symbol there? as in += isn't + = 19:02:00 AnMaster: Yeah, I asked pikhq but he said it was two. 19:02:05 strange 19:03:05 It's just a compound statement enclosed in parens. 19:03:32 * ehird goes for ({ 19:03:33 Less ugly. 19:03:43 It appears that's the unstated convention. 19:05:32 So is foo_t just the typedef of struct foo in the GNU conventions? 19:05:36 They're so complicated... 19:05:56 Kinda. 19:05:56 98s instructions (summary): '();=[]abcdefhijklmnoqrstuwxyz{} and A-Z 19:06:00 space is not part of it 19:06:20 did I miss any? 19:06:24 Heh, it actually calls function definitions defun. 19:06:27 Lisp on the brain! 19:06:39 Heheh. 19:06:52 void * (*func)(); 19:06:53 This should be 19:06:56 void *(*func)(...); 19:07:04 No? 19:07:20 Yeah. 19:07:21 ehird, try indent(1) with gnu settings 19:07:31 Erm, how do you save-buffer-as in Emacs? 19:07:33 AnMaster: Good idea. 19:07:42 ehird, not sure how much it does inside macros 19:07:57 ehird, what about M-x save-buffer-as RET ? 19:08:04 (assuming that command is called that) 19:08:09 Does not exist. 19:08:29 struct fib_close_t *fib_close = xgc_malloc(sizeof(fib_close)); 19:08:34 pikhq: why not simply make struct closure end in 19:08:38 void *closed[0]; 19:08:39 ? 19:08:46 That way, you don't need malloc at all. 19:08:52 And can cast a struct in. 19:09:07 ehird: C-x C-w 19:09:08 ehird, using C-h k and then the menu in emacs it tells me that runs the command write-file 19:09:11 -!- kar8nga has quit (Remote closed the connection). 19:09:13 Also, tempting. 19:09:16 that is for save as 19:09:36 (write-file filename &optional confirm) 19:09:47 hm 19:09:57 bound to C-x C-w 19:09:59 ehird, ^ 19:10:29 it would have been easy to find out by yourself 19:10:38 (enabling menu bar temporarily as I did) 19:11:30 But the menu bar sucks. 19:11:49 I just pulled out my dead-tree Emacs manual. 19:11:50 * ehird wonders whether the alignment should be 19:11:53 FN(..., 19:11:55 my whole life is just a failure continuation 19:11:57 { 19:11:58 or 19:12:00 FN(..., 19:12:01 { 19:12:11 ehird: Second. 19:12:11 (i.e., is it considered part of the call, or a function definition and thus a control structure?) 19:12:17 pikhq: But we're extending C! :'( 19:12:19 pikhq, you have such a manual? 19:12:24 heh 19:12:24 AnMaster: Yes. 19:12:25 It's more like rms' beloved Lisp now! 19:12:31 pikhq, old? 19:12:34 Okay, what about the return then 19:12:35 return FN(... 19:12:37 or 19:12:38 ehird: Hmm. 19:12:39 return 19:12:40 FN(... 19:12:41 I think the latter 19:12:44 AnMaster: Emacs 22. 19:13:05 pikhq, not that old then. I didn't know you could get such manuals 19:13:06 and why 19:13:16 pikhq hates trees. 19:13:33 pikhq, does it include anything the online docs is missing? 19:13:36 AnMaster: Part of being an FSF member. 19:13:41 And no. 19:14:02 pikhq, good thing you aren't member of some "save the forests" group as well 19:14:09 Heheh. 19:14:09 also huh @ you being an FSF member 19:14:10 I already made that joke. 19:14:36 pikhq: Any opinions on the return indentation? 19:14:40 return LAMBDA(...) 19:14:41 or 19:14:43 return 19:14:44 ehird: Not really. 19:14:44 LAMBDA(...) 19:14:47 I'd read the GNU style guide, but ugh 19:14:48 ehird, no? you were that he hates trees. I joked that "good your interest didn't conflict then" 19:14:49 I hate it 19:15:03 AnMaster: That's... the same joke. 19:15:12 ehird: Just write code and then run indent on it 19:15:13 ehird: The GNU style guide isn't even all that detailed. 19:15:14 ehird, isn't it "return LAMBDA ()" 19:15:16 in gnu style 19:15:28 I thought they did space between function and parameter list 19:15:39 except for _() in gettext 19:15:44 maybe I misremember 19:15:45 AnMaster: It's a macro. 19:15:48 You can't do that with macros. 19:15:53 Deewiant: Alright. 19:15:56 ehird, oh good point 19:16:12 Deewiant, indent iirc doesn't do much reformatting inside macros 19:16:25 The GNU style guide also "conveniently" prevents replacing a function with a macro. :P 19:16:39 pikhq: http://sprunge.us/YLOS Are you *sure* you prefer the indented version? 19:16:50 pikhq, oh? that's crazy 19:17:07 ehird, yeargh 19:17:12 ehird: Yeargh. 19:17:15 AnMaster: Using different naming conventions for functions and macros: THAT'S CRAZY 19:17:18 Yeargh! 19:17:23 pikhq: Which is more GNU-like, is the question, though. 19:17:24 I think the latter. 19:17:25 pikhq, stop copying me 19:17:50 ehird, oh I thought he meant you weren't allowed to do #define FOO somefunction 19:17:53 ehird: Emacs gives me the first when set for GNU. 19:18:23 pikhq: Yes, but we're adding a new control structure here. 19:18:26 So there's a conflict of sorts. 19:18:40 Erm. s/first/second/ thinko. 19:19:17 Oh wait, the params should be on the next line 19:19:20 GNU style, after all. 19:19:26 pikhq: Erm, right, switch what I said too. 19:19:41 ehird: Just go with the second. 19:19:46 It feels most GNU. 19:20:00 I'm just gonna Go With Indent, because I can't be arsed to think about this stuff. :P 19:20:06 Hahah. 19:20:14 ehird, which one is indent of those two? 19:20:20 I don't know; haven't run indent yet. 19:20:31 Btw, C-x C-v RET is useful for reloading a file. 19:20:35 ehird, on linux or os x? iirc os x has *bsd indent 19:20:38 which is different 19:20:41 By the way, your definition of cons there won't work. 19:20:42 iirc 19:20:54 pikhq: Yeah, no closing 19:21:00 Hmm 19:21:02 ehird: Yeah. 19:21:05 If you have a structure ending in a [0] array 19:21:06 Can you do 19:21:12 struct foo = { ..., {1,2,3} }; 19:21:17 and have it automatically allocate the right space on the stack? 19:21:27 ehird, why [0]. GCC manual recommends one uses [] from C99 instead 19:21:35 AnMaster: Okay, fine, []. 19:21:43 ehird: I'm pretty sure you can. 19:21:47 pikhq: Sweet. 19:21:58 pikhq, really? that surprises me 19:22:05 This will be the WORST C FILE EVER 19:22:31 Actually, not "pretty sure". 100% positive. That's a GNU extension to compound literals. 19:22:44 AnMaster: GCC does many a surprising thing. 19:22:44 pikhq, oh so it won't work in pure c99? 19:22:53 It's like I'm programming in the worst functional language ever invented 19:22:53 that bit I meant 19:22:56 And I love it 19:23:01 AnMaster: Probably not. 19:23:03 ehird: Heheheh. 19:23:06 pikhq: Wait a second. 19:23:07 pikhq, hm 19:23:10 Your thing doesn't have typed return values. 19:23:13 That is lame fuck. 19:23:17 I'm adding them to my thing. 19:23:27 ehird: Yeah, it's all void *. 19:23:33 Hmm. 19:23:39 Then again, that would require that I make a macro that defines a structure. 19:23:41 I had a very, very hacked together thing. 19:23:42 ehird, but then a lambda that returns a+b won't work for both float and int will it? 19:23:42 That isn't very GNU at all. 19:23:56 AnMaster: It won't with (void *), either. 19:24:01 ehird, good point 19:24:25 AnMaster: It's still "typed", the compiler just *can't* do any type checking on it. 19:24:40 ah like that you mean 19:24:41 right 19:24:52 I was thinking "like tgmath.h" 19:26:15 pikhq: You know, I should probably make this closure_t *. 19:26:26 Currently, a cons cell is passing around three machine words. Everywhere. 19:26:34 (The function pointer and the car and cdr pointers.) 19:27:07 ehird: Yeah, probably should. 19:27:23 But that'd make things inconvenient, so I won't. 19:27:43 Mmm. Oh, the malloc'ing you'd have to do. 19:28:03 Incidentally, with mine, this works: 19:28:15 LAMBDA(NULL, (), printf("foo"); printf("bar\n")) 19:28:21 Look ma, no braces! 19:28:32 Works with mine, too. 19:28:39 Nope. 19:28:48 Because it won't return the value the latter printf returns. 19:28:49 :) 19:28:50 lambda(NULL, (void*_, int *x), x && printf("%i ", *x)) 19:29:27 Sure it will. It will then get treated as a void*. 19:29:35 Sorry, no. 19:29:53 ... Explain yourself? 19:29:54 {\ 19:29:55 __VA_ARGS__;\ 19:29:57 };\ 19:29:59 No "return", see? 19:30:04 I do "return ({ __VA_ARGS__; });". 19:30:18 Actually, body, not __VA_ARGS__. 19:30:19 And that prevents you from returning within the lambda. 19:30:19 But whatever. 19:30:28 Who said it does? 19:30:43 ehird, wait, why does a cons cell need a closure? Isn't it *only* car and cdr in general? 19:30:47 return inside of a return borks. 19:30:52 AnMaster: I'm implementing cons cells as closures. 19:30:56 >:) 19:30:57 ehird, aha 19:30:59 That's the only reason I *don't* have the lambda in a return ({ }). 19:30:59 crazy 19:31:16 Hey, it's common... in the lambda calculus. 19:31:21 pikhq: Alright then. 19:31:30 ehird, correction: "crazy for C" 19:31:37 AnMaster: This whole thing is crazy for C. :P 19:31:40 well yes 19:31:46 it is crazy for most lisps too 19:32:16 ehird: Also, I'm pretty sure GCC implicitly returns the last value. 19:32:18 Hmm... What happens if you use NULL in place of a void *[]? 19:32:26 Erm. Value of the last statement. 19:32:39 pikhq, in statement expressions? 19:32:55 or, in general? 19:33:13 AnMaster: In general. 19:33:25 the later would be batshit insane while still not breaking the C standard (since not using return to return from a non-void function is undef 19:33:49 *latter 19:33:56 inded 19:33:58 indeed* 19:34:03 What's so batshit insane about it, other than that you *really* shouldn't rely upon it? 19:34:05 ehird, cold fingers doesn't help spelling 19:34:13 [19:31] Hmm... What happens if you use NULL in place of a void *[]? 19:34:16 I guess breakage. 19:34:33 pikhq, because it breaks if the types are incompatible 19:34:53 AnMaster: Why yes, yes it does. 19:34:55 what if you have something that has the value 4 but you should return a struct on the stack (not even a pointer to a struct) 19:35:11 Then clearly you're going to break shit. 19:35:22 If the return value is not ignored. 19:35:25 pikhq, with no different warning that not using return at all 19:35:33 afaik 19:35:40 So don't do that. 19:36:18 ehird, my point was that implicit return won't warn for such issues other than the usual about falling of end of non-void func 19:36:54 ehird: ... Yes. What else would it do? 19:36:56 Erm. 19:36:58 AnMaster: 19:37:52 "I'm warning you that the following is a dumb idea!: struct foo bar = *((struct foo*)((void *)&4));" 19:39:12 pikhq, was that a gcc warning? 19:39:28 ... No. 19:39:28 -!- nooga has joined. 19:39:33 pikhq, why the quotes 19:39:36 I'm asking you "what the hell do you expect, *that*?" 19:40:02 pikhq, I doubt that &4 would even compile 19:40:16 what the hell does it mean to take the address of an integer literal 19:40:19 Probably not. 19:40:31 &({int x=4;}), however. 19:40:41 (unless it is implicitly cast to a pointer) 19:40:42 Whoa, lots of errors. 19:40:48 pikhq, hm what is that? 19:41:03 pikhq, taking the address of a statement expression I see 19:41:06 but what the hell does that do 19:41:08 closure.c:46:6: error: macro "LAMBDA" passed 4 arguments, but takes just 3 19:41:11 ffffffffffff 19:41:12 uuuuuuuuuuuuuuuu 19:41:20 ... 19:41:23 Same thing as ({int x=4;&x;}) 19:41:27 ({ void * __function (void *_, closure_t list, closure_t closure) { { return ({ closure_t __closure = (list); __closure.function (__closure.closed, ({ void * __function (void **_) { { return nil; } } (closure_t) { __function, ({ }) }; }), ({ void * __function (void **_, void *car, void *cdr) { { return ({ closure_t __closure = (cons); __closure.function (__closure.closed, ({ closure_t __closure = (closure); __closure.function (__closure.closed, car); }), 19:41:28 ({ closure_t __closure = (map); __closure.function (__closure.closed, cdr); })); }); } } (closure_t) { __function, ({ closure }) }; })); }); } } (closure_t) { __function, ({ }) }; }); 19:41:33 ehird, spam! 19:41:33 This is going to be fun to debug. 19:41:37 AnMaster: Two lines. 19:41:40 ehird: i've installed plan9 in qemu but i can't start rio ;[ any ideas? 19:41:44 ehird, I didn't mean line count 19:41:48 ehird, I meant what was in it 19:41:51 nooga: see the plan 9 wiki for common problems, other than that, too vague 19:41:54 AnMaster: Don't care. 19:41:58 ehird: Oh dear. 19:42:00 ehird, also try indent on that from the error 19:42:11 AnMaster: But then the line numbers won't match up. 19:42:14 it should help split it over lines 19:42:28 ehird, well then, split it on several lines some other way before the error 19:42:34 Aha, indent exposed the error. :D 19:42:34 maybe take gcc -E output 19:42:37 and use that directly 19:42:43 ehird, my suggestion worked then :P 19:42:44 Well. Sort of. 19:42:50 indent appears to... balk... on my macros. 19:42:51 ehird: i've read that wiki ;p 19:42:58 ehird, wow 19:43:08 As in "holy mother of fuck why is intending so much". 19:43:13 struct cons_closed { 19:43:15 void *car; 19:43:16 void *cdr;}; 19:43:18 struct 19:43:19 cons_closed * 19:43:21 :D 19:43:21 cell = 19:43:22 Yeah, see, that bit of nesting ended, indent. 19:43:24 wonderful 19:43:33 It gets so awesome near the end 19:43:39 Literally 3 letters of text 19:43:54 what is that code? 19:44:00 http://sprunge.us/AHFC 19:44:03 Behold... the INDENTOFAIL. 19:44:06 ehird, it reminds me of how the C99 construct: struct x y = { .foo = 1, .bar = 2 } messes up astyle 19:44:07 nooga: My version of pikhq's closures in C. 19:44:12 well it has to be split over several lines for it 19:44:17 Good god it's so pretty. 19:44:18 it goes something like: 19:44:21 struct x y = { 19:44:23 ); closure_t map = LAMBDA ( 19:44:25 { 19:44:25 .foo = 1, 19:44:26 } 19:44:28 , 19:44:29 (void 19:44:31 *_, 19:44:33 .bar = 2} 19:44:36 iirc 19:44:36 I don't think indent actually has any idea what my code is. 19:44:46 ehird, agreed 19:44:52 Ahahah. 19:44:56 It seems that indent sucks. 19:45:04 I think I'll try AnMaster's beloved astyle :P 19:45:05 ehird, try astyle with gnu setting 19:45:06 Use Emacs' indent routines. They're... Maintained. 19:45:23 ehird, unless you use .foo in struct initialisers it works well 19:45:27 I had to indent my macros manually :( 19:45:32 Emcas tried to make them flat and linear 19:45:33 what do you mean closures in C? 19:45:42 nooga: No, nooga, it is not something that should actually be used. 19:45:43 nooga: Just that. 19:45:51 don't encourage him :| 19:45:55 ..... 19:45:59 link him to the code 19:46:03 NO, DON'T 19:46:06 oh, yes, please 19:46:08 I might end up maintaining what he barfs out 19:46:16 nooga, http://sprunge.us/AHFC 19:46:17 i'm just curious 19:46:22 ehird, what? 19:46:24 That's not working code, though 19:46:31 ehird, exactly 19:46:32 That's my 50-thousand-compile-errors code 19:46:34 :P 19:46:43 ehird, yes I tried to help you 19:46:43 -_- 19:46:50 http://sprunge.us/ONFI 19:46:53 nooga, use logs if you want to find working code 19:46:54 meh 19:46:57 * AnMaster glares at pikhq 19:47:01 If you're going to write anything like that, DONT USE C. 19:47:16 pikhq, this should go to IOCCC 19:47:20 That there code will break if I squint at it wrong. 19:47:23 after some obfuscating 19:47:25 oh wait 19:47:28 not portable 19:47:30 forget it 19:47:40 Most flagrant violation of the rules, yeah? 19:47:49 Okay, astyle only breaks, instead of breaking horribly. 19:47:53 yeah, AnMaster is right about that IOCCC 19:47:53 closure_t cons = 19:47:54 LAMBDA( { }, 19:47:56 (void *_, void *car, void *cdr), 19:47:57 { 19:48:01 Unless that's actually how it should be indented. 19:48:03 ehird, it has to be portable C code for IOCCC 19:48:06 so it won't work indeed 19:48:11 AnMaster: Yes, and plenty of people break the IOCCC rules. 19:48:15 There's even an award for breaking the rules. 19:48:26 oh true 19:48:37 And the "portable C" bit is a judging criteria, not a rule. 19:48:40 ehird, wait, wasn't the award for "having to change the rules for the next year"? 19:48:45 No. 19:48:49 That was just one occasion. 19:48:51 ah 19:49:24 struct cons_closed { 19:49:26 void *car; 19:49:27 ehird, I didn't say astyle was perfect. It just seems to manage fairly well on my code. 19:49:27 void *cdr; 19:49:29 }; 19:49:32 Thanks for pointing out my error, astyle. 19:49:35 No thanks for not fixing it. 19:49:45 ehird, it can't possibly fix it 19:49:56 it isn't supposed to change the semantics 19:50:01 I mean the { on the same line. 19:50:04 ); closure_t map = LAMBDA ( 19:50:06 { 19:50:07 } 19:50:09 , 19:50:10 (void 19:50:12 *_, 19:50:13 Erm 19:50:15 closure_t nil = 19:50:16 LAMBDA( { }, 19:50:17 ehird, what? 19:50:18 (void *_, closure_t nil_closure, closure_t cons_closure), 19:50:19 { 19:50:23 Now that thar is a bug. 19:50:27 ({ being at column 0) 19:50:28 -!- coppro has joined. 19:50:29 inside a function 19:50:48 ehird, well yes. But I don't think it ever says it supports GCC extensions specifically 19:51:36 ehird, I really don't blame any tool for failing at this lambda code 19:51:52 AnMaster: ... Brackets inside of the arguments to a macro is not a GCC extension. 19:52:06 pikhq, oh that I thought he meant ({ 19:52:10 he said he did 19:52:14 -!- ehird_ has joined. 19:52:15 int main(int argc, char **argc) { {printf("Hello, world!\n");} } 19:52:23 "char **argc" 19:52:23 ^ That's valid C90. 19:52:26 wat. 19:52:31 ... Thinko. 19:52:32 no it's not :P 19:52:34 int main(int argc, char **argv) { {printf("Hello, world!\n");} } 19:52:43 You forgot the return 0; 19:52:46 :D 19:52:52 indeed 19:52:58 int main(int argc, char **argv) { {printf("Hello, world!\n");}; return 0; } 19:53:03 Or just: 19:53:07 ehird@meson:~/src/c-closures$ gcc -E closure.c | cat -n | astyle --style=gnu 19:53:09 Time to get to work. 19:53:10 int main(int argc, char **argv) { {return printf("Hello, world!\n");} } 19:53:11 pikhq, also maybe astyle thinks it is a function call? 19:53:19 pikhq, just a guess 19:54:08 ehird_, btw I think http://sprunge.us/AHFC looks that insane partly due to trying to keep inside 80 columns 19:54:18 ); closure_t nil = LAMBDA ( 19:54:20 No excuse for that 19:54:24 The definition ended and it didn't realise it 19:54:25 And partly because it never denests. 19:54:26 Ever. 19:54:30 No it does 19:54:39 (nil_closure);} 19:54:40 ); closure_t map = LAMBDA ( 19:54:42 See?! :P 19:54:57 Also, that code actually breaks my code, because LAMBDA is a macro. :D 19:55:06 Ð 19:55:11 :Ð 19:55:19 ehird_, then why are you writing that? 19:55:27 yay, rio works 19:55:32 AnMaster: I'm not. 19:55:34 indent is. 19:55:37 ehird_: Apparently they can't be assed to write a parser. 19:55:46 ehird_, you mean it modified the meaning of the source? 19:55:46 And instead, just write a tokeniser. 19:56:02 it is possible it doesn't parse it into an AST 19:56:11 (or similar) 19:56:17 It most definitely isn't parsing it. 19:56:17 instead just going on simpler rules 19:56:25 pikhq, hm yeah 19:56:32 well, what about emacs indention 19:56:42 didn't someone say it did better? 19:56:47 does it parse it, or just tokenize it? 19:56:51 tokenise* 19:57:01 Emacs' indentation seems to work just fine on my lambda stuff. 19:57:01 closure.c:47:6: error: macro "LAMBDA" passed 4 arguments, but takes just 3 19:57:06 Okay, so this is the pre-preprocessed line number. 19:57:45 ehird_, I would be surprised if line numbers didn't became messed up with the lambda macro in errors 19:57:50 become* 19:58:08 No, because the preprocessed output does not have that many lines. 19:58:09 QED. 19:58:15 -!- ehird has quit (Read error: 60 (Operation timed out)). 19:58:25 -!- BeholdMyGlory_ has joined. 19:58:26 return LAMBDA; 19:58:30 Thanks for pinpointing my error, gcc. 19:58:32 -!- ehird_ has changed nick to ehird. 19:59:02 ehird: Tried using clang? 19:59:06 lol :P 19:59:10 can it handle these extensions? 19:59:18 No but really, it did pinpoint my error. 19:59:22 Yes. 19:59:29 clang supports most of GNU C. 19:59:41 Keyword most :P 20:00:22 Argh. Nested functions aren't supported by clang. 20:00:37 (yet) 20:01:18 -!- BeholdMyGlory has quit (Nick collision from services.). 20:01:23 However, clang has lambda. 20:01:41 Your mother has lambda. 20:01:51 TOUCHE METHINKS 20:02:06 But... gcc, I only pass three arguments there. 20:02:08 Wait, is (foo, 20:02:10 bar) 20:02:11 not one argument in cpp? 20:02:14 (With the parens in the argument) 20:02:35 "# clang does not support nested functions; this is a complex feature which is infrequently used, so it is unlikely to be implemented anytime soon." 20:03:02 ehird: I think it is... 20:03:08 My code doesn't work *without* that... 20:03:45 But I mean, with the newline. 20:04:23 http://sprunge.us/CLDg 20:04:28 How on earth does this pass four arguments to LAMBDA? 20:04:40 Ah. I dunno. 20:05:21 ehird: Y'know, when you've got this working, you should make it so that it can also conditionally use blocks instead. 20:05:57 And... I dunno how it thinks that's four args. 20:06:22 ... { car, cdr } // That might be it. 20:06:46 But... why? 20:06:48 >_< 20:07:17 I dunno. 20:08:00 Anyway, it's the only call that does it 20:08:06 Hmm 20:08:11 It's the only call closing over more than one variable 20:09:53 ({ car, cdr }) fixes it. 20:12:27 closure.c:57: error: non-static initialization of a flexible array member 20:12:29 pikhq: Poop. 20:12:30 Huh. Clang has the option -fcatch-undefined-behavior. 20:13:14 ehird: :/ 20:13:32 closure.c:29: warning: initialization from incompatible pointer type 20:13:33 Abuh? 20:14:02 hahaaaaaaa! it works1!1! 20:14:03 Abuh? 20:16:29 closure.c:57: error: incompatible types when returning type ‘closure_t’ but ‘void *’ was expected 20:16:32 >_< 20:16:32 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 20:17:40 ehird: I think you need a pointer. 20:17:52 Or I could just give up 20:18:30 Also true. 20:20:22 * pikhq suggests making LAMBDA malloc 20:21:51 I might. 20:29:19 argh why did the cold folding thing in kate suddenly turn a kind of brownish orange 20:29:20 main.c:125: error: incompatible type for argument 3 of ‘range’ 20:29:22 FFFUUUUU 20:29:51 * pikhq wonders when closure* and closure* became incompatible types 20:30:06 pikhq, what did you change? 20:30:26 AnMaster: I made lambda malloc. 20:30:42 pikhq, ah 20:30:50 pikhq, gc_malloc ? 20:30:53 or whatever it was called 20:30:56 Yeah. 20:31:06 pikhq, can you return a closure yet? 20:31:33 AnMaster, I already could. 20:31:34 pikhq, also Huh. Clang has the option -fcatch-undefined-behavior. <-- sounds nice, does it work well? 20:31:47 pikhq, how? doesn't trampolines mess it up? 20:32:02 I write my nested functions so as to avoid the usage of trampolines. 20:32:03 AnMaster: It catches some stuff; not a ton 20:32:25 coppro, mhm. Is this in the last release? Or only in svn? 20:32:33 clang version 1.0 (https://llvm.org/svn/llvm-project/cfe/branches/release_26 ) 20:32:39 says my version from arch repos 20:32:49 * AnMaster looks the docs 20:32:56 AnMaster: not sure 20:33:12 not in man page or --help at least 20:33:38 documentation doesn't exactly get update on a regular basis 20:33:53 not in my manpage either 20:33:56 coppro, you could auto generate man page docs from the option parsing code 20:33:57 as in 20:33:57 and I'm on trunk 20:34:17 you have them defined somewhere, include a short help string in there 20:34:32 then generate the options section in the man page from it 20:34:37 feel free to submit a patch 20:35:15 coppro, I believe gcc does this. Also I don't have the time currently at least. 20:35:20 (for the next few months) 20:35:38 AnMaster: if we did everything GCC did, we'd use macros instead of a type system 20:36:00 coppro, is it in --help for you? 20:36:12 no 20:37:14 i = i++ - ++i; <-- that is undef iirc? 20:37:20 Yes 20:37:25 coppro, does it catch it? 20:37:38 if so then my clang silently ignores that flag 20:38:32 AnMaster: it does not, but that's not the purpose of the flag 20:38:38 the flag adds runtime checks 20:38:41 ah 20:38:53 GCC has it too 20:38:54 well, clang-cc doesn't accept it 20:38:59 and clang ignores it silently 20:39:23 coppro, no "-fcatch-undefined-behavior" in my man gcc 20:39:29 or what did you mean 20:39:48 AnMaster: it may be a 4.5 thing 20:40:07 but I remember the revision log note said it came from GCC 20:40:08 coppro, last I tried 4.5 it produced a broken executable at -O0 for cfunge iirc. 20:40:15 that was a few months ago 20:40:28 also iirc I found a matching bug report about it 20:41:08 (it was after lto branch had been merged, I know that, since it was the reason I tried out 4.5) 20:42:39 ehird, is it possible to use both web and irc at the same time on iphone? I guess it is, since it is such an advanced phone. 20:43:07 no 20:43:15 coppro, what? 20:43:18 that's broken 20:43:24 you can only run one application at once 20:43:36 Yes, actually. 20:43:42 Most IRC apps include their own browser. :P 20:43:43 coppro, broken, can't most other high end smart phones do it? 20:43:47 ehird, -_- 20:43:47 you can pop out for some functions, but if you start a new application, it closes the old one 20:43:49 Anyway, IRC is not an intended use of the iPhone. 20:43:52 It's an edge case. 20:43:55 I was just going to mention the possibility of a client with a browser 20:43:58 Even my not-so-high-end phone can multitask 20:44:08 Almost all usecases don't require multitasking apps and it makes things simpler. Yes, it's a sore need 20:44:12 but I know that this has been the subject of much costernation at work (we have an iPhone app) 20:44:14 but it rarely comes up in practice i find 20:44:24 my old nokia can't, but well, it isn't a smartphone. 20:45:38 but then, won't you have 20 different browser UIs that all look differently and use different bookmarks? 20:45:58 plus a lot of coding effort 20:46:11 and code duplication, and buggy web browsers 20:46:27 ehird, what about IM though 20:46:33 that can't be too rare on iphone 20:46:57 AnMaster: IM and IRC are the only cases 20:47:00 And they're pretty much identical 20:47:01 So IM 20:47:03 is the only case 20:47:10 And they just include a browser; a non-optimal, but functional, hack. 20:47:13 Apart from that... basically never used. 20:47:18 Also, they all reuse Safari's core. 20:47:22 ah that helps 20:47:22 Which basically does everything but the URL bar for them. 20:47:42 Admittedly you don't get URL completion or bookmarks, but... it's mostly just for tapping links that people say. 20:48:28 also, I wanted multi tasking more than once on my phone 20:48:42 like checking the schedule while editing an sms 20:48:49 without having to store it as a draft 20:49:05 just flip over to the calendar would be nice 20:49:51 ehird, that is another use case, see? 20:50:57 * AnMaster adds an entry on his mental list of "reasons to not buy an iphone" 20:52:44 Nobody cares 20:53:15 I do 20:53:54 -!- coppro has quit (Remote closed the connection). 20:57:55 did i ever tell you guys about that time i got into an argument with some numbskull who insisted that it's impossible to detect any sort of non-termination in a computer program? 20:59:52 augur: So, you've solved the halting problem? 20:59:54 Amazing. 21:00:06 no :| 21:00:15 not a generate detector of non-termination 21:00:30 but something that can, for at least one non-terminating program, tell that its not terminating 21:00:36 Ah. 21:00:59 augur can you tell me about it 21:01:02 e.g., say, the javascript non-terminating-program-detector: program == "while (true) {}" 21:01:13 So, something that can say "this terminates", "this doesn't terminate", or "fuck if I know". 21:01:21 and shazam, it detects precisely one non-terminating program 21:01:33 -!- coppro has joined. 21:01:33 Yeah, that's pretty trivial to write. Bit more difficult to make one that's even vaguely useful, but hey. 21:01:34 he was arguing with me that its impossible to detect ANY non-terminating programs 21:01:45 augur what about the guy what was he saying 21:01:55 ^^^ 21:02:16 he said that to detect a specific kind of non-termination was to solve the halting problem 21:02:30 he didnt relize that the halting problem was about detecting arbitrary non-termination 21:03:12 and that since humans could detect some kinds of non-termination, we therefore are super-turing-complete 21:03:51 so you think he didn't undertand halting problem 21:04:09 did you manage to break through it 21:04:22 no :( 21:04:35 how did you try 21:05:06 i just tried to explain to him that the halting problems is the problem of deciding, for all programs, whether or not they halt 21:05:28 and that being able to tell if _one particular program_ halts is not a solution to the halting problem 21:05:35 we were talking about dependent types, i think 21:05:51 you see this one: program == "while (true) {}" 21:05:55 this was before i realized i was talking about dependent types 21:06:19 and i was talking about the idea of a program error finder that would be able to tell you, prior to execution, that your program would have certain kinds of errors 21:06:23 maybe he was thinking about extensionally equivalent to this (which would be solving halting problem), but you were meaning intensional (which would not solve halting problem) 21:06:25 and he was like LOL HALTING PROBLEM DUMMY 21:06:59 hm how does dependent types relate? 21:07:28 well, it would involve partially tracing through evaluation paths 21:07:44 to find places where they could lead to an error 21:08:06 and you'd want to basically avoid circular traces, and he thought that doing this would require that you solve the halting problem 21:08:42 this is getting way too complex for me to follow 21:08:57 :P 21:08:57 Looks to me like you'd only solve the halting problem for a certain finite-state machine. Which is not merely possible, but rather easy. 21:09:13 Well, except that the state might be hard to store. :P 21:09:15 yeah it was a really stupid discussion 21:09:18 he was an idiot. 21:09:48 are you sure 21:10:13 yes. 21:10:16 okay 21:12:11 tgrep, btw. 21:12:17 >_< 21:12:24 what? 21:12:26 you dont like tgrep? 21:12:56 augur 21:13:02 what? :| 21:13:10 if dependent types came into it he was probably talking about something more refined 21:13:18 no, he wasnt. 21:13:32 was i arguing with you? i dont think i was. so stop trying to defend this person. :| 21:13:32 but it seems weird that he would say "LOL HALTING PROBLEM DUMMY" because that suggests he already knew the answer 21:14:12 I don't think I am defending them 21:14:17 you really are 21:14:23 YOU'RE A LITTLE EICHMANN 21:14:39 lol.,.,. 21:14:43 :p 21:14:49 tgrep! 21:15:08 >< 21:15:16 what? 21:15:21 tgrep is cool! 21:15:30 augur, I'm just interested in these discussions 21:16:02 like, when someone is wrong but they know they are right 21:19:51 it's a very interesting phenomena to me, when its genuine 21:20:11 phenomenon 21:20:43 -!- Guest32065 has changed nick to Cerise. 21:22:24 anyway 21:22:25 TGREP! :D 21:22:33 ;_; 21:22:57 http://www.stanford.edu/dept/linguistics/corpora/material/tgrep1-intro.pdf 21:30:09 * pikhq tried converting that lambda example to use GMP. 21:30:23 I then found out that GMP doesn't much care for garbage collection. 21:30:39 You can force it to, but it just seems wrong... 21:34:57 and i was talking about the idea of a program error finder that would be able to tell you, prior to execution, that your program would have certain kinds of errors <-- ITYM static analysis? 21:35:10 :/ 21:35:16 AnMaster: maybe 21:35:18 I don't think he meant static analysis 21:35:26 augur, then what if not that? 21:35:51 of course it depends on how you define static analysis 21:36:32 trying to work out types in a dynamically typed language and then finding contradiction? The erlang static analyzer "dialyzer" does that. 21:36:48 soupdragon, would you included that in your definition of static analysis? 21:37:18 AnMaster: i don't mean that 21:37:27 actually what he said IS static analysis 21:38:07 soupdragon, you don't consider what I described as static analysis? 21:38:25 I'm not worried about whether or not it's static analysis 21:38:39 the point is it doesn't make sense to say ITYM like that 21:39:04 because it wasn't like he said "fledermaus" and meant "baseball bat" 21:40:10 soupdragon, what is a "fledermaus"? It sounds like the Swedish word "fladdermus" which is en:bat 21:40:14 as in the animal 21:40:28 it means bat :p 21:40:40 so considering things, I'm guessing German or similar language 21:40:47 yes 21:41:39 -!- dbc has quit (Client Quit). 21:42:40 tgrep <-- what is tgrep? A variant of grep(1) I guess. but can't find it in the package repo 21:42:44 tree grep 21:43:07 like, when someone is wrong but they know they are right <-- we usually call it "being misinformed" 21:43:16 :/ 21:43:20 augur, interesting 21:43:31 augur, how does it work and on what file format 21:43:49 augur, btw it isn't in ubuntu either 21:43:54 augur, do you have a link? 21:43:55 it's not being misinformed 21:44:14 -!- dbc has joined. 21:44:31 soupdragon, oh? so you claim that won't be the symptoms of being misinformed? 21:44:49 it's related but more specific and not the same thing 21:45:08 soupdragon, what is it then. (max three irc lines) 21:45:18 uuuuuuuuuuuh 21:45:34 I already wrote a description 21:45:45 then you tried to summarize it and lost some of the detail 21:45:47 soupdragon, yes, but what is it called 21:45:54 plan9 is awesome but bizzare 21:45:57 and what else than being misinformed can it be 21:46:01 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)). 21:46:10 as in, list one (1) other subset 21:46:18 that is disjoint 21:46:31 from being misinformed 21:48:06 very well, ignore it then 21:48:12 soupdragon, ^ 21:48:14 ignore what? 21:48:43 soupdragon, what else than being misinformed can it be. I asked for you to list one other thing it can be 21:49:17 that doesn't overlap with being misinformed 21:49:18 you can call this misinformed like you can call a breezy meadow of poppies 'pretty' but you lose information when you do this 21:49:41 soupdragon, that isn't an answer 21:50:06 or rather, it is a nonsensical answer 21:50:21 really 21:51:32 yes. 21:51:52 soupdragon, how hard can it be to list a case or example of that thing you described that isn't "being misinformed" 21:55:12 I can't explain this 21:55:51 AnMaster if you had a terrible nightmare about ghouls and ghosts and everyone was a zombie except you in the whole world and there is this whole long story that means so much to you 21:56:00 AnMaster, then you tell your mom and she goes "oh you had a nightmare" 21:56:08 but 'nightmare' doesn't explain it because it was so much more 21:56:13 do you know what I mean ? 21:56:16 soupdragon, no 21:56:23 nightmare is a good summary of it 21:56:29 also, I'm grown up 21:56:33 not some 7 year old 21:56:36 you said no way too fast 21:56:43 you are just responding to me without thinking 21:56:45 soupdragon, as in, I never experienced that 21:56:48 and yes I was considering it 21:56:57 it's a hypothetical situation you didn't have to live through it 21:57:08 soupdragon, I had nightmares 21:57:20 I know that they can be nasty especially when you are young 21:57:35 this isn't about nightmares 21:57:37 but nightmare still explains the issue. You might need to add a modifier like "really bad" 21:57:40 in front 21:57:45 but apart from that, it is a good summary 21:59:26 soupdragon, and providing a counter example where the summary in question doesn't fit is all that you need to convince me 22:00:13 -!- augur has quit (Read error: 110 (Connection timed out)). 22:01:58 soupdragon, besides (considering this in a set theory way), you originally said it was a disjoint phenomenon " it's related but more specific and not the same thing" then later you seemed to indicate it was a proper subset " then you tried to summarize it and lost some of the detail" 22:02:31 this is not set theory 22:03:10 soupdragon, true. but considering (possibly overlapping) classes of things using set theory works in my experience 22:03:52 I found it a useful "tool" in understanding how things are related. 22:03:59 ok 22:05:44 yay, I managed to keep a high average in calculus! 22:07:04 coppro, the joke I thought of that line would be too long winding and far fetched 22:07:14 so I'm not going to mention it 22:07:19 s/mention/say/ 22:07:31 coppro, instead I wonder if you refer to marks in some course 22:07:41 I do 22:08:10 coppro, hey you are supposed to ask what the joke was 22:08:19 not gonna! 22:08:26 then I'll tell it anyway 22:08:29 well the idea 22:08:50 about it being the average value in some specific problem in a calculus assignment 22:09:17 like, say, average of a function in a given interval or whatever. 22:09:27 coppro, ^ 22:09:38 what do you mean by calculus 22:09:48 coppri 22:09:58 soupdragon: high school calculus 22:10:03 oh ok 22:10:14 what can you integrate 22:10:59 well, officially I haven't gotten there yet 22:11:06 ok 22:11:18 can you do epsilon-delta proofs? 22:11:25 soupdragon, rotational bodies? 22:11:33 I remember that being quite fun 22:11:41 from back in the equiv of high school 22:11:43 yeah 22:11:47 soupdragon: I understand the epsilon-delta definition, but I haven't tried to apply it 22:11:51 fun as in "a hell of a task" 22:11:55 ;P 22:12:25 coppro so basically differentiating expressions made from +,-,*,/,x,numbers,various primitive functions and composition?? 22:12:41 soupdragon: yeah, that's about as far as I've actually gotten 22:12:44 that would be high school level 22:12:49 wow I could program a computer to do that 22:12:58 (note that I can do better than this; I'm just talking about where I am in the course) 22:12:59 so could you I'm sure 22:13:01 the epsilon-delta stuff is more like university level isn't it? 22:13:05 soupdragon, ^ 22:13:13 at least in Sweden it is 22:13:13 iirc 22:13:27 AnMaster, yeah you are right I guess so 22:13:29 coppro, where you from UK or US? 22:13:36 AnMaster: .ca 22:13:38 ah 22:14:37 most mathematics education is like "here is how to do this thing... in case you absolutely need to apply this and there is no computer ANYWHERE" 22:14:42 which is... pointless 22:14:42 this course goes about as far as integration by parts, plus an optional unit on differentiation and integration of exponential/logarithmic functions 22:14:49 no, it's not pointless 22:15:01 you need to know what the computer does 22:15:08 this is why so many people are bad programmers 22:15:34 ehird I'm really curious about the possibility of a mathematics course that assumed you were a skilled programmer 22:15:36 What the computer does is not what you are taught to do mentally 22:15:47 That is because the algorithms you use mentally are only useful for trivial examples and are also shit 22:15:52 Therefore they are useless 22:15:57 no, but you need to understand how to get from point a to b 22:16:00 ehird, like what if you could just not learn any of the crap like differentation and multiplication -- program it into the computer and see what's left 22:16:10 coppro: an asinine phrase without an associated argument, signifying nothing. 22:16:12 you know? the real creative stuff that matters - what you can't put into code 22:16:26 maybe people are scared because they might find out there's nothing left 22:16:35 soupdragon: I assume you didn't mean multiplication as a separate thing there :P 22:16:41 "2*2? Um, let me get my iPhone." 22:16:49 ehird, no that's exactly what I mean 22:16:55 a person should know how to do basic math 22:16:59 even if they never have to use it 22:17:02 Just hypotheticall, a context where there's no reason you should bother working out 2*2 yourself 22:17:04 I'm shit at mental arithmetic, I'm just really slow at it 22:17:14 and I refuse to spend hours listening to a times table 22:17:16 I hope you're fast with 2*2 22:17:19 yes :P 22:17:24 Great, you pass 22:17:45 i love how if you ever question "why do i need to be able to multiply such large numbers in my head" they say something like "hurr finances" 22:17:54 because calculators will be BANNED by the time you grow up, sonny boy 22:17:57 BANNED 22:18:10 what is the point of finances if not as a fun mental arithmetic exercise 22:18:11 multiplying large numbers in your head seems unnecessary 22:20:19 hellooo 22:21:11 but knowing how to differentiate elemental functions is important 22:21:20 :( 22:21:44 coppro: I don't think so. 22:21:52 ehird: then you are wrong 22:22:34 Nice to know you've abandoned attempting to reappropriate asinine phrases as arguments; I'd prefer it were replaced with arguments, though, instead of the lack of them. 22:22:52 ehird, how can you argue against "THOU HAST WRONG" 22:23:10 ehird: fun fact: this is exactly what you do in arguments 22:23:20 anyways, you don't learn things you don't understand 22:23:23 ehird you should think about my idea :( 22:23:40 it is vital that you understand the basics of something before moving on to the advanced stuff 22:23:46 or else it doesn't stick 22:24:11 ehird, I want to know what it would be like if computers were sort fo like a fundamental part of peoples unconcious thinking -- instead of programming your brain to do these menial tasks we could program an on board computer, and just focus on the real mathematics .. do you know what I mean here? 22:25:37 brains are computers 22:25:50 coppro: You can learn how differentiation works by programming the algorithm, and stepping through it. 22:25:58 ehird -_- 22:26:09 soupdragon: i'm just trolling you. 22:27:58 come on 22:28:01 this is a cool idea 22:28:20 you read ekhads geometry book? 22:28:25 no 22:28:37 oh yeah I forgot you can't read, sorry 22:28:50 indeed. 22:28:56 http://www.math.rutgers.edu/~zeilberg/GT.html 22:29:15 ehird im just kidding because you still haven't read metamorphosis :P 22:29:20 i know 22:29:46 cool it's an acronym 22:29:54 PGAETBSBEXIVC2050BDZ 22:30:13 um I don't see what it is for? 22:30:25 Plane Geometry An Elementry ..? 22:30:33 yep! 22:30:36 look at the big letters in the title 22:30:38 it's elementary. 22:30:51 I don't get it :( 22:31:00 some of the letters are big, see 22:31:04 and when I expand an acronym like 22:31:06 POOP = 22:31:12 Posh OOgs Pallating 22:31:13 see? 22:31:15 you're not good at being cool 22:31:15 it's hilarious 22:31:16 laugh, btich 22:31:18 *bitch 22:31:22 was I trying to be cool 22:31:25 I usually aim for incoherent 22:31:33 I'll find someone else to talk to 22:31:40 (probably not actually) 22:35:44 ehird that sucked actually 22:36:00 why did you do that 22:36:26 * coppro wanders off to do a unit on trig functions 22:37:18 soupdragon: stop whining 22:37:45 ehird: that doesn't answer my question 22:38:07 ehird: you are making me feel like you are just some kind fo haskell fanboy 22:38:33 soupdragon: welcome to the world of ehird 22:38:41 soupdragon: what are you even talking about, what did I do 22:38:46 what did I do that's so bad? 22:39:04 that I don't know 22:39:07 ehird I was trying to talk about something I actually care about and you are just trolling me, probably because I don't often say serious things 22:39:53 soupdragon: the problem with talking to you is that everything has to be serious if you care about something 22:40:02 random side jokes are equated to being a dick 22:40:20 and you get all upset about trolling and then turn around later and do it yourself 22:41:08 except that it's difficult to tell if stuff like [15:25:25]coppro: You can learn how differentiation works by programming the algorithm, and stepping through it. is sarcastic or not on the Internet 22:41:09 ehird fuck off all you did was take the piss out of me for 100 lines of chat 22:41:10 it happens 22:41:34 ehird, that's not "everything has to be serious for queen soupdragon" that's just being an ass 22:42:09 soupdragon: i did not take the piss out of you for 100 lines 22:42:12 anyway I give up you're obviously just going to continue trolling to save face 22:42:15 actually, scratch that 22:42:20 I'm going to pick up a marksheet 22:42:23 I don't know what's wrong with you but you're massively overreacting to things I didn't do 22:42:23 then do more math 22:42:24 there's no way you are going to suddenly start acting okay after this 22:42:28 and talking is not going to help anything 22:42:34 cool it's an acronym 22:42:35 PGAETBSBEXIVC2050BDZ 22:42:36 I'm pretty sure you're either a total troll or mentally unstable 22:42:39 brains are computers 22:42:48 incase you didn't realize what you were saying 22:43:01 2 random lines I joked about when seeing the page, and 1 that I immediately said I was kidding after. 22:43:06 Does that equate to 100 lines of cold-blooded trolling? 22:43:27 first 2 were definitely a sarcasm 22:43:32 okay then 22:43:38 I take back what I said about 200 lines 22:45:17 you said 100 lines. 22:48:53 most mathematics education is like "here is how to do this thing... in case you absolutely need to apply this and there is no computer ANYWHERE" <-- it might happen, post-catastrophe. Plus someone has to know how to implement it all 22:49:22 I never said don't teach them the algorithm 22:49:32 Plus, that's irrelevant to initial education 22:49:45 You think a typical schoolkid could survive a post-apocalyptic world? 22:49:47 pff 22:51:31 I don't think anyone can survive apocalyptic 22:51:42 not even a typical schoolkid 22:54:23 ehird, good point 22:54:57 * pikhq shakes a fist at OSCAR 22:55:13 I'm applying existential quantification, flexible contexts, multiple-parameter type classes, flexible instances and functional dependencies to the problem of generating HTML. 22:55:15 ehird, also, what about when you need to check that you didn't get short changed while in a ship 22:55:15 what's OSCAR? 22:55:17 shop* 22:55:18 XD 22:55:22 I am a true Haskell programmer. 22:55:31 yeah I can see that you are a haskell programmer 22:55:34 AnMaster: Yep, that involves differentiation...? 22:55:34 that seems like a reasonable example of having to know basic arithmetic 22:55:36 typical haskell programmer 22:55:43 ehird, oh I thought you said "initial" 22:55:48 sorry that was mean 22:55:49 soupdragon: Hey, it's verified that the document is valid at compile-time. 22:55:53 That's valuable. :P 22:55:53 meaning, up to 10 years old or such 22:56:03 I did say initial 22:56:06 meaning like pre-university 22:56:09 ehird, ah 22:56:17 I thought more like primary or whatever you call it 22:57:11 I'm going to make a preprocessor to generate this code 22:57:13 It is rather gnarly 22:57:23 ehird, what about having to figure out how fast the water level will raise in the bath if the tap is broken. So you know how much time you have to get hold of a plumber 22:57:25 And I only have three tags implemented :P 22:57:31 that would be a differential eqation 22:57:33 equation* 22:57:37 AnMaster: lol 22:57:54 ehird, assume also that electricity failed or such 22:59:20 though by the time you figured it out you could instead have gone down and turned off the main where the pipes goes into the house...) 22:59:45 Quite. 22:59:46 ehird, what do you call that thing? 22:59:58 I don't know. Boiler? 22:59:59 it's the same word as "tap" in Swedish 23:00:02 ehird, no 23:00:11 I didn't really read your sentence. 23:00:13 ehird, I meant the cut off of cold water 23:00:21 "tap", apparently. 23:00:28 there is a thing to cut it off where the water pipes goes into the house yeah 23:00:44 ehird, hm okay 23:00:46 -!- BeholdMyGlory has quit (Remote closed the connection). 23:00:48 ehird, found it with google? 23:00:52 yeah 23:00:54 google translate 23:00:55 hahahahahaha it works 23:00:57 excellent 23:01:19 ehird, well it is "kran" for both in Swedish 23:01:39 but that doesn't mean both meanings have the same word in English 23:01:48 Apparently cock is one of the meanings of kran in Swedish 23:01:54 is it? 23:01:55 Type-safe HTML generation with existential quantification, flexible contexts, multiple-parameter type classes, flexible instances, functional dependencies and undecidable instances. It works! 23:02:01 AnMaster: 23:02:01 ehird, kran is also slang for nose I know 23:02:02 1. CRANE 23:02:04 2. TAP 23:02:05 3. FAUCET 23:02:07 4. COCK 23:02:08 5. STOPCOCK 23:02:10 6. BIBCOCK 23:02:11 7. CRAB 23:02:13 ...? 23:02:15 where is that from 23:02:16 hm 23:02:24 google translate 23:02:30 it lists alternatives? 23:02:35 didn't know that 23:05:42 ehird, apperently "BIBCOCK" and "STOPCOCK" are plumbing related 23:06:53 Oh. 23:06:55 ehird, "cock" can also be a sort of valve 23:06:56 it seems 23:07:02 I thought bibcock was like a bib, but you put it on your penis. 23:07:05 apart from being a bird I mean 23:07:11 To keep your penis clean, I guess. 23:07:22 OBVIOUS ISN'T IT 23:07:23 ehird, bib being short for bibliography? 23:07:30 Short for bib :P 23:07:35 whatever bib is 23:08:28 "# Ballcock, a mechanism for filling water tanks" <-- the innuendo potential is extreme 23:09:09 "I was just putting my ballcock in the water tank, but it broke, so I took it out." 23:09:15 "Then I put it in again. And in, and out, in, out, in, out." 23:09:21 "Why are you looking at me funny?" 23:09:27 ehird, it is the thing that is used in toilets I think 23:09:32 to make them stop when it is filled up 23:09:55 see http://en.wikipedia.org/wiki/Ballcock 23:10:45 the talk page mentions it 23:11:57 -!- oerjan has joined. 23:12:18 oerjan, do you usually log read? I forgot 23:12:19 also hi 23:12:56 i usually search for my nick in the logs. i only log read if it's fairly short (which it isn't today) 23:13:00 fuckityfuckityfuck, I think my whole architecture is broken 23:13:00 and hi 23:13:33 ehird, for what? 23:13:40 ehird, OS? Editor? Something else? 23:13:42 i find no instances of my nick between my leaving and joining today, fwiw 23:14:01 oerjan: do you know how to fix problems that involve a complex intertwining of existential quantification, flexible contexts, multiple-parameter type classes, flexible instances, functional dependencies, undecidable instances and impredicative types? 23:14:09 AnMaster: actually, I'm just trying to generate HTML. 23:14:16 ehird, oh 23:14:19 words to the effect of "no" 23:14:22 the HASKELL way! 23:14:25 ehird: No more crazy C lambda? 23:14:25 plan9 plan9 plan9 plan9 plan9 23:14:37 pikhq: c lambda is like a pinch, this is like being bludgeoned 23:14:39 or something 23:14:42 Ah. 23:15:00 the end goal is something that'll let you use HTML literals in haskell source code and it'll be totally type-safe 23:15:02 like 23:15:07 oerjan, how many ballcocks are there in your house/apartment? 23:15:16 XD 23:15:16 what is a ballcock 23:15:26 oerjan, what do you think? 23:15:35 foo path = do (w,h) <- imageInfo path; return 23:15:53 pikhq: and it'll be foo :: FilePath -> Element IMG 23:15:55 oerjan, I would assume at least one 23:15:59 it _sounds_ dirty, but that could be misleading. and even if it _is_ dirty i wouldn't know precisely what it means 23:15:59 possibly more 23:16:01 where "w" and "h" there actually have to be integers 23:16:05 it'd desugar to something like 23:16:07 oerjan, "Ballcock, a mechanism for filling water tanks" 23:16:12 oerjan, used in toilets 23:16:19 indeed... 23:16:21 well, gravity operated ones 23:16:29 return (img ! src path ! width w ! height h) 23:16:49 and if any of the html or compositions of html in your entire program resulted in any invalidity it'd go beep and be sad. 23:17:18 oerjan, it sounds like the perfect innuendo 23:18:38 well my apartment has 1 toilet. perhaps the hot water tanks? there are two. 23:18:40 no idea what kind of design any of them use 23:18:41 so i assume <= 3 23:19:13 oerjan, not sure about them either 23:19:18 oerjan, also tanks? 23:19:28 isn't there usually just one? 23:20:04 oerjan, btw me making an actual dirty remark like that is almost zero 23:20:06 AnMaster: There exists more than one toilet. 23:20:16 pikhq, in the world? yes certainly 23:20:43 pikhq, otherwise there would be infinite problems with a long queue 23:20:58 ehird: btw i did see some functional language for typesafe xml or whatever somewhere 23:20:59 If there were only one water tank, one would say "ballcock, a mechanism for filling the water tank". 23:21:04 oerjan: yeah cduce 23:21:10 the annoying thing is i've *done* this in haskell before 23:21:13 Because there exists more than one, one says "ballcock, a mechanism for filling water tanks". 23:21:19 pikhq, I quoted that from wikipedia 23:21:33 pikhq, if you mean oerjan, "Ballcock, a mechanism for filling water tanks" 23:21:44 Yes, and you were wondering why "water tanks" rather than "water tank". 23:22:20 Or I should stop IRCing while getting up every few seconds. 23:22:33 there might be more than one such language 23:22:38 pikhq, heh? 23:22:56 Should definitely stop IRCing while getting up every few seconds. 23:23:03 pikhq, it was on the disambig page for "cock" 23:23:14 Heh. 23:23:15 AnMaster: i am not sure why there are two tanks. _possibly_ one is for the landlady, i don't know if she has any tank elsewhere 23:24:10 anyway cock has so many meanings that there are lots of possible ways to use it for innuendo 23:24:27 anyone has a non-digital wrist watch in here? 23:24:51 -!- augur has joined. 23:24:52 * oerjan raises hand 23:24:56 faen 23:25:15 oerjan, "may contain cocks" 23:25:17 nooga: fy, ikke bann i kanalen 23:25:20 in this case 23:25:38 " * A part of a clock or watch used to support an outrigger bearing for a gear or lever 23:25:38 * Balance cock, supports the balance wheel in a watch" 23:25:52 I don't think http://en.wikipedia.org/wiki/Bracket_clock applies here 23:26:00 oh 23:26:09 i'm sorry 23:26:34 oerjan, fan också. får man inte säga en djävla svordom? 23:27:13 yea? 23:27:20 nooga, ? 23:27:37 AnMaster: i had the same question 23:27:51 (bracket clocks apparently have/had "fly cocks") 23:28:37 AnMaster: nei for pokker 23:29:19 ............ 23:29:37 oerjan, pokker? 23:29:44 AnMaster: btw is it optional whether or not to spell djävla with a d? 23:29:47 -!- iamcal has quit (Read error: 104 (Connection reset by peer)). 23:29:57 oerjan, I may have typoed it 23:30:02 it could be jävla 23:30:09 I don't normally write it 23:30:12 heh 23:30:20 pokker is a swear word, of course 23:30:32 oerjan, it is "djävulen" though 23:30:33 is javla something like 'damn' ? 23:30:44 or mostly, "for pokker" is a swear phrase 23:30:51 nooga, "djävulen" = "the devil" 23:31:12 oerjan, "poker"? 23:31:19 for pokker means something like dammit i think 23:31:21 oerjan, there is nothing like it in Swedish 23:31:33 woohoo, I've already done two parts of this assignment already 23:31:39 oerjan, dammit being more mild? 23:31:40 or? 23:31:52 not actually done them, but two sections are stuff I already took 23:31:53 i think it's related to pox, the disease 23:31:58 ah 23:32:19 (kopper in norwegian but may have been pokker historically?) 23:32:25 oerjan, don't think there is anything similar in Swedish 23:32:37 ehird: for what it's worth to you, I do think that putting calculus and the other high-level math course side-by-side so that there's lots of duplication between them is dumb 23:32:39 koppor in Swedish iirc 23:33:00 how about errr.... fjandin ? 23:33:06 is there such word? 23:33:14 nooga, negatory for Swedish 23:33:24 AnMaster: i'm not sure if my watch contains a cock, i expect it contains only minimal mechanical parts 23:34:18 nooga, the closest word I can think of is "fjantig" which isn't a swear word at all, rather it means ~silly (not exactly though) 23:34:30 oh 23:34:33 oerjan, battery driven? These modern people 23:34:59 oerjan, when I was young it was uphill both ways along the pendulum! 23:35:32 in a snowstorm! 23:35:52 See also: 23:35:52 * Cock (surname) 23:35:52 * Cocks (surname) 23:35:59 ouch 23:36:08 Cockburn especially. 23:36:42 ehird, what? really? 23:36:45 as a name? 23:36:51 Pronounced "cohburn". 23:37:22 hah 23:38:48 ehird, how is "cox" pronounced 23:38:48 nooga: fjandin looks similar to fienden (the enemy), could it be an old norse word? 23:39:02 uhm, let me see 23:39:13 AnMaster: Cocks. 23:39:24 and it also looks similar to fanden/faen, meaning the devil, quite possibly they all have that as origin... 23:39:26 YES! IT WORKS! 23:39:41 ehird, poor Alen Cox... 23:39:44 *Main> :t decompose (html head_ body) 23:39:45 decompose (html head_ body) 23:39:47 :: (String, [Attribute HTML], [Element]) 23:39:48 AnMaster: *Alan 23:39:50 Alan* 23:39:50 Also Russ Cox 23:39:52 ehird, yeah 23:40:04 ehird, who? 23:40:12 Plan 9 dude. 23:40:19 Wrote plan9port, also had a large part in Go. 23:40:22 ah 23:40:25 swtch.com 23:40:36 no wp article on him 23:41:20 so? 23:41:21 oh "cocktail" that would have high innuendo potential if it wasn't such a well known word 23:41:25 nooga: also old norse ~= icelandic, so could be that too 23:41:32 he also wrote the popular article http://swtch.com/~rsc/regexp/regexp1.html 23:41:41 http://www.youtube.com/watch?v=s7uw5bXzE7I#t=0m43s 23:41:51 actually you're right 23:41:58 it was icelandic 23:42:04 -!- cal153 has joined. 23:42:45 http://en.wiktionary.org/wiki/hver_fjandinn 23:42:49 huh 23:42:56 ehird, 20 seconds for that regex in perl? 23:43:03 how the heck did he write it... 23:43:48 basically the same as norwegian "hva faen", i take 23:44:14 AnMaster: RTFA 23:44:17 hm 23:44:36 also, http://en.wiktionary.org/wiki/fjandi 23:44:56 the disadvantage of NFAs is that you can't do backreferences in the regexp 23:44:59 i.e. (foo)...\1... 23:45:06 ehird, can it be expanded with all the features of PCRE and such though? I'll bookmark it for tomorrow. going to sleep now 23:45:09 but by the time you use one of those... whip out a parser, dude 23:45:11 AnMaster: no. 23:45:23 ehird, ah, that's a minor issue. 23:45:26 Not really 23:45:31 Most uses of regexps are much simpler 23:45:37 Most of the other uses are abuses 23:45:51 ehird, I often use lookahead and lookbehind at least 23:46:01 both negative and positive 23:46:50 and back references is common too 23:47:08 still, using the fastest one possible would be nice 23:49:33 -!- Pthing has joined. 23:55:44 -!- augur has quit (Read error: 110 (Connection timed out)). 2010-01-15: 00:14:13 Imaginary-base arithmetic is not much different from negative-base arithmetic, since an imaginary-base number may be considered as the interleave of its real and imaginary parts; using INTERCAL-72 notation, 00:14:15 x(2i) + (2i)y(2i) = x(2i) ¢ y(2i). 00:14:16 —Wikipedia 00:14:21 wow, INTERCAL actually used in a serious example 00:14:25 O_o 00:14:31 :D 00:14:35 we've finally made it, guys 00:14:37 we're mainstream! 00:14:38 that isn't INTERCAL-72 notation 00:14:39 though 00:14:50 it would be more like DO .1 <- ALSDFJSALDFJO@I#U$L!@JOUQE(W 00:14:57 it's using its notation for interleave. 00:15:00 also, intercal is not line noise. 00:15:06 it's pretty close 00:15:08 I've coded in it 00:31:20 we're mainstream! <-- then what to do now 00:32:19 shit this is so fucking difficult 00:32:22 I'm gonna try gadts 00:32:29 -!- comex has joined. 00:32:35 coppro, also ¢ is Princeton syntax for interleave. Isnot $ it for more modern? 00:32:41 "-72" 00:32:56 ehird, yes I said that 00:33:01 "Princeton syntax" 00:33:05 very clearly there 00:33:12 Wikipedia says "using INTERCAL-72" 00:33:18 Therefore what you are saying about more modern syntax is irrelevant 00:33:28 AnMaster: most modern compilers will accept $, but ¢ is the canonical operator 00:33:28 ehird, I was just trying to remmeber 00:33:29 plus 00:33:38 it would be more like DO .1 <- ALSDFJSALDFJO@I#U$L!@JOUQE(W <-- you used $ there 00:33:45 oh 00:33:45 >_< 00:33:47 that was incidental 00:33:48 He was writing line noise 00:34:01 ehird, true, doesn't change that he included it 00:34:11 and intercal is different line nose IME 00:34:14 more " for a start 00:34:26 I was disagreeing with that before—god, this is fruitless. 00:34:44 ehird, I know you were 00:34:44 ... 00:35:04 Your mom. 00:36:00 The irrelevance of integralosity 00:37:50 -!- augur has joined. 00:38:13 I wanna be CDATA'd 00:38:18 ehird, that's what she said 00:38:27 I do hope you got my pun. 00:38:38 it was on The irrelevance of integralosity 00:38:43 not the last line 00:38:48 Oh. 00:38:53 It's much better if you read it as the last line. 00:38:55 I already started typing when you wrote it 00:39:08 ehird, hm? 00:39:28 I wanna be CDATA'd → I wanna be sedated (reference to http://en.wikipedia.org/wiki/I_Wanna_Be_Sedated) 00:39:33 "I wanna be sedated" "That's what she said" 00:39:43 XD 00:39:53 Thus implying that the sexual prowess of the butt of the joke is so limited that women ask to be sedated so that they will not feel it as much. 00:39:57 Just call me joke explainer 00:40:47 ehird, you are claiming that title? then you will have to duel Ryan North first 00:41:52 Woot it worked 00:41:55 I'm so happy 00:42:02 -!- soupdragon has quit ("Leaving"). 00:42:38 ehird, what did 00:43:06 This Haskell code 00:43:27 plan9port switched to hg? 00:44:39 From? 00:44:43 ehird, cvs 00:44:51 I think it's always been hg. 00:44:52 there's no ghc for p9, but there's hugs 00:45:00 hugs sucks 00:45:08 ehird, they why is there .cvsignore in there still 00:45:08 yea 00:45:19 ehird, and lots of related cvs files 00:45:21 AnMaster: Dunno, then. 00:46:19 My brain just exploded. 00:46:21 I can't handle pattern bindings for existential or GADT data constructors. 00:46:22 Instead, use a case-expression, or do-notation, to unpack the constructor. 00:46:23 —GHC 00:47:07 ehird, XD 00:47:20 ehird, are most that funny? 00:47:31 No, most of them are just technical and very confusing. 00:47:41 ehird, very confusing. Like? 00:47:47 You end up patternmatching on the first words and the structure of the error message to debug problems. 00:47:53 AnMaster: sec 00:47:58 I'll get a good one 00:48:28 at least gcc errors are usually not very cryptic. Unless you are doing lambda ;P 00:48:32 Inferred type is less polymorphic than expected 00:48:34 Quantified type variable `me' escapes 00:48:35 g++ on the other hand... 00:48:35 When checking an existential match that binds 00:48:37 x :: Element me BODY 00:48:38 The pattern(s) have type(s): WrapElem BODY 00:48:40 The body has type: Element me BODY 00:48:41 In a case alternative: WrapElem x -> x 00:48:43 In the expression: 00:48:44 case 00:48:46 (decompose (BODY [WrapElem (CDATA "poop")] :: Element BODY HTML)) 00:48:47 of { 00:48:51 WrapElem x -> x } 00:48:53 Admittedly, that's when doing crazy code 00:49:00 ehird, nonense to me 00:49:07 nonsense* 00:49:23 It's a rather specialised error. :) 00:49:58 ehird, what does it mea 00:50:00 mean* 00:50:19 We have: 00:50:21 data WrapElem a = forall me. WrapElem (Element me a) 00:50:25 So basically, you can have e.g. 00:50:25 ehird, also is there no line number there? 00:50:30 That's on the previous line 00:50:31 [WrapElem Foo] 00:50:33 You can have that 00:50:38 And that means that you can have 00:50:44 mhm 00:50:52 [WrapElem (something whose me type variable is Blah), WrapElem (something whose me type variable is Baggo)] 00:50:53 And it works 00:51:02 So it lets you do heterogenous lists of a sort, yeah? 00:51:07 The problem is, what I did is basically 00:51:09 I see 00:51:11 Take the first element of that list 00:51:17 and extract the innards from the WrapElem 00:51:19 The problem is 00:51:23 The type of that list is [WrapElem Something] 00:51:26 So 00:51:33 We don't know what type "me" will be from that 00:51:42 So it's breaking the abstraction of WrapElem, and letting you break things, if it lets you get the value out 00:51:43 Something being like void* ? 00:51:52 AnMaster: No, being irrelevant to the issue 00:51:58 ah 00:52:03 —Because the inner type variable "me" would have to escape and leak from WrapElem. 00:52:07 So you can't do it. 00:52:15 Of course, this is... not so common to do. 00:52:23 ehird, is there a way to get at the value then? 00:53:04 also what does WrapElem do? 00:53:14 Sure; if all the values inside the WrapElems share a typeclass (and this is in the type signature), you can extract it to use methods of that type class on it 00:53:16 So we can do 00:53:23 data Showable = forall a. (Show a) => a 00:53:30 (show is the class of values that can be given a good string representation) 00:53:32 ah 00:53:33 *Show is 00:53:34 and then 00:53:42 [Showable 1, Showable "butt", Showable [1,2,3]] 00:53:44 erm 00:53:49 data Showable = forall a. (Show a) => Showable { unShowable :: a } 00:53:52 then [Showable 1, Showable "butt", Showable [1,2,3]] 00:53:54 and we can do 00:54:00 map (show . unShowable) thatList 00:54:04 ah 00:54:08 unShowable extracts the value of type (Show a) => a from the list 00:54:15 and then we call show on it 00:54:17 and we get back 00:54:18 but not possible in generic? 00:54:20 ["1", "butt", "[1,2,3]"] 00:54:24 AnMaster: ? 00:54:30 It's not possible without a typeclass. 00:54:33 ah 00:54:35 Or, well, a function that works on values of any type. 00:54:39 Like id :: a -> a :P 00:55:00 Basically a lot of this stuff is because we want a useful feature of the type system, but there's some hole that lets us break the type system with it 00:55:02 So we just plug that hole 00:55:03 ehird, that would be a useless non-transformation in general 00:55:14 id is useful sometimes in Haskell 00:55:17 oh? 00:55:32 well I imagine as a parameter to not map but similar funcs 00:55:36 it could be useful 00:55:48 Prelude> :t foldr id 00:55:49 foldr id :: b -> [b -> b] -> b 00:55:51 So: 00:55:57 :t? 00:56:03 show-me-the-type-of 00:56:05 ah 00:56:07 foldr 3 [succ, succ, pred] → 4 00:56:09 Erm 00:56:11 foldr id 3 [succ, succ, pred] → 4 00:56:25 Whereas foldr in general is foldr :: (a -> b -> b) -> b -> [a] -> b 00:56:25 I guess ti would get you the tail of the list you are folding? 00:56:28 oh foldr 00:56:31 well the head then 00:56:35 ?? 00:56:41 So id is just a → a 00:56:42 nvm 00:56:45 But since our list contains functions 00:56:51 It turns into (a → b) → (a → b) 00:56:55 Which is the same as 00:57:01 (a → b) → a → b 00:57:11 Well 00:57:15 They have to be monomorphic but 00:57:20 it's (a → a) → a → a 00:57:22 ehird, wouldn't fold* require a function that takes both accumulator and current value from list 00:57:22 get it? 00:57:24 So the second argument, a, becomes the type of foldr's next argument 00:57:33 AnMaster: it does. 00:57:39 I was trying to explain it but you're not listening so I won't bother 00:57:39 ehird, id does that?? 00:57:46 I was listening 00:57:49 trying to 00:58:27 ehird, also yes I see what you mean there I think 00:58:28 Okay, we need lambdabot in here 00:58:30 Frsrs 00:58:32 To explain 00:58:44 Basically 00:58:52 Prelude> :t foldr 00:58:53 foldr :: (a -> b -> b) -> b -> [a] -> b 00:58:54 Prelude> :t id 00:58:56 id :: a -> a 00:58:57 So, if we pass id as the first argument of foldr 00:59:02 It must be of type (a → b → b) 00:59:06 That's the same as 00:59:07 EgoBot can do some haskell 00:59:09 a → (b → b) 00:59:11 aha 00:59:14 Now 00:59:19 id's first argument must have the same type as its second 00:59:21 So this turns into 00:59:24 so it is basically optimising it? 00:59:27 (b → b) → (b → b) 00:59:34 AnMaster: What? 00:59:40 That sentence makes no sense whatsoever. 00:59:43 ehird, well, optimising the type 00:59:49 to make it as simple as possible 00:59:51 It's not optimising... It's specifying 00:59:55 Making it less general 00:59:57 So anyway 01:00:00 well okay 01:00:03 We have id :: (b -> b) -> (b -> b) 01:00:04 bad word choice 01:00:09 Because of that specification 01:00:11 Right? 01:00:13 yes 01:00:17 makes perfect sense 01:00:17 This is the same as 01:00:20 (b -> b) -> b -> b 01:00:29 (when we want two arguments in haskell we just curry it) 01:00:30 makes kind of sense yes 01:00:39 So, since 01:00:46 foldr :: (a -> b -> b) -> b -> [a] -> b 01:00:51 Our next parameter is b, which as we can see in our id signature is b. 01:00:54 So that's any value. 01:00:55 !haskell foldr id 1 [(+1), (*10), (+1)] 01:01:00 oerjan: i explained that 01:01:03 plz don't interrupt my explanation 01:01:07 AnMaster: So, the list. 01:01:09 21 01:01:11 ehird, it does make kind of sense yes 01:01:13 Well, what's the "a" in our id type? 01:01:15 (b -> b). 01:01:26 So we give it a list of functions of b -> b. 01:01:45 oerjan, oh *now* I see how it can be useful too 01:01:48 very cool 01:01:57 Here's how that evaluates: 01:02:13 ehird, in his defence oerjan's example *did* help a lot 01:02:18 Alright 01:02:29 (+1) `id` ((*10) `id` ((+1) `id` 1))) 01:02:34 The last 1 because we're at the end of the list 01:02:36 right 01:02:38 So we take foldr's second parameter 01:02:43 Now, we can just eliminate the ids there; they do nothing. 01:02:45 So we get 01:02:55 (+1) ((*10) ((+1) 1)) 01:02:58 ehird, foldr starts at head and goes to tail? Or was it the reverse 01:02:59 In more common terms, 01:03:04 ((1+1)*10)+1 01:03:06 AnMaster: yes 01:03:10 not the reverse, you got it 01:03:13 right 01:03:16 foldr is the same, but it nests leftwards instead of rightwards 01:03:22 foldr has the nice property that you can use it on infinite lists 01:03:23 so foldl is the reverse? 01:03:25 ooh, I wonder if this works 01:03:28 no 01:03:35 AnMaster: they're identical in behaviour apart from when given infinite lists 01:03:40 mostly, foldl is faster 01:03:42 but foldr works on infinite lists 01:04:02 ehird, foldr would be tail recursive in scheme, but foldl wouldn't? Or isn't it cons style list? 01:04:16 It is. 01:04:19 Let me show you the source 01:04:25 no, the other way around 01:04:30 [01:04] @src foldl 01:04:31 [01:04] foldl f z [] = z 01:04:33 [01:04] foldl f z (x:xs) = foldl f (f z x) xs 01:04:35 [01:04] @src foldr 01:04:36 [01:04] foldr f z [] = z 01:04:38 [01:04] foldr f z (x:xs) = f x (foldr f z xs) 01:04:39 No need to understand Haskell 01:04:41 Just look at where the parens are in the recursion structure 01:04:47 hm 01:04:50 You can see there why foldl doesn't work on infinite lists 01:04:52 but foldr grows the stack 01:04:58 foldr looks tail recursive indeed 01:05:02 or wait no 01:05:06 * oerjan realizes he should have used a list that wasn't its own reverse... 01:05:07 meh 01:05:08 misread 01:05:14 oerjan, :D 01:05:15 !haskell foldr id 1 [(+1), (*10), (+2)] 01:05:16 31 01:05:23 oerjan: here's a fun example for you: foldr id [] $ cycle [(1:)] 01:05:29 for AnMaster: 01:05:33 cycle [x] is an infinite list of x 01:05:36 [x,x,x,x,...] 01:05:40 also, (:) is cons 01:05:44 so (1:) [3,4] is [1,3,4] 01:05:51 ehird, so foldl is tail recrusive, but foldr is not? 01:05:52 So we have an infinite list of functions which, when given a list, prepend 1 to them 01:06:00 You know how foldr id works 01:06:03 So we start with [] 01:06:05 yep 01:06:06 saw it 01:06:10 And, each element of the infinite list, we run (1:) on it 01:06:13 The result? 01:06:15 [1,1,1,1,... 01:06:18 And this *actually works*. 01:06:24 hm right 01:06:25 You can run it in GHCi and see the 1s appearing as fast as your CPU will let them. 01:06:34 (f $ x is just f x) 01:06:42 except sometimes when you would have to do f (blah) you can do f $ blah 01:06:47 ehird, well it makes sense to not compute the list until it is required 01:06:48 just an aid 01:06:53 AnMaster: yep 01:06:54 seems like a lazy feature 01:06:57 Indeed 01:07:06 ehird, nothing mind boggling in that 01:07:13 It's just so cool that you can say things like "Apply this infinite list of functions to this empty list" and get something back 01:07:16 Something relevant 01:07:24 AnMaster: Fine, want something more interesting? 01:07:31 AnMaster: for scheme, the foldl equivalent is tail recursive. for haskell, lazy evaluations makes everything a lot more fishy 01:07:34 ehird, it is just very functional and high level. I would expect a CAS to be able to do it as well 01:07:39 Prelude> take 10 $ foldr id [] $ map (:) [1..] 01:07:40 [1,2,3,4,5,6,7,8,9,10] 01:07:49 oerjan, yeah 01:07:50 So map (:) [1..] turns into [(1:),(2:),...] 01:07:52 etc 01:07:53 which is why there is foldl' to force evaluation at each step 01:08:15 ehird, but why can't foldl work on infinite lists 01:08:21 you can stop at the step you need, no? 01:08:25 [01:04] [01:04] @src foldl 01:08:26 [01:04] [01:04] foldl f z [] = z 01:08:28 [01:04] [01:04] foldl f z (x:xs) = foldl f (f z x) xs 01:08:29 Trace the evaluation 01:08:37 foldl f z (1:xs) = foldl f (f z x) xs 01:08:39 lets see 01:08:40 erm 01:08:43 wait 01:08:47 let's say z = 0 01:08:56 foldl f 0 (1:xs) = foldl f (f 0 1) xs 01:09:01 uhm 01:09:03 ehird, is z the accumulator? 01:09:06 Yes 01:09:10 So we do foldl f (f 0 1) xs 01:09:14 ehird, those short variable names really confuses me 01:09:17 etc etc etc etc 01:09:20 Until we reach f z [] 01:09:22 And then we return z 01:09:26 We never build anything up 01:09:31 We compute it all via tail recursion, then return the accumulator 01:09:31 oh 01:09:40 right 01:09:43 AnMaster: The short variable names are only confusing in hyper-abstract code 01:09:51 Which you don't have to write very often :) 01:09:52 ehird, why not use map for that thing 01:09:58 Er, how? 01:10:03 I mean 01:10:07 that infinite list 01:10:16 mapping over infinite list makes sense 01:10:23 I did 01:10:28 right 01:10:32 [01:07] Prelude> take 10 $ foldr id [] $ map (:) [1..] 01:10:33 [01:07] [1,2,3,4,5,6,7,8,9,10] 01:10:35 [01:07] So map (:) [1..] turns into [(1:),(2:),...] 01:10:38 ah there 01:10:38 ehird: that foldr id [] $ cycle [(1:)] could use undefined or anything at all of the right type instead of [], since it is never actually used 01:11:04 oerjan: indeed 01:12:07 Haskell is wonderful once you know it 01:12:17 The problem is that Haskell makes you want to do abstract, awesome code 01:12:29 And by doing so, you run into difficulties 01:12:31 And this makes it seem like Haskell is difficult 01:12:41 It's just that the language's awesome power encourages people to do crazy things :-) 01:12:50 s/power/purity/ 01:13:18 # pacman -Ss tdb 01:13:18 extra/tdb 1.2.0-1 01:13:18 A Trivia Database similar to GDBM but allows simultaneous commits 01:13:26 what the hell is a "Trivia database" 01:13:29 map f = foldr ((:).f) [] iirc 01:13:42 something for "in popular culture" sections on wikipedia? 01:14:06 AnMaster: also http://foldr.com/ 01:14:08 (enable js) 01:14:30 ehird, why is there no foldl? 01:14:34 as in 01:14:36 foldl.com 01:14:37 it used to exist 01:14:41 but it expired or something 01:15:13 ehird, it shows "The web page you tried to visit might have been trying to steal your personal information. That page was removed after being identified as a "phishing" web page." 01:15:14 wth 01:19:44 I want to write a Scheme→C compiler. 01:19:53 So I will. 01:20:49 ehird: And your implementation method? 01:21:04 CPS-transform followed by Cheney on the M.T.A. 01:21:07 * pikhq is going to guess the awesome one. 01:21:11 Simple, beautiful, performant! 01:21:20 Implemented in Haskell, because dammit I want to write some Haskell. 01:21:36 pikhq: You guessed right :P 01:21:38 Heheh. 01:21:39 ehird, and read that paper on regex. Of course I knew that regex were equiv with NFA and DFA. They teach that sort of thing at university 01:21:47 + I knew it before 01:21:56 AnMaster: Yes, but it's a practical paper about practical implications. 01:22:04 And also a guide to implementing NFAs efficiently. 01:22:12 (for regexps) 01:22:19 ehird, yes indeed. I would have gone to DFA instead 01:22:35 The argument is advocating NFA, so that's unlikely. 01:23:07 ehird, hm? as in, since I didn't know about the efficient NFA algorithm 01:23:25 Ah, I see. 01:23:32 but I did know it was equiv with DFA and DFA was fast 01:23:39 That algorithm is implemented by the inventor of computer regxps. :) 01:24:05 -!- FireFly has quit ("Leaving"). 01:24:09 ehird, for practical purposes I would have said "argh I can't back ref" 01:24:23 Meh :P 01:24:47 I actually use back ref quite often 01:25:00 sure not all the time 01:25:08 Is there any sort of guarantee in a regular C program that the first N memory locations won't be allocated? 01:25:12 I guess there is, up to a point. 01:25:37 #f = 0, #t = 1, '() = 2, ASCII characters = 3 to 259. 01:25:44 ehird, you mean near NULL? 01:25:46 Apart from that, lower bit is 1 means that it's a fixnum. 01:25:49 Otherwise, it's a pointer. 01:25:59 ehird, if you mean the first page of memory: "no" 01:26:00 AnMaster: I need memory locations 0 to 259 to be free, to be specific. 01:26:07 ehird, not in generic 01:26:21 Hmm, pointers to variables on the stack end with 0, right? 01:26:45 ehird, on linux "most likely" page 0 won't be mapped since it kernel usually forbids it 01:26:53 Good enough for me 01:26:57 dosemu (or was it dosbox) depends on it though 01:27:04 so does sheepshaver 01:27:15 ehird, as for ending on zero 01:27:17 depends 01:27:33 ehird, it will likely be aligned 01:27:37 so a 4 byte integer yes 01:27:45 a char? maybe not 01:27:59 ehird, not guarantee though 01:28:20 all implementation defined and could in theory vary between runs 01:28:38 /* 01:28:39 Anatomy of a value: 01:28:40 0 #f 01:28:42 or between calls 01:28:42 1 #t 01:28:43 2 () 01:28:45 3 to 258 \0-\255 01:28:47 Otherwise, if the low bit is 1, it's a fixnum. Otherwise, it's a 01:28:48 pointer to a tag. 01:28:50 */ 01:28:51 AnMaster: What about calloc, I wonder? 01:28:56 ehird, ? 01:28:58 (Cheney on the M.T.A. is basically oriented around putting most values on the stack.) 01:29:01 ehird, it will zero the bytes 01:29:03 what about it 01:29:11 AnMaster: I mean, will calloc return an even pointer? 01:29:13 Probably, I guess. 01:29:27 ehird, not guaranteed afaik 01:29:55 ehird, in practise on linux: yes 01:30:10 but not even guaranteed on posix iirc 01:31:19 ehird, btw I will probably get 24 mbit/s ADSL. Will considering distance to exchange reach probably around 18 mbit/s 01:31:21 Well, either it does that or it breaks. 01:31:22 Not my issue. 01:31:33 AnMaster: Move and get 100 Mb/s. 01:31:43 I'm currently on ADSL2 but artificially capped 01:31:48 at 8 mbit down 01:32:02 ehird, yeah, three blocks iirc 01:32:04 :P 01:32:28 ehird, would be useless however 01:32:41 Meh 01:32:41 since most other places can't keep up with that 01:32:46 ??? 01:32:48 Yes they can 01:32:56 ehird, mirrors I mean 01:32:58 BitTorrent, kernel.org, ... basically everywhere download speed matters. 01:33:05 hm really? 01:33:06 meh 01:33:06 You saw how fast Deewiant downloaded that kernel. 01:33:11 Less than 20 seconds 01:33:15 what kernel? 01:33:16 For the entire kernel source 01:33:21 and I didn't 01:33:26 AnMaster: You did, you commented on it 01:33:30 When we were trying to strip down Linux 01:33:35 oh then 01:33:36 right 01:33:37 2.6.3x for some x 01:33:41 thought you mean recently 01:33:43 Like 60 megs in under 20s 01:34:20 ehird, was it fizzie's system? 01:34:20 or Deewiant? 01:34:22 I forgot 01:34:31 Deewiant 01:35:31 #define is_boolean(v) ((v) < 2) 01:35:32 #define is_nil(v) ((v) == 2) 01:35:34 #define is_char(v) (((v) > 2) && ((v) < 259)) 01:35:36 La dee dah 01:36:22 Before AnMaster says "evaluated twice", let me say "compiler output". 01:36:34 ehird, I didn't plan to 01:36:49 ehird, also what did you need the low mem locations for? 01:37:21 /* 01:37:23 Anatomy of a value: 01:37:24 0 #f 01:37:25 1 #t 01:37:26 ye 01:37:27 2 () 01:37:28 yes* 01:37:28 3 to 258 \0-\255 01:37:29 I saw that 01:37:30 Otherwise, if the low bit is 1, it's a fixnum. Otherwise, it's a 01:37:31 pointer to a tag. 01:37:33 */ 01:37:38 This way, I have inline storage of booleans, nil, characters and small integerss. 01:37:39 I just don't know how it fits in 01:37:41 *integers 01:38:01 oh 01:38:02 Leaving big integers, other numbers, symbols, pairs, procedures and a handful of other types boxed. 01:38:03 right 01:38:32 ehird, sure all the masking required will be faster? 01:38:45 Sure. 01:38:50 ehird, also which gc will you use? 01:38:52 AnMaster: masking of what? 01:38:55 exactly 01:39:02 Also, gonna write my own. 01:39:12 ehird, masking to test every time you want to number chrunch a cons style list 01:39:14 Trivial stop-the-world, noncompacting mark and sweep. 01:39:22 *crunch 01:39:28 yeah 01:39:36 AnMaster: Faster than dereferencing a pointer and checking it for equality, which is what you'd have to do anyway. 01:40:04 mhm true 01:40:08 ehird, what about vectors? 01:40:51 ehird, how will you store vectors 01:41:09 Boxed. 01:41:19 Scheme isn't a language with efficient representation, you know. 01:41:29 ehird, it could be in theory 01:42:08 Only with heuristics. 01:42:58 ehird, well yeah, there should be some "I will not redefine -+*/ lambda, define + a few more" option 01:43:29 to allow proper constant folding and so on 01:43:38 That's not Scheme. 01:43:45 ehird, actually it could work without it 01:43:46 JIT it 01:43:53 Doesn't help. 01:43:59 and if those are overridden, just recompile it 01:44:03 ehird, doesn't it? 01:44:08 lol, well, okay, that could work 01:44:36 ehird, 80% at least of the programs won't actually redefine those 01:45:04 probably 98% or something 01:45:45 * ehird wonders if multiple *v in the same expression will be optimised away 01:45:54 after all, theoretically the value could change between them 01:46:13 ehird, depends on if the compiler can say it won't 01:46:20 is it volatile? 01:46:24 No. 01:46:36 #define tag_of(v) \ 01:46:37 (is_boolean(v) ? tag_boolean : \ 01:46:38 is_nil(v) ? tag_nil : \ 01:46:40 is_char(v) ? tag_char : \ 01:46:41 is_fixnum(v) ? tag_fixnum : \ 01:46:43 is_symbol(v) ? tag_symbol : \ 01:46:44 then it most likely will be optimised away, unless it is global and other functions are called 01:46:45 is_pair(v) ? tag_pair : \ 01:46:46 panic("Invalid tag %d (%x, %b)", *v, *v, *v)) 01:46:47 Yay. 01:46:48 in betweem 01:46:51 between* 01:46:58 or other such edge case 01:47:30 ehird, does it need to check the tag all the time 01:47:35 Yes. 01:47:45 It's fast enough. 01:47:53 ehird, not really in the case of: (+ 4 2 (- 2 4)) 01:48:15 That's a problem almost all Scheme implementations share. Stop bugging me about it. 01:48:20 ehird, since it just got the value it knows the type 01:48:30 ehird, yes but why not write it *better* 01:48:42 it would be fun 01:48:42 Because I'm just trying to have fun, not deal with gnarly edgecases. 01:48:45 ah 01:48:57 Since it's compiling to C, GCC can compile away a lot of the more stupid things. 01:49:02 ehird, is there any scheme implementation that won't 01:49:06 won't* do that 01:50:05 Stalin almost certainly doesn't. 01:50:22 eh...? 01:50:30 Google it. It's a Scheme compiler. 01:50:30 ehird, chicken? 01:50:33 R4RS. 01:50:41 ah 01:50:46 -!- jpc has quit (Remote closed the connection). 01:50:47 ehird, any R5RS? 01:50:57 and what are the major diffs between R4RS and R5RS? 01:51:01 I don't know. I don't want to think about it. Also, I need to go to the toilet soon. 01:51:05 AnMaster: Some stuff. 01:51:13 Stalin only works on a subset of R4RS, anyway. 01:51:21 But it's faster than hand-written C programs for number-crunching. 01:51:35 ehird, that's impressive 01:51:36 how 01:51:43 Very good compilation. 01:52:15 skeleton.c:55: warning: comparison between pointer and integer 01:52:18 Repeat 7945983459345 times. 01:52:23 I wonder what the flag to disable that warning is. 01:52:39 ehird, cast one 01:52:49 ehird, also be wary of integer and pointer size 01:52:53 No, a compiler flag. 01:52:53 you want intptr_t 01:52:55 Also, it has to be equal. 01:53:09 ehird, you use intptr_t not int then? 01:53:14 I use void *. 01:53:21 ehird, and for integers? 01:53:25 void * 01:53:29 ouch :D 01:53:32 with the low bit being 1 01:53:39 AnMaster: that's the standard implementation technique 01:53:43 all schemes do it, even ruby does it 01:53:50 ehird, the C way of doing it is intptr_t in C 01:53:54 Don't care. 01:53:59 also you invoke undef behaviour I believe 01:54:04 skeleton.c:55: error: invalid operands to binary & (have ‘void *’ and ‘int’) 01:54:07 Oh, fuck off you stupid compiler. 01:54:22 ehird, intptr_t is the answer 01:54:28 Shut up. 01:54:36 just trying to be helpful 01:54:41 I'll just cast. 01:54:59 ehird, to? 01:55:21 if you say "int" well you just dropped x86_64 compatibility 01:55:27 I never say that. 01:55:30 I always use pointers. Always. 01:55:31 good 01:55:35 meh 01:55:35 Even when doing arithmetic. 01:55:56 ehird, gcc can optimise less then possibly. Not sure 01:56:09 skeleton.c:55: error: invalid operands to binary & (have ‘void *’ and ‘void *’) 01:56:11 >_< 01:56:17 ehird, see. I told you so 01:56:24 #define cast(v) ((long) v) it is 01:56:32 ehird, :P 01:56:35 ehird: s/long/intptr_t/. 01:56:36 *(v) 01:56:44 pikhq: This will break if sizeof void* != sizeof long anyway 01:56:46 So why bother 01:56:46 intptr_t is guaranteed to be the same size as a pointer. 01:56:51 pikhq, indeed 01:57:05 Name one architecture where sizeof void * != sizeof long but has intptr_t 01:57:09 I'll wait here. 01:57:20 ehird, what is wrong with intptr_t though 01:57:26 why do you hate it 01:57:28 It doesn't solve my casting woes, for one. 01:57:35 I don't hate it, it's just not a solution to any of my problems. 01:57:37 So stop suggesting it. 01:57:38 it does as well as long does 01:57:41 ehird: Doesn't Win64 have 32-bit longs? :P 01:57:42 Exactly. 01:57:44 And no better. 01:57:46 pikhq, yes it does 01:57:48 pikhq: I depend on POSIX. 01:57:49 iirc 01:58:14 Slight disadvantage of using macros here is that all of my errors point to the same line :P 01:58:15 ehird: Just use intptr_t. It can only break by not existing. 01:58:37 I officially rename this channel #intptr_t 01:58:43 intptr_t is c99 only, anyway 01:59:11 is it? so what? 01:59:34 ehird, by depending on POSIX you will have a C99 compiler 01:59:34 And if something's sufficiently braindead to not offer stdint.h, it can fuck off. 01:59:48 in fact you might not have a c89 one iirc 01:59:49 I bet that number-of-platforms-supporting-C99-and-intptr_t < number-of-platforms-not-supporting-C99-but-having-sizeof-long-be-sizeof-void-pointer 01:59:49 ehird, ^ 01:59:50 :P 02:00:26 ehird: intptr_t is "correct". Assuming sizeof(long) == sizeof(void*) is "retarded". 02:00:37 And will make a Win64 porter kick you in the balls. 02:00:46 can you shut the fuck up and let me code how i like because it's for fun thx 02:01:01 ehird, also since you depend on POSIX, number-of-platforms-supporting-C99-and-intptr_t == 100% of your goal 02:01:15 Turns out POSIX support doesn't mean total POSIX support. 02:01:20 It just means "not Windows". 02:01:32 ehird, MacOS classic? 02:01:48 ehird, also internix 02:01:56 sigh 02:03:49 brb 02:08:25 * pikhq should design an architecture with: 16-bit shorts, 32-bit ints, 64-bit longs, 128-bit long longs, and 256-bit pointers. 02:13:31 night → 02:13:57 pikhq: Fine. intptr_t it is. 02:14:10 I would like to note that Cheney on the M.T.A. is unportable anyway. 02:14:19 It depends on calloc, which is not specified by either C or POSIX. 02:14:33 (Unless you want to malloc everything, but that'd be painful.) 02:15:05 -!- anmaster_l has quit (Read error: 110 (Connection timed out)). 02:16:31 Also, the gc will have to look at the C stack. 02:16:35 Or did neither of these things cross your mind? 02:16:42 http://www.opengroup.org/onlinepubs/000095399/functions/calloc.html There's the calloc spec. 02:17:26 Sorry, I meant the Single UNIX Specification. 02:17:28 [3] Maximally portable implementations may shun alloca, since it is not required by either ANSI C or Unix. 02:17:32 And I mean alloca. 02:17:44 I doubt POSIX has alloca, either. 02:17:58 Yeah, POSIX isn't ANSI C or POSIX. 02:18:03 Erm. 02:18:04 alloca. 02:18:11 Or SUS. 02:18:17 And, since my gc will have to inspect the C stack... 02:18:21 I'm already pretty damn unportable. 02:20:52 You could, of course, just use variable-length automatic arrays. 02:20:56 Which are C99. 02:21:46 And the GC? 02:22:14 The best that can be done with that is make it not *too* unportable. 02:22:21 (see: Boehm GC) 02:24:13 Anyway, why do I need intptr_t? If I never use an integer type and do arithmetic on the (void *) it's irrelevant. 02:24:16 And that would give me total support 02:24:18 s/$/./ 02:25:35 Except that you're casting from void * to long for some of the arithmetic. 02:26:39 -!- nooga_ has joined. 02:27:46 pikhq: Am I? 02:28:00 I only did that for ((v)&1), which I'm sure could be written in another way. 02:28:19 -!- nooga has quit (Read error: 60 (Operation timed out)). 02:28:24 skeleton.c:57: error: invalid type argument of ‘unary *’ (have ‘int’) 02:28:29 Woot, now I get to cast in the other direction 02:29:00 ... int to void*? I MURDER YOU. 02:29:36 intptr_t to (void *). 02:29:47 What's that? You hate the fact that the compiler choose a value for it? Oh how cute. 02:29:52 STFU. 02:30:09 Argh. Right. Damned GCC, expanding the typedefs. :P 02:30:33 http://sprunge.us/hSje 02:30:34 Whoa. 02:30:45 This is your brain on macros. 02:31:06 http://sprunge.us/TSXD 02:31:09 This time, through indent 02:31:24 oh lol 02:31:31 it's erroring because *(void *) is-a void 02:31:39 Hahaha. 02:31:48 i hate c's integer/pointer model :( 02:31:53 why can't we just have a type 02:31:55 "word" 02:32:00 *word is-a word 02:32:05 and you can do arithmetic on it 02:32:07 and that's it 02:32:23 Hmm, seems that *wasn't* the issue 02:32:29 I'm halfway to making these inline functions 02:32:43 Tada 02:34:17 wait, does panic() actually exist in linux c compilations as in the kernel panic? 02:34:19 and just not work? 02:34:21 lol 02:34:24 * ehird changes the name of panic 02:34:52 I'm pretty sure that Linux's panic() function is kernelspace-only. 02:35:01 It definitely doesn't have a man page. 02:35:16 right, it was just complaining about tag_name and wrong but not panic not existing 02:35:25 Huh. 02:37:20 -!- MizardX has quit (Read error: 110 (Connection timed out)). 02:38:30 * ehird restructures his tag functions. 02:38:35 /me restructures his tag functions. 02:38:36 #define tag_of(v) \ 02:38:38 ((v) < 2 ? tag_boolean : \ 02:38:39 (v) == nil ? tag_nil : \ 02:38:41 (v) < 259 ? tag_char : \ 02:38:42 (v) & 1 ? tag_fixnum : \ 02:38:44 *(enum scm_tag *)(v)) 02:38:45 #define check_tag(v,t) \ 02:38:47 (tag_of(v) == (t) \ 02:38:49 || (wrong("Expected type %s, but received %s", \ 02:38:50 tag_name(t), tag_name(tag_of(v))), 0)) 02:38:52 That's simpler. 02:39:16 (((((scm_value) 3+('g'))) < 2 ? tag_boolean : (((scm_value) 3+('g'))) == ((scm_value) 2) ? tag_nil : (((scm_value) 3+('g'))) < 259 ? tag_char : (((scm_value) 3+('g'))) & 1 ? tag_fixnum : *(enum scm_tag *)(((scm_value) 3+('g')))) == (tag_boolean) || (wrong("Expected type %s, but received %s", tag_name(tag_boolean), tag_name(((((scm_value) 3+('g'))) < 2 ? tag_boolean : (((scm_value) 3+('g'))) == ((scm_value) 2) ? tag_nil : (((scm_value) 3+('g'))) < 259 ? 02:39:18 tag_char : (((scm_value) 3+('g'))) & 1 ? tag_fixnum : *(enum scm_tag *)(((scm_value) 3+('g')))))), 0)); 02:39:20 Damn common subexpressions. 02:39:27 I'ma rewrite check_tag as an inline function. 02:41:11 There. It's simple now. 02:41:26 http://sprunge.us/IMfG 02:41:37 (That long line and the first argument to check_tag being macro results, obviously.) 02:41:51 The former is tag_of(v), the latter is char('g'), although come to think of it that needs renaming. 02:43:02 Oops; s/scm_tag/enum scm_tag/. 02:43:38 pikhq: __attribute__((noreturn)), yeah? 02:45:24 "Your program is wrong and you should feel bad." is, I think, a good error message. 02:46:25 pikhq: Ooh, I just had a ridiculous idea. 02:46:39 Do # "foo.scm" line in the generated C source, then use __FILE__ and __LINE__ in the error messages. 02:46:41 I like it! 02:49:37 ehird: Heheh. 02:49:57 inline void _wrong(char *file, int line, char *fmt, ...) __attribute__((noreturn)) { 02:50:00 Apparently this is wrong and/or invalid. 02:50:09 (Erm, why did I specify inline?) 02:50:25 Ah, it works if I put noreturn before void. 02:50:37 Or just after void, which I prefer. 02:50:52 Heh, slight issue 02:51:01 Internal functions have to call _wrong instead of wrong 02:51:05 To propagate the lines 02:51:32 Stick noreturn in the function declaration, not the definition. 02:51:37 ??? 02:51:39 Where? 02:51:44 Oh, I see what you mean. 02:51:47 I have no function declarations, sir/ 02:51:49 *sir. 02:51:52 Well, for user functions, yes. 02:51:54 For internal functions, no ned. 02:51:56 *need 02:52:23 Okay, then. 02:53:37 -!- zzo38 has joined. 02:53:52 -!- jpc has joined. 02:55:02 ehird@meson:~/src/scm2c$ ./skeleton 02:55:03 ERROR: Expected a boolean, but received a char 02:55:05 in skeleton.c, around line 83 02:55:07 ehird@meson:~/src/scm2c$ 02:55:08 ^_^ 02:58:30 pikhq: Here's a fun thing stolen from the Cheney on the M.T.A. example: 02:58:53 blahtype symbol_foo = {tag_symbol, "foo"}; 02:59:01 scm_value quote_foo = &symbol_foo; 02:59:13 Then the only time you need to cons for a symbol is when (string->symbol) is called. 02:59:54 Today at the Free Geek, I was on testing scanners. It was not too difficult to figure out, but I HAD TO INSTALL TWO PACKAGES IN ORDER TO DO SO, and I still couldn't find the 12V cord for some of the scanners. What is wrong with these people? 03:00:35 They want to infest your system with bloatware. Isn't it obvious? 03:00:40 Although I think the cord thing is just a global conspiracy. 03:03:15 No, it was the computer there, it was meant for printer testing but they do scanner testing at that station, too. 03:03:27 They have cords for all sorts of other voltages, but not 12 volts 03:03:40 Programs writing programs? 03:03:41 …How perverse. 03:03:44 ^ an actual comment on a site 03:03:46 >_< 03:03:51 And so the idiot discovers compilers 03:04:27 ehird: Which site? 03:04:37 http://hackaday.com/2009/12/31/coffeescript-like-aspirin-for-javascript/ 03:04:43 Was linked from somewhere that was linked from somewhere etc 03:05:08 Argh. Hack A Day usually has smarter people... 03:07:53 So much stupid there. 03:08:15 The language itself is pretty nice, it's like JavaScript turned into something that looks like a functional language. 03:08:21 Which is, uh, exactly what it is. 03:08:41 "Generally it seems to be a language based on definitions instead of assignments and such. This reduces the number of lines needed in many cases and makes the program simpler to debug." 03:08:45 ENGLISH OPTIMISER RUNNING 03:08:49 "It seems like a functional language." 03:08:58 I think a function should be like: (x;x*x) or like {x;return x*x;} depend how you wanted it 03:09:29 Yeah, Coffeescript looks like a decent strict functional language. 03:09:40 zzo38: (\x -> x*x) 03:09:42 That acceptable? 03:09:59 pikhq: It borrows postfix-conditions from Perl. I like postfix-conditions. 03:10:08 update-alternatives: using /usr/bin/scheme-r5rs.scheme48 to provide /usr/bin/scheme-r5rs (scheme-r5rs) in auto mode. 03:10:10 update-alternatives: using /usr/bin/scheme-srfi-7.scheme48 to provide /usr/bin/scheme-srfi-7 (scheme-srfi-7) in auto mode. 03:10:15 Debian is so... generic. 03:10:25 OK, but I was just saying there is many good thing in Mozilla Javascript, but now I think we should have some short functions too, and a few other things, such as backward exceptions, and other things 03:10:44 ehird: Postfix conditions aren't bad. Tiny bit quirky, but not bad. 03:10:54 Make a decent number of things look nice. 03:11:06 print item foreach item in list if verbose 03:11:23 Yeah, that's the sort of thing that looks nice. 03:11:27 If we go Perl-like and have implicit $_, and rename "foreach" to "each"... 03:11:31 print each item in list if verbose 03:11:33 Or even 03:11:37 if verbose print each item in list 03:11:50 I don't like that kind of postfix conditions because the condition has to be calculate first and therefore should be written at first 03:12:12 zzo38: ... 03:12:14 zzo38: code is for humans first, machines second 03:12:27 Why should evaluation order have anything to do with your syntax? 03:12:53 What ehird said. 03:13:25 The Forth programming language does it correctly, in my opinion 03:13:43 print item/42, beep for each item in list if verbose and beepy 03:14:07 The Forth programming language does not have syntax for humans. 03:14:12 Yes it does. 03:14:18 (Sorry; I like Forth.) 03:14:28 ("for", "each" and "for each" being equivalent.) 03:14:30 It has syntax for machines that humans don't have too much trouble with. 03:15:06 (So you can also write: beep, print "The number is " number, beep for each number in 1 to 10.) 03:17:10 pikhq: Okay, crazy naturally-reading feature idea: 03:17:19 "until foo ...", where foo is undefined, sets foo to no. 03:17:26 "while foo ...", where foo is undefined, sets foo to yes. 03:17:29 Both on the first iteration. 03:17:37 So you can write "until stop ..." without declaring it. 03:18:45 Other crazy feature: "a; b" is actually "calculate a, calculate b, return a". 03:18:49 Use-case? 03:18:53 verbose: no; flag "Show lots of debug output." 03:20:00 Heh. 03:20:27 -!- zzo38 has quit (Remote closed the connection). 03:20:51 "say sorted parameters" 03:20:55 This would be a fun language, actually 03:21:29 pikhq: Okay, is this going to far? "for each foo" → "for each foo in foos". 03:21:39 Does proper pluralisation; "for each person" → "for each person in people". 03:21:42 *too far 03:22:09 If it's not going too far, then I declare "say contents for each parameter" to be the most readable cat(1) ever written. 03:22:46 Seems fun, if hard to implement. 03:23:09 Probably end up being the best language with an English-ish syntax. 03:23:20 Well, the transformation is 03:23:27 say contents for each parameter 03:23:42 say contents for each _ in parameters 03:23:46 say contents _ for each _ in parameters 03:23:53 for each x in parameters, 03:23:55 say contents x 03:24:00 for x in parameters, 03:24:04 say contents(x) 03:24:05 and finally 03:24:09 for x in parameters, 03:24:12 say(contents(x)) 03:24:44 pikhq: Actually, it's not really Englishy so much as allowing free word order and implying variables. 03:25:22 ehird: Thus why it's the best. It doesn't suck. ;) 03:25:30 -!- nooga has joined. 03:25:38 Also, bare keyword arguments. 03:25:54 For instance, "with file named filename" is with (file(named=filename)). 03:26:13 "with file myfile named filename" is with (file(myfile, named=filename)) 03:26:23 (Of course, the function would have metadata specifying what the keyword arguments are. 03:26:26 s/$/)/ 03:28:57 I wish C identifiers were more flexible 03:29:17 The more I read about CoffeeScript, the more I like it. 03:29:21 It pattern matches. 03:29:46 Screw Javascript. 03:30:04 define_symbol(symbol_x2D_x3E_string, "symbol->string"); 03:30:07 Yay, name mangling! 03:31:28 Pattern matching you say? 03:31:29 list is 03:31:31 (): say "Empty." 03:31:32 (one): say "One item." 03:31:34 (one,two): say "Two items." 03:31:35 otherwise: say "Some items." 03:32:26 pikhq: Unfortunately, my C code will be rather inefficient. :( 03:32:27 ehird: Heheh. 03:32:33 Sadly. 03:32:51 Even just recursing will be "look up name in current environment, handle errors, check type, call function pointer". 03:34:03 I think I'll omit arity checking, though. 03:34:09 Correct me if I'm mistaken but can't the compiler do arity checking? 03:35:14 Arity checking is mandatory in ISO C if the function has defined arity. 03:36:00 Oh, of course, gcc will do my arity checking. 03:36:03 Thanks, gcc! 03:36:06 struct procedure { 03:36:07 enum scm_tag tag; 03:36:09 scm_value (*fn)(); 03:36:10 scm_value closure[]; 03:36:12 }; 03:36:19 I guess that's a closure, not a procedure, technically. 03:36:22 fn doesn't have defined arity. 03:36:30 ...oh, of course. 03:36:42 Meh 03:36:45 Let it burn 03:36:51 Hah. 03:38:31 * ehird notes that if he uses C global variables to model Scheme toplevel definitions, he doesn't need to make every function a closure. 03:38:35 After all, they won't close on anything. 03:38:51 ...so, wait, I don't have to look up in an environment. Sweet. 03:38:53 Thank you, C! 03:40:00 Heheheh. 03:40:26 Now I have to implement some basic functions. 03:40:31 Meanwhile, I've added global closures to my functional C. 03:40:39 Sweet. 03:40:46 We should merge projects :P 03:40:50 (onerr is a global closure, which can be replaced with a different closure) 03:41:12 :P 03:41:18 Now remove all non-closure-defining functions apart from main. 03:41:25 All you will have is closures, and main. 03:41:29 Heheheh. 03:41:35 Also: you must implement cons with lambda, not as a C structure. 03:41:36 GO FOR IT 03:41:39 GOFER IT 03:41:43 Or Scheme it. 03:41:48 yuk yuk 03:41:51 Removing all non-main closures will be easy. 03:42:02 Implementing cons with lambda will by somewhat annoying. 03:42:09 But only somewhat. 03:42:17 After all, lambda now mallocs. 03:42:51 -!- nooga_ has quit (Read error: 110 (Connection timed out)). 03:44:28 void proc_recurse(scm_proc cont) noreturn { 03:44:29 return proc_recurse(cont); 03:44:31 So, C isn't Turing-complete, I guess. C-except-where-pointers-can-be-infinite is, though, right? 03:44:31 } 03:44:35 Hand compiled Scheme procedure, that. 03:44:40 (define (recurse) (recurse)) 03:44:44 *Hand-compiled 03:44:47 uorygl: No. 03:44:49 There is no such C. 03:44:54 Because of sizeof. 03:45:10 Well. 03:45:13 sizeof returns in multiples of char 03:45:13 ehird: sizeof is in multiples of char. 03:45:16 If you have a bignum char... 03:45:18 Then yes, C is TC. 03:45:23 If char could be infinite, then it could be TC. 03:45:34 *However*, char must have a maximum value. 03:45:37 Most ridiculously overblown char type EVAR 03:45:40 pikhq: Ah, right. 03:45:45 Hmm. 03:45:51 This is a C99 restriction. 03:45:53 pikhq: What if some bit pattern was reserved for "infinity"? 03:45:55 The word "except" is omnipotent; it can do whatever it takes to make things work. 03:46:10 C90 makes no such restriction. 03:46:12 And (infinity-X) is, for X, infinity->0, _->infinity 03:46:18 Thus, C90 is TC. 03:46:19 infinity+X is infinity, etc 03:46:26 Does C99 forbid you having such a magical value? 03:46:30 So let's assume that it removes sizeof or something. 03:46:33 If so, just make 0 = infinity internally 03:46:35 Or turns it into C90. 03:46:36 and 1 = 0, etc 03:46:42 No? 03:46:48 Then CHAR_MAX is INFINITY. 03:47:08 Hmm. That... Is actually entirely valid. 03:47:17 data FancyInteger = FI Integer | PosInfinity 03:47:17 skeleton.c:99: warning: function declared ‘noreturn’ has a ‘return’ statement 03:47:19 :P 03:47:19 >_< 03:47:23 I'm trying to help you, compiler! 03:47:51 * ehird wonders how to disable it 03:47:53 ehird: Nuke the return or the noreturn. ;) 03:48:18 pikhq: No; it's "noreturn" and defined to nothing if not GNUC. 03:48:36 Ah. 03:48:40 And "return" helps dumb compilers know that we don't need to set up things to remember our values. 03:48:45 So I'll just ignore the warnings. 03:49:00 ... #define return 03:49:01 :P 03:49:07 XD 03:49:15 I wonder if gcc does totally ignore them if you do noreturn anyway 03:50:13 pikhq: http://sprunge.us/WMZV 03:50:19 I think "unmitigated failure" is an appropriate term here. 03:50:22 (This is with -O3.) 03:50:36 So, who wants to figure out how a stripped-down version of Haskell could be turned into something looking like assembler code? 03:50:39 *call proc_recurse*. 03:50:42 *facepalm* 03:51:00 pikhq: Oh ha, I didn't even notice that 03:51:04 pikhq: I was thinking more of the SEVENTY BAJILLION movls beforehand 03:51:32 ehird: Heheh. Yeah... 03:51:51 (This is Haskell where the entire program is one expression built out of these primitives: case ... of {... -> ...}, \... -> ..., ... ..., let ... = ... in ..., and constructors) 03:51:55 uorygl: Haskell->Core->STG->Asm, I believe, is the transformation path. 03:52:03 skeleton.c:103: error: non-static initialization of a flexible array member 03:52:04 skeleton.c:103: error: (near initialization for ‘(anonymous)’) 03:52:06 Dude, I specified {}. 03:52:07 Fuck off. 03:52:23 uorygl: And you just described Core right there. 03:53:12 pikhq: Well, making it static completely eliminated it from the assembly. XD 03:53:19 I think static unless the user specifies to export it is a good idea. 03:53:35 Especially since every function call will result in calling a function. 03:53:49 ehird: static __attribute__((used)) will force it to be compiled in, BTW. 03:53:54 ehird@meson:~/src/scm2c$ ./skeleton 03:53:56 Segmentation fault 03:53:57 Though, you probably don't want that... 03:53:57 That... you... 03:53:59 You just fail. 03:54:09 You should fuck a pig, because you fail that much, gcc. 03:54:18 pikhq: BTW, actually, I don't _want_ tail call optimisation. 03:54:30 Cheney on the M.T.A. relies on the stack getting too big often... 03:55:16 ehird@meson:~/src/scm2c$ ./skeleton 03:55:17 poop 03:55:19 poop 03:55:20 Segmentation fault 03:55:22 I would appreciate more than two calls, however. 03:55:24 Sorry, but GCC does TCO on all -O levels. 03:55:33 pikhq: great. Now consider an assembly language where you have a "put this data structure on the heap" instruction. And stuff. 03:55:36 ... Except 0. 03:55:36 pikhq: Except not on noreturn functions. 03:55:40 Or something. 03:55:53 ehird: Really. That's odd. 03:55:56 pikhq: Well... 03:55:58 I pasted you that asm. 03:56:03 http://sprunge.us/WMZV 03:56:06 That was with -O3. 03:56:06 True. 03:56:14 Simply 03:56:17 void noreturn proc_recurse(scm_proc *cont) { 03:56:18 return proc_recurse(cont); 03:56:19 } 03:56:21 Compare without the noreturn? 03:56:48 .globl proc_recurse 03:56:49 .type proc_recurse, @function 03:56:51 proc_recurse: 03:56:52 pushl %ebp 03:56:54 movl %esp, %ebp 03:56:55 .L7: 03:56:57 jmp .L7 03:56:59 So... noreturn tells GCC "be really dumb-fuck retarded about tail calls". 03:57:11 Now, if it didn't _also_ do a billion movls, that'd be great. 03:57:15 Apparently. 03:57:20 ehird: well, it gave you a busy loop; what did you want? 03:57:39 uorygl: The tightest loop. 03:57:50 uorygl: I want a recursive call. 03:57:53 It *should* overflow the stack. 03:57:55 -foptimize-sibling-calls 03:57:57 Optimize sibling and tail recursive calls. 03:57:58 Enabled at levels -O2, -O3, -Os. 03:58:00 Kerching 03:58:14 So, -fno-optimize-sibling-calls, et viola. 03:58:18 Well, then, have it calculate proc_recurse(cont) and then do something before returning. 03:58:18 Yep. 03:58:28 uorygl: No; because it should not try and save things like it did. 03:58:30 Because that's retarded. 03:58:46 Why do you want a stack overflow? 03:58:54 So the garbage collector runs. 03:59:08 T.28: 03:59:10 pushl %ebp 03:59:11 movl %esp, %ebp 03:59:13 popl %ebp 03:59:14 ret 03:59:16 .size T.28, .-T.28 03:59:17 .p2align 4,,15 03:59:19 Question. How the fuck does this recurse? 04:00:22 ehird: ... What the fuck? 04:00:26 Just... What the fuck? 04:00:46 * ehird adds puts("poop") in there to try and make sense of it 04:00:57 gcc needs a "do all your regular TCO stuff except say call, not jmp" option :P 04:01:25 Hmm. 04:01:35 It seems that the sttrategy it uses is... 04:01:39 pikhq: I see the issue. 04:01:47 noreturn+return = gcc makes fals assumptions 04:01:51 *false 04:01:58 Conclusion: Pick one. 04:01:58 That'd do it. 04:02:00 #define return 04:02:01 I pick removing noreturn. 04:02:08 It's just counterproductive. 04:02:25 pikhq: Doesn't work 04:02:29 "noreturn" appears to break recursion too. 04:03:15 Yay! 04:03:17 It does what I want now. 04:03:31 ...no, it doesn't. 04:03:36 pikhq: Does -O3 normally break code this wantonly? 04:04:36 -!- jpc has quit (Read error: 110 (Connection timed out)). 04:04:43 No, but when it DOES break code, it does so that wantonly. 04:04:51 Argh, -O2 breaks it too 04:04:53 WHY OH WHY 04:05:01 static void proc_recurse(scm_proc *cont) { 04:05:03 return proc_recurse(cont); 04:05:04 } 04:05:07 There is NO excuse for not compiling that properly. 04:05:37 -O0 produces the best code of all 04:05:39 proc_recurse: 04:05:41 pushl %ebp 04:05:42 movl %esp, %ebp 04:05:44 subl $24, %esp 04:05:45 movl 8(%ebp), %eax 04:05:47 movl %eax, (%esp) 04:05:48 call proc_recurse 04:05:50 leave 04:05:51 ret 04:06:12 Is there, like, an __attribute__((recurses)) I can use? 04:09:02 pikhq: The really fucking retarded solution? If you give it a non-void return type, it works fine. 04:09:11 Hurr void expressions on their own are useless 04:09:11 ehird: AAAAGH. 04:09:12 Nobody has side effects 04:09:18 SO FEKING RETARDED. 04:09:26 *FUCKING 04:09:31 I think this is definitely a sweary occasion. 04:10:18 * ehird decides to write some nice library functions to take his mind off the pain 04:11:02 BTW, I'm having trouble getting code as retarded as what you're getting. 04:11:13 gcc (Ubuntu 4.4.1-4ubuntu8) 4.4.1 04:11:16 Linux 32-bit 04:11:24 -O3 -S 04:11:32 also -fno-optimize-sibling-calls sometimes 04:11:43 gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4 04:11:52 x86_64, with -O3 -m32 -S 04:12:26 Compiling void proc_recurse(void *c){return proc_recurse(c);} 04:12:49 I think it's your compiler that's borked. 04:13:03 Maybe 4.4 regressed. 04:13:18 Anyway, it's the default Ubuntu compiler. 04:14:54 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=445536 Well, here's an *old* bug doing the same thing. 04:17:00 Not finding any regressions. 04:18:16 http://sprunge.us/XWTH That's with -O3 -m32 -fno-optimize-sibling-calls -S 04:19:07 pikhq: va_end should be right before the }, right? 04:19:11 http://sprunge.us/RDdL And that's with the __attribute__((noreturn)) added. 04:19:12 Even if it will never be reached? 04:19:34 pikhq: Ugh, your code is so much nicer. 04:19:44 Also, I count old=2003 or earlier. :P 04:19:48 **old* 04:19:53 old=2005 or earlier. 04:20:14 No, va_end comes before return. Right. 04:20:25 va_end needs to be after you are done using va_arg. 04:20:52 There, I wrote +. 04:20:57 Properly variadic and all. 04:21:09 Only does fixints, though, but that's all I have. 04:21:15 Even checks for integer overflow. 04:21:27 I strongly suspect your compiler is just borked. Build a new one. 04:21:38 Ubuntu's and therefore Debian's stock compiler? 04:21:39 Broken? 04:21:41 Hahaha. No. 04:22:37 static void cons(scm_proc *cont, scm_value car, scm_value cdr) { 04:22:38 scm_pair p = { tag_pair, car, cdr }; 04:22:40 return cont->fn(cont->closure, &p); 04:22:41 } 04:22:42 But it's generating code that doesn't even recurse. 04:22:43 I hope that's... valid. 04:22:48 * ehird adds inline to that 04:22:54 That's fekking borken. 04:23:21 I love the part where there's no malloc in my program 04:23:26 It's so relaxing. 04:23:41 Also, 4.4.1 is not the stock Debian compiler. It was the compiler in Debian unstable for a while. 04:23:50 Oh, I think I meant to ask a question. 04:23:51 s/unstable/testing/ 04:24:10 * ehird realises that his architecture doesn't work if you redefine a function at the top level. 04:24:14 Bah. I'll fix it later. 04:24:17 pikhq: Ubuntu. 04:24:23 Ubuntu would not ship a broken compiler, man. 04:24:31 That's Apple's forte. 04:24:36 ehird: Ubuntu has before. 04:25:00 static inline void proc_car(scm_proc *cont, scm_pair *p) { 04:25:06 I like the part where I get some type-checking for free. 04:25:31 Hmm, but now I know the answer to my question, so I'd have to ask a different question, if any at all. 04:26:03 "Ubuntu would not ship a broken compiler" "But it's producing incorrect code!" "Not. Broken." 04:26:10 I'd file a bug report, honestly. 04:26:14 I mean not broken because of Ubuntu 04:26:16 Eh, I might 04:26:20 I might just build my own gcc, too 04:26:24 Unless it breaks that too :P 04:26:28 static inline void proc_cons(scm_proc *cont, scm_value car, scm_value cdr) { 04:26:30 scm_pair p = { tag_pair, car, cdr }; 04:26:31 return cont->fn(cont->closure, &p); 04:26:33 } 04:26:34 Cool implication of this: 04:26:52 If you do (cons 1 2), and pass it to a function: That function gives you a reacharound. By which I mean it accesses a pointer on your stack to read the pair. 04:27:04 GCC is actually rather hard to break. 04:27:09 Scheme: Perfect if you're gay for programming languages. 04:27:46 pikhq: I think it's just a pathological case 04:28:09 ... Which functions correctly on my older compiler. 04:30:06 Yes. 04:30:16 Look, if you want I'll give you ssh and you can compile gcc for me. 04:31:13 * ehird just remembered an sf story soupdragon should read 04:31:18 * ehird links it here for later linkage: http://docs.google.com/Doc?id=ddv7939q_20gw8h9pcx 04:36:54 pikhq: Sweet: thanks to gcc, unused core library functions will be automatically removed from the result. 04:37:56 pikhq: also, it only breaks with "static" in front 04:38:00 try it with static in front 04:38:01 bet it breaks 04:42:43 I get null with "static". :P 04:42:57 * pikhq defines a main 04:43:26 __attribute__((used)) 04:43:31 or, yeah, call it in main 04:43:34 and watch the fail 04:43:37 Doesn't break. 04:43:52 ...you should compile gcc for me :P 04:44:37 Though I'm not entirely sure why it's doing subq $8, %rsp;call proc_recurse 04:47:01 It's the __attribute__((noreturn)) that makes it slightly weird. 04:48:07 Right. 04:48:31 But... Correct. 04:48:31 What gives the optimal results (least saving-variables before the call, but still an actual call instruction)? 04:48:46 Without noreturn, using "return foo" and the -fno-...? 04:48:54 __attribute__((noreturn)). 04:49:50 -fno-... leaves around "leave;ret". 04:50:24 But does that not cause TCO? 04:50:28 Oh, wait, noreturn stops TCO. 04:50:58 I don't know why it does, but it does. 04:51:01 pikhq: static noreturn works for you? 04:51:07 Yes. 04:51:24 god damn you :P 04:52:40 Gentoo: it has correct compilers. :P 04:52:41 pikhq: Do those static noreturns have a "return" statement in them? 04:52:51 Yes. 04:53:08 The generated code is the same without. 04:53:21 right, so leave it in for dumb compilers 04:53:26 Right. 04:54:00 My library has cons, car, cdr and +. 04:54:11 What else, I wonder? 04:54:17 (Simple stuff.) 04:54:42 Incidentally, behold my + implementation! http://sprunge.us/egVj 04:54:56 Whether it could actually be any more complicated is open to debate. 05:08:01 pikhq: Hmm, that actually doesn't impose all that much penalty over a non-variadic version, does it? 05:08:04 Sure it could! 05:08:07 Make it idiomatic C++. 05:08:19 ehird: Not much at all. 05:09:00 http://www.josbuivenga.demon.nl/calluna.html 05:09:01 My god; the typeface, it is beautiful. 05:09:05 And since it's static, GCC will helpfully unroll it if it would make sense to. 05:09:12 pikhq: XD 05:09:52 Calluna is a good-looking font. 05:09:53 I sort of want to buy Calluna. Sure, I have the regular face, but damn it's pretty. 05:10:00 On the other hand... 05:10:01 $119. 05:10:08 I don't really have that much money to spend on a typeface. 05:10:45 -!- jpc has joined. 05:12:26 * ehird imagines an italic &c glyph in Calluna, gets sad because he can't have it. 05:12:35 Why do I torture myself so? 05:13:49 karma. it's all that book burning you did in a previous life. 05:14:05 I must have been a dick. 05:35:52 -!- ehird has quit (Read error: 60 (Operation timed out)). 05:54:46 -!- oerjan has quit ("Good night"). 07:01:47 -!- FireFly has joined. 07:03:03 -!- Slereah has joined. 07:03:21 -!- coppro has quit (Read error: 60 (Operation timed out)). 07:05:19 -!- coppro has joined. 07:06:12 -!- coppro has quit (Remote closed the connection). 07:13:17 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 07:16:39 -!- coppro has joined. 07:27:31 -!- coppro has quit ("I am leaving. You are about to explode."). 07:29:24 -!- coppro has joined. 07:42:33 -!- coppro has quit ("I am leaving. You are about to explode."). 07:46:38 -!- coppro has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:10:12 -!- coppro has quit (farmer.freenode.net irc.freenode.net). 08:10:13 -!- fungot has quit (farmer.freenode.net irc.freenode.net). 08:10:13 -!- yiyus has quit (farmer.freenode.net irc.freenode.net). 08:10:14 -!- Pthing has quit (farmer.freenode.net irc.freenode.net). 08:10:14 -!- rodgort has quit (farmer.freenode.net irc.freenode.net). 08:10:14 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net). 08:10:14 -!- lifthrasiir has quit (farmer.freenode.net irc.freenode.net). 08:10:14 -!- olsner has quit (farmer.freenode.net irc.freenode.net). 08:10:15 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net). 08:10:15 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net). 08:10:15 -!- EgoBot has quit (farmer.freenode.net irc.freenode.net). 08:10:15 -!- zeotrope has quit (farmer.freenode.net irc.freenode.net). 08:10:16 -!- uorygl has quit (farmer.freenode.net irc.freenode.net). 08:10:16 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net). 08:10:16 -!- comex has quit (farmer.freenode.net irc.freenode.net). 08:10:16 -!- dbc has quit (farmer.freenode.net irc.freenode.net). 08:10:16 -!- sebbu has quit (farmer.freenode.net irc.freenode.net). 08:10:17 -!- mtve has quit (farmer.freenode.net irc.freenode.net). 08:10:17 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net). 08:10:17 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net). 08:10:17 -!- Ilari has quit (farmer.freenode.net irc.freenode.net). 08:10:18 -!- cal153 has quit (farmer.freenode.net irc.freenode.net). 08:10:18 -!- nodd has quit (farmer.freenode.net irc.freenode.net). 08:10:18 -!- Gregor has quit (farmer.freenode.net irc.freenode.net). 08:10:19 -!- fizzie has quit (farmer.freenode.net irc.freenode.net). 08:12:24 -!- coppro has joined. 08:12:24 -!- comex has joined. 08:12:24 -!- Pthing has joined. 08:12:24 -!- cal153 has joined. 08:12:24 -!- dbc has joined. 08:12:24 -!- nodd has joined. 08:12:24 -!- zeotrope has joined. 08:12:24 -!- sebbu has joined. 08:12:24 -!- rodgort has joined. 08:12:24 -!- yiyus has joined. 08:12:24 -!- fungot has joined. 08:12:24 -!- mycroftiv has joined. 08:12:24 -!- EgoBot has joined. 08:12:24 -!- bsmntbombdood has joined. 08:12:24 -!- olsner has joined. 08:12:24 -!- lifthrasiir has joined. 08:12:24 -!- Deewiant has joined. 08:12:24 -!- Ilari has joined. 08:12:24 -!- mtve has joined. 08:12:24 -!- SimonRC has joined. 08:12:24 -!- HackEgo has joined. 08:12:24 -!- uorygl has joined. 08:12:24 -!- puzzlet has joined. 08:12:24 -!- Gregor has joined. 08:12:24 -!- fizzie has joined. 08:29:40 -!- FireFly has quit ("Leaving"). 08:33:02 -!- nooga has quit (Read error: 110 (Connection timed out)). 08:41:51 -!- jpc has quit ("I will do anything (almost) for a new router."). 08:55:30 It depends on calloc, which is not specified by either C or POSIX. Yeah, POSIX isn't ANSI C or POSIX. <-- Happy typo day! 08:56:46 This is your brain on macros. <-- since a compiler will generate it, will it matter? 09:02:18 say contents for each parameter <-- end tell 09:03:37 lol 09:04:24 If you have a bignum char... <-- then what would CHAR_BIT be? 09:05:06 -!- ais523 has joined. 09:09:11 So... noreturn tells GCC "be really dumb-fuck retarded about tail calls". <-- it could be a side effect of what it actually tells gcc. Which is "this function won't return, so you can know that any code after the call to it is dead, and you don't need to handle it actually returning ever, no need for a function epilogue either there!" 09:11:26 pikhq: The really fucking retarded solution? If you give it a non-void return type, it works fine. <-- returning a value from a void function is undefined isn't it? 09:11:50 oh wait it isn't that. Still that line is strange. I'm not sure it is well defined indeed 09:12:28 link? 09:13:17 Speaking of the N900, there's a rather funky package in the repository: easy-deb-chroot. It installs a 1.5G Debian (lenny) image you can chroot into; there's Iceweasel w/ Java, Gimp and the full OpenOffice.org suite installed by default, but you can obviously install anything in the Debian arm port. 09:13:40 Unless it breaks that too :P <-- --enable-bootstrap 09:15:10 Gentoo: it has correct compilers. :P <-- unsurprising 09:17:05 * AnMaster gets to end 09:17:05 coppro, link to? 09:17:33 -!- Pthing has quit (Remote closed the connection). 09:18:15 AnMaster: the source file he's discussing 09:18:30 hm 09:18:45 coppro, there was only snippets, mostly inline in irc 09:18:58 static void proc_recurse(scm_proc *cont) { 09:18:58 return proc_recurse(cont); 09:18:58 } 09:19:01 maybe you meant that 09:19:35 oh 09:19:53 why is it messing with noreturn then? 09:19:53 coppro, there were multiple versions of it, would be easier to check logs yourself. Instead of me repasting it all 09:20:43 :( 09:20:48 * coppro is too lazy 09:22:35 coppro, he is implementing a scheme->C compiler 09:22:40 oh 09:22:40 ehird that is 09:22:52 how's he doing call-cc? 09:23:01 coppro, I don't think he got there yet 09:23:24 might as well start there once you have your data structures 09:23:29 if you can't to call-cc, no point 09:23:51 AnMaster: he's likely at school, considering the day of the week, time of the day, his age and the fact that it's termtime 09:24:02 right 09:24:16 coppro, s/to/do/ ? 09:24:26 ais523, oh hi there 09:24:27 yes 09:24:33 ais523, and probably, but he log reads 09:24:41 I did notice he wasn't in channel 09:24:55 ehird, school? Does not happen! 09:25:04 Does not compute. 09:25:08 coppro, was that a reference to Nation? 09:25:11 yeppers 09:25:25 I use that all the time now 09:25:26 also it looks like fizzie didn't spot it. 09:26:03 coppro, didn't they make an play or opera or Nation iirc? Think I read about that somewhere. 09:26:04 Well, I haven't read it. Too new, you see. 09:26:19 AnMaster: s/or N/of N/? 09:26:26 coppro, indeed 09:26:50 dunno 09:26:50 wouldn't surprise me 09:27:52 also lag spikes 09:28:45 very irritating 09:28:45 jumps between 2 and 30 seconds of lag 09:28:45 only on freenode 09:29:27 -!- cal153 has quit (Read error: 60 (Operation timed out)). 09:31:58 -!- SimonRC_ has joined. 09:32:05 -!- SimonRC has quit (Broken pipe). 09:39:42 -!- cal153 has joined. 09:47:15 -!- anmaster_l has joined. 09:58:49 -!- Pthing has joined. 10:06:20 Heh... Lag reading is frozen at 104s lage... 10:08:31 Ilari, 0.1 atm for me. And yes I had similar issues a moment ago 10:12:00 lagging a lot for me too every now and then 10:12:25 ah 10:12:43 [470] #freenode ##overflow Forwarding to another channel Forwarding to another channel 10:12:43 ok, /that's/ unusual 10:13:02 looks like loads of people are rushing over to #freenode to see what's going on 10:13:02 ais523, not really 10:13:02 ais523, it does happen after lots of joins 10:13:02 oh wiat 10:13:02 wait* 10:13:24 you mean the double message 10:13:38 *that* is strange 10:13:38 why was forwarding repeated 10:13:38 ais523, also no, just lots of spambots joining and then directly being banne 10:13:38 banned* 10:14:06 this connection seems unlaggy though 10:14:24 lindbohm.freenode.net 10:14:33 hm seems to be in Sweden 10:14:40 and ##overflow is a pretty pointless channel, seeing as it's moderated and has no ops 10:14:44 it only exists for the message in the topic, I think 10:14:47 anmaster_l: no, I mean the channel ##overflow itself is pretty pointless 10:14:49 (lag at 79s for me...) 10:14:59 anmaster_l: no, I mean the channel ##overflow itself is pretty pointless 10:15:00 err what 10:15:05 hm seems to be in Sweden 10:15:05 and ##overflow is a pretty pointless channel, seeing as it's moderated and has no ops 10:15:05 it only exists for the message in the topic, I think 10:15:05 anmaster_l: no, I mean the channel ##overflow itself is pretty pointless 10:15:12 anmaster_l: it's moderated, and has no ops, therefore nobody can be voiced 10:15:14 that is what it reads like here 10:15:15 .... 10:15:20 I don't know what you replied to 10:15:54 ais523, issue: There is nothing that " anmaster_l: no, I mean the channel ##overflow itself is pretty pointless" matches up to on my end 10:16:02 I don't know what you replied to <-- neither do I, this lag is making regular conversation pretty much impossible, we're going to have to start quoting I think 10:16:51 01 ais523, " I don't know what [...]" Or use serial numbers. I use odd, you even 10:17:02 03 and no it isn't octal 10:17:30 01 ais523, " I don't know what [...]" Or use serial numbers. I use odd, you even <--- that still makes no sense because it would be unclear what people were replying to 10:18:30 05 (in reply to ais 01, which should have been 02 in fact) how so? 10:19:41 07 ais523 it works like threads on mailing lists. that "in reply to" header whatever the spelling was (in-reply-to?) 10:19:55 05 (in reply to ais 01, which should have been 02 in fact) how so? <-- because the arrow method of quoting gives more context (you don't need to quote a quote, so it doesn't get ridiculously long), and doesn't have a message 100 problem 10:20:30 07 ais523 it works like threads on mailing lists. that "in reply to" header whatever the spelling was (in-reply-to?) <-- and I'm not really sure about in-reply-to just because I set my email client not to do threads (threads are just a poor substitute for proper quoting) 10:21:06 09 ais523, in reply to "message 100 problem", well we could just add a third digit, in fact I don't know why I added a 0 to begin with 10:21:33 09 ais523, in reply to "message 100 problem", well we could just add a third digit, in fact I don't know why I added a 0 to begin with <-- also, the whole odd/even thing fails as soon as anyone else wants to talk 10:21:59 11 ais523 in reply to "email client not to do threads" <-- what the heck. It is still useful on high traffic lists where you only want to follow some discussions 10:22:57 what the heck. It is still useful on high traffic lists where you only want to follow some discussions <-- but it fails utterly as soon as a discussion forks; forcing people to reply to the most recent message all the time is no way to do a conversation 10:23:31 13 ais523, in reply to "odd/even thing fails", well then what about using the first digit as a person id, the the remaining (variable count) as a message id. Or generate something like an UUID for every message (a7bc5039-c606-4956-9cd6-22c560783927) 10:24:06 well then what about using the first digit as a person id, the the remaining (variable count) as a message id. Or generate something like an UUID for every message (a7bc5039-c606-4956-9cd6-22c560783927) <-- you're seriously overthinking this 10:24:10 15 ais523, it doesn't fail utterly in that case. It works fine to keep two forks. 10:24:35 17 in reply to "overthinking", yes it was a joke 10:24:44 it doesn't fail utterly in that case. It works fine to keep two forks. <-- it doesn't work fine to keep 80 to 100 forks, which is what a high traffic discussion should become 10:25:13 19, in reply to "80 to 100 forks" works, for 5 forks or such it works. 10:25:27 21 which is what I consider a high traffic list 10:25:44 23 even on lkml I doubt you hit 80 to 100 forks 10:26:07 25 and yes some quoting is useful. but >>>>>>>>>>>>>>>>>>>>>>>>> is really irritating 10:26:13 27 two levels work fine 10:26:44 29 maybe up to 3 or 4 at most. More than that and you end up with wrapping issues and what not 10:27:32 31 ais523 ^ 10:28:09 even on lkml I doubt you hit 80 to 100 forks <-- pretty much half of messages end up as forks if people reply to the message they actually should reply to, rather than the most recent one 10:28:47 and yes some quoting is useful. but >>>>>>>>>>>>>>>>>>>>>>>>> is really irritating <-- have you never heard of an indentation reset? 10:29:08 33 (in reply to ais523 replying to msg 19), sure, but most of those won't get replies in my experience. 10:29:27 35 (in reply to ais523 replying to msg 25), no I haven't 10:29:31 have you never heard of an indentation reset? <-- or, fwiw, simply editing out the messages you aren't responding to 10:29:46 plus ping is low enough atm 10:29:50 so we don't need it 10:30:07 right now at least 10:31:28 ais523, anyway, did you get into #freenode? 10:31:39 I haven't tried for a while 10:31:41 trying again now 10:31:51 nope, went to ##overflow again 10:32:03 ais523, flood option is 15.3 10:32:06 err 10:32:08 15,3 10:32:18 so it means 3 clients per 15 seconds I believe 10:32:27 ais523, try again every few seconds for a while 10:32:41 since the quota is filled up with spambots very fast 10:32:46 anmaster_l: respond to a channel being DOSed by DOSing it? 10:32:58 ais523, no. But that is the only way to get in 10:33:07 it isn't dosing it 10:33:10 just retrying the opteration 10:33:35 ais523, for ever 4 spambots about one real user is getting in 10:33:53 ah, got in this time 10:34:06 ais523, quite quiet atm. 10:34:20 yes, surprisingly so 10:34:36 ais523, wasn't a while ago 10:37:54 ais523, those like "urcahnqk" look like those spambot thingies 10:41:56 -!- oerjan has joined. 10:45:24 -!- MizardX has joined. 10:47:57 oerjan, hi there 10:48:04 hi AnMaster 10:48:26 ais523, getting lag issues again on my other connection. Sigh 10:48:43 ah now it showed up here finally 10:48:45 took a while 10:52:20 oerjan, ais523: does either of you understand xkcd today 10:52:27 I don't 10:52:52 do either* ? 10:57:38 it is a robot battle 10:57:42 apparently 10:58:15 Based on the last frame, it might be some sort of a soccer-style game the robots are supposed to play. 10:58:44 They do that sort of stuff quite a lot. 10:59:31 There's http://en.wikipedia.org/wiki/RoboCup for example; though I have no idea if they do anything that'd involve >1 ball in the game at the same time. 11:03:00 hm okay 11:09:26 -!- oerjan has quit ("Lost terminal"). 11:23:36 wow: http://blogs.perl.org/users/cpan_testers/2010/01/msnbot-must-die.html 11:23:54 it seems that Microsoft DOSed the CPAN testers, probably by accident 11:28:54 hm 11:29:01 did he mail them about the issue? 11:29:12 he/she* 11:34:30 not sure, there isn't much info on the page 11:34:41 true 11:44:19 -!- Pthing has quit (Remote closed the connection). 11:45:16 he/she/it* -- stop with the discrimination against genderless AI entities. 11:45:43 hm good point 13:17:25 -!- FireFly has joined. 13:23:34 -!- soupdragon has joined. 14:23:22 ais523, how goes esoteric projects atm? 14:23:35 on hold while I do RL work 14:23:42 right 14:24:38 -!- kar8nga has joined. 14:35:00 -!- ineiros has quit (Read error: 110 (Connection timed out)). 14:50:53 -!- ineiros has joined. 14:57:18 -!- nooga has joined. 15:18:06 -!- BeholdMyGlory has joined. 15:23:15 -!- anmaster_l has quit (Read error: 60 (Operation timed out)). 15:52:03 ais523: what kind of rl work? :o 15:53:37 augur: teaching, and research 15:53:46 WAT 15:53:48 how old are you :| 15:53:50 I just came back from teaching Java 15:53:52 augur: 22 15:53:56 oh ok 15:53:59 TAing? 15:54:01 yep 15:54:16 where are you a TA? 15:54:31 whats your gradschool, that is 15:54:43 TA? 15:54:43 not "The CS Dept. x3" that would be a bad answer :| 15:54:46 what does that for 15:54:48 teaching assistant 15:54:56 ah 15:55:03 -!- anmaster_l has joined. 15:55:05 a far more complex program than a proof assistant! 15:55:21 AnMaster: it's probably the #1 most popular job done by postgraduate students in order to gain extra money 15:55:35 but I'm doing it simply to give me an extra year for my research 15:55:38 ais523: where do you go to gradschool? 15:56:27 augur: Birmingham University 15:56:31 cool cool 15:57:13 yeah ais523 is not just a pretty face 15:57:19 -!- nodd has changed nick to oklopol. 15:57:33 nodnol! 15:57:47 ais523, sounds reasonable. But don't you need to take a course^Wmodule in pedagogy then? 15:58:01 TAing doesnt require that, no 15:58:04 hm 15:58:08 because its not for like 15:58:10 highschool 15:58:12 as a result, most TAs are rather rubbish 15:58:12 its for universities 15:58:16 I know I would be a bad teacher, it isn't like I can explain thing 15:58:27 i can explain things SO WELL OMG 15:58:31 :P 15:58:32 i've been told i should be a teacher 15:58:37 well, not to someone who doesn't know most of it already 15:58:45 me neither 15:58:56 im also teaching a pseudo-class this upcoming semester on intro programming for some fellow ling grads 15:59:09 which makes me want to ask -- if anyone has suggestions, do tell 15:59:23 i'd love to know what you think i should do. im going to try and do it like SICP 16:00:14 augur, isn't it specified what the class should be about? 16:00:21 like which language and such 16:00:27 no, because im the one who made the class up 16:00:42 its just for some fellow grad students who recently realized "hey, i should learn to program" 16:00:57 augur, as for lisp, in general most people who aren't really good at the concepts it uses tend to have way easier to learn an imperative language first 16:01:06 just to get the idea of "control flow" and such 16:01:13 and "function" 16:01:25 well, im going to cover a lot of basis, but people here i think understanding recursion well enough 16:01:30 yeah you learn functions much better from non-functional programming 16:01:36 we have lots of people who do semantics, lambda calculus all over the place, etc 16:01:45 I'd imagine linguists would have an easier time with a Lisp than with anything else. 16:01:45 at least that is my observation. If they are math students then Lisp might in fact be easier 16:02:06 -!- soupdragon has quit ("Leaving"). 16:02:23 oklopol, not really, but lisp is quite hard as a concept, python would possibly be a good start if you hadn't done *any* programming before 16:03:58 maybe so, i don't really want to think about hard problems like these 16:05:35 ok im off 16:05:36 bye guys 16:06:17 bai 16:06:49 bie 16:08:09 buy 16:08:13 * uorygl coughs. 16:13:01 -!- soupdragon has joined. 16:14:03 -!- nooga has quit (Read error: 104 (Connection reset by peer)). 16:16:56 -!- soupdragon has quit (Client Quit). 16:18:30 -!- soupdragon has joined. 16:24:39 -!- augur has quit (Read error: 110 (Connection timed out)). 16:44:12 -!- ehird has joined. 16:45:29 yodelling absolutely puts yodelling 16:45:59 so, we're getting insanely active 16:46:03 two >200 KiB logs in five days 16:46:33 01:02:18 say contents for each parameter <-- end tell 16:46:44 Hey, at least mine has sane semantics and is more of a translation of Perl to lighter-weight syntax. 16:46:51 say foreach @ARGV is how that works in Perl, after all. 16:46:59 foreach → for each is obvious, and @ARGV → parameters too. 16:47:14 01:09:11 So... noreturn tells GCC "be really dumb-fuck retarded about tail calls". <-- it could be a side effect of what it actually tells gcc. Which is "this function won't return, so you can know that any code after the call to it is dead, and you don't need to handle it actually returning ever, no need for a function epilogue either there!" 16:47:16 Exactly 16:47:18 That's true :P 16:47:33 I want it to do that, but still CALL 16:47:38 I]t seems my gcc is broken 16:47:39 *It 16:47:41 ehird, I'm not surprised that noreturn messes up if you *do* in fact return 16:47:45 since pikhq compiled it 16:47:46 with 4.3 16:47:50 and it worked perfectly 16:47:53 exactly how i wanted it 16:47:55 In every which way. 16:47:56 AnMaster: It isn't just noreturn 16:47:58 I never got it to break. 16:48:00 it messes up with just static 16:48:00 ehird, it could be that it just happened to work but it shouldn't 16:48:01 ah 16:48:01 with no noreturn 16:48:11 okay that's strange 16:48:22 Gentoo's GCC vs. Ubuntu's. 16:48:36 I'm going with Gentoo's being correct; that sucker gets tested a lot. 16:48:51 01:23:24 might as well start there once you have your data structures 16:48:53 01:23:29 if you can't to call-cc, no point 16:48:55 Cheney on the M.T.A. 16:48:56 'nuff said. 16:51:13 * pikhq finds that his C lambdas close much more nicely when you implement the closures as a void*[]. 16:51:24 That's what I'm doing, heh. 16:51:46 I'm considering going with the Cheney on the M.T.A. hand-translated style, though, and just defining closure[0-n] 16:51:51 for easier allocation 16:51:54 (alloca is kinda meh) 16:51:58 Much nicer than creating a bunch of structs. 16:54:24 -!- SimonRC_ has changed nick to SimonRC. 16:54:32 *c = (void*[]){xgc_malloc(sizeof(unsigned int) * (n+1)), &f}; 16:54:39 Now *that's* how you close. 16:54:39 :P 16:54:43 pikhq: Of course, my case is rather different to yours... 16:54:48 Being that malloc() is pretty much verboten. 16:54:53 (Unless I really need a *big* data structure.) 16:55:02 Whereas I feel free to just use malloc everywhere. 16:55:07 And never, ever, ever free. 16:55:16 (that's Boehm GC's job!) 16:55:28 pikhq: Yeah, but you can't use a struct initialiser and then return a reference to it. 16:55:58 Not really. 16:56:10 Pity, too. 16:56:32 pikhq: But I can! 16:57:10 * pikhq mutters 16:59:07 pikhq: I love how I barely have to implement any scoping. 16:59:36 If we declared a variable and haven't gone to a new continuation, use it directly. Otherwise, fetch it from our environment. 16:59:44 (which is just env->varname.) 17:00:53 If I add global function pointers so you can redefine top-level functions, then the additional logic is just "if there's no lexical bindings of this before the top level, assign to the pointer named global_whatever or something." 17:01:41 ehird: Yeah, that's about as simple as it gets. 17:03:11 pikhq: btw, I know Linux won't allocate anything below at least (void *)259, most likely, but do you know about other OSs? 17:03:13 BSDs? 17:03:26 #define F ((scm_value) 0) 17:03:27 #define T ((scm_value) 1) 17:03:29 #define nil ((scm_value) 2) 17:03:30 #define tag_char(x) ((scm_value) 3+(x)) 17:03:32 #define tag_int(x) ((scm_value) (x<<1)+1) 17:03:33 is what I have 17:03:47 So I depend on: pointers' low bit is 0, no pointer is <259 17:04:19 I could, of course, make it 1, 3, 5 for F/T/nil, but that breaks the fact that you can do if (foo) to detect #f. 17:04:36 and I could also spread out the chars so they have low bit 1, but I think this way is nicer 17:04:38 easier unpacking 17:04:47 ehird: Most UNIXs won't allocate the first page. 17:05:02 Know of any that do? 17:05:07 No. 17:05:11 hmm, wait, I know that 0 won't be allocated 17:05:17 so it could be 0, 1, 3 for F/T/nil 17:05:20 and that preserves the if 17:05:29 It's generally not allocated so that NULL is guaranteed to segfault. 17:05:30 pikhq: then again, even pointers isn't mandatory either is it? 17:05:54 ehird: Not mandatory, just common. 17:06:46 then i'll just leave it as is because i'm depending on common behaviour anyway 17:06:55 I should just call it a Scheme compiler for x86 Linux 17:07:00 c is just my assembly :P 17:07:29 I think even Boehm GC assumes even pointers. 17:07:35 ... And Boehm GC runs everywhere. 17:07:51 -!- augur has joined. 17:07:52 03:45:16 he/she/it* -- stop with the discrimination against genderless AI entities. 17:08:04 Or, you know, genderless humans. 17:08:11 Rather more likely :P 17:10:08 -!- jpc has joined. 17:13:52 08:00:57 augur, as for lisp, in general most people who aren't really good at the concepts it uses tend to have way easier to learn an imperative language first 17:13:54 false 17:15:42 ehird, well, it is based on observation about average people. Not on observation of those in this channel 17:16:23 also yes it is not a scientifically rigours study 17:16:27 yes,* 17:16:33 It is still false; imperative programming is only intuitive because that's how it's taught. 17:16:47 Certainly perhaps a "man on the street" could understand a list of instructions but not a simple mathematical function, but 17:16:50 ehird, so both are equally easy to learn? 17:16:56 1. This man is not, will never be, and is not suitable to be a programmer. 17:17:01 2. These are linguists we're talking about. 17:17:10 You know the curry-howard isomorphism? Programming is logic? 17:17:17 Types are statements and values are proofs? 17:17:25 There's one of those for linguistics and logic. 17:17:26 ehird, oh right linguists. That probably means some fancy language will be easier indeed 17:17:30 And thus linguistics and (functional) programming. 17:17:45 -!- augur_ has joined. 17:17:55 I would say that functional programming has a higher learning curve, but much fewer stubbed toes after the initial climb. 17:18:16 Most definitely. 17:18:41 And beginning programmers have a *lot* of stubbed toes, because writing understandable, reliable imperative code is almost impossible. 17:18:42 Much agony results from debugging imperative code. 17:19:00 Especially in low-level languages, where a bug can readily rewrite the stack... 17:19:32 what's this about curry howard for linguistics 17:19:37 * pikhq finds that his C lambdas close much more nicely when you implement the closures as a void*[]. <-- as a array of void pointers? Why? 17:19:40 an* 17:21:04 soupdragon: i don't remember where I saw it, but it was on lambda the ultimate or something, also, augur has said it 17:21:20 basically your linguist notation is the typed lambda calculus, iirc 17:21:22 AnMaster: void **c=xgc_malloc(sizeof(void*)*2);c[0] = foo;c[1]=&bar; vs. struct the_closure_t {int *a;int *b} *c=xgc_malloc(sizeof(struct the_closure_t));c=(struct the_closure_t){foo, bar}; 17:22:22 link? 17:22:23 BTW, that struct declaration has file scope. 17:22:40 Or, you know, genderless humans. <-- that exists? 17:22:49 soupdragon: "i don't remember where I saw it" 17:23:03 AnMaster: occasionally but very rarely 17:23:26 AnMaster: Probably. Gender is fluid: you have transgendered people, people who's gender identity is basically in-between, etc. 17:23:32 (If I meant "sexless humans" I would have said that.) 17:23:34 "because writing understandable, reliable imperative code is almost impossible." <-- for new programmers only you mean? 17:23:41 No. 17:23:45 I mean it very literally. 17:24:03 ehird, for experienced programmers I find it "hard" instead of "almost impossible" 17:24:11 If you disagree, then you don't have a strict enough definition of reliable. 17:24:13 I agree with ehird; I can write relatively understandable imperative code, and sometimes it even ends up reliable, but it's nowhere near as good as equivalent functional code would be 17:24:17 unless it's very simple 17:24:25 Coding in a functional language makes you totally rethink how reliable things can be. 17:25:04 Heck, Dijkstra spent the entire life of a genius trying to figure out how to write understandable, reliable imperative programs. 17:25:10 He... sort of succeeded. 17:25:19 what's the point in even saying this 17:25:24 ehird, I think Unix managed fairly well considering that tools like valgrind didn't even exist back then. 17:25:25 not ever program is a function 17:25:32 not every program is a function* 17:25:35 soupdragon: But every program is a function. 17:25:36 and indeed 17:25:40 AnMaster: Unix was not reliable and it has never been reliable. 17:25:45 I didn't say imperative was better than functional 17:25:50 that's ridiculous pikhq, that's like saying everything is made from atoms 17:26:00 soupdragon: Heheh. 17:26:00 And you think the original Unix code was understandable? Wow. 17:26:01 I just said it wasn't quite as unreliable as ehird wanted to suggest 17:26:22 The original Unix code used fixed size buffers for a huge number of things. 17:26:24 ehird, I'm well aware of that parts of it wasn't 17:26:27 AnMaster: you haven't even programmed in any purely functional programming languages, let alone programming seriously in one, so it's understandable you would think that. 17:26:34 also what about modern *nix 17:26:38 like FreeBSD 17:26:40 But Unix's code was definitely not understandable; it was a mess. And it was extremely unreliable. 17:26:43 I read parts of freebsd kernel 17:26:47 fairly understandable 17:27:01 Y'know the term "buffer overflow"? The Unix opinion on them was "Why would you want to make the buffer overflow, anyways?" 17:27:02 AnMaster: you have no idea how reliable code can be because you've only ever used impure languages 17:27:07 there's not really any way to explain it 17:27:24 ehird, I coded in scheme quite a bit. I don't mention everything in this channel. Far from everything is esolang related 17:27:37 ... Scheme's not purely functional. 17:27:39 Scheme is not a purely functional language. 17:27:43 Neither is Erlang. 17:27:43 pikhq, I was getting to that 17:27:51 I'm aware of neither being pure 17:27:57 The gap between functional and purely functional is immense, and it is where the immense reliability emerges. 17:28:12 I'm also aware of that both give better results than imperative languges 17:28:37 The Haskell code I have written *can only fail if the compiler or the kernel have bugs*. 17:28:39 however, haskell does have a steep learning curve. I only went up it a tiny bit 17:28:46 (or, of course, you run out of memory) 17:28:50 pikhq how do you know that? 17:29:00 AnMaster: It only has that learning curve because you are used to other kinds of code. 17:29:06 soupdragon: It's fairly trivial to see. 17:29:08 pikhq, or logic errors. 17:29:15 pikhq: that's false; you cannot ensure that without dependent types 17:29:17 pikhq what sort of programs are you thinking about then? 17:29:18 but it's close to the truth 17:29:22 AnMaster: the type system helps you guarda gainst those, too. 17:29:35 Anyway, I'm not interested in debating this , really. 17:29:40 AnMaster: That's the only way for almost *any* Haskell code to fail. 17:29:42 -!- augur has quit (Read error: 110 (Connection timed out)). 17:29:44 ehird, I have always said I wanted strong typing, that being one of the things I really miss in erlang 17:29:46 pikhq: false 17:29:56 AnMaster: Strong typing as you know it is a waste of time. 17:30:11 ehird, if the compiler does it automatically it isn't 17:30:18 It is utter folly and makes programs incredibly inexpressive until you get to around the H-M + typeclasses level. 17:31:35 you can express a C-like language in haskell (using a monad) and then writing programs in this is equally hard as writing them directly in C -- functional programming doesn't help anything 17:31:40 also it helps catch some bugs certainly. erlang has optional type annotations. Using those I found very useful. Such as the system can tell that it is possible to pass something that won't work somewhere 17:31:41 or suc 17:31:44 such* 17:31:57 soupdragon: Let me borrow a term from Conal, then: denotational programming is more reliable. 17:31:58 and I understood that haskell has a very useful type system, I assume thus it is even better 17:32:02 soupdragon: And then you're not doing functional programming, you're making Haskell into the ultimate imperative language. 17:32:15 Anyway, I'm very bored about this because AnMaster has no hope in hell of understanding. 17:32:18 So let's talk about something else. 17:32:26 AnMaster: Learn Haskell, and be enlightened. 17:32:34 pikhq: he said he tried to bugt gave up 17:32:34 pikhq, what about other pure languages 17:32:44 ehird, no I said I tried and put it on hold 17:32:45 pikhq I still want to know what programs you wrote that are obviously correct 17:32:47 hmm, I'd like something like the Splint dialect of C, but with a less cumbersome syntax and that actually works 17:32:50 AnMaster: aka gave up 17:33:01 ehird, like you and most of your projects? 17:33:04 well I'm not like that 17:33:06 Anyway, please let's not tell AnMaster to learn Haskell; I Might End Up Maintaining His Code™. 17:33:12 AnMaster: you're boring 17:33:16 soupdragon: even versions of true in commercial UNIX have had bugs found in them before 17:33:24 ehird, what has that got to do with anything 17:33:24 soupdragon: Whole lot of relatively trivial ones. 17:33:27 soupdragon: pikhq was exaggerating 17:33:46 The non-trivial ones are merely *most likely* correct. I've not bothered proving it. 17:34:02 Some people realize "functional programming languages are great for functional programming, most programs are functions" but they express it in an odd way, saying stuff like "SET! makes programming impossible, object orientation is broken, ocaml sucks - the only way to get any real programming done is to use foldr in haskell" 17:34:27 pikhq, what about other pure languages 17:34:32 pikhq, still waiting for an answer 17:34:39 AnMaster: ... Which other ones? 17:34:43 pikhq I got that you didn't prove it but if you can just tell by inspection that they are correct that's pretty cool -- but I guess you don't want to show me any of these for some reason? 17:34:44 Miranda and Gofer!!!!!11 17:34:44 pikhq, that is what I'm wondering 17:34:52 ehird, are those the only ones? 17:34:53 There's Haskell, and a handful of Haskell-oids... 17:34:57 And... ? 17:35:03 AnMaster: very few practical ones. 17:35:10 why so few? 17:35:27 Because they're subtle and require intelligence to create and compile. 17:35:32 hm 17:35:41 soupdragon: http://sprunge.us/ETYc 17:35:41 Compare to, say, Python, which was whacked together in a few days based on a few vague ideas and a lot of C. 17:35:54 soupdragon: cat. 17:36:01 main = interact id 17:36:03 cat. 17:36:10 cat does not have options, btw. 17:36:33 why not make something like haskell but with a simpler syntax and less steep learning curve? 17:36:40 AnMaster: The syntax is simple. 17:36:40 ehird: /bin/cat does. 17:36:45 AnMaster: ... Haskell has a rather simple syntax. 17:36:45 AnMaster because it would still suck 17:36:48 ehird, I meant "simple as lisp" 17:36:48 Removing the learning curve would make it suck. 17:36:53 AnMaster: Liskell. (It sucks.) 17:37:14 AnMaster: why not make something like c but with compiler-enforced safety and no memory management? 17:37:20 ehird, also I didn't intend it as a production language. Rather as a language like scheme, for learning mostly 17:37:24 rather than for performance 17:37:24 it has to be just as fast and low-level 17:37:27 and incur no run-time overhead 17:37:41 AnMaster: I don't intend mine as a production language, either! 17:37:57 It's just for learning. So can I have this safe, no-memory-management C that is fast, low-level and has no runtime penalty for its features tomorrow? 17:37:59 ehird, so you are saying that scheme is impossible or such? 17:38:05 Scheme is not purely functional. 17:38:10 that's true 17:38:13 pikhq: btw you should use http://community.haskell.org/~ndm/cmdargs/ for command line args :P 17:38:23 ehird: Probably. 17:38:23 it's all type system and shizz 17:38:24 but it is the same vs other more advanced lisps really 17:38:29 pikhq: TYPE SYSTEM 17:39:37 pikhq okay I guess I see what you mean -- you are programming at such a high level that there's no confusion about what's going on here 17:39:53 pikhq: btw it should be putStr not putStrLn 17:39:59 plus I have yet to find a good haskell tutorial. 17:40:14 ehird: Dankon. 17:40:26 AnMaster: if neither Learn You a Haskell nor Real World Haskell get you understanding haskell, it is merely your imperative mindset that is broken. 17:40:53 ehird, the former I just found silly, the latter I don't remember seeing 17:40:57 * AnMaster googles 17:41:10 oh was it book only? 17:41:10 "Waah, it's silly. It sucks and Haskell sucks and you suck." 17:41:13 No. 17:41:13 rather than website 17:41:24 Look, I'm really uninterested in talking about this, so please don't highlight me about it again. 17:41:25 AnMaster, it's meant to be silly so its' fun to read 17:41:27 "Waah, it's silly. It sucks and Haskell sucks and you suck." <-- never said that. 17:41:35 I recommend that book it's good 17:41:35 I said don't highlight me about it again. 17:41:41 what I said is, I found it silly and not fun at all 17:41:50 thus it didn't work for me 17:41:53 pikhq: btw - for stdin is baad 17:41:54 maybe you just don't want to know haskell 17:42:10 it breaks the uniform identifierspace that is the filesystem and requires every program to do additional processing 17:42:15 when /dev/stdin is a perfectly good name :( 17:42:17 ehird: Yes, but 'tis the standard. 17:42:21 soupdragon, I don't have the money to pay for books currently except course literature. That is expensive as it is 17:42:21 bah 17:42:23 you can do better! 17:42:36 AnMaster: it's published online you dumbfuck 17:42:40 there's a whole link on the homepage to read it 17:42:44 you're being deliberately obstructive 17:42:44 AnMaster not sure what that has to do with it 17:42:53 ehird, hm then I misread the result 17:43:09 Real World Haskell is *also* available online. 17:43:19 ehird, first result was amazon.com you see 17:43:46 then o'reilly 17:43:57 yeah, no books are both online and sold 17:44:00 the site for the book was only at the 7th place 17:44:02 http://diveintopython.org/ is a LIE 17:44:06 ehird, well it didn't say near the top 17:44:11 and stop being silly 17:44:21 I'M VERY SERIOUS NOW :| 17:44:32 ehird, everyone just looks at the top few results at google usually 17:45:13 After I just said "it's not just a book"? 17:45:19 You're just wasting our time. 17:45:37 anyway 17:45:40 what was I saying 17:46:43 ehird, hm? where? If you mean " AnMaster: it's published online you dumbfuck" then it was afterwards 17:46:56 -!- nooga has joined. 17:46:56 no 17:46:56 anything before that I must have missed 17:46:59 before 17:47:46 ehird, well unable to locate it, but I don't really care. Won't make you change your mind anyway. *shrug* 17:47:46 pikhq: ohai 17:47:51 i done rewrite your program as oneliner 17:47:58 main = putStr =<< (fmap concat $ getArgs >>= mapM readFile) 17:48:07 ok technically "cat" on its own a nop 17:48:11 but i'm paid by the anticharacter! 17:48:18 oh was it book only? 17:48:19 "Waah, it's silly. It sucks and Haskell sucks and you suck." 17:48:19 No. 17:48:22 oh you mean that no? 17:48:28 [17:40] oh was it book only? 17:48:29 [17:40] No. 17:48:31 import UnixInOneLine 17:48:31 [17:40] rather than website 17:48:36 ehird, see order here 17:48:36 cat = unix id 17:48:45 it looked like it was connected to that quoted line 17:49:00 soupdragon: is unix "interact but with file arguments" :P 17:49:07 ehird, like trying to point out the sarcasm in a very clear way 17:49:25 ehird, please do remember the timing issues with irc. 17:49:37 Fix your massive lag. 17:49:45 -!- augur_ has quit (Read error: 110 (Connection timed out)). 17:49:48 ehird, 0.1 seconds yes 17:49:53 that is what my meter shows 17:49:59 meh. 17:50:41 ehird, * Ping reply from ehird: 1.01 second(s) 17:50:49 either most of the lag is on your end or between servers 17:50:52 182 ms here. 17:51:00 ehird, well then between servers 17:51:00 ehird: cat was one of my earlier Haskell programs. 17:51:05 not much I can do about that 17:51:35 meh 17:51:44 echo time! 17:52:04 main = putStr =<< getArgs 17:52:05 main = putStrLn =<< (unwords <$> getArgs) 17:52:13 pikhq: type error. 17:52:19 Ah, right. 17:52:35 Yeah, getArgs :: IO [String]. Need some unwords. 17:53:13 main = putStr =<< (fmap (reverse . concat) $ getArgs >>= mapM readFile) 17:53:28 ohai i turned you into tac 17:53:33 (Except it's character-based tac, not line-based.) 17:53:38 (Also, it prints the last argument first.) 17:53:54 main = interact $ unlines . map reverse . lines 17:54:00 stdio-only tac. 17:54:03 Whoo. 17:56:54 * ehird decides that a good compilation strategy is transforming the Scheme program into an sexp form of C. 17:57:05 ...although I don't want to implement macros right now. 17:59:38 lol, OS X ehird:staff shows up in linux as 501 dialout 18:01:14 -!- kar8nga has quit (Remote closed the connection). 18:02:12 ehird, what distro? 18:02:21 on arch iirc users start below 1000 18:02:23 kubuntu 18:02:26 probably Snow Leopard 18:02:33 well yeah users would start about 1000 there 18:02:34 "shows up in linux as" 18:02:34 ais523, -_- 18:02:45 (sorry, I'm in a misinterpetitive mood at the moment) 18:02:51 I didn't actually get around to upgrading to Snow Leopard 18:02:56 ais523, also that would be version, not distro 18:03:10 Well, technically Snow Leopard is a distribution of Darwin. :P 18:03:17 ais523, it's like saying jaunty is a different ubuntu distro than karmic 18:03:24 With its own, proprietary windowing system and applications. 18:03:29 ehird, note "technically" 18:03:35 AnMaster: sometimes it feels like that! 18:04:03 where can I list all the fs types i can mount? 18:04:05 ais523, it requires a mind bending definition of distro though 18:04:13 ehird, atm? somewhere in /proc 18:04:20 /proc/filesystems 18:04:22 The argument following the -t is used to indicate the file system type. The file system types which are currently sup‐ 18:04:23 ported include: adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfs‐ 18:04:25 plus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, 18:04:26 udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Note that coherent, sysv and xenix are equivalent and that xenix and 18:04:28 coherent will be removed at some point in the future — use sysv instead. Since kernel version 2.1.21 the types ext and 18:04:31 xiafs do not exist anymore. Earlier, usbfs was known as usbdevfs. Note, the real list of all supported filesystems depends 18:04:31 ehird, however, loading more modules may change which ones are available 18:04:34 on your kernel. 18:04:36 or just man mount 18:04:38 hfs-plus then 18:04:43 ehird@meson:/media$ sudo mount -t 'hfs-plus' -o user=ehird,group=ehird /dev/sda2 Macintosh\ HD 18:04:45 mount: unknown filesystem type 'hfs-plus' 18:04:47 ehird, "note the real list" 18:04:48 *look of disapproval* 18:05:00 ok, it's really "hfsplus" 18:05:03 thanks, misleading man page 18:05:04 I love you 18:05:04 ehird, yes see. 18:05:16 ehird: "hfsplus" on my manpage 18:05:24 it's nroff you should probably hate, rather than the manpage itself 18:05:34 ehird, it is just line broken there 18:05:42 eh didn't work giving -o uid=ehird,gid=ehird ;( 18:05:46 *:( 18:05:50 ais523: yar 18:06:06 wth 18:06:12 man mount give me the plan9 page 18:06:24 okay only that shell 18:06:25 whatever 18:07:10 ehird: those are filesystem-specific options, and hfsplus has no specific options it seems 18:07:26 >_< 18:07:32 I'll just have to chown the directroy then 18:07:34 *directory 18:07:36 NUCLEAR OPTION 18:07:44 read only filesystem 18:07:45 fml 18:07:48 fine then 18:07:52 I'll just copy all the files 18:07:59 ehird@meson:/media/Macintosh HD/Users/ehird$ cd Music/ 18:08:00 bash: cd: Music/: Permission denied 18:08:06 FFFFFFFUUUUUUUUUUUU 18:08:07 try sudo cd 18:08:10 ehird, wonderful 18:08:11 ais523: lol 18:08:14 I know 18:08:19 (try starting a root shell, then cding) 18:08:21 sudo sucks for being a program 18:08:22 ais523, that... XD 18:08:27 I do "sudo foo >bar" all the time 18:08:29 and get bar: permission denied 18:08:38 ehird, I do sudo su - 18:08:38 and then realise GOD DAMMIT SUDO SHOULD BE HANDLED BY THE SHELL 18:08:42 AnMaster: aka sudo -s. 18:08:47 ehird, there is a difference 18:08:53 ehird, sudo -s doesn't reset umask 18:08:58 Sometimes I do "sudo cp /dev/stdin bar" 18:09:09 I guess "sudo cp <(sudo ...) bar" would also work 18:09:18 ehird, which really matters since mine is set to not allow world any permissions by default 18:09:26 thus I need a reset umask from a login shell 18:09:29 you use umasks? 18:09:30 you're crazy. 18:09:32 for some reason I haven't got it to work 18:09:35 in any other way 18:09:36 ehird, what? 18:09:45 there is *always* a default umask 18:09:47 fairly sure even ais523 will agree here 18:09:57 0022 usually 18:09:57 AnMaster: yes, but seting it yourself 18:10:04 * ehird cp -R iTunes\ Music ~ 18:10:05 umask is as far as I can tell only useful in shellscripts 18:10:07 ehird, why not? it's what it is meant for 18:10:17 oh dear 18:10:21 that's 21 gibibytes 18:10:32 AnMaster: it makes more sense to deny world-execute and world-read to your home dir, then it does to mess with the umask 18:10:40 ais523: *than 18:10:47 err, yes, *than 18:10:49 I should get more sleep 18:11:03 ais523, well yes but that messes up ~/public_html 18:11:12 ais523, since web server can't access it any more 18:11:12 Filesystem Size Used Avail Use% Mounted on 18:11:14 /dev/sda3 61G 4.0G 54G 7% / 18:11:21 ais523: how long do you think copying 21 gibibytes from one partition to another will take? 18:11:40 ais523, thus I need only that to be world read and execute in my home dir. keeping the rest out 18:11:49 ehird: I'm actually not sure 18:11:58 let's find out 18:12:05 Go go gadget cp -R 18:12:19 *time cp -R 18:12:22 it took me maybe about an hour to copy 1 gigabyte from one computer to another via compressed rsync and an Ethernet cable 18:12:33 root@meson:/media/Macintosh HD/Users/ehird/Music/iTunes# time cp -R iTunes\ Music ~ 18:12:36 dun dun dun dun 18:12:37 dun dun dun dun 18:12:39 dun DUN 18:12:44 ais523, gbit or 100 mbit? 18:12:46 ais523: ethernet is slower than disk methinks 18:12:53 ehird: agreed 18:12:56 well, I mean 18:12:57 ethernet+disk 18:12:58 I was just giving that as a comparison 18:13:03 I should be getting, like, 100 mbit/s, sustained 18:13:08 so —whips out Frink— 18:13:16 ehird: actually, slowest was probably trying to compress and decompress stuff on a netbook 18:13:28 AnMaster: not sure; it's gigabit on one computer, but I don't know about the other one 18:13:32 and the slower connection would be used 18:13:33 21 gibibytes / (100 megabits/s) -> minutes 18:13:34 58720256/1953125 (exactly 30.064771072) 18:13:37 About half an hour. 18:13:42 ehird, you will find this crazy: when I need fast transfer between my laptop (has gbit ethernet) and my desktop (100 mbit only) I use ethernet over wirewire instead 18:13:49 that give me about 4 times as fast as 100 mbit 18:13:49 Wirewirewire. 18:14:00 err 18:14:02 firewire* 18:14:06 obviously 18:14:53 thing is, desktop firewire hardware is kind of buggy, it doesn't work after you unplug the cable until next reboot again. that pci card is *really* old though 18:15:00 since 2003 or so I think 18:15:08 maybe 2002? 18:15:16 well early firewire times anyway 18:15:21 ais523: is amarok still okay? 18:15:26 guess you wouldn't know 18:15:40 it was superb back in the kde 3 days, kde 4 seems to have messed up the button layout so i don't know what more they'll change 18:15:43 (they overlap weirdly now) 18:15:51 ehird: it was rather screwed-up when I last tried it 18:16:03 21 gibibytes / (100 megabits/s) -> minutes <-- that ignores protocol overhead 18:16:03 but then, I've been having trouble with Phonon for a while 18:16:07 there is ip then tcp 18:16:10 http://static.kdenews.org/jr/amarok-2-beta-3.jpg 18:16:14 behold the fucked up buttons 18:16:15 also, it doesn't really fit what I want from a media player, I'm using Totem at the moment to play music 18:16:16 AnMaster: disk to disk. 18:16:22 and it serves a different purpose from Amarok 18:16:23 specifically, partition to partition 18:16:38 ehird, ah well then you have to consider seek time 18:16:41 ais523: yeah i usually just put my whole library on shuffle and skip liberally 18:16:43 since it needs to seek back and forth 18:16:46 between the partitions 18:16:46 it's the last fuss 18:16:57 ehird: I have a bunch of .pls files 18:17:05 and Totem set to play them in random order repeatedly 18:17:09 and also skip liberally 18:17:10 AnMaster: true, but every album by itself should be continuous on disk i think 18:17:17 so it shouldn't be too bad 18:17:28 ais523: yes, but if i just drag all my music into amarok i don't need to set up pls files 18:17:31 (I used to use the media buttons for that, but this computer doesn't have them, so I use super-F, super-B, super-P as forwards, back, play/pause) 18:17:37 ehird, you defragged your hfsplus disk recently 18:17:43 I doubt it is continuous 18:17:45 AnMaster: hfs doesn't do defragging. 18:17:46 neither does ext 18:17:53 ehird, hfs did under classical 18:17:54 AnMaster: but i copy the albums in blocks, obvs 18:17:59 you can defrag offline using tar, IIRC 18:17:59 ehird, well, not apple tool 18:18:15 ais523, there was "norton utilities 6.0" with "speed disk" 18:18:19 err 18:18:20 ehird, ^ 18:18:23 ais523: music libraries let me have a very streamlined piracy process, get torrent → download → put into music library → fiddle with tags a bit → it comes up in shuffle 18:18:49 I have a very streamlined process for legitimately adding legitimately obtained music to my playlists, to 18:18:50 *too 18:18:57 ehird, saying that to ais is like, well, I can't think of the right word 18:19:03 yes, but obtaining legitimate music is slower 18:19:06 totem can edit playlists GUI-wise, but I mostly just open them in Emacs and add the new file in 18:19:07 AnMaster: wholly intentional 18:19:14 ehird, I realised that. 18:19:19 :D 18:19:24 ehird: it's mostly from computer games I own legally 18:19:32 either that, or music I wrote 18:19:50 my music is mostly *.flac from cds I own legally 18:19:58 I rip those I listen to often 18:20:02 the rest I keep on cd 18:20:13 ais523: aargh, thanks for the earworm 18:20:29 ugh, what have I done now? 18:20:42 Perceptively Chilly Sonata? 18:20:42 ais523: made me think of video game music 18:20:52 ehird: heh, I actually like video game music 18:20:53 because, even in *.ogg it would fill over 70 GB, (based on taking average compression of a few of the cds and then multiplying by number of cds) 18:20:55 haha wow, i forgot all about gregor's 18:21:01 and have deliberately tried to get it stuck in my head at will 18:21:03 i loved my onerous cake-eating festival one 18:21:05 it was so chaotic 18:21:07 most are 60-70 minutes long so no great variance there 18:21:09 I used to sing it from memory in long car journies 18:21:21 ais523: yes, but you made me get the earworm of ambient background music that lasts 20 minutes 18:21:28 AnMaster: 70GB is a lot? 18:21:33 which is just irritating unless you're actually playing a game 18:21:38 oklopol, for music yes on a 350 GB disk 18:21:45 ehird: I'm trying pretty hard to not burst out laughing now 18:21:53 huh. then what do you use it for? 18:22:03 you don't play games, and you don't watch movies 18:22:14 oklopol, I prefer to keep it in cd form for all but the top favourites 18:22:22 so it's not a lot? 18:22:25 oklopol, source code checkouts 18:22:28 you just like cd's 18:22:32 oklopol, what? 18:22:54 checkouts surely can't take that much? 18:23:01 oklopol, compiled code 18:23:09 oklopol, also photos 18:23:26 oklopol, I have a good camera. Raw format. Creating HDR panoramas is fun 18:23:40 that may easily end up at 1-2 GB working directory for one panorama 18:23:43 yeah 18:23:48 okay i believe you 18:23:58 this time. 18:24:17 oklopol, the data to keep around when done is: the panorama, the raw images, and scripts with settings. Which is maybe 150-200 MB 18:24:25 the scripts being tiny, a few kb or so 18:24:58 obviously if a human writes it, its size is not significant 18:25:13 oklopol, hm? Well most of them are auto generated, describing used settings 18:25:16 no one could ever fill 350 GB 18:25:22 like "this white point and blah blah" 18:25:34 oklopol, how do you mean, panoramas do fill a lot 18:25:49 by typing shit, a human could never fill 350 GB 18:26:10 oklopol, system stuff takes a few gb. around 10 for /usr /var / and such (in total) 18:26:16 swap is at 2 gb 18:26:20 oklopol: AnMaster manually types in his os binarise 18:26:24 *binaries 18:26:26 true story 18:26:35 then home is the rest, and that is more than 75% filled 18:26:52 oklopol, also I said that most was images 18:27:11 if you live for a hundred years, and during each second type like 100 characters, then you get close 18:27:13 ais523: 14 GiB out of 21 GiB copied, it's going quickly 18:27:26 AnMaster: i believed you ages ago, i just said "yeah, scripts can't take much". 18:28:03 oklopol, exactly. Well there is that few hundred kb description of matching control points in the images for the panorama. Ask fizzie about hugin 18:28:12 I'm too lazy to describe details 18:28:13 (100 bytes/s) * 100 years -> gigabytes 18:28:15 315.569259746784 18:28:17 (GB, not GiB.) 18:28:45 Slightly more accurate: 18:28:49 yeah, i did actually calculate it 18:28:53 (500 bytes/minute) * 80 years -> gigabytes 18:28:53 21.0379506497856 18:28:59 500 bytes/min being 100 wpm 18:29:01 hmm 18:29:03 ofc that assumes no sleep 18:29:15 oklopol, anyway what if you record exact time stamp for each key press? 18:29:17 food could be via a tube 18:29:24 also, you've gotta be like 10 to type that fast at least 18:29:27 oklopol, and how the hand moved 18:29:36 so, sleep, let's say tesla pattern all your life 18:29:41 i wonder if chinese would like that job 18:29:48 so 18:30:09 that's 80 minutes of sleep a day 18:30:18 it can't be done 18:30:30 what, the tesla pattern? 18:30:34 http://tesser.org/sleep/teslapattern/ 18:30:35 -!- kar8nga has joined. 18:30:40 yeah and it's such a great pattern we can assume 100 years lifespan 18:30:41 it is done. 18:30:46 oklopol: no :P 18:30:51 anyway so 18:30:58 80 minutes a day 18:31:14 (80 minutes/day) * 80 years -> years 18:31:15 4.4444444444444444444 18:31:16 it must be extremely unhealthy 18:31:22 nooga: it is not 18:31:24 polyphasic sleep is fine 18:31:33 well, tesla is experimental 18:31:39 but uberman seems to have little to no long term effects 18:31:45 and tesla is just more hardcore uberman 18:32:20 (500 bytes/minute) * (80 years - 14.4444 years) -> gigabytes 18:32:22 17.239443470213560991 18:32:28 nothing you do in no way affects how long you live, or how healthy you are 18:32:30 everyone knows this 18:32:37 oklopol: so if you do the tesla pattern all your life, live for 80 years, get fed via a tube, 18:32:48 and spend all your time after age 10 either sleeping or typing at 100wpm 18:33:01 and make no fluctuations in speed, ever 18:33:12 you can produce about 17.23 GB of text. 18:33:20 (again, gigabytes not gibibytes) 18:33:20 heh 18:33:22 fin 18:33:37 ehird, what is it in gibibytes? 18:33:43 less. 18:33:43 ehird: What if you do shift-home,end,shift-insert all the time when it gets profitable 18:33:48 Er, forgot to copy 18:33:48 ehird, how much less 18:33:49 But anyway 18:33:51 Deewiant: left to the reader 18:33:54 AnMaster: work it out yourself 18:33:57 root@meson:/media/Macintosh HD/Users/ehird/Music/iTunes# time cp -R iTunes\ Music ~ 18:33:59 real 21m5.663s 18:34:00 user 0m0.784s 18:34:02 sys 1m30.970s 18:34:03 faster than 100 mbit/s, great 18:34:23 Well, it'll grow exponentially so it'll be a shit-tonne more. Fin 18:34:28 ehird, that time interesting 18:34:41 what is there missing from real 18:34:43 as in 18:34:47 Deewiant: but that's not human creation 18:34:49 what isn't covered by user and sys 18:34:53 AnMaster: disk. 18:34:54 waiting? 18:35:05 ehird, but that would be sys iirc? 18:35:17 hm maybe not waiting for it to finish 18:35:17 waiting for disk, rather. 18:35:22 yeah 18:36:27 Deewiant, shift-home and shift-insert in emacs? 18:36:38 No. Not in Emacs. 18:36:58 ehird, it could be vim, which I don't really remember all the details in 18:37:07 It could be a regular text field. 18:37:28 ehird, oh in X? 18:37:29 right 18:37:35 Sigh. 18:37:39 stfu. 18:38:08 Deewiant, shift-home moves to the top of the history in X apps I tried ? 18:38:33 well depends on program 18:39:11 ehird: are you fluent in acme? 18:39:32 nooga: I can use it. 18:39:55 do you like it? 18:40:22 Let's see if Amarok can do ALAC. 18:40:23 nooga: Yes. 18:41:28 it's weird but has some awesome solutions 18:42:58 plan9 is awesome, it makes you read manpages 18:44:32 nooga, iirc ehird more than once said that most programs shouldn't require documentation to understand 18:44:44 ah yes, AnMaster, always trying to incite conflict 18:44:47 as in, easy to figure out user interface 18:45:02 ehird, just quoting you 18:45:11 for no purpose other than to incite conflict. 18:45:51 ehird, no because I considering you an authority on "usable user interfaces for other people than me" 18:46:28 uhhhhh 18:46:31 no, i mean it 18:47:15 it's exotic 18:47:50 nooga: just ignore AnMaster, he's just trying to get me riled up. 18:48:22 I'm not. I'm just interested in *if* that will happen or not 18:48:36 my goal is not to make it happen, but rather to see if it will happen 18:48:39 ...and then you'll get infuriated and i'll be called idiot again 18:48:55 nooga, hey he will get angry at me not you 18:49:14 but i'm near this time ;( 18:49:19 HatfulOfHollow can't work fast enough. 18:49:43 ehird, a band or artist? 18:50:06 http://www.bash.org/?4281 18:50:38 ehird, ah thought it was about music, since that was recently discussed 19:01:21 http://www.frappr.com/?a=mygroups&id=4644452 average eso hacker 19:02:09 llol 19:02:10 Just another esoteric hacker, 19:02:36 hmm... maybe TAEB should have been called JAPH 19:02:36 whut 19:02:39 frappr's going down? 19:02:44 * ehird exports it 19:02:54 we are compiling a lot of content for this request, thanks for being patient, please only click the link once. 19:02:55 okay... 19:02:56 I wonder why vlc prints "[0x23bbfa8] main input error: ES_OUT_RESET_PCR called" once every time a file is played 19:03:07 Well, I saved the kml 19:03:09 the hexdecimal number varies 19:03:11 Don't know if it has the photos, probably not 19:03:31 what's frappr? 19:03:37 ais523: a map site thing 19:03:40 ais523: the esolang map is on it 19:03:47 (see chanserv line when you come in) 19:03:51 ah, yes 19:03:54 it's going down, apparently, so I backed it up 19:03:57 I forgot all about the esolang map 19:03:58 not with photos i think, it was a small file 19:04:09 but probably the locations and names, maybe the text 19:04:21 hm 19:04:22 what for? 19:04:43 I don't remember such a chanserv line 19:05:02 -!- anmaster_l has left (?). 19:05:02 -!- anmaster_l has joined. 19:05:03 AnMaster: /cycle. 19:05:11 nooga: why not 19:05:31 ehird, well yes I did as anMaster_l 19:05:47 -!- augur has joined. 19:05:51 anmaster_l* 19:06:02 ehird, missing plugin... 19:06:17 js afaik 19:06:24 flash for the little scrolly thing 19:06:31 but that's not mandatory 19:06:37 ehird, I enabled js 19:06:43 well, it's the map. 19:06:51 maybe it needs flash to cycle through things 19:07:01 there is no map on there. As in no actual map 19:07:30 ehird, swfdec didn't work, nor did gnash 19:07:31 enable flash and try 19:07:35 adobe flash 19:07:37 i hate facebook 19:07:40 * ehird gets popcorn 19:07:41 ehird, I'm not crazy 19:07:51 yeah evil frappr security holes 19:09:12 ... 19:10:26 damn 19:10:39 what 19:10:46 found out acme doesn't have syntax highlighting? :P 19:10:59 my irssi is broken, page down does not work after i press page up 19:11:02 -!- nooga has left (?). 19:11:17 -!- nooga has joined. 19:11:20 ;| 19:11:23 ehird, can I get the kml, it says you can't download it twice 19:11:25 -_- 19:11:28 [19:10] what 19:11:29 [19:10] found out acme doesn't have syntax highlighting? :P 19:11:31 AnMaster: I already downloaded it. 19:11:35 ehird, yes, but I can't 19:11:37 since you did 19:11:39 I AM THE SOLE PROPRIETOR 19:11:40 can you send it to me 19:11:43 .... 19:11:48 NO, I WILL RULE THE MAP WITH AN IRON FIST MWAHAHAHAHA 19:11:49 yes ok 19:11:53 thanks 19:12:05 it's in google earth format i think 19:12:12 http://filebin.ca/nbbpfe/126358227137742.kmz 19:12:15 ehird, yes I have that open from my gentoo install 19:12:16 xml based i think too 19:12:18 maybe gzipped xml 19:12:22 since arch doesn't have a package for it 19:12:27 check if it includes the pics 19:12:45 screw syntax highlighting, rio's way of handling text is too weird already 19:13:25 ehird, it doesn't say who for the points 19:13:30 it's unconventional but good 19:13:41 nooga: practice moving your hand to the mouse :p 19:13:43 and no pics 19:13:44 ehird, ^ 19:13:51 AnMaster: that may be a google earth problem 19:13:52 just the points 19:13:55 AnMaster: open it in an editor or sth 19:13:58 try gunzipping it too 19:14:02 (remember to save a copy first) 19:14:12 it's zip 19:14:13 not gzip 19:14:18 that too 19:15:04 the images are in the zip archive 19:15:09 at least some *.jpg are 19:15:23 "Error interpreting JPEG image file (Improper call to JPEG library in state 200)" 19:15:33 for three of the images 19:16:05 ehird, ^ 19:16:22 maybe jpeg2000 or soemthing silly 19:16:30 data readability is unimportant as long as it's there :P 19:16:37 plenty of time to figure out the format 19:17:05 8ff24142d0385118657d3a492b403fbc2_medium.jpg 19:17:07 that one fails 19:17:12 8ff24142d0385118657d3a492b403fbc2_medium.jpg: empty 19:17:17 ehird, that is what file says 19:17:24 so well I don't believe there is any data there 19:17:29 Alright 19:17:30 probably a 0-byte file 19:17:35 What about the others, are they proper jpegs? 19:17:35 ais523, yes 19:17:42 ais523: yeah, maybe just no picture was specified or something 19:17:43 ehird, seems like it, gimp can view them 19:17:50 of people? :P 19:17:51 file says they are jpg 19:18:02 ehird, how many images should there be 19:18:14 there are 12 19:18:18 meh, just use gwenview or something, why would anyone use the GIMP as an image /viewer/? 19:18:20 including the 3 broken 19:18:31 ais523: feh! 19:18:35 Or, just, whatever KDE does. 19:18:36 ais523, I used eog first, them gimp in case eog was unable to handle some strange file format 19:18:42 Whatever KDE does doesn't seem to be an annoying principle to me right now. 19:18:44 ehird, isn't feh a window manager? 19:18:47 AnMaster: no 19:18:49 image manager 19:18:53 erm 19:18:55 not manager 19:18:56 viewer 19:19:06 ehird, ah 19:19:10 well 19:19:12 actually 19:19:24 ehird, I said *window* manager 19:19:26 not image manager 19:19:29 but okay 19:19:43 [19:18] ehird, isn't feh a window manager? 19:19:45 [19:18] AnMaster: no 19:19:46 [19:18] image manager 19:19:48 [19:18] erm 19:19:49 [19:18] not manager 19:19:51 [19:18] viewer 19:19:52 Two-stage error correction system. 19:20:17 ehird, anyway it doesn't include lables for who for most of the data point 19:20:21 ah 19:20:48 ehird, like for those in helsinki 19:20:54 lots of yellow pins there 19:20:57 AnMaster: grep the file for... I don't know, some names 19:20:58 but no names for them 19:21:01 see if the names are at least there 19:21:08 ehird, well those elsewhere have some names 19:21:29 ehird, almost all data points in the file lack names 19:21:31 a few has it 19:21:44 There are yellow square pins on frappr.com too 19:22:01 not square, the round google ones 19:22:37 ehird, the one for oerjan has no label 19:22:43 ehird, at least I can tell that 19:23:04 ehird, also some of the points look dubious 19:23:09 you can compare with frapper 19:23:16 to see if they have a name for oerjan's pin 19:23:18 I could but frappr's interface sucks 19:23:25 lessee 19:23:46 ehird, would be Norway, about where it gets narrow 19:23:49 Trondheim 19:23:52 In Norway there's rune, Wh1teWolf, Joakim 19:23:56 *Rune 19:24:00 Huh, Rune = kipple 19:24:15 * ehird looks for trondheim 19:24:18 ehird, what about oerjan. Is his pin unnamed? 19:24:22 oerjan isn't on the map at all. 19:24:30 ehird, slightly south of the joakim pin 19:24:38 a bit more to the west 19:24:40 and to the left a bit? 19:24:56 ehird, at the south end of some large lakes 19:25:10 or maybe the sea going deep in 19:25:11 I can't see such a pin. 19:25:13 could be fjords 19:25:19 there is one here though 19:25:23 from that kml file 19:25:23 I see a red circle with a dot, but that's just marking Trondheim 19:25:26 it is unnamed 19:25:35 Just a glitch, then 19:25:43 http://toastytech.com/guis/xnetscape.gif ← redhat 5 19:25:48 how many pins are there in total? 19:26:22 $ grep "" 126358227137742.kml | wc -l 19:26:22 531 19:26:23 wth 19:26:28 do we even have that many? 19:26:33 look 19:26:37 the pin I see for trondheim 19:26:39 is right next to the name 19:26:40 Trondheim 19:26:44 so I bet it's just ... marking trondheim 19:26:55 531 is probably the cities it knows plus us handful 19:27:07 ehird, there are *lots* of spurious pins then 19:27:07 hm 19:27:16 ehird, they are unnamed. Very helpful XD 19:27:17 filter the ones that have namse 19:27:18 *names 19:27:30 ehird, also it doesn't explain why there are more than one in Helsinki 19:27:33 about 7 or so 19:27:40 all unnamed 19:27:48 ehird, sec 19:27:53 Helsinki is just AWESOME 19:28:03 The more pins THE MORE AWESOME 19:28:12 ehird, 37 19:28:18 in .fi we have 19:28:19 with names 19:28:20 oklopol 19:28:26 shadikka 19:28:33 keymaker 19:28:38 and tat's it 19:28:40 *that's 19:28:43 AnMaster: 37 sounds right 19:28:48 and a host of unnamed pins :P 19:28:51 http://www.frappr.com/esolang/members 19:28:52 let's count! 19:28:57 8 on first page 19:29:08 8 on the second page, ok, we can assume 8 on a page 19:29:12 there are two unnamed plus one "Gustaf" in Stockholm 19:29:15 ??? 19:29:16 http://www.frappr.com/esolang/members?pg=7 19:29:20 lots of (People) with no name 19:29:22 just some glitch 19:29:27 the 37 are all the real people 19:29:31 right 19:29:33 so just ignore the unnamed ones 19:30:27 ehird, one real in australia? 19:30:35 lemme check 19:30:54 yep 19:30:57 Mark Schad 19:31:13 does it have Castle Hill, New South Wales, Australia 19:31:15 as metadata 19:31:17 also "There is no spoon." 19:31:22 just wondering if truly everything is in there 19:31:36 ehird, yes 19:31:45 ehird, pictures does not show up 19:31:46 however 19:32:20 wait what, now they do after restarting google earth -_- 19:32:49 *pictures do not show up 19:32:50 :P 19:32:52 anyway, good 19:32:54 all saved 19:32:57 not that anybody will want it 19:33:21 ehird, no, there are 12 valid pictures on fappr 19:33:32 but not all of them are valid in the kmz 19:33:44 as in, there are 9 images + 3 empty 19:33:46 well... save them to disk manually and note who's they are. 19:33:48 while there are 12 valid there 19:33:50 in a text file 19:33:53 hm 19:33:54 or if you're daring 19:33:56 make a copy 19:33:57 and put them in that copy 19:33:59 have to figure it out 19:34:11 you could unzip it yourself you know ;P 19:34:20 so could your mom :| 19:34:30 ehird, no, she doesn't know what a zip file is 19:35:06 gregor is missing 19:35:08 hey i just realised my statement works as an innuendo too 19:35:09 as in image 19:35:13 i'm so ... unintentional 19:35:34 ehird, I'm unable to get the right type 19:35:41 they are all *_medium in the zip 19:35:48 but the images on the website are *_small 19:35:54 Mimas: That's no moon. Wait, yes. Yes it is. 19:36:17 AnMaster: change the url 19:36:20 to have _medium 19:36:35 hm 19:36:53 looks scaled up 19:37:35 ehird, also there are huger versions for some 19:37:38 that weren't saved 19:37:44 so save them 19:38:09 funny the large version for Gregor is smaller than the medium 19:38:14 so I was right about upscaling 19:41:11 AnMaster: The "backyard" of the university main building: http://zem.fi/~fis/alvar.jpg 19:41:33 now for the partyyyyyyyyyyyy!!! 19:41:53 s/for/to/ 19:43:01 argh the size *killall -9 firefox* 19:43:12 -!- oerjan has joined. 19:43:13 Huh? It's just some 8000 pixels wide. 19:43:13 * AnMaster opens it in gimp 19:43:21 fizzie, yeah made firefox swap trash 19:43:30 before half was loaded 19:43:44 here's a nickel, buy some ram 19:43:59 My firefox uses 192M RES on that 19:44:00 how much ram does a nickel buy these days 19:44:07 More than 192M 19:44:34 fizzie, gimp timed out 19:44:35 huh 19:45:00 fizzie: that's really pretty 19:45:03 also I have 1.5 GB in this box 19:45:17 oerjan, ais523: does either of you understand xkcd today 19:45:22 finland is pretty 19:45:42 what fizzie said about a game i guess, i assume the point was that they cheated horribly 19:46:23 norway is prettier. so there! 19:46:33 oerjan: it's not like norway is entirely composed of fjords 19:46:51 fizzie: when was that pic taken 19:46:55 The university campus courtyard is perhaps also not the prettiest piece of Finland ever. 19:47:02 no, there are also ravishing mountains 19:47:04 yes but it is pretty. 19:47:10 whereas norway is just boring because i said so 19:47:16 ehird: Four hours ago or so. 19:47:17 norway's too... tranquil. 19:47:26 so it's like ... 21:46 there right? 19:47:32 Now, yes. 19:47:33 so around 18:00. 19:47:52 Closer to 17, actually; I just looked at the hour part. 19:48:01 -!- jpc has quit (Remote closed the connection). 19:48:04 fizzie, alvr? 19:48:06 alvar* 19:48:10 -!- ais523 has changed nick to scarf. 19:48:29 -!- jpc has joined. 19:48:42 AnMaster: The place is called "Alvarin aukio" (Alvar's plaza) after Alvar Aalto. 19:48:43 fizzie, also yes wonderful panorma. HDR no? 19:48:44 hi scarf 19:48:48 hi ehird 19:48:55 just randomly typoed this nick in a whois, and found it wasn't taken 19:48:58 ah wait no 19:48:58 and it's a nice one 19:48:59 it isn't 19:49:05 scarf would be a good name for a bot 19:49:10 those windows are too bright for it to be HDR 19:49:10 why? 19:49:11 i should perform a hostile takeover of that nick 19:49:14 scarf: it feels botty 19:49:19 bots should have names of random nice objects 19:49:22 or concepts 19:49:28 fizzie, very light sky 19:49:29 hmm, I was talking in competitive pokemon channels 19:49:32 unexpected 19:49:32 endeavour, scarf, table 19:49:34 he/she/it* -- stop with the discrimination against genderless AI entities. 19:49:38 and as a result to me, it feels like 1.5 times speed but you can only use one attack 19:49:39 AnMaster: It's actually LDR by accident: turns out the camera disables automatic exposure bracketing when shutter time is >1 second, for some reason. 19:49:45 YM (s)h/it 19:49:51 scarf: wut xD 19:49:53 fizzie, ouch 19:50:19 AnMaster: There's quite a lot of streetlight-etc.-caused "light pollution" in the sky around here whenever it's snowy or otherwise non-clear weather. 19:50:27 ehird, saved large images and those missing medium ones 19:50:33 plus mapping 19:50:41 ehird, pretty useful for revenge-killing things before they sweep your team, also on leads 19:50:42 (as the html table) 19:50:49 There's a few other issues too: the horizon is a bit snakey because leveling it would mean too much cropping or black regions (the tripod wasn't quite level, but there was something like 40 cm of snow and I had to hurry so I didn't bother setting it up well), and there's visible seams in the middle (where the first/last image merge, manual keypoints could fix that). 19:51:35 ehird: oh, i forgot to mention the ravishing archipelagos 19:52:03 oerjan: book me a plane ticket to norway and i'll agree 19:52:06 which include some of the mountains 19:52:10 anyway, it seems the reason for all the Freenode lag is that someone's invented a website that causes visitors to it to repeatedly join Freenode and post spam 19:52:18 POST spam, in fact, it's an IRC/HTTP POST polyglot 19:52:41 isn't it fun how so much evil is esoteric 19:52:56 because the obvious ways are the easiest to defend against 19:53:18 fizzie, hm 19:53:36 fizzie, hugin can level it for you 19:53:52 and yes manual keypoints are good 19:54:01 scarf: The exploit itself is POST, but presumably that site uses javashit? 19:54:05 ooh, the MSNbot story has gone from languishing low on Reddit to getting massively voted up 19:54:07 Ilari: yes 19:54:15 because it keeps sending in a loop 19:54:21 fizzie, btw how many degrees is it? 19:54:27 360. 19:54:31 otherwise I think you'd have to require the visiting user to keep clicking on a button, getting a blank page, going back and trying again 19:54:36 which wouldn't be nearly as effective 19:54:36 then what do you mean in the middle 19:54:41 wouldn't it be at the edges? 19:54:55 ah wait I can spot it 19:55:03 In the middle of the image file there are visible seams. There might be at the edges, too, I haven't looked at it that way. 19:55:07 in the middle of that amphitheatre-like thingy 19:55:07 19:55:11 Yes. 19:55:16 fizzie: wait it's circle not... straight? 19:55:17 aww 19:55:26 next you'll tell me the freaky building geometry isn't real either 19:55:53 ehird, the one for oerjan has no label <-- i'm not on frappr, i have a pretty high threshold for doing things that require registering 19:56:06 it's not registering it's entering a name :P 19:56:09 ehird, it isn't. it is due to a rectilinear projection I think 19:56:13 fizzie, isn't that what you used? 19:56:15 AnMaster: fuck. 19:56:20 i think it wanted my email at least 19:56:22 i thought the architecture was sweet :( 19:56:26 oerjan: huh okay 19:56:29 ehird, I think you were joking though ;P 19:56:34 but I'm not 100% sure 19:56:42 AnMaster: maybe the unnamed points are all the people who visited and it autodetected a location for 19:56:45 but didn't choose to add themselves 19:56:47 AnMaster: Equirectangular. You can't make a rectilinear image with a horizontal FOV larger than 180 degrees. 19:56:50 so oerjan went to the page 19:56:51 got marked in trondheim 19:56:53 ehird, maybe 19:56:53 and went away 19:57:02 ehird, would be kind of strange 19:57:27 zoom in further and tell us what the name of the area is 19:57:31 and ask oerjan if he's there :P 19:57:33 AnMaster: The middle (of the image file) is where the first and last (chronologically) images merge; it's possible the tripod moved during the rotating of it. It was on snow, after all. 19:57:47 fizzie: so is the freaky architecture real 19:57:49 the curvy building 19:58:10 on a slant 19:58:14 ehird: If you're talking about the one with the bright windows, no: that front wall is straight. 19:58:28 wait that's even straight, not just a curvy building not on a slant? 19:58:28 fizzie, do you own a panoramahead? 19:58:29 fml 19:58:34 insert the space 19:58:43 fizzie: show that panorama to the head of university architecture 19:58:48 and tell him to redesign it to look like that 19:59:07 ehird, then the panorama wouldn't look like that 19:59:15 AnMaster: Nope, just a regular tripod. Fortunately most content in that image is sufficiently far away not to suffer badly from parallax problems. 19:59:16 i would be slightly worried if frappr could detect my location more precisely than "trondheim"... 19:59:29 fizzie, yeah 19:59:49 oerjan, even that is spooky 20:00:06 AnMaster: well let's find out! 20:00:09 also, don't care 20:00:12 i want to see it like that in person 20:00:21 the curviness on a slant just looks so beautiful 20:00:26 fizzie, also there is noise if you zoom in, multiple exposures would have reduced noise in many areas as well 20:00:39 the effects of that is wonderful 20:00:43 Sure, but I had a bus to catch. 20:00:56 fizzie, oh also if you are lazy you could send me the photos and *.pto and I could fix it up 20:01:05 I quite like messing around in hugin, it's fun 20:01:42 In any case: if I level the horizon, I have to crop unacceptably much out of the image; the problem is that the camera pitch angle has not been constant during the 360-degree circle. (Most likely because the tripod itself was tilted.) 20:02:20 fizzie, well yes, but you can still fix the issue with that seam 20:02:24 and a few other smaller seams 20:02:38 fizzie, I always aim at getting less than 2 pixels max distance from the optimiser 20:02:43 less if just doing an image stack 20:03:16 fizzie, there are at least two seams near the middle 20:03:16 wow, Reddit thinks the MSNbot spam is because it's looking for "Robots.txt" with a capital R 20:03:22 and doesn't honour "robots.txt" 20:03:37 scarf, that's craz 20:03:39 crazy* 20:03:50 of course, the two are the same on Windows 20:03:52 and I find it doubtful 20:04:05 other redditors seem to disagree, though 20:04:27 scarf, btw it still shouldn't use as many bots at once 20:04:39 yes, and it doesn't seem to honour crawl-delays 20:05:08 fizzie, found five visible semas 20:05:11 seems* 20:05:17 one in the curved house 20:05:17 *seams 20:05:26 Yes, I noticed that one too. 20:05:44 three in the middle building 20:06:03 Though I'm not sure you can call it "the curved house", seeing that it isn't very curved. 20:06:06 and one in the raied brick wall 20:06:14 fizzie, curved in panorama 20:06:49 fizzie, what are those things that look kind of like mountings for swings at the left side of the image 20:06:54 AnMaster: See http://zem.fi/~fis/alvar2.jpg for a partially fixed version. 20:06:56 on that raised bit of land 20:07:10 Hmm... I wonder if the spam attack last night (the GNAA run) was related to that website? 20:07:33 The GNAA targeted *all of Freenode*? 20:07:48 AnMaster: I think they are skylight-style windows, though I don't really know what is under that part of the building. 20:07:49 fizzie, that made the seam in the raised land worse 20:07:51 That's so ambitious it's awesome. 20:08:12 Uh no... It was too targetted in time and space to be via website. 20:08:33 Ilari, gnaa did the recent POST bots? 20:08:41 [20:07] Uh no... It was too targetted in time and space to be via website. 20:08:42 [20:08] Ilari, gnaa did the recent POST bots? 20:08:50 Ilari has figured out the secret to time travel. 20:08:55 Take that, oklopol! 20:08:59 funny the large version for Gregor is smaller than the medium 20:09:00 ? 20:09:04 XD 20:09:08 That's hilarious out of context. 20:09:14 Yup 20:09:17 Gregor, frapper image 20:09:26 * ehird removes all Rs from the world 20:09:26 frappr* 20:09:34 Could the hilarity even increase further 20:09:36 ehird, har! 20:09:38 AnMaster: Hrm. Do you mean "seam in the raised land" that thing below the middlemost "swing mount" window? 20:09:39 AnMaster: you ruined it :( 20:09:39 AnMaster: I figured bit later that it isn't likely that the GNAA run was doing of the IRC HTTP POST spamming website. 20:09:46 Ilari, I'm just surprised since the messages it spammed didn't seem like their style 20:10:02 fizzie, yes 20:10:07 that wasn't as marked before 20:10:31 AnMaster: It is, in fact, a real piece of geography: it looks just like that in the source images too. 20:10:49 AnMaster: The multiple clients in that GNAA run started and stopped in such that it impiles having some kind of central control. 20:10:57 fizzie, middle house, some seams in the snow. Or just very strange snow 20:11:19 fizzie, on those steps a bit up 20:11:21 near where they end 20:11:28 (vertically that is) 20:11:32 horizontally near the middle 20:11:50 some sharp vertical changes in the snow 20:12:37 fizzie, also what about the ends. I don't have a panorama viewer handy 20:12:55 AnMaster: I don't have one either, I haven't checked at all how well they merge. 20:13:14 Also, Someone (With Wikipedia affiliate cloak) impiled that there was more involved than simple DDOS... I know no further details of that... 20:13:57 But the simplest explanation would be small botnet... 20:13:57 ehird: Speaking of the Wave university, you can see the "A!" logo (blurrily) in the flag far right in the image. 20:14:09 Ilari, there were some bots today in #freenode, well a lot. Was due to really cleaver HTTP post to irc.freenode.net:6667 20:14:24 fizzie: indeed 20:14:26 heard from a staffer 20:15:26 fizzie, ah I think I know where to find a panorama viewer 20:16:08 AnMaster: If you have it open in Gimp, you could just copy-paste-layer-move things around a bit. 20:16:11 AnMaster: Of course, that website can provode some coordination. But coordination at small timescales is bit another matter (there are ways, but its more complicated). 20:16:53 yay it is in aur 20:17:30 oh doesn't build it sounds like 20:17:31 meh 20:17:34 AnMaster: Or even Filters/Map/Image tile if you don't mind a duplication of the image size. (Though maybe 16 kilopixels is a bit wide.) 20:18:01 fizzie, I wanted projection correction 20:20:08 fizzie, so what projection did you use? 20:20:27 The vertical FOV is a bit poor; the camera does a (35mm-film-equivalent) 36 mm focal length objective in the maximum tele-position; that translates to horizontal FOV of 51.35 degrees, or vertical in this case because the camera was tilted 90 degrees. 20:20:38 ...? 20:20:48 It's the equirectangular projection. 20:21:26 I'm not sure what the panorama viewers do. 20:21:48 iirc the gnaa just spawn a bunch of clients 20:21:51 centrally 20:21:54 rather than any sort of outsourcing 20:27:07 ehird: Just to make you feel the disillusionment, here's a wide-angle (121 degrees) rectilinear (read: normal camera) projection of the "curved building": http://zem.fi/~fis/alvarr.jpg 20:27:26 fizzie, it fits together but it doesn't use the right projection hrrm 20:27:39 fizzie: jesus christ, it's just a fucking box 20:27:58 wouldn't you rather they redesigned it to the curvy-on-a-slope specification 20:28:17 i love how the ampitheater thing is then followed by the curve reversing in the wrong one 20:28:23 it's great :< 20:29:22 AnMaster: Well, I can make you a cylindrical or spherical one, if the viewer likes those more. 20:29:35 fizzie, I'm not sure... 20:30:50 fizzie, try cylindrical 20:31:10 tesseractical 20:31:59 AnMaster: Stitching. 20:34:09 http://zem.fi/~fis/alvarc.jpg -- cylindrical projection, horizontal FOV 360 degrees, vertical 80 degrees in the original 8000x2137 pixel canvas; then cropped with top=215, bottom=1379. (And left=0, right=8000 of course.) 20:34:11 building another panorama viewer to test it 20:34:31 Though the curvy horizon might also make it look pretty strange. 20:34:53 fizzie, yes possibly. it is slow to download 20:34:58 24,9K/s 20:35:03 fizzie, it must be on your side 20:35:05 what changed 20:35:26 Possibly other interested people. 20:35:28 Who knows. 20:35:35 It's only one Mbps upwards, anyway. 20:35:52 http://zem.fi/~fis/alvarc.jpg is even curvier omg 20:35:57 i think 20:36:04 not as slanty though, so not as good 20:36:06 now do spherical 20:38:17 a lot of the ground went missing fizzie 20:38:43 wait no 20:38:47 I blame that viewer 20:39:39 okay remember to not resize the window before it finished loading the image 20:39:43 or it will fuck it up 20:40:22 xD 20:40:45 That sounds very robust. 20:40:49 fizzie, still that bilding is only curved horizontally now 20:42:07 Bilduing. 20:42:15 building yeah 20:42:24 fizzie, I wouldn't mind some black areas if it was reasonably straight 20:42:47 AnMaster: Coincidentally I am currently stitching an image like that. 20:43:38 fizzie, ah 20:43:40 frankenimage 20:43:42 fizzie, what projection? 20:43:53 Cylindrical, again. It's the more usual one. 20:46:28 AnMaster: http://zem.fi/~fis/alvarhc.jpg - cylindrical, hfov 360, vfov 90 with a canvas of 8000x2546 pixels; cropped with top=148, bottom=1740. (I can't deduce right now whether those cropping details are relevant for a cylindrical projection; they might be, given that the image file doesn't have the horizon in the middle.) 20:46:29 NO 20:46:31 I WANT CIRCULAR 20:46:38 you did cylindrical last time 20:46:42 spherical 20:46:43 whatever 20:47:16 ehird: I can do you a fisheye view with a 360 degree hfov; that's something you don't see every day. (I doubt there are very many fisheye lenses exceeding 180 degrees.) 20:47:29 fizzie, I would love to see it 20:47:34 also I heard of a few at 240 20:47:37 but that is about max 20:47:45 fizzie: do it 20:47:54 you know what would be sweet 20:47:56 panorama glasses 20:47:58 they're computerised 20:48:01 fizzie, also one at almost 360, using a mirror ball mounted in front of it 20:48:04 and if you looked at that university building through one 20:48:06 as a commercial product 20:48:07 it'd look curved like it is 20:48:11 it would be so fucking sweet 20:50:02 Yes, there was also that christmas-ornament mirror-ball panorama tutorial. :p 20:51:28 The 360-degree fisheye is a bit of a... corner case, though: http://zem.fi/~fis/alvarf.jpg 20:51:37 i am tripping balls 20:51:43 purely thanks to that image 20:51:58 fizzie, can we get the original one again with straight horizon 20:52:01 it's like staring into a crystal ball 20:52:04 projection that is 20:52:08 into a universe with black oles 20:52:11 shiit 20:52:37 fizzie: so is that what the world would look like if i could see behind me 20:52:38 :| 20:52:50 AnMaster: That one was actually already there as alvarh.jpg, I just forgot to mention it. 20:53:39 For an image like this with just about 60 degrees of real vertical field-of-view, the cylindrical and equirectangular don't look so different. 20:53:47 [20:52] fizzie: so is that what the world would look like if i could see behind me 20:53:49 [20:52] :| 20:53:50 i must know 20:54:11 I guess it depends on what sort of a lens you'd have in your behind-seeing eye. 20:54:26 I'm sure you could see things cylindrically too. 20:55:01 fizzie, you didn't manage to straighten it very well :/ 20:55:02 it would be so fucking cool if i had 360 degree 3d vision 20:55:09 so i could see behind of things etc 20:55:14 even if they're behind me 20:55:20 i'd be able to see... like... everything 20:55:30 i dislike 2d vision 20:55:33 depth perception is a hack! 20:56:09 ehird, it wouldn't look like that. It is a 3D image mapped into a 2D plane 20:56:11 AnMaster: Yes, well, I didn't want to spend time with it; I just stuck a couple of horizontal-line control points to the "curvy building" so that at least that would be straight. 20:56:21 AnMaster: meh, anyway 20:56:23 point is 20:56:27 360 degree 3d vision = 20:56:31 you can see behind things, and also behind you 20:56:35 fizzie, how large are the source images + hugin project 20:56:39 fizzie, I would like to fix it :) 20:56:57 assuming the download isn't insanely huge 20:57:35 fizzie, the curvy building isn't very straight here at the bottom 20:58:29 which indicates the viewer is confused maybe 20:59:32 It could be just that; it might not understand the unsymmetrically cropped cylindrical projection. 20:59:43 fizzie, well I tried the h one too 20:59:51 hm 21:00:02 That's equally unsymmetrically cropped and a more curious projection, so... 21:00:16 It's not a very large; 19 source images of about 3.5 megabytes, and the project. 21:00:24 fizzie, well it is supposed to support rectirectangular 21:00:54 fizzie, tar.bz2 it up and send it over? 21:00:58 Hmm. Well. Maybe you could try feeding it an uncropped image. 21:00:58 please 21:01:10 Well, if you want. 21:01:11 fizzie, maybe I could find something that works yes 21:01:24 fizzie, oh btw are those jpeg input then? not raw->tiff? 21:01:32 fizzie, yes thanks 21:02:35 JPEG, yes. I don't bother with raw; the camera sensor is so noisy already at ISO100, anyway. I guess you might get a bit more range out of it, but not very much. I was counting on multiple exposures more, but... 21:03:26 fizzie, ah well the noise, there is where multiple exposures help. 4 * exposure settings * direction I found works nicely 21:03:32 I wish I had a faster cf card however 21:04:16 fizzie, btw my camera requires me to hold down the button during all multiple exposures 21:04:21 which is retarted 21:04:29 so I don't use bracketing, I do it manually 21:04:41 to get non-blurry images 21:05:27 hm I wonder if you could reconstruct motion blurred images due to camera moving if you knew exactly how it had moved? 21:05:29 probably not 21:05:42 you don't know what reading is from where :/ 21:06:00 You can sharpen them more intelligently if you know the degradation model, though. 21:06:11 fizzie, so where is the url? ;) 21:06:14 for the project 21:06:20 really? that's interesting 21:07:27 http://en.wikipedia.org/wiki/Deconvolution if you can represent the blurring as a convolution, which you often can. 21:07:47 Actually http://en.wikipedia.org/wiki/Motion_blur has an example of Wiener deconvolution. 21:07:52 fizzie, so where is the url? :)))) 21:08:12 Just a moment. I managed to overwrite (one of) the .pto file(s). :p 21:08:27 fizzie, wow 21:08:41 fizzie, hg to get the old one back? 21:08:50 I always maintain the non-images in bzr 21:09:11 Well, I don't. 21:09:25 kay 21:09:45 fizzie, the hc or h *.pto is enough for me 21:10:04 Yes, I'll just package up the hc .pto. 21:11:21 fizzie, and the images :) 21:13:41 68081068 bytes, that's not too much. 21:13:49 Even with the abysmally slow upload I have. 21:14:00 fizzie, ouch? why so slow? 21:14:12 for me stitching tends to take the main time 21:14:17 in the order of minutes 21:14:25 (7-10 or so) 21:14:31 but then I use larger source images 21:15:00 Yes; the stitching speed also tends to depend quite a lot on the selected output size. 21:15:21 fizzie, btw what sort of mounting for the tripod? ball? 21:16:21 There's some specs at http://www.amazon.com/Velbon-DF-40-Lightweight-Panhead-Release/dp/B000167TXY -- "cheap" was the primary selection criterion. 21:16:42 fizzie, doesn't look like a ball mounting 21:16:48 that's good for panoramas at least 21:17:33 fizzie, my tripod has a ball head, it is abysmal for panoramas. You can't properly level it between images 21:17:45 so you have to make sure to more than cover it all up so you can extract the useful bit 21:18:03 How 'bout 天安门坦克 21:18:16 for panoramas only advantage over hand held is that it is steadier 21:18:37 Gregor, ? 21:18:43 Wrong channel :P 21:18:48 fizzie, still uploading? 21:18:55 Gregor, what channel was it target at? 21:19:54 AnMaster: Oh, it was already there when I said the file size; the URL should have been a privmsg right before that. 21:20:04 ah found it 21:20:17 -!- augur has quit (Read error: 110 (Connection timed out)). 21:20:27 Gregor: talking 'bout google decensoring? :P 21:20:32 fizzie, you said 3.5 MB? it's 65 MB 21:20:44 fizzie, what happened there :D 21:20:50 ehird: Yup 21:20:51 Gregor: The incident is referred to in china as 六四事件 21:20:54 Gregor: "June Forth Incident" 21:20:57 That'd be the best search to try 21:21:05 AnMaster: 19 images of 3.5 MB each. 21:21:09 fizzie, aaah 21:21:11 Google sez that means "64 events" 21:21:12 fizzie, right 21:21:12 Gregor: According to local laws, regulations and policies, some search results are not shown. 21:21:15 Gregor: on http://www.google.cn/search?hl=zh-CN&source=hp&q=%E5%85%AD%E5%9B%9B%E4A%8B%E4B6&btnG=Google+%E6%90%9C%E74%A2&aq=f&oq= 21:21:26 (at the bottom) 21:21:31 So no, Google is still censored 21:21:32 Lamesauce 21:21:36 fizzie, still why do I only get like 76 K/s according to wget. I usually get around 700 K/s from most places 21:21:40 What they're considering is, I believe, withdrawing from China entirely. 21:21:47 Yeah 21:21:49 *withdrawing from 21:22:52 AnMaster: It's still only that 1 Mbps ADSL upwards. That's only 122 Kbps even theoretically speaking. 21:23:07 fizzie, oh it is from your home? not from university website? 21:23:18 I thought you put all your stuff like fungot there 21:23:19 AnMaster: well i like those boring lists of procedures that a) we catch things the other wouldn't, and in what context is it useful? 21:23:22 ^source 21:23:23 http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 21:23:26 I don't think hosting zem.fi on a university connection would be good. 21:23:31 He says it's a laptop, remember? 21:23:35 With I think User Mode Linux subservers. 21:23:37 oh right 21:23:50 ehird: It's linux-vserver right now, I think. It changes from time to time. 21:24:02 fizzie: "It just changes by itself. Sometimes I don't even notice!" 21:24:33 ║ * The name of Heikki Kallasjoki may not be used to endorse or ║ 21:24:34 ║ promote products derived from this software without specific prior ║ 21:24:36 didn't we establish some time ago fungot had reached singularity? 21:24:36 ║ written permission. [How would that even work?] ║ 21:24:37 AnMaster: could be arranged! i'll have to start using the console, which is supposedly a dialect of lisp 21:24:37 bah 21:24:38 well that explains it 21:24:39 real men use BSD2 21:24:40 which doesn't have that clause 21:24:50 AnMaster: yes but it's not Friendly or Unfriendly 21:24:52 it's just Ambivalent 21:24:58 which is why it's not doing anything for us but the universe is still here 21:25:02 ehird, isn't that fizzie? 21:25:13 Cory Doctorow was quoted as saying "worst. singularity. EVER!" 21:25:20 ehird, right 21:25:27 XD 21:25:31 But yes, anything zem.fi is home. All network services of the university department I work are down this whole weekend (today 4PM to Monday-morning), anyway; they're preparing for some Wavey stuff. 21:25:32 All facts, facts that are true. True facts. 21:25:46 fizzie, heh 21:26:55 AnMaster: could be arranged! i'll have to start using the console, which is supposedly a dialect of lisp <-- that was coherent if non-sensical (sp?) 21:26:57 AnMaster: that terminology is best to proceed right to scheme? you are clearly working outside of class 21:27:00 ^style 21:27:01 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 21:27:05 as I guessed 21:32:03 fizzie, still downloading .... 21:32:10 eta 13 seconds now 21:32:28 fizzie, care to give me a checksum (md5, sha or whatever) 21:32:36 just to make sure it isn't damaged 21:34:39 sha1sum says 5a2a3493518de7d3500c713fd594d4b522442a73. 21:35:06 right, same 21:39:03 fizzie, may I ask, why that set of custom parameters to optimise for? 21:43:16 I don't remember what the set was. If it has the pitch for two images unoptimized, that was because I set those manually to get the row of images forced straight, so that I could crop it better. (Even though it made the horizon snakey.) 21:43:53 -!- augur has joined. 21:43:58 And it might have separate x/y shifts for all images, because that sometimes helps when the camera position has changed between shots. 21:44:42 fizzie, you didn't optimise pitch on two of the images 21:44:47 indeed 21:44:48 hm 21:45:11 fizzie, oh I didn't know about x/y shifts 21:45:34 anyway found a few bad control points, bringing max distance down from 7 to 5 21:46:48 fizzie, different zoom in different images? 21:46:51 The points are all automagics, and I don't think I even did the usual "remove the largest-distance ones" operation. 21:46:57 AnMaster: "nonsensical" isn't hyphenated 21:47:19 scarf, ah ok 21:47:21 Shouldn't be any different zoom. I may have optimized the "view" parameter separately though. 21:47:33 fizzie, you did indeed 21:47:38 and they differ quite a bit 21:47:47 That wasn't probably very intentional. 21:48:43 Anyway, it's a bit trickery that for x/y shift optimization you have to create a separate "lens" for each image, and then you can't (or maybe you can, I just don't know how) have the other lens-specific parameters (such as view) linked. Well, except by not selecting those for optimization ever. 21:49:31 you can't indeed hm 21:57:28 http://02d9656.netsoljsp.com/SarcMark/modules/user/commonfiles/loadhome.do 21:57:29 o_x 22:01:26 ehird, squatter? 22:01:38 what makes you think that 22:01:49 looking at design instead of reading it 22:06:10 -!- BeholdMyGlory has quit (Remote closed the connection). 22:06:33 -!- BeholdMyGlory has joined. 22:06:59 -!- jpc has quit (Connection timed out). 22:07:08 -!- BeholdMyGlory has quit (Remote closed the connection). 22:07:58 -!- BeholdMyGlory has joined. 22:13:55 fizzie, some cleanup done. Adding lots more control points. I usually auto generate about 100 per overlap 22:14:49 fizzie, optimising barrel distortion would be nice but seems impossible with the "different lens" stuff 22:15:22 barrels are best distorted with an axe 22:17:39 oerjan, augh 22:18:08 oerjan, it refers to an optical thingy though 22:18:30 yeah i googled 22:18:51 heh 22:26:13 fizzie, whooo max dist below 2 now 22:33:20 fizzie, tried nona-gpu btw? 22:33:31 I haven't yet 22:33:38 Nope. 22:33:41 not sure if my hardware supports it. geforce 7600 22:33:46 might be too old 22:34:06 OpenGL renderer string: GeForce 7600 GT/PCI/SSE2 22:34:07 So same here. 22:34:14 fizzie, ah no 22:34:23 it is geforce 7600 GS/AGP 22:34:26 Well, same generation anyway. 22:34:44 OpenGL renderer string: GeForce 7600 GS/AGP/SSE2 22:34:45 to be exact 22:34:59 fizzie, true. Is that PCI or PCI express? 22:35:05 PCIE. 22:35:07 ehird: How goes the Scheme? 22:35:09 ah 22:35:19 fizzie, strange they didn't call it PCIX 22:35:23 also stitching now 22:35:29 lets see what it looks like 22:35:30 AnMaster: PCIX was already taken. 22:35:37 Yes, I was about to say that. 22:35:40 I suspect disaster due to different lenses 22:35:44 pikhq, oh right 22:35:46 Though it was "PCI-X". 22:36:41 I have this other panorama, taken today-evening inside the computer science building, but it's slow to play with; there's 99 source pictures, and 13321 (autogenerated) control points so even the optimizing steps take a while. 22:36:43 huh it looks better 22:37:07 may be due to tiff not jpeg 22:37:07 in part 22:38:36 fizzie, btw the house in the middle. what is it 22:38:36 and is it curved? 22:40:30 pikhq: Nothing been done. Probably will work on it very son, though. 22:40:30 and if it is curved, is the top of it really that 22:40:30 as in the diagonal lines down 22:40:30 along the walls 22:40:31 Is there an easy way to find what font an alias maps to on my system? 22:40:31 -!- soupdragon has quit ("Leaving"). 22:41:24 The only curved part that I can think of are the auditorium seats/windows. 22:41:42 -!- scarf_ has joined. 22:41:54 -!- scarf has quit (Nick collision from services.). 22:42:03 -!- soupdragon has joined. 22:42:07 -!- scarf_ has changed nick to scarf. 22:42:15 -!- augur has quit (farmer.freenode.net irc.freenode.net). 22:42:15 -!- anmaster_l has quit (farmer.freenode.net irc.freenode.net). 22:42:15 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net). 22:42:15 -!- zeotrope has quit (farmer.freenode.net irc.freenode.net). 22:42:16 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net). 22:42:16 -!- uorygl has quit (farmer.freenode.net irc.freenode.net). 22:42:17 The diagonal slopes are straight, three-dimensionally speaking; I don't think they necessarily map into lines in an equirectangular projection, though. 22:43:00 -!- puzzlet has joined. 22:43:25 fizzie, right 22:43:26 -!- uorygl has joined. 22:43:32 -!- zeotrope has joined. 22:44:04 -!- zeotrope has changed nick to Guest23566. 22:45:23 -!- comex_ has joined. 22:49:29 -!- Ilari_ has joined. 22:50:36 fizzie, you can link them separately it seems 22:50:36 from the camera and lens tab 22:50:36 at least they have separate "link" click boxes there 22:51:13 -!- cal153 has quit (farmer.freenode.net irc.freenode.net). 22:51:13 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net). 22:51:13 -!- dbc has quit (farmer.freenode.net irc.freenode.net). 22:51:13 -!- mtve has quit (farmer.freenode.net irc.freenode.net). 22:51:13 -!- sebbu has quit (farmer.freenode.net irc.freenode.net). 22:51:13 -!- Ilari has quit (farmer.freenode.net irc.freenode.net). 22:51:13 -!- comex has quit (farmer.freenode.net irc.freenode.net). 22:52:15 -!- scarf has quit (Remote closed the connection). 23:03:12 -!- Ilari_ has changed nick to Ilari. 23:08:27 -!- Ilari has quit (farmer.freenode.net irc.freenode.net). 23:08:27 -!- uorygl has quit (farmer.freenode.net irc.freenode.net). 23:08:27 -!- BeholdMyGlory has quit (farmer.freenode.net irc.freenode.net). 23:08:28 -!- nooga has quit (farmer.freenode.net irc.freenode.net). 23:08:29 -!- jix has quit (farmer.freenode.net irc.freenode.net). 23:08:29 -!- Leonidas has quit (farmer.freenode.net irc.freenode.net). 23:12:26 -!- lifthras1ir has joined. 23:14:34 -!- olsner_ has joined. 23:14:43 -!- Ilari has joined. 23:14:43 -!- uorygl has joined. 23:14:43 -!- BeholdMyGlory has joined. 23:14:43 -!- nooga has joined. 23:14:43 -!- jix has joined. 23:14:43 -!- Leonidas has joined. 23:14:46 -!- BeholdMyGlory has quit (Remote closed the connection). 23:15:33 -!- jpc has joined. 23:16:05 Yes, I'm just not quite sure what it does. At least the values stayed different even though I linked them; but maybe it fixes them in a relativistic sense. 23:16:05 -!- soupdragon has left (?). 23:16:05 FreeType fails so badly at subpixel rendering it's not funny. 23:17:56 -!- mycrofti1 has joined. 23:19:34 Of course, its greyscale rendering is even worse; either you get wispy, badly kerned, unreadable text or put the hinting on slight and get grey, fuzzy, unreadable text. 23:19:34 Sigh. 23:20:49 -!- olsner has quit (farmer.freenode.net irc.freenode.net). 23:20:49 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net). 23:20:50 -!- rodgort has quit (farmer.freenode.net irc.freenode.net). 23:20:50 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net). 23:20:50 -!- lifthrasiir has quit (farmer.freenode.net irc.freenode.net). 23:20:50 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net). 23:20:50 -!- EgoBot has quit (farmer.freenode.net irc.freenode.net). 23:22:05 -!- anmaster_l has joined. 23:22:06 -!- anmaster_l has quit (Killed by sagan.freenode.net (Nick collision)). 23:22:07 -!- Deewiant_ has joined. 23:22:07 -!- bsmntbombdood_ has joined. 23:22:08 Fontophiles. 23:22:08 Still weird. 23:22:08 It's not my fault that: 23:22:08 1. I have above-average vision, and 23:22:08 2. Freetype makes text unreadable. 23:22:08 I'm not complaining out of æsthetic concerns, but purely the fact that it makes text harder to read. 23:22:08 -!- EgoBot has joined. 23:22:40 -!- augur has joined. 23:22:40 -!- anmaster_l has joined. 23:22:44 -!- kar8nga has quit (Remote closed the connection). 23:22:48 -!- anmaster_l has quit ("Leaving"). 23:22:48 -!- augur has left (?). 23:22:48 -!- augur has joined. 23:22:49 -!- rodgort` has joined. 23:24:51 -!- cal153 has joined. 23:24:51 -!- dbc has joined. 23:24:51 -!- sebbu has joined. 23:24:51 -!- HackEgo has joined. 23:24:51 -!- mtve has joined. 23:24:55 -!- SimonRC has joined. 23:24:55 -!- BeholdMyGlory_ has joined. 23:24:58 -!- BeholdMyGlory_ has quit (farmer.freenode.net irc.freenode.net). 23:24:58 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net). 23:24:58 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net). 23:24:58 -!- dbc has quit (farmer.freenode.net irc.freenode.net). 23:24:58 -!- mtve has quit (farmer.freenode.net irc.freenode.net). 23:24:58 -!- cal153 has quit (farmer.freenode.net irc.freenode.net). 23:24:59 -!- sebbu has quit (farmer.freenode.net irc.freenode.net). 23:25:24 -!- Deewiant_ has changed nick to Deewiant. 23:26:08 -!- anmaster_t has joined. 23:28:56 fizzie, should all be same lens but unlinked for the ones you want different 23:28:56 that seems to work 23:28:56 fizzie, hope that gets through this time 23:28:56 I'm pesimistic thiugh 23:28:56 though* 23:29:24 -!- cpressey has joined. 23:29:41 fizzie, should all be same lens but unlinked for the ones you want different 23:29:41 that seems to work 23:29:41 another try at it 23:31:47 O_O 23:31:47 DAMN YOU NETSPLIT 23:31:54 -!- FireFly has quit ("Leaving"). 23:32:29 Absolutely not. 23:32:55 (to everything) 23:32:58 ehird, full hinting works for me ;P 23:32:58 ehird, or just turn off antialiasing 23:33:11 -!- rodgort` has quit (Client Quit). 23:37:09 AnMaster: yes, perhaps you have substandard vision 23:38:01 -!- rodgort has joined. 23:38:01 -!- mycrofti1 has changed nick to mycroftiv. 23:41:58 mycroftiv: i think mixing roman numerals and decimal is far more interesting, you should change it back 23:42:21 -!- regalia has joined. 23:42:21 -!- regalia has left (?). 23:42:21 -!- regalia has joined. 23:42:21 -!- regalia has left (?). 23:45:08 ehird: if freenode continues exploding, probably will happen 23:47:53 ehird, I wear glasses if that is what you mean. The way you suggest it, it sounds like you consider it stupid or something 23:47:53 fuck off 23:47:57 WHY DOES FREENODE ASPLODE SO MUCH? 23:49:02 -!- augur has quit (farmer.freenode.net irc.freenode.net). 23:49:10 AnMaster, replying to speculation that he might have substandard vision as full hinting is unreadable with "YOU JUST THINK I'M STUPID FUCK OFF" since 2010 23:49:23 AnMaster has an awful lot of "since time" franchises. 23:54:27 -!- augur has joined. 23:54:28 pcc can build a bootable openbsd kernel 23:54:28 sweet 23:58:59 'Night, folks. 23:58:59 -!- cpressey has left (?). 23:59:00 cpressey: long time no see 23:59:00 oh that is c pressey there. Didn't notice at first 23:59:00 hi 23:59:03 ehird, cynical since 1991 23:59:19 (yes, that's before he was born) 23:59:19 cpressey, about funge109 and so on, there seemed to be a general lack of interest in it, I suggest a technical corrigendum to befunge98 instead to make clearer some matters about k and t (plus some other minor details) 23:59:20 hahahaa 23:59:31 oerjan, :D 23:59:37 he quit to avoid talking about befunge 23:59:39 :) 23:59:43 ehird, how weird 23:59:51 anyway that was all I had to say about it 23:59:56 too late 23:59:56 *shrug* 23:59:58 he left before you said it 2010-01-16: 00:00:06 hm wait 00:00:17 you know if i experimented with fungoids in the 90s i'd be pretty scared of people coming up to me and blabbing about them 00:00:19 ehird, log reader? 00:00:28 anmaster_t: I'm gonna guess "no". 00:00:49 ehird, he know I worked on befunge109 though 00:01:02 random madmen on the street 00:02:27 fizzie, that panorama is fitting btw. Wave university and everything 00:02:27 it is really very wavy to get a straight horizon 00:03:06 wtf i'm lagged, the logs show cpressey leaving before my greeting... 00:03:23 -!- soupdragon has joined. 00:04:38 -!- Pthing has joined. 00:05:38 whatsoup, dragon 00:07:02 [23:58] cpressey: long time no see 00:07:04 [23:58] oh that is c pressey there. Didn't notice at first 00:07:05 [23:58] hi 00:07:07 [23:58] ehird, cynical since 1991 00:07:08 [23:58] 'Night, folks. 00:07:09 [23:58] <-- cpressey has left this channel. 00:07:11 not that lagged for me 00:07:17 ehird, same here 00:08:22 -!- SimonRC has joined. 00:09:26 fizzie, I'll upload example stitch tomorrow hopefully. really need to sleep now, test tomorrow afternoon (sucks to have that on a Saturday) 00:09:49 -!- cal153 has joined. 00:09:49 -!- dbc has joined. 00:09:49 -!- sebbu has joined. 00:09:49 -!- HackEgo has joined. 00:09:49 -!- mtve has joined. 00:10:10 lag continuum 00:11:20 -!- rodgort has quit (Client Quit). 00:11:28 -!- rodgort has joined. 00:11:57 lag o morph 00:12:35 -!- augur has quit (Read error: 110 (Connection timed out)). 00:15:22 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net). 00:15:22 -!- dbc has quit (farmer.freenode.net irc.freenode.net). 00:15:22 -!- mtve has quit (farmer.freenode.net irc.freenode.net). 00:15:22 -!- cal153 has quit (farmer.freenode.net irc.freenode.net). 00:15:22 -!- sebbu has quit (farmer.freenode.net irc.freenode.net). 00:19:35 -!- cal153 has joined. 00:19:35 -!- dbc has joined. 00:19:35 -!- sebbu has joined. 00:19:35 -!- HackEgo has joined. 00:19:35 -!- mtve has joined. 00:23:00 soupdragon: you mean jumpy and could be beaten by a tortoise? 00:23:12 roughly 00:24:49 -!- anmaster_t has quit (Connection timed out). 00:27:07 -!- lifthras1ir has changed nick to lifthrasiir. 00:31:29 -!- jix has quit (Remote closed the connection). 00:31:44 -!- jix has joined. 00:37:47 AnMaster: Here's one preliminary stitch of the CS building: http://zem.fi/~fis/cs.jpg -- it's a bit seamy, and I doubt anything can be done to the railing immediately in front, since it's sort of important that what's behind it lines up properly. 00:41:47 fizzie: see, it should look curved like that in real life 00:41:47 don't you agree that it would be prettier? 00:41:47 the curved metal, especially 00:44:05 finland is too cold for metal to curve 00:45:56 -!- augur has joined. 00:48:29 Some sort of pipeline language: 00:48:32 sort: divide | sort | splice pivot | cat 00:48:33 pivot: [length/2] 00:48:35 divide: split (<= pivot) 00:49:12 (The intention is that you can parallelise it; so, since divide splits one list into two, "sort" would be run on them in parallel, then when they're both done, splice would insert pivot in-between them, and cat would concatenate all of them.) 00:49:23 [] being array access, not creation. 00:49:31 (That's quicksort.) 00:59:34 -!- augur_ has joined. 01:04:33 -!- augur__ has joined. 01:07:41 -!- augur__ has quit (Read error: 104 (Connection reset by peer)). 01:07:52 -!- augur__ has joined. 01:08:35 -!- augur__ has quit (Read error: 104 (Connection reset by peer)). 01:10:26 -!- augur_ has quit (Read error: 104 (Connection reset by peer)). 01:10:31 -!- augur_ has joined. 01:22:41 -!- augur has quit (Connection timed out). 01:44:07 -!- augur_ has quit (Read error: 110 (Connection timed out)). 02:04:45 -!- oerjan has quit ("Good night"). 02:40:04 -!- Pthing has quit (Remote closed the connection). 02:43:27 -!- nooga has quit ("Lost terminal"). 02:53:33 -!- Pthing has joined. 03:28:16 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 04:06:51 -!- soupdragon has quit ("Leaving"). 04:25:27 -!- augur has joined. 04:40:22 -!- MizardX has quit (Read error: 60 (Operation timed out)). 05:04:23 -!- Slereah_ has joined. 05:07:53 ehird, are you here 05:08:05 no 05:08:37 lemme ask you 05:08:48 since i think you'd be knowledgable on this 05:11:44 what is it called when you take functions in the object language and turn them into type constraints 05:13:09 in the simple case its just having a typed programming language, right 05:13:32 instead of doing lots of return nil unless someArg.is_a? Numeric 05:13:34 or whatever 05:13:48 you just type your function Numeric -> YaddaYadda 05:14:51 and for slightly more complex stuff, instead of 'return nil unless someArg.square > 5' you type your function some silly type and then its just dependent types, right 05:15:32 but would it still be dependent types if you turned _all_ of your predicates into types like that? 05:15:39 -!- Slereah has quit (Read error: 110 (Connection timed out)). 05:16:07 e.g. instead of 'return nil unless x < y' you type your function in such a way that its only defined on pairs of numbers such that x < y 05:16:18 is that still just dependent typing? or is that slightly more complex? 05:20:08 augur: unfortunately, the term 'dependent type' is overloaded 05:20:12 :P 05:21:14 * coppro tries to remember the name of that language ehird talked about 05:22:53 some languages blur the distinction between types and values as well 05:22:54 epilog? twelf? agda? 05:22:59 agda was the one 05:23:04 epogram, rather. 05:23:06 .. epigram. :| 05:23:16 even though they are conceptually different, their use gets blended together 05:23:33 agda is less a language and more a program, but ok 05:24:13 i mean, its kind of both i guess. its a special purpose language designed for one particular purpose 05:25:13 yeah 05:25:34 but dependent type in agda are completely different from dependent types in C++ 05:27:50 right 05:27:55 i dont even know what C++ dependent types are 05:28:44 they're types that are unknown because they require knowledge of a template paramter to determine 05:28:51 for instance, 'typename T::iterator' 05:29:01 or the type of 't.begin()', if t is of some parameter type 05:29:17 they're a far more boring concept 05:30:28 i dont need to know what they are ;) 05:31:11 see, i'm trying to sort out the difference between a logic that has a rich domain of primitive (non-function) types 05:31:31 and a logic that has no such primitive types, but which has type-checking functions 05:31:37 ah 05:31:59 might want to look at Perl 6 05:32:00 in a sense its essentially a strictly-typed-vs-duck-typed issue, right 05:32:39 yeah, I think so 05:32:50 but then again 05:32:57 but i want to make sure that this is a difference that carries over to the extremely absurd idea of packing _all_ of your predicates into the types 05:33:43 e.g. instead of having like some prolog-esque function f(X,Y) :- g(X,Z), h(Z,Y), lets say 05:34:47 you just have f(X,Y) :- true. where f is defined for this crazy type GH, the members of which are all and only those pairs (X,Y) for which g(X,Z), h(Z,Y) is true 05:35:49 is there a real difference? 05:35:56 thats the question 05:36:01 i dont think so, right 05:36:09 I'd say they're equivalent 05:36:19 since one can be expressed in terms of the other 05:36:23 because if your whole logic is _only_ with predicates (no actual functions, its all pure prology) 05:36:37 then it seems like all you're doing is replacing falsity in one with undefinedness in the other 05:44:05 -!- jpc has quit (Read error: 110 (Connection timed out)). 05:45:57 -!- bsmntbombdood_ has joined. 05:47:48 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)). 05:51:01 back 05:52:27 hey 05:59:41 poop 05:59:50 oppo 06:05:43 it's 6:05 am i gotta bed myself soon 06:05:58 Perhaps. 06:06:22 pikhq: to clarify, i have to be awake at 12an 06:06:24 *am 06:07:02 Sleep, por favor. 06:07:37 but i am eating first! 06:07:47 I have something of an Oreo addiction. 06:08:15 mm 06:08:25 mm. 06:12:45 i really need to switch to uberman; i suck at monophase 06:12:49 like terribly badly 06:20:27 :/ 06:23:09 lol me too 06:23:15 but uberman would be untenable 06:23:19 6:22, i really have to be in bed soon 06:23:21 coppro: Tesla? 06:23:26 (http://tesser.org/sleep/teslapattern/) 06:23:56 nope 06:24:04 Why not? 06:24:17 because taking a nap in school is not an option for me 06:24:32 Why not? 06:24:36 oh, pre-uni 06:24:51 http://en.wikipedia.org/wiki/Polyphasic_sleep#Comparison_of_sleep_patterns 06:24:54 would everyman work for you? 06:24:58 i guess not 06:25:00 since it has a nap at midday 06:25:10 incidentally t hose g raphs are awesome 06:25:17 *those graphs 06:25:34 uberman + perfected lucid dreaming and then I'd never have to be unconscious! 06:26:13 right 06:27:02 well just go into cryonic suspension until an in-school nap is tenable 06:27:58 coppro: you could try this insane fucker's schedule: http://gill.tesser.org/ 06:28:03 ~16 naps of 4 minutes 06:28:19 nobody, and i mean *nobody*, cannot disappear for 4 minutes 16 times a day :P 06:30:00 i'm waiting for someone to order me to sleep 06:31:36 also iirc the owner of tesser.org adjusted to uberman while in high school 06:32:20 he may have had a consistent daily schedule with a spare in the middle or something 06:32:31 or he just used his lunch breaks 06:32:35 (maybe he had long ones) 06:33:04 i dare you to do hexadecaphasic 06:34:08 what's Uberman again? 30 minutes every 4 hours? 06:34:42 20 06:35:01 ok 06:35:02 well, 20-30, but 20 is canonical 06:35:07 30, as in dymaxion, is harder iirc 06:35:09 If I didn't need to eat, I could fit that in my day 06:35:18 well go for tesla then 06:35:27 20 minutes * 4 06:35:40 I need to eat though 06:35:47 if the idea of 80 minutes of sleep a day doesn't make you queasy, then the extra 40 minutes should be enough time to fit in eating. 06:36:01 no, the problem is when 06:36:05 my lunch hour is short 06:36:15 well 06:36:17 http://en.wikipedia.org/wiki/Polyphasic_sleep#Comparison_of_sleep_patterns 06:36:18 go for everyman then 06:36:22 three naps in the day 06:36:23 same problem 06:36:24 one core nap 06:36:33 coppro: you can rearrange the naps you know 06:36:36 as long as they're evenly spaced 06:36:40 yeah 06:36:45 but I'd need to have one over lunch 06:36:48 no real avoiding that 06:36:55 true. 06:36:56 otherwise I'd be going ~7 hours without sleep 06:37:02 well, what other free time do you have in the school day 06:37:33 a spare, but it's not at a consistent hour on a given day 06:37:43 also, I do other stuff where continual conciousness is required 06:37:48 for many hours at a time 06:38:13 not many people actually do one thing continuously for over 4 hours. 06:38:13 hexadecaphasic would be theoretically possible, but I'm not ready to deprive myself of sleep for two weeks 06:38:25 coppro: erm, uberman fucks you up for 10 days 06:38:35 it's not just sleep deprivation that fucks you up it's your body adjusting 06:38:37 ehird: wasn't talking about uberman 06:38:40 simply unavoidable 06:38:42 coppro: i mean that 06:38:45 uberman has the same issue 06:39:21 please god, make me sleepy 06:39:39 or i'll end up on inverse monophase again 06:40:04 ehird: yes I know 06:40:22 but yes, I do stuff where I may quite possibly not have a moment's rest for 7 or 8 hours 06:40:39 I doubt highly. 06:41:57 your doubt does not change the underlying reality 06:42:13 I think it's just an excuse. 06:42:27 negative 06:42:37 Your negations do not change my underlying suspicion. 06:42:42 fair enough 06:43:30 Please convince me to go to bed. 06:43:31 It's almost 7am. 06:43:45 doing anything today? 06:43:51 I need to be up at 12am. 06:44:11 then close your computer, masturbate a little, and the sleep will probably catch up 06:44:37 added to list of "weirdest advice given on IRC". 06:44:49 lol 06:44:58 a list that i should probably not maintain as it's something like 5 billion lines long by now 06:45:06 probably nt 06:45:08 *not 06:46:54 sleep now: 06:46:58 - get barely any sleep 06:47:03 - wake up annoyed 06:47:07 don't sleep: 06:47:08 - get tired 06:47:08 better than no sleep 06:47:14 - end up on inverse monophase, become suicidal 06:47:25 although 06:47:31 depending on how important your stuff is 06:47:42 you may just find it easier to push through to the evening and retire early 06:47:59 i'm terrible at all-nighters, i just fall asleep in the early afternoon 06:48:05 and wake up late at night 06:48:09 i.e. inverse monophase 06:48:15 you need someone/thing to keep you up until the evening 06:48:18 a schedule soulcrushing because you never have any contact with humans or see daylight 06:48:25 if you don't have that, then yeah, don't do it 06:48:33 ehh, i could probably manage it 06:48:35 let me see if the sun is out 06:48:39 if it's out, i'll stay awake 06:48:46 if it's not, ... i'll probably stay awake 06:49:04 I take it you don't drink caffeine much? 06:49:22 false; I drink far too much of it via soft drinks 06:49:27 i probably shouldn't 06:49:27 ah 06:49:42 ok well i find it impossible to really sleep for less than eight hours 06:49:43 eh, you're probably adapted 06:49:49 so best-case waking up time is 15:00 06:49:54 more likely is 17:00 06:50:00 as the later I go to bed the more I need sleep 06:50:05 15:00 is ... half-workable 06:50:08 17:00 is absolutely not 06:50:12 so, that's risky 06:50:15 don't do that 06:50:20 don't do wat 06:50:21 *what 06:50:28 that's a pretty bad sleep schedule to put yourself on 06:50:40 also, if i stay up, and manage to reach the evening, then i can get to bed early 06:50:43 thus waking up early in the morning 06:50:52 thus getting tired not long after it gets dark 06:51:02 thus putting me in an advantageous position for future sleep 06:51:25 downside: pissed off parental overlords (they are, I find, not fans of the inverse monophase schedule) 06:51:27 but ehh 06:51:31 I don't want to wake up when it's dark 06:51:39 so (retroactive) all-nighter it is. 06:52:22 I got up in the afternoon yesterday, anyway, so I should be able to make it 06:52:32 and I was *planning* to go to bed at 3am 06:52:36 *sigh* 06:53:59 ok, i must find some programming to do posthaste to keep my brain awake... and not anything important because i'll fuck it up 06:54:06 euler 06:54:12 or try to learn a language 06:54:25 i don't think my brain takes new concepts in too well when sleeping 06:54:40 good; you won't be sleeping for 10 hours 06:54:42 and project euler doesn't really have any fun results, so my tiredbrain probably won't like it 06:54:47 coppro: erm 06:54:49 when sleepy 06:54:57 :P 06:55:04 i'll work on my scm2c compiler 06:55:09 that's a fun toy project 06:55:42 I remember asking but never getting a good answer; how did they mess up R6RS? 06:56:02 yay, something to do (compiling a response to that) 06:56:03 sec 06:56:29 stupid fucking slow r6rs.org 06:56:36 tired ehird has no patience or manners 06:56:54 fucking piece of shit google cache grr 06:57:11 -!- Guest23566 has quit ("Lost terminal"). 07:07:22 coppro: "Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary." 07:07:23 So says the preface of R5RS, and by extension R6RS. One of these languages obeys this principle; the one with a six in its name is not it. Furthermore, Scheme is, at heart, a pedagogical language; one for academics. Certainly, one can accomplish practical programming tasks with it, but simplicity is its driving force. 07:07:25 R6RS adds features such as a module system that deals with the nitty-gritty details of "real world" modules. This is practical, certainly, and most likely useful, but not something that belongs in, at least, the core language standard. 07:07:26 Furthermore, R6RS's base language offers basically nothing over R5RS. And then we get to the libraries. Oh, dear; the libraries. "Bytevectors"; a mere specialisation of vectors to byte elements. That is an optimisation for the compiler to perform, not something that goes in the core language. Scheme is already hard enough to compile efficiency; this is just unneeded ugliness. 07:07:28 Exceptions. Again a nitty-gritty specification of something that Scheme already has, in an SRFI. R6RS seems to think that SRFIs aren't a good enough way to define additional libraries, and it should instead wantonly define them itself. This is antisocial at best. 07:07:32 syntax-case, a supported-elsewhere, complicated macro system. Are simple syntax-rules hygenic macros really so bad that we had to add this to the standard? 07:07:35 Hashtables. Even here the name makes a laughing stock out of what Scheme is; a hashtable is an implementation detail of an associative array; indeed, even the "array" part is an implementation detail here, so perhaps associative map would be the best terminology. It's sundry; clearly little thought was put into this, least of all to whether it actually fit into Scheme. 07:07:40 Also, note that only 65.7% of the electors voted to approve R6RS; i.e. 34.3% opposed it. And R6RS wouldn't have passed depending on a wording detail: 65.7% of electors who *voted* said Yes. Apparently it used to be all electors in general, or at least there was some confusion. So, R6RS was not even widely accepted by the voters. This is reflected in the small set of R6RS implementations; indeed, no R5RS implementations have moved to R6RS. 07:07:45 For further opinions on this matter, I direct you to the No votes at http://66.102.9.132/search?q=cache:V7u6JmG9CTYJ:www.r6rs.org/ratification/results.html+http://www.r6rs.org/ratification/results.html&cd=1&hl=en&ct=clnk&gl=uk&client=firefox-a. I wouldn't bother reading the Yes votes; most of them don't have any arguments as is typical of such things. But a lot of the No votes very eloquently, and in quite a few cases verbosely, argue against R6RS. 07:07:50 I don't think R6RS is all that bad a language in itself, but it's certainly a bad Scheme. 07:08:30 ok, thanks 07:08:37 this your writing or a copy/paste? 07:09:18 I wrote it, yes. 07:09:54 Oh my fucking god, you can make computer cases out of lego 07:10:02 Behold: http://monochrome.yudia.net/images/legopc/DSCN0708.JPG 07:11:21 of course you can 07:11:25 they're just boxes mang 07:11:27 Yes, but, shut up. 07:12:03 It'd be cool if you made it entirely out of black lego bricks. Boring standard case from afar, lego monstrosity from close-up. 07:12:13 Also a hinge made out of legoii to make a door. Or something. 07:12:16 I'm slightly incoherent when tired. 07:20:50 i forgot the downside to not sleeping 07:20:53 you can't think properly 07:28:35 -!- coppro has quit (Remote closed the connection). 07:29:12 -!- coppro has joined. 07:29:16 wb coppro 07:30:27 hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling 07:30:34 what 07:31:01 `addquote hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling 07:31:07 I have a sudden urge to describe something as 'It is a game \ played by an idiot, full of sound and fury, \ signifying nothing.' 07:31:09 115| hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling 07:31:14 coppro: >_< 07:31:19 mm 07:31:20 *hmm 07:31:25 is the quote better without the second line? 07:31:27 i think so :P 07:31:29 yes 07:31:34 the second line makes it sound almost reasonable 07:31:55 well, you didn't get the fury bit in 07:32:14 also, it'd have been better making it a story involving that yelling instead of a game, to more closely match the original 07:32:17 yelling is usually associated with fury 07:32:23 true. 07:34:41 http://www.theonion.com/content/news/dubai_debt_crisis_halts_building 07:35:22 ha 07:35:28 dubai is such a shitty plcae 07:35:30 *place 07:36:35 haha they've also got one 'Gay Teen Worried he Might be Christian' 07:45:56 old :P 07:46:41 GIMP is so slow to start up 07:46:58 yeah :( 07:47:08 and it still has that horrible toolbox thing 07:47:37 apparently the designers of the GIMP have never attempted to use it simultaneously with another application 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:27 asdfgjk 08:09:33 i need to eat soon or i will surely fall asleep 08:09:40 coppro: btw can you remove those retarded plasmoid icon things 08:09:43 on the panel and desktop 08:10:19 if you lock the widgets, the panel one goes away 08:10:25 don't think you can get rid of the desktop one 08:11:56 coppro: also, re: adjusting to caffeine (yeah yeah raising statements from the dead) i don't think that's actually possible, after all caffeine fucks up polyphasic sleep regardless 08:12:10 which is why people give up caffeine and alcohol for a good time when switching 08:12:14 preferably indefinitely 08:12:17 if it was taken in regular doses it probably wouldn't 08:12:25 nope 08:12:27 it does 08:12:34 since it makes you miss naps, full stop 08:12:35 regular meaning throughout the day 08:12:46 not just like once a day 08:12:55 after a couple weeks of caffeination, the brain compensates 08:13:46 cite 08:14:05 * coppro will find 08:14:28 (note that it would have to be very carefully controlled to make sure the brain had a near-constant caffeine level 08:14:40 and thus totally useless for actual caffeine drinking 08:14:46 which is good for staying awake 08:15:55 ehird: Wikipedia mentions it; though I'm too lazy to run through their sources 08:16:10 k 08:16:52 caffeine inhibits adenosine so the body adds adenosine receptors 08:17:13 this will balance out 08:17:55 i wonder if chocolate hurts polyphasic sleep too 08:18:15 probably 08:18:39 why? does it have any effect other than making you happy? 08:18:44 it has caffeine in it 08:18:53 not in large quantities, but if you had lots of chocolate, you'd notice 08:19:18 ah, true 08:21:21 coppro: what about raw chocoltae? :p 08:21:23 most of my caffeine intake is through chocolate and the occasional soft drink, and I don't normally have a lot of that. I like this because it means if I really need a boost, I can drink something strongly caffeinated and I really feel it 08:21:23 *chocolate 08:21:29 (http://www.therawchocolatecompany.com/) 08:22:12 coppro: I really ought to find a drink that I can drink offhand more-or-less continuously throughout the day that isn't of questionable healthiness 08:22:20 But I'm lazy. 08:22:38 a non-caffeinated soft drink? 08:22:59 coppro: that still has five tons of sugar 08:23:08 true 08:23:13 water's not bad 08:24:30 hmm... I probably consume a tonne of water every year 08:24:31 i find the water supply in this country to be distasteful, and bottled water to be wasteful and ridiculous 08:24:42 so I drink very little water, generally 08:24:47 oh, that sucks :( 08:25:00 (distasteful as in crappy, not as in literally distasteful) 08:25:05 I could buy a water filter 08:25:11 i guess 08:25:15 yeah, it's good 08:25:44 but i dunno, i kinda like tasting things :p 08:26:01 heh 08:26:16 when I want something like that, I usually go with fruit juice of some description 08:26:17 usually apple 08:26:33 but not the horribly watered-down stuff 08:26:52 there's a fine line between taste and too much taste, though 08:28:02 * ehird yawns 08:29:07 bad ehird 08:29:47 what 08:31:31 no sleeping! 08:31:53 http://rawchocshop.com/detail.asp?prodID=23&anch=1 08:31:57 The most hardcore bar of chocolate, ever 08:32:01 100% raw cacao chocolate bar 08:32:43 I'd imagine that to be rather bitter 08:33:57 You don't say 08:38:12 I can't even eat 80% 08:38:23 Apparently past 80% it takes on a whole new consistency 08:38:37 I had some I think 80% once and enjoyed it, if I had small pieces 08:39:26 coppro: http://www.keacher.com/?p=388 08:39:30 Comparison of 85% to 99% 08:39:52 I love the warnings 08:39:58 It's like "THIS IS A MATTER OF LIFE AND DEATH" 08:40:30 I'd break off a big chunk and chomp on it just to subvert their authority, man 08:40:39 It's also... completely black 08:42:38 * coppro wonders if callebaut makes super-dark chocolate 08:43:19 Maybe my main drink should be Swig Ingest Drink :P 08:43:34 (My ephemeral, ill-specified, vaporware home-made soft drink, inspired by Gregor's efforts.) 08:51:38 Gregor's entirely successful efforts. 08:51:54 Was that sarcasm or joy? 08:52:33 My efforts were in fact entirely successful. 08:52:37 My gingersnap soda is fantabulous. 08:53:03 ...that sounds far too delicious to exist. 08:53:05 Send me some. 08:53:44 Except make them with ginger nuts instead, dammit, I'm a Brit. 08:54:53 yawn 08:55:06 Gregor: Anyway, you said that adding acidy thingybob made it... less acidic, right? 08:55:19 (Acidy thingybob *not* being acid. (Has anyone made LSD soda?)) 08:56:40 .... 08:56:43 Citric acid? 08:56:49 I'm sleep deprived, you know. 08:56:55 Coherency is optional and discouraged. 08:57:02 Adding citric acid made it more acidic. 08:57:06 Yes, but better. 08:57:07 Somehow? 08:57:08 But it's vital that it be acidic. 08:57:09 Yeah. 08:57:15 Why 08:57:17 It doesn't have the right bite unless it's acidic. 08:57:24 The carbonation doesn't feel right. 08:57:37 I was trying to avoid bite, though. 08:57:45 It was meant to be the worlds first smooth soft drink. :P 08:58:05 Haha, best spam site technique ever: "Allow the next page a few seconds to load... Email: [ ] [ Free Instant Access! ]" 08:58:09 The page source has no redirection code whatsoever 08:58:17 * ehird feeds it mailinator 08:58:23 *to mailinator 08:58:26 Feel free to attempt it without the citric acid, but the carbonation simply doesn't /feel/ right (by which I do mean feel, mouthfeel) unless it's acidic. 08:58:42 Can you quantify that? 08:58:58 1/4Tsp citric acid per 5 cups water. 08:59:24 Or did you actually want me to qualify that? :P 08:59:36 lol, the page is basically "Cloud computing will kill Microsoft. The japs are doing it. I'll Fed-Ex you the scoop 100% FREE please give me your details." 09:00:03 Gregor: Quantify the mouthfeel issue, I mean. 09:00:34 * ehird has a ridiculous idea 09:00:43 That 100% raw chocolate bar, in a soda. 09:00:57 We do have chocolate soda here :P 09:01:06 Gregor: But is it 100% uncooked cacao? 09:01:08 It's hard to describe ... there's a tingling, poppiness to the carbonation of real soda that's lost without it. 09:01:20 ehird: No, that would be horrendous and bitter. Unless you add sugar of course. 09:01:23 Gregor: the sort-of-burning sensation? 09:01:25 except without the heat 09:01:42 Well, yes, it does add that, but it's more than that. 09:01:42 (100% raw cacao soda: Also combinable with my popular Fisherman's Fiend recipe to produce the worst drink ever.) 09:02:11 It's hard to describe, suffice it to say that I tried a few times without, then decided to add it, and went "OH. That's why it wasn't soda." 09:02:22 Alright then 09:02:42 Gregor: you should make Fisherman's Fiend. 09:02:54 Oy :P 09:03:02 I'm going to make snoring sounds instead. 09:03:05 (While sleeping) 09:03:07 *zzz* 09:03:10 Gregor: But Fisherman's Fiend 09:03:12 Is 09:03:13 The 09:03:15 Second-Worst 09:03:16 Drink 09:03:18 Ever! 09:03:29 (First is 100% raw cacao soda + Fisherman's Fiend, third is 100% raw cacao soda.) 09:29:55 * coppro tries to remember the shortcut he has to close a window with a click that isn't on the X 09:30:05 alt-f2 xkill enter click 09:30:27 a normal close, not a kill 09:30:35 (and Ctrl-Esc is faster) 09:30:44 err 09:30:48 whatever it is 09:30:54 now that I'm trying to remember, it's escaped me 09:31:16 Ctrl-Alt-Esc 09:33:56 hmm, appears to be no option for that 09:33:58 lame 10:06:52 asd 10:13:59 -!- kar8nga has joined. 10:18:40 -!- BeholdMyGlory has joined. 10:22:41 *Main> :t vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil)) 10:22:42 vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil)) 10:22:44 :: (Num t) => 10:22:45 Vec (TyPlus (TySucc TyZero) (TySucc (TySucc TyZero))) t 10:23:10 *Main> :t vHead . vTail . vTail $ vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil)) 10:23:12 vHead . vTail . vTail $ vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil)) 10:23:13 :: (Num a) => a 10:23:15 *Main> :t vHead . vTail . vTail . vTail $ vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil)) 10:23:16 (type error) 10:23:26 Dependent typing in Haskell? Yeah, we do that. Basically. 10:25:06 now accepting theses on why my brain is currently incapable of comprehending the idea of window management but can whip up type-level computation in haskell in a snap 10:38:36 my thesis is a poorly structured essay that depends heavily on a generalised reading of Snow Crash in the eponymous novel, combined with some stuff taken from the back of sugar packets about hippocampi 10:39:52 Pthing: that sentence is pœtic and beautiful to me, is that worrying? 10:40:05 *Main> evenClub NSZero Refl 10:40:07 () 10:40:08 *Main> evenClub (NSSucc NSZero) Refl 10:40:10 :1:25: 10:40:11 Couldn't match expected type `TyNEven (TySucc TyZero)' 10:40:12 no, but if i'd known, that would have been worthy of a chapter 10:40:13 against inferred type `TyTrue' 10:40:14 In the second argument of `evenClub', namely `Refl' 10:40:16 In the expression: evenClub (NSSucc NSZero) Refl 10:40:17 In the definition of `it': it = evenClub (NSSucc NSZero) Refl 10:40:19 FUCK YEAH I'M DEPENDN' 10:40:24 if i wasn't stealing all my tricks from She I'd actually feel accomplished 10:40:39 man i am so writing a preprocessor to generate the fuck out of this shit though, automatic function → type family conversion is gold 10:43:07 i am so brilliant 10:48:38 oh shit do i need some sort of type ... reification ... to other types... thing 10:48:42 fuck if i do that is bad 10:49:02 ooh I know 10:54:13 okay now i will write a dependently-typed lambda calculus implementation in haskell 10:54:27 I wonder why my brain focuses on types over values when tired 11:05:25 AnMaster: Here's one preliminary stitch of the CS building: http://zem.fi/~fis/cs.jpg -- it's a bit seamy, and I doubt anything can be done to the railing immediately in front, since it's sort of important that what's behind it lines up properly. <-- nice. Btw I have some ideas of how such problems could be "fixed" 11:05:34 hugin certainly can't 11:06:15 but my idea is using parallax to build up a (partial) 3D model of the scene to be able to stitch a panorama out of it 11:07:03 *Main> let foo = Lam 0 (Var 1) (Lam 2 (Var 3) (Var 0)) 11:07:43 *Main> infer Map.empty foo 11:07:43 Lam 0 (Var 42) (Lam 2 (Var 42) (Var 1)) 11:07:43 close but no cigar :( 11:07:43 should be Lam 0 (Var 1) (Lam 2 (Var 3) (Var 0)) 11:09:09 -!- MizardX has joined. 11:09:40 -!- anmaster_t has joined. 11:09:56 -!- anmaster_t has changed nick to anmaster_l. 11:14:47 For contrast, I am currently optimizing another view of the same scene; this time done by taking a two-minute videoclip of waving the N900 around, then extracting every fifth frame (344 images in total) and feeding that to Hugin. 11:16:03 The video capture resolution is just 848x480, so the resolution won't be so good; and there's a lot of motion blurring going on. It would probably work better if I auto-selected sharp frames instead of taking every fifth. 11:16:52 -!- FireFly has joined. 11:17:24 Also rather slow to optimize 1031 parameters (343 times yaw+pitch+roll, plus view+barrel) using about 10000 control points. 11:18:00 Oh, and I managed to get hugin so swap-trashy I had to finally kill it, in the exposure optimization step. Going to have to retry with a smaller number of points. 11:19:21 -!- kar8nga has quit (Remote closed the connection). 11:40:24 -!- rodgort has quit (Client Quit). 11:40:34 -!- rodgort has joined. 11:44:10 -!- Pthing has quit (Remote closed the connection). 11:47:10 -!- anmaster_l has quit (Read error: 60 (Operation timed out)). 11:48:10 assqx 11:48:17 assistant... qx 11:48:20 quality Xcellence 11:48:30 assistant quality excellence, one who assists in the verification of excellence of quality 11:48:32 assqx 11:49:14 chrslrtk 11:49:25 chalice roads lamer rectal tick 11:49:31 chrslrtk 11:52:22 toijsdiojh 11:52:55 toys ima[jg]ine salviate dinner orange juice h 11:52:58 h... 11:52:59 hello 11:53:01 toys ima[jg]ine salviate dinner orange juice hello 11:53:04 toijsdiojh 11:56:18 fizzie, run it on that 64 GB ram system ;P 11:56:20 bbl 11:59:06 flightless arsenhůven 11:59:13 ůven, œven, i want a character in between 11:59:18 like oue without the e, ligatury 11:59:34 that would be worth arsenhouvening for 12:00:09 papyrus pluralled... papyruses? 12:00:13 that would be cool 12:00:18 it's probably papyri or something gay though 12:00:32 papyrusapapyrusapapyruses 12:01:20 i wonder what the logo of emacswiki really is 12:01:20 Plural papyri Brit. /p{schwa}{sm}p{revv}{shti}r{revv}{shti}/, U.S. /p{schwa}{sm}pa{shti}ri/, /p{schwa}{sm}pa{shti}{smm}ra{shti}/, papyruses. Forms: ME-16 papirus, ME- papyrus. 12:01:23 it looks like CE 12:01:24 or perhaps (E 12:01:40 fizzie: ok so you can either be fucktarded or delicious when plurunctuating that word, good to know 12:01:47 don't be a fucktard man 12:01:48 be delicious 12:01:50 in everything you do 12:02:05 (OED has IPA characters as images with alt-texts like that, so pasting is unfun.) 12:02:58 ohYeahTotallyWotzzat 12:03:25 fizzie: fuck OED fucking proprietary english fucking bullshit OED fucking proprietary bullshit fucking OED but i mean i likey oed but FUCKing oed fucking proprietary yeaaaaaaaaaaaaaaaaaaaaaaaaaaaah 12:03:27 hhhh 12:03:35 mmyestotally? 12:04:07 oͧ - o with combining small letter u. 12:04:14 yay i wonder how i tell emacs to tell me in what order does it load files at the starting 12:04:20 fizzie: i was think more in style of œ 12:04:22 MAKE IT SO 12:04:36 I don't think it's very makable with Unicode. 12:05:12 dickinsons! i haven't heaven'd whatfore might be his name 12:05:24 you should make a fungot thing out of just things i've said 12:05:24 ehird: good luck! :) http://list.cs.brown.edu/ pipermail/ plt-scheme/ 2006-october/ fnord 12:05:29 it'd be splendfunctorlicious 12:06:06 fizzie: i expect it yesterday 12:06:20 yestermorrow, is there any time _really_ 12:06:38 type functor declaration undecidable dependent instance fuck yeah automatic function to type family conversion also also also also also stack overflow also 12:06:49 i want to be incoherent constantly 12:06:51 it's so fucking rad 12:07:46 Hey, there is a latin letter "ou"; though it looks a bit different: ȣ 12:07:55 There's also oi: ƣ 12:08:06 -!- anmaster_l has joined. 12:08:20 have you noticed, billy, that sometimes, b 12:08:21 omg 12:08:26 ȣ 12:08:29 favourite letter 12:08:41 flightless arsenhȣven 12:08:58 jesus christ it's perfect, why is it uo instead of ou though in the glyph glyph 12:09:06 also when is ehird-fungot-mode-just-of-the-lines-of coming 12:09:06 ehird: if ( language " python" 12:09:08 dz also has its own ligature-like thing; it's full of kudzu. 12:09:39 -!- anmaster_l has quit (Read error: 60 (Operation timed out)). 12:10:04 ȸ, the database letter. 12:10:07 you are constantly avoideravoideravoideravoideramating my qusetion 12:10:13 rȸms 12:10:16 ♥ 12:10:18 Yes, unashamedly. 12:11:06 wouldn't it be an awesome mode though though 12:11:24 Yes yes. 12:11:32 So do it do it BBQ it 12:11:36 It's just 12:11:39 cat thelinesforirc 12:11:44 | grep '^" 12:11:46 | poop 12:11:49 or whateveramever 12:12:11 My computar is busy doing PHOTOGRAMMETRIC ALIGNMENT for that videorama. 12:12:51 dude it can handle some filtering, i'm sure it loves me 12:13:01 oves me ves me es me me me e 12:13:08 so fucking hypnotic 12:13:10 s/ $// 12:13:11 It has already spent half an hour optimizing exposure and white-balance parameters, and the error hasn't noticeably changed for the last 25 minutes. 12:13:12 i want to clean it 12:13:14 though t'is correct 12:13:17 t'is, is that correct? 12:13:25 it's t'is→→it is 12:13:28 so i guess 't'is 12:13:36 but that's the same size as it is 12:13:42 so you'd have to be fucking retarded to say it mon 12:14:02 "'tis", isn't it? 12:14:06 http://en.wiktionary.org/wiki/%27tis 12:14:10 that omits the expanded space you do 12:14:11 ILLOGICAL FUCK 12:14:17 'T'is't'isn't 12:14:18 -!- rodgort has quit (Client Quit). 12:14:20 → It is it isn't 12:14:25 beautiful 12:14:26 -!- rodgort has joined. 12:14:30 beautiful like rabies 12:15:00 I do multi-apostrophe contractions sometimes in IRC-lingo. 12:15:18 Wasn'tn't. 12:15:20 Was not not 12:15:36 Well, it wasn'tn't great. 12:16:08 It just wasn'tn'tn'tn't awesome. 12:16:09 -!- MizardX- has joined. 12:16:25 *wasn'tn'tn'tn'tn't 12:16:27 i think 12:16:37 whoreses 12:18:22 -!- FireyFly has joined. 12:18:40 -!- FireFly has quit (Nick collision from services.). 12:18:52 -!- FireyFly has changed nick to FIreFly. 12:19:31 -!- FIreFly has changed nick to FireFly. 12:19:40 now let's not enigmaticise here. 12:19:50 this isn't free 12:28:43 okay so you can use ~/.emacs.d/init.el instead of ~/.emacs that is cool 12:32:10 "t'is" is illogical? 12:32:23 err 12:32:29 i mean "'tis" is illogical? 12:32:30 -!- MizardX has quit (Read error: 110 (Connection timed out)). 12:32:35 -!- MizardX- has changed nick to MizardX. 12:34:18 -!- MigoMipo has joined. 12:34:59 Yes, I guess the problem there was that the space between "it" and "is" is not marked at all. 12:35:30 absolutely 12:35:36 dfhgfhjhkodg 12:42:00 i'm yawning all about insanity 12:56:44 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)). 12:59:27 -!- bsmntbombdood_ has joined. 13:00:40 i love how i'm understanding things. 13:06:43 -!- Pthing has joined. 13:08:58 -!- uorygl has quit (Remote closed the connection). 13:09:01 -!- uorygl has joined. 13:13:50 -!- Ilari has quit (Client Quit). 13:19:36 9 windows of firefox with multiple tabs in every window, some with enough to make the tab srcoller appear, plus amarok, kopete and kovnersation makes kde's window manager crawl 13:20:38 -!- Cerise has quit (Remote closed the connection). 13:23:28 ah, unlike in the other ones like "you're" and "there's" 13:25:18 oklopol: stfu, i'm musing about thoughts that were not thunk in this quantum stream but were thunk in some other quantum stream, that is unthunk thoughts, affecting the (I postulate for no particular reason commutative) p-therefore-q-as-a-thought-process operation so that you think a thought, and then you think (because of the unthinking) a thought by which you derive the previous thought, but this turns out to be a contradiction that you couldn't check 13:25:20 ahead of time because you can't predict the future, and thus the infinite memory required to represent such a thought might overflow your brain or something 13:25:36 i have far transcended any sort of petty english syntactical debates, my thoughts are pure euphoria of form 13:26:05 it is beautiful. 13:26:27 ah 13:26:31 yeah sorry 13:26:39 you're right 13:26:46 oklopol: do you sort of grok what i'm sayinh 13:26:47 *saying 13:27:48 hmm, maybe. 13:28:20 given a bit of serious pondering, it looks totally sensible 13:28:44 hmm so if you can communicate across many-worlds branches, then you could cause unthunk thoughts to mingle with this thought stream and become thunk thoughts, thus removing the permutations they performed on your thoughts and instead becoming first-class citizens (albeit being q-thought-before-p in (p therefore q)) of thought 13:29:05 therefore, achieving "enlightenment" could be modelled as having no unthunk thoughts; having every thought be thunk by quantum methods 13:29:17 and thus all there is is pure thought itself, no hidden reasoning chains or side-effects 13:29:35 but this is straying into the religious or at the very least the metaphysical. nevertheless, it does seem to follow. 13:31:30 i still think i follow, but i'm not sure what i get out of that would sound nearly as esoteric, so i'm gonna keep it to myself. 13:31:37 the trees are slightly less pretty now. 13:32:47 oklopol: nonono do say it 13:32:49 even if it is merely 13:32:52 "that is bullshit" 13:32:56 ;) 13:33:11 I mean I don't actually *believe* any of this, I'm just letting thoughts permute themselves automatically through my process instead of suppressing them, and thus elaborating on them 13:33:14 who says what you think has to be true? 13:33:33 oklopol: maybe you unthunk something in the far, far future about trees that is bad 13:33:38 and that is affecting how you view trees now 13:33:56 you need to create a causal reasoning chain justifying how good trees are of greater power than it so as to override it 13:34:00 and enjoy trees 13:34:52 we could model thinking as a process that takes unthunk thoughts, unprocessed data, and outputs thunk thoughts, some sort of results. if there were multiple worlds with the same entity existing multiple times, living almost exactly the same lives, he could skip ahead in his thoughts by accessing the thunk thoughts of a fellow him. 13:35:05 you probably didn't mean anything like that. 13:35:31 oklopol: no, that is *exactly* it! 13:35:35 i'm so sexy 13:36:22 oklopol: let's mutually thunk the other's unthunk thoughts so as to expand both our repertoire of thoughts (← this is what sex is like post-singularity) 13:36:32 :D 13:37:15 *repertoires 13:37:34 oklopol: sometimes it can be a bit embarrasing too 13:37:51 having sex? 13:37:58 post-singularity thunk sex. 13:38:01 right 13:38:14 i mean occasionally you're doing it and you think "but the chicken *was* over 18, and it *was* going around naked... plus the peanut butter was right there..." 13:38:25 and you're like "um. $name? why wasn't I invited?" 13:38:26 and yeah. 13:38:31 probably, like yelling "mmm you smell just like my mum" in bed, but you can suppress it even less 13:38:49 you're meant to suppress that?! WHY WASN'T I INFORMED OF THIS 13:39:23 speaking of which you are so going to owe me money in... about three years 13:39:50 because in your case it'll not be relevant for like 15 years 13:39:50 :)) 13:39:54 ZING 13:40:07 oklopol: exactly why you will owe me money in three years 13:40:11 yeah 13:40:14 in case you don't remember we have a bet :P 13:40:16 how much was it? 13:40:19 how m lol 13:40:28 i do, just not the amount, i can't remember numbers that mean something 13:40:29 well i know it was a few days off my birthday so ic an check 13:40:31 *i can 13:40:37 I think £50 13:40:38 50 13:40:39 yeah 13:40:45 that's what i would guess 13:40:49 which is a nice heap of money for doing nothing 13:41:17 well for doing noone, i think you were allowed to do *something* 13:41:27 hur hur hur 13:41:29 (tried "noone", don't like it) 13:41:45 yeah it was £50 13:41:52 oklopol: nobody is a much better word to use imo 13:41:56 ehird: but not only a joke, mostly i was asking what rules we agreed on. 13:42:08 ah 13:42:27 i'm fairly sure it's only other people that count, otherwise my hand would count and that'd just be a ridiculous bet 13:42:28 `calc 50 pounds in euros 13:42:31 50 British pounds = 56.6239465 Euros 13:42:37 :(( it's gone down since the last time 13:42:43 i use "no one" or "nobody", had to check "noone" out because it's so popular 13:42:46 was 57.47 on 2009-08-21 13:43:04 18:10:17 i'm also preparing for extremely early onset inflation 13:43:24 :D 13:43:35 DAAAAAAAAAAAAAMN YOUUUUUUUUUUUUUUUUUUUU 13:43:48 so you're the reason this recession is happening 13:43:57 oklopol: you may ask but it was going when you said that 13:43:59 totally 13:43:59 remember 13:44:03 there is no thought causality 13:44:18 ah. 13:44:18 you have been acting to cause the recession since before it began, and the p in p-therefore-q that lead you to doing this was only thunk then 13:44:24 see, it all ties together 13:44:40 (...i'm gonna escape now k?) 13:44:55 define escape 13:45:06 "to read complex analysis" 13:45:12 pfft. 13:45:16 :P 13:45:26 escape the horrors of the physical world 13:45:34 that's called suicide 13:46:19 yeah it's just that boring. 13:46:20 -> 13:48:55 damn i could totally functionalise an os 13:49:15 i mean ok im basically ripping off luke palma's dana wholesale, dependent typing, frp and all 13:49:19 but shit. 13:49:56 and combining it with ehirdOS = sexy time 13:55:56 -!- Sgeo has joined. 14:00:07 hi sgeo 14:00:14 Hi ehird and all 14:00:25 * ehird decides to break sgeo's brain 14:00:50 I'm musing about a purely-functional (without even an IO monad) operating system with types that can access values. 14:01:00 (OR AT LEAST THAT'S HOW I'D EXPLAIN IT TO A PLEB) 14:01:47 "types that can access values" needs clarification. Also, it's obvious that this is what I'm supposed to notice, but how is it supposed to do anything 14:02:09 1. Dependent types. 14:02:12 2. Magic, clearly. 14:03:51 Magic, like the sort of magic that lets you jump to a point in space where the gravity is equal to where you're jumping from? (iirc) 14:03:54 -!- oerjan has joined. 14:04:06 Hooray Ed stories. 14:04:44 Sgeo: Dependent types let you do things like making array[3] fail *at compile-time* if array has less than 4 elements — without declaring it at any point, and with computation in-between. 14:04:54 (Of course the programmer has to help the compiler along in some cases.) 14:05:26 That's just one of the *applications*; what it *is* is a subtle matter and one I am in no non-sleep-deprived state to communicate. 14:05:55 * Sgeo is also sleep deprived right now 14:06:03 There's supposed to be a meeting 5 minutes ago 14:06:05 when did you last sleep 14:06:24 I can't help think that they meant 12AM when they said 12PM 14:06:35 Um, from 3 local time to 7 local time 14:06:55 And that's been my approx. schedule for a while, but I tend to fall asleep from 9 to 3PM 14:06:56 What time is it there now? 14:07:27 There as in the timezone they were using? 12:06 PM. Local time: 9:06 AM 14:07:58 http://www.youtube.com/watch?v=XpsN14TFy90 this music is incredible 14:08:34 * oerjan notes that googling for "hooray ed" brings up only things it is unlikely ehird was referring to... 14:09:05 oerjan, try different words in that line 14:09:06 http://qntm.org/?ed 14:09:19 i just did 14:09:20 An excellent sci-fi ... well, I'd say novel, but it was serialised of a sort. 14:09:34 (The tone of the first stories is misleading, btw.) 14:10:34 oerjan: You'd probably like it, it has a quote about how all the characters are completely insignificant, stupid and irrelevant in the universe. 14:10:37 That fits you. :P 14:10:47 sgeo -- that music IS incredible :o 14:11:36 Sgeo: i woke up yesterday at uh around 2:30pm i'd guess 14:11:39 15:30 that is 14:11:42 haven't slept since 14:13:10 o.O 14:13:24 Go to sleep then? 14:13:25 * oerjan thinks ehird has a horribly distorted impression of him 14:13:27 -!- Pthing has quit (Remote closed the connection). 14:13:31 And wake up late at night? 14:13:35 That's a dumb idea. 14:13:38 oerjan: I was joking. :P 14:13:40 Go to sleep at night then? 14:13:42 Also, the quote doesn't really have that turn at all. 14:13:46 Sgeo: I will, once it is night. 14:17:31 Sgeo: yeah that's pretty incredible 14:18:09 Supposedly, it was ranked the best music on the Commodore 64, or something 14:19:22 I can't find a source for that, actually, so 14:19:57 -!- Ilari has joined. 14:20:07 I think my source was a random YouTube video :/ 14:20:51 http://www.youtube.com/watch?v=uKssGfAtTP4 14:21:00 it was not perfect 14:27:52 yeah that wasn't very professionally done 14:29:09 * Sgeo is an SG-1 addict 14:31:24 -!- Ilari has quit ("leaving"). 14:32:10 -!- Ilari has joined. 14:43:00 Ilari: you rebooted. 14:45:30 they gave him the boot 14:46:32 -!- Migi32 has joined. 14:48:17 Yeah. 14:48:52 And had to fight with settings a bit after that. 14:51:25 And configured protocol 41 just for fun (the main trouble was lack of direct copy-paste from browser to rootshell). 14:51:40 That's how I could tell. 14:52:08 I could have configured it without reboot (would had to rejoin, but...) 14:52:36 Well, you said you'd do it when you rebooted, so. 15:01:21 -!- Migi32 has quit ("Segmentation Fault"). 15:09:16 -!- oerjan has quit ("leaving"). 15:23:24 -!- augur has quit (Read error: 110 (Connection timed out)). 15:33:49 sculpture chasm well-typedness 15:35:26 argh augur isn't here 15:36:09 Should I be on the Chrome Dev channel or the Beta channel? 15:36:09 -!- augur has joined. 15:36:20 I <3 Extensions, so the normal one isn't an option 15:37:22 ...thing says it's on Stable o.O 16:00:37 Okay, it seems my system has so little RAM that the background of Konversation's tray icon's contextual menu is white. 16:00:44 I think I'll start System Monitor and see what the fuck is up. 16:01:21 Well that was useless. 16:01:31 Xorg is CPU-hogging for some reason. 16:05:22 ...Someone's teaching a math course with QBasic 16:06:02 "A friend of mine who taught in [redacted] is teaching a math course that uses QBasic at [redacted] College. We're trying to find a compiler she can download and use with Windows XP but no luck - do you have any ideas?" 16:06:42 I suggest finding an old DOS disk and a DOSbox. 16:06:51 Or a saner language. 16:07:47 QBasic works in XP. 16:07:55 Perhaps even QuickBasic does. 16:08:49 pikhq: So. A purely-functional operating system using FRP instead of imperative IO and dependent types. Perhaps total, too. Am I a functional programming nerd? 16:08:59 ehird: Yes, you are. 16:09:04 And that's okay. 16:09:30 I'm special, just like everyone else. 16:09:36 XD 16:15:20 * Sgeo is in love with mywot.com 16:17:35 You use the term "love" very loosely. 16:18:09 Well, you see, free love. 16:18:57 Website polyamory! 16:22:03 I'm starting to believe that Linux/X11 on the desktop really is a hopeless case now that my system's crawling just because I have 9 Firefox windows open with a few hundred tabs between them. 16:22:07 The memory usage isn't even that high. 16:22:11 This. Is. Not. Difficult. 16:22:18 ehird: ... That's really, absurdly sad. 16:23:33 Yeah; X and Firefox are both using 5-30% of my CPU constantly. 16:23:35 Each. 16:23:41 For no reason. 16:24:13 Probably firefox is spewing lots of requests to X server for some reason? 16:24:31 I should just go back to OS X and enjoy the smooth graphics and non-total-freeziness and nice fonts and deal with the proprietariness, inconsistency (not that there isn't a lot of that in the Linux world too) and flawed default applications. 16:24:37 Ilari: Something like that. 16:24:45 I suspect kwin is doing something retarded with the Firefox windows. 16:25:21 ehird: Does it happen with other WMs? 16:25:34 Let's find out. 16:25:43 ...wait, killing kwm will probably just kill all my windows. 16:25:45 Stupid reparenting managers. 16:25:51 Ilari: Don't know. 16:25:59 *kwin, not kwm 16:26:23 Ilari: I suspect the fact that kwin is compositing, and there are... 1, 2, 3, 4, 5, 6, 7, 8 firefox windows showing (all but one are just edges), 16:26:26 is something to do with it. 16:26:34 Something like it's drawing the entirety of all those windows or something. 16:27:12 Yeah, kwin is drawing all of those windows in an offscreen buffer and then rendering it onscreen. 16:27:20 That might do *something*. 16:27:28 Heh... Reminds me when only "window manager" I could get to start with session was some terminal emulator. I had to attach debugger to it and make it execute some sane window manager... 16:27:38 So if I maximise the Firefox window I'm actually using (and deal with the too-wide text), performance will improve some. 16:27:42 That's just great. 16:27:47 >_< 16:27:49 I hate computers. 16:28:09 Ilari: Did "wm &; disown; exit" not work? 16:28:37 I seem to have got over the horrific-horrificness of sleep deprivation now. 16:28:40 Ugh, it's dark already. 16:28:43 I hate our short days. 16:28:55 Oh, and the terminal emulator didn't even work properly... 16:29:41 xD 16:30:03 What is it with Linux users and improbable software situations always solved by a method other than reinstalling :-) 16:30:24 Because reinstalling rarely solves anything... 16:31:32 Sure it does if you messed up the packages and now your only WM is a terminal manager. 16:31:38 I wasn't referring to the solutoin so much as getting into the situations 16:31:44 ehird: Because Linux users like doing crazy shit. 16:31:47 I've never found myself in such a bizarre environment :) 16:32:20 The only crazy shit I've done recently has been "Oh shit, my package manager just broke. Time to install stuff via tar instead of with the package manager." 16:32:28 (I keep binary packages of everything on my system.) 16:33:34 For some reason window managers still don't work, but now I use .xsessionrc (has also the good side that one can put those various xmodmap & co commands in). 16:33:50 ... Window managers don't work? 16:33:57 Yeah, reinstall that. 16:35:19 Ilari: just use .Xmodmap :P 16:35:30 alternatively, use my OS. 16:35:32 ehird: And xmodmap settings are not the only ones... 16:37:53 I wish the nice winter weather came with long days. 16:45:49 I'm going to reboot back into OS X. 16:45:51 It's just hopeless. 16:46:11 I guess I can deal with using a proprietary OS until ehirdOS is invented. :P 16:46:52 * ehird tars up his source code done on this machine, uploads it 16:46:57 (to access it in os x...) 16:46:59 erm 16:47:00 done on this partition 16:49:34 Erm, so if gcc is the GNU Compiler Collection, is GCK the Gnu Compiler Kollection?!?!12. 16:49:43 -!- ehird has quit (Remote closed the connection). 16:55:44 -!- ehird has joined. 16:58:01 -!- ehird_ has joined. 16:58:01 -!- ehird has quit (Read error: 104 (Connection reset by peer)). 16:58:06 -!- ehird_ has changed nick to ehird. 16:58:13 Yeah, this is better. 17:49:31 -!- anmaster_l has joined. 17:49:40 -!- ehird has quit. 17:52:51 -!- kar8nga has joined. 17:53:24 Erm, so if gcc is the GNU Compiler Collection, is GCK the Gnu Compiler Kollection?!?!12. <-- that sounds like it would be using QT at the very least. 17:53:54 ehird: (for log reading) but why GCK? Where did you get the idea? 17:55:10 KKK, the Knu Kompiler Kollection. 17:56:58 -!- ehird has joined. 18:12:29 i'm too busy admiring how smart my stolen ideas are to do anything with them 18:19:41 -!- ehird has quit. 18:20:14 -!- ehird has joined. 18:20:37 -!- ehird has quit (Client Quit). 18:38:02 KDE Kompiler Kollection, of course. 18:40:38 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net). 18:41:25 -!- SimonRC has joined. 18:55:28 -!- jpc has joined. 18:56:14 -!- ehird has joined. 18:57:51 09:53:24 Erm, so if gcc is the GNU Compiler Collection, is GCK the Gnu Compiler Kollection?!?!12. <-- that sounds like it would be using QT at the very least. 18:57:51 09:53:54 ehird: (for log reading) but why GCK? Where did you get the idea? 18:57:51 It was a coded identifier for the URL for my ~/src from the Linux partition. 18:58:18 ehird, heh 18:58:36 ehird, what does that even mean? 18:58:57 I'm booting back into OS X due to the general hopelessness of desktop Linux. 18:59:01 I want to move my ~/src back over. 18:59:10 I don't want to fuck with OS X drivers for ext4. 18:59:21 So I zipped it and uploaded it to a file hosting site. 18:59:30 That line includes the things I need to know to reconstruct the URL. 18:59:46 That way, using mnemonics, I can find the URL just by looking at it, but nobody else can. 19:00:25 heh 19:00:57 AnMaster: It's like PGP except in my mind, basically. 19:01:16 Like posting a PGP encrypted-to-myself message publicly, to be precise. 19:01:29 ehird, hah 19:02:05 ehird, also very smart 19:02:15 Why thank you :P 19:02:36 The relevant file ID after the file host *is* there in plaintext, though, it's just spread out across words. 19:02:44 ehird, how many of the words encode info and how many are to just make it grammatically correct? 19:02:54 Few, almost all. 19:02:59 ah 19:03:10 To be honest, I don't care whether you read my code or not, so I'll tell you that the prefix is filebin.ca. 19:03:37 Since you can upload a file there to see the length of identifiers, it'd be pretty simple to try all likely combinations from there. 19:04:04 ehird, btw interesting that you found some well working combo from it 19:04:10 as in, filename-wise 19:04:13 Yes; I was lucky. 19:04:43 Then again, I could have just gone "fp45 f09w23 g90 n4n ovij 9d" and remembered "second and second-last". 19:05:23 Anyway, I wish Linux/X11 was tolerable enough for my heavy programming and web browsing workload, but it is, alas, not. The hideous performance when I had a lot of Firefox windows open confirmed that. 19:05:40 So it looks like until I implement ehirdOS, I'm Apple's bitch. Which saddens me. 19:06:01 ehird, finding something for http://filebin.ca/hryhfj would be way harder 19:06:07 X11 is hideously difficult to use correctly... 19:06:54 ehird, is it case sensitive that filebin.ca? 19:06:54 Ilari: Yeah, with a lot of manual setup and using a lightewight WM *maybe* it could handle ~10 Firefox windows with many tabs each. 19:07:07 AnMaster: Try it and see. 19:07:20 ehird, well my test one got all letters and all lower case 19:07:22 Ilari: But, really, I just don't like Linux enough for that. 19:07:32 ok case sensitive 19:07:36 All Unix-likes are shit, and all existing UIs are shit 19:07:44 So I should just pick whichever one is the least fuss 19:07:51 As far as I can tell, that's OS X. 19:08:12 AnMaster: I think they're all lowercase, though. 19:09:08 meh tried a few simple permutations, not worth more job 19:09:45 It's hrmgck. 19:09:50 Erm 19:09:53 ermgck 19:10:11 What's the correct ELispese for "bind this key globally because the default binding is stupid"? 19:10:15 I want to set DEL to delete-char 19:10:23 Not delete-backward-char 19:10:45 Ugh 19:10:54 Emacs is reading backspace and delete as one char 19:10:57 That's retardifuckede 19:11:03 *retardifucked 19:14:07 global-set-key 19:14:08 got it 19:20:05 ehird, btw that tarball of your code was small 19:20:28 Indeed; it's just one or two days. 19:20:44 ehird, just a diff? 19:20:48 -!- kar8nga has quit (Remote closed the connection). 19:20:50 okay it wasn't that small then. 19:20:56 No; I lasted one or two days with Linux. 19:21:12 I didn't work on any of my OS X projects; the tarball is completely self-contained. 19:21:24 (And yes, I do code that much in ~3 days.) 19:21:40 ehird, yet your laptop (did you give that idea up?) was to be running linux? 19:22:37 AnMaster: well, linux isn't viable for me as it has just demonstrated for me 19:23:13 with its hideous, hideous failure at simple tasks like "synchronised flash audio/video" (I know it's not Linux's fault), "10 Firefox windows, each having a lot of tabs" and "non-smudgy font rendering that doesn't have horrible colour fringes". 19:23:19 which distro? 19:23:27 I honestly thought I'd be fine with it, but it let me down. So there. 19:23:52 SimonRC: Kubuntu; indeed, it had an edge on the font rendering test due to its inclusion of the legally-dubious bytecode hinter. 19:24:01 I could have made it more workable by Rolling My Own Shit. 19:24:01 Where *can* you have that many tabs open? 19:24:10 But I don't see Unix as a viable OS, just a kludge that works for now. 19:24:12 *a kludge 19:24:16 hm 19:24:21 what is viable? 19:24:26 So I pick the Unix that takes the least amount of working to... work. 19:24:33 ehird, "synchronised flash audio/video" <-- hm I had no issue with that even when using flash (swfdec iirc) 19:24:34 SimonRC: good; worthy; the way forward; usable; etc 19:24:44 not what I meant 19:24:50 AnMaster: Adobe. 19:24:56 ehird, ah, no idea 19:25:00 I mean, which OSes are good? 19:25:07 SimonRC: None. 19:25:11 Plan 9 and Oberon both come close. 19:25:19 ehirdOS is good, but it's vaporware. 19:25:35 ehird, as for fonts, well why not write something that make it looks like it should, obviously your work would be of great use to everyone else on linux then 19:25:39 Although I think it's a massive enough project to count as my life's work already... 19:26:01 AnMaster: I just explained why. I don't consider Unix a good OS, so I pick the Unix that works with the most stuff and does the tasks I want with me doing the least. 19:26:06 if you are going to take that long about it, it will be out of date by the time you finish :-( 19:26:09 If I cared about Unix, I would try and make it better. 19:26:31 SimonRC: It's so heretical that I don't find that too likely. Especially as systems design has been in limbo ever since Unix. 19:27:05 ehird, hm... okay 19:27:57 which OS allows you to have 10 firefox windows with hundreds of tabs each without problems? 19:28:25 Not hundreds of tabs each; hundreds of tabs in total. 19:28:35 ok 19:28:39 And, well, I use Safari on OS X and it handles that as smoothly as you could expect. 19:28:47 also I have about 50 tabs in general when using firefox 19:28:48 I imagine Firefox on OS X isn't *that* inferior. 19:28:55 50-80 probably 19:28:56 -!- soupdragon has joined. 19:29:02 ehird, try it out on OS X then 19:29:02 I think the Safari->Firefox change is the one that matters 19:29:08 AnMaster: I almost never close tabs and click links like crazy 19:29:13 and almost never click links without opening a new tab or windo 19:29:16 s/$/w/ 19:29:22 SimonRC: Well, let me know when Safari is released for Linux 19:29:28 All the WebKit X11 browsers suck 19:29:28 heh 19:30:01 * ehird tries to figure out how to get the % position in current file in the emacs modeline 19:30:13 ehird, never opening links in same tab apply almost all the time to me too 19:30:34 also you need a tab gc 19:30:45 My "ideal" browser would open every single link in a new "tab"; all middle-click would mean is "...and don't focus this tab after creating it." 19:31:05 sounds good 19:31:10 #english 19:31:13 Tabs would be in a horizontal tree structure to the side, so that it's linear, but if I open more than one link from a page, that's shown underneath that page. 19:31:14 dammit 19:31:19 It would also serve as the history. 19:31:29 Basically, old enough tabs would be purged from cache and clicking them would go back to them. 19:31:31 -!- sebbu has quit (Read error: 113 (No route to host)). 19:32:02 If you don't want a tab any more but want to keep it in the history you could banish it, which would presumably just shove it up to, say, the start of today until tomorrow. 19:33:54 so you smoothly integrate tabs, history, and bookmarks? 19:34:12 Ooh, good idea; bookmarks would just be starred tabs. 19:34:13 And yeah. 19:34:24 That's basically what I use tabs for; going back in my chronological history. 19:35:00 Tabs would be in a horizontal tree structure to the side, so that it's linear, but if I open more than one link from a page, that's shown underneath that page. <-- iirc IE8 groups by which tab they were opened from. I have had no choice but to use IE8 on some lab computers at university. 19:35:08 not quite what you wanted 19:35:22 they are coloured in different groups 19:35:31 (the tabs themselves that is) 19:35:34 Oh, so that's what those colours are. 19:35:44 The closest to what I want is the Firefox extension Tree Style Tabs or whatever it's called. 19:36:12 That does the horizontal linear tree thing, but only for tabs, not integrated history/bookmarks/tab expiry/scrolling (well, it might do scrolling with a scrollbar, dunno (arrows don't count as scrolling)) 19:37:23 ehird, wait how did you say the bookmarks would be integrated into it? 19:38:08 [19:33] SimonRC: so you smoothly integrate tabs, history, and bookmarks? 19:38:08 [19:33] ehird: Ooh, good idea; bookmarks would just be starred tabs. 19:38:23 ah I see 19:39:11 ehird, you could make it write-only. As in, once a tab is open it is always remembered (possibly you can archive it to hide it, but you can't actually delete it) 19:39:35 Well, mutable history is nice for... hiding things. 19:39:46 Of course it wouldn't have an easy shortcut. 19:42:38 ah well yeah good point 19:42:44 hrm 19:42:51 if I have foo | bar in emacs, how do I get 19:42:53 foo | bar 19:42:57 --------- 19:42:58 quux 19:43:03 C-x 2/3 don't do it 19:48:58 :/ 19:53:16 -!- sebbu has joined. 19:59:33 ehird, RET and repeat dash several times? ;P 19:59:44 I'm talking about split frames. :| 20:00:35 oh, I thought you wanted automatically inserting underlining with dash for a line 20:00:53 and I thought "meh, that usually isn't too much work in a README, it isn't worth automating" 20:15:36 -!- AnMaster has quit (Read error: 60 (Operation timed out)). 20:15:49 -!- AnMaster has joined. 20:17:19 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 20:17:32 soupdragon: i was almost going to read tmopi but then i realised i'm really tired and so you must wait another day 20:17:41 -!- BeholdMyGlory has joined. 20:24:29 * ehird decides to wile away some time by playing Armagetron Advanced really badly 20:30:58 fizzie, did you notice 17 and 0 has a tiny overlap. that's 4 images overlaping that one point 20:34:25 eh, too sleep dep'd to play even acceptably 20:34:54 bloody reaction times 20:36:49 -!- oerjan has joined. 20:38:15 * oerjan thinks ehird has a horribly distorted impression of him 20:38:32 i'd like to clarify that. mainly because i'm in a horrible mood. 20:39:14 while i _do_ on occasion think that the universe is a horrible, disgusting place and that it have been a huge improvement if it didn't exist at all... 20:39:34 ...which is, incidentally, absolutely *not* the sentiment in the ed stories 20:39:57 that does not in any way mean that i like to read fiction (or non-fiction) that _reminds_ me of this. 20:40:11 since, after all, i don't particularly _like_ to be in a horrible mood. 20:40:36 actually in the ed series it's more humility than self-loathing :P 20:40:38 *would have been 20:41:17 also, I like the universe and consider any desires you may ever have for it not to exist to be an abhorrent affront on my rights. 20:41:20 i haven't got to that part yet. just to the first jump to jupiter at the moment... 20:42:12 very well. in my horrible, but slightly less so moods you may do an s/it/i/ in there... 20:42:52 apparently you don't believe that enough to actually act on it. 20:43:21 :p 20:43:31 (1) i'm horribly lazy (2) i don't really believe death is sufficient to escape it 20:43:59 chances of you spontaneously escaping the universe = low 20:44:03 (3) in my more cheerful moods i think my more horrible moods are full of shit 20:44:06 chances of you spontaneously escaping the universe after dying = higher 20:44:15 oerjan: i would tend to agree 20:46:16 yeah but there are ways to view it that could imply suicide actually makes things _worse_. if the mind somehow survives, you no longer have a body to take your mind off your thoughts after all... 20:46:40 I would have guessed your views were closer to transmigration than an afterlife. 20:48:05 those are not necessarily conflicting, it depends on how many options there are to transmigrate to :) 20:51:06 Transmigration is such a nice word to waste on a stupid concept :( 20:51:18 heh 20:51:37 "Some psychic mediums of a variety of religious persuasions (including Hinduism and Wicca) and some Spiritualists believe in transmigration of the soul but hold that reincarnation is an anomaly if it occurs at all." 20:51:49 soupdragon: ok, 20:52:01 that was a moment of synchronicity... with oerjan in the channel, talking about other such bullshit concepts 20:52:04 is that metasynchronicity? 20:52:24 i don't understand what the heck they're talking about... they seem like the same idea to me. 20:52:51 (soupdragon = person who bugs me about reading TMoPI; name of TMoPI's vapourware sequel = The Transmigration of Prime Intellect; we were talking about transmigration) 20:53:13 (this is synchronicity; oerjan believes in synchronicity, we were talking about general-metaphysical-sorta-stuff which synchronicity falls under) 20:53:14 the light pours in on me 20:53:17 how many meta levels is that 20:53:26 meta^2 = meta 20:53:45 eek 20:53:54 soupdragon cannot have read GEB 20:54:02 (even i got to that part) 20:54:02 no I haven't 20:55:07 there's a part where there's a djinn granting wishes. but he doesn't grant meta-wishes 20:55:24 -!- FireFly has quit (Remote closed the connection). 20:55:24 AnMaster: Well, I didn't really have a fixed-degree increment there; I just turned the camera a bit. 20:55:38 G.E.B. is a thoroughly entertaining, mind-expanding book that is wrong about almost everything. 20:55:41 I love it 20:55:46 s/$/./ 20:55:46 -!- FireFly has joined. 20:56:18 so you cannot ask him for more wishes. however there is a meta-djinn which you can, but you cannot ask him for more meta-wishes... 20:56:21 fizzie, ah 20:56:21 iirc 20:56:45 GOD Over Djinn. 20:57:17 ehird aren't you worried about people reading it and not realizing it's nonsense? 20:57:18 fizzie, I'm down at 0.52 avg and 4 max (but that last one is a line) 20:57:25 It's not nonsense. 20:57:29 I just disagree with him. 20:57:45 AnMaster: If you want to compare: http://zem.fi/~fis/cs.jpg -- http://zem.fi/~fis/csv.jpg 20:57:51 He's very intelligent and has a great understanding of many things, I just disagree with his conclusions and speculations. Most of them, anyway. 20:58:38 and then a main character asks the hierarchy of djinns to grant him a wish not in the hierarchy, leading to a paradox 21:01:58 I would have guessed your views were closer to transmigration than an afterlife. <-- actually somewhat, on the grounds that if there were an eternal afterlife i should already be in it, since it is hideously unlikely for me to be in the first 100 years or so of an infinite existence 21:02:21 fizzie, err what is that latter one? 21:02:28 oh day 21:02:51 btw this argument can also be applied to the fermi paradox i think... 21:02:56 fizzie, what is the thing with blue cloth in the middle 21:03:15 The latter was taken during daytime, and it's from that two-minute video clip with the N900. 21:03:21 ah 21:03:31 fizzie, that explains why it is fuzzy to put it mildly 21:03:32 oerjan: if you have no memory, feelings, or anything inherited from the years you do not remember, in what sense can you say they are you? 21:03:51 (resorting to an abstract type "Soul" whose implementation is opaque is verboten) 21:04:04 fizzie, the former one is much better quality. What are the advantages of the video clip variant 21:04:27 It's a video, presumably. 21:04:29 ehird: there are times when i only consider the present moment to be me. those are usually when i'm in a horrible mood. 21:04:35 ehird, well yes... 21:04:46 oerjan: i think what you need to do is get a kitten. 21:04:50 they are warm and fuzzy. 21:04:56 and thinking, "this moment should not exist dammit, no matter how good things get in the future" 21:05:08 i think that would be a disaster, ehird 21:05:23 did someone mention the fermi paradox? 21:05:27 yeah 21:05:36 oerjan: fine a bunny rabbit then, i have two 21:05:44 if you get the right breed they're like kittens without the sociopath 21:06:00 they just sit there, dumbfounded at the universe, cuddlable. 21:06:38 oh wow, we are talking about God over Djinn, over Djinn, over Djinn, over Djinn 21:07:40 mycroftiv: it's an argument i (and probably others) have against the idea that humanity could be the only intelligent species and conquer the universe. because if that were so, it would again be hideously unlikely for us to be _here_, just as civilization is getting up to speed 21:07:49 i'm sure there are counterarguments thouhg 21:07:52 *gh 21:07:53 AnMaster: I'm not sure it has that many advantages; it's perhaps faster to take since you just have to turn recording on, then wave the phone around for a while. 21:08:21 *to be _here_ at this particular moment 21:08:39 AnMaster: The cloth is just a decoration; but the actual thing behind it is a space for book-reading or groupwork or whatever. There's another one too behind the stairs in the middle. 21:08:57 both those examples assume that this moment is somehow a random one from all of time 21:09:11 AnMaster: It would probably also be less horribly blurry if I had that "select sharp frames" tool. 21:09:20 oerjan: there are a ton of statistical arguments for/against anthropic type principles - which one exactly are you referring to? 21:09:34 i know the fermi paradox itself well 21:10:56 AnMaster: Still, the resolution won't get that much better, since video is recorded at 848x480. Still frames get a lot more pixels. 21:11:02 fizzie, ah 21:11:19 fizzie, how do you classify sharpness 21:11:25 I mean, is there any tools at all for it 21:11:42 AnMaster: There are different metrics for it, yes. 21:11:45 mycroftiv: this argument i reinvented myself, i've read some things on wikipedia later but i don't recall what it's officially called 21:12:24 See for example "Measure of image sharpness using eigenvalues", Information Sciences: an International Journal, Volume 177, Issue 12 (June 2007). 21:12:38 oerjan: cool, i know there are quite a few sharp statistical arguments with various implications, can you spell it out explicitly? i didnt quite track your single sentence statement above 21:13:33 it sounds like you are basing it on the well-known principle that it is, almost by definition, more likely that we are observing a statistically 'average' outcome than an unusual one ? 21:13:44 yeah i guess 21:14:13 I think enfuse also has some sharpness measures when it decides how to blend the images -- after all, one of the intended use cases for enfuse is to automatically blend a focus stack -- but I'm not sure you can use that for comparing the sharpness of non-aligned images. 21:14:49 one counterargument which i may have read is of course that any observer will be inclined to consider their own time special somehow 21:15:53 oerjan: still trying to understand the claim - could it be summarized as "it is likely there are numerous intelligent species in roughly parallel circumstances as humans, due to the observational data collected by humans being presumably a typical data point" ? 21:15:56 turning the antropic principle against the same argument, i guess 21:16:19 I wish I had read this whole discussion 21:16:26 soupdragon: me too! 21:16:27 fizzie, oh yes good point about enfuse 21:16:38 mycroftiv: yeah that sounds about right 21:17:00 oerjan: i think this analytical split is hugely important and not settled at all - between the 'copernican' and 'anthropic' interpretations of how we need to contextualize our particular observational status 21:17:41 the copernican principle that 'we are not the center of the universe' vs the anthropic principle that 'we cant assume we are statistically typical, because if we were not atypical (life) we would not be able to make observations in the first place' 21:19:04 mhm 21:19:44 for isntance there are a lot of very scary statistical arguments indicating that civilization is probably 'almost over' in terms of the span of years it occupies 21:20:05 yeah i've seen some of those 21:20:17 under the theory that we as individuals are probably about in the middle of the overall number of humans to live, and based on population, there will be a lot fewer years in the future because of much higher population 21:20:37 in other words, if there are 10 billion people "behind you" in history, and 10 billiion people "ahead of you" in history, that means history only lasts another century or so 21:22:06 similar arguments can be made about the likely lifespan of the earth's biosphere relative to the life of the solar system, but those are bit more involved - barrow & tipler have the best material on this still, so far as i know, even though their book is kinda controversial 21:22:07 fizzie, you could in theory align all those frames before 21:22:19 then use enfuse for sharpness merging? 21:23:27 Yes, in theory. I could do that just by selecting "aligned images" instead of "blended panorama" and then manually running enfuse on it. 21:24:02 mycroftiv: i also think this can tie into the simulation argument somehow, if we are a simulation of the kind of simulation that it is popular to simulate... 21:24:24 s/simulation/civilization/, second to last 21:24:35 Not sure how well enfuse performs when given more than 340 images. 21:24:58 then we _would_ be typical 21:25:04 oerjan: yes, these kinds of statistical arguments can lead to very weird places very fast, im not sure anyone takes them incredibly seriously 21:25:16 omega point is bullshit isn't it? 21:25:23 and we are living in interesting times 21:25:25 ehird: you mean teihlard de chardin? 21:25:26 omega point?? 21:25:32 mycroftiv: tipler's omega point 21:25:33 teilhard that is 21:25:34 you said tipler 21:25:48 oh, the Final Anthropic Principle? yeah that is almost certainly nonsense, but its very cool nonsense 21:25:49 soupdragon: i couldn't even tell you, it's vague as fuck 21:25:53 mycroftiv: no 21:25:54 omega point 21:25:55 google it 21:26:08 my god I haev no idea what anyone is talking about 21:26:13 what subject is this 21:26:14 ? 21:26:16 ffffffff 21:26:18 someone said tipler 21:26:18 ehird: that *IS* the Final Anthropic Principle 21:26:20 tipler did omega point 21:26:23 i criticise omega point 21:26:24 fin 21:26:29 mycroftiv: I NEVER MENTIONED THE FINAL ANTHROPIC PRINCIPLE 21:26:36 ehird: but thats what tipler's omega point IS! 21:26:46 argh fine 21:26:47 your mom 21:26:48 final anthropic principle == tipler omega point 21:27:08 i'm too tired to understand existence, you should satiate yourself with my pseudo-quantum thought process bullshit from before 21:27:18 i'll even compile it into a paste 21:27:44 wtf 21:27:46 soupdragon: topic of oerjan and my and ehird's semi-recent comments is the Anthropic principle and statistical arguments about life in the universe connected/contrasted 21:27:55 soupdragon: i was sleep-deprived and talking about ridiculous things on purpose 21:29:57 mycroftiv: http://pastie.org/781173.txt?key=ffbkhcwqrjsvw6b531kka 21:29:58 absorb the nonsense 21:30:24 ehird what the fuck are you smoking quarks 21:30:32 *absolutely* 21:30:35 I was just sleep deprived dude 21:30:37 wow, and I thought some of *my* speculations were a bit on the metaphorical side sometimes 21:30:42 in that space of time just after an all nighter 21:30:42 did you study quantum physics 21:30:45 when you become totally delusional 21:30:46 and crazy 21:30:47 or did just read penrose... 21:30:48 and are aware of it 21:30:53 before you become semi-coherent 21:30:58 Not sure how well enfuse performs when given more than 340 images. <-- no idea either. But 40 or so made my laptop with 2 GB ram swap trash a bit 21:31:02 err 4 GB 21:31:03 soupdragon: as i said, i was aware of my delusionalness, and merely entertaining them 21:31:06 on the other hand 21:31:09 they were much higher res 21:31:11 it's like a joke, except there's no ha-ha, just crazy 21:31:16 this is disgusting 21:31:27 haha i offended soupdragon by being silly 21:31:28 fizzie, as in, 16 bit per channel tiffs from *.mrw 21:31:29 today is an interesting day 21:31:35 (which is the raw format of my camera) 21:31:50 actually you offended me by saying I was the sort of person who thinks this stuff is real 21:31:56 soupdragon: I did not 21:31:58 AnMaster: Yes, well, the remapped images are all 1950x1079-sized; of course they're mostly black, but I'm not sure that helps. In the name of science I'll try it, anyway. 21:31:59 you did 21:32:01 please quote where I said that 21:32:03 thx 21:32:05 no 21:32:08 it's when I used quantumEd 21:32:15 oh, that. 21:32:17 you thould I was some kind of pseudoscience idiot 21:32:27 and I never had once even talked about quantum physics 21:32:29 that's only because you were saying things that implied you were 21:32:44 no you just decided to make fun of my nick 21:33:05 I was just making an inference from both the ridiculousness of what you were saying, and the common occurrence of raping-quantum-physics by quacks 21:33:37 be offended if you want, your call 21:33:55 fizzie, they aren't mostly black, they are mostly transparent 21:34:13 fizzie, if they are output as tiff then yes 21:34:44 AnMaster: That's about the same thing; it still needs some cleverness to work well. I didn't toggle on the "output cropped images" flag for Nona, just in case it'd cause problems. 21:34:47 fizzie, but enfuse and enblend treat transparency specially, which is why you should use tiff there. probably deflate 21:34:47 as a meta comment on this conversation, I think its wonderful that within the cultural community of this irc channel, "being stereotyped as the kind of person who believes pseudoscientific gibberish phrased with QM terminology" is the kind of thing that actually happens 21:35:32 "Nigger." "Faggot." "Jew." "Quantum mysticist." "Too far, man." 21:35:48 ^ 21:35:50 Hrm, that was interesting: "enblend: No space left on device - enfuse: an exception occured - enblend: error writing to image swap file." 21:35:57 mycroftiv: v 21:36:05 * soupdragon < 21:36:10 > 21:36:15 I was wondering why the process memory size stopped increasing after a hundred images or so. 21:36:33 -m megabytes Use this much memory before going to disk (default=1GiB) 21:36:35 Funny flag. 21:36:39 maybe it grabs a big buffer and then manages its own memory? 21:37:12 There also does not seem to be any option to specify what disk it uses; I guess it uses the five-gigabyte /tmp. 21:39:07 ehird: in re your journey to the dark side of quantum mysticism - perhaps if you try to reformulate all that in terms of actual information processing on different many-worlds branches, you might get somewhere? id throw out any use of mind-related terminology and look at the entropy of information processing 21:39:23 mycroftiv: i'd rather not 21:39:29 for one, it violates causality entirely 21:39:51 as it involves not only communication between many-worlds branches, but such future communications affecting the present 21:40:03 both of which are incredibly unlikely. 21:40:19 well, causality i dont care about - but if it violates thermodynamics, as Eddington said, (paraphrased) you're doomed 21:40:29 Meh; with some sort of modern 12-gigabytes-of-RAM machine this would all fit in it. 21:41:18 it worries me that my long-term survival plan culminates in a battle with entropy 21:41:38 fizzie, btw for that pano of yours I was working on, you do have some parallax in the trees. Apart from that almost none that is noticeable. And those trees. Hard to actually see it between all the twigs going everywhere. But since you don't use enfuse for it (rather you use enblend) I believe you won't get noise reduction from overlaps. I wonder if you can use enfuse for it. 21:43:42 -m megabytes Use this much memory before going to disk (default=1GiB) <-- swapping, but not OS 21:43:48 also how much space did it use 21:43:51 and on what device 21:43:58 (as in, how much space was there to use on it) 21:44:14 AnMaster: There also does not seem to be any option to specify what disk it uses; I guess it uses the five-gigabyte /tmp. 21:44:21 fizzie, ah noticed that just now 21:44:58 fizzie, well you could use a chroot with everything except tmp just bind mounted into it. and tmp pointing to somewhere much larger. 21:46:44 Or namespaces... 21:46:56 Ilari: Plan 9 namespaces, you mean? 21:46:57 If so, <3 21:47:38 Dunno... But each namespace has its own set of mounts. 21:48:26 ehird: I just realized something... any sufficiently advanced simulation argument is indistinguishible from spirituality ;D 21:48:36 Sounds like Plan 9 namespaces to me; ask mycroftiv. 21:48:47 oerjan: yes, the simulation hypothesis is unfalsifiable and unscientific 21:48:55 um no 21:49:00 um yes. 21:49:16 a simulation is indistinguishable from a regular universe (intervention is just exceptions to the laws of physics) 21:49:16 oh wait 21:49:25 since it is indistinguishable, "we are living in a simulation" is unfalsifiable 21:49:33 therefore, the simulation hypothesis is unscientific 21:49:52 with a little bit of work, you can actually do per process namespaces in linux, not just plan 9 - but you have to use/be root, and you have to make your own tool to start a new namespace 21:50:05 ehird: and yet if there was a way to travel between simulations, it would be idiotic do doubt it 21:50:09 *to 21:50:23 oerjan: yes, that would be a worrying failure of rationality 21:50:25 the linux kernel has had per process namespaces since 2.4.19 but sadly absolutely nobody has even noticed, much less built anything to make use of the capacity. sad. 21:50:27 however, i find it rather unlikely 21:50:30 per occam's razor 21:50:35 so i don't worry about it too much 21:50:46 well with the current public evidence, sure 21:51:10 and the universe could have been created 2 seconds ago with the current public evidencce 21:51:12 occam's razor says no 21:51:28 AnMaster: Heh, 125M was left free on /tmp after I told enfuse to use 2.5G of RAM. (And still it swaps, bleh.) 21:51:46 The reason why one has to be root is that it wouldn't make much sense otherwise as mounting is priviledged and that being able to replace stuff in /etc is dangerous. 21:51:59 Ilari: plan 9 does it for every single process safely. 21:52:02 anyway my point was more to the idea that a universe with most of the trappings of a spiritual worldview would not necessarily be unscientific, and could be technologically produced 21:52:47 that is true. but most spiritualists would be deeply upset by that 21:53:01 to them it isn't proper spiritualism if it isn't truly unexplainable 21:53:06 *by that 21:53:06 heh 21:53:19 which is an incredibly worrying form of anti-intellectualism 21:54:22 fizzie, why was pitch for image 4 unchecked? 21:54:43 fizzie, also it didn't use those 125 MB RAM? 21:54:45 err 21:54:47 disk 21:55:06 well as long as it didn't actually use it all and succeeded it is all good isn't it? 21:55:48 fizzie, anyway you do know you need special parameters for contrast stacks right? some hardmask thing + turning off defaults weightings and turning on another one 21:56:14 forgot details, see panotools wiki, page is called (iirc, and not sure about caps) "enfuse reference manual" 21:56:50 Yes, well, I sort of deduced something sensible-looking from the enfuse manpage already. 21:57:05 It ran out of disk space during the middle, though; but at least there was enough space to load all images. "Yay." 21:57:28 fizzie, XD 21:58:25 fizzie, I believe it may space usage need may grow exponentially or something for this, it wouldn't surprise me as contrast stack merging was very very much slower than normal enfuse usage. 21:58:36 fizzie, also it was very noise sensitive 21:58:46 poop 21:58:50 the best word. 21:58:55 a placeholder for any occasion 21:58:57 and some unoccasions. 21:59:25 fizzie, so it was best to first merge several photos to reduce noise, then for each of those produced use that for the contrast merging 21:59:38 AnMaster: Well, it uses TMPDIR env-variable to select the place, so at least I can point it at some other disk easily enough. 22:00:14 fizzie, ah 22:00:52 fizzie, just never ever let it swap trash on a single core system, for some reason dual core systems are much more responsive even when swap trashing in my experience 22:01:44 the disk in the single core system was rated for higher RPM too. 22:06:11 enfuse's "sharpness" seems -- as far as I can tell, anyway -- to be mostly based on local contrast measures, which isn't anything too fancy. Well, we'll see. This time I put in "-v" too to make it a bit more noisy. 22:06:34 fizzie, strange thing: same *.pto file loaded in hugin on desktop and laptop. Laptop has a slightly newer version of hugin/enfuse+enblend/panotools. Clicking stitch on desktop made use of enfuse. Not so on laptop 22:08:07 * oerjan wonders why the heck his wrist watch has the date set to 22nd... 22:09:16 I'm not so sure these video images can be made to align well enough that enfuse's contrast-based blending would make sense. Though at this point I'd be happy just to get an output file. 22:09:17 oerjan, didn't it sync properly? 22:09:21 check the ntp settings on it 22:09:22 :D 22:10:22 fizzie, how much disk space is it using? 22:10:36 oerjan: i'm not sure AnMaster was joking 22:10:40 fizzie, also it could be worth trying it on a small section. Say 20 images around the middle 22:10:43 ehird, -_- 22:10:49 ehird, of course I were 22:10:53 *was 22:10:57 though 22:11:07 it would be *awesome* to ssh to your clock to check it's ntp settings 22:11:09 AnMaster: Something like 6 gigabytes so far. 22:11:09 just awesome 22:11:10 ehird: one can never be sure 22:11:20 actually it's been doing strange things before, my rational guess is that the adjustment knob is sometimes coming loose 22:11:21 fizzie, not more? 22:11:54 AnMaster: Well, I had to restart it to twiddle some parameters, so it hasn't really run for very long now. 22:11:57 (the irrational ones involve synchronicity and spooky signs, of course) 22:12:12 oerjan, oh yeah you said it was historical just a few days ago. Forgot that. Also, does it know about leapyears? 22:12:24 or for that matter, that some month have only 30 days? 22:12:25 it doesn't know about _months_ :D 22:12:35 nope 22:12:58 it does know about weekdays though, which is an improvement over my previous watches 22:13:03 oerjan, then it is easy, you forgot to reset it for months that have only 30 days. It must been quite some time ago you looked at the day for that to have happened 22:13:14 fizzie, ah 22:13:19 * oerjan swats AnMaster -----### 22:13:25 * Sgeo wishes the Chrome WOT extensions actually blocked problematic sites from loading 22:13:32 I have a 31-day-assuming clock too. Fortunately half-out-pulling the adjustment know makes it adjust the day but not the time. 22:13:37 i am in fact quite sure that i corrected it after new year 22:13:46 mind you, it may have been on the 2nd 22:13:59 i'd totally make an ntp clock 22:14:06 i bet none of the computo-clocks use ntp :| 22:14:23 the cool thing would be that it would be one big ring, and the display would be transparent 22:14:39 so the time would actually be overlaid seamlessly onto what looks like plain glass! 22:14:49 dunno where the mechanics would go, but :P 22:14:56 Engadget Mobile has blogged about a couple of watch-phones lately; and phones in general are going smart. It's only a matter of TIME (eh, eh?) before clocks do NTP too. 22:15:18 My watch gets its time from the network. 22:15:24 Gregor: yes but it sucks 22:15:25 I've got a q 22:15:29 Gregor: no 3g internet for doing it 22:15:33 Aren't there "radio controlled" clocks? 22:15:37 Wasn't there some sort of implant clock with a LED-based display pretty close to the skin, so that you just have glowing numbers in your wrist? Or was this in fiction? 22:15:38 Ilari: UNACCEPTABLE 22:15:43 omg 22:15:47 you could have an eternal september clock 22:15:50 in all the alien based sci-fi I saw.. the 'aliens' are pretty much just people but with blue skin 22:15:52 <3 22:16:05 so are there any good ones which are more uh.. realistic? 22:16:12 soupdragon: does the name start with an a and end with a vatar 22:16:29 Well, if they don't have blue skin, they have pointy ears. 22:16:36 Or they're just humans that are mysteriously from a distant galaxy. 22:16:41 There's one person who always rates sites good because "Alexa said "Most visited website"" 22:16:43 AnMaster: Bleh; it crashed with "enfuse: an exception occured - enblend: unable to create image swap file."; this time there was no mention of a full disk, though. 22:16:58 in ringworld, the pearsons puppeteers are kinda alient 22:17:14 i think heinlein did some kind of alien shindig that was turned into a movie, maybe 22:17:26 oh it doesn't have to be a film 22:17:27 dunno man. dunno. 22:17:40 soupdragon: well then heinlein definitely did some things with aliens in them :P 22:18:33 fizzie, where do you want me to upload the pano. Since it is your source data. 22:18:57 fizzie, the tiff is a bit large so doing a jpg at high quality. Exported jpg from the tiff using gimp 22:19:19 6,3Malvarhc_3.jpg 22:19:26 fizzie, I don't have any own site atm. 22:19:29 soupdragon: http://tvtropes.org/pmwiki/pmwiki.php/Main/StarfishAliens 22:19:44 fizzie, thus it must be some filebin or imagebin 22:19:55 Nonhuman psychology!! this 22:19:58 Er, well, you can do pretty much whatever you want with it. I could take a .jpg export and the corresponding .pto file for my own disk, though; you probably know more about file-sharing sites than I do. 22:20:05 (MWAHAHA) 22:20:09 (Since I don't know anything about them.) 22:20:48 wow this tvtropes site is good 22:20:54 soupdragon: see you in 2 hours 22:21:06 you may want to physically destroy your mouse to shorten this timespan 22:21:07 oh no 22:21:13 I don't want to get into Hard Sci-Fi 22:21:14 and also disable any keyboard shortcuts that could lead to links opening 22:21:19 I just know that would be the beginning of the end 22:21:30 tv tropes is about everything, not just scifi 22:21:32 and you are stuck there now 22:21:33 sorry. 22:21:36 dammit i clicked on a link myself 22:21:37 i hope you didn't have plans 22:21:38 fizzie, XD. Well I would use ompload. since I have a command line tool for it 22:21:50 Dec 18 23:31:27 I'd like to see a sci-fi about us failing to find even the remotest similarity to some clearly-intelligent alien race, and ultimately failing to communicate in any useful way. 22:22:01 Dec 18 23:33:11 It should be about how we're so wildly dissimilar, that even thinking about communication is almost meaningless. 22:22:25 Cells? Bah! Cells are primitive earth technology. 22:22:32 And why would you separate your... "bodies", you call them, like that? 22:22:36 cells are wonderful 22:22:41 fizzie, as for the pto I can send it over too. Still I aim to find a way to use enfuse for it properly, it seems while enfuse was used on desktop, it was used once per image. So enfuse was a identify transformation. It even printed warnings about this. 22:22:46 And what's the usefulness of rationality if you have a trillion "gut feelings" to go on? 22:22:50 we're fractal with cells 22:22:54 Says the planet of the blobs. 22:23:03 cells ==> organs ==> people 22:23:05 Or, would say, if it could say. 22:23:07 self similarity 22:23:09 fizzie, for the image: http://omploader.org/vMzlzdA 22:23:10 Gregor: i haven't read/seen it myself, but isn't that part of the point of Solaris? 22:23:35 Annoying; enfuse's documentation says -f could be used to manually select the output size, but it doesn't seem to do anything. (Or at least the specs reported by -v list the "full" size anyway; it might crop the final output, which is pretty useless.) 22:23:38 Solaris (1961), by Stanisław Lem, is a science fiction novel about the ultimate inadequacy of communication between human and non-human species. 22:23:40 APPARENTLY 22:23:40 oerjan: Haven't read/seen/heard of it, unless you're referring to the operating system. 22:23:48 lawl 22:23:53 Gregor I want to see that too 22:24:27 "is covered with an ocean that studies indicate actually is a single, planet-sized organism, occupying the surface as an ocean." 22:24:32 Fucking thing stealin' mah idae 22:24:35 *idea 22:24:44 Fuck you Stanisław Lem and your retrostealing 22:24:45 fizzie, and a diff for it: http://sprunge.us/DLJC (the pto) 22:24:51 Good thing you're fucking DEAD now. 22:25:13 hey guys what if the internet is consciouss?? 22:25:23 woah 22:25:29 the internet is intelligent in some sort of sense, but it's very retarded 22:25:43 because the components are malignant; disagreeing, not communicating in the same way, etc. 22:25:48 fizzie, enfuse docs you mentioned, hm what? 22:25:53 fizzie, did you have issues with it still 22:26:33 Well, no issues in the sense that I cropped the aligned source images in Hugin instead. 22:27:00 Gregor: i also read on wikipedia about his novel Fiasco, while they do manage a _little_ communication it does end in disaster because of misunderstandings iirc 22:27:12 i think Lem may have been big on the subject 22:27:31 But "enfuse -h" says "-f WIDTHxHEIGHT[+xXOFFSET+yYOFFSET: Manually set the size and position of the output"; yet (according to -v) it uses the bounding box deduced from the coordinates in the files. 22:27:33 fizzie, ah so you are just testing on a small part now? 22:27:49 Sŧanɨsław Łem 22:27:58 fizzie, also did it work very well? 22:28:21 It is not ready yet, so can't say. 22:28:27 what do you think about Sapir-Whorf? 22:28:50 I heard some people saying it's just nonsense but I tohught it was true 22:28:53 augur: please maim soupdragon for us 22:28:54 soupdragon: widely decredited 22:29:03 soupdragon: it is the sort of thing that sounds like it should be true 22:29:05 so you think it's just rubbish? 22:29:09 and so the meme propagates that it is 22:29:14 soupdragon: it has been shown to be basically entirely false. 22:29:26 see wikipedia for more info iirc it had a lot of links 22:29:29 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 22:30:01 solaris was fun 22:30:04 did you read the story about the Piraha ? 22:30:19 they don't have words for numbers so they did bad in the counting test 22:30:26 * ehird yawn 22:30:29 isn't that evidence of Sapir-Whorf 22:30:35 AnMaster: At least Hugin's "output remapped images" thing was clever enough to skip completely transparent images; now I have "only" 293 images of 526x383 pixels. 22:30:38 not really 22:30:45 or maybe they just didn't sit counting coins for 7 years of their life 22:30:46 it is a single data point of evidence for one instance of sapir-whorf 22:30:55 and even then tenuous 22:31:07 soupdragon: i vaguely recall the piraha story isn't exactly watertight either 22:31:10 soupdragon: you'd better stop talking about sapir-whorf before augur brutally murders you btw :P 22:31:23 well I better read up on this a lot because I thought for some reason sapir-whorf was pretty much a fact 22:31:25 -!- Slereah_ has quit (Read error: 60 (Operation timed out)). 22:31:36 ehird: well, he hasn't responded to my request to do so yet... 22:31:43 hey I just ask because I want to learn, I am malleable 22:31:45 he lies in the shadows 22:31:45 You seem to be assuming that the reason the Piraha did badly on the counting test was that they had no words for numbers. 22:31:46 waiting 22:31:47 WAITING 22:31:47 it's evidence that if you don't know a way to count stuff, you won't be able to, i'm not sure that's what sapir-whorf is about 22:31:51 ... 22:31:52 WAITING 22:32:00 ... 22:32:02 uorygl, sort of, but I pointed out it might be because of another reason 22:32:08 BANG 22:32:11 You are dead. 22:32:13 -!- Slereah has joined. 22:32:20 fizzie, how would you get completely transparent images? 22:32:41 AnMaster: The ones that are completely outside the cropping region I selected in Hugin. 22:32:43 soupdragon: might be, sure. So I guess you've found some evidence for it. 22:32:51 AnMaster: vacuum 22:32:57 fizzie, ah. So you aren't testing on the full thing then any longer? 22:33:02 oerjan, -_- 22:33:14 Well, I'll try the full thing if the small thing yields any sensible results. 22:33:32 soupdragon: sapir-whorf is pretty much anti-fact 22:33:40 really how come? 22:34:02 AnMaster: And graah. Even though it says 'Input image "small0337.tif" RGB UINT8 position=729x697 size=526x383' for all images, then it goes "Output image size: [(0, 0) to (1255, 1080) = (1255x1080)]" even if I try to use "-f 526x383". 22:34:02 except cognitive linguists like to say its fact because they have this real lack of braincells 22:34:04 what do you mean how come 22:34:12 oh snap the augur arrives 22:34:13 how can you disprove it 22:34:16 * ehird popcorn 22:34:19 fizzie, does that matter? 22:34:27 soupdragon: is your argument "it's not disprovable"? 22:34:31 if it is, then that's self-defeating 22:34:37 unfalsifiable statements are unscientific rubbish to be ignored 22:34:43 fizzie, I mean, you could manually crop it later? 22:34:43 see, e.g. god. 22:34:49 soupdragon: a better question is what evidence is there in favor of it at all 22:34:53 AnMaster: It takes long and uses a lot of space even at the 1255x1080 size. But curiously without a "-f" option it uses the small size, heh-heh. 22:34:55 and the answer is there is none 22:34:55 So history is to be ignored? 22:34:55 ehird no I am not even arguing either side 22:35:09 soupdragon: posing an argument for side x != being on side x 22:35:12 you have certainly done te former. 22:35:34 fizzie, So I got remapped images and enfused them. Made my laptop swap trash -_- 22:35:36 but it worked 22:35:36 quiet ehird, adults are talking 22:35:44 *the 22:35:48 You can't perform an experiment demonstrating that George Washington wasn't female. 22:35:50 soupdragon: yawn. 22:35:59 fizzie, looks like slightly less noise in the overlaps 22:36:00 "i haven't heard that one before" 22:36:07 how can you not understand this 22:36:07 AnMaster: Ahem, well: http://zem.fi/~fis/fused.jpg 22:36:18 fizzie, wow :D 22:36:21 ehird, look at that 22:36:23 I don't have any kind of argument for either side because I'm a beginner and I just want to learn about this 22:36:39 AnMaster: trippy 22:36:40 you make guesses and observations and try and get a hold on something when you learn about it 22:36:50 AnMaster: can i have accompanying drugs? 22:36:50 this is like, the most basic thing ever 22:36:53 soupdragon: anyway, theres no evidence for it. its just conjecture on the part of some whacky linguists 22:36:55 soupdragon: listen 22:36:57 fizzie, not very well aligned were they? as in less than 0.2 pixels max? 22:36:59 augur, okay 22:37:01 i'm not accusing you of taken sides 22:37:02 but listen 22:37:19 I guess I should figure out what the Sapir-Whorf hypothesis actually is before saying much about it. 22:37:20 14:30:04 did you read the story about the Piraha ? 22:37:21 14:30:19 they don't have words for numbers so they did bad in the counting test 22:37:21 14:30:29 isn't that evidence of Sapir-Whorf 22:37:30 that *is* an argument for sapir-whorf, even if you do not personally take it as fact 22:37:34 and even if it is read as a conditioinal 22:37:38 that is not a statement about you 22:37:38 or maybe they just didn't sit counting coins for 7 years of their life 22:37:40 fizzie, I believe using enfuse made that vertical further away part of the triangular wall look antialiased XD 22:37:46 soupdragon: yes, and that is a separate, opposing argument 22:37:48 it is a description of the nature of the object 22:37:50 okay 22:37:50 not a description of you 22:37:58 so stop taking it as a declaration of your personal beliefs 22:38:08 i'm just saying that you clearly are posing arguments, on both sides 22:38:12 ohhh I see 22:38:13 okay sorry 22:38:18 soupdragon: regarding the piraha, the question is not whether or not they have numbers, ok 22:38:18 all i was doing is discounting one, thereby helping you learn 22:38:18 AnMaster: I don't think they're alignable well with just pitch/yaw/roll and global view/barrel parameters, and even optimizing that took a long long time. The image also sort-of makes sense if you think how it's made: each image pixel comes for the highest-contrast source image, so the one that has most detailed structure in it. 22:38:21 no probs 22:38:44 no, they have no number words, and no, they dont do good at numerical tasks, right 22:38:49 fizzie, yeah 22:38:51 but they also dont have a NEED for numerical tasks 22:39:02 so is it that their language has no numbers, therefore they suck at numerical tasks 22:39:10 Huh. The Sapir-Whorf hypothesis as given by Wikipedia seems obviously true. 22:39:10 fizzie, you need very very well aligned for that feature to work. Steady tripod recommended and such 22:39:13 yes I see what you mean 22:39:15 or that their environment is such that they have no need for numbers, and therefore dont have them? 22:39:29 uorygl: there are a variety of versions of the S-W hypothesis 22:39:33 fizzie, the trees look rather nice though 22:39:42 Which, essentially, is "People's vocabularies affect their thinking." 22:39:50 fizzie, what was the url of the original? 22:39:54 AnMaster: It might be better just to look at global full-frame sharpness and use that to select a reasonable set of overlapping images; unfortunately I don't think I know of a ready-made tool for *that*. (After all, the amount of motion-blur in a single image is pretty much the same for all pixels of it.) 22:39:57 all of the versions that are even remotely true are trivial and not related to language in any interesting way 22:40:06 AnMaster: http://zem.fi/~fis/csv.jpg 22:40:10 * uorygl nods. 22:40:15 for instance, the one you just cite, uorygl, is a pointlessly uninteresting version 22:40:27 fizzie: damn i so fucking wish your building really had all these curves 22:40:29 "cs" as in "Computer Science building", and "v" as in "from video". 22:40:29 would be just so beautiful 22:40:36 i don't believe my vocabulary affects my thinking 22:40:38 because it essentially says nothing more than "stuff people have to pay attention to on a regular basis becomes more salient to them as a result" 22:40:53 well big deal, right? 22:40:58 thats just what we expect from brains 22:41:03 not a fucking revolutionary insight 22:41:19 ehird: Yes, and the curves should also change depending on what direction you are looking at them from. 22:41:22 but I was thinking I should learn another language so that I could be better at thinking 22:41:31 and even worse, uorygl, is that thats not the whole of it 22:41:48 oklopol: think about balkanization. 22:41:54 the RESEARCH suggests that peoples vocabularies _only affect their thinking when they're thinking for language_ 22:41:57 fizzie: well no i wouldn't require that; but you could have that curvy-cs-metal-stop-you-falling-thing shape and also the outer curvy-on-a-slant-plus-the-ampitheater-curves-around-it-the-other-way thing 22:42:06 (the slope thing could just be actual building underground) 22:42:13 (rather than a very bad foundation for a building) 22:42:14 >.> 22:42:15 anyway if you did that 22:42:15 that is, if they have to express something in a linguistic mode, then the words they have available to them affects how they think about the problem 22:42:17 so fucking sweet 22:42:22 55 architecture prizes and a duck 22:42:35 fizzie, yes agreed about full frame 22:42:36 uorygl: i don't exactly believe two groups bigger than 10 people can actually have anything against each other 22:42:40 but in a NON-linguistic mode (lets say, a situation where they have to point to something) vocabulary size has no effect 22:42:42 unless they are retards 22:42:56 you know way back when people did mathematics using words 22:43:01 oklopol: apart from general position statements, you mean? 22:43:07 instead of x^2 and all that 22:43:08 fizzie, on the other hand you can see how people moved in that "trippy" one 22:43:10 like "people who are anti-skub" vs "people who are pro-skub" 22:43:17 well right 22:43:17 soupdragon: yes it sucked 22:43:21 fizzie, it is rather interesting 22:43:57 Yes. I'd like to compute the full-size image for that, but it's so memory-intensive. 22:44:02 since the notation got better it was easier to do this stuff, like it make things clear and explicated all the important things 22:44:17 obviously if they have actual personal differences, i just don't believe groups over 10 people can have any sort of opinions as a group, unless the group was formed from people with those beliefs. 22:44:24 e.g. associativity is visible in 1 + 3 + 4 where as, it's not in (+ 1 (+ 3 4)) 22:44:27 obviously this is not true, but i don't care. 22:44:57 and you think that the human language is not like that? like say you had some rubbish language where everything was really difficult to phrase 22:45:04 AnMaster: I should've gone to the "local image descriptors" (think the SIFT keypoints used in autopano-SIFT-C, except new research from 2007-2009) seminar course they have in this period; then I could run all these panorama things on our cluster computers, since they'd be related to studies. 22:45:18 Neat, Moore's paradox. 22:45:21 couldn't there be some much better one that you can really think in, and it would help you make arguments 22:46:15 soupdragon: what are you talking about? 22:46:21 Less Wrong, a rationalistic community, has developed a sort of rationality jargon. 22:46:23 people dont think in language 22:46:24 :| 22:46:41 uorygl: There is not that much Less Wrong jargon. 22:46:44 Akrasia; that's about it. 22:46:55 soupdragon: mathematical notation doesn't really make anything except simple algebraic manipulation easier, if you're solving an interesting problem, notation is mostly just for communication, and is not how you actually solve the problem. 22:46:56 augur, I do! (sometimes) 22:46:57 uorygl: Also, be careful. Less Wrong is a community of people who identify as rationalists, not a rationalistic community. 22:46:59 at least for me 22:47:04 soupdragon: no, you dont. 22:47:12 Signaling, Pascal's mugging, one-boxing... 22:47:12 Putting unwarranted faith in their rationalism is not a good idea. 22:47:26 Signaling is Robin Hanson's, i.e. Overcoming Bias. 22:47:28 fizzie, indeed. btw about enfuse for outdoors pic, will upload in a sec. Just comparing them. Here is a teaser (before/after): http://omploader.org/vMzl0MQ 22:47:29 One-boxing, granted. 22:47:53 soupdragon: you should read pinker, he has some very good arguments why the SWH is in general worthless 22:48:08 Crisis of faith, tabooing, map, territory... 22:48:23 augur, any particular ones to look for ? http://pinker.wjh.harvard.edu/books/index.html 22:48:38 fizzie, there is of course more noise in areas with no or less overlap 22:48:45 all of them are good, but language instinct and stuff of thought are probably better for this issue 22:48:54 stuff of thought has a whole chapter deconstructing the issue 22:49:04 fizzie, and some stuff looks anti-aliased in a rather suspect way. 22:49:15 i have the book if you want a copy 22:50:20 ehird, do you have much to say about the Less Wrong crowd? 22:50:33 uorygl: Much to say in what sense? And why? 22:51:07 fizzie, opinion? 22:52:15 I'm curious about your opinions of them. 22:52:24 fizzie, oh and where was the night time one? 22:52:43 Of the CS building? cs.jpg is that one. 22:52:55 I'm not sure I have more of an opinion there than to agree that it's less noisy when enfused. 22:53:03 fizzie: well no i wouldn't require that; but you could have that curvy-cs-metal-stop-you-falling-thing shape and also the outer curvy-on-a-slant-plus-the-ampitheater-curves-around-it-the-other-way thing <-- the first thing, do you mean the banister (iirc?) 22:53:07 uorygl: I guess I have a bit to say, but I'd probably want to do it in /msg to avoid multithreading this place even more. 22:53:11 AnMaster: yeah 22:53:14 curvy metal 22:53:16 fizzie, http://omploader.org/vMzl0NA 22:53:36 ehird, with those sudden jumps in it due to parallax? 22:53:40 :( 22:53:43 Anshaddap :P 22:53:46 I don't want to miss out on the less wrong talk 22:53:54 fine then 22:54:00 ehird, that would be cool though :) 22:54:02 -!- MigoMipo has quit. 22:54:09 #inwhichehirddivulgeshisfewopinionsonlesswronginahideouslyverboselynamedchannel 22:54:19 darn, too long 22:54:26 ehird, yeah I was about to mention that 22:54:28 Misread ampitheater as "armpit heater". (The line broke at the middle t there.) 22:54:34 fizzie, :D 22:54:39 #iwedhfoolwiahvnc 22:54:58 ehird, also the armpit theatre *is* curved 22:55:03 not the same way 22:55:05 but it still is 22:55:20 fizzie, that is now it's official name 22:55:44 ehird, #iwedhfoolwiahvnc <-- did you notice that "fool" in there ;P 22:55:59 s/;/:/ 22:56:25 fizzie, in the night time one, that person there does have a corona if you see what I mean 22:57:00 I wed H. Fool W.; I... ah, VNC. 22:57:18 ehird, heh 22:57:56 AnMaster: That one is made from enblending 30 source images, each source image being generated from three exposures with align_image_stack + enfuse with default options. 22:58:08 ah 22:58:10 that explains it 22:58:29 fizzie, also do you see those antialiased walls in http://omploader.org/vMzl0NA 22:58:45 0.25s, 0.5s and 1s shutter times, it seems. 22:58:50 since it is progressive it may take a white to see it. also you need to zoom past 200 percent 23:01:05 fizzie, anyway over all I think it is way better than the enblended one due to less noise. Also it seems to have been corrected for vignetting already somehow. Not sure where and when 23:02:08 Actually, people who code in java think like assholes, and people who code in everything else don't. There, I just proved Sapir-Whorf 23:02:17 (he was joking) 23:02:38 it is however true, happenstantially. 23:04:18 AnMaster: If you look closely at cs.jpg, you can see a ghost, also. (It's there on the third -- uppermost -- floor, just coming out of the last mostly-visible door on the long corridor/balcony/walkway on the left side.) 23:05:36 soupdragon: Surely he means ruby 23:06:49 fizzie, err? 23:06:57 fizzie, in the further or the closer end? 23:07:22 AnMaster: In the far end; the closer end would be "first", not "last". At least for my intuition. 23:07:34 clearly the programming language you're coding in affects the way you think about the problem, but that's only because all you're doing is translating it into the language 23:07:38 fizzie, the one at the very end? well no I can't 23:08:48 AnMaster: Well, not the very end of the corridor if you mean the doors that are directly next to the far brick wall; but the last visible door that goes to one of the rooms on the left side. There's a very vaguely person-shaped shadow-looking thing that sort of looks like it's coming out of the door. 23:08:50 well, not all, but most or programming is just that, translating thoughts into a crappy language. 23:09:13 or at least that's the reason i don't program much nowadays 23:09:42 fizzie, that thing that looks like a darker, filled y=-x^2 curve overlayed? 23:10:15 AnMaster: A bit like that, yes. I can see a head there above it, but maybe that's just because I've seen the source images. 23:10:23 fizzie, possibly 23:10:42 fizzie, the details on the wall are clearly visible through him/her 23:11:23 AnMaster: See http://zem.fi/~fis/i009e0.jpg and ...e1.jpg and ...e2.jpg. 23:11:38 He 23:11:40 fizzie, AnMaster: what are you doing? 23:11:48 's in e0 and e2, but not e1, so it ends up being a bit translucent. 23:12:11 fizzie, that's a large section, why so much parallax issues with such a zoomed out image? 23:12:39 oklopol, panoramas. What else? 23:13:17 if there are multiple conversations at once, i often accidentally start ignoring the less interesting one 23:13:50 oklopol, I meant "what else" as in, what else would fizzie and me be talking about that involves images 23:13:57 AnMaster: Possibly a bit suboptimal alignment. I got tired listening to the awfully loud fan noises the computer makes when it's actually, you know, computing things. 23:14:00 fizzie, hm 23:14:10 you could be talking about something more specific 23:15:12 fizzie, ah my computer has a constant speed fan. And my laptop can compute heavily on both cores without fan speeding up very much 23:15:49 fizzie, oh and gpu remapping crashed nona for me 23:16:08 AnMaster: It crashed nona for me too. 23:16:22 fizzie, like this? 23:16:24 gpu shader program compile time = 0.2 23:16:24 nona: GL error: Framebuffer incomplete, incomplete attachment in: /build/src/hugin-2009.2.0/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp:708 23:16:43 fizzie, and "please report bug"? Well since you already hit this I guess you reported a bug already ;P 23:16:58 and since we have the same gpu model, no need for me to do it then 23:17:37 I wonder if AnMaster reports all the bugs he finds in software. 23:17:40 Certainly not for Perl. 23:18:06 Something like that; I didn't report anything, though. The list of working hardware at the panotools wiki wasn't especially long. 23:18:11 ehird, well I couldn't figure out how. There was no way to do it on that bug tracker 23:18:33 ehird, or if there was, please provide the link to the page with the form for it 23:18:45 How to report bugs 23:18:45 Bugs in Perl 5 -- use perlbug 23:18:45 — http://rt.perl.org/perlbug/ 23:18:49 → 23:18:50 http://perldoc.perl.org/perlbug.html 23:19:36 as I said, I did create an account on that website. Are you saying you can only use a command line tool. 23:19:55 I was pointing you to the part of the website that links to a page telling you how to report Perl 5 bugs. 23:20:07 well then, if I remembered what the bug was any longer I would report it now that proper information has been provided 23:20:18 ehird, you didn't get that page after logging in for some reason 23:20:26 Because you're in the RT interface, then. 23:20:33 Presumably you would then report bugs using RT's bug reporting interface. 23:20:41 ehird, yes and I was assuming it worked like other bug trackers 23:20:44 It does. 23:21:02 Perhaps web-based submissions were disabled for Perl 5 in lieu of perlbug. 23:21:05 Presumably you would then report bugs using RT's bug reporting interface. <-- no such functionality as far as I could find 23:21:13 perhaps 23:21:19 Perhaps you should have looked harder. 23:21:24 BugZilla is a bitch to use, too. 23:21:32 ehird, they don't know about principle of least surprise 23:21:44 I'm sorry, have you ever used BugZilla? 23:21:47 ehird, agreed, but at least there is a huge "file bug" thing iirc 23:21:51 ehird, yes plenty of times 23:21:58 for gentoo, for mozilla, for kernel.org 23:22:02 Exactly. And that's the only reason you don't vomit every time you use it. 23:22:17 Its interface is abhorrent; I'd much rather one hard-to-find link than a horrible, horrible form after that link. 23:22:42 yes it's a pita, it was to begin with as well. Still it wasn't too hard to find "enter a new bug report" on http://bugs.gentoo.org/ 23:22:46 very very visible isn't it? 23:22:50 in the link list 23:22:51 #perl 23:22:55 Complain ↑ 23:23:00 Just like submitting a bug report 23:23:07 -!- olsner_ has changed nick to olsner. 23:23:34 ehird, also I didn't vomit on perl's bug tracker. It seemed nice. Just a lack of filing bugs feature made me confused., 23:23:36 confused* 23:23:41 err fail 23:23:45 s/.,/./ 23:23:55 wait 23:24:04 Kenneth E. Iverson, the originator of the APL programming language, believed that the Sapir–Whorf hypothesis applied to computer languages (without actually mentioning the hypothesis by name). His Turing award lecture, "Notation as a tool of thought", was devoted to this theme, arguing that more powerful notations aided thinking about computer algorithms. 23:24:12 /^s/s/\./\\./ 23:24:52 -!- MizardX- has joined. 23:24:52 soupdragon, what is that hypothesis about? 23:24:55 Also, it took me a good 30 seconds to find the enter new bug report link on http://bugs.gentoo.org/. 23:25:02 But then I am sleep-deprived. 23:25:19 ehird, I would say it would take a non-sleep-deprived ehird 15-20 seconds 23:25:26 still I spent minutes at the perl bug tracker 23:25:30 still,* 23:25:34 Then I guess you're meant to use perlbug. 23:25:41 It is linked *above* the "yo login to RT" link, after all. 23:25:46 yes I guess so 23:25:55 ehird, also I logged in *first* before reading all the details on the page 23:26:17 Well, don't do that. 23:26:18 and not mentioning after that breaks the principle of least surprise for someone used to other bug trackers. 23:26:20 It's a gateway page. 23:26:24 ehird, hard to know isn't it ;P 23:26:35 "Principle of least surprise" is often used as a synonym for "I don't like it". 23:26:37 For instance, in this case. 23:26:41 and yeah I will use perl bug in a bit, if you remind me what the bug was 23:26:43 since I forgot that 23:26:48 Something about VMS or something. 23:26:53 Some spacing, issue, or something. 23:26:55 Grep the logs or something. 23:26:59 hm good idea 23:27:00 It's when I did my horrible perl shebang 23:27:01 So grep @REM 23:27:11 ehird, did you get it to work properly btw? 23:27:13 *Hopefully* we've never talked about bat files before that. 23:27:17 AnMaster: Oh, I never tested it. 23:27:25 I think it would have almost worked. 23:27:27 ehird, oh? not even on *nix? 23:27:37 But I never bothered to totally complete it. 23:27:39 AnMaster: Nope. 23:27:42 The laze is strong within me. 23:27:44 ehird, also now you made me wonder about if we talked about *.bat before... 23:27:50 too lazy to check though 23:27:57 It'll come up in the grep :P 23:28:02 Oh wait, you have that weird-ass CD system 23:28:06 Nevermind 23:28:27 ehird, yes and they are lzma compressed. That takes some time. Older ones are bz2 which is insanely slow 23:28:28 -!- Pthing has joined. 23:28:37 brb 23:40:54 -!- MizardX has quit (Connection timed out). 23:41:18 -!- MizardX- has changed nick to MizardX. 23:45:48 any more good books on omega point? 23:46:01 http://en.wikipedia.org/wiki/Omega_Point#Science_Fiction 23:46:13 http://en.wikipedia.org/wiki/Omega_Point#Science_fiction 23:48:57 I thought singularity was omega point :/ 23:49:03 turns out that singularity is something else 23:57:20 they're variations on the same dumb idea 2010-01-17: 00:00:43 dumb? 00:00:56 do you mean unrealistic or just stupid? 00:01:58 -!- ehird has quit. 00:05:22 -!- anmaster_l has quit ("Leaving"). 00:07:18 -!- ehird has joined. 00:07:38 :( 00:07:41 soupdragon: lemme get a link for you 00:09:34 http://docs.google.com/Doc?id=ddv7939q_20gw8h9pcx 00:09:40 great singularity scifi 00:09:52 by steve yegge (yes, that steve yegge) 00:10:19 huh 00:10:23 okay thanks 00:10:30 I'll read it after rainbows end 00:10:50 yeah I think I enjoyed some of yegges blog 00:10:52 not sure 00:10:58 it's nothing like his blog, anyway 00:11:04 guy should become an author 00:11:13 also most people think the singularity is stupid/unrealistic/harmful/whatever, it's just an intuitively wrong-seeming concept 00:11:27 that's what you get for abnormal thought :P 00:12:15 Baconnaise. 00:12:51 Gregor: bacon + anything non-bacon is inferior to solely bacon 00:12:57 it's like you're diluting the bacon with an inferior concept 00:13:07 Baconnaise actually contains no bacon :P 00:13:09 the same goes for chocolate, which makes bacon chocolate the only exception 00:13:16 I agree with ehird on this for mayonnaise 00:13:25 Gregor, it exists? 00:13:27 Yes. 00:13:31 and if you want chocolate bacon, well 00:13:32 http://www.vosgeschocolate.com/category/bacon_and_chocolate 00:13:34 go buy some 00:13:34 I am eating a turkey sandwich made with it /right now/. 00:13:45 ehird, also garlic. This baconchocolategarlic is also allowed 00:13:45 I want Pthing to say 00:13:49 Pthing say!! 00:13:50 I've never actually had mayonnaise. True facts. 00:14:10 AnMaster: No, baconchocolategarlic would just be awful. 00:14:16 ehird: You either don't eat sandwiches, or use "sandwich spread" 00:14:22 ehird, anyway nougat (of the right type, there are several unrelated things called nougat) > chocolate 00:14:25 Gregor: Or am a being of pure energy. 00:14:34 These are the three realistic options. 00:14:37 say what 00:14:37 ehird: Which would imply the former. 00:14:58 ehird, I mean this type of nougat: http://sv.wikipedia.org/wiki/Fil:Nougat_sweets.jpg 00:14:59 Gregor: Maybe I absorb sandwiches but it strips all the mayonnaise out due to a computer glitch. 00:15:09 ehird, not this type: http://en.wikipedia.org/wiki/File:Nougat.jpg 00:15:27 Nougat is nice but chocolate > nougat. 00:15:31 By far. 00:15:49 ehird, I disagree. Also the second one doesn't look like nougat at all 00:15:51 Controversial statement: 00:15:54 ehird, what about white chocolate? 00:15:56 Vanilla > Chocolate 00:16:00 White chocolate is a lie. 00:16:03 And all who like it must die. 00:16:10 White chocolate isn't bad... it's just not chocolate. 00:16:15 ehird, agreed 00:16:18 Vanilla is a nice taste. 00:16:20 it is nice, but not chocolate 00:16:22 I think it's about equal to chocolate. 00:16:25 Different situations. 00:16:33 Vanilla is so underappreciated, though. 00:16:38 Gregor, depends. If it is fresh and not dried 00:16:40 it is wonderful 00:16:48 that's hellishly expensive though 00:16:49 had it once 00:16:52 We're talking about flavours, not the source materials 00:16:55 http://en.wikipedia.org/wiki/British_Rail_flying_saucer 00:16:55 really really wonderful 00:17:00 The British Rail flying saucer, officially known simply as space vehicle, was a proposed spacecraft designed by Charles Osmond Frederick. A patent application was filed by Jensen and Son on behalf of British Rail on 11 December 1970 and granted on 21 March 1973.[1][2][3] The flying saucer originally started as a proposal for a raiseable platform. However, the project was revised and edited, and by the time the patent 00:17:00 was filed had become a large passenger craft for interplanetary travel.[4] 00:17:05 ehird, yeah but I meant for home made vanilla icecream 00:17:50 Gregor, home made vanilla icecream on *fresh* vanilla pods is wonderful 00:17:55 Raisable platform -> INTERPLANETARY TRAVEL 00:18:08 Getting into space is just raising the platform really, really high, right? 00:18:20 And if you can go upwards you can go leftwards and rightwards and forwards. 00:18:22 Tada. 00:18:34 hah 00:18:46 Honestly, NASA should just take consumer jets and fly them directly upwards. 00:18:53 How hard can it be? 00:19:58 ehird, well, it won't work 00:20:09 * ehird punches AnMaster 00:20:12 I can't hear you. 00:20:16 Why are you hitting yourself? 00:20:16 ehird, because they need air at high pressure, it won't work above a certain altitude 00:20:20 * ehird punches AnMaster 00:20:22 Stop hitting yourself. 00:20:26 * ehird puts fingers in ears 00:20:28 you need ramjets for high altitudes 00:20:30 LA LA LA LA LA 00:20:32 or scramjets 00:20:42 I CAN'T HEAR YOU 00:20:44 like SR-71 Blackbird, had a ramjet 00:20:58 ehird, and stop being silly. 00:21:05 I know you are but what am I? 00:21:17 laaaaaaaaaaawl 00:21:33 Okay, I've gotta stop now before I have to commit seppuku. 00:21:38 anyway the principle behind a jet engine is very interesting I find. 00:22:52 and even ramjets will only take you so far. At some point you need a rocket engine (or a space elevator, or space bolas or whatever... but a jet engine just won't cut it). 00:23:16 also, to actually go straight up would require a lot more power 00:23:33 I like to imagine space elevators are exactly as Roald Dahl imagined. 00:23:42 ehird, XD 00:23:43 Just press floor "Mars". 00:24:11 Up and Out 00:24:29 "Up and Out" gets you into the glorious Earth air. 00:24:32 the engines of a 747 would be unable to lift a 747 *straight up* 00:24:37 "Really Up and Really Out", however... 00:24:54 since you get no lift from wings then. which is why a 747 still files normally 00:25:45 (note, this is simplified, it ignores drag, lift from the body itself and several other details) 00:26:32 (though for a 747 the lift from the body (or fuselage as is the technical term), would be very small compared to that generated by the wings) 00:26:44 All we need is augur to talk about linguistics and all two-way conversation will finally die. 00:26:53 ehird, :D 00:27:07 im busy DOING linguistics 00:27:07 so 00:27:17 In the sexual sense or the academic sense? 00:27:20 DON'T ANSWER 00:27:28 lol 00:27:44 ehird, what, is "doing linguistics" innuendo? 00:27:48 I can't imagine how 00:28:13 do, v. see have sexual intercourse with. 00:28:18 ouch right 00:28:31 Ouch? You might want to go and see a doctor about that. 00:28:50 ehird, "ouch that I didn't spot that, since I knew about that meaning" 00:28:56 Whoosh. 00:29:12 ehird, no it wasn't a joke. 00:29:55 ehird, also: time for ethernet over firewire 00:30:00 ? 00:30:04 going to try it with the new firewire stack in linux kernel 00:30:20 wish me best of luck: "(EXPERIMENTAL)" 00:30:31 And with that, he died. 00:30:41 not yet 00:30:46 I'm locating the cable 00:30:54 Gone but... uh, and forgotten. 00:31:14 ehird, it would be kernel oops at worst 00:31:32 Unless it hit a hardware bug that caused it to catch on fire, thus causing e.g. your PSU to explode. 00:31:36 ehird, in an academic sense :P 00:32:00 "Kernel oops; three fatalities." 00:32:05 Aww, I thought AnMaster said that, not augur. 00:32:09 Which made it funnier. 00:32:24 what 00:32:28 heheh 00:33:01 ehird, what would it have meant if I had said it. It doesn't seem to make sense there. 00:33:19 Well, like how in functional programming we model both errors and non-termination as one value, _|_. 00:33:41 So, you'd be saying that academically, hardware catching on fire thus making your CPU explode would be considered a kernel oops. 00:33:49 Thus "Kernel oops; three fatalities.", and now the frog is dead. 00:34:00 ehird, haha 00:34:16 ("Explaining a joke is like dissecting a frog: you understand it better, but the frog dies in the process." —Mark Twain) 00:34:49 ehird, also in that case both should be considered failure modes. No difference should be made between a program returning the error code 1 and the system exploding 00:34:58 they are just failure modes 00:35:15 "Error: Something went wrong. Are you on fire? [Y/n] " 00:35:19 if yes → 00:35:27 "Oh dear. Something went badly wrong." 00:35:29 if no → 00:35:37 "Alright then. You can reboot now." 00:35:57 ehird, what if you aren't on fire yet but the desk is? 00:36:02 well yeah no difference 00:36:06 No issue! 00:36:06 you can just reboot then 00:36:15 Yes. 00:45:33 * ehird plays some dna maze 00:45:41 ehird, it is working btw :) 00:45:54 Yay. 00:45:58 ehird, btw image editors creating *~ files 00:46:02 what is your opinion on it? 00:46:32 Creating *~ files in general is irritating. 00:46:38 Put it in some other directory. 00:46:41 ehird, and for image editors? 00:46:47 that create 40 MB *~ files 00:46:57 Put it in ~/.imged/autosaves/somemangleldpath 00:47:00 *somemangledpath 00:47:08 (due to you editing large files of course) 00:47:17 ehird, issue, doesn't work well over different file systems 00:47:27 since before it could just move the old file and write a new 00:47:31 now it needs to copy it in theory 00:47:36 Meh. 00:47:38 Work out some solution. 00:47:44 But don't put it in the same directory. 00:47:45 ehird, which is irritating for 40 MB files 00:47:54 ehird, well, "don't create *~" is my idea 00:48:05 That's risky. 00:48:05 just remove it once you synced the new file to disk 00:48:13 ehird, remove it after the new file is fully written 00:48:26 this wallpaper background is nice and soothing 00:48:31 it's like i'm using ubuntu without the ugly 00:48:45 mhm? screenshot? 00:49:21 Uploading. 00:50:22 Ugh, imgur compressed it for being too big. 00:50:28 All image hosts eventually suck exactly the same... 00:50:39 * ehird goes for trusty old xs.to 00:51:05 ehird, filebin.ca? 00:51:13 That would force a download. 00:51:21 ehird, well I would just gimp on the url 00:51:43 ffffff it did the same 00:51:45 fine, filebin 00:51:58 Do you want the wallpaper or a screenshot with it, btw? 00:52:09 If the former I could just link you 00:53:03 http://filebin.ca/tonxzc/Picture1.png 00:53:14 AnMaster: 00:53:36 ffs. it stopped working once it got hit with a large transfer 00:54:07 ehird, how large is the file? 00:54:12 ehird, also either is file 00:54:14 fine* 00:54:43 The file is just 2 megs or so 00:54:45 It's a screenshot 00:54:54 ehird, it looks noisy? 00:54:58 That's an intentional effect 00:55:02 Only on the background 00:55:03 ah 00:55:38 Here's a link if you want it: 00:55:51 http://lambda.nirv.net/m/files/Love.png 00:55:53 ehird, I don't really 00:56:00 TOUGH :P 00:57:00 http://lambda.nirv.net/m/screenshots/20091201.png Here's a wonderful screenshot of Emacs + chocolate-rain-theme + that background 00:57:09 (I use both now, because darn they're pretty.) 00:58:30 ehird, also that bg is an awkward size 00:58:43 It is not. 00:58:45 16:10 00:59:26 ehird, I said size, not aspect ratio 00:59:37 What's awkward about it 00:59:42 It's big enough for most monitors 00:59:46 Your DE can scale the background for you 01:00:12 ehird, wait aren't macs 16:9? 01:00:23 The new iMac is 16:9. 01:00:39 All other Macs and Apple Displays, plus old iMac models, are 16:10. 01:00:44 (That is, after they were 4:3.) 01:01:21 ehird, long live 5:4 01:01:25 (it exists) 01:01:30 No, let's not. 01:01:35 Long live 3:4 or something. 01:01:43 ehird, long life 1:1 01:01:46 live* 01:01:52 That won't look square. 01:02:00 ehird, what? 01:02:11 AnMaster: Seriously; make an NxN square in your favourite image program. 01:02:20 Note how it does not appear to be a perfectly measured bastion of wholeness. 01:02:24 yes, made a 32x32 one 01:02:26 In fact, it seems inequal. 01:02:27 AnMaster: Bigger. 01:02:29 Try 100x100. 01:02:35 Up to 500x500 01:03:03 100x100 looks square at least 01:03:07 * AnMaster tries 500x500 01:03:21 Yes, but don't analyse it like that. 01:03:28 Just look at it and note it seems to be fatter than it is tall 01:03:28 looks square 01:03:33 Meh 01:03:37 ehird, no it looks taller than fatter 01:03:39 at a glance 01:03:42 Okay then 01:03:44 The other way around then :P 01:03:49 See what I mean? 01:03:54 ehird, for some sizes 01:04:00 for some it is fatter than taller 01:04:06 ^_^ 01:04:21 ehird, anyway how to make something that looks square... 4:3 does not 01:04:36 Don't bother, human vision isn't square 01:05:08 ehird, how then can we even have a concept of "looking square"? 01:05:16 Either optimise for A? (hey, fizzieuniversity :P) sort of dimensions for text, or optimise for widescreen for useful computing workspace. 01:05:23 AnMaster: ??? 01:05:31 We see "square pixels", as nonsensical a concept as that is 01:05:38 Our whole vision just is rectangular... sort of. 01:05:45 Point is, vision is obviously widescreen 01:05:58 ehird, I heard someone suggest that hexagonal pixels would be better 01:06:03 lol 01:06:18 ehird, as in a serious scientist interviewed in radio 01:06:23 Could be fun 01:06:32 -!- augur has quit (Read error: 110 (Connection timed out)). 01:06:40 ehird, he talked about how it could better represent photos 01:06:45 for shape 01:07:04 and also about packing pixels closer, resulting in a higher DPI feeling 01:07:06 Cool, Esolang forum activity. 01:07:10 Downside: It's not about an esolang. 01:07:14 (or was it truly higher dpi? don't remember) 01:07:16 ehird, spam? 01:07:19 Nope. 01:07:23 Just a non-esoteric language. 01:07:25 huh 01:07:30 http://esolangs.org/forum/kareha.pl/1262953236/l50 01:07:47 Presumably they think it's "experimental" enough to be esoteric. 01:09:33 160x55 is a nice Emacs size. 01:10:05 If you split it vertically, you get two 26-line windows, which is quite a bit; a lot better if you resize one, of course. 01:10:15 Horizontally it handles a whole two 80-column windows, so no line wrapping. 01:10:28 (55 was chosen because it lets Emacs be in a nice place and not intrude on my Dock.) 01:11:05 mhm 01:11:40 Damn ehirdOS is so beautiful. :| 01:12:07 It's so much better now that I basically pilfered wholesale the ideas for the underlying language from Luke Palmer. 01:12:10 Beautiful inside and out! 01:13:20 ehird, what ideas? 01:13:34 Dana? 01:13:40 Uhh. Is there a way for me to say "you wouldn't understand" in a non-offensive, not-really-worth-telling-you way? 01:13:43 soupdragon: pretty much 01:13:48 ehird, "no" 01:13:57 AnMaster: You wouldn't understand, then. 01:14:03 AnMaster, it's basically combinator logic with a crazy type system, as I undertand it 01:14:10 dana is more than just the lang though 01:14:15 it's the frp approach to the entire os 01:14:18 soupdragon, interesting for an OS 01:14:30 * soupdragon has no idea how it (theoretically) works 01:14:40 I can't imagine how it applies to an OS either 01:14:42 dependent types and magic 01:14:55 AnMaster: See, when I said "you wouldn't understand", I was trying to avoid wasting your time. 01:15:18 ehird, well I wouldn't trust you on that would I? :P 01:15:38 Considering it was my explanation you were asking for, I'm probably pretty accurate on matters of it. 01:16:16 ehird, well yes, but I wouldn't trust you on what I understand and not 01:16:59 But considering I would use terminology that I enjoy using, and I have past experience trying and failing to discuss with you using such terminology, I'm an accurate predictor of whether you would understand one of my explanations or not. 01:18:21 -!- BeholdMyGlory has quit (Remote closed the connection). 01:21:48 ehird, plus weren't you going for lots of other things before? 01:21:52 smalltalk and what not 01:22:12 ehirdOS: a concrete design, set in stone; unchanging in its precise perfection. 01:22:20 There are too many implementations for me to break them wantonly like thaat. 01:22:27 *that 01:22:28 :P 01:36:40 -!- clog has joined. 01:36:40 -!- clog has joined. 01:36:52 -!- clog has joined. 01:36:52 -!- clog has joined. 01:37:47 -!- FireFly has quit ("Leaving"). 01:41:45 -!- olsner has quit (Remote closed the connection). 01:41:57 -!- olsner has joined. 01:47:09 -!- olsner has left (?). 01:47:24 -!- olsner has joined. 01:48:00 -!- rodgort has quit (K-lined). 02:05:19 klined? 02:05:20 o_o 02:05:26 clog flooding? 02:05:30 what is the world 02:06:43 spam is the world 02:08:35 the bird's the world 02:10:55 night 02:28:21 -!- augur has joined. 02:43:05 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 02:43:05 -!- pikhq_ has joined. 02:44:08 hi pikhq_ 02:44:48 -!- Slereah has quit (Read error: 110 (Connection timed out)). 03:15:35 -!- ehird has quit. 03:34:30 -!- augur has quit (Read error: 110 (Connection timed out)). 04:00:30 -!- MizardX has quit (Read error: 60 (Operation timed out)). 04:33:09 -!- augur has joined. 04:33:44 hello kids 05:24:05 -!- rodgort has joined. 05:27:32 -!- rodgort has quit (Client Quit). 05:27:54 -!- rodgort has joined. 05:28:33 http://tvtropes.org/pmwiki/pmwiki.php/Main/MohsScaleOfScienceFictionHardness?from=Main.MohsScaleOfSciFiHardness 05:28:39 needs more hard sci fi :( 05:28:47 I've read snow crash and it's like up at the top that's crazy 05:48:44 -!- rodgort has quit (Client Quit). 05:54:27 -!- rodgort has joined. 06:08:26 -!- soupdragon has quit ("Leaving"). 06:52:28 blurghle 06:52:36 linguistics 07:03:14 -!- oerjan has quit ("Good blight"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:12:08 -!- jpc has quit (Read error: 110 (Connection timed out)). 08:13:31 -!- BeholdMyGlory has joined. 08:18:04 -!- kar8nga has joined. 08:49:29 -!- kar8nga has quit (Remote closed the connection). 09:11:49 augur: is there a term for when a proper noun is formed by application of an article to a common noun, such as 'the Universe'? 09:56:48 -!- coppro has quit ("I am leaving. You are about to explode."). 09:57:39 -!- coppro has joined. 10:47:10 -!- Pthing has quit (Remote closed the connection). 10:52:02 -!- Slereah has joined. 11:26:31 -!- FireFly has joined. 11:39:26 -!- soupdragon has joined. 11:59:35 -!- zeotrope has joined. 12:02:42 -!- Pthing has joined. 12:34:36 -!- MizardX has joined. 12:52:07 properification 13:05:53 :-S 13:07:21 -!- MigoMipo has joined. 13:07:37 the the is an article, so maybe it could be articulation 13:40:12 olsner, isn't that related to pronouncing things? At least I think the similar Swedish word is? 13:40:26 yes 13:40:56 -!- kar8nga has joined. 13:41:39 of course what olsner said _could_ have been punification, not sure 13:51:05 -!- Pthing has quit (Remote closed the connection). 13:59:32 -!- MizardX- has joined. 14:03:34 -!- MizardX has quit (Read error: 60 (Operation timed out)). 14:03:57 -!- MizardX- has changed nick to MizardX. 14:42:58 -!- kar8nga has quit (Remote closed the connection). 14:46:31 -!- MizardX- has joined. 14:50:37 -!- cheateur has joined. 14:50:41 hey guys 14:51:02 if i'm going for high performance clusters, should i choose erlang or haskell? 15:02:45 -!- MizardX has quit (Read error: 110 (Connection timed out)). 15:02:56 -!- MizardX- has changed nick to MizardX. 15:05:24 cheateur, those aren't really esolangs are they? 15:06:24 but anyway, it would depend on what you would use the cluster for 15:07:59 yeah, but i didn't want to ask in either of their channels 15:08:06 for obvious reasons :P 15:08:12 hah 15:08:22 AnMaster: what would the different uses be that you could single out? 15:09:22 cheateur, number crunching, or handling of lots of concurrent server threads 15:09:24 for example 15:09:44 I don't know enough about haskell, but I know erlang is way better at the second one 15:10:42 there would likely be lots of other possibilities too 15:10:51 i would say concurrent server threads 15:11:25 why is erlang better at that? 15:11:35 is it just maturity of the platform? 15:11:38 cheateur, remember erlang was originally designed to run on telephony switches. The actual data moving was back then done in hardware. 15:11:54 i know 15:11:55 erlang uses message passing, not shared memory 15:12:56 cheateur, it just isn't optimised for number crunching style of workloads 15:13:20 and why is message passing better for high concurrency servers? 15:15:15 cheateur, not in general, but it is optimised for that when it comes to thread scheduling and such. Each thread has a separate heap (to simplify garbage collection on SMP systems, no need to stop other threads from running). The exception is large "binaries" (a data type for binary data) which is stored on a shared heap and ref-counted. So sending other large data types between processes need to copy 15:15:15 it 15:15:49 cheateur, it has good language level and library level support for server style processes 15:16:08 ah, so it's not that it has *concepts* that allow better performance 15:16:22 it's that it is just better written 15:16:31 cheateur, well, it is well tuned for that load. And it is easy to write that style of thing 15:16:38 cheateur, also you can reload code on the fly 15:16:51 without restarting current processes 15:17:30 that's nice 15:17:32 they are sent an "update you data structures if required and jump to the new code" style message. If you use the standard library modules to implement your server processes then that becomes very easy 15:17:36 can haskell do that? 15:17:53 cheateur, well, erlang is a VM, it would be way harder if it wasn't for the VM 15:18:11 but for haskell, I don't know it well enough 15:18:30 aha 15:18:34 cheateur, erlang also have almost seamless support for distributing stuff over several nodes 15:18:41 i'm just looking at learning a new language 15:18:54 C looks like it'll be fucking boring for no reason 15:19:21 and most stuff i do is web or service oriented 15:19:38 so i thought about something like haskell or erlang to write nice big services 15:19:40 (almost, as in you need to tell it to connect to the other node, and a few internal details can be tricky, but generally if you do things like you should and don't mess in semi-internal stuff it won't be an issue) 15:20:00 but you pass it a message the same way as a local process 15:20:07 s/it/a remote process/ 15:20:15 and haskell doesn't do that? 15:20:32 cheateur, well, I don't know if haskell even has support built in for distributed nodes. 15:20:52 i would assume so 15:20:55 but it is only an assumption 15:21:39 AnMaster: if i know php, python, and probably almost everything web-related, what language would you suggest to me? 15:22:15 cheateur, do you know any esolang? Any functional language? 15:22:21 no 15:22:30 bear in mind i need to be able to make money with it too 15:22:34 hm if you don't know an esolang what are you doing in here? :) 15:22:49 trolling? ;) 15:22:53 hah 15:23:02 i have brainfuck installed 15:23:04 if that helps 15:23:10 maybe 15:23:44 well, both erlang and haskell are functional languages. That will be hard if you only know the imperative approach. Haskell even more so. 15:24:08 maybe starting with scheme to get a general idea of functional programming would be a good idea. 15:24:28 i'm a mathematician, most programming languages aren't that difficult 15:24:28 i've learnt asm by using a debugger 15:24:54 cheateur, erlang uses tail recursion for loops and such. Also it is single assignment as in math (you don't do x=2; x=x+1; in math if you see what I mean) 15:25:03 you're another of these folks that think mathematicians are gods 15:25:05 I think the same goes for haskell 15:25:20 dunno if i want to go with scheme, it feels like a sort of halfway solution 15:25:32 -!- Slip has joined. 15:25:36 soupdragon: they aren't ?? 15:25:54 cheateur, it is a nice educationish language for learning the basic concepts of functional programming. 15:26:16 -!- Slip has left (?). 15:26:21 AnMaster: gotcha 15:26:29 AnMaster: i know that in erlang variables are immutable 15:26:43 cheateur, but if you know enough of math concepts then it shouldn't be too hard 15:26:55 but for making money of it, who knows. I can't answer that 15:27:32 AnMaster: but i thought this only had to do with the 'place in memory', not the handle 15:27:47 hm? 15:27:57 i.e. you could do x=1; x=2 but then you'd have two x's and the first one would be dereferenced and would just be 'garbage'? 15:28:35 well there is no assignment as such in erlang. There is pattern matching. Meaning you can do something like {true,{X,Y,Z}} = somefunction() 15:28:42 i.e. the '1' would still exist, but it would be dereferenced. 15:28:43 where {} is the notation used for tuples 15:29:21 AnMaster: is there a one-click way for me to start writing erlang *now*? 15:29:26 i'm on 'doze 15:29:59 cheateur, that would try to assign the values to X,Y,Z. But if X was set before already then it would fail of the value of X wasn't the same as before. This can be used for some really cool things. 15:30:16 cheateur, hm, I think they have a windows download on erlang.org, but I'm on linux myself 15:30:23 so I never tried it 15:30:38 i'm on linux normally too, but ubuntu is gay and it blew up. 15:31:03 what about other distros? 15:31:35 cheateur, also I believe the first few chapters of some of the erlang books are available online for free 15:31:39 * AnMaster has it in paper form 15:31:53 no, it's just that it blew up on my laptop 15:31:54 :P 15:31:56 well one of them 15:32:17 luckily i kept windows as dual boot 15:32:24 ah yes there are a few extracts at http://www.pragprog.com/titles/jaerlang/programming-erlang 15:33:37 -!- oerjan has joined. 15:33:41 oerjan, hi 15:33:48 hi AnMaster 15:36:27 cool 15:36:29 thanx 15:37:30 oerjan, btw I didn't get the joke in iwc yesterday 15:38:01 iwc? 15:38:11 cheateur, webcomic we both reads. 15:38:12 read* 15:38:18 cheateur: iiuc haskell's concurrency is optimized for many cores with shared memory, it's not really designed for distribution 15:38:44 aha 15:38:57 hiya oerjan 15:39:13 hi soupdragon 15:44:25 AnMaster: Paris is pointing out that this proves what she already knew... 15:45:30 oerjan, oh right. Wasn't very funny. Thought it was some pun on "nuts" 15:46:28 I want cake 15:46:55 * oerjan hands soupdragon a delicious cyanide cake 15:47:13 oerjan the norwegian dragonslayer 15:47:54 well oerjan supposedly is a mangled form of "george", so that fits 15:48:17 oerjan, huh that was quite a bit of mangling 15:48:17 our "george" is "yrjö", which means "puke" 15:48:30 pronounced a bit like oerjan 15:48:44 AnMaster: i assume it's via swedish göran 15:48:47 oklopol, wait a sec, is that a name in Finland? 15:49:03 oerjan, we have both Örjan and Göran. 15:49:07 i know 15:49:08 yeah 15:49:30 there's a swedish name that means gay, and there's and english name that means dick, not sure how it's interesting 15:49:38 *n 15:49:40 *an 15:49:42 well so what. Odd, Even and Bent are names in norway :) 15:49:56 oklopol, so it's like being called "puke"? As in throwing up? 15:50:08 yeah 15:50:13 as i said, not at all weird 15:50:19 Roar is also a norwegian name 15:50:23 oklopol, must be rare that anyone is called that? 15:50:36 a bit. but there are still a lot of "dicks" 15:50:46 oklopol, if "yrjö" both means puke as well as being a name. 15:51:00 are you reading what i say? 15:51:04 olsner, yes bit it meaning something else in another language isn't as bad as meaning something else in the *same* language 15:51:23 oklopol, I hope so. I was just trying to double check this 15:51:29 how is puke worse than "gay" or "dick" 15:51:40 (given that both are insults) 15:51:53 calling someone puke is not an insult 15:51:57 it's just weird. 15:52:00 as for that, i understand Homo used to be a norwegian surname. 15:52:01 oklopol, good point. But I don't know which word "there's a swedish name that means gay" you mean 15:52:09 starts with b 15:52:11 ahhh, now i remember iwc 15:52:11 calling something gay isn't an insult 15:52:18 oklopol, no clue 15:52:22 soupdragon: yes it is 15:52:31 soupdragon: it is frequently used as one. 15:52:38 then why is calling someone puke not an insult? 15:52:43 ...it just isn't? 15:52:48 illogical 15:52:57 gay makes less sense as an insult than puke, yes. 15:53:16 just like "idiot" makes less sense as an insult as "guy i don't like" 15:53:25 but only one is used 15:54:14 and this is english-specific, i don't know whether "gay" is an insult everywhere 15:54:30 my guess is it is in most places 15:54:52 and my guess is puke isn't an insult anywhere 15:55:24 * oklopol waits for augur to tell him exact statistics 15:55:33 what 15:55:34 :| 15:55:49 there were supposedly these norwegian professors named Ås and Sørås. one day they were both called to the information desk of an english-speaking airport... 15:56:16 soupdragon: calling something gay is indeed an insult. atleast in american english. 15:56:16 augur: i just usually assume you have something to say about anything even remotely having to do with linguistics 15:56:45 (hint: ignore all accents, then pronounce like an american) 15:57:28 what's "s?r?s"? 15:58:03 it's a perfectly adequate norwegian surname, means southern hill 15:58:17 oklopol, "Sørås" 15:58:21 oklopol, did you see that? 15:58:25 or was it the same 15:58:27 i see weird characters 15:58:29 well assuming you're not mangling the characters on purpose... 15:58:34 the same weird characters 15:59:07 oklopol, Srs 15:59:09 oklopol: you're not reading utf-8 correctly 15:59:24 yes, i still haven't gotten mirc to render it correctly. 15:59:34 im off to shower 15:59:45 oerjan, I thought you had problems with unicode? 16:00:14 i give up, what's it supposed to sound like? 16:00:33 sars? 16:00:58 oh if only you all knew IPA/XSAMPA! D: 16:01:10 oklopol, without the dots it is spelled like "Soras", but I guess it is supposed to be "Sir as" 16:01:23 oh lol 16:01:26 that would be the only way it is funny 16:01:32 but o and i aren't really close 16:01:36 AnMaster: yes but irssi reasonably transliterates the latin-1 subset 16:01:40 so "sore ass" 16:01:43 and approximates a bit more 16:01:54 sir makes no sense if you drop the umlaut 16:02:01 sore ass it was 16:02:31 for some reason i wanted a single word 16:03:22 oerjan, why professors I wonder. And it doesn't make sense for both to believe it is to them unless it is actually interpreted by "sir" as one 16:03:52 AnMaster: this is _supposedly_ a true story 16:04:02 heh 16:04:10 although i've probably mangled it 16:04:15 hm 16:04:39 and i was told it in university, by professors 16:05:25 so if it was true, they were probably acquaintances 16:06:40 hm 16:07:55 you're another of these folks that think mathematicians are gods <-- well DUH 16:08:12 professors travel a lot, so if there were professors with such names, it's not exactly that improbable for that to happen 16:08:25 when was that, i wanna see context 16:09:05 07:25:03 in the logs 16:10:57 huh. 16:13:35 o hai 16:13:41 oh lol logtime 16:13:51 assumed 7:25 your time 16:13:53 because i'm an idiot 16:13:56 MWAHAHA 16:14:17 16:25 my time 16:44:06 -!- oerjan has quit ("leaving"). 16:44:27 -!- kar8nga has joined. 16:50:35 -!- augur has quit (Read error: 110 (Connection timed out)). 17:48:01 -!- ehird has joined. 17:51:22 21:28:33 http://tvtropes.org/pmwiki/pmwiki.php/Main/MohsScaleOfScienceFictionHardness?from=Main.MohsScaleOfSciFiHardness 17:51:22 21:28:39 needs more hard sci fi :( 17:51:23 it's not my fault you're finishing rainbows end before listening to my suggestions :P 17:54:37 06:50:41 hey guys 17:54:37 06:51:02 if i'm going for high performance clusters, should i choose erlang or haskell? 17:54:37 ignore AnMaster he just likes erlang :) 17:54:54 -!- MizardX has quit (Connection timed out). 17:54:56 both are about the same in potential; haskell is a better language and your code will be more reliable in it. however erlang is far more mature as far as its concurrency support goes 17:55:08 if you really do have a cluster and you want to highly perform on it, I'd go for erlang until haskell's clustery support improves 17:55:14 (its single-machine concurrency support is great, though) 17:56:01 07:20:32 cheateur, well, I don't know if haskell even has support built in for distributed nodes. 17:56:01 07:20:52 i would assume so 17:56:01 note that AnMaster doesn't really know anything about haskell 17:56:07 also, no, it doesn't, that's why we have excellent libraries. 17:56:18 -!- BeholdMyGlory has quit (Remote closed the connection). 17:56:56 07:21:39 AnMaster: if i know php, python, and probably almost everything web-related, what language would you suggest to me? 17:56:56 07:22:15 cheateur, do you know any esolang? Any functional language? 17:56:56 07:22:21 no 17:56:57 Uh... give up now. If you don't know functional programming, you will be useless at both Erlang and Haskell unless you learn functional programming simultaneously. 17:56:57 07:22:30 bear in mind i need to be able to make money with it too 17:56:59 lol. 17:57:14 You can make a lot of money with haskell... just not at some dumbfuck Web 2.0 company. 17:57:37 is it still at 2.0? I would have thought 2.1 would have been released by now 17:57:39 07:24:28 i'm a mathematician, most programming languages aren't that difficult 17:57:39 Hubris and ego said by someone who has only used imperative languages. 17:57:43 or at the very least, 2.0.1 17:58:11 If you're so intelligent, why not use Haskell's official Least Gentle Tutorial? http://www.haskell.org/tutorial/ 17:58:46 07:25:03 you're another of these folks that think mathematicians are gods 17:58:46 ++ 17:59:33 -!- BeholdMyGlory has joined. 17:59:57 I was interested in helping him until "I don't know any functional languages", "I know everything imperative and web-related" and "I'm a MATHEMATICIAN, every programming language is easy to learn!". 18:00:22 07:27:57 i.e. you could do x=1; x=2 but then you'd have two x's and the first one would be dereferenced and would just be 'garbage'? 18:00:22 Culture shock! 18:00:34 07:29:26 i'm on 'doze 18:00:42 erm 18:00:45 07:29:21 AnMaster: is there a one-click way for me to start writing erlang *now*? 18:00:45 07:29:26 i'm on 'doze 18:00:51 Okay, now I'm interested in helping you a *negative* amount. 18:01:21 -!- coppro has quit (Read error: 110 (Connection timed out)). 18:03:23 08:01:10 oklopol, without the dots it is spelled like "Soras", but I guess it is supposed to be "Sir as" 18:03:23 >_, 18:03:24 *>_< 18:03:40 Or, you know... sore ass 18:03:47 to be fair, "sör" is pronounced "sir" in swedish 18:04:08 not "sore" 18:05:53 well not sure that's an excuse, "sor" is still pronounced closer to "sore" than "sir" in swedish. 18:06:04 w/e -> 18:06:11 "ignore the accents" 18:06:15 "and pronounce as an american" 18:06:19 Slight hints there 18:18:29 i'm not sure AnMaster compartmentalizes that well 18:18:39 then again i might be wrong 18:19:34 to be fair, "sör" is pronounced "sir" in swedish <-- not like "sir" would be in Swedish though. Close to English "sir" though. 18:20:16 also, I was trying to think of something that a actually made sense 18:20:54 well yeah english "sir", i left type inference to the reader 18:27:30 -!- kar8nga has quit (Remote closed the connection). 18:31:00 someone should invent inlinelatexcompose 18:31:07 so i can type, like, \alpha 18:35:41 ehird: it's ok, i think you're pretty sweet 18:35:46 ehird: let's hug 18:35:51 cheateur: you're an awful human being! <3 18:35:53 * ehird hug 18:36:26 #esoteric: "We hate you. Your language is crap. Let's hug!" 18:39:08 -!- BeholdMyGlory has quit (Remote closed the connection). 18:40:51 * cheateur grabs ehird's ass during the hug 18:41:12 * ehird sues cheateur for statutory rape 18:42:10 * cheateur goes to every person in ehird's neiborhood and tells them: 'you know, according to your friend ehird, having sex with me is so extreme that it's actually a crime!' 18:42:26 Things we have learned today: 18:42:32 - Ass-grabbing is sexual intercourse 18:42:43 - cheateur is moving into all of your neighbourhood's. Run! RUN! 18:42:49 *neighbourhoods 18:42:57 slight sentence restructuring issue thar 18:43:08 everyone's? 18:43:31 you got sumptin wrong there, smurfette 18:43:55 cheateur: no we just all live in the same building 18:44:08 Either I'm suffering from post-sleep-deprviation deprivation or this channel is weirder than usual right now. 18:44:25 or both 18:44:49 ehird: have you watched erlang the movie? 18:45:00 I watched the start but couldn't take any more 18:45:08 This, however... http://www.youtube.com/watch?v=1yH_j8-VVLo 18:45:11 was it too hardcore for you 18:45:21 GRATUITOUS AMOUNTS OF PARALLELISM 18:45:35 munctional? 18:45:46 LOL. 18:48:34 -!- kar8nga has joined. 18:54:05 -!- BeholdMyGlory has joined. 18:58:25 -!- soupdragon has quit ("Leaving"). 19:05:44 -!- soupdragon has joined. 19:29:57 http://www.reddit.com/r/programming/comments/aqkt2/dirty_math_tricks_optimizing_divisionby10_on_an/ 19:29:57 I like how all three of the top code snippets are in Haskell, by different people. 19:30:06 I guess the practical esolang has finally made it. :P 19:36:48 haskell isn't eso :[ 19:45:37 -!- mycroftiv has quit ("leaving"). 19:57:09 is prelude haskell? 19:58:02 prelude = haskell's "standard library" module 19:58:12 it's "modules you've loaded> ..." 19:59:45 and they have a special query for that? 19:59:48 that's fucked up. 19:59:59 i'm just about to install haskell too, so good for warning me 20:00:48 a special query for what? 20:01:01 it's just a read-eval-print-loop prompt 20:01:08 for a different combination of loaded modules 20:01:12 ??? 20:01:23 an example shell session 20:01:25 $ ghci 20:01:25 GHCi, version 6.10.3: http://www.haskell.org/ghc/ :? for help 20:01:25 Loading package ghc-prim ... linking ... done. 20:01:26 Loading package integer ... linking ... done. 20:01:26 Loading package base ... linking ... done. 20:01:26 Prelude> 2+2 20:01:28 4 20:01:30 Prelude> 20:01:32 Leaving GHCi. 20:01:34 $ 20:01:36 it's just the interactive interpreter's prompt... like $ in a shell... 20:01:48 hah, python... I like how they had a completely braindead GIL thingy that made python about twice as slow on two threads than on one thread, but have finally managed to optimize it into something that is *only slightly slower* than single-threaded 20:01:57 then what did you mean by "modules you've loaded> ..."? 20:02:06 cheateur: I was explaining the prompt that is hsown. 20:02:11 this is not a difficult concept 20:02:13 *shown 20:02:43 you are explaining this in the most confusing way, i still have no idea what you mean 20:02:51 but it's ok 20:02:52 hug? 20:02:59 cheateur: oh, wait... you're a web guy 20:03:07 you've probably never even used a language's interactive prompt 20:03:10 no i am a mathematician 20:03:17 jesus, this fucking thing takes half a gigabyte of hard drive space? the download was 50 megs. 20:03:26 if you are such a mathematician whta's square root of -1 20:03:50 it's the value of your mouth applied to my penis 20:04:22 that... doesn't even typecheck.. 20:04:23 cheateur: you're boring and egotistical. 20:04:30 ehird: thank you :) 20:04:41 also, you don't even know any esolangs... or talk about them 20:04:54 admittedly everyone else in here does the former and not the latter 20:05:00 ehird: i used brainfuck! 20:05:03 I never made any esolangs :( 20:05:10 cheateur: prolly stopped at ,[.,] no? 20:05:12 noen of my ideas were good 20:05:36 ehird: i tried figuring it out and couldn't 20:06:21 so to recap you're a person who doesn't know any esolangs, doesn't talk about esolangs, is boring, complains about file sizes and constantly mentions how he's a mathematician 20:06:28 just curious, what mathematics education do you have exactly? 20:07:07 not much. 20:07:09 why? 20:07:20 no, see, I said "exactly" 20:07:30 what mathematics education do you have? 20:07:31 it's difficult to tell exactly 20:07:40 no, it's not, i'm talking about boring formal education 20:07:41 i'm not sure of the status of that myself 20:07:44 approved by the state 20:07:45 yeah, so am i 20:07:52 then there's no ambiguity 20:08:03 you're right, there is 20:08:26 explain this ambiguity or you're just full of shit and embarrassed 20:08:28 well, it is more than 3 years and less than 15 years, depending on your definition of formal education 20:08:53 fine, we'll go by the prompt method 20:08:57 high school? 20:09:09 i finished that one 20:09:15 university? 20:09:30 i started that at 17 20:09:42 I didn't ask that, I'm not interested in stroking your ego 20:09:54 i get to stroke it myself, though 20:10:14 yes. it would be a lot better if you did it in private, however. 20:10:27 i thought i was egoistic 20:11:15 do you actually have any mathematical achievements 20:12:00 i know how to multiply numbers in my head, like 10x5 20:12:16 but, they cannot be too big, because then it doesn't work. :-\ 20:12:17 yeah only mathematicians can do that 20:13:57 -!- lepuspower has joined. 20:15:12 i am happy your curiosity is satiated 20:16:16 it's not i just decided talking to you wasn't worthwhile 20:16:43 in that case, i am very happy as well. 20:18:26 ehird: i believe we have gotten off on the wrong foot. wnt 2 try again? 20:18:40 not if you say things like "wnt" and "2" 20:18:44 also, I'm always an asshole 20:19:27 'wnt' and '2' are integral parts of my dialect of english 20:19:41 it is one i abstain from speaking in. 20:20:33 by doing that you are inconveniencing my minority 20:21:12 i delight in this 20:21:58 * cheateur litigates 20:33:04 -!- GreaseMonkey has joined. 20:37:05 * soupdragon titigates 20:42:36 cheateur: maths is great isn't it 20:43:00 i love all mathematicians equally 20:43:12 am I a mathematician? 20:43:29 i think so 20:43:32 Mathemagician. 20:43:46 how can I know for sure? 20:43:50 a small but eager mathematician, like myself 20:44:09 I've been having mathematical thoughts from a young age but I always felt too scared to try it for real 20:44:11 I've heard that only mathematicians can multply 10 by 5 in their head. 20:44:27 That is a test. 20:44:28 also I don't think my parents would accept it 20:45:01 oklopol: <3 20:45:21 fizzie: 50 20:45:31 did that in like seconds 20:45:47 actually it's 17 20:45:51 oklopol: A mathematician you then must be. Unless you cheated. 20:45:54 because we're multiplying mod 33, duh 20:45:56 I just realized multiplication is easy 20:45:57 no i didn't 20:46:05 i really did it in my head 20:46:16 basically i use the fact if you have zeroes in the end, then you can sort of take them out 20:46:19 5*1 0 = 5*1 5*0 = 50 20:46:20 and put them back later 20:46:25 yeah 20:47:34 that's another way, but in our number theory course we experimented a lot with multiplying numbers that end in zeroes, you sort of learn to forget about them altogether and just operating on the part before the zeroes 20:47:52 gets slightly tricky if you have more than one zero ofc 20:48:35 the lecturer can do numbers with like hundreds of zeroes in the end in his head 20:48:50 :( 20:49:23 no idea how he does that but it's damn impressive 20:49:52 also this week's homework in combinatorics on words: find a meaningful sentence that's a palindrome 20:50:45 a man a plan panama 20:51:01 -!- MizardX has joined. 20:51:04 these are actually in english, i can prove that http://www.math.utu.fi/opiskelu/opetusohjelma/kurssit/syventavat/mate5075/index/Cow-demot2010.pdf 20:51:25 god those are trivial 20:51:32 wut are you doing lol 20:51:38 this is supposed to be a fucking advanced course 20:51:40 that looks hard oklopop 20:51:58 it goes all the way up to 8 20:52:17 well obviously i started after 5, because i ran out of fingers 20:52:22 *stopped 20:52:38 seriously though, can you believe those? 20:52:54 yes 20:52:55 i haven't been able to sleep since i saw the triviality of those exercises 20:53:03 is the Y combinator a monad? 20:53:21 cheateur, is LISP touring complete? 20:53:33 is my ass too big for these pants? 20:53:34 i don't know, i've never used lisp 20:53:44 i assume it is 20:54:07 no you're wrong i have a small ass 20:55:24 i need to email the lecturer about those exercises 20:55:29 Of course LISP is Turing-complete. 20:55:40 Is oklopol's ass Turing-complete? 20:56:20 good question 20:56:36 aha is a meaningful sentence which is a palindrome 20:56:57 as well as a(ha){2,} 20:57:14 oklohoma are you gonna write a program which generates palindromic sentences? 20:57:37 Unfortunately "A man, a plan, Panama" is not a palindrome. But maybe that was the whole trick. The version with the canal is. 20:58:21 A man, a pnal, Panama. 20:58:42 LOL 20:58:52 a man, a poo, panama 20:59:07 a man a panama 20:59:11 i think i just randomly generated "eel! flee!" 20:59:37 well, would be sorta weird if i remembered that wrong 21:00:17 palindromes should not contain names 21:00:36 too easy 21:00:40 "oko", isn't that a meaningful palindrome? 21:00:46 okokokokokokokokokokokoko 21:00:48 okokokokokokoko 21:00:50 okokokokokokokokokokokokokokoko 21:01:15 cheateur: Does computer science have as much to do with computers as astronomy has to do with telescopes? 21:01:36 soupdragon: balls 21:01:52 how much does astronomy have to do with telescopes? 21:01:56 i have zero idea 21:02:17 how much does astrology have to do with the golden girls? 21:03:30 hmm, not at all? 21:03:54 why doesn't everyone answer any questions today 21:03:57 *anyone 21:04:00 what's wrong with me 21:04:13 (someone answer that) 21:09:56 * cheateur watches the tumbleweeds roll by. 21:10:06 ;) 21:11:24 I could answer that, but that'd be lame 21:11:42 i'm mostly asking about the typos 21:12:02 ok 21:12:14 otherwise i think i'm rather perfect 21:17:27 -!- ehird has quit. 21:17:41 phew, he's gone 21:20:42 oklopol: are you studying maths? 21:20:58 -!- ehird has joined. 21:21:15 ehird: I have to say that http://www.haskell.org/tutorial so far makes a lot more sense than real world haskell or that other one to me 21:21:49 it is interesting, concise yet explains the issues clearly. Indeed I haven't got far yet, so I'm only speaking of about half of the "values and types" section so far 21:22:04 (I'm at "2.2.1 Recursive Types") 21:22:23 If you think you understand the Gentle Introduction and you don't know ML, you don't. 21:23:46 ehird, possibly, but those other ones were too slow in getting anywhere interesting. And this seems to explain the types well. I can't speak about later sections of course. 21:24:20 The problem is that you need to be "bored" because as an imperative programmer, you categorially *do not understand the ideas behind Haskell* or how to program effectively in it. 21:24:28 If you skip that, you will be a bad Haskell programmer; simple as. 21:25:58 ehird, you forgot that I know scheme and erlang. And if I can't get anywhere interesting then I can't learn something. To learn something it has to get interesting quickly 21:26:15 Scheme and Erlang are not remotely like Haskell in actual programming. 21:26:29 ehird, true, I gathered that from what I read so far 21:26:31 You may disagree and think you will be able to learn Haskell without *really learning* the underpinnings, but you are wrrong. 21:26:33 *wrong 21:26:49 Also, Real World Haskell *does* do real programs first. 21:26:55 So maybe you just like complaining. 21:28:02 a syntax question though: 21:28:05 length [] = 0 21:28:05 length (x:xs) = 1 + length xs 21:28:16 why the () in the second but not ([]) in the first? 21:28:28 By the way, the Gentle Introduction is wildly out of date. 21:28:32 iirc, it even has n+k patterns in. 21:28:44 Also, I'm not going to answer any questions you have about Haskell because I know that they will only lead to further questions down the line when it turns out you don't understand Haskell at all. 21:28:48 And I don't feel like answering such questions. 21:29:10 ehird, also, have you heard that story about how mathematicians would build a house? 21:36:18 ? 21:36:19 :) 21:39:29 how mathematicians would build a house? 21:42:02 oh that, well it was directed to ehird. I don't see any point in telling it as he didn't respond 21:42:08 *shrug* 21:42:13 good night everyone 21:44:35 http://www.codexon.com/posts/debunking-the-erlang-and-haskell-hype-for-servers < lulz 21:44:35 soupdragon, suffice to say it is "foundations last" 21:44:41 heh 21:44:44 that makes sense 21:44:50 AnMaster: check the link 21:44:58 soupdragon, looking at history yes indeed. 21:45:11 cheateur: that guy is probably just shit at coding 21:45:16 or configured it wrong 21:45:19 or used an unrealistic benchmark 21:45:20 etc 21:45:31 yes using -smp disable for erlang is definitely doing it wrong 21:45:31 yeah, unrealistic benchmark is unrealistic 21:45:34 lol see http://www.codexon.com/posts/debunking-the-erlang-and-haskell-hype-for-servers/comment-page-1#comment-464 21:45:38 AnMaster: read the text body 21:45:39 dons debunking shit about haskell as always 21:45:44 enabling smp made it 4x slowar. 21:46:15 not in my experience. 21:46:17 dons? 21:46:22 dons = don stewart 21:46:28 AnMaster: that's what he said happened in his situation 21:46:30 guy at Galois which has been doing commercial haskell for like... 15 years 21:46:35 and rabid haskell advocate everywhere :) 21:46:37 he's great 21:47:38 the only galois i know is the kiddie fondling op in efnet #math 21:47:48 http://www.galois.com/ 21:47:57 both named after évariste galois obviously 21:48:12 cheateur, also at accepting new connections? Is that the best benchmark? What about handling that many persistent connections instead? 21:48:16 do you know differential galois theory? 21:48:26 soupdragon: question directed at cheateur presumably 21:48:29 AnMaster: see comments. 21:48:31 AnMaster: i know, it's a shit benchmark, you don't have to tell me 21:48:32 bad benchmark, bad code. 21:48:43 also let me read that erlang code 21:48:43 soupdragon: i do, but i don't know that galois 21:48:44 ehird do you ? 21:48:46 he got shot 21:48:47 cheateur: AnMaster is single-threaded, he sees a line and calls replyToSeveralLines 21:48:49 in a driveby 21:48:56 then switches back to his process new irc lines thread 21:49:00 no way to stop him, I'm afraid 21:49:01 cheateur stop lieing 21:49:09 oh yeah that erlang one is bad 21:49:11 Lieing! 21:49:23 It's when you liey. 21:49:30 soupdragon: at least i'm not calabi-yauing 21:49:39 Cabali-yawn. 21:49:41 *Calabi 21:49:52 i liked cabali more 21:49:57 can we have that version again 21:50:00 Cabally-yawn. 21:50:35 hahah 21:50:46 here's your palindrome sentence btw!!!!!!!!! 21:50:51 thrugo 21:50:51 ehird, also I did read those comments before 21:50:57 the one you linked that was 21:51:00 is* 21:51:09 http://www.infoq.com/interviews/Erlang-Haskell-John-Hughes 21:51:14 and yeah the erlang code is shitty. 21:51:19 infoq is a crappy site 21:51:30 "John Hughes, at Erlang Factory" 21:51:34 well this is obviously not goign to be unbiased 21:51:46 Do you miss laziness from Haskell? 21:51:47 Yes, absolutely. I have Macros in Erlang that simulate it and I use them all the time. 21:51:52 so he doesn't even code idiomatic erlang. 21:51:58 And types? 21:51:58 Yes, of course. 21:52:01 this is some stunning approval so far 21:52:16 well this is obviously not goign to be unbiased <-- indeed 21:52:21 *going 21:52:26 that hughes guy looks like his anus just prolapsed 21:52:32 "There are advantages than not having type checker, namely generic programming. If you do generic programming in Haskell, you can write a paper about it." 21:52:38 also, I don't think it makes sense to try to compare them like that. Both are great languages. 21:52:41 yes and then everyone can read the paper and package it into a library 21:52:45 meant mostly for different things 21:52:47 so us plebs don't have to read it 21:52:53 hehe 21:52:55 or understand iit 21:52:56 *it 21:53:00 you know, it's called abstraction 21:53:03 might have heard of it 21:53:04 generic programming is awesome 21:53:21 "If you do generic programming in Erlang, it's 4 lines - one for lists, one for tuples, one for basic values." 21:53:32 hm. what about binaries? 21:53:46 data Showable = forall a. (Show a) => Showable a 21:53:46 generic :: [Showable] -> [String] 21:53:46 generic = map show 21:53:48 also that didn't make much sense 21:53:52 oh shit it's three lines 21:53:54 and is MOST GENERAL 21:54:20 ehird, well, I think erlang is nice, but I agree that page is shit 21:54:25 yep page closed 21:54:40 guess money is making his mind fuzzy 21:54:45 i didn't understand the code you ahve written 21:54:47 money? 21:54:49 can't be simply an idiot, quickcheck is awesome 21:54:49 he's rich? 21:54:56 cheateur: no, a client wanted a version of quickchcek for erlang 21:54:58 *quickcheck 21:55:01 he looks like he's supported by the red cross 21:55:03 so, presumably he is getting paid to write erlang 21:55:38 cheateur: the code I've written is simple 21:55:43 basically, when we saw (Show a) => ... 21:55:44 in a type 21:55:49 it means "this value must satisfy the Show interface" 21:55:57 (they're actually called typeclasses but that's irrelevant) 21:56:03 data Showable = forall a. (Show a) => Showable a 21:56:03 means 21:56:04 also he's pronouncing erlang err-lang 21:56:17 while anyone who's seen erlang the movie knows it's pronounced our-lang 21:56:23 "Showable is a data type with one constructor, taking a single value, a. a must satisfy the Show interface." 21:56:29 so we can have a list of Showables 21:56:37 cheateur, err. I would pronounce it in Swedish instead. 21:56:42 [Showable 1, Showable "fuzzy", Showable [1,2,3], Showable ('x','y')] 21:56:48 generic :: [Showable] -> [String] 21:56:55 "Generic takes a list of Showables and returns a list of Strings." 21:56:56 generic = map show 21:56:57 same as 21:56:59 cheateur, which would be closer to "ärlang" 21:57:01 generic xs = map show xs 21:57:05 presumably you know what map is 21:57:13 AnMaster: which is how the english pronounce 'our' 21:57:18 show :: (Show a) => a -> String 21:57:20 ehird: wait, i got lost 21:57:23 cheateur, no not really 21:57:25 quite different 21:57:28 show is just "this value has a meaningful representation for humans as a string dude" 21:57:32 that's what the Show typeclass is for 21:58:00 but I want read . show = id 21:58:12 maybe how it sounds to you, but sounds very different to a native Swede. (And Erlang is originally made by Swedes, though it is named after a Dane) 21:58:23 no it's named after a company 21:58:33 soupdragon: you could do that in coq i think 21:58:36 well 21:58:43 you'd have to put them in the same typeclass 21:58:49 but then you could do something like (I don't know Coq): 21:59:02 ehird, officially it is named after http://en.wikipedia.org/wiki/Agner_Krarup_Erlang 21:59:04 prop_inverse : ForAll a. read (show a) = a 21:59:49 ah 21:59:50 it'd be 22:00:02 prop_inverse : forall x, read (show x) = x; 22:00:13 ehird, who did some important work in the telephony sector. 22:00:16 and of course instances of ReadShow would have to provide a proof themselves... 22:00:45 ehird http://github.com/odge/parseq/blob/master/Examples.v 22:00:58 of course it also happens to match "Ericsson Language" but iirc I read they had both meanings in mind originally 22:01:05 Program Definition par_parser : Parser token (fun _ => True) par (fun x p y => x = print p ++ y /\ length y <= length x) 22:01:11 I tried to use Coq but I'm not intelligent enough :( 22:01:14 Agda was easier 22:01:15 sort of generalized loop invarient style version of what you wrote 22:01:27 I just had to replace a few symbols and I could pretend I was using dependent types in haskell 22:01:32 you need that ++ y because parsing is incremental 22:01:32 anyways all this functional programming is so 2009 22:01:39 and you need the length stuff to justify the recursion 22:01:40 what's the next thing after functional programming? 22:01:40 ehird, " [...] but I'm not intelligent enough :(" <-- a classic! 22:01:45 cheateur: qbasic 22:01:54 sweet 22:01:54 ehird, XD 22:01:56 srsly tho 22:02:00 AnMaster: I don't know where you've got the impression I'm an egostist 22:02:07 cheateur: this idea of there being a "next" is harmful and fashion-based 22:02:13 why do I bother linking stuff to ehird :( 22:02:17 we should be trying to improve, not randomly moving onto things 22:02:21 soupdragon: what do you mean, I liked it 22:02:24 ehird: that's exactly why i enjoy it 22:02:25 oh 22:02:26 I was just saying that I sucked at Coq 22:02:29 i like harmful things <3 22:02:34 http://github.com/odge/parseq/blob/master/Parsing.v 22:02:37 that's the monad and all that stuff 22:02:38 cheateur: unsafePerformIO 22:02:45 ehird, "egostist"? 22:02:50 egotist 22:02:53 soupdragon: wait that was examples and not the implementation? 22:02:56 yes 22:02:57 cheateur: no, i'm not doing anything atm 22:02:58 soupdragon: ok I *really* suck at Coq :) 22:03:05 haha ehird sucks cock 22:03:06 the "at" there is terribly imporatnt... 22:03:11 *important 22:03:12 oklopol: AT 22:03:13 AT COQ 22:03:14 hehe that Exampels file has a parser for balenced parens and arithmetic 22:03:15 ehird, did I say you were an egotist? 22:03:16 wait 22:03:18 that's just as bad 22:03:22 oklopol: then why the combinatorics link? 22:03:25 AnMaster: you laughed at me saying i wasn't clever enough for coq 22:03:25 the Parsing.v is sort of like mini-parsec++ 22:03:32 oklopol: because it doesn't look like very good self-study material 22:03:34 cheateur: well i'm a math student 22:03:46 oklopol: so in that case, you are studying maths 22:03:55 the point was exactly that those exercises are incredibly stupid and trivial 22:03:58 ehird, I was amused that _you_ would say you weren't cleaver enough for something 22:04:01 -!- kar8nga has quit (Remote closed the connection). 22:04:09 it just isn't your style 22:04:10 AnMaster: Which is only funny if you think I'm an egotist. 22:04:14 cheateur: yes, you could say that 22:04:17 ehird, isn't it spelled "egoist"? 22:04:23 but why say that when you can say something else 22:04:25 Only if you like sounding stupid. 22:04:37 ehird, both exists according to google define: 22:04:55 Yes, but egoist sounds stupid. 22:05:11 ehird, it is how it is spelled in Swedish 22:05:20 so I find egotist sounds weird 22:05:26 Yes, well, all Swedes are stupid! 22:05:37 ehird, :( 22:09:37 Notation "m >>= f" := (@Bind _ _ _ _ _ _ _ m f) (right associativity, at level 20). 22:09:43 that syntax is weirdly englishlike 22:09:50 also, _ _ _ _ _ _ _ _ _ _ _ _ _ 22:10:24 ehird, haskell? 22:10:30 Coq. 22:10:33 ah 22:10:49 * ehird decides to start pronouncing coq as "coh" 22:10:55 ehird, what does that code do? 22:11:04 Define an infix ooperator. 22:11:06 *operator 22:11:18 ah 22:11:27 _ _ _ _ _ _ _ _ _ _ _ _ _ looks insane 22:13:29 ehird, seems agda was developed by Swedes btw ;P 22:17:50 hmm 22:18:05 this quicktest thing is pretty smart, i have had the same idea like 2 years ago 22:18:30 it's a trivial idea, it's the implementation that's good 22:18:31 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)). 22:18:47 what's a trivial idea? 22:19:12 the trivial idea is the idea containing only one element 22:19:37 * soupdragon HISSES AT OKLOFORK 22:19:43 oklopol, nice one :D 22:19:51 yeah it was pure genius 22:20:18 or should i say... night -> 22:25:50 ehird it's terribly ugly and verbose but all that can be fixed 22:27:55 -!- lepuspower has changed nick to mycroftiv. 22:28:06 oklopol: it's not that trivial 22:41:29 yes it is 22:41:52 is not 22:42:53 yes it is 22:44:14 no it's not 22:44:51 ^ 22:45:04 yes it is 22:45:41 you lose 22:46:14 yes it is 22:47:58 <3 22:48:03 no it's not 22:48:10 yes it is 22:48:53 ehird it's terribly ugly and verbose but all that can be fixed <-- read as "ehird is ..." 22:48:55 XD 22:49:00 lol 22:49:03 and I thought "no ehird isn't verbose" 22:49:25 (ugly I don't really know about) 22:49:28 YGBM 22:49:32 soupdragon, ? 22:49:32 You Gotta Beleive Me 22:49:35 mhm 22:50:25 Am I not verbose? Am I not overly loquacious with the verbiage and associated endeavours? Indeed, it seems to be that a fully-formed expedition to investigate the verbosity of my person would be left with only one real option amongst the set of options available, with all others being eliminated due to some process (perhaps deduction, perhaps magic, perhaps something else entirely; I cannot say, as this is purely hypothetical. Nevertheless, it does not 22:50:26 matter.)—and that option would be to conclude that I am entirely verbose. 22:50:54 ehird, hehe 22:51:19 ehird, lets say, you are not verbose if that would annoy me ;P 22:51:45 Surely you mean I am only verbose if it annoys you. 22:52:12 ehird, you can be that too 22:52:23 whichever annoys me most atm 22:52:49 Oh, I parsed it as I am not verbose if being verbose would annoy you. 22:52:51 Which isn't what you meant. 22:53:06 indeed not 22:53:21 I meant you are terse when that annoys me 22:54:47 ehird: I would be more worried about how they're going to "fix" you. 22:54:58 Oh man my gut fauna are going mad (like they tend to do when I recover from food poisoning). 22:55:04 fizzie, the expedition? 22:55:24 When I think fauna I always think of deer. 22:55:29 OH NO MY GUT DEER 22:55:39 THEY ARE /DISPLEASED/ 22:55:59 uh, right 22:56:21 well "gut flora" would definitely be wrong 22:56:24 ehird, was that fake German "good" or was it English "gut" 22:56:56 See SimonRC. 22:57:01 SimonRC: fauna/fawn is the connection my brain makes. 22:57:06 ah, ok 22:57:31 Maybe there are some transparent fish on coral reefs that have actual gut flora, but not humans. 22:57:47 hmm that's a neat idea actually 22:58:01 heheh 22:58:11 SimonRC, why transparent? 23:01:01 soupdragon: should i play with agda 23:01:39 ehird, is agda cool? 23:01:48 Yes, but you won't understand it. :P 23:01:54 oh? why not 23:02:07 Two phrases. Dependent types. Proof assistant. 23:02:21 ehird, what sort of proofs can you prove with it 23:02:34 What is that supposed to mean? 23:03:24 ehird, well, math ones? is there a limit on what areas you can prove in? Say, over the reals or over the complex numbers, or the quaternions or such? 23:03:32 http://en.wikipedia.org/wiki/Intuitionistic_type_theory 23:07:03 Oh my god 23:07:03 http://en.wikipedia.org/wiki/Kleene%E2%80%93Rosser_paradox <-- this looks remarkably similar to the proof for the halting problem 23:07:03 if you want 23:07:08 M-x set-input-method RET TeX RET 23:07:09 I'm learning epigram 23:07:19 ehird, what does that do? 23:07:23 "\alpha " → "α " 23:07:29 wow cool 23:08:20 ehird, doesn't work very well. Try \inf 23:08:32 Obviously prefixes have to be unique, so it'll be something else 23:08:42 ehird, hm? 23:08:59 well then I don't know 23:09:32 ah \infty works 23:09:35 but that is different 23:10:14 So? 23:10:23 well just one small symbol missing 23:10:28 it may be AMS-Tex even not sure 23:10:31 -!- oerjan has joined. 23:10:43 ehird, but that is seriously cool 23:10:50 \infty shows as the infinity symbol for me 23:11:06 Cool, \gets gives ← 23:11:36 how do you get upper case alpha 23:11:43 \Alpha 23:11:47 "sgml" also works 23:11:50 & → & 23:11:55 oerjan, M-x set-input-method RET TeX RET 23:11:57 → → → 23:12:00 oerjan, this is not TeX 23:12:08 ehird, \Alpha doesn't work. \Delta does 23:12:13 sheesh 23:12:38 ηβπ ∈ ∞ ∑ ∪ ∨ Δδ α\Alpha 23:12:42 hm interesting 23:12:45 lol "there4" 23:12:47 ∴ 23:12:48 XD 23:12:58 there4 we kan c dat 23:13:02 ehird, what really? is that input mode sgml? 23:13:05 yeah 23:13:25 set-input-method greek lets you be all greek all the time 23:13:37 Ηελλο. Ηος αρε υοθ? 23:13:44 WP Greet Box icon 23:13:44 X 23:13:44 Hello there fellow Reddit user! If you like this msg, please remember to vote for this soupdragon on Reddit. 23:13:54 ______ posted using my iPhone 23:14:06 wat. 23:14:07 RECESSION GOT YOU DOWN? CLICK HERE 23:14:23 Ηελλο. Ηος αρε υοθ? <-- hm "hello hoc ape voO"? 23:14:24 tag cloud: esoteric, esolang, wiki, ehird, insane 23:14:48 AnMaster: hello how are you 23:14:49 わぱねせ 23:14:53 ehird, also it works nicely inside erc 23:14:58 ehird, what language is that 23:15:02 The user is powered by IRC with xchat 23:15:08 soupdragon: go away 23:15:15 [w3c complaint?] 23:15:27 I'm just testing soupdragon[beta] 23:15:27 ehird, plus I want combined tex + sgml input method 23:15:34 AnMaster: Tough 23:15:41 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 23:15:55 ehird, should be possible 23:16:15 will look at it tomorrow or later 23:16:35 Follow Me: 244 followers, twitter-counter 23:16:44 soupdragon, stop spamming 23:16:55 Tælkɨŋɲ ɨŋ ɪPɑ mækɚʃ ɑŋɚ ʃøʉŋð prøfœʉŋð. 23:17:08 I wish I could read IPA 23:17:10 ehird, "mækɚʃ ɑŋɚ ʃøʉŋð prøfœʉŋð"? 23:17:14 makes one? 23:17:16 what about shavian? 23:17:18 AnMaster: Yes. 23:17:33 ehird, then I have a bit of an issue. could be "an elitist" I guess ;P 23:17:44 AnMaster: ??? 23:17:48 It's easy to read. 23:17:54 Talking in IPA makes one sound profound. 23:17:58 ah 23:18:06 (set-input-method ipa) 23:18:13 ehird, how does it work there 23:18:20 but there's a difference between figuring out what it says... and read it as it is supposed to be pronounced 23:18:32 ןאד שךך יקנרק' אם צק! 23:18:47 and what is that 23:18:47 AnMaster: See minibuffer when typing some letters 23:18:51 Hebrew. 23:18:51 oh right 23:19:44 Tælkɨŋɲ ɨŋ ɪPɑ <-- okay that was painful to write 23:20:30 ehird, what does set-input-method brittish do 23:20:35 it doesn't seem to do anything 23:20:54 shift-3 = £, I bet 23:21:00 and shift-2 = " 23:21:07 and shift-' = @ 23:21:18 shift-3 does that 23:21:27 for shift-2 that is already true on my keyboard 23:21:37 shift-' I can't tell 23:22:17 how do you do subscripts with tex 23:22:22 _ 23:22:26 ah yes 23:22:29 wait that is subscript 23:22:33 oh yeah 23:22:35 except that doesn't work. 23:22:37 double misread 23:22:43 ehird, did ^ for superscript work? 23:22:43 type \_0, see failure 23:22:50 ehird, no \ in front 23:22:51 in real tex 23:22:58 iirc 23:23:02 erm right just _ works 23:23:03 but produces 23:23:08 א₀ 23:23:09 er wtf 23:23:13 how is that backwards 23:23:13 that worked? 23:23:14 oh 23:23:15 hebrerw 23:23:17 hebrew 23:23:19 :D 23:23:28 א₁ 23:23:29 >_< 23:23:40 set TeX you dolt 23:23:46 א₀ ≡ א₁ 23:23:47 HERESY 23:23:51 what is input method UCS? 23:23:59 i think alt-NNNN = U+NNNN 23:24:14 ₁א 23:24:16 ₁א₁ 23:24:18 wtf 23:24:25 -!- ehird_ has joined. 23:24:38 א₀ ≡ א₁ 23:24:41 :D 23:24:46 It might be my OS being stupid 23:24:50 Works in Emacs 23:25:24 Wonder how to do that single :: char 23:26:08 f²⁴⁶ s⁴² 23:26:18 א₀≡א 23:26:19 hm 23:26:26 ehird_, xchat does that last thing if I use it 23:26:33 also that dropped an 1 23:27:12 id :: ∀α. α → α 23:27:15 id α = α 23:28:02 why the () in the second but not ([]) in the first? <-- : has precedence (6 iirc) like an operator, and behaves similarly wrt parentheses 23:28:03 \rightarrow works btw 23:28:23 oerjan, hah 23:28:28 oerjan, "aha" 23:28:48 oerjan: what's the dot for compose in ams latex 23:29:15 o 23:29:17 :P 23:29:22 if you don't mean \circ then i don't remember 23:29:25 ⊙ 23:29:27 dammit 23:29:29 thaat's odot 23:29:30 so close 23:29:31 *that's 23:31:00 (○) :: ∀α. ∀β. ∀γ. (α → β) → (γ → α) → (γ → β) 23:31:26 AnMaster: technically haskell reserves all operators starting with : as data constructors, and you can define their precedence with the usual infix[lr]? command 23:31:29 (f ○ g) x = f (g x) 23:31:34 I don't think \circ is it, but close enough 23:31:43 oerjan, oh nice 23:31:46 oerjan: Any fancy mathematical symbols for arbitrary function names? 23:31:59 ehird_, circ isn't it 23:32:04 but I don't know what is 23:32:05 I said that, but close enough 23:32:11 ehird_, I just agreed with you 23:32:30 iirc ghc has an extension to allow those for type constructors as well (standard haskell only has -> there) 23:32:41 ehird - getting annoyed for me agreeing with him since 2010 23:32:47 I wasn't annoyed. 23:32:47 you sure have a lot of "since time" 23:32:51 I was pointing out I had already said it. 23:33:03 suuuuuure 23:33:24 You, on the other hand, are apparently so irritable that you interpret my benign actions as against you, and act crazy when I point out that they weren't annoyed. 23:33:38 ehird_, I just don't believe it 23:33:48 ehird_, and I'm chuckling at this 23:34:16 Issues; you have them. 23:34:26 ehird_, :D 23:34:51 ehird_: i think function naming custom depends a lot on what kind of function it is. 23:34:55 also "this" wasn't at "me don't believing you" it was at "you claiming not to be annoyed" 23:35:01 oerjan: anything! :P 23:35:08 ehird_, which indicates not quite as weird issues at least 23:35:13 specifically, the arguments to the misnamed (○) 23:35:15 yeah pretty much 23:35:26 "me don't believing you". Purveyors of fine grammar. 23:35:30 ○_○ 23:35:38 soupdragon, wonderful 23:36:09 ↺ 23:36:12 ↻ 23:36:15 ooh 23:36:17 ® 23:36:19 Ⓢ 23:36:21 ↻_↺ 23:36:23 ⊛ 23:36:28 ↺_↻ 23:36:30 ⊚ 23:36:38 ehird_, those are just a blur here 23:36:41 ⊝ 23:36:42 apart from the S in the ring 23:36:49 ⊝_⊚ 23:36:50 the S in the ring was *very* clear 23:37:08 ▿ 23:37:11 ehird_, ⊛ ⊚ ⊝ are not readable 23:37:17 ⊴ 23:37:23 ≜ 23:37:30 ∗ 23:37:53 ehird_, ∗ is just * ? 23:37:58 \ast 23:38:03 oh wait, it is in the middle of the row 23:38:06 ⊛ is circledast 23:38:19 · 23:38:25 ℃ 23:38:29 that's one character 23:38:30 so cool 23:38:48 33℃ 23:39:16 ζ 23:39:19 what is cool about ℃ 23:39:43 ⊤ 23:39:44 o(ζ)o 23:39:48 ⊥ 23:39:50 that is one symbol just for degrees C? ℃ 23:39:55 rather than a degree sign? 23:40:06 error :: String → ⊥ 23:40:40 ∎ 23:40:46 I love ∎ 23:40:49 ⊥ 23:40:49 ∎ 23:41:00 soupdragon, a black square? 23:41:00 ↑ How to prove anything to a non-total programmer. 23:41:03 very small such 23:41:34 ∍ 23:41:41 ehird_, do you still have that unicode graph line generation script around? 23:41:42 ‵ 23:42:00 AnMaster: Yes. 23:42:12 ehird_, that last one was prim? 23:42:21 -!- FireFly has quit ("Leaving"). 23:42:22 backprim 23:42:29 f′ 23:42:52 Optimus′ 23:43:26 totally a programmer 23:43:32 oerjan, -_- 23:43:53 * oerjan bows 23:43:54 ehird_, also what is ζ now again? 23:44:06 ‵o′ 23:44:18 ‵.o.′ 23:44:56 AnMaster: zeta 23:45:06 ah 23:45:44 ah found it at /mnt/gentoo$HOME/irc/sparkline 23:47:33 I'm rewriting it in Haskell now :P 23:47:35 look up the rayman zeta function 23:47:40 ehird, why? 23:47:48 Because Python sucks and Haskell rocks. 23:47:52 soupdragon: lol rayman zeta function 23:48:02 ehird, why did you write it in python back then 23:48:12 AnMaster: I was an unenlightened fool. 23:48:21 haha was 23:48:24 ehird, oh? I thought you knew haskell at that point 23:48:25 :3 23:48:27 * ehird stabs soupdragon 23:48:33 soupdragon, :D 2010-01-18: 00:00:55 -!- soupdragon has quit ("Leaving"). 00:04:52 -!- GreaseMonkey has quit (Client Quit). 00:10:35 -!- augur has joined. 00:12:32 How dare you say Python sucks??? 00:13:26 python is a programming language 00:14:40 (an awesome one) 00:15:32 Sgeo: It does. 00:19:31 Type system sucks: you get types like (draw :: None) and you could pass either a Cowboy or a Pencil for it, which is nonsensical. Types are only checked at runtime. Statements are not expressions. IO is not explicitly declared, and so mysterious side-effects are easy. Lambdas can only contain an expression, thus making them effectively useless because of "statements are not expressions". Creator is an idiot who thinks you don't need tail-call optimisation be 00:19:31 tail-*recursive* functions can be written as a loop. 00:19:45 *because 00:19:46 not be 00:19:47 stupid client 00:21:29 "Alexa said "Most visited website"" That is NOT a reason to rate a site as trustworthy or good! 00:21:41 Gee, you didn't complain about that yesterday. 00:25:40 somehow feeling slightly related, has an internet mob ever got an innocent person killed yet? 00:26:06 it's bound to happen eventually 00:27:32 yeah, thinking about it, I'm kind of surprised it hasn't happened yet (perhaps I just missed it though) 00:28:23 -!- ehird_ has quit (Remote closed the connection). 00:31:39 -!- bsmntbombdood has changed nick to bsmntbombgirl. 00:36:55 Has an Internet mob ever killed anyone? 00:37:51 "Alexa said "Most visited website"" That is NOT a reason to rate a site as trustworthy or good! <-- context? 00:38:26 http://www.mywot.com/en/scorecard/www.python.org 00:38:39 Same user does it for other sites, including ones that everyone else rates as untrustworthy 00:41:58 Sgeo, doesn't seem like a credible site that "mywot" 00:44:49 night → 00:44:52 Night 00:46:00 Web of Trust is credible enough, it's just stupid. 00:52:07 ehird, you make Python sound like a worse version of Haskell. 00:52:18 uorygl: That's because it is. 00:52:22 * uorygl nods. 00:52:23 Most languages are. :P 00:53:03 Hmm, we should take Python and change it so that it's exactly like Haskell. 00:53:14 We could call it Haskell. 00:53:24 Except it'll still look like this: 00:53:26 def main: 00:53:33 putStr("Hello, world!\n") 00:53:43 Thereby making it inarguably inferior. 00:54:05 You said *exactly* like Haskell. 00:54:15 Also, it'd be main = putStr("Hello, world!\n") 00:54:16 :P 00:59:26 Well, yeah. "def x:\n 3" and "x = 3" would be equivalent. 00:59:26 rubbish, it'd be main = putStrLn "Hello, world!" 00:59:41 main = putStr("Hello, world!\n") is valid Haskell. 00:59:52 It's also valid Python! 00:59:53 but _so_ unidiomatic 01:00:32 Yeah. 01:00:55 This would make it actually work the way it looks like it should work: 01:01:00 def putStr: 01:01:07 some stuff that makes it return a thunk 01:01:18 main = putStr("Hello, world!\n") 01:01:19 main() 01:01:53 python.com? 01:01:58 *def putStr(x) 01:02:06 Right. 01:02:08 bsmntbombgirl: Change it so it's exactly like haskell.com. 01:02:19 BUILDING PORN 01:04:08 -!- Slereah has quit (Read error: 60 (Operation timed out)). 01:04:39 Porn depicting edifices? 01:04:40 newsflash: Uranus may contain liquid carbon 01:05:18 liquid carbon? 01:05:21 how does that work? 01:05:30 http://en.wikipedia.org/wiki/Diamond#Material_properties 01:05:51 "Research results published in an article in the scientific journal Nature in 2010 suggest that at ultrahigh pressures and temperatures (about 10 million atmospheres or 1 TPa and 50,000 °C) diamond behaves as a metallic fluid." 01:06:04 It works by having lots of carbon atoms that attract each other strongly enough that they undergo surface tension but weakly enough that they can move relative to each other. 01:06:22 And by "move relative to each other", I mean "undergo Brownian motion". 01:06:26 -!- Slereah has joined. 01:06:59 i wonder how attainable those conditions are 01:07:20 as the rest of the section says, neptune and uranus may have them 01:07:36 pouring a 50,000 degree metal into my butt sounds like a good idea 01:07:42 brb 01:08:21 i mean, artificially 01:10:53 ah here is a popular article: http://news.discovery.com/space/diamond-oceans-jupiter-uranus.html 01:11:10 What makes it diamond if it's liquid? 01:11:20 s/popular/popsci/ 01:11:45 That's like taking wood, vaporizing it, and calling the result wood vapor. 01:11:54 bsmntbombgirl: it seems to imply these were actually produced in a laboratory 01:13:57 "Diamond is an incredibly hard material. That alone makes it difficult to melt." my trust in this popsci article is suddenly dropping swiftly :/ 01:14:26 although that was to be expected 01:14:37 Diamond is the hardest metal 01:14:45 i wonder what happens when it recrystalizes 01:14:48 -!- Pthing has joined. 01:14:52 i bet you could make bigger diamonds that way 01:15:08 yes, but my intuition tells me it is unlikely that that implies anything directly about its melting 01:15:24 Diamond doesn't melt, as far as I know 01:15:28 It BUUUURNS 01:15:32 It's made of carbon 01:15:37 Slereah: incredibly high pressure 01:15:57 But then again 01:15:58 see the pressure/temperature chart in my wp link above 01:16:01 If it's melted 01:16:05 It's not diamond 01:16:12 Diamond is about the crystal structure 01:16:32 it's molten _from_ diamond though 01:16:49 as opposed to from another form 01:16:53 Still, it's just a catchy title 01:17:18 The kind they use to make scientific discoveries more interesting than they really are 01:18:28 well metallic fluid carbon is pretty interesting in itself 01:19:38 And yet not enough to get in the title :o 01:20:42 another interesting fact: the solid form floats on the liquid one 01:21:52 now we just need diamond-based lifeforms :D 01:22:01 someone called? 01:22:10 my heart is a ferrofluid 01:22:15 people don't like being around me, apparently it's noisy 01:23:24 anvilicious 01:26:38 it would just be so cool if there were methane-based life on titan, diamond-based on uranus and plasma-based in the sun's atmosphere... 01:26:48 oerjan : You know what else does? 01:26:50 WATER 01:26:56 of course 01:27:06 google just uncensored google.cn, apparently 01:27:19 but iiuc there are very few examples 01:27:50 ehird: that sounds... dangerous 01:28:04 yeah, china are going to fly to the us, collectively 01:28:08 and murder the giant corporation 01:28:09 at least for their employees in china 01:28:16 oh wait 01:28:18 it's still censored 01:28:19 darn 01:28:22 just lies LIES and LIES 01:28:52 as i assumed. i really doubt google would do something that would risk their chinese employees being arrested 01:29:24 i think they are much more likely to just shut down the office, assuming they don't chicken out 01:31:31 -!- augur has quit (lindbohm.freenode.net irc.freenode.net). 01:31:31 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net). 01:34:16 why does google need an office in china, anyway? 01:34:32 http://hackage.haskell.org/package/acme-now 01:34:43 to earn money there? 01:34:53 drop a couple datacenters there, obviously 01:35:15 they're going to need someone who understands the culture 01:35:59 and to deal with the government. 01:36:30 otherwise they would not have a chance of not getting thrown out, i bet 01:37:44 you see, no matter how much some people would like it, google is _not_ going to be able to actually fight the chinese government in any way from within the country. that is just absurdly optimistic. 01:38:36 oerjan: Well, they *did* convince the government of the United States of America to take a good hard look at China because of their illegal actions... 01:38:42 Which is quite a lot of power... 01:39:19 well true... it might help against the actual hacking. but i doubt china will budge many millimeters on the censorship. 01:41:49 indeed. 01:42:30 -!- mycroftiv has changed nick to mycroshift. 01:53:42 -!- augur has joined. 01:53:42 -!- MizardX has joined. 02:29:43 $ ./sparkline 02:29:44 1 2 3 2 1 02:29:44 ▁▅█▅▁ 02:29:44 $ ./sparkline 1 2 3 02:29:44 ▁▅█ 02:29:47 Fuck yeah, Haskell! 02:29:59 $ wc -l sparkline.hs; wc -l ~/bin/sparkline 02:30:00 32 sparkline.hs 02:30:00 36 /Users/ehird/bin/sparkline 02:30:03 Fuck yeah, Haskell! 02:33:29 * oerjan has the vague memory of writing such a program in haskell before, possibly for lambdabot on #haskell 02:33:42 ~/bin/sparkline is python, btw 02:33:43 and old 02:34:18 oerjan: but does yours handle this? 02:34:19 $ sparkline 10000 -3.4 99 2348 9 4888 9000 02:34:19 █▁▁▂▁▄▇ 02:35:00 probably not, it was just a quick lambdabot command or something 02:35:21 $ sparkline 1 2 3 4 5 6 02:35:21 ▁▂▃▅▆█ 02:35:22 $ sparkline 1 2 3 4 5 6 7 02:35:22 ▁▂▃▄▅▆█ 02:35:22 $ sparkline 1 2 3 4 5 6 7 8 02:35:22 ▁▂▃▄▅▆▇█ 02:35:24 $ sparkline 1 2 3 4 5 6 7 8 9 02:35:26 ▁▁▂▃▄▅▆▇█ 02:37:04 reading this through the logs, IE doesn't seem to align all those blocks at the bottom 02:37:14 well, the last one isn't aligned for me 02:37:17 but the rest are 02:37:34 I prefer this, though, because without those chars there isn't much resolution 02:38:00 mhm 02:53:31 I'm looking through all the QBASIC programs I wrote when I was a kid! They're quite adorable. 02:54:16 also in the same folder were some interesting text documents... very interesting.. 02:54:55 also lolling at a book report I typed out: "I would recommend this book to a friend because it's a wonderful and exciting book. I loved it because you can't wait to hear what happens next. I adored the adventurous plots Georgie went through but I wished the Goose Prince hadn't died. That's what I think of this book." 02:55:47 * ehird attempts to reconcile that line with its predecessor, fails 02:56:16 but that's trivial! 02:57:07 otoh, what if we let them fight to the death instead 02:57:22 also some christian fiction piece that I apparently started and thankfully didn't get too far with. ugh. 02:59:12 That must be really boring fiction, deus ex machinas everywhere 02:59:17 "And then, Jesus did this thing! AXIOMATICALLY!" 02:59:56 as far as I remember, it was more like a god-discovering mary sue 03:00:51 now that I'm reading it, oh jeez. it's such a mary sue :/ 03:01:12 Gracenotes is female! 03:01:18 (Or transgendered.) 03:01:27 okay, or john sue. or something. 03:01:29 mary sue, jesus. sue jesus, mary 03:01:34 the male equivalent thereof 03:01:52 Marty Stu apaprently 03:01:54 Or Gary Stu 03:03:06 haha the originator of the term is hilarious 03:03:07 http://www.fortunecity.com/rivendell/dark/1000/marysue.htm 03:04:08 looking at my dreidel program again... the one where you press keys and win fake gelt 03:04:21 wat 03:05:25 das ist so falsch 03:11:20 I can paste a giant ascii dreidel into the channel now if you want :| 03:11:35 I made four varieties in said program. one for each side. 03:14:00 so i assume you were jewish :p 03:14:03 no wait, christian 03:14:06 with... jewish culture? 03:14:42 this is confusing! 03:14:57 Jewish family. which went on the Christian side some time in 2001 03:15:32 nowadays they attend church weekly. well, two+ times a week 03:15:53 http://en.wikipedia.org/wiki/Messianic_Judaism 03:16:31 but nowadays, mostly run of the mill christianity, plus a few jewish holidays 03:18:42 * oerjan is now less confused 03:19:57 and me, well, with reddit's religion of choice 03:20:33 Hinduism! 03:22:18 -. 03:22:56 .- 03:26:58 http://en.wikipedia.org/wiki/Atheism_in_Hinduism 03:27:43 yes, yes, we get it, people say atheism when they mean rationalism 03:27:46 big news :P 03:29:06 also, atheists believe they are rational 03:29:54 hm actually that should be i think 03:29:58 actually i dont quite understand atheism from a strictly rational perspective - because there seems to be this weird implicit acceptance of an arbitrary a priori definition of the word 'god' 03:30:14 it's called "the West" 03:30:29 it's 03:30:39 ah, perhaps 03:31:26 mycroshift: I don't agree 03:31:36 doesntexist(god) doesn't imply makessense(god) 03:31:49 because things that don't make sense don't exist, obviously 03:31:57 i disagree! 03:32:07 Making sense to who? 03:32:08 also, an interferer is perfectly sense-making 03:32:15 as well as an omniX one for restricted definitions of omniX 03:32:18 Sgeo: as in, logically 03:32:20 coherent idea 03:32:22 consistent 03:32:41 Some definitions of "god" are a coherent idea 03:32:47 they are 03:34:04 -!- pikhq_ has changed nick to pikhq. 03:34:09 well, obviously there is huge diversity under the label, but sometimes you get the strange sense that rationalists who strongly identify with the atheist label are determined to advance the claim that there is somehow both a 'correct' definition of god - and that it is maximally absurd 03:34:22 yesss 03:34:24 the worst part of this 03:34:37 is that the correct definition of god is some kind of american protestant fundamentalist god 03:34:55 they buy into the fundamentalist bullshit as surely as the fundamentalists, except don't get any fun out of it 03:35:00 There are definitions of "god" that most would call "incorrect": "God" = table, for instance 03:35:57 well, there are levels most atheists recognize. rejecting Christianity, rejecting deism, rejecting theism 03:36:12 mycroshift, Epicurus or whoever reminds me of that. "If he is neither willing nor able, then why call it god?" 03:36:53 but even if there's not a clear consensus definition-wise, there are things atheists tend to reject and accept which are part of atheism 03:37:24 Sgeo: so a god that knows everything about the present and past, and can do anything that isn't logically contradicting, including interfering with our world 03:37:26 you wouldn't call that god? 03:37:38 epicurus attacked the idea of a BENEVOLENT god 03:37:39 not a god 03:37:49 if you accept godlike powers + lets evil happening 03:37:51 ehird, I didn't say I agreed with Epicurus 03:37:53 then you have a perfectly consistent, evil god 03:38:06 I would call an evil god a god. 03:38:41 Hm, actually, that holds true even if I say that anything evil cannot be a god. Let me rephrase that. 03:39:01 I would call an evil thing "that knows everything about the present and past, and can do anything that isn't logically contradicting, including interfering with our world" a god 03:39:15 lol 03:39:19 way to accept "evil" 03:39:25 but get pissy about "god" 03:40:00 -!- MizardX has quit (Read error: 110 (Connection timed out)). 03:40:11 Do we actually need to define "evil" to use it in context of defining "God"? 03:40:18 uh well i sure hope so 03:40:28 because evil is an even more incoherent and unreal idea than god 03:41:36 only if you don't have a well-defined moral system — but, of course, identifying as having one just makes you whine about groups and philosophy or something. 03:41:52 all that talks about is human beings 03:41:54 Which is an interesting argument. "Evil cannot be defined!" "Well, I have a definition that I use..." "You suck!" 03:42:09 Pthing: in an argument evil obviously means "evil as I perceive it" 03:42:12 you don't get to apply this "evil" to trees or rocks or quasars or gods 03:42:29 ehird, oh well then let's just say god obviously means "god as I percieve Him" and we can all be speechwriters 03:43:00 moral :: Action → Universe → SomeFuzzyIntegerBooleanThing 03:43:51 All this boils down to is that morality and ethics are very hard to deal with in a coherent manner. :P 03:44:21 and therefore are very hard to exist 03:44:23 APPARENTLY 03:44:57 pikhq: well, I'd call my system of ethics WHICH I REFUSE TO NAME BECAUSE OF PTHING :| rather simple... 03:45:24 you should never be ashamed to be yourself :3 03:45:37 i'm just trying to avoid you blabbering :) 03:45:41 *blabbering :) 03:45:56 ehird: Categorical imperative? 03:46:26 CoughcoughuticoughlitarcoughiancoughcoughcoughHACKismCOUGH. 03:46:43 so what 03:46:50 shit, i thought that would dissuade pthing 03:46:51 you can say utilitarianism, i don't give a shit 03:46:57 why do you think i give a shit 03:47:06 Because the last time I did you ranted for 50 days. 03:47:27 you were probably saying something stupid related to utilitarianism that I forget what it was 03:47:45 I only said that my system of morals was consistent and logical. 03:47:48 oh yeah 03:47:51 that is really stupid 03:47:53 Are there any problems with "desire" utilitarianism? 03:47:56 Logical not as in the "everyone should accept it". 03:47:57 03:48:04 Logical as in consistent, so, uh, redundant. 03:48:08 Sgeo: define that 03:48:30 i don't get 03:48:37 how you can even ASSERT a thing like that 03:48:38 Pthing: stfu 03:48:40 * Sgeo looks for where he first read about it 03:48:43 ehird, but how?? 03:48:52 Pthing: Well, utilitarianism is consistent. 03:48:53 it simply is 03:48:56 so what 03:49:00 this is about you 03:49:06 You never run into a situation where something is seemingly both good and bad. 03:49:11 wat 03:49:12 And everyone gets the same results from it. 03:49:17 What other definition do you have of "consistent"? 03:49:41 you talk about "running into situations" but also utilitarianism in the abstract 03:49:52 the problem is that no one situation happens identically the same 03:50:06 That's not relevant to what I said. 03:50:11 why not 03:50:26 if it can't deal with real shit on the ground, it's a pretty terrible system of morals 03:50:33 Sure it can. 03:50:50 Of course it's an approximation. All quick human thought is, more or less. 03:50:59 * Sgeo doesn't find it :/ 03:51:02 beg pardon? 03:51:10 Sgeo: Well, explain it. 03:51:13 what is an approximation to what 03:51:28 Pthing: What you use to "deal with real shit on the ground" is an approximation of utilitarianism. 03:51:31 Let's see if I remember it properly 03:51:38 that is what i would consider a moral response 03:51:40 All quick thought, e.g. when dealing with real shit, on the ground, is essentially an approximation. 03:51:59 the quick thought is all that is the case! 03:52:05 And no systems of morality are truly calculatable in a real senes. 03:52:10 oh well see 03:52:11 They all say "happiness" or "pain" or whatever. 03:52:17 i have this problem that shit actually has to make sense 03:52:19 so 03:52:26 There exist desires and beliefs. A "good" desire is one which helps other desires get accomplished. A "bad" desire is one that hinders other desires. A "good" action is one that could be initiated by someone with a "good" desire, whether or not the desires that actually iniated the action are "good" 03:52:33 I might have gotten it wrong, though 03:52:51 it doesn't really help anyone to be able to assert that like 03:52:55 Sgeo: that doesn't terminate 03:52:58 what are the axiomatic desires 03:53:06 there exists a response in this situation that is consistent with all other responses! 03:53:15 otherwise we'll just have everybody trying to further everyone else's desire to further everyone else's desire to— 03:53:27 ehird, I don't know 03:53:42 http://commonsenseatheism.com/?p=772 is what I think is the source, but I don't remember reading a PDF 03:53:46 I remember reading a webpage 03:53:52 negative utilitarianism seems to be the best; it avoids the Repugnant Conclusion 03:54:02 but is still largely similar to regular utilitarianism 03:54:19 http://commonsenseatheism.com/?p=776 an FAQ, apparently 03:54:31 http://alonzofyfe.com/article_du.shtml this is what I read 03:55:11 also! 03:55:12 ehird 03:55:19 since you bring approximations into it 03:55:24 * Sgeo currently makes no stance as to whether or not it's a helpful system of moralityy 03:55:27 *morality 03:55:33 it follows that you cannot bring *any real situations* into discussions of morality 03:55:40 Pthing: disagree 03:55:42 since they are all approximations, and so introduce errors! 03:55:52 consistency is ruined 03:55:53 i think you're misinterpreting my words and i do not know how to fix that 03:56:00 buy better words 03:57:36 I'd like to buy a word for $10 03:57:49 okay your word is "meaninglessness" 04:02:25 -!- augur has quit (Read error: 113 (No route to host)). 04:06:20 -!- ehird has quit. 04:07:08 -!- oerjan_ has joined. 04:08:10 -!- oerjan has quit (Read error: 104 (Connection reset by peer)). 04:12:46 morning 04:17:29 -!- oerjan_ has quit ("Lost terminal"). 04:30:44 Hmm. Not being on Linux makes me feel uncomfortable. 04:31:09 Even though I've been on Windows for the past... while. 04:33:43 So, I wonder now what distribution I should get. 04:34:00 LFS! 04:34:09 That doesn't sound like it's a distribution. 04:34:35 -!- coppro has joined. 04:35:36 Does LFS mean you download the kernel, BusyBox, wget, gcc, install them, and then do the rest from there? 04:36:35 uorygl: No, it means you do the entire thing from an existing build system. 04:37:00 That too. 04:37:45 So it's what you would do to install Linux on an iPhone. 04:40:57 ... Uh, no. 04:41:17 Read the damned first chapter of the book. 04:44:57 It would be nice if I had the book. Or knew very well that a book existed. 04:52:02 -!- augur has joined. 04:53:06 -!- mycroshift has changed nick to mycroftiv. 05:13:38 "Linux From Scratch" is a book. 05:13:56 It's at linuxfromscratch.org 05:16:06 pikhq, he's offlne 05:16:11 He might not look it, but he is 05:16:24 And I'm going to go eat now 05:39:45 hmm... I've got a new idea 05:39:49 I want an XML format for nomograms 05:40:28 said XML format will have an XSL to turn it into an SVG 05:44:54 pikhq: since ehird isn't here, I hereby declare that the task of deriding my idea falls to you 05:54:34 LFS is the most awesome distribution ever. 05:54:58 LFS: The only distribution that's a book (probably?) 06:06:08 Gregor: fine, you comment 06:41:57 -!- FireyFly has joined. 07:09:07 -!- kar8nga has joined. 07:33:48 -!- FireyFly has changed nick to FireFly. 07:37:09 If this guy goes with multithreading, considering that we're using a non-thread-safe SDK, I'll slap him 07:41:50 there's a book with the source code for minix 07:43:40 Coincidentally, there is also a kook with the source code for minix. (I believe.) 07:47:48 are you calling me a liar 07:47:56 because if you are 07:47:58 i don't get it 07:48:50 incidentally i wonder if tomato juice goes bad if kept for a week in room temperature 07:49:27 Would a regular tomato? (Call you a liar.) 07:50:14 -!- FireFly has quit ("Leaving"). 07:50:43 tastes sorta funny 07:50:53 then again i guess it always does 07:51:53 Aren't those packages supposed to have storage instructions? 07:52:07 oh great idea 07:52:23 i haven't slept yet so sorta have no idea what's going on 07:53:21 once opened blah blah 4 days refrigerator 07:54:04 Then you just have to guess as to what sort of safty factor they've engineered in. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:23 -!- bsmntbombdood_ has joined. 08:06:57 -!- bsmntbombgirl has quit (Read error: 110 (Connection timed out)). 08:25:09 what's safty 08:25:44 Safety, misspelteded. 08:26:09 huh. 08:26:20 i think i get it 08:50:33 i feel like vomiting a liter of tomato juice 08:50:35 sleep time -> 08:57:20 -!- scarf_ has joined. 08:57:42 -!- scarf_ has changed nick to scarf. 08:58:47 -!- Pthing has quit (Remote closed the connection). 09:03:38 -!- AnMaster has quit (Read error: 60 (Operation timed out)). 09:05:39 -!- AnMaster has joined. 09:22:34 -!- MizardX has joined. 09:28:58 -!- coppro has quit ("I am leaving. You are about to explode."). 09:54:28 -!- kar8nga has quit (Remote closed the connection). 10:03:58 -!- scarf has changed nick to scarf|away. 10:06:55 -!- Pthing has joined. 10:37:18 -!- scarf|away has changed nick to scarf. 11:39:28 -!- rodgort has quit (Client Quit). 11:39:59 -!- rodgort has joined. 11:42:01 -!- cheater has joined. 11:42:08 hiiiiii 11:42:41 hi 11:51:50 -!- Deewiant has quit (K-lined). 12:04:10 -!- zeotrope has quit (Read error: 110 (Connection timed out)). 12:11:32 -!- Pthing has quit (Remote closed the connection). 12:34:34 -!- Deewiant has joined. 12:35:01 hi scarf 12:35:12 hi 12:52:26 -!- zeotrope has joined. 12:56:32 -!- AnMaster has quit (No route to host). 13:27:50 -!- BeholdMyGlory has joined. 13:29:24 -!- FireFly has joined. 13:30:06 -!- Pthing has joined. 13:39:12 -!- MigoMipo has joined. 13:58:20 -!- scarf has quit (Remote closed the connection). 14:01:00 -!- MigoMipo has quit ("Konversation terminated!"). 14:46:50 -!- cheater2 has joined. 14:49:53 -!- Pthing has quit (Remote closed the connection). 14:53:04 -!- cheateur has quit (Connection timed out). 15:30:29 -!- cpressey has joined. 15:57:52 -!- oerjan has joined. 16:07:50 -!- MigoMipo has joined. 16:07:57 -!- MigoMipo has quit (Client Quit). 16:08:13 -!- MigoMipo has joined. 16:26:59 -!- MissPiggy has joined. 17:05:35 Heh, funny; Debian sid upgraded to X.org 7.5, and now when I move my mouse cursor to one of the three monitors and press a key while it's there, X crashes with "Segmentation fault at address 0x38" somewhere under mieqPointerUpdateSprite. 17:06:03 The other two screens work just fine, though. 17:06:07 "Oh well." 17:06:28 Debian sid, AKA Debian "unstable" :) 17:07:12 Yeah, I guess I don't have anyone else to blame. It's just that it is only sporadically when I feel like debugging things like this, not all the time. 17:07:39 Eh, I use sid(ux) 17:07:55 -!- bsmntbombdood_ has quit (Read error: 60 (Operation timed out)). 17:08:18 I think that crashing screen's the one that's on the integrated Radeon display thing; the other two are on a separate graphics card. It's never really worked all that well. 17:08:54 -!- AnMaster has joined. 17:09:03 In my experience, mix n' match graphics cards is rarely a good idea. 17:09:35 Possibly, but it's the stupid that it's not a good idea; there's no theoretical reason why it shouldn't work. 17:09:58 It's not like I'm trying to do anything very demanding, like some sort of SLI dual-use of non-related cards. 17:10:01 Hello fizzie, welcome to Earth. 17:11:07 lol 17:12:12 -!- oerjan has quit ("leaving"). 17:25:12 -!- bsmntbombdood_ has joined. 17:29:44 -!- Slereah_ has joined. 17:29:58 * pikhq returns to the lambda-in-C-ness. 17:30:05 Church numerals, anyone? 17:32:55 Hell, Imma go ahead and make it all explicitly curried, just for the lulz. 17:33:00 -!- AnMaster has quit (Read error: 60 (Operation timed out)). 17:34:33 If I spray-paint a "9" on the wall of the local Episcopalian chapel, does that count? 17:38:00 churchSucc is ugly as hell. 17:38:02 Hooray. 17:38:25 -!- AnMaster has joined. 17:39:04 The only way I could make this uglier is to do thunks. 17:40:57 -!- kar8nga has joined. 17:41:30 -!- Slereah has quit (Read error: 110 (Connection timed out)). 17:43:19 return lambda(m, (closure m, closure n), return call(call(m,churchSucc),n);); 17:43:26 God, that's awful. 17:53:58 -!- cheater2 has changed nick to cheateur. 18:01:57 * pikhq can has church numerals 18:16:49 http://sprunge.us/WDhU 18:17:32 I've got half a mind to make the xgc_malloc a closure, as well. 18:22:57 pikhq do a lambda calculus meta interp in it? 18:23:27 I'll give you scheme code if you want 18:23:49 Maybe later. 18:46:54 The predecessor function is... Ugly as hell. 18:48:38 The explicit closing doesn't help matters any. 18:54:08 -!- AnMaster_ has joined. 19:04:04 -!- AnMaster has quit (Success). 19:04:29 -!- AnMaster_ has quit (Read error: 60 (Operation timed out)). 19:07:45 http://sprunge.us/CJXC Yeah, that's the most ugly predecessor function I've seen. 19:08:56 -!- AnMaster has joined. 19:17:26 * uorygl blinks at the syntax "closure m" 19:17:57 -!- augur has quit (Read error: 110 (Connection timed out)). 19:19:19 Yeah. 19:26:44 fuck my isp. they changed reverse dns completely today 20:09:45 -!- augur has joined. 20:15:22 AnMaster: in what manner? 20:21:25 SimonRC: Now all the PTR records too resolve names to IPs. 20:21:32 (Disclaimer: speculation.) 20:22:12 I can't remember what PTR records are supposed to do anyway 20:22:53 Point to the names corresponding to the IPs the records are named after. 20:23:41 ok 20:24:00 the .arpa stuff? 20:24:14 Right. 20:24:46 fizzie, no 20:25:03 but it went from *.cust.tele2.se to *.bredband.skanova.se 20:25:10 (modulo spelling) 20:25:14 That is a strange complaint; reorganizing the way dynamic IPs are named sounds like the prerogative of an ISP. 20:25:40 as long as they don't resolve to Church numerals, right? 20:25:52 fizzie, it broke the oper block on an irc network I'm an operator on. 20:25:57 had to ssh in and fix it 20:26:17 AnMaster: Yes, well, that is primarily your fault, for relying on something you had no business to rely on. 20:26:22 also it went from adsl2+ to adsl2 20:26:25 as far as I can tel 20:26:28 tell* 20:26:41 cpressey: Saunalahti (a Finnish ISP) uses (or at least used to use) roman numerals for names for dynamically allocated IPs. 20:26:47 sure I only have 8 mbit down but why would it change like that. 20:27:00 fizzie: nice. 20:27:03 they artificially limited it before, so... 20:28:21 Few lines from last: 20:28:22 htkallas pts/67 Thu Jan 14 11:21 - 11:30 (00:09) mmmdcccxxi.gprs.sl-laajakaista.fi 20:28:26 htkallas pts/55 Tue Jan 12 12:58 - 13:10 (00:12) yymmdcxxvi.gprs.sl-laajakaista.fi 20:28:29 Okay, "last -a". 20:35:51 "yy"?! 20:36:16 y? I only know M, D, C, L, X, V and I (and the line on top versions).... 20:36:38 I have a feeling Y is their own custom notation for ten thousand. 20:36:40 Maybe it's a really funky date format string. 20:36:41 maybe y = MMMMM MMMMM 20:36:53 SimonRC: MMMM, MARABOU. 20:36:53 y comes after x 20:36:59 ?? 20:37:17 Wonder if there is 'w' also... 20:37:21 SimonRC: http://www.brandsoftheworld.com/catalogue/M/49321.html 20:37:29 It's a brand of chocolate. 20:37:41 ok 20:37:48 not marborou then 20:37:54 *Marlboro 20:38:23 Anyway, it is not perhaps so convenient to have a combining upper-bar or whatever to do an X̅. 20:38:30 In a domain name, I mean. 20:38:38 Even though IDNs do exist, but still. 20:39:13 Go poke the RDNS of those netblocks and see what roman numbers come up? 20:39:54 There's a kmmcdxvii.gprs.sl-laajakaista.fi I have used before. 20:40:43 fizzie: Can you find one with both 'y' and 'k'? Any others than [YKMDCXVI] you can find? :-) 20:40:44 -!- augur has quit (Read error: 113 (No route to host)). 20:41:05 You can forward-lookup those names and start poking yourself. 20:42:22 Forget X̅, I want whitespace in my domain name. Specifically, tabs. 20:45:11 heh 20:45:21 What, U+2001 is not enough? :-> 20:50:34 Looks like Y is a myriad and K is a half-myriad. 20:50:44 What do those numbers denote, anyway? 20:50:59 In any case, I'd number them as if they were newly-discovered atomic elements. 20:51:30 SimonRC: MMMM, MARABOU. <-- XD 20:51:44 Myriad => 10 000... 20:53:01 -!- MigoMipo has quit (Excess Flood). 20:53:10 cpressey, I want right-to-left override in my dns 20:53:25 -!- MigoMipo has joined. 20:54:10 -!- MigoMipo has quit (Excess Flood). 20:54:36 -!- MigoMipo has joined. 20:55:05 IDN, anyone? 20:55:28 mentioned there above 20:56:36 Oh. That's what I get for reading channel logs in a random order. 21:00:01 Hrm, well; 85.76.191.100 maps to zyyykmmccxcix.dsl.sl-laajakaista.fi. I guess z could be 50000, then. 21:02:04 K is definitely 5000, though: 21:02:05 101.180.76.85.in-addr.arpa domain name pointer ZYYYMMMCMXCIX.dsl.sl-laajakaista.fi. 21:02:08 102.180.76.85.in-addr.arpa domain name pointer ZYYYMK.dsl.sl-laajakaista.fi. 21:04:55 Don't see anything past z yet; 85.76.191.255 is only zyyykmmcdliii.dsl, and the next one (.192.1) is a different block altogether, since that's yymdc.gprs. 21:10:31 zyyykmmcdliii => 87 453 or something? 21:10:42 That's what I think. 21:11:30 Ohhh, and there was that great noise when another dialup ISP had ROT-13'd "silly" (sometimes a bit... questionable) reverse-DNS names for clients. 21:13:11 Things like "gheirahvwn" -rot13-> "turvenuija", which is... can someone who does English more idiomatically provide a translation that captures the tone? 21:14:24 Well, Finnish-speaking folks can take a look at the historical list at http://www.lmmz.net/files/mtv3hosts/hurf/ 21:14:45 Something bit akin to redneck? 21:16:29 There's things like "smelly corpse", "new-media clown", "alcoholic", "jew" (in a derogatory tone), "commie", "rat food", "humanist", "beer gut" and other such less polite names. 21:17:05 "rectal expert", for example. I wonder if someone actually got fired over this stunt. 21:17:58 Oh, there's even separately "humanist" and "computer-illiterate humanist". 21:18:24 Or it is what resulted when someone's logic bomb gone off? 21:18:47 I don't think so; after all, they *were* rot13'd. 21:19:00 fizzie, what is y then? 21:19:16 AnMaster: 10000, wasn't it? 21:20:04 fizzie, ah 21:20:13 Also some of those are just strange (or alternatively I don't know the corresponding slang); for example "abscissa" isn't really especially disparaging, I don't think. 21:20:18 For bit more difficulty, they could have used some random substitutions (same for all names). Those are crackable, but not as simple as rot13. 21:24:13 Their PR release about it at least says it was done by a single employee with a "sick sense of humor" (their words). 21:25:23 heh 21:26:29 last xkcd was quite good btw 21:28:41 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)). 21:28:52 Yes, _really_ sick... 21:31:33 I guess I should play with ADO.NET 21:33:41 Oh, and the second-level names (like "titaa", "taatititi", ...) are single characters in morse code, in alphabetical order, denoting the third IP address byte. (With "ti" = dot, "taa" = dash.) 21:33:56 Or at least almost. 21:43:29 There are many duplicate lowest-level names... There are total of 631 names for 3810 hosts. Only 2 of those names appear only once. 'kannibaali' (cannibal) and 'tremolo' (tremolo?) both appear 13 times. 21:49:51 -!- coppro has joined. 21:58:53 -!- MigoMipo has changed nick to MigoMipo_Zwei. 22:03:28 -!- MigoMipo_Zwei has changed nick to MigoMipo. 22:05:51 -!- augur has joined. 22:18:57 -!- kar8nga has quit (Remote closed the connection). 22:19:32 anyone here have experience with SVG? 22:19:39 some 22:20:03 * Sgeo assassinates XML 22:20:07 erm, that was tasteless 22:20:29 I didn't think before I spoke 22:20:55 http://github.com/ <-- "GitHub is Temporarily Offline." huh 22:21:25 * pikhq can has cons cells 22:24:16 AnMaster: The twitter link also gave me a 503 :-) 22:24:26 Deewiant, 503? 22:24:32 Service unavailable 22:24:36 ah yes 22:24:56 Worked on a refresh though. 22:26:53 OpenVPN gets IPv6 in the "tun mode" (in addition to tap devices); openvpn-devel has the behind-the-scenes story: "After planning to force a student to write this part of code (who unfortunately sensed our plot and ran for his life) Gert Doering finally yielded to our begging and promises of beer and wrote the code." 22:29:50 -!- MigoMipo has quit (Remote closed the connection). 22:30:08 coppro, a little, but only by hand 22:30:23 FireFly: good, I'm looking for help with doing it by hand 22:30:34 I've just generated SVG with Perl. (A match made in heaven!) 22:31:32 fizzie, what is the diff between tun and tap? 22:31:57 I actually used w3schools for learning SVG :| 22:32:04 w3schools is pretty solid 22:32:22 I've heard they're pretty outdated when it comes to JS 22:32:22 I use befunge to generate svg 22:32:29 I'm trying to get my image to center vertically using viewBox 22:32:32 and it's not working :( 22:32:44 FireFly, coppro ^ 22:32:53 AnMaster: "tap" is a virtual ethernet device; you can run anything that Ethernet can carry over it. In contrast, the "tun" device can only tunnel IP packets through, it's a sort of a point-to-point tunnel thing. 22:33:04 fizzie, ah 22:33:06 that is, I want to '0' y coordinate to hit the middle of the screen 22:33:10 AnMaster: hmm? 22:33:23 coppro, I've never used viewbox :P 22:33:31 coppro, TURT is implemented in cfunge (and iirc also ccbi) as generating a svg 22:33:38 Oo 22:33:58 coppro, it is turtle style drawing. Might not suite your needs 22:34:12 no thanks, I'm looking for raw SVG 22:34:26 coppro, iirc it centers nicely 22:34:43 it seems I can get it to work if I make it go 3x as far above the origin as below 22:34:47 but why that is I cannot fathom 22:36:33 hmm 22:39:29 ah, I can use an transform 22:39:46 -!- mycroftiv has quit ("leaving"). 22:44:44 coppro, btw have you seen how bloated the svgs that inkscape produces are? 22:45:01 AnMaster: yes 22:45:06 use cfunge, it produces the very minimum really! 22:45:19 on two lines. One for the doc type, one for the rest 22:45:21 (iirc) 22:47:34 lol 22:47:41 Heap contains 13472 pointer-containing + 4096 pointer-free reachable bytes 22:47:42 seems excessive 22:47:49 Hooray, ridiculously inefficient bignums! 22:48:04 Oo 22:48:28 I use the genx library to do it 22:48:28 so blame it 22:49:52 I'm actually trying to learn SVG so I can write an XSLT to it 22:50:25 *cough* http://codu.org/rxml.php *cough* 22:52:27 haha 22:55:42 Heap contains 13472 pointer-containing + 4096 pointer-free reachable bytes <-- how is it implemented? 22:56:23 Gregor, at least it compresses well 22:58:24 Gregor, reduced to about 2.4% I think 23:02:08 I managed to read the link "Hats" at that page as "Guns". That's rather impressive. 23:02:59 Gregor, famous for wearing a different kind of gun on his head every day, chosen by web-vote. 23:06:29 -!- mycroftiv has joined. 23:13:41 -!- oerjan has joined. 23:18:03 night → 23:19:55 closure l = call(call(gen_list, church0), call(toChurch, 10)); 23:19:58 Whooo.... 23:30:32 pikhq, I'm an atheist! 23:30:38 night really → 23:33:59 Implemented? Why, church numerals! 23:34:48 you should use binary trees of booleans of course 23:35:34 acutally a guy I know worked on the proper representation of integers in dependantly-typed languages 23:35:47 or rather, Nats 23:36:10 I think the answer he (a type theorist) got was 3 cases: 23:36:13 * pikhq tries to figure out why in the world his code is executing: fromChurchBool fromChurchNum 23:36:37 Just... Why? 23:36:59 all zero bits, first half zero and second half a half-the-length number, both halves a half-the-length number 23:37:25 I forget why that slightly odd representation was chosen, but I assume he knew what he was doing 23:38:00 I've read some JFP about efficient binary numerals in lambda calculus, 23:38:42 I think it's just \zw.zzwwwzw for 1011100 23:39:20 doesn't work in a typed calculus though 23:40:34 SimonRC: it looks strange to have a special case for first half zero when you already have a case for all zero... 23:42:35 you'd think there would be multiple representations of the same number then... 23:45:00 anyone familiar with XSLT here? 23:46:06 oerjan: oh, I forgot, there are the obvious restrictions on parts not being zero, to avoid redundancy 23:46:10 coppro: a little 23:46:25 $2 = {func = 0x1, close = 0x0} 23:46:28 That's... Such a wrong closure. 23:46:29 SimonRC: How do I match against an element that is not a member of another? 23:46:32 Such a very, very wrong closure. 23:46:42 coppro: huh? 23:47:04 SimonRC: matches a bar that is a child of foo 23:47:10 I want to match a bar that is /not/ a child of foo 23:47:20 ah 23:48:11 not sure yet 23:48:26 ok 23:49:39 -!- FireFly has quit ("Leaving"). 23:57:21 There is something horribly wrong with this code. 23:57:36 * pikhq was unaware that 0x8 was the address of a closure. 2010-01-19: 00:00:10 lol 00:02:59 Play more Gorf! 00:03:01 -!- cpressey has left (?). 00:05:39 -!- jpc has joined. 00:06:06 -!- jpc has quit (Read error: 104 (Connection reset by peer)). 00:06:21 pikhq: until recently I was unaware as well 00:13:12 The only problem with my C lambda stuff is that it is *amazingly* hard to debug. 00:14:50 SPEAKING OF, 00:14:57 ? 00:14:58 pikhq: Did you see my improvement to the Plof parser's debugging? 00:15:06 -!- jpc has joined. 00:15:19 Gregor: I only saw that there was such a commit; I've not actually looked at the details. 00:17:11 oh, btw, is Lisp/LC in C++ templates a common thing that almost everyone has done, or is it just me? 00:17:35 (wondering if I should bother putting my stuff somewhere) 00:24:39 pikhq: what lang is that code in? 00:24:43 the $2 = ... 00:27:01 cheateur: That's GDB output. 00:27:40 hmm 00:28:20 oh ok. 00:34:21 -!- MissPiggy has quit. 00:36:23 -!- coppro has quit (Remote closed the connection). 00:36:49 -!- coppro has joined. 00:50:46 -!- coppro has quit (Remote closed the connection). 01:17:46 "Perl: the only language that looks the same before and after RSA encryption" 01:17:50 http://qntm.org/?msn 01:27:20 -!- MizardX has quit (Read error: 110 (Connection timed out)). 01:39:22 -!- coppro has joined. 02:13:47 -!- oerjan has quit ("Dizzy..."). 02:31:07 -!- Pthing has joined. 02:46:49 http://codu.org/music/op10/GRegor-op10.pdf wooh 02:47:15 C and large church numerals do not mix. 02:47:21 (go go gadget stack overflow!) 02:50:55 What are you using to typeset that? 02:56:19 Gregor: ? 02:56:31 Lilypond 02:56:37 Rosegarden to generate the Lilypond 02:56:45 (Although I then modify it by hand) 02:58:25 (Lilypond, if you don't know, is TeX for musical notation) 02:59:07 pikhq: ^^ 02:59:54 Huh. It appears to have a few issues... For example, measure 88; see the (I dunno what it's called, flag?) on the eighth and half notes in the treble clef? 03:00:41 Are you referring to the stems? 03:00:51 Argh. Yes, the stems. 03:01:00 It displayed two stems because I have a chord of dotted quarter notes overlayed with a dotted half note. 03:01:04 Don't know how to fix that ... 03:01:06 Darn tip-of-tongue phenonmenon. 03:01:50 It's also kinda odd-looking in measure 77 (half note and dotted half note) 03:02:03 -!- oerjan has joined. 03:02:04 I could've sworn Lilypond was smarter than that. 03:03:00 Heh, that's just borken :) 03:03:41 I'll fix that now. 03:03:44 That's an overlay problem again. 03:03:57 Maybe you could get the Lilypond developers to use Opus 10 for the stuff to fix in Lilypond? :P 03:08:38 Nah, they'd just tell me what the "right way" is :P 03:09:14 Which would also be useful. :P 03:12:23 OK, 77 is fixed. 03:12:30 Still have the multiple-stems problem. 03:14:11 -!- bsmntbombdood__ has joined. 03:16:55 Also, a rather large number of eighth notes appear to be detached from their stems... That's just plain odd. 03:17:24 -!- bsmntbombdood_ has quit (Read error: 101 (Network is unreachable)). 03:19:11 -!- jpc1 has joined. 03:21:02 even so 03:22:36 pikhq: ? 03:23:03 I don't know where the detached eighth notes you're referring to are. 03:23:45 Gregor: Only slightly so. 03:23:49 See measure 1. 03:23:52 Note 1. 03:23:56 -!- jpc has quit (Read error: 110 (Connection timed out)). 03:24:14 Even when I zoom in as far as I can, they're not detached for me. 03:24:33 Might be my PDF viewer being odd, then. 03:24:54 It's apparent even when not zoomed in here... 03:25:05 -!- bsmntbombdood_ has joined. 03:25:16 Hrm. The lines also have bizarre width... 03:25:21 I'm going with "PDF viewer bug". 03:28:46 -!- bsmntbombdood__ has quit (Read error: 54 (Connection reset by peer)). 03:34:43 -!- jpc1 has quit ("I will do anything (almost) for a new router."). 03:37:59 -!- jpc has joined. 03:47:55 in my dream, there was this death metal song, crucial to some sort of revolution, that said "space stations / given as nations"; where the latter verse actually means "taken as a given", but i only realized it was wrong after i woke up. oh and there was some spinning too. 03:48:28 (i always spin in my dreams) 04:05:16 -!- bsmntbombdood__ has joined. 04:06:49 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)). 04:25:51 spinning revolutions 04:34:06 :) 04:34:08 morninn 04:35:58 -!- bsmntbombdood__ has quit (Read error: 101 (Network is unreachable)). 04:39:37 morn' 05:32:11 "using events, by definition, even on a single threaded process, is multithreading" 05:35:01 "redefining terms, by definition, even when obnoxiously done, is genocide" 05:35:05 -!- jpc has quit (Read error: 110 (Connection timed out)). 05:37:50 -!- bsmntbombdood has joined. 05:39:57 Wooh! 05:40:04 I taught someone something new today! 05:40:14 (Had him try an experiment that proved that he was wrong) 05:44:45 -!- oerjan has quit ("Good something"). 05:45:46 -!- jpc has joined. 05:47:59 good for you 05:48:13 owned that bastard 05:49:22 -!- Ayeraw has joined. 06:09:18 -!- jpc1 has joined. 06:10:43 -!- jpc has quit (Read error: 104 (Connection reset by peer)). 06:18:21 -!- augur_ has joined. 06:18:32 -!- augur has quit (Read error: 104 (Connection reset by peer)). 06:31:24 -!- jpc1 has quit ("I will do anything (almost) for a new router."). 06:32:01 -!- jpc has joined. 06:34:55 -!- jpc has quit (Client Quit). 06:35:32 -!- jpc has joined. 06:43:58 -!- augur_ has quit (Read error: 60 (Operation timed out)). 06:55:49 -!- FireFly has joined. 07:20:39 I love using an OS with a scheduler 07:21:39 I take it you're not on linux then :) 07:28:01 I am 07:28:05 :P 07:50:12 -!- augur has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:14:51 -!- FireFly has quit ("Leaving"). 08:36:53 -!- jpc has quit (Read error: 104 (Connection reset by peer)). 08:37:34 -!- jpc has joined. 08:56:12 -!- jpc has quit ("I will do anything (almost) for a new router."). 09:07:33 -!- scarf has joined. 09:22:14 -!- Pthing has quit (Remote closed the connection). 09:32:43 hey guys 09:32:59 hi 09:33:05 someone set a ban on the ident that i'm using on #haskell 09:33:11 i'm scared 09:34:17 get a ghost 09:34:27 or whatever they call it 09:34:35 cloak, that's it 09:34:47 does the cloak change the ident tho? 09:34:53 I have a cloak 09:35:01 scarf is n=scarf@unaffiliated/ais523 09:42:55 but.. is your ident normally scarf? 09:43:24 cheater: oh, my IRC client lets me change it 09:43:39 the ident isn't checked in any way, you can put whatever you like there 09:44:15 well, there might be a ban on it; that's unlikely though 09:44:32 there's a ban on it in #haskell :S 09:44:56 What's the banmask? 09:45:54 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 09:47:57 The ident *is* checked, by doing an ident protocol request (see RFC1413); of course, if you control the machine you're connecting from, or if it doesn't run an identd, or if the identd allows for user-specific replies anyhow, then you can put anything there. 09:49:10 actually, Freenode seems to try to check it 09:49:19 but an identd request wouldn't get past the firewall here 09:49:48 Okay, so that's one more way to avoid the check. 09:50:27 If identd doesn't work or is blocked, one normally gets 'user' as user part. 09:50:59 One normally gets whatever one's IRC client specifies in the initial USER message at the beginning of the connection. 09:51:15 Though here with a "n=" prefix. And in many other places, with a ~ prefix. 09:51:48 I think Freenode's new server, the one they're going to switch to soonishly, also does the ~ prefix instead of the current n=foo/i=foo thing. 09:54:10 To be even more exact, the traditional IRCnet ircd has six different cases; no prefix for I-line (normal connection) with ident, ^ for ident with type "OTHER", ~ for no ident; and correspondingly +, =, - for i-lines (restricted connections). 09:54:49 Don't know if Freenode's seven will do all those. 09:58:03 Apparently it does just the ~ prefix. And even that's a configurable option. 09:59:37 Freenode's policy document or some-such used to justify the n=/i= prefixes so that you can set a ban on "?=bar", instead of having to use two bans ("bar" and "~bar") or "*bar" (which'd match "foobar" too). 10:07:24 -!- pikhq has joined. 10:08:36 -!- Pthing has joined. 10:23:11 -!- coppro has quit ("I am leaving. You are about to explode."). 10:41:12 -!- BeholdMyGlory has joined. 10:41:15 Ilari: it's *!gast@*.* can you do something about it? 10:44:27 cheater: Block identd? 10:46:16 Based on the fact that his current username has the "n=" prefix (as opposed to "i="), it's already blocked; it's just a matter of setting the client to send something else. 10:46:35 In general ban evasion is a good way of obtaining even more bans, though. 10:47:37 yeah 10:47:51 stupid xchat needs me to actually install ident -_- 10:48:01 * cheater is trawling through the manual. 10:48:29 fizzie: i talked to one of the ops and he said 'it's an old ban, i don't know why it is set, i am not going to touch it' 10:48:43 so, it's not a ban against .me. 10:49:19 I thought blocking/disabling identd causes the lhs to be 'n=user@' (if you aren't identified). 10:49:44 that's the thing, i am identified 10:49:49 nope, it uses whatever you put in the USER line 10:49:55 identification confirms the nick 10:49:58 it has nothing to do with the ident 10:51:01 ah. any idea how to change the user in xchat? 10:51:22 "User name" field in the network list/connect screen/whatever. 10:51:34 "network list" seems to be the dialog title. 10:51:58 there we go 10:52:05 -!- cheater has quit ("Verlassend"). 10:52:16 -!- cheater has joined. 10:53:25 thank you fizzie 10:55:13 Ah, right, that *!*Gast*@* ban might be related to what's being talked at in http://irclogs.ubuntu.com/2008/05/15/%23ubuntu-ops.txt -- just search for "gast". 10:56:04 Banning "*gast*" is a bit overkill; I would think it matches a number of perfectly reasonable words, for example. 10:56:31 Freenode's +d "realname bans" are funky. 10:57:51 but it is not a realname ban, only an ident ban 11:00:13 Yes, that was just an aside; the log I linked to considered a "Java user" realname ban. 11:01:18 There seems to be some sort of a general rule that channel #x has a huge list of bans for all x where x is the name of a Linux distribution. 11:04:46 ah ok 11:20:03 -!- MigoMipo has joined. 11:21:08 -!- MizardX has joined. 11:29:00 -!- scarf has changed nick to scarf|away. 11:36:30 -!- scarf|away has changed nick to scarf. 11:39:19 -!- Pthing has quit (Remote closed the connection). 12:17:40 -!- Pthing has joined. 12:36:20 anyone know why in haskell [0.1, 0.3 .. 1] turns out to contain 1.099999...? 12:58:41 -!- bsmntbombdood has quit (Read error: 113 (No route to host)). 13:00:10 -!- bsmntbombdood has joined. 13:05:10 -!- scarf has changed nick to scarf|away. 13:09:26 cheater: http://docs.sun.com/source/806-3568/ncg_goldberg.html 13:12:19 Deewiant: non-helpful 13:12:37 Or did you mean that it's greater than 1? enumFromThenTo works like that, it goes up to the last thing that's >= the end point 13:13:09 Or was this just an artifact of floating points being Enum, I forget. 13:13:19 according to the haskell98 report, it should end when the next item would be higher than a3 13:15:44 Actually, it does a takeWhile (<= a3 + (a2-a1)/2) 13:16:24 http://www.haskell.org/onlinereport/standard-prelude.html 13:18:21 so this is an implementation bug 13:18:22 right? 13:18:44 No 13:19:26 takeWhile (<= a3 + (a2-a1)/2) i.e. takeWhile (<= 1 + (0.3-0.1)/2) i.e. takeWhile (<= 1.1) 13:19:26 it is, because the implementation does not do what haskell 98 defines 13:19:40 The above is what Haskell 98 defines 13:19:47 Copied from the link I pasted above 13:20:01 (With different parameter names since you already used a3) 13:20:01 can you find the exact wording of the haskell 98 definition? 13:20:16 numericEnumFromThenTo :: (Fractional a, Ord a) => a -> a -> a -> [a] 13:20:16 numericEnumFrom = iterate (+1) 13:20:16 numericEnumFromThen n m = iterate (+(m-n)) n 13:20:16 numericEnumFromTo n m = takeWhile (<= m+1/2) (numericEnumFrom n) 13:20:16 numericEnumFromThenTo n n' m = takeWhile p (numericEnumFromThen n n') 13:20:18 where 13:20:20 p | n' >= n = (<= m + (n'-n)/2) 13:20:23 | otherwise = (>= m + (n'-n)/2) 13:20:46 And relating to the expression itself: "Arithmetic sequences satisfy these identities: .. [ e1,e2..e3 ] = enumFromThenTo e1 e2 e3" 13:21:05 (From http://www.haskell.org/onlinereport/exps.html#sect3.10 ) 13:21:28 according to http://www.haskell.org/onlinereport/derived.html enumFromThenTo x y z = map toEnum [fromEnum x, fromEnum y .. fromEnum z] 13:22:03 cheater: For derived instances of Enum 13:22:14 Not all instances 13:22:26 i am not sure what derived instances are and why they are different 13:22:55 Have you been reading the report in order? :-P 13:23:02 of course not 13:23:06 Top of that page: "A derived instance is an instance declaration that is generated automatically in conjunction with a data or newtype declaration." 13:23:26 I can do "data MyBoolean = MyTrue | MyFalse deriving (Enum)" 13:23:49 And enumFromThenTo would then work as you described. 13:24:17 ok 13:25:52 thanks Deewiant 13:25:56 that was quite helpful 13:26:35 As to the deeper "why" of why it's defined like that for Float and Double, I can't say. 13:26:55 i think it's fairly dumb 13:27:38 Oh, right 13:27:42 -!- MigoMipo has quit ("Page closed"). 13:27:43 toEnum truncates to Int 13:28:05 not sure what that gives us 13:28:13 So you need to take more elements than necessary because you've lost info at that point 13:28:38 "Technology overview: Cognitive radio". Wow, that's so buzzword-compliant; I have no idea what it actually means. 13:28:43 Except that that doesn't make any sense because there's no need to use toEnum anywhere 13:28:43 isn't that quite shit, Deewiant 13:28:52 cheater: The "shit" is that Float and Double are instances of Enum 13:29:04 That, in itself, is shit 13:29:16 TBH I don't care about the details of how their implementation is shit :-P 13:29:20 i don't know haskell enough to fully follow that through but ok 13:35:10 "The demo presents the use of micro-array LEDs for displays embedded in contact lenses." It's things like these that at least partially alleviate my disappointment of it being 2010 already. 13:35:22 Things still suck and all, but a display in a contact lens. 13:36:44 cognitive radio is the stupidest name, yes 13:39:16 fizzie: Incidentally: is something other than Java acceptable for the AI tournament? 13:40:00 Deewiant: If you can compile it to JVM bytecode and make it work in the tournament system, yes. 13:40:06 -!- BeholdMyGlory has quit (Remote closed the connection). 13:40:13 Alright, cool. 13:40:42 I don't have my workstation online, but I think someone participated with Scala last year. 13:41:28 Presumably it's a handicap as anything non-Java tends to be slower on the JVM 13:42:08 That's possible, but I don't think I could find a fair way of mitigating that. 13:42:36 No, certainly not. I wouldn't expect you to. 13:42:58 Hm, last year's bot file sizes are all pretty tiny; perhaps it was the year before. 13:43:32 Can you tell what language it's in from the file size? :-) 13:44:17 Not in the general case; but the single non-Java participant I remember seeing was a megabyte or two, since they had to bundle the language's standard-library-equivalent in there. 13:44:40 Ah, yes, that can happen. 13:45:31 I may have had some sort of file size limit in place, mostly due to the Computing Centre quota. 13:45:59 You can request a quota-expansion, you know. You'd probably get it for this. 13:46:46 Probably, I just haven't bothered. It's not like there are more than one or two freaks, uh, I mean... differingly language-opinionated folks, in each year's list of participants. 13:46:56 :-) 13:48:11 Deewiant: Since you hang around nearby, I guess I could copy on the link: http://research.nokia.com/Otaniemi_demo_house 13:48:15 I'll translate CCBI to Clojure, write the thing in Befunge and bundle that along with the Clojure interp 13:48:41 Our speech-to-text demo is going to be there, though it's nothing too fancy. 13:49:36 The others are a bit more... flashy. Thought controlled games and so on. 13:50:11 My wednesdays are rather booked by the school as it is, I probably won't be there 13:50:31 Isn't your software freely available? ;-) 13:51:26 Not really, though I guess that's mostly a matter of not having enough resources to construct a distributable thing out of it. We have some components downloadable, like that VariKN language-modelling toolkit, and the Morfessor thing. 13:52:11 And of course it's just a trivial matter of implementation to reconstruct our system from the published articles about it. 13:52:17 Of course. 13:52:25 It's just code, after all. 13:54:00 I dislike the fact that the bot-submission CGI script for the AI competition says "my $deadline = ...", since it's not really *my* deadline. 13:54:16 So write "their $deadline = ..." instead. 13:55:17 I guess http://www.cis.hut.fi/projects/speech/demo/ is the closest equivalent to "freely available". 13:56:04 Yes, and that one requires an account too. Though you get that via email. 13:56:25 A more flashier online-demo -- perhaps even something running client-side -- has been talked about, but it's obviously not very high on the priority list. 13:57:13 Presumably you have something like http://www.cis.hut.fi/projects/speech/srdemo.jpg - just tarball it and torrent the presumably-multigigabyte language model :-P 13:58:40 Ooh, that's an old image; it looks better nowadays. 13:59:55 Anyway, yes, we have that thing; it's just not very user-friendly. I don't really know, software-distributionary policy decisions aren't really my department. 14:00:30 Since when is any research project of the university user-friendly anyway 14:03:49 News headlines talked about in the lunch table: "U.S. group sends solar-powered Bibles to Haiti -- Not any Bible. These are solar-powered audible Bibles that can broadcast the holy scriptures in Haitian Creole to 300 people at a time." 14:04:13 "Called the 'Proclaimer,' the audio Bible delivers 'digital quality' and is designed for 'poor and illiterate people,' the Faith Comes By Hearing group said." 14:04:20 That's an awesome name. 14:04:34 money well spent 14:10:00 -!- scarf|away has changed nick to scarf. 14:54:25 -!- Sgeo_ has joined. 14:54:32 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)). 15:19:51 Surely it's better to let people die and go to heaven than let them live and have them end up in hell! 15:23:18 they're catholics, reading the bible at them isn't how you save catholics 15:23:21 ignorant americans 15:24:46 -!- Pthing has quit (Remote closed the connection). 15:33:53 -!- cpressey has joined. 15:55:52 My dad apparently believes that barackobama.com is a scam site 15:56:10 Because it doesn't end with .gov 15:57:10 -!- FireFly has joined. 16:17:54 -!- BeholdMyGlory has joined. 16:41:51 -!- Leonidas has quit (lindbohm.freenode.net irc.freenode.net). 16:42:01 -!- Leonidas has joined. 16:44:57 -!- MissPiggy has joined. 16:45:54 -!- augur has quit (Read error: 110 (Connection timed out)). 17:09:12 -!- Pthing has joined. 17:14:11 -!- augur has joined. 17:24:34 -!- augur has quit (Read error: 60 (Operation timed out)). 17:36:44 -!- augur has joined. 17:55:45 fizzie, do you (or anyone else in this channel reading this) know of any program that is able to fix the "bent" image from scanning a book 17:55:56 near the middle of the book you know 17:58:27 * Sgeo keeps campaigning for coakley 17:58:37 for who? 17:59:35 Martha Coakley for U.S. Senator from MA 17:59:49 As opposed to Scott Brown, who would kill Healthcare Reform 18:01:04 oh you are in US? hm 18:01:45 ah yes it was Slereah who was in France. Someone with a nick starting with S anyway 18:20:31 -!- cheater2 has joined. 18:21:51 -!- kar8nga has joined. 18:24:57 -!- Asztal has joined. 18:30:46 Again I must ask ... why is it that everyone writes left-recursive grammars, then writes left-to-right parsers, when right-to-left parsers make left-recursive grammars SO much easier to parse. 18:33:17 -!- zeotrope has quit (Read error: 60 (Operation timed out)). 18:36:03 -!- cheateur has quit (Connection timed out). 18:37:57 Because Yacc does left-to-right parsers? :P 18:42:22 The "healthcare reform" is giant piece of CF anyway. Doesn't fix the real problems. 18:44:30 -!- augur_ has joined. 18:45:07 -!- augur has quit (Read error: 104 (Connection reset by peer)). 18:46:01 I blame it on the ubiquity of left-to-right lexers. 18:46:12 (the problems with the US health system, I mean) 18:46:37 -!- scarf has quit (Read error: 113 (No route to host)). 18:47:26 Actually, I advocate outlawing all medicine. (Seriously. A black market would probably work better than the current system.) 18:51:40 -!- oerjan has joined. 18:52:01 -!- MigoMipo has joined. 18:55:16 Gregor, write a right recursive parser then 18:55:33 err 18:55:37 right recursive grammar 18:55:39 I meant 18:57:58 Ilari: it's *!gast@*.* can you do something about it? 18:58:37 since that means "guest" in german, i take it they had a german spammer problem once, and didn't realize (or maybe care) that it's a very generic word 18:59:31 AnMaster: right-recursive grammars suck. 18:59:43 1-2-3 != 2 19:01:33 cpressey: Actually, that made me think ... probably the only reason why everybody does everything left-to-right is that early compilers were all one-pass, and you can't do right-to-left in one pass with most filesystems (they'll only give you the file left-to-right). So the lexers are l->r because the file I/O is l->r, and the parsers are l->r because the lexers are l->r. 19:02:22 And nobody will indulge themselves in the sweet awesomeness of an R->L parser because they're stuck believing that they can't buffer the lexical tokens and read them the other way. 19:02:35 -!- cpressey1 has joined. 19:02:54 I just sent a message to cpressey that he apparently didn't receive! :P 19:03:11 temporary network outage. 19:03:22 cpressey: Actually, that made me think ... probably the only reason why everybody does everything left-to-right is that early compilers were all one-pass, and you can't do right-to-left in one pass with most filesystems (they'll only give you the file left-to-right). So the lexers are l->r because the file I/O is l->r, and the parsers are l->r because the lexers are l->r. 19:03:23 And nobody will indulge themselves in the sweet awesomeness of an R->L parser because they're stuck believing that they can't buffer the lexical tokens and read them the other way. 19:05:15 Gregor: yes, I was going to blame the left-to-right-ness of streams first. But then I considered that files are often memory mapped by the OS these days, and the order in which the tokens come is really the lexer's responsibility... 19:05:25 ouroboros parsing, anyone? :D 19:05:52 also, only L->R makes sense for interactive use... 19:06:34 oerjan: So what you're saying is, file I/O is l->r because time goes forward, not backward! 19:06:44 and also, if you are parsing simultaneously with downloading from the net... 19:07:02 yeah 19:07:24 Not that a file has a "left" anyway 19:07:28 time travelers' computers must be _so_ messed up 19:07:34 Bloody human conventions. 19:07:51 One way one might try to fix the US healthcare would be to restrict how low deductibles insurance can have. Except that would be unconsitutional (unless done by states, and there are 50 of them). 19:09:58 Not that feds care much what is constitutional or not... 19:10:06 * oerjan thinks that "prior condition" thing is messed up too, and seems impossible to solve unless everyone has mandatory insurance from birth... 19:11:22 oerjan: Many people here seem to think that any form of mandatory health care is evil and communist. 19:11:28 Yeah, it is messed up. When I explained to my father what insurance companies do with "prior condition", he wouldn't believe me at first... 19:11:51 "I HAVE THE RIGHT TO NOT HAVE HEALTH CARE", they assert. 19:15:24 Then there is "preventative healthcare". Some of it (like most vaccines in standard vaccination programs) is spectacularly cost-effective. Some it is are complete BS. And stuff in between. 19:16:26 People seem to be ignorant that we already pay through the nose for healthcare, universally... 19:16:39 Emergency rooms are required to accept anyone. 19:17:04 Most of the charges from uninsured people going to an ER are footed by the government. 19:17:24 So, we're already paying for health care, we're just doing it in the most spectacularly inefficient way we can manage. 19:17:34 -!- cpressey has quit (Read error: 110 (Connection timed out)). 19:17:46 -!- cpressey1 has changed nick to cpressey. 19:17:55 And "death panels". The _already_ exist in US. 19:18:17 Yup. We call them "the insurance company". 19:20:38 I don't think the requirement that ER accepts anyone is that bad. There is probably much much worse stuff that really screws things up. 19:20:51 anyone know why in haskell [0.1, 0.3 .. 1] turns out to contain 1.099999...? 19:21:56 cheater2: i think it is because if they put the cutoff exactly at 1, they could lose 1 itself because of rounding errors. so they do it at the halfway point instead, sine that seems the next most obvious choice... 19:22:22 yeah 19:22:25 Ilari: It's not that requirement that's bad. 19:22:29 use rationals instead of floats 19:22:33 -!- zeotrope has joined. 19:22:44 Ilari: It's the fact that that is the only universal healthcare available, and therefore what many people *soley* use, that's bad. 19:23:01 -!- zeotrope has changed nick to Guest83037. 19:23:06 Ilari: It's what makes the US government spend more per capita on healthcare than any other nation. 19:30:29 * oerjan notes that norway is no. 3 on the http://www.nationmaster.com/graph/hea_spe_per_per-health-spending-per-person list, and it's _not_ because of quality 19:30:39 I don't think that is the cause why healthcare spending is out of control. 19:30:51 yeah our spending is out of control too 19:31:55 oerjan: How many people are financially ruined because of your spending? 19:32:15 ok we may not have _that_ problem (much, anyway) 19:32:51 One thing is for sure. The US healthcare system is giant Charlie Foxtrot. 19:33:30 Also, that graph is off... 19:33:44 The per capita spending here is more like $7,000. 19:34:09 huh. 19:35:24 maybe the rest is insurance company profits ;D 19:36:32 There is some 30% administrative overhead. 19:37:29 And 15% of the population has literally no coverage... 19:40:00 And what percentage of citizens that would want coverage don't have one? 19:41:31 i think the reverse of that percentage is more meaningful 19:42:39 (i.e. the percentage of citizens that don't have coverage who would want one) 19:44:02 Yeah that could be meaningful too. But the "citizens" numbers are more meaningful than "all people" numbers. 19:44:04 -!- kar8nga has quit (Remote closed the connection). 19:44:47 -!- coppro has joined. 19:47:38 The difference between "citizens" and "all people" is that latter also includes legal aliens (shouldn't be much problem) and illegal aliens (these pretty much can't have coverage anyway). 19:48:58 Again I must ask ... why is it that everyone writes left-recursive grammars, then writes left-to-right parsers, when right-to-left parsers make left-recursive grammars SO much easier to parse. 19:49:45 * pikhq notes that "immigration" is an outmoded concept. 19:49:55 Why can't we all just sign onto Schengen? 19:49:58 it's not necessary LR(n) from the right just because it's from the left, i think, so you might get hideous ambiguity 19:50:25 oerjan: Yes, that's true. 19:50:58 oerjan: I'm talking more about hand-written parsers though, so lookahead isn't a huge issue necessarily I think maybe. 19:51:02 in fact i think most languages are designed to have little ambiguity from the left, while no one cares about the other way 19:51:25 I'm going to finish writing my R-L JavaScript parser and see where my hangups are :P 19:51:53 R-L? 19:51:54 (of course you still wouldn't get _global_ ambiguity) 19:51:56 mmapping won't solve all the problems with lexing R->L. Pipes and that sort of stuff is just the most obivious, even mmaps are mostly designed to be read forwards or randomly, not backwards. 19:51:59 oh, parser 19:52:02 nvm 19:52:34 Ilari: We're living in the future, it's not that big a deal. 19:53:03 * oerjan wonders if it would have been the other way around if the japanese had invented the main computer languages 19:54:03 (japanese being a natural language which branches the other way iiuc) 19:54:15 One test one could try: How fast can computer read large file forwards and how fast it can read it backwards (if file is too large to fit in RAM). 19:54:18 Odds are, we'd be using RPN languages. 19:54:30 -!- Pthing has quit (Remote closed the connection). 19:55:10 although human cognitive load considerations or something would probably imply left-to-right parseability regardless 19:55:14 Ilari: Unless it's a pipe or in FAT, "just as fast". 19:55:46 oerjan: I've wondered that too, but I suspect that Forth would have a large cult following in Japan if that effect were in play, and I've not seen evidence of that... 19:56:16 Instead... Ruby :) 19:56:20 heh 19:57:58 Also, I feel I must point out that if there's one language where there's an actual use case for parsing while it's coming to you over a pipe and not a disk file, it's Javascript. 19:58:51 But that's just me being pedantic. 19:58:54 Play more Gorf! 19:58:58 pikhq: Well, try it (the defintion of processing could be function that takes chunk of data and does nothing)? 19:59:01 well html itself too, it's a language for parsing purposes 19:59:14 it's an SGML profile 19:59:31 * oerjan knows that 20:00:24 `swedish Play more Gorf. 20:00:26 Pley mure-a Gurff. \ Bork Bork Bork! 20:01:33 mmmm, leverpastej med gurka! 20:01:49 Actually, I advocate outlawing all medicine. (Seriously. A black market would probably work better than the current system.) 20:02:03 i hear that didn't quite work for abortion, back in the day 20:02:42 * oerjan just had leverpastej, but no gurka 20:03:03 oerjan: fail 20:03:41 actually red beets is the mandatory condiment for leverpastej here 20:04:00 -!- jpc has joined. 20:04:11 woah! weird 20:04:16 but sadly i didn't have that either 20:04:27 maybe something to try after the can of cucumber runs out 20:04:47 pickled (?) red beets, mind you 20:05:11 ok cucumbers are not exactly unheard of either 20:05:29 although with red beets, _beware_ of spilling and soiling 20:07:15 I can imagine... I have vinegar from the cucumber all over my desk, but luckily it's colorless 20:07:49 yeah 20:08:55 oerjan: Well, that was more of a comment on the abysmalness of the current system than on the effectiveness of any proposed alternative. 20:09:35 i detected _no_ sarcasm in that <_< >_> 20:11:17 http://www.youtube.com/watch?v=MjMYQyhjiYA 20:11:52 COMPLETELY OBVIOUS DISCOVERY: Although there are more cases of left-recursion than right-recursion, the right-recursive cases are REALLY REALLY NASTY (IfStatement : 'if' ... Statement, Statement : ... | IfStatement | ... ) 20:13:02 * oerjan had to turn off that youtube before getting to the actual sarcasm. sitcom allergy, sorry 20:13:43 oerjan: It's not a sitcom, it's a skit by a comedy troupe. 20:13:53 well, same poison 20:14:07 oerjan is against ... media. 20:14:09 Or humor. 20:14:10 Or something. 20:14:42 Monty Python too? 'Cos KitH is just the Canadian version, really. 20:15:04 Except much better, of course. 20:15:07 oh monty python i can stomach, some of it 20:16:48 i just cannot cope with looking at people really embarassing themselves 20:16:55 Ohhh, Kids in the Hall! 20:16:58 You're dissing Kids in the Hall? 20:17:01 Pfffff. 20:17:26 oerjan's rank is now lowered to 2/5ths of a person. 20:17:37 who, me? i don't even know who kids in the hall are. i don't watch tv, remember? 20:17:50 However, speaking of Canadians and actual sitcoms which are funny, Corner Gas is hilarious. 20:19:02 what in a who now? 20:20:02 oerjan: Well, now you do. They're Canada's answer to Monty Python. 20:20:34 i don't think those guys were very good actors 20:20:40 Well, "answer" is maybe the wrong word, but you get the idea. 20:20:49 everyone is everyone's answer to monty python these days, aren't they 20:20:55 <3 Corner Gas 20:21:23 heck norway's answers to monty python started dying _off_ in the last decade :D 20:22:09 These days? I don't think there are comedy troupes anymore. Culture has disintegrated too far. KitH was like 1992. 20:22:10 i hear this monty python thing is pretty good 20:22:12 I prefer Monty Python. They're Britain's answer to Monty Python. 20:22:31 i just realized that after making this comment 20:24:03 cpressey, link to this Canadian answer? I can't locate it. Unless it is that last youtube link? 20:24:16 * coppro listens to ISIHAC 20:24:17 *the previous 20:24:18 (sparse log reading does have some downsides) 20:24:27 oerjan, hm? 20:24:38 oerjan, was it http://www.youtube.com/watch?v=MjMYQyhjiYA ? 20:24:45 yes 20:24:46 AnMaster: the last youtube link is a fairly good introduction. 20:25:14 mhm 20:25:39 cpressey, btw I don't watch tv either 20:27:00 * AnMaster agrees with oerjan 20:27:07 on the unwatchability of it 20:27:29 cpressey, ^ 20:27:39 I think the only modern tv show I've been able to watch has been "Good Eats". 20:28:00 cpressey, star trek tng, I voyager maybe 20:28:04 nothing newer than that 20:28:18 s/I / 20:28:42 ... You enjoyed Voyager? 20:28:46 -!- Guest83037 has quit (Read error: 110 (Connection timed out)). 20:29:00 The show where trans-infinite velocity has meaning? 20:29:22 i should (or maybe it would have been better not to) point out that by "embarassing themselves" i was referring to the characters, not the actors. 20:29:25 pikhq, I said "maybe" 20:29:36 a few of the episodes certainly, some definitely not 20:29:48 pikhq, I didn't watch all episodes 20:30:00 I probably missed that one with "trans-infinite velocity" 20:30:19 in case that has something to do with me being relegated to 2/5th person 20:30:23 AnMaster: Voyager had a range from horrible to mediocre, with a couple actually being good... 20:30:54 pikhq, I guess I mostly hit the mediocre and one of two of the good ones then 20:31:01 Probably. 20:31:12 oerjan: don't worry, to me, you are at least 2 and a half persons 20:31:23 "Break the warp 10 barrier!" "Warp 10... Isn't that like infinity?" "Yes." "So... Very fast?" 20:31:24 i guess that cancels out :D 20:31:26 pikhq, also, if isn't quite as bad if you are watching it to experience the treknobabel 20:31:34 ^ Actual. Conversation. 20:31:47 pikhq, well that's bad indeed 20:32:04 pikhq, "so good it is bad"? 20:32:05 errr 20:32:08 so bad it is good 20:32:09 That sounds funnier than any comedy troupe I can think of. 20:32:09 XD 20:32:14 No, so bad it's painful. 20:32:26 pikhq, starwars holiday special (not that I watched it) 20:32:34 So bad it's horrible. 20:32:50 THEY ACCELERATE TO IT. 20:32:52 Mind you, the Voyager writers have disowned the infamously-retarded "Warp 10" episode. 20:32:57 ACCELERATE TO INFINITY AND BEYOND. 20:33:11 http://tvtropes.org/pmwiki/pmwiki.php/Main/SoBadItsGood http://tvtropes.org/pmwiki/pmwiki.php/Main/SoBadItsHorrible (MWAHAHA) 20:33:12 Gregor: True. Still... 20:33:37 pikhq, well to infinity isn't impossible. Just double your speed the first minute, then double it again after half a minute, and again after a quarter of a minute, and so on 20:33:45 beyond I doubt 20:34:08 Going to warp 10 was only the /beginning/ of the retardedness of that episode. 20:34:09 oerjan, I use a custom css so I can't see the links for that site 20:34:26 Ah, well. Is your velocity *countably* infinite or *uncountably* infinite? Which aleph are we talking about, here? 20:34:28 AnMaster: for safety? 20:34:34 oerjan, yeah 20:34:41 darn my plans foiled 20:34:47 Yes. That was the stupidity that *started* the episode... 20:34:59 I refuse to even mention the rest of the stupidity that was that episode. 20:35:15 In a series that was pretty mundane, that was an episode that was astoundingly awful. 20:35:40 The vast majority of the series was rather... Meh. 20:35:43 Which is worse: using SQL Server Compact, or using SQLite but installing Visual Studio? 20:35:43 Not terrible, just meh. 20:35:52 But when it was bad, it was horrible. 20:36:39 I'll just note that there is one, and only one, consistent way to explain everything that occured in it: infinite improbability drive. 20:38:01 Sgeo: They're both pretty awful, but with the latter you have a prayer of portability. 20:50:09 TNG or TOS, which was best? 20:50:49 TNG > TOs 20:50:50 pikhq, what was that episode called btw? 20:50:51 *TOS 20:51:08 coppro, what about DS9? (I never watched any episodes from it) 20:51:22 some of DS9 is really good 20:51:22 AnMaster: Threshold. 20:51:30 pikhq, mhm 20:58:00 AnMaster: I don't know of a specialized program for that scan thing, but certainly you could try adding short line segments that trace the rows of letters in the book marked as horizontal lines in Hugin, then letting it optimize all those lens distortion parameters; it might find something that straightens them, though probably not very well. 20:59:35 The DS9 abbr always reminds me of the DeathStation 9000 first. 20:59:46 fizzie, I did some experiments, no luck 20:59:55 also it should do colour correction IMO 21:00:06 since it is way darker towards the middle 21:00:19 fizzie, that would be DS9K 21:00:40 I know, but that's always my first connotation anyhow. 21:08:28 -!- oerjan has quit ("Later"). 21:09:46 Deewiant: Checked; it was indeed in 2008, and Scala, and a 3212277-byte .jar, and MAIMTRON 9000 in http://www.cs.hut.fi/Opinnot/T-93.4400/2008/results/ 21:10:51 I don't suppose you have stats for how often they timed out? 21:11:28 Deewiant: I'm not sure. There's something about CPU usage in the "details" page. 21:11:57 Ah, so there is. 21:12:00 Didn't notice that page. 21:12:30 319.6 seconds/game on average; 3600 seconds was the limit. Probably didn't run out of time very much. 21:12:35 Oh, and I guess there might be the plot too. 21:13:02 "Per-bot statistics" and the CPU usage graph. 21:13:44 Well, seems like it wasn't slowed down by not being in Java. Or then it was just coded exceptionally well. 21:14:09 Or it didn't do very deep searching in the situation-space. :p 21:14:38 Did relatively well though. 21:15:16 Yes. Though that might be more dependant on how game-relevant a heuristic the author can figure out for evaluating a position, than on how clever the move search part is. 21:15:35 Meh, heuristics. Boo @ them. 21:15:59 There have been some "used practically no time at all" contenders in the top-N for very small N, either last year or the one earlier. 21:18:13 In 2008 there's Joojoojotti, which used 2.5 seconds of thinking per game (and a game is typically over a hundred half-moves) and still was 23rd out of 46. 21:18:32 which game? 21:19:14 coppro: There's this locally-developed board game that is used traditionally for the programming project in our "introduction to AI" course; to keep people interested, there's a bit of competition going on. 21:19:56 coppro: http://www.niksula.cs.hut.fi/~svirpioj/hierarkia/rules_en.html 21:21:31 Or http://www.niksula.cs.hut.fi/~svirpioj/hierarkia/ for a less detailed overview. 21:22:30 Deewiant: Come to think of it, were you asking about the language rules out of plain curiosity? 21:22:54 -!- augur_ has quit (Read error: 110 (Connection timed out)). 21:23:00 Well, I'm sort-of intending to complete the course 21:23:28 It may have been curiosity in the sense that I don't have any particular language wishes at the moment 21:24:05 -!- MigoMipo has quit. 21:24:46 Deewiant: Ah. But still, potentially participating. Now, I asked the question for some particular reason, which I still remembered back when I wrote it, but now I've completely forgotten what it might have been. 21:25:22 So, uh, "never mind", I guess. 21:25:27 :-P 21:25:53 -!- oklopol has quit (Read error: 60 (Operation timed out)). 21:29:58 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 21:31:49 Deewiant: Checked; it was indeed in 2008, and Scala, and a 3212277-byte .jar, and MAIMTRON 9000 in http://www.cs.hut.fi/Opinnot/T-93.4400/2008/results/ <-- checked what? 21:32:07 Read more backlog. 21:32:29 Nooooooo! 21:33:27 Since when is any research project of the university user-friendly anyway <-- what if it *is* about user-friendly user interfaces? 21:34:25 They probably still suck 21:38:32 By "user-friendly" in this context I mostly mean "can manage to get it compiled and figure out what commands to run without calling us". 21:39:27 Admittedly it wouldn't be so hard to provide a simple script for recognizing audio files using existing models. 21:40:13 -!- oklopol has joined. 21:40:37 But the training part is all done with crafty little bits and pieces, and everyone pretty much has their own collection of scripts, since the sort of research that is done differs so much. 21:41:43 Documentation's been partially replaced with aural tradition, passed on from older shamans to younger acolytes by the campfires. Okay, so that last part was fiction. 21:42:43 s/au/o/ I guess too. 21:42:48 oh my I just found out there exists such a thing as "chess boxing" 21:42:51 as, in a sport 21:43:00 I have known of this for several years 21:43:25 it's a ridiculous idea though 21:44:06 fizzie, what is the project in question? 21:44:23 AnMaster: Our speech recognizer in general. 21:44:35 fizzie, ah. Open source? 21:45:15 fizzie, why is one entry between 27 and 28 at http://www.cs.hut.fi/Opinnot/T-93.4400/2008/results/ greyed out? 21:45:24 Not really. That, I think, was Deewiant's whole point. Why don't you read the logs?-) 21:45:26 and another one between 45 and 46 21:45:42 AnMaster: Those are unofficial participants. 21:45:59 fizzie, oh I see. How did they work 21:46:32 also why didn't any bot play against itself. It might have been funny 21:46:39 Vince being 2007's winner, and RandomBot choosing a random legal move. 21:47:07 Because it wouldn't have affected the scoring. 21:47:07 ah 21:47:19 fizzie, try, but might have been amusing 21:47:23 also what were the rules for the game 21:47:37 Already linked twice 21:47:47 That was linked to just a moment ago, yes. 21:47:49 ah at the bottom there 21:48:03 funny it crashed firefox 21:48:50 fizzie, oh yeah, china-chess (iirc it is called that in Sweden at least) 21:48:57 If "at the bottom" means the bottom of the results page, then no, that's just detailed statistics. 21:49:05 well, not exactly 21:49:06 almost 21:49:31 The game is reasonably different from most things. 21:49:46 The way to capture pieces is rather peculiar. 21:50:20 I don't dare to say unique since games are not my speciality. But not well-known, anyway. 21:51:14 ah 21:52:21 In 2009's results there are more unofficial participants, since last year's top 5 was also included. http://www.cs.hut.fi/Studies/T-93.4400/2009/results/ 21:52:56 Evidently the 2007 folks sucked then 21:53:09 Or the results are just that random 21:53:30 Deewiant: Well, 2007 was done with Scheme in a different system. 21:53:52 How'd you run that versus the 2008 folks? 21:54:14 I ported personally the Scheme winner over to Java, but did not tune anything so it assumed a lot less computing time was available. 21:54:42 Ah. 21:54:57 It's just that they wanted something that made more sense than RandomBot to compare against. 21:55:09 Sensible. 21:55:39 fizzie, why java? 21:55:42 2008's top three were all better than 2009's winner, though. 21:56:16 Not by much, though. 21:56:43 AnMaster: It pretty much follows from what is used in the introductory programming courses here. 21:56:55 Python next year, then? ;-P 21:56:58 And Java's got that sandbox in place. 21:57:11 fizzie, where are the 2007 results? 21:57:28 fizzie, why was it scheme before then? 21:57:41 Same reason. 21:57:46 hah 21:59:23 Yes. But the majority of 2007 already complained about Scheme, since teaching using it had already stopped. 21:59:38 Not 2006? 22:00:17 I wasn't the assistant back then. 22:00:41 fizzie, still where is the 2007 results. Neither http://www.cs.hut.fi/{Opinnot,Studies}/T-93.4400/2007/results/ worked 22:00:46 neither of* 22:01:10 It's a text file somewhere. 22:01:23 I'll try to look for it in a bit. 22:01:40 Different systems, different results reports. 22:02:27 well, going to sleep. doesn't matter if it isn't easy to reach 22:03:48 It's a lot less fancy, just the scores bsically. 22:04:15 Bit busy right now though; probably no great loss there. 22:11:00 wtf 22:11:21 I independently invented chess boxing as a joke in the early 90's. I had forgotten about it until now :) 22:12:06 Well, that's about the age of the idea 22:12:12 Early 90s, I mean. 22:12:26 Hey, I found it: http://www.cs.hut.fi/Opinnot/T-93.4400/2007/airesults.html 22:12:45 In case AnMaster somehow is still here. 22:12:54 And understands Finnish. 22:12:54 Parallel evolution of ideas, I guess... 22:13:11 And it wasn't just a text document after all. 22:13:40 It's not too hard to come up with the premise "combine something extremely intellectual with something extremely physical" 22:13:47 Oh, wait. 22:14:00 Maybe it wasn't chess boxing I came up with... what was it? 22:14:12 I think it might have actually been cycle boxing. 22:14:21 Deewiant: The game-browser was also cgi-based back then and has rotted away. 22:14:30 Box a round, then once around a track on a bicycle, then box another round... 22:14:52 Two extremely physical but otherwise very dissimilar activities. 22:15:40 Cycle around a track and try to punch the other guy with your fists while at it. 22:15:50 That would be... harder. 22:16:21 Also more accident-prone, and therefore would draw larger audiences. 22:27:42 -!- augur has joined. 22:28:29 At least in western countries popularity of something seems approximately inversely proportional to amount of intellect in it... :-> 22:32:35 Hmm... From one study "Intake of TFA [trans fatty acids] was strongly associated with CHD mortality..." -- not surprising, TFAs (not to confused with CLA) are known to be dangerous for health. 22:36:19 And if you think "trans fat problem" has been solved, check some nutrient database querying: Most trans fats, milk free (milk free is to try to minimize interference from CLA, as most databases classify that as trans fat). 22:41:49 cpressey: oh, i thought like riding bicycles while boxing. 22:42:07 now *that's* harder. 22:45:27 oklopol: A regular boxing match, with the ring and all, but put both participants on unicycles. 22:45:32 oklobox that's a great idea lol bike with one hand and whack the guy with the other 22:45:48 the speed of the bike gives extra power to the bike, just like jousting 22:46:03 oklobox could be my bi-boxer name. 22:46:26 (bi-boxing = bicycle boxing, obviously) 22:46:55 "the speed of the bike gives extra power to the bike" <<< yeah speed is powah 22:47:42 oops, I meant punch 22:47:55 i know 23:10:05 -!- cheater2 has quit (lindbohm.freenode.net irc.freenode.net). 23:10:05 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net). 23:10:05 -!- pikhq has quit (lindbohm.freenode.net irc.freenode.net). 23:10:06 -!- fungot has quit (lindbohm.freenode.net irc.freenode.net). 23:10:06 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net). 23:12:21 -!- pikhq has joined. 23:13:37 -!- cheater2 has joined. 23:13:53 -!- yiyus has joined. 23:13:55 -!- MizardX has joined. 23:31:11 -!- oklopol has quit (Read error: 110 (Connection timed out)). 2010-01-20: 00:02:21 -!- cpressey has left (?). 00:12:53 Does anyone know a command that's like echo + cat? 00:13:06 specifically, it can append or prepend to standard output 00:16:09 -!- FireFly has quit ("Leaving"). 00:24:17 echo | cat 00:24:25 echo foo | cat - /dev/hda 00:26:08 -!- oerjan has joined. 00:30:58 -!- sebbu2 has joined. 00:33:30 in bash, i think cat - `echo whatever` works 00:33:39 er wait 00:34:07 cat - <(echo whatever) may have been it 00:34:39 anyway there is some syntax for inserting the output of one command as a file in another 00:35:09 <<<`foo` 00:35:12 I believe 00:35:16 var TiredPerson = new { Name = "Sgeo" }; 00:35:22 in any case, I just switched to perl 00:36:01 * Sgeo is irrationally addicted to C# 00:36:09 bad 00:37:19 var coppro = (from chatter in CSharpHaters select chatter).First(); 00:38:00 lol 00:39:04 * Sgeo may end up installing Visual Studio so that he can easily use SQLite 00:40:35 ... 00:40:42 The syntax is a pipe :P 00:40:46 echo foo | cat - bar 00:41:02 Gregor: fail 00:41:13 you cannot pass the _original_ stdin to cat that way 00:41:28 You can't pass the original stdin to cat your way. 00:41:31 You'd have to do something like 00:41:33 what I want is a command like "append foo" that output foo+stdin 00:41:38 sure you can 00:41:38 without using backticks 00:42:10 coppro: Wait, so you just want cat foo - 00:42:22 oerjan: <(bleh) overrides stdin 00:42:27 Gregor: no 00:42:37 because that outputs the content of the file `foo` 00:42:43 oerjan: You'd have to specify an input FD, then convince cat to read from that fd (/proc/self/fds/bleh) 00:42:45 Gregor: in that case <() is not what i meant 00:42:47 I just want "foo+(whatever came through stdin)" 00:42:57 Ahhhhhhhh, OK 00:43:23 In that case, (echo foo; cat) :P 00:43:45 Gregor: bash has a syntax for creating named pipes with the output of a given command, and putting the _name_ of that pipe in an outer command 00:44:02 oerjan: Ah, then I am unaware of that syntax. 00:44:11 it may be that i remembered <() wrongly for it 00:44:50 seeing as i haven't used it in years, myself 00:46:02 no, <() was correct 00:46:40 BTW, the pipe is only viewable by the process that bash invokes 00:46:54 Process substitution is the term used 00:47:23 "Process substitution is supported on systems that support named pipes (FIFOs) or the /dev/fd method of naming open files. It takes the form of <(list) or >(list). 00:47:23 process substitution doesn't work when the command feeds the filename to a second command 00:47:26 " 00:47:42 e.g. if that command is a shell script 00:47:49 hm true 00:48:49 um wouldn't that only apply if the second command tried to access it after it has been deleted? 00:49:14 I don't think so 00:49:36 surely /dev/fd looks different to each process? 00:49:47 oh maybe 00:49:57 -!- sebbu has quit (Read error: 110 (Connection timed out)). 00:50:05 the named pipe thing should still work? 00:50:18 $ cat `echo <(ls)` 00:50:19 cat: /dev/fd/63: No such file or directory 00:50:52 SimonRC: that doesn't count anyway, because echo obviously finishes before cat opens the file 00:51:01 darn 00:51:31 -!- coppro has quit (Remote closed the connection). 00:51:57 -!- coppro has joined. 00:52:28 oh well, sounds brittle anyhow 00:53:03 ah, you can't read from it twice 01:13:09 -!- MissPiggy has quit. 01:23:04 -!- kwertii has joined. 01:45:22 -!- augur has quit (Read error: 110 (Connection timed out)). 01:48:50 -!- augur has joined. 02:00:40 -!- Sgeo_ has joined. 02:06:24 -!- Sgeo has quit (Read error: 60 (Operation timed out)). 02:23:04 -!- coppro has quit (Remote closed the connection). 02:23:32 -!- coppro has joined. 02:37:36 -!- kwertii_ has joined. 02:37:49 -!- kwertii_ has quit (Remote closed the connection). 02:38:16 -!- kwertii has quit (Read error: 60 (Operation timed out)). 02:51:23 -!- augur_ has joined. 02:51:33 -!- augur has quit (Read error: 104 (Connection reset by peer)). 03:08:07 -!- zeotrope has joined. 04:39:03 -!- augur_ has quit (Connection timed out). 04:45:11 -!- Pthing has joined. 04:51:38 -!- oerjan has quit ("leaving"). 05:17:16 -!- augur has joined. 05:23:12 -!- coppro has quit (Remote closed the connection). 05:27:50 -!- Sgeo has joined. 05:27:51 -!- coppro has joined. 05:41:55 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 05:51:03 wooot 05:51:16 looks like the Edmonton library approved my loan of Once More with Footnotes 06:42:18 -!- cal153 has quit. 06:52:08 -!- Asztal has quit (Read error: 60 (Operation timed out)). 06:57:31 -!- cal153 has joined. 07:02:46 -!- oklopol has joined. 07:14:40 -!- FireFly has joined. 07:27:23 -!- FireFly has quit ("Leaving"). 07:35:22 -!- Sgeo has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:45:38 -!- kar8nga has joined. 09:03:54 -!- BeholdMyGlory has joined. 09:20:25 -!- Pthing has quit (Remote closed the connection). 09:21:14 -!- coppro has quit (Read error: 60 (Operation timed out)). 09:53:36 -!- Pthing has joined. 10:00:37 -!- cheater has quit ("Verlassend"). 10:19:58 -!- Pthing has quit (Remote closed the connection). 10:55:44 -!- jpc has quit (Connection timed out). 11:50:19 -!- adu has joined. 12:13:47 -!- adu has quit. 12:13:49 -!- kar8nga has quit (Remote closed the connection). 12:26:38 -!- scarf has joined. 12:29:00 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 12:29:00 -!- Ayeraw has quit (lindbohm.freenode.net irc.freenode.net). 12:29:01 -!- Leonidas has quit (lindbohm.freenode.net irc.freenode.net). 12:29:01 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net). 12:29:01 -!- jix has quit (lindbohm.freenode.net irc.freenode.net). 12:29:01 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net). 12:29:01 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net). 12:29:01 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net). 12:30:49 -!- Leonidas has joined. 12:30:49 -!- Ayeraw has joined. 12:30:49 -!- rodgort has joined. 12:30:49 -!- SimonRC has joined. 12:30:49 -!- jix has joined. 12:30:49 -!- mtve has joined. 12:30:49 -!- HackEgo has joined. 12:30:49 -!- dbc has joined. 12:30:59 -!- Leonidas1 has joined. 12:31:14 -!- Leonidas has quit (Success). 12:31:14 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)). 12:31:15 -!- SimonRC has joined. 12:31:20 -!- Ayeraw has quit (Read error: 104 (Connection reset by peer)). 12:36:06 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net). 12:36:07 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 12:36:08 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net). 12:36:08 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net). 12:36:08 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net). 12:36:08 -!- jix has quit (lindbohm.freenode.net irc.freenode.net). 12:36:09 -!- Leonidas1 has quit (lindbohm.freenode.net irc.freenode.net). 12:36:09 -!- scarf has quit (lindbohm.freenode.net irc.freenode.net). 12:36:09 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net). 12:36:10 -!- mycroftiv has quit (lindbohm.freenode.net irc.freenode.net). 12:36:10 -!- AnMaster has quit (lindbohm.freenode.net irc.freenode.net). 12:36:12 -!- augur has quit (lindbohm.freenode.net irc.freenode.net). 12:36:12 -!- zeotrope has quit (lindbohm.freenode.net irc.freenode.net). 12:36:12 -!- cheater2 has quit (lindbohm.freenode.net irc.freenode.net). 12:36:13 -!- olsner has quit (lindbohm.freenode.net irc.freenode.net). 12:36:14 -!- Gracenotes has quit (lindbohm.freenode.net irc.freenode.net). 12:36:15 -!- pikhq has quit (lindbohm.freenode.net irc.freenode.net). 12:36:15 -!- bsmntbombdood has quit (lindbohm.freenode.net irc.freenode.net). 12:36:15 -!- Slereah_ has quit (lindbohm.freenode.net irc.freenode.net). 12:36:15 -!- lifthrasiir has quit (lindbohm.freenode.net irc.freenode.net). 12:36:16 -!- comex_ has quit (lindbohm.freenode.net irc.freenode.net). 12:36:16 -!- ineiros has quit (lindbohm.freenode.net irc.freenode.net). 12:36:16 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net). 12:36:17 -!- sebbu2 has quit (lindbohm.freenode.net irc.freenode.net). 12:36:18 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net). 12:36:18 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net). 12:36:18 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net). 12:36:43 -!- AnMaster has joined. 12:43:31 -!- AnMaster has quit (Read error: 60 (Operation timed out)). 12:45:15 -!- uorygl has joined. 12:45:15 -!- Deewiant has joined. 12:45:15 -!- sebbu2 has joined. 12:45:15 -!- cal153 has joined. 12:45:15 -!- MizardX has joined. 12:45:52 -!- sebbu has joined. 12:45:52 -!- SimonRC has joined. 12:45:52 -!- rodgort has joined. 12:45:52 -!- jix has joined. 12:45:52 -!- mtve has joined. 12:45:52 -!- HackEgo has joined. 12:45:52 -!- dbc has joined. 12:46:21 -!- Ayeraw has joined. 12:46:21 -!- adu has joined. 12:46:21 -!- cheater3 has joined. 12:46:21 -!- Leonidas1 has joined. 12:46:21 -!- scarf has joined. 12:46:21 -!- yiyus has joined. 12:46:21 -!- mycroftiv has joined. 12:46:21 -!- augur has joined. 12:46:21 -!- zeotrope has joined. 12:46:21 -!- pikhq has joined. 12:46:21 -!- bsmntbombdood has joined. 12:46:21 -!- Slereah_ has joined. 12:46:21 -!- olsner has joined. 12:46:21 -!- lifthrasiir has joined. 12:46:21 -!- comex_ has joined. 12:46:21 -!- ineiros has joined. 12:46:21 -!- Gracenotes has joined. 12:46:45 -!- AnMaster_ has joined. 12:49:42 -!- sebbu3 has joined. 12:49:51 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net). 12:49:51 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 12:49:51 -!- sebbu has quit (lindbohm.freenode.net irc.freenode.net). 12:49:52 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net). 12:49:52 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net). 12:49:52 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net). 12:49:52 -!- jix has quit (lindbohm.freenode.net irc.freenode.net). 12:50:24 -!- sebbu has joined. 12:50:24 -!- SimonRC has joined. 12:50:24 -!- rodgort has joined. 12:50:24 -!- jix has joined. 12:50:24 -!- mtve has joined. 12:50:24 -!- HackEgo has joined. 12:50:24 -!- dbc has joined. 12:53:11 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net). 12:53:11 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net). 12:53:11 -!- sebbu2 has quit (lindbohm.freenode.net irc.freenode.net). 12:53:11 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net). 12:54:15 -!- cal153 has joined. 12:54:15 -!- sebbu2 has joined. 12:54:15 -!- Deewiant has joined. 12:54:15 -!- uorygl has joined. 12:54:27 -!- sebbu2 has quit (Dead socket). 12:56:42 -!- Leonidas1 has quit (lindbohm.freenode.net irc.freenode.net). 12:56:43 -!- scarf has quit (lindbohm.freenode.net irc.freenode.net). 12:56:43 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net). 12:56:43 -!- mycroftiv has quit (lindbohm.freenode.net irc.freenode.net). 12:58:26 -!- Leonidas1 has joined. 12:58:26 -!- scarf has joined. 12:58:26 -!- yiyus has joined. 12:58:26 -!- mycroftiv has joined. 13:00:10 -!- rodgort has quit (Client Quit). 13:00:42 -!- rodgort has joined. 13:03:38 -!- comex has joined. 13:03:40 -!- comex_ has quit (Read error: 104 (Connection reset by peer)). 13:08:30 -!- cheater has joined. 13:12:09 -!- comex has quit (lindbohm.freenode.net irc.freenode.net). 13:12:09 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net). 13:12:09 -!- sebbu has quit (lindbohm.freenode.net irc.freenode.net). 13:12:10 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net). 13:12:10 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net). 13:12:10 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net). 13:12:10 -!- jix has quit (lindbohm.freenode.net irc.freenode.net). 13:13:10 -!- comex has joined. 13:14:48 -!- sebbu has joined. 13:14:48 -!- SimonRC has joined. 13:14:48 -!- jix has joined. 13:14:48 -!- mtve has joined. 13:14:48 -!- HackEgo has joined. 13:14:48 -!- dbc has joined. 13:15:13 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)). 13:15:24 -!- SimonRC has joined. 13:15:28 -!- jix has quit (Read error: 104 (Connection reset by peer)). 13:15:38 -!- jix has joined. 13:15:44 -!- sebbu has quit (Connection timed out). 13:17:06 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 13:17:06 -!- cheater has quit (lindbohm.freenode.net irc.freenode.net). 13:17:06 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net). 13:17:06 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net). 13:17:06 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net). 13:17:30 -!- cal153 has joined. 13:17:43 -!- cheater has joined. 13:17:43 -!- rodgort has joined. 13:17:43 -!- Deewiant has joined. 13:17:43 -!- uorygl has joined. 13:29:50 -!- cheater has quit (lindbohm.freenode.net irc.freenode.net). 13:29:50 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net). 13:29:50 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 13:29:50 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net). 13:29:51 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net). 13:29:51 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net). 13:29:51 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net). 13:29:51 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net). 13:29:51 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net). 13:29:53 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net). 13:29:54 -!- comex has quit (lindbohm.freenode.net irc.freenode.net). 13:29:55 -!- scarf has quit (lindbohm.freenode.net irc.freenode.net). 13:29:55 -!- Leonidas1 has quit (lindbohm.freenode.net irc.freenode.net). 13:29:55 -!- mycroftiv has quit (lindbohm.freenode.net irc.freenode.net). 13:29:55 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net). 13:29:57 -!- zeotrope has quit (lindbohm.freenode.net irc.freenode.net). 13:29:57 -!- cheater3 has quit (lindbohm.freenode.net irc.freenode.net). 13:29:57 -!- olsner has quit (lindbohm.freenode.net irc.freenode.net). 13:29:58 -!- Gracenotes has quit (lindbohm.freenode.net irc.freenode.net). 13:29:58 -!- augur has quit (lindbohm.freenode.net irc.freenode.net). 13:29:59 -!- jix has quit (lindbohm.freenode.net irc.freenode.net). 13:29:59 -!- AnMaster_ has quit (lindbohm.freenode.net irc.freenode.net). 13:30:00 -!- lifthrasiir has quit (lindbohm.freenode.net irc.freenode.net). 13:30:00 -!- bsmntbombdood has quit (lindbohm.freenode.net irc.freenode.net). 13:30:00 -!- adu has quit (lindbohm.freenode.net irc.freenode.net). 13:30:00 -!- ineiros has quit (lindbohm.freenode.net irc.freenode.net). 13:30:01 -!- Slereah_ has quit (lindbohm.freenode.net irc.freenode.net). 13:30:01 -!- pikhq has quit (lindbohm.freenode.net irc.freenode.net). 13:30:01 -!- Ayeraw has quit (lindbohm.freenode.net irc.freenode.net). 13:42:22 -!- MizardX has joined. 13:43:02 -!- kar8nga has joined. 13:43:02 -!- uorygl has joined. 13:43:02 -!- Deewiant has joined. 13:43:02 -!- rodgort has joined. 13:43:02 -!- dbc has joined. 13:43:02 -!- HackEgo has joined. 13:43:02 -!- mtve has joined. 13:43:02 -!- SimonRC has joined. 13:43:02 -!- cal153 has joined. 13:43:02 -!- scarf has joined. 13:43:02 -!- mycroftiv has joined. 13:43:02 -!- yiyus has joined. 13:43:02 -!- Leonidas1 has joined. 13:43:02 -!- comex has joined. 13:43:02 -!- jix has joined. 13:43:02 -!- AnMaster_ has joined. 13:43:02 -!- Ayeraw has joined. 13:43:02 -!- adu has joined. 13:43:02 -!- cheater3 has joined. 13:43:02 -!- augur has joined. 13:43:02 -!- zeotrope has joined. 13:43:02 -!- pikhq has joined. 13:43:02 -!- bsmntbombdood has joined. 13:43:02 -!- Slereah_ has joined. 13:43:02 -!- olsner has joined. 13:43:02 -!- lifthrasiir has joined. 13:43:02 -!- ineiros has joined. 13:43:02 -!- Gracenotes has joined. 13:43:46 -!- cheater has joined. 13:55:29 -!- Pthing has joined. 13:56:18 -!- run-bandit has joined. 13:56:33 what is this place 13:56:39 programming language? 13:56:42 yes 13:56:51 for the less serious programming languages around 13:58:19 ok 13:59:46 What, isn't esolangery Serious Business™? 14:00:10 you never know, it might be 14:00:20 only by exploring the silly can you find the interesting on the edge of serious 14:04:47 -!- run-bandit has quit ("lol"). 14:22:11 -!- MissPiggy has joined. 14:57:55 -!- Pthing has quit (Remote closed the connection). 14:58:02 -!- Deewiant has quit (Remote closed the connection). 14:58:12 -!- Deewiant has joined. 15:11:39 -!- cpressey has joined. 15:34:46 -!- Pthing has joined. 15:36:18 -!- FireFly has joined. 16:07:54 -!- Pthing has quit (Remote closed the connection). 16:10:31 -!- scarf has quit (Read error: 104 (Connection reset by peer)). 16:10:46 -!- scarf has joined. 16:15:28 -!- jpc has joined. 16:15:57 so does esolang run in a vm of some sort 16:16:11 do i get an interpreter for esolang under ubuntu? 16:16:14 :P 16:19:14 yes, version 3.1.1 of esolang was just released last week 16:20:55 "esolang"'s a general term 16:21:11 although you can find interpreters for individual esolangs in the repositories if they're really well known, or on the wiki otherwise 16:21:13 hi cpressey by the way 16:23:40 hi ais523 16:24:25 I'm too busy with RL stuff to really do much esolanging at the moment... 16:27:21 I'm trying to find more time for it recently. 16:27:46 The last interesting one I've done is: http://catseye.tc/projects/zowie/ 16:28:34 I noticed that one in #esoteric's last review of What Cats's Eye Has Been Up To Recently, but didn't really look at it in detail 16:28:45 For some reason "zowie" made my mind immediately jump to "Yom Kippur", used as some kind of generic expression of happiness. "Yom Kippur, this is the tastiest pie I've ever had!" 16:28:59 it's rather reminicent of continuation passing style, though 16:30:22 scarf: Huh. I have been very interested in continuations lately, but honestly, I wasn't thinking about them at all in ZOWIE 16:30:25 but instead of storing the IP and data together, you can access each of them separately 16:30:48 a Zowie program state is almost a continuation, except you only use half of it at a time, which is rather interesting 16:32:12 hmm, I wonder if it's TC even without the ability to rollback? it's a lot less obvious whether it's TC or not then, but it's not obviously incomplete 16:33:25 scarf: From what I remember... without rollback you can only do "repeat" loops, not "while". 16:33:43 yes, but I think repeat may be enough for TCness by itself 16:33:49 * pikhq wonders if he should try and force his C lambda code into using CPS... 16:33:54 the idea is, immediately after each loop you "undo" one interation of it 16:34:03 It would have the advantage of getting rid of the stack overflows... 16:34:04 but it's not obvious that doing that is always possible 16:34:11 well, it seems to be folklore that repeat is insufficient for TC. i remember looking and i couldn't find an explicit proof 16:34:28 Explicit repeat count? 16:34:34 I'm relatively certain that it depends on other details of the language; it's sufficient sometimes, but not otherwise 16:34:36 tho, i think i know what you're talking about re "undo" 16:34:39 Ilari: no, while but that always loops at least once 16:34:41 (computing fact 10 overflows the stack ATM. ... In addition.) 16:35:13 -!- oerjan has joined. 16:35:34 No if construct? 16:35:43 scarf: if you could prove that "repeat" loops are sufficient for TC I think you would have something very publishable. at least, that is the impression i formed from what research i did see (e.g. Kozen's work on "while programs") 16:36:04 Ilari: "if" + "repeat" can emulate "while" 16:36:05 Ilari: no if 16:36:25 it's easy enough to imagine languages in which it is possible 16:36:53 imagine a C-like language which stored a sort of "transaction history" of all changes to variables, and had a method to undo the most recent change 16:37:10 * oerjan cannot quite get to grips with this scarf-ais guy 16:37:27 by using a stack of counters which held how many changes there had been, you could just undo the right number of changes 16:37:40 that's requiring a rather implausibly high amount of support from the language, though 16:38:54 scarf: well, maybe too much support to be taken seriously, but still an interesting esolang design 16:39:31 I'm wondering how little language support you could get away with; for instance, bignum BF probably has enough, although I'm less sure about that 16:39:47 (or rather, I should say "DoFuck", I suppose) 16:40:19 since BF maps very easily to "repeat programs", i think that would be publishable 16:40:46 perhaps, but I'm trying to do too many papers in parallel as it is 16:40:54 (again, to clarify, i don't think "publishable" should necessarily be anyone's goal, i'm just using it to describe how surprising it would be) 16:42:04 one thing that comes to mind is: set a variable to 0 before the loop, and to 1 at the end. then at least you should be able to do any _arithmetic_ as if it was a while loop, by exploiting that (assuming you have at least multiplication) 16:42:23 s/at the end/just before the end/ 16:43:09 -!- augur has quit (Read error: 60 (Operation timed out)). 16:43:21 because you then have a flag to help you ignore the first iteration 16:43:33 oerjan: that sounds reasonable 16:44:48 and for TC you don't need anything more then than arithmetic assignments, i think 16:45:36 folklore has been proven wrong before :) 16:45:39 are you guys talking about reversibly TC languages? 16:45:48 hm you can even do output with C-like strings, as long as you don't mind outputting a lot of 0-length strings 16:46:13 no afaik 16:46:25 MissPiggy: about TC languages without the ability to skip code 16:46:36 i.e. every loop runs at least once, no if 16:47:10 and the relationship between that and reversible programs is... obscure, at least 16:47:21 i won't say they're not related somehow tho 16:47:26 they do feel related 16:47:31 if you can't skip code, you have to undo the loop 16:47:40 oh, too deep, too early, too little coffee :) 16:47:52 incidentally, it turns out that INTERCAL is TC even with no flow control but jumping from the end of the program to the start 16:47:58 -!- Asztal has joined. 16:48:04 but it has rather a rich set of ways to not do commands, so that's rather unsurprising 16:48:57 well, one of the "while program" results is that you only really need one while loop, so... yeah 16:49:32 hmm, if you only need the one loop, it surely isn't much of a problem to ensure it always iterates once 16:49:52 unless the result allows cheating by using things like ifs inside the loop 16:50:51 well... if you collapse nested loops into a single loop then you can't take oerjan's suggestion of setting a variable to 0 "just before the end" of an inner loop because you've eliminated the inner loop 16:51:47 yes, but then you wouldn't need to 16:52:48 hm, i can't really tell how it would work at this point. 16:53:03 surely you convert to a single while loop before converting that one into repeat 16:53:26 well, you clearly can't do BF with just a single loop 16:53:32 at any rate, i'm occupied for the next little while, so i'll let my brain marinate 16:54:10 cpressey: but if it's while, can't you skip it? 16:54:41 * oerjan whistles innocently 16:55:03 hehe 16:55:08 scarf: true, because you need loops to perform and/or, which while loop collapsing needs 16:55:34 as I said already, I think it's going to be heavily dependent on the other details of the language 16:56:08 oerjan: i can't see why not 16:56:23 (*woosh*) 16:57:27 oerjan: i'd need to see an example in order to reason about it, at this point. 16:57:52 cpressey: um that was a pun, referring to your "next little while" 16:58:30 argh :) 16:58:44 this is the #1 danger of having a productive mathematical discussion with oerjan 16:59:10 bbl 17:15:35 -!- AnMaster_ has changed nick to AnMaster. 17:20:39 -!- sebbu3 has changed nick to sebbu. 17:34:47 -!- jpc has quit (Read error: 104 (Connection reset by peer)). 17:35:26 -!- jpc has joined. 17:37:13 -!- jpc has quit (Client Quit). 17:37:52 -!- jpc has joined. 17:40:11 -!- sexygirl153 has joined. 17:41:19 -!- kar8nga has quit (Remote closed the connection). 17:51:55 hello 18:00:41 -!- cal153 has quit (Read error: 113 (No route to host)). 18:18:33 -!- scarf has quit (Remote closed the connection). 18:24:33 -!- oerjan has quit ("AAAAAAAAAAAAAAAAAAAA"). 18:29:42 -!- Gracenotes has quit (Read error: 60 (Operation timed out)). 18:45:27 -!- Gracenotes has joined. 19:28:36 -!- augur has joined. 19:50:42 -!- adu has quit. 19:52:31 -!- adu has joined. 20:17:07 -!- adu has quit. 20:25:24 -!- Sgeo has joined. 20:28:27 -!- sebbu has quit ("reboot"). 21:21:19 cheater3: hi 21:21:55 -!- sebbu has joined. 21:26:07 hi SimonRC 21:26:46 it gets busier later 21:26:52 i know 21:27:10 what are some esolangs you work with simon? 21:36:05 -!- nooga has joined. 21:36:31 hmm 21:37:24 huh? 21:37:54 evening of weird nicknames 21:38:33 sexygirl153 is the best 21:38:53 that's for sure 21:39:04 for sure 21:39:40 sure 21:40:56 seur 21:43:28 Is that "153" age or a birth-year or what? 21:50:01 -!- kar8nga has joined. 22:20:32 -!- kar8nga has quit (Remote closed the connection). 22:56:39 -!- augur has quit (Read error: 110 (Connection timed out)). 23:00:08 -!- Azstal has joined. 23:03:23 i don't know 23:03:43 -!- oerjan has joined. 23:03:47 i hae an idea but it's so undefined that i cannot even express it 23:04:33 cool 23:04:43 nooga you should talk to me with this idea in mind 23:05:03 do you get this feeling sometimes? 23:06:14 yes 23:06:27 lots of times 23:07:06 hm 23:07:16 * oerjan isn't sure if he does 23:07:19 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)). 23:07:53 i'm not sure i can think an idea if i don't express it somehow 23:10:25 more specifically, i think i have trouble _remembering_ things that cannot be put in words 23:10:39 (or symbols, at least) 23:11:19 which could of course mean that i _do_ have such feelings but just don't remember them 23:12:53 * Sgeo should probably eat 23:13:12 * Sgeo tends to die if he doesn't eat 23:13:27 is this a frequent problem of yours? 23:14:38 -!- Asztal has quit (Connection timed out). 23:32:34 -!- MissPiggy has quit (Read error: 60 (Operation timed out)). 23:46:37 -!- augur has joined. 23:49:08 -!- coppro has joined. 23:55:27 -!- FireFly has quit ("Leaving"). 2010-01-21: 00:01:34 There now exists another link between "Sgeo" and my RL name :/ 00:01:45 MWAHAHA 00:02:35 There exists a link between "Gregor" and my real-life name D-8 00:03:56 pesky ircname fields. is there no way to get around them! 00:04:26 Sgeo: Y'know, it's much easier to just not attempt anonymity. 00:04:56 * Sgeo has also posted on a Mario .. site, despite not having any interest in Mario 00:05:22 http://forums.mfgg.net/viewtopic.php?p=112527#p112527 00:08:50 -!- cpressey has quit ("Leaving."). 00:11:43 -!- Wareya has joined. 00:27:12 A "Mario .. site" 00:27:15 I assume that means "Mario porn site" 00:27:56 yummy 00:44:20 -!- cheater2 has joined. 00:45:59 -!- cheater3 has quit (Read error: 54 (Connection reset by peer)). 00:46:30 *sigh* 00:47:24 going from my nick to my name is easy 00:47:26 the reverse is not 00:47:39 hmm... looks like I don't even show up until page 3 00:47:39 elsenet, some irregular visitor to an IRC channel came in and started saying how great some bidding/auction website was 00:47:42 hooray generic name! 00:47:53 SimonRC: well is it? 00:48:00 dunno 00:48:31 how weird that you would complain then! 00:48:35 I didn't recognise them, so naturally I assumed they were someone poor with good English skills being paid to advertise on IRC 00:48:46 I mean, it would work as marketing 00:49:05 unlike a simple bot they can pass the Turing Test 00:49:07 hmm. interesting theory. 00:49:20 but logs revealed this person was there before 00:49:28 but i still think he's for real 00:50:04 yeah, it seems they are a "real" member of the channel 00:50:37 the only article I can find about the site (with a quick search) is this: http://www.techcrunch.com/2009/11/19/bigdeal-com-reinvents-and-legitimizes-swoopos-controversial-auction-bidding-model/ 00:51:18 because imitating Swoopo is really the way to get people to trust you! 00:52:19 that's like describing a political party by saying "they're like the Nazis, except ..." and gradually listing every difference 00:52:44 well thatsounds great 00:52:47 *that sounds 00:52:54 i mean the article 00:53:11 also swoopo 00:53:27 um, no 00:53:33 um, yes. 00:53:39 great for whom? 00:53:54 sounds like a fun game 00:54:34 not with hundereds of quid at stake it isn't 00:55:18 oh you have to bid? well then it sounds sort of evil. 00:55:34 i thought you could not use the site 00:56:05 huh? 00:56:14 well what's evil about making idiots give their money to you? 00:56:36 Jeff Atwood explains Swoopo: http://www.codinghorror.com/blog/archives/001261.html 00:57:14 and that site does a darn good Swoopo impression without some of the nastier bits 00:57:55 SimonRC: Even if it's "They're like Nazis, but not German"? 00:57:56 :P 00:58:52 oh i thought you have to pay the amount you bid, but you just have to pay for bids 00:59:03 i admit that's much better 01:03:00 join our party. it's a gas! 01:03:28 consider: everyone pays the amount they bid last, but only the biggest bid actually gets the product 01:04:07 ouch --> "the [Swoopo] auction is extended 15 seconds each and every time someone bids in those final seconds" 01:04:42 well obviously, otherwise it'd be about timing 01:21:34 You could also just end at a random time within a range. 01:22:00 randomless makes it less pure 01:22:04 *ness 01:29:49 indeed, you can only be random in the IO monad 01:29:55 * SimonRC goes to bed 01:35:17 -!- cheater has quit (lindbohm.freenode.net irc.freenode.net). 01:35:17 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 01:35:17 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net). 01:37:14 -!- cheater has joined. 01:37:14 -!- uorygl has joined. 01:37:14 -!- rodgort has joined. 01:38:39 oddly enough, the thing that might make me finally learn Haskell is the IO subsystem 01:42:42 oerjan: a bit too easy 01:42:55 (not that it occurred to me) 01:42:57 The thing that made me learn Haskell was a professor :P 01:43:40 yay three hours of sleep -> 01:44:38 Gregor: It's likely to happen that way if I don't get to it myself 01:45:52 greatest error message ever: "The database hates you right now. The entry might exist or it might not exist. We would clear this mystery up for you, if we could get to the database. We tried to look it up, but the database puked up an error." 01:48:30 -!- oklopol has quit (Read error: 60 (Operation timed out)). 01:52:37 they shouldn't have used the same database for that AI 01:53:07 YOU HAVE OFFENDED THE GREAT DATABASE GODS 01:53:14 What hath you to say for yourself? 01:53:25 um which one of us? 02:03:36 Idonno, whoever. 02:03:46 whew 02:18:32 -!- augur has quit (Read error: 110 (Connection timed out)). 02:46:26 -!- augur has joined. 04:58:34 -!- clog has joined. 04:58:34 -!- clog has joined. 04:59:16 -!- augur_ has quit (Read error: 113 (No route to host)). 05:19:28 -!- oerjan has quit ("leaving"). 05:41:24 -!- Pthing has joined. 05:45:29 -!- augur has joined. 06:14:42 -!- adam_d has joined. 07:08:15 -!- sexygirl153 has quit. 07:28:19 -!- FireFly has joined. 07:31:48 -!- cal153 has joined. 07:37:54 -!- kar8nga has joined. 07:44:37 -!- Azstal has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:16:33 -!- jpc has quit ("I will do anything (almost) for a new router."). 08:37:52 -!- oklopol has joined. 08:39:28 <- whoops seven hours of sleep 08:46:00 -!- MigoMipo has joined. 09:22:33 -!- adam_d has quit ("Leaving"). 09:27:49 -!- BeholdMyGlory has joined. 09:49:04 -!- MigoMipo has quit ("co'o rodo"). 10:10:53 -!- Pthing has quit (Remote closed the connection). 10:18:34 -!- rodgort` has joined. 10:21:55 -!- kar8nga has quit (Remote closed the connection). 10:22:25 -!- kar8nga has joined. 10:27:53 -!- rodgort has quit (Read error: 110 (Connection timed out)). 10:38:19 -!- Slereah has joined. 10:40:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 11:00:13 -!- sebbu2 has joined. 11:10:42 -!- Slereah has quit (Client Quit). 11:13:57 -!- sebbu has quit (Read error: 110 (Connection timed out)). 11:14:29 -!- Leonidas1 has changed nick to Leonidas. 11:15:30 -!- kar8nga has quit (Remote closed the connection). 11:20:29 -!- Slereah has joined. 11:38:34 -!- sebbu has joined. 11:55:50 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 11:56:30 -!- nooga_ has joined. 12:02:52 -!- nooga has quit (Read error: 60 (Operation timed out)). 12:12:54 -!- Pthing has joined. 12:25:04 -!- kar8nga has joined. 12:32:15 -!- scarf has joined. 12:44:33 -!- Pthing has quit (Remote closed the connection). 12:45:57 -!- Pthing has joined. 13:06:02 I had a weird dream last night 13:06:15 apparently fizzie had managed to install an "extra" road sign next to the road I live on 13:06:23 which stayed hidden, then popped out of nowhere 13:06:35 with fungot babble on, with a corpus designed to produce lots of questions 13:06:40 and an arrow pointing upwards/forwards 13:08:04 -!- FireFly has quit ("Leaving"). 13:11:50 Have you checked that this was, in fact, a dream? 13:13:47 actually, no 13:13:52 but I suspect it was 13:14:16 it was hilarious seeing drivers drive down the road and suddenly have a semi-coherent question pop out of nowhere, though 13:16:05 It sounds like a good idea, but a bit too complicated to actually do. And the authorities might not approve of this message. 13:16:10 Mmm, Microsoft-flavored kool-aid! 13:19:04 -!- MizardX has joined. 13:19:18 -!- FireFly has joined. 13:29:31 -!- cheater has quit (calvino.freenode.net irc.freenode.net). 13:29:33 -!- uorygl has quit (calvino.freenode.net irc.freenode.net). 13:29:33 -!- Pthing has quit (calvino.freenode.net irc.freenode.net). 13:29:33 -!- Ilari has quit (calvino.freenode.net irc.freenode.net). 13:29:34 -!- oklopol has quit (calvino.freenode.net irc.freenode.net). 13:29:35 -!- fizzie has quit (calvino.freenode.net irc.freenode.net). 13:29:38 -!- puzzlet has quit (calvino.freenode.net irc.freenode.net). 13:29:38 -!- Gregor has quit (calvino.freenode.net irc.freenode.net). 13:29:38 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net). 13:29:38 -!- sebbu has quit (calvino.freenode.net irc.freenode.net). 13:29:42 -!- Wareya has quit (calvino.freenode.net irc.freenode.net). 13:29:43 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net). 13:29:43 -!- FireFly has quit (calvino.freenode.net irc.freenode.net). 13:29:43 -!- cheater2 has quit (calvino.freenode.net irc.freenode.net). 13:29:43 -!- coppro has quit (calvino.freenode.net irc.freenode.net). 13:29:44 -!- Gracenotes has quit (calvino.freenode.net irc.freenode.net). 13:29:44 -!- dbc has quit (calvino.freenode.net irc.freenode.net). 13:29:44 -!- HackEgo has quit (calvino.freenode.net irc.freenode.net). 13:29:44 -!- mtve has quit (calvino.freenode.net irc.freenode.net). 13:29:44 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net). 13:29:47 -!- augur has quit (calvino.freenode.net irc.freenode.net). 13:29:47 -!- Sgeo_ has quit (calvino.freenode.net irc.freenode.net). 13:29:50 -!- cal153 has quit (calvino.freenode.net irc.freenode.net). 13:29:52 -!- zeotrope has quit (calvino.freenode.net irc.freenode.net). 13:29:54 -!- olsner has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- jix has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- ineiros has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- pikhq has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- Ayeraw has quit (calvino.freenode.net irc.freenode.net). 13:29:56 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net). 13:31:09 -!- Pthing has joined. 13:31:09 -!- oklopol has joined. 13:31:09 -!- uorygl has joined. 13:31:09 -!- cheater has joined. 13:31:09 -!- fizzie has joined. 13:31:09 -!- Gregor has joined. 13:31:09 -!- puzzlet has joined. 13:31:09 -!- EgoBot has joined. 13:31:09 -!- Ilari has joined. 13:31:38 -!- FireFly has joined. 13:31:38 -!- sebbu has joined. 13:31:38 -!- cheater2 has joined. 13:31:38 -!- Wareya has joined. 13:31:38 -!- coppro has joined. 13:31:38 -!- Gracenotes has joined. 13:31:38 -!- Deewiant has joined. 13:31:38 -!- SimonRC has joined. 13:31:38 -!- mtve has joined. 13:31:38 -!- HackEgo has joined. 13:31:38 -!- dbc has joined. 13:31:47 -!- FireFly has quit ("Leaving"). 13:32:06 -!- FireFly has joined. 13:32:58 -!- augur has joined. 13:32:58 -!- Sgeo_ has joined. 13:33:39 -!- jix has joined. 13:33:39 -!- AnMaster has joined. 13:33:39 -!- Ayeraw has joined. 13:33:39 -!- pikhq has joined. 13:33:39 -!- bsmntbombdood has joined. 13:33:39 -!- lifthrasiir has joined. 13:33:39 -!- ineiros has joined. 13:33:59 -!- FireFly has quit (Read error: 104 (Connection reset by peer)). 13:34:17 -!- olsner has joined. 13:35:34 -!- cal153 has joined. 13:35:34 -!- zeotrope has joined. 14:30:20 -!- cheater has quit (calvino.freenode.net irc.freenode.net). 14:30:21 -!- uorygl has quit (calvino.freenode.net irc.freenode.net). 14:31:19 -!- cheater has joined. 14:31:19 -!- uorygl has joined. 14:32:29 -!- uorygl has quit (Read error: 104 (Connection reset by peer)). 14:33:04 -!- cheater3 has joined. 14:33:46 -!- sebbu2 has joined. 14:34:28 -!- FireFly has joined. 14:34:37 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net). 14:34:37 -!- ineiros has quit (calvino.freenode.net irc.freenode.net). 14:34:38 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net). 14:34:38 -!- pikhq has quit (calvino.freenode.net irc.freenode.net). 14:34:39 -!- jix has quit (calvino.freenode.net irc.freenode.net). 14:34:39 -!- Ayeraw has quit (calvino.freenode.net irc.freenode.net). 14:34:39 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net). 14:34:41 -!- Sgeo_ has quit (calvino.freenode.net irc.freenode.net). 14:34:41 -!- augur has quit (calvino.freenode.net irc.freenode.net). 14:34:42 -!- zeotrope has quit (calvino.freenode.net irc.freenode.net). 14:34:42 -!- cal153 has quit (calvino.freenode.net irc.freenode.net). 14:34:47 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net). 14:34:47 -!- sebbu has quit (calvino.freenode.net irc.freenode.net). 14:34:47 -!- Wareya has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- dbc has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- HackEgo has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- mtve has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- cheater2 has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- Gracenotes has quit (calvino.freenode.net irc.freenode.net). 14:34:49 -!- coppro has quit (calvino.freenode.net irc.freenode.net). 14:34:57 -!- uorygl has joined. 14:34:57 -!- zeotrope has joined. 14:34:57 -!- cal153 has joined. 14:35:30 -!- augur has joined. 14:35:30 -!- Sgeo_ has joined. 14:36:20 -!- sebbu has joined. 14:36:20 -!- cheater2 has joined. 14:36:20 -!- Wareya has joined. 14:36:20 -!- coppro has joined. 14:36:20 -!- Gracenotes has joined. 14:36:20 -!- Deewiant has joined. 14:36:20 -!- SimonRC has joined. 14:36:20 -!- mtve has joined. 14:36:20 -!- HackEgo has joined. 14:36:20 -!- dbc has joined. 14:37:01 -!- mtve has quit (Read error: 104 (Connection reset by peer)). 14:37:03 -!- cheater2 has quit (Connection reset by peer). 14:37:13 -!- mtve has joined. 14:41:38 -!- mtve has quit (Client Quit). 14:41:42 -!- mtve has joined. 14:48:32 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net). 14:48:35 -!- sebbu has quit (calvino.freenode.net irc.freenode.net). 14:48:35 -!- Wareya has quit (calvino.freenode.net irc.freenode.net). 14:48:40 -!- Wareya has joined. 14:51:05 -!- jix has joined. 14:51:05 -!- AnMaster has joined. 14:51:05 -!- Ayeraw has joined. 14:51:05 -!- pikhq has joined. 14:51:05 -!- bsmntbombdood has joined. 14:51:05 -!- lifthrasiir has joined. 14:51:05 -!- ineiros has joined. 14:56:24 -!- Deewiant has joined. 15:12:13 -!- cpressey has joined. 15:31:03 -!- coppro has quit ("work. also, l5"). 15:53:44 -!- FireFly has quit (Client Quit). 15:59:14 -!- MigoMipo has joined. 16:00:24 -!- FireFly has joined. 16:09:08 -!- MissPiggy has joined. 16:09:31 -!- kar8nga has quit (Remote closed the connection). 16:42:00 -!- augur has quit (Read error: 104 (Connection reset by peer)). 16:57:33 -!- Asztal has joined. 18:22:19 -!- MigoMipo has quit (Remote closed the connection). 18:24:22 -!- Ayeraw has quit (Read error: 110 (Connection timed out)). 19:14:15 -!- kar8nga has joined. 19:44:48 -!- scarf has quit (Remote closed the connection). 19:53:03 -!- oerjan has joined. 19:58:21 -!- oerjan has quit ("Reboot"). 20:00:03 -!- MigoMipo has joined. 20:02:32 -!- oerjan has joined. 20:25:37 -!- kar8nga has quit (Remote closed the connection). 20:47:03 hi 20:47:14 ho 20:48:35 -!- GreaseMonkey has joined. 21:14:20 -!- augur has joined. 21:15:06 -!- tombom__ has joined. 21:16:04 -!- Sgeo__ has joined. 21:32:50 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 22:11:22 -!- oerjan has quit ("leaving"). 22:18:53 -!- kar8nga has joined. 22:19:37 check this craziness out: git is occasionally a lot slower than CVS, due to working on an entire repository rather than per file :D 22:25:39 Yeah -- having to work with Mercurial regularly now, I have to say my regard for distributed version control is... not very high. 22:28:54 Funny. After switching from SVN to darcs, I never looked back. (Although I did look forward and switched to Mercurial) 22:30:27 Funny, seems to me that the only thing worse than CVS is RCS. 22:32:00 -!- MigoMipo has quit (Remote closed the connection). 22:32:04 pikhq: Ever used SCCS? 22:32:15 No. 22:32:37 Gregor: let me guess, worse than RCS? :) 22:34:04 -!- tombom__ has quit ("Leaving"). 22:35:04 To be fair, it predated RCS, and basically invented revision control. 22:36:08 is currying an example of http://en.wikipedia.org/wiki/Function-level_programming 22:36:09 ? 22:37:16 cheater3: Uh - kind of, I think. 22:37:47 No, you can curry without doing that. 22:37:51 I think the Haskell crowd would use the term "point-free" for what Backus calls "function-level" -- if I read that page correctly. 22:38:30 Well, function-level programming would encourage currying over not currying. 22:39:31 But yes, just because you're currying something doesn't mean you are necessarily thinking/coding in a "function-level" way 22:39:45 pikhq: i know you can curry without it, but that's not what i am asking about 22:40:50 http://www.haskell.org/haskellwiki/Pointfree 22:41:02 currying is just sugar, though, as far as i'm concerned. 22:41:39 sugar for what? 22:41:59 sugar for a function which takes N arguments and returns a function which takes N-1 arguments 22:42:11 hmm 22:42:47 and currying only happens in one direction, when really, you could "pre-set" any of a function's arguments that way 22:43:28 yeah, currying in one direction is stupid 22:43:32 but oh well 22:43:47 so what would a program in function level programming look like 22:44:55 probably like some of the examples on that Pointfree wiki page. No variable names, but lots of "adapter" functions 22:45:06 would it look like ff1(ff2(f1(), f2()), ff3(ff5(f6()), f3()), ff4(f7())) 22:45:09 something like this? 22:45:34 f7 could for example be the 'input' function 22:45:39 aka the argument 22:46:22 well, that wouldn't be "pure" functional programming, since the value returned by f7() would change over time. 22:47:13 pointfree is not funciton-level, it is value-level 22:47:36 cpressey: function-level does not need to be functional. it is not functional programming. 22:48:10 cheater3: I see. 22:48:14 pointfree is value-level because it serves as a build up of values, from which other values are constructed, and so on, until you get the final value which is your program 22:48:21 The page on value-level programming makes that clearer. 22:48:50 *wikipedia page. 22:49:01 there are no other pages 22:49:15 http://en.wikipedia.org/wiki/Value-level_programming 22:50:33 i meant, there are no other pages than in wikipedia. ;p 22:51:09 I agree, pointfree is value-level. In that case, I'm not sure what the function-level page is talking about... 22:51:47 And, I'm not familiar with any of the languages listed in http://en.wikipedia.org/wiki/Category:Function-level_languages 22:51:49 http://en.wikipedia.org/wiki/FP_%28programming_language%29 22:51:52 check this out 22:52:01 read it top to bottom 22:52:53 Currying isn't sugar. *Non-monadic functions* are sugar. 22:53:03 ;) 22:53:21 I mean, I've encountered FP before, but I have no idea what is supposed to make it "function-level" as opposed to "value-level" 22:53:37 Also, damned English, overloading "monadic". :P 22:53:49 It certainly seems like you could do "value level programming" quite straightforwardly in it? 22:55:32 cpressey: the 'functionals' in fp 22:55:43 cheater3:OK, I think I'm seeing it now. 22:56:52 remember that formula i typed up, ff are the functionals, while f are the modules (functions defined by FP. you cannot explicitly define other functions.) 22:57:12 -!- Sgeo_ has joined. 22:59:06 It's about being only able to create new functions by having them be returned by (a combination of) existing functions, it would seem? 23:00:08 no 23:00:14 a function cannot process another function 23:00:23 only a functional can process a function and return a function 23:00:28 a function always returns a value 23:00:35 except, you never bind values 23:01:00 Oh. So it's partly about distinguishing functionals *from* functions (which "functional languages" rarely do)? 23:01:12 yes 23:01:22 functional languages have nothing to do with function-oriented languages 23:01:35 Interesting. 23:01:39 well, i dunno if it's about distinguishing in the general, but in particular fp does that 23:01:54 maybe you could come up with a language where functionals are functions. 23:02:01 and it would be function-level too. 23:02:12 so in fact what you are building up is a structure without the constants and without the input arguments here 23:02:41 What, you mean there's languages with types other than functions? 23:02:49 It would seem any sufficiently "functional" language (Scheme, Haskell, whatever) would at least allow you to write functionals as higher-order functions, and permit you to write function-level programs. Though not force you to. 23:03:09 pikhq: You are mistaken. There are no languages, only rewrite systems. 23:03:19 ;) 23:03:21 cpressey: you are mixing abstractions. you could write a DSL in haskell, and it could be function-level, but haskell is not function-level. 23:03:25 i think it is not. 23:03:50 cpressey: you are mistaken, there are no rewrite systems, only self-mutating data. 23:05:40 cpressey: i think it really explains the point if you consider that constants in FP are actually calls to the functional constant:x which transforms its argument to the constant valued function always returning that argument. 23:05:42 cheater3: That doesn't seem to conflict with what I said: Haskell permits you to write in a function-level style. (If you want to define such a subset and technique and call it a DSL, that's perfectly valid.) 23:06:06 cpressey: function-level is about what you cannot do, not about what you can do 23:06:13 -!- kar8nga has quit (Remote closed the connection). 23:06:36 -!- Pthing has quit (Remote closed the connection). 23:07:25 So if I write a program which follows all the rules of function-level programming, but that program is in a language which allows violations of the rules of function-level programming -- is that program "function-level" or not? 23:10:01 following your logic i could say that php runs erlang because it's turing-complete 23:10:25 PHP = Erlang 23:10:27 problem solved! 23:13:56 Sort of. But I don't think it's a very good comparison. Haskell (just as example) seems to be a superset of the machinery required for FLP, whereas PHP isn't a superset of Erlang. 23:14:39 Specifically, functionals sound like a particular role for higher-order functions, which is why I asked about a distinction being made between them and HOFs. 23:14:42 -!- Sgeo__ has quit (Read error: 110 (Connection timed out)). 23:17:54 that distinction is not the defining thing for FLP 23:18:27 Well, that's as far as I've gotten. If not that, what is? 23:18:28 the defining thing is generation of structure 23:18:57 Can you be more specific? 23:19:21 imagine a typical program in an imperative language but on the right side of = there aren't any values, there's just . 23:20:09 Just function calls? 23:20:10 if(.) { x = . ; y = foo(x); z = y * .; } 23:20:26 and then you fill in the dots with what you want 23:20:37 What can "what I want" be? 23:20:50 flat values, called 'atoms' 23:21:04 Thought you said there weren't any values :) 23:21:23 no 23:21:26 there aren't any 23:21:29 only dots 23:21:45 what i typed in with the dots is the output of an FLP program 23:21:58 what you do with it later happens outside of FLP 23:22:24 that program gets evaluated on a certain set of values you plug in for such 'dots' 23:22:53 -!- jpc has joined. 23:23:10 this has the immediate result of two programs with the same structure but different resources being the same according to FLP 23:24:28 Sorry, I must be thick, since I'm just not getting it. 23:24:56 ok 23:24:56 And I'm afraid I must be off. 23:25:12 it's ok, you don't need to understand, i'm happy that i understand. ;) 23:26:57 -!- augur has quit (Read error: 110 (Connection timed out)). 23:27:03 -!- cpressey has left (?). 23:45:41 -!- FireFly has quit ("Leaving"). 23:45:42 -!- BeholdMyGlory has quit (Remote closed the connection). 23:51:41 -!- MissPiggy has quit. 2010-01-22: 00:15:16 -!- Gracenotes has quit (Read error: 110 (Connection timed out)). 01:02:25 -!- coppro has joined. 01:21:27 Todo this weekend: Write a JavaScript interpreter 01:26:58 -!- Gracenotes has joined. 01:27:42 Hey, I've got a mouse with a wheel again :P 01:52:35 * Asztal envy 01:52:49 this mouse has a wheel but it does whatever it likes when I scroll it, so I don't scroll it. 01:56:54 -!- cheater2 has joined. 02:04:41 -!- cheater3 has quit (Connection timed out). 02:08:02 -!- oerjan has joined. 02:08:37 -!- Gracenotes has quit (Read error: 104 (Connection reset by peer)). 02:12:21 -!- Asztal has quit (Read error: 110 (Connection timed out)). 02:16:22 Hey, I've got a mouse with a wheel again :P 02:16:30 your cat ate its foot? 02:16:54 * Gregor has smoke coming out of his ears 02:17:12 STOP THINKING SO HARD 02:18:22 I aaaalmost got it, because if my cat ate her foot she would form a wheel, and cats eat mice, but I can't rectify "mouse with a" 02:19:12 your cat ate _the mouse's_ foot? 02:19:16 ** 02:19:39 OOOOOOOOOOOOOHHHHHHHHHHH 02:19:51 -!- augur has joined. 02:20:02 + some prosthetics, obviously 02:20:38 Yeah, that I got 02:21:30 good, good 02:29:57 -!- Sgeo has joined. 02:39:54 -!- adam_d has joined. 02:40:13 -!- augur has quit (Read error: 104 (Connection reset by peer)). 02:43:26 -!- augur has joined. 02:46:50 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 02:59:08 -!- adam_d_ has joined. 02:59:41 -!- jpc has quit ("I will do anything (almost) for a new router."). 03:02:04 -!- oerjan has quit ("leaving"). 03:02:06 -!- jpc has joined. 03:18:23 -!- adam_d has quit (Read error: 110 (Connection timed out)). 03:26:58 -!- MizardX- has joined. 03:38:08 http://robozzle.com/ 03:38:49 (Warning: Silverlight) 03:39:28 -!- coppro has quit (Remote closed the connection). 03:42:45 -!- MizardX has quit (Read error: 110 (Connection timed out)). 03:43:15 -!- coppro has joined. 03:44:37 Sgeo: neat 03:44:50 :) 03:44:57 * Sgeo found it because of TV Tropes Wiki 03:45:35 lies 03:45:40 nothing good ever comes of tvtropes 03:46:24 http://tvtropes.org/pmwiki/pmwiki.php/Main/ProgrammingGame 03:49:46 nice 03:50:20 -!- MizardX- has quit (Connection timed out). 03:51:36 * pikhq discovers the FATAL traditional RPG. 03:51:59 It can be summed as follows: Imagine that /b/ made an RPG. Now imagine that that RPG could defecate. *That* is FATAL. 04:00:31 -!- bsmntbombdood has changed nick to averagesizedpeni. 04:04:41 -!- averagesizedpeni has changed nick to bsmntbombdood. 04:15:30 -!- oerjan has joined. 04:16:38 Sgeo, did you just link to a really awesome game? 04:17:08 uorygl, that's a bit subjective, really 04:17:17 And at least I have something to do for an hour 04:26:18 Hum, I'm having difficulty getting Silverlight. 04:40:07 -!- coppro has quit (Remote closed the connection). 04:40:43 -!- coppro has joined. 04:48:52 -!- adam_d_ has quit (Read error: 113 (No route to host)). 04:58:20 -!- zeotrope has quit (Read error: 54 (Connection reset by peer)). 05:05:57 -!- augur has quit (Read error: 110 (Connection timed out)). 05:12:00 xkcd :D 05:35:15 Sgeo: i've seen that with subroutines 05:35:16 -!- augur has joined. 05:36:20 oh lol yeah that has them too 05:36:45 -!- oerjan has quit ("rhombus"). 05:37:52 okay and tons of other stuff 05:37:57 cool. 05:58:09 :D 05:58:38 I think the creator of Robozzle might have been inspired by another game. I think he said it somewhere 05:58:51 -!- aesh_49 has joined. 05:59:38 -!- aesh_49 has left (?). 06:00:17 yeah there was this trivial game where you put a few arrows down and light like a lamp 06:00:47 Yeah, I've seen it 06:00:58 I think that's the one that inspired this one 06:01:55 http://www.youtube.com/watch?v=MmqBVWi_Pc0 [partial puzzle spoilers (how badly can a video spoil, if the code isn't shown?)] 06:04:20 icegibbon (7 months ago) Show Hide +1 Marked as spam Reply Awesome. A game that teaches concepts of Programming, even recursion! Finally 06:04:24 i hate youtube 06:06:36 "recursion" lol 06:06:50 thaat's a fucking goto 06:06:55 *that's 06:08:07 Actually, it does tend to act more like recursion than a goto 06:08:29 oh right it does 06:08:54 Suppose in the middle of F1 you put a conditional F1.. there are puzzles that rely on the recursive-like behavior 06:09:08 anyway, i like the idea of having a memory array, and putting a color pattern on it that's that only way to do conditionals 06:09:28 so basically the game with an infinite pattern + like a drop command 06:09:30 Search for stack in http://robozzle.com/puzzles.aspx 06:09:33 "shit here" 06:09:34 hmm 06:09:41 ah, interesting 06:10:07 have to be at uni in 6 minutes, and have to take the dog out first, so slightly busy atm 06:10:10 but maybe tonight 06:10:22 * Sgeo is going to sleep soon 06:10:24 maybe a few minutes of simpsons first 06:15:24 http://robozzle.com/forums/thread.aspx?id=1593 06:27:44 -!- adam_d has joined. 06:31:08 There is a Javascript client: http://robozzle.com/js 06:32:32 Night all 06:34:14 -!- Sgeo has quit ("Leaving"). 06:35:35 -!- FireFly has joined. 06:56:45 -!- tombom has joined. 07:24:05 -!- GreaseMonkey has quit (Client Quit). 07:49:42 -!- tombom has quit ("Leaving"). 07:53:38 -!- coppro has quit (Remote closed the connection). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:25:28 -!- jpc has quit ("I will do anything (almost) for a new router."). 08:31:45 -!- nooga_ has quit (Read error: 110 (Connection timed out)). 08:50:51 -!- MigoMipo has joined. 08:59:42 -!- scarf has joined. 09:05:01 -!- nooga has joined. 09:29:56 -!- MigoMipo has quit (Remote closed the connection). 09:58:11 -!- scarf has changed nick to scarf|away. 09:59:53 -!- Pthing has joined. 10:22:41 -!- adam_d has quit (Read error: 113 (No route to host)). 10:51:41 -!- scarf|away has changed nick to scarf. 11:50:24 -!- Pthing has quit (Remote closed the connection). 12:13:29 -!- Pthing has joined. 12:24:48 -!- Sgeo has joined. 12:25:08 o.O the Robozzle source is freely available (don't know if it's Open Source or not, though) 12:25:13 http://robozzle.codeplex.com/ 12:26:15 * Sgeo plays with Grooveshark, and facepalms at whoever thinks that Salva Me is an Enya song 12:26:41 -!- MizardX has joined. 12:51:02 -!- MissPiggy has joined. 13:02:12 when do these start getting hard? 13:02:33 assuming i agree with the general difficulty ratings 13:03:01 (actually realized there's one after i asked, so probably i could just scroll levels until i find a hard one) 13:10:36 Besides the campaign tab, there's also an easy to hard tab... 13:11:40 * Sgeo notices that oklopol asked that 7 min ago, so pokes him in case he didn't check IRC 13:18:11 oh lol 13:18:20 yeah but actually these are hard enough already 13:18:33 (although i think this is still an "easy" level) 13:19:04 sofar the only hard ones have been ones where i've needed something i hadn't realized i can do 13:19:20 but in limit your stack, i have no idea what to do yet 13:21:03 -!- asiekierka has joined. 13:21:05 oh, hi 13:21:18 * Sgeo has only done one puzzle that involved the stack, it was some learn the stack puzzle 13:21:35 hi asiekierka 13:21:40 what is the current topic 13:21:46 so i don't like go all offtop---oh wait... T_T 13:22:03 as in 13:22:06 what are you guys talking about 13:22:18 and madame's 13:22:20 http://robozzle.com (if you don't have Silverlight, try http://robozzle.com/js ) 13:22:30 Although the latter doesn't have the tutorial, I think 13:22:36 And is unpretty 13:22:59 aargh silverlight 13:23:32 i want to make a random text generator based on all these markov's and weighting to 13:23:33 o 13:23:36 as in 13:23:47 meh 13:23:49 too lazy to explain 13:24:07 o, robozzle? 13:24:10 i saw a game like it 13:24:11 1 year ago 13:24:22 asiekierka, just a guess, but Light-Bot? 13:24:27 yes 13:24:28 exactly 13:24:38 Robozzle is much more flexible, and is mostly user-created puzzles 13:25:00 does it have logic gates 13:25:04 if yes, then i agree 13:25:07 It has conditionals 13:25:20 that may work 13:25:31 someone should pull off a computer in it xD 13:25:40 or an adder 13:26:39 http://www.youtube.com/watch?v=MmqBVWi_Pc0 (possibly spoils some puzzles) 13:30:33 -!- MigoMipo has joined. 13:32:08 Er, what's that filled-circle command? ... oh, it paints a square, or something. 13:32:41 no "or something", it paints the square 13:33:09 Right. 13:33:20 It's not mentioned at http://www.robozzle.com/wiki/Commands.ashx though. 13:34:05 Well, it was added later on, iirc 13:34:30 Add a command that allows the robot to repaint tiles (making RoboZZle Turing-complete) 13:34:30 Update: this extension is now implemented! 13:34:35 http://www.robozzle.com/wiki/Proposed%20RoboZZle%20Extensions.ashx 13:35:05 Ah. 13:35:57 that's pretty cool 13:41:21 wait you can do recursion in this?? 13:41:46 okay limit your stack is obvious, i guess i just didn't understand the stack well enough 13:42:14 ugh!! the editor for this game is so horrible it makes playing it painful 13:43:47 MissPiggy, the keyboard shortcuts might help 13:44:14 Also, are you using the Silverlight version or the JS version? 13:44:18 js 13:44:20 uugh, i have to solve what? 40 puzzles? 13:44:56 To make your own puzzles, yes 13:45:07 this is not funny. 13:45:16 i only solved what, 15? 13:45:27 Try solving the easiest puzzles? 13:45:37 i've solved 32 puzzles today 13:45:40 What's this about 40? Something relevant to the Silverlight version? 13:45:52 i am 13:45:53 fizzie, it's how many you need to solve to edit puzzles 13:45:57 that's how i got 15 13:45:57 but it seems sgeo has too....... 13:46:07 * oklopol smells failure 13:46:11 I don't know if there's a JS puzzle editor 13:46:20 oklopol, hm? 13:46:30 Sgeo: have you solved 32 puzzles today? 13:46:40 Um, I solved way over that 13:46:54 The board in the Silverlight thing doesn't seem to update properly 13:47:01 well Sgeo is number one on the list 13:47:05 oh 13:47:07 Try "Full scoreboard" 13:47:23 i was just wondering if it was my score, but i'd clicked on your link and somehow they mistook me for you 13:47:35 because i've solved exactly 32 now 13:48:03 You know, one of those puzzles really shouldn't count. Some idiot made a trivial puzzle with 1 slot. I think it's hidden from regular view, but it was in RSS 13:48:33 did you start today? 13:48:33 * Sgeo loves how the top players right now are Eso.. what's the right term for us? 13:48:40 oklopol, I started within the past 24h 13:49:13 This is a bit monotonical. I guess the scoreboard's also visible only in Silverlight-land? 13:49:42 The Silverlight board is crappy. http://robozzle.com/scoreboard.aspx is better 13:52:57 Sgeo: esolangers 13:53:19 erlangers 13:53:30 i love how there's like 20 puzzles with one solution 13:55:13 19 so far 13:56:03 ? 13:56:31 puzzles 13:56:33 -!- Pthing has quit (Remote closed the connection). 13:56:37 until the grand 40 13:56:43 i'm heading 13:56:56 23, actually, i have 13:57:37 i guess i have to quit for the day 13:57:42 oklopol? 13:57:45 Why? 13:57:52 have to spend time with humans :'( 13:58:34 :( 13:59:11 okay, refreshed 13:59:17 seems i could easily catch up with you 13:59:46 well, assuming you're slower than me ofc 13:59:56 24h is just an upper limit prolly 14:00:57 25, time for a break 14:01:03 okay I admit it this game is fun 14:10:32 Apparently Oklopol hit 40 14:11:03 yeah 14:11:17 41 is trivial, don't solve anything so i can catch you 14:11:20 how much do you have? 14:11:37 oklopol: hey, we're humans! 14:12:53 * Sgeo has 43 14:13:22 * Sgeo is trying the Limit Your Stack one 14:14:36 grrr 14:14:43 Ugh, I give up on that one for now. If only it were facing a different direction 14:14:45 i just finished 42nd 14:15:28 You and fizzie are both much faster than I am, I think 14:16:10 I did a couple easy ones outside the campaign tab (I just now noticed it's not just the sorting; it's different puzzles) so my 43 might not count. 14:16:23 43 14:16:37 shit, fizzie is doing these? 14:16:41 fizzie, what do you mean, "count" 14:16:42 ? 14:16:50 i really have to go soon :| 14:16:55 * Sgeo hasn't been staying on the campaign 14:16:57 Just easy ones 14:17:00 fizzie: you've dong exactly 43? 14:17:02 oklopol: The list was linked to just a moment ago; http://robozzle.com/scoreboard.aspx?today=1 14:17:05 oklopol: Yes, I'm a dong. 14:17:15 :D 14:17:17 *done 14:17:33 i've done them in order, since they've all been trivial sofar 14:17:46 okay DON'T DO ANYTHING NOW 14:17:53 Don't worry about me, though; I'm feeling so bored I might even stop here. 14:18:13 fizzie, skip to some more advanced ones? 14:18:18 Perhaps some stack stuff? 14:18:53 44 14:18:55 Yes, I guess I could take a look. 14:19:32 okay i'm #1, time for pizza 14:20:43 although it would be awesome to have another allnight of competing with fizzie 14:20:48 maybe some other time 14:20:54 *allnighter 14:21:08 Maybe; I'll be mostly away this evening too. 14:21:28 yarrr 14:21:29 see ya -> 14:21:32 Am I allowed to go solve another? 14:21:33 Bye 14:25:31 yeah now you can solve anything you want 14:25:39 i just wanted to catch you 14:25:49 now it's done, and i'll never have to touch the game again 14:25:49 throw Sgeo; 14:27:14 oklopol, does "never have to" mean that you won't? :( 14:28:23 i probably will, one of the best games i've seen 14:30:02 * MissPiggy is stuck :p 14:32:28 MissPiggy, try a different puzzle 14:32:35 -!- BeholdMyGlory has joined. 14:34:55 Also, stack tutorial: http://robozzle.com/forums/thread.aspx?id=1593 14:35:03 There are a few good puzzles for practising the stack 14:36:23 -!- oerjan has joined. 14:38:12 Hi oerjan 14:38:47 g'day 14:40:38 * Sgeo points oerjan to robozzle.com 14:41:49 Yes, the latter ones seem reasonably nontrivial. 14:42:06 curses, i was trying to pretend not to have noticed that 14:42:09 I can't do smart reuse 14:42:43 MissPiggy, it's rather easy. Just figure out what commands you might like to repeat, and put them in F2. Different set of commands, F3 14:42:57 Then F1 is simply calls to F2 or F3 as needed 14:43:14 (assuming I know what puzzle you're talking about) 14:44:03 yeah 14:44:04 oh haha wow I convinced myself the solution was more difficult than that somehow 14:44:31 I saw 9 spaces but it starts at 0 so there's actually 10... 14:44:34 which means that way does work 14:47:49 durrr learn to count 14:50:09 http://robozzle.com/puzzle.aspx?id=1587 looks tricky 14:55:56 The JS client seems to break for me 14:56:40 http://robozzle.com/puzzle.aspx?id=318 -- in the campaign -- was nice; they start to approach some actual computation there. 14:57:42 * Sgeo isn't sure how he would even get started on that one 14:59:53 back 15:00:02 Just nest calls of f2 and f3 -- f3 for each red brick, for example -- and have the trailing end of f3 have a single up-arrow; and arrange things that the whole pile returns after a green. 15:03:24 Awesome. In the puzzle designer, in the solution part, you can press L to get a link that you can give to others 15:03:50 Without submitting the puzzle 15:05:01 -!- scarf has changed nick to scarf|away. 15:09:36 -!- kar8nga has joined. 15:10:51 7 puzzles left 15:10:51 :P 15:11:26 * Sgeo goes to watch some SG-1 15:11:59 the most common type of puzzles i found is the 4-3 puzzle 15:12:04 4 slots, 3 colors of blocks 15:12:06 make it work 15:13:02 It occurs to me that that description could apply to a wide variety of completely different puzzles 15:13:57 the main rule of the 4-3 puzzles is that 15:14:07 you have to go straight and assign 2 commands to 2 color types 15:14:20 OR assign 3 commands to 3 color types (rare-ish) 15:14:27 and then jump back to itself 15:16:20 i want to make a game for my cellphone like that 15:18:16 now im stuck again 15:18:50 MissPiggy, what puzzle 15:18:51 ? 15:18:57 turn around 15:19:07 yay, 38 15:19:14 two more and i can has editorz 15:19:47 i want to make "Universal Program" series 15:19:51 the point is to use ONE program 15:19:56 -!- Asztal has joined. 15:19:56 and make it work on 3 different puzzles 15:20:08 as in, not 100% different 15:20:11 but somehow, yes 15:20:20 -!- cpressey has joined. 15:20:21 also 15:20:24 what i like about roboZZle 15:20:32 is that it doesn't remember half the levels i've already done 15:20:37 nvm 15:20:42 i just noticed this is a different puzzle 15:21:04 Yeah, there are some repeats. They tend to get disliked 15:21:42 by anyone who got past 40 puzzles, that it 15:21:43 that is* 15:21:50 the <40'ers LOVE them 15:22:05 lol 15:22:47 You know, it took me a while to realize that Robozzle = Robot + Puzzle 15:23:31 YES! FORTY 15:23:44 Congratulations 15:23:48 yay, edit---... 15:23:54 this is far below my expectations. 15:23:59 ? 15:24:00 time to write a competing game i guess 15:24:03 i mean 15:24:12 i thought this editor will have more functions 15:24:18 don't see how it is possible 15:24:35 MissPiggy, I did it early, but forgot how 15:24:55 asiekierka, what's wrong with the editor? 15:26:09 Sgeo, no, not the editor 15:26:21 i just thought the game's slightly more than BF 15:26:26 while it has about the same number of commands as BF 15:26:58 * Sgeo thinks it would make more sense to compare it to a 2d language. After all, there is 2d memory, after a fasion 15:27:05 no, i mean 15:27:09 the number of commands in general 15:27:11 let's count 15:27:17 MOVE STRAIGHT, LEFT, RIGHT 15:27:21 FUNCTION 1, 2, 3, 4, 5 15:27:26 PAINT TILE RED, GREEN, BLUE 15:27:34 and three kinds of prefixes 15:27:49 that's 10 commands if we assume the FUNCTION command as being one command with a param 15:27:52 told ya 15:27:59 though yeah 15:28:06 i think i could make such a game for a different platform 15:28:08 I.E. the NES 15:30:24 I'm a bit bored of this 15:31:03 I wonder if there's a way to solve these automatically 15:31:15 hm 15:31:22 i want to submit but i'd rather like someone else see it first 15:31:23 any way to 15:32:02 asiekierka, go to the solver thing, then press L 15:32:11 MissPiggy, there is a solver somewhere 15:32:22 cool how does it work 15:32:27 http://robozzle.com/index.aspx#design/aaaaaaaaaayibaaaaaaiiaaaaaaiiagaaayibadaaaaaaadaaaaarBlaaaaaaarBdaaaaaBaaaaaaaBaaaaaaaAaaaaaaajaWoicaa,qerMgeeHqGa 15:32:27 http://code.google.com/p/robozzlesolver/ 15:32:31 here, someone have a look 15:32:36 and tell me if it's good enough for a submit 15:32:50 hmm 15:32:55 asiekierka the solution was already coded in!!! 15:33:03 oh !@#$% 15:33:10 what now 15:33:36 "Small amount of instructions and program length limit make it possible to construct an automatic solver for puzzles based on backtracking" 15:33:38 humf 15:33:42 that's not very interesting 15:33:45 http://robozzle.com/index.aspx#design/aaaaaaaaaayibaaaaaaiiaaaaaaiiagaaayibadaaaaaaadaaaaarBlaaaaaaarBdaaaaaBaaaaaaaBaaaaaaaAaaaaaaajaWoicaa,a - try this 15:33:51 for anyone that hasn't 15:33:55 as copying a soluton is not fun 15:34:28 did anyone NOT SEE that other link 15:34:37 im http://robozzle.com/scoreboard.aspx?today=1 15:34:39 im the lowest 15:34:46 :D 15:34:51 you're 33rd 15:34:51 -!- Pthing has joined. 15:34:58 im not really going past my 40 much 15:35:28 http://robozzle.com/user.aspx?name=snydej - hey, this guy has some epic puzzles 15:36:16 sgeo 15:36:27 asiekierka? 15:36:31 what 15:36:33 well 15:36:37 can you see my puzzle 15:36:40 or did you peek the solution 15:36:44 I peeked 15:36:48 uuugh 15:36:51 Sorry 15:36:54 no problem 15:37:10 wish fizzie was on 15:37:43 They changed the Java installer, it doesn't say anything about experiencing the power of Java any more :( 15:38:27 wow that snydej guy is cool 15:38:32 yes 15:39:33 guys, remember R.O.B., that idiot nes robot 15:39:38 well he had something similar to robozzle 15:39:42 only it converted an actual "robot" 15:39:43 and was 1D 15:39:44 nes robot?? 15:39:47 yes 15:39:50 that nes weirdo 15:39:55 with huge glass eyes 15:41:30 also 15:41:33 why is the robozzle channel emty 15:41:34 #robozzle 15:43:16 I asked exactly that question on the forums 15:43:45 * Sgeo goes to watch some SG-1 15:43:56 oh no you aren't 15:44:04 ? 15:44:18 you know what 15:44:25 i want to make paper cubes of RoboZZle commands 15:44:35 as in, all combinations 15:44:40 what are paper cubes 15:44:44 you know 15:44:52 the cubes that you make with gluing paper all around 15:45:06 i think that'll be a total of 9*4=36 combinations needed 15:45:10 for every possible command 15:49:24 yay, langtozzle 15:50:02 -!- scarf|away has changed nick to scarf. 15:50:24 langtozzle? 15:51:14 im trying to do that tree one from snydej 15:56:06 langton's ant in robozzle 15:56:07 easy peasy 15:57:23 lol: 15:57:24 "Right now I've seen a puzzle where F1 has 4 slots, F2 has 3 slots, and F3 has only one slot, and the author's solution has a length of 8, which means he needed F3! No wonder almost everybody solved it with a length of 7." 15:58:23 LOL 15:58:32 okay 15:58:33 MissPiggy: it's easy to make a puzzle a program can't solve 15:58:56 oklopuzzle how do you mean? 15:59:15 well i don't know what the length limit is 15:59:19 just don't give enuogh instructions 15:59:25 but even with like 8 i'm sure it's easy 15:59:42 obviously i mean solvable, but not solvable by a program 15:59:45 well see ya -> 15:59:58 solvable, but not solvable by a program?? 16:00:47 In theory, all puzzles are brute-forcable 16:00:48 i wonder if anyone ever does the game of life in robozzle 16:01:24 i think that is doable though 16:01:43 or certainly would be if we had anything more than 3 block colors 16:01:46 let's say 4 16:08:11 yay I did tree lol 16:09:24 MissPiggy, which interface are you using 16:09:25 ? 16:09:34 I ended up using silverlight one because it's better 16:09:54 Indeed 16:18:12 -!- Pthing has quit (Remote closed the connection). 16:21:23 that langtons ant thing is so cool I can't believe I didn't know about 16:21:59 what 16:22:01 did you see my vid 16:22:13 no 16:22:18 cuz i uploaded one 16:22:20 showing it in action 16:22:35 show me it? 16:23:50 k 16:24:01 http://www.youtube.com/watch?v=VDWmujQ3W_I 16:32:09 asiekierka, post on the forums? 16:32:45 maybe 16:32:46 also 16:32:57 how do you do stacks as i'm stuck on stack puzzles :( 16:33:12 nvm 16:33:20 found you posting it earlier 16:33:51 "MissPiggy: solvable, but not solvable by a program??" <<< yes 16:33:58 oklopol: bruteforce 16:34:04 assuming an app allows F1 to F5 16:34:08 and all color painters 16:34:09 currently, computers aren't better than humans at all things 16:34:12 you get 4 modifiers 16:34:18 and 14 commands 16:34:33 that's 56 command combos per tile 16:34:37 brute force doesn't help 16:34:45 2,5668550825308447236314129989887e+87 16:34:51 yeah, that's the amount of combinations pretty much 16:34:57 and thats not including empty tiles 16:35:05 but let's assume the typical situation 16:35:15 1 color painter, 3 functions of a length of 20 total 16:35:31 7 commands, 4 modifiers 16:35:40 28 combinations of a command 16:36:21 There are no infinite loops in Robozzle.. programs terminate after 1000 steps 16:36:33 THAT makes 87732524600823436081182539776 combinations 16:36:38 assuming 1 second for all of them 16:36:42 we get... nevermind 16:37:19 assuming 0.2 seconds but knowing we use 4 cores to do 4 combinations at once 16:37:29 we're slimmed down to 4386626230041171804059126988,8 seconds 16:37:47 Only 10^10 universe ages 16:38:43 yes, that's notreally much 16:38:52 only 141030935893813393906 years 16:39:00 but we assume we're doing a simple stack puzzle 16:39:07 we have no paint modifiers 16:39:11 and only 2 functions for 10 commands 16:39:20 err no paint colorers 16:39:25 so we have 5 commands and 4 modifiers 16:39:33 10240000000000 combinations 16:40:27 It occurs to me that not all combinations are productive 16:40:43 left followed by right in same color, and right followed by left in same color, for instance 16:40:51 that's optimization 16:40:58 but 16:41:04 that doesn't help that much 16:43:16 im waiting for godwin's law to take effect 16:43:26 in robozzle 16:44:49 ..what? In the forums? 16:44:53 no 16:44:58 in a puzzle 16:45:02 you know, a swastika-shaped puzzle 16:45:12 Oh 16:45:26 * Sgeo can imagine that happening by accident 16:45:45 I'd imagine that it already has, and no one noticed 16:47:14 that sentence fits _so_ many situations... 16:47:39 `addquote I'd imagine that it already has, and no one noticed 16:47:41 117| I'd imagine that it already has, and no one noticed 16:47:50 -!- Pthing has joined. 16:48:27 what console should i implement a robozzle clone on? 16:48:33 I was thinking DS 16:48:36 and NES 16:49:12 which one 16:49:15 NES is retro and fun 16:49:24 while DS is touche 16:49:57 Odyssey² 16:51:00 -!- oerjan has quit ("Good night"). 16:51:21 asiekierka very nice!!! 16:53:23 * Sgeo should probably learn wha Langton's Ant is 16:53:41 Sgeo: 2D turing machine, two colours, four states for the four directions 16:54:07 it changes the square underneath it from white to black (or vice versa), turns left if it's on a white square or right if it's on a black square, then goes forwards one square 16:55:28 hm 16:55:30 i want to make a joke video 16:55:34 "First-First-Person Tetris" 16:55:40 basically glue a webcam on my head 16:55:47 and move it around while playing First-Person tetris 16:56:14 why are first-person tetris references cropping up so often nowadays? 16:56:39 because it's a simple concept 16:56:41 implemented 16:57:08 asiekierka: Set your video in a post-apocalypse world and call it "Last-Person First-First-Person Tetris". 16:57:17 LOL 16:57:26 actually, nevermind, i'll do this now, in 1080p 16:57:35 also, give me a green screen and i will 16:59:20 Looks like the bug you mention showed up because someone registered ' ' as a user account. (I think they had to go around the client checks to do that.) I'll fix it. 16:59:22 * Sgeo facepalms 16:59:32 done 17:03:40 "Universe age" is not a good unit of time. "Universe age as of 1950" is. 17:05:30 But any unit of time that changes as you say it is pretty interesting. And interesting > good :) 17:07:59 Working on First-Person RoboZZle 17:08:09 first person :S 17:08:23 wouldn't that be horribly difficult to learn what strategy to use? 17:08:26 as in 17:08:28 a video mockup 17:12:02 so far, 2 seconds done 17:12:36 -!- nooga has quit (Read error: 110 (Connection timed out)). 17:13:06 * Sgeo seems to have turned the channel into RoboZZle addicts 17:25:09 okay 17:25:11 techdemo joke done 17:30:18 upload and linky? 17:30:34 -!- nooga has joined. 17:37:01 -!- nooga has quit ("Lost terminal"). 17:39:56 -!- tombom has joined. 17:40:16 fizzie: you bastard, you've been playing :) 17:40:31 oklopol: Sowwwwwy. :/ 17:40:56 But I've just done random puzzles here and there, so it doesn't matter! 17:41:10 The ones that have difficulty>3 are more interesting than the early ones. 17:41:25 Well, for some values of "interesting". 17:41:43 I mean, admittedly 346 is just a recursive tree-walk, but at least it's almost like programmering. 17:41:52 I did the tree walk 17:41:54 wherer i stihs 17:41:54 that was fun 17:42:02 this robot language is pretty hard to program in though 17:43:51 what site 17:44:05 tombom, http://robozzle.com 17:44:17 thanks 17:44:21 yw 17:45:47 -!- sebbu has joined. 17:45:58 i will up the techdemo joke soon 17:47:13 -!- adam_d has joined. 17:47:30 techdemo joke == First-person RoboZZle, right? 17:51:00 yes 17:51:06 it's... oh my 17:53:24 ? 17:54:32 the techdemo 17:54:32 really no 17:54:33 -!- kar8nga has quit (Remote closed the connection). 17:54:36 turns 10 times in a second 17:54:40 for langton's ant 17:54:58 also, sgeo 17:55:02 beat ya by 10 17:55:18 asiekierka, I haven't been playing with it for an hour or two 18:03:16 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 18:16:56 Well, Learning Stack 2 looks interesting 18:16:58 But tricky 18:17:01 -!- scarf has changed nick to scarf|away. 18:17:51 -!- scarf|away has changed nick to scarf. 18:18:08 I don't think it was much different from Learning Stack no-number. 18:18:12 * Sgeo feels like he needs another function 18:18:53 * MissPiggy still can't do turn around 18:19:06 * Sgeo solved that one, but forgot how 18:19:58 oh MissPiggy = soupdragon 18:20:04 right 18:24:19 do you use the colors in turn around? 18:25:01 I can spoil Turn around for you if you want. 18:25:05 no 18:25:27 I should stop asking about it 18:25:41 But no, I didn't have any colors there. It's only blue squares, after all, and no paints. 18:26:03 yeah but them being in the palette made me think it was maybe an evil trick 18:28:42 The only time the conditionals aren't present is in the tutorial 18:29:18 ahh that was a nasty one!! 18:29:30 I was thinking it must be about recursion but it wasn't 18:29:38 -!- augur has quit (Read error: 110 (Connection timed out)). 18:32:08 wtf, fizzie is at 72 18:32:13 i'm only at 54 18:32:16 I did the turn around one 18:32:44 FireFly, what's your username? 18:32:58 Uh, FireFly I think 18:33:03 Had to resort to the JS version, though 18:33:17 which meant I got bored after a while 18:45:31 js version of what? 18:45:48 http://robozzle.com/ 18:45:50 Of that 18:46:03 FireFly, is there a plain html version? 18:46:09 Nope 18:46:26 okay then, what is it about 18:46:30 Would be kinda hard to do that 18:46:35 brb, has to eat 18:46:42 uh 18:46:43 have* 18:46:45 does one need to login? 18:46:47 no 18:47:03 -!- kar8nga has joined. 18:47:09 okay so where is the manual 18:47:12 If you want to keep track of which puzzles you've solved, and eventually be able to submit your own puzzles, yes 18:47:24 Sgeo, what are the controls and such? 18:47:26 AnMaster, in the Silverlight version, there are tutorials 18:47:33 Sgeo, I don't use that 18:47:36 http://www.youtube.com/watch?v=MmqBVWi_Pc0 18:47:40 I'm at most using javascript 18:47:50 Is a video, you should be able to survive http://robozzle.com/js with that 18:48:12 -!- lieuwe has joined. 18:48:23 Sgeo, meh. not worth it if they can't put up half a screen worth's of description 18:48:32 AnMaster: There's not that much of commands. 18:48:38 AnMaster: The wiki has the basic ones listed. 18:48:44 it's wroth getting silverlight, as much as I hate to admit it 18:48:50 fizzie, what wiki? 18:48:51 http://www.robozzle.com/wiki/ 18:49:05 Painting's not mentioned there, though. 18:49:27 painting? 18:49:30 MissPiggy: And on Linux? 18:49:36 Deewiant: Moonlight! 18:49:41 Should've tried it under that, actually. 18:49:59 hi, i'm thinking about high-level esolangs, and i decided i should try to make one, but i can't really come up with anything :-p any help? 18:49:59 go-mono.com was down earlier so I assumed it was dead 18:50:01 idk 18:50:02 Now it's back up 18:50:09 does moonlight work on freebsd on ppc? (please don't ask why I'm on that atm) 18:50:36 Linux + x86(_64) only 18:50:38 AnMaster: Re painting, you can change the colors of the squares on some levels. 18:50:51 Deewiant, but isn't mono supposed to be portable 18:51:12 I don't know anything about mono or moonlight 18:53:46 lieuwe: There's a list of ideas on the esolang wiki, and on my site 18:53:47 Tree III was fun. 18:54:17 "Moonlight 1.0 available in [FreeBSD] ports" 18:54:23 Of course 1.0 is not exactly new. 18:54:31 And the above was in March 2009. 18:54:58 lieuwe: http://esolangs.org/wiki/List_of_ideas 18:58:57 Moonlight doesn't seem to work well at all, at least for me + robozzle. 18:59:31 Yes, that is not very surprising. 19:01:28 I want to make an esolang that works on audio cassettes 19:01:32 Thank god for javascript, I guess. 19:01:32 with analogue data 19:04:40 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)). 19:06:52 star studded path I was the first one that slightly felt like programming 19:07:22 because i actually made a subroutine that means something 19:07:28 "get back on the path" 19:07:32 how do I find taht? 19:07:53 * MissPiggy has done 40 levels 19:08:59 oklopol: They get more programmatic at the end; I haven't done these at all systematically. 19:09:24 MissPiggy: You've done 62, according to the scoreboard. 19:09:39 -!- MigoMipo has joined. 19:10:05 :S 19:11:00 cpressey: already searched the one on the wiki, i'll have a look at your site... 19:12:37 cpressey: wait, whats the link :-p 19:14:28 catseye.tc 19:15:12 lieuwe: at the bottom of the ideas list on the esowiki 19:15:27 http://catseye.tc/cpressey/louie.html 19:15:32 only four ideas there though 19:15:53 although i have others in my notes 19:15:58 cpressey: i'll have a look 19:16:12 which i am probably never going to do, and so might show up on that page at some point 19:16:46 cpressey: mostly low-level ideas... 19:16:49 in other news, in light of what scarf pointed out a few days ago, it's likely Burro is not Turing-complete 19:17:26 lieuwe: yeah, low-level tends to be more popular in the eso world. 19:17:31 -!- adam_d has quit (Read error: 113 (No route to host)). 19:17:32 cpressey: too bad... 19:18:15 it's more, a genuinely new idea is easier to do low- than high- levle 19:18:16 cpressey: çause i found a nice python lib in which you can easiely create high-level parsers 'n such 19:18:17 *level 19:18:30 and syntax is the least important part of an esolang 19:18:46 scarf: ooh, them's fightin' words :) 19:19:04 cpressey: I wouldn't expect you, of all people, to disagree 19:19:14 your esolangs are all about substance over syntax, I rather like them as a result 19:19:50 scarf: well, it's true that languages like Ook! are basically ignorable 19:19:52 but 19:20:26 i would hesitate to say that syntax is always the least important part of a language design. 19:20:38 cpressey: high level ftw! 19:20:55 it's important, but I think the other parts are more important 19:21:12 (for instance, burro would be slightly visually nicer if {\} was (\), even if that made it harder to parse) 19:21:43 on a different note, i'm trying to build a universal-ish esolang compiler in python and was wondering if i could get sum halp with it, especially with implementing new langs... 19:22:15 I'm not enitrely sure it's obvious that burro is likely sub-TC, by the way 19:22:38 I think (don't quote me on this) that I think the most important part of an esolang is astonishment. Just playing with syntax isn't very astonishing, except to inexperienced programmers maybe. Playing with semantics is where the bigger impact lies. But -- that doesn't mean that there aren't astonishing things you can do with syntax. 19:23:22 cpressey: I have a similar opinion; what makes a language esoteric is that it seems absurd 19:23:29 being absurd to a regular programmer is slightly esoteric 19:23:37 and being absurd even to a regular esolanger is very esoteric 19:23:58 scarf: well, nor am I, but Burro relies on that "reduce all while loops to one big while loop" transform, but like brainfuck it needs loops to do AND and OR, so I think it falls short. 19:24:20 absurd, yeah, also a good word. 19:24:24 oh, idea, thinking about an exception-based language, that could be fun...(runs off mumbling something about try-except blocks) 19:24:26 can't you nest conditionals? 19:24:36 also useful to keep in mind that, to a non-programming, all programming languages are esoteric :) 19:24:41 *non-programmer 19:24:43 as in, instead of if (a && b), do if (a) if (b) 19:25:04 scarf: hm, yes maybe you can. been a while since i looked at it. 19:25:56 * Sgeo dares fizzie and oklopol to do http://robozzle.com/puzzle.aspx?id=102 19:26:27 (incidentally, Reversible Brainfuck takes a similar path to Burro, except it uses a reversible sort of loop rather than storing state about which branch was used) 19:26:47 [ If the current cell is nonzero, jump forwards to just after the matching ]. 19:27:17 (that's the opposite to what [ normally does in BF, and means that there's enough info to reverse a loop) 19:27:21 (and ] is unchanged) 19:27:44 Sgeo: not there yet. 19:28:33 http://www.youtube.com/watch?v=YKmkkIBjHlI - nnngh 19:28:40 the fake first person robozzle techdemo 19:31:00 asiekierka, post it to the forum? 19:31:35 not now 19:31:40 do you think it's any good, btw 19:35:01 I think so, yes 19:36:35 -!- lieuwe has quit ("Page closed"). 19:37:08 i want to make an esolang based on some old storage medium 19:37:16 what should i use, though 19:37:44 punched cards 19:38:09 yes 19:38:13 but i need a reader for these 19:38:20 cuz i want to code on actual punched cards 19:39:51 asiekierka: you could build one with a couple of lights, photocells, comparators... 19:40:03 i can't solder 19:40:04 :P 19:40:06 also, afk 19:40:06 might need to make your own oversize punch cards or paper tape 19:42:08 scarf: Do you think it would be possible to show that the set of Reversible Brainfuck programs forms a group (under computational equivalence -- like Burro)? because i wasn't thinking of reversibility at all when I designed Burro, and now I'm wondering if the two notions are equivalent (or how close they are if not) 19:42:36 cpressey: they're pretty close notions, at least 19:42:52 program concatenation is an operation that makes most 1d reversible languages into groups 19:43:18 because it associates, and has an inverse if you have a reversible language 19:43:38 indeed, but i can also imagine some reversible programs that aren't groups -- for example, if several programs have the same, non-unique annihilator 19:43:49 reversible languages, i mean 19:43:54 that isn't reversible, because then you couldn't reverse the annihilator 19:44:01 hm, i suppose not. 19:44:34 wait, what's the inverse of {a\b} in burro? 19:44:53 it's been too long for me to remember :) 19:44:59 it doesn't seem to say in the article 19:45:11 I think it alone might be illegal? 19:45:12 and it's hard to see that there is one, without being able to retroactively determine which branch it took 19:45:22 oh, I see, it alone is illegal 19:45:36 but that means you aren't properly creating a group 19:46:01 because a(b/c)d has an inverse, but its inverse can't be used as a program in its own right 19:46:31 so your composition operator isn't defined for all pairs of set elements 19:46:38 Hm. 19:47:53 fizzie solved 86 puzzles already?! 19:48:56 -!- asiekierka has quit (Read error: 60 (Operation timed out)). 19:50:29 scarf: Not sure. Is a(b/c)d legal by itself? I'd have to check. 19:50:59 vaguely remember something about (){} needing to balance in order to be syntactically ok 19:51:13 i'll look it up later when i have more time :) 19:51:18 I think it is 19:51:21 but ok 19:51:27 I was massively busy earlier today myself, and now I'm resting 19:51:31 a deadline got bumped 19:53:23 Yay! Did Learning Stack 2! 19:54:58 was that the one where you use the stack in the same way as in every other level? :P 19:55:17 move once after you return 19:55:19 oklopol: At least the same way as in Learning Stack no-number. 19:55:35 at least 10 puzzles have used the exact same idea 19:55:46 Sgeo: To be completely honest, I did a couple of the low-difficulty ones outside the campaign list to keep my name high on the list. 19:56:08 I'm doing a lot of low-difficulties outside the campaign list 19:56:40 I saw some forum post suggesting that the campaign list was hand-picked in an effort to stop newbies from getting fed up with poorly designed and repeptitive puzzles 19:56:41 Did have to do some twiddling in Second kind of memory (109); there were so few command slots available there. 19:57:01 The campaign list has had some rather duplicatey entries too, though. 19:57:01 there are levels outside campaign? 19:57:10 oklopol: Select one of the other sort orders. 19:57:34 those are different levels? 19:57:41 i assumed they were different sort orders 19:57:50 Those list all the levels, instead of just the short-ish campaign list. 19:58:12 Rank-1 person in the "most solved" scoreboard has 1274 puzzles solved, so... 19:58:17 :D 19:58:18 yeah 19:58:38 Also, look how many pages there are in campaign, then choose one of the other orderings 20:00:16 I have done 78 from the campaign list, if my grep is correct. 20:11:18 Hey, about the paper blocks: Would "if blue paint blue" etc. be included? 20:11:24 Literally pointless 20:15:06 "Another speed control" was at least a bit of fun. 20:16:00 -!- augur has joined. 20:20:40 -!- kar8nga has quit (Remote closed the connection). 20:30:13 Anyone in here submit any puzzles? 20:31:20 Well, anyone planning to? 20:31:29 -!- zzo38 has joined. 20:32:13 I can't do anything cooler than the ant 20:32:20 langtons ant 20:36:11 It's... 20:37:13 http://robozzle.com 20:37:49 Grr. I was once at the top of the 24h scoreboard 20:38:52 fizzie: i hate you :P 20:39:00 Hi zzo38 20:39:17 although i'm more afraid of Deewiant, i hear he's a total gamer 20:39:30 hey 20:39:35 If cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl 20:39:36 Not much of a puzzle gamer 20:39:41 I don't understand how someone can play 1274 maps of this game????? 20:40:05 MissPiggy, presumably the person solved them faster than people put out new ones 20:40:31 * Sgeo does want to see esolanger levels 20:40:58 So at least I'll have indirectly contributed something by having introduced talented people to the game. 20:41:06 >.> 20:42:53 can you reach the stars was fun 20:43:22 If cryptography is outlawed, 15XoZhnZ5ct8t9nVhROExQVTvILP59DdJ5Ob8D2yEXo=. 20:43:29 Yes, it was. 20:43:51 how do I find that? 20:44:02 MissPiggy, http://robozzle.com/puzzles.aspx 20:44:34 Number 14, fwiw. 20:44:50 wow this looks hard 20:45:54 - "The house is small", I said. 20:45:57 - "Never open the attic", said every child (reciting Egbert's third memorandum). 20:46:01 - "Eat sausages", said a great emperor. 20:51:03 If dada is outlawed, sturgeon. 20:53:33 O, ya.... 20:59:26 I can't do that 21:00:02 there doesn't seem to be any pattern to it 21:03:02 You don't need any special "pattern", just let the colors guide you. (If this is about reach the stars.) 21:03:29 the colors don't guide you : 21:03:30 :P 21:05:28 ho hm maybe I see the pattern 21:05:40 you could do it column by column, maybe 21:05:48 maybe 21:05:55 :S 21:09:03 -!- jpc has joined. 21:13:13 class AbstractFacadeBuilderFactoryFactorySingletonFactoryBridge 21:15:10 -!- Nanakhiel has joined. 21:16:07 cpressey: that's even worse than ORK 21:16:19 hmm, there should be an esolang that takes design patterns to an absurd extent 21:16:38 "You had me at 'SingletonFactory'..." 21:17:31 a singleton factory could be useful on a heavily overloaded object 21:17:41 even if you're only ever going to make one of it 21:20:06 "Since this definition is tail-recursive, a loop can be used to replace the recursion." *sigh* 21:23:05 MissPiggy, oklopol fizzie, igoro is in #robozzle 21:25:01 cpressey: Imma call that "lambda". 21:29:11 Those messages about house is small and so on, it is a special kind of word game, now figure it out 21:29:57 zzo38 ;_; 21:30:06 I don't even know how to start 21:30:59 OK 21:32:08 Damn, zzo38, I thought you were just being weird. Now I'm all disappointed an' stuff. 21:32:29 struct void_ptr {void_ptr(void*p):p(p){};templateoperator T*() const {return (T*)p;};void *p;} 21:32:30 I MOCK YOU, C++ TYPE SYSTEM. 21:32:33 cpressey: I am just being weird, too. But it is also a special kind of word game. 21:34:45 In page 45 of the 2600 26:4 I can see the address for Michael E. Short, the address for the prison in Texas is half of 2600 21:35:03 (The part before "FM", what does "FM" stand for in Texas prison addresses, anyways?) 21:35:22 Sorry, make that: 21:35:34 struct void_ptr {template void_ptr(T*p):p((void*)p){};templateoperator T*() const {return (T*)p;};void *p;} 21:36:35 Deewiant, did you implement support for that "befunge 98 without the stuff also in befunge 93" mode in ccbi? 21:37:23 Deewiant, you made a puzzle and didn't tell us? 21:39:51 I think I figured out what FM is for, it is for Farm-to-market road. 21:40:18 -!- MigoMipo has quit ("Konversation terminated!"). 21:40:34 -!- Pthing has quit (Read error: 104 (Connection reset by peer)). 21:42:35 -!- clog has joined. 21:42:35 -!- clog has joined. 21:46:26 AnMaster: No, I didn't, and as I said, I won't. 21:46:35 Unless there's enormous popular demand for it. :-P 21:46:40 Sgeo: My network died. 21:46:44 So, it seems now, that at least one of the people writing to 2600 from prison has not actually committed a crime. This is what I thought at first, too. But now I checked. 21:47:34 -!- Fredrik1994 has joined. 21:48:02 Did you know that there are rotary payphones in Japan? 21:49:15 -!- MigoMipo has joined. 21:51:20 zzo38: you didn't accidentally enter the city's Britaintown did you? 21:51:36 (kinda like Chinatown) 21:52:35 I was never there, actually. The phone was in 2600. It was found in the lobby of a hotel in rural Suzuka. And the labels on the phone are still in Japanese. 21:53:07 I have seen pictures of other pink rotary payphones in Japan, too. 21:53:23 SimonRC: ... *Britaintown*? 21:55:01 well, whatever 21:55:46 I don't think Japan really has the number of poor British immigrants to cause ghettoisation in that form 22:01:44 http://zzo38computer.cjb.net/fortune/fortune.php?browse=24914 22:05:50 Other pictures of payphones include: Phones where the handset (and sometimes also the keypad) have been removed, making the phone unusable (found in United States). 22:06:19 There is also a picture of Chinese payphones found in some part of the United States with no connection to the Chinese at all. 22:07:12 I think I figured out what FM is for, it is for Farm-to-market road. <-- usually it means frequency modulation though? 22:08:27 Yes, but this is a address in Texas. Addresses in Texas certainly can't be frequency modulation, isn't it?? 22:09:07 zzo38: you didn't accidentally enter the city's Britaintown did you? <-- that isn't exclusively UK though. At least US has them too iirc. Not sure if Sweden does (don't think so, could be wrong) 22:09:59 zzo38, why not, there is a "radiator street" in a nearby industrial part of this town 22:11:04 and near Ericson (they have a factory near here) there is "Telephony road" 22:11:31 zzo38, and isn't there "Microsoft road" near MS HQ? 22:11:55 so I fail to see why you couldn't have "FM street" or such 22:12:01 zzo38, well? 22:12:48 One Microsoft Way 22:13:01 ...no double meaning there. 22:13:22 cpressey, XD 22:13:41 cpressey, you put the number in front in US 22:13:42 ? 22:13:44 how very strange 22:13:52 in Swedish we would say the number after 22:13:54 Yep. 22:14:04 1313 Mockingbird Lane 22:14:04 but then, US also use PDP-endianness for dates ;P 22:14:17 Storgatan 1 22:14:36 But apartment number comes after: 1313 Mockingbird Lane, Suite 301. 22:14:43 which means "[The, but as a suffix in Swedish] Great-streat 1" 22:14:58 I don't suppose you put the suite number in front :0 22:14:59 very common street name for main streets around here 22:15:07 cpressey, suite numnber? 22:15:10 number*? 22:15:16 I have no idea what that is 22:15:17 I don't know the answer to your questions 22:15:18 Apartment number 22:15:24 as for apartment number 22:15:25 hm 22:15:29 isn't it based on name 22:15:37 not sure how that works 22:15:44 Apartment = suite, more or less 22:15:45 this is a detached house 22:16:06 Apparently Korean addresses are really mind-blowing 22:16:12 zzo38, well it was you who questioned me "Addresses in Texas certainly can't be frequency modulation, isn't it??" 22:16:28 cpressey, oh? In what way? 22:17:51 Well, they're more strict in the hierarchy, it looks like: you need to include the ward in the city, and the neighbourhood in the ward 22:18:00 hm 22:18:07 Which isn't as strange as i thought it would be 22:18:10 cpressey, not just postal code? 22:18:22 Oh they want those too! 22:18:27 as well? 22:18:27 heh 22:19:08 In D&D, you have to think ahead not only more than the DM, but also more than yourself. It is necessary to figure out plans for stuff that I don't even know what it is, yet. 22:20:20 Damn, zzo38, I thought you were just being weird. Now I'm all disappointed an' stuff. <-- still disappointed? 22:20:39 also when was that word game? 22:21:35 12:45:54 22:21:50 zzo38, what timezone? 22:22:07 The timezone that the log software uses. 22:22:17 meh, I use local logs 22:22:23 and those are on UTC 22:22:33 brb will check in a bit 22:28:50 -!- tombom_ has joined. 22:29:51 -!- zzo38 has quit. 22:32:56 -!- Pthing has joined. 22:34:29 -!- MigoMipo has quit ("Konversation terminated!"). 22:35:09 * Sgeo works on more puzzles 22:36:28 regarding "Britaintown", I said that because I can imagine people getting more nostalgic over britain from decades ago than USA from the same time... maybe 22:39:14 Oh come on, no one's talking about RoboZZle now? 22:47:14 -!- Fredrik1994 has changed nick to FIQ. 22:49:03 -!- tombom has quit (Network is unreachable). 22:56:17 garlic: the base of all properly composed meals 22:56:41 Sgeo, it isn't very esoteric is it? 22:57:02 It's Turing-complete, apparently 22:57:03 -!- scarf has quit (Read error: 60 (Operation timed out)). 22:57:41 what's not esoteric? 22:58:29 MissPiggy, RoboZZle 22:58:36 According to AnMaster 22:58:41 oh well you should play the tree search one 22:58:57 Me or AnMaster? 22:59:05 * Sgeo is playing RRB, RRG 22:59:29 is it like programming in assembly? 22:59:34 I wouldn't think so 23:00:26 Solved it with a spare in F2! 23:03:43 There are often completely unnecessary functions. 23:04:19 I think that having extra space can make it harder. If you see 4 spaces, you know the solution has to be somewhat simple. 23:04:32 If you see 10 spaces, you might try more complex, less correct things 23:04:45 Though my RRB, RRG was the whole 9 slots; 8 seems to be the smallest known. 23:06:10 started doing the bigger list in order, how are you supposed to do paint the town red, i solved it, but i can't find a way to use the paint 23:06:30 AnMaster, join us! 23:07:01 fizzie: in the ones in campaign mode, it's not that frequent 23:07:05 well, or then i just suck 23:08:12 oklopol: Well, I've done things very much out-of-order, maybe I've just hit on the ones with extra spaces. Quite many puzzles at least seem to have multiple-length solutions submitted. 23:08:16 Someone should do some statistics. 23:08:48 In which order are you doing the bigger list? 23:09:34 i'm saying not many have an *extra function* 23:09:52 -!- FIQ has quit ("- nbs-irc 2.39 - www.nbs-irc.net -"). 23:10:02 maybe like every third has extra space 23:10:28 oklopol: Oh, right. Well, yes, maybe it's not *that* common; but it's not so ultra-rare either. 23:10:44 Deewiant: Was 1634 yours, or was this some other deewiant? 23:11:22 Because -- speaking of extra functions -- it has unnecessary f3 and f4 there. :p 23:11:26 Probably mine. 23:11:40 Oh well, I'm not that smart. 23:12:05 http://www.robozzle.com/puzzle.aspx?id=1634 -- the 7-length solution, or at least mine, does it with just f1 and f2. 23:12:57 hey it was a good level, I had to use the whole program space though 23:13:12 I did 247 in 11 and got annoyed when I saw the wallhugger in the wiki so I did that one 23:14:06 I seem to have done 247 in length 6, but I don't remember what it was like. 23:14:16 I don't suppose the game saves the submitted solutions anywhere accessible? 23:14:40 Doubtful. 23:14:57 oklopol: In which order are you doing the bigger list? 23:15:15 I'm jelous of fizzies high level of skill re this game 23:15:16 That would be a nice feature 23:15:26 fizzie igoro2 (the creator) is in @robozzle 23:15:29 #robozle 23:15:33 #robozzle 23:16:04 Yes, but it's supposedly a person. I don't think I do well with people. 23:16:25 that's just a rumor 23:16:50 fizzie, make a feature suggestion? 23:16:56 fizzie: i think easiest to hardest :) 23:17:16 Although I imagine storing each solution would take a lot of space. 23:17:26 I don't. 23:17:40 What if reddit decided to come by? 23:17:42 Given that the average size of a solution is probably around 10-20 bytes. 23:17:54 And that's without any compression. 23:18:12 If reddit comes by you might have to store a whole megabyte more than usual. 23:18:14 Storing each submitted solution, maybe, but the shortest one from each registered user -- it already stores the length of that. 23:18:16 Sgeo: if everyone in the world started playing, you might need a few gigs. 23:18:38 Well yes, if it remembers all your failures that'd be expensive. 23:18:44 But I doubt anybody cares about them anyway. :-P 23:19:15 What about multiple shortest solutions for each user? 23:19:33 * Sgeo goes to post a feature suggestion to the forums 23:19:35 Maybe it could let you store 3 solutions per puzzle. 23:19:39 Or something like that. 23:20:09 or give some way for people to put encrypted solutions in forum sigs as text? 23:20:20 maybe only decryptable if you have solved the same puzzle? 23:21:11 -!- tombom__ has joined. 23:21:27 SimonRC, join in the fun? 23:21:47 nah 23:30:59 -!- BeholdMyGlory has quit (Remote closed the connection). 23:32:43 -!- tombom__ has quit (Client Quit). 23:33:22 fucking fizzie 23:33:23 ... 23:33:25 :D 23:33:32 constantly like 2 points ahead of me 23:33:43 oklopol: I was about to say the same to you. Constantly just about to go past! 23:33:55 basically you have like 10 browsers open, and just press run every time you see i've solved something. 23:34:27 I got frustrated with an almost-solution to 1633 and stopped, so knock yourselves out. 23:35:38 Am going to have to sleep soon, anyway, have to take an early trip to IIKEA tomorrow. 23:37:05 -!- augur has quit (Read error: 60 (Operation timed out)). 23:37:38 FUCK 23:37:49 :D 23:37:51 oh sleep 23:37:52 cool. 23:38:12 i have tons of homework to do 23:38:12 before sleeps 23:38:13 There are way too many flip-flop-likes 23:38:17 so, good. 23:39:34 What will we do tomorrow, when we all drop off of the 24h list? 23:39:43 Will we just keep reloading eachother's profiles? 23:39:50 -!- tombom_ has quit (Read error: 110 (Connection timed out)). 23:39:54 Do another 100, of course. 23:41:22 Yet another trivial stack puzzle *sigh* 23:41:56 now you're thinking with stacks! 23:42:18 I should do some homework :[ 23:42:40 RoboZZle is a thief of time 23:43:32 From my perspective, seems like RoboZZle is crack 23:43:36 "sgeo: I store all solutions on the server, but I don't expose the ability to get back at them. I'll look into it!" 23:44:40 cpressey, try it! >:D 23:47:19 fizzie: did you start doing the simple ones or what the fuck is going on? 23:47:41 oklopol: The simple ones. :p 23:48:20 I started doing the simple ones earlier but I managed to get stuck on some of the sub-1.5 ones for up to 15 minutes occasionally so it didn't help too much 23:48:39 been there 23:49:34 i always forget to look beyond the random details, because i usually assume everything is relevant in a puzzle 23:49:45 otherwise it's not a very professional puzzle 23:50:29 and god i hate the ones with a huge, random level, and just a few slots 23:51:09 Those were usually easy: just grab the pattern from the first three or so grid cells and it probably works for the whole map :-P 23:52:51 * SimonRC goes to bed 23:53:07 Deewiant, I came across a puzzle like that 23:53:19 I've come across six or so 23:53:36 Maybe for the ones that scare me, I should try seeing if that applies 23:53:51 Their difficulty ratings will be below 2 23:54:15 Well, the "easy" ones that scare me 23:54:31 Such as siika da FuUU 23:54:34 I think I'll skip it 23:54:42 All the siika ones were such IIRC 23:55:01 Deewiant: i mostly hate them because they are pointless 23:55:10 so pointless the amount of points in them is negative 23:55:32 kahen kilon siika 23:55:32 Yeah, they're annoying 23:55:37 :-P 23:55:48 an example of an annoying meme *and* an annoying level 23:55:50 well set of levels 23:56:19 Aye 23:56:34 People seem to like them 23:57:29 I can't like or dislike anything in the js version :-P 23:58:09 Deewiant, then use Silverlight or Moonlight 23:58:14 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 23:58:15 Moonlight didn't work as I said 23:58:45 Want to write something on the forums? http://robozzle.com/forums/ 23:58:47 Well, it worked partially, but e.g. logging in didn't happen. 23:58:52 Not in particular. 23:58:55 I don't really care. 23:59:11 -!- pikhq has joined. 2010-01-23: 00:02:13 pikhq, become a RoboZZle addict like the rest of us! 00:02:17 -!- pikhq has quit (Read error: 54 (Connection reset by peer)). 00:02:21 :( 00:03:33 veep veep 00:03:35 -!- cpressey has left (?). 00:04:17 -!- pikhq has joined. 00:05:35 oklopol: Having reached a gross -- in at least two senses -- number of levels, I stop here; feel free to do 145 or whatever to be #1. 00:06:45 What have I done?? 00:07:32 :) 00:10:18 Hey, the game works ~perfectly on the N900 browser. 00:10:22 The JS version, I mean. 00:10:50 There's perhaps a slight lag involved in the code editor part, but actually running a solution seems about as fast as Firefox on the desktop. 00:11:16 That's reasonably nice; I don't think I'll have the motivation to actually spend time with the puzzles much more, but maybe they'd work as a time-waster in a bus or something. 00:11:33 fizzie, write some puzzles! 00:12:41 Was there a Javascript version of the editor? 00:13:49 I don't believe so, no 00:13:51 :( 00:17:14 Aw. How did Deewiant design his level, then? 00:17:27 I rebooted into Windows. 00:22:07 fizzie: if you're really going to sleep, i'll leave it a draw 00:22:45 How considerate! But yes, I am; away right now, in fact. 00:22:56 good, good 00:23:51 i'll probably have to leave my homework for tomorrow, THANKS SGEO FOR RUINING MY SCHEDULE 00:24:07 hmm. okay you'll probably take that seriously, i take it back. 00:24:14 i love the game 00:24:44 oklopol: Tomorrow you'll notice fizzie's score again and leave it for the next day again 00:24:51 :D 00:26:06 nah, i'm fine with fizzie being better than me; he has a master's degree. 00:27:34 oklopol, you really think I take everything seriously? 00:28:16 no. i think you take things personally slightly easier than others. might be wrong (this is not a test!) 00:30:06 * Sgeo has no real way to judge himself as to whether that's the case, and to whether that needs fixing 00:30:39 fizzie is a master of robozzle 00:30:43 do like the rest of us and don't care about anything 00:32:11 MissPiggy: not trying to split the credit or anything (i totally am), i'm pretty sure i've played less than him today 00:32:32 *but 00:32:48 he has the highest degrees of robozzle skill 00:33:04 noooooo :P 00:33:17 maybe, maybe 00:33:32 he *is* incredibly perfect at everything, not arguing that. 00:34:34 if i catch up with him, will you worship me too? 00:35:18 you are at the same place as him 00:35:31 also; I was just trying to make puns about 'masters degree' 00:35:40 yeah 00:35:59 his degree is in flash games 00:36:05 what/? 00:36:06 ??? 00:36:11 yeah 00:36:18 they have that in finland 00:36:21 that's not a real degree 00:36:22 :( 00:36:28 * Sgeo posts a link to Robozzle to reddit 00:36:38 why do you think me, fizzie and Deewiant are so great that robuzzle or whatever it's called 00:36:47 i didn't look at the name yet 00:36:51 okay robozzle 00:37:12 *great at 00:37:21 my sentences are great 00:38:22 http://www.reddit.com/r/WebGames/comments/at2lp/robozzle_a_fun_and_addicting_robot_programming/ 00:39:21 oh dear, did someone just drop me from the list. 00:39:29 what list? 00:39:35 the top-something list 00:39:38 you know reddit. 00:42:47 :( 00:43:49 -!- augur has joined. 00:54:46 -!- jpc has quit (Read error: 54 (Connection reset by peer)). 01:01:31 -!- FireFly has quit ("Leaving"). 01:25:10 -!- adam_d has joined. 01:36:18 -!- oerjan has joined. 01:40:40 -!- MissPiggy has quit. 02:02:28 -!- Asztal has quit (Read error: 110 (Connection timed out)). 02:07:41 -!- jpc has joined. 02:19:16 -!- augur has quit (Read error: 113 (No route to host)). 02:19:21 -!- augur has joined. 02:38:06 -!- Gracenotes has joined. 03:20:28 -!- Pthing has quit (Remote closed the connection). 03:48:50 -!- oerjan has quit ("Later"). 03:53:40 -!- clog has joined. 03:53:40 -!- clog has joined. 05:04:31 -!- augur has quit (Read error: 104 (Connection reset by peer)). 05:10:14 -!- augur has joined. 05:18:31 -!- oklopol has quit (Read error: 54 (Connection reset by peer)). 06:03:49 -!- augur has quit (Read error: 113 (No route to host)). 06:09:48 -!- augur has joined. 06:16:43 -!- Slereah has quit (Client Quit). 06:27:29 -!- augur has quit (Read error: 113 (No route to host)). 06:33:07 -!- adam_d_ has joined. 06:36:18 -!- MigoMipo has joined. 06:43:21 -!- adam_d has quit (Nick collision from services.). 06:43:27 -!- adam_d_ has changed nick to adam_d. 06:59:37 -!- MigoMipo has quit (Remote closed the connection). 07:08:41 -!- augur has joined. 07:10:00 -!- asiekierka has joined. 07:10:01 Hi 07:10:10 uuurgh, i'm looking for some old recordings on my DVDs 07:34:14 -!- MizardX- has joined. 07:50:36 -!- MizardX has quit (Read error: 110 (Connection timed out)). 07:50:39 -!- MizardX- has changed nick to MizardX. 07:56:41 -!- asiek2 has joined. 07:56:42 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:22:38 -!- puzzlet has quit ("leaving"). 08:23:00 -!- puzzlet has joined. 08:33:05 -!- MizardX has quit (Read error: 110 (Connection timed out)). 08:33:17 -!- MizardX has joined. 08:34:13 -!- puzzlet has quit (Client Quit). 08:39:01 -!- GreaseMonkey has joined. 08:39:35 sgeo it's all your fault for telling everyone about robozzle and now i'm playing it 08:57:18 yes 08:57:20 yes it is, sgeo 08:57:28 but i like you for that 08:57:40 also thanks to you it might appear on the NES soon 08:57:44 YES, the nes does have enough RAM 09:29:30 -!- jpc has quit ("I will do anything (almost) for a new router."). 09:42:40 -!- adam_d has quit ("Leaving"). 09:47:48 i think it might appear on... uhh... pygame? 09:47:52 anyways, gnight 09:47:52 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 09:58:49 Heh, oklobbol has dropped from 144 to 142 in the last-24-hours list, whereas I haven't yet; I think I started the thing about 21 hours ago. 10:02:26 -!- asiek2 has quit ("Pong timeout: 180 seconds"). 10:21:08 -!- KingOfKarlsruhe has joined. 10:25:36 -!- zeotrope has joined. 10:39:10 -!- tombom has joined. 11:00:42 -!- BeholdMyGlory has joined. 11:16:21 -!- cal153 has quit. 11:17:49 http://esoteric.voxelperfect.net/wiki/Talk:W/ 11:26:47 -!- asiekierka has joined. 11:27:42 argh slow internet.. (I know why, uploading something, but it is still annoying) 11:28:12 Wareya, looks like spam 11:29:12 At least it is text only and not something worse... 12:03:27 -!- noddd has joined. 12:04:04 -!- MissPiggy has joined. 12:04:05 cool, it's the last 24 hours, not just like current 24h period 12:04:13 -!- noddd has changed nick to oklofok. 12:04:38 By installing Brainfuck, you will be able to experience the power of Brainfuck??? 12:04:53 i believe it's true 12:05:12 what that based on 12:05:50 i'm not sure i understand the q 12:08:13 i want to make an esolang based on RoboZZle 12:08:31 basically an application consists of a map, the start coords and the robot command 12:08:33 s 12:08:44 you will be able to set any block on the map to any ASCII char 12:08:46 and output any of them 12:08:49 or take input 12:09:32 remember, if you add commands that modify the map non-locally, i will be very angry 12:09:45 no, you can only modify the spot you're on 12:09:46 hmm 12:09:53 but you have infinite functions 12:09:59 yeah good, was wondering if you were describing that 12:10:01 what do you mean? 12:10:08 infinite length for programs? 12:10:09 as in 12:10:10 both 12:10:12 there's no F1...F5 12:10:17 and there's no max length of 10 per function 12:10:20 right. 12:10:22 there's F1...FF 12:10:27 and the max length is nonexistant 12:10:29 that's fine. 12:10:29 yes, 16 functions 12:12:45 i was thinking of adding local jumps 12:12:46 as in 12:12:56 J-1 would jump 1 command before 12:13:02 J+10 would jump 10 commands after 12:13:13 and F1+10 would jump to the 11th command in function 1 12:13:31 so jumps in functions, not on map? 12:15:42 yes 12:15:45 on the map 12:15:47 you can only go forward 12:15:48 left 12:15:50 or right 12:15:59 -!- kar8nga has joined. 12:17:46 -!- Slereah has joined. 12:35:53 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 12:36:36 I think Reddit might have marked my post as spam 12:37:00 I don't see it when looking at http://www.reddit.com/r/WebGames/new/?sort=new in incognito mode 12:41:09 * Sgeo asks a moderator 12:43:59 actually, i'll make a game based on RoboZZle and other thing 12:44:09 "The Overly Complicated Robotic Programmer" 12:44:21 something like a combination of GolfScript, Befunge, RoboZZle and Brainf**k 12:44:26 and 6502 assembler 12:49:14 the challenge of robozzle is to translate the higher level idea into this terrible low level code? 12:51:41 -!- MigoMipo has joined. 12:52:15 -!- tombom has quit ("Leaving"). 12:52:30 no 12:52:35 it'd be like 12:52:39 not only you have far more space 12:52:48 you also get (as an extra) 7 colors of spaces 12:52:52 actually nah 12:52:55 it'd just be a roboclone 12:53:07 Or i could combine Robozzle with Boulder Dash 12:53:08 Rockfozzle 12:53:12 that would be fun 12:53:32 there'd be colored dirt 12:53:46 when walked through the dirt turns into an empty of that color 12:54:01 it also detects if there's a rock in front of you 12:59:05 basically 12:59:14 there'd be an extra conditional 12:59:22 "ROCK? if yes, jump to function whatthe!@$" 13:03:27 is it a good idea 13:07:26 -!- kar8nga has quit (Remote closed the connection). 13:20:33 -!- FireFly has joined. 13:33:02 -!- Nanakhiel has quit (Read error: 110 (Connection timed out)). 14:05:54 -!- Pthing has joined. 14:11:00 Hmm... Is there "efficient" way to construct one-to-one mapping between elements of regular language and Z_n or Z? 14:18:06 -!- rodgort has joined. 14:20:46 -!- rodgort has quit (Client Quit). 14:21:27 -!- rodgort has joined. 14:32:06 -!- Sgeo_ has joined. 14:35:14 -!- rodgort` has quit (Read error: 110 (Connection timed out)). 14:35:16 like, a computable function that, given a string, tells its number, and the inverse? 14:40:58 -!- FireFly has quit ("Leaving"). 14:41:22 -!- FireFly has joined. 14:47:21 Yes, and more efficient than just enumerating the strings in order... 14:49:21 oh hm I was thinking about multiplying primes together for that, but going backwards would mean factoring 14:49:48 thing is, you'd know the number factors into high-ish powers of small primes 14:50:09 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 14:50:31 For even contex-sensitive language, doing the functions based on pure enumeration in order would be possible, but would have horrid complexity. 14:51:48 yes, exponential obviously, if the language only generates subexponential amounts of strings w.r.t. length 14:52:57 oh actually even more, because it's not enough to enumerate, you need to be able to actually evaluate the functions at some point :) 15:05:34 http://yudkowsky.net/singularity/aibox 15:06:48 -!- Pthing has quit (Remote closed the connection). 15:12:20 Does the following encoding work: Write the regular language as minimum DFA. Assign integers 0, 1, 2, ... for each valid symbol from each state (+ end here if state accepts), so that 0 is always on shortest path to accepting state or end here. Then write number as variable-radix with least-signficant number being for starting state. 15:16:09 -!- Asztal has joined. 15:17:02 Nope, doesn't work. 15:20:33 Consider DFA that accepts even number of characters with alphabet {'A','B'}. The first state is starting, accepting and and has three "exits". The second has two exits. 4 decodes to "AB", but 3 decodes to "" and 0 too decodes to "". So that doesn't work. 15:29:28 What if on decoding, each time accepting vertex is hit with nonzero quotent, the quotent gets decremented by 1 before continuing and only symbols are exits for even accepting states (if its 0, string ends). 15:31:34 quotient = language that gets us to accepting state, right? 15:32:07 yeah okay i'm sure it is 15:32:25 err 15:32:37 well clearly not from what you said 15:32:40 what do you mean? 15:33:53 Quotent gets its name from the fact that it would get divided after each character... 15:34:08 man that Eliezer guy is really scary 15:34:29 he's the kind of guy you feel like he could crush you by just imagining it 15:34:57 hmm, what if we just have a regular language, and we just recursively go through it, every time both branches are infinite, we set "next bit = 1" to one branch, "next bit = 0" to the other, if one is finite, we just give it just enough numbers, and so on 15:35:07 infiniteness can be checked efficiently 15:35:22 err 15:35:38 i really didn't think that through, just a gut-feeling 15:35:45 also 15:35:50 i meant "regular expression" 15:35:51 :) 15:36:11 well 15:36:20 regexps can't exactly be made unambiguous can they? 15:36:30 MissPiggy: which Eleizer? 15:36:44 (a*)* can parse aaaaaaa in gazillion different derivations 15:36:53 SimonRC Yudkowsky 15:36:59 ok 15:37:09 I don't find that 15:37:10 just reading what Sgeo linked about the AI box 15:37:21 there are other Elizers?? 15:37:27 for A + B, you'd check if both are infinite, if so, you give the numbers ...0 to A (bijection by induction), and the numbers ...0 to B, if they are both finite, you just give like |A| numbers to A branch, and you add |A| to whatever B gives you 15:37:33 MissPiggy: well yeah 15:38:15 MissPiggy: yeah but can we make them unambiguous, that was the question 15:38:26 well, for A + B, you can just check the intersection 15:38:32 I think I read denesting the stars in undecidible 15:38:35 for AB, just as easy 15:38:37 yeah 15:38:48 but you can still make it unambiguous somehow? 15:40:16 Of course, one would have to have ordered alphabet to make the encoding uniquely determined. 15:40:30 -!- kar8nga has joined. 15:44:10 MissPiggy: no i don't think you can; i don't know if that directly implies you can't, either 15:44:26 he is, after all, named after a prophet 15:45:02 also, you can see that there can't be a *good* reason to let the AI out, or E.Y. would have convinced himself with that argument 15:45:49 * Sgeo_ wishes the experiments weren't secret 15:46:07 * Sgeo_ wants to know how the AI did it 15:46:35 maybe he says, if you let me out I will give you 20 dollars instead of 10 15:46:57 um, see the protocol 15:47:11 (to both of you) 15:48:23 Wishing the protocol didn't say what it said means I need to read the protocol? 15:49:39 ah, ok 15:49:41 oops 15:50:41 um, ww 15:50:49 no, wait, *that* was ww 15:50:51 argh 15:50:52 * SimonRC has breakfast 15:52:26 Consider the language given by 'A{2}|BA*'. Minimal DFA has 4 states. Pick 0 for A and 1 for B for first state. 0 => "AA", 1 => "B", 2 => invalid exit. 3 => "BA". So it doesn't work. 15:58:02 what's ww? 16:03:44 Hmm... Given DFA, number of strings that start in given state is probably computable. If accepting state is unreachable, its 0, if cycle and accepting state is reachable, its infinite, otherwise its finite... 16:04:05 * Sgeo_ is departing Season 7 of SG-1 16:08:14 -!- KingOfKarlsruhe has quit (Remote closed the connection). 16:08:40 Another decoding algorithm attempt: On each state encountered, check if quotent is less than number of strings starting with symbol that takes to state with finite set of accepted postfixes (+1 for accepting states). If its less, pick that string. If its more, substract the number from quotent and pick exit (dividing quotent by number of exits to states with infinite number of postfixes). 16:10:14 That way: 'A{2}|BA*' would give 0 => AA, 1 => BA, 2 => BAA, 3 => BAAA, ... 16:10:32 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 16:12:42 Oops. 1 => B, 2 => BA, 3 => BAA... 16:14:52 The postfix count is efficently computable by first doing topological sort and then using dynamic programming. 16:15:38 "The key idea is that if you can improve intelligence even a little, the process accelerates. It’s a tipping point. Like trying to balance a pen on one end – as soon as it tilts even a little, it quickly falls the rest of the way." 16:15:51 why hasn't it happened already then? 16:16:20 it did, several thousand years ago 16:16:34 okay 16:16:38 written language :) 16:17:03 hmm 16:17:03 not spoken? 16:17:43 well, in terms of the kind of major transformative changes done by civilization, you can argue that larger scale and more persistent information transmission was needed than oral culture allows 16:18:34 im honestly not even vaguely qualified to comment on the topic of how written language influenced the development of civilization, I was just trying to make the claim that everything talked about in the 'singularity' concept actually already happened, more or less 16:19:04 I see 16:19:54 in what I believe to be the canonical contemporary statement, defining the singularity as a point at which future events become unpredictable from past events, so far as I know that condition has *always* applied to historical prognostication 16:21:08 and I dont think anyone really believes the old-old version of singularity theory where the mass-energy manipulation capacity of the species was going to suddenly reach cosmological scale within a very short time 16:22:07 that was the version I was introduced to a long time ago, based on charting energy manipulation of thes species and a huge ramp up starting in the 19th century with another huge leap to atomic weapons, and then extrapolating to galaxy-rebuilding within a few short decades 16:22:50 nowadays I tend to put all this together in my mind under the label "curve-fitting is dangerous and tricky" 16:23:12 Well, I still want to upload my mind to a computer 16:23:46 I think you can, more or less - just create a lot of stuff via the action of your mind and store it on the computer 16:24:12 im a bit of a lunatic, but I happen to think for instance that the souls of artists are basically 'uploaded' in their creative works - when i play a beethoven sonata on the piano, i feel that i directly experience beethoven's literal consciousness 16:24:28 and that his cognitive essence, albeit in a 'frozen' state that cant interact with the external world, still persists 16:25:23 in fact, playing classical music on the piano often makes me feel that my brain has been literally taken over, and my consciousness has been temporarily overwritten by executing the source code of the music 16:25:49 Then there is related concept what I call "technological escalation". Reliance upon technology building upon reliance upon technology. If it continues unchecked long enough, the culture in question will likely rip itself apart. 16:26:07 which brings me to being almost on-topic - has anyone ever written a programming language expressed in musical notation? would be basically trivial 16:26:37 i mean, you could arbitrarily convert brainfuck to musical notation and back with almost no hassle 16:28:09 it would be interesting though to try to do something where the syntactic rules of the language enforced musical harmony 16:28:36 yes 16:28:37 there is 16:28:47 forte 16:29:06 err no not forte 16:29:15 i wonder where i got that idea... ;) 16:29:52 fugue 16:30:17 -!- MizardX has joined. 16:31:14 very cool - although this is a programming language for creating music, it isnt expressed itself within notation, is it? or is the mapping so strict that a fugue program is equivalent to its representation in sheet music? 16:32:16 It shares semantics with its sister language, Prelude, but uses music as source code. 16:32:31 i think the sheet is actually the code 16:33:27 now what if there was a language in which every sheet of music had the semantics of playing the song, wouldn't that be just sweet! 16:39:45 ... I believe that language is called "sheet music" 16:41:06 And the interpreter is called "a musician" 16:49:31 What if it's a different song than what's on the sheet music? 16:49:32 :P 16:54:52 The way oklofok phrased it, it seems that each sheet represents the full song. I don't think sheet music can do that with multiple-sheet music 17:00:00 Gregor: wow that exists? 17:00:06 people are so fucked up 17:03:09 -!- Azstal has joined. 17:04:53 -!- kar8nga has quit (Remote closed the connection). 17:16:26 are everyone on lesswrong atheists? 17:17:44 "Religion is the trial case we can all imagine. (Readers born to atheist parents have missed out on a fundamental life trial, and must make do with the poor substitute of thinking of their religious friends.)" 17:18:48 -!- Asztal has quit (Read error: 110 (Connection timed out)). 17:19:20 -!- Pthing has joined. 17:27:02 -!- MigoMipo has quit (Remote closed the connection). 17:29:26 what does it mean 'Eliezer-level rationalist'? 17:31:13 -!- MigoMipo has joined. 17:37:31 asiekierka, is green really supposed to have anything to do with left, or is that a red herring? 17:37:42 what 17:37:47 you're doing the untrivial triviality? 17:38:03 the untrivial trivialities* 17:38:11 yes 17:38:13 if so, then that's up to you to find out 17:38:13 Well, did it 17:38:22 how? :D 17:38:44 By skipping a green and going right 17:38:50 (on green) 17:38:55 :O 17:39:04 wait 17:39:05 you mean 17:39:09 you didn't use a stack? :O 17:39:32 Stack's only needed if you actually pay attention to the line about "left" 17:39:47 oh 17:39:49 didn't notice that 17:40:02 so yeah, the title is correct 17:40:19 -!- BeholdMyGlory has joined. 17:40:29 A few stars in select locations would fix that 17:41:01 ok, i'll put them 17:41:03 Or would it? 17:41:32 I mean, you'd have to have some in that loop thing if you don't want them just continuing right on green 17:42:32 i'll put them in the locations i can 17:42:37 without spoiling the correct way 17:45:03 oklofok's currently in the 24h lead 17:45:42 Actually, oklofok's solved more total than fizzie o.O 17:45:45 132 17:45:48 oh my 17:46:12 http://robozzle.com/puzzle.aspx?id=1640 - fixed 17:47:47 -!- kar8nga has joined. 17:49:12 * Sgeo_ will try it a bit later 17:50:19 You know, there being a chatroom I can talk about RoboZZle in makes it much more fun for me... 17:51:23 and i would love it more if i didn't suck at it 17:51:54 oklofok is obviously delusional. 17:52:03 Thinking he's bad at it 17:52:19 i think i've done like one that's been rated near 4 17:52:54 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)). 17:52:58 I can barely do ones that are rated 2.25 17:53:00 haven't really tried many hard ones, but i couldn't do the last one in the campaign, idea is trivial, i just can't make it work. 17:54:09 * MissPiggy is reading less wrong and worrying about whether I should be reading it or not 17:54:26 What would be wrong with reading it? 17:54:40 should probably take it as a template, and first implementing a working thing that just goes over the size limit 17:55:10 it just seems like a waste of time, even though it's nice to read stuff and nod your head, if you already agree with it all it's sort of pointless? 17:55:20 kind of like blogs in general 17:56:33 maybe you should play robozzle 17:56:50 I'm looking at asiekierkas puzzle, bemused 17:57:36 Which version? 17:58:22 SafeAuto seems to advertise exclusively to people who are driving illegally without insurance. 17:58:51 SG-1 time 17:59:31 Gregor: "Brilliant". 18:00:14 They advertise that you'll save because they'll give you the state minimum coverage. 18:00:24 SafeAuto: Insurance for the irresponsible! 18:00:30 -!- zeotrope has quit ("Lost terminal"). 18:01:23 to damn hard 18:01:24 -!- BeholdMyGlory has joined. 18:02:44 MissPiggy, the un-fixed version shouldn't be 18:03:02 how can there be two greens in a row 18:03:14 you can't detect that because the robot only sees what it is standing on 18:06:22 Switch state upon encountering one 18:06:32 So that you start out in F1, but switch to F2 18:13:08 Sgeo_: SG-1? where? 18:14:24 SimonRC, on Hulu 18:15:40 ok 18:16:23 that doesn't work Sgea 18:16:25 Sgeo* 18:18:46 MissPiggy, how not? 18:19:09 imagine you are on a blue path and want to ignore green-green, but turn left on green 18:19:14 that's impossible in robozzle 18:19:26 you have to code in something else, like turn right on the 3rd green 18:19:33 (s/right/left/) 18:20:53 Or ignore just the first green it ever comes across 18:22:43 MissPiggy, remember, this is a broken version. Why should the description have anything to do with the puzzle? 18:25:24 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)). 18:28:35 what 18:29:47 it says [fixed] 18:32:27 oh 18:32:35 the [fixed] one has more stars 18:32:38 therefore the solution is not so 18:35:30 not so??? 18:35:33 I don't understand anyone here 18:35:59 is it unsolvable? 18:40:33 the [fixed] one? 18:40:36 hint: it uses stacks 18:40:39 if you can't do stacks, you fail 18:41:13 what's going on with this http://wiki.lesswrong.com/wiki/Yudkowsky%27s_coming_of_age 18:41:25 oh nevermind, I get it 18:41:38 I was expecting the posts to be from 2000-2003, but they are from 2008 because it's just talking about 2000-2003 18:46:26 -!- jpc has joined. 18:48:38 -!- oerjan has joined. 19:06:33 it just seems like a waste of time, even though it's nice to read stuff and nod your head, if you already agree with it all it's sort of pointless? 19:07:03 take it to the meta-level: the fact that you agree with all a group says should itself be a warning signal that you are _not_ rational. 19:07:08 * oerjan cackles evilly 19:07:28 I don't know how that is meta-level 19:08:03 because you are then thinking about _why_ you agree with what the blog says 19:08:24 because it's all obvious :[ 19:09:07 the cartoon loeb thing was cool, I didnt' realize he wrote it 19:09:12 the thing is, less wrong is clearly a cult of "rationality". even if they are right. 19:09:30 it's not just a blog? 19:09:44 otoh they've probably discussed that as well 19:09:51 hehe 19:09:52 every blog can develop a cult 19:10:10 Is that a challenge? 19:10:24 :D 19:11:09 i think before accepting the challenge, i'd at least add the qualifier "that many people read" 19:11:29 s/accepting/making/ 19:12:33 also, i just realized i'm saying this because it's obvious, not because i have any actual evidence 19:17:21 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 19:27:05 -!- oerjan has quit ("Later"). 19:27:42 ughf 19:30:39 "Once upon a time it seemed to me that I ought to be able to win at the AI-Box Experiment; and it seemed like a very doubtful and hubristic thought; so I tested it. Then later it seemed to me that I might be able to win even with large sums of money at stake, and I tested that, but I only won 1 time out of 3. So that was the limit of my ability at that time, and it was not necessary to argue myself upward or downward, because I could just test it. 19:45:23 -!- zeotrope has joined. 19:48:30 lesswrong sort of treats the reader as an idiot. 19:50:41 * mycroftiv googles "lesswrong", follows the link, and finds bizarre cryonics related material 19:54:13 oklofok really?? 19:54:29 I guess that's why I like it 19:56:45 i get a sort of "why don't people think about this stuff?!?!" feeling, and it's annoying because it's really simple stuff 19:57:01 i mean, i get the feeling the writer is saying that 19:57:10 ah I think I was getting that too 19:57:15 maybe it's just because it sounds smart, dunno 19:57:19 ;) 19:58:18 anyway most of the posts seem to be spot on, although you could phrase them more concisely 19:59:09 i guess that's the real reason why i feel i'm being treated as an idiot 19:59:50 i read a few paragraphs and i'm like "yeah i agree people tend to argue about words instead of actual meaning", and then there's like three pages of explaining and examples and blah 20:00:47 hehe 20:00:52 yeah 20:03:04 on the other hand i can't stop reading :P 20:03:26 comments seem to be youtube level 20:03:47 where on the internet are comments not youtube level, though? 20:07:05 well here on irc we tend to be pretty smurt right 20:08:06 actually #esoteric is probably the single most intellectually terrifying place on the internet, I'd agree - I mean I can do some programming, I understand stuff like symbolic logic a bit, but a lot of people in here seem to be able to analyze formal systems almost instinctively 20:09:10 I sometimes get the impression here this IRC channel is like an alternate reality composed of kids who were brought up on 'my first turing complete formal language specitication' in the crib 20:10:03 haha 20:10:41 analysing stuff instantly is a distinct skill from analysing stuff properly though 20:11:43 true but "research shows" (waves hand) that in general, smarter people 'think faster' - even to the level of physical reflexes, i believe 20:12:47 if we shrink everyone by a factor of 2, we well all have on average IQ 800, because the cubic scale factor 20:13:18 at the same time, though, it is true that "other research shows" (waves other hand) that "innate talent" is a much worse predictor of successful outcome than sustained effort and concentration 20:14:16 speaking if intelligence, have people here taken IQ tests? 20:14:17 *of 20:14:23 not for decades 20:14:50 IQ goes down as you get older (i.e. bigger, so the distance between neurons gets further and you think slower) 20:15:34 are you sure that's a physiological truth and not the punchline of a joke? 20:15:40 i find both plausible 20:17:27 i mean the definition of IQ i saw on mensa does seem to be about actual speed of neurons and not so much actual problem solving skill 20:17:35 :)))) 20:18:58 i took the test on their page, i'm pretty sure anyone can reach the "top %1 of population", the upper limit of their web test, if they've played flash games 20:19:08 on the subject of high-IQ, anyone here ever run into Chris Langan and his CTMU theory on the web? in the past few years he seems to have decided, somewhat oddly in my view, to become culturally affiliated with the awfulness of "creation science" 20:20:53 -!- kar8nga has quit (Read error: 113 (No route to host)). 20:21:17 Cognitive Theoretical Model of the Universe 20:22:17 looks compilcated 20:22:27 -!- madbr has joined. 20:22:27 eh, sadly id say hes mostly degenerated into pseudoscience 20:22:44 who 20:23:00 pretty obvious that it's pseudoscience by the rainbow


's 20:23:38 I wonder what the IQ for some of these idiot-savants is 20:23:48 obvious by the title 20:23:52 There's lots of pseudoscience around. Sometimes it even involves serious studies, where everything goes well until one would need to draw the conclusions... 20:24:35 i think CTMU is actually more substantial than it seems, and actually borders on being decent *philosophy*, but i fail to understand why he would present it as a 'scientific theory' 20:24:49 what about that John Conway guy? 20:25:06 what's he doing these days 20:25:08 isnt that game of life conway? 20:25:30 "The Cognitive-Theoretic Model of the Universe" 20:25:36 " 20:25:37 Jump to: navigation, search 20:25:37 The free will theorem of John H. Conway and Simon B. Kochen states that, if we have a certain amount of "free will", then, subject to certain assumptions, so must some elementary particles." 20:25:38 oops 20:26:17 seems a lot less quacky now that I read it on wiki rather than Times or The Sun whereever I heard about it first 20:26:46 This is postmodern or something 20:27:21 "Mathematically, the theoretical framework of Intelligent Design" 20:28:12 back when i found langan's stuff a few years ago, he hadn't thrown in with those guys, we was still mostly claiming to be extending traditional hard science 20:28:53 I'd say he couldn't meet their standards for publication and found the ID people were considerably more welcoming 20:29:18 "you cannot describe the universe completely with any accuracy unless you're willing to admit that it's both physical and mental in nature" 20:29:50 In conjunction with his ideas, Langan has claimed that "you can prove the existence of God, the soul and an afterlife, using mathematics." 20:29:57 (quoting wikiped) 20:30:35 wow, im kinda surprised CTMU survived General Notability Guidelines - although i guess it sneaks in on Langan's coattails because he had some popular media attention as world's highest IQ man 20:31:27 what IRC does Elizer Yudkowsky go to? 20:32:07 oh there's a lesswrong IRC 20:33:01 yeah this is obvious Quack 20:34:01 Like, he speculates on that kind of stuff, ok, but does he do real world experiments? 20:34:15 back around 1999 his 'mega foundation' was started basically as the result of huge flame wars stirred up by his attempting to promote CTMU is various ultra-high-iq internet forums 20:34:22 that was how i found about him 20:34:49 his wife later took it upon herself (i believe) to delete a lot of discussion of his ideas on a wiki I participated in, and replace it with copy-pasted chunks of his essays 20:35:36 http://www.youtube.com/watch?v=9kf51FpBuXQ <- totally fails at this 20:37:19 also it sounds a lot like a lot of postmodernist stuff 20:38:22 And from the website it seems to be mostly convoluted language, and not enough claims that can be tested 20:38:37 why does everything need to be testible? 20:39:08 -!- kar8nga has joined. 20:39:49 karlpopper.jpg 20:40:55 you can't test any nonconstructive existence proofs 20:41:56 hmm that reminds me of the argument i started up here months ago about whether or not the axiom of choice has implications for physics 20:42:29 miss: well, if it's not testable, then it's going to be hard to build a bomb out of it 20:42:36 or other neat technological stuff 20:43:41 and if it's not testable, who knows if it's true or false? 20:43:48 even if it's testible it's not ture 20:43:50 true* 20:44:44 well, often it just says that your approximation rule is good enough in conditions X,Y, up to Z decimals yeah 20:45:14 but that often leads to interesting real world applications still 20:47:41 nice vide othough 20:47:43 And it's sure better than vaguely philosophical papers that are mostly obfuscated language 20:53:38 "It means using language as a mathematical paradigm unto itself." 20:54:06 Ho man, like, yeah that's a perfect recipe for disaster 20:56:35 yeah ok basically this guy is going to use the properties of language to try to gain insights on the nature of the univers 20:56:36 e 20:57:40 O_O lol 20:58:08 yeah looking at the paper, this thing reminds me of time cube 20:59:42 mycroftiv: why would it have? 21:00:22 oklofok: digging into this issue, i discovered that several proofs of various aspects of quantum mechanics rely on mathematics that assumes AOC 21:00:55 mycroftiv, I think that's a really interesting question btw 21:01:17 of course I don't know anything beyond high school physics so I don't have anything else to add :P 21:01:20 http://s.engramstudio.com/src/unreal.png this is in his paper 21:01:55 ah, that explains everything! 21:03:55 lawl 21:03:56 mycroftiv: so some models of the universe that are supported by observation only have the observed properties if AoC is assumed? 21:04:01 I'm using that for everything now. 21:04:30 I contest that that diagram cannot make sense, in any situation. 21:04:37 oklofok: honestly, im not competent to answer that 21:04:46 Erm, I contest that that diagram /could/ make sense in any situation, rather. 21:04:49 *tired* 21:05:16 i see, i'm just wondering if it's conjectures that require AoC, very plausible conjectures, or some actual stuff the model explains. 21:05:18 the material I found doing research on this, the physicists seemed to get pretty cautious about making any statement about the nature of the relationship between mathematical truth and models, theory, and observation 21:06:16 I couldnt say if the way AoC was used mathematically in the relevant proofs of 'how stuff works' quantum mechanically would imply that the physics of a 'non-aoc' universe would be different 21:06:45 i see... it's just in my experience most stuff between very concrete and very formal get very vague and very meaningless pretty fast 21:06:59 aha 21:07:01 yeah 21:07:06 but the thing is there isnt anything undefined involved in this, i dont think 21:07:24 i mean, aoc is well defined, and how to get predictions out of the quantum mechanical model is well defined 21:07:35 its not an angels-on-the-head-of-a-pin type question I dont think 21:08:09 sure, it's the observability that's the key issue here, what if other plausible conjectureshad been made given some other non-conflicting axiom 21:08:18 *conjectures had 21:08:22 personally, I concentrate on more real world stuff 21:08:35 the real world is made of quantum particles, last I checked 21:08:51 like "how do you simulate a violin" (on a computer) 21:10:08 mycroftiv: reality is relative, atoms are only real to the extent of how well they model the world we observe. most people are good at imagining small things combining into big things. most people aren't good at imagining... quantum stuff. 21:10:22 is my point of view 21:10:37 well, atoms are a very useful concept 21:10:46 oklofok: I completely agree - as a matter of fact, I like to point out that a 'car' is entirely a theoretical entity, because you are never going to find 'this is atom is part of Car X' written on any of its component atoms 21:10:55 quantum particles are what the world is made of if you're a physicist, they are made of particles that aren't quantum, otherwise 21:11:06 so 'cars' arent real, they are just an abstraction we apply to certain chunks of mater 21:11:11 madbr use string theory! :P 21:11:32 you guys are overthinking it 21:11:37 cars are basically spheres with uniform mass? 21:11:44 re. how do you simulate a violin 21:12:22 you try to do an accurate model of how the thing vibrates 21:13:22 then solve the navier-stokes equations for how the waves propagate in the atmosphere 21:13:44 actually it's more of a string problem 21:13:47 i heard about these phonons once, are there models of sound that involve particles? 21:14:05 no sound is almost always modelled as waves 21:14:08 and excuse my not knowing anything, i just really don't know anything about physics 21:14:29 sound doesn't have quantum duality :D 21:14:51 yes, it would seem weird given we have a rather good theory of how sound works, based on the wave theory 21:14:58 but yeah violins don't have many vibration modes in air 21:15:07 but i've heard about phonons, i guess i could just wp those 21:15:26 i was making a joke about solving navier-stokes for the atmospheric vibrations, obviously grossly impractical 21:15:35 I've never heard of a good sound simulation using phonons 21:15:54 -!- scarf has joined. 21:16:30 also you have another problem: It turns out that the usual model of friction completely breaks down at "high" frequencies 21:16:32 mycroftiv: i got that 21:16:34 oklofok, stuff like 'Whenever someone exhorts you to "think outside the box", they usually, for your convenience, point out exactly where "outside the box" is located. Isn't it funny how nonconformists all dress the same...' 21:16:36 (like, 200hz high) 21:16:55 it's enjoyable to read this because I go "hah! I knew this already!" 21:16:55 and friction is super important in violin simulation 21:17:10 ie we don't actually really know how friction works 21:17:20 but then wonder if just sitting reading all these sorts of things is worthless 21:17:39 MissPiggy: well, this channel is a good place to try to find new boxes to think outside 21:17:55 madbr: yeah im certainly no expert but ive read that there are still quite a few open problems in condensed matter physics because you get chaotic behaviors a lot 21:18:00 i don't think i've had that exact thought, i've just always thought the concept of "thinking outside the box" is ridiculous; then again i'm a mathematician, not a philosopher... 21:18:12 (formal systems vs ideas) 21:18:24 oklofok: the mathematical equivalent is trying to find incorrect assumptions you made 21:18:37 I am not referring to the content of the statement, just the effect it has on me 21:19:01 MissPiggy: yes, and i tend to get the point, and start talking about something else. 21:19:13 dunno, well, the theory I've studied is linguistics 21:19:24 linguistics is just a theory .. 21:19:26 and basically, language is butt hard to analyze 21:19:40 ie we haven't really figured it out yet 21:19:54 and theories on it tend to end up turning in circles 21:20:47 -!- tombom has joined. 21:20:47 i have an amazing 'scots philosophical monograph' which is several hundred pages of dense symbolic logic attempting to understand what is 'really meant' by statements like 'I think John believes in Y' 21:21:04 heh 21:21:23 yeah that's definitely a turning in circles thing 21:22:11 prolly should go do the homework robozzle prevented me from doing yesterday 21:22:21 oklofozzle 21:22:29 we don't know how languages go from symbols to meaning 21:22:31 OR play robozzle, both alternatives sound good 21:22:49 and we don't really know what meaning is anyways 21:23:00 -!- Sgeo__ has joined. 21:23:48 speaking of philosophy, do you believe people actually 'understand' things, that there's a fundamental difference between memorizing something, and understanding it? 21:24:06 no idea 21:24:15 i do believe we all have our own (implicit) models of the world, and we sort of understand things once we can fit new information into that framework 21:24:15 oklofok absolutely 21:24:23 but i believe it's just a structured way to memorize things 21:24:27 especially in mathematics, for example calculus 21:24:29 and also that sounds like it would turn in rounds 21:24:42 imagine being able to differentiate things, but not knowing what a function is 21:24:50 you memorize the thing, and you memorize rules for how to apply the information, you keep them close 21:24:51 stranger things happened in class 21:25:53 i believe i just know the exact definition of a function (rote), and i have a pretty good ability to visualize mappings between sets, and i have a few rules for knowing how the speficic picture i have in my head translates into formal logic, which i can then check by pattern matching 21:26:11 but then maybe you could argue the people that don't know what a function is have some kind of deeper understanding about what a differential algebra is ;/ 21:27:12 -!- Asztal has joined. 21:28:11 -!- cal153 has joined. 21:30:08 there is, of course, a sort of feeling that i "understand" some things, and don't understand some other things; also this isn't always correlated with my ability to solve different types of problems 21:30:29 so really i'm pretty sure it's just a meaningless feeling, whose evolutionary purpose is to direct my attention to things i need more information about 21:30:42 err 21:31:18 i don't mean meaningless. 21:31:21 what do i mean... 21:32:14 i guess that's sort of obvious, "understanding" just means we think we understand. 21:32:32 that's why my favourite part of linguistics is phonetics... no messed up meaning stuff 21:32:48 :) 21:32:54 i hate philosophy 21:33:03 Is it soft or hard science? 21:33:12 I think understanding is real 21:33:45 well, phoetics is more hard because it has hard enough data 21:33:58 maybe my point is i think people's models of their own brain usually have consciousness be a sort of black box, with "understanding" being when something gets into consciousness and becomes usable 21:34:02 other parts tend to be soft though 21:34:13 to feel like I understand a proof in most cases it is a case of producing some mental image which lives through the whole process 21:34:15 ESPECIALLY anything that touches meaning 21:34:26 like the twisting circle with colored dots around it for fermats little theorem 21:34:42 whereas i see understanding as the process of getting the brain ready to do a certain type of thinking getting near finish 21:34:46 sort of a complicated sentence 21:36:10 really that's a trivial thought too, and one i just saw on lesswrong, people tend to black-box stuff they don't understand. 21:36:50 maybe there are just 7 deep philosophical thoughts, and everything else is just them in less pure form. 21:36:59 in fact i'm going to call this seppuritanism 21:37:05 see you, really have to math now -> 21:37:34 what math?? 21:37:53 combinatorics of words and coding theory 21:38:04 -!- oklofok has quit (Read error: 104 (Connection reset by peer)). 21:38:19 -!- oklopol has joined. 21:39:06 combinatorics of words is what i linked here last week, this weeks exercises are just as ridiculous; coding theory's second exercise set seems to involve massive binary matrices, so to summarize, no risk of my evening being interesting. 21:39:41 why don't you do it on the computer? 21:40:01 well we rarely have two exercises about the same concept 21:40:07 this is university 21:40:12 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 21:40:13 -!- Azstal has quit (Read error: 110 (Connection timed out)). 21:40:54 well okay we can have entire problem sets about the same concept, but i mean it's rare i could get more than one or two exercises done using the same program 21:41:10 unless of course i was clever and used some sort of sensible programming language that understand matrices and shit 21:41:13 but i am not clever 21:41:21 i would use python, and program everything from scratch 21:41:22 J!!!! 21:41:27 yeah J is awesome 21:41:39 oklopol they want me to use matlab :( 21:41:51 but I know J exists 21:41:56 who? 21:42:04 people that give me problems to solve 21:42:22 i'll take that as a yes. 21:43:20 we have a specific matlab course in the physics dep i think, and a few about mathematica, but we rarely have more number crunching than 5*6 21:43:29 i mean other than those courses 21:45:06 hmm 21:45:17 it seems you stopped me from going 21:45:20 i'll retry now 21:45:21 -> 21:45:25 sorry 22:04:55 -!- jix has quit (Connection timed out). 22:26:09 -!- augur has quit (Connection timed out). 22:33:49 -!- Pthing has quit (Remote closed the connection). 22:40:11 * SimonRC goes for food 23:11:17 Well, for no good reason, I have created a void_ptr a ptr class... So now I can pretend C++ has C pointer semantics. 23:13:47 s/void_ptr a/void_ptr and/ 23:14:14 "C++: because operator overloading lets you abuse the type system!" 23:15:11 pikhq: you should see Boost, it's hilarious 23:15:18 it reminds me of the good aspects of Perl 23:15:38 :P 23:16:43 -!- GreaseMonkey has joined. 23:17:03 http://sprunge.us/hTGA 23:17:07 -!- augur has joined. 23:17:28 Eff you, C++. I want my implicit casts to/from void* back. So I GOTS THEM. 23:17:29 :P 23:24:10 pikhq: i like that, but why are you working in c++ if you don't like its type handling? 23:24:49 mycroftiv: No good reason. 23:24:58 I'm not intending to actually *use* that header, BTW. :P 23:24:59 * MissPiggy just mentions btw, this is #esoteric :P 23:25:18 MissPiggy: C++ is an esoteric language. 23:25:25 pikhq: ah, so it was simply created as an exercise 23:25:26 that's my point 23:25:39 that reminds me, you guys are all familiar with the original Bourne shell #defines, i assume? 23:25:48 * Sgeo__ isn't 23:25:49 template operator T // INSANITY! 23:25:50 I am not 23:26:16 ok, lemme find the link, this is great stuff, really awesome late 70s hack at the core of one of the Essential Programs, the bourne shell 23:27:56 HERE: http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/mac.h.html 23:28:48 clearly steven bourne liked his ALGOL and wanted his C code to read like algol 23:29:09 *Ugh*. 23:29:16 wow 23:29:42 that's pretty cool 23:29:43 His definition of max assumes no side effects, incidentally... 23:29:45 so that bit of madness is right at the core of version 7 UNIX, the most influential os distribution fo all time probably 23:30:16 sh is famous for that header file 23:31:17 Gregor: okay i give up, what does http://s.engramstudio.com/src/unreal.png mean 23:31:29 I haven't got a clue :P 23:31:50 oh wait it was madbr who linked it 23:32:56 -!- tombom has quit ("Leaving"). 23:33:02 i've taken a few looks every now and then 23:33:40 but i can't 23:33:44 can't. 23:37:18 I don't know what that picture is, but I assume it is just a bad way of expressing "the map is not the territory" 23:38:35 -!- MigoMipo has quit. 23:40:32 -!- augur has quit (Read error: 110 (Connection timed out)). 23:46:40 -!- oerjan has joined. 23:47:26 lolwat 23:52:40 The free will theorem of John H. Conway and Simon B. Kochen states that, if we have a certain amount of "free will", then, subject to certain assumptions, so must some elementary particles." 23:53:22 So... Philotes? 23:53:53 my intuition: this is an actual theorem (it _does_ have conway on board after all), but whether it applies to any actual definition of free will your own philosophy would ascribes to, would probably depend. 23:54:01 *ascribe 23:54:29 oerjan, yeah sure, I think I just got the wrong idea about it because I read it first in some tabloid 23:54:31 actually, the problem of how to give any scientific definition to the concept of 'free will' is pretty serious imo, and it really bugs me 23:55:09 we have 'deterministic' and we have 'random', but exactly 'free will' even means is pretty damn hard to express in the terms of rationalist materialism 23:55:30 there are after all philosophies on what free will means that doesn't require the universe to be nondeterministic at all - or would even consider nondeterminism to make it _worse_ 23:55:42 *don't 23:56:19 because you don't really have any freedom if things are just random... 23:57:01 but i guess that's part of what you are alluding to 2010-01-24: 00:13:07 -!- nooga has joined. 00:13:15 :Ð 00:13:35 nooga: you should see a dentist 00:13:46 it's compressed :-D 00:14:07 in that case, see a plastic surgeon 00:14:15 ;] 00:16:18 probably psychiatrist would be the best choice 00:16:45 choices, choices 00:17:41 i should see a psychiatrist but the little voices in my head keep telling me not to 00:25:33 :Ð 00:26:16 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)). 00:30:07 it's hard to create interesting esolang 00:30:40 yes 00:30:43 any twisted idea can be reduced to some existing architecture 00:33:08 yeah :( 00:33:11 I want to make one 00:33:16 I might have a go soon 00:33:29 they already have 'go' 00:33:35 so have a something else 00:37:07 -!- Pthing has joined. 00:41:59 -!- augur has joined. 00:44:09 nooga: yeah it's hard 00:44:47 tried a couple... but then underload beats the early ones I've done 00:45:07 the more recent ones are functionnal and weird but still not that awesome 00:45:24 oerjan, hi 00:45:49 oerjan, was just looking at google street view today. Can't find it in norway? 00:46:17 since it does exist in Sweden I'm slightly surprised 00:47:58 Norway has streets? 00:48:45 there are rumors... 00:49:15 i've never tried to look at google street view, so... 00:52:51 "Google har fotografert en del i Norge, men foreløpig ikke lansert noen Street View-tjeneste her til lands." 00:52:53 uh 00:53:06 from http://www.vg.no/bil-og-motor/artikkel.php?artid=591074, two days ago 00:53:22 i've met 19-years old trucker from norway 00:53:24 yesterday 00:53:31 he was weird 00:55:14 oerjan, translate it? 00:55:18 I fail at it 00:55:42 from "foreløpig" to "til lands" 00:57:04 , but for the time being have not launched any Street View service in this country. 00:57:15 ah 00:57:38 ;[ 00:57:55 nooga, ? 00:58:13 night 00:58:25 i fail at reading "Troll 1" - a handbook of swe lang 00:58:44 clearly you've been trolled 00:59:26 that's exactly my point ;D 01:00:05 * oerjan swats nooga for trolling us -----### 01:00:31 nooga är ett hemskt troll! 01:01:31 ;] 01:01:35 hm wait... 01:02:09 hemsk doesn't seem to have any "awful" connotation according to sv.wiktionary.org? 01:02:24 oh wait it does 01:02:49 it was just "hemskt" which had its own article 01:03:07 oerjan, of course it does 01:03:14 and yes that line was correct above 01:03:24 whew 01:03:41 AnMaster: fooled by http://sv.wiktionary.org/wiki/hemskt 01:03:44 but it can also be used as a generic modifier, like "foo is awfully good" 01:04:01 which really doesn't make much sense when you think about it 01:04:17 oerjan, yes that is the other meaning of it 01:04:29 except english (and norwegian) also have the same kind of construction 01:04:36 yes 01:04:41 but it still doesn't make much sense 01:05:04 we also have it for "jättelitet" which would translate to something like "giantly small" 01:05:07 Polish also has that 01:05:20 iirc English doesn't have that last one at least 01:06:11 "skitgott" 01:06:21 -!- augur_ has joined. 01:06:23 olsner, why isn't there "pyttestort"? 01:06:32 * oerjan always wondered what kind of fruit is a fruktansvärd 01:06:35 logically that should follow 01:06:56 oerjan, it is terrible ;P 01:06:56 -!- madbr has quit ("Radiateur"). 01:07:07 -!- madbr has joined. 01:07:25 -!- coppro has joined. 01:07:43 oerjan, for one it isn't even a fruit it turns out 01:07:48 yes, i bet it is 01:07:49 not even a noun 01:08:04 oerjan, I saw that one coming ;P 01:08:18 if you want to read it as a composite noun, it'd be a kind of sword rather than a fruit though 01:08:21 `translate fruktansvärd 01:08:31 awful 01:08:32 oerjan, indeed 01:08:36 (endianness - most significant usually comes last) 01:08:54 Gregor, something between awful and terrible I would say 01:08:55 actually it is pretty obvious from the words it is composed of, fruktansvärd must mean a sword made of fruit 01:08:57 in the meaning 01:09:13 awful is closer to avskyvärd 01:09:29 lit. fearworthy 01:09:34 olsner, yeah 01:10:00 -!- madbrain has joined. 01:10:12 oerjan, there is svärdfisk, so why not svärdfrukt 01:10:12 olsner: yeah but swedish is greek to me, and greek frequently does it the other way around 01:10:20 -!- madbr has quit (Read error: 104 (Connection reset by peer)). 01:10:30 greek is bubble and squeak to me 01:11:01 oerjan, anyway it couldn't be a type of fruit, a type of sword yes 01:11:54 oerjan, olsner, or it could he the host of fear 01:11:54 -!- augur_ has quit (Read error: 104 (Connection reset by peer)). 01:11:58 that works too 01:12:01 when you think about it 01:12:06 fruktans-värd 01:12:18 same split 01:12:22 but different meanings 01:12:23 -!- augur has quit (Read error: 104 (Connection reset by peer)). 01:13:15 -!- augur has joined. 01:13:38 now, clearly -an- is related to anor, so it would be an ancient heirloom sword made of fruit, right? 01:14:03 err 01:14:13 an -> anor not really 01:14:16 afaik 01:14:34 aww 01:14:36 en fruktansvärd fruktan för värdens fruktsvärd 01:15:08 I guess THAT should count a a phobia 01:15:29 oerjan, no? 01:16:01 well phobias are also greek to me 01:16:07 heh 01:16:17 oerjan, could you parse that line I said? 01:16:28 I'm afraid it would be extremely hard to translate to English 01:16:31 but of course, it was obvious 01:16:39 without completely losing the pun 01:16:50 well yes 01:17:24 I'm much better at joking in Swedish than in English 01:17:40 in fact I have heard people laugh at my jokes in Swedish 01:17:46 *gasp* 01:17:55 exactly 01:18:03 oerjan, and it isn't even rare 01:18:27 now you are stretching your credibility 01:18:37 oerjan, maybe, but it's true 01:18:46 also it rarely works over text chat 01:19:10 really builds on quick and snappy replies in voice-based discussions 01:19:11 maybe you get them to laugh by telling them you're actually funny in english 01:19:28 oklopol, hm haven't tried that one 01:19:35 interesting idea 01:19:37 you just tried it in reverse 01:19:48 oklopol, not really, I just told the truth 01:19:52 and clearly we found it hilarious 01:19:58 you did? 01:20:02 that was unintentional 01:20:46 -!- Asztal has quit (Read error: 110 (Connection timed out)). 01:23:17 * oerjan regrettably must conclude there isn't really such a thing as a sword fruit 01:23:32 aww 01:23:47 what about fruit swords then? 01:23:49 google hath spoken 01:23:54 just checking 01:24:08 oerjan, you could carve a small sword out of an apple 01:24:38 or a fruit sword could be a sword for cutting fruit. 01:24:52 or better, let the apple grow in a mould to form it into a sword 01:24:53 but i guess that would be more of a stretch than making the sword out of it 01:24:56 not sure that would work 01:25:17 fruit? sword? Are you playing I Wanna Be The Guy? 01:25:34 oklopol, fruit knives I heard of. but fruit swords would be a bit large, no? 01:25:39 Sgeo__, no idea what that is 01:25:46 well they're used for big fruit ofc 01:25:53 liek coconuts 01:25:58 oklopol, oh like mutant pumpkins? 01:26:07 ...and mutant pumpkins, yes 01:26:20 oklopol, what about mutant watermelons? 01:26:44 Sgeo__: were you the one who linked iwbtg here? 01:26:45 oh wait 01:26:50 i guess it was ehird 01:27:10 It occurs to me that I've been interested in it recently, so I might have 01:27:20 oh this was ages ago 01:27:20 Sgeo__, what is it though 01:27:29 it's a game that's supposedly really hard 01:27:47 well okay it is really hard 01:28:41 Sgeo__: are there swords in iwbtg? 01:28:44 From a review: "about halfway across, you notice an apple low enough you can jump over it. tired of the tedious apple-teasing, you graciously accept the respite of an apple you wont have to dodge mid-fall. you jump over the apple, and the apple falls up and kills you. the apple falls up and kills you." 01:28:48 oklopol, just one 01:28:53 BRB 01:28:57 * oerjan finds nothing really appropriate 01:30:03 now if that sword was the only thing in the game that was actually harmless... 01:30:23 oerjan, what about the ground? 01:30:56 anyway it doesn't seem to be open source 01:31:03 nor available for linux 01:31:04 there are really very few places in iwbtg where you actually need absolute precision, at least up to where i got, although it can still take about 10 minutes to get through one screen 01:31:27 oklopol, limited number of lives? 01:31:38 no 01:31:54 but there are "difficulty" settings that limit the amount of save points 01:32:25 a few on every screen, one every few screens, one every tenth or so screens, and "impossible", no save points 01:33:32 IWBTG's sword: http://www.youtube.com/watch?v=dyyovn2IMX0 01:33:33 ... 01:34:01 oh, right, that one 01:35:05 that part was easy 01:39:22 ... 01:43:04 sleepy time -> 01:43:21 also i should probably give iwbtg another go 01:43:47 oklopol, are you going to design any RoboZZle puzzles? 01:43:50 last time i got about halfway through, then made a fucked-up save and couldn't continue 01:44:23 I believe there's stuff that lets you manipulate save files [e.g., if you screw up a save, or want to cheat] 01:44:41 the next thing i'm going to do in robozzle is try out some programming in design mode; that may be a side product. 01:44:51 yeah, i hear there is 01:45:50 doesn't really matter now, i don't have the game 01:45:56 really the sleep -> 01:52:43 sleep 01:54:16 -!- nooga has quit (Read error: 54 (Connection reset by peer)). 02:09:55 -!- zzo38 has joined. 02:10:43 -!- zzo38 has quit (Remote closed the connection). 02:17:41 -!- scarf has changed nick to scarf|away. 02:18:11 -!- scarf|away has changed nick to scarf. 02:26:48 -!- BeholdMyGlory has joined. 02:29:11 -!- scarf has changed nick to scarf|away. 02:31:08 -!- augur has quit (Read error: 110 (Connection timed out)). 02:31:59 * Sgeo__ goes to try "straying from the path" 02:32:11 I see the basic principle, but don't know if I have the stack skills to implement 02:32:30 * MissPiggy has still not does aseirskas one 02:34:31 -!- scarf|away has changed nick to scarf. 02:35:52 Deewiant, you're.. away, darn 02:39:41 Deewiant, igoro is asking what's wrong with Robozzle on Moonlight 02:43:01 -!- scarf has changed nick to scarf|away. 02:48:01 -!- scarf|away has changed nick to scarf. 02:51:20 Solved straying from the path! 02:51:36 I see neither fizzie nor oklopol solved it :D 02:53:11 -!- scarf has changed nick to scarf|away. 02:53:38 the first "Tree" puzzle is quite cool 02:54:25 -!- augur has joined. 02:54:29 that's like the only difficult one I have solved :P 02:55:06 MissPiggy, straying from the path is fun 02:55:25 Does use the stack 02:56:38 wow, solved "very early warning" straight away 02:56:46 that one's purely state-changes 02:57:10 how do I open puzzle 249 in silverlight? 02:57:12 i've yet to get the "linked list" one solved but i think i know how it works roughly 02:57:23 puzzles.aspx defaults to silverlight, I think 02:57:33 thanks 02:57:41 you delete internet explorer, use a real browser, and use a real standard 02:58:11 -!- scarf|away has changed nick to scarf. 02:58:12 none of that achieves the goal 02:58:38 Hm, I think Very Early Warning is one that was shown in the YouTube video.. 02:59:23 Which effectively gave the puzzle away 02:59:56 well that would be a pretty early warning, then 03:00:01 lol 03:02:55 i think i know how to do "both directions" 03:03:15 "both directions 0" will show you the idea, if you get it 03:08:21 argh crap i appear to have forgotten >_> 03:10:31 -!- scarf has changed nick to scarf|away. 03:10:43 #36 "Explore the world" seems doable 03:11:04 -!- Pthing has quit (Remote closed the connection). 03:11:08 * Sgeo__ gives up on Very Early Warning after needing ONE extra slot in each function 03:12:31 * Sgeo__ figures it out 03:13:11 -!- scarf|away has changed nick to scarf. 03:15:26 btw, i started working on a python port yesterday 03:17:04 No, I didn't figure it out 03:17:04 grr 03:18:13 -!- FireFly has quit ("Leaving"). 03:19:19 last two slots on mine were something like this: 03:19:32 (2,1) (2,3) (4,1) (4,3) 03:19:55 first in each pair had a single colour condition 03:20:26 How did you get away with not having to call 3 functions in 2 of the functions? 03:21:58 Hm, I think I see 03:22:21 -!- scarf has changed nick to scarf|away. 03:22:31 -!- mtve has quit (kubrick.freenode.net irc.freenode.net). 03:22:31 -!- dbc has quit (kubrick.freenode.net irc.freenode.net). 03:22:31 -!- HackEgo has quit (kubrick.freenode.net irc.freenode.net). 03:22:31 -!- SimonRC has quit (kubrick.freenode.net irc.freenode.net). 03:24:03 No, I don't 03:24:31 -!- SimonRC has joined. 03:25:41 yikes that is me just done straying from the path now, that took me aages 03:27:31 -!- scarf|away has changed nick to scarf. 03:28:47 * Sgeo__ has some relocation to attend to 03:28:52 Although I do have a puzzle idea 03:32:36 aw 03:33:04 I found a stupid way to do Very Early Warning which probably works but Id have to try too many combinations 03:34:34 #189 Cherry Picking is fun 03:34:55 just do a 4-state machine 03:35:00 for V.E.W. 03:35:11 -!- scarf has changed nick to scarf|away. 03:35:20 yes but there's a lot of 4 state machines 03:35:25 I can't check each one 03:35:31 GreaseMonkey, but there's not enough room in each function! 03:35:50 Just one more space in two of them is all I need 03:36:55 something like: F1: ^ G> 1 R2 1 03:37:01 and based on that style 03:37:29 But I need both a G> and an R>.. don't I? 03:37:36 Hm, wait 03:37:42 I don't! 03:37:42 ty 03:38:41 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)). 03:39:55 np 03:40:21 -!- scarf|away has changed nick to scarf. 03:41:35 Wait, no 03:41:58 No, I'm confused 03:42:21 #558 "8 ways" is kinda fun 03:43:12 -!- mtve has joined. 03:43:12 -!- dbc has joined. 03:43:12 -!- HackEgo has joined. 03:43:14 * Sgeo__ has some relocation to work on 03:45:31 -!- scarf has changed nick to scarf|away. 03:45:51 -!- scarf|away has changed nick to scarf. 03:48:23 just did #132: "Split" 03:48:32 hint: F1 is: 2 1 03:48:52 and you just go forward and add conditional corners, moving them around until you get it right 03:48:59 this game makes me feel like I am terrible 03:49:37 * MissPiggy has to keep playing to get good 03:54:53 It's wasted so much of my time 03:55:10 Seriously, I was supposed to relocate puzzles in Mutation II 03:55:11 you lot do find some of them difficult right? :) 03:55:26 fizzie doesn't, I'm sure 03:55:28 But I do 03:56:11 * Sgeo__ has a level idea, but it might be hate 03:56:12 hated 03:57:01 What does everyone hate about Silverlight? 03:57:16 I just don't like it because flash exists 04:00:31 -!- scarf has changed nick to scarf|away. 04:03:37 * Sgeo__ works on Flip-flop Maze (lite) 04:05:31 -!- scarf|away has changed nick to scarf. 04:13:13 Does anyone want to make a Flash client for RoboZZle? 04:13:46 -!- Asztal has joined. 04:32:14 -!- augur has quit (Read error: 110 (Connection timed out)). 04:33:41 -!- scarf has changed nick to scarf|away. 04:35:41 -!- scarf|away has changed nick to scarf. 04:47:33 -!- MissPiggy has quit. 05:11:50 -!- augur has joined. 05:14:50 -!- BeholdMyGlory has joined. 05:19:27 -!- coppro has quit (Remote closed the connection). 05:41:04 -!- coppro has joined. 06:01:46 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)). 06:04:51 -!- BeholdMyGlory has joined. 06:11:18 -!- BeholdMyGlory_ has joined. 06:13:34 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)). 06:30:43 -!- coppro has quit (Remote closed the connection). 06:31:21 -!- coppro has joined. 06:47:01 -!- jpc has quit ("I will do anything (almost) for a new router."). 07:06:15 -!- madbrain has quit ("Radiateur"). 07:20:25 -!- cheater2 has quit (Read error: 110 (Connection timed out)). 07:29:12 What happened to ehird? 07:29:15 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)). 07:29:41 eaten by gnomes 07:32:09 what the heck, he hasn't been here since last sunday? 07:43:05 -!- bsmntbombdood_ has joined. 07:58:32 -!- bsmntbombdood has quit (Connection timed out). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:13 -!- cheater2 has joined. 08:11:20 -!- MizardX has quit (Read error: 60 (Operation timed out)). 08:12:31 -!- scarf has changed nick to scarf|away. 08:15:41 -!- scarf|away has changed nick to scarf. 08:18:05 -!- Asztal has quit (Read error: 110 (Connection timed out)). 08:21:01 -!- scarf has changed nick to scarf|away. 08:23:31 -!- scarf|away has changed nick to scarf. 08:37:29 -!- GreaseMonkey has joined. 08:37:31 whee i have a solution for #224: waveform 08:40:34 * Sgeo__ vaguely sees how to do Less or more? 08:40:41 But right now I need to sleep 08:46:31 -!- scarf has changed nick to scarf|away. 08:46:51 -!- scarf|away has changed nick to scarf. 08:51:24 -!- tombom has joined. 08:53:15 i did that one at some point 08:56:31 -!- scarf has changed nick to scarf|away. 08:57:21 -!- scarf|away has changed nick to scarf. 09:09:19 GreaseMonkey, the way I've been noticing puzzles has been when you comment on them >.> 09:09:21 09:09:32 weird. 09:10:24 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 09:10:52 -!- coppro has joined. 09:12:31 -!- scarf has changed nick to scarf|away. 09:15:41 -!- scarf|away has changed nick to scarf. 09:19:30 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 09:20:08 -!- scarf has quit (Remote closed the connection). 09:20:33 -!- KingOfKarlsruhe has joined. 09:36:21 -!- MigoMipo has joined. 09:47:16 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 09:58:42 -!- FireFly has joined. 10:11:20 -!- oerjan has quit ("Good night"). 10:43:58 -!- kar8nga has joined. 10:54:19 -!- BeholdMyGlory has quit (Remote closed the connection). 10:56:22 -!- Pthing has joined. 10:58:42 Night none 11:27:20 -!- KingOfKarlsruhe has quit (Remote closed the connection). 12:51:09 -!- BeholdMyGlory has joined. 13:00:37 -!- nooga has joined. 13:01:23 -!- MissPiggy has joined. 13:07:55 -!- Gracenotes has quit (Read error: 110 (Connection timed out)). 13:32:22 -!- cheater3 has joined. 13:36:25 -!- nooga has quit (Read error: 104 (Connection reset by peer)). 13:44:32 -!- kar8nga has quit (Remote closed the connection). 13:50:05 -!- cheater2 has quit (Read error: 110 (Connection timed out)). 14:07:52 -!- nooga has joined. 14:09:37 -!- tombom_ has joined. 14:20:38 -!- Pthing has quit ("Leaving"). 14:20:57 -!- Pthing has joined. 14:22:16 -!- nooga has quit (Read error: 60 (Operation timed out)). 14:26:08 -!- nooga has joined. 14:30:38 -!- tombom has quit (Read error: 101 (Network is unreachable)). 14:33:31 -!- MizardX has joined. 14:54:54 http://robozzle.com/index.aspx?puzzle=189 I can't do this 14:58:17 http://www.dealextreme.com/details.dx/sku.30245 Gee, DealExtreme has a teddy bear that's birthing another teddy bear by C-section. 15:17:01 -!- kar8nga has joined. 15:22:44 -!- tombom__ has joined. 15:29:34 MissPiggy: can't see how you're supposed to do it, or can't implement your idea with the restrictions? 15:30:40 i think the idea is you always go up, storing an instruction for returning back for each step you take, when you see a red one, you avoid the pit, and store in the stack instructions to avoid the pit when you come back 15:30:46 the rest is repetition 15:31:26 i can't help you with an actual implementation, that might take more than a look 15:31:36 cuz i'm sooooo buzy 15:42:40 -!- tombom_ has quit (Read error: 101 (Network is unreachable)). 15:46:39 oklopol both 15:49:49 i see. well did you understand what i said? 15:50:21 each time you go up, put in the stack another command for going down once you return from the recursion 15:51:17 and when you see a red one, avoid the pit somehow, and put in the stack instructions for avoiding the pit once you return from recursion 15:51:35 all the details seem to suggest that's how you're supposed to do it 16:11:23 okay tested my idea, stops one slot short 16:17:31 -!- zzo38 has joined. 16:17:48 I have a new idea, the "Crab's Jukebox" esolang. 16:30:22 -!- nooga has quit (Read error: 110 (Connection timed out)). 16:44:57 lol asiekierka's puzzle has difficulty 2.5 :D 16:45:09 shouldn't be even two 16:45:32 What is asiekierka's puzzle? 16:48:07 oh actually he has many prolly, i don't really know what i had open 16:50:41 the newest 16:50:53 oh wait you probably don't know even the context 16:50:58 that would be robozzle 16:51:12 Actually I guessed (but I wasn't sure) 16:51:44 I guessed correctly but I would still need the number (I use the JavaScript mode; it can be used with any puzzle number even if it is not listed) 16:52:01 164X i think 16:52:35 where X is something, i didn't look at the number, so really it might be 62309. 16:53:51 Do you like the idea of "Crab's Jukebox" esolang, that is just some idea I had, I don't know how well it could be done, even. 16:54:04 But I think it would be difficult to categorize. 16:54:08 1640 actually 16:54:20 OK, thanks 1640 16:54:30 on esowiki? 16:54:33 i haven't looked yet 16:54:43 I haven't posted it yet, sorry 16:54:49 It is just an idea in my mind, so far 16:58:25 And hopefully you can understand what I meant by that 17:01:54 Puzzle 1640 solved 17:04:48 If you solved it, tell me your solution privately to me? (And I can do the same you, if you asked)( 17:07:05 The JavaScript version is licensed under Ms-PL, and you could look at it, and possible make up a editor for it if you wanted to, and do other stuff too, possibly) 17:10:28 There is only one program I wrote that I licensed under one of the Microsoft licenses (Ms-RL, to be specific), it is simply called "ddd" and it uses two licenses you may select one, Ms-RL and GNU GPL version 2 or later version. (The program was based on an example code from Microsoft web-site) (I selected this combination for another reason too, so that it could be included with Windows and with ReactOS as well) 17:11:09 I think zzo is a million times smarter than me :D 17:11:29 im going to try harder at 1640 17:16:17 I cannot see the videos or instructions, I just had to guess how it worked, and see whether or not I was correct. I figured out the rules of the game pretty easily actually 17:22:27 -!- zzo38 has quit. 17:26:02 -!- Asztal has joined. 17:34:29 you found 1640 hard? 17:35:02 maybe i just happened to see the solution instantly 17:35:55 I can see a dozen solutions but none that fit in the available space. 17:39:54 Friends don't let friends use MS licenses. 17:40:48 Gregor: One of their licenses is actually a straightforward copyleft license... 17:41:00 Friends don't let friends use MS licenses. 17:41:12 Even the GPL-compatible one? 17:41:19 Friends don't let friends use MS licenses. 17:41:42 Why use a GPL-compatible MS license if you can use GPL/BSD/MIT 17:41:45 Erm. Sorry. Neither of the free ones is GPL-compatible. 17:41:56 (patent clause) 17:42:45 Friends don't let friends use MS licenses. 17:46:48 Awww, I have a happy, purry kitty. 17:46:57 (That's the best kind of kitty) 17:53:17 I have a cat that tries to eat cardboard. 17:55:08 Is that the best kind of cat too? 17:59:12 well my dog eats shit 17:59:17 take that, society 17:59:20 sleep -> 18:04:54 -!- jix has joined. 18:08:44 -!- tombom has joined. 18:09:44 -!- tombom_ has joined. 18:25:15 -!- tombom__ has quit (Read error: 110 (Connection timed out)). 18:28:20 -!- tombom has quit (Read error: 110 (Connection timed out)). 18:46:53 I think I did Tree, Tree II, and Tree III all in less time than I've stared at Learning Stack 18:48:20 that one looks difficult 18:49:09 Limit your stack! is among the first ones I did, and it's rated 0.8 higher than Learning Stack 18:49:46 Hrm, but wasn't "learning stack" just yet one of the "move-recurse-move" ones, basically? 18:49:59 http://robozzle.com/js/play.aspx?puzzle=330 18:51:12 Hmm, reopening it gave me a new idea... 18:51:28 Yes. I did it in about eleven seconds now, though I've done it earlier too so maybe that doesn't count. 18:52:00 Right, interleaving calls to F1 and F2 wasn't a good idea. 18:52:21 I have just a single f2-call in f1, and then some manual movement for the twiddle in the tail. 18:52:34 Yeah, exactly. 18:52:50 That twiddle was giving me trouble as I had F1 call F2, which called F1 again. 18:53:46 I'd've had a lot easier time if F1 would've been the recursive function :-P 18:53:57 * uorygl looks at puzzle 1640. 18:58:25 Solved. 18:58:36 Meh, screw you guys. 18:59:20 screw you guys I'm going home 18:59:36 That'd work if I wasn't at home. 19:17:28 And solved 189, too. 19:17:38 This game is, in fact, not bad. 19:17:51 Like cpressey said, it's crack. 19:18:10 I apparently should never try crack, given that my ability to solve puzzles is so random. 19:32:04 I think "crack" can be defined as "something that you don't like but want to do again anyway". 19:33:27 It can also be defined as "methyl (1R,2R,3S,5S)-3- (benzoyloxy)-8-methyl-8-azabicyclo[3.2.1] octane-2-carboxylate". 19:37:38 * Sgeo__ hopes ehird is ok 19:51:26 ehird hasn't been seen in a while? 19:53:54 Well, I haven't seen him in a while 19:57:14 * uorygl nods. 20:13:24 It took fizzie _8_ commands to solve Gridlock 20:13:59 ( this one http://robozzle.com/puzzle.aspx?id=882 ) 20:18:17 That'd work if I wasn't at home. <-- then what about "screw you guys I'm leaving home"? 20:19:07 Gee, now I'm also obsessed with robozzle >.> 20:19:17 I tried it 20:19:18 and 20:19:22 meh 20:19:29 Yeah, same here 20:19:32 And then I tried it again 20:19:32 and 20:19:34 stuck :\ 20:19:43 note to self: don't try it again 20:19:50 I don't have the time to try it agai 20:19:51 again* 20:20:22 * Sgeo__ already stole plenty of people's time 20:20:37 Well, ok, so it was Robozzle, and I just pointed to it, but still 20:20:39 Muahaha! 20:24:53 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 20:45:04 Sgeo__: Gridlock is one of the ones that I stared at for at least half an hour 20:45:25 Looking at other's solution lengths can help 20:45:49 I think there are two puzzles named Gridlock, though 20:45:51 Well yes, because if the length is 3 there are only so many combinations :-P 20:46:04 I was talking about that one, at least 20:49:36 -!- cheater2 has joined. 20:55:12 -!- madbrain has joined. 20:57:01 -!- GreaseMonkey has joined. 20:57:25 so, uh, my robozzle python port is starting to shape up 20:57:29 you can click stuff! 20:57:33 soon you'll be able to run stuff! 20:57:39 i just need icons + behaviour! 20:58:38 GreaseMonkey, make a Robozzle Flash client? 20:58:44 -!- cheater3 has quit (Connection timed out). 20:58:56 Sgeo__: eww flash is poop :/ 20:59:02 it also reaks of proprietary 20:59:08 GreaseMonkey, better than Silverlight, though 20:59:13 true 21:02:38 oh the joys of flexible programming languages 21:02:40 (icon_pause if self.rrunning and self.rstarted else icon_play)(surf, 2, self.h-2-54) 21:06:15 Sgeo__: Since it obviously disturbed you, I submitted a four-command solution for Gridlock; it took something like seven seconds to devise one. I'm not quite sure what the 8-command one could've been. 21:07:23 Sorry, three. One was superfluous. 21:07:30 fizzie: which is this? 21:08:02 Number 884. 21:08:06 No, 882. 21:08:10 Misremembered. 21:08:45 Sgeo was being complainy about my existing eight-command solution. 21:09:07 Anyway, stop babbling about the game; I've succesfully stopped playing it twice or thrice already. 21:09:35 >_< 21:09:48 * FireFly is half-stuck on Recursed 21:11:50 lemme try... 21:12:23 The dreaded move-recurse-move (anti)pattern. 21:12:26 got it straight away =D 21:12:34 ^ R< 1 21:13:41 rofl about half of the solvers got it in 3: http://robozzle.com/puzzle.aspx?id=882 21:14:00 actually, it's split into 1/3s 21:14:09 1/3 got 3, 1/3 got 4, and the other 1/3 got more 21:18:33 -!- oerjan has joined. 21:18:41 Sgeo__, why did you suggest flash 21:18:43 ...? 21:18:57 AnMaster, more people would be willing to try RoboZZle 21:19:52 Sgeo__, than with python? 21:20:17 Sgeo__, well I think flash and silverlight are equally bad 21:20:29 brb 21:20:34 I think many people in /r/WebGames would disagree 21:22:01 You should've just linked to the javascript version directly 21:22:04 what somebody in here made it? 21:22:18 No 21:24:34 YAY IT'S PROGRAMMABLE \o/ 21:24:49 Sgeo__, the js version wasn't too bad 21:24:50 now to make it point out which command is actually running 21:24:57 and now, night → 21:25:02 the JS version just needs an editor 21:25:03 night AnMaster 21:25:22 AnMaster, I did mention the JS version in the comments 21:25:30 But no one seems to have noticed bleh 21:25:50 Yeah, people are idiots 21:26:21 They click the link, comment "OMG SILVERLIGHT FU" and don't bother reading and upvoting the top comment which points to a javascript version 21:26:38 Hence link to the javascript version instead of the silverlight :-P 21:27:37 if i wanted a web version, java[script] would be my choice 21:27:47 java would be used if ever it needed music 21:34:37 now i've got to get painting working 21:40:39 -!- MissPiggy has quit (Read error: 113 (No route to host)). 21:41:35 hmm, it appears that it was already implemented. 21:45:40 argh bugger it doesn't reset the map - i shall fix that now. 21:49:30 whee langton's ant \o/ 21:51:00 and it resets properly. 21:51:08 now to add in stars and moveables. 21:55:53 should i integrate pymod with this and make it fetch random MODs from modarchive 21:55:55 ? 21:57:07 but yeah, pys3m is far too CPU-heavy to be integrated with this thing 22:02:55 Can this download levels from robozzle.com? That would be cool 22:05:16 not yet 22:05:25 you can't load or save ATM 22:05:34 also, you can't relocate the robot yet 22:06:32 -!- MigoMipo has changed nick to MigoMipo_Zwei. 22:06:37 -!- MigoMipo_Zwei has changed nick to MigoMipo_Drei. 22:06:58 -!- MigoMipo_Drei has changed nick to MigoMipo. 22:09:31 -!- BeholdMyGlory has quit (Remote closed the connection). 22:16:06 ARGH the digit printer prints the digits backward 22:16:07 s 22:16:56 -!- calamari has joined. 22:17:42 Gregor: btw, did you meet Justin Cappos when in Washington? 22:18:58 oh nm.. wrong university 22:22:54 yay this does basically everything except loading + saving 22:27:52 -!- kar8nga has quit (Remote closed the connection). 22:28:29 -!- tombom_ has quit ("Leaving"). 22:37:04 -!- MigoMipo has quit (Remote closed the connection). 22:38:28 I wasn't in Washington at all, wrong university or not :P 22:42:57 question: should i continue to work on my python robozzle port, or add some more formats to my module transposer thingy? 22:43:13 Both! 22:44:28 -!- oerjan has quit ("Later"). 22:59:56 What module transposer thingy? 23:15:12 -!- MizardX- has joined. 23:15:21 -!- MizardX has quit (Read error: 54 (Connection reset by peer)). 23:15:50 -!- MizardX- has changed nick to MizardX. 23:16:37 -!- FireFly has quit ("Leaving"). 23:28:11 it's something i'll use to transpose mod/s3m/xm/it 23:28:20 working on the xm one, and s3m is remaining 23:43:07 -!- augur has quit (Read error: 60 (Operation timed out)). 23:52:18 so... it turns out that if you launch vim in certain ways from the GUI, it starts up and just sits there, invisible 23:52:35 this si not too bad except when one opens a 500MB file in it 23:52:56 what with firefox sitting arouns it tends to create a bit of a memory crisis 23:55:09 * SimonRC goes to bed 23:56:36 -!- calamari has quit ("Leaving"). 2010-01-25: 00:01:49 -!- calamari has joined. 00:11:02 * SimonRC thinks up the next great Apple feature: sub-pixel mouse positioning. 00:11:21 What the fuck am I doing? 00:11:24 I'm going to bed. 00:12:08 total used free shared buffers cached 00:12:08 Mem: 12040 11973 67 0 196 10184 00:12:08 -/+ buffers/cache: 1592 10448 00:12:15 lol, memory crisis 00:12:46 That's a lot of RAM. 00:12:59 mmhmm 00:51:43 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 00:54:30 -!- pikhq has joined. 00:57:01 bsmntbombdood: That is not a memory crisis. That is a cache. 00:57:35 ehm 00:57:37 logread 01:00:01 -!- augur has joined. 01:37:24 Now soliciting opinions on http://codu.org/music/vg/zee1.ogg (which is supposed to be semi-retro video-game-music-ish) 01:38:54 no drums? 01:39:04 THAT DOES NOT COUNT AS AN OPINION 01:40:11 sounds kinda general midi <- is this an opinion? 01:40:27 It is GM, 's all I've got (I refuse to use loops) 01:41:01 Also I just frankly don't want to take the time and effort to go hunting for soundfonts, put them all together, and then render something that's questionably not legal for me to redistribute anyway. 01:41:07 get some free vsts if your sequencer supports them? 01:41:54 I'm not sure what to say because for retro video game music I use trackers 01:42:22 I generally compose music of a less synthesized style :P 01:42:50 (And I compose it for human beings, eliminating the issue of making the computer make the right sounds) 01:43:06 well, the square wave does sound out of it's place 01:44:22 Really? I sort of liked the contrast. 01:45:10 Sounds fine. 01:45:37 Almost a standard of NES music. :P 01:46:17 well, nes music tends to be more bass+drums+stuff 01:46:23 because otherwise it's too thin 01:49:47 -!- jpc has joined. 01:57:10 Replacing the square wave by an accordion results in pretty much pure awesomeness. 01:58:32 I may actually do that :P 01:59:35 Mainly it's awesome because a simple do-do-so-do on an accordion = polka 02:06:55 -!- augur has quit (Read error: 104 (Connection reset by peer)). 02:07:06 -!- augur has joined. 02:07:44 -!- Asztal has quit (Read error: 110 (Connection timed out)). 02:24:34 yes, i think it could do with an accordion 02:25:19 * Sgeo__ tries From Hell to Heaven 02:25:29 Looks like it looks easier than it looks 02:25:36 "Solved by 1 players" 02:26:56 Actually, no 02:28:20 link? 02:29:00 http://robozzle.com/puzzle.aspx?id=1010 02:30:15 boo, no js version 02:30:30 oh wait, there is one 02:30:32 * coppro looks 02:30:44 no wait, there isn't 02:31:33 http://robozzle.com/js 02:33:34 yeah, but no js version of that puzzle 02:34:24 coppro, click one of the other puzzles, and put 1010 into there 02:34:39 Sometimes puzzles are hidden due to not getting good ratings 02:34:49 oh 02:35:11 * Sgeo__ has had issues with the JS client, actually 02:35:27 Like, if the robot dies off the edge, I can't restart the puzzle without refreshing the page 02:35:36 hit stop 02:35:54 hmm 02:35:57 It doesn't work 02:41:09 It would be silly for music to be illegal to distribute due to being made out of copyrighted soundfonts. 02:42:22 It's a derivative work. 02:42:31 Are you sure? 02:42:43 How could it not be? 02:43:40 soundfonts have weird copyright stuff 02:44:00 There would probably be some law stating it's not a derivative work. 02:44:02 because if they copyrighted the samples on synths people couldn't use them in music 02:44:20 obviously not good for roland 02:44:30 which is where your samples probably come from anyways 02:45:14 Mine are all public domain, it's the Chorium soundfont. 02:45:34 Ah, there's fair use. 02:46:22 This is especially amusing when compared with actual fonts... 02:46:24 Which cannot be copyrighted. 02:46:25 -!- Pthing has quit (Remote closed the connection). 02:46:26 Fair use has to do with how much of the work you use. When the work is a soundfont, and you used it to render music, you've used a lot of it. 02:46:36 I'm sure it's difficult to argue that using a soundfont in a piece of music and distributing the piece diminishes the value of the soundfont. 02:47:06 pikhq: I've heard that before, but I think I tried to verify it and wasn't able to. 02:47:06 (the actual font *file* can be copyrighted, though; it counts as a computer program.) 02:49:26 http://www.loc.gov/cgi-bin/formprocessor/copyright/cfr.pl?&urlmiddle=1.0.2.6.2.0.174.1&part=202§ion=1&prev=&next=2 02:50:20 (e) Typeface as typeface. 02:50:32 So, typeface as candy can by copyrighted. 02:50:37 Hahahah. 02:50:48 Yes, a candy mold of a typeface could be copyrighted. 02:50:56 But someone could carve their own mold. 02:51:23 So could I create a new file of an existing font, using the font file as my only reference? 02:52:04 So long as you actually *create* the new file, rather than deriving it, yes. 02:52:33 The font file merely describes how to render a typeface. You can look at the rendered typeface and imitate that just fine. 02:53:10 Note: it'll still be a derived work in Europe. 02:53:51 Is there legally a difference between copying the file and simply creating an identical one? 02:54:03 Yes. 02:54:17 The first is a derived work. 02:54:22 The second is a bizarre coincidence. 02:54:46 Well, I should say... 02:54:52 If I accidentally write a novel that's exactly equal to some Harry Potter book I haven't read, but with "Harry Potter" replaced by "Dodifer Fleghermaier", that's legal. Hard to prove though. 02:55:33 Unlike patent law. 02:55:42 Yesh 02:55:44 Between copying parts of the file, and looking at a part of the file, rendering it, and derendering it such that the new part is identical to the old one. 02:55:50 If you invent something that was invented and patented last year, you're screwed. 02:56:16 pikhq: If you invent something that was invented and patented twelve seconds ago, you're screwed :P 02:56:17 uorygl: If it's an automatic process, probably derived. 02:56:23 Gregor: Quite. 02:56:52 What if I invent something for which a patent was applied yesterday, but which has not yet been revealed to the public? 02:56:54 Heck, if the patent application was done by someone else a month after you, you're screwed. 02:57:23 (needs to be a year prior to be prior art. Yes, really.) 02:57:25 Ideally, if I do that, the law automatically changes such that the patent is invalid. 02:57:51 ...So I can invent someone and then someone else can patent it? 02:58:03 that's not the purpose of patent law 02:58:10 -!- Gracenotes has joined. 02:58:14 s/one/thing/ 02:58:15 "I invented it, too, right after he told me how he invented it." 02:58:18 the purpose of copyright and patent laws are actually different 02:58:21 Is Gracenotes addicted yet? 02:58:36 coppro: Yes. And that's tangential. 02:58:45 it's not 02:59:29 the purpose of copyright law is to give someone assurance that only they may profit from a work 02:59:38 Something can be nuts even if it has a purpose. 02:59:45 the purpose of patent law is to give the public the assurance that new innovations are available 02:59:56 oh, I completely agree 03:00:02 And that's not the purpose of copyright law. 03:00:17 what would you define the purpose of copyright law as, then? 03:00:18 ..maybe 03:00:22 The purpose of copyright law is to give the public the assurance that new works of art are available. 03:00:43 no 03:00:44 I lurv you all 03:00:47 And it only in that context that Congress even has the power to enact a copyright law. 03:00:48 my A key has been broken for 2 months 03:00:53 Erm. it is. 03:01:22 there is no such thing as a first-to-copyright system anywhere in the world, unless I'm seriously mistaken 03:01:33 -!- oerjan has joined. 03:01:36 That's a non sequitur. 03:01:41 it's really not 03:02:26 no _this_ is a non sequitur. oh wait... 03:02:39 Your mom is a non sequitur. 03:02:42 "Congress shall have the power [...] to promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;" 03:03:01 I don't care about USAian law 03:03:10 Computer Useful Art 03:03:12 But that's what we were discussing. 03:03:17 oh, we were? 03:03:23 The "securing an exclusing right" bit is merely a means to an end... 03:03:30 That's not the first time I've cited it. 03:04:07 the USA further muddles things by adopting a first-to-invent system 03:04:32 Which is arguably not among Congress' powers. 03:04:39 (not that that's stopped them before) 03:04:40 don't know, don't care 03:05:02 Well, I cited the only bit that grants them the power to do a copyright or patent law. 03:05:24 (the US federal government does an astounding lot more than they have the de jure power to) 03:05:25 I meant I don't know or care about Congress' powers 03:05:36 GreaseMonkey, igoro replied to you 03:05:43 not being in the US, it's not important to me 03:06:13 Sgeo__: where? 03:06:19 http://robozzle.com/forums/thread.aspx?id=175 03:07:37 in any case, a first-to-patent system directly accomplishes the goal of public dissemination 03:07:48 Berne copyright does not 03:08:35 BURN COPYRIGHT YARGH oh wait you mean the Berne convention ... 03:09:42 whereas first-to-patent laws discourage information hoarding, copyright and first-to-invent systems do not 03:10:36 Really, the US has a most-$$$ system. 03:10:56 It doesn't matter if you invented it first if IBM invented it second. 03:10:57 In the modern day and age, limitation of the trading of information encourages information hoarding. 03:11:05 (Unless you're Microsoft) 03:11:58 actually, Gregor, that's only true in one direction 03:12:07 it's true that if IBM has the patent, you're screwed either way 03:12:36 but if you have the patent, and IBM violated it, you have a shot at some serious dough 03:12:42 This is true. 03:12:50 If you have the patent, then IBM will sue you for some patent that they *do* have, and offer to settle out of court. 03:12:57 With a reciprocal license. 03:13:01 possibly 03:13:04 Also true :P 03:13:22 This is the modus operandi of most all large corporations. 03:13:28 * Sgeo__ blehs at the Worlds.com 03:13:29 but in that case you can fight if they don't have a valid claim against you 03:13:41 Except that they almost certainly do. 03:13:43 sure 03:13:48 Because everything is patented :P 03:13:50 but what if you have no product? 03:13:50 You almost can't breath without violating a patent. 03:13:58 Business methods. 03:14:00 or if their patent is invalid? 03:14:02 Bilski 03:14:12 newfeatures? Worlds? lolWHAT? 03:14:18 Their patent being invalid again comes down to $$$. 03:14:28 You can patent adding 1 and 1 if you have enough dollar signs. 03:14:35 that's not it though 03:14:36 If you have absolutely no product, then you're not having the cash to sue, unless you're a patent troll. 03:14:50 pikhq: or you may be a startup without a product yet 03:14:53 In which case, the company in question has already paid your protection money. 03:15:02 coppro: In which case, you don't have the cash to sue. 03:15:06 And you're fucked. 03:15:14 Gregor: that's not the issue 03:15:25 the issue is that if you're sued for an invalid patent, you're screwed either way 03:15:39 but if you've got a suit of your own and you win both, you can cover your costs with the spoils 03:15:59 Yes, but you won't survive to the end of the suit. 03:16:19 (you got 10 years worrth of lawyer fees sitting around to shovel into something?) 03:19:23 LOL, this build of WorldsPlayer is 6 years old 03:19:39 Build date 11/12/04 03:19:53 The US' legal system is pretty much designed so that whoever has the most $ wins. 03:20:09 Our political system has approached that point, as well. 03:20:11 yeah 03:20:28 Oh, and corporations can fund the politics. 03:20:48 IP law is shaping up to be a real test of the government's willingness to listen to the people vs. the money 03:20:53 God bless America 03:20:54 especially copyright 03:21:24 So far, the people are losing. 03:21:38 looks like it 03:21:57 Though they have the advantage that IP law is about as enforcable as making breathing illegal. 03:22:08 but treaties are, fortunately, not enforceable until ratified 03:22:37 so ACTA/EUFTA(?) will need to make it past Parliament first 03:23:06 <3 Michael Geist 03:23:06 It's US copyright law that gets spread to other countries via treaty, y'know. :P 03:23:19 pikhq: not just that; the EU are trying to do it too now 03:24:06 ah, it's called CETA 03:24:07 http://www.michaelgeist.ca/content/view/4704/125/ 03:28:06 -!- dbc has quit (Read error: 110 (Connection timed out)). 03:59:33 -!- dbc has joined. 04:00:58 madbrain, GreaseMonkey: http://filebin.ca/mnotrf/zee1acc.ogg 04:01:37 http://cb.vu/ 04:02:11 Kinda changes the mood, but god that accordion is awesomesauce. 04:02:36 what's that 04:02:53 Music, of the Gregor kind. 04:02:56 Ostensibly it's semi-retro-video-gameish-music 04:03:04 Of the Gregor kind. 04:03:05 Wow, cb.vu looks like a Unix shell. 04:03:16 As per the norm for Gregor music, it is enjoyable. 04:03:36 Y'know what really looks like a Unix shell? http://codu.org/jsmips/system.html 04:03:49 Gregor: I'd sure hope so. ;) 04:03:56 personally i don't find it your best work, but very good work, obviously 04:04:14 It's not supposed to be my best work, it's my first attempt at writing something fairly out of my style. 04:04:20 right 04:04:26 I didn't manage to get that far out of my style though, making it a weird hybrid :P 04:04:28 What does this uname line tell you: FreeBSD cb.vu 7.1-STABLE FreeBSD 7.1-STABLE #2: Wed Jan 30 16:21:05 CET 2009 c@cb.vu:/usr/obj/usr/src/sys/CB i386 04:04:34 maybe you try a bit too hard to keep it consistent 04:04:50 I find it amusing that the thing making jsmips slow is the remote filesystem. 04:04:53 i386. I guess that means x86. 04:04:54 (lagtastic!) 04:04:58 (or not) 04:05:09 oklopol: How so? 04:05:34 well there isn't a clear change of mood anywhere, is there 04:05:52 No, no there is not. This is a good point. 04:05:58 oklopol: How much video game music does? 04:06:01 I mean, it's supposed to be background music. 04:06:06 ... Pre-Playstation, I should say. 04:06:13 pikhq: i've mostly heard FF music... 04:06:31 maybe i'm slightly biased 04:06:48 oklopol: Nobuo Uematsu didn't really start doing mood changes at all until SNES or Playstation era. 04:07:14 That's a technological limitation though. 04:07:23 Hard to coordinate music to onscreen events without any sort of video. 04:07:30 ...and the only FF musics i remember are from 9 and 7 04:07:43 Heh 04:07:59 Gregor: Harder still when the games didn't have much in the way of *plot*. :P 04:08:24 There's this witch. Uh, could you kill her for us? kthx 04:08:54 The plot for Final Fantasy was more like "Uh, there's a big bad. Could you guys defeat him? Kthx." 04:09:23 (and yet, still had some good music. "Final Fantasy" is a much nicer piece than it has any right to be...) 04:10:43 japanese ff3 has some nice songs 04:11:10 The same is true of all mainline Final Fantasy games. 04:11:19 Nobuo Uematsu takes video game music seriously, and it shows. 04:11:25 ok, better than the other nes games 04:11:37 pikhq: it's his job 04:12:09 madbrain: Then why does so much of the rest of video game music suck? 04:12:13 madbrain: It's their job too. 04:12:38 not enough time/too small budget/etc 04:12:53 also they don't care 04:13:31 ... Nobuo Uematsu, when he started, was hired part time out of the music rental store he worked at. 04:13:41 I'd call that "small budget". 04:13:47 yeah, he was at the right place at the right moment 04:13:57 It's kinda stunning that Square got even decent music out of that deal. 04:14:07 Much less "rather good". 04:14:16 also, talent, better tools... 04:14:34 a lot of early music (8bit era) was made in, like, assembler 04:14:40 Gregor: okay on a third listening, i don't think there's anything wrong with the mood 04:14:47 or -lessness 04:14:47 lol 04:15:28 madbrain: True. 04:15:33 like, if the square guys made him a program, and didn't force him to squeeze into, say, 32k to squeeze in more gfx, that probably helped 04:15:59 madbrain: They just told him what the NES could and couldn't do and let him have at it. 04:16:29 well, what I'd like to see is the tool the had to sequence the music 04:17:00 * pikhq is curious as well. 04:17:20 like, every so often they have .nsf compos 04:17:31 Gregor: maybe the feel of a sort of stability was just because the theme sort of stays the same throughout the whole song, which obviously was done on purpose, it just makes some of the "returning to the theme before next interesting part" feel pointless (maybe) 04:17:47 also maybe i should criticize less, it really was pretty good :P 04:18:08 I have no use for noncritical statements. 04:18:17 true. 04:18:21 well, looking at how people do songs for .nsf competitions these days 04:18:31 americans use trackers, japanese use MML 04:18:54 americans win the original song competition, japanese win the cover competition 04:19:03 * oklopol considers doing eso-related stuff 04:19:45 although it's hardly a NES compo anymore with all the extension chips people use 04:20:33 Why am I not eating yet? 04:20:58 wish i had food 04:21:11 also, final fantasy music was custom made for the console limits instead of some midi conversion 04:21:12 * Gregor wishes oklopol had food. 04:21:15 OK, now what? 04:21:55 hmm 04:21:59 send me munnay 04:21:59 madbrain: Helps a lot, that. 04:22:37 and he might have been more involved in the making of the game 04:22:42 It really helps a lot that Square actually had someone just write music that could fit on the NES, rather than "write something that counts as music". 04:22:59 instead of "here's 4000$, make us 20 songs" 04:23:16 "So one night when we were talking, she was asking if I would be interested in taking part in creating some music for some of the titles they were working on at that time. So I said, "Okay, for sure I'll do it." But that was totally a side job, and I wasn't considering that this would become any sort of full-time gig." -- Nobuo Uematsu 04:23:25 From http://www.1up.com/do/feature?pager.offset=1&cId=3166165 04:24:01 well, that's because in the 80s making music probably wasn't a full-time gig ever 04:24:28 that's more of a 16-bit era thing 04:25:13 -!- MizardX has quit (Connection timed out). 04:25:38 but yeah, these days games are more like made by the graphics guys 04:26:36 and they're not in a final fantasy 4 situation where the music has to be good because otherwise the games looks like total ass (just look at ff4's gfx) 04:28:10 FF4 didn't look like ass. *FF7* looked like ass. 04:28:49 ff7 looked good in 1997 :D 04:29:01 ... Not really. 04:29:09 and it's more like ff7 characters look like ass, the backdrops are nice afaik 04:29:25 The backdrops do look nice, yes. 04:29:36 Of course, those were *paintings*. ;) 04:30:00 the battle system models were less butty 04:30:18 "butty" :P 04:30:25 -!- oerjan has quit ("Lost terminal"). 04:30:36 probably because they didn't have to make the battle run at 30fps :D 04:30:36 It was pretty much the only entry in the series that looked *worse* than contemporary games... 04:30:55 yeah but the soundtrack is great 04:30:59 even though it's midi 04:31:11 The soundtrack is amazing, yes. 04:31:28 * pikhq puts on One Winged Angel. Whooo. 04:31:55 madbrain: Best heard performed by an orchestra. 04:31:56 it's sample set is less cheesey than most GM kits 04:33:03 that's the one where they recorded a choir no? :D 04:33:22 Like many before me, I feel like actually implementing Unix in JavaScript. 04:33:55 uorygl: http://codu.org/projects/jsmips/ 04:34:01 Help me with that instead :P 04:34:23 a lot of other psx soundtracks were made on synthesizers of the day 04:34:43 Gregor: how does that work? 04:34:43 madbrain: Yes, One Winged Angel has a choir. 04:34:50 roland/yamaha/korg romplers 04:35:01 "Veni veni venias, ne me mori facias." 04:35:04 uorygl: It's a MIPS simulator. In JavaScript. With an /actual/ Unix shell and vim compiled for it. 04:35:28 From the maker of Hackiki :P 04:35:49 It's considered the Sephiroth theme for some reason. 04:35:51 Why would you implement MIPS in JavaScript rather than just implementing Unix in JavaScript? 04:36:10 (the theme is actually, of course, Those Chosen by the Planet) 04:36:20 uorygl: Because ultimately you're going to end up having no compatibility with real apps unless you can run C programs. 04:36:31 Well, you can compile C into JavaScript! 04:36:41 Gregor: I'm curious: have you looked at Coffeescript at all? 04:36:56 Not really, C assumes you have addressable memory, and so you'd effectively be simulating a system anyway. 04:36:59 pikhq: Nope. 04:37:25 Wow, it sounds like C sucks. 04:37:27 there's a couple of holes in this C addressable memory thing, no? 04:37:45 Gregor: It's a language that maps rather closely to Javascript... 04:37:54 pikhq: I can see that. 04:37:56 Gregor: Rather nice. Much nicer syntax & scoping. 04:37:57 pikhq: syntically 04:38:04 pikhq: But I like JavaScript :P 04:38:08 madbrain: Maps closely semantically. 04:38:08 synatactically... whatever 04:38:11 yes 04:38:29 in working I'd think JS is a lot more like Lua and that kind of stuff 04:38:43 C is more like... asm? 04:38:48 Hmm. The root of "syntax" isn't "syntact", is it? 04:39:03 Gregor: And Coffeescript is fairly close to Javascript. 04:39:37 Gregor: Just, \x->x looks like (x => x) rather than (function (x) {return x}) 04:39:38 :P 04:39:53 I guess "syntax" is a truncation of "syntaxis". 04:40:25 but yeah, when you compose specifically for a platform, you can do amazing stuff 04:40:45 too bad that almost never happened on the PC 04:41:24 And then, starting with FFX, Nobuo Uematsu had it easy. 04:41:38 Sorry, this game only works with the Sound Blaster Pro 04:41:51 Dunno, after FF9 the soundtracks become less memorable 04:41:51 "Okay, here's your choir and orchestra. Come back with some CDs." 04:42:08 well, scoring for orchestra is an art too 04:42:28 ... *To Zanarkand* is not memorable? 04:42:32 madbrain: I don't think anyone would dispute that fact :P 04:42:36 haven't heard it actually 04:42:38 What sort of heartless bastard are you? :P 04:42:45 pikhq: ok FFXII 04:42:47 Did you *play* FFX? 04:42:49 no 04:42:50 :D 04:42:56 FFXII wasn't Nobuo Uematsu. 04:42:58 So that's why it's not memorable then :P 04:43:02 Yes. 04:43:04 :D 04:43:06 yeah 04:43:11 madbrain: Play FFX. 04:43:17 It's the best game in the series. 04:43:34 Only one I've replayed. 04:43:35 Whoah, that's a strong statement. 04:43:48 Also, wtf, FFXII wasn't scored by Uematsu? D-8 04:44:01 I'm a huge fan of composing for the hardware instead of just making mp3s 04:44:06 Gregor: Nope. FFX wasn't soley scored by him, either. 04:44:08 but I'm a nerd :D 04:44:24 yeah something that large is probably more than one guy no? 04:44:29 I'm a huge fan of composing for the hardware, where "the hardware" = "a piano" 04:44:39 madbrain: First time he didn't compose the entire game. 04:45:07 He did compose all of FFXI. And is composing all of FFXIV. 04:45:26 Who cares about FFXI :P 04:45:34 He's not actually the best but he's way good enough 04:45:35 What about X-2? 04:45:49 Gregor: Not him. 04:45:55 the guy who did chrono trigger is actually better 04:46:33 madbrain: ... Mitsuda and Uematsu? 04:46:43 mitsuda something yeah 04:47:40 Gregor: People who like MMOs. 04:47:43 Okay, in C, when do you actually use addressable memory? 04:47:48 Pointers. Arrays. Anything else? 04:47:56 uorygl: ... but pointers and arrays are /everywhere/. 04:48:06 uorygl: Everything in C is addressable. 04:48:12 well, no but yeah the sort of pointer/array merge it has is everywhere 04:48:14 uorygl: The only way to get memory dynamically is to get an address to something. 04:48:16 (well, almost everything. All lvalues are.) 04:48:33 and you have the problem that you can mess up all the dependencies with pointers 04:49:01 You can mess up pretty much anything with pointers if you please. 04:49:01 int p; p = 2+5; wacky_function(&p); 04:49:14 You can rewrite functions with pointers. 04:49:19 (not in a portable manner) 04:49:33 yeah that's inherently platform specific 04:49:39 Well, let's say that we figure out how to implement pointers and arrays. 04:49:56 uorygl: Then you're simulating virtual memory. 04:50:07 Haskell has pointers and arrays. 04:50:11 uorygl: And all of your operations have to support the fact that values may change from under them, so they're all simulated too. 04:50:14 madbrain: what is &? 04:50:20 I think you have to figure out if variables are only local or if they get turned into pointers/references 04:50:24 The address-of operator. 04:50:25 Oh, uorygl doesn't speak C, that explains it :P 04:50:32 uorygl: get memory address operator 04:50:34 That does explain it! 04:50:38 uorygl: In C, everything is addressable. 04:50:54 Except for return values, and... 04:51:16 A handful of other niche things. 04:51:27 once stuff is pointerizable, then you can contaminate stuff in your program with it and mess up everything 04:51:43 pikhq: Also variables labeled "register" :P 04:51:51 uorygl: And "pointers and arrays"? 04:51:56 uorygl: Surely you just mean pointers. 04:52:04 Gregor: Right, right. 04:52:29 might be doable anyways 04:52:56 although you'll probably need to simulate integer wraparound :( 04:53:00 madbrain: Oh, you can do it. You just have a memory array. 04:53:09 No, you don't need to simulate integer wraparound. 04:53:14 Going beyond the bounds is UB. 04:53:21 We can say that pointers are opaque until you try to do something non-opaque with them. 04:53:34 pikhq: ok, for char and short 04:53:41 and... was it long? 04:53:56 And when you do something non-opaque with them, they turn into dictionary keys. 04:53:59 it's probably messed up depending on compilers anyways 04:54:04 Erm. Sorry, that's *signed* integer wraparound that's undefined. 04:54:10 Unsigned is obvious. 04:54:20 uorygl: Nope, won't work. 04:54:23 No? 04:54:32 uorygl: Something "non-opaque", like a[1]. 04:54:43 uorygl: programs do nasty stuff with pointers 04:54:49 uorygl: Or a ^= b; 04:55:16 uorygl: Or a++; 04:55:37 javascript is designed for people doing programs directly in it, not handling butty C syntax trying to save 3 cycles on a VAX 04:55:51 Pointer + integer is opaque enough. 04:55:56 uorygl: Or (and this is really nasty:) int a = 0;a = &(1[(char*)a]); 04:56:23 pikhq: yeah you're going to have to intercept that kind of cast 04:56:29 Hmm. 04:57:04 madbrain: Yeah, very much undefined behavior. 04:57:12 Make it intptr_t, and you're just fine. 04:57:24 (sizeof(intptr_t) = sizeof(void*)) 04:58:01 uorygl: I suppose you're not familiar with the xor-linked list? 04:58:11 That sounds really painful. 04:58:17 pikhq: oh god that sounds totally horrible 04:58:26 It's a doubly linked list with a single pointer per node. 04:58:42 Ah, yes. 04:58:54 nice way to save 4 bytes at the cost of sanity? 04:58:55 Each node has the previous node xor the next node stored in it. 04:59:00 You XOR that pointer with the pointer you came from and get the pointer you go to. 04:59:19 Well, how's this. 04:59:41 that means you have to use 2 pointers to get inside the list but it's easy to reverse reading order?& 05:00:30 yeah that's like, impossible to garbage collect 05:00:37 Is madbrain addicted yet? 05:00:44 madbrain: You can also make it defined behavior by doing s/xor/addition/ 05:00:51 (since pointer addition is defined) 05:01:08 That is indeed impossible to garbage collect, in the absence of compiler intelligence. 05:01:26 "compiler intelligence" like "halting problem". 05:01:26 [garbage-collector intelligence] 05:02:08 The Boehm GC answer to that is "if you do that, we *will* free the memory out from underneath you. So don't do that." 05:03:05 sgeo: to what? 05:03:47 BGC = awesome 05:03:48 RoboZZle 05:03:51 AFK 05:04:36 Gregor: Why yes, yes it does. 05:04:43 Favorite C library. 05:04:46 It does ... awesome? 05:05:00 Oh, it does equals 05:05:10 I always read "foo = bar" in normal conversation as "foo is bar" :P 05:05:19 Heheh. 05:06:45 -!- coppro has quit (Remote closed the connection). 05:06:45 i read it as foo = bar 05:07:33 i usually don't read irc out loud, because i'm not a crazy person 05:07:36 -!- coppro has joined. 05:14:57 -!- uoryfon has joined. 05:15:20 Feckless, my Internet connection lapsed. 05:15:40 So, I saw none of what anyone said. 05:16:01 Anyway, my scheme: 05:17:22 Whenever the program wants to dereference something, take a hash and store it in the dictionary. To dereference, look for nearby keys in the dictionary and subtract to find an offset. 05:19:08 why not just simulate memory with a huge array 05:19:36 That sounds less efficient. Maybe it actually isn't. 05:20:06 What I did was use 4K arrays nested in a hash. 05:20:14 So a page is an array. 05:20:47 What if you have a really big array in your C program? 05:21:30 What if you have a really big array in your C program? 05:21:39 What if you have a really big array in your C program? 05:21:41 Why would that be an issue? 05:22:09 Well, it could exceed the page size. 05:22:57 A page's hash plus 4096 is not the next page's hash. 05:23:06 Why would that be an issue? 05:24:21 Because a program might use pointer arithmetic and get the wrong thing? 05:25:00 How could it possibly get the wrong thing? It's ultimately going to look up the location by its absolute address, not by looking up the base address of the array and assuming the rest is there. 05:26:01 Isn't that how C works, though? 05:26:28 By taking the base address of the array and assuming everything else is there? 05:26:29 C adds to a pointer, and then looks up the resulting pointer. 05:26:43 uorygl: ... Welcome to paging. 05:27:19 store each pointer as a 2-byte hash of the object's address and a 2-byte offset 05:27:20 (fun fact: memory is not actually contiguous, it just pretends to be!) 05:27:33 and just complain if you try to allocate more than 65535 elements in a single array 05:28:01 Store each pointer as an index into an array. And implement that array as 4K arrays in a hash. 05:28:33 Making the only annoying things to implement be malloc and free. 05:28:47 I guess that sounds like it works. 05:28:55 or just use llvm? 05:29:00 (though, this being MIPS emulated, that's on the C side) 05:29:02 * coppro ducks 05:29:56 Y'know what's sad? I've had zee1 on loop for like an hour now :P 05:30:15 But gosh, C still sucks. It's not even approximately Turing-complete without this barely-well-defined artifact of von Neumann? 05:30:40 C is a language designed for computers, yes. 05:31:08 Gregor: here, stick this on loop: http://pubacc.wilcox-tech.com/~greaser/mods/kattywampus.it 05:31:10 :P 05:31:18 well, C would need infinite size plointers 05:31:23 pointers 05:31:25 That's ... a dot-it file? 05:31:25 I think Gregor has the right idea 05:31:25 C is not Turing complete without stdio. 05:31:33 Gregor: what players do you have? 05:31:34 sure it is 05:31:45 GreaseMonkey: mplayer, vlc, anything else in Debian sid. 05:31:46 it shouold work OK in mikmody and modplugy stuff 05:31:56 why would you need stdio for C to be Turing-complete? 05:32:05 coppro: ... Finite memory? 05:32:05 Is dot-it some kind of new-age .mod? 05:32:12 yeah... 1996-era 05:32:16 Yeah, I suppose realistic computers are probably going to have addressable memory. 05:32:19 pikhq: eh, same goes for every other computer language 05:32:21 pikhq: size_t is still finite 05:32:29 check if you've got mikmod, it doesn't interpolate (read: butcher) like vlc (modplug) does 05:32:34 bsmntbombdood: And stdio doesn't require size_t. 05:32:36 unless you explicitly enable it 05:32:45 $ aptitude install mikmod 05:32:48 You can just *happen* to have an infinite tape as a file. :P 05:33:01 coppro: C *requires* it. 05:33:02 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 05:33:03 oh? 05:33:07 pikhq: C + Unix + stdio + my infinite tape device :P 05:33:18 bsmntbombdood: So you can only read a finite amount at a time. 05:33:21 pikhq: except many file systems have limited file size to stuff like 4gb :D 05:33:21 pikhq: so any implementation of C is not Turing-complete 05:33:22 seek w/ SEEK_CUR only 05:33:23 The same is true of a Turing machine. 05:33:34 mikmod is a bit lacking in IT support sadly, but it should play that fine 05:33:34 coppro: C itself is not Turing-complete. At all. 05:33:35 pikhq: combine that to finite size file names 05:33:46 pikhq: the standard imposes no limits on the size of memory 05:33:46 long ftell(FILE *stream); 05:33:48 madbrain: Single file that's a tape? 05:33:53 coppro: Yes it does. 05:33:57 there are no sustain loops 05:33:58 coppro: Everything must be addressable. 05:34:10 pikhq: uh, you forgot about I/O 05:34:12 pikhq: if you run out of addresses, get an implementation with widen pointers 05:34:14 coppro: And pointers must have a size that's a multiple of the size of char. 05:34:19 coppro: And the size of a char must be finite. 05:34:31 *wider 05:34:33 coppro: Pointers have to have a constant size. 05:34:42 technically the x86 is turing-complete as it has I/O available in some way 05:34:43 And finite. 05:34:47 coppro: you can output the size of a pointer, clearly after something like that there must be some set size limit for pointers 05:34:55 GreaseMonkey: ... stdio is IO. 05:34:55 which you could theoretically hook up to a tape drive 05:34:58 pikhq: that's why I said that any implementation of C is not turing-complete 05:34:59 GreaseMonkey: How does one convince mikmod to output to ALSA instead of ... a file. 05:35:11 coppro: Pointers are *specified* to be finite. 05:35:22 C kinda almost designed for programs where everything is fixed size 05:35:29 kinda like old DOS programs 05:35:30 technically you could make an implementation that makes pointers bigger if needed ofc, but i doubt that's allowed to be visible to the user 05:35:34 Not merely "must be in practice", *MUST BE BY DEFINITION*. 05:35:40 oklopol: No. 05:35:42 Gregor: i honestly can't remember if mikmod has an alsa driver... esd should have an alsa version, and mikmod should have an esd driver 05:35:48 oklopol: sizeof(void*) is constant. 05:36:11 aoss + -d oss 05:36:21 As an optimisation, you could store them in less than sizeof(void*) units of char, so long as it was transparent. 05:36:28 hmmkay 05:36:30 afk, food 05:36:34 Of course, since char is finite, that doesn't get you anywhere. 05:36:56 but yeah that sort of platform is based on the irl fact that for infinite tape, 4gigabytes is "infinite enough" :D 05:37:34 pikhq: a Universal Turing machine either requires a finite amount of memory for a computation, or doesn't halt 05:37:48 and C can meet that standard 05:37:50 coppro: Sorry, I should say: 05:37:57 coppro: C requires finite *and bound* memory. 05:38:11 only any given implementation of C does 05:38:13 coppro: A finite but unpredictable amount of memory. 05:38:18 You have to specify the amount of memory before running the program. 05:38:28 coppro: No, there's always a bound. 05:38:28 what if the amount of memory is input dependent? :D 05:38:32 yes, so any implementation of C is not Turing-complete 05:38:48 ... And so C is not Turing-complete. 05:38:56 A Turing machine can't simply say how much memory it needs. 05:38:58 Good lawd, how are we somehow on this again X_X 05:39:21 coppro: Translate the following to C: [>] 05:39:26 Go on, I'm waiting. 05:39:35 Erm. 05:39:37 +[>] 05:39:43 pikhq: abort() 05:39:48 coppro, why do you think it is merely any implementation of C, rather than C itself, that is not Turing-complete? 05:39:53 coppro: Not a valid translation. 05:39:53 well, iirc interpreters for other turing complete languages will probably have a 4gb bound too :D 05:39:56 abort() halts. 05:40:01 fine 05:40:01 +[>] does not. 05:40:02 while() 05:40:06 ; 05:40:23 it's dumb distinction anyway 05:40:23 Not a valid translation. +[>] uses infinite memory. while(); does not even compile. 05:40:46 uoryfon: Because for any Turing machine, you can generate an implementation of C to simulate it 05:40:51 madbrain: Yes, but they're not required to be bound by definition. 05:40:53 more like while(1){ malloc(1);} 05:40:58 coppro: No you can't. 05:41:05 why not 05:41:08 +[[>+<-]>+] 05:41:21 for any halting one, yes 05:41:26 I hate this argument. 05:41:29 madbrain: More like void*p; while(*p++); 05:41:30 yes 05:41:31 How many times must this channel have this argument? 05:41:44 any nonhalting Turing machine can be simulated by having the C program not halt 05:41:47 Gregor: this is the fourth time i've seen i think, must be one hundredth for you? 05:41:58 I bought a USB infinite tape JUST so I'd never have to have this argument again. 05:42:02 i mean you've been here since the middle ages 05:42:02 It's at /dev/infinite_tape 05:42:07 lol 05:42:21 cpressey, who has recently reappeared, has been here far longer than me. 05:42:27 calamari has been here for a bit longer than me. 05:42:31 coppro: would you say that every Turing machine can be simulated by an FSM? 05:42:32 madbrain: That may halt in a compliant C implementation. 05:42:35 clog has been here longer than me. 05:43:33 You can't just make something dependent on whether the machine halts or not; that would be solving the halting problem. 05:43:38 let's make a nice esoteric language 05:43:39 Gregor: i didn't say you were the first one here 05:43:50 True :P 05:44:02 uoryfon: yes; not by the same one, though 05:44:03 pikhq: no it can't 05:44:07 uoryfon: of course you can, when talking about the existance of things 05:44:43 ok how about a problem like this: to design something like a super massively parallel cpu, you'd need something that doesn't have a gazillion data dependencies 05:44:51 bsmntbombdood: What does pointer wraparound do? 05:44:52 coppro: so FSMs are Turing-complete? 05:44:52 Chris is back? cool 05:44:56 which is an unfortunate property of RAM 05:45:11 oh, it's probably undefined 05:45:15 RAM is, like, the least parallel thing ever 05:45:18 uoryfon: I'd say that all FSMs are Turing complete. You cannot construct a single Turing-complete FSM 05:45:21 so i guess it could halt 05:45:28 coppro: I think you need to rethink your definition of Turing-completeness. 05:45:35 calamari: He was here a couple days ago, and a day or so before that. 05:45:38 or I'm just doing this to annoy you 05:45:41 FSM have finite storage space 05:45:49 yes... 05:45:51 -!- GreaseMonkey has quit (Read error: 104 (Connection reset by peer)). 05:45:54 coppro: and once you have a definition of turing-completeness, do share it 05:45:57 and not infinite like you'd need 05:46:02 coppro: And are therefore not Turing-complete. 05:46:02 we don't have one yet 05:46:10 Well, then, you can't construct a single Turing-complete C program. 05:46:25 [22:45:13]or I'm just doing this to annoy you 05:46:34 lament still comes around, doesn't 'e? 05:46:38 uoryfon: well, you'd need an implementation of C where pointers are not fixed size 05:46:51 madbrain: such is forbidden by the standard 05:46:53 madbrain: Which is impossible. 05:47:02 which would be sorta neat but would not have any practical use and probably violate the standard yes 05:47:10 Gregor: he seems to come everytime he's reminded of the channel at least 05:47:16 Heh 05:47:29 oklopol: which is why I added this channel to my autojoin list ;) 05:47:30 a few times he's seen me on another chan and instantly joined here :P 05:47:34 He's the first recognized name in the log (on the first day of the log) 05:47:43 yeah 05:47:58 i've read the genesis 05:48:12 were any of you guys on the mailing list? 05:48:22 -!- GreaseMonkey has joined. 05:48:25 I'm a relative n00b, myself. 05:48:25 i'm just here 05:48:27 [18:47:08] back 05:48:27 [18:47:27] ...cpressey appeared again? 05:48:32 how do you make a practical super-parallel processor? 05:48:33 I barely remember that there was a mailing list. 05:48:36 i got routerscrewed 05:48:49 GreaseMonkey: See recent log :P 05:49:02 -!- uoryfon_ has joined. 05:49:03 madbrain: message passing 05:49:14 coppro: that sounds like a bitch to code for 05:49:16 http://tunes.org/~nef/logs/esoteric/04.01.01 That's an impressive genesis. :P 05:49:34 madbrain: go learn erlang 05:49:41 * pikhq greps for conversation 05:49:55 basically it's manual parallelization 05:50:01 I'm thankfully not the most senior member of this channel, but I believe I am the most simultaneous people/bots on this channel :P 05:50:19 Gregor: Quite likely. 05:50:29 it's hardly manual parallellization. It's manual communication between independent, parallel parts 05:51:13 sounds like it'd be sensible to timing differences 05:51:35 -!- uoryfon_ has quit (Client Quit). 05:51:45 fortunately, asiekierka appears to be older than clog. 05:51:56 ...i think 05:52:20 ARGH THE TIGHT [inter]NET OF FOLKS I KNOW 05:53:22 This channel has a decent attrition/repopulation rate. 05:53:39 I never come back after ignoring it for a few months and find nobody I recognize, but I usually find somebody new. 05:53:47 i remet someone i knew over some now pretty much dead forums via youtube, we could have also potentially clashed over minecraft or through a sonic hacking group -> monsquaz (don't ask what this is) -> mod shrine 05:54:07 so before we remet he was already a friend-of-a-friend somewhere 05:54:11 coppro: the idea is, if you can eliminate the global dependency caused by stuff like RAM or side effects, you can basically parallelize everything automatically 05:54:20 GreaseMonkey: What's monsquaz? 05:54:24 :P 05:54:52 even execution order stuff can be parallelized by stuff like functionnal programming 05:54:53 Gregor: you don't want to know... it's some sonic-hacking injoke group i suppose 05:55:06 also an animation 05:55:09 Gregor: You never recognize me? 05:55:13 :P 05:55:32 pikhq: I NEVER come back ... and find NOBODY I recognize. 05:55:33 the latter is disturbing, the former is pretty much a cyberbullying ring and that's why i left 05:55:41 Oh. 05:55:47 Parsing English is *hard*. 05:55:59 don't worry, us foreigners got it right 05:56:03 pikhq: yeah, i tried it once in python 05:56:22 man kattywampus.it is great even if i do say so myself 05:56:23 except i have no idea what GreaseMonkey and madbrain are 05:56:37 oklopol: i've been here before, like, a few years ago 05:57:00 I recall GreaseMonkey being around when I first entered. 05:57:02 and madbrain... first sighted in digitalmzx/#mzx, second in #mod_shrine, third here. 05:57:05 lol, obviously i remember you 05:57:08 madbrain I think just showed up one day. 05:57:10 i mean i don't know where you live 05:57:36 asie i sighted on dmzx and met here, i think 05:58:12 i recognise maybe 30% of the people here 05:58:14 yeah 05:58:33 pikhq: basically I found the channel from the esolang wiki I think 05:58:50 yeah, roughly 05:58:50 madbrain: Same here. 05:59:03 I found it from a whois 05:59:06 i think i found it via the wiki, too 05:59:06 I was approximately a few feet from here, physically. 05:59:46 O_O 05:59:52 People found the channel from the esolang wiki. 05:59:53 Whoah. 06:00:09 the wiki is nice 06:00:10 * Gregor was here when the esolang wiki started, and that should not make me feel like I've been here a long time :P 06:00:13 Gregor: The wiki is actually quite handy. 06:00:28 yeah 06:00:29 i recognize 32/40 06:00:33 Especially that Brainfuck algorithms page. 06:00:51 suppose I want to launch an esoteric language, make a page on the wiki, kdone 06:00:53 Nono, don't get me wrong, the esolang wiki is awesome, it's just for some reason I didn't ever think of the this-channel-to-esolang-wiki link as bidirectional. 06:01:06 Gregor: Hahah. 06:01:15 i'm the guy who did RETURN, btw 06:01:54 unfortunately i've just realised a bit of undefined behaviour 06:04:44 madbrain: learn from me: if it's not PD people will sometimes scream at you 06:04:52 the spec must be PD 06:05:08 your interpreter, on the other hand... if you want it archived then PD should be fine 06:05:29 if it's really proprietary people will probably bin the link 06:05:50 I don't actually care about licenses 06:05:52 PD is overboard, but it ought to be under a liberal F/OSS license. 06:07:57 the spec needs to be PD if you want it on the esolang wiki 06:08:11 It should at a bare minimum not make Stallman cry. 06:08:21 interpreter, on the other hand, should ideally be FOSS. 06:08:49 Why would anyone make a non-PD esolang spec? 06:08:57 like I said, I don't actually care about license 06:09:08 Is someone actually interested in making money off an esolang/ 06:09:09 ? 06:09:10 Sgeo__: if you're like me, you're probably not thinking straight 06:09:37 I never thought for an instant that I'd make money off PSOX 06:09:40 or you don't like letting go of stuff fully 06:09:55 sgeo: the only thing that sounds kinda like that is the forth dude 06:09:56 i often used a "remember to credit me" thing 06:09:58 and even then 06:10:12 madbrain, hm? 06:10:23 Oh, Colorforth? 06:10:33 colorforth didn't make money I think 06:10:57 ... Money? Esolang? 06:10:59 -!- uoryfon has quit (Read error: 110 (Connection timed out)). 06:11:01 but the guy made money earlier, dunno with what 06:11:03 pikhq, exactly 06:11:07 Only the "plain English" guys were that crazy. 06:11:11 yeah it's a hoby 06:11:21 pikhq, "plain English" guys? 06:11:30 https://www.osmosian.com/ 06:11:33 This bit of hilarity. 06:12:55 Where's the compiler? 06:13:03 Oh, you have to email it from them? 06:13:06 erm, wait 06:13:08 that came out wrong 06:13:12 sounds like englishified basic or something 06:13:46 Somewhere in the logs is a link to the compiler... 06:14:24 http://www.osmosian.com/cal-3037.zip 06:14:27 They suck at charging. 06:15:12 whee i think i've solved #195 "another speed control" 06:15:41 What language was the first compiler ever written in? 06:15:46 #195 in what? 06:15:49 Erm, first "Plain English" 06:15:50 Euler? 06:15:55 They claim to have the most advanced compiler tech. 06:16:03 coppro: robozzle 06:16:06 Who cares how fast it is? 06:16:07 oh 06:16:13 What's interesting is the language itself 06:16:17 what does that english compiling shit is 06:16:22 uh 06:16:26 "We are all, by any practical definition of the words, foolproof 06:16:26 and incapable of error. Nevertheless..." 06:16:26 yeah something like that 06:16:32 It sucks. 06:16:39 And they charge for it. 06:16:45 what does it do 06:17:05 set n to 3 plus 8 06:17:10 or what? :D 06:17:17 "If the copy is greater than the number, break." 06:17:22 "Recompiles itself in 3 seconds", they claim. 06:17:40 Just a second while I test PFUCK's self-compile time. 06:18:13 0.121 seconds. 06:18:25 Clearly, I am the most awesome compiler author. 06:18:52 "Now I know that right about here most programming books would drum u 06:18:52 some dippy little "Hello, World" program and expect you to be impressed 06:18:52 but I'd like to suggest that we skip the kid stuff and start makin' babies." 06:19:13 also just did #305 "Follow directions" 06:19:51 ..and it doesn't exactly give syntax info or any code. That is just showing how to put a demo calendar into the IDE and compile 06:20:28 Yup. 06:20:37 It's actually undocumented. 06:20:43 wait, you mean this has no documentation? 06:20:43 Finallly, something interesting 06:20:51 Page 11 of the documentation 06:21:11 And has a rather simple compiler. 06:21:41 With silly, cutesy names for thinks. 06:21:47 'monikette'. 06:22:04 "I don't do nested IFs. Nested ifs are a sure sign of unclear thinking, and 06:22:04 that is something that I will not countenance. If you think this cramps your 06:22:04 style too much, read my code to see how it's done. Then think again." 06:22:28 haha that's horrible 06:22:42 i tend to recurse lots 06:22:45 i wonder how they got such fast compile times 06:22:53 heh 06:22:56 oklopol: By being trivial. 06:23:11 "I don't do nested LOOPS. Nested loops indicate that you have failed to 06:23:11 properly factor your code into manageable chunks, and I don't want you 06:23:11 regretting that later. Time after time my otherwise omniscient creators 06:23:11 thought they could get away with it, and time after time they were wrong" 06:23:18 "I don't do recursion. Recursion is a sure sign of thinking, and that is something i will not countenance." 06:23:35 sgeo: are you making that up 06:23:36 They emply "advanced techniques" like "a hash table" in the compiler. 06:23:42 madbrain: No. 06:23:44 madbrain, I wish 06:24:23 well, does it do recursion? 06:24:47 I don't see anything that says it doesn't *shrug* 06:24:59 more like, will it blow up if I try to use it like it was scheme 06:25:05 i wonder how many fucking times i've written the same function that enumerates every subset of size n... and i never save it anywhere 06:25:23 "Repeat." appears to be a tail call. 06:25:43 pikhq: repeat this function? 06:25:53 "You probably noticed that I mentioned comments on the preceding page, but 06:25:53 didn't say what they look like. I did that on purpose. I don't like comments. " 06:25:54 oklopol: Yes. 06:26:02 hahahaha 06:26:02 #311 "Follow directions II" solved in (5,4,4) instructions 06:26:22 "Most comments are either useless, or worse. Useless, if they merely reiterate 06:26:22 what the code already says. Worse, if they attempt to clarify unclear code 06:26:22 that should have been written more clearly in the first place." 06:26:43 "You will find that my editor displays simple comments in a delightful sky blue 06:26:43 making it easy for you to see what I'm going to ignore. And no, you can't 06:26:43 change the color. My creators have assured me that this is the right color." 06:26:52 "(3) Anything more than this falls under the heading "garbage collection" and, 06:26:52 as every manly programmer knows, garbage collection is for sissies. 06:26:53 " 06:27:07 is that in there? 06:27:11 Yes. 06:27:13 And yes. 06:27:22 hmph 06:27:32 It has manual memory management. 06:27:43 obviously it's our fault for being terrible if we want to use anything neat 06:27:56 that's a bit too direct an admission of not being serious 06:28:05 "manly programmer" 06:28:12 -!- tombom has joined. 06:28:49 is it a subtle joke? 06:28:53 So much of the language screams "No, I don't know how to do this right, and I don't care." 06:29:03 madbrain: ... They charge for this shit. 06:29:12 YOU CAN PAY MONEY FOR THAT ZIP FILE. 06:29:22 (they then email the link to you. :P) 06:29:29 "The third kind of comment that I understand is the qualifier." ... "Note that qualifiers are not like simple comments and remarks. Qualifiers are 06:29:30 considered part of the program and affect how the compiled code executes." 06:29:36 like, even C is higher level than this :( 06:30:02 * Sgeo__ vaguely realizes that Python also has things like comments that can effect execution. But it doesn't call them comment 06:30:04 *comments 06:31:42 madbrain: This is more like a poor assembler. 06:32:01 what sort of data types does it have 06:32:08 let me guess 06:32:15 nothing variable sized of course 06:32:26 madbrain: Well, there's your int, your string, your real, your reference, and you can do structures. 06:32:28 It has strings, I think 06:32:31 the only things a manly programmer needs, ints, bools and strings of sub256 length. 06:32:35 pikhq, I thought it didn't have reals 06:32:40 Erm. 06:32:43 s/real/rational/ 06:32:55 like, floats? 06:32:56 Floats? Bah, humbug! 06:33:24 "I don't do REAL NUMBERS. I do ratios, very elegantly, but I don't do reals. 06:33:24 My page editor reduces and enlarges and sizes shapes proportionately in and 06:33:24 out of groups and it does it all without real numbers. Master Kronecker was 06:33:24 right when he said, in German, "The dear God created the whole numbers; all 06:33:24 else is the work of man." I'm not interested in menschenwerk." 06:33:50 you're telling me this doesn't have floating point 06:34:14 They then give a "ASCII" table. By ASCII, they mean "Code page 1250". 06:34:18 madbrain: Yes. 06:34:23 haha 06:34:31 yeah this is the worst 06:34:42 It doesn't have inline assembler. You can, however, manually assemble something and use that. 06:34:49 (see: the noodle) 06:35:08 intel $8B8508000000. 06:35:11 SO VERY ENGLISH! 06:35:30 -!- Wareya has quit (Read error: 110 (Connection timed out)). 06:35:31 yeah 06:35:50 how do you unzip in python 06:35:56 wasn't Sgeo__ a pythonist at least 06:36:10 not really a question, i know he was 06:36:30 The worst part is, they probably think this is high-level. Should replace them with a small Haskell function. 06:36:35 -!- jpc has quit ("I will do anything (almost) for a new router."). 06:36:52 * Sgeo__ is also someone who needs to go afk occasionally 06:36:55 heh 06:37:04 "Over 100 Pages of Documentation " 06:37:09 over 100! 06:37:15 -!- jpc has joined. 06:37:45 haha the manifesto 06:37:45 oklopol, http://docs.python.org/library/zipfile.html 06:38:04 byzantine "C" language 06:38:18 madbrain: Dear God, I think I've got more than 100 pages of documentation just from the man-pages tarball. :P 06:38:47 Heck, my Emacs manual is nearly 600 pages. 06:38:57 And that's not comprehensive. 06:40:13 "They pray for guidance. Then they consider deleting the offending feature 06:40:14 altogether, to resolve the problem and prevent "feature creep" at the same 06:40:14 time. Next, they study the code, hoping to simply "discern" what the problem 06:40:14 is. If the bug has not been found, they pick an appropriate spot and insert a 06:40:14 buzz. If they hear it on the next run, they pick another spot further down the 06:40:16 line, and try again. If there is no buzz, they repeat the entire process. 06:40:19 " 06:40:21 On debugging. 06:41:21 * Sgeo__ tended to do that with Python 06:41:32 The Visual Studio C# debugger really opened my eyes 06:42:19 I still don't get debugging 06:42:22 In Tcl, I made a breakpoint function that started a REPL and inserted it into relevant places. 06:42:28 disclaimer: I'm not a professionnal coder 06:42:30 In C, <3 GDB. 06:42:37 In Haskell, I think. 06:43:51 "If you are bilingual, you can use our compiler for engineering Plain French or Plain Croatian." 06:43:55 Sgeo__: oh lol i mean unzip after calling zip 06:44:08 How's about Plain C? 06:44:17 well not after it, just the operation of splitting elements of a list into two lists 06:44:30 ...well not exactly that either, maybe i should just give an example 06:44:45 [(1,2),(3,4),(5,6)] => [1,3,5], [2,4,6] 06:44:59 i assume there's something for that because there is in J ;) 06:48:10 oklopol: Dunno about Python, but in Haskell that's "unzip". 06:48:26 oh, i guess that's where i got the name :P 06:48:38 not very consciously tho 06:48:39 Well, except that it's [(1,2),(3,4),(5,6)] => ([1,3,5],[2,4,6]) :P 06:48:55 unzip :: [(a,b)] -> ([a],[b]) 06:48:58 doesn't haskell let you omit ()'s too 06:49:01 -!- puzzlet has joined. 06:49:04 No. 06:49:17 hmm, indeed not 06:49:23 http://docs.python.org/library/functions.html 06:49:27 zip() in conjunction with the * operator can be used to unzip a list: 06:49:31 in any case same types 06:50:11 oh, right 06:50:14 fun hack 06:51:06 but why not have an unzip, me asks 06:52:49 because it's needless? 06:53:09 coppro: By that notion, all of Prelude that is not IO is needless. 06:53:10 :P 06:53:24 (seriously, all the rest is fairly trivial pattern matching) 06:53:36 (... And recursion, obviously) 06:58:08 coppro: because you'll need to write it yourself otherwise. it'll just be trivial to write if it's a special case of zip 06:58:30 but it would be trivial without using zip as well 06:58:50 it's not really 06:59:03 zip is bidrectional 06:59:10 it takes a list (conceptually) and returns a list 07:04:57 -!- FireFly has joined. 07:10:36 where's ais when you need one 07:11:18 He's hiding as.. s something 07:11:49 * Sgeo__ looks over at his own nick, and goes to deny everything 07:13:04 Wait... what was so hard with the Gridlock one? 07:13:10 (on RoboZZle) 07:13:13 what's the gridlock one, link 07:13:18 -!- bsmntbombdood_ has joined. 07:13:24 http://robozzle.com/js/play.aspx?puzzle=882 07:13:44 Bleh at link to JS 07:13:48 Meh 07:15:10 Night all 07:15:15 Morning 07:15:41 probably nothing, i don't even remember solving it 07:16:13 turn 180 at greens, 90 at reds 07:16:27 already forgot what it looked like :D 07:17:22 dude, no, just turn left at reds 07:17:22 okay yeah exactly that 07:17:29 that works too 07:18:17 Can't have the computer beeping at me, so bye 07:18:17 but that's like optimizing how you put your socks on 07:18:20 bye 07:18:35 oklopol, there's indications when you get shortest solution 07:18:38 *known 07:18:58 didn't know, assumed so 07:20:20 -!- Sgeo__ has quit ("Leaving"). 07:23:27 -!- zzo38 has joined. 07:24:33 FireFly: I don't think there was nothing so hard about Gridlock; it's just that I initially did it with 8 commands (I might have had a ↑↑↑-function there, or some such nonsense) and people here complained. 07:24:42 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 07:24:47 Ah, all right 07:25:39 i prefer my solutions long and robust 07:25:47 kinda like my penis 07:27:20 ais523: thought maybe you'd come if i highlighted you. i'm not sure how likely that is. 07:27:32 I'd prefer long solutions too, but they keep being thrifty with those command slots. 07:28:08 yeah 07:28:47 oklopol: Maybe you have to say his name thrice? I think that works for Hastur. 07:29:01 The file zee1.ogg is in fact not bad but why does sox command, when playing back a file in the Windows command-line window, to make a mess when you try to scroll the window while it is playing? 07:30:10 fizzie: No, it says "HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR" or in other words, any number of times, including too much 07:30:22 (I meant the scroll) 07:30:26 ais523: i have more than 7 bits of information of interest to you 07:34:23 I have also done 882 in initially in 8 commands, but now I did it in 5 commands 07:35:51 it takes 3 if you do what GreaseMonkey suggested 07:36:14 green is superfluous 07:40:30 But now I'm trying 883 (it is similar but all blue). I just typed in 883 and see what it did. 07:41:18 The part of the campaign sequence from '"960" on blue' to 'Linked List II' was nice; there was nothing to get stuck on. 07:41:51 fizzie: do you go from hardest to easiest now? 07:42:47 oklopol: I go based on the names mostly. 07:43:01 883 was trivial if you don't mind being inelegant and filling all the command slots. 07:44:31 Seems there are some 11-command solutions submitted too, though. 07:46:05 You people and your trivials. 07:46:28 -!- calamari has quit ("Leaving"). 07:46:59 But it is! The 13-command solution for 883 I have has absolutely no logic in it, just pure "go-there" bruteforcing. 07:47:44 i don't think the 960 is that easy, even though, obviously, the idea is trivial 07:48:03 i just need a few more slots... 07:49:51 -!- FireFly has quit ("Leaving"). 07:51:04 -!- tombom has quit ("Leaving"). 07:51:51 I used all I got there. 07:55:35 okay that was weird, i go almost everything, then suddenly the guy goes crazy and starts circling around in the blue zone :D 07:55:39 *got 07:56:06 very common thing with recursion that, almost getting it right, but having some details wrong... 07:57:39 -!- zzo38 has quit (Remote closed the connection). 07:58:19 okay, wasn't exactly hard, i just still have a hard time making recursion puzzle-concise 07:58:58 -!- jpc has quit ("I will do anything (almost) for a new router."). 07:59:36 -!- jpc has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:08 Linked List II was cute; still can't do 883, though. 08:04:28 Deewiant: You could if you stopped trying to be clever and just programmed in some suitable route taken in 882. 08:04:56 (If you can call that "programming", really.) 08:05:36 gridlock took me about 30 sec 08:05:43 I can think of routes to program, just not how to program them. 08:06:04 that's how good i am 08:06:08 linked list ii looks hard 08:06:10 Ah, here we go. One cell free. 08:07:03 yeah just do what you did in 882 08:07:11 That's what I tried for the better part of 10 minutes. 08:07:16 oh? 08:07:20 then what did you do 08:07:21 Then I did linked list II in about two mintues. 08:07:34 Then I came back and stared at 883 for another minute before figuring it out. 08:08:13 Deewiant: Your brain works in a strange way; linked list 2 took me quite many minutes of bugfixing. 08:09:19 I don't typically need to bugfix on any of these; once I have an idea that fits, it works. The times when stuff doesn't work is when I don't have an idea or when it doesn't fit. 08:09:36 -!- madbrain has quit ("Radiateur"). 08:10:46 Still, I think I'm improving. Most showstoppers for me now tend to be the ones that require "double recursion" or whatever its canonical name is, e.g. 141 08:12:49 -!- adam_d has joined. 08:15:29 Heh, cumulative effect (597) was fun, if only for the twirling-around... and also the first one I did on the phone. 08:18:48 One extra space there. 08:25:41 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 08:29:35 heh, i think the reason i couldn't quite crack linked list ii was i had totally misunderstood how the colors were positioned 08:29:44 i should really look at these puzzles. 08:38:43 -!- Slereah has quit (Read error: 110 (Connection timed out)). 08:53:46 Wow, "Incomplete grid" had a huge number of useless slots; F1 and F2 had 5, and F3 had 10 (!); used 5 of F1, 2 of F2 and 0 of F3. 08:55:46 Or actually only F1; so 15 extra slots and two extra functions. 08:58:34 did you use all slots for linked list? 08:59:30 17, evidently 08:59:37 (For 654) 09:00:07 A lot, but maybe not quite all of them. 09:01:51 i had one empty slot, but it was only after tons of spec optimization 09:01:53 *space 09:02:12 i have a verbose intuition 09:03:27 -!- bsmntbombdood__ has joined. 09:17:42 -!- adam_d has quit (Read error: 110 (Connection timed out)). 09:20:15 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)). 09:33:32 -!- bsmntbombdood_ has joined. 09:33:41 -!- Slereah has joined. 09:49:35 -!- bsmntbombdood__ has quit (Read error: 110 (Connection timed out)). 09:52:43 -!- jpc has quit (Read error: 110 (Connection timed out)). 09:54:57 -!- scarf has joined. 09:56:16 scarf: Were you the same thing as ais523? 09:56:29 fizzie: /ns info me 09:56:34 NickServ knows I'm ais523 09:56:45 Yes, I sort of thought so because of the cloak. 09:56:55 Anyway, oklopol has more than seven bits of information for you. 09:57:05 Unfortunately he did not choose to reveal the contents to us. 09:57:58 Not just any information, in fact; information "of interest". 10:05:49 meanwhile, it seems that 1.0.0.0/8 was allocated 10:06:03 they must be running really low on addresses... 10:16:15 The block to allocate is choosen at random. 10:16:23 (among free /8s). 10:17:36 the allocation of any /8 is worrying, thouhg 10:17:37 *though 10:17:56 Its allocation to RIR. And yes, one more block allocated at IANA level... 10:22:59 At that level, following blocks are free: 5, 14, 23, 31, 36, 37, 39, 42, 49, 50, 100-107, 176, 177, 179, 181, 185, 223 (24 blocks, 384Mi addresses (minus the ones lost due to allocation blocking, network addresses and broadcast addresses). 10:24:09 And of the remaining 26 before this allocation, 1/8 was probably the worst block. 10:24:22 "worst"? 10:25:09 The amount of unauthorized use and unauthorized routes leaking. 10:25:38 I think they banned things like 1.2.3.4 pre-emptively 10:25:58 Yes, APNIC reserved those. 10:26:29 amusingly, Wikipedia has edits from 1.2.3.4 10:26:37 I think it must have been a dev testing checkuser, or something 10:27:43 The first 3 /16s in that block are probably the worst w.r.t unauthorized use / unauthorized routes. 10:30:03 Especially the 1.1/16 block. 10:41:11 ASes shouldn't be going around announcing 1/8 addresses, though 10:41:26 and any use of it inside an AS or smaller network is their own fault 10:45:57 "(Mar's Law) Everything is linear if plotted log-log with a fat magic marker." 10:49:03 -!- scarf has quit. 10:49:12 -!- scarf has joined. 10:51:24 -!- Ilari has quit (Read error: 60 (Operation timed out)). 10:57:50 the world would be a better place if everything was linear 11:05:23 oklopol: not really, overtaking would be really difficult 11:05:33 and you'd only have two people you could ever meet in RL, ever 11:05:45 (I assume you could use radio waves or something for longer-distance communication, they go through people) 11:11:06 -!- Ilari has joined. 11:11:06 i wasn't thinking one-dimensional, more that all physics was linear 11:12:13 a world where acceleration is impossible 11:31:54 then nobody could move 11:31:59 or stop moving, if they were already moving 11:36:23 http://ipv4depletion.com/?page_id=4 is interesting 11:36:59 hmm, what's the command-line command to look up DNS? 11:37:15 preferably, one that lets you pick a different DNS for the single command, and which can retrieve AAAA records 11:37:53 scarf: dig? 11:38:05 thanks 11:38:59 -t to set type to look (any for all types), @ to set address, and then name to look up after that. 11:39:12 wow DNS is fast 11:39:57 hmm, seems that the local DNS here has ipv6 addresses 11:40:05 even though I don't think the local network connectivity does ipv6 11:40:56 Hmm... Freenode IPv6 addresses don't seem to work, but querying .com nameservers over IPv6 does work. 11:43:45 heh, it seems that smuggle.intercal.org.uk and select.intercal.org.uk are on separate machines 11:43:52 both accessible over both ipv4 and ipv6 11:46:24 one of the worrying things that is coming out from the Slashdot article I'm reading is that some people apparently blackhole the whole of APNIC in an attempt to stop spam 11:46:28 which strikes me as a little indiscriminate 11:54:45 Then there are those that blackhole all chinese address ranges. 12:03:04 APNIC would be a bigger blackhole then just China, wouldn't it? 12:04:33 Yes. And includes stuff like .jp and .au too. 12:05:22 dig was just what I was looking for, by the way 12:12:37 "host" is another such tool, but dig is more DNS-like in its replies. 12:15:51 fun, i should be at uni in 4 minutes, and the door is broken, can't get out. 12:16:09 wonder who i'm supposed to call in a situation like this 12:17:54 is it a door you own, or a university-owned door? 12:18:01 if the first, call a locksmith 12:18:04 if the second, I don't know 12:18:15 although it may be worth calling security (on a non-emergency number) 12:18:19 especially as it's a fire risk 12:19:36 my own 12:19:52 but turns out there's a keyhole on the inside as well 12:19:55 and that opened it 12:20:22 ah 12:21:39 there's also this other lock, i assumed that was broken or something, so i started unscrewing it to see what's inside, and now i've lost the screw i took out. 12:22:15 shouldn't you be at uni already? 12:22:21 6 minutes ago 12:22:24 it's more than 4 minutes since you had to be there 4 minutes ago 12:22:51 takes about 3 to get there, so not that bad 12:22:55 -> 12:54:52 -!- FireFly has joined. 13:22:53 -!- Asztal has joined. 13:40:18 -!- Sgeo has joined. 13:40:51 ehird was last visibly active on Reddit 7 days ago 13:49:36 Hm 13:49:42 That "plain english" thing reminds me of ORK 13:56:14 -!- rodgort has quit (Read error: 104 (Connection reset by peer)). 14:01:22 -!- scarf has changed nick to scarf|away. 14:02:15 -!- rodgort has joined. 14:09:29 -!- MigoMipo has joined. 14:12:38 -!- BeholdMyGlory has joined. 14:38:38 -!- scarf has joined. 14:38:58 yay for going on IRC in the middle of marking people doing Java 14:39:38 the fun thing is, most of them didn't turn up to the tutorials, so didn't manage to agree a time to be marked, making it more-or-less anarchy 14:39:46 Yay for anything that involves not doing Java. 14:53:58 heh 14:54:31 still, my current belief, based on 1 sample, is that knowing Java is all that it takes to get a job nowadays 14:54:48 -!- oerjan has joined. 14:55:38 * scarf wonders if INTERCAL would be more enjoyable to mark 14:55:55 it has the advantage of not being Java, but there are several disadvantages in using it for teaching 14:57:41 well if anyone could enjoy marking it it would be you... 14:58:17 Why is Java considered so horrible, exactly? And is C# considered better (except for the licensing BS)? 15:05:10 Most modern languages are at least a smidge multi-paradigm. 15:05:17 But even C is more multi-paradigm than Java is. 15:07:48 Want closures? Sure, we can kinda do that! Make the variables you want access to final, create an anonymous class with a single member function which takes no arguments (because that would be helpful) and returns Object, instantiate that, and then pass it 'round as a Runner object! That's so similar to closures it BLOWS MY MIND. 15:08:20 I just realized, I'm taking all 300-level courses this semester 15:08:31 this will either go well or very poorly 15:09:24 Course levels are meaningless. 15:10:33 uh. well, they exist. 15:10:40 -!- Pthing has joined. 15:11:52 Gregor: now it feels so much less dramatic >_> 15:12:04 :P 15:12:36 okay okay. instance where levels matter: you need 3 300-level compsci courses before you can apply for grad courses 15:13:14 which is more of a department-specific thing 15:15:01 (by comparison, my other semesters have had 0, 1, and 1 300-level course respectively..) 15:15:54 We don't have that kind of levels at all. :/ 15:16:43 The courses belong to various sort of "modules" or some-such that is somehow related to their difficulty. I think; I don't really know how it goes nowadays. 15:18:01 And some selection of them have the "suitable for people who already have their master's degree and are studying for a doctoral degree" flag on too. 15:23:54 Well I'm taking all 500-level courses. 15:23:55 SO BUCK UP 15:23:56 :P 15:24:26 (This week I am also teaching a 500-level course. Go me!) 15:28:58 Without knowing the scale, that doesn't say much. How high do the levels go? 15:29:45 I was highlighted, out of scrollback 15:29:52 sigh 15:30:12 -!- cpressey has joined. 15:31:25 Deewiant, btw I implemented BOOL in cfunge today, quite surprised me that it turned out to be using bitwise operators instead of logical ones. Since the fingerprint was described as "Logical functions" 15:34:43 oh and I can't possibly implement RAND in efunge. It has an instruction for getting max range of integer randomness. But efunge uses bignum cells, and erlang's random:uniform/1 has no upper limit as far as I can tell. 15:35:29 AnMaster: then pick an arbitrary limit and use it 15:36:05 coppro, that feels so wrong! 15:36:29 I don't disagree 15:36:33 but that's what you must do! 15:37:56 cfunge: speed and correctness (and no memory leaks) are more important than anything else. efunge: no arbitrary limits. Oh and ATHR (a fingerprint for async befunge threads) 15:38:06 that's the goals you could say 15:38:43 ATHR is still work in progress 15:38:54 parts of it work, and some parts even have test cases 15:39:44 coppro, I guess returning -1 could work, I use -1 for size of funge cell in y. 15:40:23 since giving a size in bytes is meaningless if you don't have an upper limit 15:41:00 coppro, bignum intercal would be interesting btw 15:41:04 AnMaster: how is it possible to generate a uniform random number from 0 to infinity? 15:41:25 scarf, it isn't, you *have* to give a limit. Just you can give any limit. 15:41:31 hmm 15:41:39 is Ungefunge Turing-complete? 15:41:50 couldn't you give -1 or 0, isn't that the typical efunge/befunge-108 reaction? 15:42:02 (also, it should be -110 by now...) 15:42:12 scarf, look at RAND http://www.rcfunge98.com/rcsfingers.html#RAND 15:42:17 -!- jix has quit (Read error: 60 (Operation timed out)). 15:42:23 the problem is M there 15:42:39 I think erlang allows you to keep separate seeds 15:42:57 the considered-as-unsigned is fun too 15:43:02 -!- jix has joined. 15:43:03 yeah 15:43:03 what exactly is (unsigned bigint)-1? 15:43:09 no clue 15:43:32 I think that, in order to be compatible with other RAND implementations, you should wrap mod 2^64 15:43:33 really erlang doesn't fit the rcs fingerprints very well 15:43:33 scarf: uniform number from 0 to infinity is not defined in usual probability theory. and if you try to define it you'd get that you select an incomprehensibly large number with probability 1 15:43:40 in many ways 15:43:44 oerjan: I know 15:43:58 I'm slightly surprised that there's an unusual probability theory that does describe it 15:43:58 like one that more or less requires an union { float, int }; (FPSP) 15:44:10 well I considering using type-tagged cells for it 15:44:21 it could be done in erlang, just would be messy 15:44:23 AnMaster: you can surely encode a bigfloat in a bigint somehow 15:44:32 that strikes me as the obvious response 15:44:42 scarf, ah but the precision is fixed. Also erlang only have double when it comes to floating point iirc 15:44:57 except when packing/unpacking binary data 15:44:59 AnMaster: reading the spec, it looks like you should return a magic value larger than every other for y 15:45:00 oh, encoding a double as a bigint is even eaiser 15:45:07 and IIRC, float = double is a valid implementation of C 15:45:11 coppro, MAX_BIGINT 15:45:12 aha 15:45:13 hah* 15:45:21 there so should be MAX_BIGINT 15:45:27 scarf, sure it is. Just erlang throws an exception on NaN 15:45:28 you can encode it as (unsigned bigint)-1 15:45:31 which makes it a pita 15:45:38 use a non-signalling NaN? 15:45:42 or does it not distinguish? 15:45:44 just use an infinity atom 15:45:46 scarf, no such thing in erlang indeed 15:46:14 scarf, same goes for +/- inf for some unknown reason 15:46:27 ouch 15:46:39 the floating-point standards distinguish between a huge number of different sorts of NaN 15:46:48 yeah, didn't python use to do something similar some time ago? 15:46:51 but quiet/signalling is the important distinction 15:47:05 -!- MizardX has joined. 15:47:07 ("not a positive number" and "not a negative number" can also be intuited from the info given, I think) 15:47:20 AnMaster: where is the RAND instruction defined? 15:47:31 coppro, I linked it above: http://www.rcfunge98.com/rcsfingers.html#RAND 15:47:35 also not an instruction 15:47:37 a fingerprint 15:47:50 that implements I, M, R, S and T 15:48:12 hmm... SGNE looks like it could do with having some way to send a signal to another process 15:48:27 ah 15:48:47 scarf, half of his fingerprints are good, half are late night ideas. Almost all are underspeced and badly documented 15:48:51 AnMaster: the spec suggests that cell 2 of the y instruction should return infinity 15:48:53 at least he have test suites somewhere 15:49:03 wait I already said that 15:49:05 coppro, yeah but there is no such thing in bignum is there? 15:49:07 AnMaster: IMO it just adds to the fun 15:49:22 coppro, as in, you can always add one 15:49:34 at least the whole FING/FNGR thing was fixed, it reminds me sort-of of OOXML mandating the leapyear bug 15:49:36 use an infinity atom 15:49:39 (until you hit the memory limit of whatever arch you use) 15:50:01 but I certainly think pushing a sized cell is a bad idea 15:50:36 also, I note that UNIX effectively requires running as root 15:50:40 indeed 15:50:46 which is a mindboggling thing to do with a Befunge fingerprint 15:50:55 I won't implement it since I'm too scared to test it! 15:51:15 why? it's allowed to error 15:51:29 coppro, still need to check that it *would* work as root using a test suite 15:51:40 ah 15:51:41 (thing I randomly came across clicking on links; if you tried to mail someone not in /etc/passwd using sendmail, you got an error "scarf: not a typewriter") 15:51:51 use strace? 15:51:51 mycology + various other test suites give me a 80%+ line coverage of the code 15:51:57 both for efunge and cfunge 15:52:07 (that is just looking at executable lines of code of course) 15:52:18 coppro, too easy to miss something. 15:52:25 anyway, SGNE looks like a pita both for cfunge and efunge 15:52:37 for efunge, well it could be running on multiple computers 15:52:38 (because libc uses isatty in order to determine whether to line-buffer or block-buffer files, and doesn't always reset errno; it's like the whole error: success thing, just with a funnier message) 15:52:43 it is supported in theory 15:52:51 (apparently this bug is reproducable on OS X even nowadays) 15:52:58 to run the funge space process on another erlang node than the current IP is running 15:53:46 sure 15:53:48 also what is the parameter to S 15:53:53 that's why Erlang is awesome 15:53:55 I can't see it documented there 15:54:05 set the uid? 15:54:13 coppro, actually I think it would require a few lines of code changes, since it uses ETS tables 15:54:29 that are public, non-sync requiring writes won't go through the funge space daemon 15:54:54 only bounds of funge-space updates are sent to it, and CAS (relative special synced get/put) 15:55:01 why? because of ATHR 15:55:42 coppro, and ets tables aren't available on remote nodes iirc. mnesia is yes but it uses a process that uses those ets tables 15:56:03 ah 15:57:11 really ATHR does strange and interesting things to the whole efunge 15:57:19 I would hate to try to implement it in C 15:57:49 scarf, another fingerprint on that page that makes no sense in bignum funges is LONG 15:58:07 scarf, plus it even breaks programs if you change cell size 15:58:09 AnMaster: on the contrary, I'd imagine that implementing double-size bignums is really easy 15:58:12 which is why it is a bad idea (TM) 15:58:33 scarf, yeah but programs won't be portable even between 32-bit cells and 64-bit cells (cfunge by default uses the latter) 15:58:51 they'd be portable if they used the INTERCAL method 15:58:55 oh? 15:59:02 as in, all constants must be single-cell, but you can make larger constants by doing arithmetic 15:59:09 hah 15:59:22 reminds me of ICAL there, I can't see how to do it for bignum 15:59:41 well it specs you shouldn't 15:59:43 for some extra fun, do IFFI bignum 15:59:52 actually, that probably isn't very difficult 15:59:57 scarf, IFFI, as in the cfunge<->c-intercal interface? 16:00:00 as you'll be reflecting on things out of the range of the INTERCAL progrm 16:00:01 AnMaster: yes 16:00:06 scarf, ais wrote it, not me 16:00:10 I just wrote cfunge 16:00:37 quite for a bit, anyway, I'm trying to mark Java 16:00:50 "quite for a bit"? 16:00:54 quiet? 16:00:55 -!- MissPiggy has joined. 16:01:11 scarf, ^ 16:01:18 -!- scarf has quit. 16:01:21 meh 16:01:57 hm erlang does have bitwise not 16:02:03 how does that work for bignum... 16:03:28 f = fun (N) -> io:format("~.2B~n~.2B~n", [N, bnot N]) end. was unhelpful 16:03:33 it still prints it with sign 16:03:43 err F 16:04:08 9> F(999999999999999999999999999999). 16:04:08 1100100111110010110010011100110100000100011001110100111011011110101000111111111111111111111111111111 16:04:08 -1100100111110010110010011100110100000100011001110100111011011110101001000000000000000000000000000000 16:04:10 well okay 16:04:11 meh 16:04:43 I guess it is just change the sign until you try to pack it with <<>> 16:04:54 * oerjan subtly reminds AnMaster that scarf _is_ ais. 16:05:00 oerjan, is he? 16:05:01 wth 16:05:06 -_- 16:05:09 that's crazy 16:05:26 oerjan, 1) I wasn't around when he changed to it afaik 2) why the nick change? 16:05:40 indeed i was SHOCKED, SHOCKED 16:05:58 oerjan, also he could have said 16:06:01 also, whois is your friend 16:06:10 oerjan, I don't whois everyone all the time 16:06:12 why should I 16:06:33 because some people have a habit of changing nicks regularly 16:06:39 oerjan, not ais though 16:06:45 Ilari yes 16:06:48 indeed, which is why i was SHOCKED 16:06:59 AnMaster: BOOL uses bitwise ops? How'd you infer that? 16:07:03 wait, Ilari? 16:07:10 err 16:07:13 maybe I misremember 16:07:19 * oerjan was mostly thinking of ehird and ihope 16:07:24 Deewiant, from the test suite and from checking rc98 code 16:07:39 Deewiant, it tests for that it is bitwise 16:07:45 Meh 16:07:50 oerjan, ah yes ihope, that was it 16:07:57 someone i.* anyway 16:08:38 oh and fax, don't forget him 16:08:52 true 16:13:47 -!- oklopol has changed nick to oklofok. 16:14:22 -!- scarf has joined. 16:14:31 ok, that bit of marking done 16:14:36 did I miss anything important? 16:14:45 yes, you missed my relevant nick change 16:14:49 we revealed all your secrets BWAHAHA 16:14:53 I would have lurked, but AnMaster kept pinging me and I was trying to mark someone's Java in front of the computer 16:14:54 oh, and that 16:14:57 and all the pings were distracting me 16:15:11 it behaved really weirdly, too 16:15:25 the first time I ran it, it created a 0x0 unresizable window rather than a 600x400 one 16:15:37 the second time, it drew the window at the right size but didn't draw anything in it 16:15:41 and the third time, it worked 16:15:53 this is without any recompilation or changing any of the relevant files in between 16:16:08 and nothing in the code suggested that it was stateful 16:19:26 -!- oerjan has quit ("Good night"). 16:19:40 hmm... this reddit thread says that zip disks used to get hardware viruses 16:19:59 if the disk was damaged, it would damage the drive heads of a drive it was inserted into 16:20:09 in such a way that the drive then damaged all disks that were inserted in it from then on 16:20:21 :D 16:20:55 apparently this could go back and forth ad infinitum 16:21:04 which would make it a really impressive example of a hardware virus 16:25:37 scarf, ah okay 16:25:42 well you could have said you were ais 16:25:44 -_- 16:25:53 AnMaster: you mean it isn't obvious from my cloak and /ns info? 16:25:58 do you not pay attention to join messages? 16:25:59 scarf, I didn't look at that 16:26:23 scarf, also you joined before I reconnected to the bouncer. it only replays messages 16:26:25 not the joins 16:26:59 anyway your cloak is "gateway/web/freenode/x-nvokymtkctncoxtg" 16:27:03 so that doesn't help at all 16:28:25 from here, yes 16:28:27 it isn't normally, though 16:28:36 and I've been online at the same time as you plenty of times over the last few days 16:28:46 and no I haven't noticed 16:28:51 why the nick change? 16:31:02 because ais *is* a scarf. 16:31:12 an indigo scarf 16:31:13 AnMaster: amusing typo 16:31:43 also, relatively common real word that isn't taken 16:32:58 scarf, typo for? 16:33:13 I can't remember 16:33:17 it wasn't "ais523" though 16:33:57 yeah getting from ais523 to scarf sounds hard 16:38:50 scarf, btw ever considered writing a befunge backend for gcc? 16:39:00 no 16:39:07 it would be rather bad befunge anyway 16:39:14 gcc is very specialised for outputting asm 16:39:14 true 16:39:24 and you could write a bf->befunge compiler 16:39:25 and the less similar its output lang is to asm, the worse it performs 16:39:38 oh? someone tried it for other languages? 16:40:07 my educated guess is that was an educated guess 16:40:14 hah 16:41:57 AnMaster: consider I spent months trying to figure out how gcc worked 16:42:12 the answer is, it mostly doesn't; the code seems to only be tested in the cases that are actually used 16:44:42 See, I saved all that time by just assuming that :) 16:45:10 Cynicism is efficient! 16:45:25 i was under the impression gcc was a very well coded piece of shit 16:45:28 err 16:45:35 where piece of shit means program 16:46:18 Nope. More like "very well tested". 16:46:30 Nothing about it says "well coded". 16:46:52 i c 16:47:01 i don't know where i've gotten that impression 16:47:20 well "very well tested", maybe i've just heard rumors it doesn't have many bugs. 16:47:29 i haven't really used it much 16:49:14 It's rather well-known as not having much internal documentation, and being one of the slowest compilers... 16:50:13 But extremely conformant :) 16:50:37 Yeah. 16:52:03 * Gregor ♥ GCC 16:55:03 I despise it, but I despise it less than most other C compilers. :P 16:55:17 * pikhq <3 clang 16:57:43 :( gcc 16:59:16 -!- tombom has joined. 17:06:18 Halp, more wikipedians are invading #esoteric 17:06:32 quick, fight back with tvtropers 17:06:48 That idea is so bad it's horrible! 17:06:59 I don't know, the wikipedians here tend to be pretty good 17:07:13 also, TVTropes is not your personal army 17:07:17 also what about g++ 17:07:25 g++ is hilaaaaaaaaarious 17:07:25 now that is not only messy and such. it is also buggy 17:07:33 AnMaster: it's a gcc wrapper, more or less, I think 17:07:59 AnMaster refers not to the binary "g++", but to GCC's C++ support, namely cc1plus 17:08:20 Strictly speaking, gcc itself is merely a wrapper. 17:08:25 hmm, the bits of gcc I looked at were mostly past the language-specific stage 17:08:31 yep 17:08:35 scarf, huh 17:08:42 and yes what Gregor said 17:08:48 gcc and g++ are both wrappers for the internal drivers 17:08:50 although gcc-bf doesn't include support for exceptions, so you couldn't target it with C++ 17:09:01 Oh nose D-8 17:09:08 clang currently has a similar model, though it's all one self-invoking executable file right now 17:09:27 eventually they plan to move it all to one execution 17:09:30 All compilers have a similar model *shrugs* 17:09:37 why the internal driver stuff 17:09:40 I fail to see the point 17:09:42 Even if it's all in one execution, it's just drivers calling drivers. 17:09:42 clang also has a bit more to wrap -- clang is only a frontend, after all. 17:09:49 Gregor, well yes 17:09:50 gah, it's so hard to read leaked internal Microsoft emails because apparently they top-post 17:09:53 how can they get any work done? 17:09:53 it makes sense 17:10:00 to separate frontend from backend 17:10:12 boo topposting 17:10:13 (that isn't language and codegen I'm talking about here) 17:10:18 scarf, they use Outlook? 17:10:24 FireFly: almost certainly 17:10:27 * coppro blames Gmail 17:10:28 And to seperate backend from linker. 17:10:31 but even in outlook, top-posting is a sin 17:10:33 how can they get any work done? <-- they can? 17:10:39 you have to try to edit the message into something more readable yourself 17:10:45 I want an option to bottom-post, dammit 17:10:50 The internal version of Outlook has a secret feature that converts top-posted emails into bottom-posted emails for view :P 17:11:14 I prefer top-posting for one-on-one e-mail 17:11:30 I prefer not to use e-mail 17:11:40 the only thing worse that top-posters are the people who both top-post and leave 14 nested quote contexts in the email 17:11:53 * coppro kills them all 17:12:01 I USE GOOGLE WAAAAAAAAAAE 17:12:05 *waaaaave 17:12:23 * coppro euthanizes Gregor 17:12:34 :P 17:12:53 I use irc 17:13:00 hm top posting on irc 17:13:03 would be interesting 17:13:04 O_O 17:13:07 ...no 17:13:10 o.O 17:13:13 just make an irc client that scrolls the other way 17:13:14 I top-post when replying to top-posting people (which seems to be almost everyone these days) because otherwise one ends up with really silly-looking messages. (Well, unless you trim with a very heavy hand.) 17:13:19 as in, last line at the top 17:13:51 Clairvoyants can top-post in the normal-style IRC. 17:14:10 hah 17:15:36 I wonder if you could top-post in IRC somehow ... 17:15:37 OMG 17:15:39 FIZZIE JUST DID! 17:15:44 fizzie: You're welcome. 17:16:01 that's more like reverse bottom posting 17:16:03 Thank yous. 17:19:49 fizzie: when someone sends me an email with top-posting in I rearrange the whole thing to bottom-posting before replying 17:20:05 why is top-posting bad? 17:20:13 oklofok: because the answer comes before the question 17:20:27 so you have to read the email from bottom upwards to get the flow of conversation, but downwards within each message 17:20:32 ...so? 17:20:39 so you're jumping around scrolling up and down to read everything in order 17:20:49 you get the most relevant thing first, if you don't remember everything, read bottom to top as much as you need 17:20:51 technically it doesn't matter if you're getting emails one at a time and you remember the conversation 17:20:56 oklofok: Because people lurrve to complain about the most minor things in life. 17:21:03 Gregor: ah! 17:21:10 but if you're trying to catch up on a thread late, it's really annoying 17:21:23 in the case of the leaked Microsoft email I was reading, the OP was the most interesting and relevant post 17:21:28 and yet it was right at the bottom 17:21:44 ah 17:21:47 that's true 17:21:56 Sounds like a job for Gregor's R->L parser 17:22:07 -!- Sgeo|web has joined. 17:22:25 The JS client is broken for me on Chrome. When I stop it, I can't start it again 17:22:36 Another thing is that all the answers come in one block, and after that all questions in one block; I personally prefer a properly trimmed-and-quoted thing where the answers come after the relevant quoted bits. 17:23:13 fizzie, what about inline response 17:23:26 as in, commenting on various sections on it 17:24:06 * Sgeo|web is jealous of fizzie having solved 40 or so in the past 24h 17:25:03 AnMaster: Yes, that's what I mean by "properly trimmed-and-quoted thing where the answers come after the relevant quoted bits". 17:25:07 -!- augur has quit (Read error: 60 (Operation timed out)). 17:25:12 I should get an account so I can track my progress 17:25:34 Is it just me, or is Robozzle slow right now/ 17:25:52 fizzie, a true bottom poster would reply to *everything* at the end 17:25:54 no matter what 17:26:13 There aren't very many of those, I don't think. It's either the "right" way, or the top-posting way. 17:26:22 Well, based on the sample of emails I get. 17:26:33 Sgeo|web: I've been twiddling the game with the phone when technically listening to lectures; for some inexplicable reason I have an urge to get the campaign list completely done. 17:26:47 fizzie, you would make a graph of the percentages over time 17:27:02 I seem to be missing 16. 17:27:09 16 what? 17:27:23 That was still to Sgeo. 17:27:25 fizzie how come you're so good at robozzle 17:27:25 ah 17:27:25 ? 17:27:46 You haven't come across the same issue in the JS client? 17:28:22 MissPiggy: I'm not really very good, actually; I haven't done ~any of the >4 difficulty ones. 17:28:33 hm 17:28:59 Sgeo|web: Not yet, at least. Though I think I got somehow logged out without doing anything a moment ago. But I might have just gotten some tabs confused. 17:30:36 -!- scarf has quit ("Page closed"). 17:31:49 * Sgeo|web solves Early Warning on the first try (if I didn't, I'd have to refresh the page *cries* 17:33:02 -!- scarf|away has changed nick to scarf. 17:33:50 Ooh, now I got a "Server Error in '/' Application" from the JS client. 17:33:59 Oo that one looks tricky 17:34:25 Well, I got a hint from the RoboZZle video, which features Very Early Warning 17:36:01 * Sgeo|web switches to IE7 for RoboZZle purposes, the JS client works on it 17:36:22 Except now I'm getting that error 17:38:09 this minute i am deploying a newer version 17:38:12 oh I get it 17:38:27 hmm 17:38:32 how to approach the problem 17:38:52 obviously the two functions must mirror each other 17:40:17 Very Early Warning is a reasonably straight-forward extension with four functions. 17:40:37 I still haven't worked some of the recursion bits out in my head 17:41:11 Do you want a slight hint? 17:41:59 Lol, Cube Extreme's F2 has _one_ slot 17:42:03 Making it literally useless 17:43:43 Oo 17:46:04 labyrinth has too many open spaces 17:46:12 only need 6 cells 17:47:16 open spaces can increase the psychological difficulty, or can be because the author didn't find the shortest possible solution 17:47:45 coppro: "Incomplete grid" had 5+5+10 (F1+F2+F3) slots, and my solution used just the five slots out of F1 and the other two functions not at all. 17:47:55 Oo 17:48:07 oh yeah, me too 17:48:11 that one was easy 17:48:54 -!- augur has joined. 17:49:08 hmm 17:49:24 I know there's one stack trick I'm missing :( 17:49:53 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)). 17:50:33 http://robozzle.com/my 17:50:40 Has a solution viewer :D 17:51:33 I don't have an account 17:52:10 Then make one. (It only shows your solutions, btw) 17:52:26 -!- bsmntbombdood_ has joined. 17:53:36 what I need to know is how to make a function that counts up or down each time it's called, like for Cut in half 17:53:40 oh wait 17:53:42 nvm 17:53:47 I'm thinking about that one wrong 17:55:12 I still need the technique though 18:00:21 Getting loopy is a 5+5+5, I only needed 4+4 18:05:39 how does this game compare to Rubicon? 18:07:51 Rubicon has you build stuff on the level (I think), and this has you give instructions to a robot 18:08:18 I don't know if Rubicon is turing-complete. RoboZZle is (given access to the painting commands) 18:10:19 I think we agreed Rubicon is (excepting space concerns, of course) 18:19:29 Ghaaa, finally got that silly "Replication Engine" done; took me something like 20 minutes to implement workingly even though the idea is very simple. 18:21:42 * Sgeo|web just needs _one_ more slot for "Stacking for not so newbies" 18:22:16 Or not 18:25:20 done the first 30 in my account 18:25:25 time to do last-minute studying 18:25:39 -!- augur has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- tombom has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- MizardX has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- cheater2 has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- sebbu has quit (kubrick.freenode.net irc.freenode.net). 18:25:40 -!- Deewiant has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- olsner has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- mycroftiv has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- yiyus has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- Leonidas has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- comex has quit (kubrick.freenode.net irc.freenode.net). 18:25:42 coppro: I have a proof 18:25:59 BCT in Rubicon, the data and program are limited-size but only if the playfield is limited-size 18:26:35 yeah, I suspected you did 18:28:06 -!- Deewiant has joined. 18:30:49 * Sgeo|web fails a puzzle by failing to see a star 18:31:43 * Sgeo|web gives up, for want of a star 18:32:50 -!- olsner has joined. 18:32:50 -!- comex has joined. 18:32:50 -!- Leonidas has joined. 18:32:50 -!- yiyus has joined. 18:32:50 -!- mycroftiv has joined. 18:32:56 lol 18:33:23 -!- augur has joined. 18:33:55 -!- tombom has joined. 18:33:55 -!- MizardX has joined. 18:33:55 -!- cheater2 has joined. 18:33:55 -!- sebbu has joined. 18:36:01 * Sgeo|web surrenders somewhat easily 18:36:02 Sometimes I disagree with the difficulty assignments; I found "Replication Engine" (difficulty 4.00) much trickier than "Can you count in binary?" (difficulty 4.13). 18:43:24 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 18:45:54 fizzie, they're assigned by the players 18:54:33 http://www.youtube.com/watch?v=O2rGTXHvPCQ&feature=player_embedded 18:54:36 oh lawd 18:54:51 * Sgeo|web sees a bunch of comments "no need for F2/F3".. but I used F2 and F3 19:01:35 Going to go get some food now 19:04:35 -!- Sgeo|web has quit (Ping timeout: 180 seconds). 19:21:54 Still, 4.47 for "Reflection"... 19:27:34 -!- kar8nga has joined. 20:29:58 -!- Wareya has joined. 20:52:28 scarf, but isn't Rubicon basically RUBE? 20:52:38 and wasn't RUBE proved TC iirc? 20:53:20 well, I proved Rubicon TC in its own right 20:53:31 and RedGreen is TC, but IIRC RUBE hasn't been shown either way 21:02:16 Intrigued by pikhq's reference, I'm trying to build clang right now... under cygwin... 21:02:32 (always a fun crap shoot) 21:03:24 cpressey: I don't think clang supports i686-pc-win32. 21:03:31 May end up with a cross-compiler. 21:03:54 Nope, I'm wrong. Supports it just fine. 21:03:57 pikhq: Isn't the question whether LLVM supports it? 21:04:14 cpressey: C needs the frontend to support it as well. 21:04:34 The LLVM generated is machine-dependent. 21:06:39 pikhq: I see. Makes sense. Well, I had gotten past "./configure" and it didn't barf, so I was hopeful, anyway. 21:12:02 doesn't cygwin run under a linux emulation dll? 21:14:39 -!- oklofok has quit (Read error: 60 (Operation timed out)). 21:17:33 Wareya: mostly, but there are all kinds of details relevant to compilers that aren't handled by it. For example, executable format. I don't think it can handle ELF... 21:18:07 Not to mention that its emulation of Linux is... not perfect. 21:20:54 Wareya: No, Cygwin runs under a DLL that provides POSIX functions. 21:21:11 It's not Linux, it's another UNIX. 21:21:43 cpressey: Cygwin uses PE for its executable format, with an executable postfix of .exe and a library postfix of .so. 21:21:47 Erm. 21:21:47 .dll 21:22:14 Sorry. meant POSIX when I said Linux... 21:29:36 -!- mycroftiv has quit ("leaving"). 21:38:29 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 21:40:13 -!- augur_ has joined. 21:40:48 -!- augur has quit (Read error: 110 (Connection timed out)). 21:44:58 pikhq: Close enough. 21:45:05 -!- kar8nga has quit (Remote closed the connection). 21:50:48 -!- scarf has quit (Read error: 104 (Connection reset by peer)). 21:53:00 And in fact, clang trunk errors out in build on my cygwin install. Lovely. Well, it seems to be one of the debug tools, can probably just skip it. 21:54:58 cpressey, probably no one really cares about cygwin these days 21:55:15 real *nix ftw 21:55:33 LLVM trunk moves so fast, you can't expect it to work at any given time. 21:55:39 well yes 21:55:46 I use the releases anyway 21:55:49 They do have a cygwin buildbot, IIRC. 21:55:54 really? heh 21:56:49 cpressey, do you usually use windows? 21:57:12 AnMaster: not happily. 21:57:23 cpressey, ah, linux desktop? or os x? 21:58:04 AnMaster: to be more specific, I do usually use Windows these days, it's just that, I don't do so with much joy in my heart. 21:58:27 The logical question then is: why use it if it makes you sad 21:59:46 -!- Gregor-L has joined. 21:59:47 Observation: 21:59:50 I suck at drums. 22:00:02 I think you're supposed to beat them. 22:00:03 Deewiant: because being not sad is not, it turns out, a huge priority. 22:00:35 What, then, is? 22:01:00 cpressey, unless you need 3D virtualbox or such might work well 22:01:13 even with 3D iirc virtualbox has some support for that nowdays 22:01:14 Deewiant: at the moment, something closer to sheer survival. 22:01:31 huh 22:01:46 cpressey, programs for work? 22:01:48 AnMaster: as it turns out, I am running Ubuntu in a VMWare VM on this machine, and as my main OS on my machine at home. 22:01:57 ah 22:02:01 AnMaster: pretty much/ 22:02:07 so my guess was pretty close then yeah 22:02:25 I guess what I'm trying to fish for is what specifically is it that forces you to use Win 22:02:35 well that is interesting too 22:02:48 If it was really important for me to get clang running, I probably would have tried it in the VM. But for kicks, it's hey, let's try cygwin!! 22:03:03 Deewiant: ... other people? 22:03:24 cpressey, did it work? 22:03:51 Deewiant, also to what degree does the compiler have to support *.dll and *.exe. Isn't that mostly the linker? 22:03:52 AnMaster: no, there's some kind of error in the profiling library too 22:03:57 hrrm 22:04:00 cpressey: Probably not the people themselves, but a certain piece of software (not Windows itself) they expect you to use? 22:04:18 Deewiant: sure. 22:04:34 cpressey, I think Deewiant is trying to ask what those pieces of software are 22:04:50 Many and varied. 22:05:01 also I think you are almost deliberately avoiding answering it straight ;P 22:05:08 Gee, you think? :-P 22:05:24 which just makes us more interested of course 22:05:30 Re. *.dll and *.exe: beats me 22:05:49 Deewiant, well I guess some support for calling conventions and object format 22:06:13 cpressey, so any examples? :) 22:06:32 Calling conventions is a bit of a separate thing, but yes, of course the object format that your linker expects as input :-P 22:06:54 Deewiant, also GOT or whatever equiv windows uses 22:07:05 I think the compiler has to know part of it 22:07:15 that's what the __dllspec thing is for isn't it? 22:07:20 I'm not 100% sure what the GOT is, but isn't it part of the object format 22:07:37 I don't know what __dllspec is for, I know precious little about dynamic linking. 22:07:37 Deewiant, global offset table 22:07:46 AnMaster: I knew that, but not much more. 22:08:02 Deewiant, and __dllspec is used similar to __attribute__, that is to annotate functions 22:08:07 a specific annotation iirc 22:08:09 I know that, too. 22:08:10 also windows only 22:08:25 Deewiant, I think it is used to modify the calling sequence somewhat 22:08:42 Just the calling convention? 22:08:51 Deewiant, oh and for exporting symbols 22:08:58 but I meant when importing it 22:09:25 Deewiant, not "calling convention" as in "put value in register x" 22:09:30 but as in "jump to y" 22:09:38 also if I don't misremember *.exe and *.dll have separate memory spaces or some shit like that on windows 22:09:42 Ah right 22:09:45 but that is so weird I *might* have dreamt it 22:09:46 "dllimport" linkage causes the compiler to reference a function or variable via a global pointer to a pointer that is set up by the DLL exporting the symbol. On Microsoft Windows targets, the pointer name is formed by combining __imp_ and the function or variable name. 22:10:07 Deewiant, ye gods, worse than I remembered 22:11:34 Deewiant, btw source? 22:11:42 http://llvm.org/docs/LangRef.html 22:13:21 hm interesting there 22:13:23 "fastcc" 22:13:34 wonder if you can reach it through clang 22:13:43 or llvm-gcc for that matter 22:14:01 You mean emit code that uses it? Just make a file-local function. 22:14:13 Deewiant, well between files I meant 22:14:26 LTO should do it. 22:14:29 hm 22:21:23 -!- BeholdMyGlory has quit (Remote closed the connection). 22:25:52 One of the nicest things about LLVM is the LTO you can do with it. 22:26:07 -!- augur_ has quit (Read error: 60 (Operation timed out)). 22:26:16 (GCC 4.5 is also getting that; they make the compiler output GIMPLE in object files) 22:26:16 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)). 22:37:10 -!- tombom has quit ("Leaving"). 22:53:18 -!- augur has joined. 23:01:24 Which presumably means that either ld will gain some compilation support (ew) or that gcc, when used to link, actually does some trickery before calling ld. 23:02:51 Gregor: gold has plugin support. 23:03:10 ld ends up calling out to GCC at link time, in effect. 23:03:29 The same setup is used for LLVM's LTO. 23:03:53 (gold is an optional part of GNU binutils) 23:04:26 Yo dawg, I heard you like to compile, so I put a compiler in your linker, so you can compile while you link. 23:09:31 -!- nooga has joined. 23:09:33 hello 23:10:04 Gregor: GCC also has plugin support now. 23:10:16 are there lazy, functional esolangs that resemble haskell? 23:10:29 "resemble Haskell", no. 23:10:56 "lazy, functional esolang", yes. LazyK 23:11:26 i don't mean the syntax 23:11:31 but rather 23:11:33 hmmm 23:12:23 LazyK has S, K, and I. 23:12:29 too minimal 23:13:11 IO is perfomred by considering the program a function from input to output. 23:13:19 I want to program in a sanscrit version of lisp 23:13:55 (यन्त्र (संस्कृता) वाक्) 23:14:15 It also possesses 3 syntaxes. 23:14:27 MissPiggy, do you know sanscrit? 23:14:33 no but that would help me learn it 23:14:40 ... 23:14:52 hanguk is interesting 23:15:09 i wonder why nobody tried to design hanguk based esolang 23:15:28 what is that? 23:15:48 http://en.wikipedia.org/wiki/Hangul 23:15:56 i meant hangul 23:17:19 I don't know why it would be a good language 23:17:28 what's peculiar abou tit? 23:18:12 -!- FireFly has quit ("Leaving"). 23:18:37 -!- nooga_ has joined. 23:18:42 nooga: It's been done. 23:18:59 http://esolangs.org/wiki/Aheui 23:19:33 this is good ㅙ 23:19:50 DAMN 23:20:21 nooga_: but we could always use more :) 23:20:33 wow 23:24:09 hmm 23:28:09 weird 23:28:19 i always use ruby for prototyping 23:32:51 Today's game-music attempt (not yet complete): http://filebin.ca/wakrx/zee2.ogg 23:34:19 annoying 23:34:41 Gee :P 23:34:52 i mean the instruments 23:35:07 D-8. I spent /so damn long/ choosing those instruments X-D 23:35:24 the composition is nice 23:35:50 -!- nooga has quit (Read error: 110 (Connection timed out)). 23:36:15 -!- nooga_ has changed nick to nooga. 23:37:06 -!- cheater3 has joined. 23:38:08 -!- cheater2 has quit (Read error: 104 (Connection reset by peer)). 23:38:46 they're too hi-fi 23:38:59 who needs a synth trumpet when you can use a sawtooth 23:39:04 yeah! 23:39:11 square is the best 23:39:28 with a proper arpeggio 23:39:33 lawl, yesterday all my instruments were too synthy, now they're not synthy enough :P 23:39:42 use real ones 23:39:50 What a simple solution :P 23:40:04 well the people yesterday were wrong 23:40:09 or samples 23:40:16 soundfonts 23:40:23 nooga: This is from a soundfont, from samples X_X 23:40:31 oh 23:40:41 i thought it was cheap midi synthesizer 23:40:50 Yesterday I was writing this: http://codu.org/music/vg/zee1.ogg , not zee2, btw. 23:40:51 ;C 23:41:17 The trumpet sounds the worst, the others actually sound pretty good. 23:42:27 right 23:43:02 So, the trumpet ruins everything. I guess I need to go soundfont hunting for a trumpet. 23:58:11 -!- MizardX- has joined. 23:58:25 * SimonRC goes to bed 2010-01-26: 00:00:35 -!- cpressey has left (?). 00:03:38 trumpet trumpet 00:03:48 i like jazz trumpet 00:05:08 Finding non-crappy trumpet soundfonts. Surprisingly difficult. 00:05:17 Why do you want a trumpet? 00:05:38 Sounded the best in my head. 00:05:55 I may actually use sawtooth :P 00:05:58 At least then it isn't lying. 00:06:26 Although then, like yesterday, people will complain that the synth is out of place with the acoustic instruments. 00:07:17 http://images.cheezburger.com/completestore/2009/12/9/129048828616704060.jpg 00:07:36 replace trumped with pleasant synthetic lead 00:07:47 i mean like 00:07:52 I, luckily, don't know what a trumpet sounds like! 00:08:39 i don't know, there are pleasant synthetic sounds 00:10:20 Though I suppose being familiar with instruments is a good thing. I once spent a while looking for a mellow, rhotic brass instrument. 00:13:09 It needs to have a /little/ bit of a bite to it. 00:13:38 -!- MizardX has quit (Connection timed out). 00:15:43 -!- MizardX- has quit (Read error: 104 (Connection reset by peer)). 00:16:15 -!- MizardX has joined. 00:17:53 -!- Sgeo has joined. 00:24:27 -!- Sgeo has quit (kubrick.freenode.net irc.freenode.net). 00:24:27 -!- Ilari has quit (kubrick.freenode.net irc.freenode.net). 00:24:27 -!- pikhq has quit (kubrick.freenode.net irc.freenode.net). 00:24:28 -!- uorygl has quit (kubrick.freenode.net irc.freenode.net). 00:24:30 -!- uorygl_ has joined. 00:24:36 -!- Ilari has joined. 00:24:43 -!- pikhq has joined. 00:24:45 -!- Sgeo has joined. 00:25:48 Hm, this synth instrument is kinda OK. 00:26:28 Anything new in RoboZZle-land? Anyone working on a Javascript level editor? 00:28:50 RoboZZle-lan? 00:29:34 -!- SimonRC has quit (Remote closed the connection). 00:30:38 -!- augur has quit (Connection timed out). 00:30:43 http://filebin.ca/nawqsx/zee2.ogg Yeaaah, Idonno about this synth. 00:30:51 I'm growing to like it though. 00:31:10 -!- sebbu2 has joined. 00:34:04 hum 00:34:07 yea 00:39:57 -!- cheater4 has joined. 00:41:06 -!- cheater3 has quit (Read error: 104 (Connection reset by peer)). 00:45:40 -!- augur has joined. 00:46:20 -!- sebbu has quit (Connection timed out). 00:46:20 -!- sebbu2 has changed nick to sebbu. 01:04:14 -!- Ilari_ has joined. 01:04:36 -!- Ilari has quit (Read error: 113 (No route to host)). 01:04:47 -!- SimonRC has joined. 01:05:27 -!- Asztal has quit (Read error: 110 (Connection timed out)). 01:15:02 i like The Knife 01:19:31 me too 01:20:52 i like scandinavian electronica 01:21:32 brb, sleep 01:35:30 Sxat' de mi je Esperant'. 01:36:03 -!- Pthing has quit (Remote closed the connection). 01:54:22 This is getting REALLY weird. 02:02:38 Quod? 02:02:51 zee2 02:02:59 Ha. 02:06:47 -!- Gracenotes has quit (Connection timed out). 02:07:30 Come on, no one's working on a JS level editor? 02:08:30 I can't do 'The powers' 02:08:40 one cell short :( 02:08:50 *converting 02:09:06 wait... got it 02:09:23 -!- MissPiggy has quit. 02:09:30 * Sgeo has no time now to do RoboZZle 02:09:32 -!- Gracenotes has joined. 02:09:40 I need to eat, then work on a project that doesn't exist. 02:09:42 Sgeo: Ne; mi nun studadas Esperanton. 02:10:04 "No, I study Esperanto" 02:10:18 (guessing that studadi is "to study") 02:10:26 "nun" = now. 02:10:40 "No, I'm studying Esperanto" 02:10:47 now I think I see an anternate solution 02:11:16 yep, that worked 02:12:08 Kaj lernu.net-a mala servro ne facilas min... 02:15:45 Uploading ... 02:16:17 -!- augur has quit (Read error: 113 (No route to host)). 02:19:47 Now soliciting comments on http://filebin.ca/njxxwg/zee2.ogg 02:20:03 Insufficiently ogg vorbis! ... Oh, wait. 02:27:53 -!- augur has joined. 02:27:58 Well, thank you for your useful comments. 02:28:04 Glad I decided #esoteric == ##music :P 02:29:45 * Sgeo solves labyrinth 02:30:13 Wait, there's a ##music? 02:31:31 Idonno, probably? 02:31:44 Geg. 02:32:36 -!- GreaseMonkey has joined. 02:43:46 ... Geg? 02:44:01 GEG! 02:44:12 That's my name without O's or R's. 02:44:26 So it is. 02:45:24 cpp 02:45:28 ... oh dear 02:45:37 ? 02:45:38 #define PRIVMSG this is bad, isn't it? 02:45:45 I WURRRRVE THE C PREPROCESSOR 02:45:49 coppro: That can only be good 02:46:02 #undef PRIVMSG 02:46:07 #define PRIVMSG are you sure? 02:46:15 YES. 02:46:26 #define ACTION will be right back 02:46:31 -!- coppro has quit ("I am leaving. You are about to explode."). 02:46:38 The C preprocessor is kinda "meh", honestly. 02:46:54 Though it is better than some other language's support for metaprogramming... 02:47:04 uh, ACTION is a CTCP message, which is basically a PRIVMSG in the form $01 "ACTION whatever" $01 02:47:10 (seriously, there exist languages without any sort of metaprogramming. WTF?) 02:47:34 There's a #define language 02:47:44 erm, channel 02:48:02 -!- coppro has joined. 02:48:08 The previous mistake proves how sleep-deprived I am 02:50:31 Anyway, off to cook now 03:07:32 -!- Asztal has joined. 03:29:40 -!- coppro has quit ("I am leaving. You are about to explode."). 03:33:50 -!- coppro has joined. 03:38:53 -!- oklopol has joined. 04:24:25 pikhq: the nerve 04:24:38 oh hello, 1.5 hours 04:26:32 -!- coppro has quit ("I am leaving. You are about to explode."). 04:33:23 -!- coppro has joined. 04:54:41 -!- Azstal has joined. 04:56:25 -!- Asztal has quit (Read error: 110 (Connection timed out)). 04:57:19 Gracenotes: Heheh. 05:01:53 -!- Asztal has joined. 05:04:05 -!- oerjan has joined. 05:08:32 * Sgeo is going to keel over from sleep deprivatio 05:08:53 he made it almost to the end of the sentence 05:09:07 l 05:09:10 It is fortunate that the \n is implicit. 05:09:20 indeed 05:14:15 -!- Azstal has quit (Read error: 110 (Connection timed out)). 05:21:03 -!- Sgeo has quit ("Leaving"). 05:22:53 did you know a massive headache makes programming much harder? 05:23:11 yes. 05:23:40 -!- Gregor-L has quit (Read error: 110 (Connection timed out)). 05:24:10 in fact so does a small headache, and if you ignore this fact you will soon have a massive one. 05:25:42 yesterday i thought my programming skills had considerably diminished, i could code up the algorithms just fine, but program structure just kept getting crappier and crappier 05:26:15 i had this massive headache, and didn't realize i probably shouldn't be programming 05:26:16 then you realized it was java. 05:26:39 nah python, always python... 05:27:45 anyway now i took the code, and instantly see "wow this could be generalized beautifully", and fixed the whole thing in an instant 05:28:30 losing abilities really makes you appreciate them 05:29:17 *sigh* 05:30:06 :D 05:30:11 why sigh 05:31:45 because that reminds me how i get in worse shape year by year 05:32:50 i guess i knew that 05:33:50 i've heard i still have 4 years of getting better left. 05:35:06 anyway i'm glad you aren't my age, if you've really gotten considerably stupider 05:35:32 or perhaps more slower than stupider? 05:36:09 less stamina too 05:46:09 -!- oerjan has quit ("Bus"). 05:51:47 he's a busy guy 05:54:58 -!- coppro has quit (Remote closed the connection). 05:55:31 -!- coppro has joined. 06:05:29 oklopol, augh 06:06:35 bbl 06:08:40 he's a bubbly guy 06:13:12 -!- augur has quit (Read error: 113 (No route to host)). 06:14:35 he's not a hostal guy 06:17:45 don't worry that was the last one 06:42:56 -!- augur has joined. 07:12:11 -!- MigoMipo has joined. 07:49:13 -!- FireFly has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:23 -!- nooga has quit (Read error: 110 (Connection timed out)). 08:06:28 -!- MigoMipo has quit (Read error: 110 (Connection timed out)). 08:13:09 -!- tombom has joined. 08:22:58 -!- FireFly has quit ("Leaving"). 08:51:27 -!- sebbu2 has joined. 09:08:20 -!- sebbu has quit (Read error: 110 (Connection timed out)). 09:13:52 -!- MizardX has quit (Read error: 60 (Operation timed out)). 09:33:24 -!- Asztal has quit (Read error: 110 (Connection timed out)). 09:34:57 -!- Ilari_ has changed nick to Ilari. 09:43:58 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 09:56:22 -!- tombom has quit ("Leaving"). 10:58:52 -!- scarf has joined. 11:06:37 -!- MigoMipo has joined. 11:40:22 -!- BeholdMyGlory has joined. 11:42:37 -!- MizardX has joined. 12:06:52 -!- scarf has quit ("Page closed"). 12:14:29 -!- scarf has joined. 12:30:03 -!- Pthing has joined. 12:42:14 -!- oerjan has joined. 12:45:30 he's not a hostal guy <-- as long as he doesn't go postal 13:05:05 -!- scarf has changed nick to scarf|away. 13:05:40 always with the scarfing away 13:08:22 hey guys 13:08:28 anyone here got experience with punch card readers? 13:08:42 maybe in a previous life 13:08:50 :-( 13:10:15 I can only wish :) 13:26:20 -!- MigoMipo has quit ("Page closed"). 13:29:26 -!- Pthing has quit (Remote closed the connection). 13:35:36 -!- BeholdMyGlory has quit (Remote closed the connection). 13:49:29 -!- Sgeo has joined. 13:49:43 If anyone makes me laugh, I'll kill em 13:51:13 That's clever 13:51:36 ? 13:52:18 so it only hurts when you laugh, i presume? 13:52:36 * Sgeo is drinking coffee right now 13:52:57 well, i guess drinking coffee does hurt when you laugh 13:56:47 * Sgeo goes to invite a Reddit who expressed interest in RoboZZle here 13:57:00 Not #robozzle? 13:57:11 argh 13:57:17 * oerjan runs from the avalanche 13:57:24 *Redditor 13:57:28 whew 13:57:40 Oh, it's "Redditor". I would have guessed "Reddite". 13:57:57 It would rhyme better with Luddite. 13:58:20 smooth, fizzie 13:58:35 Deewiant, I think myself and igoro are the only #robozzle regulars 13:59:19 "I managed to get a bunch of people in a chat room addicted. Go to irc.freenode.net #esoteric . If you don't have an IRC client, go to http://webchat.freenode.net/ and put #esoteric in the channel. RoboZZle talk is probably off-topic, but is very common, it won't seem out of place to talk about it." 13:59:36 Redditor googlewins over reddite. (33900 vs. 7090.) I am the minority. 14:00:35 (Incidentally, is "googlewin" a term?) 14:01:08 First few Google results don't look so promising. 14:01:24 I love the name "Left on invisible green" 14:02:05 -!- scarf|away has changed nick to scarf. 14:03:54 redditor is the official term, or as close as you can get 14:05:52 I sort-of thought freenode had a thing about public away messages, but apparently it's just an on-some-channels thing. 14:07:38 That being said, some people -- http://sackheads.org/~bnaylor/spew/away_msgs.html -- feel quite strongly about it. 14:11:04 * Sgeo should be getting ready to go to school 14:11:16 * Sgeo has a C++ .. wait, that's tomorrow 14:11:38 On Wednesdays, I have 2 hours 45 min of C++ 14:12:00 (Well, the class is "Data Structures", but I imagine C++ is the language in use 14:12:09 * Sgeo shoots self 14:13:12 I don't think our introductory "data structures and algorithms" course used any language at all. It was based on the CLR(S) book, so it was mostly about the variant of pseudocode used there. 14:13:59 wtf is robozzle 14:14:04 and why should i not hate it 14:14:56 -!- scarf has changed nick to scarf|away. 14:14:59 One reason not to hate is that it's not quite as inane as that light bulb thing. 14:17:35 -!- scarf|away has changed nick to scarf. 14:20:39 Forcing myself off the computer for now. BBL 14:20:45 -!- Sgeo has quit ("Leaving"). 14:21:25 -!- augur has quit (Read error: 110 (Connection timed out)). 14:32:51 -!- augur has joined. 14:36:32 -!- oklopol has changed nick to oklopol|here. 14:39:27 -!- oerjan has changed nick to oerjan|wiseass. 14:40:17 -!- Pthing has joined. 14:40:37 -!- oerjan|wiseass has changed nick to oerjan. 15:28:53 -!- cpressey has joined. 15:30:39 -!- scarf has quit (Remote closed the connection). 15:30:45 -!- MissPiggy has joined. 15:40:07 -!- Asztal has joined. 15:47:11 -!- FireFly has joined. 15:54:49 -!- oklopol|here has changed nick to oklo|somewhere. 16:27:49 -!- sebbu2 has changed nick to sebbu. 16:30:30 -!- MizardX- has joined. 16:30:33 -!- BeholdMyGlory has joined. 16:45:38 -!- MizardX has quit (Read error: 110 (Connection timed out)). 16:45:56 -!- MizardX- has changed nick to MizardX. 17:03:17 -!- oerjan has quit ("Good night"). 17:09:18 -!- MigoMipo has joined. 17:11:40 -!- kar8nga has joined. 17:14:21 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 17:14:43 -!- BeholdMyGlory has joined. 17:42:38 -!- zeotrope has quit (Read error: 54 (Connection reset by peer)). 18:09:18 -!- Sgeo|web has joined. 18:12:06 When is this channel generally most active? 18:20:30 I'd say the evenings, viewed from Swedish time 18:21:00 I guess there's plenty of europeans here 18:22:58 There are some statistics. 18:23:05 I don't know where I put 'em. 18:23:48 Didn't ehird make a Unicode sparkline graph of it? 18:23:50 IIRC 18:24:07 http://zem.fi/~fis/test6.png 18:24:38 Amount of... I think it might be amount of comments; the X axis has time-of-day in the Finnish timezone. 18:25:01 (EET/EEST) 18:25:37 The graph was probably for year 2008 or so. 18:27:18 -!- lament has joined. 18:27:28 wow. so many people 18:32:18 yes, too many maybe 18:32:23 maybe you should kick one 18:32:56 Define somewhere 18:33:16 home 18:33:30 Interesting choice of nick, then 18:34:03 oklo|somewhere: why stop at one, then 18:34:40 Kick an imaginary person instead 18:34:50 done. 18:35:05 Great 18:35:16 I found him slightly annoying 18:38:47 -!- cheater4 has quit (Connection timed out). 18:39:09 He was the glue that held this channel together D-8 18:40:40 -!- tombom has joined. 18:43:05 Hmm... Could elliptic curves (or monster group) be used to construct esolang (that would be almost impossible to program / interpret)? 18:50:54 Group G, some set of elements of G corresponding to actions, some constants in G. At start, initialize registers (of group type) to initial values, on each symbol read, add the corresponding value to current value. If element corresponding to action is hit, do that action. When end of program is reached, start from beginning? 18:55:32 Use some complex and large group for G, and the result will be nearly impossible to program... 19:01:10 The G should not be cyclic to avoid just mapping programming to mod n integers. 19:01:33 igoro is fixing the Robozzle Chrome bug 19:06:44 Inquiry: when can a C function segfault before any code has been executed in it? 19:06:55 (namely, on a line containing "{"?) 19:07:09 Robozzle's JS client now works on Chrome! 19:07:41 pikhq: No optimizations to mess debugger? 19:08:12 Ilari: None. 19:08:55 pikhq: Also, C or C++? 19:09:05 C. 19:09:21 If it were C++, I could at least guess that it was a constructor... 19:09:36 pikhq: What's the last line before the '{'? 19:10:53 void *callerT(closure f, unsigned int n, ...) 19:11:10 pikhq: closure is some typedef? 19:11:30 typedef struct closure *closure; 19:12:18 * Sgeo|web decides that he cannot, in fact, reach the stars 19:12:46 It would appear that variadic functions throw off the debugger. 19:13:02 And that nested ({ }) blocks throw off the compiler. 19:19:09 -!- yma has joined. 19:24:10 Hi 19:25:59 -!- cheater2 has joined. 19:27:43 There's a way to do square roots in Robozzle? (Without painting) 19:28:24 Now if I could just figure out why the crap this darned thing is only dethunking once. 19:28:32 * pikhq may want to rewrite the eval function 19:29:28 -!- yma has left (?). 19:36:32 -!- cheater2 has quit ("Leaving"). 19:36:43 -!- cheater2 has joined. 19:37:23 -!- cheater2 has quit (Client Quit). 19:41:29 -!- cheater2 has joined. 19:45:53 -!- kar8nga has quit (Remote closed the connection). 20:04:06 -!- GreaseMonkey has joined. 20:10:00 GreaseMonkey, how did your python Robozzle clone go? 20:11:00 FireFly: in terms of actual playability, it's complete 20:11:07 it's missing load + save + other stuff 20:11:17 Mind sharing it? 20:11:24 http://pubacc.wilcox-tech.com/~greaser/stuff/robasl.py.txt 20:11:25 Without actually telling me what Robozzle is, wtf is Robozzle? 20:11:37 Gregor: some weird programming game 20:11:47 All I needed to know! 20:12:19 Gregor, http://robozzle.com 20:12:27 Thanks, btw 20:13:17 Sgeo|web: More than I wanted to know. 20:13:46 -!- Slereah_ has joined. 20:13:52 Gregor, seriously, try it 20:14:01 Nevars. 20:14:14 :( 20:15:08 Whynot? 20:17:48 Well, bye for now all 20:20:48 -!- Sgeo|web has quit (Ping timeout: 180 seconds). 20:25:40 C'mon, Gregor. All your friends are doing it. 20:31:04 -!- Slereah has quit (Connection timed out). 20:37:44 oh hey it's cpressey 20:38:03 but yeah, all your friends are doing it 20:39:07 ...man, pidgin's version response is lame. 20:39:24 -GreaseMonkey- VERSION xchat 2.8.4 FreeBSD 7.2-STABLE [i386/1.47GHz] 20:39:31 imho that's a lot better 20:40:26 2.8.4 sounds a bit old 20:40:54 -!- MizardX has quit (Connection timed out). 20:41:03 Hm 21:05:03 I should not try to write waltzes. 21:05:05 Wow that was bad. 21:05:08 Good lawd. 21:05:14 I might have to ban myself from trying in the future. 21:13:53 yeah, you should play robozzle instead 21:13:58 -!- oklo|somewhere has changed nick to oklo. 21:21:17 no waltzes. 21:23:48 2.8.4 - 01/Jul/2007; that's not so old. 21:24:17 Given how stagnant X-Chat is, anyway. 21:25:12 It's not like they've released anything else than 2.8.6 (11/Jun/2008) after that. 21:27:47 I think calling a slow release cycle "stagnant" is a bit unfair. 21:28:31 i'm trying to write yet another flippin' mod player in java 21:28:34 actually it's an .it player 21:31:37 (It plays Italians) 21:31:46 sounds dangerous 21:35:19 -!- Sgeo|web has joined. 21:35:32 Where's the link to the log? 21:35:45 NOWHERE 21:35:51 THERE AIN'T NO LOG, SEE 21:36:01 YOU NEVER HEARD OF NO LOG NO WAY NO HOW 21:36:31 A search for site:tunes.org esoteric can find it rather easiyl 21:36:33 *easily 21:36:39 Also, the esolang map seems to be dead 21:36:45 n/m 21:36:48 Possibly dying 21:36:53 You realize the log is in the /topic, right? 21:36:56 THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED. 21:37:19 `addquote Where's the link to the log? THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED. 21:37:22 120| Where's the link to the log? THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED. 21:38:08 Oh 21:38:24 I mistakenly thought that -ChanServ- [#esoteric] Welcome to the esoteric programming channel! Check out the esoteric programmers map: http://www.frappr.com/esolang 21:38:26 was the topic 21:39:23 esoteric mappers program 21:42:22 Esoteric programmer's map. 21:42:51 esoteric programmers map esoteric programs onto esoteric program maps. 21:42:58 Esoteric progammer's' map 21:43:22 Exothermic pro-gamers map. 21:44:03 I'm exothermic 8-D 21:44:06 What does "limit your stack" have to do with limiting anything? 21:44:07 Esotericprogrammersmap. 21:44:15 Your whole family is made out of meat! 21:44:31 !!! 21:46:16 Sgeo|web: I took it to mean that you actually return from some functions in that one; in others, it's quite often the case that you just keep going and going. It's a bit far-fetched that way, though. 21:47:25 Why in the Silverlight list is it not possible to see which you did? :( 21:47:47 silversilversilverLIGHT! 21:48:20 Meh; only five left undone in the "campaign" list, and those five shouldn't be any more difficult than the others; they just seem incompatible with my thinking somehow. 21:50:43 which ones are they? 21:50:51 dammit you're quite a way ahead of me 21:52:53 -!- jpc has joined. 21:53:24 jpc, are you an esoteric regular, or someone else? 21:53:37 -!- jpc has quit (Client Quit). 21:53:38 >.> 21:53:39 :( 21:55:10 He's Javawizard on the wiki 21:55:18 Created a few langs 21:55:50 Oh 21:55:52 And he's offended when people ask if he's a regular. 21:55:55 * Sgeo|web is expecting a "someone else" 21:56:41 hehe 21:59:36 Bye for now all 22:00:15 -!- Sgeo|web has quit ("Page closed"). 22:02:10 GreaseMonkey: I'm missing "Winding Path", "Explore the world", "Smart lemma", "Colorful Path" and "Easy Peezy"; rest I've done. 22:02:40 hmmkay 22:02:56 i MIGHT have done "Colorful Path" 22:03:00 (This was in reverse order of appearance; I was scrolled to the bottom of the list already.) 22:03:07 hmmkay 22:05:42 I'm missing all of those too, unsurprisingly enough. (And a few dozen others.) 22:07:53 -!- zeotrope has joined. 22:11:29 Is there any problem that can't be solved by complaining about it at IRC? I just did Colorful Path now. 22:12:08 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)). 22:18:25 whhmkaty 22:20:45 -!- MigoMipo has quit (Remote closed the connection). 22:31:20 -!- tombom has quit ("Leaving"). 22:36:45 Tried out the silverlighty version with Moonlight 2; the tutorial works, but the puzzle list pages do not, and neither does signing in. The "designer template" links from puzzle.aspx did work, though. 22:40:11 I only tried signing in and the puzzle list pages so I concluded that it doesn't work at all. :-P 22:50:52 Interview OH-VAR 22:52:47 -!- HackEgo has quit (kubrick.freenode.net irc.freenode.net). 22:52:47 -!- mtve has quit (kubrick.freenode.net irc.freenode.net). 22:53:02 -!- mtve has joined. 22:53:03 -!- HackEgo has joined. 23:05:17 whee my ProperlyBufferedInputStream class appears to be working somewhat 23:05:31 now i can do seeks and stuff... i think 23:11:16 -!- FireFly has quit ("Leaving"). 23:11:53 -!- cheater3 has joined. 23:23:35 -!- augur has quit (Read error: 110 (Connection timed out)). 23:27:02 -!- cheater2 has quit (Connection timed out). 23:32:25 memo to self: doing a java project in kwrite is a stupid idea - use kate instead 23:37:46 -!- augur has joined. 23:42:09 ITYM Eclipse 23:42:14 X-D 23:42:35 No. 23:42:37 Just no. 23:42:39 Eclipse is ok if you have a quad-core box with 3G of RAM 23:42:46 Eclipse is bad in all circumstances. 23:42:50 There is no excuse for Eclipse. 23:43:00 it is great for navigating 150kloc projects 23:43:14 That's what grep is for. 23:43:18 uh, no 23:43:20 ^^ 23:43:51 grep doesn't make a nice heirarchy showing relationship between all the classes that implement a method 23:44:09 grep doesn't give you call trees to arbitrary depth, with cycle-detection 23:44:10 You just don't know how to grep. 23:44:24 what? 23:44:27 X-D 23:44:33 plz demonstrate 23:44:40 grep doesn't understand the java inheritance system 23:44:41 At the moment, nothing gives me call trees to arbitrary depth. 23:44:51 well deep depth 23:44:57 Nothing understands C closures. :P 23:44:59 grep --magic java --call-tree Object.toString *.java 23:44:59 like 10 levels deep with no problem 23:45:11 And thunks confuse it greatly. 23:45:32 Gregor: don't do that; you'll make ehird's head explode 23:45:34 pikhq: Surely you mean function pointers? Not nested function (pointers)? 23:45:45 Gregor: Proper closures. 23:45:50 Gregor: Manually implemented. 23:45:54 Ahhhh 23:46:29 (... by way of nested functions that don't use a trampoline, but that's just to make it a bit nicer. Could be done just as well without it.) 2010-01-27: 00:04:04 -!- cpressey has left (?). 00:16:57 -!- Pthing has quit ("Leaving"). 00:17:09 -!- Pthing has joined. 00:20:50 -!- Sgeo has joined. 00:22:56 -!- coppro has quit ("I am leaving. You are about to explode."). 00:24:39 Any non-regulars in here? 00:25:01 I took some pills for that 00:25:32 -!- coppro has joined. 00:25:33 lol 00:25:40 * coppro has quit ("I am leaving. You are about to explode.") 00:25:40 Any non-regulars in here? 00:25:40 I took some pills for that 00:25:40 * coppro (n=coppro@unaffiliated/coppro) has joined #esoteric 00:26:49 lol 00:26:53 I count as a regular now, don't I? 00:27:17 Sure ya do, pooppy! 00:27:41 * Sgeo is waiting for a particular person he invited from Reddit to talk about Robozzle 00:29:24 -!- Rygarb has joined. 00:31:07 -!- Rygarb has quit (Client Quit). 00:33:30 non-regular here 00:33:51 nonregular 00:35:26 * SimonRC goes to bed 00:35:34 Hi Ryg.. 00:35:41 Rygarb was the person I was waiting for 00:38:16 * Sgeo facepalms a few times 00:54:42 i'm an intermittent regular, really 00:54:50 actually, a hibernator 01:03:13 -!- madbr has joined. 01:09:30 Gregor: Many of us are like that, really. 01:12:01 http://filebin.ca/pfbmoy/maybewaltz.ogg <-- what happens when Gregor tries to write a waltz. 01:12:36 Gregor: do you do anything normal with your life? 01:12:44 Define "normal" 01:12:59 answer: he gets on all 3s 01:13:02 coppro: Do any of us? 01:13:28 pikhq: I'm increasingly of the opinion that none of us do 01:13:32 but I keep trying for that hope 01:26:03 Normal == perpendicular to tangent? 01:26:18 Sgeo: In some contexts, yes. 01:26:33 pikhq, what else can normal mean? 01:27:02 And I mean mathematically 01:28:53 normal distribution 01:53:34 -!- augur has changed nick to quantic1e. 01:53:38 -!- quantic1e has changed nick to augur. 01:58:46 -!- MissPiggy has quit. 02:13:49 where is soupdragon/fax? 02:13:52 :| 02:14:23 augur, just left 02:14:45 shes as misspiggy now? 02:15:29 iirc, yes 02:15:40 hm! 02:22:20 -!- oerjan has joined. 02:23:46 It's an FRCer! 02:23:58 Hail, oerjan. 02:24:16 'morn 02:31:33 oerjan's an FRCer? 02:32:09 MWAHAHAHA 02:32:38 Yes, oerjan's an FRCer and an occasional nomic player. Been a while since he was in Agora, though... 02:33:53 for a value of occasional ~ 5, 6 years or so 02:34:09 Hm, that implies oerjan is a _current_ FRCer? 02:34:13 I thought he was a former one? 02:34:46 you can sign out any time you want, but you can never leave 02:35:35 Sgeo: FRC doesn't remove players. They just consider you non-active. 02:37:56 * oerjan would be extremely surprised if the member list has been accurate since - sometime before he left, probably 02:38:12 I'd imagine it's not all that accurate. 02:38:30 I wasn't even aware there's a member list 02:38:35 *Formally* they never remove players, but since the list of players doesn't matter, lazy evaluation tends to take care of that. 02:38:51 coppro: I'm not sure there actually *is* a list. 02:39:06 i suppose that it also a possibility :D 02:39:30 * oerjan is pretty sure he kept such a list at one time. 02:39:47 Well, except in the sense that you can say "There exists a list that contains the players of FRC." 03:12:34 Hmmmmm 03:12:41 p 03:12:43 p 03:12:55 Actually, relistening to this waltz, thinking about it as game background music, it /could/ work. 03:24:21 -!- oerjan has quit ("leaving"). 03:27:33 -!- jpc has joined. 03:32:35 -!- Sgeo_ has joined. 03:39:27 -!- calamari_ has joined. 03:44:55 -!- calamari_ has changed nick to calamari. 03:45:16 Well, saw the PS3 hack... 03:45:20 That's freaking crazy. 03:50:24 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 03:50:40 "And then I drop the memory bus low for 40 ns to avoid the cache writeback from the hypervisor" 03:50:41 -!- kar8nga has joined. 03:55:47 -!- kar8nga has quit (Remote closed the connection). 04:13:33 pikhq: sounds hardcore, what does the hack mean exactly, I mean can it be patched by sony? 04:16:05 zeotrope: By releasing a CPU without a cache. 04:16:32 (that is to say "not only no but fuck no") 04:17:23 time to get a ps3 then? 04:17:45 Get a fat one; the slims don't have Linux support, and he runs the code as a Linux module. 04:17:54 Might be possible otherwise, but it's a PITA. 04:18:02 :( I'm sure they are hard to track down 04:18:09 Requires an arbitrary code execution bug in any extant PS3 program. 04:18:11 No, not really. 04:18:23 Even the PS2-compatible ones aren't too hard to find. 04:18:28 * pikhq picked one up a couple weeks ago 04:18:57 gonna wait and see what they do with it 04:19:14 * zeotrope is totally broke 04:19:25 Peek and poke implies "just about anything". 04:19:58 -!- oraqol has joined. 04:21:07 -!- oraqol has left (?). 04:23:01 his description of the exploit totally went over my head, gotta read up on electronics one of these days 04:28:46 Most of it's software, really. 04:29:23 The only bit of hardware is screwing up the memory bus to prevent the hypervisor from doing the cache writeback right... 04:38:11 -!- Pthing has quit (Remote closed the connection). 05:16:09 -!- Sgeo has joined. 05:30:16 -!- Asztal has quit (Read error: 110 (Connection timed out)). 05:33:19 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 05:34:32 http://filebin.ca/qtqhva/maybewaltzpointdos.ogg (Now with 100% more Gregor!) 05:36:44 where'd that filename come from? 05:36:55 Maybe Waltz Point Two->Es 05:37:07 ah 05:43:19 Any opinions on the second half? Other than "the part that's clearly ripped off from Pachelbel is clearly ripped of from Pachelbel" 05:44:36 INSUFFICIENTLY STOLEN FROM PACHELBEL. 05:44:45 STICK HIS ENTIRE BODY OF WORK IN A SINGLE PIECE. 05:44:53 :P 05:44:59 But make it a waltz? 05:45:11 Make it 4 minutes and 33 seconds. 05:45:37 I sampled that and overlayed it verbatim on top of this. 05:45:40 So you can have the most unique performance of Cage's 4'33". 05:45:45 (Trimmed of course) 06:38:30 -!- madbr has quit ("Radiateur"). 06:39:19 -!- MizardX has joined. 06:43:38 -!- calamari has quit ("Leaving"). 07:02:56 -!- tombom has joined. 07:48:45 -!- oerjan has joined. 07:50:30 -!- tombom has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:05:24 -!- FireFly has joined. 08:15:44 -!- MigoMipo has joined. 08:34:10 -!- oerjan has quit ("leaving"). 08:54:08 -!- MizardX has quit (kubrick.freenode.net irc.freenode.net). 08:54:08 -!- oklo has quit (kubrick.freenode.net irc.freenode.net). 08:54:41 -!- MizardX has joined. 08:54:41 -!- oklo has joined. 09:00:24 -!- jpc has quit ("I will do anything (almost) for a new router."). 09:03:06 -!- MigoMipo has quit (Remote closed the connection). 09:13:37 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 09:49:31 -!- FireFly has quit ("Leaving"). 10:29:13 -!- lament has quit (Read error: 60 (Operation timed out)). 11:10:02 -!- MizardX- has joined. 11:26:09 -!- MizardX has quit (Read error: 110 (Connection timed out)). 11:26:28 -!- MizardX- has changed nick to MizardX. 11:47:55 Gregor: sorta weird ending 12:12:51 -!- oklo has quit (kubrick.freenode.net irc.freenode.net). 12:13:19 -!- oklo has joined. 12:51:06 -!- MizardX- has joined. 12:54:54 -!- MizardX has quit (Read error: 60 (Operation timed out)). 12:55:03 -!- MizardX- has changed nick to MizardX. 13:06:43 why don't text editors have call stacks 13:07:28 if i want to fix a function, then return back to where i was, i have to use my own memory 13:38:57 -!- fizzie has quit (kubrick.freenode.net irc.freenode.net). 13:38:57 -!- EgoBot has quit (kubrick.freenode.net irc.freenode.net). 13:38:58 -!- Gregor has quit (kubrick.freenode.net irc.freenode.net). 13:39:09 -!- EgoBot has joined. 13:39:29 -!- Gregor has joined. 13:56:36 -!- MissPiggy has joined. 14:08:23 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 14:28:31 -!- MizardX- has joined. 14:28:39 oklo: It's unended. 14:41:40 http://www.mail-archive.com/gcc@gcc.gnu.org/msg49113.html Huh. 14:44:19 -!- MizardX has quit (Connection timed out). 14:44:27 -!- MizardX- has changed nick to MizardX. 14:45:34 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)). 14:45:59 -!- MissPiggy has joined. 14:48:44 -!- cpressey has joined. 15:02:13 -!- Pthing has joined. 15:45:35 Help! I promised myself I wouldn't solve a RoboZZle puzzle this morning, and I am 15:45:42 It's a pathetically easy one though 15:49:05 * Sgeo puts in a trivial shorter solution to one he solved a while ago 15:53:07 Having all my past solutions available to me is a big help 15:59:26 If Rygarb comes in, say hi. E's the redditor I've been talking about, and hasn't used non-IM chat before 16:01:03 * MissPiggy did some robozzle today 16:01:36 Why am I not getting ready to go to school? 16:04:12 robozzle does that to you 16:05:18 It's not RoboZZle 16:05:24 RoboZZle's fault right now 16:05:30 I'm going to school later than usual, so 16:07:10 It's messing with my mind, I think 16:07:35 just how much have you been playing it o_o 16:10:23 I meant the "not going to school at the time I'm used to" is messing with my mind 16:10:37 oh heh 16:10:48 ais523 / scarf: i have important matters to discuss. 16:12:01 ais523 / scarf: this time, actual provable progress, not just refined ideas. 16:13:31 Chrome needs a Firefox tab extension, analogous to IE Tab 16:14:26 -!- FireFly has joined. 16:16:56 Sgeo: why? 16:17:15 There are websites that work in Firefox but not Chrome 16:17:22 My school requires use of one such site 16:17:55 is that because the websites use browser sniffing? or what exactly 16:18:27 the IE tab makes sense because IE is so god damn broken 16:19:03 i guess that might be interesting to the public as well: an append function in clue has been compiled, although there's no parser yet 16:19:06 http://www.vjn.fi/pb/p666553643.txt 16:19:13 compiles, although parsing has to be done manually 16:19:31 zeotrope, it also says it doesn't work with Safari, so maybe it's an issue with Webkit 16:20:07 it's an append function programmed by giving suitable examples of how it should work 16:20:57 what are the numbers? 16:20:59 compiles in 0.03 seconds without any sort of optimization (purely brute force search) 16:21:03 MissPiggy: they are just numbers 16:21:25 how do you read it? 16:21:34 examples of how append should work, "[2,5,7],[3,6,8] -> [2,5,7,3,6,8];" means "given the lists [2,5,7] and [3,6,8], output [2,5,7,3,6,8]" 16:21:51 this produces a function that appends any two lists 16:21:58 wow how does it work? 16:22:00 after compilation 16:22:11 it works by finding a clever set of examples 16:22:35 basically while the actual functions and computation is completely brute force searched, the recurrence isn't, you give that. 16:22:45 ah you have actually divided it into base and recursive cases 16:22:56 yes 16:22:57 and 16:23:07 i've also linked to each recursive case a subcase, stuff it should recurse to 16:23:37 so you never have to "recurse into darkness", just use cons, car and cdr randomly 16:24:18 this is the only way i've found that makes the concept implementable without having a strongly optimizing compiler from the start 16:24:28 okay 16:24:46 does it use types to guide the search? 16:25:05 no. but obviously it will. 16:25:17 wow I am surprised this works without being type directed 16:25:31 well, it uses types in the sense that if a function fails, the result is ignored, but i don't use type for any sort of optimization yet 16:25:58 there are many (natural) cases where types completely remove the combinatorial explosion 16:26:29 in fact, i think once you can introduce your own types, this might actually become "practical", by which i mean you might be able to program like an actual program 16:27:12 what about strange recursion patterns? 16:27:27 like what about zipping two lists, or splitting one list into even and odd parts? 16:27:46 you can have an arbitrary number of examples, and an arbitrary number of subcases 16:28:01 and an arbitrary number of branches, although all functions can only branch once, in the beginning 16:28:03 AAAAAAAAAAAAAAARGH 16:28:07 my monitor died 16:28:11 using laptop atm 16:28:27 seems like the background light on my desktop is dead 16:28:36 also no warranty any longer 16:28:37 there are many subtleties to this, and i'm planning to write a comprehensive spec, which might actually happen now that i've seen this really works 16:28:54 how do the examples come into it? 16:29:02 come into what? 16:29:13 I mean, could you just as easily replace them with a generator and checkable specification 16:29:19 into the program generation 16:30:11 the idea is you give just enough examples to find the right function. there's a separate sort of example that can be used for testing the result 16:30:34 (which i haven't implemented yet, but obviously it's just a few lines) 16:31:34 do you mean could i get rid of examples, and instead have specifications for how functions should work abstractly, like some sorta assert? 16:32:17 -!- BeholdMyGlory has joined. 16:32:56 {:. [2,5,7],[3,6,8] -> [2,5,7,3,6,8]; 16:32:56 : [5,7],[3,6,8] -> [5,7,3,6,8] 16:33:14 this is really the most interesting part, the rest is just filler 16:33:47 i don't know how a generator would guide the recurrence exactly 16:39:23 I was just thinking if you could generate inputs and outputs then check they are correct 16:39:52 you could, but you could only use that for testing, not actually making new functions 16:42:00 well at least with this system 16:42:37 in clue, i do not plan to make the language understand what objects are smaller than others in the sense of inductive construction of objects 16:42:58 that is, a human will know [1,2] should not recurse to [1,2,3] usually 16:43:03 but to [1] 16:43:09 because [1] is smaller than [1,2] 16:43:51 this is made general by making a new type that's constructed inductively in some other way, and adding an isomorphism between the two types 16:44:01 but that all is for another project 16:44:46 or, rather, that one trivial idea i just mentioned. 16:47:30 * Sgeo needs to get ready to go to school 16:47:58 when do you have school exactly? 16:48:52 i usually start getting ready 5 minutes after i have to leave 16:48:59 -!- oklo has changed nick to okloNEVERMORE. 16:49:07 wait that was too random 16:49:09 -!- okloNEVERMORE has changed nick to oklopol. 16:50:30 3:30 local time. To make it there in a timely fashion, I want to leave the house by maybe 12:20 16:50:48 in half an hour? 16:50:55 And I'll get there an hour or so early, assuming no bus screwups 16:51:07 Yes. But I still haven't showered, shaved 16:51:13 I think I'm going to skip shaving today 16:51:20 yeah shaving is for girls 16:51:24 just let it live 16:52:29 Not shaving is awesome. 16:52:55 My monthly shaving ritual allows me to use a single disposable razor for ~six months. A pack lasts me years. 16:53:29 I (as of earlier this week) became addicted to shaving every day 16:53:34 Now, because of time concerns, I can't 16:53:49 Time concerns completely caused by me being online right now 16:53:57 I've yet to shave :D 16:54:03 Maximum money saving 16:54:18 put physics into your prorgam oklopol and get a unfied theory output 16:54:43 * Sgeo plucks out an eye and gives it to MissPiggy 16:55:41 yeah i just need a few examples of how particles move 16:56:48 Eeep, it's late 16:57:01 man, just chill... 16:57:31 Bye 16:57:40 byes 17:03:46 -!- Asztal has joined. 17:12:33 -!- tombom has joined. 17:19:56 Deewiant, btw mycology tests o even if y claims it isn't supported. This seems wrong to me 17:21:26 -!- oerjan has joined. 17:22:54 -!- cpressey has quit ("Leaving."). 17:23:48 AnMaster: Didn't we go over this and it says UNDEF now? 17:23:57 Or was that a separate issue 17:24:02 Deewiant, well the issue would be that it *tries* it at all 17:24:12 if i want to fix a function, then return back to where i was, i have to use my own memory 17:24:17 or rather, could potentially be 17:24:17 vim has a tag stack 17:24:23 AnMaster: And like I said we went over this 17:24:30 oerjan: cool. does anyone ever use it? 17:24:42 Getting it to not try it is nontrivial and I'm not in the mood for something nontrivial :-P 17:24:51 Deewiant, what if you do like the _POSIX_WHATEVER* define on openbsd for mmap? basically openbsd implements mmap() but not all details of it 17:25:03 heck if i know, except the help system seems based on it 17:25:05 thus it doesn't define the posix define for supporting it 17:25:16 Deewiant, see my point? 17:25:30 i understand for programs you need to preprocess the file first 17:25:52 AnMaster: No, not at all. What is it? 17:25:54 oerjan, also about tags. do you mean ctags? 17:26:10 i think so 17:26:29 Deewiant, that not claiming that it has o doesn't imply that it doesn't have a partly working o 17:26:54 Argh, triple negative 17:27:08 :D 17:27:13 Deewiant: are you on drugs? 17:27:14 Deewiant, thus if you implement it differently but claims you don't have o, you could get BAD 17:27:26 oklopol: Not to my knowledge 17:28:04 Deewiant: was just wondering about your not liking nontrivialities atm 17:28:15 Deewiant, for example you could claim not to have o, but have an o that doesn't perhaps support the text mode 17:28:22 i'm sure you usually *love* triple negatives 17:28:23 or only supports text mode 17:28:24 AnMaster: But then you would know that you have a half-implemented o and thus could disregard the error. 17:28:32 Deewiant, true 17:28:39 oklopol: No, actually I don't usually not hate them 17:29:04 Deewiant, that sounded awkward grammatically 17:29:07 AnMaster: Besides, having a half-implemented o like that is probably not very likely :-P 17:29:17 no it didn't 17:29:27 Deewiant, well yeah "no text mode" is more likely than "no binary mode" 17:29:35 your mom sounded awkward grammatically in bed last night 17:29:38 I mean in general 17:29:52 Why would you have a half-implemented o if you're going to report that you don't support it at all 17:30:00 Deewiant, well cfunge used to have no text mode for a long time iirc, mycology doesn't test that afaik 17:30:47 It does test it but because i ignores spaces it's impossible to test it automatically, so it asks the user to verify 17:31:09 Deewiant, hm what about binary mode for i 17:31:45 Still ignores spaces 17:32:13 Deewiant, also no it doesn't test it, since I'm implementing o in efunge atm, and text mode throws an exception. However it passes mycology just fine 17:32:44 Okay, so it just prints a message then 17:33:16 AnMaster: hm, vim can also support emacs style tag files 17:33:21 Deewiant, yeah: 17:33:23 "Can't test o in linear text mode: i ignores spaces, no way to know from within standard Funge-98 whether they are output to file." 17:33:37 oerjan, I don't use etags either 17:35:01 well those are the styles i have heard about (because vim supports them, probably) 17:35:14 oerjan, well yeah I don't use *tags... 17:35:27 well i don't either 17:35:45 anyway what oklopol wanted sounds closer to bookmarks 17:36:01 which I believe almost all "more advanced than notepad" editors support 17:36:25 you mark a line then you can jump to it 17:36:31 why don't text editors have call stacks <-- the line before the one i quoted 17:37:25 and [ce]tags is essentially using a program to create bookmarks for all functions in a program file, afaik 17:37:42 yeah but I prefer a specific line usually 17:44:29 -!- zeotrope has changed nick to zoetrope. 17:45:01 -!- zoetrope has quit ("leaving"). 17:49:36 bookmarks? what if i'm in function f, and want to fix f, then return to f? 17:50:04 well okay, obviously i could still use the bookmark for f. still, that doesn't solve the problem 17:50:10 in fact it has nothing to do with it 17:50:23 i don't mind searching for f, i do mind trying to remember where i was 17:50:31 well having to try 17:53:36 -!- augur has quit (Read error: 113 (No route to host)). 17:54:22 oh, it seems vim has a stack (or list) for marks as well 17:54:57 or any jump 17:55:10 * Sgeo missed the bus he wanted to take 17:55:48 so where are you now? 17:55:52 At home 17:55:52 another bus? 17:56:05 1:20 then? 17:56:14 1:09 17:56:26 is this the c++ thing 17:56:37 Um, I have that class later in the day 17:56:43 First is a Psychology class 17:56:52 ...phychology? 17:57:01 is this high school 17:57:05 i mean 17:57:06 that other thing 17:57:37 or actually i guess high school 17:58:03 This is college 17:58:24 are you 17 or something? 17:58:32 20 17:58:36 ...what? :P 17:58:43 hmm 17:58:56 I'm taking a mix of early and late courses 17:59:07 >.> 17:59:14 i think i've misremembered your age before as well, i have a recall of you saying you're 15 a few years ago 17:59:55 I doubt I would have shared my age 5 years ago 17:59:56 my brain doesn't like change 18:00:03 i wasn't here 5 years ago 18:00:29 Anyway, off to catch a predit.. bus 18:00:37 Deewiant, how should o work with respect to values greater than 255? 18:01:29 Deewiant, either I can do % 256 or I can treat it as an unicode codepoint. The latter means it may reflect if it isn't a valid codepoint (for example, it is a number reserved as a surrogate pair or such) 18:01:46 UNDEF 18:01:56 Deewiant, how does ccbi handle it btw? 18:02:17 % 256 18:02:48 hm 18:03:10 probably a better idea, you might want to output non char data 18:05:48 -!- augur has joined. 18:17:13 Deewiant, oh btw you are missing a test for binary o 18:17:21 you check that no more than expected columns are included 18:17:26 but you are not doing the same for rows 18:17:40 took me a while to track down why some other things weren't working 18:17:45 since I had that exact bug 18:19:37 IIRC, the condition for valid unicode codepoint x is: ((x >= 0 AND x < 0xD8000) OR (x >= 0xE000 AND x < 0x10FFFF)) AND (x & 0xFFFE != 0xFFFE). 18:19:43 -!- cpressey has joined. 18:23:29 Ilari, actually it need to be 1) valid 2) representable in UTF-8 18:23:38 anyway I'm treating it as binary % 256 now 18:23:48 UTF-8 is a binary encoding, it can represent anything. 18:23:58 Deewiant, eh? 18:24:06 sure? 18:24:17 iirc there are some of the higher planes or something 18:24:31 or was that UTF-16= 18:24:34 s/=/?/ 18:24:52 The standard limits it to 0x10ffff (formerly 0xffffffff) but the idea of UTF-8 can be extended to any value 18:26:15 All those codepoints can be represented by UTF-8 (unicode only goes up to plane 16 (17th plane)). 4-byte UTF-8 would go up to plane 31. 6-byte UTF-8 (older form) would go up to plane 32767. 18:26:36 -!- augur has quit (Read error: 110 (Connection timed out)). 18:26:48 BMP is plane 0. 18:28:01 Ilari, what is the "AND (x & 0xFFFE != 0xFFFE)" bit about 18:28:36 All planes have two final code points which are assigned to noncharacters 18:28:45 ah, but why= 18:28:47 s/=/?/ 18:28:58 Something wrong with your shift key today? :-P 18:28:59 BOM? 18:29:28 Deewiant, I'm on my laptop, slightly different key placement. I use my desktop more 18:29:30 BOM for the first plane, doesn't seem to make much sense for the others though 18:29:41 reason for this is that the backlight died in desktop monitor this evening 18:29:49 so I have to buy a new one tomorrow or something 18:30:00 which is highly inconvenient 18:30:13 Deewiant, well yeah 18:30:27 Deewiant, does BOM manage to detect PDP endianness btw 18:30:54 There is no such thing as PDP endianness for UTF-16 or UTF-32 18:30:54 Should work if its UTF-32... 18:31:12 Deewiant, there should be 18:34:31 -!- augur has joined. 18:46:34 UTF-32 BOM in PDP-endianess would be '00 00 FE FF'. Little endian would be 'FE FF 00 00' and big endian '00 00 FF FE'. 18:48:26 UTF-32 BOM would contain sufficient information about byte order for decoding any valid unicode codepoint correctly, no matter what the byte order. 18:49:24 The tricks would only work if there are no characters above plane 255, but Unicode doesn't allow that anyway. 18:52:57 For UTF-16, PDP endianess and little endian are the same. 18:54:58 and UTF-8 has no endianness, no matter what Microsoft thinkgs 18:55:00 *think 18:55:02 *thinks 19:03:58 coppro, indeed I know that 19:04:25 I know. I just wanted to complain about MSFT 19:04:35 Ilari, what about PDP but with the first two bytes exchanged? XD 19:04:59 you said "no matter what the byte order." but maybe you meant "existing byte order" 19:05:13 coppro, why the FT btw 19:05:23 FT? 19:05:27 in MSFT 19:05:40 oh, that's their ticker symbol 19:05:59 yeah but why 19:06:16 because? 19:06:19 meh 19:21:55 "No matter what byte order" includes all 24 possible byte orders for UTF-32. 19:25:01 how is abcd distinguishable from bacd 19:25:10 you get double zero leading the file either way 19:25:34 Would be if the BOM were FEFF0102 or some such. 19:25:42 yeah 19:25:51 ... Oh, except that'd overlap with other chars. 19:26:07 FEFFFCFD might not. 19:26:17 it would too 19:26:32 coppro: How so? 19:26:47 Is FC or FD the top of the private usage range? 19:27:04 U+FFFD is � 19:27:14 UTF32. 19:27:34 what about it? 19:27:55 It won't consider FFFDFCFE or FFFDFEFC as "U+FFFD". 19:27:57 oh 19:27:59 right 19:28:02 yeah, that would be safe then 19:28:06 It'll consider it as U+FFFDFCFE or U+FFFDFEFC. 19:28:06 since you're never even in a valid plane 19:28:21 but then it wouldn't be a legal character 19:28:33 Oh well. 19:28:56 The only point of the BOM is to indicate the byte order. It's really just metadata for the UTF. 19:29:01 yeah 19:33:27 hm I should read stdarg.h 19:33:30 it should be fun 19:34:14 argh it uses __builtins 19:45:43 typedef __builtin_va_list __gnuc_va_list; 19:45:45 wtf 19:45:57 a intrinsic type? 19:45:59 an* 19:46:45 * AnMaster prods pikhq 19:47:25 AnMaster: Yeah, GNU C has a lot of additional intrinsics. 19:47:40 pikhq, I thought they were all function-like 19:47:40 Particularly for stdarg.h 19:47:59 but a type like one is messy 19:48:27 Nope. Good number of intrinsic types. 19:48:35 pikhq, other ones? 19:48:36 like? 19:50:17 Vector types. 19:50:21 __label__ 19:50:26 pikhq, that one is the only case of typedef and __builtin on the same line in /usr/include, /usr/lib/gcc/*/*/include 19:50:42 pikhq, aren't they made using __attribute__s iirc? 19:51:00 Oh, right. The vector types are __attribute__s on int. 19:51:12 like float foo __attribute__((something)) 19:51:17 pikhq, not float? 19:51:54 float is also valid. 19:52:02 That's a float vector rather than an int vector. 19:52:23 yeah 19:52:29 double should be valid too 19:52:55 probably char/short/long as well 19:53:07 and long long I guess 19:54:16 There's the complex types. 19:54:42 _Complex int = 3i; 19:54:54 Erm. 19:54:57 _Complex int foo = 3i; 19:55:14 that sounds complex ;] 19:55:23 __real__ foo == 0, __imag__ foo = 3. 19:55:53 hm 19:56:09 pikhq, hrrm, why not add __builtin_ to it? 19:56:21 or rather: why add it to va_list 19:57:49 also why did they add complex arithmetic to C99 19:58:02 I mean, it isn't very hard to implement it manually 19:58:27 It's an extension to C99's complex arithmetic support. 19:58:43 (C99 has complex floats) 19:58:50 pikhq, I know it does 19:58:58 that was the bit I was questioning 19:59:20 It's also a bit old... 19:59:31 Predates C99. 19:59:59 pikhq, well C89 didn't 20:00:03 but I guess some system had it 20:00:30 It's GNU C. 20:00:40 erhm 20:00:41 They add a lot of stuff. 20:00:55 iirc gcc doesn't fully support C99 complex math 20:01:29 a C99 predator 20:01:36 -_- 20:03:12 It appears that it doesn't work in 4.4, but it does work perfectly in trunk. 20:03:14 So, 4.5. 20:04:13 brb, need to disconnect a cable temporarily, that would usually work but ubuntu is too smart and senses the cable is unplugged 20:04:35 yeah, lost connection to the bouncer 20:19:22 pikhq, btw did you know erlang both allows you to use - as the infix substraction operator but also (with some trickery) allows function names like: is-number? 20:20:00 What's the trickery 20:20:01 (IOCCC-esque hack warning) 20:20:11 Deewiant, function names are just atoms 20:20:37 atoms are normally: [_a-z][_A-Za-z0-9] 20:20:43 but you can use ' to quote 20:20:54 to allow any string for an atom 20:21:00 like 'My foo-atom' 20:21:01 he speaks the truth 20:21:25 coppro, I tried, it works to have '' (the empty atom) as a function name 20:21:28 That's not really trickery nor allowing f-2 as a function name 20:21:29 also, spaces 20:21:30 :D 20:21:34 It's allowing 'f-2' 20:21:41 Deewiant, yes but that is just syntax 20:21:48 Function names are just syntax 20:21:49 the actual function is called f-2 20:21:53 if you turn 'f-2' into a string, you get "f-2" 20:21:58 coppro, yep 20:22:01 just as if you turn f into a string, you get "f" 20:22:13 yes indeed, atom_to_list/1 I believe? 20:22:24 coppro, also module names 20:22:25 I expected something context-dependent that would allow f-2(x) or something 20:22:31 yeah 20:22:38 That's just allowing quoted names 20:22:40 coppro, but loading .beam didn't work iirc 20:22:44 Which isn't really that exciting 20:22:46 makes sense 20:22:47 ?? 20:22:48 nor ''.beam 20:22:56 ah erlang 20:22:57 atoms are awesome generally 20:23:02 coppro, well yes 20:23:05 this is inherited from prolog 20:23:18 coppro, except one point which I'm quite sure you are also familiar with 20:23:20 where you can do stuff like x 'is the same as' y 20:23:23 and I hope they really fix 20:23:29 which point is that? 20:23:36 it's been a while 20:23:42 coppro, pool, not gced 20:23:51 ah, right 20:23:51 yeah the upper limit is huge 20:23:53 yeah 20:23:53 but still 20:24:01 that's annoying 20:24:12 means you have to be careful what you list_to_atom, if at all 20:24:21 coppro, there is list_to_existing_atom 20:24:29 also you don't do that sort of thing anyway 20:24:48 I've done it 20:24:51 coppro, why= 20:24:55 s/=/?/ 20:25:00 to generate multiple unique atoms from a single one 20:25:06 by appending/prepending something 20:25:07 hah 20:25:34 not based on input though 20:25:40 Deewiant, btw it isn't shift that is an issue. it is the difference between (normal/shifted): 0= and +? 20:26:00 (that was for the benefit of those with other keyboard layouts 20:26:13 Right you are, my bad 20:26:15 coppro, good 20:27:09 Deewiant, which is strange since the "main" key area have fully sized keys on thinkpads 20:28:11 coppro, oh btw another cool thing that I think is undocumented 20:28:20 erlang:'+'/2 20:28:22 that exists 20:28:29 you can see it doing erlang:module_info() 20:28:40 and + is just sugar? 20:28:46 coppro, don't think so 20:29:00 coppro, or rather: I don't know 20:29:21 coppro, but if it is sugar, then the internal way is undocumented 20:29:33 would be awesome if you could overload like that 20:29:42 coppro, overload what? 20:29:58 anyway, it could be 20:30:01 operators, by creating a function named like the operator 20:30:04 if it is auto imported 20:30:15 coppro, go try it out 20:30:21 I will later 20:30:24 but if it *is* auto imported 20:30:28 I have no idea what would happen 20:31:32 coppro, also if it is overloadable like that, how would it interact with guards 20:31:41 Oo 20:31:57 coppro, you just realised? :D 20:32:05 yeah 20:32:16 coppro, and I don't even want to think what would happen with HIPE 20:32:23 think about* 20:32:33 -!- jpc has joined. 20:32:47 coppro, maybe it would break all guards using +? 20:32:58 maybe 20:33:08 maybe it would give nondeterministic guards O_o 20:34:46 coppro, or maybe overriding it won't work 20:35:06 coppro, as in, + -> erlang:'+' not '+' 20:35:15 yeah 20:35:22 that seems most likely 20:36:27 if it's inherited from prolog, then operator + should be the same as '+'/2, i think 20:36:38 Deewiant, anyway about those function names, you couldn't quote ++ as a function name in C 20:36:52 You can't quote any names in C, yes 20:37:04 Deewiant, nor most other languages I know 20:37:15 You can't quote just about anything in LLVM, I think 20:37:16 apart from prolog and possibly some lisps 20:37:20 Er 20:37:21 Can 20:37:26 Deewiant, well okay 20:37:34 but what about high level languages 20:37:47 then I only know of erlang, prolog and various lisps 20:37:51 (with 'foo) 20:38:02 Lisp-derivatives and Prolog-derivatives, yes :-P 20:38:09 if it's inherited from prolog, then operator + should be the same as '+'/2, i think <.. 20:38:11 Maybe Perl, it sounds like the kind of thing it could do 20:38:14 that is what we talked about 20:38:21 Deewiant, okay that's a good point 20:38:29 don't know enough perl to know the answer to that 20:38:30 lisp 'foo isn't really the same thing, you cannot put special things in foo 20:38:38 oerjan, oh true good point 20:38:44 it's just an abbreviation for (quote foo) 20:39:03 Deewiant, you can't make a function called f(o)o in lisp 20:39:36 you can probably do it with the gensym function? 20:40:03 oerjan, doesn't that generate guaranteed unique ones for macros? 20:40:06 or do I misremember 20:40:17 hm maybe i do 20:40:25 in erlang you can even make arbitrary module names 20:40:38 except of course that the null atom breaks badly when trying to load the module 20:40:47 (as in, it can't locate the matching file) 20:41:27 oh and the compiler messes up the name of the file too iirc 20:46:04 -!- oerjan has quit ("Good night"). 20:50:53 where is ehird 20:50:56 Why does GCC suck so bad at error messages? 20:51:10 probably because it's difficult to do good reports on C 20:51:31 "Hmm, that's a very large macro usage. I should report all errors on it as being from the first line." 20:55:53 "Error: initializer element is not constant". Yeah, eff you. 20:56:57 How is there an initialiser in a macro declaration, anyways? 20:57:36 Oh, that's how. It decides sometimes to give a line number from the macro declaration rather than the macro usage. 20:57:38 -!- comex has changed nick to fag. 20:57:40 But only sometimes. 20:57:44 -!- fag has changed nick to comex. 20:57:52 very rare event coming up! 20:57:58 extremely rare even 20:58:22 second time in about 7 years. that is how rare. 20:58:47 AnMaster: ? 20:58:56 AnMaster just says that every 7 years 20:58:57 pikhq, replacing batteries in a TI-83+ 20:59:27 if you had any similar TI calculator you know what I mean 20:59:40 MissPiggy, I don't think I was on IRC seven years ago 21:00:54 main.c:112:1: error: pasting ""S"" and "_thunk" does not give a valid preprocessing token 21:01:06 Yes... Because I wanted you to stringise that silently. 21:01:07 Of course. 21:01:18 pikhq, what did you do 21:01:38 AnMaster: name##_thunk 21:02:34 pikhq, isn't it # 21:02:39 wait no 21:02:42 I'm just tired 21:03:02 GCC is quite terrible at error messages. 21:03:03 static void *__LAMBDA__I_thunk (void*c) { { { return ({ void* __LAMBDA__ (void *_, closure x) { { printf("I thunk (%p)!\n", x); return x; }; }; closure _x = ({ closure _x = xgc_malloc; _x->func(_x->close, sizeof(struct closure)); }); *_x = (struct closure){ __LAMBDA__, ((void *)0) }; _x; }); }; }; } static struct closure __LAMBDA__I_thunk_ = { __LAMBDA__I_thunk, ((void *)0) }; static closure I_thunk = &__LAMBDA__I_thunk_;; static struct th 21:03:12 Then again, I'm not sure how to give useful ones on that. 21:04:53 pikhq, agreed 21:05:00 pikhq, still doing stuff on it? 21:05:59 pikhq, care to give me the last working header file? 21:06:08 also you should host this project somewhere 21:06:34 AnMaster: I'm using it to write a SKI interpreter. 21:06:52 pikhq, wonderful :D 21:07:00 It's kinda nasty when being lazy. 21:07:03 So many thunks... 21:07:05 pikhq, haha 21:09:51 main.c:83: warning: initialization from incompatible pointer type 21:11:14 That, of course, means "main.c:83-112: or main.c:9-14: or main.c:16-21: or main.c:23-27: or lambda.h:7-13: or lambda.h:15-24: warning: initialization from incompatible pointer type" 21:18:19 -!- cheater2 has joined. 21:21:50 -!- augur has quit (Read error: 110 (Connection timed out)). 21:27:44 -!- coppro has quit (Remote closed the connection). 21:28:25 -!- coppro has joined. 21:34:12 -!- cheater3 has quit (Connection timed out). 21:35:35 * pikhq wonders what's segfaulting. 21:36:54 All I know is that a complete call trace isn't helping that much. 21:39:45 it's probably a bug in the program you're running 21:42:39 I was going to suggest a bug in a syscall 21:42:58 probably the io multiplexing isn't working 21:45:08 olsner: I'm trying to figure out a bug *in my code*, so yes... 21:45:45 pikhq: ok, then it's either a kernel bug or a hardware problem 21:46:36 olsner: Clearly. 21:46:44 I write perfect C, after all. 21:47:25 hmm, not so sure about you, but I do 21:48:53 -!- augur has joined. 21:49:32 pikhq, single stepping? 21:50:09 pikhq, and if s doesn't help, then try si 21:50:18 (that would be painful though) 21:50:40 int x = void; goto x; <-- my perfect C. 21:51:24 cpressey, some weird gnu extension? 21:51:58 cpressey what does it mean? 21:51:59 I have a vague memory of ais declaring the stack pointer or something such as a void variable 21:52:00 -!- cheater3 has joined. 21:52:08 No, it's just poetry. 21:52:09 in his gcc-bf runtime code 21:52:28 cpressey, then I doubt it is valid :) 21:52:45 I lurve that you can write Cish nonsense and people go "is that a GNU extension?" 21:52:51 Yes, GNU has made void a value :P 21:52:58 It's like JavaScript's undefined 21:55:23 AnMaster: Single stepping through a Boehm GC collection. 21:55:24 Gregor, don't think gcc's void can be used like that 21:55:29 pikhq, yeargh 21:55:44 pikhq, try valgrind.. wait doesn't work on boehm-gc 21:55:47 * Gregor bashes his head into a wall. 21:56:08 Gregor, in fact I never seen gcc's void value documented 21:56:24 -!- cheater2 has quit (Connection timed out). 21:56:25 I'll try that again. 21:56:39 * Gregor headbutts AnMaster, Zidane-style. 21:56:49 define:Zidane 21:57:05 Final Fantasy IX|ファイナルファンタジーIX|Fainaru Fantajī Nain is a console role-playing game developed and published by Square (now Square Enix) as the ninth installment in the Final Fantasy series. ... 21:57:06 en.wikipedia.org/wiki/Zidane_(Final_Fantasy) 21:57:07 hm okay 21:57:18 lawl 21:57:31 Gregor, doesn't mean much to me. iirc I played some final fantasy game in zsnes though 21:57:38 could have been 1 or 3 or something like that? 21:57:49 Can somebody else please lawl along with me at how little AnMaster understands wtf I'm talking about? :P 21:58:00 Lawl. 21:58:04 Lawl 21:58:04 Thank you. 21:58:13 Gregor, well I realise that you found it funny that I didn't "get the joke" to begin with 21:58:15 but in fact I did 21:58:22 I was just more interested in serious bit 21:58:27 about what gcc void actually is 21:58:39 Gregor, which is why I selected to concentrate on it :P 21:58:57 http://en.wikipedia.org/wiki/2006_FIFA_World_Cup_Final 21:58:58 AnMaster: You compounded that by somehow being ignorant of the Zinedine Zidane headbutt incident, which even I, an American, am not ignorant of. 21:59:16 Gregor, mhm? 22:00:19 Gregor, ah googling for zidane *and* headbutt gave some more relevant results 22:00:31 Gregor, however then I have to tell you: I hate team sports 22:00:39 there is nothing more boring to watch 22:00:46 (as for playing such, that would be hell) 22:00:53 Gregor, for sport I prefer Aikido 22:00:58 I'm in a country that /doesn't even call that sport by the right name/ :P 22:01:08 Gregor, well yeah and? 22:01:19 Gregor, I haven't watched football for over 10 years I think 22:01:25 and then only for a few minutes 22:01:33 just to see what all the fuss was about 22:01:45 even /I/ know 22:02:42 coppro, and? 22:02:59 point is, I never even reads the sports pages in the morning news paper 22:03:03 what do you expect 22:03:12 neither do I 22:03:21 oh wait you americans doesn't read newspapers at all (mostly) 22:03:22 ;P 22:03:34 I am not American, and I do read the newspaper 22:03:37 I also listen to the radio 22:03:57 coppro, well not being American explains it 22:04:01 what country are you from 22:04:05 Canada 22:04:11 also I listen to the classical music channel 22:04:13 ;P 22:04:15 bbl 22:04:31 (well, technically I'm American. But people never ever use that word correctly :( ) 22:05:36 coppro: We of the US claim the continent for our own. 22:05:40 Yes, the whole thing. 22:05:50 pikhq: I thought you were Canadian? 22:05:58 No. 22:06:01 oh 22:06:11 Just a bitter USian. 22:06:11 * coppro wonders why he thought that, then 22:06:35 pikhq: so that's why you send all the Mexicans home? 22:06:46 pikhq: You mean the whole landmass. 22:06:54 also, what about South America? 22:06:57 We get South America too, although we don't like them damn Mexi-cans. 22:07:15 Gregor: Right, right. 22:07:37 And we would like to claim the other landmasses, too. 22:07:45 We have a base on every one! 22:09:54 (well, technically I'm American. But people never ever use that word correctly :( ) <-- true 22:10:07 USian just sounds funny. 22:10:09 but that is because saying "USian" is rather hard 22:10:10 yeah 22:10:14 and funny 22:10:18 Youzhian 22:10:23 pronounce it like "ASian", except with a u 22:10:29 Gregor, no z there? 22:10:35 in either asian or yousian? 22:10:36 I was using "zh" as the voiced version of "sh" 22:10:47 Gregor, is this something usian=? 22:10:50 No 22:10:51 s/=// 22:10:53 That's something Gregoran. 22:11:11 Gregor, or to let me rephrase it: "RP?" 22:11:15 oozhan 22:11:34 Susan who? 22:11:40 cpressey, hdehe 22:11:41 -!- Sgeo|web has joined. 22:11:41 hehe* 22:16:16 Python: like or dislike? 22:16:46 meh 22:16:49 (I'm trying to decide, myself, y'see. And I Value Your Input.) 22:17:13 I think I agree with coppro. 22:17:34 cpressey, better than many languages, worse than many 22:17:49 an average performer in scripting languages 22:17:50 cpressey, love 22:18:20 cpressey, you can actually get used to the indention. (everyone knows the erlang way of doing it is superior ;P) 22:18:23 as a quickie scripting language, it's good 22:18:23 AnMaster, besides lambdas, how could Python be considered "worse" than a programming language? 22:18:34 Sgeo|web, well it is imperative 22:18:36 Sgeo|web: prototype model? 22:18:39 *aother 22:18:42 coppro: hm? 22:18:49 you can redefine objects on a whim 22:18:53 Sgeo|web, also no tail recursion 22:19:08 AnMaster, isn't that just an implementation issue? 22:19:11 lets say, python is way better than php, java, perl and many other languages 22:19:11 AnMaster: I actually like the indentation rule, mostly. 22:19:12 there's no encapsulation 22:19:23 Sgeo|web, ...? the imperative bit isn't just implementation 22:19:27 the tail recursion is 22:19:29 for a language that claims to be object-oriented, that's pretty bad 22:19:32 AnMaster, I meant the tail recursion 22:19:34 coppro, and that 22:19:37 -!- tombom has quit ("Leaving"). 22:19:40 Sgeo|web, still it is imperative 22:19:52 also what coppro said about OO 22:20:10 also python 2 -> 3 broke stuff badly 22:20:11 def foo: pass \ SomeClass.__internal_function = foo 22:20:27 you wouldn't see that kind of change between revisions of C 22:20:29 for example 22:20:47 also __slot__ or whatever it was 22:20:47 AnMaster: Python 3 should have an entirely different name. So should Perl 6. And Lua 5.1 should have been Lua 6. 22:20:49 (yeargh) 22:21:05 cpressey, thankfully I managed to avoid lua mostly 22:21:12 I do not have an issue with intentionally breaking backwards-compatibility; py3k was fine 22:21:13 for perl I just gave up 22:21:28 (too much syntax) 22:21:37 yeah 22:21:45 I believe the right amount of syntax lies somewhere between perl and lisp 22:21:49 lol 22:22:04 AnMaster: ... isn't that essentially the entire range? :) 22:22:04 so... basically there is a right amount of syntax somewhere? 22:22:13 cpressey, exactly 22:22:18 * coppro wants a more unixy language 22:22:18 coppro, yep 22:22:23 coppro, shell 22:22:32 no, a real language 22:22:46 bash is hardly unixy in any case 22:22:46 APL might have "more syntax" than Perl 22:22:51 but not by much 22:23:03 coppro: There's no encapsulation in C++, either. :P 22:23:13 * coppro swats pikhq 22:23:23 coppro, real? 22:23:34 cpressey, I prefer one I can write on a normal keyboard 22:23:45 coppro, as in 22:23:49 define "real" 22:23:49 AnMaster: a shell's facilities are all provided by external utilities 22:23:50 language 22:23:55 coppro, not really 22:24:02 * Sgeo|web has a Data Structures class at 6:30 local time 22:24:02 coppro, much of envbot is written in bash 22:24:08 The language used will probably be C++ 22:24:10 heck you can even do the tcp/ip in bash 22:24:13 * Sgeo|web shoots self 22:24:27 AnMaster: without calling any foreign executables? 22:24:35 coppro, unless you are on debian yes 22:24:38 It occurs to me that when I forget most of what I know about a language, I start hating it 22:24:39 Oo 22:24:40 Sgeo|web: You have my condolences. 22:24:44 coppro, bash has the pseudo device /dev/tcp 22:24:51 coppro, compile time option 22:24:59 O_o 22:25:03 coppro, see man page 22:25:08 man bash that is 22:25:17 as I said though, bash really isn't unixy 22:25:20 you use exec to open it on a fd 22:25:27 coppro, feel free to /msg envbot 22:25:30 * Sgeo|web also has a non-existent C# project outside of school 22:25:31 I believe 22:25:34 -commands 22:25:35 AnMaster: I believe you 22:25:39 I'm just saying it's not unixy 22:25:39 is a good place to start 22:25:49 coppro, it supports reloading modules on the fly 22:25:57 it uses unset to unload modules 22:26:01 source to load tem 22:26:02 them* 22:26:10 also it returns variable using printf -v 22:26:17 which I believe pikhq translated to tcl once 22:26:25 pikhq, wasn't it upval or something like that? 22:26:51 AnMaster: okay, fine, it's a real language 22:26:57 AnMaster: uplevel "set var foo" 22:26:59 IIRC. 22:27:01 pikhq, ah 22:27:18 The "set var foo" gets run in the caller's scope. 22:27:19 coppro, well you can't do select() 22:27:34 can't do it in standard C either 22:27:36 pikhq, yeah except you don't need to do that on bash since it implicitly refers that way 22:27:40 coppro, true 22:27:50 coppro, anyway zsh can do it I think 22:28:01 anyway, you're now arguing a point I conceded 22:28:02 can you please stop? 22:28:08 coppro, there is that zsh irc client that integrates with the line editing 22:28:10 quite cool 22:28:13 AnMaster: Yeah... In Tcl, there's nothing in the function's scope until you add it. 22:28:22 "Global scope" can be explicitly accessed. 22:28:24 coppro, http://www.aeruder.net/tag/zirc/ 22:28:28 pikhq, right 22:28:46 LOOK. I CONCEDE. YOU WIN. SHELL LANGUAGES CAN BE REAL LANGUAGES TOO. HAPPY? 22:28:50 Otherwise, Tcl functions are actually pure functions from string to string. 22:28:51 pikhq, well the thing is you can refer to the callers local variables 22:29:23 AnMaster: Oh, that? That's upvar. 22:29:30 pikhq, well you can do: 22:29:32 local foo 22:29:40 someotherfunc foo 22:29:44 and have: 22:29:50 upvar name x; binds the variable "name" in the caller's scope to "x" in the current scope... 22:30:06 someotherfunc() { printf -v "$1" "%s" "bar"; } 22:30:25 this will break if you declare a local foo in someotherfunc 22:30:51 pikhq, basically bash is dynamically scoped, and local variables are those that are available from "here and downwards" 22:31:06 so doing local foo in someotherfunc would result in shadowing 22:31:14 pikhq, does that explain it? 22:31:30 AnMaster: Mmkay. 22:31:44 if you don't say it is a local variable it is a global one (or a local one in a caller perhaps) 22:31:50 they default to global anyway 22:31:53 AnMaster: So, it makes Tcl's explicit "refer to caller's scope" thing implicit. 22:32:13 pikhq, perhaps. it could be more than one call up though 22:32:26 set foo "";somefunc foo; # Where: proc somefunc {x} {upvar $x foo;set foo "bar"} 22:32:47 pikhq, also you can't have local variables at top level (that is, outside functions) 22:33:13 AnMaster: upvar has an optional argument to say how far up the stack you want to munge. 22:33:29 pikhq, what if you have foo() { local x; bar; } and bar () { quux; } and quux() { x=2; } 22:33:31 And there's easy ways to get the stack trace... 22:33:35 that would change it in foo in bash 22:33:54 pikhq, in bash it goes up to where the local is defined 22:34:52 pikhq, also you have to remember you could do "foo() { some_call_that_messes_with_y; local x; bar; local y; some_call_that_messes_with_y; }" 22:35:02 that would change the global y first time 22:35:05 Does bash do tail-call optimization? 22:35:08 but the local one the second time 22:35:12 I'm guessing not. 22:35:14 cpressey, I strongly doubt it 22:35:30 AnMaster: Need to explicitly grep the stack for where it's defined. 22:35:52 pikhq, ah well, bash must be higher level since it handles that for you ;P 22:36:53 pikhq, anyway, did you know that local is a builtin 22:36:54 as in 22:36:57 it isn't syntax 22:37:06 it acts like a built in command when it comes to exit code 22:37:33 foo=$(bar; false); echo $? 22:37:46 would return 1 22:37:47 err 22:37:52 print 1 22:37:53 I mean 22:37:54 but 22:37:58 local foo=$(bar; false); echo $? 22:38:03 would print 0 22:38:07 pikhq, wonderful isn't it 22:38:17 it is also the reason for [] vs. [[]] 22:38:29 [] being traditional 22:38:52 so you have $a=''; [ $a = '' ] 22:38:55 well that won't work 22:39:01 since $a is expanded before 22:39:08 you would need to quote $a 22:39:19 or use [[ ]] (where it works, since it is expanded after) 22:39:46 Ah, but I could exec $0 to get a similar effect to a tail-call, couldn't I? 22:40:31 Hmm. proc uppervar {x} {for {set i [info level]} {$i >= 0} {incr i -1} {if {[uplevel $i "info exists $x"]} {uplevel "upvar $i $x $x"}}} 22:40:50 I do believe that would be the appropriate stack-walking magic. 22:41:37 cpressey, :D 22:41:47 cpressey, that wouldn't be a function 22:41:50 it would be per script 22:42:00 also you would have to export all vars to the env 22:42:08 AnMaster: true. 22:42:17 Well, does bash have a 'goto'? 22:42:44 cpressey, no 22:42:54 cpressey, you could emulate one with switch I believe 22:42:58 No, but it has switch. 22:43:00 err case 22:43:01 that is 22:43:02 exec "$0" etc, perhaps :P 22:43:12 olsner, lagged much? 22:43:22 or was that about quoting 22:43:26 if so I applaud you 22:43:38 http://robozzle.com/index.aspx?puzzle=1638 GRRRRRRR 22:43:54 I meant as a 'goto' 22:43:57 switch could emulate a forward goto, but not a backward one -- unless bash's switch is truly awesome in a way I'm not aware of. 22:44:01 olsner, ouch 22:44:10 it's a tail-call though, not quite the same 22:44:17 cpressey, well you would have to put it in a loop I guess 22:44:54 pikhq, idea: translate your lambda stuff to bash 22:45:01 I suggest using eval somewhere in it 22:45:15 (because I doubt there is any other way) 22:45:22 MissPiggy: haha, that one is awesome 22:45:32 -!- kar8nga has joined. 22:45:39 http://robozzle.com/index.aspx?puzzle=1638 GRRRRRRR <-- js link please 22:45:49 AnMaster what 22:45:49 AnMaster: NO NO NO NO NO. 22:45:54 ALSO NO. 22:45:55 pikhq, why not? 22:46:07 DID I MENTION NO. 22:46:12 MissPiggy, that links to silverdarkness 22:46:18 so? 22:46:20 MissPiggy, which I lack and refuse to install 22:46:34 MissPiggy, so link to the equiv js one 22:46:38 no 22:46:43 *shrug* 22:47:01 cpressey: ... Wrap the entire program in a switch statement and a while loop? 22:47:10 pikhq, sounds like gcc-bf 22:48:05 Eh, but I can write a trampoline in any language. The result is not really horrible enough to encourage me to actually do it. 22:48:25 haha 22:48:27 Er, and by "any language" I mean any boring, mainstream, procedural language. :) 22:48:52 cpressey, what about cobol 22:49:24 Writing something vaguely continuation-passing-looking using exec "$0" (nod to olsner) is a much more attractive idea. 22:49:38 AnMaster: COBOL is not boring :) 22:49:59 cpressey, and yes great idea with bash 22:50:44 AnMaster, just go to any js puzzle and put the number in 22:52:14 MissPiggy, meh going to sleep in a sec anyway 22:52:16 night all 22:52:16 cpressey: yay! 22:52:41 -!- cheater2 has joined. 22:52:49 MissPiggy: It's easier than it looks 22:52:57 It's much easier than it's supposed to be, in fact 22:53:03 Sgeo it's the fixed version I can't do 22:53:57 Oh 22:54:12 fixed version? 22:54:36 http://robozzle.com/js/play.aspx?puzzle=1640 23:05:04 ah, that's much trickier 23:05:12 -!- Sgeo|web has quit (Ping timeout: 180 seconds). 23:08:03 -!- cheater3 has quit (Connection timed out). 23:11:32 -!- BeholdMyGlory has quit (Remote closed the connection). 23:21:09 i don't have an idea of what program to write to make it go around that 23:21:15 I'm guessing that probably you have to do something with the red 23:29:44 -!- muni has joined. 23:30:53 -!- cpressey has left (?). 23:32:14 I have a hunch Tower of Hanoi may be solveable in CSS3, with its move-to property.. 23:34:02 FireFly, that would be neat!!! 23:34:10 Indeed 23:34:50 (and a total abuse of CSS, of course :P) 23:35:33 -!- augur has quit (Read error: 110 (Connection timed out)). 23:38:47 Nighty 23:38:50 -!- FireFly has quit ("Leaving"). 23:49:36 -!- muni has quit. 23:56:48 -!- augur has joined. 23:56:51 -!- jpc has quit (Read error: 110 (Connection timed out)). 2010-01-28: 00:03:58 -!- kar8nga has quit (Remote closed the connection). 00:43:31 -!- Asztal has quit (Read error: 110 (Connection timed out)). 00:45:22 -!- MizardX has quit (Read error: 110 (Connection timed out)). 01:00:41 -!- cheater2 has quit (Read error: 60 (Operation timed out)). 01:08:58 -!- MissPiggy has quit (Remote closed the connection). 01:09:13 -!- MissPiggy has joined. 01:23:56 -!- MissPiggy has quit. 01:44:34 -!- immibis has joined. 01:45:33 -!- MizardX has joined. 01:52:25 has anyone used the Irrlicht 3D engine in here? 02:11:31 -!- MizardX has quit (Connection timed out). 02:16:34 -!- Slereah_ has quit (Client Quit). 02:26:02 -!- bsmntbombdood has joined. 02:48:26 Hmm. Package-on-package looks like a neat way of doing a computer. 02:49:17 You have a processor, and then memory right on top of it. 02:51:06 It replaces the von Neumann bottleneck with a von Neumann hula hoop. Except no, that's an exaggeration. 03:49:27 if yesterdays submission was "why Gregor should not write waltzes", then this improved version is perhaps "why Gregor should write waltzes": http://filebin.ca/xucnrd/maybewaltzpointtres.ogg 04:21:11 -!- Pthing has quit (Remote closed the connection). 04:39:11 the chord progression near 30 is pretty eso, i love part2´ 04:45:42 and i love the 58th second of it 04:46:11 *of the song 04:46:59 (i hope our times go at the same speed) 04:47:06 Hm, interesting. You're drawing me to the conclusion that I did better with the melody in the second part, but better with the chord progressions in the first part. 04:48:14 second part starts at 53? 04:48:23 or 1:07 04:48:51 i'm more of a micromusician, so excuse me if it should be obvious 04:49:27 I would say 1:07. It switches to F at 1:17, but the intervening section is just the transition. 04:50:03 What does a micromusician do? 04:50:11 Idonno, I chose not to ask :P 04:51:00 i think my opinion about the first part is 39-53 is great, chordally. the part before that is first boring, then good. 04:51:08 relatively boring 04:51:29 I was actually going to scrap the beginning, but I decided that having a simple intro with buildup was probably good *shrugs* 04:51:35 yep 04:51:49 * uorygl_ researches the cromulence of "chordally". 04:52:23 uorygl_: i'm more interested in short snippets than complete songs. 04:52:29 * uorygl_ nods. 04:52:50 Well, "chordally" appears to be a completely valid word. 04:52:52 i was going by "microeconomics", without any sort of understanding of what that is. 04:53:02 uorygl_: what does it mean? 04:53:23 It means precisely what you think it means. 04:53:41 Of course, I'll have to check with the language geeks to verify. :P 04:54:06 uorygl_: consider the monoid consisting of prefix sets, with cartesian product as the operator 04:54:09 is it free? 04:54:31 i think i proved it is, but would be nice to have a second opinion because i won't have time to write anything down 04:55:00 Um, let me see. 04:55:04 could ask #math i guess, i just don't like to start my mornings by being called an idiot 04:55:47 What do you mean by "prefix set"? 04:56:02 a set that does not contain two words that are prefices of each other 04:56:23 Ah, a prefix-free set. 04:56:28 yeah, sorry 04:57:07 How do you interpret the tuple of two strings as a string? Concatenate them? 04:57:12 yes 04:57:32 "obviously" :P 04:57:34 Well, that... is a monoid. :P 04:57:40 yes, obviously it's a monoid 04:57:42 Well, you could, say, concatenate them but with a comma in between. 04:57:50 Yeah, lemme think. 04:59:20 ohhh 04:59:23 and finite 04:59:28 finite words, finite set 05:00:36 This may be equivalent to asking whether, if S x T is an element of the monoid, S and T must be. Is it? 05:01:01 err is it now 05:01:19 I think that's a necessary condition, at least... 05:01:25 Um, my Internet connection is going to drop soon. 05:01:31 why exactly? 05:01:43 Imagine if S and T are strings. 05:01:49 -!- oerjan has joined. 05:01:55 Which, if the monoid is free, they must effectively be, right? 05:02:20 but isn't {"aa"^n | n \in N} free 05:02:54 map a <-> aa to get an isomorphism between that and the free monoid with one generator 05:03:08 or am i being completely stupid here 05:04:53 also without the prefix-freeness restriction, the thing is not a monoid ({1, a} and {a} commute but are clearly primitive) 05:05:05 so i don't think it's sufficient, at least 05:05:14 i wish there was a mathematician here....... 05:05:25 oh HEY oerjan didn't see you there 05:06:08 boo 05:06:30 i would like a restatement of the question, please 05:06:40 i couldn't quite make head or tails of the log 05:06:50 06:53… oklopol: uorygl_: consider the monoid consisting of prefix sets, with cartesian product as the operator 05:06:50 06:53… oklopol: is it free? 05:06:56 *prefix-free sets 05:07:40 so each element is of the form M_1 x M_2 x ... x M_n, where M_i are prefix-free sets? 05:08:08 you do a cartesian product, then concatenate the tuples together 05:08:19 oh. 05:09:04 but still, _each_ element of the monoid is a set? 05:09:14 yes 05:09:14 of concatenated things 05:09:20 well just strings 05:09:57 {"asd", "fas"} x {"kilo", "fel"} => {"asdkilo", "asdfel", "faskilo", "fasfel"} 05:09:59 now, prefix-free means that if st is an element, s cannot be iirc 05:10:03 yes 05:12:04 * oerjan tries to convince himself that the combination of two prefix-free sets is prefix-free 05:12:45 i wonder if i actually went through the proof that it is 05:12:55 i just instantly got the idea for how to prove that 05:13:09 three cases: (1) s1*s2t (2) s*t (3) st1*t2 05:14:16 okay it's trivial 05:14:59 and yeah i guess there are cases 05:15:40 (1) ok no prefix of s1 can be in the first set since s1 itself is. nor can s1 itself. so you cannot have s1 in the combination 05:15:43 everything's sort of in my internal representation, i solved the problem during the period 6:00-6:20 with my eyes closed on the bed 05:16:21 *since s1*s2 is 05:16:51 or actually maybe ten minutes more in both directions 05:17:14 (2) s is in the first set. the empty string is not in the second, assuming it is non-empty (needs to be assumed i think) 05:18:08 (3) only s of st1 prefixes is in the first set. t1 isn't in the second. 05:18:11 ok then. 05:18:20 yeah that was the trivial part 05:18:22 ;) 05:18:32 um that was the _whole_ part 05:18:37 that it's free? 05:18:40 no. 05:18:51 i mean i just said "the monoid", so clearly what you did there was trivial 05:18:54 :P 05:19:08 if it's given, it must be obvious! 05:19:40 ok now let s1s2...sn = t1t2...tm where s_i, t_i are in the same set. need to prove m=n and all s_i = t_i 05:20:03 only if si and ti are in the base right? 05:20:22 *the same initial set 05:20:30 um wait... 05:20:54 i don't know what an initial set is, all i know about freeness is its definition 05:21:34 ok we need to find out what a monoid being free means in practice 05:21:46 the base is easy to find, just take the set of all things that can't be divided in two, because all this is finite, you can easily see we get that everything is representable as a concatenation of those 05:22:01 it must have a set of generators, and no two different combinations of generators must be equal 05:22:08 yeah 05:22:55 the last part is the only nontrivial thing, and i think i proved it... well okay it seems really trivial now 05:23:01 hm wait it's not enough to check individual strings. the monoid elements are still _sets_ 05:23:23 well who said anything about strings 05:23:45 "prefix-free" implies strings afaik 05:23:48 should go shower, i hear it's customary to do what every week 05:24:07 yes, but i mean who said anything about checking individual strings 05:24:38 ok this now feels complicated 05:25:33 i proved a few lemmas first 05:25:43 or maybe just one 05:26:00 hm? 05:26:02 * oklopol seriously considers getting paper 05:26:58 i started by seeing what happens if you assume the contrary 05:27:12 so take AB = CD where A and C are primitive, and A != C 05:27:18 i think that's the only case you need to look at 05:27:50 ah maybe 05:27:52 if you can now show a contradiction, then C and D can be broken down in some way, we can then show by induction that all parts must be the same 05:27:55 err 05:28:00 *B and D 05:31:43 -!- clog has joined. 05:31:43 -!- clog has joined. 05:31:47 basically what i do is first i show that for each element of A, there must be either a prefix or an antiprefix (antiprefix(a) = at for some t) for it in C 05:31:59 -!- clog has joined. 05:31:59 -!- clog has joined. 05:32:06 this is clear, otherwise the stuff in AB that starts with the string couldn't have matching rows in CD 05:32:14 -!- clog has joined. 05:32:14 -!- clog has joined. 05:32:28 -!- clog has joined. 05:32:28 -!- clog has joined. 05:32:42 -!- clog has joined. 05:32:42 -!- clog has joined. 05:32:56 -!- clog has joined. 05:32:56 -!- clog has joined. 05:33:10 -!- clog has joined. 05:33:10 -!- clog has joined. 05:33:16 um why is that a finite set 05:33:16 then for all i, ci = a * xi for some xi 05:33:34 -!- clog has joined. 05:33:34 -!- clog has joined. 05:33:37 didn't i directly mention all this is finite? 05:33:41 no! 05:33:43 :D 05:33:50 well i did now! 05:33:58 that's what you get for coming to class late 05:34:09 well okay you won't need any help now, shower time -> 05:34:15 ok that means it might actually be possible to think of cardinalities anyway... 05:34:45 argh 05:34:46 finite strings, finite sets 05:35:30 also my proof doesn't rely on the sets being finite 05:35:47 i don't think i have the brain for this any longer 05:42:49 -!- oerjan has quit ("No brain today"). 05:45:30 :( 05:48:58 -!- clog has joined. 05:48:58 -!- clog has joined. 05:49:16 -!- clog has joined. 05:49:16 -!- clog has joined. 05:49:31 -!- clog has joined. 05:49:31 -!- clog has joined. 05:49:45 -!- clog has joined. 05:49:45 -!- clog has joined. 05:50:17 -!- clog has joined. 05:50:17 -!- clog has joined. 05:50:39 -!- clog has joined. 05:50:39 -!- clog has joined. 05:52:15 -!- clog has joined. 05:52:15 -!- clog has joined. 05:52:36 -!- clog has joined. 05:52:36 -!- clog has joined. 05:53:54 -!- clog has joined. 05:53:54 -!- clog has joined. 05:54:13 -!- clog has joined. 05:54:13 -!- clog has joined. 05:54:31 -!- clog has joined. 05:54:31 -!- clog has joined. 05:54:49 -!- clog has joined. 05:54:49 -!- clog has joined. 05:55:07 -!- clog has joined. 05:55:07 -!- clog has joined. 05:55:31 -!- clog has joined. 05:55:31 -!- clog has joined. 06:19:43 -!- tombom has joined. 06:24:40 -!- Sgeo_ has joined. 06:27:16 -!- Gracenotes has quit (Remote closed the connection). 06:29:43 -!- Gracenotes has joined. 06:38:18 -!- immibis has quit (Read error: 113 (No route to host)). 06:39:27 -!- Slereah has joined. 06:41:56 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:46:25 -!- Sgeo_ has quit ("Leaving"). 06:47:05 -!- immibis has joined. 06:58:11 -!- mycroftiv has joined. 07:10:00 -!- tombom has quit ("Leaving"). 07:44:27 -!- cheater2 has joined. 07:49:20 -!- Slereah has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:47 -!- mycronext has joined. 08:02:05 -!- mycroftiv has quit (Nick collision from services.). 08:02:15 -!- mycroftiv has joined. 08:02:30 -!- mycroftiv has quit (Client Quit). 08:02:39 -!- mycronext has changed nick to mycroftiv. 08:51:47 -!- immibis has quit (Read error: 110 (Connection timed out)). 09:31:00 -!- cheater2 has quit (Read error: 104 (Connection reset by peer)). 09:31:27 -!- cheater2 has joined. 09:39:57 -!- kar8nga has joined. 10:07:30 -!- Slereah has joined. 10:20:20 -!- oerjan has joined. 10:20:23 -!- atrapado has joined. 10:20:53 -!- Gregor has quit (Read error: 110 (Connection timed out)). 10:29:43 * oerjan finds today's iwc annotation very reassuring. well, maybe. 10:38:05 -!- FireFly has joined. 10:39:43 Interesting, now sun.com redirects to oracle.com 10:41:10 * oerjan feels there _has_ to be an ancient prophecy somewhere that could be interpreted to foresee that 10:50:36 -!- Slereah_ has joined. 10:55:05 -!- Slereah has quit (Read error: 110 (Connection timed out)). 11:04:37 -!- BeholdMyGlory has joined. 11:44:13 * oerjan feels there _has_ to be an ancient prophecy somewhere that could be interpreted to foresee that <-- indeed 11:44:44 also while sun was pretty bad, IMO oracle is worse 12:21:31 -!- oerjan has quit ("I predict sunny weather. Eventually."). 12:31:10 -!- kar8nga has quit (Remote closed the connection). 12:45:03 -!- MizardX has joined. 12:53:57 -!- Gregor has joined. 14:04:29 -!- scarf has joined. 14:08:45 -!- Sgeo has joined. 14:09:21 Message to ehird, assuming that he is, in fact, ok: Fine Structure's final story has been released. 14:18:41 -!- fizzie has joined. 14:33:55 -!- zeotrope has joined. 14:34:38 -!- scarf has changed nick to scarf|away. 14:35:58 -!- scarf|away has changed nick to scarf. 14:43:35 -!- kar8nga has joined. 14:56:51 -!- muni has joined. 15:09:43 -!- cpressey has joined. 15:28:21 -!- Pthing has joined. 15:28:55 Sgeo: Hot diggity. 15:53:07 -!- atrapado has quit ("Ex-Chat"). 16:00:18 -!- scarf has changed nick to scarf|away. 16:28:43 -!- Asztal has joined. 16:32:18 -!- MissPiggy has joined. 16:36:42 -!- zeotrope has quit (Read error: 104 (Connection reset by peer)). 16:41:08 -!- scarf|away has changed nick to scarf. 16:43:22 -!- AnMaster has quit (Success). 16:46:18 -!- scarf has changed nick to scarf|away. 16:52:22 -!- AnMaster has joined. 16:55:36 -!- kar8nga has quit (Remote closed the connection). 17:01:00 -!- AnMaster has quit (Read error: 54 (Connection reset by peer)). 17:03:18 -!- AnMaster has joined. 17:17:28 -!- scarf|away has changed nick to scarf. 17:31:24 -!- scarf has quit (Remote closed the connection). 17:44:22 -!- tombom has joined. 17:52:52 -!- muni has quit. 18:03:55 -!- tombom_ has joined. 18:04:32 -!- kar8nga has joined. 18:08:24 -!- zeotrope has joined. 18:15:36 -!- augur has quit (Read error: 110 (Connection timed out)). 18:18:18 -!- tombom__ has joined. 18:23:30 -!- augur has joined. 18:26:43 -!- oerjan has joined. 18:27:57 -!- tombom has quit (Read error: 110 (Connection timed out)). 18:33:48 -!- tombom_ has quit (Read error: 101 (Network is unreachable)). 18:37:53 -!- MigoMipo has joined. 18:39:30 -!- AnMaster has quit (Connection reset by peer). 18:45:42 -!- AnMaster has joined. 18:49:14 aargh btw 18:49:28 Yeah, it's a nice language 18:49:48 I can't use dvi on my nvidia card it seems. Why? Because it causes X to lock up whenever DPMS kicks in 18:49:50 that is, if the monitor is large enough 18:50:18 it works fine for 4:3 monitors on DVI -_- 18:50:26 (and/or smaller ones) 18:50:55 "4:3" doesn't really say anything about the size? 18:51:00 also sshing in and killing X results in screwed up video mode. Reloading the nvidia kernel module after that causes it to claim that the nvidia card is unsupported (until reboot) 18:51:03 so I guess something was really badly screwed up there 18:52:07 clearly it means a monitor with 4 x 3 pixels. works fine, just a bit hard to read on. 18:52:09 FireFly, my ability to test is "large widescreen" and "small 4:3" 18:52:21 FireFly, also I (had) a large 4:3 that is vga only 18:52:45 had due to backlight dying, which is why I got a replacement (which is sadly widescreen, but you can't find 4:3 easily these days) 18:53:20 so now I'm using vga for it 18:53:23 ._. 18:53:34 also nvidia module was spewing things to Xorg.log 18:53:37 I ordered a new monitor last week, hopefully it'll work well 18:53:48 I'm using ATI though... so probably not the _same_ problem, at least 18:54:24 FireFly, http://sprunge.us/GEgP 18:54:28 that is what happened 18:54:38 and then it repeats those last lines forwver 18:54:40 forever* 18:54:42 btw I'm badly lagged due to bouncer still joining channels 18:54:46 Ow 18:54:56 Ah, you and your +inf networks 18:55:49 FireFly, it's over now 18:56:12 FireFly, anyway, that was just joining on freenode 18:56:18 that causes it to throttle badly 18:56:28 freenode has really low rate limits 18:56:35 But that's a maximum of 20 channels, at least 18:56:43 how many channels did you join, all in all? 600? 18:56:44 FireFly, you can ask a staffer for extended limit 18:56:51 Ah 18:56:52 so I'm in over 70 channels on freenode 18:57:06 FireFly, also it's slightly below 500 18:57:11 Ah 18:57:18 490 or something like that last I checked 18:57:36 it's per network, so I would have to sum all the values up 18:57:38 too lazy for it 18:58:11 (the info in the client on number of channels is per network that is) 18:58:19 err s/client/bouncer/ 18:58:23 isn't the client scriptable? 18:58:24 Ah 18:58:24 FireFly did you write that CSS3 thing 18:58:24 ? 18:58:29 Um, yeah 18:58:42 Assuming you meant the one on rosettacode 18:58:55 isn't the client scriptable? <-- sure, but I don't feel like writing elisp right now 18:59:07 FireFly I mean hanoi 18:59:11 Oh, ah 18:59:14 FireFly, I need to study elkretsteori (whatever that is in English) 18:59:20 Well, there's no interpreter for CSS3 yet :P 18:59:26 Since the spec isn't completed 18:59:28 So... not yet :P 18:59:40 FireFly, css3? what's new in it 18:59:42 AnMaster, ah, all right 18:59:43 Uh 18:59:45 Tonnes of stuff 18:59:59 Counters, move-to, new selectors, et cetra et cetra 19:00:01 you made thta QUINE??? 19:00:04 FireFly, is it TC now? 19:00:05 Yeah 19:00:08 nice 19:00:09 ìt is?! 19:00:16 Ah 19:00:16 nope 19:00:19 that was @ MissPiggy 19:00:21 ah 19:00:23 Well 19:00:26 I'm not sure about CSS3 19:00:28 But it may well be 19:00:43 And I'm too lazy to read and memorize all the specs, before they are even complete 19:00:45 FireFly, anyway, what is elkretsteori in English I wonder... 19:00:49 Hrm 19:01:11 I dunno, don't know what the course involves :P 19:01:28 electric circuit theory? 19:01:32 possibly 19:01:41 theory sounds too advanced in English 19:01:59 Electric circuit course, then, or something like that 19:02:04 yeah probably 19:02:18 but really not sure about too advanced, it is only the second week of the course 19:02:52 Don't look at me, I'm still at gymnasium :P 19:04:28 WAIT 19:04:33 *electronic, i would think? 19:04:38 Did someone say CSS3 is Turing-complete?? 19:04:42 cpressey: no 19:04:43 Probably 19:04:50 cpressey, it may be 19:04:54 Though hopefully not 19:04:59 (for browser vendors, that is) 19:05:07 Personally, I hope it'll be :P 19:05:20 I'll keep the four horsemen on hand, in case it turns out to be... 19:05:38 also what is the chance of non-square pixels on modern displays 19:05:47 I suspect xdpyinfo is misinformed: 19:05:49 resolution: 90x88 dots per inch 19:05:52 and i'll polish the wings on my pigs 19:06:06 Hopefully close to zero, AnMaster 19:06:16 FireFly, yeah 19:07:29 OK, what little evidence I've turned up so far suggests that it is *not*, thank the stars. 19:07:53 FireFly, they could drop js then 19:08:00 ...not the same thing 19:08:02 thus only needing one scripting language 19:08:06 FireFly, well if it was tc! 19:08:10 It'd be badly abused CSS 19:08:15 FireFly, so? ;P 19:08:45 Well... no :P 19:09:24 cpressey, if you want to look into it, the module I think is of most importance is the generated content one 19:09:25 Yay, stylesheets that can hang my browser! 19:09:32 Sure 19:09:37 http://etc.firefly.nu/css/euler-1.html 19:09:45 My take on Project Euler #1, (mostly) in CSS 19:09:52 Using JS for doing the hard work 19:11:09 Very cool, but happily, expressions like 5n+1 are only linear. 19:11:29 http://www.w3.org/TR/css3-content/#inserting0, #nested, #moving 19:11:31 Are also pretty interesting 19:11:47 (that is, those sections of that document) 19:12:02 pls solve hanoy 19:12:41 Also, from what I've read, attr() should be able to return integer values and stuff 19:13:14 I hope not, but if that's usable in a ::before(n) or ::after(n), it'll probably be abuse:able 19:15:30 My take on Project Euler #1, (mostly) in CSS <-- locks up firefox if I allow it in noscript 19:15:39 s/it/javascripts/ 19:15:41 Hm 19:15:48 It should just freeze for a short while 19:15:57 FireFly, define short while 19:15:58 Freezes my browser for like 4 seconds or something 19:16:07 FireFly, this is on a sempron 3300+ 19:16:11 Ah 19:16:34 FireFly, we are talking more than half a minute (firefox 3.5) 19:16:44 3.5.7 even 19:17:12 also, not firefox, Shiretoko, which is the arch non-official-brand firefox 19:17:22 s/arch/arch linux/ 19:17:23 Hmm 19:17:24 Yeah 19:17:30 I'll try it in shiretoko 19:17:39 I hope 3.6 has a less messy name 19:17:47 so I don't need to check it to type it out 19:17:56 :P 19:18:23 Hm 19:18:30 Where did people get the impression that Turing-complete was "good" anyway? Clearly we need to implementations of esolangs in DSSSL and XSLT. 19:18:38 s/to/more/ 19:18:55 Took me one "script going slow" alert for it to complete for me, AnMaster 19:19:01 (especially DSSSL) 19:19:28 FireFly, hm 19:19:30 cpressey, not neccessarily good, but CSS being turing-complete would at least be _interestnig_ 19:19:34 interesting* 19:19:35 FireFly, two went past before I gave up 19:20:03 cpressey, DSSSL? Which one is that? 19:20:04 Oh well, it's not that interesting anyway 19:20:40 AnMaster: the predecessor to XSLT, basically 19:20:56 ah 19:21:14 It was based on Scheme... 19:21:19 Hm 19:23:14 Or maybe Jinja2 templates. Assuming they're TC -- I think so but I haven't confirmed it. If not, then I'm sure some other templating language will come along... 19:24:29 Heh, Opera still has a bug with rgba background on body screwing it up 19:24:34 If the alpha is set to 0 19:28:03 -!- MissPiggy_ has joined. 19:29:07 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)). 19:29:11 -!- MissPiggy_ has changed nick to MissPiggy. 19:29:23 -!- zeotrope has quit (Read error: 60 (Operation timed out)). 19:39:48 -!- fungot has joined. 19:45:34 -!- Sgeo|web has joined. 19:45:55 No one's talked about Robozzle in a while 19:49:47 Try to push some new selector that would make CSS substly TC for next CSS release? :-> 19:53:49 Substly TC => TC, but it isn't obivious it is TC. 19:57:06 Have CSS be able to style CSS, then point a stylesheet at itself! 19:57:30 Being able to use counters in the ::after(n) would surely be more than enough 19:57:33 And it's quite subtle 19:57:50 Like, having a counter incrementing, and spawning new pseudo-elements 19:58:06 And then having a selector with higher specifity to halt it by overriding the counter-increment attribute :) 19:58:09 And there we go, a loop 20:02:41 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)). 20:02:52 -!- MissPiggy has joined. 20:04:31 Bye all 20:07:32 -!- Sgeo|web has quit (Ping timeout: 180 seconds). 20:20:10 AnMaster: are you active on all the 500 channels? 20:29:27 So, I guess compiling C to JavaScript would be a scary proposition. Would compiling C-- to JavaScript be equally daunting? 20:30:03 C to JS 20:30:06 That'd be interesting 20:31:42 C = JS 20:31:44 problem solved 20:32:33 C programmer trying JS: "wtf, int isn't defined?" 20:32:47 The fun bit would be the pointer arithmetic, I suppose. 20:32:52 Precisely. 20:33:03 "Uh, how do I take the XOR of two JavaScript pointers?" 20:33:15 You'd have to simulate a register... 20:33:25 Or something :P 20:33:40 Yeah. And that's precisely what I don't want to do. 20:33:40 Yeah, sounds like a scary proposition 20:34:24 Which is why I'm asking about C-- instead. 20:34:28 Javashit has arrays, right? 20:34:39 Yup 20:34:52 Use those to simulate memory space? 20:37:23 And for translating C to JS, you don't have to support pointer XOR. 20:39:06 Pointer values pointing outside array (except to one-past-end) is instant UB. 20:46:07 Now do setjmp() and longjmp(). 20:46:35 Oh, those are sure "fun". 20:48:12 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)). 20:49:37 More fun: Varargs. 20:50:32 And their type-unsafety. Plus va_start looking up starting point by variable name. 20:51:13 I think you're better off implementing a MMIX emulator in JS, then compiling your C code to MMIX. 20:51:31 Replace MMIX with your favourite machine code... 20:51:41 There's jsmips for that. 20:52:00 Gregor's, wasn't it? 20:52:12 Apparently written in uppercase, also. 20:52:26 Oh, and there's a MIPS backend for gcc, too, looks like. There ya go. 20:52:49 "A test environment for JSMIPS is available online at http://codu.org/jsmips/system.html . This is a mostly-operational JSMIPS test environment with many UNIX binaries, including a working version of vi and a (slowly) working version of vim (with a few caveats)." 20:52:52 Just sucked all the fun out of that hell-project :) 20:55:52 -!- muni has joined. 20:56:32 Gregor also composes waltzes. 20:58:43 It's been a long time since I composed a waltz. 20:58:57 -!- GreaseMonkey has joined. 20:59:06 hehe, 23 seconds to compile (lambda a,b : a+a+b+b), if you give it append, cons, car and cdr 20:59:21 (clue) 21:00:29 Clue's pretty cool. 21:01:13 http://www.vjn.fi/pb/p416253316.txt 21:01:27 totally looks like something that should take 23 seconds 21:01:50 i guess the clue way would be to write a function that appends something to itself 21:02:36 So if I give Clue enough example Brainfuck programs, will it produce a working Brainfuck interpreter -- and how long would that take? 21:02:49 (plus the expected output of each, of course) 21:02:53 -!- Slereah has joined. 21:03:07 well actually i think something like brainfuck would be rather simple 21:03:17 i mean fast 21:03:28 That's the thing you talked about yesterday, oklopol? 21:03:30 and err 21:03:46 yes 21:03:50 Hmm 21:03:52 I like it 21:03:59 it's the hot new thing in oklolandia 21:04:31 :) 21:04:35 I like it 21:04:36 too 21:06:38 cpressey: the thing is you would have to give it very specific examples, basically how you program clue is you write a functional program in your head, then write an example of how the recurrence shuold go 21:06:39 *should 21:07:03 i guess i could try implementing ski 21:07:56 ...or maybe some other time, that sounds really painful 21:08:11 really i should make a parser so someone else could see what it can do :P 21:08:21 i mean see as in try, and tell me 21:08:38 oklopol: SKI in C is painful. 21:08:59 Though for some reason the only problem I have now is the parser. 21:09:20 i made ski in thue, stop whining :P 21:09:26 The easy bit. 21:09:55 Python -- never type curly braces again! "self.", on the other hand... 21:10:08 hah 21:10:12 i hate self. 21:10:56 I see nothing wrong with it 21:11:19 you would if you always forgot to write it. 21:11:38 -!- muni has quit. 21:11:41 Well, I usually always write this. for instance-specific stuff, being used to JS 21:11:42 it's a pain if you've just switched to or from java 21:11:52 or javascript for that matter 21:11:58 What's Clue? 21:12:22 just a language 21:12:28 javac spat out a bunch of errors. why oh why did i just type self. there? 21:12:39 Also, Thue does a few things more easily than C. 21:12:49 what made it worse was the fact that it was an in-function variable 21:13:08 oh yeah, speaking of thue, why do the interpreters poop out? 21:13:08 no spec or complete implementation yet, i've just been talking about it because i'm excited because the compiler/interpreter works apart from the parser. 21:13:08 Dynamic memory allocation is very natural in Thue; it's quite unnatural in C. 21:13:38 oh well that's true, but i'm not sure i used it, i just had a writer head 21:13:39 the C interpreter is quite often incorrect and the python interpreter sometimes just stops 21:13:47 (probably did use it a bit) 21:14:07 -!- MigoMipo has joined. 21:14:14 GreaseMonkey: i made my own interp just for the ski so hard to say 21:14:40 how about Function Level programming 21:14:41 ? 21:14:55 it's basically like programming in SK I have no clue why anyone would do that.. 21:15:01 Oh not that again. 21:16:10 And I'm not sure why the Thue interpreters have problems; I mean, it's a simple enough language, it shouldn't be hard to get at least one of them correct. 21:16:24 I haven't tried either in a while. 21:16:41 This kind of makes me want to write a Thue interpreter in Haskell. 21:16:49 mine was in haskell 21:16:57 i think it was my first haskell prog 21:17:07 But eh. Haskell was not made to run Thue, now, was it. 21:17:29 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 21:17:35 Or maybe it's more natural than I'm thinking. 21:18:52 well i always say if a language can't do string substitutions, it's not a haskell 21:19:19 Ruby is an acceptable Haskell 21:20:08 Interesting. 21:20:12 So is Lazy K a Haskell? 21:20:41 my implications are not reversible 21:21:03 -!- augur has quit (Read error: 104 (Connection reset by peer)). 21:21:19 oh wait lazy k, i guess it's not, by what i said 21:21:26 *i always said 21:21:29 * Gregor sucks the fun out of cpressey's concepts. 21:21:29 -!- augur has joined. 21:21:46 Gregor: way to waltz on his parade 21:21:50 lol 21:22:57 Alas, twasn't even my concept -- I think it was uorygl's idea. 21:23:48 Maybe Thue to Javascript would be more doable? 21:24:05 somehow 21:25:06 Wouldn't that be pretty easy? 21:26:18 A thue interpreter in JS would be easy (or at least, no harder than C, Python, and Haskell, all of which have been complained about now.) 21:26:39 But to compile Thue to JS, without just using an interpreter written in JS... 21:30:26 I also made a Thue in haskell 21:31:36 and in mod_rewrite :P 21:32:36 -!- immibis has joined. 21:33:30 hmm, that other one was rather a compiler (written in sed) that produced mod_rewrite-style rules 21:39:56 What was my idea? 21:41:49 uorygl_: compile C to Javascript. 21:41:56 * uorygl_ nods. 21:43:56 if you find a c-to-lisp and lisp-to-javascript compiler, you'll be done 21:45:30 Hmm. I have a C-to-Lisp compiler, but not a Lisp-to-Javascript compiler; I do, however, have a Lisp-to-JVM compiler and a JVM-to-Javascript compiler. 21:45:34 :P 21:46:43 :D 21:47:49 Hm 21:47:56 I started on a JS JVM 21:48:06 But it's pretty buggy and stuff 21:48:36 Oh, and all of those compile through x86. Too bad they're closed source so that I can't eliminate the language loops. 21:49:01 Curse you, ACME Compiler Collection! 22:01:23 * pikhq is still having issues with his SKI evaluator's eval function. 22:01:39 Though finally my parser works right. 22:04:42 -!- kar8nga has quit (Remote closed the connection). 22:09:50 -!- MizardX- has joined. 22:25:24 -!- MizardX has quit (Connection timed out). 22:25:30 -!- MizardX has joined. 22:27:24 -!- MizardX- has quit (Connection timed out). 22:45:13 -!- MigoMipo has quit (Remote closed the connection). 22:50:02 -!- tombom__ has quit ("Leaving"). 22:52:05 -!- FireFly has quit ("Thread.sleep(8*60*60*1000);"). 22:52:10 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 22:59:52 -!- oerjan has quit ("Good night"). 23:17:35 -!- fizzie has quit ("jumpin' jumpin'"). 23:19:21 -!- madbr has joined. 23:19:28 I do rather like these 2 thumbdrives I have. ... 23:19:52 they don't have caps, instead on end slides out kinda and turns around to expose the plug bit 23:20:15 and when putting them away, I tend to take them both out, but one in each hand, 23:20:20 *put 23:20:35 then kinda flick them round and click them shut in sync 23:20:46 -!- fizzie has joined. 23:20:50 * uorygl_ ponders a USB thumb drive containing a hidden connector that extends whenever the drive expects to be plugged in. 23:21:12 Difficult to implement. 23:21:35 it's the sort of satisfying click that one expects from a remote detonator for blowing up a dam or something 23:21:44 * uorygl_ basks in his own cleverness. 23:22:10 or maybe in an expensive lighter 23:23:46 and when does the drive expect to be plugged in? 23:24:20 Whenever you show it enticing photos of a USB port, perhaps. 23:25:30 and how do you show the drive photos when it's not plugged in? does this drive have a webcam too? 23:25:38 and a battery 23:25:53 I guess. 23:26:08 Or it has a microphone, and you can read excerpts from the USB standards to it. 23:26:15 Or it has some tactile sensors. 23:26:28 But then it's not just a USB thumb drive. It's a digital camera with a USB plug on it. 23:26:44 And a microphone and tactile sensors. 23:26:56 Well, the camera doesn't have to be useful for any purpose other than identifying USB ports. 23:27:13 Then people will complain you can't use the camera. 23:27:18 Except for identifying USB ports. 23:28:05 Tell them that the USB drive was nevertheless designed and manufactured perfectly, and that this will all come in handy to someone at some point in the future. 23:30:39 Allow people to use the camera when it's plugged in. 23:30:44 So that you can identify the USB port. 23:31:12 * SimonRC goes to bed 23:45:34 -!- augur has quit (Connection timed out). 23:58:09 -!- madbr has quit (verne.freenode.net irc.freenode.net). 23:58:09 -!- Pthing has quit (verne.freenode.net irc.freenode.net). 23:58:09 -!- jix has quit (verne.freenode.net irc.freenode.net). 23:58:12 -!- jix has joined. 23:58:39 -!- Pthing has joined. 23:59:18 -!- cpressey has left (?). 2010-01-29: 00:02:08 -!- cheater2 has quit (Connection timed out). 00:05:09 -!- mad has joined. 00:05:16 -!- mad has changed nick to madbrn. 00:13:34 It is so fricken cold outside 00:26:49 -!- MissPiggy has quit. 01:09:49 w000000000000000000000000000000000000000000000000000000000000000000000000t! 01:10:47 coppro 01:10:48 ? 01:10:53 I got accepted! 01:11:23 Congratulations! [Accepted to what?] 01:11:56 my anus 01:13:12 UWaterloo! 01:16:46 * Sgeo wishes 8-bit Weapon was on Grooveshark 01:16:52 Well, some songs are, but not all 01:41:15 -!- augur has joined. 02:35:43 Yay, coppro got accepted to UWaterloo! 02:35:53 Yay! 02:36:05 just need to decide between Math and CS before the end of May 02:36:20 CS 02:36:27 Math is for losers. 02:36:32 >_> 02:36:37 <_< 02:36:55 Do you? I've been at my school for nearly a year and I still haven't decided between math and CS. 02:37:09 Both. 02:38:03 uorygl_: my understanding is that switching between them should be relatively easy as there's a lot of course overlap (especially if I pick my courses to increase that overlap), but I have to pick one entrance program 02:41:33 Aww, entrance programs. 02:48:06 http://codu.org/music/vg/zee4.ogg The first piece of VG music I've written that may actually fit somewhere into the game I want to fit it in to. 02:51:04 So, I wonder: 02:51:17 This channel is publicly logged. Does that pretty much mean that I can use the logs as I see fit? 02:52:03 Not sure who "owns" logs. 02:52:25 At the very least, even if there is some legal restriction on what you could do with them, it would be nigh-on impossible to enforce. 02:53:50 in the meantime, although i'm not sure this would be an appropriate channel to ask, i'm suffering strange itch in freenode 02:54:00 it goes like: 02:54:01 06:33 [Freenode] -!- vtilmicegzko: No such nick/channel 02:54:01 10:46 [Freenode] -!- nysptgqss: No such nick/channel 02:54:59 Ah, yes, I'm getting those, too. 02:54:59 That's ... weird. 02:55:05 I'm ... not? 02:55:08 I may have heard this before. 02:55:17 s//of/ 02:55:31 ofI may have heard this before. 02:55:54 Precisely. 02:56:14 I think it was called "whois spam", and is some sort of bug in freenode's software. 03:03:22 and freenode is planning an ircd migration tommorrow 03:04:18 maybe i'll wait and see if it's been fixed 03:05:18 http://sprunge.us/WLNJ 03:05:30 My C, it is slightly crazy. 03:05:54 (very much work in progress) 03:06:32 pikhq: *brain explodes* 03:06:59 Gregor: Hahahah. 03:07:06 It's just functional lazy C. 03:07:23 C: the most verbose functional language. 03:07:47 Pax Deorum is a pretty awesome song 03:08:01 Lux Aeterna is also a pretty neat song. 03:08:16 I may, once I'm done making that into a Lazy K interpreter, go back and make it mostly standard C... 03:08:24 What does your song title mean? Godly Peace? 03:08:29 As nice as Lux Aeterna is, it's ooooooooooooo overused. 03:08:33 *sooooooooooooo 03:08:45 uorygl_, don't know 03:08:55 http://listen.grooveshark.com/#/song/Pax+Deorum/12536556 03:09:38 Hmm, "Peace of the Gods". I didn't know that the genitive plural could be used like that. 03:10:03 Gregor: it's a good thing, then, that I never hear it except when I choose to. 03:18:18 -!- coppro has quit (Remote closed the connection). 03:23:08 -!- coppro has joined. 03:42:40 -!- jpc has joined. 05:05:37 -!- Pthing has quit (Remote closed the connection). 05:13:38 -!- MizardX has quit (Read error: 110 (Connection timed out)). 05:44:42 -!- AnMaster has quit (Read error: 60 (Operation timed out)). 05:49:30 -!- AnMaster has joined. 07:01:25 -!- oerjan has joined. 07:08:01 -!- tombom has joined. 07:15:46 -!- tombom_ has joined. 07:20:10 -!- FireFly has joined. 07:32:56 -!- jpc has quit ("I will do anything (almost) for a new router."). 07:34:17 -!- tombom has quit (Read error: 110 (Connection timed out)). 07:40:36 -!- oerjan has quit ("leaving"). 07:44:19 -!- immibis has quit ("#dsdev on irc.blitzed.org exists"). 07:50:49 -!- tombom_ has quit ("Leaving"). 07:55:35 -!- cheater2 has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:08 -!- immibis has joined. 08:17:41 -!- madbrn has quit ("Radiateur"). 08:50:50 -!- immibis has quit (Read error: 110 (Connection timed out)). 09:10:43 -!- scarf has joined. 09:15:33 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 09:31:19 -!- Milchm has joined. 09:31:37 hello all 09:37:08 -!- AnMaster has quit (Excess Flood). 09:37:29 -!- AnMaster has joined. 09:37:40 I'm not shure if anybody can read what I'm writting 09:44:14 hi 09:44:16 Milchm: I can see it 09:44:41 thanks scarf 09:44:57 what brings you here? 09:45:14 it's likely to be relatively empty this early, many of the brits will be at school, and the americans will be asleep 09:45:30 and likewise, scandinavians have a similar problem to the british, although most of them are out of school nowadays 09:45:37 its crowded enough scarf 09:45:42 it's mostly idlers 09:46:13 it's usual for people to leave their computer in a channel even when they aren't there themselves, so they can see what was said when they get back 09:46:27 Well, scarf, I'm searching for more information bout http://en.wikipedia.org/wiki/Dream_yoga and tummo 09:46:45 hmm, you may be in the wrong channel / on the wrong server 09:46:53 Freenode's a programming server 09:46:58 so this channel's about esoteric programming languages 09:47:13 basically, languages designed without practicality as one of their goals 09:47:15 ooops, I'v never been *that* wrong ;-) 09:47:29 don't worry, it's an easy mistake 09:47:37 my shell is esoteric enough for me ;-) 09:47:54 unfortunately we don't know where to send people instead; if you find out, let us know and we'll be able to help other people in your position in future 09:48:59 I'll try UNDERNET 09:49:00 #buddhism now, but this won't help you in most cases 09:49:25 ah, ok 09:49:34 bye scarf 09:49:39 bye 09:49:41 -!- Milchm has left (?). 09:50:08 Also some of the people on the channel are sneakily lurking. 09:51:19 heh, you were here all along? 09:56:44 Yes. And yet you never knew! 10:13:00 Ah 10:13:17 I indeed was in school 11:57:52 -!- scarf has changed nick to scarf|away. 11:58:02 -!- scarf|away has changed nick to scarf. 12:21:41 -!- MigoMipo has joined. 12:58:42 -!- MissPiggy has joined. 13:12:23 -!- MizardX has joined. 13:46:26 -!- puzzlet has quit ("leaving"). 13:51:13 -!- puzzlet has joined. 14:09:42 -!- scarf has changed nick to scarf|away. 14:11:13 -!- scarf|away has changed nick to scarf. 14:45:50 -!- BeholdMyGlory has joined. 14:52:22 -!- MigoMipo has quit (Remote closed the connection). 15:03:52 -!- scarf has changed nick to scarf|away. 15:23:14 -!- cpressey has joined. 15:28:39 -!- AnMaster has quit (Read error: 54 (Connection reset by peer)). 15:32:40 -!- AnMaster has joined. 15:36:20 -!- Shakeal has joined. 15:52:48 -!- scarf|away has changed nick to scarf. 15:53:36 AnMaster: Do you happen to know if there is a no-cost telephone number lookup service for Swedish numbers? (I am aware of one Finnish place that gives address information -- name data costs a fraction of an euro, but the address is sometimes enough -- but of course that's Finnish-only.) 15:54:30 (And wasn't your country code +46?) 15:58:50 fizzie, try eniro.se 15:58:54 also debugging X crashes 15:59:02 atm I'm testing older nvidia driver 15:59:04 to see if that helps 15:59:29 since it only crashes after a moderatly long idle period (independent of DPMS it seems!)... 15:59:35 it is annoying to debug this 15:59:53 fizzie, also maybe hitta.se 15:59:59 or is that map only(?) 16:00:09 anyway eniro.se is basically telefonkatalogen 16:00:34 anyway leaving desktop for a while, going to make food, will check afterwards if it locked up or not 16:01:00 AnMaster: Screensaver? 16:01:02 Ilari, none 16:01:29 Ilari, also I had to reboot to fix it last time. It was so bad that the nvidia card changed to "unknown device" in lspci 16:01:41 and dmesg contained lots of those infamous nvidia Xid messages 16:02:00 Ilari, recent change: replaced old monitor with a new larger one 16:02:03 AnMaster: How did you reboot? Alt+SysRq+{S,U,B}? 16:02:20 Ilari, yes, the times when it worked 16:02:23 didn't work every time 16:02:39 Ilari, and sometimes it was enough to ssh in and kill X server, then type reboot 16:03:04 AnMaster: You ever tested what happens if you ssh in, shut down X and then try to restart it? 16:03:06 Ilari, one time I got a blinking led situation (kernel oops) 16:03:22 Ilari, well that time was when it showed up as unknown pci device after 16:03:27 so it refuses to start X 16:03:37 also the display was corrupted (but still readable) 16:03:53 it was like the framebuffer was stretched so every other pixel was used or so 16:04:12 -!- scarf has changed nick to scarf|away. 16:04:13 bbl now 16:04:21 Heh... Sometimes X keyboard driver locks up here (have to do Alt+SysRq+R, Alt-F2, Alt-F7). 16:04:46 Some site called vemringde.se seems to implicate it's some phone marketing place... didn't know those call to other countries. 16:13:32 -!- scarf|away has changed nick to scarf. 16:20:03 scarf: You're right, Burro doesn't form a proper group. I think the way to fix it is to have (/) act like {\} when there is undo information available. Then (/) is its own inverse, and {\} can be removed. Whether it can still be TC after that, though, I don't know... 16:20:31 cpressey: neither do I, but it isn't obviously sub-TC, and that's a good sign 16:41:52 Ilari, hasn't crashed yet 16:49:49 guys 16:49:54 I think I might be turing complete :( 16:49:59 what should I do? How can I tell my parents 16:50:06 MissPiggy: do you have infinite memory? 16:50:10 if not, there's nothing to worry about 16:50:21 I don't have infinite memory but I can write things down 16:50:41 there's a limit to how much you can write down before you die 16:50:48 *PHEW* 16:51:19 scarf, MissPiggy: what if science find a way to extend the life before MissPiggy dies? 16:51:34 oh wait, still the heat death of the universe 16:51:37 AnMaster: then, that means that MissPiggy isn't turing-complete /yet/ 16:51:52 true 16:59:02 We just need to make MissPiggy be immortal in an infinite universe. 17:03:39 -!- oerjan has joined. 17:04:11 -!- tombom has joined. 17:20:27 -!- kar8nga has joined. 17:28:26 -!- Pthing has joined. 17:32:26 Apparently lazy church numerals are confusing. 17:33:41 -!- MissPiggy has quit (Client Quit). 17:37:56 like, even when applying them, they might or might not be fully evaluated, dependent on representation? 17:38:15 Yes. 17:39:07 * pikhq is just going to write his fromChurch function in terms of the zero predicate. 17:39:15 And the successor function. 17:39:31 PITA, but less of a PITA than figuring out where in the world the thunks are going. 17:39:58 Erm. Predecessor. 17:40:02 * pikhq lazys up the C church predecessor function. 17:40:17 if you apply it to a function that is always strict in its arguments, then you are ensured the church numeral is evaluated fully, i think 17:40:57 Oh, okay then. 17:41:02 That makes sense. 17:44:11 Not the behavior I'm seeing. 17:44:17 Laziness in C is hard. 17:48:14 I'm getting the distinct impression something here is *too* lazy. 17:49:10 oh, you need to apply it to a strict function and another argument, of course. 17:49:28 dethunk(callerT(toChurch(2), 2, tmp, I)); 17:49:40 Where tmp is strict in its argument. 17:51:57 mhm 17:52:22 -!- MissPiggy has joined. 17:52:43 schrödinger's pig 17:53:26 im a catastrophic failure 17:54:20 so how many did your experiment kill? 17:54:44 or cause to never have been born, if it involved time travel 17:56:12 -!- sebbu2 has joined. 17:56:40 if it's too hard to count, an approximate number of planets/galaxies/universes is also acceptable 18:01:03 The precise count is only available as an unevaluated Church numeral, sorry. 18:04:30 yay located a service manual for my old monitor 18:04:34 this should be interesting 18:05:47 I'm definitely being too lazy in something. 18:05:55 Probably the successor function. 18:06:07 pikhq, get to work then ;P 18:06:32 Too lazy. :P 18:07:02 It's amazing how hard it is to write "λn f x → f (n f x)" in C. 18:07:08 too lazy, so no successing 18:07:21 I've got half a mind to just convert that to SK... 18:07:29 Since I know that my S and K work right. 18:07:29 pikhq, also try haskell, I heard they liked lazyness 18:08:01 I also heard that mathematicians are lazy. It explains a lot about a) mathematical notation b) haskell 18:09:39 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)). 18:11:16 -!- augur has quit (Read error: 110 (Connection timed out)). 18:11:41 Proof of that last statement is left as an exercise for the reader. 18:12:34 http://catseye.tc/projects/burro/doc/website_burro.html <<< what if we have {} inside () 18:13:03 "{: Make the most recently added child of the current node the new current node" 18:13:09 oklopol: {} needs to go away :) 18:13:09 -!- bsmntbombdood has joined. 18:13:14 -!- sebbu has quit (Connection timed out). 18:13:14 oh? 18:13:30 as scarf pointed out, it's not a group, because {} doesn't have an inverse 18:14:03 -!- Shakeal has quit (Client Quit). 18:14:10 it's basically just the natural inverse of (), it's just not thought through 18:14:15 you need to have stacks that go two ways 18:14:49 oklopol: I was thinking of just making () its own inverse (i.e. behave like {} if there is stuff on the stack) 18:14:50 which really is obvious, i guess the author just got confused, can't imagine why 18:15:02 ah 18:15:06 would that work? 18:15:24 Yeah, I can't imagine why I would ever get confused, either :P 18:15:25 you could just add a nop () after every () 18:15:39 I have no idea if it would work yet 18:15:50 basically every second () is negative 18:16:52 anyway what my sarcasm was trying to convey is i'm rather confused about all this, not sure this is something i can revolutionize instantly. 18:16:54 Yes, good point about nop ()'s. 18:16:56 if (/) inverses (/), you no longer have a stack, but a one-element buffer 18:17:01 yeah 18:17:07 one-bit, in fact 18:17:10 that was the idea, except would that work for nesting 18:17:11 Ugh. 18:17:22 interesting flow chart this... it has "YES" and "NG"... 18:17:28 consistently 18:17:53 maybe it was scanned and automatically converted to text 18:18:12 the parts that looked like letters, that is; sounds pretty probable 18:18:14 oklopol, maybe, but then someone added in the arrows for the flowchart again? 18:18:23 and such 18:18:57 nono, they have a pic, and they put it through a program that searches for stuff that looks like letters, and changes everything to one given font. 18:20:19 oklopol, also I doubt they would do that for a service manual. After all asking someone to check the third pin of U105 after properly discharging C54 (for safety) would be very different from asking someone to do the same but discharge 59 (for example) 18:21:18 oklopol, I doubt they would want dead service technicians (this is troubleshooting the high voltage part of a monitor that is used to drive the backlight) 18:21:24 It sounds like it could be troubleshooting-talk for "No Good" then 18:21:35 cpressey, oh maybe 18:21:51 -!- scarf has quit (Remote closed the connection). 18:22:18 anyway I seem to lack a multimeter (as expected) so there isn't much I can do to track it down 18:22:25 you can't know whether two programs do that same thing, so clearly it's *impossible* to make all this work 18:22:32 you can't know whether the thing you have should do nothing 18:22:45 oh wait 18:22:47 all I know is that the display renders but backlight is off, and I see no obvious faults (such as burned out components or broken cables when I look 18:23:03 -!- MissPiggy has quit. 18:23:08 that's crappy logic, it's enough for the problem to be in RE for it to be implementable here 18:23:09 i think 18:23:18 okay this seems funny 18:23:41 cpressey: White screen -> LVDS Cable Reinsert -(OK)-> Workmanship 18:25:28 Yes, that seems funny. 18:25:47 great the schematic is really low res 18:25:55 you can't read the labels 18:26:15 you can barley see that something looks like a resistor-ish line 18:27:33 ah this part is more readable, and it looks like it *might* be relaced to the CCFL 18:27:48 oh wait no, just the built in speakers XDS 18:27:50 XD* 18:28:39 cpressey, also strange thing: 18:28:50 Title: Someone, Document Number: DCINPUT 18:28:54 from the scanned schematics 18:28:54 -!- muni has joined. 18:29:00 that was in one corner of it 18:30:16 oklopol: There could still be a stack, but it could be manipulated with explicit commands, maybe? Like "v" push bit down, "^" pull bit up. 18:30:41 "Title: Someone", huh. 18:30:58 cpressey, also DCINPUT was more apt as a title 18:31:22 summary: be sceptical of Acer monitor service manuals 18:31:29 since the exploded diagram is wrong too 18:31:40 Indeed. 18:31:43 well, partly right 18:32:00 it could be related to DVI vs VGA versions 18:32:34 it says it is DVI version, and for the VGA version it says (in red, without quotes): "(We will update later)" 18:32:42 and I have the VGA version 18:32:49 -!- augur has joined. 18:32:52 there is no actual exploded diagram for the VGA one 18:32:59 Useful thing in a service manual, that. 18:33:04 cpressey, yeah 18:33:31 Hello, is it that tricky to read two numbers separated by space in Whitespace language? Because reading number, then character (space) and then number again doesn't work as I wish. 18:33:35 also I'm unable to find the spec of the voltage for the CCFLs 18:33:52 bbl lunch 18:35:55 muni, never used whitespace. Don't really know 18:36:48 cpressey, for when you get back: there are some strange thing going on in the safety precautions too. I don't know where Acer is based, it could possibly be bad translation. 18:36:59 AnMaster: That's a shame. 18:37:07 muni, befunge is my speciality 18:37:33 Successor in SKI is ugly. 18:37:34 (S(KS)K)(S((S(KS)K)(S(KS)K)I))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(S(K(S(KS)K))S)(KK))((S(KS)K)((S(KS)K)(S(KS)K))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(KS)K)I)I)))I) 18:37:40 yeargh 18:37:54 (note: may be more efficient ways. I did not compile that by hand.) 18:38:46 i love ski 18:39:35 Anyways. Now I just make my churchSucc thunk compile that, and voila. 18:41:03 And the SKI compiler fails. 18:41:08 bsmntbombdood: we can go skiing when you come to finland 18:41:16 ooh ok 18:41:43 i'm in the 1% of finns who likes it 18:41:51 well young ppl anyway 18:42:06 also maybe like 18:42:07 oklopol, yeah it is norway where it is national sport isn't it? 18:42:21 well apart from oerjan, iirc he hates it 18:42:26 global_thunk(static, churchSucc, NULL, {return dethunk(eval(genList("(S(KS)K)(S((S(KS)K)(S(KS)K)I))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(S(K(S(KS)K))S)(KK))((S(KS)K)((S(KS)K)(S(KS)K))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(KS)K)I)I)))I)")));}); 18:42:31 If only it worked. 18:43:51 i have no idea what's the national sport of anything 18:44:05 AnMaster: OK, I get it, Whitespace is silly :) 18:44:28 muni, I didn't say that 18:44:33 I don't think it is 18:44:39 in fact it is a great idea 18:45:28 AnMaster: Why? 18:45:36 why not 18:46:25 muni, certainly it would be much harder in INTERCAL I assume 18:46:35 to do basically anything 18:47:51 -!- MigoMipo has joined. 18:49:17 muni: do you write whitespace in actual whitespace? 18:49:37 The esolangers lost their Robozzle addiction? 18:49:39 oklopol: What do you mean? 18:49:53 personally i would cheat, there's not even any sort of verbosity problem if you compile some saner syntax into it 18:50:05 lessee, succ = \n f x -> f (n f x) 18:50:12 -!- soupdragon has joined. 18:50:13 muni: do you write in tabs and spaces and shit, or do you type ... or something, and compile 18:50:44 oerjan: That's hard in C. 18:51:08 Sgeo: how much have you solveD? 18:51:10 *solved 18:51:17 And now I'm suspecting something's screwy with "eval"... 18:51:19 oklopol: Oh, well, I write in tabs and spaces and shit. But I have them marked, it's not like I can't see them at all. 18:51:22 >.> 18:52:03 = \n f -> S (K f) (n f) = \n -> S (S (K S) K) n = S (S (K S) K) 18:52:38 Within the last 24h, 0. Total, 81 18:52:43 no all in all 18:52:45 haha 18:52:49 oerjan wins 18:55:09 oerjan: how fast do you do that? 18:55:42 a minute or so? 18:56:04 okay? 18:56:10 oerjan: That's a much shorter one. 18:56:20 And more likely to not be screwed up. :P 18:56:30 i forgot all those rules 18:56:33 I'll give it a shot in a bit. 18:56:35 just wondering how fast you do that, i'm damn slow at it 18:58:51 oh lol actually i can do that quite fast 18:59:03 pikhq: you get a lot of verbosity if you don't use the \x -> f x = f rule, ending up with S (K f) I instead 18:59:24 oerjan: Mmm. 18:59:52 also, it was lucky that the n ended up only at the end, at the end 18:59:59 * pikhq is defining a "lazy lambda" macro ATM... Should be less painful to write. 19:04:57 Well, that segfaults. 19:05:02 Definitely something buggy. 19:05:11 oklopol: it's actually easier to do in unlambda notation, because then it's nearly character substitution 19:06:39 ` -> ``s, + functions 19:06:48 No output. 19:06:55 HackEgo: you don't say 19:07:32 is \n -> S (S (K (S n)) K) n = S (S (S (K S) (S (K K) S)) (K K)) I correct? i'm sure you can check with ease 19:07:47 hmm 19:08:01 evaluate it yourself 19:08:02 don't think so 19:08:10 should start with S (K S) ... 19:08:11 bsmntbombdood: faster this way 19:08:27 ah, an irc channel with an oerjan oracle 19:08:31 :P 19:09:54 S (S (K S) K) n f x = S (K S) K f (n f) x = K S f (K f) (n f) x = S (K f) (n f) x = f (n f x), just checking mine above 19:10:24 Damn, I had to lock down hackiki.org to require login to edit :( 19:11:14 okay i get \n -> (S (K (S n)) K) n 19:11:51 i guess i got confused by all the S's 19:11:57 there were too many of them 19:12:16 oklopol: that's the part that gets easier with unlambda notation 19:12:50 i see 19:15:42 * pikhq looks at the call graph 19:17:47 So far all I can tell is that xgc_malloc gets called a lot. 19:18:48 anyone knows if VGA and DVI are guaranteed to be hot pluggable? 19:18:58 (and hot *un*pluggable) 19:19:28 -!- impomatic has joined. 19:19:32 Hi :-) 19:19:47 isn't VGA damn old 19:19:48 There's a CROBOTS tournament taking place soon, http://crobots.deepthought.it/home.php?link=91 19:19:55 oerjan, well yes but still 19:21:23 before USB i hadn't really _heard_ about hot pluggability. admittedly i'm about the platonical ideal opposite of a hardware guy. 19:22:19 cromulent crobots 19:25:28 AnMaster: This is of course not conclusive proof, but Wikipedia's infobox on DVI says "Hot pluggable: Yes"; the infobox for the VGA connector does not list either. 19:26:00 No, VGA is not guaranteed to be hot-pluggable. 19:26:43 VGA is quite often plugged hot, though. Switching monitor cables around is more frequent than many other types of cables. 19:28:10 Oh, you're probably safe doing it, but there was no design constraint for it. 19:29:11 I remember trying to explain this concept to someone on the freebsd-questions list once. They had a hard time believing that RS-232 (I think?) wasn't guaranteed to be hot-pluggable, because THEY never had a problem with it. 19:30:10 Hardware questions on freebsd-questions can be quite entertaining. 19:34:38 -!- impomatic has quit ("ChatZilla 0.9.86 [Firefox 3.5.7/20091221164558]"). 19:36:57 http://python.pastebin.com/m541353e 19:37:26 Because it's every day that I have a need to retain the last value that the loop variable took on in the loop. 19:38:20 Sorry, I've just been doing a lot of Python lately. I like it, overall, but mainly because I know that the number of things that irritate me would probably only be greater in most other languages. 19:38:20 uuh 19:38:26 how is that not the expected behavior? 19:38:34 why would loops have their own scope? 19:39:04 Why shouldn't loops have their own scope? When is it useful to know what the value of the variable was on the last iteration, after the loop is over? 19:39:47 If "expected behaviour" means "behaviour we've come to expect from using crappy languages for decades", yes, it's the expected behaviour :) 19:41:55 it's bad form anyway 19:42:07 your loop variable shouldn't shadow another 19:44:55 I suppose I can't expect the language to treat shadowing a variable as a syntax error either, though. It's my fault for not correctly cataloging the 'n' variable names used in this scope so far, in my head. :) 19:53:56 * oerjan vaguely recalls perl allows you to decide whether loop variables get their own scope, by adding "my" 19:56:38 * oerjan confirms this 19:57:43 Yeah, it does. Also C lets you open a new scope in an anonymous block, at least. 19:59:09 C99 does; older Cs don't let you declare variables except at the top of a function. 19:59:42 Hm, I thought it was ANSI... 19:59:49 I mean, C89 20:00:19 Declarations after statements are errors in C89 20:00:43 Deewiant: but what about in an inner block? 20:00:47 C89 allows declarations in blocks 20:00:52 not just functions 20:00:53 I thought so 20:01:07 Darn, I thought {} was considered a statement 20:01:17 void x(void) { int x; x = 15; { int y; y = 12 } } should be ok 20:01:48 Oh, hmm, that I didn't expect at all 20:01:49 er, with the possible exception of the function name being shadowed -- that was unintentional 20:01:54 heh 20:13:47 Deewiant, you appear to be deewiating from the spec. :) 20:14:35 you just had to pressey the issue, right 20:14:40 {(...)} is a statement 20:14:50 or ({...}), i can't remember 20:16:11 * oerjan vaguely recalls reading ({...}) being a gcc extension? 20:16:12 ... and you're oerjan me to make another pun. 20:16:24 i thought it was c99 20:16:52 well i probably read it on this channel, so... 20:18:19 or rather, ({...}) was an expression containing a statement 20:20:42 { ... } is also a statement; it's called "compound statement". But you can still stick declarations there, because it's: compound-statement: { declaration-list statement-list } 20:23:06 I don't think C99 has the ({ ... }) trick, though; at least the GCC docs about it don't mention C99, which is what they often do with many other things that are GCC extensions in C89/C90 and also legal C99. 20:35:18 Asked fungot to spew out some song lyrics; it replied: "confronted shame what they're sayin / it's more than before / dis-leur que je pars. / mais loin, l-bas, / quelque part, kept mention / im prayin fraid death pre-hook been / patti crips establish colder; functions hunt so in life / oh a smooth savage chronicles aint true" 20:35:19 fizzie: good god! give it up. 20:35:54 fungot style 20:35:55 ({ }) is not legal C99 20:35:55 soupdragon: ive never asked you before mentioning that you were not " here" 20:36:26 (The particular style that generated that stuff is not in the bot yet. It's also not very good.) 20:36:34 Why shouldn't loops have their own scope? When is it useful to know what the value of the variable was on the last iteration, after the loop is over? <-- happened to me, so just declare the variable outside the loop 20:37:00 cpressey, C does the right thing for scope in imperative languages IMO 20:37:10 Oh, a fungot 20:37:12 FireFly: fair automaton.) a variety of colorful fish and wildlife hella cool 20:37:33 Fungot, a fair automaton; also a variety of colorful fish and wildlife. 20:37:57 fungot: That was a nice self-description you had there. 20:37:58 fizzie: as in you will save some consing yet? 20:39:14 I don't think C99 has the ({ ... }) trick, though; at least the GCC docs about it don't mention C99, which is what they often do with many other things that are GCC extensions in C89/C90 and also legal C99. <-- indeed ({...}) is a GNU extension and is not allowed in a conforming C program 20:39:21 (or was it "strictly conforming"?) 20:39:50 ^style 20:39:50 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 20:40:02 soupdragon, learn the commands ;P 20:40:55 soupdragon disliked being called MissPiggy? 20:41:18 just the default name on this system is different... 20:41:34 ah 20:45:45 What spamming attacks? 20:47:39 Sgeo: http://blog.freenode.net/2010/01/javascript-spam/ 20:51:18 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net"). 20:54:43 -!- Pthing has quit (Read error: 110 (Connection timed out)). 21:00:47 ^style ff7 21:00:48 Selected style: ff7 (Full script of the game Final Fantasy VII) 21:01:13 fungot, give me a line of wisdom 21:01:14 FireFly: now we've saved aerith, you have the lunar harp you're after. we almost have the promised land, so shu'up jackass! 21:04:16 fungot: That sounds more like a random set of quotes mashed together than genuine wisdom. 21:04:17 fizzie: now then... this ship's gonna save the planet, merge with one another and roam the planet is hurt, are you saying? 21:04:36 fungot: No, I most definitely am not saying that. 21:04:36 fizzie: we're talking about, professor... someone's in here... you were trying to say... 21:05:09 ^style lovecraft 21:05:10 Selected style: lovecraft (H. P. Lovecraft's writings) 21:05:18 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 21:05:21 I don't think that one ever worked very well. 21:05:21 fungot: I think that's more appropriate for this venue, don't you? 21:05:22 cpressey: subconscious alarm in his fnord to humour the fellow. if i could but learn to discover and read them? i did not have to ask. 21:05:53 meh. 21:06:14 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *"). 21:06:44 -!- whtspc_ has joined. 21:06:49 fungot: feeling particularly noneuclidean today? 21:06:50 oerjan: what i did see was not spectacular, not grotesque or terrifying, yet it was none of nahum's family at all who made the family name as celebrated in ethnology as in exploration. in 1815 sir robert married a daughter of the seventh fnord fnord and fnord disordered sound; abysses whose material and fnord properties, and whose frightened appeals for government inquiry and action brought on the fnord arkham innsmouth newbury 21:07:10 Heh, I had just in the process of writing some sort of non-Euclidean reference, too. 21:07:15 i say! 21:08:27 ^style bunnicula 21:08:27 Not found. 21:08:33 fungot: hast du hastur? 21:08:34 oerjan: that night fnord me, i shut my eyes and beheld myself upon the platform of that lighthouse whence i had sailed so many aeons ago, before even the gods had danced upon its pointed peak, that mountain had spoken with fire and roared with the voices of ulthar's many cats, but that the priests in the masked and hooded columns are not human beings. 21:08:47 too much fnording. 21:09:05 ^style c64 21:09:05 Selected style: c64 (C64 programming material) 21:09:08 too fnord, or not to fnord, that is the fnord 21:09:24 fungot: So, lay it on us. 21:09:24 cpressey: to pass in front of, or in conjunction with the program above to allow an easier way to create a 21:15:08 -!- whtspc__ has joined. 21:15:23 Hm. How can malicious Javascript cause a connection to a server other than the one hosting the malicious Javascript? 21:17:15 -!- soupdragon has joined. 21:21:28 Sgeo: By causing the client to submit a POST request that has contents that look like IRC connection initiation; I mean, JavaScript is perfectly capable of pressing the submit button of a form, and the form action field can be any URL. 21:21:56 (At least that's my guess; I'm not a web person.) 21:23:34 -!- Sgeo_ has joined. 21:23:42 Based on the comments, that's somewhat close to what happens; they do say that their new ircd is clever enough to not just ignore the HTTP headers sent by the client. 21:24:48 Hm 21:24:56 I think I'm going to register Sgeo_ and Sgeo__ 21:25:59 Yes, that is what they recommend. Sort-of, anyway. 21:26:06 "It's useful, but not required, to have an alternate nick grouped to your account. For example, if your primary nick is foo: 21:26:06 /nick foo_ 21:26:06 and then 21:26:06 /msg nickserv group" 21:26:22 Oh 21:26:23 Oops 21:26:33 How do I unregister this? 21:27:03 -!- Sgeo has quit (Nick collision from services.). 21:27:10 -!- Sgeo_ has changed nick to Sgeo. 21:27:23 -!- Sgeo has changed nick to Sgeo_. 21:27:30 funny, switched monitor to dvi 21:27:39 now I get X display but not console 21:27:47 wonder how to switch the frame buffer over to dvi 21:27:51 anyone knows? 21:28:11 what's the best shell script web server? 21:28:22 -!- Sgeo_ has changed nick to Sgeo. 21:28:27 -!- Sgeo has changed nick to Sgeo_. 21:29:44 -!- Sgeo_ has changed nick to Sgeo. 21:29:52 -!- Sgeo has changed nick to Sgeo_. 21:30:41 -!- Sgeo_ has changed nick to Sgeo__. 21:30:53 -!- Sgeo__ has changed nick to Sgeo. 21:34:41 Matroxfb had a custom option for selecting outputs; if it's vesafb, I doubt it has any way of choosing anything else than what the card thinks of as the primary thing when it gets initialized. Might be wrong, though. 21:35:41 -!- cheater3 has joined. 21:35:50 My nvidia card (which, admittedly, has just two DVI connectors) sends the VGA text console to both outputs; I don't quite remember what the framebuffer console did. 21:36:15 fizzie, mine has one vga and one dvi 21:36:29 which one it sends to depends on which was connected at boot 21:36:41 soupdragon, the one written with dd/sh 21:37:00 fizzie, and yes it is vesafb 21:37:28 Well; do you happen to see the connectors as separate /dev/fbX devices or what? I don't really remember how that works; I would think it's just a single device. 21:37:38 -!- tombom_ has joined. 21:37:50 fizzie, there is just /dev/fb0 21:38:06 fizzie, ever noticed that option "digital vibrance" in nvidia-settings? What the heck is the point of it? 21:38:09 -!- cheater2 has quit (Connection timed out). 21:38:36 -!- Sgeo has changed nick to SgWoggleNot. 21:38:50 I assume it does some made-to-look-more-colorful-to-a-layperson colorspace mangling. I don't remember when I last looked at nvidia-settings, though. 21:38:57 Their Windows display drivers are full of stuff like that too. 21:39:16 heh 21:39:59 "DVC is a patent pending innovation for controlling color separation and intensity and is bundled with the ForceWare software for desktop, workstation, platform, and mobile solutions." 21:40:04 Oh, they're even trying to patent it. 21:40:13 Well, the patent application -- if you can find it -- should say what it does. 21:40:32 hah 21:40:44 (That was from the http://www.nvidia.com/object/feature_dvc.html hype-page.) 21:41:06 "Dry presentations receive a dramatic boost with more visual intensity." See, it can even make your boring powerpoint presentations interesting. 21:41:15 I would hope it changes the content there too. 21:42:32 hah 21:42:54 fizzie, btw, even monitor these days provides various "look better to lay persons" modes 21:43:19 Sure. Not to even start with digital cameras. 21:43:53 Mine has a food photography mode, for example. 21:44:47 Oh, and a "soft skin" mode, which applies some sort of a blur effect on all skin-colored parts of the image. 21:44:54 food photography? 21:45:01 that is one I never heard 21:45:08 heard before* 21:45:13 "This mode allows you to take pictures of food with a natural hue without being affected by the ambient light in restaurants etc." 21:45:40 fizzie, there is a skin tone option in my monitor's menus- 21:45:45 s/-/./ 21:45:46 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *"). 21:45:48 -!- muni has quit. 21:45:51 not sure what it does, it is greyed out 21:46:03 probably due to it being in "standard sRGB mode" 21:46:14 -!- SgWoggleNot has changed nick to Sgeo. 21:46:44 A friend has a camera that has a smile photography mode. When you turn it on, it uses the face recognition stuff to find faces, then waits until it sees something that approximates a smile (teeth showing is a good way to make it trigger) and then rapidly takes three pictures, though unfortunately with a two-seconds-or-so delay. 21:47:51 fizzie, oh btw they call it "Splendid - Video Intelligence Technology" on the monitor 21:48:33 fizzie, heh 21:49:31 * AnMaster just pealed away the big colourful sticker saying "Splendid try me s/"/>"/ 21:49:48 s/pealed/peeled/ 21:51:07 yeah 21:51:28 -!- soupdragon has joined. 21:52:23 and there goes the other stickers: Vista ready, HDCP, 8000:1, aspect control, "Asus RoHS Compliant" (wth is that?), and the model number. Sadly they were all on one. I would have been happy to keep the model number 21:52:40 well the glossy surface on the *sticker* was unacceptable 21:52:48 reflections 21:52:56 RoHS is some sort of not-too-toxic-stuff-used-when-building-the-thing spec. 21:53:03 fizzie, ah well 21:53:06 "Directive on the restriction of the use of certain hazardous substances in electrical and electronic equipment". 21:53:27 fizzie, how did the abbrev come from that 21:53:31 -!- tombom__ has joined. 21:53:36 also strange but I can find *no* TCO label 21:53:42 They call it "Restriction of Hazardous Substances Directive" among friends. 21:55:05 This one just has a tiny "HD ready" sticker -- which is not actually even very glossy -- in the corner. But maybe I have already removed some; I probably would have, if they had garish colors or something. 21:55:37 fizzie, my old one just had some on the base of the monitor, in grey/white 21:55:47 iirc vista ready and TCO99 21:56:01 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *"). 21:56:09 fizzie, also why is every monitor black around the edges these days 21:56:16 I much prefered light grey or beige 21:56:33 like my old samsung syncmaster (very long ago) 21:56:56 it had adjustable height, unless you pay a lot these days, adjustable height also seems hard to find 21:57:04 Strange to call a 1920x1200 monitor "HD ready" anyway; I thought that -- around these parts, at least -- "HD ready" was the euphemism for the lower 1280x720 thing, with everything that has enough pixels for 1080p being called "Full HD". 21:57:20 fizzie, heh 21:57:40 -!- tombom has quit (Read error: 110 (Connection timed out)). 21:57:46 Hrm, I think all my monitors have adjustable height; can't be *that* uncommon. (Admittedly I haven't bought a monitor in the last few years. And there were some fixed-stand models around when I last looked, but not that many.) 21:57:58 fizzie, this monitor is 1680x1050 21:58:05 but that doesn't mean it is 19:9 21:58:06 because 21:58:19 resolution: 90x88 dots per inch 21:58:23 (from xdpyinfo) 21:58:24 -!- soupdragon has joined. 21:58:31 (it's incorrect I believe) 21:59:12 Hm, the logo in fact looks like the "official" -- http://en.wikipedia.org/wiki/HD_ready -- one. I guess it does HDCP and such then. 21:59:59 -!- whtspc__ has quit (Read error: 113 (No route to host)). 22:00:22 -!- whtspc_ has quit (Read error: 113 (No route to host)). 22:01:03 fizzie, really I don't want anything much larger than this. I already find the extra width a bit annoying 22:01:07 It would appear part of my problem is that church1 is not doing what you'd expect. 22:01:14 (namely, \f x -> f x) 22:01:24 Never trust organized religion, that's a good motto. 22:01:26 pikhq, what is it doing instead? 22:01:29 fizzie, :D 22:01:50 AnMaster: Not evaluating its arguments. 22:01:55 \f x->() 22:01:59 -!- soupdragon has quit (Client Quit). 22:02:01 fizzie, so disorganised and unorganised ones are okay? 22:02:20 Yes, in the sense that they get less harm done. 22:02:20 Has anyone heard from ehird? 22:02:27 For curiosity's sake, I've gone ahead and made it strict in its arguments. 22:02:31 Sgeo: No, I haven't. 22:02:39 fizzie, what about Buddhism? 22:02:55 certainly organised, but hardly very harmful. 22:03:25 I don't know about buddhism... the dude with the smile sort of looks like he's plotting something. 22:04:59 fizzie, they mention stuff like "don't belive everything I tell you, use some critical thought" and "each to his/her own" (the latter is more specifically: other religions are okay as long as they aren't causing harm to people) 22:05:16 also wordings aren't exactly thouse 22:05:18 those* 22:05:38 Yes, well, maybe that's just what they *say*. I'd be a bit wary. 22:06:42 fizzie, still, better than most religions. In part it is more of a philosophy than a religion 22:07:53 "No matter what happens, never call on the government, the church, or any other massive controlling authority for help. They'll just send a brigade of soldiers to burn your entire village to the ground." -- The Grand List Of Console Role Playing Game Clichés 22:08:14 fizzie, well yes that is games. 22:08:26 fizzie, also link to that 22:08:39 http://project-apollo.net/text/rpg.html 22:08:51 I have a feeling http://tvtropes.org/pmwiki/pmwiki.php/Main/CorruptChurch might link to it too. 22:09:03 (At least there are several links to the list from tvtropes.) 22:09:06 * AnMaster whips out w3m 22:09:15 w3m -dump even 22:09:41 why? no links 22:10:15 err that is links as in , not as in /usr/bin/links 22:10:42 -!- soupdragon has joined. 22:11:17 Yes, it's certainly safer than lynx/links -dumps for tvtropes. 22:11:53 XD 22:12:02 -!- tombom has joined. 22:12:28 -!- soupdragon has quit (Client Quit). 22:12:37 Well, that explains at least *some* things. church1's thunks are the only ones being called. 22:13:02 Somehow, it never ends up dethunking its arguments. 22:13:08 Even the one that it dethunks and calls. 22:14:38 -!- tombom_ has quit (Read error: 110 (Connection timed out)). 22:14:46 fizzie, just tried lynx dump, it includes all the links at the end 22:14:55 unacceptable 22:15:01 So does "links -dump" too. 22:15:04 ah 22:15:58 You can do "lynx -dump -nolist" though. Though w3m asciifies some things better. 22:16:14 (Also seems to use UTF-8 bullet-points for me by default.) 22:16:58 -!- kar8nga has quit (Remote closed the connection). 22:17:02 fizzie, and it seems my terminal uses bitstream vera not dejavu 22:23:03 -!- augur_ has joined. 22:23:11 fizzie, btw I played a bit of mario rpg recently, it was.... interesting... 22:24:01 I've played it a very very very tiny bit, too, but I've completely forgotten what it was like. (If you're talking about that SNES thing.) 22:25:08 (They do have those newer things too.) 22:25:45 fizzie, snes of course 22:25:52 there are newer rpgs? 22:26:04 anyway I managed to get zsnes to produce a broken save 22:26:08 so meh 22:26:09 There's the Paper Mario series. 22:26:23 fizzie, remember that locking up mupen64plus 22:26:41 The first one is N64, second one GameCube, and third one for Wii. 22:26:51 -!- augur has quit (Read error: 110 (Connection timed out)). 22:27:26 Also a couple of portable things named "Mario & Luigi: whatever"; one for the GBA and two for the DS. 22:27:40 If it's worth doing, it's worth doing more for even more money. 22:28:09 what is paper mario about? 22:28:25 You rescue a princess (gasp!). 22:28:33 well that's a given 22:29:04 I haven't played them, I've just heard-of. 22:29:29 fizzie, btw number 30 on that list does *not* apply to mario rpg 22:29:39 but that is due to mario of course 22:30:40 Yes, well, I doubt you can find any game to collect all of them. (Unless someone has explicitly had that as a goal. Hmm...) 22:30:44 -!- tombom__ has quit (Read error: 110 (Connection timed out)). 22:31:04 heh 22:34:11 fizzie, in rule 42, what is "FMVs"? 22:34:39 "Full Motion Video", I believe. Not often seen in SNES games, for obvious reasons. 22:34:56 fizzie, what about zelda oot? 22:35:08 as in when you first approach the castle town 22:35:18 is that what it means 22:35:52 It means any precalculated/actually-videographed movie-like cutscenes that aren't rendered with the game engine. 22:36:22 hm not rendering with the game engine would be rare wouldn't it? 22:37:16 Well, now... it's not that rare to have "properly rendered" 3D cutscenes. PSX RPGs at least seem to do it a lot; you can fit a lot of video on the discs. 22:37:51 is there any emulator for those? 22:38:22 oh wait, didn't chrono trigger for that newer device do something like it? 22:38:29 was drawn, not rendered iirc 22:38:37 Yes, they added some animation clips. 22:38:45 I think the DS version includes those, actually. 22:38:57 yes that is what I said 22:39:05 the snes one is more original though! 22:39:17 The "newer device" I was thinking of was the Playstation 1. 22:39:25 That's where those chrono trigger videos were first seen. 22:39:26 oh they ported it to that too? 22:40:15 They did. There wasn't that much new in the PS version, except those video clips. 22:40:23 hm 22:40:40 The bonus world-areas in the DS version are DS-only, for example. 22:40:48 bonus world? 22:40:50 huh? 22:41:06 I only played snes beyond the baasics 22:41:06 Lost Sanctum, Dimensional Vortex. Those two weren't in the SNES version. 22:41:15 fizzie, where did you reach those? 22:42:08 You can go to Lost Sanctum after getting the wings for Epoch. 22:42:39 what is there? 22:42:42 As for Dimensional Vortex, you have to complete the game once to get there. 22:42:54 and what is there? 22:43:07 Lost Sanctum has a horrible number of really boring "fetch quest"-style things, which mainly involve incredible amounts of walking. 22:43:16 I think I did them all, and it was quite a chore. 22:43:38 You get all kinds of bits and pieces for reward there. 22:43:45 fizzie, what time period was it? 22:44:30 It's in two; 65,000,000 B.C. and 600 A.D. 22:44:36 -!- soupdragon has joined. 22:44:38 And most of the walking comes from flipping between those two. 22:44:48 ah 22:46:41 As for the dimensional vortex, that one sort-of is in the remaining three time periods (12000 B.C., 1000 A.D. and 2300 A.D.; I don't think 1999 counts); it's partially built from randomly selected maps from the "actual" game, plus some brand-new bits in the end. 22:47:50 Story-wise the Lost Sanctum adds nothing important (well, it's a village of surviving reptites, but it's not like they *mean* anything); the Dimensional Vortex is a some sort of tie-in to the Chrono Cross story. 22:49:41 You also get new items from those new bits, but, well, "meh". 22:50:30 hm 22:50:48 There's an upgraded version of the Rainbow, for example. 22:50:55 oh? 22:51:33 It has an attack power of 240 (compared to the Rainbow's 220) and does criticals 90 % of the time (compared to Rainbow's 70 %). 22:51:48 mhm 22:52:08 And of course you get it from doing the final boss at the end of the Dimensional Vortex, so when you've gotten it, there's nothing in the whole game it won't be an overkill for. 22:52:19 There's a couple of related tvtropes tropes about this sort of thing. :p 22:52:41 number 78 (pretty line syndrome) is at least not as common in snes rpgs. Some are slightly open-ended 22:52:57 (I much prefer open-ended btw) 22:54:14 PC games -- well, the Elder Scrolls games, that is; I don't really know about much else -- have a bit of an edge in the open-endedness. In the console ones "open-ended" mostly seems to mean "just before finishing up the story, there's some free time to do sidequests". 22:54:30 yeah :/ 22:56:18 fizzie: It's very much a genre thing. 22:56:45 Yes. I sort-of like both, so I don't really mind. 22:56:59 -!- coppro has joined. 22:57:01 But that list really does contain some very common things. 22:57:05 night all → 22:59:52 -!- oerjan has quit ("Good night"). 23:00:02 -!- tombom has quit ("Leaving"). 23:14:42 I just heard one of the most horrific things I've ever heard playing on a radio in my life. 23:14:55 An "emo-coustic" cover of Van Halen's "Jump". 23:35:35 -!- FireFly has quit ("Nighty"). 23:57:17 -!- BeholdMyGlory has quit (Remote closed the connection). 2010-01-30: 00:05:15 -!- cpressey has left (?). 00:14:14 * Sgeo goes to play some RoboZZle 00:15:18 The Silverlight client is taking uncomfortably long to load 00:17:41 -!- immibis has joined. 00:33:58 -!- Wareya has quit (Read error: 104 (Connection reset by peer)). 00:43:47 -!- augur_ has quit (Read error: 110 (Connection timed out)). 01:32:01 -!- Azstal has joined. 01:32:26 -!- cheater2 has joined. 01:39:53 -!- cheater3 has quit (Read error: 110 (Connection timed out)). 01:48:57 -!- Asztal has quit (Read error: 110 (Connection timed out)). 02:01:26 -!- Pthing has joined. 02:10:22 -!- oklopol has quit (Read error: 110 (Connection timed out)). 02:11:16 i found some old cds, containing among other things Game Maker 4, Encarta 95 and Liberty BASIC 2.02 for Windows 02:19:33 Upload them to vetusware.com 02:19:40 (Assuming they're not already there) 02:21:30 -!- wareya has joined. 02:21:51 -!- wareya has changed nick to Wareya. 02:24:48 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 02:28:55 -!- MizardX has joined. 02:30:07 -!- cheater3 has joined. 02:36:02 -!- Slereah_ has joined. 02:37:37 -!- augur has joined. 02:40:15 -!- cheater4 has joined. 02:49:52 -!- cheater2 has quit (Read error: 110 (Connection timed out)). 02:50:53 -!- mycroftiv has quit (verne.freenode.net irc.freenode.net). 02:50:57 -!- mycrofti1 has joined. 02:51:35 -!- Slereah has quit (Read error: 110 (Connection timed out)). 02:55:25 -!- cheater3 has quit (Success). 03:06:40 -!- mycrofti1 has changed nick to mycroftiv. 03:08:55 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *"). 03:10:17 -!- augur has quit (Read error: 104 (Connection reset by peer)). 03:12:49 -!- augur has joined. 03:16:27 -!- Gracenotes has quit (Remote closed the connection). 03:17:01 -!- augur_ has joined. 03:18:57 -!- augur__ has joined. 03:19:56 -!- augur_ has quit (Success). 03:21:43 -!- augur has quit (Connection reset by peer). 03:29:43 -!- MizardX has quit (Connection timed out). 03:37:01 -!- cheater4 has quit (Connection timed out). 03:44:07 -!- augur__ has quit (Read error: 104 (Connection reset by peer)). 03:44:25 -!- augur has joined. 03:44:50 -!- Gracenotes has joined. 03:46:23 -!- jpc has joined. 03:53:40 -!- augur has quit (Read error: 104 (Connection reset by peer)). 03:54:06 -!- augur has joined. 04:08:04 -!- clog has joined. 04:08:04 -!- clog has joined. 04:08:16 -!- clog has joined. 04:08:16 -!- clog has joined. 04:23:53 -!- augur has quit (Read error: 110 (Connection timed out)). 04:35:37 lawl MST3K. This movie is /so awful/. I swear it's just constantly on the brink of turning into porn. 04:39:51 -!- augur has joined. 04:55:40 Heh. 05:05:08 -!- augur has quit (Read error: 110 (Connection timed out)). 05:10:47 -!- Pthing has quit (Remote closed the connection). 05:14:37 Gregor, is that the one with the tubular boobular song? 05:15:13 Not ... yet? 05:15:28 It could be, it has songs. 05:15:56 It's "Untamed Youth" 05:17:08 No, the movie with that is Outlaw 05:17:15 http://mst3k.wikia.com/wiki/Tubular_Boobular_Joy 05:18:35 let's just be clear 05:18:47 you aren't expecting an MST3K movie to be /good/, are you? 05:19:21 Actually Moon Zero Two was pretty good. It was mostly just clearly dated. 05:31:29 -!- augur has joined. 05:36:48 -!- immibis_ has joined. 05:37:18 -!- immibis has quit (Nick collision from services.). 05:37:55 -!- immibis_ has changed nick to immibis. 05:42:46 Can someone please explain to me how heterogenous lists in a strongly-typed language can ever seem like a good idea? 05:44:50 polymorphism 05:45:25 if you mean truly heterogeneous, then no, that's never a good idea, regardless of how much Java and C# try to make you think it is 05:47:26 I'm not thinking of Java and C# 05:47:35 And I don't think polymorphism comes into this 05:47:45 sure it does 05:47:52 a vector is a heterogeneous list 05:48:06 if it is filled with Derived*, SuperDerived*, and OtherDerived* 05:48:10 In LSL, there are no objects 05:48:27 No base object to talk of 05:48:28 LSL? 05:48:36 The language used in Second Life 05:48:52 Lists freely contain floats and strings etc. etc. etc. 05:48:56 Linden Scripting Language 05:49:03 oh 05:49:07 no, that's a horrible idea 05:49:15 common in just about every scripting language ever 05:49:16 And to get, say, the first element of a list (a_list) if it's a string: llList2String(a_list, 0) 05:49:17 but always horrible 05:49:27 (and most functional ones) 05:49:48 I prefer the Tcl solution. 05:49:52 List, what list? 05:49:55 You have strings. 05:50:03 That's about it. 05:50:12 :/ 05:50:28 isn't that the language that stores an int form of every string just in case? 05:50:33 No. 05:50:51 oh 05:50:53 which is that, then 05:51:01 As an optimisation, it stores what the string was last used as. 05:51:25 So if you're doing a lot of arithmetic, it won't be thunking to and from an integer. 05:51:38 *boxing* 05:52:00 ah 05:52:01 Erm. Right. 05:52:09 Sorry, I've been writing the word "thunk" a lot today. :P 05:52:23 Thunks thunking thunks thunk thunk thunk. 05:52:44 I've been doing lazy functional C. 05:52:48 It tends to thunk. 05:52:49 I nose. 05:53:01 lazy functional C? 05:53:25 Yes. 05:53:33 The laziness is explicit! 05:54:04 Linky? 05:54:41 Sgeo: he wrote a horrible set of macros to make a sort-of lambda 05:58:04 http://sprunge.us/HOQR There's main.c ATM. 05:58:16 It doesn't work right. 05:58:44 And it's hacked-up beyond belief because I've been trying things. 06:15:07 Deewiant: Have you happened to notice this? http://zem.fi/g2/v/Mobile/20100128_001+crop.jpg.html 06:30:02 -!- MigoMipo has joined. 07:03:04 -!- MigoMipo has quit (Remote closed the connection). 07:34:37 -!- immibis_ has joined. 07:35:56 -!- oerjan has joined. 07:40:03 -!- immibis has quit (Nick collision from services.). 07:40:04 -!- immibis_ has changed nick to immibis. 07:40:50 -!- immibis has changed nick to immibis_. 07:41:09 -!- immibis_ has changed nick to immibis. 07:58:00 -!- coppro has quit (Client Quit). 07:58:17 -!- coppro has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:17 -!- cheater2 has joined. 08:02:38 -!- Gracenotes has quit (Remote closed the connection). 08:07:25 -!- Gracenotes has joined. 08:28:06 -!- Azstal has quit (Read error: 110 (Connection timed out)). 08:31:51 -!- oerjan has quit ("leaving"). 08:33:06 -!- sebbu2 has quit (jordan.freenode.net irc.freenode.net). 08:33:07 -!- Ilari has quit (jordan.freenode.net irc.freenode.net). 08:33:07 -!- pikhq has quit (jordan.freenode.net irc.freenode.net). 08:33:07 -!- Deewiant has quit (jordan.freenode.net irc.freenode.net). 08:33:07 -!- cheater has quit (jordan.freenode.net irc.freenode.net). 08:33:18 -!- coppro has quit (jordan.freenode.net irc.freenode.net). 08:33:18 -!- jpc has quit (jordan.freenode.net irc.freenode.net). 08:33:18 -!- Slereah_ has quit (jordan.freenode.net irc.freenode.net). 08:33:20 -!- jix has quit (jordan.freenode.net irc.freenode.net). 08:33:21 -!- fizzie has quit ("jumpin' jumpin'"). 08:33:25 -!- Gracenotes has quit (jordan.freenode.net irc.freenode.net). 08:33:25 -!- cheater2 has quit (jordan.freenode.net irc.freenode.net). 08:33:29 -!- mycroftiv has quit (jordan.freenode.net irc.freenode.net). 08:33:29 -!- bsmntbombdood has quit (jordan.freenode.net irc.freenode.net). 08:33:29 -!- HackEgo has quit (jordan.freenode.net irc.freenode.net). 08:33:57 -!- clog has joined. 08:33:57 -!- clog has joined. 08:34:06 -!- Wareya has joined. 08:34:08 -!- Leonidas has joined. 08:34:11 -!- comex has joined. 08:34:12 -!- augur has joined. 08:34:25 -!- Gracenotes has joined. 08:34:35 -!- Sgeo has joined. 08:34:40 -!- olsner has joined. 08:35:11 -!- EgoBot has joined. 08:35:26 -!- SimonRC has joined. 08:35:26 -!- uorygl has joined. 08:36:27 -!- lifthrasiir has joined. 08:36:55 -!- ineiros has joined. 08:38:37 -!- AnMaster has joined. 08:39:25 -!- fizzie has joined. 08:39:25 -!- cal153 has joined. 08:39:35 -!- rodgort has joined. 08:40:57 -!- dbc has joined. 08:43:43 -!- yiyus has joined. 09:13:00 -!- jpc has joined. 09:13:40 -!- jpc has quit (Client Quit). 09:50:50 -!- Deewiant has quit (*.net *.split). 09:50:50 -!- jix has quit (*.net *.split). 09:50:52 -!- jix has joined. 09:51:03 -!- Deewiant has joined. 09:54:14 -!- Gregor has joined. 10:01:25 -!- BeholdMyGlory has joined. 10:03:27 -!- tombom has joined. 10:03:53 -!- FireFly has joined. 10:11:31 -!- kar8nga has joined. 10:26:09 fizzie: Don't think so, no. 10:28:42 Deewiant: Well, now you have. 10:29:14 Indeed. Amusing, that. 10:32:30 It reminds me a bit of that fake L4 poster (did you see that one?), except that this one is -- as far as I know -- officially sanctioned. 10:38:05 I saw that one, yes. 10:40:54 Mathematicians are a bit... strange. 11:10:29 * SimonRC goes for breakfast 11:18:47 -!- oklopol has joined. 11:47:28 -!- kar8nga has quit (Ping timeout: 276 seconds). 12:27:59 -!- zeotrope has joined. 12:44:16 -!- oklofok has joined. 12:45:31 -!- oklopol has quit (Ping timeout: 260 seconds). 12:48:37 -!- oklopol has joined. 12:50:27 -!- scarf has joined. 12:52:02 -!- oklofok has quit (Ping timeout: 258 seconds). 13:04:07 -!- oklofok has joined. 13:04:15 -!- oklopol has quit (Ping timeout: 264 seconds). 13:09:23 -!- MizardX has joined. 13:27:15 -!- scarf has changed nick to scarf|away. 13:33:25 -!- scarf|away has changed nick to scarf. 13:38:36 -!- scarf has changed nick to scarf|away. 13:43:35 -!- scarf|away has changed nick to scarf. 13:45:50 -!- kar8nga has joined. 13:47:23 -!- tombom_ has joined. 13:48:45 -!- scarf has changed nick to scarf|away. 13:50:48 -!- tombom has quit (Ping timeout: 258 seconds). 13:53:55 -!- scarf|away has changed nick to scarf. 13:55:22 -!- oklofok has changed nick to oklopol. 13:59:15 -!- scarf has changed nick to scarf|away. 14:01:05 -!- scarf|away has changed nick to scarf. 14:05:57 -!- soupdragon has joined. 14:06:15 -!- scarf has changed nick to scarf|away. 14:11:45 -!- scarf|away has changed nick to scarf. 14:13:02 -!- tombom__ has joined. 14:14:40 -!- tombom_ has quit (Ping timeout: 240 seconds). 14:15:17 -!- zeotrope has quit (Ping timeout: 256 seconds). 14:17:25 -!- scarf has changed nick to scarf|away. 14:17:42 -!- facsimile has joined. 14:18:49 -!- soupdragon has quit (Read error: Connection reset by peer). 14:20:05 -!- scarf|away has changed nick to scarf. 14:26:39 -!- zeotrope has joined. 14:31:50 By installing Brainfuck, you will be able to experience the power of Brainfuck??? 14:32:12 wat's that from 14:32:18 -!- tombom_ has joined. 14:32:22 -!- tombom__ has quit (Ping timeout: 248 seconds). 14:33:25 -!- scarf has changed nick to scarf|away. 14:34:26 its from the java installer 14:34:45 facsimile: http://www.joelonsoftware.com/items/2009/01/12.html 14:36:45 -!- MigoMipo has joined. 14:40:15 -!- scarf|away has changed nick to scarf. 14:45:25 -!- scarf has changed nick to scarf|away. 14:45:31 -!- MigoMipo has quit. 14:47:11 -!- tombom__ has joined. 14:48:54 -!- tombom_ has quit (Ping timeout: 248 seconds). 14:48:55 -!- scarf|away has changed nick to scarf. 14:54:05 -!- scarf has changed nick to scarf|away. 14:54:15 -!- scarf|away has changed nick to scarf. 14:54:30 -!- ztirf2 has joined. 14:55:58 -!- zeotrope has quit (Ping timeout: 276 seconds). 14:59:25 -!- scarf has changed nick to scarf|away. 15:00:15 -!- scarf|away has changed nick to scarf. 15:05:04 -!- jix_ has joined. 15:05:11 -!- tombom_ has joined. 15:05:13 -!- kar8nga has quit (Remote host closed the connection). 15:05:45 -!- scarf has changed nick to scarf|away. 15:07:04 -!- tombom__ has quit (Ping timeout: 240 seconds). 15:07:52 -!- jix has quit (Ping timeout: 240 seconds). 15:12:36 -!- scarf|away has changed nick to scarf. 15:17:45 -!- scarf has changed nick to scarf|away. 15:18:05 -!- scarf|away has changed nick to scarf. 15:18:43 http://arxiv.org/abs/0811.3171 15:18:50 Quantum algorithm for solving linear systems of equations 15:18:59 this is too hard I can't understand it 15:23:15 -!- scarf has changed nick to scarf|away. 15:27:25 -!- scarf|away has changed nick to scarf. 15:52:34 -!- Pthing has joined. 15:56:12 -!- kar8nga has joined. 16:01:13 -!- facsimile has quit (Read error: Connection reset by peer). 16:08:27 -!- soupdragon has joined. 16:09:46 -!- jix_ has quit (Quit: leaving). 16:09:55 -!- jix has joined. 16:10:20 -!- jix has quit (Client Quit). 16:11:48 * pikhq can has the silliest way of defining churchSucc 16:14:17 -!- ChanServ has quit (shutting down). 16:17:07 -!- jix has joined. 16:17:58 -!- jix has quit (Client Quit). 16:18:24 -!- jix has joined. 16:27:27 -!- tombom has joined. 16:29:54 -!- tombom_ has quit (Ping timeout: 258 seconds). 16:30:44 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 16:51:22 -!- oerjan has joined. 16:55:10 * oerjan gets versioned by a frigging bot 16:56:03 how gregarious 16:56:19 :P 16:56:36 hm no +e flag? 16:57:53 ¿Qué es +e? 16:58:12 it used to be the flag showing that i was identified 16:58:19 Huh 16:58:56 -!- oerjan has changed nick to fnordjan. 16:59:38 -!- fnordjan has changed nick to oerjan. 17:00:11 hm whois seems to show the account name last, although without a field name 17:00:50 but i cannot detect anything that tells whether the actual _nick_ i'm using is registered by me 17:02:07 -!- oerjan has changed nick to fnordjan. 17:02:35 -!- fnordjan has changed nick to oerjan. 17:02:54 it seems i have to msg nickserv to find out 17:06:46 oh whois no longer censors our actual connected servers 17:16:38 Netsplits now look like: "Netsplit *.net <-> *.split quits: " :-) 17:21:54 -!- Pthing has quit (Remote host closed the connection). 17:23:14 -!- Gracenotes has quit (Quit: Leaving). 17:24:06 -!- Gracenotes has joined. 17:36:02 -!- ztirf2 has quit (Quit: Nettalk6 - www.ntalk.de). 18:10:25 oerjan: leverpastej med rödbetor var ju gott ju 18:10:32 men det är lite godare med gurka 18:10:45 lies! 18:11:03 well, the second part 18:11:05 what's rXdbetor 18:11:16 red beets 18:11:29 makes sense 18:11:43 that sounds like a really weird thing to eat 18:11:48 i wish i had some 18:12:25 Rad beats. 18:13:14 can't eat the beat. 18:18:00 It's a bit of a disadvantage that fungot only supports IP addresses, not hostnames; can't point it at the freenode rotation thing. 18:19:26 i'm sure your code is modular enough to allow for an easy modification 18:19:59 -!- Asztal has joined. 18:24:35 And no support for "advanced" sockets API? :-) 18:25:21 Why am I suddenly failing to figure out how to generate a lazy list? 18:27:40 There' SCKE which has gethost 18:29:33 The most important additions in advanced sockets API are getnameinfo and getaddrinfo. 18:31:49 Yes, well, there's no generally recognized fingerprint for that yet. 18:36:24 That advanced sockets API was developed to support IPv6. getaddrinfo and getaddrinfo are independent of address family (unless program is requesting practicular address family). 18:40:31 I do know the functions. 18:41:23 AnMaster had some sort of NSCK "new-sockets" thing going on at some point. 18:43:26 pikhq: in which language? 18:43:30 it's nontrivial in BF, for instance 18:49:20 -!- whtspc has joined. 18:55:16 no suck 18:55:53 -!- Pthing has joined. 18:59:10 -!- MigoMipo has joined. 19:00:34 scarf: C. 19:00:47 still not all that easy 19:01:13 It should be when I've already got lazy evaluation of everything else going. 19:02:05 It's not so much the "lazy list" bit that's the problem so much as it is the *corecursive* lazy list bit that's tricky. 19:04:32 I'm trying to create a lazy list out of stdin. 19:04:54 Currently, I'm managing to create a list with the first element being the first element of stdin, and the second element being segfault. 19:05:09 Which I shall call "_|_". 19:07:31 -!- kar8nga has quit (Ping timeout: 276 seconds). 19:12:04 -!- kar8nga has joined. 19:18:42 -!- whtspc has quit (Quit: leaving). 19:19:57 -!- jpc has joined. 19:36:47 -!- whtspc has joined. 19:46:16 AnMaster had some sort of NSCK "new-sockets" thing going on at some point. <-- no one else seemed interested, however I probably have the draft around still 19:47:39 I might start working on it (when I have time, a bit busy RL currently) if someone actually plan to use it for something. Would implement it in cfunge in that case. If that person then doesn't use it I would be rather annoyed ;P 19:48:28 fizzie, anyway cfunge's SCKE uses getaddrinfo iirc 19:51:10 Yes, I guess there's no reason why not. 19:51:18 -!- scarf has quit (Remote host closed the connection). 19:56:04 otherwise it would sucketh 19:57:16 -!- zeotrope has joined. 19:57:34 -!- jpc has left (?). 20:01:26 -!- whtspc has quit (Ping timeout: 248 seconds). 20:03:00 In theory, I have a working implementation of the SK subset of Lazy K... 20:03:14 In practice, it segfaults on everything that's not equivalent to I. 20:03:19 I am... Rather confused. 20:03:51 -!- whtspc has joined. 20:06:05 -!- jcp has joined. 20:13:22 Even passing it cdr or car causes a halt. 20:14:34 t-t-t-tree 20:15:44 hi bsmntbombdood :) 20:15:59 ohai fax 20:16:12 party! 20:17:07 whooooo! 20:17:49 are you the guy who was doing whitespace yesterday 20:17:51 or whateverday 20:18:48 no way 20:18:55 whtspc has been here for ages 20:19:00 the silent type though 20:19:23 hmm, possibly 20:19:33 i almost never look at userlist 20:19:50 http://sprunge.us/KgMJ 20:19:55 Anything obviously wrong there? 20:20:21 apart from all the obvious evil? 20:20:34 Apart from the obvious evil. 20:21:06 The latent evil! 20:21:13 20:21:22 what's the obvious evil :( 20:21:44 soupdragon: we like to call sexy things like that mad or evil here, on occasion. 20:21:46 Oh, comments 20:21:57 really those three adjectives are synonyms. 20:22:01 * soupdragon lol you use while(n --> 0) 20:22:09 I thought "what the heck, what's that '→' doing in C source?" 20:22:58 gotta love the "goes to" operator 20:29:30 -!- tombom_ has joined. 20:30:19 what if you had a distance function that measures how similar two programs are, and then made limit(n --> 0) { ... } a statement; it executes a piece of code such that for each epsilon there is a delta such that when n is smaller than delta, the distance between what was executed in the limit and what the code does given that n is smaller than the epsilon 20:31:43 -!- tombom has quit (Ping timeout: 260 seconds). 20:32:07 well why make it a metric space, i guess you could just give it some natural topology 20:33:36 why did someone show me the attempt to make brainfuck into a group 20:36:19 -!- jcp has quit (Read error: Connection reset by peer). 20:36:20 Was it commutative? Simple? :-) 20:36:36 -!- jcp has joined. 20:39:13 i think it was a rather failed attempt, so hard to say 20:40:55 http://michid.wordpress.com/2010/01/29/scala-type-level-encoding-of-the-ski-calculus/ A quite interesting implementation of SKI =D 20:45:51 -!- FireFly has quit (Quit: Leaving). 20:55:57 -!- whtspc has quit (Ping timeout: 258 seconds). 21:08:26 -!- Sgeo_ has joined. 21:09:21 -!- Sgeo has quit (Killed (NickServ (GHOST command used by Sgeo_))). 21:09:29 -!- Sgeo_ has changed nick to Sgeo. 21:10:07 * Sgeo wonders if there's a way to make XChat automatically ghost Sgeo 21:10:15 * Sgeo goes to try something stupid 21:10:23 -NickServ- You may not ghost yourself. 21:10:57 nickserv does not believe in suicide 21:11:51 So, no bloody clue where that bug is, then. :/ 21:17:07 -!- Azstal has joined. 21:17:40 Fun, something caused keyboard to only respond to X- and WM-level keys... 21:18:21 remarkable how you manage to type with that 21:18:35 Switching to text VC and back fixed it. 21:18:51 -!- Asztal has quit (Ping timeout: 260 seconds). 21:20:17 -!- augur has quit (Ping timeout: 240 seconds). 21:46:20 -!- augur has joined. 21:59:20 -!- oklofok has joined. 22:00:22 -!- oklopol has quit (Ping timeout: 248 seconds). 22:05:19 -!- oerjan has quit (Quit: Good blight). 22:07:28 -!- MigoMipo has quit. 22:15:33 -!- MigoMipo has joined. 22:26:55 -!- cal153 has quit. 22:31:10 -!- cal153 has joined. 22:48:31 http://en.wikipedia.org/wiki/Black_Perl 22:48:58 -!- kar8nga has quit (Remote host closed the connection). 22:49:27 -!- kar8nga has joined. 22:53:55 Sgeo: old 22:54:06 20 years, in fact :P 22:54:08 bsmntbombdood: bomb 22:55:46 -!- augur has quit (*.net *.split). 22:55:51 -!- Sgeo has quit (*.net *.split). 22:55:52 -!- zeotrope has quit (*.net *.split). 22:55:53 -!- Gracenotes has quit (*.net *.split). 22:55:54 -!- soupdragon has quit (*.net *.split). 22:56:01 -!- AnMaster has quit (*.net *.split). 22:56:05 -!- uorygl has quit (*.net *.split). 22:56:09 -!- Leonidas has quit (*.net *.split). 22:56:09 -!- Wareya has quit (*.net *.split). 22:56:11 -!- Slereah has quit (*.net *.split). 22:56:11 -!- coppro has quit (*.net *.split). 22:56:14 -!- cheater2 has quit (*.net *.split). 22:56:20 -!- jcp has quit (*.net *.split). 22:56:21 -!- jix has quit (*.net *.split). 22:56:23 -!- Gregor has quit (*.net *.split). 22:56:24 -!- kar8nga has quit (*.net *.split). 22:56:24 -!- MigoMipo has quit (*.net *.split). 22:56:25 -!- Pthing has quit (*.net *.split). 22:56:27 -!- MizardX has quit (*.net *.split). 22:56:28 -!- Deewiant has quit (*.net *.split). 22:56:32 -!- cal153 has quit (*.net *.split). 22:56:35 -!- oklofok has quit (*.net *.split). 22:56:36 -!- Azstal has quit (*.net *.split). 22:56:36 -!- tombom_ has quit (*.net *.split). 22:56:40 -!- yiyus has quit (*.net *.split). 22:56:40 -!- dbc has quit (*.net *.split). 22:56:43 -!- lifthrasiir has quit (*.net *.split). 22:56:45 -!- SimonRC has quit (*.net *.split). 22:56:46 -!- EgoBot has quit (*.net *.split). 22:56:50 -!- bsmntbombdood has quit (*.net *.split). 22:56:51 -!- HackEgo has quit (*.net *.split). 22:56:51 -!- mycroftiv has quit (*.net *.split). 22:56:54 -!- Ilari has quit (*.net *.split). 23:00:23 -!- Gregor has joined. 23:00:23 -!- jix has joined. 23:00:23 -!- jcp has joined. 23:00:23 -!- AnMaster has joined. 23:00:23 -!- Slereah has joined. 23:00:23 -!- cheater2 has joined. 23:00:23 -!- Deewiant has joined. 23:00:23 -!- MizardX has joined. 23:00:23 -!- Pthing has joined. 23:00:23 -!- MigoMipo has joined. 23:00:23 -!- kar8nga has joined. 23:00:23 -!- zeotrope has joined. 23:00:23 -!- cal153 has joined. 23:00:23 -!- Sgeo has joined. 23:00:23 -!- Ilari has joined. 23:00:23 -!- mycroftiv has joined. 23:00:23 -!- HackEgo has joined. 23:00:23 -!- bsmntbombdood has joined. 23:00:23 -!- EgoBot has joined. 23:00:23 -!- SimonRC has joined. 23:00:23 -!- lifthrasiir has joined. 23:00:23 -!- dbc has joined. 23:00:23 -!- yiyus has joined. 23:00:23 -!- tombom_ has joined. 23:00:23 -!- Azstal has joined. 23:00:23 -!- oklofok has joined. 23:00:23 -!- coppro has joined. 23:00:23 -!- soupdragon has joined. 23:00:23 -!- Gracenotes has joined. 23:00:52 Yes, I guess there's no reason why not. <-- "no reason to not use NSCK" or "no reason to not use getaddrinfo for SCKE"? 23:00:52 -!- Leonidas has joined. 23:00:52 -!- uorygl has joined. 23:00:54 -!- Wareya has joined. 23:01:45 fizzie, as for why I'm using getaddrinfo instead of other apis, iirc I read in POSIX 2008 or something about the other ones being (or going to be) deprecated 23:01:55 -!- Pthing has quit (Remote host closed the connection). 23:02:13 -!- MigoMipo has quit (Remote host closed the connection). 23:05:54 -!- soupdragon has quit (Changing host). 23:05:54 -!- soupdragon has joined. 23:05:55 -!- AnMaster has quit (Changing host). 23:05:55 -!- AnMaster has joined. 23:06:13 -!- Gracenotes has quit (Changing host). 23:06:13 -!- Gracenotes has joined. 23:06:22 -!- zeotrope has changed nick to Guest15945. 23:07:16 -!- MizardX- has joined. 23:09:58 -!- MizardX has quit (Ping timeout: 276 seconds). 23:10:15 -!- MizardX- has changed nick to MizardX. 23:10:56 -!- tombom_ has quit (Quit: Leaving). 23:32:03 -!- Slereah_ has joined. 23:32:44 -!- Slereah has quit (Ping timeout: 258 seconds). 23:42:40 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 23:42:46 -!- Guest15945 has quit (Read error: Connection reset by peer). 23:43:24 -!- zeotrope has joined. 23:57:27 -!- augur has joined. 23:58:59 -!- immibis has joined. 2010-01-31: 00:01:17 -!- augur has quit (Client Quit). 00:02:02 -!- augur has joined. 00:05:11 -!- kar8nga has quit (Remote host closed the connection). 00:14:34 -!- jcp has joined. 00:15:27 -!- jcp has quit (Client Quit). 00:34:52 -!- Pthing has joined. 00:44:41 -!- immibis has quit (Quit: #dsdev on irc.blitzed.org exists). 01:24:40 -!- Azstal has quit (Ping timeout: 240 seconds). 01:25:04 -!- augur has quit (Ping timeout: 258 seconds). 01:30:03 -!- Sgeo_ has joined. 01:31:19 -!- Sgeo has quit (Ping timeout: 256 seconds). 01:35:44 -!- cheater2 has quit (Read error: Connection reset by peer). 01:36:09 -!- cheater2 has joined. 01:46:28 -!- augur has joined. 01:50:44 -!- sshc has joined. 02:06:09 -!- Sgeo_ has changed nick to Sgeo. 02:11:01 Arrgh... 02:11:15 -!- cheater2 has quit (Ping timeout: 246 seconds). 02:11:18 Somehow, somewhere, a closure is returning its *bound variables*. 02:11:23 Instead of a thunk. 02:12:10 use assert? :P 02:15:16 Thunk 0x6382a0 is not a valid thunk. 0x6382a0 = {tag = 4198720, union {func = 0x638300, data = 0x638300} 02:15:28 ... A tag of 4198720. 02:15:47 Note: enum {THUNK_UNEVAL, THUNK_EVAL} tag; 02:27:14 pikhq, use valgrind 02:27:29 AnMaster: Interacts very poorly with my code. 02:27:31 pikhq, disable the gc for a bit so you can use valgrind to track this 02:27:48 pikhq, what about mudflap then? 02:28:15 The issue is that somehow, someone is trying to dethunk a closure. 02:28:16 pikhq, anyway I found valgrind a must-have when coding C 02:28:23 What's a thunk? 02:28:33 * AnMaster thunks Sgeo on the head 02:28:34 THAT! 02:29:00 night 02:29:06 struct thunk {enum {THUNK_UNEVAL, THUNK_EVAL} tag;union {closure func;void *data;};} 02:30:09 pikhq, what is the value of those enum values 02:30:13 as in, their integer values 02:30:18 AnMaster: 0, 1. 02:30:34 C enums is a poor substitute for atoms 02:30:42 enum {THUNK_UNEVAL, THUNK_EVAL} is the enum declaration... 02:31:44 pikhq, anyway without a memory checker I doubt you can find this 02:31:49 anyway,* 02:32:01 AnMaster: It's really simple. 02:32:05 oh? 02:32:12 This is an issue that a *type system* would catch. 02:32:16 hah 02:32:37 pikhq, unless it is due to the gc reclaiming when it shouldn't 02:32:38 The thing is, 0x6382a0 is a pointer to a *closure*, not a thunk. 02:32:38 or such 02:32:52 pikhq, well that explains things 02:32:56 pikhq, are you using void* 02:33:01 if not you should get warnings 02:33:03 in C 02:33:18 I'm using void* when it makes sense, yes. 02:33:24 pikhq, that explains it 02:33:25 dethunk results in a void*. 02:33:36 you won't get type checking when doing void* 02:33:45 Yes, I'm well aware. 02:33:52 That is, in fact, where my bug is coming from. 02:33:53 that's the *point* of void* eve 02:33:54 even* 02:34:15 pikhq, when using void* think not just twice, think at least 5 times 02:34:24 The Active Worlds SDK represents instances as void* 02:34:24 void* is necessary for polymorphism, and it makes things very difficult. 02:34:27 Why, I do not know 02:34:58 pikhq, is it? 02:35:15 pikhq, why not use a structure containing a void* 02:35:47 that way you can get an outer level check at least 02:35:48 I have a couple. They are closure and thunk. 02:36:12 pikhq, anyway, why not use a tagged struct 02:36:43 That would be much agony. 02:36:53 pikhq, this would be similar to/inspired by tagged words in lisp compilers and tagged tuples in erlang programs 02:37:09 I am doing nasty things to C ATM. 02:37:19 pikhq, doing those would be nasty too 02:37:22 so there you are 02:37:26 night really → 02:37:28 is 'C' your little ass-to-mouth whore? 02:38:26 * pikhq looks for anything that *doesn't* return a thunk 02:38:45 (aside from my thunks, which absolutely should not return a thunk) 02:51:33 I still don't know what thunk is supposed to mean >.> 02:56:58 Sgeo: It's a lambda that takes 0 arguments. 02:57:00 In essence. 02:57:30 main.c:99: error: void value not ignored as it ought to be 02:57:37 Type-checker doing something. 02:58:14 So what's the point? 02:59:00 Lazy evaluation. 03:00:18 -!- Asztal has joined. 03:03:47 main.c:360:1: error: unterminated argument list invoking macro "global_thunk" 03:03:50 Yeah, thanks GCC. 03:03:59 I totally needed to know which line the EOF was on. 03:04:04 Not where the macro invocation was. 03:04:18 That would be totally useless to my attempts to figure out what you're talking about. 03:05:43 * pikhq sees everything nice and terminated. 03:05:50 * pikhq thinks GCC is smoking something. 03:14:02 Well, I went ahead and made as much of it as I could typesafe. And now I get no type errors. 03:14:10 Hooray? 03:36:20 -!- Pthing has quit (Remote host closed the connection). 03:41:44 -!- SimonRC has quit (Ping timeout: 256 seconds). 03:47:01 * pikhq is still amused by the lambdas with thunks that compile them from S and K. 03:50:35 -!- SimonRC has joined. 03:52:22 In a way, I am JIT'ing parts of this program... 03:52:26 :P 04:08:48 * Sgeo is practically uncyberstalkable 04:08:56 Even knowing my real name is useless 04:09:20 My nick name suffices. 04:09:42 Is the first result on Google my Wikipedia User: page? 04:09:47 Yup, so it is. 04:10:02 You're a yogurt product? 04:10:02 Followed by a pastebin and some nomic stuff. 04:10:12 * Sgeo is playing with pipl.com 04:10:18 http://www.forallvent.info/uploads/media/Ross_Stanton_Putting_microbes_to_work_-_Part_II.pdf 04:10:23 Sgeo: Abuh? 04:10:44 "PIKHQ in a yoghurt product. Other studies have identified the presence of whey protein-derived antimicrobial pep- tides, which were released following ..." 04:10:49 Oh, in 04:10:58 Still, you're in a yoghurt product! Awesome 04:13:04 -!- Asztal has quit (Ping timeout: 240 seconds). 04:13:08 You're a yogurt product? 04:13:11 L@L 04:13:56 Latl? Laughing atout loud? 04:14:27 -!- Asztal has joined. 04:14:43 Sgeo: XD 04:17:02 Someone say something 04:17:08 NEVER 04:17:09 Oh, shoot. 04:17:10 I think I'm +Deaf 04:17:29 If you haven't confirmed that you're not by now, you are :P 04:18:01 * Sgeo waits for people to assume they can talk behind his back, and repeatedly refreshes the log 04:18:22 * Sgeo undeafens self 04:18:40 That was fun 04:21:24 -!- lifthrasiir has quit (Ping timeout: 256 seconds). 04:47:33 -!- MizardX has quit (Ping timeout: 260 seconds). 04:47:56 -!- lifthrasiir has joined. 04:49:28 -!- coppro has quit (Changing host). 04:49:29 -!- coppro has joined. 04:53:10 -!- lifthrasiir has quit (Ping timeout: 276 seconds). 04:53:57 -!- lifthrasiir has joined. 04:58:36 -!- lifthrasiir has quit (Ping timeout: 258 seconds). 05:00:08 -!- lifthrasiir has joined. 05:02:07 -!- augur has quit (Ping timeout: 256 seconds). 05:08:21 -!- lifthrasiir has quit (Ping timeout: 246 seconds). 05:09:23 -!- lifthrasiir has joined. 05:30:24 -!- augur has joined. 05:39:57 Which is better/worse, Java or C#? 05:40:12 About on par with each other, really. 05:40:25 C# has some advantages over Java, Java has some advantages over C#... 05:40:44 And they're rather similar languages, design-wise. 05:40:52 They're both utterly insufferable ^^ 05:41:03 -!- jcp has joined. 05:41:11 I kind of like C# 05:41:14 C# is a nice language. Java is a nicer runtime 05:41:18 s/nice/nicer/ 05:41:26 pikhq, I haven't really encountered material about Java's advantages. What are they? 05:41:36 Sgeo: Ubiquitous. 05:41:41 Ah 05:41:48 That's a massive one. 05:42:41 Java's come full cycle to everyone hating on it, but it has lots of advantages. For starters, it's everywhere. You do not need a Windows box to get every feature of Java. Decent applets are a huge plus. Standard, direct access to hardware. 05:44:09 It's not an exceptional language, though. 05:44:13 Nor, really, is C#. 05:44:20 yeah 05:44:37 Both are really hung up on bad models 05:44:50 C# gives you proper lambda instead of the hack of "object with a single method", though. 05:46:06 yeah, as I said, C# has nicer language features 05:46:08 "bad models"? 05:46:46 Sgeo: like the lack of anything that isn't in object 05:46:50 *in an object 06:32:35 coppro: Java has things that aren't objects. 06:32:42 Like int. 06:32:57 pikhq: I meant the lack of globals 06:33:19 it adds nothing to the languages 06:33:36 and in fact makes them worse 06:33:49 since people stick their global state in a class, call it a singleton, and think they're clever 06:34:26 singleton is possibly the single best example of an anti-pattern that doesn't even get an excuse due to the grandfather rule 06:34:45 Yeah, singleton is pretty retarded. 06:35:08 "Objects allow you to prevent global state. So, let's pretend to have global state." 06:35:35 goto is probably the biggest anti-pattern ever, but only because there is better technology 06:35:54 s/goto/goto for primary flow control/ 06:36:07 there is 0 excuse for singletong 06:36:10 s/g// 06:36:20 goto for primary flow control has been considered an antipattern for a few *decades* now. 06:36:28 my point exactly 06:36:36 I said 'ever', didn't I? 06:36:53 but when it was originally conceived (i.e. when computers were first used), it was valid 06:37:01 The debate is over whether or not it's acceptable for exceptional cases in C... (jumping to a single point of cleanup before returning) 06:37:15 Yeah. 06:37:27 I'm of the position that goto is not automatically a sin 06:37:40 It stopped being valid about the time that the compiler was invented. 06:37:48 yep 06:37:50 coppro: Automatically? No. 06:37:57 But you damned better be careful. 06:38:03 agreed 06:38:42 Much like global state. 06:38:48 yep! 06:40:59 man, I wish I could get accepted to University every week for the rest of my life. I've felt like a big sigh these past few days 06:41:49 -!- oerjan has joined. 07:02:39 * Sgeo has an awesome (read: horrible) idea: PSOX.NET! 07:03:15 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 07:07:53 [00:06:20]stop using a combine harvester when a pair of scissors will do 07:07:57 err, wrong channel 07:08:17 still, possibly good advice 07:08:32 probably 07:12:12 i knew i was doing something wrong trimming my moustache, but i wasnt sure what 07:14:52 mycroftiv: is it upside down? 07:15:17 not unless im standing on the ceiling 07:15:40 too bad. you might have started a new fashion. 07:20:36 AnMaster: The latter. Well, the former too, I guess. 07:21:32 No comment on PSOX.NET? 07:21:38 not worth commenting on 07:21:49 it's too horrible to contemplate 07:22:14 also, I can't remember what PSOX is, and I'm trying to cover that up 07:26:04 my favorite google result for psox is: http://www.lycaeum.org/mv/anagrams/PARALINGUA.cgi?article=Taschoskeluipa 07:31:07 coppro, http://esoteric.voxelperfect.net/wiki/PSOX 07:31:38 It was abandoned due to lack of interest, even among esolangers 07:32:23 oh right, that thing 07:36:49 -!- zeotrope has quit (Ping timeout: 256 seconds). 07:53:15 Night 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:22 -!- oerjan has quit (Quit: leaving). 08:00:47 So - and I shall take up this theme again later - wherever you are to locate your notions of validity or worth or rationality or justification or even objectivity, it cannot rely on an argument that is universally compelling to all physically possible minds. 08:00:47 -!- Azstal has joined. 08:00:47 Nor can you ground validity in a sequence of justifications that, beginning from nothing, persuades a perfect emptiness. 08:00:47 Oh, there might be argument sequences that would compel any neurologically intact human - like the argument I use to make people let the AI out of the box1 - but that is hardly the same thing from a philosophical perspective. 08:00:57 http://lesswrong.com/lw/rn/no_universally_compelling_arguments/ 08:03:50 -!- Asztal has quit (Ping timeout: 272 seconds). 08:27:07 -!- kar8nga has joined. 08:41:53 -!- whtspc has joined. 08:55:10 -!- cheater2 has joined. 09:13:20 -!- MigoMipo has joined. 09:37:44 -!- FireFly has joined. 09:38:37 -!- soupdragon has quit (Quit: * I'm too lame to read BitchX.doc *). 09:48:09 AnMaster: The latter. Well, the former too, I guess. <-- context? 09:52:20 -!- Azstal has quit (Ping timeout: 265 seconds). 10:12:55 -!- tombom has joined. 10:16:25 i don't think i've ever wanted globals in java 10:16:30 sounds like a silly thing to want 10:21:00 Global as in outside of class scope? 10:22:33 yeah 10:22:46 actually i don't think i've ever needed global state 10:22:53 Having everything inside a class feels very much like a Java thing, yes :P 10:23:08 what would you ever use global state for? 10:23:57 Hopefully nothing, and if you really need it, you just have to create a dummy class with public, static variables 10:27:04 i suppose that's the singleton pattern the conversation i'm responding to was mocking. 10:27:56 static variables are weird, if i need "globals", they will obviously just be global in some context, so i'll just wrap the whole thing into some sort of object. 10:33:54 -!- BeholdMyGlory has joined. 10:47:43 I tend to avoid using such dummy classes, yes 13:02:21 -!- clog has joined. 13:02:21 -!- clog has joined. 13:02:48 AnMaster: Context was you own comment, why ask me? It was about that NSOCK thing, anyway. 13:03:02 fizzie, ah that 13:03:25 fizzie, so you might use it? well okay. It won't happen straight away, lots to do at university currently 13:04:14 I might, though there's no shortage of other improvements fungot is lacking. 13:21:08 -!- fungot has joined. 13:21:55 fungot: So... how does this new ircd feel like to you? You know, since you're a piece of code too. 13:21:55 fizzie: teh tv one. i must get the hell out of those is a field if and only if the strings are tuned a fifth apart 13:22:38 It must have made him a bit confused; that didn't make much sense. 13:35:56 -!- Ilari has quit (Quit: Changing server). 13:38:31 -!- Ilari has joined. 13:43:46 Heh... By default irssi has TLS cert verification disabled. And at least one of servers in IPv6 rotation is busted (does not respond). 13:55:09 -!- kar8nga has quit (Remote host closed the connection). 13:56:22 -!- Pthing has joined. 14:21:30 -!- tombom_ has joined. 14:23:52 -!- tombom has quit (Ping timeout: 248 seconds). 14:36:42 -!- oerjan has joined. 14:40:11 Hopefully nothing, and if you really need it, you just have to create a dummy class with public, static variables 14:40:41 iirc this argument chain started with someone pointing out that that possibility is a horrible hack 14:41:10 Huh, no swat 14:41:12 compared to allowing actual globals 14:41:30 Well, I tend to avoid using that hackish solution anyway 14:42:15 * oerjan gives FireFly a whack with the saucepan instead ===\__/ 14:42:21 ow 14:42:25 it's been unused for so long 14:58:56 I think Java doesn't support globals for same reason it doesn't support functions... 15:00:08 -!- soupdragon has joined. 15:09:54 * Sgeo really wants to know the argument Eliezer uses to get the human to let the AI out of the box 15:14:57 yeah especially how much it is a cheat... 15:15:11 I doubt that it is a cheat though 15:15:25 and moreover, whether it would have worked if used by a real AI 15:15:29 he probably just thinks on his feat.. 15:15:38 *feet? 15:15:44 also he said that he thought he could do it, so he put himself to the test 15:16:04 hm? 15:16:05 and he got it right for the first few times, but he couldn't do it for cases with much higher amounts of money 15:16:16 so it's not just the 2/2 success rate 15:17:08 however the tests on others are much more impressive 15:17:23 tests on others? 15:18:37 -!- kar8nga has joined. 15:18:44 i don't understand how applying the test to _yourself_ can be done rationally, at all 15:19:01 especially not more than once 15:19:34 testing your self it means like you think you can do something -- so try and do it, to make sure 15:19:50 or did you mean specifically AI box yourself? 15:19:57 AI box of course 15:20:07 what else are we talking about? 15:20:17 ah when I said he tested himself.. the thing he is testing is his ability to win the AI box game (against someone else) 15:20:54 -!- kar8nga has quit (Remote host closed the connection). 15:21:13 um then something is wrong here... i haven't heard about him ever _losing_ it, so what's this "he couldn't do it for cases with much higher amounts of money" thing? 15:21:29 oh he wrote about losing it on lesswrong 15:21:38 where? 15:21:49 I'll try and find it, 15:22:29 this must have been after i last heard about it, i guess.. 15:24:00 * oerjan doesn't read lesswrong that much 15:24:16 -!- rodgort has quit (Quit: Coyote finally caught me). 15:24:37 -!- rodgort has joined. 15:24:53 * soupdragon just "found" it very recently.. 15:25:58 I figure the argument can't be that great or he'd have convinced himself and would not be suspicious of AIs. 15:26:16 heh that's an issue too 15:26:21 huh? 15:26:50 soupdragon: if it's an argument that can be applied generally, then it should be possible to apply it against EY himself 15:27:11 yeah but why would he not be suspicious of AIs if he knew they could convince him to let them out? 15:27:13 and so it should possible to convince _him_ to let the AI out 15:27:21 that just seems like another reason to be scared 15:27:36 how very meta 15:28:12 no, I mean he ould have convinced himself during the first experiment 15:28:59 *would 15:29:37 this is frustrating I thought the one I was looking for was in the coming of age series but it's not 15:30:01 AnMaster: I think the cooling behaviour is because of better airflow, though it may be a sign that your battery is charging continuously, which probably isn't good 15:30:19 SimonRC, better airflow likely 15:30:36 SimonRC, computer reports it isn't charing 15:30:39 charging* 15:30:46 lol 15:30:48 as in, it hasn't hit the "start charging again" level 15:31:14 SimonRC, using the tp_smapi module you can set thinkpads to only start charging once you go below a certain level 15:31:55 There were three more AI-Box experiments besides the ones described on the linked page, which I never got around to adding in. People started offering me thousands of dollars as stakes - "I'll pay you $5000 if you can convince me to let you out of the box." They didn't seem sincerely convinced that not even a transhuman AI could make them let it out - they were just curious - but I was tempted by the money. So, after investigating to make sure 15:31:55 they could afford to lose it, I played another three AI-Box experiments. I won the first, and then lost the next two. And then I called a halt to it. I didn't like the person I turned into when I started to lose. 15:31:59 http://lesswrong.com/lw/up/shut_up_and_do_the_impossible/ 15:33:30 he says also 'I did it the hard way' which I assumed was the case 15:33:33 would "the linked page", be http://yudkowsky.net/singularity/aibox, the top google hit for "AI box experiment"? 15:34:02 good grief, not adding that in there seems intellectually dishonest to me. 15:34:16 hm? 15:35:24 soupdragon: the top page on the internet which people reach if they _search_ for "AI box experiment" contains no mention of these "three more" experiments. i find that intellectually dishonest. 15:35:33 oh 15:36:00 well if you ask him why he'll probably convince you that it isn't :P 15:36:25 sheesh 15:40:04 -!- MizardX has joined. 15:43:01 -!- MigoMipo has quit (Read error: Connection reset by peer). 15:44:22 didn't like? :9 15:45:05 i've just started reading your link 15:45:24 it's you lots fault that I read this blog by the way!! 15:45:30 It's not out of my own personal choice 15:46:11 well given that i learned about this blog here, and do _not_ read it regularly, i find that claim somewhat dubious :D 16:02:29 -!- facsimile has joined. 16:03:33 -!- soupdragon has quit (Killed (NickServ (GHOST command used by facsimile))). 16:03:36 -!- facsimile has changed nick to soupdragon. 16:16:01 -!- MigoMipo has joined. 16:28:31 people on youtube are so fucking stupid 16:29:09 fuk!!!! 16:29:18 first reply 16:31:39 fu queue 16:36:33 -!- jcp has joined. 16:37:13 "far queue"? http://www.theregister.co.uk/2000/05/19/bofh_discovers_voice_recognition/ 17:00:09 -!- kar8nga has joined. 17:07:57 -!- SimonRC has quit (Ping timeout: 246 seconds). 17:17:22 -!- MigoMipo has quit (Ping timeout: 272 seconds). 17:17:24 -!- MizardX- has joined. 17:18:41 -!- SimonRC has joined. 17:19:46 -!- MigoMipo has joined. 17:19:52 -!- MizardX has quit (Ping timeout: 248 seconds). 17:19:53 -!- MizardX- has changed nick to MizardX. 17:30:49 Collection 1892 reclaimed 301312 bytes ---> heapsize = 356352 bytes 17:31:00 It's like the most inefficient cat program ever! 17:36:03 -!- cheater3 has joined. 17:36:56 -!- cheater2 has quit (Ping timeout: 248 seconds). 17:39:09 pikhq: most inefficient cat program? sounds like a challenge! 17:39:29 olsner: Well, I could *make* it more efficient if I wanted to. 17:39:50 *inefficient? 17:40:37 I have probably seen worse one... 17:40:53 GC_DONT_GC=1. 17:41:01 I suppose the challenge is to find the language that makes the least efficient most efficient cat program 17:43:08 With GC_DONT_GC, it uses 466 megs of RAM. 17:46:49 Hmm... This cat program I found looks pretty funky (I wrote it back in 2007)... Obivously uncommented, but at least variables have somewhat descriptive names... 17:47:52 -!- Asztal has joined. 17:47:56 Does it leak memory like a sieve? 17:48:06 Of course it does. :-) 17:48:25 And with the language, there's no choice but to leak memory like a sieve... :-) 17:48:30 Like, "all malloc, no free"? :P 17:49:20 Yup... 17:49:29 And no gc either... :-) 17:52:10 Heh. 17:58:15 what we need for real slowness is a language in which the entire input and output are each treated as a single number 17:58:30 and no way to modify numbers faster than decrement/increment 17:59:08 and preferrably only in peano arithmetic 17:59:09 and, critically for cat, you cannot do direct copying of input number to output 17:59:22 oerjan: That's even crazier than the entire input and output being treated as a single function. 17:59:23 possibly they are in different formats 17:59:29 :P 17:59:46 input in base-pi, output in base-e 18:00:05 ouch 18:00:43 I don't know how to use anything beyond simple integral bases, that would be really interesting to grok 18:01:08 even -1/0/1 trinary/ternary is esoteric enough to be painful 18:01:20 olsner: It's very... Non-trivial. 18:01:48 http://www.dwheeler.com/essays/bases.html this looks relevant 18:02:45 pikhq: the entire input and output a single function isn't that bad for lazy-K, precisely because of laziness 18:02:46 In case anyone wants to take a look at that program: http://pastebin.ca/1773280 18:03:16 hmm, you'd need some nice encoding to map stream-of-bytes to whole numbers... the trivial base-256 interpretation doesn't work well with streams of zeroes, for instance 18:03:30 oerjan: Yeah. 18:03:58 And given that I'm trying for a subset of Lazy K... Works just fine. 18:04:23 (*Trying*. It seems that something's amiss in the infinite list.) 18:04:54 olsner: the thing we discussed on the wiki a little while ago should work modified for this: base 256 with digit 256 instead of 0 18:05:47 hmm, looks like I never bothered to actually do anything with input in my single-combinator language, but there're some stubs for it (was going to work just like lazy k) 18:05:56 oerjan: i.e. base 257? 18:06:15 olsner: no! the multiplication is by 256 at each step 18:06:16 The program that generates an infinite list of As and Bs works just fine, but anything with input seems borken. 18:06:59 but the digits are 1-256. this allows you to distinguish strings of different length cleanly 18:07:10 hmm, does that really work? 18:07:44 yes. there's even a wikipedia article 18:08:22 http://esoteric.voxelperfect.net/wiki/Talk:Unary, wp link at the end 18:09:37 Oh, sweet. It would seem to be a bug in my parser. 18:09:53 If I strip out all irrelevant chars, it works just fine. 18:10:43 (in that program thoese stands for that codepoint (yes, Unicode abuse). :-P 18:12:27 And the prime number generator managed to get up to 2.5G. 18:12:39 oerjan: cool 18:13:05 Whee, Chrome's frozen again 18:13:42 no wonder with these temperatures 18:14:51 anyone remember about that crytographic interpreter? 18:15:07 the idea was that you give it some encrypted program and it doesn't understand it, but it prints out the right answer 18:15:19 hasn't that been proven impossible? 18:15:21 i.e. you can't just look at a backtrace to see what the program was 18:15:28 oh! is there an impossibility proof? 18:15:58 I don't know for sure, or if it's just generally considered impossible 18:16:41 :S 18:16:43 I think the interpreter needs to "understand" the program in order to run it, which basically means it isn't encrypted at all 18:17:26 Wow: from valgrind: "==13568== total heap usage: 2,090,158 allocs, 2,090,158 frees, 125,608,436 bytes allocated". And that's for 80 bytes to copy! 18:17:52 there are some algorithm encryption methods but they are limited in power 18:18:21 Hmm... Probably good part of that isn't permanently used... 18:18:33 on the other side, i recall there was some impossibility result to the effect that there had to be properties of the original program source you could detect beyond its behavior 18:19:09 i.e. no encryption could hide everything except the I->O mapping 18:19:58 CTRL+C'ing it after 80 bytes: ==13574== in use at exit: 206,768 bytes in 13,669 blocks 18:20:12 there still seemed to me to be a large open area between those extremes, though 18:31:10 -!- ztirf has left (?). 18:36:33 I wonder if you can extend the non-integer base numeral systems to bijective ones like you can for integer bases 18:37:15 this sounds bad though: "The base e is the most economical choice of radix β > 1 (Hayes 2001), where the radix economy is measured as the product of the radix and the length of the string of symbols needed to express a given range of values.", we are after all aiming for low efficiency here 18:40:44 the differences between bases are probably tiny when you factor in the number of bits to encode one digit. 18:41:00 yeah 18:41:16 as in, for integer bases they cancel out exactly, i should think 18:42:26 for power-of-two bases it will be exactly the same, otherwise there will be some waste if you use an integral number of bits for each digit 18:42:42 "==19952== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. 18:42:43 " 18:42:53 Heheheheh. 18:57:45 At least it is _slow_: For copying 1024 bytes: user time 24m20.143s... 19:00:37 And estimating from earlier test, it needed about 2.5MB of memory... 19:02:30 And total allocations being something like 15GB... 19:13:57 good thing: Google chrome makes like 10 processes and splits your tabs amongst them 19:14:10 bad thing: it puts 90% of the tabs into one of the processes 19:14:50 It groups them by site, doesn't it? 19:15:05 yeah 19:15:40 -!- cheater3 has quit (Read error: Connection reset by peer). 19:15:55 -!- cheater2 has joined. 19:17:28 -!- zzo38 has joined. 19:19:57 'Pataprogramming.... is that like Forth in any way? 19:21:43 and despite that process having 100 tabs from the same site in it, it still gets loaded with a few more 19:22:13 It really makes the whole thing of "If one tab crashes or freezes, the rest are ok" a lie 19:22:23 I suppose I'm lucky that I didn't open 100 tabs from each of 10 forums and have most of them end up in one Chrome process 19:22:46 Sgeo: well, it's true with a few dozen open 19:22:51 And also in the list of ideas, it is mentioned the magic system in RPG, that using it like that. While I think that won't work well in that RPG, the Icosahedral RPG uses something that is almost similar, but not really.... 19:23:32 Sorry, I found the log now. 19:24:43 Maybe if you prefer, you could reprogram Google Chrome (Chromium for the generic/open-source version) to allow you to select which tabs in which processes 19:25:29 SimonRC, if you do that, give me a copy 19:25:36 :D 19:27:52 huh? 19:37:39 -!- Asztal has quit (Read error: Connection reset by peer). 19:38:13 -!- Asztal has joined. 19:39:15 No one knows what happened to ehird? 19:39:26 No. 19:39:49 Which one is that skull? 19:41:06 * oerjan concludes that zzo38 is a headhunter picking us off one by one. poor ehird. 19:42:22 No. 19:42:38 In reality, I don't actually know either. 19:42:52 well you would say that, wouldn't you. 19:43:50 * Sgeo should probably make a program to determine if ehird's been absent like this in the past. 19:44:52 yes he was, but not this long (2 weeks today?) 19:45:08 and he didn't want to explain why 19:45:25 Can't you just look it up the logs? Maybe you need to read each file to check using regular expressions in each file 19:45:25 Maybe he's starting to... get a life! *shrugs* 19:46:52 Ehird. Life. *Right*. 19:47:03 Just a suggestion :P 19:57:01 * pikhq wonders where the bottleneck is in his horridly inefficient code. 19:57:21 From the looks of things, its the fact that S and K get dethunked for everything. 19:57:31 pikhq, but you got it working? 19:58:42 The parser is broken and I'm not sure why. 20:01:27 Instead of ignoring characters not in "SKI()", it... Returns. 20:02:24 paste? 20:03:02 hmm, what if you read input as bijective base-256, then convert to a base-pi quaternary floating-point, accept output as a base-e trinary floating-point number, then output it again as bijective base-256 20:03:26 obviously, nice peano stuff in the middle to prevent too much efficiency 20:04:19 peano stuff + floating point feels so ugly 20:04:30 well, yeah, that's the point 20:04:44 i was afraid of that 20:05:48 if you could figure out a specific number of decimals (would that be pinals/natals for base-pi/base-e?) that would represent all integers unambiguously, that would get rid of the floating-point at least 20:06:34 sudden intuition says that might actually be a difficult problem 20:07:13 yes, but quickcheck doesn't immediately object to only going down to 1/pi and 1/e 20:07:54 hm maybe 20:12:44 hmm, for the least significant digit you have (x*pi + rest), where 0 <= rest < pi, and x is some pinary number (i.e. the non-least significant digits) 20:14:21 -!- soupdragon has quit (Quit: * I'm too lame to read BitchX.doc *). 20:14:22 then you choose a digit to minimize (rest - {0,1,2} * pi^0), and I think that remainder is at least less than 1 20:14:52 then again, x*pi is not at all guaranteed to be an integer, so rounding on that thing does something tricky 20:15:40 i'd think base pi digits are 0,1,2,3 20:15:47 maybe you could just brute-force it and keep outputing decimals until the result when converted back and rounded produces the original input 20:15:53 oerjan: right, that's what I meant actually 20:16:01 base-e has 0,1,2 though 20:16:38 might be easier to just truncate down 20:17:18 the rounding operation could be a lot of things, really 20:19:15 hm, really you just start at the highest power pi^k <= n, subtract the right multiple of pi^k and iterate with the remainder 20:19:34 it could specified as something "clever" instead of floor/ceil/trunc/round, but very creative rounding functions might require corresponding modifications in the conversion code 20:20:00 always leaving something < pi^k for the next step, so < 1 after k = 0 20:20:11 right, the question is when to stop, since you're not guaranteed to ever reach zero with the remainder 20:20:42 but < 1 is enough if you round... up, i think 20:22:05 hah, look at that, with ceiling, it passes quickcheck when stopping at k = 0 20:22:49 in fact you are guaranteed never to reach zero, as soon as you have any digit /= 0 for power > 0. because pi is transcendental. 20:23:15 as is e, btw. 20:23:21 indeed 20:24:48 assuming you use an exact representation. 20:25:36 I don't, and that will cause problems for large inputs 20:26:12 would basically need an arbitrary-precision floating point library to ensure that the conversion from arbitrary-precision integer to base-pi is correct 20:26:19 yeah 20:26:51 well given that the statest goal is to be as slow as possible... :D 20:26:55 *stated 20:27:42 also, computable reals instead of floating point, perhaps 20:28:19 any slowness that is not required for correctness I think is cheating, but this seems to be required for correctness :D 20:28:21 the transcendentality should mean you never get in trouble with comparing for equality there 20:29:19 might become one of the only languages where implementing 'cat' is subject to rounding errors :) 20:29:19 -!- MissPiggy has joined. 20:29:53 with floating point it might be problematic to determine what precision is necessary to avoid rounding errors 20:29:59 'cat' is basically implementing a base-pi to base-e conversion, by whatever means the language provides for maths 20:30:19 There will be a tutorial for this language, right? 20:30:27 I haven't been following the chat 20:32:52 so far i've been thinking of unbounded bf + weird i/o, if only because bf has the right relationship to peano arithmetic 20:32:52 computable reals sound like it could work with something lambda calculus-like 20:32:52 but that is of course boring 20:32:52 In your opinion, in a Forth program which way is better for the CHAR command working, as in the example 0 CHAR *42 . . is it better the way gforth does it or in the other way? 20:33:25 hm right they may have to be implemented inside the language for doing the base-pi to base-e conversion 20:33:49 Sgeo: we've just partially covered the I/O system so far, what the actual language will look like is completely unknown 20:34:26 while they also need to be used in the actual interpreter for converting between bytes and language format 20:34:27 I've been leaning towards something LC-like, just because that makes it easy to make lists and integers hard 20:35:46 that has the disadvantage that it's easy to avoid using unary other than in the final encoding/decoding 20:35:47 What is LC-like? 20:36:36 Lambda calculus. 20:36:39 OK 20:36:41 well, "easy". it _is_ possible to implement binary in LC, after all 20:36:47 right, you would like unary to be required somewhere, since the numbers will be huge 20:36:58 might become one of the only languages where implementing 'cat' is subject to rounding errors :) 20:37:00 * Sgeo sees no good reason for LINQ to Entities not to support .Single() grr 20:37:01 What language is this about? 20:37:08 (and the rest of the long discussion above :P) 20:37:11 FireFly: shh, it doesn't exist yet 20:37:18 But... it sounds interesting :( 20:37:43 I asked in ##csharp , and they basically said I could just use .Count or make a list 20:37:43 FireFly: we're pondering how to make a language where cat is intrinsically horribly slow 20:37:43 And that is its main concept? 20:37:45 indeed 20:37:58 Well, I guess that's one way to design a language.. 20:38:18 FireFly, I saw them talking about base e and base pi 20:38:21 so, input and output are encoded using a huge number in base pi and e, respectively. 20:39:23 the tricky part is *intrinsically*, but it's partially solved by having the interpreter translate input and output into inefficient esoteric formats 20:39:23 Stop having equally long nicks both starting with o :( 20:39:23 so cat needs to convert - but the most efficient arithmetic operations are increment/decrement 20:39:25 MWAHAHA 20:39:32 NEVER 20:39:43 FireFly, for me, they're differently colored nicks 20:39:50 :( 20:40:01 I don't want my IRC window to look like a rainbow 20:40:37 me neither, i chose a color scheme with nicks black on white 20:40:57 white.. background? ._. 20:41:01 yes 20:41:05 That's.. horrible 20:41:06 hmm, you could have de/increment-base-pi and de/increment-base-e where each function just interprets an internal number differently (i.e. you can do base-e operations on the number you received as base-pi) 20:41:06 IMHO 20:41:22 I wonder if that's enough to achieve anything 20:41:37 argh 20:41:52 oerjan? 20:42:12 note that base-pi and base-e are both intrinsically _ambiguous_ representations... 20:42:12 in that system you would not have access to the actual representations, except that it's place/value and the operations do carrying etc based on the "base" of the operation 20:42:28 i _really_ don't want something to be interpreted as both :D 20:43:07 * Sgeo interprets oerjan 20:43:27 except of course we've mostly elected to use "greedy" representations, i guess 20:43:41 * Sgeo didn't elect anything this year 20:43:51 (maximal most significant digits) 20:43:53 I think, if there's a 3 digit in the base-e representation, that's just 3*e^i, and a base-e operation would do something to normalize that when it happens to touch the number 20:44:00 Well, I guess I'm electing to be unproductive to this channel :/ 20:44:17 base-pi-as-base-e is the tricky case since base-pi has another digit 20:44:38 Sgeo: hey someone has to do the puns when i'm actually discussing 20:44:44 of course the tricky part is proving that this is a complete set of operations 20:45:48 Wait 20:45:55 and since the base is not integral, you can't just "carry" the overdigits (i.e. in base-10, a 10 could just be carried into the next digit, no such luck if the digit is 3 and the base is 2.78) 20:46:00 Hmm 20:46:20 What happened to the quaternary idea? 20:46:23 * Sgeo doesn't know how non-integral bases work :( 20:46:29 FireFly: base-pi is quaternary 20:46:33 0,1,2,3 :) 20:46:35 Ah 20:46:43 I thought you meant quaternary as in quaternions 20:46:48 Would be much more interesting :D 20:46:51 And probably slower too 20:46:53 Sgeo: messily 20:47:38 now that I've mostly grokked base-pi maybe base-ijk can be the next one to try 20:47:42 What's the point of octal? Why specify 3 bits per digit? 20:48:01 Also, how can I learn base pi? 20:48:27 Sgeo: http://en.wikipedia.org/wiki/Non-integer_representation 20:48:38 Sgeo: it's the highest power-of-two base that doesn't require you to invent new digits? 20:48:57 oerjan, ah 20:48:59 olsner, ty 20:50:36 Also reasonable unit sizes, such as bytes of 9 bits, or words of 36 bits, are nicely represented by a fixed number of octal digits. 20:50:42 -!- Slereah_ has quit (Ping timeout: 240 seconds). 20:50:58 bytes of 9 bits? 20:51:29 hooo, how about this though: all internal arithmetic is based on a *different* transcendental base - I'm not holding my hopes up on making that actually work, but what if you can only do arithmetic by reintrepreting those base-e/base-pi numbers as base-q, for some esoteric q 20:51:48 * pikhq attempted to execute LostKng.lazy. 20:52:04 It segfaults the official Lazy K interpreter. 20:52:08 -!- Slereah has joined. 20:52:17 * oerjan is only half able to follow olsner at this time 20:52:28 Sgeo: If your words are 36 bits, it is nice to have bytes of 9 bits so that you get an integer number of bytes in a word. 20:52:42 Why are there words of 36 bits? 20:52:47 Stack overflow in the parser. 20:53:42 oerjan: the input number is sum(digit[j] * pi^j), but arithmetic operations read and write as sum(digit[j] * q^j) - same digits, different meaning 20:53:54 Sgeo: i am usually thinking of octal as an older cousin of hexidecimal, from the time when it wasn't a given that computer address lengths should themselves be powers of 2. i'm not sure how historically accurate that is... 20:54:07 Sgeo: "This word length was just long enough to represent positive and negative integers to an accuracy of ten decimal digits (35 bits would have been the minimum)" is Wikipedia's unsourced rationale: http://en.wikipedia.org/wiki/36-bit_word_length 20:54:37 All because he doesn't make the parser tail-recursive. 20:54:44 And of course it's divisible by six, and there were those six-bit character encodings. 20:55:13 you'd have to calculate an output number base-q, but the output routine reads the digits as base-e (with some kind of handling of overdigits, since q > e) 20:55:34 pikhq: hey getting tail recursion right is hard in lazy languages... 20:56:03 oerjan: The parser of the lazy language? 20:56:09 Which is written in a strict language?' 20:56:13 oh 20:56:17 (namely C++) 20:56:23 well then not 20:56:25 oerjan how is tail recursion a concept in a lazy langeag? 20:56:38 MissPiggy: You can still tail recurse. 20:56:41 It just doesn't mean much. 20:56:46 pikhq, well it doesn't mean anything 20:56:50 so it's not a concept? 20:57:08 Sure it is. 20:57:46 It's just that the strictness of things also comes into it. 20:57:51 there, it's now a language where I have no idea whatsoever how to write a 'cat' program in it 20:59:34 * oerjan officially runs away from this language screaming 20:59:40 -!- Pthing has quit (Remote host closed the connection). 20:59:57 it just seems like the appropriate thing to do 21:00:28 Hey, you're still here 21:00:40 i didn't say i was going to run far 21:00:43 True 21:00:52 Plus, you may have a laptop 21:01:08 indeed, technically i have. i just never move it. 21:01:34 My laptop tends to move between the table next to my bed and my lap 21:02:23 -!- adam_d has joined. 21:02:31 hmm, implementing an increment operation on non-integral-base numbers seems kind of tricky, maybe it should be up to the program to handle that then 21:04:02 otoh, you can't let the program interpet numbers in a base that's convenient to it 21:04:42 Is this an increment by one or increment by base? 21:04:49 Increment by base doesn't sound tricky at all 21:04:56 it would be by one, of course 21:05:05 it's all integers actually 21:05:21 increment by base is just as tricky as increment by one, just shifted one position 21:05:49 d'oh, yes, the first position is base^0 which is an integer 21:06:45 -!- zzo38 has quit (Quit: zzo38). 21:06:59 Lazy K: You too can use 1.5G of RAM to compute 2^150! 21:07:59 2^150! is a rather large number, after all. 21:08:14 i say! 21:08:18 -!- adam_d has quit (Quit: Leaving). 21:08:53 2^150, not fac(2^150). 21:09:36 food -> 21:09:48 '@'@::**:*:*:** 21:10:22 Also, 15 seconds of 100% CPU usage. 21:11:02 Deewiant: Why '@'@ there? 21:11:29 Because it doesn't optimize the linear form, as I've oft said 21:11:55 Oh, so you were *cheating*. Well, then. 21:12:45 You thought I'd write something like "::**:*:*" instead of "::::****" manually? :-P 21:13:06 You never know, about people. 21:13:15 I suppose not 21:13:58 -!- MissPiggy has quit (Quit: MissPiggy). 21:30:37 Deewiant, where is the source to that tool? 21:32:14 Didn't you take a copy of it last time we talked about it? 21:32:29 -!- MissPiggy has joined. 22:06:52 -!- tombom_ has quit (Quit: Leaving). 22:30:52 -!- kar8nga has quit (Remote host closed the connection). 22:35:58 -!- MigoMipo has quit (Ping timeout: 272 seconds). 22:56:14 -!- oerjan has quit (Quit: Good night). 23:11:34 -!- madbr has joined. 23:24:14 awesome, I caused an assertion failure in mpfr since I exceeded the maximum number of bits (actually, an integer overflow in the precision variable) 23:25:12 It's rather curious how little the garbage collector actually frees. 23:28:35 * Sgeo is contemplating how PSOX.NET would work 23:28:42 Completely different from PSOX 23:29:27 It would seem that all my thunks retained values in their closure even after being allocated. 23:29:40 Meaning the poor, poor garbage collector couldn't collect much garbage. 23:31:27 * Sgeo collects pikhq 23:31:28 * pikhq looks for other memory leaks. 23:34:51 Down to 53 megabytes to compute 2^150. 23:35:06 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:35:10 Which is smaller by a few orders of magnitude. 23:39:41 Whose was that interesting language "Clue" being discussed uh.. yesterday, I think? 23:39:57 mine 23:40:01 Oh, right 23:40:04 * FireFly wants a public build 23:40:43 once i make the parser, i'll prolly put the interp up on the wiki 23:40:52 also once i've cleaned it up a bit 23:41:19 exam in 7 hours, after that i have a month of not being insanely busy, so might have the time 23:41:36 Ah 23:41:45 Well, good luck with the exam 23:42:57 multivariate calculus, probably my weakest spot in all the land 23:43:35 oklofok: what's difficult about it? 23:44:03 oklofok what about Solomonoff induction? 23:44:10 mostly the part where i actually need to integrate something :P 23:44:13 regarding Clue 23:44:18 okay yeaah integration is very hard 23:44:25 I agree with that 23:45:27 can you integrate log x? :D lbh hfr vagrtengvba ol cnegf ol erjevgvat vg nf bar gvzrf ybt k 23:46:09 you know how mandelbrot set is uncomputable, but you can still approximate it to very fine accuracy 23:46:18 well Solomonoff induction is also uncomputable.. 23:46:25 err umm. no, i don't remember 23:46:28 so you can probably compute it to very fine accuracy 23:46:56 This sounds interesting. I wish I had math courses beyond high school calculus 23:47:24 I think the main thing multivariable calculus does is introduce the partial-d? 23:47:39 so you have dy/dx and partial-dy/partial-dx now 23:47:58 and then in more advanced calculus you get deltay/deltax 23:47:59 Time to sleep, nighty 23:48:17 -!- FireFly has quit (Quit: Leaving). 23:50:06 do you know what I mean about solomonoff induction :( 23:51:03 we prove basic results on vector field potentials, and then there's the theorem about generalizing substitution for multivariate functions, the course is not actually about integrals, that's just what i'm afraid of 23:51:27 Well, rot13.lazy runs in constant (low) space now... 23:51:49 I do believe I'm at the point where any memory leaks are the fault of the executed program. 23:52:06 also the substitution thing is not proven. the course is sort of a mix of useful stuff for physicists and such, and of more rigorous stuff 23:52:28 oklofok: ahh you do proper maths 23:52:41 you're lucky, 23:52:44 hmm, converting to and from these non-integral bases was quite slow indeed 23:53:04 my stuff is just sort of being show how to do scribbling in the way that mathematicians do 23:54:40 huh, at uni? 23:54:45 yeah 23:55:06 some guy stands at the front and copies a bunch of equations from a bit of paper, then a class of a 100 people copy down his version 23:55:32 then we go to a different room and do the same thing 23:55:40 it's pretty silly, but it kills the day 23:55:42 this is pretty much the only course where we don't develop the theory from scratch (apart from the actual logic) 23:56:18 it's not like I have something better to do than pretend to do mathematics 23:56:25 :P 23:56:50 and kinda hard to just quit after you've spent a few years already 23:56:50 what sort of homework do you have, "calculate determinant of this matrix here"? 23:57:11 no 23:57:35 the last homework was copy a page of notes out but add 'y' in a few places 23:57:39 there's this guy from like honduras or something, always complaining about how our uni is so theoretical and boring, unlike his university, where they did more concrete stuff like solving equations. 23:57:52 (they didn't phrase it in.. quite, that way.. but that's essentially what I did) 23:57:53 what? :P 23:58:48 * oklofok feels patriotic.