00:07:57 -!- hagb4rd has quit (Ping timeout: 256 seconds). 00:15:10 -!- monqy has joined. 00:21:28 shachaf: I kinda want to write a GCC plugin! 00:21:31 but i don't know what it would do 00:22:49 @quote head 00:22:50 says: head [] = peek . intPtrToPtr . fromIntegral . unsafePerformIO . randomRIO $ (0, 2^32) 00:23:49 * pikhq_ blinks 00:23:59 looks unsafe 00:24:23 What does this program to do? Receive random data from memory and then crash? 00:24:25 void*head(list*x){return *(void**)rand();} eh? 00:24:42 Well, it would if there was an extra unsafePerformIO at the front 00:26:17 -!- oerjan has quit (Quit: Good night, knock on wood). 00:26:48 zzo38: It might not crash! 00:27:18 kmc: What sort of interface do GCC plugins use? 00:27:22 bad 00:27:27 The gcc plugin one 00:27:29 i don't know 00:27:34 http://forums.grsecurity.net/viewtopic.php?f=7&t=3043 00:27:38 Yes, I suppose it might not crash, but it seems likely to crash as far as I can understand. 00:28:20 void f() { read(open("/dev/urandom", O_RDONLY), f, 4096); } 00:28:32 Apparently GHC supports plugins as of 7.2? 00:28:40 You should write a GHC plugin instead! 00:29:17 But that's boring and useful 00:29:31 doubtful 00:32:47 kmc: Why is there a generic memcpy() rather than copy_user_to_kernel, copy_kernel_to_kernel, and so on? 00:33:07 I'd think that you'd know which one you're doing most of the time, and you could have optional checks for it. 00:34:10 i think memcpy() is effectively copy_kernel_to_kernel 00:34:13 it's just a familiar name 00:34:47 copying userspace to userspace with memcpy would generally not be safe 00:35:34 OK, and I guess PaX provided that optional check. 00:35:47 when copying from/to userspace, the kernel must explicitly check that the entire range lies within the userspace area of memory (e.g. under 0xC0000000 on i386), but the more fine-grained checking of "is every page mapped" is still up to the MMU 00:36:23 which means that page faults within copy_{from,to}_user must be handled differently from other faults in kernel mode, which would oops the kernel 00:37:46 Linux has a general mechanism for annotating any instruction in the kernel with "if a fault happens here, jump here instead of oopsing" 00:40:13 copy_{from,to}_user use this, and return the number of bytes that were not copied 00:40:29 and system call implementations will do something like if (copy_from_user(foo, bar, n)) return -EFAULT; 00:41:30 So I guess the three cases that are relevant are covered by copy_from_user(), copy_to_user(), memcpy(). 00:42:33 well, you might legitimately want to copy from userspace to userspace 00:42:43 it's just that the code for doing so needs some additional checks that the kernel memcpy does not need 00:43:11 it needs the bounds checks, and then it needs those "fixup" annotations in case of unmapped pages 00:43:21 Right -- I mean that those three cases are covered explicitly. 00:44:19 i bet the fourth is implemented in the library as well 00:45:04 http://lxr.linux.no/linux+v3.5.4/arch/x86/lib/usercopy_64.c#L55 00:46:27 also there are shortcuts for a single scalar -- put_user, get_user, etc. 00:46:50 and strncpy_from_user! 00:47:43 https://blogs.oracle.com/ksplice/entry/anatomy_of_an_exploit_cve mentions the problem with interfaces that look like familiar things from userspace but have extra side conditions 00:48:19 monqy, tswett potato 00:48:39 by the way, i-CAN-haz-MODHARDEN.c (an exploit for CVE-2010-2959) uses a faulting copy_from_user in an interesting way 00:48:55 what's this about potatos 00:49:05 Oh, right, you potato too 00:49:29 i hope this is not a racist joke at my irish heritage Sgeo 00:50:00 The Homestuck IRC channel I'm in at one point said "potato" for updates. I forget why. 00:50:12 specifically, it sends a packet from a partially unmapped buffer, in order to make some kernel code return after overflowing a kernel heap buffer but before zeroing that buffer 00:50:14 how would you like it if i said... jew food? 00:51:29 kmc: That Ksplice Post Importer fellow sure wrote a lot of posts! 00:51:33 yep 00:52:45 Sgeo: village. 00:53:08 Is there some more accepted term for "potato" than "potato" that I'm not aware of? Maybe "potatoe" 00:54:34 @ask elliott 17:53:08 Is there some more accepted term for "potato" than "potato" that I'm not aware of? Maybe "potatoe" 00:54:35 Consider it noted. 00:54:38 maybe he knows 00:55:28 poтaтo 00:57:48 boil 'em, mash 'em, stick 'em in a stew 01:07:06 as an irishman i can say conclusively that the correct term is 'awful yellow thing that should just be burnt before it can inflict more suffering' 01:12:33 https://www.youtube.com/watch?v=ritaljhhk7s 01:26:58 As an American, "Potato... Is that a kind of corn?" 01:39:42 -!- copumpkin has quit (Ping timeout: 264 seconds). 01:40:16 -!- copumpkin has joined. 01:56:32 -!- Jafet has quit (Quit: Leaving.). 02:16:50 -!- madbr has joined. 02:17:34 hard challenge of the moment: try to come up with a 32 bit version of the 6502 that isn't grossly inefficient (without using out of order execution) 02:18:50 it's really hard :D 02:20:41 -!- JaBoJa has joined. 02:21:30 it really has too few registers 02:24:04 so you can't put in instruction latencies anywhere 02:25:19 nothing has alignment requirements 02:50:01 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds). 03:02:21 @quote newsham excitement 03:02:21 newsham says: It's harder to get the same excitement you got from learning something new. Remember when recursion could blow your mind? Now you gotta use delimited continuations. 03:03:52 -!- madbr has quit (Quit: Radiateur). 03:06:50 -!- JaBoJa has quit (Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/). 03:11:19 Is there some sort of proof about being able to fake any monad with continuations? 03:16:13 I don't think it is exactly true; it is only partially. There is Cont monad, but you can also make many of monads using Codensity, and Cont really is a kind of Codensity as (Cont x) is like (Codensity (Const x)). 03:19:40 I have no idea what Codensity is 03:20:56 newtype Codensity f x = Codensity (forall z. (x -> f z) -> f z); 03:22:20 -!- Sgeo has quit (Read error: Connection reset by peer). 03:24:08 -!- Sgeo has joined. 03:26:04 I wish there was a transform on executables such that, when the new executable tries to allocate memory and there isn't enough, it pops up a dialog saying that. If the user then closes other things then clicks ok on the dialog, the program resumes 03:43:35 The instances for Codensity are the same as for Cont. 03:52:52 tswett, monqy potatoe 03:55:24 If Homestuck could do me a favor and stop updating for a while... 04:02:05 @quote kmc: 04:02:06 kmc: says: "monads are like containers, as long as you forget everything you know about containers, and treat it as a synonym for 'monad'" 04:02:10 @quote kmc> 04:02:11 kmc> says: laziness unifies control flow and data flow the way that relativity unifies time and space 04:02:16 @quote kmc_ 04:02:16 kmc_ says: $ ($) <$> 04:02:26 Get your nicks straight, @rememberers! 04:02:36 @quote kmc: 04:02:36 kmc: says: (): worst monoid ever 04:02:38 @quote kmc_ 04:02:38 kmc_ says: agda is super mutant haskell 04:03:05 Pretty sure that laziness is not intended for imperative control flow 04:04:33 main = say "hi" >> main 04:07:56 it's true 04:07:59 about monads and containers 04:18:36 Combine a highly flammable element with the stuff that lets flames flame and you get a substance that can put out fires. 04:18:46 * Sgeo is amused by this for some reasons. 05:09:49 :t $ ($) <$> 05:09:50 parse error on input `$' 05:09:53 well yeah 05:10:51 @quote kmc__ 05:10:51 No quotes match. It can only be attributed to human error. 05:14:23 -!- itidus20 has joined. 05:15:29 tswett: hey 05:15:36 do you want to read some draft legislation? 05:15:57 I should probably get to sleep. 05:16:15 aww 05:18:10 -!- itidus21 has quit (Ping timeout: 246 seconds). 05:28:58 If a site ceases to exist, and because of that, Internet Archive notices that there's no robot.txt and suddenly allows everyone access to all the stuff that was on the site, is it acceptable to use that? 05:32:56 they don't use the historical robots.txt? 05:33:29 I don't think so 05:34:03 Oh, there wasn't a coherent robots.txt 05:34:04 Huh. 05:34:11 http://web.archive.org/web/20110713042823/http://www.cybertown.com/robots.txt 05:47:56 -!- kwertii has quit (Quit: kwertii). 06:34:03 anyone playing magic the gathering? 06:34:17 -!- carado has joined. 06:38:09 -!- itidus20 has changed nick to itidus21. 06:45:42 I sometimes play Magic: the Gathering cards 07:02:48 -!- kinoSi has quit (Read error: Connection reset by peer). 07:03:16 -!- kinoSi has joined. 07:16:28 -!- zzo38 has quit (Remote host closed the connection). 07:33:03 -!- kinoSi0 has joined. 07:36:11 -!- kinoSi has quit (Ping timeout: 256 seconds). 07:51:16 -!- monqy has quit (Quit: hello). 08:04:44 i find it is tempting to think of anything with the same number of states as being identical. such as thinking heads and tails are exactly the same thing as 0 and 1 and exactly the same thing as black and white, but surely it cannot be so 08:06:13 -!- pikhq_ has quit (Ping timeout: 256 seconds). 08:07:02 Arpdoot 08:07:29 tswett, don't know if I should ping 08:11:15 -!- pikhq has joined. 08:15:49 -!- Jafet has joined. 08:15:50 -!- Sgeo_ has joined. 08:16:18 -!- Sgeo has quit (Ping timeout: 264 seconds). 08:20:57 -!- olsner has quit (Ping timeout: 256 seconds). 08:22:38 -!- mig22 has joined. 08:23:52 -!- olsner has joined. 08:46:38 -!- Slereah_ has joined. 08:49:30 -!- Slereah has quit (Ping timeout: 276 seconds). 10:04:54 -!- david_werecat has quit (Ping timeout: 264 seconds). 10:14:26 -!- Phantom_Hoover has joined. 10:23:13 -!- ion has quit (Read error: Connection reset by peer). 10:24:30 -!- ion has joined. 10:29:39 -!- ion has quit (Read error: Operation timed out). 10:33:44 -!- ion has joined. 10:53:26 -!- ion_ has joined. 10:55:01 -!- ion has quit (Ping timeout: 245 seconds). 10:55:02 -!- ion_ has changed nick to ion. 10:58:01 -!- mig22 has quit (Quit: mig22). 11:29:58 -!- ais523_ has joined. 11:33:41 -!- kinoSi0 has quit (Read error: Connection reset by peer). 11:34:08 -!- kinoSi has joined. 11:42:36 -!- carado has quit (Remote host closed the connection). 11:50:19 -!- david_werecat has joined. 11:53:13 -!- davidwerecat has joined. 11:55:54 -!- david_werecat has quit (Ping timeout: 240 seconds). 11:59:15 -!- ais523_ has changed nick to ais523. 12:16:49 yaaaay steam for linux beta in october 12:17:15 of course it's only supported on ubuntu but it's a start 12:21:28 23:35 < Lumpio-> I think the builtin webkit browser in Android is good // it is complete shit on htc wildfire (2.2) 12:22:38 -!- Slereah has joined. 12:23:52 -!- Slereah has quit (Read error: Connection reset by peer). 12:24:12 -!- Slereah has joined. 12:25:57 -!- Slereah_ has quit (Ping timeout: 276 seconds). 12:31:49 nortti: 2.2 is also two and a half years old 12:32:11 Consumer hardware usually falls behind enough to become sluggish in that time. 12:32:58 Hardware runs slower as time goes by? 12:33:06 That... explains a lot 12:35:38 -!- Slereah_ has joined. 12:38:03 Jafet: no. software just gets even more horribly bloated 12:38:25 Oh, that's what the sloppy hardware manufacturers WANT YOU TO THINK. 12:38:57 -!- Slereah has quit (Ping timeout: 276 seconds). 12:39:06 well why does it still run old software fast? 12:39:10 The circuit paths get clogged up over the years by stray electrons, quantum wells dry up 12:39:30 The old software has been broken in. 12:39:56 -!- Slereah has joined. 12:41:09 -!- Slereah has quit (Read error: Connection reset by peer). 12:41:29 -!- Slereah has joined. 12:42:51 -!- Slereah_ has quit (Ping timeout: 276 seconds). 12:50:51 -!- Slereah has quit (Read error: Connection reset by peer). 12:51:07 -!- Slereah has joined. 12:58:45 -!- boily has joined. 13:26:56 -!- ais523_ has joined. 13:29:47 -!- ais523 has quit (Ping timeout: 256 seconds). 13:47:00 -!- davidwerecat has quit (Ping timeout: 248 seconds). 13:47:47 -!- david_werecat has joined. 13:48:08 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:49:16 -!- Jafet1 has joined. 13:50:12 -!- Jafet has quit (Ping timeout: 256 seconds). 13:56:17 -!- ais523_ has quit (Ping timeout: 244 seconds). 13:59:44 -!- ais523_ has joined. 14:01:17 -!- ais523_ has quit (Read error: Connection reset by peer). 14:01:29 -!- ais523_ has joined. 14:07:34 -!- copumpkin has joined. 14:09:56 -!- boily has quit (Ping timeout: 255 seconds). 14:13:03 -!- boily has joined. 14:40:29 -!- Nisstyre-laptop has joined. 14:51:00 -!- Nisstyre-laptop has quit (Ping timeout: 252 seconds). 14:52:02 -!- Nisstyre-laptop has joined. 15:07:04 -!- atriq has joined. 15:08:44 -!- ais523_ has changed nick to ais523. 15:09:59 Well, I finally stopped reading Misfile today 15:10:55 -!- Vorpal has joined. 15:19:28 -!- Nisstyre-laptop has quit (Remote host closed the connection). 15:26:02 -!- augur has quit (Remote host closed the connection). 15:26:34 atriq: You were so offended by the concept of christmas presents, right? 15:27:11 -!- augur has joined. 15:27:30 -!- augur has quit (Remote host closed the connection). 15:31:21 -!- davidwerecat has joined. 15:33:54 -!- david_werecat has quit (Ping timeout: 240 seconds). 15:37:34 -!- KingOfKarlsruhe has joined. 15:50:06 Sgeo_: nah, my RSS doodad will take care of it. 15:50:08 Thanks anyway. 15:57:36 -!- augur has joined. 16:05:46 -!- Arc_Koen has joined. 16:16:48 There seems to be 189 participants in the "Campus 2015" competition, where the objective is to "find new concepts and create a lively and interactive environment for research and learning activities wherein work, studies, leisure, and living are interwoven in a natural way and create the foundation for a university city of the future", or in practice plan 50000 m^2 of floor space for the ... 16:16:54 ... School of Arts, Design and Architecture who would presumably be moving in from their current place. 16:17:32 kallisti: I play mtg 16:18:00 (Aalto University is a combination of three universities; one of technology, one of business, and one of arts. They all currently more or less live in their old campusises.) 16:18:39 Anyway, the submissions have been submitted under a pseudonym. Now, I haven't seen the entries, but purely based on the names, I hope "Purple Chicken" wins. 16:19:45 Though I suppose a campus designed by THE HUG could possibly be very friendly too. 16:25:54 -!- boily has quit (Quit: Poulet!). 16:27:46 fizzie: i think no matter what you do, an individual must undergo suffering 16:28:35 i hate making general claims. i always need to take them back. 16:30:54 i think i'm attracted to the grandeur of the general claim 16:33:56 -!- sivoais has quit (Ping timeout: 248 seconds). 16:39:49 -!- sivoais has joined. 16:42:59 -!- olsner has quit (Quit: Leaving). 16:45:01 -!- KingOfKarlsruhe has quit (Read error: Connection timed out). 16:45:44 -!- ais523 has quit. 16:46:01 fizzie, hehe, I've been meaning to stop reading it for a while, never actually bothered 17:00:12 Realised I wasn't enjoying reading it at all a couple of weeks ago 17:00:58 I think when you realise that reading something is a chore, it's a signal to stop reading 17:01:08 Unless you need to read it, for homework or something 17:03:21 -!- FreeFull has joined. 17:23:12 -!- AnotherTest has joined. 17:23:16 Hello 17:24:02 -!- atriq has quit (Remote host closed the connection). 17:34:47 my sister is in the weirdest school play ever 17:35:05 from what she showed me of the script it's a depressing ripped-from-the-headlines slice of life drama 17:35:37 but then there's one scene where some obnoxious child is pestering her mother and then i swear to god, slenderman comes out of the fucking cupboard and drags her in 17:36:51 i read quite a long way ahead and it appears that this is never explained nor adequately developed upon 17:53:31 ...huh 18:00:03 i know of slice of life as an anime genre, slenderman is an fps-like game 18:01:11 oh iti is there anything you can't be wrong about 18:01:33 no 18:02:29 * itidus21 looks up slice of life at tvtropes 18:04:45 ah i quite like this trope 18:13:54 -!- davidwerecat has quit (Ping timeout: 240 seconds). 18:15:10 -!- david_werecat has joined. 18:25:36 -!- davidwerecat has joined. 18:28:34 -!- david_werecat has quit (Ping timeout: 244 seconds). 18:30:17 -!- atriq has joined. 18:34:33 Phantom_Hoover: Sounds very Slice of Life, yes. 18:34:47 Phantom_Hoover: One of those average days… slenderman comes out and eats your child… very normal. 18:35:24 well it's in many ways a kinder alternative to putting them into care 18:36:42 the boogieman - protecting children from a broken childcare system since 1862 18:37:25 in this case, more protecting the childcare system from annoying little shits 18:37:29 I know Slenderman as a nickname for a character in a slice of life drama about an insane guy with a friend who turns out to be insane too 18:38:34 I got bored after the second season 18:38:52 gripping stuff 18:41:21 He thought his camera was cursed or something 18:41:38 you mean marble hornets right 18:41:42 -!- Taneb has joined. 18:42:00 But he had a strange compulsion to film himself at all time 18:42:01 s 18:42:01 Yes 18:42:08 -!- atriq has quit (Quit: Leaving). 18:42:12 -!- Taneb has changed nick to atriq. 18:42:17 oh no 18:42:24 slenderman got atriq 18:42:33 and turned him into taneb 18:44:40 Oh no! 18:44:43 Not again! 18:45:09 -!- AnotherTest has quit (Quit: Leaving.). 19:07:21 -!- boily has joined. 19:18:53 -!- atriq has quit (Remote host closed the connection). 19:19:19 -!- oerjan has joined. 19:23:21 -!- davidwerecat has quit (Ping timeout: 245 seconds). 19:23:35 -!- atriq has joined. 19:26:26 as an irishman i can say conclusively that the correct term is 'awful yellow thing that should just be burnt before it can inflict more suffering' <-- i guess that explains those famines 19:28:00 Is there some sort of proof about being able to fake any monad with continuations? 19:28:09 delimited ones, yes 19:28:24 oerjan: Is this yellow thing the sun? 19:28:46 fizzie: i thought it was a potato 19:28:51 Okay. 19:28:57 I didn't see the context. 19:29:03 -!- quintopia has quit (Ping timeout: 256 seconds). 19:29:31 In retrospect, you probably wouldn't speak of burning a sun. Or. Hm. 19:30:39 -!- zzo38 has joined. 19:31:19 fizzie, a sun that isn't burning isn't much of a sun. 19:31:43 oh it was filinski not felleisen 19:31:44 -!- quintopia has joined. 19:31:52 Well, it's not much of a burning, it's more of a fusing 19:32:11 Sgeo_: http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=C7DD144AB578DC0ADF2245B7EC33F65F?doi=10.1.1.43.8213 19:40:48 fizzie: i think no matter what you do, an individual must undergo suffering <-- i am trying hard not to believe that, but so far my evidence is sadly inadequate. 19:41:27 Suffering is relative 19:41:35 oerjan: its a very broad statement 19:41:45 its not nearly specific enough 19:41:46 atriq: i'm trying hard not to believe that, too :P 19:42:29 after further reflection, i think the thing of it is, must undergo challenges 19:42:45 and challenges can be percieved as suffering 19:42:56 ^perceived maybe 19:42:57 i have this sort of meditation exercise which can make me convinced everything is ok with the world. and then collapses horribly. 19:43:04 Now that you've copy-pasted it, I wonder if I'm supposed to read the "you" as referring to me, but the "individual" as to something 19:43:11 Someone else, I mean. 19:43:34 So that no matter what I do someone else just keeps suffering as a direct result. 19:43:47 fizzie: yeah thats definitely not the case 19:43:53 thats why i had to back up 19:44:00 horribly enough that it's months between every time i try it. 19:44:12 i got in a bitter argument about someone once who tried to claim that 19:44:44 oh i think you and individual as synonyms though 19:55:34 oerjan, people who have lived a life of luxury will suffer in situations where those who have lived a life of poverty would be enthralled 19:55:44 For instance 19:56:13 my stumbling over words doesn't help 19:58:57 atriq: sometimes i wonder, does the quality of past experiences matter in the present 19:59:49 oh god are you idiots philosophising 19:59:50 -!- Phantom_Hoover has left ("Leaving"). 20:00:01 then i wonder.. 20:00:17 is the present constructed based on the past 20:00:41 atriq: well ok _that_ way of avoiding suffering is relative, and temporary. (after a while, the mind readjusts to the new conditions.) 20:02:15 the basic idea is that you can't solve the problems of being human 20:02:24 a human will have problems in their life 20:02:30 i guess thats the better way to say it 20:02:37 the problems can be solved one by one 20:02:41 but they can't all be solved at once 20:03:01 at least not by .. uhhh 20:03:14 a committee 20:03:15 itidus21: that's a common idea, yes. doesn't mean it's right. 20:03:45 a person needs to be able to own their problems 20:04:05 it just means that it's how most people rationalize not having been able to find a real solution. 20:04:34 buddha of course claimed he had one. 20:04:54 i don't like that one too much though. 20:05:51 ok ok and.. 20:05:57 humm 20:06:05 and about 5 years ago, i thought i had found one. (see above meditation comment.) 20:06:10 others can solve our problems.. but... theres no magical efficiency 20:06:25 when it comes to trying to optimize solutions it gets absurd 20:08:41 i probably should start /ignoring itidus 20:09:03 if im making myself anxious.. maybe you also 20:09:17 watching your depression feeds mine 20:09:32 ok humm 20:09:43 I'm... 20:09:49 so i have a real topic 20:09:51 Probably insane to some degree 20:10:01 You all are very productive at causing Phantom_Hoovers to flee, there's always that. 20:10:08 so how do events work? 20:10:10 fizzie: yay! 20:10:15 via a message loop? 20:10:17 Perhaps it could be used to generate energy or something? 20:10:22 I should find one of those people who you give a lot of money and they say that you're only insane if it's what you really want to be 20:10:40 on a low level, events work via interrupts right? 20:12:11 ^well hardware events 20:12:39 itidus21: well on common architectures, afaik 20:12:57 ok so what am i trying to ask.. need to think 20:13:22 i guess the question is of how to not-poll 20:13:51 Via interrupts! 20:13:54 events work in all kinds of ways 20:14:16 Events work in mysterious ways. 20:14:59 as a hypothetical 20:16:53 if i had , while(a==5) { b++;c++;d++;e++;f++;g++; } .. except i wanted the loop to stop at the very moment where the condition no longer held 20:17:18 a bad example perhaps but maybe it has multiple threads or something 20:17:41 but if its c++ then the ++ operator is possibly overloaded to change a 20:17:48 >:-) 20:19:59 maybe thats just not possible without doing a conditional after every step 20:20:44 It isn't, and shouldn't, be possible, since the correctness of the program depends heavily on what your definition of a step is. 20:21:52 the impossible things sometimes look so nice since they would make things work more efficiently 20:21:52 As an unrelated thing: Can you do Number a, b, c; c = a**b; resulting in c being a to the b'th power, in C++, by an overloaded Number::operator*() returning a NumberExp_ wrapper, and an overloaded Number operator*(Number a, NumberExp_ b) doing exponentiation? (If so, should you?) 20:22:49 oh iti is there anything you can't be wrong about no 20:23:03 i rest my case 20:24:02 fizzie: You probably could, and doing so is punishable by death. 20:24:20 fizzie: that would not have the usual precedence wrt normal multiplication, would it 20:24:38 thanks gregor. i guess the solution then is to use subroutines 20:25:23 Or #define BREAKPOINT if(a!=5)break and then sprinkle BREAKPOINT over your code. 20:26:29 im thinking about a language which would have such a loop 20:26:40 I just got really riled by something 20:26:44 Like, seriously annoyed 20:26:49 And I think I got angry 20:26:51 And now I am sad 20:27:13 -!- Phantom_Hoover has joined. 20:27:19 * itidus21 tries to remember that last thing atriq got riled by. 20:27:29 you managed to rile atriq 20:27:31 gj 20:27:34 Not itidus21 20:27:36 people assuming that theres only one kind of 20:27:39 Different people 20:27:39 something 20:28:03 hey atriq 20:28:08 Yes? 20:28:14 did you know dmm once said buffy wasn't very good 20:28:21 I... 20:28:27 Have never watched Buffy 20:28:46 Actually, the last thing that made me really angry was DMM's opinion on Monopoly 20:29:02 i know 20:29:08 Wow 20:29:12 When was that 20:29:15 you told us how you wept at hearing your beloved monopoly savaged so 20:29:21 all i can say is it's best not to play monopoly online 20:29:29 i thought you were a joss whedon person 20:29:44 I'm a Firefly and Avengers person 20:30:23 i love firefly fans 20:30:31 This does not equate to being a Joss Whedon person 20:30:31 they're all so delightfully bitter 20:30:47 I'm not that bothered 20:31:17 Why, hello there 20:31:25 Not you, the other FireFly 20:31:34 The one with Nathan Fillion in it 20:31:36 how did being cancelled make you feel, FireFly 20:31:42 Do you have Nathan Fillion in you? 20:31:49 I hope not 20:32:19 he wants to though 20:32:43 Anyway 20:33:07 * oerjan swats fizzie -----### 20:33:12 My anger has transformed into sads 20:33:13 Poor fizzie :( 20:33:14 :( 20:33:19 ok i found it 20:33:22 That I'm annoyed that people assume there's only one kind of sign language 20:33:24 why are you angry atriq 20:33:31 i'd swat FireFly but my tab completion is acting up 20:33:33 That was mild annoyance, itidus21 20:33:38 this is worse? 20:33:48 he's positively miffed 20:33:55 Phantom_Hoover, one of my friends plagiarised Homestuck really awfully 20:34:09 In a "-stuck" fan adventure to begin with 20:34:22 how would one of your friends be in a position to plagiarise homest-- how can you plagiarise homestuck in one of those 20:34:27 i don't just mean how is it possible 20:34:31 But a character's description was lifted phrase by phrase from Dave 20:34:31 how can you be dumb enough to do it 20:34:40 maybe that was deliberate 20:34:43 And I got annoyed 20:34:48 And he got annoyed that I got annoyed 20:34:49 hm now it's completely correctly 20:34:50 i like the monopoly board. the way it folds neatly to 1/4 it's size. and it was wonderful for the imagination 20:34:52 maybe it was what we in the trade call a `callback' 20:35:03 And I didn't want to back down because I thought I was right 20:35:07 i don't think adults could imagine how much fun a child has playing monopoly 20:35:12 uh 20:35:15 And he didn't want to back down because everybody else sided with him 20:35:22 i recall not enjoying monopoly at all 20:35:50 honestly atriq you're such a lightweight 20:35:59 Then he tried to fix it and he DID SOMETHING WRONG 20:36:04 That turned out to be RIGHT ALL ALONG 20:36:07 And aaaaargh 20:36:21 And I've had a bad day and too much caffeine 20:36:26 just earlier today i got in a bitter dispute with some guys over whether one set of ships in a freespace mod was justified in looking like another set of ships 20:36:38 * oerjan taunts atriq with an interpretive dance in nicaraguan sign language 20:36:39 atriq: if you knew how i felt about homestuck, you might well swear to destroy me and everything i value 20:36:39 And for someone who doesn't drink tea or coffee that equates to any caffeine at all 20:36:47 Nah 20:36:47 i don't even remember who i've argued with earlier than that, it's all one long blur of anger 20:36:55 You're entitled to your opinions, itidus21. 20:37:11 it frightens me that comic 20:37:25 did you accidentally see that one flash with jade's dream 20:37:30 It shouldn't, but it's okay that it does 20:37:39 Except the flash with Jade's Dream 20:37:39 in an eerie unsettling way like what i expect alistair crowley's writing might do 20:37:44 And the Squiddles album 20:38:16 you think homestuck is an annoying religion for disaffected teenagers? 20:38:49 thats probably it 20:38:51 atriq: I've been thinking, it seems rather logic to me that Fueue programs should end when they try to input but reach EOF 20:39:10 Homestuck IS an annoying religion for disaffected teenagers. 20:39:15 :D 20:39:17 Arc_Koen, hmm, I disagree 20:39:23 ok i feel better 20:40:05 Arc_Koen, that means it can't output anything after it's run out of input 20:40:11 Arc_Koen: there are many programs you cannot write if a program halts immediately on EOF. such as tac... 20:40:14 Like a "You inputted 107 characters" 20:40:32 input in Fueue is a mean to "save" the program from an infinite no-op loop; if there is no input available, then it means there's nothing left to save the program from this no-op loop 20:40:54 it's either that or you add a special EOF function 20:40:57 -!- carado has joined. 20:41:12 note that this function could be ')' ("deblock"), for instance 20:41:18 or EOF value... 20:41:19 Or assign a number to represent the EOF "character" 20:41:27 And write Fueue programs to handle it 20:42:26 I don't like assigning a number - it means inputting that number is the same as inputting eof 20:42:35 btw i have no idea how to handle Fueue input that is a negative number :) 20:43:06 Arc_Koen: um you use a number not equal to any character, duh 20:43:18 oerjan: well you could place it just after a - 20:43:32 Aaah, you mean in the program? 20:43:37 Of course, and why not 20:43:46 Arc_Koen: ...then you couldn't handle the positive ones. 20:43:57 oops. 20:44:32 well don't we have a nice "compare with 0" function? 20:44:35 atriq: The past tense of “input” is “input” >_> <_< 20:44:47 I'm not sure how $ reacts to negativ numbers, actually 20:44:50 I deny that to the utmost degree, Gregor 20:45:03 Arc_Koen, implementation dependant, probably an error 20:45:32 Arc_Koen: yes but... if you compare with 0 you destroy all other information about the number 20:45:40 put in 20:45:56 oerjan: double it, then compare the copy with 0 20:46:17 that's how we do it in most stack languages, right? 20:46:25 Arc_Koen: you cannot copy it because : won't wait until the number has been input 20:46:41 hmmm 20:46:41 Fueue is a ridiculous language. 20:46:48 So what happens when you do : and then want to do something with the number 20:46:52 I highly recommend that you do not try to seriously program with it 20:47:07 I don't know, oerjan did prove it was turing-complete 20:47:15 Which really surprised me 20:47:46 FreeFull: the problem is only while you are actually inputting a character, once you have managed to get it into a stable form you can use : just fine. 20:48:01 though once again I'm of the opinion we need to include some notions of input and output to the whole turing-completeness thing 20:48:18 cool, so i'm experiencing not understanding youth culture 20:48:20 oerjan: No, and the associativity would be wrong too. 20:48:37 You only need the ability to provide initial data 20:49:23 itidus21, Homestuck is a subculture at best 20:49:48 FreeFull: yes, I'm just saying we should consider the fact that this initial data can be read with what a language specs describe as "input" 20:50:08 A Turing-Machine lacks input 20:50:08 I mean, compare those two models: 20:50:12 Lambda Calculus lacks input 20:50:19 Wang Tiles lack input 20:50:25 (Wang Tiles are really odd, though) 20:51:20 atriq: that's my point; when proving a language is equivalent to the set of turing-machines, I find it's not what the language is supposed to be that we're proving tc 20:52:25 you can say a turing-machine does have input, in the form of the initial content of the tape (and the program is the automaton hooked to it) 20:52:41 atriq: No, the code is the input 20:52:49 Data is code, code is data 20:53:02 Okay, yeah 20:53:16 You can designate certain parts as code and certain parts as data if you really want to 20:53:18 but when you're proving that brainfuck's subset <>+-[] is turing-complete, I feel you're not proving *actual* brainfuck, as the *usable* programming language, is turing-complete 20:53:44 Arc_Koen: The more appropriate way of modelling I/O on a Turing machine is to claim it's got three tapes, one of which you can only read and move, and one of which you can only write and move. 20:54:05 Bit of a hack, but that's basically what's going on. 20:54:07 What about the third tape? 20:54:11 FreeFull: that's my point; if a language specs say that it has an input instruction, then the data shouldn't be considered part of the code, but what's accessible via that input instruction 20:54:24 FreeFull: That's the normal tape. 20:54:41 Oh, you're adding IO 20:54:45 You've got an in tape, an out tape, and a RAM tape. 20:54:46 Yes. 20:54:56 pikhq: well, yes, I would very much agree with that representation 20:55:02 Arc_Koen: proving a subset of a language TC proves the entire language TC (as long as it's computable in the first place) 20:55:05 Arc_Koen: Then you can have data in both places 20:55:19 oerjan: what I'm saying is you've proven something else TC 20:55:42 by not considering the language's input and output facilities, you're "defining" input and output as something else 20:55:45 And, incidentally, you can with some difficulty emulate multiple tapes on a single-tape Turing machine. 20:55:50 pikhq: How would you do IO with lambda calculus? 20:56:07 Meaning that I/O is basically irrelevant for TC-ness. 20:56:23 FreeFull: Probably the Lazy K way. 20:56:28 hmm 20:56:35 Input is an argument, output is the result. 20:56:51 it seems to me that input might involve editing the program 20:57:11 but that .. humm 20:57:21 oerjan: for instance, what did you use as "the argument" and "the result" in your proof that 3-cell brainfuck is tc? 20:57:29 ok guys.. just ignore what i said ur on a good topic keep going 20:57:43 coppro: I'm going to a pre-release for Return to Ravnica 20:57:52 you get a bunch of boosters, an intro pack, and a promo card. 20:57:56 and you play a tournament 20:58:05 (I think the promo card is only legal for that tournament though) 20:58:26 kallisti: The promo is generally legal. 20:58:36 oh I see 20:58:38 Arc_Koen: the initial and final cell value, mostly. you do have some point - i know how to turn input into the right format but i think it may be impossible to turn a final cell value into an arbitrary output string. 20:59:02 They're merely a slightly weird foil. To be illegal they'd have to have a weird border, weird card back, weird size, or some such. 20:59:13 Or, obviously, be declared explicitly illegal. 20:59:17 right 20:59:38 so the problem is, when someone says "hey I just proved this new language to be TC", we don't know what he's talking about 20:59:44 Actually, funnily enough, the promo is *not* legal for that tournament. 20:59:47 I'm sad that my 2012 blue/green/black graveyard deck is leaving Standard. :( 20:59:53 I don't know of any local places that play Extended 21:00:31 pikhq: that must vary by location. the place I'm going to said that it will be legal 21:00:31 Because the tournament format for a prerelease is limited, the only legal cards are the ones in the boosters you get. 21:00:39 and then someone else will prove a second language TC, using that first language's TCness... but there's a chance he's not using the same definition of input and output, so I'm not sure the proof stands 21:00:52 oerjan: On the other hand, a^b with an overloaded operator^ is even worse: a + b * c^d == e <=> (a + b * c)^(d == e) ! 21:01:04 kallisti: DCI rules say otherwise. 21:01:45 it seems to me that input might involve editing the program <-- precisely! as i did for ///, btw 21:01:46 it's like someone says "Simon likes eggs" because he's seen Simon taking part in an egg-throwing battle 21:01:59 and then someone else says "Simon likes eggs, therefore he likes omelettes" 21:03:54 pikhq: have you looked at the new set? it's pretty interesting 21:04:05 oerjan: ironically LC still puzzles me a great deal. 21:05:08 Arc_Koen: my philosophy of TC-ness is that you include _both_ input and code in the initial setup for your computational model, and are permitted to use both as part of what you convert e.g. a turing machine including input tape into. and similarly for output. 21:05:27 i think i am suspending finding out what LC actually is so i can imagine it is something even better 21:05:47 basically, since distinguishing input and code doesn't make sense for all models e.g. LC, you should never consider them truly distinct 21:06:16 I'm starting to think that the alternate universe Darths and Droids linked to from strip 50 are randomised. 21:06:36 well my philosophy is that the claim "this language is TC" should always be accompanied by a more precise description of what is meant by "this language" 21:06:48 -!- atriq has quit (Ping timeout: 245 seconds). 21:07:35 i find it is tempting to think of anything with the same number of states as being identical. such as thinking heads and tails are exactly the same thing as 0 and 1 and exactly the same thing as black and white, but surely it cannot be so 21:07:54 Arc_Koen: oh hm i guess the point brainfuck is dubious is that you could either consider the final tape contents part of the output (as is done for turing machines) or not (as is done for many other languages) 21:07:54 this probably counts for program and code too 21:08:00 *point where 21:08:08 precisely 21:08:08 ^program and input 21:08:45 -!- carado has quit (Quit: Leaving). 21:09:14 Arc_Koen: i think my 3-cell method suffices only for the former if you want arbitrary results, although the latter works for recognition machines 21:09:30 HOW MANY OF THESE DAMN THINGS ARE THERE 21:10:04 kallisti: yeah, I'm planning to play prereleases oto 21:10:05 well collatz functions are definitely on my list of "things you should look at" and your proof comes right after them 21:10:05 *too 21:10:06 unless someone can find a clever way of converting an unbounded cell value to an output string in 3-cell brainfuck. 21:10:13 coppro: pikhq: I've never played limited before. should be interesting 21:10:20 it's lots of fun 21:10:29 apparently there's no 4 card limit, and you can have a huge sideboard and you don't have to swap one-to-one 21:10:43 hmm 21:10:52 whoa.. 21:10:53 -!- boily has quit (Quit: Poulet!). 21:11:15 I'm starting to think that the alternate universe Darths and Droids linked to from strip 50 are randomised. <-- um no. there's a long chain of them. 21:11:32 I definitely tried following this before! 21:11:55 they _have_ sometimes added information to older ones, iirc 21:12:20 There are like 20 of these I've never seen! 21:12:45 http://www.darthsanddroids.net/hypnotoads/0050.html 21:12:52 the second bullet point is golden in this one 21:12:57 Phantom_Hoover: afair there is one for every 50 D&D + one because they somehow forgot to delay the one they'd been intending when they hurriedly made the avatar one 21:13:35 ahhhh 21:13:43 i suspected they were updating them 21:14:06 yep, expect another one in 15 strips :) 21:15:51 oerjan: do you think Fueue would be TC, using its input system as input, if EOF halted execution? 21:18:25 Arc_Koen: sure, just use an LR(0) input format so that the EOF is never read. (e.g. an unlambda 1 interpreter could be made, ignoring final comments.) 21:18:42 LR(0)? 21:19:17 LR(0) means a grammar where you don't need to look at the next token to know whether a production has ended. 21:20:05 ... that didn't sound honest 21:21:23 ("can you hold a conversation with french-speaking people?" "sure, as long as they use an english-encoding of their french sentences") 21:21:31 Arc_Koen: you probably want to be requiring that the input is interpreted precisely as in a normal program language then? in which case the answer is no, you cannot implement tac or wc. and in which case it also has nothing to do with TC-ness. 21:22:07 Arc_Koen: the whole _point_ of TC-ness is that you're allowed to apply an arbitrary (terminating) encoding to the incoming and outgoing information. 21:22:21 hmmm yes ok that makes sense 21:24:56 the second bullet point is golden in this one <-- DMM made a relevant comment on that, let me look it up... 21:28:23 -!- Vorpal has quit (Ping timeout: 260 seconds). 21:30:12 darn i think it got deleted 21:31:03 it was basically "i see nothing needing editing", anyway 21:31:19 kallisti: I always play limited. 21:55:29 i suspect that it is impossible to determine in 3-cell brainfuck whether an unbounded cell value is even or odd without destroying most of the information in it 21:55:59 s/determine/extract/ 21:56:40 you can do arbitrary calculations but you cannot get the information out of that one cell 21:56:58 (counterproofs welcome) 21:57:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 22:12:01 -!- FreeFull has quit (Quit: Sleepzzzzzzzz). 22:26:37 job for tomorrow: prove that 3-cell reversible brainfuck is not TC 22:27:30 heh 22:28:57 can you think of a way to prove that a language is not TC, other than a) writing a compiler to a known not-TC language (and by language I include automata) and b) solving the halting problem for it 22:29:49 (I'll count "proving that it does not allow for infinite loops" as a subset of solving the halting problem) 22:30:00 right 22:30:33 (and there was supposed to be an interrogation mark! it's a question!) 22:31:20 showing that there is some problem it cannot solve, i guess 22:31:52 -!- copumpkin has joined. 22:31:57 -!- pumpkin has joined. 22:32:03 although how would you do that without having (a) or (b)... 22:32:14 -!- copumpkin has changed nick to Guest7740. 22:32:33 -!- Guest7740 has quit (Client Quit). 22:33:27 it's not supposed to be a very interesting, nor formal, question - it's ok if a) or b) can be inferred from the proof, I was just wondering about other "ideas" for proofs 22:33:43 i am not familiar enough with the known theory to remember if there is a well-known example of a non-TC language whose halting problem _isn't_ decidable. 22:34:00 or a proof none exist 22:35:21 the two non-TC proofs i mentioned in my article page were done essentially by (b), although for subtle cough you might consider it (a) as well. 22:36:09 (and by writing a compiler I include a human description of the translation) 22:36:10 -!- pumpkin has changed nick to copumpkin. 22:37:00 all the non-TC subsets of underload were essentially about always halting 22:37:12 *-essentially 22:38:17 I added REVER to Truth-machine implementations 22:39:17 Arc_Koen: oh and there's always the matter of not having unbounded memory, although you could consider that as compiling to FSAs... 22:39:54 or linear bounded automata, if it's only that it cannot grow after the beginning 22:40:31 btw the bounded-storage machine category on the wiki is empty! 22:40:37 heh 22:41:09 oh right, it was never properly discussed 22:41:19 it's kind of weird considering I'm sure at least a handful of handfuls of languages on the wiki were inspired by their first implementation 22:41:31 To you think the truth-machine in REVER is OK? 22:41:35 and no one ever acted on my delete request 22:41:58 Arc_Koen: what? 22:42:28 well, imagine I have an idea for a new language 22:42:41 and I write an interpreter / compiler / whatever for it 22:42:49 and then I write an esolang wiki page 22:43:11 and I basically use my implementation as the specs 22:43:59 Arc_Koen: OK, but what is your idea? 22:44:00 naturally integers are bounded, and if it's, say, tape-based, then the tape is bounded as well (cause I was too lazy to make it an unbounded lazy structure) 22:44:36 zzo38: actually I have a few ideas in mind! 22:44:49 I guess I should write my user page and put them there 22:46:25 a language based on mario kart (or any other race), where instructions affect certain cars, either "at a certain time" or "at a certain location" (and cars are objects with a position, a speed, an acceleration, and probably even the next derivative) 22:46:25 OK 22:47:35 a nondeterministic/probabilistic language based on a monopoly-like game, where a program is a setup of the board + number of players and such, and the players roll dice and are affected by the board 22:49:02 a nondeterministic/probabilistic language similar to Knight Shuffling Tower: there's a main data structure (probably a queue), but its "pop" function pops into a variable... except there are a handful of variables which all have the same name (and one is selected at random every time a variable must be used) 22:49:34 and I think I had a few others as well but they're not coming to mind at the moment :( 22:50:00 If you have idea, write it on List of ideas. 22:50:36 I think the whole esolang thing is growing out of control in my head - every time I take part in a new activity, it goes "hey, this would be a cool idea for an esolang!"... 22:50:51 for instance the other day I played a monopoly-like game with friends 22:51:10 (it turned out to be pretty different from the actual monopoly, though, because there was SO MUCH inflation in it) 22:54:37 in the regular monopoly there isn't really any inflation - you get income every time you reach start, but you invest it in ownership (or whatever it's called). all other operations are 0-sum: money transits from a player to another 22:56:21 in that game your income was a function of your number of houses, and you could buy bonds on houses, and the simple fact of buying more bonds made the value of bonds increase 22:57:50 and investment was mostly free as your score was the sum of your cash, bonds, and houses (so buying a house is basically converting cash into a house, but does not affect your score) 22:59:07 anyway, that was fun :) we were three humans and one computer, and the computer took a good lead at some point, BUT THEN I WON which of course made it all the more fun 23:00:02 naturally. 23:00:08 zzo38: I've been meaning to read the REVER page ever since you started posting it on the wiki, but I never know where to start - I feel it lacks a "language overview" or something 23:00:46 Arc_Koen: But I don't know what to write in the overview. Anyone who does read it, could add it if they know what to write in the overview. 23:00:50 it basically starts with "it's reversible, you can write comments, and most operations have the same operators as in C 23:03:29 Yes, I know not very good to write overview like that; I only have the first sentence which isn't much. 23:03:35 so for instance I start reading the beginning, then I start scrolling down, then I see something that looks interesting (namely "bijections"), so I search what is a bijection (cause being able to take an inverse is neat but you have to have the other thing first) aaaaaaaand I don't find it 23:03:57 example programs can also help 23:04:34 Yes, I made a section for the examples I didn't put any in yet. But I did write the example for truth-machine on that page. 23:04:39 or some kind of BNFish description (though in languages "that look like C" such a description might look like something horrible) 23:06:38 (also I have some childhood issues with the word "subroutines" so that doesn't help) 23:09:27 btw zzo38 I was trying to remember the name of a language which main operation is to move stuff from input to output and from output to input, and I seem to recall you created that language (though I may be wrong) 23:09:41 I don't know. 23:10:24 then maybe it isn't you - I haven't found it on your wiki user page 23:14:13 (sometimes my mind associate some people with some stuff even though there seem to be no link between the two) 23:17:26 -!- augur has quit (Remote host closed the connection). 23:25:31 hm didn't i see that the other day 23:27:21 -!- NihilistDandy has joined. 23:30:49 I am making Famicom Hangman. If the microphone is available, it will use it as part of the random number generator. 23:34:22 -!- kinoSi has quit (Read error: Connection reset by peer). 23:34:49 -!- kinoSi has joined. 23:42:46 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk). 23:46:47 BBC headline: "Nazi Buddha originally from space" 23:46:50 article disappoints 23:52:33 how can that disappoint without outright lying 23:53:09 Technically not a lie. 23:53:14 Technically not as cool as it sounds. 23:55:15 -!- augur has joined.