00:08:44 -!- asiekierka has joined. 00:08:46 Hey 00:40:44 -!- lifthrasiir has joined. 00:41:04 -!- lifthras1ir has quit (Read error: 60 (Operation timed out)). 00:45:54 -!- coppro has quit (Remote closed the connection). 00:58:29 -!- lifthras1ir has joined. 00:58:30 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)). 01:38:21 -!- fungot has quit (verne.freenode.net irc.freenode.net). 01:41:34 -!- lifthras1ir has quit (Read error: 104 (Connection reset by peer)). 01:41:35 -!- lifthrasiir has joined. 01:44:33 -!- adam_d has joined. 01:48:56 -!- lifthrasiir has quit (Remote closed the connection). 01:49:00 -!- lifthrasiir has joined. 01:59:30 -!- lifthras1ir has joined. 02:00:24 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 02:06:00 -!- lifthras2ir has joined. 02:10:19 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)). 02:18:20 -!- lifthras1ir has quit (Read error: 110 (Connection timed out)). 02:36:53 -!- lifthras2ir has quit (Read error: 54 (Connection reset by peer)). 03:39:28 -!- rodgort has quit (Client Quit). 03:39:38 -!- rodgort has joined. 03:43:18 -!- oklokok has quit (Read error: 60 (Operation timed out)). 03:55:00 -!- MigoMipo has joined. 04:04:46 -!- FireFly has joined. 05:02:14 -!- BeholdMyGlory has joined. 06:06:37 -!- adam_d has quit (Read error: 110 (Connection timed out)). 07:03:24 -!- oerjan has joined. 07:05:40 AnMaster: iwc :) 07:05:48 oerjan, indeed 07:05:55 oerjan, remind me what it was about 07:05:58 I read it so long ago 07:06:23 president allosaurus agreed the world wasn't a strange place 07:07:12 ah right 07:08:29 darn i can only find 27 ninjas 07:08:41 * oerjan whistles innocently 07:09:13 oerjan, I can't find any 07:09:20 *WHOOSH* 07:09:41 ... I understood that... I was just continuing the joke 07:11:13 with AnMaster you never know whether there is a *WHOOSH* or not. just like ninjas. 07:16:47 -!- adam_d has joined. 07:17:14 oerjan, true 07:17:41 -!- adam_d_ has joined. 07:36:24 -!- adam_d has quit (Read error: 110 (Connection timed out)). 07:44:47 -!- Asztal has joined. 07:54:08 -!- ehird has joined. 07:54:40 Close encounters of the Hird kind. 07:55:13 00:21:17 Stony Brook O_O 07:55:13 00:21:20 oh right 07:55:13 00:21:29 you're a cunt, now i remember 07:55:13 excuse me, don't you go there too 07:55:19 NECROLOGREAD 07:56:58 05:46:33 Asztal, my family name is of that type for example. But with a bit unusual spelling 07:56:58 norlander ~= north land/country? 07:57:21 05:50:23 "KuraMoto" literally means storage-basis for example 07:57:21 Good name for a file hosting company. 07:57:35 ehird, yeah, north = nord/norr and land/country = land 07:57:45 so well, yeah spelling was changed somewhat 07:57:56 Swedish is boring because you can mostly just pretend it's mangled English and figure out a lot :) 07:58:01 German even moreso 07:58:19 then again I guess that's all languages that English raped 07:58:31 ehird, you stole my reply :/ 07:59:09 it's nice to have such a whore of a native language, though, for that utility :D 07:59:15 hah 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:17 07:02:25 btw what is 1/INFINITY in double floating point? 08:00:17 07:02:44 Assuming IEC 60559 conformance of course 08:00:17 Prelude> 1 / (1/0) :: Double 08:00:18 0.0 08:00:27 it's a smiley 08:00:35 "I AM SHOCKED AT YOUR INTENT" 08:00:38 hah 08:00:48 ghci is pretty strict with its ieee floating point i believe 08:01:53 btw, just because i explained google's new home page thing that doesn't mean i agree with it 08:02:01 i, too, find it irritating 08:02:33 however 08:02:35 [[Starting this week, when we have high confidence that your query was misspelled, we go a step further than asking "Did you mean..." by automatically showing results for the corrected query, saving you a click. In case we did misinterpret the query, there will be a link at the top of the results to undo the auto-correction. So, the next time I'm visiting South Florida and accidentally search for [maimi restaurants], it's reassuring to know I'll quickly go 08:02:35 straight to the results for what I really meant: Miami restaurants.]] 08:02:39 it's about time 08:05:51 Didn't they already do that? 08:06:03 no, they showed a preview of the results 08:06:10 this way, if they have a high confidence of an error 08:06:14 Well yeah, okay 08:06:16 they show only the fixed results 08:06:18 with an option to undo 08:06:24 http://3.bp.blogspot.com/_7ZYqYi4xigk/Sxb_MsMIxyI/AAAAAAAAFC0/IqU_3tGQCUU/s1600-h/barcode_mockup_fade.gif ;; i have to admit though, this is hot 08:07:04 and i was _already_ finding google's tendency to second-guess me occasionally annoying :( 08:07:34 Stop whining and use grep query /the/internet. 08:07:43 Google is clever; its suggestions are usually good. 08:09:14 "Yahoo! Selects Google as Search Engine Provider" —2000 (http://www.google.com/corporate/timeline/images/photos/XBD_HP_20000711.png) 08:09:29 "Yahoo! Selects Yahoo! as Search Engine Provider" —? 08:09:33 "Yahoo! Selects Bing as Search Engine Provider" —2009 08:22:18 07:15:06 1/inf == 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...............1 08:22:18 07:15:10 i guess 08:22:18 07:15:14 the dots represent infinite 0's 08:22:18 You fail at mathematics forever. 08:22:44 07:17:42 0.999999999999.................. rounds to 1! 08:22:44 Die. 08:23:32 07:22:05 0.33333... given that ... is "continue forever" is *exactly* 1/3. Multiplying it with 3 will *not* yield 0.999..., but exactly 1 08:23:32 you fail 08:23:33 In general when somebody that young fails to understand something I don't think it's fair to say "forever", it's quite likely they'll understand it some time in the future 08:23:41 0.333.... * 3 = 0.999... = 1 08:23:50 0.333... = 1/3 08:23:53 1/3 * 3 = 1 08:23:54 therefore 08:23:58 0.999... = 1 08:24:06 0.333... * 3 does very well equal 0.999... 08:24:11 Deewiant: I'm allowed to memeify. 08:24:27 Is the word "forever" a meme now? 08:24:49 you fail memes forever 08:25:20 Deewiant: "you fail X forever" is a meme 08:25:36 Okay 08:25:41 07:39:49 otherwise casting to (bool) should make it well defined 08:25:41 07:40:16 there is a bool type? 08:25:42 07:40:34 in C99 yes 08:25:42 07:40:36 in C89 no 08:25:42 Incorrect; there is a _Bool type. There is also , which contains `#define bool _Bool`. 08:26:16 07:57:53 To me Wave is an experiment by Google to see how long they can hold the attention of people with a product that makes no sense. 08:26:16 07:57:56 Discuss. 08:26:16 I think it's accidentally that 08:26:32 they came up with some reasonable ideas, built it, and then realised that is the only way for it to survive 08:26:41 they accidentally the sense 08:30:24 09:05:53 what about three "that" then? 08:30:24 That that that's property, that's property. 08:30:31 I guess that's isn't really that. 08:31:05 09:09:28 oklofok, what about: "using that that that construct outside contrived examples is really irritating"? 08:31:05 that that is perfectly proper English. as is had had. 08:31:15 "He had had that that sucks before, but this time was different." 08:32:13 -!- oklofok has joined. 08:33:05 09:52:07 where can i find any source code for BSD dc 08:33:05 http://freebsd.org/cgi/cvsweb.cgi/src/ 08:33:39 10:10:38 happy australian mailman reminders day! 08:33:39 *Australian Mailman Mailing List Reminders Day 08:34:06 10:14:50 this is your last day of being a teenager, ever 08:34:07 i don't think being 19 is actually possible 08:34:11 when do you ever hear of someone being 19 08:34:16 everyone is just in a void while they are 19 08:34:45 10:20:03 asiekierka: if you want to port a light dc, maybe you have more luck with p9p version 08:34:46 <3 08:35:03 I don't remember being 19, so it must be a lie 08:35:19 10:20:44 i think this one may roughly be related to the unix v7 one 08:35:20 10:21:02 yup 08:35:20 10:21:16 it is a port of (probably a bit newer) the version from unix v7 08:35:20 It's a port of Plan 9's dc to POSIX with Plan 9 libraries. 08:35:33 Plan 9's dc was probably derived from Tenth Edition Unix, being its official successor. 08:35:41 i most certainly remember being 19. possibly the best life in my year so far. 08:35:47 er 08:35:54 *year in my life 08:36:23 oerjan: you'd be happier if you didn't spend all your time mentioning how gloomy you are 08:36:28 that that is perfectly proper English. as is had had. <-- yes, but still takes more work to parse than average. 08:36:59 10:23:38 girls are always like uhh big day let's cuddle 08:36:59 10:24:04 oklofok, anything wrong with that? 08:37:00 10:24:49 well it's against the tradition. 08:37:00 oklofok representin' 08:37:02 i _don't_ remember spending all my time mentioning how gloomy i am, however 08:37:38 10:48:35 line 814 08:37:38 10:48:35 Blk* div(Blk *ddivd, Blk *ddivr) 08:37:38 10:48:35 3 "variable identifier expected" 08:37:39 10:48:35 and 2 "undefined symbol:" one for 'ddivd' and one for 'ddivr' 08:37:39 Blk isn't defined 08:37:40 typedef mistake 08:38:15 12:21:47 just write a new backend for llvm, and some system specific header files and you are done 08:38:16 64 k memory 08:38:29 ehird, I didn't say llvm would run *on* it 08:38:33 Well then :P 08:38:35 llvm is a perfectly good cross compiler 08:41:43 I think I'm going to try to avoid the semicolon. 08:42:46 ehird, in what place? programming? natural language? 08:42:51 The latter. :P 08:43:03 08:29:46 oklofok, how would this be handled if humanity started to colonise other planets? With possibly different lengths of day and year. 08:43:03 colon-ise 08:43:12 oops 08:43:15 nice typo 08:43:54 08:34:59 * AnMaster notes that writing (* 365 24 60 60) is much more compact than 365 * 24 * 60 * 60 (and skipping those spaces is ugly) 08:43:54 It's not really that ugly. 08:43:57 AnMaster: no type 08:43:58 *typo 08:44:28 Anyway, 36524*60>60*. 08:44:28 s/>>/>/ 08:44:29 HP in your face? :P 08:44:41 ehird, but if it wasn't ugly it wouldn't be sorter to write it in the former way 08:45:08 long live circular argument or something 08:45:46 08:56:41 iirc he likes factor 08:45:46 heh it's interesting 08:46:21 09:03:43 anyway, I'm kind of worried 08:46:22 09:03:48 there was a weird whirring sound for a while 08:46:22 09:03:52 then a bang above me 08:46:22 09:03:56 now there's the smell of burnt silicon 08:46:22 literally seconds after complaining about the channel not being on-topic often 08:46:44 09:04:36 overheard :P so now we're confusing overload and overheard too! 08:46:44 overhird! 08:47:21 the problem with RPN for complex statements is that the operands' meaning depend on the operator unless we're talking about basic arithmetic 08:47:28 so we have to keep a mental stack of uninterpreted operands 08:48:47 09:19:41 don't make math too formal it takes the soul out of it 08:48:47 That, and your name quantumEd, means you are now officially an "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" quack. 08:48:51 Have a nice day. 08:49:29 09:27:34 oklofok just look at this picture, http://thinkzone.wlonk.com/MathGems/pics/pythagorean_theorem.gif -- this proves pythagoras without any "R" or "metric" or analytic geometry 08:49:30 I hate visual proofs. 08:49:55 09:32:35 if you were traveling near speed of light, that proof wouldn't apply anymore 08:49:55 marry me 08:51:47 09:34:36 I would say it is: Mathematics 08:51:47 09:34:41 it is not: mathematics 08:51:47 09:34:46 it has nothing to do with: mathematics 08:51:48 09:35:01 maybe to you mathematics is deduction trees which a computer can say "VALID" or "INVALID" 08:51:48 You are ignorant to the highest degree. 08:53:59 10:26:24 also why is it so hard to remember quantumEd is fax 08:53:59 he is? 08:54:48 10:27:09 except to get statements from us that you could later use to destroy our political careers 08:54:49 Raping horses with a stick is the only moral thing to do when confronted with a child molester. 08:54:52 There goes my career! 08:55:27 10:37:14 oklofok: you know, it's OK to unbelieve things you previously believed if someone points out errors in them 08:55:27 Shut up, science-fascist! 08:56:50 09:36:10 ok, consider a "times table" (a table where the element at (i,j) is i*j) 08:56:50 THIS SOUNDS LIKE A JOB FOR J 08:58:16 poor I got left out 08:59:15 i forgot j lulz 09:04:06 13:37:28 (short)x is in the same memory location as (long)x 09:04:06 13:37:43 if you use big-endian, you have to write code for downcasting 09:04:06 13:37:58 this is the main theoretical advantage for little-endian, as far as I know 09:04:07 i am now a little-endian fan 09:06:06 13:45:12 AnMaster: I/O, etc 09:06:07 13:45:17 as in, you need inline ASM 09:06:07 13:45:19 or something else similar 09:06:07 unsigned char *out = 0xB0000; 09:06:49 ehird, eh context of the I/O stuff 09:06:59 rtfl 09:07:02 as in, what were we discussing 09:07:28 09.12.01 09:07:43 meh, don't care enough 09:13:12 Hey, AnMaster? 09:13:14 "A very large, 30-year study of just about everyone in Scandinavia shows no link between mobile phone use and brain tumours." 09:13:26 Not that I expect it'll stop your irrationality about that matter. 09:13:26 Speaking of things not to care about, I have this N900 phone now. 09:13:40 fizzie: Nice timing. 09:13:44 Or did you see my message? 09:14:53 Well, sort-of. I did see it, but I was already writing what I wrote when I saw it. 09:15:27 ehird, err, I didn't say I believed that. I only think I said I prefer being cautious 09:15:41 What, even now? 09:16:02 * oerjan read that as NMT-900 09:16:05 The study provides overwhelming evidence that phones do fuck all as far as brain tumours go. 09:16:19 AnMaster: I assume you pray 5 times a day to Mecca— to be cautious in case the Islamic god exists? 09:16:30 (is it 5 or 7 times?) 09:16:31 ehird, well sure. But at least some types of cancer can take quite some time to develop iirc. :P 09:16:41 5 09:16:57 AnMaster: The worst kind of idiot is the idiot who tries to ignore his stupidity with a bad joke. 09:17:18 ehird, I wasn't replying to the praying line... 09:17:23 I never said that. 09:17:35 AnMaster: if mobile phones take 30 years to develop cancer then _absolutely_ no one has any evidence that it does 09:17:49 because it won't have _happened_ yet 09:17:50 oerjan, true 09:18:01 "Ha! I don't know anything about how science works, and will summarily ignore this study with a huge base of evidence, yet continue to believe in evolution, even though all we have for that is that same pesky *evidence*." 09:18:03 "... :P" 09:18:38 oerjan, I think we can be quite safe in about 100 years or so. Becuase if it causes cancer over longer periods than that it can currently be safely assumed we will be killed by something else before instead. 09:18:46 09:19:28 [[It is possible, Deltour's team wrote, that it takes longer than 10 years for tumours caused by mobile phones to turn up, that the tumours are too rare in this group to show a useful trend, or that there are trends but in subgroups too small to be measured in the study. 09:19:28 09:19:29 It is just as possible that mobile phones do not cause brain tumours, they added.]] 09:19:55 AnMaster: You should be just as cautious of radio. 09:19:56 ehird, I read about this study in the newspaper today (or was it yesterday?) 09:20:02 May I suggest moving to an area where you cannot receive radio? 09:20:05 It's radiation, you know. 09:20:16 You could say that everything's radiation. Sort of. I guess. 09:20:47 ehird, lets avoid sun light (hey that one *does* cause cancer) 09:21:09 How on earth can you make a joke based entirely around your foolishness and yet still go by it? 09:21:14 It makes almost a negative amount of sense. 09:22:20 um. Because you have been misunderstanding what my actual opinion on mobile phone radiation issues is? 09:22:22 fizzie: if it had been NTM-900, then it would really have been something not to care about 09:22:39 AnMaster: I'm basing it entirely on what you've said today. 09:23:03 That is: "I only think I said I prefer being cautious" 09:23:06 ehird, do you have anything against: "better safe than sorry" 09:23:17 AnMaster: Yes, because you're not trying to avoid radio signals, are you? 09:23:23 Or low levels of sunliight. 09:23:26 *sunlight 09:23:31 ehird, always interpreting any sentence in the way that most implies its source is an idiot 09:23:36 ehird, well, there is also evidence that we need sunlight 09:23:46 as in, too low = bad, too high = bad 09:23:52 oerjan: I think you'll find he's interpreting it in the same way. Care to offer me whatever hackneyed interpretation you take? 09:23:56 s/high/much/ 09:24:10 AnMaster: That's irrelevant. Anyway, you are still dodging the matter of radio signals. 09:24:21 ehird: i'm making a general statement here 09:24:34 AnMaster: btw, the radiation from phones is non-ionizing. 09:24:55 and in the range of tens of millions time weaker than it would take to be the weakest ionising sort. 09:25:03 if i understand it correctly, which i think i do. 09:25:20 and ionising radiation is what fucks up dna, and causes cancer. 09:25:43 oh, and... 09:25:43 [[ 09:25:43 At room temperature, your DNA is rattled around by thermal fluctuations with an energy on the order of 0.026 eV. So you can absorb radiation (Infrared Light) on this order of energy without any problem other than possibly getting hot. 09:25:43 If you want to start harming DNA, and thus helping cause cancer, you need to hit it with photons of 3 eV or more (ultraviolet light). 09:25:44 Cell phone radiation, on the other hand, consists of photons with around 0.000001 eV of energy (~ 1 GHz - 5 GHz ). So getting bombarded with a few of these photons isn't going to have any effect. 09:25:47 ]]] 09:25:54 so i guess you avoid ... existitng 09:26:13 what with all that over-80-times-more-powerful-than-phones radiation 09:26:17 *existing 09:35:47 18:58:51 Sgeo: It's brilliant. It's the smallest device I've ever seen that a criminal could use to steal card numbers 09:35:47 You mean... getting people to tell you their number? 09:35:52 Store owners are EEEEEEEEEVIL 09:36:13 Credit cards are insecure anyway. 09:36:22 Everyone you've ever bought from could purchase things as you forever. 09:36:42 um they have expiration dates don't they? 09:37:35 Yes. 09:37:41 Well, forever=as long as you can use it. 09:37:45 07:58:11 uuuuurgh 09:37:45 07:58:16 what happened to ehird 09:37:46 08:02:08 there was a tragic accident involving cheddar, a moose and five ancient OSes 09:37:46 08:02:30 while ehird survived (barely), the cheddar did not. 09:37:46 * ehird nods 09:38:24 -!- Azstal has joined. 09:38:43 -!- Asztal has quit (Read error: 60 (Operation timed out)). 09:38:54 -!- Azstal has changed nick to Asztal. 09:39:24 12:42:53 http://ismarriagelegalintexas.com/ 09:39:25 isnomiclegalintexas 09:42:14 isrunningwordstogetherlegalintexas 09:45:16 14:10:13 like, office suite, compiler, vector graphics editor, "better than paint" bitmap editor (gimp) 09:45:17 gimp isn't better than paint, just more powerful 09:46:00 14:10:57 ais523, xp x64 needs around 2.5 GB iirc 09:46:00 14:11:00 way more reasonable 09:46:01 "The Oberon OS is available for several other hardware platforms, generally in no cost versions. It is typically extremely compact. Even with an Oberon compiler, assorted utilities including a web browser, TCP/IP networking, and a GUI, the entire package has been able to fit on a single 3.5" floppy disk." 09:46:17 Okay okay so I'm raving a bit on the Oberon OS' design, shut up. 09:46:21 ehird, I didn't say it was good. Just more reasonable :P 09:46:29 *OS's, fuck s-with-no-s-thingy 09:46:57 s with no s? 09:47:02 OS' vs OS's 09:47:03 eh i need to set up bitlbee again to connect to m*b*s 09:47:25 ehird, so care to give a summary about what the hell was going on last week and few weeks before that? 09:47:37 not really. also, it's not over yet. 09:47:41 ah 09:47:47 good luck with.... whatever it is 09:47:58 you get another break from me next mon-fri ;p 09:47:59 *:P 09:48:15 ehird, huh. What sort of strange thing may this be 09:48:44 it's complicated 09:49:04 ehird, parent got fired? 09:49:16 You can sit there guessing for a few years and it won't help. 09:49:19 ouch 09:49:20 right 09:49:41 ehird, so tell us! 09:49:47 No. 09:50:01 you just love having secrets right? 09:50:56 Hey, feel free to fuck off. 09:55:54 16:52:10 skullfuck is the more popular term 09:55:55 16:54:07 I meant, being done, rather than being talked about 09:55:55 16:54:24 i imagine it's difficult to find a willing partner 09:55:55 16:54:54 zzzzzzzzzzzzzzzzzzzzzzzzz 09:55:55 17:17:36 lament: who said they had to be willing? 09:55:56 Either we just jumped the shark, or the shark just jumped us. 09:55:57 I'm not sure which. 09:56:21 19:06:44 but than that means your solve_halting_program() function cannot return either true or false for that particular program because then the program uses the solution to prove it false 09:56:22 :slowpoke: 09:56:52 19:18:33 quantumEd: ... "Well-founded recursion"? 09:56:52 19:18:49 you are allowed to loop on smaller inputs than what you were given only 09:56:52 19:19:09 so that every function (that's execution doesn't reach any "loop") terminates 09:56:52 19:19:28 And how do you intend to enforce such a restriction? 09:56:53 It is possible. 09:57:00 19:20:35 ... And for that matter, what does "smaller inputs" mean? 09:57:00 It's well-defined. 09:57:06 The resultant language is sub-TC, but not too bad. 09:57:21 http://lambda-the-ultimate.org/node/2003 09:57:21 http://www.jucs.org/jucs_10_7/total_functional_programming/jucs_10_07_0751_0768_turner.pdf 09:57:40 19:29:53 quantumEd: What sort of ridiculous restriction on the type system *could you do* to make that not well-typed? 09:57:40 See above. 09:57:42 It's not useless. 09:57:46 ehird: we don't jump the shark. we tie it up and force it to do computation. 09:57:50 19:31:34 quantumEd: By "useful", I mean "capable of non-trivial calculation". 09:57:51 It can do Ackermann. 10:00:58 12:20:53 ah yes those ones. who has those anymore? ;P 10:00:58 higher-quality keys. 10:01:13 although there are other mechanical switches apart from buckling spring 10:03:19 22:24:09 (01:31:11 AM) <>: SystemError: Cannot compiler 'Python.h'. 10:03:38 Karnts kompiler Pygthon.h 10:03:43 i suck at faux-german 10:04:43 btw more people should go wtf at my sort-of-early-draft-thingy-work-in-progress-vaguely-formed-ideas dependently-typed-of-a-sort pastie.org/728571.txt?key=zl2af7lovf0knbe3avpw. 10:04:52 http://pastie.org/728571.txt?key=zl2af7lovf0knbe3avpw for clickability 10:06:26 erm another mistake? 10:06:30 i suck at this :D 10:07:01 http://pastie.org/729217.txt?key=y9oq5kkybo7uhz8eyr9vq 10:07:02 fixed 10:07:18 (s/List\.on/List.of/) 10:13:27 * ehird considers using haskell 10:13:49 except for the effort of a haskell compiler, ugh 10:25:14 -!- adam_d_ has quit ("Leaving"). 10:28:00 -!- quantumEd has joined. 10:47:05 -!- augur has quit (Read error: 104 (Connection reset by peer)). 11:03:21 ehird, oh? 11:04:13 AnMaster: Context of that oh? 11:04:19 except for the effort of a haskell compiler, ugh 11:04:39 Well, an Oberon-2 compiler is about 4,000 lines. 11:04:49 A Haskell compiler is more like 50,000. 11:04:58 I think GHC is about 100k lines of Haskell. 11:05:14 Oberon-2 compiler would be more like 3,000 lines in Haskell, I guess. 11:05:37 And the snippet I pasted should be quite simple to compile too. 11:05:50 Anything that requires 33x the effort of an Oberon-2 compiler I probably won't want to do. 11:05:52 hm 11:06:01 Haskell could fit in quite nicely to the system, but eh. 11:06:22 100k lines feel so inelegant somehow 11:07:23 AnMaster: GHC does a *lot*. 11:07:31 true 11:09:22 GHC is pig-ugly code 11:09:29 there is stuff in there that makes its own monad infrastructure 11:09:36 because monads didn't exist at the time 11:09:39 in haskell 11:10:25 Oh, it still uses non-monadic Haskell? 11:10:27 Eeeeew. 11:12:24 what did haskell use before monads? 11:12:40 LISTS 11:14:43 Lists of actions for the IO monad, lists of other things otherwise. 11:16:00 lisp had it right, CAR CDR and all that 11:16:18 Lisp had it wrong. 11:16:26 You can modify state. 11:16:35 oh yeah I forgot about that 11:17:50 You forgot continuation IO. 11:17:56 Anyway, it was for non-IO stuff. 11:17:59 And this is just in some parts. 11:18:06 Other parts use regular Prelude Monads. 11:23:13 pikhq what was the argument against modifying state again? 11:31:44 quantumEd: There is no state. There is only lambda. 11:31:56 um 11:32:12 On a more serious note: a lack of state greatly aids reasoning about your program. 11:32:59 Separation of Church and state. 11:33:05 hyuk hyuk hyuk get it lambda calculus church? 11:33:06 ahahaha 11:33:08 I am funny comedian 11:34:39 pikhq: have you looked at the oberon os? the paradigm is like plan 9's acme (inspired it) ftp://ftp.inf.ethz.ch/pub/ETHOberon/Native/StdAlone/ 11:34:54 maybe you'll have better luck at getting it to run in a vm than me, I think it'd be interesting to have an oberon-os-but-haskell 11:34:56 Can't say I have. 11:34:56 or similar 11:35:18 pikhq: the paradigm blends hypertext with code, it's a living-environment like smalltalk 11:35:26 you can have code inline with documents 11:35:32 and that's how you run commands and open things etc 11:35:51 and everything is text, except it handles multimedia and formatting too 11:35:59 but it's best at manipulating text/commands 11:36:15 it divides the whole window into frames like acme, and they're as fluid as acme's frames 11:37:39 i can boot it in qemu but the old-IDE disk driver spews a lot of crap and after installation+reboot, it just hangs trying to boot 11:37:59 pikhq: the implications are really interesting — the installer is the same as its documentation 11:38:16 Huh. 11:38:18 it just has hyperlinked commands at certain points that you erase the arguments of and fill in the appropriate ones as explained, then middle-click the command name 11:39:11 and e.g. partitioning is done by middle-clicking (iirc) Partition.Show, which brings up another frame, scrolling down to the partition-creation command, replacing and and middle-clicking it 11:39:20 so you have a sort of composition of tools there, into one documentation-tool 11:40:00 Researchers from Helsinki University of Technology (Finland), University of New South Wales (Australia), and University of Melbourne (Australia) have succeeded in building a working transistor, whose active region composes only of a single phosphorus atom in silicon. The results have just been published in Nano Letters. 11:40:05 grats, fizzie + Deewiant :P 11:40:15 We didn't do it 11:40:36 tkk is your uni 11:40:43 your uni was part of it, the news article is on the tkk site 11:40:45 I REST MY CASE 11:40:54 Whatever 11:41:09 Deewiant: moody :p 11:41:12 :-P 11:42:07 ehird: clearly Deewiant is just denying it so no one will notice their nanobots taking over the world 11:42:19 mmf 11:42:19 mmf 11:42:21 MMPH 11:42:22 $(*$&@&(@(&@ 11:42:29 hello i am grey goo 11:42:36 (british gray goo) 11:42:46 http://tunes.org/~nef/logs/esoteric/?C=M;O=D 11:42:53 what's the point in ?C=M;O=D ? 11:42:57 sorting 11:43:24 oh I see 11:43:41 yeah 11:44:00 Column=Modified 11:44:03 Order=Descending 11:45:24 futura was designed by a german, I am the least surprised 11:49:40 oerjan: what did you do when you were 19? 11:50:26 probably was unconscious for a whole year, knowing oerjan's fatalistic outlook 11:52:05 pikhq: any luck with oberon or not interesteed? 11:52:54 ehird: 9~Bit busy trying to find keys. 11:53:03 pikhq: Wat? 11:53:09 Oh, physical keys. 11:53:21 Yes. 11:53:38 ehird: That, and your name quantumEd, means you are now officially an "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" quack. <<< THANK you 11:53:42 As in door-openers. 11:53:54 oklofok: no, thank YOU! 11:53:58 this is a war on thanks 11:54:26 I'd rather people were outright religious than quantum-mystical 11:54:37 but... i was agreeing with you, do i really have to fight you now? 11:54:39 It's pathetic to see them denigrate the beauty of quantum mechanics in such a way 11:54:48 oklofok: well, i don't know what to do otherwise :D 11:55:20 oklofok: i started university 11:55:55 ah 11:55:59 oklofok what ? 11:56:02 also went to the math olympiad. although i'm not quite sure if that was before or after my birthday 11:56:13 how did you do? 11:56:16 oklofok is that about me 11:56:35 quantumEd: you can read logs, basically i'm thanking ehird for being on my side about our debate 11:56:45 oklofok us two had a debate? 11:56:48 yes 11:56:48 fairly mediocre 11:56:53 oklofok what was it about 11:57:07 short one, but i count it as a great irc debate, because it didn't turn into a flamewar :) 11:57:11 oklofok oh you're taking the piss out of me because I have a different philosophy to mathematics than you do 11:57:18 * AnMaster does something incredibly unlikely 11:57:19 oklofok that's kinda lame 11:57:40 taking the piss out of you? 11:57:48 "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" 11:57:52 i'm just saying thanks for agreeing with me 11:58:09 what did I agree with you on? 11:58:13 err yeah, that's how ehird says he disagrees 11:58:23 quantumEd: Your definition of "mathematics" is wrong. 11:58:27 felt like you were making fun of me with it 11:58:27 "YOU'RE A FUCKING MORON GRRRR I HATE TYOU SO MUSCH!?!?1?1?" 11:58:49 oklofok: I don't hate him, he's just a quack. 11:58:52 i'm not saying i completely agree with you being totally insane :P 11:59:19 yeah not sure what you're getting at but it seems like you're taking the piss 11:59:21 i just like it when ehird agrees with me, because i don't like being the quack... well okay i suppose i do 11:59:56 quantumEd: okay w/e 12:00:16 AnMaster: i don't really recommend spontaneously teleporting like that, what if you end up inside something? 12:00:17 ehird: yes, but i got the gist of it 12:00:30 oerjan, no this is even stranger 12:00:36 oh dear 12:00:40 oerjan, using a floppy device! 12:00:43 oklofok are you referring to something someone said in particular? because I probably don't know what it is if so 12:00:45 AnMaster: you broke backwards compatibility? 12:00:46 oh. 12:00:46 AAAAAAAAAAAAAAAAAAAAA 12:00:54 an USB one even. 12:01:17 connected to an ibook. 12:01:43 quantumEd: wtf? i'm fucking pasting a line someone said and thanking them for agreeing with me, and you start saying i urinate, look in the fucking logs and stop being a bitch kay? 12:02:08 oklofok: oh you didn't write this? "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" 12:02:14 ... 12:02:16 if it ducks like a quack... 12:02:26 nono, i wrote that, then pasted it here and thanked myself 12:02:28 quantumEd: no, I did. 12:02:31 ah 12:02:32 00:48:47 That, and your name quantumEd, means you are now officially an "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" quack. 12:02:40 anyway if you thought that was me, then i see why you'd be mad 12:02:48 yeah I don't read a lot of what ehird writes 12:02:53 :P 12:02:59 My words are made of pure pain! 12:03:01 oklofok um.. thanks for making me aware of this though 12:03:04 s/ / / 12:03:13 Ooh, aware of it. I think I'm supposed to be scared now. 12:03:34 ignorance is bliss kinda thing 12:04:06 ehird: you've been quantum observed! 12:04:19 prepare to collapse! 12:04:27 quantumEd: and "THANK you" wasn't exactly a sincere thanks, it was sort of sarcastic, because he sort of did what i definitely didn't want to do, and said something that usually leads to a flamewar on irc. 12:04:33 sort of 12:04:50 not sure why i'm explaining myself 12:04:54 oklofok dunno it's pissing off me though, I left because ehird is such a cunt, now I can't even /ignore him 12:05:03 oklofok: you realize this has now officially turned into a flamewar anyhow? 12:05:16 :D 12:05:19 to both of you 12:05:54 oerjan: yes, but it was just because of misinterpretation, unlike most other flamewars! 12:06:01 what the hell just happened 12:06:07 using the floppy drive in my desktop 12:06:10 made X crash 12:06:19 and I get IO error on my SATA drive 12:06:23 when I try to read from it 12:06:40 that's ridiculous 12:06:58 it's reproducible btw 12:07:20 ehird, any bright idea about that? 12:07:36 nope 12:09:17 nice to be reminded how pathetically antisocial and confrontation I am too by you folks 12:09:18 did someone say ELIZA? http://www.atariarchives.org/morebasicgames/showpage.php?page=58 12:09:36 quantumEd: anyway i find that sometimes people that are total cunts are the ones that really make you wonder whether you're as great a person as you could be; not saying ehird has made me change my ways, but a few other total cunts have made quite an impression! :P 12:10:02 wow, i was a full 24 hours back in the scrollback 12:10:15 quantumEd: i wasn't personally attacking you, btw. 12:10:19 oklofok I don't really follow, the deal was: don't read stuff from ehird - don't get into some horrible droning argument that nobody wants to hear 12:10:20 just your beliefs about mathematics 12:10:40 I try not to attack people (I usually mean "you're being an idiot" when I say "you're an idiot") 12:10:51 quantumEd: that was a general comment, it was not about this thing here 12:11:06 yeah I got that 12:12:16 -!- adu has joined. 12:12:37 in fact, a certain well-known #math cunt has changed my views about mathematics quite a lot 12:12:53 in a bad way? 12:12:53 how? 12:13:10 views can only be changed in a good way 12:13:19 because it's i who changes them 12:13:27 don't take it personally, I'm a mathematician, and I love math, but I hate #math 12:13:36 well #math is full of cunts 12:13:39 yeah #math is not really a good place 12:13:40 yes 12:13:45 neither is this channel 12:13:49 i like that, really makes you think what you say 12:14:08 it's the kind of place where you don't want to turn on your brain because you're only not going to get insulted if you say the pattern match responses 12:14:21 :D 12:14:24 oklofok: so how is your OK-language or whatever? 12:14:38 pattern shmattern 12:14:41 * oerjan ducks 12:14:49 -!- augur has joined. 12:14:56 adu: a simple version of oklotalk got implemented in python, but i've kinda gotten out of programming 12:15:10 oh 12:15:18 I've gotten into it :) 12:15:36 I wrote an OpenType to JSON converter yesterday :) 12:15:41 i mean i still code like little snippets every now and then, but bigger i don't really have time for bigger programs 12:15:45 *-bigger 12:15:51 hey ehird can I PM you or are you going to be a bitch about it? 12:16:06 i've usually just pm'd him without asking 12:16:12 uh, i can't promise anything mr quantum ed 12:16:22 oklofok: you mean oklotalk--? 12:16:23 oklofok yeah but past experience tells me that it's probably best to point this out here first 12:16:30 ehird: yes, oklotalk-- 12:16:37 i guess it's not really a simple version of oklotalk... 12:16:42 ehird fine, fuck you then 12:16:54 quantumEd: uh, fine, pm me 12:17:01 i won't be a bitch 12:17:32 i can assure everyone, that there will never be a moment in my life, or a person annoying enough, that i wouldn't love being pm'd by them 12:17:39 ehird: you're starting to sound like one 12:17:41 Gregor: *that* one you can quote 12:17:53 adu: k 12:18:02 ehird: jk ;) 12:18:08 kjk 12:18:14 stop talking in ehird'd favorite languages 12:18:17 *ehird's 12:18:22 oklofok: ok 12:18:42 is o a language? i probably should know... 12:18:49 what? 12:18:49 well okay obviously it's a language 12:18:58 adu: i'm sort of an o-philiac 12:19:06 adu: "k" "j" 12:19:09 are not actually my favourite languages 12:19:15 it was a joek, thou seest 12:19:20 lol 12:19:29 I like "D" myself 12:19:39 all my favorite words start with d 12:19:48 like delicious and dick 12:20:01 like Dance, Drive, Dying 12:20:15 well maybe not dying 12:20:33 but i like driving, its fun 12:20:34 i'm sure you meant coloring things pretty 12:20:42 oh yes 12:20:51 dodger dastardly devouring dick 12:21:04 death, destiny and despair 12:22:27 my cousin asked me when i'm getting a car, i said i don't have a license, he was like when are you getting it? apparently it's not a choice 12:22:27 (yeah it's sandman) 12:22:27 and one day, when I have 1,000 code monkeys on my payroll, I will write a bloated IDE/Editor/Browser/Neuralnet that will start with D too 12:22:27 i had this dream about driving a motorcycle, and have been wanting to try one since then, though, as i've mentioned here 12:22:27 Destiny! i like that one 12:22:42 Depressed... 12:23:07 delirium, dream, destruction and desire, to complete the set 12:23:45 donkey 12:23:56 doofus 12:24:04 doozer 12:26:04 -!- ehird_ has joined. 12:31:15 A defence of preemptive multitasking: http://sprunge.us/YNUJ 12:31:17 I felt like writing that. 12:31:49 quantumEd: you still haven't /msg'd me like you said 12:32:16 ehird_: there aren't people still preaching non-preemptive multitasking, surely? 12:32:39 (were there ever?) 12:32:39 there are (and visionary people too), lemme find an example 12:33:58 http://tunes.org/cliki/no-kernel.html, fourth paragraph onwardfs 12:34:01 *onwards 12:34:06 that's pluggable task-switching, but still 12:34:19 i'm quite pleased with http://sprunge.us/YNUJ, it's concise and easy-to-read 12:34:29 i normally end up with too short/too long paragraphs/sentences 12:35:00 hmm the last newline should be before the though, "system." is a widow 12:35:19 erm, orphan 12:36:22 http://sprunge.us/RMJD for typographic pedants 12:37:52 mycroftiv: also: http://tunes.org/cliki/preemption_20and_20cooperation.html "Now, TUNES is a secure system, and we can and shall use cooperation whenever possible (=almost always)" 12:37:58 mrph, that tunes link is interesting but doesnt seem to grapple with the fact that preemptive multitasking is good both for the abstraction/layering reason you give in your essay but also as a pragmatic protection against buggy applications, aka 99.99% of applications 12:37:58 that page is actually on that topic 12:38:02 probably a better resourcee 12:38:12 and it may rebut your points, I haven't read it yet 12:38:28 mycroftiv: I noted the protection aspect too in my ...work/page/article/note/essay/whatever 12:38:35 "Preemptive 12:38:36 multitasking handles malicious or badly-written tasks much better, 12:38:36 too: you have a chance to terminate a task that tries to hog the 12:38:36 system." 12:39:10 and before that: "Worse, the 12:39:12 programmers of a task are probably not experts in task-switching, 12:39:12 and so it's quite likely they'll get it wrong." 12:39:44 "Actually, threads are interrupted and signaled by more priviledged threads, but not preempted by equally-priviledged threads. (they might be preempted by foreign threads, to which they can't compare priviledge). This is why we rather call that interruptible cooperative threads instead of preemptible threads." 12:39:49 * ehird_ wonders what that means 12:40:22 mycroftiv: the thing with tunes is that fare is a very strong libertarian 12:40:25 it means a thread that's not running can ask to be run, if needed! 12:40:35 and so it makes quite a lot of compromises in the name of freedom and independence of tasks 12:41:03 (he views system design as an exercise in ethics) 12:42:24 who needs threads when you can just buy multiple computers 12:42:32 -!- ehird has quit (Read error: 110 (Connection timed out)). 12:42:32 -!- ehird_ has changed nick to ehird. 12:42:38 ninja'd 12:42:40 well, i kind of feel that way also, but i guess my ethical baseline is that if the code is open, you can always change it - and the ability to change the code means sometimes you just hard code it and figure anyone who needs to will hack it and recompile 12:43:48 (i understand of course that tunes is fully self-modifying and reflexive so that particular example is a bit un-tunesish) 12:44:04 -!- lifthrasiir has joined. 12:44:06 although really having a compiler means you are still in a self modifying environment 12:44:26 thats part of why im not fully sold on some of ideas you seem committed to, because i think they dont necessarily change as much as you might suppose 12:44:56 a lot of my ideas aren't big in themselves, but have a large effect on the system's architecture and philosohpy 12:48:07 mycroftiv: do you know how the viewpoints research institute is funded? 12:48:33 -!- ais523 has joined. 12:48:39 donations and company funding 12:48:40 how boring 12:49:07 were you hoping they sponsored a team of somali pirates? 12:49:32 ehird: oh, I'm not sure if you knew this before, apologies if you did: there's a proposal in the UK government that gives Lord Mandelson a dictatorship 12:49:34 no :P 12:49:58 i thought maybe doing work for companies, letting people use unused computing power for a cost, etc 12:50:13 ais523: an absolute dictatorship? 12:51:06 ehird: pretty much, it's a "Mandelson can modify this law by [method]" with ineffective safeguards 12:51:29 I don't expect it would actually be abused in such a way, thankfully. 12:51:37 I want to get off this island ASAP anyway, though... 12:51:54 read it yourself if you like: http://www.publications.parliament.uk/pa/ld200910/ldbills/001/10001.13-19.html#j164 12:51:58 there's an extra room here 12:52:23 oklofok: i'm not sure i could legally move in with you before i'm 16 :P 12:52:37 ais523: can you shorten this perl -n oneliner? 12:52:38 $n{$_}++}{print"$n{$_}\t$_"foreach keys%n 12:52:43 i can't think of any fun horrid tricks 12:52:52 ais523, hi there. I had an odd hardware issue you might be of help with: 12:53:03 ugh, the braces aren't even balanced there, that's crasily abusive. I like it 12:53:11 although, use "for" not "foreach", they're synonyms 12:53:14 using the floppy drive in my desktop made X crash and I get IO error on my SATA drive when I try to read from the floppy 12:53:19 that's ridiculous it's reproducible btw 12:53:28 ais523: yeah, it's abusing the implicit while(<>){code} :) 12:53:31 yep 12:53:36 ehird: probably not without parental permissionz 12:53:43 ais523, if you have any idea whatsoever might be going on there? 12:53:48 AnMaster: I don't 12:53:50 s/if/do/ 12:54:02 ais523: does say output a newline if the argument ends with one? 12:54:31 probably, but it's perl6 anyway 12:54:37 so the rest of the syntax there would be wrong 12:54:38 no it's perl 5.10 12:54:46 ah, it's been backported? 12:54:54 same time as the switch thing 12:55:11 $ perl -v 12:55:11 This is perl, v5.8.9 built for darwin-2level 12:55:11 fucking macports 12:55:21 ooh, you could use an implicit hash->array cast 12:55:23 ais523: could you test perl -e'say "fuck\n"' for me? 12:55:34 if you didn't mind the output format being line\ncount\n 12:55:35 or, well, any non-fuck string too 12:55:38 rather than count\tline\n 12:55:42 ais523: i do, that's why i didn't do it 12:55:57 ais523: could I do 12:55:57 String found where operator expected at -e line 1, near "say "test\n"" 12:55:59 (Do you need to predeclare say?) 12:56:01 like php's variable variables 12:56:03 ${$_}++ 12:56:08 looks like say isn't defined 12:56:14 ais523: use 5.10 12:56:17 I am 12:56:19 use 5.10; 12:56:21 i mean 12:56:22 ah 12:56:42 or rather 12:56:42 Perl v5.100.0 required (did you mean v5.10.0?)--this is only v5.10.0, stopped. 12:56:46 well, I didn't expect that 12:56:50 perl -M5.10.0 -e'...' 12:57:07 I get two newlines if I do -M5.01, though 12:57:21 darn 12:57:41 does ${'foo'} = x 12:57:45 set $foo to x? 12:57:53 yes 12:57:55 symbolic reference 12:57:56 and, is there an easy way to get all defined variables that aren't in perl? 12:58:01 although, use strict may get annoyed if you do that 12:58:03 as an array of names 12:58:09 ehird: not AFAIK 12:58:16 if there was: 12:58:20 ${$_}++}{print"${$_}\t$_"for ??? 12:58:24 there's probably a hard way, though 12:58:58 ugh, perldoc.perl.org is now ugly 13:00:33 ais523: any silly tasks to do in perl? i'm trying to sharpen my art of the horror 13:00:44 i'm trying to think of perl as a game. a ridiculous game. 13:01:06 try writing a brute-force Lights Out solver 13:01:21 I did almost that yesterday, to help solve an Enigma level 13:01:28 (someone else's level, that is) 13:01:39 brute-force? how? 13:01:46 isn't that super-mega-exponentially-hard? 13:02:16 wow, the Bible has a copyright statement 13:02:20 or rather, a license 13:02:22 "All scripture is given by inspiration of God, and is profitable for doctrine, for reproof, for correction, for instruction in righteousness: That the man of God may be perfect, throughly furnished unto all good works." 13:02:22 write a perl program that converts other perl programs into a human readable form 13:02:31 2 Timothy 3:16-17 13:03:04 can anyone link me to the source code of use English? 13:03:32 i'd just make it do an s// 13:03:33 voila 13:03:35 human readable! 13:04:38 ehird: for an nxn grid it'd take 2^(n*n) attempts 13:04:40 ais523: ooh, give me something mathematical, and i/we can golf perl vs j 13:04:52 oklofok: you mean 2^(n^2) :P 13:05:00 yes, i mean that too 13:05:01 moar 2s 13:05:27 i mean (2^n)^n 13:05:53 "i mean aaaaaaaaaaall sorts of things" 13:06:07 ais523, what is this lights out? 13:06:15 http://justfuckinggoogleit.com/ 13:06:18 AnMaster: a logic game 13:06:22 ais523, ah 13:06:33 ehird, I didn't ask you. I asked ais523 13:06:43 You asked it in a public forum. 13:07:14 ehird, That is no reason to give unhelpful answers. 13:07:20 bbl 13:07:33 It was not helpful; had you followed it, you would have reached an answer far richer than ais523's. 13:07:36 *it was not unhelpful 13:09:03 AnMaster: you have a universe U, and a set of subsets of U, called S, you are then given a problem instance I, which is a subset of U, and you need to find a subset Z of S such that when you take the multiset M given by the union of sets in Z, each element of I appears in M an odd number of times, and each element in U\I appears an even amount of times 13:09:18 you don't get that from google 13:09:37 your mom doesn't get that from google 13:09:44 haha, that's a good one 13:09:59 -!- poiuy_qwert has joined. 13:10:03 oklofok: i think your HIGHLY COMPLEX MATHEMATICS might go over AnMaster's head. 13:10:08 refers to the fact my mom doesn't watch porn 13:10:15 highly :P 13:10:31 ehird: http://cpansearch.perl.org/src/DAPM/perl-5.10.1/lib/English.pm 13:10:35 i need to train my incomprehensibility 13:10:40 sorry I didn't answer sooner 13:10:44 ais523: bah, too complex 13:11:19 I love the way it's copying symbol table references 13:13:23 so in lights out, basically we can just think of this as summing a bunch of vectors to another vector, which is basic linear algebra, assuming you know finite fields form vector spaces when you take, well, vectors of them 13:13:59 gah, evolution keeps crashing when I load it 13:14:02 it wasn't doing that earlier... 13:14:30 i guess that doesn't really solve the part where you want the least amount of presses 13:14:45 what's the complexity? 13:15:32 brute-forcing is 2^(n^2), presumably that's beatable 13:17:14 well finding a solution is clearly in P 13:17:22 the way i explained 13:17:31 * ehird wonders what the best way to geneerate a times table in j is 13:17:35 s/ / / 13:17:48 is there a P-time linear algebra algorithm that works even over modulo-N arithmetic? 13:18:25 ah, (i.10)*/i.10 13:18:45 s/geneer/gener/ 13:18:53 take all the sets in S, and think of them as length n*n vectors, then find a nice basis for the space of n*n vectors, and store which sets of S are used to get each vector in the basis 13:18:54 (1+i.9)*/1+i.10 if you don't want 0s 13:19:35 if you get a nice orthonormal basis, with 000...00100...000 vectors, it's trivial to find a solution 13:20:03 like you have 00110, just take the vectors 00100 and 00010, and sum the vectors of S used to get them 13:20:36 ais523: if you have a finite field F, F^n forms a vector space over F 13:20:56 (1+i.9)%/1+i.9 13:20:59 The division table! 13:21:14 if p is prime, then 0, .., p-1 form a finite field 13:21:21 in this case we have 0, 1 13:21:39 (i.10)+/i.10 wraps in a fun way 13:21:59 any "linear algebra algorithm" should work on them just as well as with real vectors or whatever you have 13:22:06 not that i know what a linear algebra algorithm is 13:23:29 ais523: in particular, gaussian elimination works directly in the case of binary arithmetic 13:24:55 ah, ok 13:25:13 for i = 1...n, you just take some vector that has 1 as its ith bit, and add it to all other vectors that have i as their ith bit 13:25:27 if no such vector exists, just skip that part 13:25:31 that index 13:26:39 oklofok: what's the j thingy for making a number into a string 13:26:51 sry, i don't know anything about j's strings 13:27:24 it's not like they're that important............................... 13:27:54 WELL YOU SHOULD :| 13:28:19 ah it's called row echelon form 13:28:58 now i kinda want to write a generic lights out solver :P 13:29:10 do it! 13:29:34 better still if you somehow make it TC 13:29:42 :P 13:30:17 is there 3d lights out 13:30:38 well mine is already much more general than nd 13:30:43 ehird, n-dimensional sounds even more fun 13:31:03 i'm just doing this for generic S \subset 2^U 13:31:24 oklofok, U being the universe set? 13:32:04 for say 3-dimensional, you'd have n^3 elements in U, then form S by taking the, well, whatever form you want your "explosion sizes" to be 13:32:11 err 13:32:13 *explosions 13:32:37 hm makes kind of sense. I think I understood some parts of it at least :) 13:32:42 U being the universe, or you could just think of it as the length of vectors, and give |U| 13:32:49 ehh /me tries to remember if j has an adverb meaning repeat argument 13:32:57 adv+v x → x v x 13:33:15 i suggest you study basic linear algebra, it's sort of ubiquitous stuff 13:33:49 oklofok, I do know *basic* linear algebra. Like how to reduce to reduced row echelon form and such. 13:34:04 well right, i guess i mean you should study general linear algebra :P 13:34:12 oklofok, ah 13:34:35 oklofok, I also know some set theory. What I'm missing out on here is the vector stuff. 13:35:07 well that is linear algebra too, matrices and vectors are close friends 13:36:08 oklofok, yeah I said basic. There is some module later on covering it iirc. 13:36:14 one thing "matrices actually are" is a kind of "implementation" of linear maps, that is, mappings between two vector spaces that preserve structure 13:36:25 forget linear algebra 13:36:32 quantumEd, why on earth? 13:36:54 it's just solving simultaneous equations of the form ax + by + cz = d 13:36:58 it's useful. For practical applications 13:37:05 ah 13:37:06 it's ~ 13:37:07 so why forget it 13:37:12 quantumEd, yes and? 13:37:15 yeah it's a theory of that 13:37:27 so */~i. — multiplication table 13:37:39 one of the theories everyone should understand 13:37:51 you don't need any linear algebra to solve these equations 13:38:00 ... 13:38:04 i'm gonna go now -> 13:38:57 quantumEd, well I guess there are/could be other ways. It still seems like an easy and useful way for solving large equation systems. 13:39:46 quantumEd: did you know a lot of modern coding theory also relies on linear algebra? while it's a theory of linear equations, it has applications outside them. 13:40:10 oklofok no 13:40:16 i mean linear algebra is what gives says if we have a linear code, we can find a basis for our code, and we have a unique dimension 13:40:38 and the orthogonal complement space of C is of dimension n-dim(C) 13:41:04 this is all stuff that doesn't have to be proven separately, because linear algebra gives us an understanding of general vector spaces 13:41:12 "no". 13:41:37 whoops, i guess i was wrong. 13:41:37 -> 13:41:49 when I said forget linear algebra I meant, for the duration of solving lights out 13:44:23 oh. then i agree in this case you could just think of it as solving equations. 13:44:41 yes so don't jump to conclusions to ridicule me please 13:44:46 i mean for getting solutions 13:45:05 err, and also seeing if they exist in practical situations 13:45:16 "You are such a fucking moron I am leaving rather than waste time listening to your bullshit" 13:46:09 quantumEd: you're way too sensitive 13:46:16 not everything's a war against you 13:46:17 grow up 13:46:17 yeah, i said that, then realized that was rude, and explained myself 13:46:32 but mostly i said that because i was leaving 13:46:57 have to do a thing 13:46:59 quantumEd: it really did sound like you were saying linear algebra is useless. 13:47:15 oklofok how much of a stupid dickhead do you think I am? seriously 13:47:31 "You are such a fucking moron I am leaving rather than waste time listening to your bullshit" is amusing with him previously saying he left because of me 13:47:41 "you are such a fucking dick I am leaving rather than waste time listening to your bullshit" 13:47:56 quantumEd: you could think it's not something people should learn as the first things in mathematics without being a stupid dickhead, imo 13:48:03 i would just loudly disagree, as i did. 13:48:54 well, w/e, again :P 13:48:55 -> 13:53:41 quantumEd, oklofok always had problems leaving when he had to. Don't take it personally 13:53:53 he usually shows up several times again before actually leaving for real 13:53:56 s/had/has/g 13:53:56 AnMaster I guess you missed what happened earlire 13:54:03 AnMaster: quantumEd has a persecution complex. 13:54:09 quantumEd, probably. I don't generally read scrollback 13:54:14 ehird, "persecution"? 13:54:21 rtfd(ictionary) 13:54:42 an irrational and obsessive feeling or fear that one is the object of collective hostility or ill-treatment on the part of others. 13:54:54 quoth whatever os x's dictionary is 13:55:13 ehird, 2. The feeling you easily get around ehird 13:55:15 right? 13:55:40 If you're prone to taking criticisms personally when they were not so, yes. 13:55:49 ehird, ... That was a joke dujh 13:55:50 duh* 13:55:55 I know. 13:56:03 didn't seem so. meh 13:56:23 i wonder if fortran has any cool ideas 13:56:34 ehird, define cool 13:56:44 interesting 13:56:57 well, okay, hard to define that precisely 13:57:11 indeed. 13:57:27 also I know next to nothing about fortran 13:57:41 i still find it hard to believe how short oberon-2's report is compared to r5rs... 13:57:42 been cooling for 50 years, should be practically freezing 13:58:01 oh yeah I remember one thing. at least gcc's fortran compiler stores multi-dimensional arrays in the opposite order of gcc's C compiler 13:58:13 as in a C array like int myarray[200][100]; 13:58:32 end of fortran knowledge 13:58:57 oerjan, "meh" 13:58:57 ary[x][y] = ary[(x*width)+y] is intuitive and obvious, I'd say 13:59:06 AnMaster: he was joking 13:59:10 ehird, yes 13:59:24 ehird, but I found the joke rather mediocre 13:59:58 ehird, not up to his usual punerific strength 14:00:01 ary[x][y][z] = ary[(((x*width)+y)*depth)+z] 14:00:05 wonder if that can be simplified 14:00:26 ehird, anyway the thing is gcc stores it in one order and gfortran in the opposite one 14:00:29 -!- adu has quit. 14:00:34 MATLAB matrices are also in column-major order in memory, at least usually. 14:00:39 iirc fortran was columns first, but gcc was row first 14:00:43 not sure 14:00:47 hmm 14:00:58 in int foo[42][34]; is sizeof foo == 42*sizeof int? 14:01:04 or is it 42*34*sizeof int 14:01:17 The latter. 14:01:25 darn 14:01:26 ehird, err how could the former one happen? 14:01:38 oh, you could do sizeof foo / sizeof foo[0] 14:01:44 -!- Gracenotes has quit ("Leaving"). 14:01:58 so: 14:02:19 -!- adu has joined. 14:04:04 hmm 14:04:19 i had 14:04:20 nested: A[X][Y] = A[(X*(sizeof A / sizeof A[0]))+Y] 14:04:21 | {A[X]:nested}[Y] = A[(X*(sizeof A / sizeof A[0]))+Y] 14:04:23 but in the latter one 14:04:30 in the sizeofs 14:04:36 it needs to know how nested it is previously 14:04:40 eh 14:04:44 just use the generic pointer rule :P 14:06:20 AnMaster: width, depth, ? 14:06:23 for 4-dimensions 14:06:24 any ideas? 14:06:25 ehird, sizeof is always bytes 14:06:34 AnMaster: yes, yes, it was just an example :P 14:06:36 ehird, hm? 14:06:43 hm whatt 14:06:57 for 4 dimensions? 14:06:57 you asked me something 14:06:57 I'm not sure what 14:06:59 yeah 14:07:01 width = 2d 14:07:03 depth = 3d 14:07:04 ? = 4d 14:07:04 well yes 14:07:12 does the name matter? 14:07:17 not really 14:07:19 i'll call it fourd 14:07:25 and the variables x,y,z,x4 14:07:31 ehird, better name: fnourd 14:07:40 ok, mathematica has found a simpler form for me 14:08:32 or rather, not it hasn't 14:08:39 but it has found one with less nesting! 14:08:57 a[x][y][z] = (depth*width*x) + (depth*y) + z 14:08:58 ehird, what is the current mathematica version 14:09:08 * AnMaster has decided to get it 14:09:17 a[x][y][z][x4] = (depth*fourd*width*x*x4) + (depth*fourd*x4*y) + (fourd*x4*z) 14:09:21 ofc that's kinda obvious 14:09:24 AnMaster: what; legally?! 14:09:31 i hope your name is moneybags 14:09:37 wait then you'd be able to look it up 14:10:00 ehird, lets not go into details 14:10:00 about legality 14:10:00 so clearly illegally 14:10:00 7.0.1 14:10:06 i have 7.0.0 14:10:24 suffice to say I'm always a law abiding person and this is a public place and freenode doesn't use ssl, and why trust freenode anwyay. 14:10:34 AnMaster: you'll need a key generator, and it'll only run on windows, just so you know... just in case... not that i'm implying anything... 14:10:54 ehird, I have MSDNAA and I have virtualbox. What else does one need? 14:10:59 a vm might be good... because they're not too trustable... this is for PUBLIC INFORMATION ONLY 14:11:05 well yes 14:11:14 if I did that I would rollback of course 14:11:19 not that I would ever do such a thing 14:11:51 if you're epileptic the demoscene light show included might be bad... JUST SAYING 14:12:04 there, I think that was relatively inconspicuous 14:12:05 cough 14:12:06 anything important new in 7.0.1 compared to 7.0.0? 14:12:07 just call me ford prefect 14:12:10 AnMaster: probably not. 14:12:20 sounds like a bugfix release 14:12:41 and mathematica is buggy enough that it hardly matters :D 14:12:58 ehird, I have of course not seen such demoscene light shows before, but I do happen to know exactly what you mean. Very strange this knowledge just dumped straight into my brain somehow. 14:13:11 Clearly all minds are the same. 14:13:19 ehird, I read that as "fnord prefect" first XD 14:13:20 You have the ability to break down the barriers between them. 14:13:35 AnMaster: also, you can't edit mathematica notebooks (programs) outside of mathematica, just so you kknow 14:13:37 *know 14:13:43 they're rich text 14:13:43 ehird, okay 14:13:52 well they're not really programs per se 14:14:08 they're definitions, lines of code that haven't been rune, lines of code with their output (which can be interactive) below, and formatted text to explain it 14:14:30 oh, and it automatically indents, add spacing and wraps lines for you. working against it is painful, I suggest never typing whitespace 14:14:39 But you can view them with that viewer thing that everyone of course has installed. 14:14:50 finally, the default 3d output is fugly because it doesn't antialiase 14:15:00 in the options, it's appearance→graphics→drag to the highest setting. barely any performance hit. 14:15:01 you're welcome 14:15:44 ehird, purely hypothetical: to what degree should one trust the actual pirated program in question if the keygen can't be trusted? 14:16:03 AnMaster: Entirely. 14:16:09 Keygens aren't cracks, they don't hack the program. 14:16:24 They just reverse-engineered the key mechanism, and made a program that generates valid ones. 14:16:30 ehird, even if the keygen is included in the same purely hypothetical torrent? 14:16:42 AnMaster: It was not compiled by the keygen authors. 14:16:52 The warez community... isn't too fond of bittorrent. 14:16:55 ehird, says "EDGE"? hm 14:17:00 ehird, why not? 14:17:03 Neither is the piracy community. 14:17:12 AnMaster: tradition, security, privacy. 14:17:16 exclusivity 14:17:39 ehird, well, what do you suggest, a 600 part yencoded usenet thread? 14:17:39 XD 14:17:49 or something around that. Probably more parts 14:18:11 They use protected FTP servers. 14:18:16 heh 14:18:34 To get in to one, you have to have first made a certain number of releases yourself and stuff. 14:18:54 There's a tier of most-exclusive-earliest-releases-fastest-connections down to the public sites. 14:19:19 There're bots that distribute it all downwards. There's a race between scene groups to complete a distribution of a new release before anyone else, and the group that manages it wins that release. 14:19:20 ehird, so then who uses torrents? 14:19:24 This is all vague and I've probably made some errors. 14:19:30 use* 14:19:41 AnMaster: FTP might filter down to Usenet or whatever, or straight from the public site. 14:20:01 Then it just circulates around P2P and shit, and someone makes a torrent at some point. 14:20:14 mhm 14:20:27 ehird, what sort of P2P? 14:20:37 non-torrent p2p I assume 14:20:37 like gnutella and stuff, I guess 14:20:41 ah 14:20:52 i'm fuzzy as to the path from scene-approved to torrents 14:21:27 oh, maybe ed2k is involved somewhere 14:21:33 ehird, of course, since all this is just hypothetical knowledge or something 14:21:36 ed2k? 14:21:40 http://en.wikipedia.org/wiki/EDonkey_network 14:21:54 the ed2k://long hash links 14:22:07 not that i've ever seen one. 14:22:13 btw mathematica uses qt for gui 14:22:29 you can technically use at the command line, but most of mathematica's fun is from the interactive/graphical stuff 14:22:37 I haven't seen such a link either. Not even hypothetically 14:23:33 ehird, does it include *.deb? 14:23:43 It's a binary, I believe. 14:23:45 Plus supporting files. 14:23:54 Or an installer. 14:23:57 http://reference.wolfram.com/mathematica/tutorial/InstallingMathematicaOnUnixAndLinux.html 14:24:00 ehird, I mean, is it a installer.sh thing that spews all over the file system or not 14:24:09 It's an installer. 14:24:15 oh well 14:24:15 5. The installer prompts you to specify the directory in which Mathematica should be installed. The default location is /usr/local/Wolfram/Mathematica/7.0. Press Enter to accept the default, or type in a new location and then press Enter. 14:24:19 AnMaster: But no file system spew. 14:24:25 I'd suggest /opt/mathematica. 14:24:30 Or if you have no /opt, /usr/lib/mathematica. 14:24:38 7. You are asked for the location in which to copy the executable scripts. You should choose a directory that is present on each user's PATH. The scripts are also installed in the Executables subdirectory of the Mathematica installation directory. Type a location or accept the default and press Enter. 14:24:40 ehird, yeah and do it as normal user 14:24:44 I'd choose $prefix/bin. 14:25:03 AnMaster: That'll fuck up the ownership of the resulting files. 14:25:04 as in create directory and chown it to said user, then install mathematica as it 14:25:05 I highly doubt Wolfram have created a malicious piece of software. 14:25:35 It only touches the Mathematica prefix and the executable prefix, it seems. 14:25:37 ehird, 1) binary installer 2) hypothetical non-trusted source 14:25:42 AnMaster: it says it requires root. 14:25:46 ehird, also you said it was buggy 14:25:48 and binary? 14:25:50 it's shell, I believe 14:25:53 AnMaster: Mathematica itseelf 14:25:53 well okay 14:25:54 *itself 14:25:58 but that's mostly crashes and stuff 14:26:09 algorithmic errors that is 14:26:13 that make it crash 14:26:21 heh 14:26:28 ehird, why so badly coded one wonders 14:26:28 i've never crashed mathematica 14:26:30 ais523 has though 14:26:40 but ais523 is quite pathological 14:26:53 AnMaster: the main thing you'll notice with mathematica is that if you compose a few primitives, it's really fast 14:26:59 and then if you write some code that isn't glue, it takes years 14:27:10 it's bipolar performance 14:27:14 also this is hypothetically strange: getting higher download speed than what your connection limit is. 14:27:18 manic-depressive language 14:27:30 AnMaster: what connection speed, what download speed? 14:27:37 answer with proper units, please 14:27:48 i.e. b=bit, B=byte, K=1000, Ki=1024 14:27:53 otherwise I won't be able to see what you got wrong :-D 14:28:00 your connection is 9 Mb, right? 14:28:03 9 megabits = 9,000 bits 14:28:06 ehird, "8 megabit down" (ISP's wording), 2 megabit (1024 based) actual download 14:28:06 erm 14:28:07 8 14:28:15 AnMaster: 1024 x bit? 14:28:19 surely you mean 2 megabyte 14:28:26 megabit is never 1024 based 14:28:28 it's always 1000 14:28:28 ehird, yeah byte 14:28:29 typo 14:28:45 so, to translate into the formal units required for actually diagnosing the problem 14:28:56 anyway I should get something around 1000 kilobyte per second max 14:28:56 ISP says 8 Mb/s = 8 megabits per second 14:29:01 I'm getting around twice 14:29:21 in practise I tend to get 800 kbyte/s (unknown if it is 1000 or 1024) most time 14:29:24 You tend to get 2 MiB/s = 16 Mb/s 14:29:25 just this time... 14:29:29 = 16 megabits per second 14:29:29 ehird, indeed 14:29:31 ...wait, what? 14:29:35 i think google fucked up that conversion 14:29:42 ehird, *8 14:29:53 ehird, you went from bits to byte 14:29:53 eh, I can't trust google to have the correct units 14:29:55 I think it did 14:30:08 ehird, the maths is easy, just do it yourself 14:30:10 I'm going to write a program that actually converts them properly 14:30:18 AnMaster: not when you get to Mi 14:30:35 ehird, just unravel it down to bytes/bits 14:30:37 * ehird tries writing it in perl, for no reason 14:30:45 ehird, interesting choice 14:31:19 kilobytes to petabytes should do methinks 14:31:28 ehird, decabytes! 14:31:38 (just because) 14:33:41 10.4 MB/s over lan? 14:33:46 that's poor 14:34:00 even for ssh 14:34:12 since it is gbit ethernet 14:34:18 oh wait it isn't 14:34:23 only part of the way 14:34:24 duh 14:35:51 wat, perl's foreach doesn't let you get the indices too? 14:35:55 must be a way 14:36:48 LOL, http://perldoc.perl.org/functions/ shows the thiing for index 14:36:49 guess why 14:37:07 -!- Slereah_ has joined. 14:37:21 * AnMaster wonders why on earth /opt/plan9 is owned by the non-existent user 1002 14:37:37 lol 14:39:30 argh 14:39:37 automating -i is hard because it's just "nearest power" 14:40:01 or is it, always? 14:40:02 i'm not sure 14:41:11 -!- oerjan has quit ("Good night"). 14:43:06 heh 14:43:13 i'm case-insensitive in the first letter of the prefix, but not the rest 14:43:23 kiB = KiB 14:43:25 but 14:43:29 kib != kiB 14:43:45 ehird, is KIB == kiB? 14:43:51 I is a syntax error. 14:43:55 ehird, oh 14:44:00 it's just that the thing for kibibytes, officially, is kiB 14:44:02 logically it's KiB 14:44:03 but yeah 14:45:37 well 14:45:40 I guess uppercase I will work 14:45:42 just for my laziness 14:47:39 -!- Slereah has quit (Connection timed out). 14:49:27 ugh 14:49:30 I need to use bignums 14:49:33 because i work in bits 14:49:41 since the smallest unit is b = 1 bit 14:49:56 and 1 petabyte is a loooot of bits 14:50:08 oh well, easy enough 14:50:10 just 14:50:11 use bignum; 14:50:14 and no other code changes required 14:50:23 (AnMaster will hate that, it's magic) 14:51:15 ehird, I'm indifferent to this information 14:51:24 seriously? 14:51:25 why? Becuase I already hate perl. 14:51:32 so this changes nothing 14:51:57 hate is a strong word 14:54:07 ehird, the hypothetical keygen seems to have instructions in, uh, spanish? 14:54:16 just run the exe 14:54:28 and put AnMaster or your real name in every field it wants (prolly name, organisation) 14:54:31 hit the button 14:54:40 it should give a serial key and some other ID thing 14:54:41 ehird, why my real name or such 14:54:46 I use made up ones normally 14:54:49 AnMaster: because it's what mathematica will put as your license information 14:54:57 no need for such paranoia, it's an in-program key checker 14:54:57 ehird, mhm 14:55:15 yeah my real name is N/A 14:55:17 very nice name 14:55:33 Norlander/Arvid 14:55:34 Indeed it is. 14:57:05 ehird, hah 14:57:36 well then 14:57:55 fun, own category in the program menu 14:58:01 you said it didn't clobber stuff iirc? 14:58:03 ehird, ^ 14:58:47 Top causes for wakeups: 14:58:47 32,7% (9725,4) MathKernel : schedule_hrtimeout_range (hrtimer_wakeup) 14:58:47 32,7% (9712,2) Mathematica : schedule_hrtimeout_range (hrtimer_wakeup) 14:58:47 32,5% (9655,4) java : schedule_hrtimeout_range (hrtimer_wakeup) 14:58:49 wow 14:58:51 ehird, ^ 14:59:10 Heh. 14:59:20 Didn't know it clobbered the menus. 14:59:23 Sorry. 14:59:24 ehird, it causes noise from my laptop 14:59:26 No big shakes, it's just one file. 14:59:30 AnMaster: Even idling? 14:59:31 those wakeups 14:59:33 ehird, yes 14:59:44 Open the options 14:59:46 high pitched C4 mwait/C0 switches 14:59:58 ehird, then? 15:00:06 Look at the Parallel tab. 15:00:12 found it 15:00:13 then what 15:00:15 should be launching kernels when needed 15:00:19 automatic (number of cores) 15:00:25 set to that 15:00:28 is run kernels at a lower process priority set? 15:00:31 if not, set it 15:00:48 also set 15:00:55 still this noise is annoying. argh 15:01:35 shrug 15:01:39 you'll have to deal with it 15:02:13 ehird, this is "worse than CRT" noise. 15:02:23 Wakeups-from-idle per second : 10379,7 interval: 10,0s 15:02:23 btw 15:02:27 that's quite a lot 15:02:34 Deal with it. 15:02:34 usual is around 20-40 15:02:52 Or try setting there to be only one kernel. 15:03:03 And set it to launch parallel kernels at startup, then restart. 15:04:14 doesn't help either 15:04:16 hm 15:05:37 ehird, why java though hm 15:05:50 Some part of it is Java. 15:06:08 I would reset those settings you changed, btw. 15:06:10 icedtea is buggy IME. Maybe that is why 15:06:20 Try the open-source Sun JDK. 15:06:47 Mathematica has received the signal: SIGSEGV and has exited. 15:06:51 I'm not sure what I did 15:07:01 launch it and quit it I think 15:07:31 -!- coppro has joined. 15:07:45 -!- poiuy_qwert has quit ("Leaving"). 15:08:32 AnMaster: Even more magic than "use bignum" 15:08:33 use integer; 15:08:37 Now all divisions are integer division. 15:08:41 Of course, this is usually used in a block: 15:08:42 { 15:08:43 mhm 15:08:44 use integer; 15:08:46 calculations; 15:08:46 } 15:09:05 Hmm, in fact, I think it has to be in a block. 15:09:21 Or, no. 15:10:24 No, program, 8 KiB = 64 Kb, not 65.536. 15:10:31 -!- Pthing has joined. 15:10:37 ehird, is there a way to tell apt-get that "no even if this is a recommends, I don't want this package" 15:10:45 Or, no, wait, my Perl program is right. 15:10:46 "error out rather than try to install this" 15:10:56 AnMaster: There's a --dont-install-recommends-fuck-you 15:11:15 ah 15:11:37 still I was considering a specific one I want to ban forever to the deepest circles of hell 15:11:59 -!- MigoMipo has quit (Read error: 110 (Connection timed out)). 15:12:37 but --no-install-recommends works I guess 15:13:31 note that the "recommends" means "if you want that, you almost certainly want this too unless you're doing something really weird" 15:14:26 ais523, well I disagree in this case 15:14:44 what case is it? 15:14:58 avahi-daemon and sun-java6-jdk (indirect dep) 15:15:05 I don't want the former 15:15:19 ais523, how do you switch implementation for alternatives? 15:15:36 say, I want to switch from openjdk to sun's jdk 15:15:48 there's a command for it, but I can never remember what it is 15:15:50 let me check 15:16:06 thanks 15:16:09 ah, sudo update-alternatives 15:16:22 it's probably best to read the man page before using it 15:16:54 "sudo update-alternatives --config java" is the normal method of using it 15:16:57 tldr but I have to get something sugar rich, should be able to handle it then 15:17:19 where you write the name of the binary in question, which is probably going to be "java" here 15:17:47 and it didn't help 15:17:51 (with the original issue) 15:17:53 ehird, ^ 15:21:04 back 15:21:26 openjdk is sun's 15:21:28 ehird, ah there seems to be many reports on this 15:21:33 unless you want the closed one 15:21:34 googling on mathematica 7 linux powertop 15:22:06 ehird, well the openjdk was the buggy one, that was causing grief in another context recently 15:22:11 icedtea was as bad 15:22:17 the closed one being less buggy 15:22:25 bugs have been filed 15:22:41 (not by me, but by the author of that java application) 15:23:25 ehird, http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/861d1ad03b19d949 15:23:48 yey bugs 15:24:17 ehird, same behaviour as I'm seeing 15:24:41 OpenJDK had some really strange bugs in the AWT/Swing image-processing parts; though those have long since been fixed. (It was just that only some of the university boxen were new enough to have fixed versions.) 15:25:09 fizzie, hm the issue was in awt stuff iirc 15:25:12 AnMaster: Try the 32-bit version? 15:25:14 or maybe swing 15:25:19 ehird, same cd? 15:25:24 Dunno. 15:25:26 Probably not. 15:25:26 -!- ais523 has quit (Remote closed the connection). 15:25:32 Wolfram are anal with their licenses. 15:25:48 ah yes same cd 15:26:27 ehird, well, I need this thing called sleep. So yeah will try in 32-bit chroot tomorrow 15:26:46 Just press the sleep button! 15:27:27 $ ./sconvert 4PiB Pb 15:27:27 26.8435456 Pb 15:27:42 4 pebibytes is ~26.84 petabits. 15:27:45 The more you know! 15:27:52 -!- fungot has joined. 15:27:57 wb fungot 15:27:58 ehird: along with nick, for a marker, not an expression?)) fnord 15:28:00 I didn't know you'd left 15:28:03 ^style 15:28:03 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 15:28:28 -!- jpc has joined. 15:28:42 Really should put fungot under some auto-restart service supervisor one of these days. 15:28:42 fizzie: or the specification has changed, maybe it will be 15:29:03 $ ./sconvert 1024PiB b 15:29:04 68719476736 b 15:29:04 I, uh, no. 15:29:24 ehird, wrong indeed 15:29:51 I wonder if 15:29:51 [23:27] ehird: $ ./sconvert 4PiB Pb 15:29:52 [23:27] ehird: 26.8435456 Pb 15:29:52 was incorrect too. 15:30:02 Not sure when he left either. The wlan box did reset when I added an entry to the MAC filter list, but that shouldn't affect him. 15:30:10 ehird, does it work for MiB to MB? 15:30:27 Mebibytes to megabytes, or to megabits? 15:30:40 ehird, the former 15:30:40 I said that 15:30:57 $ ./sconvert 1024MiB MB 15:30:57 838.8608 MB 15:31:02 AnMaster: you're known to use inconsistent units 15:31:06 nnno 15:31:09 that's wrong 15:31:10 I think the above is wrong, yeah. 15:31:12 very wrong 15:31:29 Oh, OH 15:31:34 My prefixes are— hm, no. 15:31:35 Or... 15:31:36 Hm. 15:31:36 ehird, you had it backwards right? 15:31:48 print expr_value($ARGV[0])/unit_value($ARGV[1]), " $ARGV[1]\n"; 15:31:55 try 1 MiB to MB 15:32:07 unit_value('kB') → 8000 15:32:16 expr_value('3 kb') → 3000 15:32:17 Hopefully. 15:32:24 err 15:32:26 $ ./sconvert 1MiB MB 15:32:27 0.8192 MB 15:32:29 ehird, try simple ones 15:32:29 That looks right. 15:32:45 AnMaster: Remember that the intermediate values are bits. 15:32:51 Not bytes. 15:32:56 ehird, well try it for just bits then 15:33:13 $ ./sconvert 1Kib Kb 15:33:13 1.024 Kb 15:33:22 seems about right? 15:33:27 Yep, that's right. 15:33:36 $ ./sconvert 1KiB KB 15:33:37 1.024 KB 15:33:38 That too. 15:33:44 $ ./sconvert 1KiB Kb 15:33:44 8.192 Kb 15:33:44 And that. 15:33:46 ehird, but the MiB -> MB one was wrong 15:33:51 I think 15:34:04 not 100% sure but 15:34:07 Well, let's see. 15:34:14 too tired to work it out 15:34:45 1 MiB = 1.048576 MB, I believe. 15:34:55 $ ./sconvert 1MiB MB 15:34:56 0.8192 MB 15:34:56 So, I think that's wr— oh, perhaps— 15:35:16 it should be more than one MB at least 15:35:21 I'm pretty sure about that 15:35:32 WTF? Hm. 15:35:53 or should it? 15:36:01 I'm confused now. 15:36:11 print unit_value('MiB')/8,"\n"; 15:36:11 → 8192 15:36:12 an 80 GB disk fits around 74 GiB iirc 15:36:22 Division by 8 should convert bits to bytes. 15:36:27 So... 15:36:38 my @ids = split //, 'kmgtp'; 15:36:39 foreach (0..4) { 15:36:39 my $pow10 = 10**($_+3); 15:36:39 $prefixes{$ids[$_]} = $pow10; 15:36:39 $prefixes{$ids[$_].'i'} = 2**int((log($pow10)/log(2))+.5); 15:36:40 } 15:36:44 ehird, try 80 GB to GiB 15:36:48 I think my error is in the i line. 15:36:53 because I remember what that should be 15:37:02 It's calculating the nearest power of two. Maybe that's incorrect. 15:37:07 roghly 15:37:35 My prefixes are definitely wrong. 15:38:01 ehird, known test case from segate disk: 80 GB is around 74 GiB 15:38:26 61.03515625 here. My prefixes hash must be in error; let me dump it. 15:38:42 yeah, 61 is nowhere near 74 15:39:00 print "$_\t$prefixes{$_}\n" foreach (keys %prefixes); 15:39:11 You want fixed powers of two, not upwards-rounded ones. 15:39:31 http://pastie.org/729686.txt?key=dqx6u1u7v0u9wipsfhg 15:39:35 fizzie: Unverbosify? 15:39:58 2^10 for ki, 2^20 for Mi and so on. 15:40:11 "Today I finally tried an 2.6.27 kernel and the problem disappeared. So it seems that Mathematica has a problem with kernels newer than 2.6.27 and that this problem is not Ubuntu specific." 15:40:12 ehird, ^ 15:40:45 fizzie: Oh, so it's just 2^(i*10)? 15:41:04 Well. 15:41:05 For the right i, yes. 15:41:07 (i+1)*10 15:41:15 Right. 15:41:18 fizzie: k:0,m:1,g:2,t:3,p:4 15:41:26 wow, I'm stupid :) 15:41:57 $ ./sconvert 80GB GiB 15:41:57 0.007450580596923828125 GiB 15:41:57 What. 15:42:03 fizzie: I suspect you of incorrectosity! 15:42:18 my @ids = split //, 'kmgtp'; 15:42:18 foreach (0..4) { 15:42:18 $prefixes{$ids[$_]} = 10**($_+3); 15:42:18 $prefixes{$ids[$_].'i'} = 2**(($_+1)*10); 15:42:19 } 15:42:20 okay that's some false marketing if I ever seen it 15:42:22 ;P 15:42:27 AnMaster: :-D 15:42:45 (but srsly, it's not a drive company conspiracy, people who say that are dumb) 15:42:50 That's just a factor-of-1000 error if I saw right. 15:43:00 ehird, but jokishly: I know that 15:43:10 just checking 15:43:14 loads of people really think it's false marketing 15:43:24 ehird, of course the real conspiracy is SI using 1000 not 1024 15:43:25 to begin with 15:43:27 fizzie: Indeed, but I don't see why in my code. 15:43:39 AnMaster: IMPERIAL SYSTEM UBER ALLES 15:43:44 why is it weird that SI prefixes do not correspond to SI values? 15:43:44 PINTS AND YARDS AND MILES 15:43:46 DECIMAL MUST DIE 15:43:49 *do correspond 15:44:09 k = 1000x... deciding it ought to be 1024x just because it's more convenient is rather dumb 15:44:17 In the US, both the time and the measurements are non-decimal, but they use them both in decimal. 15:44:21 It's crazy! 15:44:23 coppro, *woosh* 15:44:30 coppro: Indeed. Even in a REAL binary system, 1024 wouldn't be special. 15:44:33 oh is that how it feels to say it 15:44:36 We only use 1024 because it's close to 1000. 15:44:38 AnMaster: It's whoosh. 15:44:39 right 15:44:44 ehird, ah 15:44:48 woosh is a girly wind. WHOOSH is MEATY! 15:44:56 ehird, whaash? 15:45:04 rather wet I fear 15:45:06 Wharsh yarsherlf. 15:45:17 ehird, what dialect? 15:45:18 also, it's a lowercase k; people seem to get this wrong :/ 15:45:22 I don't know either; do dump that %prefixes hash, since the init should be right now. 15:46:05 coppro: Yeah, but know the crazy thing? 15:46:10 The standard for the -i suffixes says that it's Ki-. 15:46:12 Even though it's k-. 15:46:19 THAT IS INCONSISTENT AND STUPID ;_; 15:46:19 hmm... I'll just start measuring everything in dab, just to confuse people. 15:46:55 or mb 15:46:55 dab? 15:46:55 Oh. You want 10**(($_+1)*3) there too. 15:46:55 ehird: decabits 15:46:55 mb. That's less than one bit. 15:46:56 HOW DOES THAT EVEN— 15:47:01 TURKEY BOMB 15:47:01 oh there are patches from wolfram it seems 15:47:02 yay 15:47:06 ehird: to confuse people who think I'm talking about Mb 15:47:09 or even MB 15:47:16 They think you'll mean MiB, probably. 15:47:22 http://catseye.tc/projects/turkeyb/doc/turkeyb.html 15:47:27 one GB == 8,000,000,000,000 mb 15:47:27 "Two thirds of a bit plus half a trit." 15:47:38 I am going to start measuring in BI_ITs. 15:47:39 Now it's 10**3, 10**4, ... and so on, which is not very right. 15:48:07 fizzie: Err, are you sure? 15:48:10 Wait. 15:48:12 yes you are. 15:48:45 $ ./sconvert 80GB GiB 15:48:45 74.50580596923828125 GiB 15:48:45 I like the jut of your KiB! 15:48:51 *rimshot* 15:49:16 It should be legal to combine units. 15:49:20 G = KK! 15:49:25 umm 15:49:26 no 15:49:30 YES :| 15:49:38 G = MK or KM or KKK 15:49:51 KKK! 15:49:51 coppro: Oh, right, I meant M. 15:49:56 *Mk or kM or kkk 15:50:20 hmm... other fun things to measure in: YB 15:50:24 lol 15:50:31 OOO 15:50:37 Yotta comes after peta, right? 15:50:46 I should probably make my calculator anal so that you have to use the correct capitalisation. 15:50:51 after, meaning smaller? 15:50:56 I just need to make sure k's binary form becomes Ki. 15:51:06 coppro: although, do you think I should accept ki too? Because Ki is really fucking stupid. 15:51:20 lol 15:51:31 i think prefixes are stupid 15:51:33 "Double prefixes such as those formerly used in micromicrofarads (picofarads), hectokilometres (100 kilometres), and millimicrons or micromillimetres (both nanometres) were also dropped with the introduction of the SI." 15:51:34 ehird: Ki makes sense in that it's used for consistency with other 'i' forms; I wouldn't really care either way 15:51:45 why don't people just write 1000000000000000? 15:51:53 ah, it's kMGTPEZY 15:51:59 adu: obvious ereasons. 15:52:01 yep 15:52:10 k is the highest lowercase prefix 15:52:18 The "micromicrofarad" one is a link too. 15:52:22 coppro: but k makes sense with consistency for... most other >0 prefixes :-) 15:52:30 they should just have made all prefixes >1x capital 15:52:36 that would avoid "da" as well 15:52:39 i'll make it support both ki and Ki 15:52:45 the first one is rational and the second one is standard 15:52:51 make it complain if you enter KB or Kb 15:52:51 ehird: and kI 15:53:00 coppro: yes 15:53:04 ehird: for the stupids 15:53:18 adu: no. 15:54:08 agree with ehird 15:54:18 "A micro-microfarad (μμF) that can be found in older texts is the equivalent of a picofarad." (That probably has a broken mu sign, haven't fixed the locale just right.) 15:54:37 also, if it sees "iB", it should complain that Hungarion notation sucks 15:54:53 Okay, program made anal. 15:54:58 coppro: wat? 15:55:11 also, it's hungarian 15:55:16 yeah, typo 15:55:22 $ ./sconvert 1KiB kB 15:55:22 1.024 kB 15:55:34 $ ./sconvert 1KiB KB 15:55:34 inf KB 15:55:40 lol 15:55:46 I should probably handle that 15:55:54 did you mean μμF? 15:56:01 you should make it do other units two :D 15:56:10 or µµF? 15:56:39 coppro: But it's mainly for byte/bit, binary/decimal confusion. 15:56:58 curse you, Unix 15:57:04 also, curse my atrocious word choice there 15:57:07 that should have been "too" 15:57:09 Unix? Why? 15:57:15 -!- kar8nga has joined. 15:57:30 coppro: units(1) is there for the rest 15:57:58 -!- kar8nga has quit (Remote closed the connection). 15:58:12 "A micro-microfarad (μμF) that can be found in older texts is the equivalent of a picofarad." (That probably has a broken mu sign, haven't fixed the locale just right.) 15:58:16 encoding failure? 15:58:24 you meant µ 15:58:25 I guess 15:58:31 µµ maybe 15:58:32 Ůŋıçøðë Řōχ 15:58:42 indeed 15:58:53 $ echo "3$(units kg grams | tail -1)" | bc 15:58:54 3000 15:59:08 It should be pretty clear from the () part what was meant. 15:59:26 Sleepity now, night. 15:59:45 Use of uninitialized value in multiplication (*) at ./sconvert line 38. 15:59:46 Use of uninitialized value in split at ./sconvert line 27. 15:59:46 Use of uninitialized value in hash element at ./sconvert line 28. 15:59:54 PEEEEEEEEERL :| 16:00:30 ehird, use strict; use warnings; use whatever-the-thing-that-makes-you-have-to-pass-stuff-through-a-regex-to-make-it-trusted;? 16:00:43 Nothing to do with that. 16:00:51 Trivial bug, now fixed. 16:01:24 meh 16:01:26 Eh, now it says bad input for everything :-D 16:01:39 ehird, you should have used python instead 16:01:43 Nah. 16:01:47 AnMaster: tainted mode? 16:01:47 I'm going to code this in C out of curiosity, see how much bigger it is. 16:01:49 Oh wait, bignums. 16:01:52 coppro, possibly 16:01:53 gmp. 16:01:54 Shiver. 16:01:56 Uh. 16:01:59 ugh 16:02:00 ehird, why not :D 16:02:06 Maybe I'll just use longs for the C version. :P 16:02:13 ehird, long long 16:02:16 Not that it'll be able to handle yottabytes, but. 16:02:17 AnMaster: No. 16:02:23 ehird: why not? 16:02:34 ehird, why not? you get 32 bits on 32-bit x86 then 16:03:48 ehird, or use gmp 16:03:56 You get 32-bits with long too... 16:04:04 ehird, eh? 16:04:08 that's what I said 16:04:34 32-bit x86 sizeof: int=4, long=4, long long=8 16:04:39 64-bit x86 sizeof: int=4, long=8, long long=8 16:04:42 ehird, ^ 16:04:58 So? 16:05:01 or use __int128_t if __GNUC__ 16:05:02 I don't care. 16:05:02 XD 16:05:12 or was it _int128_t? 16:05:16 well something like that 16:05:33 ehird, still why not long long? 16:06:02 Because long is more widely supported and grokkable. 16:06:02 long long long obv 16:06:05 the only decent error message in all of GCC 16:06:13 coppro, oh? 16:06:24 ehird, stdint.h: int64_t? 16:06:28 "Error: 'long long long' is too long for GCC" 16:06:33 coppro, :D 16:07:19 I am now of the opinion that C compilers should offer a bigint type. 16:08:07 ehird, heh 16:08:36 I don't think the standard allows that :/ 16:08:55 coppro, oh? as a pointer type surely? 16:09:18 well, not as a simple type obviously 16:09:21 AnMaster: ah, of course, but then all the regular operations would need functions :/ 16:09:29 long 16:09:29 prefixes[sizeof PREFIX_NAMES][2]; 16:09:33 coppro, or would they? 16:09:40 prefixes['M']['i'] 16:09:43 prefixes['M']['\0'] 16:09:44 Evil? Yes. 16:09:47 Cool? Yes. 16:09:52 AnMaster: I suppose an implementation could make a type implemented internally as a pointer 16:10:05 Oh, it needs to be that sizeof + 1. 16:10:08 For Ki. 16:10:35 but the amount of work that would require is probably not worth it 16:13:21 Okay, I've written prefix_value and unit_value in C. 16:13:27 Pretty good so far. 16:14:52 I want to use unsigned long, but I need to use -1 as an error code. 16:14:59 Fuck you, C. Fuck you and your lack of convenient error handling. 16:16:05 Actually, I'd say that lack of convenient error handling is C's #1 flaw. 16:16:19 If it just had a convenient tuple type ... it's just the same as a struct... 16:17:02 (T1, T2+) is a type the same as struct {T1 _1; T2 _2; ...}. If you write "(a, b+) = tuple;", it extracts the values. If you use _ as a name, the value is discarded. 16:17:04 End of. 16:17:11 Voila, now your erroring functions look like: 16:17:28 (long, int) 16:17:29 might_fail(void) 16:17:32 And you use them like: 16:17:39 (foolhardy, _) = might_fail(); 16:17:39 or 16:17:43 (safe, err) = might_fail(); 16:17:48 Is that really so difficult?! 16:18:40 ehird: it looks convenient, so no 16:18:44 err 16:18:46 yes 16:18:51 :-D 16:19:09 You could do it a bit with cpp, I think. 16:19:26 At least, tuples. Not triples and beyond. 16:19:31 Without defining a separate macro. 16:19:39 Well, and with gcc's typeof. 16:20:30 #define tuple(x, y) ((struct{typeof(x) a; typeof(y) b;}){(x),(y)}) 16:21:25 extract requires a temporary variable, though. 16:22:19 -!- augur has quit (Read error: 113 (No route to host)). 16:25:23 Has anyone worked on an implementation of TURKEY BOMB apart from ais523? Didn't think so. 16:25:59 Apparently ais523 came up with a turing-complete interpretation of the spec. 16:27:06 O_o 16:27:19 Why O_o? 16:27:25 -!- adu has quit. 16:27:33 http://catseye.tc/projects/turkeyb/doc/turkeyb.html is what I'm referring to. 16:27:42 [[AMICED 16:27:42 A conceptual quantum state of information. 16:27:42 Negative six sevenths of a decimal digit.]] 16:27:44 is a tricky one 16:27:50 ais had a NEGATIVE_AMICED type instead 16:27:55 and negated all operations on it 16:28:28 PUDDING is also a tricky one, I'd do void *PUDDING = 0; 16:28:32 as the size should be infinite 16:28:38 and all of the memory is close to infinite as it gets 16:28:45 as far as an unknowable value goes, just don't let the program at it 16:29:11 Oh, and HYBRID OBTAINED BY COMBINING without WITH GUSTO has to be the average of the sizes of the two types. 16:29:22 Good luck figuring out which fields to include. 16:29:50 TURKEY BOMB itself should just be a pointer to TURKEY BOMB. 16:30:24 If you want to be ultra-spec-compliant: 16:31:04 struct TURKEY_BOMB { 16:31:04 struct TURKEY_BOMB *referent; 16:31:04 } TURKEY_BOMB; 16:31:04 then 16:31:05 TURKEY_BOMB.referent = &TURKEY_BOMB; 16:31:52 Once you've got all the types, you have to infer the language itself from the paradigm and the operators. 16:32:03 And, well, try and figure out things like: 16:32:05 [[BI_IT BI_IT ? BI_IT BI_IT ? BI_IT BI_IT 16:32:05 3-argument trit operation; unfortunately the Ancient Texts seem unclear on what it actually does. (The closest English translation appears to be "take these trits three and meditate soundly upon them.")]] 16:32:47 [[Attempts to deduce the existance of a HUMIDOR in the given PUDDING.]] 16:32:48 Considering that PUDDING has an unknowable value... but if we assume it's all of memory, it just works out whether any HUMIDORs exist. 16:32:54 -!- puzzlet_ has joined. 16:33:05 [[ALL BUT EXPR 16:33:05 Returns a PUDDING indicating everything but EXPR.]] 16:33:05 Just keep a list of things not included in PUDDING. 16:33:22 [[WHEREFORE ART EXPR 16:33:23 Returns a PUDDING indicating the entire metaphysical nature of EXPR.]] 16:33:23 Perhaps a pointer to the internal representation of the value. 16:33:36 [[GARNISH PUDDING 16:33:37 Convolutes the PUDDING with recent context drawn from the program. The player holding the TURKEY BOMB must pass it off.]] 16:33:37 Not a fucking clue. 16:33:55 [[IMAGINE PUDDING, PUDDING! 16:33:56 Returns a NOMENCLATURE indicating all the variables unchanged between two PUDDINGs.]] 16:33:56 "Hey, a properly-specified operation." 16:34:05 "Perform iterative cypher transformation of set of names." is kinda vague. 16:34:26 Somebody be interested! 16:36:36 coppro: Stop being all O_o! 16:39:36 A BI_IT is (2/3)+(log(3)/log(2)/2) bits... 16:39:43 ~= 1.46 bits. 16:40:33 = log(432)/log(64) 16:42:06 "A composite quantum state of information." 16:42:25 So I guess the thing to do is to store the 2/3rds of a bit as one byte, and the half a trit as one byte too. 16:44:46 * ehird gives the struct members one-character names as otherwise they'd be really long 16:45:15 Oh great, I have to have type tags too. 16:45:55 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 16:49:59 -!- jpc has quit (Read error: 110 (Connection timed out)). 16:50:59 tagHYBRID_OBTAINED_BY_COMBINING 16:52:09 "Exactly fifteen bytes, no exceptions." 16:52:10 Great, so you need 5-byte pointers. 16:53:03 just change the size of a byte 16:53:10 No :P 16:53:16 I think what I'll do is 16:53:19 one byte is 8/15ths of a bit 16:53:25 char p1,p2,p3,p4,p5; 16:53:41 The lower/upper/whatever bits of each are a few bits of the pointer. 16:53:50 I could just pad it out, but it doesn't say pad anywhere. 16:54:05 (The type is "TRIVIA CONCERNING type", "Three references: one to an object of the named type, two to TRIVIA objects.") 16:54:40 -!- BeholdMyGlory has quit (Remote closed the connection). 16:55:12 Wait. 16:55:13 "two to TRIVIA objects" 16:55:23 I wonder if that means two TRIVIA CONCERNING objects, or two TRIVIA objects. 16:55:38 it seems pretty clear to me 16:55:51 coppro: Excuse me, have you read http://catseye.tc/projects/turkeyb/doc/turkeyb.html? 16:55:55 Nothing in there is clear. 16:56:19 ("A fraction whose numerator is a perfect square of a perfect square and whose denominator is a prime number whose ordinal position in the counting list of prime numbers is also prime.") 16:57:11 OMG! Haskell 2010 removed n+k patterns! 16:57:12 YESSSSSSSSSSSSSS 16:59:28 coppro: the worst part of turkey bomb is that since it translates some stuff about the drinking game into computer terms, you have to take note of the drinking game-related items in your implementation 17:12:40 btw, coppro, seen http://killersmurf.blogspot.com/2009/11/typefuck.html? 17:12:49 iirc you like type/template-hacks + haskell 17:21:03 http://bit-player.org/wp-content/uploads/2009/12/grid15r0a.png 17:21:05 pretty 17:33:51 -!- FireFly has quit ("Leaving"). 17:52:47 -!- augur has joined. 17:53:05 Hi augur. 17:53:23 hey ehird 17:53:25 sup? 17:56:11 The sky! 17:56:27 for(page in `{find . | grep -v '^\./jsMath' | grep '\.html$'}) 17:56:27 grep '' $page | sed 's!</?title>!!g' 17:56:27 <ehird> Discuss. 17:56:30 <ehird> Sins I have committed: 17:56:36 <ehird> 1. "Parsing" HTML with a regexp 17:56:47 <ehird> I'd have expected to commit more in such a rag-tag script. 17:59:07 * ehird removes the <h1> and makes the <title> visible instead. I am crazy. 18:01:23 <ehird> I wonder if it's kosher to do that. 18:05:40 -!- augur has quit (Read error: 60 (Operation timed out)). 18:10:25 -!- augur has joined. 18:11:32 <uorygl> augur was actually asking for the supremum. 18:12:40 <uorygl> Which is e to the power of (pi times the square root of 163). 18:14:39 <augur> o.o 18:16:46 <augur> wut 18:17:03 <augur> dont make me hurt you :| 18:18:25 <uorygl> Wait, no. 67, not 163. 18:19:36 <ehird> It'd be nice if there was a minimalist, command-line, open-source symbolic calculation system with sane syntax. 18:20:02 <ehird> You know, somewhere where you could type things like e^(pi*sqrt(163)) and be able to calculate it to arbitrary precision. 18:28:25 <augur> ehird, you should write that utility. 18:29:01 <ehird> I'm tempted to, and it wouldn't be all that hard to write the core language. But writing all the mathematical functions that go on top? And then rewriting them efficiently? 18:29:06 <ehird> I kinda lose interest at that point. 18:29:19 <augur> also, google does that. 18:29:30 <ehird> No, it doesn't. 18:29:54 <ehird> For one, it isn't symbolic. For two, its set of operations and functions is extremely limited. For three, it cannot calculate to arbitrary precision. 18:30:48 <coppro> symbolic math libraries inevitably become big and bulky 18:31:04 <ehird> Not a library, a language and core library. 18:31:13 <ehird> Existing non-symbolic languages would be hell to use for symbolic stuff. 18:31:22 <ehird> coppro: I don't see why. Their overall size, sure; simply due to their coverage. 18:31:26 <ehird> But the individual functions? 18:31:36 <uorygl> GHCi can accept syntax like e^(pi*sqrt(163)), but obviously, GHCi isn't minimalist. 18:31:42 <quantumEd> coppo kinda like algebra text books? :P 18:31:49 <ehird> uorygl: That isn't symbolic nor arbitrary precision. 18:31:56 <coppro> ehird: Bulky because there are a bunch of features you inevitably want to accept, like retrieving the simplest form 18:31:57 <uorygl> It can be arbitrary precision. 18:32:04 <uorygl> e^(pi*sqrt(163)) :: CReal 18:32:07 <quantumEd> th algorithms of algebra are really realyl hard stuff 18:32:09 <ehird> uorygl: Technically, yes; practically, no, because it's not symbolic! 18:32:18 <ehird> And CReal is far more limited than a symbolic system. 18:32:19 <quantumEd> I mean very involved in the basic case.. and then you have optimizations 18:32:27 <coppro> and I disagree that you couldn't do it in an existing language; a language with sufficiently-descriptive operators and overloading could do it fine 18:32:27 <ehird> You can actually compare symbolic things for equality, for instance. 18:32:36 <ehird> What is it with these people thinking a symbolic mathematics environment is the same as a calculator?! 18:32:42 <ehird> coppro: Yes, but not as comfortably. 18:33:04 <uorygl> I suppose GHCi could handle that symbolically as well. 18:33:05 <ehird> For instance, "a*pi*asdjads" giving that back instead of an undefined-name error? Not likely in a normal language. 18:33:12 <uorygl> e^(pi*sqrt(163)) :: Expr, or something. 18:33:18 <ehird> uorygl: Thus showing you don't know what making a symbolic environment entails — see above. 18:33:59 <uorygl> Did I claim that GHCi would accept strings like a*pi*asdjads? 18:34:13 <uorygl> Maybe I did; my conception of what "symbolic" means keeps changing. 18:34:34 <coppro> ehird: For instance, aside from the awkwardness of a lack of operators, you could do symbolic C++ pretty easily. 18:34:50 <augur> ehird 18:34:54 <augur> qs can almost do this 18:35:00 * coppro ducks 18:35:52 <augur> you should write a QS plugin 18:36:21 <coppro> QS? 18:36:25 <ehird> augur: No, it can't almost do this, at all. 18:36:28 <ehird> Not even remotely. 18:36:37 <ehird> coppro: Quicksilver. 18:36:43 <ehird> OS X thing. It's for combining data and stuff. 18:36:52 <augur> well 18:37:10 <augur> you can type into qs _some_ stuff 18:37:11 <augur> like 18:37:15 <ehird> Like there's a calculate action that you can give 2+2, you can search the system for a file then email it to someone in one chain (like "somethinginthefilename<tab>email<tab>some name<enter>"). 18:37:19 <ehird> It's nothing even remotely related to this. 18:37:22 <augur> =sqrt(3^2 + 4^2) 18:37:25 <augur> and itll spit out 5 18:37:28 <ehird> coppro: Pretty easily, but it'd be uncomfortable to use. 18:37:34 <ehird> augur: THAT'S CALLED A FUCKING CALCULATOR >_< 18:37:44 <coppro> augur: That sounds like my Alt-F2 18:37:50 <coppro> or Excel :P 18:38:07 <coppro> ehird: yeah, it would be uncomfortable for complex maths 18:38:19 <augur> i know ehird 18:38:22 <coppro> and then on the other side of things, there's software like Sage 18:38:30 <coppro> which is so ridiculously complex that you almost explode 18:38:36 <augur> but calculator should be able to get everything but the pi part in e^(pi*sqrt(163)) 18:39:02 <ehird> coppro: you know that sage is shit because it has its own livecd :) 18:39:02 <ehird> augur: INCORRECT. 18:39:02 <ehird> augur: Not to arbitrary precision. 18:39:03 <augur> except e^x would have to be exp(x) 18:39:03 <augur> oddly, i cant get =exp(2) to work... 18:39:05 <augur> but this is why you should create a math plugin! 18:39:06 <ehird> Not symbolically, so that the expression itself can be modified and compared. 18:39:11 <ehird> augur: Why? 18:39:21 <ehird> I won't be using OS X soon enough, and you could easily do it by making something that calls out to my tool. 18:39:22 <augur> because qs is the new commandline 8D 18:39:34 <ehird> Embedding software of massive complexity into such a prison is stupid. 18:39:41 <augur> oh, you're switching to a nix machine? 18:39:42 <augur> D: 18:39:56 <ehird> Custom-assembled Linux. 18:39:59 <ehird> Nothing like most distros. 18:40:12 <ehird> Closer to my perfect OS than OS X. 18:40:36 <pikhq> ehird: Do tell. 18:40:54 <ehird> I'm going to be using minimalist, Unixy tools, so that the command-line and the filesystem actually become a viable tool for approaching the ehirdOS linguistic interface ideal. 18:40:55 <pikhq> Oh, wait. That distro you've been talking about. 18:40:56 <pikhq> XD 18:41:01 <ehird> PIKHQ 18:41:03 <ehird> EXPERT MEMORISER 18:42:29 <ehird> coppro: incidentally, the LiveCD litmus test also works for rejecting Asterisk 18:42:56 <coppro> Linux is clearly shit then 18:43:52 <ehird> Linux isn't a program. 18:46:10 <ehird> A sitemap script written in the rc shell. Well, that's a first. 18:46:24 <ehird> (I'm trying to get my shit together and actually publish some stuff on the interwebnets.) 18:50:58 <ehird> I'm pretty sure making an element in <head> visible is a sin of some kind. 18:51:50 <coppro> <title>? 18:51:56 <ehird> yep 18:52:13 <ehird> I'm attempting to manually write the pages, and the overhead I have with <h1> gone is just a few simple lines 18:52:27 <ehird> specifically 18:52:35 <ehird> <!doctype html> 18:52:35 <ehird> <html> 18:52:36 <ehird> <head> 18:52:36 <ehird> <title>WHATEVER THE TITLE IS 18:52:36 18:52:36 18:52:37 18:52:39 ...content... 18:52:51
Elliott Hird
18:52:52 18:52:53 18:52:54 *html 18:53:12 the only ones I have to "remember" are the stylesheet and address lines, as i know the rest 18:53:33 but still, it feels a bit weird as i have to make itself visible, then hide everything inside , then unhide ... 18:58:03 -!- quantumEd has quit ("* I'm too lame to read BitchX.doc *"). 18:59:34 <ehird> [[ 18:59:34 <ehird> Dilution 1:10^60 - On average, this would require giving two billion doses per second to six billion people for 4 billion years to deliver a single molecule of the original material to any patient 18:59:35 <ehird> Dilution 1:10^400 - Dilution of popular homeopathic flu remedy Oscillococcinum 18:59:35 <ehird> ]] 19:00:54 <pikhq> "Oscillococcinum"? What the fuck does that mean? 19:01:00 <pikhq> "Oscillating cock"? 19:01:50 <ehird> It sounds MEDICAL! 19:01:54 <ehird> It must be MEDICINE! 19:04:51 -!- augur has quit (Read error: 110 (Connection timed out)). 19:07:18 <uorygl> Oscillo-: a prefix formed from "oscillating". Coccus: spherical bacterium. -In: a diminutive suffix. -Um: a Latin accusative suffic. 19:07:35 <uorygl> So it means "little oscillating spherical bacterium". 19:08:08 <uorygl> Presumably, -inum is a cute medicinal prefix, chosen in emulation of "platinum", which means "little silver". 19:09:34 -!- augur has joined. 19:21:00 * ehird decides he probably doesn't like the title-is-a-visible-element thing, considers reverting it back 19:23:48 <ehird> But on the other hand, writing out the title manually is bothersome. Gawd, I'm so indecisionful. 19:27:21 -!- augur has quit (Connection timed out). 19:30:34 -!- augur has joined. 19:40:01 * ehird realises his sitemap sorts in alphabetical order... 19:40:01 <ehird> ...on the filename 19:51:52 <uorygl> Don't fix it; it will be fascinating. 19:53:37 <ehird> uorygl: But it'll be quite annoying. "A defence of preemptive mutitasking" will appear under p, since it is preemptive.html. 19:53:37 -!- augur has quit (Read error: 110 (Connection timed out)). 19:53:50 <ehird> I only need a sitemap because I'm eschewing on-page navigational aids, anyway. 19:53:58 <ehird> And that's just for simplicity. 19:54:17 <ehird> I may not even need a sitemap, if I can make the off-page navigational aids compelling and useful enough. 19:54:35 <ehird> By the way, I think I'm tempted to write that symbolic tool. 19:55:07 <ehird> The issue is that, like quantumEd said, the basic algebra algorithms I'd have to implement efficiently would be a huge bitch. 19:56:38 <uorygl> Hey, wait, you're making a web site? 19:56:42 <ehird> Oh, and even the simplest things like an algorithm to calculate pi efficiently to theh Nth place in any base are a bitch. 19:56:52 <ehird> uorygl: Yes; I'm trying to get my act together and start publishing stuff online. 19:57:08 <ehird> I wrote http://sprunge.us/RMJD for it. 19:57:31 <uorygl> Hey, you didn't reply sarcastically. 19:57:57 <ehird> I'm feeling in a particularly unsarcastic mood right now. 19:58:16 <uorygl> Strange. 19:58:23 <ehird> Any particular reason why you asked me? 19:58:25 * uorygl ponders how to take advantage of this situation. 19:58:35 <uorygl> I guess I was interested in looking at it. 19:59:43 <ehird> I haven't actually written anything more than http://sprunge.us/RMJD for it, so imagine the *text in asterisks* is bold, the underlined text is heading-sized and bold, and it's all in a non-monospaced font. 19:59:44 <ehird> Taraaa! 20:01:59 * uorygl reads. 20:02:07 <uorygl> Your conclusion is probably correct in most cases. 20:02:48 <ehird> In what cases is it incorrect? 20:03:19 <ehird> I can think of embedded systems as one: all tasks are generally from the same source, and resources are limited enough that minimising unnecessary task-switching is a big plus. 20:03:22 <uorygl> If one process legitimately decides that it needs a lot of processing power for a little while. 20:03:37 <uorygl> And yeah, that. 20:04:53 <ehird> uorygl: Most systems nowadays are multi-core or even multi-CPU. 20:05:19 <ehird> A task can be dedicated to a CPU and have it to itself while the other tasks switch on the other coress. 20:05:21 <ehird> *cores 20:05:23 <ehird> *dedicated to a core 20:05:56 <ehird> Anyway, that advantage isn't big enough to make up for the effort. Today's supercomputing is done on systems that use preemptive multitasking, and it works fine. 20:06:06 * uorygl shrugs. 20:06:12 <uorygl> We're not really contradicting each other, here. 20:06:30 <ehird> :) 20:06:40 <ehird> Hey, the average salary for a Haskell job is $198,000. 20:06:45 <ehird> That's nice. 20:08:24 <uorygl> That's almost anomalously nice. 20:08:48 <ehird> Well, it's a very specialised skill and not many people want it. 20:08:51 <uorygl> (Gee, that word looks a lot like a misspelling.) 20:09:06 <ehird> Companies like Galois do heavy-duty reliable systems and the like, so that's high-salary already. 20:09:25 <ehird> They also happen to be one of the main users of, and contributors to, Haskell. 20:09:33 <ehird> "So, yeah." 20:13:02 <ehird> Aww; nhttpd appears to not be able to look up foo.html when /foo does not exist. 20:13:20 <ehird> So I can't get nice urls like http://domain.org/preemptive for preemptive.html. 20:17:47 <uorygl> Does an HTTP response tell you what the filename is? 20:18:38 <ehird> No. 20:18:40 <ehird> Why? 20:20:58 <ehird> uorygl's queries doth confuse. 20:30:07 <Asztal> But it can with Content-Disposition: Attachment; filename=blah.gif 20:30:13 <Asztal> (Or something like that) 20:30:43 <Asztal> Of course, your browser then shows a download dialog instead of the actual file. 20:34:01 <Asztal> http://pastie.org/729863.txt?key=ywp02s8p8potpiakeo6q <- Parsec in C#. It's a lot uglier without full type inference. :( 20:36:33 <ehird> addOp = ('+'.ToParser().Select<Func<int, int, int>>(c => (x, y) => x + y)) 20:36:34 <ehird> | ('-'.ToParser().Select<Func<int, int, int>>(c => (x, y) => x - y)); 20:36:34 <ehird> Puke. 20:36:53 <ehird> Anyone have an opinion on digit separators in a symbolic mathematics language? 20:37:02 <ehird> I'm considering allowing 1,000,000 and the like, just with commas. 20:37:02 <Asztal> Yeah, it can't infer Select's type parameter from the lambda expression :( 20:37:08 <ehird> (Europeans can go fuck off yo) 20:37:09 <uorygl> Just wondering. 20:37:27 <Asztal> I think 1_000_000 is good enough 20:37:43 <ehird> Asztal: In a programming language, yes. 20:37:46 <ehird> In a mathematics environment? 20:38:06 <ehird> it's just that, getting a result like 20:38:13 <ehird> -(log(2)/1,063,382,396,627,932,698,323,045,648,242,756,608) 20:38:14 <ehird> back is obviously preferable to any other way of formatting the number 20:38:17 <uorygl> 1 timesOneThousandPlus 000 timesOneThousandPlus 000 20:38:57 <Asztal> But what's log(1,000,000)? Computers don't have common sense :( 20:39:22 <ehird> Asztal: I could require that to be log(1,000, 000) or whatever. 20:39:26 <ehird> But indeed, that is ugly. 20:39:37 <ehird> One option is spaces, but it's a non-option; spaces are multiplication. 20:39:41 <uorygl> Anyway, for digit separators, I think ' is the most practical. 20:39:56 <ehird> uorygl: That's weirder than _, but might just work. 20:39:58 <uorygl> It's actually in use, and I can't immediately think of any other use for it in math. 20:40:08 <ehird> Derivative. 20:40:35 <Asztal> Sucks for the people taking the derivatives of constants, I guess 20:40:55 <uorygl> Ah, but numbers aren't functions. You *can't* take their derivative. 20:41:07 <ehird> Yeah, okay; ' it is. 20:41:11 <uorygl> Unless, you know, you're in automatically-treat-things-as-being-of-different-types-land. 20:41:31 <uorygl> (What's {1, 2, 3} + 5? {6, 7, 8}, of course.) 20:41:51 <ehird> Works in Mathematica, and probably other environments too. 20:42:10 <ehird> That's more sets/lists/whatever being magic, though,. 20:42:12 <ehird> *though. 20:42:19 <uorygl> Right. 20:42:22 <coppro> uorygl: Depending on your definition, you can take their derivative; it's just monumentally unexciting. 20:42:33 <uorygl> Haskell doesn't like that magic. Haskell likes to make that magic unnecessary. 20:42:50 <ehird> Haskell fails at it, at least in this context. 20:43:18 <uorygl> map (+ 5) [1, 2, 3] 20:43:34 <uorygl> I can conceive of a less faily way to do that. 20:44:38 <ehird> That's not How Things Work, though. You don't have to explicitly specify that, but in Haskell you do. 20:44:59 * ehird finds himself trying to avoid Mathematica's names for things, even when they're good. 20:45:01 <ehird> Stop that, stupidhird. 20:45:32 <uorygl> My inner math platonist says that in most cases, Things Work How Haskell works. 20:45:52 <uorygl> (Math platonists are silly.) 20:48:29 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)). 20:49:59 -!- lifthrasiir has joined. 20:50:18 <ehird> Strange. I can't get Mathematica to give me a number without a x 10^-foo at the end. 20:50:21 <ehird> It's not hard, Mathematica. 20:52:12 <uorygl> Multiply every number by 10^10^10. 20:52:44 <ehird> Oh, shush. :P 20:53:32 * ehird makes a concession to computerism by representing the multiplication sign as *. 20:53:35 <ehird> Sorry, x; you're ambiguous. 20:54:06 <bsmntbombdood> is that (10**10)**10 or 10**(10**10)? 20:54:28 <uorygl> 10^10^10 is 10^(10^10) because (10^10)^10 is 10^(10*10). 20:54:35 * ehird wonders how silly it is to put digit separators after the decimal point. 20:54:51 <uorygl> Not so silly that there's a practical reason not to. 20:55:44 <uorygl> Remember that the convention after the decimal point is to use one every eight digits. 20:55:54 <uorygl> (:-P, btw) 20:56:07 <ehird> Hey, Mathematica does it. 20:56:49 -!- lifthrasiir has quit (Success). 20:56:58 <ehird> Which begs the question, should it be padded out? 20:57:04 <ehird> i.e. -6.518'324'76 or -6.518'324'760? 20:57:15 <ehird> The latter is more understandable but... feels like it's straying from the purpose of displaying a number. 20:57:22 <ehird> I mean, there's no point putting a dud 0 there. 20:58:31 <uorygl> Not padding it out gives you a certain feeling under certain circumstances, i.e. makes something clearer. 20:58:42 <ehird> http://pastie.org/729983.txt?key=rl9toh4jbce5llyo0eguba 20:58:43 <ehird> I present to you an imaginary session with my tool. 20:58:51 <uorygl> It makes a really useless piece of information clearer, but at least it does make it clearer. 20:59:05 <ehird> $ = result of last line, $$ = result of previous line 20:59:11 <uorygl> Imagine if all traffic lights were white for the sake of elegance. 20:59:13 <ehird> i'll probably have up to $$$$ 20:59:24 <ehird> then maybe a function for everything prior 20:59:52 <ehird> I wonder how draw() will do for more complex expressions. 21:00:02 <ehird> Certainly the code for that will be a bitch. 21:00:10 <uorygl> It would be kind of nice if your syntax allowed $ to be a function operating on itself when concatenated directly like that. 21:00:13 <ehird> I'll need a whole layout system. 21:00:19 <ehird> uorygl: like $($)? 21:00:28 <ehird> well, $ is just a regular identifier character 21:00:34 <uorygl> Semantically $($), syntactically just $. 21:00:41 <uorygl> But it would probably be too complicated. 21:00:44 <ehird> Syntactically just $$ you mean. 21:00:45 <ehird> I could have function multiplication = application. 21:00:48 <uorygl> I do mean. 21:00:52 <ehird> f x → f(x) 21:01:00 <ehird> $ $ → $($) 21:01:22 <ehird> Maybe even x f → a function taking y and returning f(x,y). 21:01:32 <ehird> So you could do $ $ $ and have it... be ambiguous. 21:01:35 -!- lifthrasiir has joined. 21:01:36 <uorygl> Traditionally, function multiplication is composition, since composition is actually associative. Then again, Haskell points out that f x meaning f(x) is really elegant. 21:01:36 <ehird> I think I'll scrap that idea. 21:01:59 <ehird> Yeah, I think having f g work as composition would be cool. 21:02:00 <uorygl> Remind me why putting things next to each other means multiplication rather than addition or something. 21:02:11 <ehird> uorygl: For convenience in algebra when doing 2a and the like. 21:02:24 <ehird> I guess. 21:02:28 * uorygl shrugs. 21:02:30 <ehird> Anyway, it does, so that's how I'm doin' it. 21:02:39 <uorygl> Math notation seems really arbitrary. 21:02:44 <ehird> It is. 21:02:49 <ehird> It's also quite pretty and convenient. 21:03:08 <ehird> uorygl: I'm considering letting $ be both a value and a function somehow. 21:03:10 <pikhq> uorygl: Well, f (x) == f x in Haskell. 21:03:16 <ehird> So $ = $(1), $$ = $(2), etc. 21:03:20 <ehird> Well. 21:03:25 <pikhq> f (x,y), of course, is quite different from f x y. 21:03:25 <ehird> That'd be $$ is a separate variable. 21:03:39 <ehird> But $(x) is the xth last line of history, and $ by itself is $(0). 21:03:48 <ehird> The issue with that idea is that you can't pass around $ the function. 21:03:59 <uorygl> This operation's going to have a symbol. This one's going to have a symbol, but it's going to be optional. This one's going to have a symbol that the operands go above and below instead of beside. This one's going to have a symbol that extends above the top of its operand. This one's not going to have a symbol at all. 21:04:31 <uorygl> I wonder if there's any point in trying to reinvent math notation. I suppose it is what computer systems do all the time. 21:04:37 <ehird> I think division as two rows separated by a line was created to break up the unending linear monotony. :P 21:05:04 <bsmntbombdood> i think your FACE breaks up the linear monotony 21:05:25 <ehird> I wonder if the word "division" to mean separation predated or postdated the use of a line separating two rows to represent division. 21:07:19 <ehird> In[35]:= FullSimplify[ 21:07:19 <ehird> a^n + b^n == c^n, {Element[a, Integers], Element[b, Integers], 21:07:20 <ehird> Element[c, Integers], Element[n, Integers], a > 0, b > 0, c > 0, 21:07:20 <ehird> n > 2}] 21:07:20 <ehird> Out[35]= False 21:07:21 <uorygl> "Hi, seawolf.cis.orsum.edu." "Hey, munroe.nasa.gov. I've been having some ideas about math notation." "Great, can you send them to me raw on TCP port 12020?" "Well, they total 3.6 gigabytes. I think you'll want me to just explain them to you." 21:07:28 <ehird> "Mathematica: Yep, we know Fermat's Last Theorem." 21:07:34 <ehird> "Can calculate that in less than a second, us." 21:07:51 <ehird> uorygl: xD 21:08:17 <uorygl> The thing about theorems is that in general, they're easier to verify than to find in the first place. 21:08:27 <ehird> uorygl: You should click http://pastie.org/729983.txt?key=rl9toh4jbce5llyo0eguba because you are a bad person if you haven't. 21:08:37 * ehird ponders draw()ing something more complex 21:09:18 <uorygl> How semblant of Mathematica. 21:09:41 <uorygl> (I wonder why we're allowed to say "semblant" instead of "resemblant" but not "semble" instead of "resemble".) 21:10:16 <uorygl> (Why is it pronounced "rezemble"? "Semblant" isn't pronounced that way, is it?) 21:12:30 <ehird> uorygl: How does it resemble Mathematica, other than being a symbolic mathematical computerthingy? 21:12:37 <ehird> And, okay, D and N as function names. 21:12:57 <ehird> http://pastie.org/729994.txt?key=f2ktaru6ipl0umkusliusw 21:12:58 <ehird> How should derivatives be drawn by default? YOUR OPINION IS MORE VALUABLE THAN SALT 21:13:15 <ehird> Hmm, I guess one alternative I didn't list there is f'(x). 21:13:49 <uorygl> D \x (x^2) = 2 x 21:13:51 <uorygl> Except probably not. 21:14:08 <ehird> The whole point of draw is that it uses ASCII smarts to draw the mathematical notation :P 21:14:34 <ehird> Implementing it will be "fun"... I think it'll require an entire layout engine to handle nested expressions. 21:14:34 <uorygl> Anyway, the only notations that look like the inputs are the second and the fifth. 21:14:47 <uorygl> And I'm pretty sure the second is more common. 21:15:20 <uorygl> What would something like (1/2)^3 draw as? 21:15:36 <ehird> Sec. 21:15:41 <ehird> I'll draw it. 21:16:05 <ehird> Also, looking like the input isn't a huge deal. 21:16:14 <ehird> The whole point is so that you can examine an expression... mathematically. 21:16:46 <uorygl> How would the other notations handle D(x^2, x)? 21:17:06 <ehird> Sec, lemme handle the (1/2)^3 first. 21:17:35 <ehird> http://pastie.org/729997.txt?key=0lv8wukto6chcghrhldzw 21:17:38 <uorygl> Here's Epigram's strange way of doing (1/2)^3, by the way: http://pastebin.ca/1703894 21:17:44 <ehird> It would look like one of these, none of which are particularly satisfying. 21:18:14 <ehird> Now for your D(x^2, x) query. 21:18:21 <Asztal> That's reminiscent of the C++ library for representing numbers by box-drawing. 21:18:23 <uorygl> Use Unicode. :-P 21:18:29 <ehird> Asztal: What does it do? 21:18:37 <ehird> uorygl: I don't think there's a Unicode character that would help. 21:19:00 <uorygl> Box drawing characters! 21:19:15 <uorygl> Bezier curves! Wait, no. 21:19:40 <uorygl> I guess my favorite one there is the parentheses-only one, because it uses only parentheses. 21:20:08 <ehird> uorygl: Incidentally, Mathematica's TraditionalForm does it as (rendering to ASCII here): 21:20:18 <ehird> 2 21:20:19 <ehird> dx 21:20:19 <ehird> --- 21:20:19 <ehird> dx 21:20:25 <ehird> With the d being the actual funny curly d. 21:20:42 <ehird> It handles the f(x) case with s/x^2/f(x)/. 21:20:52 <ehird> I think that's the most common representation, actually. 21:21:09 <uorygl> What a funny, curly way of drawing that. 21:21:26 <Asztal> ehird: I can't find it, but it looks something like this: http://pastie.org/730002 21:21:26 <uorygl> I'm pretty sure the most common representation is d/dx with the thingy after it. 21:21:38 <Asztal> There's a 3D one too. 21:22:00 <Asztal> oh, wait, found it. http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml 21:22:16 <ehird> http://pastie.org/730003.txt?key=z1fpulfpftxpnwckw4r9ma 21:22:21 <ehird> Out of curiosity, how does Epigram handle it? 21:22:35 <uorygl> Asztal: that's mighty strange. 21:22:40 <uorygl> ehird: how does Epigram handle what? 21:22:48 <ehird> The derivative. 21:23:15 <uorygl> It's not for math, so it doesn't have any syntax for that. 21:24:23 <ehird> Oh, that Epigram. 21:24:36 <ehird> http://pastie.org/730005.txt?key=vzaayu7at3t3lfvthl8q 21:24:42 <ehird> Final contendors for derivative drawing. 21:25:18 <ehird> I like them all equally, I think. I think I very marginally prefer dx to d x, but the skewed alignment caused by using dx almost cancels that out. 21:25:40 <ehird> Btw, there probably won't be any way of actually parsing draw()s output. I'm not *that* crazy. 21:27:28 <ehird> uorygl: Any vote? 21:27:33 <ehird> #1 is probably the leasst conventional notation. 21:27:36 <ehird> *least 21:27:41 <ehird> That biases me against it, but it is rather clean. 21:27:56 <ehird> However, imagine if the derivatived expression contains a division. 21:28:03 <ehird> #1 would look really weird, but the others wouldn't. 21:28:06 <ehird> Well, #2 might. 21:28:37 <uorygl> My instant runoff vote: 3, 1, 2. 21:29:34 <ehird> Instant runoff voting is amusingly useless when you're the only voter. 21:30:06 <ehird> Any reason you prefer #3 to #2? It's more conventional to have no space, but it's also conventional to, you know, not actually use the Latin letter "d"; and the space helps align the top line. 21:30:11 <ehird> It is weirder-looking, though, I admit. 21:30:26 <ehird> No fan of 4 and 5 I see. 21:30:52 <uorygl> #2 looks kind of like a guy standing in a really awkward pose. 21:31:03 <ehird> You are strange. 21:31:09 <uorygl> Somewhat, yes. 21:31:25 * ehird puts in a fun division into the equation to test each one. 21:31:41 <uorygl> It's conventional to not actually use the Latin letter "d"? 21:31:44 <ehird> Ooh, and a power. 21:31:47 <ehird> uorygl: You use the weird curly d. 21:31:59 <uorygl> Only sometimes. 21:32:19 <uorygl> An actual, ordinary d is more common. 21:32:40 <uorygl> Specifically, ordinary d is the total derivative (a.k.a. "the derivative"), and curly d is the partial derivative. 21:33:01 <ehird> Okay, #1 fails horribly trying to do D(f(x)/g(2^x), x). 21:33:10 <ehird> uorygl: Hmm, right, that's just Mathematica fucking with me. 21:33:22 <ehird> I wonder how I'll represent le partiality in ASCII. 21:34:11 <uorygl> ?d, because ? vaguely resembles a curling iron. 21:34:22 <ehird> uorygl: Another poll (I hope your IRC is monospaced for this): 21:34:29 <ehird> ( x) 21:34:29 <ehird> f(2 ) 21:34:30 <ehird> or 21:34:34 <ehird> x 21:34:35 <ehird> f(2 ) 21:34:45 <ehird> The first looks weird to me, the second very slightly confusing. 21:35:28 <uorygl> The second definitely has confusion potential. 21:35:34 <uorygl> Wait, maybe not. 21:35:43 <uorygl> The first one is bigger, so it's better. 21:36:02 <ehird> Nah, the first one is really hard to read IMO. 21:36:19 <uorygl> Really? 21:37:14 <ehird> Yeah. 21:37:16 <ehird> http://pastie.org/730013.txt?key=r1dtedsmra4rfjswrynhq 21:37:25 <ehird> In which all of them fail horribly. 21:37:30 <ehird> Uh, the first line has a repetition there. 21:37:31 <ehird> Ignore it. 21:37:56 <ehird> I'd say 2 and 3 fared the best there; 1 the worst. 21:38:20 <uorygl> 1 could definitely fare better. 21:38:33 <uorygl> It's a subscript following the D, not preceding the expression. 21:39:00 <ehird> So it is. 21:39:02 <ehird> Let me fix that. 21:39:23 <ehird> You'll notice I added more spacing to all of them but one. 21:39:40 <ehird> I think the layout engine will, when confronted with putting a division or other block next to another thing, add another space. 21:40:05 <ehird> http://pastie.org/730017.txt?key=vxyaitcstugqz67yca1bw 21:40:07 <ehird> Fixed version. 21:40:15 <ehird> 1 does quite well now; about as well as 2 and 3. 21:40:25 <ehird> 2 and 3 are still more common notations, I believe. 21:41:01 <uorygl> I like the first three better than the last two, because they go before the expression rather than around it. 21:41:14 <uorygl> Thereby taking up less room and staying out of the way. 21:41:27 <ehird> I agree; the last two suck gigantic donkey balls. To use a metaphor. 21:41:40 <ehird> Care to rank 1-3? 21:42:03 <uorygl> Same as before, I think. 3, 1, 2. 21:42:08 <ehird> "Concur is like conquer without a q, and it has a c, and doesn't have that e between those two letters at the end." 21:42:13 <uorygl> Since, you know, they're not really different. 21:42:22 <ehird> Yeah, they're exactly the same layout-wise. 21:42:24 <ehird> Just a different prefix. 21:42:41 <uorygl> Different from how they were before you made it fractiony, I mean. 21:42:51 <uorygl> Also, the words are pronounced differently and mean different things. 21:43:04 <ehird> And are different. 21:44:17 <ehird> uorygl: Do you think I should make the layout engine able to output to multiple different formats? It seems like at the end of it, the conversion to ASCII would be a relatively small part. 21:44:25 <ehird> This is all hypothetical right now, of course. 21:44:37 <uorygl> Wait, really? You're telling me that these differently-spelled, differently-pronounced words that mean different things are *different*? 21:45:06 <uorygl> It probably would be a good idea to make the layout engine able to output to multiple different formats, in the end. 21:45:17 <uorygl> But I would think you should do more necessary things first. 21:45:22 <ehird> draw() will probably be like half the code :-P 21:45:37 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)). 21:45:41 * ehird wonders how to do conditionals 21:45:50 <ehird> Mathematica-style if(a,b,c) seems so ugly, but it is rather orthogonaly. 21:47:27 <uorygl> What's wrong with "if x then y else c"? 21:47:36 <uorygl> (Notice my clever choice of letters.) 21:48:55 * ehird spends a few minutes trying to find a relevant quote 21:50:50 <ehird> I give up. 21:52:25 * ehird ponders product(). 21:53:38 <ehird> And sum(), by extension. 21:53:40 <ehird> fact(n) := product(k, 1, n, k) Not enough definition. 21:53:40 <ehird> fact(n) := product(k := 1, n, k) Weird use of assignment syntax. 21:53:40 <ehird> fact(n) := product(k := {1, n}, k) That's not actually what it's assigning k to. 21:53:40 <ehird> fact(n) := product(k, {1, n}, k) I can wrap arguments in braces, too. 21:55:49 <ehird> uorygl: I think I will adopt if x then y else c as the if syntax. 21:55:58 <ehird> It'll just be sugar for if(x,y,c). I think. 21:59:19 <ehird> My function argument syntax doesn't allow for pattern matching on symbolic arguments. Mathematica solves this by making you mark every variable argument by suffixing it with _, but I don't like that 21:59:25 <ehird> Maybe {} means match. 21:59:27 <ehird> So: 21:59:35 -!- jpc has joined. 21:59:39 <ehird> foo({bar}) := quux 21:59:39 <ehird> foo(bar) := bar 21:59:48 <ehird> foo(bar) → quux 21:59:49 <ehird> foo(xyzzy) → xyzzy 22:00:26 <ehird> A bunch of identical factorials: http://pastie.org/730035.txt?key=cjgts9swnsynq9tyfmociq 22:00:38 <ehird> The last one is amusing. 22:04:25 <uorygl> productAs \k goesFrom 1 to n of k 22:04:28 <uorygl> I'll stop bothering you now. 22:04:40 <ehird> uorygl: I don't consider that bothering. 22:04:49 <ehird> The reason I used that definition is because I was mumbling on how to do product(). :P 22:05:12 <ehird> Oh, an issue with your if syntax, or perhaps with my lack of semicolons: if you have 22:05:18 <ehird> fact(n) := if n = 1 then 1 22:05:23 <ehird> you don't know if the statement's over 22:05:30 <ehird> there could be an else on the next line 22:05:46 <uorygl> What Would Haskell Do? 22:06:05 <ehird> Have a very complex, hard-to-code-without-an-editor layout system. 22:06:45 * uorygl ponders what Agda would do. 22:06:58 <lament> more languages should have "easy to code without an editor" as a design goal 22:07:08 <uorygl> Maybe just having semicolons is what you should do. 22:07:29 <ehird> uorygl: But that bothers you when you just want to calculate 2+2 and the like. 22:07:36 <ehird> And it gives an impression of statement-ness to expressions. 22:08:02 <ehird> lament: I'm not sure that's true. It is a goal for mine, though, because the primary use is via the command-line tool. 22:08:04 <uorygl> Well, it doesn't have to be an actual semicolon; it could be the word "please". :-P 22:08:54 <uorygl> Have no such thing as statements, and make every program be one huge expression! 22:08:55 <ehird> Say, it would be interesting to have an implementation that used an HTTP server to serve a little HTML+CSS+JS page with a prompt ajaxin' to /evaluate (or whatever), so that all the draw()-style output becomes HTML tables and the like. 22:09:07 <ehird> I need to sleep soon. 22:09:14 <ehird> uorygl: There are no such things as statement. 22:09:22 <ehird> *statements 22:09:36 <ehird> a;b is just an expression that evaluates a, disregards the result, and evaluates b. 22:09:46 <ehird> And expressions can be empty, so you can do {a;b;c;}. 22:10:44 <uorygl> So you've already implemented my suggestion! Scary1 22:10:52 <uorygl> s/1/!/ 22:11:03 <ehird> It's the obvious thing to do. Even Ruby does it. 22:11:46 <uorygl> Say, I just got a rather silly idea: plaintext markup syntax stuff. 22:11:56 <ehird> You mean... HTML? 22:12:11 <uorygl> It would render to ASCII art. 22:12:23 <ehird> Heh. 22:12:27 <ehird> w3m -dump 22:13:32 <uorygl> <rows><r>x<sup>n</sup></r><r><fill>-</fill></r><r>n!</r></rows> 22:14:12 <ehird> That'll be basically what the internal data structures of my layout engine will have. 22:15:59 <uorygl> Will the sizes of rectangles be determined entirely bottom-up-ly, or will there be some top-down-ness as well? 22:16:56 <ehird> Erm, verbosify. 22:17:29 <uorygl> Do you share my idea of what a "rectangle" is? 22:18:04 <uorygl> Probably a lot like HTML's blocks. Rectangular shapes that the stuff is made of. 22:18:26 <ehird> Expand bottom-up-ly, top-down-ness, determining of sizes of rectangles. 22:18:49 * uorygl nods. 22:19:26 <uorygl> Suppose I have some subexpression. Will the dimensions of its bounding rectangle be determined entirely by the subexpression itself or also its surroundings? 22:20:26 <ehird> Entirely by the subexpression itself. However, the dimensions of the parent, and spacing of the surroundings, will change. 22:20:54 * uorygl nods. 22:23:18 <ehird> In that hypothetical HTTP/HTML/CSS/JS interface I mentioned, it should have an interface to the documentation so that you can click on an example and it switches to the prompt, with the example filled in. 22:30:07 <ehird> It bothers me that the simple stuff is so subtle. 22:30:16 <uorygl> This makes me want to work on my project thing. And when I think "work on my project", I think "figure out how to formalize functions". 22:30:22 <ehird> Because that means the complex stuff won't just be complex, it'll be incredibly subtle. 22:30:30 <ehird> uorygl: Symbolically! 22:30:41 <ehird> Manipulating symbolic expressions is both slow and elegant and useful 22:30:45 <ehird> s/$/./ 22:30:58 <uorygl> Yes, symbolically. 22:31:37 <ehird> Then a function is just an expression with a free variable. 22:32:09 <ehird> Well, free expression; f(x) could be a free expression if x is defined but f(x) isn'tt. 22:32:14 <ehird> Calling a function is just applying a table of expression→expression. 22:32:22 <ehird> e.g. f(x)=x^2. 22:32:48 <ehird> A more traditional function = parameter list + expression; parameter list is turned into a table in the obvious way and applied to the expression. 22:32:50 <ehird> Done. 22:32:59 <uorygl> I want to be theoretically sound, since my project is centered on a theorem prover. 22:33:12 <ehird> Yes, well, just theoreticise my statements. 22:33:14 <uorygl> If a function were just an expression with a free variable, there wouldn't even be uncountably many functions. 22:33:30 <ehird> Uh, why not? 22:33:39 <ehird> One or more free expressions. 22:33:47 <ehird> Well, in fact, a function is an expression. 22:33:58 <ehird> It's just that you can't really do a meaningful replacement without a free expression. 22:34:06 <uorygl> Well, I could say that a function is an expression with two free variables combined with a set that fills one of them in. 22:34:12 <uorygl> Maybe. 22:34:21 <ehird> Why two? Why free variable (that's not symbolic)? 22:34:27 <ehird> You need free expression for f(x). 22:34:54 <ehird> e.g. in f(2), we can fill in f(2) -> 4 or f({placeholder x}) -> x*2 and get 4 back. 22:35:09 <ehird> That's how symbolic computation works: everything is a rewrite rule. 22:35:16 -!- jpc has quit ("Leaving."). 22:35:26 <uorygl> I have a pet function named Bob. For every real number x, Bob(x) is a real number taken randomly from the standard normal distribution. 22:35:34 <ehird> There's no "functions" as separate objects per se, although of course you can pass f and then the function does f(x) and since f rewrites to SomeFunction it becomes SomeFunction(x). 22:35:54 <uorygl> I *definitely* want functions to be values here. 22:35:55 <ehird> If functions are a thing in themselves, e.g. in the lambda calculus, it's not symbolic. 22:36:04 <ehird> uorygl: Boo hiss. 22:36:16 <ehird> Well, symbolic languages can have lambdas too, they're just done as a rewriting rule. :P 22:36:30 <uorygl> Because I want S -> T to actually be a type, because it means something as a mathematical sentence. 22:36:38 <uorygl> (Namely, "S implies T".) 22:36:45 <ehird> I think it's done as a rewrite rule of lambda(x,y)(z) to replace(x,z,y) 22:36:54 <ehird> which does the replacement thingy from lambda-calculus 22:37:05 <ehird> but yeah, this isn't suitable for a theorem prover 22:38:11 -!- jpc has joined. 22:38:48 -!- jpc has quit (Client Quit). 22:40:57 -!- jpc has joined. 22:41:05 <ehird> Well, musing about this sure is fun. I guess if I get off my ass and spend peopleyears (Post-feminist adaptation of manyears, dude. I mean, uh, ... associate.) of work on it, it might be a viable alternative to... an old version of Mathematica. 22:41:20 <ehird> Oh well, all I want is a fun symbolic computation environment that isn't really weird like Mathematica and isn't really archaic like Axiom and the like. 22:41:23 <ehird> And Maxima. 22:41:25 <ehird> See you for today. 22:42:08 -!- ehird has quit. 22:56:06 -!- iamcal has quit. 23:53:33 -!- augur has joined.