00:00:06 There's a caveat to that: 00:00:12 Actually, I'll pastebin this. 00:00:43 Hmm, I think GDC's latest release could compile my Sudoku solver out of the box, unless it's too new <--- *blink* 00:01:28 Actually, never mind, my caveat is wrong. 00:01:29 Hmmmmmmmmmmmm. 00:01:30 why not use ldc for it Deewiant? 00:01:42 because it's too new. 00:01:55 GregorR: I'm not convinced about it myself 00:02:00 I guess I'll implement it and see :P 00:02:07 *ahem* I am contractually obligated: 00:02:21 ... if we had a Forthalike as the base language, I could just do it all from a REPL session. 00:02:21 * 00:02:31 *Note: Probably a lie, you can't mess with things that internal in general :P 00:02:43 It could all be done from a REPL session as-is, there just doesn't happen to be such a REPL :P 00:02:50 Good luck. Nobody but me has touched pul.plof, so you may go insane :P 00:02:53 no REPL? :-O 00:03:01 dplof -I works, but is ... limited. 00:03:50 but writing a repl is super trivial :| 00:04:19 I mean it doesn't have e.g. history. 00:04:22 ah. 00:04:24 It's a full REPL. 00:04:27 But it's lame :P 00:04:39 Well, I'll see about giving it some editline love. 00:05:00 No great reason to, dplof will go into obsolete mode when cplof is fully-functional. 00:05:12 Well, then I'll write a portable REPL. 00:05:14 And a unicorn. 00:05:45 grr I hate that half of the convos make no sense when ignoring ehird 00:05:53 AnMaster: Now you know how I feel, AnMaster. 00:06:00 lol 00:06:05 ehird, we both know 00:06:23 ehird, we are deadlocked into-non-ingore 00:06:25 ignore* 00:06:30 actually more than half 00:06:37 you are more active than me 00:06:39 night 00:07:23 So! 00:07:34 I guess I have work to do on Plof. Today, I will clone the hg repo and peek at it before going to bed. 00:07:45 GregorR: how do I submit commits 00:08:09 ehird, why would you need that? 00:08:17 AnMaster: what? 00:08:27 need what? 00:08:32 why would you need to work on plof? 00:08:37 Hey GregorR, what's the address to clone? 00:08:37 ehird: hg bundle. I could give you commit access if you need it. Richards@codu.org 00:08:41 AnMaster: 'Cuz I have ideas. 00:08:45 https://codu.org/projects/plof/hg/ 00:08:50 GregorR: yes. what's the hg url 00:09:04 (Isn't that on the site somewhere? >_>) 00:09:08 grr I hate that half of the convos make no sense when ignoring ehird <<< probably the GregorR half that's not making sense because you can't see ehird right? 00:09:16 GregorR: http://codu.org/plof/hg/ is an http interface 00:09:27 GregorR: is it gettable? 00:09:31 Yeah. 00:09:31 * ehird relearns mercurial 00:09:41 Stick an s on it if you want security for pushing purposes *shrugs* 00:09:44 oklopol, indeed 00:10:03 oklopol, however you are misinterpreting 00:10:06 That's basically the only reason I use mercurial over anything else in particular, putting up a server is as easy as dropping a .cgi somewhere :P 00:10:23 I meant half of the convos between any n persons in this channel 00:10:24 git can do that I think :P 00:10:40 Idonno, if it can I haven't seen it, I always see git:// URLs *shrugs* 00:10:54 Strange; I mostly see http:// ones. 00:11:05 ORLY? >_> 00:11:08 Well, 'part from github. 00:11:11 Which uses git://. 00:11:25 AnMaster: was supposed to be a joke, but turned out not to be at all funny and somewhat true 00:11:46 GregorR: So .apsl is pretty much textual PSL, right? 00:11:55 Yes. It's really gross, and really limited. 00:12:03 / Object is true for logic unless it's False 00:12:10 Hm. :-P 00:12:19 Note that False is a specific object ;) 00:12:51 -DPLOF_FREE_INTS (default) 00:12:51 Use ints instead of objects. This is optimal and spec-compliant, but 00:12:52 has the disadvantage of providing ints that are one bit shorter than in 00:12:55 either of the other methods. 00:13:00 GregorR: just make all ints odd; mallocs are even, after all. 00:13:06 Of course, then you can't use even integers. 00:13:08 No big deal. 00:13:10 :P 00:13:17 That's essentially what I did do. 00:13:20 8 weeksGregor Richardscplof: Autoconf'd. 00:13:23 GregorR: This is meant to be a feature? 00:13:25 also, I meant directly 00:13:30 as in, you can use 1, 3, ... 00:13:33 but not 2, 4.. 00:13:45 also, srsly, autoconf? x_x 00:14:02 Shall we have a giant war over autoconf vs ... cmake? What's your poison? 00:14:48 GregorR: I don't really have a particular affiliation beyond "not autoconf". I generally go for pure Makefiles :P 00:15:06 I have pure, still-working makefiles sitting about, but they're not portable *shrugs* 00:15:17 Why not? 00:15:28 I've never really had a portability problem with makefiles :P 00:16:12 cplof runs on (at least) Linux, Windows, *BSD, Solaris, DOS, ... 00:16:27 With libgc, (soon) libffi 00:16:30 GregorR: Wait, Windows-alikes? 00:16:39 Think I'll stick to dplof... 00:16:50 dplof runs on Windows too :P 00:17:03 Yeah, but phobos/tango hides all that. 00:17:09 'struth. 00:17:23 There's not really any Windows-specific code, it's mainly about the compilation garbage. 00:17:31 GregorR: Are there any known users on Windows? 00:17:44 There are two known users, both on Linux, I just like portability :P 00:17:47 GregorR: Also, in that case I'd either 00:17:50 (1) use cygwin or mingw 00:17:59 (2) provide a separate windows makefile, if all that changes is the build system 00:19:10 -!- GreaseMonkey has quit ("Unisex."). 00:19:31 GregorR: Does plof have continuations? 00:19:47 No :( 00:20:08 I'd need a few changes to expose things properly for that, it should be doable I just haven't done it. 00:20:09 GregorR: Guess what I'll include in the Forth? 00:20:30 (Yeah, it means that Plof code calling C code calling Plof code needs lots of boilerplate, but who gives a shit?) 00:20:44 i need a comparison sort algorithm 00:21:03 The best sorting algorithms don't use comparison. 00:21:09 bsmntbombdood: bubble 00:21:26 where comparisons are extrememly slow, and also reliable 00:21:28 GregorR: obviously 00:21:36 night 00:21:43 (really this time) 00:22:45 bubble sort might actually be reasonable, because a bad comparison only screws you up a tiny bit 00:24:43 GregorR: But, even on Windows Id on't see why to support non-gcc stuff. 00:24:43 There's a ton of compilers for Windows and none are any good :P 00:24:43 GregorR: I vote to abstain. 00:24:43 pikhq: How would a patch change your view? :P 00:24:56 GregorR: Also, about doing 3D video in MPEG-4... That's part of MPEG-4. ;) 00:25:20 GregorR: Btw, your cubic square thing of space sounds like voxwels 00:25:21 voxels 00:26:02 pick 2 random elements, swap them if the aren't in order 00:26:14 % gcc /dev/null 00:26:14 ld: in /dev/null, file too small 00:26:14 is that O(n**2) or is it worse? 00:26:24 bsmntbombdood: It's O(infinity). 00:26:35 ehird: average case... 00:26:40 :P 00:26:41 * pikhq was going through logs. 00:26:57 00:24 ehird: pikhq: How would a patch change your view? :P 00:27:06 bsmntbombdood: http://en.wikipedia.org/wiki/Odd-even_sort parallel 00:27:39 ehird: On Windows only GCC is supported, come to think of it the only caveat there IIRC was that there's some trick to linking against libgc. 00:27:54 GregorR: You mean apart from "-lgc"? 00:27:57 pikhq: Oh yeah, I knew there was a term, voxels, yeah. There's 3D in MPEG4? 00:28:01 ehird: make a static version pls :P 00:28:08 oklopol: ? 00:28:37 -!- GreaseMonkey has joined. 00:28:43 bsmntbombdood: actually, you want something that's resistant in the face of lying nodes, right? 00:28:48 well umm. you know substitute an x-axis for time axis. 00:28:49 right 00:28:53 bsmntbombdood: Try gnome sort, except with many gnomes. 00:28:58 [ http://en.wikipedia.org/wiki/Gnome_sort ] 00:29:00 oklopol: wat 00:29:01 THE CAKE NODE IS A LIE 00:29:02 oh 00:29:03 right 00:29:07 ehird: a reference 00:30:21 GregorR: Yeah; MPEG4 part 11, IIRC. 00:30:54 ehird: hmmm 00:31:16 bsmntbombdood: Work will be duplicated, but it'll always get it right if you have more honest nodes than lying ones. 00:31:33 ehird: ideally, it would be sort of online 00:31:43 bsmntbombdood: what's the issue in this case? 00:31:45 it should work 00:31:49 unless 4chan invade or sth 00:31:54 ohh 00:31:54 it's always receiving new elements and new items 00:31:55 you mean 00:31:57 online in that sense 00:31:58 xD 00:32:04 sorry the distributed talk clouded mah vissn 00:32:16 and doesn't need to have the perfectly sorted, it should just always stay as close as possible 00:32:17 pikhq: "It is based on VRML and part 11 of the MPEG-4 standard." This format is far more sensible than mine :P 00:32:19 bsmntbombdood: why isn't it online 00:32:27 s/while i < size/forevah/ 00:32:37 ehird: it terminates 00:32:52 So it is. 00:32:53 bsmntbombdood: err not when given an infinite list. 00:33:08 the list is finite... 00:33:18 bsmntbombdood: i don't get it 00:33:23 esplain 00:33:43 ehird: i want to rank items based on human's comparisons of them 00:33:58 bsmntbombdood: I don't get why you can't use gnome sort 00:34:12 I prefer KDE sort. 00:37:39 ? 00:39:18 yeah i guess gnome sort could work 00:41:14 it might be best to just cache ratings and sort later though 00:44:23 -!- KingOfKarlsruhe has quit (Remote closed the connection). 00:48:48 that requires n**2 comparisons though 00:54:03 I'm still fond of quantum bogosort. 00:54:05 well, n*log n essentially means reducing redundancy, which means not revealing lies... 00:54:36 shuffle(list);if(!sorted(list))destroy_universe(); 00:55:27 this destroy_universe() command seems somewhat unsafe... 00:55:41 // confirm many worlds theory before using 00:56:11 Well, yes. 00:56:51 * oerjan guesses that if that theoretically worked, the amplitudes of any universes in which anyone _tried_ a quantum bogosort would probably be low, even if they succeeded 00:57:29 Well, yeah. It's a very unlikely algorithm. 00:57:32 i really don't like that programming language 00:57:36 And makes itself even less likely as it's used. Hooray! 00:57:58 there needs to be some sort of check showing that some universe would remain undestroyed afterwards 00:58:10 otherwise it's really kind of dangerous 00:58:26 lament: unitary evolution should take care of that 00:58:41 out of universe error 01:00:41 basically with unitary evolution, even if some things cancel out, the sums of squared amplitudes of the remaining states must be preserved (as 1, if you start with that) 01:00:46 iirc 01:01:11 In some universe, there wouldn't be the bug causing all universes executing the code to be destroyed. 01:01:51 Hell, if the many worlds theory is confirmed, one could end all code with destroy_universe(); and there would magically be no bugs in the universes that continued to exist! 01:02:27 well, no undetected bugs 01:02:33 *detected 01:03:22 Well, no bugs that let the end of code be reached. 01:03:51 Erm. 01:04:17 As phrased, there would be no code *without* bugs if you did that. 01:05:22 well at least you would have solved the halting problem 01:05:39 http://warp.povusers.org/SortComparison/integers.html 01:05:39 True. 01:05:50 looks like merge sort consistently makes the least comparisons 01:06:25 Makes sense. 01:11:52 but i don't think it will perform well with unreliable comparisons 01:13:48 as i said, i think it will never reveal a lie 01:14:24 because it's organized such that no comparison is ever done which could contradict a previous one 01:16:06 -!- psygnisfive has joined. 01:17:10 -!- Sgeo has joined. 01:19:48 what about binary insertion sort? 01:22:08 i think it's the same for any sort which removes redundant comparisons 01:22:35 (or avoids) 01:27:39 -!- olsner has quit ("Leaving"). 01:33:26 how can i quantify "almost sorted"? 01:33:31 i think i should run some tests 01:36:39 pikhq: So you're neutral w.r.t. semi-vs-newline? 01:40:26 bsmntbombdood: Maybe result of any reordering that causes at most O(n) inversions when appiled to sorted sequence? 01:41:52 GregorR: Slightly partial towards semicolons, but only slightly. 01:42:09 bsmntbombdood: In the case of those tests, it was array with last 256 entries suffled. 01:42:14 *shuffled 01:42:23 Ilari: what? 01:43:57 bsmntbombdood: How "almost sorted" can be defined, and the defintion in that test. 01:45:58 pikhq, ehird: I'm just imagining situations where newlines create some /very/ unintuitive results, e.g. http://www.pastebin.ca/1394513 01:47:50 Ilari: i don't get it 01:48:37 GregorR: Well, if newlines produce poor results, don't use them. 01:50:42 I'm not sure whether this is poor or not, because I'm not sure what intuition people would have about that code. 01:51:44 It's just unintuitive to /me/ 01:57:47 i'd say it's a list, not an application of a 01:58:01 -!- GreaseMonkey has quit ("Unisex."). 01:58:19 Heh, by no proposal is it a list :P 01:58:52 Looking at the example, it seems the correct interpretation is the obvious one. 01:59:28 That might be from my experience with Tcl, where a newline and a semicolon are equivalent. 02:03:02 -!- GreaseMonkey has joined. 02:03:20 -!- GreaseMonkey has quit (Read error: 54 (Connection reset by peer)). 02:07:33 GregorR: three separate expressions? 02:07:53 yeah that's even more intuitive. 02:08:11 Well, if everybody agrees that that's the intuitive parsing, then OK. 02:08:49 -!- MizardX has quit ("reboot"). 02:13:04 -!- MizardX has joined. 02:16:21 Is it bad if a .htaccess is publically viewable? 02:16:57 Depends on what the .htaccess does. 02:17:15 Also, I'm not even sure if you can configure Apache to make them accessible in any condition. 02:17:25 It blocks 1 IP address, I don't know why 02:17:59 Well, it's like anything else, it's bad for that to be publicly viewable if you need people not to publicly see it :P 02:19:19 The person running my server doesn't know why it's viewable, or why a single IP is blocked 02:25:47 um...wtf??!?! 02:26:05 And the blocked IP is 127.0.0.1 02:26:12 (J/K ;) ) 02:26:20 this code has radically different behavior when compiled with and without optimization 02:26:56 Bug report 02:28:16 Would the code in question happen to be from ffmpeg? 02:28:59 no 02:31:01 it's my code 02:33:06 look 02:34:09 http://pastebin.ca/1394548 02:35:41 iirc if(*ar > *++ar) is undefined behavior 02:35:52 'tis 02:36:04 *headdesk* 02:36:05 of course 02:40:23 that algorith does 1.3 million comparisons for a 45 element list 02:40:25 hmpph 03:00:41 -!- oerjan has quit ("Good night"). 03:06:57 Can somebody translate this from psuedoSpanish to English? "ooooooooooooo que bacano lo boy aitalar para que mi pc me corra mas rapido jajaja no pero enserio esta bacano" 03:07:49 was psuedo on purpose, it sounds kinda spanish. 03:08:15 los psuedos son mis amigos. 03:08:57 anyway i can translate all words that contain up to four characters. 03:09:22 next year i'm gonna learn all fives probably. 03:09:56 so anyway i have an 8 hour day at uni pseudotomorrow, starting in about 3 hours 03:10:20 i think this is kinda cool considering i slept 3 hours last night, while i'm used to sleeping about 10 03:13:34 -!- pikhq has quit ("leaving"). 03:19:41 ok gnome sort is a _touch_ better than bozo sort 03:19:46 bozo: 14918109, gnome: 1200 03:20:16 shocking 03:21:14 slaep! -> 03:26:13 Y'know what bothers me? "Charity" events where they require people to do something unrelated and non-money-producing in order to gain money for the charity. 03:26:36 Like walks for charity. A walk for charity is some company holding money for ransom until you walk a mile. 03:47:17 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net). 03:54:23 -!- Leonidas has joined. 04:02:38 now this is odd 04:03:12 iterated merge sort is faster than iterated gnome sort for small arrays, but slower for large 04:03:26 the more unreliable comparisons are, the more marked the difference 04:06:17 probably because gnome sort is O(n) when the input is almost sorted, and merge sort isn't 04:14:15 i don't even know if there are any O(n) best, O(n log n) worst case algorithms 04:19:11 oh right, binary insertion sort 04:26:25 At least it gets people to walk a mile. 04:27:01 As for the pseudoSpanish, I'll tale a look. 04:28:05 or is binary insertion sort O(n log n)? 04:30:14 GregorR: "oh how cool I'm going to [?] it so that my PC will run faster hahaha no but seriously it's cool" 04:30:46 I imagine that by "italar" he meant "instalar". 04:31:18 OK, I guess that's about what most of the other comments on that video looked like :P 04:32:10 So "I'm going toitall it". :-P 04:32:53 The problem with web translators is they can't translate things that were written crappsily in the first place :P 04:33:00 Yeah. 04:33:09 Thankee. 04:33:33 Ideally, translators from Spanish will recognize misspellings that don't affect pronunciation, like "boy a aser" for "voy a hacer". 05:04:08 -!- pikhq has joined. 06:00:48 -!- Slereah has joined. 06:11:29 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 07:14:22 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:55:00 -!- psygnisfive has quit (Remote closed the connection). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:05 -!- psygnisfive has joined. 08:07:10 -!- M0ny has joined. 08:25:40 -!- neldoreth has joined. 08:37:14 -!- olsner has joined. 08:37:59 -!- neldoret1 has quit (Read error: 113 (No route to host)). 08:48:52 AnMaster: a) LDC is based on far too new a frontend and b) LDC doesn't support Phobos directly, I'd have to use Tangobos which is also probably too new 08:49:06 GDC is just something which could probably work directly 08:50:04 -!- pikhq has quit ("leaving"). 08:55:17 -!- MizardX has quit (Read error: 110 (Connection timed out)). 09:54:46 Deewiant, aha 09:55:16 Deewiant, what about backward/forward compatibility? ;P 09:56:26 AnMaster: In a language whose version number starts with 0? 09:57:05 ok fair enough I gues... I have managed to run complex old C programs with only tiny changes to the code to make it compile. 09:57:14 How old? 09:57:15 60s? 09:57:27 If it's 90s or newer that's trivial 09:57:30 Deewiant, 199x: mosaic 09:57:36 Trivial 09:57:39 C hasn't changed at all since then 09:58:09 Deewiant, yes but posix had, and the *nix specific code was were most of the tiny changes were. 09:58:13 but even so, tiny changes 09:58:19 build system was worse 10:00:24 -!- MizardX has joined. 10:03:00 -!- olsner has quit ("Leaving"). 10:03:52 I /do/ have a windows binary which runs fine under Wine, FWIW :-P 10:05:16 heh 10:10:01 -!- neldoreth has quit (Read error: 113 (No route to host)). 10:30:15 HAHAHA 10:30:16 "The tests involved head-on crashes between the fortwo and a 2009 Mercedes C Class, the Fit and a 2009 Honda Accord and the Yaris and the 2009 Toyota Camry. The tests were conducted at 40 miles per hour (17 kilometers per liter), representing a severe crash." 10:31:06 originates from using google as a converted. type in 40 mpg (a typo for 40 mph) and you get that. 11:14:57 -!- neldoreth has joined. 11:37:01 -!- jix has joined. 11:40:14 -!- Judofyr has joined. 11:57:20 -!- oerjan has joined. 11:59:05 *pseudo-, you damn iliterates! 12:01:02 -!- neldoreth has quit ("Lost terminal"). 12:01:13 -!- MizardX has quit ("off"). 12:03:13 i don't even know if there are any O(n) best, O(n log n) worst case algorithms 12:03:40 wouldn't even mergesort have an O(n) best case? 12:04:04 Mergesort's best case is also O(n lg n) 12:04:43 hm 12:04:50 It still does that many comparisons 12:05:26 i thought since it could stop if one of the merged lists is exhausted, but that only cuts by half i guess 12:09:56 -!- Slereah_ has joined. 12:12:35 xkcd :D 12:14:15 oerjan, indeed 12:14:19 and iwc too 12:14:27 The "check for sortedness, use any O(n log n) worst-case algorithm otherwise" "algorithm" has a O(n) best-case (sorted list) and O(n log n) worst case. 12:15:33 -!- MizardX has joined. 12:19:50 -!- M0ny has quit ("reboot"). 12:21:19 -!- Slereah has quit (Read error: 110 (Connection timed out)). 12:25:33 -!- M0ny has joined. 12:26:14 -!- Judofyr has quit (Remote closed the connection). 12:31:47 -!- Gracenotes has quit (Remote closed the connection). 12:32:24 -!- Gracenotes has joined. 12:34:12 -!- sebbu2 has joined. 12:39:41 -!- sebbu has quit (Read error: 60 (Operation timed out)). 12:44:53 -!- oerjan has quit ("leaving"). 13:00:28 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 13:02:30 -!- neldoreth has joined. 13:05:28 fizzie, what happened to the O(n) scan when it finds list is unsorted? I'm not sure (since I know some stuff get cancelled in big-O notation, but don't remember exact rules for that) but shouldn't it be included in O(n log n) somehow? 13:10:50 Using O(n) time and then O(n log n) time after that is still O(n log n) asymptotically, since the O(n log n) part grows faster. At least so I very much believe. 13:13:53 O(n + n log n) = O(n log n) 13:15:36 Though I guess the point of the question was more like "is there any algorithm that *non-contrivedly* happens to have the O(n) best-case behaviour". 13:22:03 As a physicist, I want my O's to grow rapidly, not slowly 13:31:55 fizzie, right, that was what I suspected 13:37:27 The rule is that when adding complexities, take the fastest-growing one. 13:49:32 -!- BeholdMyGlory has joined. 14:17:34 -!- M0ny has quit ("PEW PEW"). 14:20:49 17:45:58 pikhq, ehird: I'm just imagining situations where newlines create some /very/ unintuitive results, e.g. http://www.pastebin.ca/1394513 14:20:58 GregorR: this is why f( shouldn't be idiomatic 14:21:14 GregorR: one alternative is that if the next line is indented further it's a continuation 14:21:14 foo 14:21:16 a 14:21:17 b 14:21:19 c 14:21:22 err well 14:21:24 or the same 14:21:25 I guess 14:21:27 but I think that's intuitive 14:21:33 just because foo(... is unintuitive 14:22:53 -!- M0ny has joined. 14:25:12 08:57 Deewiant: 60s? 14:25:20 Er, very limited authorship possibilities. 14:25:23 02:19 bsmntbombdood: ok gnome sort is a _touch_ better than bozo sort 14:25:23 02:19 bsmntbombdood: bozo: 14918109, gnome: 1200 14:25:24 lawl 14:37:37 GregorR: You thar? 14:38:21 -!- sebbu has joined. 14:49:01 "Court jails Pirate Bay founders" 14:49:06 Fuck. You. 14:49:39 What did they do wrong! 14:49:52 Did they break any law? 14:50:00 No. Not under any sane interpretation. 14:50:03 Linking is not illegal. 14:50:56 Hmm... 14:51:00 "On friday we will get the verdict in the ongoing trial. It will not be the final decision, only the first before the losing party will appeal. It will have no real effect on anything besides setting the tone for the debate, so we hope we win of course. " 14:51:02 They can appeal? 14:51:27 "That's outrageous, in my point of view. Of course we will appeal," he was quoted as saying by Reuters news agency. "This is the first word, not the last. The last word will be ours." 14:51:29 Ah, good. 14:57:10 -!- comex has joined. 15:13:50 -!- neldoreth has quit (Read error: 113 (No route to host)). 15:18:49 -!- neldoreth has joined. 15:31:13 That's the differenced between "jailed" and "imprisoned" 15:31:44 "Jailed" just means "The court fears that these people are a flight risk, so we're not going to let them go anywhere before their trial." 15:31:49 -!- FireFly has joined. 15:36:46 -!- MizardX- has joined. 15:36:48 GregorR: :P 15:37:23 GregorR: I'ma work on Plof. 15:38:28 GregorR: Hmm, why aren't the cplof/dplof binaries in .hgignore? 15:42:53 -!- MizardX has quit (No route to host). 15:43:12 -!- MizardX- has changed nick to MizardX. 15:44:06 GregorR: ? 15:47:08 -!- BeholdMyGlory has quit (Remote closed the connection). 15:48:31 GregorR: MAGIC PING. 15:48:39 ehird: Because I don't find myself going "hg addremove *OH SHIT*" a lot. 15:48:47 :D 15:49:14 You've been waiting a long time for me to wake up, yeesh X-D 15:49:26 GregorR: Erm, 10 minutes? 15:49:51 Your first directed message to me was an hour and thirty minutes ago. 15:50:28 o 15:50:41 Anyway, f(a\nb\nc) certainly shouldn't be idiomatic. In fact, it makes no sense whether you're coming from C-land or Haskell/ML/etc-land. 15:51:03 So I think that example was basically nonsense :P 15:51:54 So, cplof has no parser? So you can't really test it 15:52:22 ./dplof/plofc plof_include/std.psl -o foo.psl; ./cplof/src/psli foo.psl 15:52:41 Heh 15:52:56 GregorR: What horrific D environment do I need to compile dplof? 15:53:09 Tango + DSSS. If you're on x86_64, I can just hand you some binaries. 15:53:26 (This is why I'm moving away from D :P ) 15:53:32 GregorR: Linux binaries, I assume. 15:53:38 Yeah 15:53:42 Not very useful then :P 15:53:46 GregorR: Does DSSS work with LDC? 15:54:23 ehird: Yes, it does. 15:54:33 Deewiant: Yay! How many babies do I gotsa sacrifice? 15:54:36 IIRC the .conf for that is only in SVN. 15:54:45 If you got rebuild working than DSSS should work out of the box. 15:54:50 then* 15:54:58 Deewiant: I trashed my ldc setup when it started eating my young 15:55:13 GregorR: I assume you can't do the fancy DSSS bootstrap thing with ldc. 15:55:24 No, DSSS is (still) Phobos. 15:55:32 ehird: Why ask whether DSSS works if you don't have a working LDC? :-P 15:55:44 Deewiant: Because I want to know what I need to do 15:55:53 GregorR: Right, so, tangobos. 15:56:05 ehird: Since you're on a Mac you're screwed anyway ;-) 15:56:10 Deewiant: Why? 15:56:26 Also, I could be on a Mac running Linux, y'know. :P 15:56:46 Well, it just seems that D stuff tends to work less on OS X. 15:57:13 D stuff tends to work less. 15:57:30 http://i151.photobucket.com/albums/s126/wow_jbleau/I_quit_School.png 15:57:32 Somewhat, yes. 15:57:34 Seems I need to get choppin' on either a parser in C or a parser in Plof, with preference towards the latter. 15:58:08 GregorR: A parser in Ploforth. <_< 15:58:10 -!- BeholdMyGlory has joined. 15:58:47 ehird: If Plof is retargeted properly, it shouldn't matter what the underlying language is. 15:59:04 GregorR: Eh? So messing with PSL is discouraged in user code? 15:59:13 Yes. 15:59:17 That seems to defeat the point of the magical meta syntax-swapping Plof magick. 15:59:26 ... PSL is bytecode. 15:59:34 APSL, wuteva. 15:59:35 You don't usually write JVM bytecode directly into your Java code. 15:59:48 GregorR: Sure, but you kept saying how nice it was to swap syntax out using psl. :P 16:00:03 You can swap syntax out using Plof now. 16:00:06 Ah. 16:00:25 Well, you can't write the parser in Plof without a shakily brittle preparsed bootstrap process. 16:00:55 It's the "shakily brittle" I'd like to get rid of X-D 16:01:02 GregorR: So write it in Ploforth. :P 16:01:13 I don't think that's the be-all end-all to making it unbrittle. 16:01:19 Or even would make much of a difference. 16:01:26 It would just make the underlying language marginally more powerful. 16:01:29 GregorR: Well, Plof parser in Plof has no way of parsing it. 16:01:38 Plof parser in Ploforth lets you use the Ploforth parser to parse it so you can parse Plof. 16:01:39 The Plof parser in Plof can be compiled to PSL. 16:01:48 GregorR: Yes, but that's brittle-r. 16:01:54 What if syntax changes the way it's parsed? 16:01:58 You can't parse it with the existing one. 16:02:08 The existing one, which conveniently you already compiled to PSL. 16:02:11 Ploforth would seem the right choice for the implementation langauge of Plof things. 16:02:51 You're just suggesting that I write that parser in $PLACE_FAVORITE_TARGET_LANGUAGE_HERE, which seems weird since Plof just compiles to that anyway. 16:03:29 GregorR: Because writing the X parser in X is a doorway to a world of pain. 16:03:49 What if the syntax of X changes so that your new X parser --written with the new X syntax-- cannot be parsed with the old pre-parsed X parser? 16:04:00 GregorR: Also. 16:04:03 You need to write two parsers. 16:04:08 Remember, by "parser" I mean "runtime-malleable parsing system" 16:04:10 One to bootstrap the process by parsing the Plof parser 16:04:19 GregorR: Er, shouldn't the whole thing be in that? 16:04:27 Start with Ploforth, add the PUL syntax in it. 16:04:36 (s/Ploforth/APSL etc/, too) 16:04:55 I'm going to call the lower-level language LLL to avoid taking sides. Now, let me explain: 16:05:10 L^3 16:05:13 Plof is written with first some LLL code that builds up a grammar, then Plof, which all compiles to LLL. 16:05:24 Now, I want to write a malleable, Plof parser in Plof. 16:05:33 That will then be compiled, first time by dplof, to LLL. 16:05:57 Now, that code is loaded into, e.g., cplof, and provides not a parser for Plof necessarily, but a runtime-malleable parser. 16:06:07 16:05 GregorR: Plof is written with first some LLL code that builds up a grammar, then Plof, which all compiles to LLL. 16:06:08 16:05 GregorR: Now, I want to write a malleable, Plof parser in Plof. 16:06:11 WHy can't they be the same thing 16:06:21 There's no reason to haev an unchangable parser at any level apart from LLL 16:06:28 then the LLL should build the malleable parser 16:06:29 It's NOT an unchangeable parser >_< 16:06:49 Sorry, by "Plof parser" I meant "parser suitable for use in Plof" 16:06:53 GregorR: Sec -- I compile Rebuild first, and then DSSS right? 16:06:55 Also. 16:06:56 You mean 16:06:58 a parsing _library_? 16:07:06 I don't think that's a language concern 16:07:24 It's not /really/ a parsing library, but if that term seems closer to you, sure. 16:07:33 GregorR: What's it for 16:08:14 You feed it parsing rules, then you feed it unparsed code, and it spits out the result of applying the parsing rules. It's the same as the parser in dplof. 16:08:31 Tell you what, I'll think about all this when I understand it. 16:08:35 Now... I have ldc. 16:08:53 I need the ldc-posix-tango thing. 16:09:03 Ah, here it is. 16:09:13 ln -s `pwd`/ldc-posix-tango $HOME/.rebuild 16:09:21 Er.. 16:09:22 Ah. 16:09:41 I have to compile rebuild/DSSS. 16:09:41 GregorR: Should I use the svn version? 16:10:03 Yeah, it should be stable. 16:10:32 D is a ghetto :-P 16:11:09 A dsss/Makefile.gdc.posix 16:11:10 A dsss/Makefile.dmd.win 16:11:13 Oh fucksake. 16:11:34 Ah, some sort of thing in ldc/ 16:11:39 I only wish I understood it 16:12:14 Just .../rebuild -full -Irebuild sss/main.d -ofdsss 16:12:14 GregorR: Hokay, so, how would I compile DSSS with LDC? 16:12:18 Er. 16:12:20 I don't have rebuild, see. 16:12:26 cd rebuild, make 16:12:34 GregorR: what will that compile with 16:12:36 g++ 16:12:40 ah. 16:12:47 rebuild is based on the DMD frontend, which is C++ 16:13:37 Neither DMD nor GDC found in $PATH. Not configuring a default. 16:13:37 Please add ONE of the following lines to your rebuild.conf/default file: 16:13:44 Aww, poor rebuild is confused. 16:13:46 * ehird copies. 16:14:10 GregorR: Er, wuz "rebuild.conf/default" 16:14:19 o 16:14:19 there 16:14:24 echo 'profile=ldc-posix-tango' > ~/.rebuild/default 16:14:32 And copy rebuild.conf/tango in there for good measure :P 16:14:42 You mean: 16:14:46 cp ~/Downloads/ldc/ldc-posix-tango rebuild.conf 16:14:52 then add profile=blah to rebuild.conf/default 16:14:54 then make install 16:15:05 Sure, why not :P 16:15:16 GregorR: OK, then I'll need a user tango library thing, right? 16:15:30 GregorR: So compile DSSS, net install tango or whatnot? 16:15:30 .................................... I have no idea what that means. 16:15:39 Nor. Do. I. 16:15:43 Isn't tango installed as part of LDC? 16:15:47 "While LDC does use the Tango runtime per default, you still need to compile the Tango user library to build most applications. " 16:15:49 http://www.dsource.org/projects/ldc#UsingTango 16:15:58 Oh, that's nice >_> 16:16:01 Then the next section about using rebuild also mentions tango, I have no fuckin' idea. 16:16:08 But I get I shouldn't do the using tango stuff 16:16:10 and instead do it with rebuild 16:16:14 TBH, I don't know how to help you there, I guess you'll need to get Tango and compile it separately. 16:16:38 GregorR: Well, won't "dsss net install tango version thing 0.99.8" work? 16:16:51 Only after you compile dsss. 16:16:57 Right. 16:17:03 ln -s rebuild /usr/local/bin/rerun 16:17:03 ln: /usr/local/bin/rerun: File exists 16:17:05 Grr. 16:17:13 ... why is it linking? 16:17:18 It shouldn't link. This directory won't exist soon. 16:17:42 ln -s rebuild links something to rebuild in whatever directory the target is, not the current directory. 16:17:46 Ah. 16:17:50 ln -s $PWD/rebuild links to rebuild in the current directory. 16:17:50 You sure? 16:17:52 Quite. 16:18:01 wait... 16:18:05 what's ln's arg order again? 16:18:12 src target. right 16:18:18 Yes. 16:18:22 sudo ln -s /usr/local/bin/{rebuild,rerun} 16:18:26 Except that 'src' is just a name, not a file. 16:18:38 That's not good, if you ever move things from /usr/local/bin/bleh to anywhere else. 16:19:23 I won't. 16:19:31 Aaaanywho, here's the problem: 16:19:35 Okay I have rebuild 16:19:39 DSSS is meant to be built against Phobos, b 16:19:40 Oh, problem, shit. 16:19:43 Right. 16:19:45 Tangobos. 16:19:45 Hm, I just hit enter. 16:19:47 Weird. 16:19:51 Tangobos? Tangobos. 16:19:59 Yeah, but for that you need Tango. 16:20:08 So (indirectly) DSSS requires Tango on LDC. 16:20:08 I think I have tango. 16:20:12 Just system tango or something. 16:20:14 Not user tango. 16:20:15 I don't know. 16:20:16 "While LDC does use the Tango runtime per default, you still need to compile the Tango user library to build most applications. " 16:20:17 Let's try it. 16:20:20 I know. 16:20:27 "rebuild -full -Irebuild sss/main.d -ofdsss" should work, right? 16:20:39 Certainly not if you don't have tangobos, but it may do something :) 16:21:00 sss/main.d(31): module file cannot read file 'std/file.d' 16:21:02 Rightyho. 16:21:09 GregorR: Ohhhh 16:21:11 I love that error message. 16:21:15 It's completely nonsensical. 16:21:17 GregorR: They want me to build user tango with rebuild 16:21:44 I would continue to be helpful, but unfortunately I actually need to leave >_> 16:21:49 :D 16:21:52 What with school and all that. 16:21:58 GregorR: one question. 16:22:00 Shore 16:22:07 Can tango be built with rebuild? 16:22:27 AFAIK, Tango for LDC is built by a complicated mess of shell scripts and makefiles. 16:22:35 Yeah. But. 16:22:35 No rebuild, no DSSS. 16:22:42 It offers rebuild as an alternative, GregorR, and there's tango/dsss.conf 16:23:02 If there are instructions on building with rebuild and no DSSS, go for it. 16:23:03 ehird: I wouldn't bother, just use the shell scripts 16:23:13 Kay. 16:23:14 Thanks. 16:23:31 GOD this is a pain in the pain. 16:23:42 Somebody needs to assert God-like power over the D community and clean this whole mess up. 16:23:54 Yes. 16:24:03 Benevolent Dictator For Until You Get Your Fucking Shit Together. 16:24:10 What particular mess now? 16:24:21 Deewiant: You are blind. 16:24:36 I'm not reading the logs at all, just tell me or don't 16:24:47 Deewiant: Getting D working. 16:25:14 Getting LDC to work is a matter of cmake && make && make runtime 16:25:23 Deewiant: D1 vs D2, combine that with Phobos vs Tango, combine that with one compiler that only supports Tango, one that barely supports anything, and one that only supports D1, and *KABOOM* 16:25:30 Getting Tango to work thereafter is a matter of cd tango/lib && something 16:25:45 one that barely supports anything? 16:25:50 dmd? :P 16:25:54 Yes :P 16:25:59 GregorR: GDC being the last of the three? 16:26:02 Perhaps I'm more negative than I need to be on DMD :P 16:26:04 Deewiant: Yeah. 16:26:08 GDC only supports 2007 16:26:09 :D 16:26:18 Deewiant: Its D2 support doesn't count because it's wildly out of date. 16:26:34 Deewiant: Sure, once you know what and where everything is, the process is simplish, but to somebody who doesn't use D all the time, getting it all set up is insanity. 16:26:51 GregorR: I haven't used D2 at all since Tango doesn't support it so I don't know about that 16:27:30 Actually I'd say the trickiest part of getting D set up is getting DSSS and/or Rebuild set up 16:27:39 Yaaaaaaaaaaaay :P 16:27:40 With LDC, the basic process is really simple IMO. 16:28:13 Now /me really needs to leave for schoo,. 16:28:14 *school 16:28:16 *vanish 16:28:26 GregorR: I wanted to build a 64-bit binary of Rebuild and had to hack its source to make it LDC-aware 16:28:27 [ehird:~/Code/scraps/2009-04] % rebuild hello.d 16:28:27 WARNING: Module hello.d does not have a module declaration. This can cause problems 16:28:29 with rebuild's -oq option. If an error occurs, fix this first. 16:28:31 Undefined symbols: 16:28:33 "__D5tango4stdc6stdlib8__ModuleZ", referenced from: 16:28:35 __D6object9__importsZ in libtango-base-ldc.a(genobj.o) 16:28:37 Hurh. 16:28:41 ehird: It can't find libtango-user-ldc.a 16:28:48 The WARNING can be ignored. 16:28:54 Deewiant: Then it's dumb as fuck. Wait. "__D6object9__importsZ in libtango-base-ldc.a(genobj.o)" 16:28:56 Of course it can find it. 16:28:59 ehird: No it can't. 16:29:01 It just mentioned it referencing something. 16:29:04 ehird: That's -base-, not -user-. 16:29:07 o 16:29:13 Right, I need to compile tango. 16:29:36 Now... what rebuild invokation... 16:29:40 *invocation 16:29:45 For Tango, just use the shell scripts, seriously. 16:29:52 Look, I'm batshit insane, okay? 16:29:57 It's part C++. 16:30:01 Rebuild won't suffice. 16:30:06 Your mom's part C++. But fine. 16:30:21 My mom's too old to be any part C++. 16:30:28 She traveled in time. 16:30:38 Meh. 16:30:47 % ./build-tango.sh ldc 16:31:03 I forget. Maybe. 16:33:53 Okay, so after this I do some really wild rebuild shit wit tangobos. Or something. 16:34:04 Um. Hizzouse. 16:35:20 Deewiant: I did "sudo install libtango-user-ldc.a /usr/local/lib" and it still can't find it. 16:35:42 Run rebuild -v to see what it's doing. 16:35:59 link ldc ./nmd_hello.o ./tango.io.Stdout.o ./tango.io.Console.o ./tango.sys.Common.o ./tango.sys.darwin.darwin.o ./tango.stdc.time.o ./tango.stdc.config.o ./tango.stdc.stddef.o ./tango.stdc.posix.dlfcn.o ./tango.stdc.posix.config.o ./tango.stdc.posix.fcntl.o ./tango.stdc.stdint.o ./tango.stdc.posix.sys.types.o ./tango.stdc.posix.sys.stat.o ./tango.stdc.posix.time.o ./tango.stdc.posix.signal.o ./tango.stdc.signal.o ./tango.stdc.posix.poll.o ./tango.s 16:36:02 tdc.posix.pwd.o ./tango.stdc.posix.unistd.o ./tango.stdc.posix.inttypes.o ./tango.stdc.inttypes.o ./tango.stdc.posix.sys.select.o ./tango.stdc.posix.sys.time.o ./tango.stdc.errno.o ./tango.stdc.string.o ./tango.io.device.Device.o ./tango.core.Exception.o ./tango.io.device.Conduit.o ./tango.io.model.IConduit.o ./tango.io.stream.Buffered.o ./tango.io.stream.Format.o ./tango.text.convert.Layout.o ./tango.text.convert.Utf.o ./tango.text.convert.Float.o ./tan 16:36:07 go.text.convert.Integer.o ./tango.core.Vararg.o ./ldc.Vararg.o -ofhello -L-L/usr/local/bin/../lib -d-version=Tango -defaultlib=tango-base-ldc -debuglib=tango-base-ldc 16:36:19 Hmm, right, that's probably right. 16:36:24 Now adjust your bin/ldc.conf to include -L-ltango-user-ldc. 16:36:24 o 16:36:43 // 'switches' holds array of string that are appends to the command line 16:36:43 // arguments before they are parsed. 16:36:44 switches = [ 16:36:45 It occurs to me that using -user- isn't what you're supposed to do. 16:36:46 "-I/Users/ehird/Downloads/ldc/runtime/../tango", 16:36:48 "-I/Users/ehird/Downloads/ldc/runtime/../tango/lib/common", 16:36:50 "-L-L/Users/ehird/Downloads/ldc/runtime/../lib", 16:36:52 God damn, this shit is dumb. 16:36:57 I DID "MAKE INSTALL" 16:37:05 THAT MEANS MY TEMP DIRETORY WILL GO DISAPPEAR 16:37:20 Now I have to resolve your own fuckin' paths for you. 16:37:33 It only installs the binary and the conf, it expects tango to be where it originally was 16:37:42 RAAAAAAAAAAAAAAAAAAAAAAAAR 16:38:40 There's absolutely no obvious way to *install* Tango. 16:39:30 There is a way, I forget what it is though since I always just use the SVN. 16:39:53 Deewiant: Good news: LDC can't build Tango SVN. 16:39:54 -!- Slereah has joined. 16:39:57 * ehird trashes binaries, starts again. 16:40:05 It can't? 16:40:10 Indeed. 16:40:14 How's that 16:40:15 It says so on the page. 16:40:19 What page 16:40:23 Fetch the tango runtime for D1. Note that LDC fails to compile trunk at the moment - use 0.99.8. 16:40:26 The LDC page. 16:40:47 Hmm, that's recent. 16:42:39 Deewiant: So what you're saying is that I should build ldc with the tango runtime where I want to install it? 16:43:00 As in, have the tango runtime in /usr/local/lib/tango or whatever and tell ldc to use that. 16:43:08 since "it expects tango to be where it originally was" 16:43:25 Well, I guess it's either that or edit ldc.conf after the fact. 16:44:08 Okay. I can handle that. Sure. Except, I don't know how to tell ldc that tango's thataway :| 16:44:17 CMake, I guess? 16:44:38 RUNTIME_DIR */Users/ehird/Downloads/ldc/runtime/../tango 16:44:39 Guess so. 16:48:47 -D := 16:48:52 I wonder wtf type is 16:49:03 As do I 16:49:32 Does just -D foo=bar work? 16:50:01 I'll try. 16:50:35 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 16:51:35 -!- pikhq has joined. 16:55:16 "-L-L/usr/local/workspace/ldc/runtime/../lib", 16:55:17 BAH. 16:55:40 This is the most user-hostile build process ever. 16:56:10 You haven't built much stuff on Windows, I take it 16:56:31 Windows is the first disease targeted at programmers. 16:57:18 I can't even think of a way to fix it without sed 16:57:29 What, Windows? :-D 16:57:39 :D 17:03:53 Okay, so, right. 17:03:59 I could unpack it to /usr/local. 17:04:01 But, just no/ 17:04:05 I'll take the easy route. 17:04:08 /usr/local/d/ 17:04:32 Also, like said, there's the fact that you don't have to be linking to -user- and it's preferable not to 17:04:41 Deewiant: I don't get it. 17:04:49 I have to link to -user-. 17:04:54 Otherwise no tango. 17:05:06 The reason you're using rebuild is that it builds against the tango modules directly 17:05:09 No -user- needed 17:05:19 Ah. 17:05:26 The alternative is to not use rebuild and link program.o against -user- 17:05:53 I pondered briefly why you got an error earlier and am not sure. 17:06:11 Deewiant: Wrong paths in the hizzouse. 17:06:28 ehird: I doubt it, since it seemed to have everything it needed. 17:06:39 ldc.conf's paths pointed to my weird-ass download dir. 17:06:42 * ehird shrug 17:07:10 Well, whatever. 17:07:29 Let's hope it works in a cage. 17:11:15 Deewiant: So I need to not build -user-? 17:11:22 ie omit the build-tango.sh step 17:11:29 You not to need 17:11:52 You can, and I always do out of habit, but I don't think I've ever actually needed it 17:11:52 :D 17:14:40 Fuck. I messed up my magick build steps. 17:20:49 I hope rebuild works without installing. 17:23:51 Yay! Tangobos's makefile uses dmd, and the only other way to compile it is dsss. 17:24:00 KILL ME NOW. 17:25:13 Build Gtk2hs on Windows twice and then reconsider your predicament. 17:25:32 No, I'd rather kill myself like my current plan, but thanks for the offer. 17:25:43 Deewiant: try building gtk2hs on os x _once_ using native gtk 17:25:48 you have to manually patch a .cabal.in 17:25:57 and have a HUGE pkgconfig environment variable 17:26:00 You have native GTK? That's cheating 17:26:02 Oh, and pkgconfig! 17:26:10 native gtk == gtk for os x. 17:26:12 You have all these things that do things for you 17:26:16 No 17:26:19 They don't do things for me 17:26:23 The majority of it is working around it 17:26:49 On Windows you have to start with building Gtk 17:26:52 Which takes a day or two 17:27:02 you can dl a binary 17:27:13 And find that it doesn't work 17:28:14 why doesn't t his just work 17:28:37 everything works up to tangobos 17:28:52 Swap ldmd for dmd in the makefile 17:28:54 And see what happens 17:29:42 I have no "ldmd". 17:29:56 Consider getting one :-P 17:30:10 It's in ldc/bin for me 17:30:26 Maybe make install doesn't install it or something 17:30:57 Less try this 17:30:57 rebuild -full std/*.d std/*/*.d 17:31:17 std/stream.d(1824): Error: identifier 'HANDLE' is not defined 17:31:18 std/stream.d(1824): Error: HANDLE is used as a type 17:31:21 std/date.d(963): Error: function std.c.linux.linux.time (__time_t*) does not match parameter types (int*) 17:31:25 std/path.d(83): Error: static assert is false 17:31:28 Etc etc etc. 17:31:58 Hmm. 17:31:59 The first one might be a version (Linux) else // win32 17:32:03 Ah. 17:32:12 HOw can I specify version Linux? 17:32:22 You can't, it's built-in and unmodifyable. 17:32:25 actually, no 17:32:29 it's just testing version (Unix) 17:32:35 and 17:32:38 version(DigitalMars) version(Posix) { 17:32:38 version=Unix; 17:32:39 } 17:32:41 so can't I do 17:32:43 version=Unix 17:32:46 Try 17:32:47 on the command line or sth 17:32:59 -version=ident compile in version code identified by ident 17:33:07 -version=Linux -version=Unix 17:33:29 std/date.d(877): Error: identifier 'time_t' is not defined 17:33:29 std/date.d(877): Error: time_t is used as a type 17:33:30 Hm. 17:33:59 It just uses time_t. 17:34:02 Oh. 17:34:04 Hm. 17:34:15 I don't get it 17:34:22 Where's time_t meant to b 17:34:23 e 17:34:37 Ohhhh. 17:35:48 Deewiant: Mostly same issue, those non-existant types. 17:37:04 ... oh wait. 17:37:09 Tangobos is maybe wanting an older Tango. 17:37:29 ------------------------------------------------------------------------ 17:37:30 r62 | fawzi | 2009-04-17 15:00:59 +0100 (Fri, 17 Apr 2009) | 2 lines 17:37:31 improvements to compile tangobos with latest tango and dmd on mac (but still tangobos is still broken) 17:37:43 FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUCCCCCCCCCCCCCCCCCCCCCKKKKKKKKKKKKKKK 17:38:25 -!- GregorR-L has joined. 17:38:32 GregorR-L: I hate you. 17:38:33 ------------------------------------------------------------------------ 17:38:33 r62 | fawzi | 2009-04-17 15:00:59 +0100 (Fri, 17 Apr 2009) | 2 lines 17:38:35 improvements to compile tangobos with latest tango and dmd on mac (but still tangobos is still broken) 17:38:41 It's all broken ;_; 17:39:14 I haven't had anything to do with tangobos in quite a while. 17:39:39 GregorR-L: You made it, it's broken. So there. :P 17:39:52 I believe it is literally impossible for me to get LDC/DSSS working. 17:40:02 + on Mac and that may be true. 17:40:27 GregorR-L: it'd be quicker to rewrite all of dplof :P 17:40:44 Try something like this to compile manually maybe: rebuild plof/main.d -ofdplof 17:40:48 Idonno if that'll work. 17:41:13 -!- neldoreth has quit ("Lost terminal"). 17:41:20 (Same with plof/psl/pslasm.d to pslasm) 17:41:54 % PATH=/usr/local/d/dsss/rebuild:/usr/local/d/ldc/bin:$PATH rebuild plof/main.d -ofdplof 17:41:58 Seems to be working. 17:42:01 Ahaahahaha. 17:42:01 No. 17:42:08 ? 17:42:15 GregorR-L: Behold: 17:42:19 http://pastie.org/449962.txt?key=m9vakzgxmncjztocjrn9ig 17:42:42 hahahahahhahahaha fuck LDC. What do you use for dplof GregorR-L? 17:42:43 Sweet, I crashed ldc. 17:42:49 gdc still :P 17:42:57 Does it build with dmd? 17:43:05 It should. 17:43:07 That's ever so slightly more modern than gdc, at least. 17:43:17 OTOH, DSSS+GDC justWorks. 17:43:20 So I'll do that. 17:43:43 Okidoke. 17:43:57 GregorR-L: Install gdc, compile rebuild, compile dsss, dsss net install tango. 17:43:58 Right? 17:44:07 Yup 17:44:34 % sudo port install gdc ← ah, convenience. 17:48:16 -!- BeholdMyGlory has quit (Remote closed the connection). 17:48:34 sudo dsss install gdc # Ah, distro-agnostic convenience. 17:48:43 s/install/net-install/ 17:49:13 pikhq: Im in ur cyclic dependency loop, being fragile. Im in ur five thousand separate package managers, failing at inter-language dependencies and failing at convenient system upgrades. 17:50:06 wget http://.../gcc-core-.tar.bz2; tar xf gcc-core-; wget http://.../gdc-.tar.gz; ; configure; build <- AHHHHHH! Convenience?! :P 17:50:35 hg clone ldc, svn co tango, cp patch rm svn make make runtime sed cp tangobos KILL YOURSELF 17:50:38 Convenience! 17:54:51 GregorR-L: Well, that would be the LFS way. 17:55:20 Yay LFS 8-D 17:55:32 -!- neldoreth has joined. 17:57:54 GregorR-L: I have GDC. Now dsss, right? 17:58:16 Yes 17:58:21 Could've just gotten a binary of dsss and let that deal with the mess, but, yeah. 17:58:30 pikhq: For OS X? 17:59:05 Ah. Well, not very likely to find one, then. ;) 17:59:37 Ignore any error from GDC or DMD in the following lines. 17:59:37 /Users/ehird/Downloads/dsss/rebuild/./testtango.d:3: function testtango.A.toUtf8 function toUtf8 does not override any 17:59:39 :D 18:00:11 -!- KingOfKarlsruhe has joined. 18:01:20 ehird: That's correct, that's how it detects whether you have Phobos or Tango installed. 18:01:24 I know. 18:01:25 Just amusing. 18:01:49 GregorR-L: I has a rebuild. 18:01:54 make -f Makefile.gdc.posix? 18:02:09 Yes 18:02:20 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:916:indirect jmp without `*' 18:02:20 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:935:indirect jmp without `*' 18:02:22 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:950:indirect jmp without `*' 18:02:24 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:965:indirect jmp without `*' 18:02:26 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:980:indirect jmp without `*' 18:02:28 WTFBBQ? 18:02:28 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:995:indirect jmp without `*' 18:02:30 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:1017:indirect jmp without `*' 18:02:32 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:1036:indirect jmp without `*' 18:02:34 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//cc3G6Yos.s:1051:indirect jmp without `*' 18:02:34 WTFBBQ? 18:02:36 make: *** [dsss] Error 1 18:02:38 About 7 billion lines of them 18:02:40 Also 18:02:42 hcf/env.d:55: static assert is false 18:02:44 hcf/process.d:149: function hcf.process.PStream.readBlock expected to return a value of type uint 18:02:46 hcf/process.d:172: function hcf.process.PStream.writeBlock expected to return a value of type uint 18:02:48 sss/conf.d:206: static assert is false 18:02:50 what what in the butt 18:03:44 Oh wait, do you still have ~/.rebuild floating about? 18:03:49 Setting rebuild's default to LDC? 18:04:03 Maybe 18:04:08 ... That'd do it. 18:04:08 GregorR-L: no 18:04:08 DESTROY 18:04:12 Oh 18:04:25 Well, then. BAD ASSEMBLY GENERATOR, BAD! 18:04:30 Seems like the installed gdc is wrong D-8 18:04:44 Hrm. 18:04:49 GregorR-L: Phobos hello world, plz? 18:05:18 Wow, I actually can't think of it O_O 18:05:22 haha 18:05:47 Wasn't it something like writeln("Hello, world!"); ? 18:06:00 import std.stdio; int main() { writeln("Hello, world!"); return 0; } 18:06:08 -!- neldoreth has quit (Remote closed the connection). 18:06:14 gdc hello.d -o hello 18:06:22 hello.d:1: Error: undefined identifier writeln 18:06:23 hello.d:1: Error: function expected before (), not writeln of type int 18:06:26 :awesome: 18:06:36 GregorR-L: Also, that Tango-test doesn't work any more since Tango also gives toString. 18:06:50 ehird: Oh, I'm sorry, writefln 18:07:04 Deewiant: Super :P 18:07:14 Oh, vunderbar. 18:07:20 GregorR-L: Is there a particular reason you can't just use version (Tango)? 18:07:24 -!- neldoreth has joined. 18:07:40 % gdc hello.d -o hello 18:07:40 /var/folders/sv/sv9BdLB9FEa1o30pkRqXCk+++TI/-Tmp-//ccth4S8d.s:194:indirect jmp without `*' 18:07:45 OTOH 18:07:46 % ./hello 18:07:47 Hello, world! 18:07:47 Or I don't know, try to import std.stdio 18:07:53 So it's just a warning 18:07:55 Deewiant: I recall there being some complicated issue behind it, but I don't remember what it was ... 18:07:59 Albeit a hugely fucking annoying one 18:08:01 :-P 18:08:10 GregorR-L: Ergo, the problem is the other errors 18:08:18 18:02 ehird: hcf/env.d:55: static assert is false 18:08:18 18:02 ehird: hcf/process.d:149: function hcf.process.PStream.readBlock expected to return a value of type uint 18:08:21 18:02 ehird: hcf/process.d:172: function hcf.process.PStream.writeBlock expected to return a value of type uint 18:08:24 18:02 ehird: sss/conf.d:206: static assert is false 18:08:30 } else { 18:08:31 static assert(0); 18:08:32 ehird: Seems like Posix is unset, but I don't know why ... what's in rebuild/rebuild.conf/default ? 18:08:32 } 18:08:34 Ah. 18:08:36 version Posix or version Windows. 18:08:45 GregorR-L: profile=gdc-posix 18:08:51 I love the way that Walter at some point decided that not printing the test in static assert is unnecessary 18:09:03 Well, that's certainly *unique*. 18:09:06 I think it prints "" in a %s which is why there's a double-space there 18:09:23 "static assert %s is false" 18:09:31 :D 18:09:38 Deewiant: Eeeew. 18:09:42 It used to print the messages, after all 18:09:49 In, I don't know, 0.15x? 18:10:01 I hate D. 18:10:04 With a fiery passion of fire. 18:10:16 ehird: rebuild -vv sss/main.d -ofdsss and pastebin the (extensive) output 18:10:25 I think I'll try to install Tangobos too 18:10:51 GregorR-L: Extensive output: http://pastie.org/449989.txt?key=rz2d3r4vsx85uldnzsm9vw 18:11:07 lol :P 18:11:14 Sorry, forgot -Irebuild 18:11:33 GregorR-L: New extensive output: http://pastie.org/449989.txt?key=rz2d3r4vsx85uldnzsm9vw 18:11:42 ehird: I love D, I hate its build environment. 18:11:56 (with the exception of dsss, really; that's a nice bit of work) 18:12:40 ehird: >_O 18:12:58 rebuild -vv -Irebuild sss/main.d -ofdsss doesn't find util/ in rebuild/? ... 18:13:31 Wanna hear a joke guys? 18:13:40 D. 18:13:44 LAWL 18:14:42 SOOOOOOOOOOOOOOO 18:15:00 WUT I DO LOL 18:15:05 oh wait 18:15:05 GregorR-L: 18:15:10 is that a capital i 18:15:13 Yes 18:15:16 not a lowercase L 18:15:20 :DDDDDDDDDDD 18:15:22 Not a lowercase l. 18:15:22 DDDDDDDDDDDDDDDDDDD 18:15:23 :P 18:15:23 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 18:15:24 DDDDDDDDDDDDDDDDDD 18:15:26 D 18:15:47 GregorR-L: New output 18:15:48 dmd: unrecognized switch '-vv' 18:15:49 dmd: unrecognized switch '-vv' 18:15:51 dmd: unrecognized switch '-vv' 18:16:06 Whoops, sorry, -vv is a DSSS flag, meant just -v X-D 18:16:33 And lo, the output was finally extensive. 18:16:35 std/date.d(901): Error: cannot implicitly convert expression (localtime(&t)) of type tm* to tm* 18:16:38 Darn! 18:16:42 GregorR-L: http://pastie.org/449995.txt?key=prfwckd8qsk43dhlubdddq 18:16:42 compile gdmd -c hcf/env.d -of./hcf.env.o -I/usr/local/bin/../include/d -Irebuild -version=GNU_or_Posix 18:16:47 GNU_or_Posix. 18:16:50 You heard it here first. 18:17:05 WTF X-D 18:17:13 version(GNU) { } version (Posix) { } version (GNU_or_Posix) {} version (Posix_or_GNU) {} version (GNU_Linux) { } 18:17:14 etc 18:18:01 You don't have any weird ~/.rebuild or /etc/rebuild set up in some inexplicable way ...? That's truly confusing. 18:18:42 grep GNU_or_Posix rebuild/rebuild.conf/* ? 18:19:13 % grep GNU_or_Posix **/* 18:19:14 sss/conf.d: pragma(export_version, "GNU_or_Posix"); 18:19:15 sss/conf.d: pragma(export_version, "GNU_or_Posix"); 18:19:42 GregorR-L: lolwut^_^ 18:20:31 Oh duh, forgot all about that, so the real mystery is why -version=Posix is seemingly not in your rebuild.conf/gdc-posix ... 18:20:33 -!- Slereah_ has joined. 18:20:55 it has 18:20:57 version=GNU 18:20:58 and 18:20:59 version=Unix 18:21:05 but not posix 18:21:14 On its cmd=gdmd line it should have -version=Posix 18:21:18 Whisky Tango Foxtrot... 18:21:23 cmd=gdmd -c $i 18:21:23 cmd=gdmd $i -of$o 18:21:27 cmd=gdmd -q,-shared -q,-nodefaultlibs $i -of$o 18:21:30 cmd=gdmd -q,-shared -q,-nodefaultlibs $i $l/dymoduleinit.d -of$o 18:21:36 WTF ITS GONE 18:21:38 version=-version=$i 18:21:43 GregorR-L: you're on crack. 18:21:54 Who TF remoed that from gdc-posix??? 18:22:05 GregorR-L: 18:22:06 ------------------------------------------------------------------------ 18:22:06 r943 | Jim Panic | 2009-03-31 21:01:52 +0100 (Tue, 31 Mar 2009) | 2 lines 18:22:08 Removed "version = Posix" statements from rebuild/util sources. 18:22:10 ------------------------------------------------------------------------ 18:22:12 r942 | Jim Panic | 2009-03-31 20:54:59 +0100 (Tue, 31 Mar 2009) | 2 lines 18:22:14 Removed all occurances of -version=Posix from rebuild config files. 18:22:16 XDDDDDDDDDDDDDDD 18:22:18 ... WHY 18:22:23 * ehird seizure of laughteramust 18:22:38 FUCK YOU JIM PANIC. 18:22:55 ... maybe you should grab the latest release of DSSS instead of SVN X_X 18:23:01 hahahhahah 18:23:02 Doesn't the frontend error if you set -version=Posix? 18:23:14 Deewiant: Yeah, but that's not in GDC (yet) 18:23:21 Deewiant: (Or ever) 18:23:25 GregorR-L: Latest release link plz 18:23:25 Well, that'd explain it :-P 18:23:32 GregorR-L: Would you like something to kill Jim Panic with? 18:23:43 pikhq: Make him set up LDC/DSSS on OS X. 18:23:45 I'm talkin' to 'im. 18:23:48 Also, got Tangobos's D parts to build, now working on the C 18:23:50 Forever. 18:24:15 ehird: That's significantly worse than doing the same on x86_64. 18:24:26 pikhq: I tried it with _64 ... on OS X, before. 18:24:43 pikhq: Let's just say that Dante got it all wrong. He could not possibly imagine. 18:24:47 It took me a couple of years. 18:24:58 Sorry, that was GDC/DSSS/Tango. 18:25:10 GDC? Pfft. Peanuts. 18:25:20 Yay, I have a libtangobos.a 18:25:22 LDC/Tangobos/DSSSS/OS X, 64-bit. 18:25:27 I wonder if it works at all 18:25:33 Also known as "las diablos compileros". 18:26:09 -!- Slereah has quit (Read error: 110 (Connection timed out)). 18:26:14 ehird: svn up 18:26:23 svn co again, you mean :P 18:26:37 Hmm, not quite it doesn't work 18:26:39 Or "downgrade" to a release. 18:26:40 Also fine. 18:27:13 Let's try this, then. 18:27:49 GregorR-L: Still lots of indirect jump bullshit but no ERRORS 18:27:50 yAAAAAAAAAAAy 18:28:01 % sudo make -f Makefile.gdc.posix install PREFIX=/usr/local 18:28:16 ehird: Please understand that I'm phasing out dplof for this very reason :P 18:28:25 Hmmh, no alloca 18:28:33 GregorR-L: Mhm. 18:28:50 GregorR-L: Make dsss shit owned by me then net install tango, right>? 18:28:57 Yeah 18:29:04 (Why not use sudo? shrug) 18:29:39 * GregorR-L disappears again. 18:29:42 *poof* 18:29:44 -!- GregorR-L has quit ("Leaving"). 18:30:04 % dsss net install tango 18:30:12 Default prefix /usr/local is unwritable, using /Users/ehird/d instead. 18:30:15 Oh gawd on fuck earth, 18:30:21 Gah, no __builtin_alloca either 18:30:24 Where the hell is it 18:30:25 Now I need to figure out how to uninstall >________< 18:31:55 % dsss net install tango 18:31:56 Okay. 18:31:57 Let's hope this works. 18:33:40 You have chosen to install Tango via DSSS. If you follow through, you 18:33:40 will no longer be able to build Phobos-based software. Uninstalling 18:33:42 tango via DSSS WILL NOT uninstall the tango core, so this operation 18:33:44 is difficult to undo. Are you sure you want to do this? 18:33:51 I love this shit. Not. 18:34:07 Hmm, wtf 18:34:20 gdc: unrecognized option '-q,-nostdinc' 18:34:20 adi.d:149: constructor object.Exception.this (char[]) does not match parameter types (char[22u],char[5u],long) 18:34:20 writefln writes the newline but nothing else 18:34:23 adi.d:149: Error: expected 1 arguments, not 3 18:34:23 Tango, as currently implemented, is an evil hack. 18:34:25 adi.d:248: constructor object.Exception.this (char[]) does not match parameter types (char[23u],char[5u],long) 18:34:28 adi.d:248: Error: expected 1 arguments, not 3 18:34:30 gmake[2]: *** [adi.o] Error 1 18:34:32 gmake[2]: Leaving directory `/private/tmp/DSSS_tango/tango/tango/lib/compiler/gdc' 18:34:34 gmake[1]: *** [all] Error 2 18:34:36 gmake[1]: Leaving directory `/private/tmp/DSSS_tango/tango/tango/lib/compiler/gdc' 18:34:38 gmake: *** [lib] Error 2 18:34:39 ehird: What GDC? 18:34:40 Command bash returned with code 256, aborting. 18:34:42 Error: Command failed, aborting. 18:34:44 YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH 18:34:45 Also 18:34:46 latest. 18:34:50 ehird: Latest release? 18:34:52 Or latest SVN 18:34:55 release. 18:34:57 There's a big difference 18:35:02 Okay, you're screwed on that count 18:35:05 I will not get the svn because I'm trying to do this easily ;_; 18:35:07 Also 18:35:11 Deewiant: can't I 18:35:14 dsss net install gdc 18:35:15 I think the Tango guys say that GDC is screwed 18:35:20 they do 18:35:27 As in, unsupported 18:35:31 don't care 18:35:36 Then stop bitching 18:35:43 :P 18:35:46 Seriously :-P 18:35:56 but this shit is _ridiculous_ 18:36:03 Tangobos looks to be in a crock-state so I'll see about GDC 0.20 18:36:10 17:48 pikhq: sudo dsss install gdc # Ah, distro-agnostic convenience. 18:36:15 pikhq: that package doesn't even exist 18:36:50 Hrm. Gimme a bit to remember what it was. 18:37:47 Hmm, GDC works out of the box 18:37:56 Let's see if it can compile my Sudoku solver 18:38:18 Ew, a bud file 18:38:29 I wonder when I last used bud 18:38:30 god i hate d 18:38:34 Probably the last time I compiled this 18:39:18 gcc-4.3-gdc-0.20 or some such. 18:39:54 ehird: It's a good language with very bad support for, you know, getting an implementation up and running. 18:40:20 pikhq: unlike every other language, where a full environment is one command away 18:40:22 God, I hate GDC and Phobos and all that stupid shit you have to deal with. 18:40:36 Ding ding ding. 18:40:57 We have a winner. 18:41:14 >_< 18:41:16 Grah. 18:42:19 Hmm, GDC 0.24's Phobos is too new :-( 18:42:21 -!- jix_ has joined. 18:42:21 -!- jix has quit (Read error: 113 (No route to host)). 18:42:48 Or then it's been missing something forever, which is also possible 18:43:26 ;_; 18:44:17 Actually, it seems that this class I've been using is Windows-only O_o 18:44:30 That sucks 18:44:46 "is guaranteed to be meaningful on all operating systems." 18:44:52 But implemented only on one 18:45:43 Muah! 18:45:48 Changing that the thing builds 18:45:57 Deewiant: Just rewrite it in haskell :P 18:45:59 Had to pass -d though 18:46:29 What, the whole thing? 18:46:31 Nah. 18:46:43 8577 lines of code, wow 18:46:50 That's as long as CCBI 18:47:10 Ah no, thought not 18:47:20 Seemed awfully long to me; 2527 18:47:36 Deewiant: You can make a near-perfect solver in ~50 lines... 18:47:46 Yes, but that's crap 18:47:50 That's using guessing 18:47:54 This thing implements techniques 18:47:58 And explains what it's doing along the way 18:48:07 It didn't even support brute-force for many months 18:48:19 That's using guessing? O RLY? 18:48:26 That, or dancing links 18:48:31 http://www.haskell.org/haskellwiki/Sudoku 18:48:32 Or something equally weird 18:48:57 Yes, and? :-P 18:52:58 18:45 ehird: has anyone managed to get LDC/Tango/Tangobos working on OS X? I've tried and nothing is working. 18:53:00 SILENCE 18:53:14 Unsurprisingly enough 19:03:58 -!- oerjan has joined. 19:06:42 GregorR: one alternative is that if the next line is indented further it's a continuation 19:06:52 trying to get plof even closer to haskell? :D 19:06:56 >:) 19:09:09 They can appeal? 19:10:06 iirc the european court on human rights requires appeal for criminal cases - i think norway had to adjust some cases to comply with the judgement 19:10:52 as usual, my recalls are vague 19:10:55 *requires* appeal? 19:10:57 LOL WAT 19:11:00 oh 19:11:01 you mean 19:11:03 requires the option 19:11:03 *the right to appeal 19:11:04 of appeal 19:12:29 actually it may have been a more subtle technicality on how the appeals should be that norway had to change 19:17:52 Heheh, appeals are required. 19:17:57 Making the first judgment pointless. 19:18:08 Those low-level judges must hate their jobs :P 19:18:18 :D 19:18:52 19:17 lament: oh jesus 19:18:52 19:18 lament: we just got a bug report from a customer 19:18:53 19:18 lament: the bug is that we use the word "hack" in the comments in the source code 19:18:55 19:18 lament: we have to take "hack" out 19:18:57 — #haskell 19:20:14 19:19 lament: the reason they want to take it out is not because it's rude 19:20 lament: it's because "hack" can be misinterpreted as a reference to illegal activity 19:20:19 -!- M0ny has quit ("PEW PEW"). 19:20:21 My mom's too old to be any part C++. 19:20:26 19:20 lament: for the record the customer is Microsoft :) 19:20:38 you mean she's part _COBOL_? eew. 19:20:46 oerjan: COBOL porn. 19:20:48 Discuss. 19:20:57 Rule 34. 19:21:14 QED. 19:22:57 19:22 lament: MS has a tool called Policheck to check the source code 19:23:02 i should just set up a #haskell mirroring thing 19:23:04 but this is too great 19:28:46 My stomach was making the rumblies, that only hands would satisfy. 19:29:17 GregorR: Um. Did you think, "good god I might die?" 19:29:21 * ehird phew. rhyming order restored 19:29:44 this one time i felt something like an electric shock in my stomach, and fell on the ground. 19:30:09 Turns out I just ate some bad electric eel. 19:30:27 no no the punchline is it hurt like hell! 19:30:35 Hahaha! 19:30:38 The pain of others makes me smile! 19:36:08 http://sod.jodi.org/ 19:36:37 GOOD LAWD 19:36:38 That's an ugly page 19:36:52 There's uglier, I'm sure. 19:37:05 GregorR: Dude, it's jodi.org! 19:37:16 http://wwwwwwwww.jodi.org/ 19:37:17 Y'know? 19:37:30 I'd never heard of jodi.org :P 19:37:38 http://en.wikipedia.org/wiki/Jodi 19:37:48 No www.www.jodi.org :( 19:37:49 what the heck 19:38:00 Sheesh. You guys know nothing of the old interweb art :P 19:38:05 -!- Sgeo has joined. 19:39:02 -!- Hiato has joined. 19:41:03 http://asdfg.jodi.org/ 19:41:05 avoid being epileptic 19:41:20 ehird, you mean photosensitive epileptic? 19:41:25 Your mom 19:41:40 I'm pretty sure my mom was not epileptic 19:43:10 globalmove.us 19:46:20 That's weird. 19:47:07 "SL Economy in Detail: Strong growth in XLStreet. We are sure is has *nothing* to do with our buying and shutting down the only alternative." 19:48:57 GregorR: how's jsmips 19:50:37 ehird: Recently updated it to support GCC 4.3 19:51:12 GregorR: Why can't you just make a perl script that converts elf files to it like decent people. 19:51:27 ...............? 19:51:41 GregorR: So you can just use a regular mips gcc. 19:51:48 I am going to _KILL_ Windows 19:52:24 ehird: The only change I made was adding a jsmips OS target, it's not a different binary format. 19:52:45 GregorR: Why's that even needed? 19:53:11 ehird: The alternative would be to either emulate an entire machine and run Linux (ultra-slow) or emulate e.g. the Linux ABI (which may be possible, but would be something of a PITA if I wanted any real compatibility) 19:53:48 GregorR: or, just make a script that fishes for the lee knucks instructions and replaces them with jsmips ones 19:53:52 → no gcc patch 19:54:31 Yeah, I want to go trouncing through the glibc binary replacing syscalls in unpredictable ways X_X 19:55:16 GregorR: Yeah, I want to build gcc X_X 19:55:19 :D 19:55:36 You have to build GCC either way, unless for some strange reason you have a MIPS-targeted GCC floating about. 19:56:28 GregorR: Conveniently, mips gccs are packaged. 19:56:31 In OSes. 19:56:37 JSMIPS GCCs? Not so much 19:57:14 Let me be blunt: JSMIPS needs its own GCC for the same reason that people don't compile stuff using GCC for Linux and then patch it to run on OpenBSD. 19:57:53 They should :D 19:58:16 If that was the way it was done, people would still be compiling ELFs for SysV and patching them up to whatever their latest system is. 20:02:24 Which would be damned spiffy. 20:02:32 xactly 20:03:05 For somebody who uses an OS that has yet another needlessly different object file format, you sure are opinionated about ELF :P 20:03:25 wait 20:03:26 sysv had elf? 20:03:35 SysV R4 introduced ELF. 20:03:40 huh 20:03:43 ELF is fucking *old*. 20:04:14 Sgeo> You nat turn off the 'restart now or later' box with "net stop wuauserv". 20:04:32 A siner> This tidbit makes me really popular among Windows-using people. >:) 20:05:29 SEKRIT SERVER DEMANDS ANONYMIZED NAMES 20:05:49 I put my old Sudoku solver up, in case anybody is interested. 20:05:51 Secret Squirrel demands anonymized acorns. 20:06:05 Deewiant: where 20:06:11 ehird: iki.fi/deewiant as usual 20:06:18 yeah we all have your site bookmarked. 20:06:21 :D 20:06:25 Of course?! 20:06:33 Anyway, there's D program you might even be capable of building 20:06:36 +a 20:06:39 Completely not related, but do they still have blue screens of death in whatever Windowses they're making nowadays (Vista and that 7 thing)? And can you still change the color by editing a registry key? You could in some versionsies. 20:06:56 Deewiant: you should call it deewidoku 20:06:56 fizzie: I'm pretty sure the color changing was unique to the 9x family. 20:06:59 fizzie: They do, didn't know about the colour changing until now. 20:07:04 * pikhq is somewhat partial to his sudoku solver... 20:07:14 ehird: I could/should call it a lot of things but I'm going with what it was in 2006 :-P 20:07:28 Not my choice if I'd have made it now 20:07:31 But oh well 20:07:42 * GregorR goes to buy some wakey-wakey juice. 20:07:51 Yes, I guess it was the 9x thing that had changeable colors, not the NT-style stop screens. 20:08:00 For CS153, we had to write a sudoku solver. I didn't care enough to do it ahead of time, so I wrote it all in a night. Needless to say, I used a brute-force solver. 20:08:16 Non-brute-force solvers are quite the minority. 20:08:24 isn't brute force quick anyway 20:08:29 like 1s to solve most puzzles 20:08:34 I think a better algorithm was taught in class. 20:08:36 Like 1ms 20:08:37 Not s 20:08:41 Ah. 20:08:49 It's just not interesting is all :-P 20:08:52 ehird: It wasn't even a very efficient solver. 20:08:58 Deewiant: Sudoku isn't. 20:09:00 There's naked stuff right across from my G-rated stall 20:09:05 Some puzzles took a good 30s. 20:09:07 ehird: Meh. 20:09:19 Sgeo: Don't put up a stall next to things that are naked, then. 20:09:27 Surely you saw this before you decided to get some wood and put a stall up. 20:09:30 Maybe it isn't which explains why I never really finished my solver. 20:09:37 ehird, the naked stuff came later, I think 20:09:38 Alternatively: Start selling ADULT PRODUKTS 20:09:46 Sgeo: Complain to $govt. 20:09:55 (Note: Will not achieve a thing.) 20:10:19 * Sgeo would show a pic, but 20:10:34 It went through, for ever cell, checking if a number was valid. If it was, move on. If it wasn't, increment and try again. If it couldn't increment, backtrack. 20:10:38 Sgeo: But? 20:10:40 *Slow*. 20:10:50 ehird, aren't you under 18? 20:10:52 -!- Slereah has joined. 20:10:53 I wrote a sudoku not-a-solver which just has a gui which shows the possible numbers you can put in one cell that do not violate the simple constraints. That's possibly even more boring than a brute-force solver, but I didn't want to be completely out of work myself. 20:11:03 Sgeo: Yes. Nakedness might just cause me to die from shock. 20:11:20 I am completely innocent and wholesome. 20:11:33 The very model of a child. 20:11:52 Speaking of meatspin.com, I heard randomporn.org gaystuff.com twogirlsonecup. 20:12:14 nakedness.on.nimp.org 20:12:36 porno.nist.gov 20:12:37 pikhq: Heh, that's about as brute-force as you can make it. 20:12:56 I stopped caring about the class rather quick. 20:12:59 ;) 20:13:33 About the only vaguely difficult thing we did was a binary search tree. And I've already done one in the name of (older incarnations of) Plof. 20:14:53 I should write my megæfficient multicore tripcode cracker sometime 20:15:24 ehird: Ligature fail 20:15:30 Deewiant: But of course. 20:15:43 megaëfficient 20:16:06 meg combining-¨ æ fficient 20:16:21 >_< 20:17:21 http://img406.imageshack.us/img406/7457/nakedstall001.png (NSFWish). To the right is my stall 20:17:51 How can that be NSFW, even ish 20:18:12 Sgeo: Oh, Second Life idiotic bullshit? I thought you owning a stall was a bit odd 20:18:15 And what Deewiant said. 20:18:23 It's some blurred peach-ish pixels 20:18:35 I couldn't see it properly if I tried 20:22:34 COPY CON 20:22:51 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 20:23:21 < > 20:23:27 ehird: gnome sort looks like it performs pretty well for this purpose 20:23:33 Hmm, those can't be uppercased so it didn't seem like a shout 20:24:09 《 》 20:24:49 bsmntbombdood: Great. I had some ideas for a parallelizable sort algorithm that fixes mistakes, too. 20:25:39 Basically: Sort even indices and odd indices separately (This can, of course, be subdivided N times). Then, combine them together so that they come out in a different order. Repeat until you don't do any swaps. 20:25:44 Needs some ironing out, obviously. 20:26:14 isn't that just odd-even sort? 20:26:19 Odd-even transposition sort 20:26:29 I'm not sure 20:26:32 The magic bit is the combining 20:26:33 Obviously 20:26:42 http://en.wikipedia.org/wiki/Odd-even_sort 20:26:48 Yeah that's not it 20:26:55 It modifies in place 20:27:06 Mine does it seperately, then shuffles together, pretty much 20:27:14 also, that doesn't do the odd/even separation multiple times 20:27:19 also, my swapping was more basic 20:27:20 :P 20:27:21 http://cs.wlu.edu/~whaleyt/classes/parallel/topics/OETS.html also not this 20:27:34 That's rather obscure 20:28:06 It's at http://www.cs.rit.edu/~atk/Java/Sorting/sorting.html 20:28:54 bsmntbombdood: Have you tried tacosort? 20:29:34 Deewiant: not a comparison sort 20:30:00 It is somewhat, but true 20:33:15 heyy, I think I devised an algo 20:33:23 only works on even length lists though. lemme test it some more 20:34:33 actually, I think it only works on lengths that are powers of two 20:36:52 hi 20:36:56 bsmntbombdood: it's very parallelizable; you can just ask the humans to choose which item is greater than 20:36:59 out of a pai 20:36:59 r 20:37:31 ehird: that's what i'm doing 20:37:35 right 20:37:38 so my algo may work :P 20:37:42 just trying it on another test case 20:37:44 (manually) 20:37:59 lol manually 20:39:43 this is sort of unrelated, but at work i actually have to sort things by hand 20:39:53 (with reliable comparisons) 20:39:55 I'ma call it sievesort since if you watch each step it looks like it's just sieving all the numbers into sortedness :P 20:42:55 i've been using quicksort by hand 20:43:03 ouch 20:43:35 sorting this 8 length list is taking mighty long 20:43:38 i've tried radix sort too, quicksort is faster 20:44:12 haven't repeated a state yet, phw 20:44:13 phew 20:45:08 ehird: lrn2automatetasksusingacomputer 20:45:27 bsmntbombdood: the algorithm contains some rather computar-unfriendly portions 20:45:33 so phoo to that until I know it works 20:49:02 Mmmmmm, wakey-wakey juice. 20:49:28 heyy 20:49:30 it's beginning to sort 20:49:31 [5,8,6,7,2,3,1,4] 20:49:43 5 8 6 7! 20:49:49 (and yes, that will swap to the other side of the list) 20:52:11 How slow can you make a sorting algorithm with no redundant or pointless code? (This is subjective of course, but still) 20:52:19 O(infinity) 20:52:44 [1,3,2,4,5,7,6,8] 20:52:45 lookin' good 20:52:51 only one item out of place 20:52:58 of course, it'll take like 10 more iterations to fix this 20:53:09 ehird: You can't do infinite things without doing something redundant :P 20:54:20 GregorR: Tacosort can run theoretically forever, being probabilistic 20:54:33 and it jumbles them up once again 20:54:33 [3,7,4,8,2,6,1,5] 20:56:07 bsmntbombdood: Great. I had some ideas for a parallelizable sort algorithm that fixes mistakes, too. 20:56:07 Basically: Sort even indices and odd indices separately (This can, of course, be subdivided N times). Then, combine them together so that they come out in a different order. Repeat until you don't do any swaps. <<< come out in different order? anyway sounds like mergesort to me 20:56:32 no 20:56:32 oklopol: that's what i was thinking 20:56:36 it's far more silly than that 20:56:40 it has blind spots and stuff 20:56:44 but it does seem to be sorting this list 20:56:50 Sorting is one of the slowest operations in programing. <<< what :D 20:57:06 lol 20:57:09 Who wrote that? 20:57:55 this algorithm is cute, it keeps making mistakes then fixing them 20:58:24 http://cs.wlu.edu/~whaleyt/classes/parallel/topics/OETS.html 20:58:29 GregorR: ^ 20:58:44 in case you left in the 2 minutes i spent logreading after that 20:58:56 what program relies highly on sorting? 20:59:08 Google? 20:59:15 AAAAAAAAAAAAAA 20:59:16 A cycle! 20:59:23 my algorithm phails 20:59:28 [3,8,4,7,1,6,2,5] kills it dead 21:00:02 oklopol: That is of course subjective, but I think that's just plain wrong :P 21:00:07 look at every second number 21:00:08 bsmntbombdood: many algorithms do. 21:00:11 8,7,6,5 21:00:20 that's what trips it up i think 21:00:21 can't say i care or know much about programs ofc. 21:01:04 GregorR: well, from a very practical low-level coding viewpoint it might be true. 21:01:26 even if you're not doing anything that complex, you'll probably need to sort 21:01:55 if you are sorting you are probably doing it wrong 21:03:10 i can't imagine where you would have to sort except for output 21:03:27 i don't see how that's funny, but i know it's a joke 21:03:33 My failure: http://pastie.org/450152.txt?key=tmbdqoitnwb9zkkeh9zww 21:04:07 "Sorting is one of the slowest operations in programing." can only have been written by somebody whose never done anything with graphs at all. 21:04:34 It depends on how you define 'operation' 21:04:43 'struth 21:04:45 ehird: ah interesting, that's like mergesort and shellsort put together to produce something like a gnomesort except it doesn't even work 21:04:55 i like it. 21:04:56 oklopol: yeppers 21:05:04 oklopol: it works on [4,3,2,1] 21:05:05 :-( 21:05:08 :P 21:05:24 So what, it's randomly either the identity or reverse function? :-P 21:05:24 i RAGE'd when I got [1,3,2,4,5,7,6,8] 21:05:25 so first [2,4,1,3] 21:05:31 then [1,2,3,4] 21:05:32 SNATCHING DEFEAT FROM THE JAWS OF FAILURE 21:05:32 awesome :D 21:05:44 oklopol: how you combine two things depends on whether you did it last 21:05:49 (1,2) and (2,1), alternating 21:05:56 that's to try and give it less blind spots 21:05:57 oh. 21:06:02 have you considered doing that randomly? 21:06:09 no :P 21:06:12 feel free to try that 21:06:17 i shall 21:06:52 i mean since it ignores every other elem, there can be unsorted bits that aren't noticed 21:06:57 so we swap how we combine each time 21:07:01 and concat them 21:07:04 instead of interleaving them 21:07:11 to try and increase the view of the whole list 21:07:41 ofc i dunno the termination case 21:07:47 apart from "issorted(lst)" :D 21:08:21 ̈‿ 21:08:23 SMILEY 21:08:32 Doesn't work here :-( 21:08:54 ditto 21:09:01 it's ¨ ‿ 21:11:26 It's a guy with botched plastic surgery. 21:11:36 But at least he's got a sense of humor about it. 21:16:20 ehird: i made a rather complex and uninteresting version of it, and i'm not sure i still got it to work :) 21:16:54 oklopol: vjn.fi/pb it? 21:18:45 ehird: i'll try a more automated approach first, i don't like sorting manually in a text editor 21:20:31 oklopol: pb the manual one anyway 21:20:32 i did! 21:21:15 You should make an esolang in which all computation is done by applying not-quite-sorting algorithms. 21:21:31 :D 21:21:44 "Here we sort the input in Brainfuck ordering." 21:22:11 The problem with the adult stuff near my stall is that soon the entire area might be declared "adults only", and would require me presenting proof that I'm an adult, which I'm not willing to do 21:22:48 Sgeo: your exploits are hilarious and also embarrasing. 21:22:53 please don't stop. 21:22:58 Sgeo: make your stall sell children's toys 21:23:15 then demand _they_ be thrown out 21:23:17 oerjan: I'm pretty sure all children on SEKOND LIFF are 40+ 21:23:56 Children aren't supposed to be on SL 21:24:50 Aren't you an adult, anyway? Weren't you 18 a year ago? 21:24:54 well adjust my suggestion for some allowed age lower than adult 21:25:12 ehird: damn, looks like gnome sort does better than insertion 21:25:15 Interpreted "all children on SEKOND LIFF are 40+" as to be meaning "you can buy a child in second life, but it costs >40 units of currency always". 21:25:16 Bye 21:25:20 bsmntbombdood: and? :P 21:25:24 fizzie: :D 21:25:28 Interpreted "all children on SEKOND LIFF are 40+" as to be meaning "you can buy a child in second life, but it costs >40 units of currency always". // LOL 21:25:29 Sgeo: did I say something wrong 21:25:43 -!- neldoreth has quit ("Lost terminal"). 21:25:43 -!- Judofyr has joined. 21:28:19 -!- ais523 has joined. 21:28:24 hi ais523 21:28:27 you're here late 21:28:35 sorry 21:28:37 I was asleep 21:28:39 :-D 21:28:40 and then programming 21:28:42 we've been inventing terrible sorting algorithms 21:28:51 worse than bogosort? 21:28:56 ais523: yeah -- mine didn't even work 21:28:58 ais523: also, good news: 21:29:03 "We do not have any ads, nor do we ever plan on adding any. We make our money off paid accounts, not advertising. I'll look into getting the clause removed. " 21:29:04 — Github staff 21:29:06 yay 21:29:25 What was the clause? 21:29:33 GregorR: "free account users may not use an adblocker" 21:29:40 Ah 21:29:41 That's lame. 21:29:45 agreed 21:29:58 Also unenforceable :P 21:30:14 it is enforceable, I think 21:30:21 you could put an advert on the page and see if it loaded 21:30:29 ais523: adblockers can load ads but not display them 21:31:05 -!- neldoreth has joined. 21:31:08 well, yes 21:31:09 but how many do? 21:31:13 blocking the loading time is the whole point 21:31:20 :P 21:31:25 * oerjan invents a horrendous thing: the ad CAPTCHA 21:31:28 No, blocking the offense to the eyes is a more important hing. 21:31:46 You heard me, it's a hing. 21:31:53 where the ad contains some information you need to see the real content 21:31:54 Hinge. 21:31:59 ais523: oh, and Plof is active again 21:32:07 in the sense that I'm trying to wrangle it to be my perfect language 21:32:09 Plof was never inactive, just ... hibernating :P 21:32:11 and GregorR is abstaining. 21:32:13 (i'm sure it's been thought of before) 21:32:28 I may even implement the changes you want :P 21:32:40 The more I think about it the more I lean away from abstaining and towards pro. 21:32:44 ping 21:32:50 That's what your face said to your mom, GregorR. 21:32:56 Hm. That didn't work. 21:33:06 Yes, my face is the part of my body with which I talk. 21:33:20 (I suppose the throat and lungs are pretty important too :P ) 21:33:24 fungot: they won't pong me :( 21:33:24 oerjan: sisc doesn't have define-values with a let?! 21:33:36 wow, people buy second life land for $1,000 21:33:41 ITT: sukas 21:33:44 oerjan: /ctcp #esoteric PING 21:33:52 oerjan: ... pong! 21:33:56 (5 billion years) 21:33:58 GregorR: that's so crude 21:34:04 oerjan: SO'S YOUR FACE 21:34:08 ehird: See, that's how it's done. 21:34:10 well, true 21:34:16 GregorR: Masterful. 21:34:19 :P 21:35:23 I'm watching Felix the Cat. Everybody talks like they've barely recovered from a stroke. 21:36:00 in other news, I've switched my desktop appearance from Feisty default to Gutsy default 21:36:08 except that I made all the fonts smaller by 1 pixel 21:36:11 ais523: the shit-brown one? 21:36:15 from brown to grey 21:36:22 I liked the brown one, but this one looks good too 21:36:22 grey?! 21:36:24 screenshot? 21:36:37 also, don't you mean 1 point 21:36:44 it's default 10 points, 9 was the older default 21:37:16 ais523: wait, gutsy is 8.10 right? 21:37:19 it's orange... 21:37:26 i think we need a screenshot heere 21:37:30 I'm uploading it 21:37:32 ah 21:37:43 http://imgur.com/2CUOG.png 21:37:52 I left the desktop background the same, though... 21:37:55 so, the pirate bay people got sentenced to a year in prison (everyone knows this, I'm just repeating it for a certain slowpoke :D) 21:38:03 ais523: that's not the 8.10 default! 21:38:14 I'm using Jaunty, = 9.04 21:38:18 8.10 = intrepid 21:38:18 in fact, that's not any ubuntu X.YZ default 21:38:30 I'm not sure if it or the purple one's the default, they're both new 21:38:33 I'm using Debian testing :P 21:38:40 ais523: ... neither 21:38:43 8.10 is orang 21:38:43 e 21:38:49 8.10 = brown, IMO 21:38:52 same colour really 21:38:55 well, whatever 21:38:57 that's the one I used to have 21:39:06 ais523: all ubuntus have been brown or orange 21:39:13 the theme in that screenshot has never been default 21:39:14 no, Intrepid was black 21:39:22 with brown highlights 21:39:29 just I didn't like it and went back to the old version 21:39:47 ais523: I'm sorry, you're wrong. I installed 8.10 a few weeks ago for parental overlordism. 21:39:53 It had orange titlebars. 21:40:15 ah, ok 21:40:19 Wait. 21:40:22 google images disagree with me 21:40:23 WTF 21:40:26 are you sure you didn't install 8.04? 21:40:37 which is recommended anyway, I think 8.10 is less stable than the release either side 21:40:39 Absolutely 21:40:42 8.10 x86_64 21:41:13 YES! Victory! 21:41:17 Judofyr: wu 21:41:19 t 21:41:25 finally done with this crappy assignment :D 21:41:47 why the hell should I care about the political system in Botswana? 21:41:56 and compare it to Norway's? 21:42:07 Our work-workstations went 8.10 recently, and they really didn't look like that. I think. 21:42:08 seriously, school sucks 21:42:11 good grief. they could at least have chosen Zimbabwe. 21:42:29 ais523: maybe the beta had it 21:42:31 but the release didn't 21:42:31 brb→ 21:42:55 botswana is *boring* 21:42:59 (mind you i'm not sure how Zimbabwe's system _should_ work, but i'm pretty sure it doesn't) 21:43:03 no fighting, no corruption 21:43:09 just … peace 21:43:39 Judofyr: so it's a politically correct assignment to drive down the point that not all of africa is in shambles? 21:44:00 oerjan: yeah. I'm surprised too 21:44:29 botswana was like "can we go", and great britain said "yes" 21:44:34 it was that simple 21:44:54 in zimbabwe, they said "no, no, no, no. and you're going in prison" 21:45:03 hm they must be blessed with an absence of natural resources :D 21:45:35 well, right now they got lots of diamonds… 21:45:44 perhaps less immigration 21:46:18 oh dear, poor people 21:47:03 ok maybe they'll survive given they didn't already have war or corruption. norway did, after all 21:48:11 Ubuntu? Ick. I'm using Gentoo on my desktop, and Debian stable on my router. 21:48:23 pikhq: yes, ick is in the repositories 21:48:39 part of the reason I'm using it is that it's been on this computer continuously since I got it 21:48:41 ... 21:48:46 without ever reinstalling 21:49:02 what does ick stand for again 21:49:18 intercal compiler kludge 21:49:26 ah 21:50:36 haha: http://tech.slashdot.org/article.pl?sid=09/04/17/147237&from=rss 21:50:51 summary: Microsoft's parental-control webfilter blocks Google 21:57:53 but a comment says that's untrue 21:58:22 ehird: after half an hour of scheme coding i get a loop of length 2 in the sorting process. 21:58:51 (not that much scheme, or even mistakes, just bad keyboard) 22:02:06 -!- Hiato has quit ("Leaving."). 22:07:03 -!- neldoreth has quit (Remote closed the connection). 22:07:07 -!- neldoreth has joined. 22:07:45 well i guess ehird wins the cake for unreliable sorting 22:16:55 well that was my random enhancement of it 22:17:14 and clearly it was much better since ehird's had a cycle of one. 22:17:47 mainly i wanted to try scheme out 22:23:25 -!- sebbu2 has joined. 22:25:56 -!- sebbu has quit (Read error: 60 (Operation timed out)). 22:26:06 if you want an unreliable sort, why not use deterministic bogosort? 22:26:20 it works like this: check if the list's in order, if it isn't then don't reorder it randomly, then repeat 22:30:11 :D 22:30:42 ais523: that's not what i mean 22:30:47 ais523: the comparisons are unreliable 22:30:50 an omega of only O(n)! 22:31:09 yes 22:31:17 well, it depends on how the data's stored 22:31:27 it might be stored such that it's O(n^2) to retrieve all the elements in order 22:32:43 err how would that go? 22:33:20 ah, if you stored the list in random order, as (element, index) pairs 22:33:29 then in order to get all the elements in order, you'd have to sort by the index 22:33:33 which is O(n log n) 22:33:53 O(n) afterwards makes the thing O(n log n) altogether 22:34:09 bsmntbombdood: just out of random, i checked out fusion sort when you asked about it, but it was too complex to understand without thinking, and i didn't feel like it. 22:34:32 what's fusion sort? 22:34:48 ais523: i was just thinking that, checking for sortedness by sorting, then checking whether order changed :D 22:35:04 bsmntbombdood: long story, just something a guy asked about, in here 22:35:13 err 22:35:16 did i say sort? 22:35:20 well that might cause confusion 22:35:23 :D 22:35:36 even better, you can do that sort using deterministic bogosort 22:35:43 and go into an infinite loop whether the list's originally correct or not 22:35:54 sorts and trees, what's the difference really. 22:36:05 ais523: ingenius :D 22:36:14 *-in 22:36:16 there's a reason why volume 3 is called "searching and sorting" 22:37:51 ais523: so theta O(infinity) 22:38:06 that's great for a best-case 22:38:25 well umm "theta O", my terminology has issues today. 22:38:52 my keyboard doesn't have a theta key 22:38:53 so it's ok 22:39:03 i just called a plate a or cork or something, multiple times, before i realized it was wrong 22:39:34 Ω <<< i seem to have an omega 22:40:00 but no theta 22:40:12 *-or 22:41:30 (also the cork was misinterpreted as a fork) 22:42:08 (also that's pure coincidence, i'm not sure it was cork i called the plate, and they don't rhyme in finnish) 22:42:38 (also i have to do this a third time ofc) 22:42:56 cork fork fort sort sport spore store stare state slate plate 22:43:13 manual? 22:43:16 yeah 22:44:23 cork pork port sport 22:44:42 the sort sort of came out of the conversation 22:45:03 right, and also fork. 22:45:13 i guess i shouldn't try to compete with you. 22:45:15 21:48 pikhq: Ubuntu? Ick. I'm using Gentoo on my desktop, and Debian stable on my router. 22:45:30 Ubuntu is Debian w/ nicer out of the box experience and a non-insane release schedule. 22:45:37 Indeed, because then you would be DOOMED! BWAHAHAHA!! 22:45:54 oklopol: i'm sure my algo could work with tweaks 22:46:03 oklopol: instead of concatenating, why not interleave them in some magical way or sth 22:46:12 ehird: well i lexically sorted the pair 22:46:18 wut 22:46:18 or lists 22:46:26 *of 22:46:37 wut 22:46:45 well you know you take evens and odds, recurse on them, and sort them lexicographically 22:47:25 because i wanted a deterministic alternative for the randomizing their appending order, and i didn't like your alternating sequence 22:47:35 oh 22:47:44 oklopol: a sorting algo needing a sorting algo is pretty shit isn't it 22:47:55 ... 22:47:59 :D 22:48:14 yo dawg 22:48:24 i was thinking you could use quicksort for sorting the 2-element lists. 22:48:29 korkki kokki lokki lakki laki lakin lakan laukan lautan *lautane lautanen; only the one marked with * is not really a mostly plausible Finnish word or a word form; it goes from cork to plate. 22:48:55 oklopol: instead of concatenating, why not like 22:48:55 do 22:49:00 1 2 2 1 22:50:24 yeah i don't get that 22:50:48 oklopol: right now they're concatenated as 1 1 2 2 22:50:53 or 2 2 1 1 22:51:00 oklopol: why not do 1 2 2 1 22:51:08 why yes do it? 22:51:20 oklopol: 'cuz it might make it no cycle? :D 22:51:36 i don't see how that's any better 22:51:51 oklopol: it's like 3 code changers isn't it 22:52:54 do i say "kol" now? 22:53:04 wanna do my electronics homework for me 22:53:16 oklopol: gimme the code thens? 22:53:33 also 22:53:33 22:48 oklopol: i was thinking you could use quicksort for sorting the 2-element lists. 22:53:34 i lol'd 22:54:35 well you know 2*log(2) is only 2, so it's linear! 22:55:04 http://www.vjn.fi/pb/p546654421.txt <<< my random sorter. 22:55:15 also it does some bubblesorting on the side 22:55:39 oklopol: err why does it bubblesort 22:55:40 but just one round at a time, it's just for shaking it up a bit so it doesn't get into cycles 22:55:46 ah. 22:55:49 oklopol: but it still cycles? :D 22:55:57 sure, right away :D 22:56:01 cycle length 2 22:56:21 oklopol: wut scheme, mz-? 22:56:24 i was just hoping it'd be enough of a mess to produce a sort 22:56:26 mz yes 22:56:52 oklopol: so do you think my method has any chance of working properly 22:57:38 i wonder what the median of asymptotic average running times of sorting algos is... 22:57:49 O(infinity). 22:57:51 probably exponential 22:58:10 ehird: naturally not counting that, it needs to sort all lists 22:58:23 O(7) 22:59:06 the median could still be O(infinity) 22:59:17 oerjan: yes 22:59:26 if you let algos be randomized 22:59:28 assuming there is _always_ a slower algorithm, which seems obvious 22:59:32 hmm 22:59:55 well of course there is 23:00:05 fizzie: ... lautan lautana lautasna lautasena lautasen lautanen 23:00:12 sauna 23:00:18 i wouldn't count lautasna 23:00:27 You can just as easily add some random calculation that's tossed if you insist on a less efficient algorithm. 23:00:28 I'm still working on it 23:00:31 It's better than lautane 23:00:32 lautanenä 23:00:37 otoh it depends how many shorter running there are, that could be infinite too. hm now it's really not obvious. 23:00:38 Sane assumption. 23:00:40 Deewiant: "lautasna" is a bit silly, yes. Am working on it too. 23:01:01 It's archaic but valid IMO 23:01:07 oerjan: no, there's an upper bound 23:01:08 saunassani 23:01:32 ehird: huh? you can always make an algorithm slower 23:01:39 23:00 oerjan: otoh it depends how many shorter running there are, that could be infinite too. hm now it's really not obvious. 23:01:48 there is an upper bound to how shorter running it can be 23:01:53 but no upper bound to how slow 23:01:55 oerjan: well naturally because there's an infinite amount of algos, we're talking about limit of median as program length approaches infinity, that may not even be well-defined (which you probably meant by median O(infinity), if we don't count randomized ones) 23:01:58 so it's O infinity. 23:02:02 that's usually called lower bound :D 23:02:07 w/e :P 23:02:44 ehird: that has nothing to do with what the median will be 23:02:44 oklopol: it could even theoretically fluctuate widely with program size, although that seems unlikely 23:02:56 oklopol: infinite slow ones, finite fast ones 23:03:02 Damn, some of my CNFI stuff is more specific to having integers be raw data objects than I'd realized ... with unboxed integers things get tricky :( 23:03:08 oerjan: might be interesting to try this out on a computational model that can barely sort, and nothing else 23:03:17 GregorR: I'll fix it all. 23:03:21 ehird: finite fast ones? wut 23:03:40 ehird: Seeing as that you don't have write access to the spec, you won't be fixing that any time soon :P 23:03:56 I can send a patch :< 23:04:21 Because it's ancient, it's a .odt :P 23:04:59 GregorR: Anyway, how hard would it be to replace dplof? 23:05:01 first of all O(n^e) does not have a lower bound, when e is a real number, so while there's a lower bound for it, O(n), there is an uncountable number of possible small upper bounds. 23:05:30 oklopol: well without a model capable of bounded halting checking it may be hard to prove the algorithms can get really slow 23:05:33 second of all median of program complexities, not median of separate possible complexities, 23:05:47 since that's how the usual proof goes 23:06:15 ehird: The only missing component is the parsing engine. 23:06:28 oerjan: yeah it's true bad the answer might actually require thinking. 23:06:31 ehird: However, the parsing engine is also the most complicated :) 23:06:31 *too 23:06:46 GregorR: If the parser was written in Ploforth? No problem whatsoever. 23:06:59 oerjan: why do they need to get real slow? 23:07:08 there only needs to be more than one different complexity. 23:07:08 ehird: I fail to see how that's a solution. 23:07:24 GregorR: You write the parser in Ploforth, so that it's portable across implementations. 23:07:43 ehird: That's why I wanted to write the parser in Plof, so it would be portable across implementations :P 23:07:51 oklopol: if they get real slow then the median need not be finite 23:07:53 Deewiant: korkki kokki lokki lakki takki taksi takasi takaisi lakaisi laukaisi laukaisin lautaisin lautasin lautasen lautanen 23:07:57 GregorR: But it's not because you need a Plof parser to get the parser going which sux. 23:08:10 *need not be in one of the bounded classes 23:08:19 fizzie: You win 23:08:21 Plof's not too hard to bootstrap. 23:08:23 ehird: Except you don't, because the parser can be precompiled to PSL. 23:08:28 I was only working from 'lautana' though :-) 23:08:31 ehird: And that precompiled PSL is portable. 23:08:34 GregorR: That still involves an implementation. 23:08:43 ehird: Yes, it involves using dplof exactly once. 23:08:44 And what if you want to use a new parser feature in it? 23:08:47 you have to do without first 23:08:48 then add it. 23:08:51 ehird: No, no you don't. 23:08:55 GregorR: Right. So you have to maintain dplof. 23:09:04 ehird: Right, so I /don't/ have to maintain dplof. 23:09:09 Deewiant: The taxi part was a bit far-fetched; I pretty much took the "taksi-takasi" step and went both ways from that. 23:09:10 oerjan: well i'm kinda hoping the answer would be a complexity, and not just "unbounded". 23:09:14 ehird: I have to use it exactly once, to get the PSL, which is then self-sustaining. 23:09:22 GregorR: I hate brittle bootstrapping processes. 23:09:25 ehird, I suspect, doesn't seem to get how Plof is implemented. ;) 23:09:31 pikhq: I am well aware, thanks. 23:09:34 or O(infinity), although i still prefer just saying there's no limit. 23:10:33 Well, what's brittle about this bootstrapping process? 23:10:51 It relies on a single, opaque file to bootstrap it. 23:11:00 oerjan: i mean that's the uninteresting answer, basically it means the question isn't well-defined 23:11:05 Produced by an unmaintained compiler; and you can't reproduce it without itself. 23:11:08 *That's* brittle. 23:11:17 oklopol: my guess is it 23:11:23 's undecidable anyhow 23:11:30 ehird: That's how hundreds of compilers are maintained ... 23:11:44 oerjan: doesn't have to be for tm's 23:11:47 That's how bootstrapping goes. 23:11:52 GregorR: It's brittle regardless of that; and mostly only popular compilers do that. 23:11:56 can be for you know sorting automata. 23:11:58 pikhq: And it's brittl. 23:12:00 *brittle 23:12:01 -!- Judofyr has quit (Remote closed the connection). 23:12:07 Well, except that sometimes the code in question is hand-compiled... 23:12:21 pikhq: GregorR's name is not McCarthy. 23:12:32 True. 23:12:39 fizzie: Here's as close as I got, with a few rather creative compounds: lautana luutana luusana luukana luukasa *luutasa luutase luutasen lautasen lautanen 23:12:43 Anything better that you suggest? 23:12:46 pikhq: Yes 23:12:48 oklopol: for a start it's by standard theorems undecidable whether something _is_ a sorting algorithm 23:12:55 With 'luutasa' being a bit of a nonword 23:13:05 ehird: And your suggestion is: A) PSL is replaced with a Forth dialect, which is actually not a huge change but may be good, and B) the parsing engine is written directly in that Forth dialect. 23:13:10 GregorR: Listen. 23:13:11 Let me speak. 23:13:14 pikhq: Implement Plof's parser/compiler in the Low Level Language (PSL (well, via APSL), my proposed Ploforth, whatever). 23:13:17 Hmm, there's an unnecessary luusana there as well 23:13:32 pikhq: This makes the Plof implementation portable; the actual PSL/Ploforth interp can be simple and easy, and it isn't a brittle bootstrapping. 23:13:35 Yet it's still meta. 23:13:40 Deewiant: luutasa? 23:13:49 I case my rest. 23:13:59 oklopol: Like said, a bit of a non-word. luu-tasa[paino] or something like that 23:14:26 Deewiant: To be honest, the "lautaisin" part in mine is a bit creative too. I'm not quite sure whether it means "the most wooden-plankest of them all" or just "I would wood-plankify it". 23:14:27 -!- Judofyr has joined. 23:14:34 Deewiant: sorry missed that. but yeah that's a non-word 23:14:36 lautaisin is fine 23:14:37 fizzie: :-) 23:14:40 ehird: My strategy also makes the Plof implementation portable, the actual PSL interp can be simple and easy (that's the whole idea), and so the only difference is your "brittleness" argument. 23:15:00 fizzie: both meanings are in frequent use 23:15:03 GregorR: I was saying that mine had all the qualities you could want, and is less brittle. 23:15:25 ehird: But it depends on human-maintained code in Forth. 23:15:29 Or APSL. 23:15:37 fizzie: have i mentioned i frequent sauna-building competitions? 23:15:38 -!- Judofyr has quit (Remote closed the connection). 23:15:39 And a PSL assembler. 23:15:45 GregorR: But all you need to do 23:15:48 is get the very basics working 23:15:52 Then you can write the rest of the parser in plof 23:15:54 building it up as you go 23:15:58 The only extant PSL assembler is part of dplof. ;) 23:16:08 pikhq: That's not really a problem. 23:16:15 Wait, WTF ........ that last bit was confusing. 23:16:28 The parsing engine can't be built partially in one language and partially in another. 23:16:34 It's a redefinable ratpack parser. 23:16:51 GregorR: Sure it can. You write the minimum needed to get a basic Plof in the LLL, then build it up to be more advanced in basicPlof. 23:17:17 GregorR: You could even build mini-Plof as a nonextensible, dumb parser, then write the rest of the parser in that. 23:17:25 ehird: But that's what's already done. That's how the language is defined. But that all depends on having a working underlying parser. 23:17:32 dump arser 23:17:38 GregorR: It doesn't depend on having a Plof parser, does it? 23:17:43 Er 23:17:44 It does 23:17:45 Doesn't it? 23:17:51 No. 23:17:56 It depends on having a user-definable parsing engine. 23:18:08 GregorR: dplof/plof/ast/ast.d 23:18:15 That looks very much like Plof support code. 23:18:21 PUL, that is. 23:18:24 ehird: That /reverses/ PSL code into AST code. 23:18:29 ehird: It's solely for debugging. 23:18:33 Ah. 23:18:39 GregorR: Then I think the current solution is best! 23:18:53 ........ there's a current solution? 23:18:59 GregorR: With s/APSL/Ploforth/ to make the assembling easier, and to make the parser a bit more hand-maintainable. 23:19:28 Ah, you mean /your/ current solution. 23:19:39 No. 23:19:40 GregorR: Yours. 23:19:43 What is in the hg tree now. 23:20:02 GregorR: So the reason cplof isn't the default is that only dplof has an assembler? 23:20:11 Only dplof has the parsing ENGINE. 23:20:19 GregorR: oh. 23:20:26 So write the engine in APSL/Ploforth. :P 23:20:52 The idea was to write the engine in Plof, then compile it to . 23:21:05 Which you argue is brittle. 23:21:22 I propose writing the engine in APSL/Ploforth as part of the core PUL implementation. 23:21:36 The core PUL implementation is written in Plof ;) 23:21:58 GregorR: Yes but it isn't bootstrapped 23:22:04 It's parsed by Ploforth as the simple core lang 23:22:05 Right? 23:22:05 Er 23:22:07 APSL 23:22:09 sort of you know 23:22:11 I mean 23:22:13 That is 23:22:15 It's built on top of the APSL 23:22:17 adding as it goes 23:22:21 not bootstrap-compiled 23:22:47 Right. But to be clear, there are only some 100-so lines of PSL code before it tastes much more like Plof. 23:22:55 Of course. 23:23:01 GregorR: Let's put it this way 23:23:04 * pikhq needs to get the latest Plof. 23:23:15 Been at least a year since I pulled from Mercurial. 23:23:33 GregorR: the parser engine is 705 lines of actual D -- including whitespace, comments, imports, yada yada yada. 23:24:01 GregorR: Right? 23:24:39 406 dplof/plof/prp/packrat.d 23:24:39 299 dplof/plof/prp/prp.d 23:24:43 Sure 23:24:53 GregorR: Now, decrufting a bit and moving into the LLL, which is high level in that you don't need to mess with pointers and whatnot 23:25:00 So, yes, 705 is the number. 23:25:02 GregorR: I'd estimate about 500 lines or so? 23:25:08 With a decent LLL. (Hint hint :-P) 23:25:17 GregorR: It wouldn't have to implement PCRE 23:25:26 Just do FFI shtuff. 23:25:44 In any condition this change implies going to Forth, so you can stop hinting about that. Doing this all in PSL is silly. 23:25:54 Of course. 23:25:57 I wouldn't wish that on anyone. 23:26:02 In some ideal happy universe it would be a very confusing 500 lines, sure. 23:26:13 Err, why/ 23:26:14 *? 23:26:23 I really don't think a packrat parser is the epitome of hardity. 23:26:44 -!- olsner has joined. 23:26:55 A) Because Forth is Forth. B) Because FFI isn't the clearest thing on Earth. B) Because packrat parsers need dictionaries to maintain memoization. 23:27:10 That's right, two Bs :P 23:27:38 GregorR: A) I don't exactly mean ANS Forth. I just mean something with the same syntax. B) I see a flaw, then; and it's not with my idea. B²) Dictionaries are objects. :P 23:28:18 My FFI is based directly on libffi, the idea was that the user language makes it pretty, not the bytecode instructions. 23:29:12 WHY INTERNET SO SLOW TODAY 23:29:18 GregorR: I think inelegant bytecode instructions is probably not such a good idea. 23:29:33 -!- Gracenotes has quit (Connection timed out). 23:29:37 GregorR: After all, not all impls will use libffi. 23:30:48 There's not much more you can do at the bytecode level. I've abstracted it a little bit from libffi, but the basic idea (put types in arrays, generate "cif" from arrays, dlsym to find symbol, call with cif, symbol and array of arguments) is about the best you can do at that level. 23:31:12 -!- iano has joined. 23:31:23 At a higher level you could maybe parse a C function declaration, etc etc, but I reaaaaaaaally don't feel it's a good idea to put that in the bytecode. 23:31:56 I'm not able to create a page on the esolang wiki 23:32:00 iano: do you have an account 23:32:16 ehird: Maybe we should move this to #plof ;) 23:32:19 yes I'm logged in (IanO) 23:32:20 yes, apparently 23:32:24 iano: ask ais523? what's the error 23:32:37 "You don't have permission to access /w/index.php on this server." 23:32:49 iano: are there any
or tags in your new page? 23:32:59 ah! yes there are 23:32:59 it's possible you're hinting Graue's quick-hack spam filter 23:33:04 replace them with something else 23:33:16 is there any other way to specify colored text? 23:33:23 use a different sort of containing element 23:33:26 like , for instance 23:33:35 ok 23:33:38 thanks :) 23:33:39 -!- KingOfKarlsruhe has quit (Remote closed the connection). 23:38:22 "+/* oh god what i have done */" is not a very confidence-inspiring line in a patch. 23:38:32 Are folks here aware of the Rosetta Code wiki? 23:38:36 s/i have/have i/ 23:39:13 it aims to have comparative code samples between hundreds of programming languages 23:39:27 yep 23:39:34 fizzie: :D ctx? 23:39:57 it would be great if folks could contribute more Befunge, Brainfuck, and SNUSP examples there. 23:42:04 ah, could be interesting 23:42:10 I may do the INTERCAL at some point, but not right now 23:42:17 ehird: It was in http://lists.debian.org/debian-x/2009/03/msg00417.html -- it's about the commit where they've importing the Ubuntu patches that fix the X crashes I had. 23:42:49 ais523: yes please! 23:42:51 I'm busy trying to figure out how to do string handling in INTERCAL at the momen 23:42:52 *moment 23:43:04 I think I'll have to start by implementing some form of malloc/realloc library 23:44:06 ais523: “What ho, good sir! ITRALCEN has you covered!” 23:44:49 that's an anagram of INTERCAL 23:45:12 no relevant Google hits 23:45:24 ehird: I think I'm missing the point; what is the point? 23:45:32 bfnegue and banukcfir are jolly good too! 23:45:49 ais523: “ITRALCEN comes with magical string support, using the unicode quote-unquote characters! It is ultra horrific!” 23:45:59 oh, I see 23:46:03 I wanted to make it portable 23:46:30 because a portable string-handling library is fun because C-INTERCAL and CLC-INTERCAL do string I/O very differently 23:47:55 t e o o ob,ta steqetonisu h ith e ttnr,bo 23:48:58 er 23:49:28 could someone write a fungot plugin to decode/undecode those? 23:49:29 ais523: will i be able to type it all in one 23:49:43 fungot: apparently not, you stopped berfore the word "line" 23:49:43 ais523: you can use 23:50:32 23:49 fungot: ais523: will i be able to type it all in one 23:50:32 ehird: isn't it? you could use 23:50:33 XDD 23:50:50 someone should plug fungot into mezzacotta 23:50:51 ais523: waiting at 4am for code to be run as a service because they're explicitly designed to do a 23:52:35 *t e rntt e hti h usinoteqets at,bo o o,bo 23:53:25 * oerjan had to write a haskell function to do that correctly 23:54:30 the inverse seems a little trickier, hm 23:56:13 -!- Sgeo has quit (Read error: 110 (Connection timed out)).