00:00:50 * Mathnerd314 will get some when the getting's good. (but not before) 00:05:09 Mathnerd314: ah but when ordinary people _think_ the getting's good is just when schemes are about to collapse >:) 00:06:01 (applies to stocks, pyramid schemes and bubbles in general) 00:06:03 oerjan: what makes you think I'm an ordinary person? 00:07:45 Mathnerd314: believing you are smarter than the market is the first warning sign >:) 00:07:54 (also a lack of sense of humor) 00:08:31 hmm, I'll agree I should take an economics course or two, but it's pretty hard to claim I'm dumber than average 00:09:07 (and I do have a sense of humor; I just don't use it since it tends to distract from the point at hand) 00:13:47 -!- cheater99 has joined. 00:14:44 what oerjan said 00:15:24 everyone should take an economics course 00:15:30 Sgeo_: well i object to any use of bitcounts to sell data. 00:15:33 Sgeo_: other than that i have no opinion 00:15:34 it should be a prequisite to having an opinion 00:16:39 coppro: and to hell with anyone who self-educates amirite 00:17:00 elliott: self-education is ok. but you have to pass the test. 00:17:28 coppro: heh. guess that'll ensure economics doesn't get too much innovation then! 00:17:44 elliott: no, you're still allowed to innovate 00:17:47 just not to have an opinion 00:18:31 coppro: obviously you're not being serious, but that doesn't stop you being stupid too. 00:19:30 elliott: I was only half kidding 00:19:48 people should actually not be allowed to argue about government spending until they know the definition of the word "externality" 00:19:50 coppro: indeed. it's the best way to say wrong things without being called out on it. 00:19:52 (note: cynical) 00:20:16 coppro: there are plenty of autodidactic geniuses. and there are plenty of college-educated morons. 00:20:31 who passed exams, even. 00:20:53 elliott: I know this fact 00:21:34 -!- cheater99 has quit (Read error: Connection reset by peer). 00:27:03 Everyone should know economics. *Especially* anyone who thinks about touching anything to do with the government. 00:27:35 Also, stupidity should be more painful. 00:27:49 I support this painful-stupidity proposal 00:28:14 * oerjan is strongly against 00:28:49 oerjan: But think of the politicians screaming in pain on the TV. 00:28:57 And the voters! 00:28:59 oerjan: (It would trigger for doing stupid things, not for being stupid, which is a different thing entirely.) 00:32:08 -!- majawana has joined. 00:36:59 Lava pit at (-2241,1966). 00:37:06 ((x,z)) 00:38:15 -!- cheater99 has joined. 00:39:52 Nice tree at (-2009,1653); however I want wood so it shall die. 00:41:32 -!- cheater99 has quit (Read error: Connection reset by peer). 00:43:12 I want to slap everyone who thinks of Bitcoins as a way to be free of transaction fees 00:44:48 -!- hagb4rd has joined. 00:50:30 -!- pikhq has quit (Ping timeout: 260 seconds). 00:50:46 Supposedly "VORPAL WAS HERE". 00:52:52 (-1777,1324) -- nice cave. Explore sometime. 00:57:26 There used to be clay at (-1675,966), but it's all mine now. 00:57:51 Pretty damn tall dual-bodied tree just after that, too. 00:58:13 -!- cheater99 has joined. 01:03:05 -!- cheater99 has quit (Read error: Connection reset by peer). 01:03:49 -!- hIchamAT has joined. 01:04:32 -!- hIchamAT has left (?). 01:19:05 great, there's a convenient instruction for swapping the 'gs' segment when entering/leaving the kernel, but interrupt handlers can be called from both user and kernel mode - you need to figure out which context you came from and swapgs conditionally 01:20:58 -!- cheater99 has joined. 01:23:58 I DID IT 01:25:52 -!- cheater99 has quit (Read error: Connection reset by peer). 01:32:53 elliott, did what? 01:33:05 Vorpal: walked from (-4000,4000) to spawn 01:33:09 you had a sign on the way, i put one next to it 01:33:18 elliott, what did that sign say 01:33:23 I completely don't remember it 01:33:33 Vorpal: VORPAL / WAS / HERE 01:33:40 elliott, wasn't that on the very marker? 01:33:44 ? 01:33:49 -4000, not 4000 01:33:52 it's north-ways 01:33:55 elliott, oh 01:33:56 Vorpal: I put "BUT THEN EHIRD WAS HERE AND IT WAS MUCH COOLER" next to it, anyway. :p 01:34:02 elliott, :P 01:34:34 elliott, the marker at 4k,4k has a sign on top saying "Vorpal was here, and he was great" 01:35:49 -!- Slereah has quit (Ping timeout: 276 seconds). 01:36:48 Vorpal: Anyway, pull mcmap; it has been muchly modified today. 01:40:13 -!- Slereah has joined. 01:43:36 -!- cheater99 has joined. 01:43:46 Vorpal: hm interesting http://www.minecraftwiki.net/wiki/Griefing doesn't list /anything/ about teleportation 01:43:56 I think fizzie may be the first one to discover this rather crippling bug. 01:45:53 The Hacks subsection lists flying and noclip, which are arguably worse 01:46:21 Deewiant: Arguably? 01:46:25 Deewiant: This thing can take down a server for minutes. 01:46:37 Deewiant: Hell, arbitrary lengths of time (travel to 2^60 anyone?) 01:46:52 Oh right, the DOS thing 01:46:55 Forgot about that 01:47:23 -!- cheater99 has quit (Read error: Connection reset by peer). 01:48:06 Deewiant: Maybe I should tell Notch about it on Twitter by pinging him -- you know, full disclosure and all that... :-P 01:50:16 Deewiant: Oh, and you could fill up some poor bastard's disk too. 02:01:53 Vorpal: Yes. At risk. 02:02:29 -!- zzo38 has joined. 02:03:25 Vorpal: Are you so much at risk that you've given up playing? 02:03:52 -!- cheater99 has joined. 02:04:09 elliott, details 02:05:39 -!- cheater99 has quit (Read error: Connection reset by peer). 02:22:24 -!- cheater99 has joined. 02:22:27 who's up for some coffee? 02:25:18 yes 02:25:53 -!- cheater99 has quit (Read error: Connection reset by peer). 02:26:47 -!- majawana has left (?). 02:37:18 -!- augur has quit (Remote host closed the connection). 02:38:08 I want no coffee, please 02:40:41 Vorpal: how's it a mess? 02:42:24 -!- cheater99 has joined. 02:44:13 elliott, well... it's messy 02:44:14 ! 02:44:38 -!- cheater99 has quit (Read error: Connection reset by peer). 02:45:48 -!- augur has joined. 03:01:21 -!- cheater99 has joined. 03:04:05 -!- cheater99 has quit (Read error: Connection reset by peer). 03:15:06 -!- zeotrope has quit (Ping timeout: 265 seconds). 03:15:26 -!- hagb4rd has quit (Ping timeout: 240 seconds). 03:20:24 oerjan, there? 03:20:31 oerjan, math question 03:20:36 -!- cheater99 has joined. 03:20:49 AAAAAAAAAAAAAAAAAAAaa 03:20:51 oerjan, for every m in Z_+ there is an n in Z_+ such that m^n (mod 65) == 64 03:20:55 oerjan, that is the theory 03:20:56 i mean, hi 03:20:57 is it true? 03:21:22 oh hm 03:21:32 lessee 65 = 13*5 03:21:48 oerjan, it was something with prime, right 03:22:10 ok so it's false e.g. for m = 5 03:22:13 hm 03:22:31 actually the equation is not correct for the problem 03:22:43 since the problem in question gives 1 after 64 03:22:46 there is no 0 03:22:54 (stacking items in minecraft) 03:23:07 so it's mod_63 really 03:23:07 so wrong equation 03:23:07 -!- cheater99 has quit (Read error: Connection reset by peer). 03:23:22 elliott, but then you couldn't get stacks of 64 03:23:30 0 = stack of 1 03:23:33 1 = stack of 2 03:23:34 ... 03:23:40 hm 03:23:41 erm 03:23:42 ah 03:23:42 mod_64 really 03:23:43 then 03:23:45 63 = stack of 64 03:24:15 $ factor 64 03:24:15 64: 2 2 2 2 2 2 03:24:54 elliott, yet 3 works 03:25:39 Vorpal: actually the primeness has nothing to do with it, it's false for m = 65 which obviously generalizes 03:25:48 (that equation) 03:25:49 -!- boily has joined. 03:26:44 oerjan, hm 03:27:24 oerjan, then same question but given that instead of 0 it goes to 1 03:27:42 oerjan, so that f(64) = 64, f(65) = 1 03:27:54 Vorpal: you haven't yet defined anything clearly 03:28:00 oerjan, true 03:28:05 oerjan, I don't know how to define it 03:28:15 oerjan, it is an iterative algorithm I want to study really 03:28:25 well then give the bloody algorithm 03:28:29 oerjan, yeah 03:28:31 lets see 03:28:58 you have a number m. You can perform one operation on it. That operation is to double it 03:29:00 however 03:29:21 if it goes to 65 you get 1 back 03:29:33 what if it goes _above_ 65? 03:29:40 anything above 64 gives you the value - 64 03:29:46 ok 03:29:47 such that 66 - 64 = 2 03:29:49 and so on 03:30:06 oerjan: basically there's a bug. you can duplicate a stack of N into two stacks of N. 03:30:19 f(x) = let y = 2*x in if y > 64 then y-64 else y 03:30:21 oerjan: vorpal wants to know: if you duplicate a stack until you have a 64 stack + leftovers, then do the same to the leftovers 03:30:23 oerjan, now, will repeatedly duping it sooner or later give you exactly 64 03:30:25 oerjan: do you ever end up with just 64s? 03:30:26 and no leftovers 03:30:45 so far most it took me is 3 "wraparounds" 03:31:31 oh hm well this is the same as doubling mod 64, really 03:31:40 and asking whether you ever reach 0 03:31:53 oerjan, maybe. 03:31:54 which is indeed true 03:32:00 oerjan, for all starting values? 03:32:08 right 03:32:16 six doublings gives you 0 (mod 64) 03:32:22 right 03:34:06 a stack of odd size should give you that in exactly six 03:34:16 oerjan, probably 03:34:28 hm 03:34:33 oerjan, how do you calculate that 03:34:40 just out of interest 03:34:42 -!- hagb4rd has joined. 03:34:48 oh and i think the most wraparounds are if you start with 63 03:35:18 Vorpal: 2^6 = 64 03:35:24 ah right 03:35:39 Vorpal: well it hits 0 (mod 64) when the number becomes divisible by 2 six times, each doubling adds one 03:36:46 63 -> 62 -> 60 -> 56 -> 48 -> 32 -> 64 with all except the last step wrapping 03:36:57 -!- Quadrescence has quit (Quit: omghaahhahaohwow). 03:37:30 ah right 03:38:11 and that's the most you can get, since the final step hitting 64 cannot wrap 03:38:27 indeed 03:38:38 -!- augur has quit (Ping timeout: 240 seconds). 03:38:57 actually the number of wraps is the same as the number of set bits minus 1, i think 03:39:05 hah 03:39:06 oh wait 03:39:32 yes, i think so 03:39:38 -!- cheater99 has joined. 03:39:56 elliott, ls ~/.minecraft/resources/streaming 03:40:05 elliott, those are records 03:40:15 elliott, but we only have two records 03:40:18 yet there are more .mus 03:40:20 huh 03:40:20 yes, c4183274982347whatever has mentioned it 03:40:30 elliott, so how can we get the other .ogg 03:40:40 elliott, that are missing 03:40:46 $ ls 03:40:46 11.mus 13.mus 13.ogg blocks.mus cat.mus cat.ogg chirp.mus far.mus mall.mus mellohi.mus stal.mus strad.mus ward.mus where are we now.mus 03:40:47 I mean 03:40:58 shrug 03:41:01 surely we can extract the missing ones somehow 03:41:15 .mus looks like Finale music score 03:41:19 or 03:41:23 "SCORE Music Publishing System" 03:41:26 elliott, they are "data" days file 03:41:43 I would guess Finale. 03:41:43 *Maybe.* 03:41:49 elliott, don't think so 03:42:01 why would he distribute that 03:42:02 -!- cheater99 has quit (Read error: Connection reset by peer). 03:42:12 oerjan: BTW: Grains are quite nasty for digestive system. And the bad effects are not limited to digestive system, those can show up as who knows what problems in who knows where (joints, heart, brain, you name it...). 03:42:14 shrug 03:42:19 elliott, probably just metadata 03:42:30 -rw-r--r-- 1 elliott elliott 1.5M Nov 10 18:00 /home/elliott/.minecraft/resources/streaming/strad.mus 03:42:32 Vorpal: DOUBTFUL 03:42:39 probably some tracker thing 03:42:39 elliott, hm 03:42:40 maybe 03:42:45 elliott, yeah 03:42:45 -rw-r--r-- 1 elliott elliott 1.1M Nov 10 17:59 13.mus 03:42:45 -rw-r--r-- 1 elliott elliott 1.1M Nov 10 17:59 13.ogg 03:42:48 -rw-r--r-- 1 elliott elliott 1.3M Nov 10 17:59 cat.mus 03:42:48 -rw-r--r-- 1 elliott elliott 1.3M Nov 10 17:59 cat.ogg 03:42:49 insert obvious theory 03:43:01 elliott, xor? 03:43:12 Vorpal: maybe binary audio data but in another format. but sure, xor to see if you can get the ogg header 03:43:23 -!- hagb4rd has quit (Ping timeout: 240 seconds). 03:43:25 elliott, didn't you write a program for it? 03:43:53 elliott, exactly as many bytes long 03:44:07 if different format I would expect it to differ a bit 03:45:10 Vorpal: a program for what? 03:45:14 but yeah, i expect they're the same data 03:45:29 elliott, a program for xoring router firmware 03:46:05 Vorpal: oh. no, i stole one off the interwebs 03:46:13 -!- boily has quit (Quit: leaving). 03:46:14 but uh, it's just putchar(getchar()^3590835904) :P 03:46:18 easy to do with even python 03:46:21 since all you need to find is the ogg header 03:47:11 yeah 03:47:15 elliott, btw http://www.minecraft.net/resources/ 03:48:00 heh 03:48:08 wonder if you can replace them easily? probably already done 03:49:34 elliott, anyway "meh" at trying to figure out scheme for "encryption" 03:49:49 elliott, presumably decompiling is easier 03:49:50 "meh" at iterating through 256 values, xoring a few bytes, and comparing them? srsly? 03:50:01 elliott, meh at writing any code this time of the day 03:50:34 -!- augur has joined. 03:50:58 -!- hagb4rd has joined. 03:52:01 Vorpal: Well, it's not a simple xor cipher. 03:52:11 elliott, oh? 03:52:29 Tested all combos. 03:52:32 'O,\x8d\xbf' 03:52:37 Should be OggS. 03:52:47 huh 03:53:53 to xor, xor not to xor, that is the question 03:54:15 might be iterative xor of some kind, whatever 03:57:18 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 03:58:38 -!- cheater99 has joined. 03:58:38 I sometimes make a stupid mistake. I made a stupid mistake I accidentally typed q=malloc(strlen(s)+strlen(stack_ptr->text)); instead of q=malloc(strlen(s)+strlen(stack_ptr->text)+1); but I fixed it now. Now it can do things like this: 03:58:44 <[:]ra+s2s1[Al1rl2xY]xD> 03:58:47 <[:]ra+s2[;]ra+s10[ddl1xrl2x1+d256-0 1diQY]xD> 03:59:52 Do you think I made some progress with this program now? (I added various other features too, including a few fixed and new data structures.) 04:00:38 -!- hagb4rd2 has joined. 04:00:51 It actually has some similarities to dc and Underload. Do you think it is? 04:02:14 -!- hagb4rd has quit (Ping timeout: 240 seconds). 04:03:57 -!- cheater99 has quit (Read error: Connection reset by peer). 04:04:04 Any Underload program without S can be directly written in TeXnicard by converting one character to one character, in fact. 04:07:03 XD 04:07:16 night → 04:12:56 -!- elliott has quit (Quit: Leaving). 04:13:21 Hay you! What time is it on the moon right now? 04:14:09 heh 04:15:37 i think that question doesn't have a definite answer 04:16:52 any more than "what time is it on earth now" does 04:18:53 oerjan: I believe you. 04:19:53 -!- cheater99 has joined. 04:20:27 although in addition, the day on the moon is a lot longer than on earth, about a month long 04:20:44 Do you like my general plan of TeXnicard? (The plan is it makes .tex and .mf and so on from the .cards file, and then .dvi and .*gf, and then from those it creates MIFF and send the results to ImageMagick to process.) 04:21:07 (Which means, that to use TeXnicard, you also need TeX, METAFONT, and ImageMagick.) 04:21:12 because the moon always has the same face towards the earth, and goes around in a (moon, not calendar) month 04:21:18 *around it 04:22:34 although it's still short compared to venus's day which is only a bit different from a venus _year_ 04:22:36 oerjan: Yes, that is what a "month" is, isn't it? 04:22:48 -!- Wamanuz4 has joined. 04:23:32 yeah but the calendar months aren't exactly those months in our calendar, because they were stretched to get exactly 12 in a year 04:23:32 -!- cheater99 has quit (Read error: Connection reset by peer). 04:24:05 unlike the islamic and jewish ones, afair 04:24:10 oerjan: Yes. I know that. 04:24:38 and probably the chinese too iirc 04:26:20 -!- Wamanuz3 has quit (Ping timeout: 264 seconds). 04:30:11 Will you be part of the TeXnicard contest? 04:30:28 no. 04:30:44 Have you ever used Magic Set Editor? 04:30:56 no. 04:31:48 Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses. 04:32:56 * oerjan leaves that question for anyone else who might play magic 04:35:42 -!- pikhq has joined. 04:38:00 http://www.engadget.com/2010/12/19/wireless-carriers-openly-considering-charging-per-service/ FUCK YOU PHONE COMPANIES. 04:38:03 FUCK YOU. 04:39:32 Of course, Magic: the Gathering might not be the first templates we make for TeXnicard. But it should be done eventually. However, none of these templates will be included with TeXnicard, you will have to download them separately, because they are not part of TeXnicard. 04:40:23 -!- cheater99 has joined. 04:42:53 -!- cheater99 has quit (Read error: Connection reset by peer). 04:46:14 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 04:46:27 -!- evincar has joined. 04:49:33 -!- poiuy_qwert has joined. 04:59:23 -!- cheater99 has joined. 05:02:32 -!- cheater99 has quit (Read error: Connection reset by peer). 05:10:49 -!- Sgeo_ has joined. 05:19:23 -!- cheater99 has joined. 05:22:02 -!- cheater99 has quit (Read error: Connection reset by peer). 05:36:35 -!- evincar has left (?). 05:38:16 -!- pikhq has quit (Ping timeout: 265 seconds). 05:38:23 -!- cheater99 has joined. 05:39:51 -!- pikhq has joined. 05:40:28 -!- cheater99 has quit (Read error: Connection reset by peer). 05:52:38 -!- hagb4rd2 has quit (Ping timeout: 240 seconds). 05:57:23 -!- cheater99 has joined. 06:00:08 -!- cheater99 has quit (Read error: Connection reset by peer). 06:16:23 -!- cheater99 has joined. 06:19:16 -!- cheater99 has quit (Read error: Connection reset by peer). 06:20:04 I'm addicted to blockexplorer.com 06:20:31 bitcoin is dumb 06:20:42 it's too scarce 06:24:52 ais523: hey, quick random questoin 06:25:04 why does ESR associate you with Discordianism here: http://esr.ibiblio.org/?p=2491 06:28:39 Would you be interested in a program converting MSE set symbol files into TeXnicard format? 06:31:33 not really 06:31:45 I haven't touched MSE code at all in a while 06:31:59 zzo38: Oh, right, you're making something much less revolting than MSE! 06:32:00 :D 06:32:24 This would probably be done by writing METAFONT macros for the various symbol combines, symmetry, and so on, in .mse-symbol files. 06:32:40 pikhq: Are you interested in MSE and/or TeXnicard? 06:33:21 zzo38: I'm a bit interested in TeXnicard, because my experience using MSE in the past has been rather painful. 06:33:51 Especially the Linux port. 06:33:57 Sorry, coppro, but ow. 06:34:50 pikhq: OK. Do you have any suggestions/comments for TeXnicard? I might consider them. (I also found MSE a bit painful, which is one of the reasons I am writing TeXnicard. In addition, it should run the same on Linux as Windows, no need to make separate ports.) 06:35:23 -!- cheater99 has joined. 06:35:33 zzo38: Currently, no real comments, except "Ooooh, good typesetting". 06:35:49 zzo38: Oh, well. It would be nice if it were easier to create new templates for cards. 06:36:08 MSE's whole spriting approach is a bit obtuse. 06:36:26 pikhq: Well, yes, it will use TeX for typesetting the cards (and ImageMagick for rendering them). 06:37:04 pikhq: Yes, it would be nice for a better way to create new templates. What would be good is some GUI program that allows placing the fields. 06:37:16 Mmm. 06:37:54 pikhq: no offense taken 06:38:03 linux port is a rickety thing at bets 06:38:04 After writing the main TeXnicard program, I might write some additional utilities, which can be used for such things as these. 06:38:04 *best 06:38:09 which is kind of why I gave up 06:38:27 -!- cheater99 has quit (Read error: Connection reset by peer). 06:38:32 coppro: I know I spent a full freaking day patching it to *build*. 06:38:36 Not *work*, just *build*. 06:39:04 I'd probably have better luck going through winelib. 06:40:45 pikhq: Well, then good thing that TeXnicard probably will not require any such things as that. If it does require a few patches though, they should be very few, and can be made in a .ch file. 06:41:30 pikhq: really? yuk 06:41:38 I can at least get it to build 06:41:49 but then again, autoconf is happy with my system 06:41:56 (which is itself a miracle) 06:42:08 coppro: What things don't work with MSE in Linux? 06:42:15 zzo38: oh, lots of things 06:42:28 zzo38: there's one menu that crashes it about 50 % of the time 06:42:37 it's like my arch-nemesis 06:42:44 there's some bug deep in wx it's triggering I think 06:43:04 coppro: I was using Gentoo at the time. 06:43:12 coppro: And Gentoo tends to expose a *lot* of build system bugs. 06:43:19 or some random arbitrary input restriction that the debug build doesn't check for and is inconsistent across platforms 06:43:28 wxWidgets absolutely loves those 06:43:54 wxWidgets is a piece of shit 06:45:00 Well, obviously I am not using wxWidgets for TeXnicard. (Any utility programs that go with it probably won't use wxWidgets either.) 06:45:09 zzo38: I would hope 06:45:19 I would not wish wxWidgets upon anyone 06:45:31 Cross-platform UI is basically agony. 06:46:00 Qt is probably the best. wxWidgets... Works sometimes. 06:46:23 GTK is, of course, not native anywhere but X. 06:49:13 yeah 06:49:18 but Qt has its own pains 06:49:30 Yeah, it does. 06:50:03 Well, I will figure out what GUI toolkit (if any) to use, when it is time to write the utility programs. 06:52:00 What pains does Qt have? 06:52:19 Windows and OS X. 06:52:38 also build steps 06:53:01 build systems suck enough already that you don't need MOC to screw things up more 06:54:13 Do you have any advice for me to make TeXnicard, in terms of: random number generators, sorting and grouping, pattern matching, word form adjustment (such as plurals and number to words), ? 06:54:53 -!- cheater99 has joined. 06:55:27 RNG: don't write it yourself, pick a solid algorithm 06:55:44 sorting: don't write it yourself, pick a solid algorithm 06:55:44 -!- cheater99 has quit (Read error: Connection reset by peer). 06:55:55 pattern matching: don't write it yourself, use ML 06:56:15 coppro: TeX. 06:56:21 coppro: He's writing it himself. 06:56:22 :) 06:56:51 coppro: OK, then what solid algorithms should be used? 06:57:30 (For sorting, C does have a qsort command for sorting, which could be used for a part of it, maybe) 06:57:41 And what is ML? 07:00:22 pikhq: I know :P 07:00:28 rofl 07:00:47 zzo38: i think that ML part was a joke 07:00:53 -!- hagb4rd has joined. 07:01:32 oerjan: OK. 07:01:47 But what algorithm to use for random numbers, which is suitable for this program? 07:03:24 And again, what would be best for matching patterns and keywords? 07:04:02 although of course ML _is_ good for writing languages in 07:07:34 -!- pikhq has quit (Ping timeout: 255 seconds). 07:09:31 -!- pikhq has joined. 07:12:05 -!- cheater99 has joined. 07:14:43 -!- cheater99 has quit (Read error: Connection reset by peer). 07:31:23 -!- cheater99 has joined. 07:34:06 -!- cheater99 has quit (Read error: Connection reset by peer). 07:36:17 -!- zzo38 has quit (Remote host closed the connection). 07:37:25 -!- pikhq has quit (Ping timeout: 260 seconds). 07:39:04 -!- pikhq has joined. 07:50:53 -!- cheater99 has joined. 07:53:14 -!- cheater99 has quit (Read error: Connection reset by peer). 07:59:23 -!- hagb4rd has quit (Ping timeout: 240 seconds). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:10 -!- Sgeo_ has quit (Quit: Leaving). 08:02:13 -!- hagb4rd has joined. 08:09:38 -!- cheater99 has joined. 08:13:12 -!- cheater99 has quit (Read error: Connection reset by peer). 08:17:10 -!- ais523 has quit (Remote host closed the connection). 08:28:23 -!- cheater99 has joined. 08:30:28 -!- cheater99 has quit (Read error: Connection reset by peer). 08:47:23 -!- cheater99 has joined. 08:49:36 -!- cheater99 has quit (Read error: Connection reset by peer). 09:01:39 "Included in the release today is leaf decay, working server-side inventory, throwable eggs, and less system hungry servers." 09:01:48 I give that thing rather good odds of breaking mcmap. 09:04:25 BUT CAN YOU MAKE OMELETTES? 09:06:23 -!- cheater99 has joined. 09:08:58 Maybe if you craft a bucket of lava, an iron ingot and an egg together. 09:09:03 -!- cheater99 has quit (Read error: Connection reset by peer). 09:10:29 -!- sftp_ has joined. 09:10:49 -!- sftp has quit (Ping timeout: 240 seconds). 09:25:38 -!- cheater99 has joined. 09:28:02 -!- cheater99 has quit (Read error: Connection reset by peer). 09:44:23 -!- cheater99 has joined. 09:47:42 -!- cheater99 has quit (Read error: Connection reset by peer). 09:53:01 -!- sftp has joined. 09:53:05 -!- sftp_ has quit (Ping timeout: 250 seconds). 10:00:29 -!- sftp_ has joined. 10:00:35 10:00:53 -!- sftp has quit (Ping timeout: 250 seconds). 10:04:21 -!- cheater99 has joined. 10:07:35 -!- cheater99 has quit (Read error: Connection reset by peer). 10:19:43 -!- cheater99 has joined. 10:21:05 -!- atrapado has joined. 10:23:42 -!- cheater99 has quit (Read error: Connection reset by peer). 10:27:50 -!- hagb4rd has quit (Ping timeout: 240 seconds). 10:39:42 -!- cheater99 has joined. 10:40:31 -!- cheater99 has quit (Read error: Connection reset by peer). 10:42:07 -!- sftp has joined. 10:42:38 -!- sftp_ has quit (Ping timeout: 240 seconds). 10:46:36 -!- sftp_ has joined. 10:47:00 -!- sftp has quit (Ping timeout: 272 seconds). 10:56:57 -!- cheater99 has joined. 10:58:29 -!- cheater99 has quit (Read error: Connection reset by peer). 11:03:28 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 11:05:38 -!- poiuy_qwert has joined. 11:10:30 -!- sftp has joined. 11:12:09 -!- wareya has quit (Read error: Connection reset by peer). 11:12:13 -!- sftp_ has quit (Ping timeout: 276 seconds). 11:13:01 -!- wareya has joined. 11:15:17 -!- cheater99 has joined. 11:17:00 -!- sftp_ has joined. 11:17:24 -!- sftp has quit (Ping timeout: 272 seconds). 11:19:02 -!- cheater99 has quit (Read error: Connection reset by peer). 11:23:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 11:25:38 -!- poiuy_qwert has joined. 11:35:45 -!- cheater99 has joined. 11:39:07 -!- cheater99 has quit (Read error: Connection reset by peer). 11:43:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 11:45:38 -!- poiuy_qwert has joined. 11:55:49 -!- cheater99 has joined. 11:58:26 -!- sftp_ has quit (Remote host closed the connection). 12:00:14 -!- cheater99 has quit (Read error: Connection reset by peer). 12:03:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 12:05:25 -!- Quadrescence has joined. 12:05:38 -!- poiuy_qwert has joined. 12:16:47 -!- cheater99 has joined. 12:18:58 -!- atrapado has quit (Remote host closed the connection). 12:19:51 -!- cheater99 has quit (Read error: Connection reset by peer). 12:23:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 12:25:38 -!- poiuy_qwert has joined. 12:30:40 -!- pikhq has quit (Ping timeout: 255 seconds). 12:32:23 -!- pikhq has joined. 12:36:17 -!- cheater99 has joined. 12:40:49 -!- cheater99 has quit (Read error: Connection reset by peer). 12:43:37 Vorpal, elliott: "Just asking, have you forgot about the drop + pickup = intact item bug?" → "no, that's fixed as part of the server-side inventory". No more infinitely durable diamond pickaxes. 12:43:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 12:45:38 -!- poiuy_qwert has joined. 12:47:09 (And a rather weird comment about "'Collaborating' in chests will be way more fun when you can see each others mouse pointers".) 12:48:02 fizzie, ouch, when will it be released 12:48:26 Today. 12:48:31 At some unspecified time. 12:48:57 It might also very easily fix the item-placement thing, but that's probably just a good thing. 12:52:45 fizzie, what item-placement thing? 12:52:54 Oh, right, you weren't around. 12:53:17 I built Deewiant's tree by forcibly placing leaves, yet another instance of server not verifying client-sent values. 12:53:34 But the same thing could obviously be used to place an infinite amount of any block type at all. 12:53:53 (Except possibly bedrock, there is supposedly a special check against that.) 12:55:05 fizzie, heh 12:57:17 -!- cheater99 has joined. 12:58:38 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 13:00:56 -!- cheater99 has quit (Read error: Connection reset by peer). 13:05:31 fizzie, anything mentioned about torches btw? 13:06:13 Not in the twitter. "Included in the release today is leaf decay, working server-side inventory, throwable eggs, and less system hungry servers." 13:06:22 Or did I paste that already? 13:06:26 Yes, I did. 13:06:42 And the official server-mod support "early next year". 13:07:57 hm 13:08:16 fizzie, time to switch to alternative auth system then 13:08:34 and log in early 13:13:04 -!- poiuy_qwert has joined. 13:16:45 -!- cheater99 has joined. 13:21:47 -!- cheater99 has quit (Read error: Connection reset by peer). 13:27:22 -!- Quadrescence has quit (Quit: omghaahhahaohwow). 13:27:37 -!- Quadrescence has joined. 13:35:22 -!- FireFly has joined. 13:37:30 -!- cheater99 has joined. 13:43:05 -!- cheater99 has quit (Read error: Connection reset by peer). 13:44:17 -!- tswett has quit (Read error: Operation timed out). 13:50:31 -!- Quadrescence has quit (Quit: omghaahhahaohwow). 13:55:50 -!- pikhq has quit (Ping timeout: 240 seconds). 13:58:03 -!- pikhq has joined. 13:58:15 -!- cheater99 has joined. 13:58:24 -!- oerjan has quit (Quit: leaving). 14:01:47 -!- cheater99 has quit (Read error: Connection reset by peer). 14:05:05 -!- Quadrescence has joined. 14:08:02 -!- tswett has joined. 14:18:15 -!- cheater99 has joined. 14:22:13 -!- cheater99 has quit (Read error: Connection reset by peer). 14:37:53 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 15:04:39 fizzie, you know those mobile core 2 duo's that make a high pitched noise when they wake up from C4? I can't run mcmap on that laptop due to the noise, it wakes up a lot (even discounting network traffic). 15:05:19 Heh... Reminds me of my other computer that makes noise with high network traffic. 15:05:53 Ilari, well, it doesn't so much here, anyway I tried with a local server and local client on the same computer... and traffic over lo never made noise before 15:06:18 and just client + server does not cause the noise 15:06:30 so something like... 1200 wakeups / second according to powertop 15:06:41 some of that will be network, but it seems far from all 15:06:46 My other box makes a very annoying whine whenever the display card needs to draw anything 3D. 15:07:15 heh 15:07:39 fizzie, anyway, any idea about those extra wakeups? 15:08:49 Not immediately, no. It shouldn't be busy-polling anything when nothing happens, and there aren't any high-frequency timers. (But it's maybe not very performance-optimized in general.) 15:09:05 Heh... 10.3 pinging 10.1, ping times are ~23.4ms. 10.1 pinging 10.3, ping times are ~1.55ms... 15:09:05 ḧm okay 15:09:30 Ilari, asymmetric paths do exist 15:09:37 (might not be the case here) 15:09:58 The paths are symmetric (only one exists). 15:10:14 Ilari, could be slow firewall on one side maybe? 15:10:28 -!- MigoMipo has joined. 15:10:51 Well, one computer (10.1) is much slower than the other, but that doesn't explain why ping times just worsen and worsen... 15:11:20 The first ping time has increased by almost 50-fold from what it was inititally... 15:11:30 Ilari, check load? 15:11:47 if one is swap trashing... 15:12:17 Ilari, also 10.1, is that a 16-bit IP? XD 15:12:38 Load average: 0.00 15:12:48 huh 15:13:01 Ilari, what does (h)top say? 15:13:53 About what? That load average was from top... 15:13:55 fizzie, anyway the system in question seems to jump between C4 mwait (90.7%) and C0 (5.5%) with the rest accounted by in C2 mwait 15:14:01 Ilari, well, memory usage 15:14:27 fizzie, just standing still in MC 15:14:41 -!- elliott has joined. 15:14:45 some bad scheduling from the linux kernel there I suspect 15:15:03 Over half of memory free or discarable. 15:15:11 *discarable 15:15:20 Swap use less than 1MB. 15:15:25 Ilari, how very strange, has it worked well before? 15:16:25 20:30:11 Will you be part of the TeXnicard contest? 15:16:25 20:30:28 no. 15:16:25 20:30:44 Have you ever used Magic Set Editor? 15:16:25 20:30:56 no. 15:16:25 20:31:48 Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses. 15:16:31 Funny you should mention it, why yes I do! 15:16:38 XD 15:16:42 Ilari, oh wait, is any of the firewalls rate limiting or such? 15:16:43 Note: Last line never happened. 15:16:49 elliott, aww 15:16:53 Pinging IPv6 link-local address of the same box is fast (~0.5ms). 15:16:59 Nope. 15:17:07 22:20:31 bitcoin is dumb 15:17:07 22:20:42 it's too scarce 15:17:09 Ilari, .... what 15:17:10 coppro: divisible to 8 decimal places 15:17:13 Ilari, that's just absurd 15:17:14 22:24:52 ais523: hey, quick random questoin 15:17:14 22:25:04 why does ESR associate you with Discordianism here: http://esr.ibiblio.org/?p=2491 15:17:18 coppro: because esr is a fuckfaced moron? 15:17:18 Ilari, ARP issues? 15:17:29 though arp *should* cache 15:17:56 Both have correct-looking ARP tables. 15:18:06 and routing tables? 15:18:19 Ilari, is it just a switch in between or is the setup more complex? 15:18:34 Seem sane. And yes, only one switch. 15:18:47 also, there was that one network card that notified every n bytes, not every packet 15:18:57 was it that rt8192 one? 15:19:58 elliott: "... I discovered that INTERCAL had nucleated an entire weird little subculture of esoteric-language designers around itself, among whom I had come to be regarded as sort of a patriarch in absentia ..." (esr); did you know that's how you regard him? 15:19:59 coppro: you just told zzo not to write something himself, /thrice/ 15:20:10 fizzie: Yes, I did, thanks to ais523 quoting it. 15:20:26 fizzie: Funny, 'cuz we all seem to be pretty quiet about our esr worship. 15:20:43 fizzie: OH, does he mean how when we came in here every day we said "Praise be to esr, giver upon to us of C-INTERCAL's glory?" 15:20:46 Yeah. Yeah, I remember taht. 15:20:48 *that 15:21:02 elliott, except you linking to a webcomic named after him all the time! 15:21:09 (note, hyperbole) 15:21:11 Vorpal: No, no, it's Eric Raymond, not Eric S. Raymond. 15:21:18 Totally different guy that looks and behaves identically. 15:21:23 hah 15:21:41 fizzie: BTW -- proper readline erasing -- that escape sequence doesn't really work, because readline actually uses multiple physical-terminal-lines (they're physical, you can touch them and they're fuzzy!) 15:21:43 And I just got up! 15:22:12 fizzie: And telling readline "undisplay everything, dammit" is difficult because, well, it's not really designed for multithreaded use -- and how can you call rl_shoo_you_bastard() when readline() is blocking? 15:22:15 But that every n bytes wouldn't explain why it was initially fast... Also, the other direction also slows down, but much slower (factor of about 3 currently) 15:23:12 fizzie: So there isn't really a function for that. There *are* some functions to save and restore internal state, but if I save state, replace the line with "" to get it to be one line, redraw, erase the line, print out whatever, restore the state, and tell it to redraw, it gives me a blank line I can't type into; enter works to send nothingness, ^A^K does nothing but lets me type, and I think ^A might actually work like that -- I suspect it is s 15:23:12 omehow saving the mark and point and whatnot but not the text. 15:23:34 fizzie: Perhaps the text-replacing function actually writes to the pointer; I looked at readline's source and it just did "sp->line = readline_line", except with more words there. 15:24:33 elliott: You could make all output go through the readline'ing thread; have it select() (or alike) on both a pipe (of output, from other threads) and stdin, and call that readline callback interface when stdin has data. Though that would only help for the blocking part, not how to properly interlace input and output. 15:24:41 01:01:39 "Included in the release today is leaf decay, working server-side inventory, throwable eggs, and less system hungry servers." 15:24:41 01:01:48 I give that thing rather good odds of breaking mcmap. 15:24:57 fizzie: Oh, look at that, I can forget mcmap ever existed for a while! 15:25:10 elliott: You could make all output go through the readline'ing thread; have it select() (or alike) on both a pipe (of output, from other threads) and stdin, and call that readline callback interface when stdin has data. Though that would only help for the blocking part, not how to properly interlace input and output. 15:25:22 fizzie: The blocking part ain't no problem; log_print() is called from elsewhere. I was talking as 15:25:30 fizzie: Mr. Readline Architect, circa 1995, not realising multithreading exists: 15:25:44 "But why do you need rl_go_away()? You can't call it while readline() is blocking, so it would never do anything!" 15:25:52 fizzie: The blocking part ain't no problem; log_print() is called from elsewhere. I was talking as 15:25:52 fizzie: Mr. Readline Architect, circa 1995, not realising multithreading exists: 15:25:53 Great. 15:25:58 I've started splitting my IRC lines Minecraft-style. 15:26:09 Anyway, elsewhere, must get home. 15:26:51 05:07:57 hm 15:26:51 05:08:16 fizzie, time to switch to alternative auth system then 15:26:51 05:08:34 and log in early 15:27:01 Vorpal: Or just get an hMod plugin that makes all items durable. 15:27:53 elliott, that works too 15:28:14 Vorpal: So, uh, we should duplicate every block. Now. 15:28:40 What I guess that slowdown might be is that continuous pinging pollutes some connection tracking tables and the system then has to search for the active entry... 15:31:13 -!- j-invariant has joined. 15:32:19 Ilari, hm but ICMP? connection tracking? 15:32:24 well maybe 15:32:40 Ilari, anyway, do you do something strange with contrack and icmp? 15:34:04 Actually there goes that theory... 10.1 has no firewall rules. 15:34:19 Ilari, kernel bug or shoddy hardware? 15:34:39 Both 10.1 and 10.3 run the same kernel version (but diffrent archs). 15:34:40 and does it reach a cap in ping time? Or does it keep getting worse still? 15:34:54 I think it goes worse and worse... 15:35:08 But it is fairly slow process... 15:35:18 Ilari, what does rebooting do to it? 15:35:35 These systems are not to be rebooted. 15:35:41 ah 15:35:48 bbl food is ready 15:36:21 olsner: you're as clever as someone else! 15:36:22 http://www.reddit.com/r/haskell/comments/ejf1t/on_the_search_for_mathematical_truth_and/c18jhx0 15:36:26 "The Dual numbers is actually the same idea as in the Dif numbers, but the Dif implementation has a lazy infinite tower of derivatives. 15:36:26 Also, you can do symbolic derivation with Dif if you want to" 15:36:52 hey elliott I want to program this in haskell http://en.wikipedia.org/wiki/Inverse_limit 15:37:25 j-invariant: are you sure that's even possible? :) 15:37:43 well I asked that question in #haskell and someone just said "try it" 15:37:50 so I don't konw 15:37:57 "The Dif type is the type of differentiable numbers. It's an instance of all the usual numeric classes. The computed derivative of a function is is correct except where the function is discontinuous, at these points the derivative should be a Dirac pulse, but it isn't." 15:38:04 j-invariant: i think that's code for "oh man that looks hard" :) 15:38:14 Gregor: stop making me disconnect from Sine. :P 15:38:42 The best way to stop disconnecting from Sine is to stop connecting to Sine. 15:39:10 I disagree. 15:40:07 abs p@(D x x') = D (abs x) (signum p * x') 15:40:10 why didn't i think of that 15:40:19 my code is way longer 15:41:50 Heh... Floodpinging 10.1 does loads of packet loss (I got 85% packet loss) if done in longer bursts... 15:44:05 hey this is great 15:44:12 it has all the Floating algorithms! :) 15:45:04 -!- sftp has joined. 15:46:12 Ilari, huh. check dmesg 15:46:19 j-invariant: 15:46:20 sin = lift (cycle [sin, cos, negate . sin, negate . cos]) 15:46:20 cos = lift (cycle [cos, negate . sin, negate . cos, sin]) 15:46:24 Ilari, for any strange non-iptables limiting that may happen 15:46:33 lift :: (Num a) => [a -> a] -> Dif a -> Dif a 15:46:33 lift (f : _) (C x) = C (f x) 15:46:33 lift (f : f') p@(D x x') = D (f x) (x' * lift f' p) 15:46:33 lift _ _ = error "lift" 15:46:46 j-invariant: best way to implement sin/cos ever 15:48:09 that last line looks weird 15:48:26 Nothing strange in dmesg... 15:48:36 (that was to elliott, the last line I said) 15:48:41 could you it like sin' = cos ; cos' = -sin ? and get the 4-cycle for free 15:48:42 Vorpal: why? 15:48:50 elliott: what does D denote? 15:48:52 since it can differentiate compositions 15:48:58 tswett: dual numbers 15:49:06 elliott, hm... oh wait misread the type signature. Now it makes more sense. 15:49:06 Ah. Neat. 15:49:06 well, infinitely-stacked dual numbers 15:49:09 j-invariant: hm possibly 15:49:13 j-invariant: wouldn't you have to integrate though? 15:49:30 to take advantage of that 15:52:30 take 42 . show $ sin d 15:52:30 "0.0 + 1.0 + -0.0 + -1.0 + 0.0 + 1.0 + -0.0" 15:52:41 lol @ -0.0 15:54:30 Having -0 is handy in some numerical calculations. 15:54:58 indeed 15:55:01 (in case 0 is some kind of branch split for some function). 15:56:30 *Main> deriv 1 tan (1.1*pi) 15:56:30 1.1055728090000843 15:56:33 j-invariant: yay 15:57:45 Database of fixed SSL _private_ keys... Why do people use non-PFS ciphers? 16:00:03 -!- Phantom_Hoover has joined. 16:00:37 Yes, if ciphersuite is not PFS, you can passively capture session and later decrypt it using server private key. That does not work with PFS ciphersuites... 16:01:25 ha 16:02:26 j-invariant: :( second derivative of tan is 0 here 16:02:31 oh wait no 16:02:38 just "deriv 2 tan" doesn't work 16:04:14 nderiv 0 f = f 16:04:14 nderiv n f = deriv (nderiv (n-1) f) 16:04:16 does not work :( 16:06:09 had a go at inverse limit but it didn't work 16:07:40 * elliott 's brain asks him what it would be like if there was a third type-of-types among Set and Prop called Coset which was defined as a codata, thus allowing infinite types... ow, that hurts 16:08:23 X = X -> X? 16:08:46 j-invariant: that isn't allowed by the codata rules is it? 16:08:48 only X = blah -> X 16:08:58 anyway you couldn't do that unless (->) was in Coset 16:09:05 oh right I se 16:09:12 i.e. if you have Setprop which is a supertype of Set and Prop and then Coset, and both of those are in Type 16:09:16 then (->) could be on Setprop 16:09:19 and you couldn't have a function like that 16:09:24 so Set could be a subset of Coset, and (->) : Set -> Coset -> Coset 16:09:50 or that, yep 16:10:03 j-invariant: but there's curry's paradox there isn't there? 16:10:15 oh, no 16:10:20 curry's paradox is only for X->X 16:10:24 which we couldn't construct 16:10:25 hm interesting 16:10:50 j-invariant: we can construct a proposition, then, that an infinite number of things imply that ...[hang] 16:10:53 useful! 16:11:24 hm i wonder how you'd define coset concretely 16:13:54 plus if you have infinite types you would probably need infinite terms... and they can hold an infinite amount of information 16:15:19 j-invariant: well no, i mean, you can already have infinite terms with codata 16:15:38 so sets : cosets :: terms : codata terms 16:15:44 no? 16:16:40 olsner: I seem to have broken your code somewhere along the line. 16:20:14 elliott: http://www.youtube.com/user/TheCatsters#p/c/E337D7DEA972E632/10/SpCyaNi257w 16:20:34 these cone things are neat, no clue if they can be computed though 16:22:11 j-invariant: so little is computable :( 16:23:33 elliott, down? 16:24:07 Vorpal: Seemingly. 16:24:11 Vorpal: I like how snow is just some elevated floor. 16:24:14 As in, the bit marked SNOW. 16:24:40 elliott, yeah 16:24:45 elliott, added for completeness 16:39:10 Apparently Notch can't rename Minecraft accounts. 16:39:14 Question: Why. 16:39:30 Bad database design? 16:39:37 Also: http://minecraft.net/haspaid.jsp 16:39:40 Ilari: Obviously. 16:39:43 Notch is a terrible coder. 16:40:21 Vorpal: [[@jeb_ @mattmagician points out that minecraft.net/minecraft-server.zip is missing! Could you check if it's in the SECRET_ROLLBACK folder?]] 16:40:29 SECRET_ROLLBACK. 16:40:51 Vorpal: Oh man, I've figured out why updates are always so buggy. 16:40:55 Vorpal: [[The first stage of inventory prediction works fine now.. Now to test rollbacks and errors..]] -- six hours ago. 16:41:04 Vorpal: This man implements, tests and releases things in the space of *hours*. 16:41:07 "Tests". 16:41:29 elliott: The floor is snow, so of course snow is just elevated floor. ;-P 16:41:39 Deewiant: Indeed. Can I blow up the TNT? 16:41:42 Nope. 16:41:47 Deewiant: Can I blow up the TNT, please? 16:41:50 Nope. 16:41:53 Deewiant: Can I blow up the TNT, pretty please? 16:41:55 Nope. 16:42:05 Deewiant: I'm going to blow up the TNT and you have to strangle me in the next 24 hours to stop me. 16:42:13 Nope. 16:42:48 What TNT? 16:43:05 Ilari: In Minecraft. :p 16:43:22 Deewiant: What if I lined the TNT's cage with obsidian? 16:43:26 And then blew it up? 16:43:38 If you just want to blow up any TNT, that can be arranged. 16:43:46 Deewiant: Well, no, it has to be this TNT. 16:43:59 Deewiant: You should ask ineiros for a bedrock walls for the TNT room. :p 16:44:19 Lining it with obsidian would break the layout of the place and can't be done trivially. 16:44:24 So, nope. 16:44:25 What does TNT look like? I hope that game does not mix up dynamite and TNT. :-) 16:44:37 Ilari: It does. 16:44:55 Well, in Painterly (at least with my options) TNT actually is "creeper bombs". 16:45:04 You can make it dynamite too. 16:45:09 Deewiant: If you don't let me blow up the TNT, I'll cry. 16:45:17 Then do. 16:45:22 Deewiant: Waah. 16:45:23 Deewiant: Waah. 16:45:24 Deewiant: Waah. 16:45:24 Deewiant: Waah. 16:45:48 In dynamite, the actual explosive substance is nitroglycerine. TNT is trinitrotolunene, which is itself explosive... 16:46:16 Ilari: Yes, but this way I get to blow up Deewiant's room of TNT, which is way more fun. 16:46:54 I believe there's been a miscommunication: no, you don't get to. 16:47:12 How much TNT is there anyway? 16:48:58 -!- poiuy_qwert has joined. 16:50:12 Wasn't it 22 blocks in each room? 16:50:39 I mean, 22 blocks of the item type that's being presented in the particular room; not 22 blocks of TNT in each room. 16:50:45 Yes, with a few exceptions (chest, sand, gravel) 16:52:13 How much 22 blocks of TNT would be? 16:53:11 One block is supposedly 1 m^3 16:56:21 1m^3 of TNT would be 1654kg, so about 36.4 metric tons... That would give quite an explosion... 17:00:52 elliott, down? 17:01:04 -!- Phantom_Hoover_ has joined. 17:01:19 -!- Phantom_Hoover_ has quit (Client Quit). 17:04:38 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 17:30:51 Since a block is a cubic meter, I guess the characters are pretty short. 17:31:12 tswett: We're 1.7 blocks tall. 17:32:40 We're short. 17:32:43 -!- Phantom_Hoover_ has joined. 17:36:46 tswett: Not so short as I. 17:37:47 uh yeah that's short 17:37:54 1.9 is more reasonable 17:38:04 What was that. 17:38:14 Oh god, upgrade. 17:38:17 to tswett 17:39:21 SO WHAT ABOUT THESE OPTIONAL UPDATES EH 17:39:56 * Made SMP servers save chunks way less often in most cases. Chunks don’t resave if they got saved in the last 30 seconds 17:39:59 What the hell did they do before. 17:40:12 * Moving too far away from a container, or having it blow up, closes the inventory screen 17:40:12 * Fixed /kill 17:40:12 * Introduced leaf decay again. It acts differently from before 17:40:13 (1) LAME 17:40:14 (2) LAME 17:40:16 (3) Yay 17:40:22 * On a whim, added super exclusive clan cloaks for Mojang Employees 17:40:22 ... 17:41:00 * pikhq has coffee 17:41:09 kannhąi! 17:41:18 pikhq, coffee is the drink of the DEVIL! 17:41:50 Phantom_Hoover_: Then PRAISE BE UNTO THAT DARK LORD! 17:42:34 Phantom_Hoover_: Man, as an Englishman, I have to say that coffee is a pretty good idea. 17:43:27 elliott, stupid you restarting the client 17:43:34 elliott, if you just reconnected it worked 17:44:01 elliott: Just because you like tea doesn't forbid you from liking coffee. 17:44:11 Vorpal: You realise I could always just use my backup? 17:44:16 pikhq: MIX THEM TOGETHER 17:44:24 elliott, except you couldn't log in then? 17:44:34 Vorpal: *shrug* 17:44:40 Vorpal: I'm not about to never upgrade again. 17:44:47 Anyway -- 17:44:58 Hoover Heavy Industries' tactical and strategic test is complete. 17:45:02 elliott: Not actually that good, sadly. 17:45:15 It was a resounding success, and our skill and quality on the defence and offence fronts is vastly improved. 17:45:31 Our clients will begin to see the higher-quality service in our work immediately. 17:45:42 That is all. 17:46:06 wait. 17:46:08 [[Those of you coming in late may not be aware that (1) INTERCAL is the longest-running and most convoluted joke in the history of programming language design, and (2) all modern implementations of this twisted, sanity-sucking horror are descended from one that I tossed off as a weekend hack in 1990 here in the town of Malvern Pennsylvania (the manual describing the language goes back to 1972 but before my C-INTERCAL there hadn’t been a running 17:46:08 implementation available in about a decade).]] 17:46:10 that's /not even false/ 17:46:13 CLC-INTERCAL 17:46:16 hell, even J-INTERCAL 17:46:26 well, not even true 17:46:29 but not even false, it's way beyond false 17:46:38 it's simply _wrong_ 17:47:07 elliott: I would like to give him the benefit of the doubt and say that at the time he wrote that it may have been true. 17:47:19 I'm not sure why, though. That fucker says stupid shit sometimes. 17:47:34 pikhq: That was written /this year/. 17:47:41 *facepalm* 17:47:47 pikhq: Praising himself for, uh, getting ais to track down all the old C-INTERCAL revisions. 17:48:03 He is such an egotist asshat. 17:48:03 pikhq: "whilst I was off doing the Mr. Famous Guy thing on behalf of open source) I discovered that INTERCAL had nucleated an entire weird little subculture of esoteric-language designers around itself, among whom I had come to be regarded as sort of a patriarch in absentia…." 17:48:23 ... Patriarch? We call him an egotist asshat! 17:48:42 -!- elliott has set topic: ~THE INTERCAL-BASED SUBCULTURE OF ESOTERIC-LANGUAGE DESIGNERS~ ~GREETINGS TO OUR PATRIARCH IN ABSENTIA, ERIC S. "GIGANTIC PENIS" RAYMOND~ ~PREVIOUS ESR WORSHIPS AVAILABLE AT http://tunes.org/~nef/logs/esoteric/?C=M;O=D~. 17:49:02 LMAO 17:49:49 I think I'm going to start referring to ais as "ais523, hail Eris, all hail Discordia!, a doughty Englishman", like esr did in that post. 17:49:51 (http://esr.ibiblio.org/?p=2491) 17:50:14 Does ais523 have anything to do with Discordianism? 17:50:16 -!- elliott has set topic: http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 17:50:20 pikhq: Nope. Not that I know of at least. 17:50:28 Aside from having said "Hail Eris!" once or twice. 17:50:35 Is he a doughty fellow? 17:50:45 Phantom_Hoover_: That's quite subjective. 17:50:55 He is most certainly an Englishman, though. 17:52:11 Ilari: Relevant: http://abstrusegoose.com/329 17:52:14 Ilari: (To you, that is.) 17:52:19 Can we troll him? 17:52:57 Or at least point out that we hold him in an amused sort of contempt? 17:53:33 I doubt he'd listen. 17:53:37 He makes RMS seem humble. 17:56:54 So, which of you guys invented the Internet? Was it you, elliott? 17:57:01 Yes. 17:57:11 I took the initiative of creating the internet 17:57:24 Cool. Good work on that. 17:57:29 I willo-on-haven created the first IMP. 17:57:39 Both of you, its creator and its taker-of-initiative-of-creating. 17:57:47 Though before that, I willo-on-haven changed my name and time traveled. 17:58:35 Is that infix "on" pronounced the same way as the preposition "on", or is it pronounced /ʌn/ or something? 17:58:39 http://upload.wikimedia.org/wikipedia/commons/3/35/Phoc96v1.jpg 17:59:23 You know you have gotten too much milk fat when: Your trousers no longer fit because they are too big... :-) 17:59:42 tswett: I dunno, it's a somewhat obscure H2G2 reference. 18:01:36 pikhq: Not that obscure. 18:02:09 elliott: Really obscure would involve Lintilla, yeah. 18:02:18 (how many people have actually listened to the radio series, anyways?) 18:02:44 2. And a half. 18:08:00 -!- Mathnerd314 has quit (Disconnected by services). 18:08:16 -!- Mathnerd314_ has joined. 18:08:54 -!- Mathnerd314_ has changed nick to Mathnerd314. 18:21:58 i think i'm going to capture conor mcbride 18:22:02 and force him to complete epirgam 18:22:03 *epigram 18:22:44 http://hackage.haskell.org/package/ad ;; automatic differentiation like 10x as polished as mine 18:26:03 ineiros: upgrade plz 18:26:32 Maybe I'll downgrade instead! 18:26:52 Is hMod updated as well? 18:29:04 ineiros: Hey, it might "just work". MIGHT 18:29:16 ineiros: hmm 18:30:15 ineiros: well, if you installed some plugin to stop trying to authenticate with minecraft.net 18:30:34 Now, what to do with this router? 18:30:36 ineiros: then we could just fail to login and keep an older version 18:30:56 -!- sebbu2 has changed nick to sebbu. 18:31:13 ineiros: http://wiki.nexua.org/Plugin:AuthCraft 18:31:14 elliott: Nah, I'm not doing that. 18:31:18 ineiros: AuthCraft is a replacement for MineSecurity since MineSecurity is no longer supported and has inventory bugs. AuthCraft serves one main purpose in two different ways, it allows server-side authentication by making the user create a password upon logging into the server. This is helpful when the MineCraft authentication servers are down, or if you are hosting your own MineCraft server that does not require Minecraft authentication - also 18:31:18 known as offline mode. 18:31:20 ineiros: Aww. Why not? 18:31:32 It would last until hMod is updated 18:31:34 *updated. 18:31:39 And yes, it does in fact support OpenWRT. 18:31:46 hMod's usually been pretty fast. 18:31:55 Ideas? 18:32:12 Anyway, why would you play before the all-important mcmap's fixed either? (Admittedly I've gotten two of the new packets handled already.) 18:34:03 I think ineiros just secretly hates oklopol for not having bought the game yet and wants to make sure he never gets in. 18:34:06 'Tis the only explanation. 18:35:09 ineiros's silence is like unto admitment. 18:39:03 Well, I could just use it as a really overblown switch... 18:46:36 Oh, dur. VLANs. Hooray, having some utility. 18:51:11 ineiros: I am going to CONTINUALLY CONNECT TO THE SERVER. 18:53:45 MOP 18:54:51 I wonder if my https://github.com/fis/mcmap/commit/3a1eae914d55b525004b08225c31e1d3623dd4eb commit message couldn't have been a little harsher on the GPL. 18:55:59 -!- j-invariant has quit (Quit: leaving). 19:06:09 Minor patch 1.0_01 is up 19:07:58 Deewiant: Ain't it grand? 19:08:21 Deewiant: Notch's schedule: Two hours of coding, ten minutes of testing, five minutes of uploading; then ten hours of minor fix updates. 19:08:22 Not really 19:08:26 It's AGILE! 19:08:50 "I’ve also heard about weird item duplication bugs with dropped items" OHOHOHOHOHOHOHO 19:08:54 "and a severe performance reduction." >_< 19:09:35 My GOD he's not joking.d 19:09:40 Deewiant: Is it incredibly slow for you too? 19:09:45 I haven't updated 19:10:25 Deewiant: Not even to beta? Heh. 19:10:32 No, I've just stayed connected 19:11:18 Items have tooltips now 19:11:25 Deewiant: You have not been in Mount Hoover, have you? 19:11:29 -!- zzo38 has joined. 19:11:44 Not in it, no 19:11:53 Vorpal: And you? 19:13:01 -!- zzo38 has set topic: This topic message does not have Theorem-nature. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 19:14:49 elliott, no 19:17:33 elliott, what was the rarer thing he mentioned in the blog post 19:17:36 has anyone found out? 19:17:50 Vorpal: Dunno. 19:20:27 -!- Sasha has quit (Read error: Connection reset by peer). 19:21:47 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 19:23:30 -!- j-invariant has joined. 19:27:13 If you want to make a ROM from NAND-gates, what is the minimum number of NAND gates you will need? 19:28:45 zzo38: do you mean, given n bits of static information: How many NAND gates are needed to give a function 2^(log n) -> 2 that addresses the information? 19:29:37 2 = {0,1} 19:30:35 j-invariant: Actually I mean something a bit different. I mean that if you have a certain number of bits of address, a certain number of bits of data, and a certain file which must be encoded into ROM. 19:31:15 so it is roughly what I said but with the same n bits but to construct the function 2^k -> 2^l instead? 19:31:45 (And there is the possibility that some parts of the data are unimportant, so it doesn't matter what will be read out when accessing that data.) 19:32:28 zzo38: that possibility seems to cloud the issue to me ... 19:32:30 j-invariant: Yes, more like that. 19:32:33 i declare all parts of the data unimportant 19:32:36 tada! i can do it with 0 anythings 19:33:48 You could find a lower bound with some work in terms of information complexity, and an upper bound by construcing the ROM function 19:33:58 elliott: But some of it is definitely going to be important. Like, maybe you have 1024 bytes of ROM, but only 1000 bytes used. 19:34:08 (That means there is 24 unimportant bytes) 19:34:12 I think theyll be quite far apart though, because it's a difficult problem 19:36:01 In addition, there is one more thing, which is the total delay caused by the NAND gates. 19:43:46 I wonder if there is a good way to optimize NAND circuits? good enough that a reasonable solution would be to generate the stupidest possible ROM function then just optimize it to get one with low number of gates/ 19:45:48 Vorpal: If one hears a sort of whooshing, ominous sound like "whrrrrrrrrrrrrrrrrrrrrrrrrrrkowww" in the background when underground in survival single player on peaceful mode WHAT DOES IT MEAN 19:46:04 Vorpal: I thought it was the Nether sound but no, it was like something... I don't know, arriving from another dimension. :p 19:48:16 Mob spawning from mob spawner? 19:48:39 -!- poiuy_qwert has joined. 19:48:47 Phantom_Hoover_: But it's on peaceful. 19:49:50 Phantom_Hoover_: Got a video of the mob spawner noise? 19:50:42 elliott, huh 19:50:55 -!- Sasha has joined. 19:51:02 Vorpal: It was sort of like the noise a train going past really close would make ... except without any train noises, and quiet. 19:51:12 Like the sound of wind going past, except no whistling, and made "gravelley". 19:51:16 *"gravelly". 19:51:34 elliott, oh, gravy! 19:51:41 (no idea) 19:52:47 elliott, mobs still spawn from mob spawners on SSP/ 19:52:54 Even on peaceful. 19:52:59 Just checked; yes, that was the sound. 19:53:03 Phantom_Hoover_: What, creepers etc.? 19:53:05 Or just sheep? 19:53:15 elliott, whatever mob it makes. 19:53:29 Phantom_Hoover_: OK, so by "peaceful", it means "PEACEFUL UNTIL YOU HEAR THAT FUCKING SOUND"? 19:53:42 elliott, yep! 19:53:59 Phantom_Hoover_: The way you're talking implies to me that you found this out in the way known as "the hard way". 19:54:01 Does it mean you cannot hurt each other, and it blocks your movement? 19:54:05 OTOH, avoiding dungeons is a) trivial and b) creeper free IIRC. 19:54:05 [[In Peaceful difficulty, Monster Spawner blocks will still appear, but any spawned mobs will disappear the instant they spawn. This makes it easy to make the aforementioned trap without any trouble.]] 19:54:10 elliott, no, Vorpal told me. 19:54:11 Phantom_Hoover_: Me thinks you are wrong. 19:54:14 [[In Peaceful difficulty, Monster Spawner blocks will still appear, but any spawned mobs will disappear the instant they spawn. This makes it easy to make the aforementioned trap without any trouble.]] 19:54:17 Phantom_Hoover_: Vorpal is usually wrong. 19:54:33 Well, I assume you'd still get the noise from it. 19:54:38 Indeed. 19:54:38 what? 19:54:48 Phantom_Hoover_, of course mob spawners do what elliott said 19:54:48 In the mean time I shall play on mute. 19:55:25 Vorpal: I'm scared though. 19:55:36 Phantom_Hoover_: Avoiding dungeons is not easy when you're building a staircase mine. 19:55:57 elliott, "if you see cobble, act appropriately". 19:56:32 Phantom_Hoover_: Except I /don't/ see cobble, but now every stair down I make I'm going to be scared shitless. :p 19:56:59 Well, if it comforts you, I can hear spiders next to me in my mine constantly. 19:57:25 Phantom_Hoover_: On /Peaceful/? 19:57:47 No, on Normal. 19:58:00 HAVE FUN WITH THAT 19:58:43 Phantom_Hoover_: All I want is some damn iron. 20:01:32 -!- pingveno has quit (Read error: Connection reset by peer). 20:01:54 -!- pingveno has joined. 20:02:55 -!- pingveno has quit (Read error: Connection reset by peer). 20:03:35 elliott: We won't give you any iron!! 20:06:53 -!- pingveno has joined. 20:11:57 Okay, pushed mcmap update to the beta protocol. 20:12:29 Is like a magic. 20:12:45 It's been tested in the Notchy fashion, i.e. not much. I managed to open the inventory, move an arrow from one slot to another, and it didn't yet crash; I could also take a step or two. 20:13:08 fizzie: Can you make that DATA %s print [DATA] %s and the packet print [PACK] or something? Wait, wait, never mind, I *refuse* to argue about the formatting of debug prints. 20:13:34 I'll fix that the next time I have to enable those. 20:13:51 + log_print("IMMINENT CRASH, reading tail for log"); 20:13:52 So kind. 20:13:58 DIEF. 20:14:07 error: Your local changes to 'main.c' would be overwritten by merge. Aborting. 20:14:11 Methinks I'll abandon those changes. 20:14:32 fizzie: Whoa -- please explain how "man git revert" manages to work. 20:16:15 It's easier to see what action actually caused the bug if it prints out that thing before collecting the next 256 bytes or so for the dump. 20:17:13 And I don't know; strace | grep git says it goes directly to git-revert.1.gz, presumably based on some index somewhere. 20:18:20 Incidentally, since the new packets I've seen have had IDs 65, 66, 67, 68 and 6a, I wouldn't be very surprised if there were a 0x69-id inventory-related packet that will still crash mcmap; for example something related to having multiple players do things on the same inventory. 20:18:27 Oh, and I haven't tried chests and such at all. 20:18:42 fizzie: But "man foo bar" = man foo; man bar. 20:18:49 Yes, I know. 20:18:50 So I don't see how an index can override that. 20:19:13 Well, if it tries the whole line with spaces first, and then splitted only after. 20:19:20 Look at the source, of course. 20:19:29 :p 20:19:31 (I just wanted the rhyme-alike.) 20:22:38 Hopefully by the time ineiros has the server updated and my missing packets turn up, some other people have already bothered to figure the protocol out. (I'm a bit suspicious of the 0xae packet too; it might be just trailing edge when some packet-size-change has made the parser be confused as to where another packet ends. In particular, it looks suspiciously much like the player-position-and-look packet's rear end.) 20:23:43 Right, it doesn't actually seem to happen. 20:24:11 It was probably just my messed-up health-update handling that caused me to add that; I'll remove it. (I had a similar issue with a non-existing "0x7f" packet too.) 20:25:28 Dying and respawning seems to leave regions of the map flickering, which is really quite bizarre. 20:25:49 I mean, it shouldn't be able to flicker unless the server keeps sending chunk-updates or block-setting packets. 20:30:17 fizzie: Mind if I make an OMG OPTIMISED build target? 20:30:27 Oh, sure, do that. 20:30:34 It can be OPTOMIZED by default, too. 20:30:36 'Cuz it's, you know, SO SLOW. 20:30:39 fizzie: Very well. 20:30:40 funroll-loops 20:30:47 Deewiant: Ricer ricer ricer. 20:30:49 Deewiant: The funniest loops ever. 20:30:49 4EVA 20:30:54 Do a funroll. 20:32:15 Not just -funroll-loops, but -funroll-all-loops. 20:32:27 The option description is: "This usually makes programs run more slowly." 20:33:38 :D 20:33:52 protocol.c:634: error: dereferencing type-punned pointer will break strict-aliasing rules 20:33:57 fizzie: Your program doesn't compile with -O3 because of -Werror. 20:34:25 fizzie: Which one makes programs run more slowly, -funroll-loops or -funroll-all-loops ? 20:34:30 The latter. 20:34:47 fizzie: Can that type-punning be fixed or should I just disable -Werror for the optimised build? 20:35:13 Yes, it can be fixed with the union trick. I'll do that. 20:35:17 -rwxr-xr-x 1 elliott elliott 68K Dec 20 20:34 mcmap 20:35:18 It's a bit ugly-looking now, anyway. 20:35:24 Heh, the OPTOMIZED(tm) build is smaller. 20:35:29 (It uses -combine -fwhole-program.) 20:38:32 fizzie: 20:38:36 protocol.c: In function ‘packet_double’: 20:38:36 protocol.c:634: warning: dereferencing type-punned pointer will break strict-aliasing rules 20:38:36 protocol.c:639: warning: dereferencing type-punned pointer will break strict-aliasing rules 20:38:36 main.c: In function ‘proxy_thread’: 20:38:37 protocol.c:359: warning: dereferencing pointer ‘state’ does break strict-aliasing rules 20:38:39 Those are all the warnings. 20:39:17 Better protocol.c in place. Though IIRC it would've been okay also to use just a float variable and access that via char *, wasn't there a special exception to strict-aliasing rule that you could access any memory via (unsigned) char*? 20:39:23 Still, the union thing works too. 20:39:24 Who knows. 20:40:15 fizzie: You may want to consider turning on -O2 in the debug build; a lot of warnings are missed without it. 20:40:16 I think I missed that one warning. 20:40:20 fizzie, working on porting to new protocol? 20:40:27 Vorpal: Already done, to some extent. 20:40:32 fizzie, large changes? 20:40:49 fizzie, and is the docs for the protocol public or did they reverse engineer that quickly? 20:40:59 I reverse-neggineered it myself. 20:41:13 Admittedly I don't understand all the inventory packets, but I don't need to, for map-making. 20:41:15 fizzie: HOW OFFENSIVE 20:41:23 fizzie, ah 20:41:31 Health packet went from one byte to two (took me a while to catch that, since it just desynced the packet reading; yay for not having a length field in there) and then a slew of inventory-related packets. 20:41:49 fizzie, why did it go to two bytes I wonder 20:41:51 I have probably not catched them all, I suspect some need interaction from multiple players. So it might still go crashy-crashy. 20:42:03 Caught. 20:42:14 fizzie, caught? 20:42:17 You can access anything through a char* safely but doing something like (a*)(char*)(b*) is no more correct than (a*)(b*) 20:43:34 Deewiant: Well, yes, but "double d; unsigned char *db = (unsigned char *)&d; db[0] = ...; ...; db[7] = ...;" should be fine, assuming that I do put in the proper values? 20:43:41 fizzie: Pushing the OPTOMIZED(tm) version now; to get the old type of build, do "make debug" (which just does @$(MAKE) --no-print-directory DEBUG=1, making it ever-so-slightly slower.) 20:43:56 fizzie: Yes; like said, you can access anything through a char* 20:44:01 (No, "debug: all DEBUG=1" doesn't work; the CFLAGS get set before that happens.) 20:44:15 fizzie: Oh, I broke it. Lemme fix. 20:44:53 Pushing the fix now. 20:44:58 (The problem was that I tried to indent things.) 20:45:31 Deewiant: How was it with the union trick? "union { double d; unsigned char b[8]; } db; db.b[0] = ...; ...; db.b[7] = ...; return db.d;"? 20:45:47 Yes. 20:45:54 "The problem is languages which have such universal type inference don’t provide the same safety that languages with local or no type inference can provide" 20:46:03 j-invariant: heh what 20:46:14 j-invariant: is it trying to say "type inference generates too-general types"? 20:46:22 I think someone got their head screwed on backwards http://www.codecommit.com/blog/scala/universal-type-inference-is-a-bad-thing 20:46:25 fizzie: Yes, basically. Although strictly speaking that is invalid C, all implementations I know of support it. 20:46:50 I'll let it be like that for now then, since I already made it like that. 20:46:54 Hmm, interesting: 20:46:56 main.c: In function ‘log_print’: 20:46:56 /usr/include/bits/stdio2.h:115: sorry, unimplemented: inlining failed in call to ‘vprintf’: function body not available 20:46:56 main.c:496: sorry, unimplemented: called from here 20:47:00 j-invariant: well they're a scala fan, of course their head isn't quite right 20:47:03 "In some sense, type inference weakens the type system by no longer providing the same assurance about a block of code." let me translate that "I never wrote more than one page of ocaml. Certainly never used the module system." 20:47:04 fizzie: What. 20:47:06 fizzie, what 20:47:13 That's what it said when I went "make". 20:47:15 fizzie: Just looks like it's trying to inline vprintf and can't. 20:47:16 Heh. 20:47:17 fizzie: Does it error out? 20:47:23 Well, yes. 20:47:28 fizzie: You /really/ want to get rid of -Werror for the optimised build. 20:47:31 That ... uh, might fix that. 20:47:32 Maybe. 20:47:33 What the fuck. 20:47:44 CFLAGS += -O3 -combine -funroll-loops -fwhole-program 20:47:50 That's not even -fricer level. 20:48:14 elliott, does -funroll-loops actually help? 20:48:18 elliott, have you profiled? 20:48:23 Vorpal: Nope. 20:48:26 And I'm not gonna, either. 20:48:32 elliott, then why do you use it 20:48:36 'Cuz it's ricer. 20:48:45 I doubt it's going to go any /slower/, at least. 20:48:47 elliott, usually it is a pessimisation 20:48:50 Since I can't think of a single unrollable loop in there. 20:48:56 elliott, -Os is better often 20:49:03 Vorpal: Of course it is. 20:49:05 But this is the ricer build. 20:49:15 And -Os is pointless with glibc. 20:49:15 elliott, of what? 20:49:20 mcmap. 20:49:28 ... 20:49:30 The most resource intensive program -- evar. 20:49:32 elliott, why on earth 20:49:38 'S why it needs such optimisation. 20:49:57 elliott, only time when -O3 helps tend to be when you are basically CPU bound in numerical computations 20:50:08 Just like mcmap. 20:50:20 Well, I have dietlibc here. 20:50:23 it isn't really 20:50:30 fizzie: I'll add a target to use gcc -fucking-small and link with dietlibc. :p 20:50:43 (It enables the space-saving optimisations described in Ucking 98.) 20:50:51 *Ucking et al. 98.) 20:53:14 fizzie, does the porting still work btw? 20:53:30 fizzie: Useless dietlibc support added! (Prizes to the first person who can compile glib and SDL with the dietlibc and get mcmap to link.) 20:53:35 For the record, not using -Werror wouldn't have helped; it's an error, not a warning. (Though I have zero clue why bits/stdio2.h defines vprintf with the always_inline option.) 20:53:41 I'M ON A ROOOOOOOOOOOOOOOLL 20:53:47 fizzie: Have you fixed it? 20:54:24 fizzie, what system? And I still don't have pkg-config files for zlib on ubuntu 10.04 LTS btw. 20:54:29 Well, no, not yet. I don't really know what mcmap could be doing wrong there; it just calls vprintf, after including stdio.h and stdarg.h. 20:54:31 (so I need to patch make file every time so far 20:54:32 ) 20:54:36 j-invariant: lol "I am not quite sure I buy your argument." from the /creator/ of Scala 20:54:41 in the comments 20:54:53 Vorpal: You shouldn't need to patch it now. 20:55:11 elliott, oh? You changed it? 20:55:12 nice 20:55:13 heh 20:55:15 Something like "make libs='gio-2.0 sdl zlib' LDFLAGS+='-lzlib'" should work. 20:55:16 Maybe. 20:55:24 IIRC foo+=bar doesn't really work properly from the command line... 20:55:32 properly as in it doesn't execute after the makefile's definitions 20:55:35 so it gets overridden 20:55:36 except, ah 20:55:38 it won't in this case 20:55:41 Something like "make libs='gio-2.0 sdl zlib' LDFLAGS='-lzlib'" should work. 20:55:43 definitely 20:55:45 well, -lz 20:55:48 you know what flags it needs, presumably 20:55:49 erm 20:55:52 Something like "make libs='gio-2.0 sdl' LDFLAGS='-lzlib'" should work. 20:55:55 fff 20:55:58 Or you could keep a local branch with the patched Makefile and "git rebase" on master after pulling, that'll work automagically each time the Makefile doesn't drastically change. 20:56:10 elliott, key stuck? 20:56:15 Vorpal: No, I kept correcting in. 20:56:16 *it. 20:56:23 Vorpal: $ make libs='gio-2.0 sdl' LDFLAGS='-lz' 20:56:27 Fill in appropriate flags for -lz. 20:56:29 That should work. 20:56:41 fizzie, mmm 20:56:43 (But I won't "guarantee" it always will, since libs is, like, a private variable!) 20:56:51 elliott, just -lz worked for me 20:56:57 Vorpal: So that invocation worked? Good. 20:57:05 elliott, well before 20:57:09 elliott, I haven't tried it now 20:57:09 You may want to "make clean" if you have .os lying around; the optimised build won't generate them, so. 20:57:15 elliott, I edited the makefile before anyway 20:57:24 elliott, I don't plan to update just yet, I'm still connected 20:59:05 I can only find a single reference to someone getting that inline-failed message for vprintf in particular (usually it's just their own functions), and there is no resolution, the guy just ends up removing -fwhole-program. 20:59:15 YES!! AN IRON PICKAXE!! 20:59:23 fizzie: what gcc version? 20:59:37 elliott, why not diamond? 20:59:45 elliott, and iron is trivial 20:59:46 Vorpal: Because I don't have any diamond; this game isn't very old. 20:59:51 ah 20:59:55 And no it isn't, I've been mining for iron with stone pickaxes for way too long. 20:59:59 Even now I only have enough for this and one more pickaxe. 21:00:05 I'm building a staircase down, so... 21:00:08 elliott, mcmap? 21:00:13 Vorpal: On single-player? 21:00:15 gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5, Ubuntu whatsitcalled, package version 4:4.4.4-1ubuntu2. Whatever it installs by default, anyway. 21:00:19 elliott, well, minutor then 21:00:24 fizzie: Personally, I would edit the system header to remove that always-inline thing, but I'm crazy like that. 21:00:28 elliott, it is a decent mapping tool when you have the world 21:00:31 gcc (Debian 4.4.5-8) 4.4.5 21:00:31 for me 21:00:47 Vorpal: Cheatin', man. I've only turned Peaceful on because I'm a wimp. 21:00:55 fizzie, my system has gcc 4.4.3 btw 21:00:58 elliott, XD 21:01:08 fizzie, "linaro"? 21:01:12 NO NO NO 21:01:14 A SPIDER JUST SLURPED 21:01:17 BUT I'M ON PEACEFUL 21:01:22 elliott, bug? 21:01:27 THERE IS *NO WAY* A MOB SPAWNER CAN HAVE A SPIDER BE ALIVE FOR LONG ENOUGH TO MAKE A SLURPING NOISE 21:01:31 I CONCLUDE THAT THE BETA HAS BROKEN PEACEFUL MODE 21:01:35 DEAR GOD 21:01:37 whops 21:02:11 wait, is beta 1.0_01 ? 21:02:14 Hearing mob spawner noise + hearing things moving about when there's nothing outside the window, in the day time, and it sounds like it's near you + hearing spider slurp when in your mines, near where the mob spawner was 21:02:15 how does that make sense 21:02:16 = AAAAAAAAAAAAAAAAAAA 21:02:22 Vorpal: It was 1.0, but then he fixed it five minutes later. 21:02:39 "I will work on the MacOSX launch bug tomorrow!" 21:02:41 elliott, yes the _01 I get 21:02:49 elliott, the 1.0 bit I don't get 21:02:52 Vorpal: Because it's the first version of beta. 21:02:57 elliott, 1.0 sounds like final release 21:02:58 oh okay 21:03:06 "Well, holy moly, beta is out. We'll update the website and increase the price now. :D" ;; Aren't you *already* a millionaire? 21:03:09 Vorpal: That's what it says nowadays. Linaro's some sort of linux-on-ARM advocacy group. 21:03:20 fizzie, huh 21:03:27 Apparently it's still 25% off the full price. 21:03:34 How much money does the man want for such a buggy game? 21:03:48 elliott, well hopefully it won't be buggy when it reaches stable 21:03:48 fizzie: http://www.markshuttleworth.com/archives/427 21:03:49 Hmm. 21:04:07 fizzie: Presumably they include Linaro optimisations, but I can't imagine how they'd touch non-ARM-target builds. 21:04:16 Anyway, the headers end up having the always-inline attributes (for vprintf and others) when __GNUC_PREREQ(4,3) and __GNUC_STDC_INLINE__ is defined. 21:05:01 fizzie: Undefined the latter. :p 21:05:03 *Undefine 21:05:46 hm 21:05:55 elliott: http://p.zem.fi/pjsm 21:06:03 fizzie, which ubuntu version? 21:06:04 I don't think they want me to. :p 21:06:10 fizzie: I ... 21:06:14 Vorpal: The official one. 21:06:22 I can never remember the numbers. 21:06:24 10.10? 21:06:25 fizzie: "-D_GNU_SOURCE=1 -D_REENTRANT" Ain't them new? 21:06:27 And yes, 10.10 21:06:38 Right, the Perfect Ten. 21:06:46 I stay on LTS 21:07:09 elliott: Those are added from pkg-config somewhere. 21:07:40 Or maybe not. 21:08:03 Oh, right, for --cflags sdl. 21:08:53 fizzie: Welp, SORRY but your computer is not hardcore enough for the optimised edition. 21:09:34 Heh, with -U__GNUC_STDC_INLINE__ instead I get: 21:09:36 In file included from /usr/include/stdio.h:930, 21:09:36 from /usr/include/SDL/SDL_stdinc.h:37, 21:09:36 from /usr/include/SDL/SDL_main.h:26, 21:09:36 from /usr/include/SDL/SDL.h:30, 21:09:36 from world.c:5: 21:09:37 /usr/include/bits/stdio2.h: In function ‘printf’: 21:09:39 /usr/include/bits/stdio2.h:105: error: invalid use of ‘__builtin_va_arg_pack ()’ 21:10:35 -!- elliott has quit (Read error: Connection reset by peer). 21:11:04 fizzie, what distro does ellitott use? 21:11:14 Debian nowadays, I think. 21:11:17 At least at the moment. 21:11:31 -!- elliott has joined. 21:12:00 ah 21:12:23 I should need a good quality random number generator that will first generate a seed value or take it from user input, and then can generate random numbers based on the algorithm, such that it will be the same all computers (so that you can play duplicate draft). Which algorithm should work good? Is the one in METAFONT good? 21:13:22 I'm not exactly sure how mcmap manages to trigger the problem, since a test program that just has a main and a vprintf-function like that works just fine. 21:13:23 -!- elliott has quit (Read error: Connection reset by peer). 21:13:43 -!- elliott has joined. 21:14:22 fizzie, was it gcc 4.5.x? 21:14:29 if so: not surprised 21:14:34 13:11:04 fizzie, what distro does ellitott use? 21:14:36 Why? 21:14:48 zzo38: mersenne twister 21:14:52 elliott, well not same as fizzie I guess 21:15:12 elliott, but iirc mersenne isn't a CPRNG+ 21:15:16 s/+/?/ 21:15:33 Vorpal: Is zzo38 doing cryptography? 21:15:35 Vorpal: I already mentioned the version, didn't I? 21:15:42 I don't think he is. 21:15:44 4.4.5. 21:15:47 elliott, true, he isn't 21:15:51 fizzie, hm huh 21:16:11 zzo38: You may also want to consider http://en.wikipedia.org/wiki/Blum_Blum_Shub. 21:16:12 fizzie, yes, couldn't find it when scrolling bacl 21:16:14 back* 21:16:25 But Mersenne twister is very popular. 21:16:44 elliott: No. I am looking for one that is suitable for TeXnicard. 21:16:57 zzo38: Welp, Mersenne twister of Blum Blum Shub are my recommendations. 21:17:33 elliott, isn't blum blum shub rather slow (hm, wtf at that name btw) 21:17:44 Vorpal: He's writing this in TeX, it's going to be slow. 21:17:48 "The generator is not appropriate for use in simulations, only for cryptography, because it is very slow." 21:17:50 Blum's the slowest thing in the world. 21:17:55 Vorpal: And it was invented by Blum, Blum and Shub. 21:18:00 But yes, I'd go for Mersenne. 21:18:07 It's just Vorpal whined about not being crypto-ready. :p 21:18:09 elliott: I am writing the program in Enhanced CWEB. 21:18:12 zzo38: Ah. 21:18:15 zzo38: http://en.wikipedia.org/wiki/Mersenne_twister 21:18:18 zzo38: Just use that, everyone does. 21:18:26 There's even pseudocode on the page. 21:18:55 http://en.wikipedia.org/wiki/Mersenne_twister#Implementations <-- Now here's a section that needs extreme cutting. 21:19:14 yeah it's decent if you don't need a CPRNG 21:19:15 MT's very popular indeed. 21:19:35 http://en.wikipedia.org/wiki/Linoleum_%28programming_language%29 LOL BLATANT ADVERTISEMENT 21:19:58 Also Marsaglia (of "Random numbers fall mainly in the planes") posted what he likes best in comp.lang.c not far ago, IIRC. 21:20:26 s/)/ fame)/ 21:20:38 fizzie, planes? is that the thing about PRNG and attractor analysis? 21:20:45 ha! 21:20:53 i just wrote my first trainer 21:20:54 :D 21:21:02 elliott: OK I can use Mersenne twister 21:21:11 nooga, trainer for? 21:21:16 B.A.D 21:21:30 nooga, never heard of it, what is it? 21:21:33 space shooter for DOS by Webfoot, hard to find 21:21:37 nothing special 21:21:47 Vorpal: Well, the high-dimensional lattice structure thing, yes. Probably just that. 21:21:48 I am going to venture -- with sound off -- into the territory of Minecraft on Supposedly Peaceful. 21:21:51 And I will have my fucking sword at the ready. 21:22:16 elliott: finally I just decided to write small, offline memory dump analyser 21:22:16 Armourless no less. 21:22:16 The mcmap build works without -combine -fwhole-program, but of course that's loser-talk. 21:22:20 nooga: heh 21:22:34 instead of patching dosbox debugger 21:22:38 fizzie: As long as you put go-faster flares on, I guess it's okay. 21:22:41 with new functions 21:23:22 O god. 21:23:24 It's too scary. 21:23:28 What is the best way to initialize the seed if no user seed has been specified? 21:23:41 time(NULL)^getpid() 21:23:42 zzo38: "Another issue is that it can take a long time to turn a non-random initial state (notably the presence of many zeros) into output that passes randomness tests. A small lagged Fibonacci generator or linear congruential generator gets started much more quickly and usually is used to seed the Mersenne Twister with random initial values." 21:23:53 zzo38: As for the input to that, try the current time. :p 21:24:42 Gregor: OK. (I want to ensure it works on both Windows and UNIX systems, however. I could put a change tag there if needed.) 21:25:10 zzo38: Don't seed it directly like that. 21:25:26 zzo38: Seed a Fibonacci generator or whatever with that, run it for a bit, and seed the Mersenne twister with its output. 21:26:04 elliott: OK, maybe I can do with Fibonacci generator. 21:26:10 For seeding it. 21:26:31 fizzie I need therapy because of spiders. 21:26:55 I have to pause the game every two seconds because I'm frightened to death that a spider will jump out of a corner and ravage me. 21:27:22 No actually you have to win a big spider more bigger than you. You also need to make a copy of the game on VHS tape. 21:27:24 i HATE spiders 21:27:32 elliott: Just for giggles I tried it with gcc-4.5 in addition to gcc-4.4 too, and what it did was to remove the warning for the vprintf call in main.c:log_print, but add instead two similar warnings for both the printf and the vprintf calls in main.c:do_die. I'm not sure they've quite debugged the whole -combine thing. 21:27:53 fizzie: You could use "cat" instead. :p 21:28:08 fizzie: Now I need therapy. 21:28:21 Also the function for which it gives the warning depends on the order of the source files on the command line. 21:28:36 elliott: No you don't need therapy. You need a VHS tape. 21:28:45 I do? 21:29:01 Yes. 21:29:02 Oh, it's a bit different warning: "/usr/include/bits/stdio2.h:115:1: sorry, unimplemented: inlining failed in call to ‘vprintf’: redefined extern inline functions are not considered for inlining" 21:29:49 You need a VHS tape and a big spider. 21:31:00 [[# This may raise some eyebrows but I'm restricting the use of eval(*), setTimeout(string, ..), setInterval(string, ..) and Function(..). Don't dynamically include a script either (good call @bga_!). This list may grow if I discover another way of getting eval in so please don't bother. This rule targets the dynamic creation and running of js only (creating dynamic animations or whatever is fine). Note that setTimeout and setInterval with functi 21:31:00 on arguments are still okay! I'm doing this for aesthetic reasons, mostly. The most fun of creating a demo is hand tuning it!]] 21:31:12 time(NULL)^getpid() <-- uh, what if pid wraps around in the same second!? 21:31:13 ;P 21:31:17 Apparently the JS1k guy thinks he's cool enough to disallow procedural generation of programs. 21:31:23 Way to eliminate a major source of compression and creativity! 21:31:45 elliott: That's laaaaame 21:31:53 Gregor: Totally is. 21:32:02 elliott, JS1k? 21:32:02 Gregor: Why would you even do that? Dynamic inclusion of scripts, OK. But the others?? 21:32:07 Vorpal: Exactly what it sounds like. 21:32:14 elliott, javascript 1000? 21:32:21 elliott: You should read my eval paper! 21:32:24 Vorpal: *1024 +byte 21:32:26 Gregor: Well, link it already. 21:32:30 http://sss.cs.purdue.edu/projects/dynjs/eval-TR.pdf 21:32:45 If it isn't pun-titled I refuse. 21:33:18 OH BUT IT IS 21:33:24 <3 21:33:24 elliott, have you seen any enemies on peaceful yet? 21:33:37 Vorpal: No, I'm too much of a pussy to unpause for more than a few seconds. 21:33:41 Wow, I can't believe this is 1k: http://js1k.com/2010-first/demo/635 21:33:47 c=document.body.children[0];h=t=150;L=w=c.width=800;u=D=50;H=[];R=Math.random;for($ in C=c.getContext('2d'))C[$[J=X=Y=0]+($[6]||'')]=C[$];setInterval("if(D)for(x=405,i=y=I=0;i<1e4;)L=H[i++]=i<9|L9?0:X;j=H[o=x/u|0];Y=y Z<7&&A(Z%6,w/2,235,Z?250-15*Z:w);i=o-5+Z;S=x-i*u;B=S>9&S<41;ta(u-S,0);G=cL(0,T=H[i],0,T+9);T%6||(A(2,25,T-7,5),y^j||B&&(H[i]-=.1,I++));G.P=G.addColorStop;G.P(0,i%7?'#7e3':(i^o||y^T||(y=H[i]+=$/99),'#c7a'));G.P(1,'#ca6');i%4&&A(6,t/2%200,9,i%2?27:33);m(-6,h);qt(-6,T,3,T);l(47,T);qt(56,T,56,h);A(G);i%3?0:T$-9?1:D);ta(S-u,0)}A(6,u,y-9,11);A(5,M=u+X*.7,Q=y-9+Y/5,8);A(8,M, 21:33:47 Q,5);fx(I+'¢',5,15)}D=y>h?1:D",u);onkeydown=onkeyup=function(e){E=e.type[5]?4:0;e=e.keyCode;J=e^38?J:E;X=e^37?e^39?X:E:-E} 21:33:51 Very very impressive. 21:34:42 no procedural generation kind of ruins it 21:36:09 Yeah. 21:36:14 I SEE A SETINTERVAL BLORP BLORP 21:36:27 Gregor: That's from the last competition; also, he only disallowed *string* setIntervals. 21:36:34 Vorpal: Well, you can still procedurally generate, just not procedurally generate *code*. 21:36:36 I SEE A STRING SETINTERVAL BLORP BLORP 21:36:40 Genetic algorithms vs. genetic programming. 21:36:44 Gregor: That's from the last poop. 21:36:51 http://js1k.com/2010-first/demo/593 MOTHERFUCKING ANIMATED LASERS 21:37:55 Gregor: You should have attributed the opening quote to Douglas "Secretly Satan" Crockford. 21:37:57 You know it's true. 21:38:07 elliott, silly 21:38:14 (lack of code gen) 21:38:17 Yeah. 21:39:57 "To this end, we have built an infrastructure that automatically loads over 10,000 web pages." "And have since put it to work downloading porn." 21:40:20 We probably have a not-insubstantial amount of porn downloaded, yeah. 21:41:42 Gregor: Put up a torrent of all of them :P 21:42:33 $ du -hc cache 21:42:33 6.4G cache 21:43:32 Gregor: So? 21:43:36 Gregor: There are torrents bigger than that. 21:43:45 I wasn't saying that was infeasible at all :P 21:43:52 Also, that's only half our cache. 21:44:00 Gregor: Do eet. 21:44:10 Probably a lot of it ISN'T porn though D-8 21:44:36 Gregor: You probably got some kiddie pr0n in there, too, and also of course heaps of copyrighted material so GOOD LUCK redistributing that :P 21:44:53 " To illustrate the power of eval, consider the following example, which is one way to 21:44:53 implement objects using only functions and local variables." 21:44:57 BRB, ADOPTING THIS IN ALL MYCODE. 21:44:58 *MY CODE. 21:44:59 I really don't think there's child porn in the top 10,000 most popular sites ... 21:45:07 YOU WANNA BET 21:45:08 And: 21:45:12 You didn't consider unpopular sites? LAME 21:46:19 Gregor: What's that new function syntax JS1.93458345whatever introduced? 21:46:24 fizzie, there? 21:46:32 elliott: function(x) x 21:46:39 fizzie, need help debugging the possible collaboration thingy? 21:46:49 (if you have a server I could try going there) 21:46:57 Gregor: To illustrate the power of eval, consider the following example, which is one way to 21:46:57 implement objects using only functions. 21:46:59 Point = function() { 21:46:59 return {x:0, y:0}; 21:46:59 } 21:47:02 Gregor: U JELLY? 21:47:15 CURSES! FOILED AGAIN! 21:47:27 elliott: That doesn't implement objects, it just leans on the pre-existing implementation of objects. 21:47:30 Gregor: Also, does anything actually support function(x) x yet...? 21:47:34 elliott: That doesn't implement objects, it just leans on the pre-existing implementation of objects. 21:47:38 Gregor: So does yours :P 21:47:40 How good is Xorshift random number generator? 21:47:41 eval is a function which is an object. 21:47:42 Also strings. 21:47:45 elliott: Only Mozilla, and it's not even part of standard ES, so nothing will. 21:47:47 zzo38: Not as good as Mersenne. 21:47:50 Vorpal: I'll save that to some point when it naturally crashes; if I have any luck, someone has figured the protocol out by then. 21:47:51 Gregor: lawl 21:47:59 fizzie, hah 21:47:59 zzo38: Oh, wait. 21:48:02 zzo38: It's Marsaglia. 21:48:05 zzo38: Yes, that should be just fine. 21:48:11 zzo38: Just steal the implementation from http://en.wikipedia.org/wiki/Xorshift :P 21:48:36 elliott: That is the page I looked at! The only problem is, what is the best way to seed it? 21:48:46 zzo38: Looks like it comes pre-seeded to me. 21:49:17 zzo38: But, um, if seeding it with time() or whatever isn't enough, you could use a http://en.wikipedia.org/wiki/Linear_congruential_generator. 21:49:21 elliott: I can see that. That is why I need to make it seedable by external. 21:50:03 I ought to use a generator good enough that even WotC could use it for making booster packs and it would be difficult to predict what cards you are going to get. 21:50:44 Gregor: Point = function(){ 21:50:45 return (function(o){ 21:50:45 21:50:45 })(function(f){return f((function(f,x){return x}),(function(f,x){return x}))} 21:50:45 } 21:50:54 Gregor: Skeleton of an example which implements objects using only functions. 21:51:10 (That function it's being called with is lambda-calculus-style (0,0) :P) 21:51:17 elliott: I don't think you fully understand the notion of an illustrative example :P 21:51:29 Gregor: You should have put that in with "..." in the body. 21:51:34 Leaving the body as an exercise to the reader. 21:51:57 Results 21:52:03 Results are left as an exercise to the reader. 21:52:09 " Any assignment to 21:52:10 an undeclared variable in JavaScript, including in an eval, will implicitly declare the 21:52:10 variable in the global scope, becoming globally visible and polluting the namespace. 21:52:10 For instance, executing eval(”x=4”) in a scope that does not include x will declare x in 21:52:10 the global scope and assign it the value 4." 21:52:12 tl;dr javascript sucks 21:52:58 Gregor: Now you've made me want to write Pong In Five Statements D: 21:53:29 [[ Of course the above code could be implemented straight- 21:53:29 forwardly without eval as: 21:53:29 Resources[”message ” + userInput]]] 21:53:36 Gregor: Ever considered Resources.messages[userInput]? :P 21:54:16 elliott: That's not the above code. 21:54:21 elliott: That's code similar to the above code. 21:54:26 Gregor: No, but it is a better solution :P 21:54:36 elliott: Yes, it is, and we go into that later. 21:54:46 Gregor: Your eval("Resources.message_" + validate(userInput)) isn't the same code as that either. 21:54:51 Depending on the definition of validate :P 21:54:57 Fair enough *shrugs* 21:55:06 elliott: If using Xorshift, what would be the best way to modify the registers for seeding? Should we change "w"? Should we add the seed number to all of "x" and "y" and "z" and "w"? How should it be entered into a bibliography? 21:55:11 Gregor: I'm jus' pickin' on you 'cuz I'm jealous. 21:55:44 Jealous of all the porn our autostuff downloaded. 21:55:47 zzo38: * Marsaglia (July 2003). "Xorshift RNGs". Journal of Statistical Software Vol. 8 (Issue 14). http://www.jstatsoft.org/v08/i14/paper. 21:55:51 zzo38: would be the bibliography reference. 21:56:07 ... XD 21:56:11 elliott: OK. What formatting should be used? 21:56:36 The seed set for xor128 is four 32-bit integers x,y,z,w not all 0, while the seed set for MWC is three 32-bit integers 21:56:36 x,y,z and an initial c zzo38, doesn't bibtex handle that? 21:56:41 zzo38: Basically, it comes pre-seeded. 21:56:57 zzo38: So I would change all of them. 21:57:08 elliott, won't it generate the same stream all the times if the seed is the same? 21:57:17 zzo38: Just set x, y, z and w according to successive values of whatever seeder RNG you have, seeded itself with time() or similar. 21:57:19 I think I will put the bibliography directly before the index. 21:58:47 elliott: I am not using BibTeX. I am using Enhanced CWEB to write this program, I told you already. What would be a very simple seeder RNG for this? 21:59:33 Vorpal: It can use seed from timer (and possibly other things), but it is OK if it generate the same stream with the same seed, it is supposed to be like that so that you can enter the seed manually in case you want to play duplicate draft, or something similar. 22:00:03 zzo38: I did not say BibTeX. 22:00:04 mhm 22:00:10 Vorpal said BibTeX. 22:00:13 yeah 22:00:16 OK 22:00:32 Vorpal: OK you tell me the formatting to use, then. 22:00:33 zzo38: Simple seeder RNG would be Fibonacci generator or linear congruential generator. 22:00:57 elliott: OK. 22:03:19 * nooga cracker 22:03:38 btw. who did this skyway's levels renderings? 22:03:50 nooga: ? 22:06:27 pikhq: OMake review: Oh hey the website looks nice. And so simple too! 22:06:27 $ omake --install 22:06:28 omake: Symbol `FamErrlist' has different size in shared object, consider re-linking 22:06:28 OMakeroot already exists, overwrite (yes/no)? yes 22:06:28 *** omake: creating OMakeroot 22:06:28 *** omake: creating OMakefile 22:06:29 *** omake: project files OMakefile and OMakeroot have been installed 22:06:31 *** omake: you should edit these files before continuing 22:06:33 pikhq: Fuck this shit. 22:06:35 pikhq: (All builds are similarly noisy.) 22:06:45 And you get stuck with a useless OMakeroot file that apparently you usually don't need to edit. 22:09:28 zzo38, no idea if you don't use bibtex 22:11:52 Vorpal: I am using Enhanced CWEB to write this program. You can just tell me what parts ought to be bold and so on, and what paragraph formatting you think is good for bibliography. 22:13:25 elliott: God that's stupid. 22:13:52 zzo38, I don't know, doesn't it depend on citation style? 22:13:55 pikhq: It even tells me that it's looking for g++ when I try to compile a C file, and when it finds it, then looks for gcc. 22:13:58 Why did you have to look for g++? 22:14:34 pikhq: I am starting to think that the best short-term solution is to write a GNU Make library of sorts... 22:14:46 pikhq: So you can just do "include lib.make" and have most everything sorted. 22:14:48 Vorpal: I don't know either. What does citation style means? 22:16:06 I'll let elliott explain 22:16:15 I'll let Vorpal explain 22:16:21 (hardvard, oxford, Vancouver and so on) 22:16:33 Harvard, Oxford, Vancouver, Pyongyang. 22:16:49 Pyongyang citation style‽ 22:17:03 Which style should I use? 22:17:07 zzo38: Pyongyang! 22:17:14 You just credit everything to Dear Leader. 22:17:16 It's really simple. 22:17:19 Here's what a citation looks like: 22:17:22 [1] Dear Leader. 22:17:29 pikhq: Actually, a GNU make library would be really useful... 22:18:02 elliott: That is no good! I need to use a proper style. Which style is good for literate programming? 22:18:48 zzo38: No idea. 22:20:28 elliott, stop trolling zzo38 22:20:55 Vorpal: I use the Pyongyang style all the time![1] 22:20:56 [1] Dear Leader. 22:21:28 elliott: I don't really care what style you use. But for me it is insufficient. 22:21:59 PRAISE BE TO THE DEAR LEADER OF THE DEMOCRATIC PEOPLE'S REPUBLIC OF CHOSON! 22:22:22 elliott: you broke my code? it works for me :) 22:22:34 olsner: not when you define a Floating instance :P 22:22:37 and also add | Zero 22:22:43 pikhq: map = $(foreach a,$(2),$(call $(1),$(a))) 22:22:44 pikhq: o = $(call map,origin,o map MAKE) 22:22:50 pikhq: This is an actual example from the GNU make documentation. 22:22:56 *vomit* 22:23:44 define hello 22:23:44 hello: ; 22:23:44 @echo hi 22:23:44 @echo bye 22:23:44 endef 22:23:45 $(hello) 22:23:50 pikhq: Valid GNU make. (Yes, the ; is required.) 22:23:55 pikhq: So this means a library is actually feasible ... 22:24:03 define hello 22:24:03 hello: ; 22:24:03 @echo hi 22:24:03 @echo bye 22:24:03 endef 22:24:04 This even works. :p 22:25:40 Well, I put some macros in the limbo area for bibliography. I still don't know what style to use. 22:26:18 And I still don't know what parts to make bold, slanted, etc 22:27:55 -!- j-invariant has quit (Quit: leaving). 22:28:38 pikhq: Do you know how to disable all implicit Make rules? 22:30:23 elliott: make --help or man make? 22:30:38 olsner: asking pikhq is easier 22:30:56 ... but slower 22:31:00 but easier 22:32:08 I know what it is now that I've looked it up in the make -h output, you could too 22:32:51 elliott, and you tell me to google for stuff? 22:33:06 olsner: i'm busy reading the whole manual 22:33:09 which is much less useful 22:33:24 I wish you could write $(foo bar, baz) for $(call foo, bar, baz) 22:34:21 ah, making every multiple-word variable expansion a function call ... I can't see why that wouldn't work, it's such an obvious improvement too 22:34:59 why do you read the *whole* manual when all you want to know is one option? 22:35:29 that's like... an implementation of 'head' that always reads to EOF before printing anything 22:35:53 "ooh, found it! now I just have to remember it until I get to the end of the manual!" 22:38:41 olsner: :D 22:39:18 olsner: right now I'm grappling with the seemingly-impossible task: "Turn 'a b c' into 'a,b,c'." 22:39:34 $(shell) and sed 22:41:03 joinwith = $(if $(2),$(firstword $(2))$(if $(wordlist 2,$(words $(1)),$(1)),$(1)$(call joinwith,$(1),$(wordlist 2,$(words $(1)),$(1))),),) 22:41:05 YAAAAAAAAAAAAAAAAAAAAAAAAAAAY 22:41:08 pikhq: YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY 22:41:13 * elliott gushes blood from every pore 22:41:15 YAAAAAAAAAAAAAAAAAAAAAAAY 22:41:23 elliott: wtf, my eyes are bleeding :( 22:41:31 olsner: YAAAAAAAAAAAAAAAAAAAAAY 22:42:30 olsner: doesn't even work :D 22:42:58 make it work, then comment it out and replace with the silly sed solution 22:43:06 olsner: that's not PORTABLE to OS/2 22:43:24 well, wtf *is* portable to OS/2? 22:43:32 aha i had $(1) instead of $(2) 22:43:33 EASY 22:43:34 MSITAKE 22:43:35 *MISTAKE 22:44:08 hmm, on second thought, I might have made some code that worked on both Linux and OS/2 :( 22:44:14 -!- Phantom_Hoover_ has quit (Quit: Leaving). 22:44:24 define joinwith 22:44:24 $(if $(2), 22:44:24 $(firstword $(2)) 22:44:24 $(if $(wordlist 2,$(words $(2)),$(2)), 22:44:24 $(1) 22:44:24 $(call $(0),$(1),$(wordlist 2,$(words $(2)),$(2))) 22:44:26 ,),) 22:44:28 endef 22:44:30 i give up 22:44:32 there has to be another way 22:45:07 EMPTY := 22:45:07 SPACE := $(EMPTY) # 22:45:07 COMMA := , 22:45:16 olsner: that comment is solely there to show that, yes, gnu make is crazy! 22:45:18 SPACE := # 22:45:20 DOES NOT WORK 22:45:21 but 22:45:23 SPACE := $(EMPTY) # 22:45:23 DOES 22:45:51 (I don't remember if I had any code that was shared, or if the OS/2 and Linux parts were disjoint) 22:46:02 olsner: you wrote OS/2 parts? why :D 22:46:16 elliott: because it needed to run on OS/2 22:46:27 or it *involved* OS/2 is more correct 22:47:24 "The value function provides a way for you to use the value of a variable without having it expanded" 22:47:26 MWAHAHAHAHA 22:47:29 olsner: why. 22:47:37 elliott: because. 22:47:39 "The eval function is very special" 22:47:43 *because? 22:47:44 In the really, really retarded sense of "special". 22:48:08 ifdef bletch 22:48:08 ifeq "$(origin bletch)" "environment" 22:48:09 bletch = barf, gag, etc. 22:48:09 endif 22:48:09 endif 22:48:11 funny, mr. manual; 22:48:13 that's how i feel about gnu make 22:48:48 Mark writes, "advice that is true for life as well as code." 22:48:48 # The colon is very important. DO NOT TOUCH. 22:48:58 :D 22:49:23 [["This is used all over our app," writes Anthony Arnold, "I get rid of them when I see them. What's wrong with !String.IsNullOrEmpty((s ?? "").ToString())" 22:49:23 public static bool IsRealString(object s) 22:49:23 { 22:49:23 return s != null && !String.IsNullOrEmpty(s.ToString()); 22:49:23 }]] 22:49:31 Why is that even on the daily wtf? 22:49:39 ZOMG IT DOESN'T USE THE *ABSOLUTE NEWEST* CONSTRUCTS 22:49:43 NOT PRESENT IN MOST OTHER LANGUAGES 22:49:45 IT'S EVIL CODE 22:49:45 SPACE := $(EMPTY) # <-- why not " " ? 22:49:52 Vorpal: you mean SPACE := " "? 22:49:59 elliott, yeah 22:49:59 that defines it to literally be quote mark, space, quote mark 22:50:01 duh 22:50:05 elliott, oh... 22:50:09 elliott, how silly 22:50:09 elliott: hopefully that's sarcasm and that other construct is considered equally bad 22:50:12 you are clearly a make n00b luz3r 22:50:18 olsner: I doubt it 22:50:23 olsner: oh wait 22:50:26 olsner: just looked at it :D 22:50:28 yeah okay 22:50:28 lol 22:51:25 or maybe the submitter thinks that's the best way to do it and the wonder of clarity 22:51:27 elliott, C#? 22:51:36 Vorpal: prolly 22:51:38 what the heck does ?? do there 22:51:41 and as the readers we're supposed to go "lol, the *real* wtf, etc" 22:51:45 I do not remember 22:52:11 presumably s ?? foo means s != null ? s : foo 22:52:13 yep 22:52:19 olsner: btw i want to get rid of implicit rules in the makefile, not on the command line 22:52:29 so -h does not help :P 22:53:08 elliott, all:\n$(MAKE) - realall 22:53:14 (NOTE: DON'T DO THIS) 22:53:21 echo $(subst $(SPACE),$(COMMA),$(LD.FLAGS)) 22:53:23 HAHA IT WORKS 22:53:26 you could ... $(filter) on MAKEFLAGS (or whatever it's called), then call make recursively if implicit rules are not disabled 22:53:34 Vorpal: I might, actually, except the way olsner does it. 22:53:38 I can't really think of a cleaner solution. :p 22:53:54 elliott, you would need one per target 22:53:55 !! 22:54:02 Vorpal: nope 22:54:05 put an if around your whole makefile, and use MAKECMDGOALS along with a catch-all rule to implement the wrapper 22:54:05 Vorpal: %: \n ... 22:54:11 elliott, oh my 22:54:13 but yeah, what olsner said 22:54:31 and remember to handle an empty list of goals 22:55:25 I remember doing this once (not for the purpose of adding -r though) and deciding that it didn't end up that ugly after all 22:55:25 olsner, won't the first rule be invoked then? 22:55:56 Vorpal: put everything in an if so only the wrapper part is visible when you've decided you need to wrap 22:56:01 why not BSD make 22:56:06 isn't it much nicer iirc 22:57:05 elliott, didn't mk have problems with spaces in the filenames? 22:57:26 mk, yes, I think so. 22:57:34 what about make? 22:57:36 BSD make is less featureful, so I can't bend it into usefulness. 22:57:44 Vorpal: It works *if* you take precautions at every point to make it work. 22:57:51 Vorpal: Which my library *will* but *nothing* else does. 22:58:04 elliott, a make library? 22:58:13 Vorpal: Yes. 22:58:20 Vorpal: The idea is that you can make your Makefile look something like this: 22:58:26 include useful.make 22:58:29 a make library? intriguing 22:58:36 $(call c-program, foo, *.c) 22:58:38 Or the like. 22:58:45 elliott, does it do the deps thingy then 22:58:49 so you get those .d files 22:58:50 Vorpal: Yes, it will. 22:59:03 Vorpal: It'll also hopefully have easy ways to add pkgconfig libraries to the mix, without manually doing $(shell pkg-config ...). 22:59:20 elliott, and if the package only has foo-config? 22:59:33 as in /usr/bin/motif-config (I hope not!) 22:59:35 Vorpal: Well, then you get to add support yourself. Or maybe I'll have specific stuff for that :p 22:59:39 Also, *allegro-config would be more realistic. 22:59:55 elliott, well okay, I don't know which packages still use only that old style 23:00:06 allegro would be reasonable to presume 23:00:10 it is so.... backwards 23:00:17 Allegro is nice though. :p 23:00:24 elliott, SDL isn't bad either 23:00:30 Allegro does more stuff for you. 23:00:45 elliott, true, but it feels rather outdated somehow (yes yes, allegro 5...) 23:00:45 Ugh, how can one make a submake not print "make[1]:"? I want to use $(MAKE) to be a Good Citizen but I don't want it to think "ooh, recursion!". 23:00:52 I have used SDL. It does work. 23:00:59 no one doubted that 23:01:11 if (oneHundred == 100) { oneHundred /= 2; } 23:01:26 olsner, dailywtf? 23:01:35 olsner: What is the point of such a code? 23:02:30 zzo38: Indeed. 23:02:46 TeX sometimes makes overfull boxes. I fixed it by setting \emergencystretch=\hsize 23:04:24 olsner: Yes I have seen that code in Daily WTF. 23:05:04 elliott: Don't use a submake? 23:05:20 pikhq: Give me another way to disable the default set of implicit rules. 23:05:34 (Than filtering on MAKEFLAGS and re-making with --no-builtin-rules if it isn't there.) 23:05:44 Oh! 23:06:18 So that's what you're doing. 23:07:11 pikhq: Yeah. 23:07:12 elliott, just manually redefine a replacement for each built in rule 23:07:16 ;P 23:07:24 Vorpal: There is no way to know exactly what built-in rules are defined. :p 23:07:35 Except maybe INVOKING MAKE TO ASK IT!11271892 (Even if this is possible: NO.) 23:07:47 elliott, make -p 23:07:57 elliott, then write a parser in make 23:08:07 elliott, generate a makefile, and include it 23:08:09 or something 23:08:20 elliott, note: not a good idea 23:08:31 lawl# 23:08:33 *lawl 23:08:35 -!- zzo38 has quit (Remote host closed the connection). 23:09:05 elliott, hm is make classified as an expert system or not? 23:09:19 Yes. 23:09:27 In fact "Recursive Make Considered Harmful" explicitly describes it as one. 23:09:30 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:09:41 elliott, I wonder if you could turn it into a probabilistic expert system! 23:11:17 Aha. 23:11:18 MAKELEVEL=0. 23:11:53 make: *** No rule to make target `sdf'. Stop. 23:11:53 make: *** [sdf] Error 2 23:11:56 Now to get rid of that pesky second line. 23:12:06 pikhq: 23:12:06 .RECIPEPREFIX 23:12:06 The first character of the value of this variable is used as the character make assumes is introducing a recipe line. If the variable is empty (as it is by default) that character is the standard tab character. For example, this is a valid makefile: 23:12:06 .RECIPEPREFIX = > 23:12:06 all: 23:12:08 elliott, not sure you can 23:12:09 > @echo Hello, world 23:12:10 The value of .RECIPEPREFIX can be changed multiple times; once set it stays in effect for all rules parsed until it is modified. 23:12:13 LOL WAT. 23:12:26 elliott, what is a "recipe" in make 23:12:43 oh 23:12:44 Vorpal: The actual shell script with make variable inclusions and the like. 23:12:47 right 23:12:50 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 23:13:02 elliott, can it be set to two chars 23:13:09 elliott, so you can do space indented makefile 23:13:11 or even mixed 23:13:21 .RECIPEPREFIX := $(SPACE) *should* work. 23:13:28 But you'd really want space-or-tab, which I think is impossible. 23:13:32 ah 23:13:55 elliott, I know it would confuse the hell out of most editor's mode for makefiles 23:14:03 emacs would probably hate you 23:14:05 same for kate 23:14:11 GNU Make really could do with a "break compatibility" option so that it can have saner syntax. 23:14:27 But, then, GNU would fuck it up somehow. 23:14:31 yeha 23:14:32 yeah* 23:14:35 write your own? 23:15:01 pikhq, all of this channel would thank you 23:15:08 Like turn $@ into $THE_TARGET_FOR_THIS_HERE_GNU_(GNU'S_NOT_UNIX)_MAKE_RECIPE_WILL_BE_PUT_IN_PLACE_OF_THIS_STRING 23:16:44 Vorpal: Hey, my plan if this doesn't work out is to write my own Make-alike. 23:16:56 Vorpal: Where in $(...), the code in ... is just interpreted in a pure, functional language. 23:17:02 With PROPER LISTS, god dammit. 23:18:22 hah 23:18:28 you don't need lists, you can just use space-delimited strings! it's so much easier! 23:18:54 olsner: Especially when your filenames have spaces in them! 23:19:20 since you can't use such files with make, make users will not create such files :D 23:19:29 olsner: you can, actually 23:19:32 just reaaally painfully 23:20:02 elliott, what about filenames with : in them 23:20:26 can you do foo: bar is a nice file.interesting extension.really fun : something 23:20:30 Vorpal: I think foo\:: bar might be valid 23:20:31 if not, 23:20:34 foo := foo: 23:20:35 $(foo): bar 23:20:36 probably is 23:20:39 elliott, hah 23:20:51 when in doubt, make a fucking variable 23:21:09 elliott, mpw make! 23:21:15 (just because) 23:21:18 elliott, ever used it? 23:21:33 it has it's own syntax, using non-ascii for stuff like : and \ 23:21:43 (macroman ftw) 23:22:00 elliott, ? 23:22:02 Vorpal: i've seen it. 23:22:06 when trying to compile your cfunge port 23:22:14 elliott, I didn't port cfunge... 23:22:18 elliott, I ported ick 23:22:32 porting cfunge would be insane 23:23:12 oh joy, there's commas in my function argument 23:23:19 time to mutilate my vital organs 23:23:23 hah 23:23:46 elliott, the issue is that make is doing this on a textual level 23:23:51 you don't say 23:23:59 elliott, I mean, it is rather insane 23:23:59 oh wait my cat function seems broken 23:24:00 neat! 23:24:02 even for shells 23:24:02 just like real cats 23:24:11 always...broken 23:24:34 ok you know what? fuck $(LD.FLAGS) for now 23:24:48 elliott, why are you using that name 23:24:55 elliott, LDFLAGS is kind of more common 23:25:00 HAHAHAHAHAHAHAHA THE ISSUE IS THAT I HAD NEWLINES IN MY MACRO 23:25:13 Vorpal: this is not the channel for "common" and you know it 23:25:16 elliott, wait what 23:25:18 Vorpal: because "CFLAGS" is stupid; I'm rationalising all the variable names and then defaulting them to the common name 23:25:26 elliott, ah 23:25:26 e.g. CC.FLAGS := $(CFLAGS) 23:25:28 elliott, nice idea 23:25:31 I may end up lowercasing it to cc.flags for less annoyance :P 23:25:34 elliott, seen it done before though 23:25:46 elliott, WHY NOT SHOUT WHEN YOU CAN. ALSO IT'S TRADITIONAL! 23:26:23 "Tradition, tradition, where would we be without tradition" <-- I know this is a quite from somewhere, but I can't remember where 23:26:58 define default 23:26:58 $(eval,ifndef $(1) 23:26:58 $(1) := $(2) 23:26:58 endif) 23:26:58 endef 23:27:00 (I think, some play) 23:27:01 aww, doesn't quite work 23:27:02 (or such) 23:30:26 hahaa it works 23:30:31 elliott, how? 23:30:35 define default_body 23:30:36 ifeq ($$(origin $(1)), undefined) 23:30:36 $(1) := $(2) 23:30:36 endif 23:30:36 endef 23:30:37 default = $(eval $(call default_body,$(1),$(2))) 23:30:43 whaaat 23:30:54 that makes no sense 23:30:57 I'm not sure why the make example for ?= uses origin like that though 23:31:01 Vorpal: I think that 23:31:01 $(eval 23:31:02 foo 23:31:03 bar) 23:31:06 gets all its whitespace flattened 23:31:11 whereas a multi-line macro can have any whitespace it wants 23:31:17 i.e. $(foo bar baz) has all its newlines normalised to spaces 23:31:22 whereas the body of a multi-line macro does not 23:31:24 thus explaining the above 23:31:25 elliott, ouch 23:31:46 " If the variable variable-name has an empty value, the text-if-true is effective; otherwise, the text-if-false, if any, is effective. The rules for expansion and testing of variable-name are identical to the ifdef directive." 23:31:46 ah 23:31:48 so origin is morep recise 23:31:50 *more precise 23:32:29 elliott, ...what does origin do now again? 23:32:41 -!- cheater99 has joined. 23:32:46 -!- cheater99 has quit (Read error: Connection reset by peer). 23:32:48 Vorpal: horrible things: http://www.gnu.org/software/make/manual/make.html#Origin-Function 23:33:11 elliott, *decides to leave minecraft running overnight* 23:33:21 I hope it won't do anything insane like swap trash 23:34:25 elliott, oh my 23:35:27 -!- cheater99 has joined. 23:36:11 quote = '$(subst ','\'',$(1))'#' 23:36:15 Vorpal: Guess what that comment is for. 23:36:27 Vorpal: Answer: To stop Emacs thinking the rest of the Makefile is in a quote. 23:36:39 elliott, emacs fails parsing then 23:36:40 EXAMPLE USAGE: 23:36:41 define c-program 23:36:41 ; 23:36:41 $(call cat, $(CC) $(CC.FLAGS) $(CPP.FLAGS)) \ 23:36:41 -o $$(call quote,$$@) \ 23:36:41 $$(foreach src,$$^,$$(call quote,$$(src))) 23:36:43 endef 23:37:02 elliott, I have no idea what that does. I never used call in make even 23:37:08 -!- cheater99 has quit (Read error: Connection reset by peer). 23:37:10 Vorpal: 23:37:13 foo = $(2) $(1) 23:37:16 $(call foo,a,b) => b a 23:37:23 yearh 23:37:26 yeargh* 23:37:30 Vorpal: quote = '$(subst ','\'',$(1))'#' 23:37:35 elliott, did it turn a variable into a function? 23:37:36 Vorpal: So, we have literal ', a call, and a literal '. 23:37:40 The call transforms ' into '\''. 23:37:41 So: 23:37:45 $(call quote,a' b) 23:37:46 -> 23:37:50 'a'\'' b' 23:37:51 !!!!!! 23:37:52 Wow. 9 months after the election, Iraq finally forms a government. 23:37:54 Which is how you shell-represent "a' b". 23:37:58 Vorpal: And yes, it does; string-based! 23:38:00 Vorpal: Remember that 23:38:01 !!!!!!!!!!!!!!!!!! 23:38:01 define foo 23:38:02 ... 23:38:02 endef 23:38:05 just defines a string too. 23:38:15 elliott, not a string foo? 23:38:18 XD 23:38:22 Yes yes yse. 23:38:23 *yes. 23:38:25 yeah 23:38:46 wow, $(flavor ...) looks even worse 23:38:49 $ make 23:38:49 than origin 23:38:49 cc -o 'foo' 'foo.c' 23:38:50 Bit ugly though. 23:38:52 SOLUTION? 23:38:53 Another function! 23:39:00 That only quotes if there's any quote-needing characters. 23:39:01 To quote. 23:39:16 I am, by the way, laughing. 23:39:24 elliott, oh? 23:39:29 Yes. 23:39:31 This is very silly. 23:39:43 elliott, yes, yes it is 23:39:59 OK, I think if I do 23:40:03 $(info text...) 23:40:03 This function does nothing more than print its (expanded) argument(s) to standard output. No makefile name or line number is added. The result of the expansion of this function is the empty string. 23:40:04 uh 23:40:07 @echo ? 23:40:12 Vorpal: Anywhere in the makefile, silly. 23:40:13 $(filter-out %a%,$(1)) 23:40:14 erm 23:40:16 elliott, oh right 23:40:20 $(filter-out %a%,$(1))$(filter-out %b%,$(1))$(filter-out %c%,$(1))... 23:40:25 for every single safe character 23:40:28 then I can do kwote 23:40:32 elliott, this in absurd 23:40:44 Wait, no. Argh. 23:41:15 I think I'm going to start listening to emo just to accurately convey my mood right now. 23:41:21 elliott, ouch 23:41:24 elliott, that's bad 23:41:29 elliott, you need a VHS (??) 23:41:33 * elliott slits the wrists of his inner programmer 23:41:36 Vorpal: And a big spider! 23:41:40 elliott, and that 23:41:46 SCCS 23:41:47 Any file n is extracted if necessary from an SCCS file named either s.n or SCCS/s.n. The precise recipe used is ‘$(GET) $(GFLAGS)’. The rules for SCCS are terminal (see Match-Anything Pattern Rules), so SCCS files cannot be generated from another source; they must actually exist. 23:41:48 WHY DOES THIS EVEN EXIST 23:41:50 elliott, and a big RMS plush figure 23:42:08 Vorpal: Oh man, I would buy that if and only if it's in the pose of eating stuff it picked from its feet. 23:42:15 ...and then promptly burn it. 23:42:15 Twice. 23:42:21 elliott, I doubt rms does that 23:42:26 HAHAHA 23:42:30 elliott, what? 23:42:40 elliott, [citation needed] 23:42:42 Vorpal: http://www.youtube.com/watch?v=I25UeVXrEHQ 23:42:42 -!- oerjan has joined. 23:42:46 Vorpal: skip to 1:47 23:42:54 elliott, not sure I will... 23:42:55 Vorpal: (Note: You really, really don't want to.) 23:42:55 but hm 23:43:08 elliott, indeed I won't 23:44:06 Vorpal: Writing a make replacement sounds SO lovely right now. 23:44:08 elliott, "8.12 Functions That Control Make" <-- don't all in some sense 23:44:21 elliott, keyword: NOT TEXTUAL 23:44:26 (as in, binary file format!) 23:44:29 Sexual make. (Wait, what?) 23:44:30 07:16:25 20:31:48 Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses. 23:44:35 07:16:31 Funny you should mention it, why yes I do! 23:44:37 07:16:38 XD 23:44:52 IT'S GOOD TO SEE YOU ENJOYING YOURSELVES 23:44:56 07:16:25 20:31:48 Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses. 23:44:56 07:16:31 Funny you should mention it, why yes I do! 23:44:56 07:16:38 XD 23:44:56 IT'S GOOD TO SEE YOU ENJOYING YOURSELVES 23:45:02 IT'S GOOD TO SEE YOU ENJOYING OURSELVES 23:45:12 elliott, wait what 23:45:18 elliott, wait what 23:45:19 elliott, you mean "good to see us" 23:45:24 It's good to see wait what! 23:45:26 redundant elliott is redundant 23:45:28 elliott, wait what 23:45:28 elliott, you mean "good to see us" 23:45:32 IT'S GOOD REDUNDANT 23:45:54 elliott is indeed redundant (not just redundant elliott!) 23:46:14 after all, we have Gregor 23:46:32 Gregor serves my purpose? 23:46:35 Vorpal: that X Y is X is an old meme 23:46:40 oerjan: he probably knows. 23:46:42 one would assume. 23:46:42 elliott, well no, but zzo fills the rest 23:46:43 perhaps. 23:46:50 Vorpal: I will cause your death. 23:46:52 elliott: _probably_, but he _is_ Vorpal 23:47:01 Vorpal: that X Y is X is an old meme <-- you don't say!??!?! 23:47:07 :P 23:47:35 elliott, I can only presume that is your intention 23:47:37 pikhq: Quick, help me design a Make replacement. 23:47:43 elliott, use macroman 23:47:45 (not) 23:47:58 Macro Man. 23:47:59 call it "fake" 23:47:59 elliott, should it be TC? 23:48:04 Vorpal: Why not :P 23:48:12 oerjan: Bake. Cake. Shake. Lake. Sake. Rake. 23:48:14 Quake. 23:48:17 Take. 23:48:21 elliott, well... there are arguments in both directions 23:48:26 elliott, but yeah, TC 23:48:38 Vorpal: Not making it TC would make it harder to support useful features. 23:48:40 elliott, I seem to remember that "rake" is taken 23:48:44 for some build system 23:48:46 Indeed. So's cake. 23:48:49 elliott, is it? huh 23:48:55 So's bake, it seems. 23:48:55 elliott, no that's a lie! 23:49:03 Sake is taken too. 23:49:13 elliott, construct? 23:49:23 hm too long 23:49:27 Vorpal: Cons, the tool that SCons is inspired by :P 23:49:33 ah... 23:49:42 elliott, is cons even worse than scons? 23:49:51 Well, it's Perl. YMMV. 23:49:53 ah 23:49:58 YMMV indeed 23:50:17 -!- poiuy_qwert has joined. 23:50:26 elliott, make is a Swedish word btw 23:50:29 Vorpal: At Least It's Not CMake(TM) 23:50:40 elliott, alinc? 23:50:48 What does make mean in svedish? 23:50:56 elliott, "husband" 23:51:08 elliott, also w 23:51:32 elliott, so you could call the program spouse? 23:51:57 Heh. 23:52:11 elliott, this is like taking cockney rhyme to a new level 23:52:14 or something 23:52:18 "emake" is my work-in-progress name, but. That's boring. 23:52:20 (Extended Make) 23:52:24 elliott, emake is used 23:52:30 shake has quite a nice qwerty-feel. 23:52:35 Oh, right, erlang. 23:52:38 yep 23:52:40 Thankfully nobody uses erlang :P 23:52:47 elliott, I think there is another emake too 23:53:33 elliott, you mean, last.fm, ubuntu (couchdb), Ericsson, ejabberd (forgot the company behind it) and so on? 23:53:46 Vorpal: Yep. 23:53:48 None of those exist. 23:53:51 elliott, ah 23:53:58 elliott, so ubuntu is a lie? 23:53:58 -!- cheater99 has joined. 23:54:04 Yes. 23:54:17 elliott, explains why the bug reports seem to stay open forever 23:54:19 Mark Shuttleworth has actually just managed to embed mind-control into an .iso; your screen is, in fact, blank for the duration of Ubuntu's use. 23:54:25 It's a sick, sick joke he is playing on us all. 23:54:30 elliott, lucky I'm on arch 23:54:31 Ugh, "%: Makefile" doesn't do the right thing. :P 23:54:32 brb 23:54:32 atm 23:54:49 elliott, so what *does* %: Makefile do? 23:57:29 elliott, mc data values make no sense 23:58:11 elliott, a number of blocks, wall signs, furances, pumpkins and so on, can face different directions 23:58:23 you would think east/west/south/north would be same for all 23:58:25 no 23:58:29 heh 23:59:09 Ground levers: 23:59:10 * 0x5: Lever points west when off. 23:59:10 * 0x6: Lever points south when off. (Note that unlike the other types of switch, this version will not power wires around the block it is sitting on.) 23:59:11 what? 23:59:26 -!- cheater99 has quit (Ping timeout: 240 seconds). 23:59:31 lol