00:04:01 what is the point in even trying to protect a game 00:04:09 its going to get cracked anyways 00:05:35 Make it harder for lazier people to pirate it 00:05:56 It's just a matter of copying and pasting a cracked exe 00:06:02 I'm lazy and I can do that 00:06:06 -!- cheater99 has joined. 00:06:13 then again I also crack my own games sometimes, so I guess I'm not that lazy 00:08:41 1 or 2 requests a second shouldn't accidentally DoS anyone, should it? 00:09:12 Target is using Dreamhost 00:11:10 -!- cheater99 has quit (Read error: Connection reset by peer). 00:11:31 Sgeo: um that's not a very good idea prolonged 00:11:59 :/ 00:12:22 -!- Phamhntom_Hoover has quit (Ping timeout: 245 seconds). 00:14:07 elliott, hm? 00:15:25 Sgeo: well how long would you be making such requests for 00:15:34 ~18 hours 00:16:08 Maybe not all at one time 00:16:11 -!- zzo38 has quit (Quit: You forgot about the AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA****************************\\\\\\\\\\\\\\\\\\\\\\). 00:16:31 At any rate, I just contacted someone who might have administrative control of the wiki 00:17:02 "Hi. Do you have control over the wiki? Unofficial policy seems to be 00:17:02 that unregistered edits should be disabled for the time being. I've 00:17:03 been contemplating writing a bot to ban IPs, but I'd really rather 00:17:03 not. There should be a simple setting somewhere, I think." 00:17:14 Sgeo: 1-2 edits a second for 18 hours? 00:17:15 L O L 00:17:25 elliott, 1-2 bans a second 00:17:30 *requests 00:17:37 i'm assuming it's on a shitty server 00:17:39 which i find very likely 00:18:39 All I know is Dreamhost 00:19:12 -!- j-invariant has joined. 00:20:19 well maybe 00:20:21 WHY NOT 00:20:27 it'll probably be slightly slower. 00:21:15 I improved http://esolangs.org/wiki/Main_Page 00:27:07 -!- cheater99 has joined. 00:29:57 -!- cheater99 has quit (Read error: Connection reset by peer). 00:31:28 CVSup is written in Modula-3. 00:34:12 Seriously! What is this language! 00:37:50 MediaWiki.org uses what looks like a Linspire icon 00:40:02 I MUST FIND THIS LANGUAGE. 00:42:31 LOL at http://www.mediawiki.org/wiki/MediaWiki:Newarticletext 00:46:04 -!- cheater99 has joined. 00:49:27 -!- cheater99 has quit (Read error: Connection reset by peer). 00:53:23 tswett: hey, any slashes program ending with \ is invalid, right? 00:59:30 * Sgeo slashes elliott's head off 01:01:28 tswett: And what about //foo/? Does that terminate immediately, or $wtf forever? 01:05:39 -!- cheater99 has joined. 01:09:31 -!- cheater99 has quit (Read error: Connection reset by peer). 01:18:15 *Main> run "/abc/def/abc" 01:18:15 "" 01:18:17 Tha's no' ri'. 01:21:54 *Main> replace "abc" "def" "helloabc" 01:21:54 "defc" 01:21:55 what 01:22:01 oh! 01:23:44 -!- Gracenotes has joined. 01:25:37 -!- cheater99 has joined. 01:27:56 -!- j-invariant has quit (Quit: leaving). 01:31:34 -!- cheater99 has quit (Read error: Connection reset by peer). 01:33:00 the name of the game. the length of the string. the crime of the time. the dog ate my moon. 01:33:01 Deep. 01:45:13 -!- MigoMipo has quit (Quit: Quit). 01:47:37 -!- cheater99 has joined. 01:49:46 -!- FireFly has quit (Quit: swatted to death). 01:50:58 -!- cheater99 has quit (Read error: Connection reset by peer). 02:05:14 Oh my God 02:05:15 This 02:05:16 is 02:05:17 the 02:05:17 most 02:05:24 epic keygen music I have ever heard 02:05:54 The dancing pirate is awesome too 02:06:35 -!- cheater99 has joined. 02:07:39 -!- cheater99 has quit (Read error: Connection reset by peer). 02:23:35 -!- cheater99 has joined. 02:24:08 Someone's playing DDR, I see. 02:24:52 ? 02:28:04 -!- cheater99 has quit (Read error: Connection reset by peer). 02:33:13 -!- oerjan has joined. 02:36:39 tswett: hey, any slashes program ending with \ is invalid, right? 02:36:48 indeed not 02:36:50 the program just terminates 02:36:52 any slashes program consisting solely of \, you mean 02:36:53 according to my interpretation of the spec 02:36:54 right 02:36:57 well, no 02:36:59 oerjan: foo\ 02:37:01 that prints foo and exits 02:37:06 yep 02:37:08 because when there's not enough program to execute, program execution stops 02:37:15 i wrote a haskell slashes impl 02:37:18 the spec is quite clear on that point. 02:37:27 http://sprunge.us/ICgN 02:37:29 probably very slow 02:37:37 but quite elegant 02:37:42 otoh the perl implementation may not be entirely correct on //.../ stuff, there was a discussion 02:37:48 mine infloops on that 02:37:52 i read the discussion 02:38:26 ah yes it was a perl special case feature interfering 02:44:00 -!- cheater99 has joined. 02:44:35 http://www.youtube.com/watch?v=98ew0VtHmik 02:46:26 Goosey, wtf? 02:46:26 -!- cheater99 has quit (Read error: Connection reset by peer). 02:48:32 pikhq: I figured how to do N-arg c lambdas. 02:48:58 pikhq: basically fn((int a, int b, int c), ...) using "join_args_commas args" inside fn and "join_args_semicolons", this also lets us do type inferrence 02:49:03 this is just a note to self, amend http://sprunge.us/IOdM tomorrow 02:49:42 Also pikhq should link me to his copyable lambda code so I can base it off that. 02:50:02 Sgeo, Revolution 02:55:42 elliott: ^ 02:55:55 (yoy forgot to ping yourself ;) ) 02:55:56 oerjan: ? 02:55:59 oh 02:55:59 heh 02:56:05 *you 02:57:37 -!- elliott has quit (Quit: Leaving). 03:02:33 -!- cheater99 has joined. 03:06:41 -!- cheater99 has quit (Read error: Connection reset by peer). 03:22:33 -!- cheater99 has joined. 03:27:06 -!- cheater99 has quit (Read error: Connection reset by peer). 03:31:10 -!- oerjan has quit (Quit: leaving). 03:42:33 -!- cheater99 has joined. 03:43:55 -!- cheater99 has quit (Read error: Connection reset by peer). 03:51:58 -!- augur_ has joined. 03:54:38 -!- augur has quit (Ping timeout: 240 seconds). 03:56:59 -!- augur_ has changed nick to augur. 04:00:00 -!- cheater99 has joined. 04:06:10 -!- cheater99 has quit (Read error: Connection reset by peer). 04:06:43 -!- sftp has quit (Remote host closed the connection). 04:19:37 It has been *years* since I played FFX, and I still have the freaking Hymn of the Fayth stuck in my head. 04:19:47 Dammit UEMATU! 04:20:33 -!- cheater99 has joined. 04:24:15 -!- cheater99 has quit (Read error: Connection reset by peer). 04:36:39 -!- pikhq has quit (Ping timeout: 260 seconds). 04:38:16 -!- pikhq has joined. 04:40:03 -!- cheater99 has joined. 04:42:09 -!- cheater99 has quit (Read error: Connection reset by peer). 04:50:06 Hah... PCRM has published bottom 5 cookbooks for the year... Of course, knowing what PCRM does, good work from writers of those 5. 04:50:57 ha 04:52:39 PCRM, CSPI, PETA... All part of same bunch... 04:55:15 And all have doublespeak names... 04:56:41 they're in league with each other? 04:56:58 AFAIK, Yes. 04:58:03 -!- cheater99 has joined. 04:59:28 And the "best" cookbooks of the year on list PCRM did are all vegan (caveat!) or vegetarian (not so good). 05:00:24 caveat? 05:00:37 Essentially means "Watch out!" 05:01:02 -!- cheater99 has quit (Read error: Connection reset by peer). 05:01:04 I know what a caveat is 05:01:07 what is the caveat? 05:02:20 Vegan diet without supplementing leads to nutrional defiencies. 05:02:47 k 05:02:59 And that it isn't good for health even when when supplementing is an understatement. 05:03:52 xkcd is only funny today because of previous xkcd 05:04:08 Oh, and having herbivore without signaficant predators in any ecosystem is a recipe for disaster. 05:08:25 Even with plant-based diet one must choose the animal products well to avoid trouble with defiencies. And there are some plant products that are not acutely toxic but still just plain unfit for human consumption. 05:09:26 Ilari: There is no indication that a cultivating omnivore is no less dangerous 05:11:40 Perhaps... But that "herbivore on top of food chain" disaster has been seen time and time again... 05:11:57 Sure 05:12:07 But our situation has never truly occurred 05:12:12 in the known history of life 05:14:17 -!- Gracenotes has quit (Ping timeout: 265 seconds). 05:16:57 -!- cheater99 has joined. 05:17:17 And also, agriculture as presently practiced is really destructive to the environment and health. 05:17:47 sure 05:18:06 an obvious economical consequence that will not be overcome until necessary 05:19:31 -!- cheater99 has quit (Read error: Connection reset by peer). 05:20:08 elliott: I met someone with more nostalgia than myself. 05:20:15 Really destructive to health: Second worst health-related disaster humankind has ever experenced. 05:20:46 Ilari: why do you say health? 05:20:54 also what do you consider #1? 05:22:23 Actually, #1 was also related to agriculture... 05:22:32 and that is? 05:23:00 The beginning of agriculture with cereal grains. That was REALLY ugly. 05:23:10 oh, yes 05:23:17 but we got over that one, more or less 05:23:24 hmm? 05:24:43 One can tell from remains of human skull around the time of beginning of argriculture if it is remains of hunter-gatherer or of member of agricultural tribe with one look if one knows what to look for... 05:25:10 The diffrence is just so massive. 05:25:19 Yeah, not about to abandon agriculture, thank you very much 05:26:02 Well, there are way better ways (for human health and environment) to do agriculture than what is presently done. And the reason why these changes are not done is economics. 05:29:09 It is cheaper to do half-assed job and expend lots of fossil resources than to do it properly. 05:31:31 This is closely related to reasons why seed oils and margarine are promoted as "healthy" and why butter is demonized as "unhealthy". 05:32:49 Ilari: economics is not about money 05:35:31 -!- cheater99 has joined. 05:36:09 Oh, and organization closely related to PCRM (CSPI) is the one who made restaurants switch from frying with tallow, lard and co to frying with partially hyrogenated plant fats (the unhealthiest fats in existence). 05:37:21 Ilari: no 05:38:01 the public has thankfully managed to straighten out the difference between saturated, cis-unsaturated, and trans-unsaturated fats, thankfully 05:39:47 -!- cheater99 has quit (Read error: Connection reset by peer). 05:40:53 Oh, and don't forget the diffrence between trans fats from partial hydrogenation (why these are even allowed?) and vaccinic acid/conjugated linolic acid (seem to be healthy). 05:42:26 yeah, that's true 05:42:38 our body can process a few naturally-occuring trans-unsaturated fats 05:43:38 Still, one often hears statements about fats that can be only explained by 1) Who gives the statement has absolutely no clue about what they are talkin about. 2) The statement is just plain disinformation. 05:43:53 Or intentional attempt to mislead the public... 05:46:56 Wonder what is efficency of conversion of linolic acid into archadonic acid in the body... Is it real bad like ALA->EPA/DHA conversion or way better than that? 05:47:38 Ilari: do you understand why trans fats are bad for you? 05:50:25 Oh, and techno trans fats don't occur alone. Hydrogenation also produces dihydrovitamin-K1 from vitamin K1. Little is known about that compound, but the little that is known is chock full of red flags... 05:54:18 Ilari: I repeat my question 05:55:23 Nope, the biochemical basis of why trans fats are unhealthy could be rather interesting reading... 05:56:00 -!- cheater99 has joined. 05:59:24 -!- cheater99 has quit (Read error: Connection reset by peer). 06:01:35 Hmm... Eldaic acid (the infamous trans fat) has the double bond in position 9 (and most well-known desaturase acts on just that position)... 06:02:45 desaturating position 6 would create C=C-C-C=C group (which is somewhat unstable). 06:15:33 -!- cheater99 has joined. 06:18:48 -!- cheater99 has quit (Read error: Connection reset by peer). 06:35:02 -!- cheater99 has joined. 06:38:51 -!- cheater99 has quit (Read error: Connection reset by peer). 06:54:59 -!- cheater99 has joined. 06:56:25 -!- oerjan has joined. 06:58:11 -!- cheater99 has quit (Read error: Connection reset by peer). 07:00:43 "For your Consideration, The Firms of Dutton & Riverhead Books of New York City, Publishers of Ken Follett, Darin Strauss, David Rees, and the RZA, Present in the English Language: A Further Compendium of Complete World Knowledge in "The Areas Of My Expertise" Assembled and Illumined by Me, John Hodgman, A Famous Minor Television Personality*, Offering More Information Than You Require On subjects as Diverse As: The Past (As There Is Always 07:00:43 More of It), The Future (As There is Still Some Left), All of the Presidents of the United States, The Secrets of Hollywood, Gambling, The Sport of the Asthmatic Man (Including Hermit-Crab Racing), Strange Encounters with Aliens, How to Buy a Computer, How to Cook an Owl, And Most Other Subjects, Plus: Answers To Your Questions Posed via Electronic Mail, And: 700 Mole-Man Names, Including Their Occupations." 07:00:49 *Formerly a Former Professional Literary Agent and Professional Writer, AKA "The Deranged Millionaire" 07:00:52 Now there's a title. 07:04:13 pikhq: i only know of it due to hodgman's association with joco and the list of hobo names 07:14:00 -!- cheater99 has joined. 07:14:20 How difficult would it be to port zzo38's MegaZeux stuff to Flash? 07:17:10 -!- cheater99 has quit (Read error: Connection reset by peer). 07:32:59 -!- cheater99 has joined. 07:37:06 -!- cheater99 has quit (Read error: Connection reset by peer). 07:41:16 -!- sexygirl153 has joined. 07:41:19 -!- sexygirl153 has quit (Client Quit). 07:42:06 cal153: THAT WAS TOO OBVIOUS 07:42:34 launched 2 copies of mirc by mistake >.> 07:43:06 you mean that is your _actual_ alternative nick? very well then. 07:43:21 indeed so 07:53:01 -!- cheater99 has joined. 07:55:03 Hmm... New set of IPv4 allocation reports is coming soon... 07:57:26 -!- cheater99 has quit (Read error: Connection reset by peer). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:45 Hmm... 2.96x/8... 08:09:43 IPv6 depletion is still at 0.027%. Wonder if they manage to deplete even one IPv6 block next year (oh, and there are 506 of them free currently)... 08:13:03 -!- cheater99 has joined. 08:16:34 -!- cheater99 has quit (Read error: Connection reset by peer). 08:18:17 -!- Gracenotes has joined. 08:18:22 elliott: Build system weirdness: http://p.zem.fi/bow4 -- the actual link failure is because on some systems just having "gio-2.0" is not enough to pull in gthread fluff, so libs also needs "gthread-2.0"; but it fails in a bit funny way. 08:18:39 With V=1 it fails the way you'd expect, with the failing link step last and no extra fluff after. 08:19:54 At least no weird header / library incompatiblities. 08:22:49 I think a quoting thing is involved. 08:23:06 Corresponding useful.make snippet: 08:23:08 define do 08:23:09 echo '$(SPACE)$(SPACE)$(1)$(TAB)$(2)'; \ 08:23:09 $(strip $(3)) || ( \ 08:23:09 exit=$$?; \ 08:23:09 echo ' (command was: $(strip $(3)))'; \ 08:23:09 exit $$exit \ 08:23:11 ) 08:23:13 endef 08:24:20 And it ends up executing: echo ' LINK _build/mcmap'; cc [..] || ( exit=_build/cmd.o _build/console.o [..]; echo '...'; exit xit ) 08:25:26 Yes, just stupidly quadruplicating the $$s into $$$$s makes it work. 08:26:10 I'm assuming some double-expansion there somewhere; maybe once on the definition and once on use? 08:26:26 (GNU Make 3.81.) 08:32:31 -!- cheater99 has joined. 08:35:50 -!- cheater99 has quit (Read error: Connection reset by peer). 08:51:33 -!- cheater99 has joined. 08:57:47 -!- cheater99 has quit (Read error: Connection reset by peer). 09:11:57 -!- cheater99 has joined. 09:14:29 -!- cheater99 has quit (Read error: Connection reset by peer). 09:19:01 -!- Sgeo has quit (Read error: Connection reset by peer). 09:30:35 -!- cheater99 has joined. 09:37:50 -!- cheater99 has quit (Read error: Connection reset by peer). 09:53:31 -!- cheater99 has joined. 09:57:31 -!- cheater99 has quit (Read error: Connection reset by peer). 10:02:49 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 10:05:33 -!- MigoMipo has joined. 10:13:31 -!- cheater99 has joined. 10:14:45 -!- cheater99 has quit (Read error: Connection reset by peer). 10:30:01 -!- cheater99 has joined. 10:34:05 -!- cheater99 has quit (Read error: Connection reset by peer). 10:46:21 -!- MigoMipo has quit (Remote host closed the connection). 10:50:05 -!- cheater99 has joined. 10:54:25 -!- cheater99 has quit (Read error: Connection reset by peer). 11:10:33 -!- cheater99 has joined. 11:14:52 -!- cheater99 has quit (Read error: Connection reset by peer). 11:29:33 -!- cheater99 has joined. 11:34:02 -!- cheater99 has quit (Ping timeout: 245 seconds). 11:45:40 -!- cheater99 has joined. 11:48:19 -!- cheater99 has quit (Read error: Connection reset by peer). 11:48:59 -!- Vorpal_ has joined. 11:49:28 -!- Vorpal has quit (Ping timeout: 272 seconds). 12:04:33 -!- cheater99 has joined. 12:10:24 -!- cheater99 has quit (Read error: Connection reset by peer). 12:25:59 -!- cheater99 has joined. 12:30:10 -!- cheater99 has quit (Read error: Connection reset by peer). 12:33:52 -!- Vorpal_ has changed nick to Vorpal. 12:45:59 -!- cheater99 has joined. 12:48:39 -!- cheater99 has quit (Read error: Connection reset by peer). 13:04:33 -!- cheater99 has joined. 13:08:26 -!- cheater99 has quit (Read error: Connection reset by peer). 13:14:39 "* Rewrote Leaf Decay for the seventeenth time, and as a result.. 13:14:39 * .. fixed HUGE fps drops in single player 13:14:39 * .. fixed players getting spammed with data and getting disconnected in SMP 13:14:39 * .. felt like a sexy programming god 13:14:39 * Fixed the item dupe bug in SMP" 13:14:55 I'm not sure that third subitem there is a good sign, but at least it's (supposedly) fixed now. 13:17:21 -!- Phantom_Hoover has joined. 13:19:51 Has MC been patched to a working state yet? 13:22:45 That's what they say. 13:22:52 "* Rewrote Leaf Decay for the seventeenth time, and as a result.. 13:22:52 * .. fixed HUGE fps drops in single player 13:22:52 * .. fixed players getting spammed with data and getting disconnected in SMP 13:22:52 * .. felt like a sexy programming god 13:22:52 * Fixed the item dupe bug in SMP" 13:22:54 I'm not sure that third subitem there is a good sign, but at least it's (supposedly) fixed now. 13:23:00 This was just before your join. 13:23:46 Oh, and the beta 1.1 update he posted was further updated to 1.1_01 because 1.1 "contained a bug where no text worked anywhere in the game because the newly made font.txt didn’t make it into package when building.." 13:24:00 But such issues are the norm when you're dealing with a "sexy programming god". 13:24:20 NOTCH: the man with the ego to dwarf Wolfram's. 13:24:35 -!- cheater99 has joined. 13:25:00 "Of course, that font bug doesn't happen except when testing through the live system.. Hold on.." -- "Yes, I ran the game right after it went on the live system, and saw the bug =)" 13:25:18 http://en.wikipedia.org/wiki/Infinity_%28MMOG%29 13:25:19 So he doesn't have any sort of system in place that'd test the binary blob he pushes into the world-wide updates. 13:25:23 How clevur. 13:26:14 "groooan, updated to 1.1_02, mandatory for client and server, fixing the container not opening with empty hands bug [7 minutes ago via web]" 13:26:15 I like the fact that it has 4 awards despite the fact that only a combat simulator with next to no of the promised features has been released. 13:26:42 fizzie, this is the first time I've ever seen you actually mocking someone. 13:27:40 -!- cheater99 has quit (Read error: Connection reset by peer). 13:27:51 It's like the sort of stuff I do with mcmap, except that I have an audience of, uh, four, instead of 855793. 13:43:35 -!- cheater99 has joined. 13:46:45 -!- cheater99 has quit (Read error: Connection reset by peer). 13:52:58 -!- ais523 has joined. 14:02:59 -!- cheater99 has joined. 14:06:45 -!- cheater99 has quit (Read error: Connection reset by peer). 14:12:58 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 14:14:22 hmm, a site seems to have replaced an article with an entirely different article about a vaguely similar subject, in response to it being slashdotted 14:15:36 -!- Phantom_Hoover has joined. 14:16:58 -!- j-invariant has joined. 14:21:38 oerjan, as a mathematician, what is your opinion on whether 0 \in N? 14:23:07 it differs by mathematical subject 14:24:33 0 is round and N is all acute-angly, I don't thing the former belongs in the latter. 14:24:51 -!- cheater99 has joined. 14:25:36 Incidentally, I wonder if programmers in general (due to the whole zero-indexing thing) are more likely to put 0 in N than a random sampling of other people. Maybe someone should do a poll. 14:25:48 -!- cheater99 has quit (Read error: Connection reset by peer). 14:29:54 -!- elliott has joined. 14:32:30 00:25:26 Yes, just stupidly quadruplicating the $$s into $$$$s makes it work. 14:32:38 fizzie: But I just /replaced/ them with $$s from $$$$s. 14:32:50 Fair enough though. 14:33:00 It's because I use do both in template rules and real rules. TODO: fix. 14:34:00 23:04:13 pikhq: i only know of it due to hodgman's association with joco and the list of hobo names 14:34:04 the hobo names are in the previous book. 14:34:45 23:41:16 --- join: sexygirl153 (~cal@c-24-4-207-72.hsd1.ca.comcast.net) joined #esoteric 14:34:45 23:41:19 --- quit: sexygirl153 (Client Quit) 14:34:47 2004 repeats itself 14:36:41 06:25:36 Incidentally, I wonder if programmers in general (due to the whole zero-indexing thing) are more likely to put 0 in N than a random sampling of other people. Maybe someone should do a poll. 14:36:49 fizzie: I think 0 should be in N but accept that it usually isn't 14:40:17 $ make 14:40:18 LINK_build/mcmap 14:40:18 cc: _build/cmd.o: No such file or directory 14:40:18 cc: _build/console.o: No such file or directory 14:40:18 cc: _build/main.o: No such file or directory 14:40:18 cc: _build/map.o: No such file or directory 14:40:20 cc: _build/protocol.o: No such file or directory 14:40:22 cc: _build/world.o: No such file or directory 14:40:24 I, uh, regret adding OBJDIR support. 14:43:27 -!- cheater99 has joined. 14:45:26 fizzie: Oh well, actually turns out $$ -> $$$$ works perfectly for everything. Pushed it without realising I'd not done anything else, sorry if that causes conflcits. 14:46:53 -!- cheater99 has quit (Read error: Connection reset by peer). 14:46:56 when things don't work, add more dollars 14:47:02 what escaping format is there that requires quadrupling of dollars? 14:47:40 ais523: GNU Makke 14:47:42 *Make 14:47:46 ais523: GNU Make metaprogramming 14:47:47 to be exact 14:48:35 heh, you're trying to show GNU make TC? 14:48:40 ais523: no 14:48:45 ais523: this is actual code used in an actual project :) 14:48:49 boring 14:48:52 ais523: well, the latter because ... I bugged fizzie until he let me put it in 14:49:06 ais523: /boring/? I've practically proved GNU make TC /accidentally/ in the process of using it 14:49:14 which, if you've ever used GNU make, you will understand is not very usual 14:49:26 define clean-recipe 14:49:26 $(foreach x,$(to-clean),$(call do,RM,$(objdir)/$(x),rm -f $(objdir)/$(x)) 14:49:26 ) 14:49:27 $(call do,RMDIR,$(objdir),rmdir $(objdir) 2>/dev/null || true) 14:49:27 endef 14:49:27 clean: ; $(clean-recipe) 14:49:32 that newline before the ) is *required* :) 14:49:40 and you must define clean like that ... I'm still not sure why 14:49:54 I'm more used to portable make than GNU make 14:50:03 ais523: define c-program-body 14:50:03 to-install += $(1) 14:50:03 to-clean += $(1) $(2:.c=.o) $(2:.c=.d) 14:50:03 $(objdir)/$(1): $(2:%.c=$(objdir)/%.o) Makefile | $(objdir) ; \ 14:50:03 $(call do,LINK,$(objdir)/$(1),$(cc.link) -o $(objdir)/$(1) \ 14:50:04 $(2:%.c=$(objdir)/%.o)) 14:50:05 $(if $(cleaning),,-include $(2:%.c=$(objdir)/%.d)) 14:50:07 endef 14:50:09 ## $(call c-program,foo,foo.c bar.c) -- compiles foo.c and bar.c into foo 14:50:11 c-program = $(eval $(call c-program-body,$(strip $(1)),$(strip $(2)))) 14:50:13 ais523: GNU Make is SO MUCH MORE FUN. 14:50:39 the actual escaped thing, btw: 14:50:40 define do 14:50:40 @echo '$(SPACE)$(SPACE)$(1)$(TAB)$(2)'; \ 14:50:40 $(strip $(3)) || ( \ 14:50:40 exit=$$$$?; \ 14:50:40 echo ' (command was: $(strip $(3)))'; \ 14:50:42 exit $$$$exit \ 14:50:44 ) 14:50:46 endef 14:53:10 elliott: I do hope it's a GNUmakefile and not a Makefile! 14:53:21 Deewiant: You hope wrong :-) 14:53:38 Deewiant: The Makefile itself is perfectly portable to any make with, uh, "include file" and "$(call foo,bar,baz)". 14:53:53 Deewiant: But if it doesn't have its own implementation of useful.make built in, well, I even included a GNU Make one for you. 14:54:04 See? It's kindness. 14:54:18 Do most makes have that stuff? :-P 14:54:49 Deewiant: Only decent ones. Sadly, there are no decent makes. 14:54:51 Incidentally, I'm not entirely certain the deps work; "make ; touch world.h ; make" => Nothing to be done for `all' for the latter case. 14:55:14 fizzie: Hmm 14:55:39 Another objdir-related thing, I believe. 14:55:42 _build/cmd.d: /usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h world.h 14:55:42 _build/console.d: /usr/include/glib-2.0/gio/gzlibdecompressor.h console.h world.h 14:55:43 _build/main.d: common.h protocol.h console.h map.h world.h 14:55:43 _build/map.d: /usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h world.h 14:55:43 _build/world.d: /usr/include/glib-2.0/gio/gzlibdecompressor.h map.h world.h 14:55:47 fizzie: Indeed X-D 14:55:51 Since "make objdir=. ; touch world.h ; make objdir=." rebuilds the necessary bits. 14:55:54 fizzie: I swear this thing was perfect and un-buggy before I added objdir. 14:55:57 Do you believe me? :P 14:56:19 Hmm, am I going to have to set cc's output here? 14:56:50 Well, you can give it an objprefix. 14:56:58 Oh, wait. 14:56:58 Hmm. 14:57:37 Wait. 14:57:42 fizzie: Why would it be objdir-related? 14:58:07 I mean, the CWD in all the .d files' context is the mcmap source tree root. 14:58:12 So the filenames are *right*. 14:58:12 I just based that judgement on the fact that objdir=. makes it work. 14:58:19 hey I think I solved the problem elliott but I have to go 14:58:22 Oh, sure, I agree, I'm just confused. 14:58:24 j-invariant: awesome! how? 14:58:48 well it seems a bit weird but I define equality of objects in terms of equality of morphisms 14:58:58 j-invariant: that sounds really nice 14:59:06 so A = B is defined as having f : A -> B, g : B -> A, with fg = id and gf = id 14:59:30 I haven't typed it up yet but we'll see! 14:59:44 j-invariant: wait 14:59:48 j-invariant: that's just a bijection! 14:59:54 j-invariant: that's what i've been telling you to do all along :-) 15:00:10 oh geez you are right 15:00:17 yeah I remember yuo saying that.. 15:00:36 well, at least i know i'm a perfect, infallible genius now 15:00:37 well I think it will work anyway bbl 15:00:41 lol 15:01:03 it makes the definition of a category simpler too 15:01:06 -!- j-invariant has quit (Quit: leaving). 15:02:24 OH 15:02:27 world.o: world.c \ 15:04:21 exit: 1: Illegal number: 4957exit 15:04:26 $L"~!O_)!_)£O_)@~F:! 15:04:53 -!- cheater99 has joined. 15:04:59 Heh, sounds like it got the $$ PID there now. :p 15:05:04 yep 15:05:11 fizzie: you know what? I'm making two nearly-identical do functions 15:05:18 one with $$, one with $$$$ 15:05:36 I'm not going to look inside useful.make anwyay. 15:05:40 GOOD 15:05:42 nobody should 15:05:44 -!- FireFly has joined. 15:05:54 it's the skeleton in your beautiful build system's closet 15:09:01 -!- cheater99 has quit (Read error: Connection reset by peer). 15:14:44 fizzie: Hey, hMod is actually beta'd; https://github.com/traitor/Minecraft-Server-Mod/ 15:14:46 Just not as a release. 15:14:51 Quick! Get ineiros intoxicated! 15:15:14 https://github.com/traitor/Minecraft-Server-Mod/blob/master/build.xml Ahahahant. 15:15:55 [Minecraft-Server-Mod] http://bit.ly/gRtj3z Erik Broes - Added item.getDamage()/item.setDamage() 15:15:57 I like the last one. 15:21:58 You might consider adding also "-MT $(objdir)/$*.d" in addition to "-MT $(objdir)/$*.o" (you can use multiple -MTs), that way it should then rebuild the depfile also when any of the headers change. (Currently I think it only rebuilds deps when the associated source file itself changes.) 15:23:04 $(objdir)/%.d: %.c Makefile | $(objdir) 15:23:04 $(call do,DEP,$<,$(cc.invoke) -M -MG -MT $(objdir)/$*.o -MF $@ $<) 15:23:07 fizzie: Hmm. 15:23:12 fizzie: Yes, you are right, I will do that. 15:24:17 Indeed. 15:24:41 fizzie: "make clean all" still doesn't work, though, because make is astonishingly braindead. 15:25:28 As for hMod, I'm not sure even an intoxicated ineiros would care enough to start testing pre-release things. 15:25:56 I have a theory that ineiros is Notch. 15:26:22 fizzie: Can you make very, very sure he's not Swedish? 15:26:46 Well, he doesn't *look* Swedish, but of course you never know. 15:26:51 -!- cheater99 has joined. 15:27:44 fizzie: Hell, I've seen *you* (well, in a dream), and you didn't look Finnish! 15:28:06 Then again, I'm pretty sure you were on the blacker side of brown. So maybe not very accurate. 15:28:22 Also you wore sunglasses and were bald. 15:28:39 Wait, were you bald or did your hair just look like thick fibre-optic cables... 15:28:46 Oh, for heaven's sake, I don't know. 15:28:46 -!- cheater99 has quit (Read error: Connection reset by peer). 15:28:56 I'm not sure if there's any sort of product to test for Swedishness. 15:29:10 Incidentally, http://www.amazon.com/Parent-Child-Testing-Product-Pack/dp/B002A6HXL6/ -- "Parent Child Testing Product, 5 Pack", $10035.98. 15:29:19 fizzie: Erm, Lutefisk : Norwegians :: ? : Swedes? 15:29:56 fizzie: Man, that parent child testing product looks judgemental. 15:41:59 pikhq: I just had a horriterrible idea. 15:42:48 pikhq: You know the GNU System thing you mentioned? 15:46:51 -!- cheater99 has joined. 15:50:01 -!- cheater99 has quit (Read error: Connection reset by peer). 15:52:55 -!- sftp has joined. 15:59:52 elliott: Surströmming. 16:00:00 oerjan: Right. 16:00:04 fizzie: Feed him that and see if he survives. 16:00:33 elliott, only a very small group of swedes like surströmming 16:00:33 oerjan: just checking, you being a lutefisk fan, Surströmming isn't something delicious? :D 16:00:35 (I know what it is.) 16:00:45 Vorpal: nope all of you 16:00:50 elliott, the majority think it is weird and wouldn't touch it. 16:00:58 http://upload.wikimedia.org/wikipedia/commons/7/7c/Surstroemmngsklaemma.png every swede eats this every day 16:01:26 elliott, then I'm no Swede by your definition. Nor is some 90% of the rest of population 16:01:39 Vorpal: of course 16:01:51 elliott, it is a local speciality in parts of north Sweden. 16:02:07 elliott: by all i've read, surströmming is far more vile than lutefisk 16:02:07 (and always beware of that) 16:02:13 oerjan, quite 16:02:28 oerjan, and lutfisk occurs in Sweden to. 16:02:41 oerjan, almost none like it these days 16:02:59 northern sweden sounds like crazy land 16:04:35 elliott, quite 16:13:17 What the heck is that (and I hope that milk is whole milk...)? 16:14:12 Ilari: It's DISGUSTINGNESS 16:14:26 "Surströmming with potatoes, onion on tunnbröd." 16:14:59 Ilari: Surströmming itself is, of course, rotting fish. 16:15:09 Because god dammit, we're Swedes, we're vikings, we're HARDCORE. 16:15:36 [[In April 2006, several major airlines (such as Air France and British Airways) banned the fish citing that the pressurized cans of fish are potentially explosive. The sale of the fish was subsequently discontinued in Stockholm's international airport. Those who produce the fish have called the airline's decision "culturally illiterate," claiming that it is a "myth that the tinned fish can explode."[6]]] 16:15:41 I support cultural illiteracy. 16:15:54 Or at least pretend that way... Well, in the past, real hardcore people existed... 16:26:30 The lagging in mc is somewhat fixed 16:26:34 i get 40 fps now 16:35:03 oerjan: as the premier wiki sysop, you should slap cpressey for decreasing the sum total of the world's happiness significantly: http://esolangs.org/w/index.php?title=Talk:Brainfuck&curid=1138&diff=20541&oldid=20540 16:37:12 erm 16:37:16 "In addition, no well-defined algorithm has yet been devised that a universal Turing machine is demonstrably incapable of executing." --[[Esolang:Turing machine]] 16:37:18 that's just stupid 16:37:35 either we define well-defined algorithm = list of instructions in a TC language, and it's a tautology 16:37:53 or "determine whether a Turing machine halts" is a well-defined algorithm that a UTM is demonstrably incapable of executing 16:37:54 -!- wareya has quit (Read error: Connection reset by peer). 16:38:02 someone rewrite that 16:38:51 -!- wareya has joined. 16:49:35 Because god dammit, we're Swedes, we're vikings, we're HARDCORE. <-- only some madmen up north 16:50:11 What the heck is that (and I hope that milk is whole milk...)? <-- why do you hope that 16:51:45 elliott, hm I just had the mad idea of a brainfuck supercompiler 16:52:23 Bah, if it's not a specialiser I don't acre. 16:52:24 *care. 16:52:50 elliott, well, I was thinking along the lines of partial evaluation 16:52:52 (Okay, so supercompilers do usually do something close to specialisation.) 16:52:57 Vorpal: Specialisation == partial evaluation. 16:53:29 elliott, but it seems rather tricky for bf, since the alias analysis is basically a hell, and figuring out previous state is not always that easy. 16:53:53 elliott, yes quite 16:54:18 elliott, I never claimed those were different. 16:54:25 Yes, well, the more abstract a language it is the better you can compile it (dynamism is a separate factor that makes compilation more difficult; it just happens that more abstract languages tend to be more dynamic). 16:54:36 So it's hardly surprising that compiling BF well is near-impossible. :p 16:54:42 elliott, mutable state makes it a lot trickier too 16:54:59 Vorpal: Well, mutable state is effectively an anti-abstraction and an element of dynamism, so yeah. 16:55:13 elliott, oh *looks up what dynamism is exactly* 16:55:24 Vorpal: Dynamic languages are very dynamic. 16:55:29 Vorpal: Changing things at runtime = dynamism. 16:55:38 ah 16:55:45 Vorpal: Scheme's ability to redefine + is dynamism; it makes Scheme harder to compile efficiently, since you can't inline calls to it. 16:55:54 elliott, is "things" here code? or data too? 16:55:58 Anything. 16:56:20 Smalltalk's extreme late binding is dynamism; it makes Smalltalk harder to compile because you have to do a lot of table lookups by strings, rather than hardcoding memory locations to load, store, and jump to. 16:56:31 elliott, by /strings/? 16:56:44 Vorpal: Yes; "foo abc: 3" looks up "abc:" in foo and passes it 3. 16:56:55 Vorpal: If you change the abc: method, and call whatever method did "foo abc: 3", it will get the new method. 16:57:06 This is because everything is looked up at the latest possible moment -- right when it's used, i.e. late binding. 16:57:06 elliott, can't you compile identifiers into some table and then use that integer to look up 16:57:08 Which is dynamism. 16:57:11 like an atom table 16:57:16 Vorpal: Sort of. 16:57:18 Well, yes. 16:57:21 But it's not quite that simple. 16:57:24 Anyway, it was just an example. 16:57:25 hm 16:57:28 yeah 16:57:42 elliott, but doing it by strings sound incredibly stupid 16:57:51 sounds* 16:57:53 Well, yes; I forget how most Smalltalks do it. 16:58:20 elliott, now you made me imagine a bashtalk (along the lines of bashforth) 16:58:49 Vorpal: BTW, the insane idea I was going to tell to pikhq but he's not here: GNUGNUGNU/Linux. It's Linux, and then everything on top of that that can feasibly be GNU *IS*. That means even GNU inetutils. Additionally, everything is done The GNU Way, no matter how impractical that is. 16:58:54 Vorpal: For instance, all package management will be done with GNU stow. 16:59:15 elliott, what does inetutils contain now again 16:59:19 Vorpal: ping etc. 16:59:22 ah 16:59:24 elliott, stow? 16:59:32 Vorpal: inetutils is maintained by the *wonderful human being* called ams. 16:59:34 You may have heard of him. 16:59:51 Stow is: 16:59:52 "GNU Stow is a program for managing the installation of software packages, keeping them separate (/usr/local/stow/emacs vs. /usr/local/stow/perl, for example) while making them appear to be installed in the same place (/usr/local)." 16:59:54 elliott, the tla sounds familiar, that is all 17:00:06 Its design is based on Carnegie-Mellon's Depot. 17:00:07 http://www.gnu.org/software/stow/manual.html 17:00:28 elliott, the separate thing reminds me of gobolinux and such 17:00:41 Yes, well, it's a much older concept than that. :p 17:00:47 GNU Stow is positively bleh. 17:00:55 pikhq: Heh, have you actually used it? :) 17:00:57 Vorpal: Anyway ams is an IRC jackass and troll. 17:01:12 Vorpal: Who is probably rms' secret lover or something. 17:01:16 elliott: Yes; the GNU System testing images used it. 17:01:36 pikhq: They're HURD-based, though, aren't they? 17:01:45 elliott, not familiar 17:01:46 elliott: IIRC, it's intended to be replaced with Stowfs. 17:01:48 elliott: Yeah. 17:01:54 elliott, I think I heard ams in some other context 17:02:03 pikhq: See, mine is meant for Linux, because then we can SPREAD THE GOSPEL to other platforms. 17:02:12 oh duh 17:02:14 pikhq: Anyway stow seems like a "good idea" to me apart from the implementation details. 17:02:15 Vorpal: ? 17:02:20 pikhq: i.e. using symlinks. 17:02:29 elliott, of course it sounded familiar. AMS. 17:02:34 Vorpal: heh 17:03:02 elliott, which seems to be rather overloaded btw 17:04:10 elliott: Yeah, stow's actually quite alright aside from implementation details. 17:04:17 Vorpal: once he asked me a question about C99 and I first quoted POSIX to him, which he said didn't count because it wasn't C99, I pointed out that it was unlikely to contradict the C standard (IIRC it was the behaviour of free(NULL) or something); I then found a C99 draft standard /newer/ (2007) than C99 itself, and quoted that to him, and he said that a draft didn't count since it wasn't C99, I said I don't have a copy of C99 to hand but I doub 17:04:17 t it changed since C99 was published, and then he called me a liar because C99 wasn't published in 2007, and then when I said he was being awfully rude to someone who went out of their way to help, he /ignored me. 17:04:23 elliott: Which is why stowfs was a WIP. 17:04:23 That was before I knew who he was. 17:04:26 Pleasant chap. :p 17:04:41 elliott, heh 17:04:51 Vorpal: (Later he started whining at the distro maintainers to make all software in the repositories Free As In FSF because it was an issue of "respect" for your users.) 17:05:00 Vorpal: (Apparently he doesn't actually /use/ the distro.) 17:05:09 elliott, as for POSIX not contradicting, true. However POSIX may define something that C99 leaves undefined. That happened. 17:05:16 Vorpal: Although he did ask about progress on a MIPS port, so he could run it on some netbook by the same company as rms' TOTALLY-FREE netbook. 17:05:18 (The one he uses.) 17:05:26 ~Free As In FSF netbook buddies~ 17:05:32 elliott, as for POSIX not contradicting, true. However POSIX may define something that C99 leaves undefined. That happened. 17:05:34 yes, but still. 17:06:08 elliott, also, I have run into systems that don't follow the C standard on free(NULL). I think they were all ancient or embedded though 17:06:19 Of course, even if it is a behavior unique to POSIX, that's still quite important. 17:06:22 Vorpal: yes, but he was very explicit about wanting C99's take. 17:06:40 After all, most everything but Windows these days are going to give credence to POSIX. 17:06:47 s/are/is/ 17:06:51 Vorpal: but just lol @ calling someone who quotes a draft of a post-1999 revision to C99 a liar for implying that C99 was published in 2007. 17:07:06 indeed wtf 17:07:25 pikhq: Anyway, the GNU Operating System seemingly does not include an init system. 17:07:29 At least from scanning http://www.gnu.org/software/software.html. 17:07:57 elliott: 404! 17:07:57 elliott, what does hurd use then? 17:08:06 pikhq, remove the final dot 17:08:09 elliott: But anyways, I'm reasonably certain it uses init. 17:08:16 Vorpal: Um, HURD? I think it just uses a shell script. 17:08:19 Or SysV. 17:08:22 elliott: 404! 17:08:22 elliott, ah 17:08:23 What's 404? 17:08:33 elliott: HTTP Error 404! 17:08:35 elliott, it is file not found 17:08:42 pikhq: wat. 17:08:44 http://www.gnu.org/software/software.html 17:08:45 ^ not 404 17:08:46 (note: totally not what you meant) 17:09:00 pikhq, as I said, you probably copied the ending dot on the line 17:09:06 elliott: The . at the end got into the link because it's entirely valid! 17:09:14 pikhq: Your client sucks donkey dick! 17:09:25 pikhq, quite, but I made my client apply a heurstic at that. 17:09:26 (Technical term for clients that are too correct about URLs.) 17:09:48 elliott: Your URL is a giant donkey dick! 17:09:51 Maybe I should have my site have all pages end in .html. 17:09:57 Deewiant: *.html.. 17:10:01 Deewiant: I terminated your sentence for you. 17:10:17 http://www.gnu.org/software/mdk/ oh man so useful 17:10:39 I love how some of the software links just go to empty directories. 17:10:59 http://www.gnu.org/software/myserver/ GNU HTTPD! 17:11:18 elliott: Well, it's not like GNU only hosts things useful to the GNU system. 17:11:27 pikhq: No, but that's a list of GNU packages. 17:11:36 i.e. the bulk of the platonic ideal GNU Operating System. 17:11:38 elliott: Here's what it takes to get it into GNU proper: give a FSF copyright assignment. 17:11:43 And most of it is USELESS. 17:11:46 pikhq: Well, yes. 17:12:00 But still. That list is an amazing glob of worthlessness, with like 10 useful things in it. 17:12:08 Yeah, well. Yeah. 17:12:25 hmm, wtf? reddit shows a link on /r/programming/ at +1009 with 852 comments 17:12:32 ais523: what about it? 17:12:39 but when I click at it, it's on +0 with 3 comments 17:12:47 ais523: cache... but still, wow. 17:12:52 that's quite a cache effect 17:12:52 "reddit is under heavy load right now, sorry. Try again in a few minutes." 17:12:53 http://www.gnu.org/software/mdk/ oh man so useful <-- missing ending dot! 17:13:05 I'll try again later 17:13:22 http://codu.org/projects/trac/ggc http://codu.org/projects/trac/gggc 17:13:24 hmm, it's actually happening to every link there 17:13:27 http://codu.org/projects/trac/ggggc 17:13:32 The displayed karma is random. 17:13:32 I think I've figured out Gregor's versioning system. 17:13:36 "Duplicate the first letter." 17:13:54 "Prepend g." 17:14:14 Deewiant: Maybe the first one was called c, and it collected everything, not just garbage. 17:14:35 What was the acronym for that, anyways? 17:14:45 "Gregor's General-purpose Generational Garbage Collector." 17:14:54 Ah, right. 17:14:58 The Gs! 17:15:19 [# Never ever EVER have interior pointers. Ever. EVER. GGGGC relies on all GC pointers being to the base of an object.]] 17:15:22 *[[# 17:15:32 Gregor: Any way to relax that? I really want to use GGGGC for this project, but ... 17:15:40 hmm, it'd be simpler still to have a GC that required all pointers to be NULL 17:15:46 then you could just garbage-collect everything on the heap 17:15:46 Gregor: What if the interior pointers are always to the start of a given element in a structure? 17:15:53 Gregor: (And I can specify which element at pointer-creation-time.) 17:16:21 elliott: Interior pointers make garbage collection both painful and slow. 17:17:12 elliott, why do you need interior pointers? 17:17:13 pikhq: Let's put it this way: the only kind I really need is "__typeof__(s->x) *foo = gc_pointer_to(s, offsetof(s, x));". 17:17:17 Vorpal: 'cuz I do. 17:17:22 Well. 17:17:23 Maybe. 17:17:52 elliott, just keep an extra pointer around? 17:17:55 elliott, to the base I mean 17:18:50 hmm, wait 17:18:55 would this even disallow (some_string + n)? 17:19:13 elliott, well duh 17:19:21 right 17:19:24 any way to relax that Gregor? :P 17:19:39 elliott, some_string[n] 17:19:46 no, I need a fix in the _GC_. 17:19:49 Vorpal: note: strings will always have their lengths encoded before them. 17:19:58 so the GC will always know where a string ends, even just having a pointer to the start 17:20:07 * Phantom_Hoover returns. 17:20:15 elliott, elliott: Interior pointers make garbage collection both painful and slow. 17:20:28 elliott, and the GC will always know the end anyway 17:20:37 same as free() does know the end of the allocated block 17:20:41 Vorpal: Yes, but in this case it's /one special case/. I realise it won't be as fast, I just need it decent. 17:20:45 It'll still beat boehm. 17:21:11 elliott, why is indexing so hard? 17:21:13 just wondering 17:21:28 Vorpal: The question is not "do I need (s+n)?", it's "can I make GGGGGGGGGGGGC support (s+n)?". 17:21:45 elliott, do you know /why/ it is slow to suppor that? 17:21:50 Yes 17:21:52 support* 17:21:53 *Yes. 17:21:54 stupid numpad 17:22:12 elliott, what XD 17:22:27 I pressed the . numpad key, but numlock was off so it did [del], which did nothing since i was at eol. 17:22:44 I used the numpad . because I had already completed the sentence, and moved my hands away without realising. 17:22:48 So it was the closest .. 17:22:50 *".". 17:22:52 my numpad seems broken btw 17:23:02 somehow , -> 0 and 0 -> nothing 17:23:08 I don't like my numpad, it gives me bad habits. 17:23:09 wtf 17:23:21 I only recently started being able to type numbers with the normal row. 17:23:43 I think I might just use boehm. 17:23:44 elliott, only time I use numpad is for navigation in various games 17:23:47 It's good enough. 17:24:03 elliott, interior pointers is an option for boehm iirc. And it slows it down even more 17:24:21 Vorpal: Presumably on by default due to the commonness of (s+n)... 17:24:56 elliott, I think it is a global-variable-before-GC_init() style of option 17:24:59 not sure 17:25:08 Vorpal: Default. 17:25:13 pikhq, hm 17:25:14 Right. 17:25:18 pikhq, that's stupid 17:25:22 Not really. 17:25:22 Vorpal: It tries not to break behavior of anything that's valid C. 17:25:26 (s+n) is very common. 17:25:49 Though it will gleefully change various forms of undefined behavior, which can break programs. 17:25:51 pikhq, but if you were doing manual memory management you would need a pointer to the base anyway, or you couldn't call free() on it 17:28:49 Vorpal: I mean using (s+n) temporarily, calling a function with it. 17:28:53 Not throwing away s completely from the program. 17:29:01 (What, would GGGGGGGGGGGGGGGGGGGGGGGGC support that?) 17:29:49 elliott: I'm not sure GGGGC is conservative. 17:30:05 ... No, wait, it'd have to be. 17:30:18 I think? 17:30:19 pikhq: It isn't. 17:30:25 Okay, then. 17:30:26 pikhq: You have to do all reads and writes through a macro because Gregor is a masochist. 17:30:31 Well, a sadist. But he uses it himself. 17:30:33 So masochist too. 17:30:43 There is no freaking way you're getting internal pointers to work without much pain and agony. 17:30:59 pikhq: yes, but is string_function(s+n) okay, as long as you keep a hold of s in the calling function? 17:31:08 In other news: bsnes's unsupported game list is down by one. 17:31:34 elliott, if the parent function still holds a pointer to it? 17:31:39 Vorpal: Yes. 17:31:44 elliott: Does it move objects around in memory? 17:31:53 And, of course, rewrite pointers? 17:31:58 If it doesn't, then that will work. 17:32:03 elliott, then I don't see why it is an issue if you also have an internal pointer 17:32:43 It should be fine then. 17:32:59 So can OGGGGGGGGGGGGGGGGGGGGGGGGGGC collect garbage in a separate thread, too? :p 17:33:09 elliott, O? 17:33:21 elliott, also define each of those Gs you just used 17:33:30 ;P 17:34:04 OGGGGGGGGGGGGC was just a reference to that OGC name thing. 17:34:13 elliott, OGC? 17:34:18 Uh, http://www.eatliver.com/img/2008/3028.jpg. 17:34:26 UK government organisation. 17:34:33 ah 17:35:00 [[A spokesman for OGC said: “It is true that it caused a few titters among some staff when viewed on its side, but on consideration we concluded that the effect was generic to the particular combination of the letters OGC - and it is not inappropriate to an organisation that’s looking to have a firm grip on Government spend.”]] 17:35:09 "and it is not inappropriate to an organisation that’s looking to have a firm grip on Government spend." 17:35:27 elliott, yeah wtf about that 17:35:38 Vorpal: It's called a joke. 17:35:54 elliott, is it really that far fetched 17:35:57 if so ugh 17:36:04 Vorpal: "that far fetched"? 17:36:06 It's bloomin' obvious. 17:41:57 back 17:42:06 elliott, I guess I must have used a bloom filter then 17:42:16 (okay, bad pun) 17:45:32 -!- Sgeo has joined. 17:45:48 -!- Mathnerd314 has joined. 17:47:59 -!- j-invariant has joined. 17:54:26 -!- oerjan has quit (Quit: Good night). 18:15:19 elliott? 18:16:39 hi 18:17:47 this isomorphism notion is Ob -> Ob -> Type, rather than -> Prop. Do you think that matters? I could redefine what an equivalence relation is to allow Type instead of Prop 18:18:01 j-invariant: yeah i don't think it matters 18:18:05 j-invariant: Coq Prop is rather restricted IMO 18:18:35 I just don't want to go another 300 lines and realize I made a mistake 18:19:45 elliott: and what about equality of maps? should f = g be in Prop or Type? 18:20:53 j-invariant: I think if one thing is in Type all of them should be 18:21:01 j-invariant: but, is it possible to make the isomorphism -> Prop by restricting it? 18:21:04 if not, eh, it doesn't matter 18:21:14 I end up putting sets into Type all the time, no reason not to put Props there 18:21:19 coq doesn't have proof irrelevance anyway 18:21:59 it's just for equality of functors, we have F=G meaning that Ff=Gf but Ff : FX -> FY and Gf : GX -> GY 18:22:13 so we need a way to cast FX <-> GX 18:22:55 yeah 18:23:08 it seems fine to me 18:23:46 Gregor: is extensive generic (void *) hackery ok with GGGGGGGGGC? 18:38:11 elliott: I don't see how any GC can manage that, if it actually collects things 18:38:20 what about storing pointers in files and reading them back later? 18:38:46 ais523: actually, I just mean having things like linked lists with (void *) elements 18:40:24 hmm, today I learnt that most new Windows software with an auto-updater installs its executables the equivalent of suid root 18:40:29 to avoid UAC prompts when it updates 18:40:33 that... defeats the point 18:40:33 heh 18:48:40 -!- OoS has joined. 18:48:43 Hi :-) 18:48:53 hi 18:49:54 I'm just clearing out some old computer books to make space for a few new ones :-/ 18:54:10 OoS: BUY MORE BOOKSHELVES 18:54:42 oh, I just keep them mixed with a bunch of other books in a pile on the floor 18:54:48 or occasionally, in other people's bedrooms 18:55:01 (general rule of house physics: people are loath to throw out anything in their own bedroom, you can exploit this fact) 18:55:14 I have 14 shelves of books (mostly programming / computing / caving) 18:55:38 Plus more in boxes / cupboards :-( 18:55:42 ais523: that's brilliant 18:55:48 ais523, hah 18:56:12 ais523: now progress to Joey Hess stage -- use that for all possessions, and live in yurts 18:56:23 ais523: wouldn't work, my girlfriend loves to throw stuff out 18:56:27 optimal debian-developing hobo status achieved 18:56:44 elliott, who is that guy 18:57:05 Vorpal: http://kitenet.net/~joey/blog/ 18:57:08 Vorpal: he wrote the debian-installer 18:57:11 among other things 18:57:21 Besides, I'm getting rid of stuff I likely won't need. Assembly programming books for 68000, 6809... 18:57:26 he lives in a yurt. http://kitenet.net/~joey/yurt/ 18:57:35 elliott, oh the guy with palm investigation? 18:57:38 Vorpal: yeah 18:57:45 Vorpal: his living expenses are flat 0, IIRC 18:57:54 he lives in a yurt. http://kitenet.net/~joey/yurt/ <-- as in, permanently? 18:57:57 Vorpal: yes. 18:58:11 elliott, somewhere warm I assume? or a hoax? 18:58:24 Dunno how warm it is. Probably relatively. 18:58:28 not a hoax, no, he really lives like that 18:58:43 Erdős famously did the "hobo mathematician" thing. 18:58:59 elliott, uh, does he have a more normal house as well? 18:59:04 Vorpal: No. 18:59:05 fizzie, oh? I didn't know that 18:59:10 Vorpal: As I said, his expenses are roughly 0. 18:59:17 Mortgage or rent = expense. 18:59:30 elliott, aiee! http://kitenet.net/~joey/blog/pics/snowyurt.jpg 18:59:34 Vorpal: "Possessions meant little to Erdős; most of his belongings would fit in a suitcase, as dictated by his itinerant lifestyle. Awards and other earnings were generally donated to people in need and various worthy causes. He spent most of his life as a vagabond, traveling between scientific conferences and the homes of colleagues all over the world." 18:59:37 ... "He would typically show up at a colleague's doorstep and announce "my brain is open," staying long enough to collaborate on a few papers before moving on a few days later. In many cases, he would ask the current collaborator about whom he (Erdős) should visit next. His working style has been humorously compared[by whom?] to traversing a linked list." 18:59:37 Vorpal: you're a swede, be more hardcore. 18:59:51 elliott, well, we have thick walls for a reason 18:59:58 Vorpal: VIKING 18:59:59 elliott, it's around -25 C outside now 19:00:02 Vorpal: VIKING 19:00:06 elliott, I'm not :P 19:00:48 It's -12.75 in Otaniemi now (it's far easier to browse to outside.hut.fi than to amble to the thermometer in the window), but they've predicted -15 to -25 for christmas. 19:01:23 Vorpal: oh ofc, I forgot ikiwiki 19:01:26 Vorpal: he wrote ikiwiki too 19:01:42 The yurt looks cool. I've slept in worse places. 19:02:04 it would be kinda cool to do the hobo thing, but i need an internet connection... and heating 19:02:11 well 19:02:14 a good internet connection, rather 19:02:28 He's got both :-P 19:02:30 Meh, outside.hut.fi should really respond to finger requests, that's how all the cool internet-connected coffee pots / cola vending machines / etc. used to be connected. 19:02:32 elliott, see image on the page you linked 19:02:50 fizzie, what XD 19:03:02 Deewiant: I see no evidence of a /good/ internet connection 19:03:11 elliott: I see no evidence of a bad one 19:03:17 elliott, ethernet 19:03:25 It's America, isn't it? 19:03:28 So it's gonna be like 2 Mbit. 19:03:29 heh 19:03:31 elliott, who knows where the ethernet goes 19:03:38 elliott, presumably to a *HOUSE*? 19:03:39 Into a dead badger, obviously. 19:03:41 Running Linux. 19:03:49 Vorpal: I think it's some way away from a friend's house or something. 19:03:55 elliott, hm 19:03:57 I don't have his living situation exactly memorised, that would be creepy :P 19:04:05 Vorpal: See for example the finger RFC (1288) chapter 2.5.5 "Vending machines": http://www.ietf.org/rfc/rfc1288.txt 19:04:05 fizzie, -12? that's nothing 19:04:22 slow to load 19:04:50 IETF tends to be. There's faster places to get RFCs from, of course. 19:05:11 fizzie, wait a second.... this isn't april 19:05:14 fizzie, so wtf 19:05:27 Fingering vending machines sounds a bit niche. 19:05:36 It's what all the cool universities had. 19:06:06 "Vending machines should NEVER NEVER EVER eat money." <-- this make it sound like a joke rfc (it is too unrealistic) 19:06:14 I think I had one Internet book from the pre-web era, it listed a few fingerable vending machines around the world. 19:06:20 (also, doesn't fit into a serious rfc, would use MUST then) 19:06:33 fizzie, XD 19:07:17 It's very useful to see how many bottles of cola there are in some California university's cs department's corridor X. 19:07:19 "Sound implementation of Finger is of the utmost importance. Implementations should be tested against various forms of attack. In particular, an RUIP SHOULD protect itself against malformed inputs. Vendors providing Finger with the operating system or network software should subject their implementations to penetration testing." 19:07:30 uh, that last sentence sounds.... 19:07:54 (seriously, was finger named to maximise uncomfortableness of using the names?) 19:10:26 Earnest named his program after the idea that people would run their fingers down the who list to find what they were looking for. 19:10:47 The earliest Finger RFC (742) from 1977 is pretty non-modern; port numbers in octal and it isn't really much of a protocol at that point. 19:12:29 why would anyone write port numbers in octal? 19:13:07 "ICP to socket 117 (octal, 79. decimal) and establish two 8-bit connections." 19:15:12 -!- j-invariant has quit (Quit: leaving). 19:15:20 -!- micahjohnston has joined. 19:15:26 Earnest named his program after the idea that people would run their fingers down the who list to find what they were looking for. 19:15:27 Seriously? 19:15:31 That's the stupidest etymology ever. 19:16:26 fizzie, ICP? 19:17:14 Vorpal: I don't really know what it refers to; I strongly suspect it's not the modern web-cache thing. 19:17:29 RFC123 speaks of ICPs. 19:17:33 fizzie, I don't know the modern meaning either 19:17:50 ICP was on ARPANET 19:18:03 http://en.wikipedia.org/wiki/Network_Control_Program 19:18:24 ah 19:18:53 Right. Anyway, the ICP socket number 79 does match the current Finger TCP port number, so I guess they just reused that. 19:19:34 And maybe ICP socket numbers used to be in octal, then. 19:21:23 One wonders if some day this "HTTP" thing will sound equally quaint and historical. 19:21:44 One would hope so. 19:22:18 You had to use your hands? etc. 19:22:35 elliott, that sounds even dirtier! 19:22:42 Video Game Boy #1: You mean you have to use your hands? 19:22:43 Video Game Boy #2: That's like a baby's toy! 19:22:49 (Thank imdb for the really-useful character names.) 19:23:06 elliott, what movie is it from? 19:23:19 Bttfii. 19:23:26 Pronounced "butt-fee", clearly. 19:23:50 elliott, oh back to the future 19:23:52 right 19:23:56 was ages since I saw that 19:24:08 Number two. :p 19:24:17 elliott, also ages ago I saw it 19:24:27 elliott, was it 3 in total? I don't remember 19:24:29 Hahah: http://www.theasylum.cc/product.php?id=174 Titanic II. 19:24:35 Is there anything The Asylum won't push out? 19:24:43 Vorpal: Yes. Unless they've made Bttfiv. 19:24:58 elliott, "the asylum"? 19:26:00 Vorpal: The people who brought you such quality films as "The Da Vinci Treasure", "Pirates of Treasure Island", "Snakes on a Train", "AVH: Alien vs Hunter", "Transmorphers", "The Terminators" and "Paranormal Entity". 19:26:10 Also Sir Arthur Conan Doyle's Sherlock Holmes with ROBOTIC DINOSAURS. 19:26:11 elliott, snakes on a train? 19:26:15 http://en.wikipedia.org/wiki/The_Asylum 19:26:17 Vorpal: Yes. 19:26:19 elliott, also I never heard of any of these movies 19:26:25 Vorpal: No -- but you may have heard of 19:26:30 The Da Vinci Code 19:26:33 Pirates of the Caribbean 19:26:35 Snakes on a Plain 19:26:39 Alien vs Predator 19:26:40 s/Plain/Plane/ 19:26:41 Transformers 19:26:42 elliott, yes, the first is a book and suchs 19:26:43 Terminator 19:26:44 sucks* 19:26:46 and Paranormal Activity. 19:26:47 yes of course 19:26:53 elliott, not the last one 19:26:57 but all the other ones 19:27:07 Right. Now observe: http://upload.wikimedia.org/wikipedia/en/3/32/Quartermainskulls.jpg 19:27:39 And now you understand what The Asylum does. 19:27:41 elliott, what an obvious rip off 19:27:43 (Well, probably.) 19:27:59 elliott, how come lucasfilm didn't sue them? 19:28:01 Vorpal: Yes, but to be fair, the Sherlock Holmes film that http://en.wikipedia.org/wiki/Sherlock_Holmes_%282010_film%29 rips off did NOT have exploding dinosaurs, as far as I am aware. 19:28:03 elliott, or is it parody? 19:28:09 Vorpal: Not parody... well, sort of. 19:28:44 Vorpal: It's hard to distinguish the two sides close to the line dividing super-blatant, super-terrible ripoffs and super-blatant, super-terrible ripoffs that make fun of themselves. 19:29:01 But god dammit, ROBOTIC DINOSAURS. 19:29:24 "As to where this film fits into the Canon of Sherlock Holmes is unclear." --Wikipedia 19:29:29 XD 19:29:39 In the BEST PLACE. 19:30:37 -!- Phantom_Hoover_ has joined. 19:30:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 19:30:43 "Not to be confused with Sherlock Holmes (2009 film)." I was confused there a bit; I saw some Sherlock Holmes trailers somewhere, and wondered how I managed to miss exploding dinosaurs. 19:31:02 fizzie: UNFORTUNATELY YOU SAW ONLY THE TRAILERS FOR THE INFERIOR MOVIE 19:31:12 Seriously, I would rather watch the terrible one with exploding dinosaurs. 19:31:16 The inferior movie looked quite silly too. 19:32:02 I mean, purely based on the trailer it looked like it was more explosions and action and so on, whereas from the "Sherlock Holmes" part I was expecting something, you know, that'd have involved, I don't know, thinking. 19:32:35 Trailers tend to concentrate on explosions and action. 19:33:11 I always dislike trailers for that reason 19:33:12 fizzie: From what I've heard it was actually a pretty good film. 19:33:20 It was. 19:33:21 fizzie: Supposedly they slowed some of the fight sequences to fit more thinking in there. :p 19:33:33 You want a bad trailer? 19:33:34 http://www.youtube.com/watch?v=ND7tU8JME_g 19:33:36 Try Office Space's. 19:33:38 That's true, and Holmes is a pretty active guy even in the books; it just looked somewhat overdone. 19:34:11 "...comes a movie about people who go to work" You know, I don't recall Office Space involving very much going to work at all. 19:35:26 elliott, Sherlock Holmes actually got pretty good writeups according to WP/ 19:35:32 Phantom_Hoover_: fizzie: From what I've heard it was actually a pretty good film. 19:35:34 The Asylum's version. 19:35:38 Oh. 19:35:39 Awesome. 19:36:05 "CIA sets up Wikileaks Task Force. They're calling it WTF." 19:36:28 elliott, .. are they trying to put the entire plot in the trailer? 19:36:33 elliott, where is that from? 19:36:39 Sgeo: Pretty much. 19:36:40 Vorpal: reddit. 19:36:44 http://www.washingtonpost.com/wp-dyn/content/article/2010/12/21/AR2010122105498.html 19:36:47 "Officially, the panel is called the WikiLeaks Task Force. But at CIA headquarters, it's mainly known by its all-too-apt acronym: W.T.F." 19:36:58 elliott, XD 19:38:03 Conclusion: the Asylum's film titles are utterly hilarious. 19:40:44 TRANSMORPHERS 19:41:39 There is something seriously messed up with my graphics drivers. 19:42:31 well then fix it 19:42:32 duhhh 19:42:59 -!- wareya has quit (Ping timeout: 240 seconds). 19:43:08 Gregor: YO ARE YOU THERE 19:43:15 Never 19:45:15 Gregor, websplat on google results pages is weird 19:45:35 -!- wareya has joined. 19:45:51 Vorpal: That's how Google does images. 19:46:03 Gregor, ah 19:46:24 Gregor: Does SPS actually work at all? 19:46:30 OK, correction. 19:46:42 Gregor: How easy would it be to port SPS to non-apt? 19:47:08 And, um, oh, it looks like you've thrown out all the code... which was in D. 19:47:17 SO I GUESS THE QUESTION IS IRRELEVANT 19:48:42 Gregor, the flags on http://wiki.inspircd.org/Main_Page don't get the proper yellow border 19:48:44 any idea why? 19:49:09 Gregor, they don't seem to use !important 19:50:43 ...What on earth has that got to do with Gregor. 19:51:43 elliott, websplat... 19:51:49 Ohh. 19:52:24 elliott, it was mentioned less than 1/5th of a screenful above 19:58:10 Apparently, Vorpal assumes that everyone has the same setup as him 20:02:13 -!- OoS has left (?). 20:04:40 Gregor: PING. 20:06:15 ugh, my OS makes it unnecessarily ugly to write haskell code 20:06:39 Sgeo, well, even on a small monitor it would be in the same screenfull 20:06:54 elliott, how do you mean? 20:07:15 Vorpal: all the OS' structures are strict, and it has several unsafe operations due to them being immutable 20:07:33 Vorpal: for instance, a directory can't be a lazy tree accessed purely, because it can change, and it's evaluated strictly 20:07:42 meaning efficient directory-traversing haskell code has to iterate, impurely 20:08:49 elliott, hm, what does directory traversing haskell code do now normally? 20:10:03 elliott, what OS? 20:11:56 Phantom_Hoover_: any :) 20:11:58 Vorpal: Be ugly? 20:12:07 Vorpal: Do a lot of IO, basically. 20:17:24 Blargh 20:17:41 Gregor: what 20:17:56 elliott: What was that latest ping, the one that wasn't discovering that SPS killed itself :P 20:19:22 Gregor: Nothing at all, I just wanted to see you try and answer my question that is now a non-question. 20:19:26 elliott, ever finished adventure? 20:20:14 elliott, as in. /usr/games/adventure 20:20:18 Vorpal: nope 20:20:23 Vorpal: navigation and spelunking 20:20:25 my two mortal enemies 20:20:39 elliott, ... why do you play minecraft then? 20:21:01 Vorpal: CUBE 20:21:02 elliott, anyway, I find adventure somewhat hard to navigate in, simply because it is textual. I can't really visualise where I am thus 20:34:07 -!- Sasha2 has joined. 20:34:08 -!- Sasha has quit (Ping timeout: 264 seconds). 20:39:53 In other news, the repeal of DADT has been signed into law. 20:40:31 Why do I say "In other news"? 20:40:48 Dunno. Did you or I start saying it first? 20:41:07 I dunno. 20:43:52 wow, someone made a page with what xyzzy did in hundreds of different text adventure games 20:44:15 -!- calamari has joined. 20:47:57 -!- sebbu has quit (Read error: Connection reset by peer). 20:48:03 -!- calamari_ has joined. 20:48:37 -!- calamari has quit (Ping timeout: 245 seconds). 20:48:45 -!- sebbu has joined. 20:48:49 -!- calamari_ has changed nick to calamari. 20:52:38 -!- calamari has quit (Read error: Operation timed out). 20:56:31 Phantom_Hoover_: http://lumeniki.referata.com/wiki/Mercan 20:56:48 http://lumeniki.referata.com/wiki/Merca "Songist" 20:56:54 Note insanity. 20:57:45 http://lumeniki.referata.com/wiki/Bodily_excretion 20:57:49 MY FAVOURITE BODILY SECRETIONS 20:58:51 -!- Phantom_Hoover__ has joined. 21:01:06 Phantom_Hoover__: 21:01:06 http://lumeniki.referata.com/wiki/Bodily_excretion 21:01:06 MY FAVOURITE BODILY SECRETIONS 21:01:15 Doodie, nightwater, smells, nosechewiw and misstrasauce. 21:01:43 That is creepu. 21:01:46 *creepy 21:01:48 And insane. 21:01:57 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds). 21:02:15 -!- calamari has joined. 21:03:00 That IS creepu. 21:03:30 The most crêpe thing I have ever seen. 21:03:40 Previous versions had "Menstrual blood" 21:03:49 At the top? :p 21:03:58 Sadly, no :( 21:04:00 Aww, no, he hates menstrual blood. 21:04:07 Sgeo: Sadly? Are you like, a fan of menstrual blood? 21:04:22 Phantom_Hoover__: http://lumeniki.referata.com/wiki/Jesus_%28carnation_Norm_Chomskywalker%29 21:04:27 what 21:04:31 Ah, yes. 21:04:48 This guy doesn't seriously think he's a yeti, does he? 21:04:55 That has cut deeply through his vaguely-manifested sanity. 21:05:01 He loves Noam Chomsky. 21:05:11 I like Chomsky. 21:05:21 Phantom_Hoover__: http://lumeniki.referata.com/wiki/EncyclopediaDracula apparently ed gives you diarrhoea 21:05:25 He really likes Chomsky. 21:05:29 In the dramatica sense, not the... other sense. 21:05:34 Somebody add Santorum to that bodily-excretions list :P 21:05:40 http://lumeniki.referata.com/wiki/Norm_Chompsky 21:05:44 HOW MANY CHOMSKY ARTICLES ARE THERE 21:05:52 http://lumeniki.referata.com/wiki/Chomsky 21:05:53 elliott, FAR TOO MANY 21:06:04 Gregor: http://lumeniki.referata.com/wiki/Mostsade what 21:06:14 Gregor: But sandorum is only partly excretion! 21:06:19 Gregor: *santorum 21:06:23 Is there any way to get this guy some mental health help? 21:06:34 "Free software vs closed source" ;; rms would cry at this title 21:06:37 elliott: It's only partially /bodily/, it's all excretion in that it's excreted. 21:06:43 Sgeo: I like him just how he is 21:06:51 Gregor: You excrete lube? 21:06:53 Sgeo, the thing is, he's been showing some sanity lately. 21:07:19 I mean, actual, coherent, well-thought-out arguments. 21:07:19 elliott: Excreted just means that it comes out of the body, and after the acts that produce santorum, that's where it comes from :P 21:07:39 Is the Venn Diagram correct? 21:07:43 Gregor: Well, sure. ARGUABLY 21:08:00 Clearly we must EXPERIMENT to determine for sure. Who volunteers?! 21:08:29 Sgeo, what Venn diagram? 21:08:38 Phantom_Hoover__, the wiki logo 21:08:46 Does it display all possible combinations? 21:09:31 Gregor: So, how easy would a HYPOTHETICAL SPS IMPLEMENTATION be to port to non-APT? 21:09:32 Sgeo, that is... that is not a Venn diagram. I don't think it's *meant* to be a Venn diagram. 21:09:51 Phantom_Hoover__: http://lumeniki.referata.com/wiki/File:Dude.jpg it is dude 21:10:02 elliott: Most of SPS wasn't apt-related at all, it just used that to make guesses about versions. 21:10:02 You're not the phattest tom, really. 21:10:07 Gregor: And to install packages :P 21:10:29 That's more-or-less independent of SPS proper. 21:10:47 elliott, FUN FACT: that is a real picture of the King of the Dudes. 21:10:50 Gregor: Good; how long until SPS 2 is out. 21:10:56 Phantom_Hoover__: i.e. you 21:11:05 elliott: Seven billion years. 21:11:13 Gregor: Can I pay you to make it go faster? 21:11:17 elliott, no, some 19th-Centure New York socialite. 21:11:27 Centure? 21:11:28 *Century 21:11:29 elliott: Sure, you'll bring it down to three billion years. 21:11:29 "A journalist of the New York American, Blakely Hall, made Wall famous, proclaiming him in 1888 "King of the Dudes" for having won the "Battle of the Dudes" against Robert "Bob" Hilliard, another sartorial dude when, during the blizzard of 1888, he strode into a bar clad in gleaming boots of patent leather that went to his hips.[4] Nevertheless, some historians still consider it was Hilliard who won that dude battle.[8]" 21:11:36 Gregor: How much money for three weeks? 21:11:36 He's a centaur? 21:11:56 elliott: Sorry, there isn't enough money. 21:12:00 elliott, I love that quote. 21:12:14 elliott: It still needs to be based on SOME packaging system y'know :P 21:12:15 Gregor, let us suppose that there was enough money. 21:12:22 How much money would that be? 21:12:43 Phantom_Hoover__: Creating more money just decreases its value, the fundamental issue is that there's not enough /value/ in the universe. 21:13:07 Gregor, let us suppose there was enough value. 21:13:12 How much value would that be? 21:13:17 I would have said that the universe isn't large enough to store the smallest possible description 21:13:23 (In valunits). 21:14:07 Phantom_Hoover__: Sadly, the limitation of the speed of light prevents anyone from getting that much value to me in less than three weeks, and also if formed into a sphere, its radius would be greater than three lightweeks. 21:14:32 Gregor, let us suppose the speed of light was big enough. 21:14:38 How big would it have to be? 21:15:17 * Phantom_Hoover__ ponders the tactical mind of the guy who wrote the navy reserve expansion to Oolite. 21:15:18 Phantom_Hoover__: Changing the speed of light would be a fundamental enough change to the universe that value would reduce proportionally. 21:15:41 The tactics seem to be "let's fly VERY SLOWLY at the enemy until they come into radar range!" 21:16:19 Gregor, I don't want to associate fundamental constants any more today. 21:18:49 I spent a depressing amount of my life convincing my chemistry teacher that yes, changing the fine structure constant /would/ affect the rate of enzyme function. 21:20:21 Gregor: What would you estimate is the value of a brick of antigold? 21:21:00 Pretty damned valuable, but we couldn't store it, so it would be far more likely to destroy the Earth and therefore decrease overall global value. 21:21:43 Sure we could. I went to the frictionless pully store and got myself a vacuum bottle for it. 21:24:07 Gregor, let us suppose the value constant of the universe was big enough. How big would it have to be? 21:24:16 (it's dimensionless) 21:28:43 elliott: It still needs to be based on SOME packaging system y'know :P 21:28:47 You could just factor out the few functions it needs. 21:29:56 Phantom_Hoover__: Sadly, the limitation of the speed of light prevents anyone from getting that much value to me in less than three weeks, and also if formed into a sphere, its radius would be greater than three lightweeks. 21:30:02 Gregor: It does not matter that the money gets to you in 3 weeks. 21:30:06 Only that it is completed 3 weeks after it arrives. 21:30:50 Gregor: BTW, what is cunionfs that unionfs isn't 21:30:51 *? 21:31:21 -!- micahjohnston has left (?). 21:34:19 Vorpal: http://ishmodupdated.com/ 21:34:44 As a blind, retarded hamster I support this motion of equality. 21:35:10 elliott: cunionfs is a per-process union FS. Every process may see a unique union. 21:35:21 Gregor: Ahh. So it's Plan 9, implemented in FUSE. 21:35:27 Gregor: Yes? 21:35:39 *Plan 9's namespaces, but same thing :P 21:36:25 Pretty much. 21:37:00 It was just supposed to be the /usr-mounting part of SPS, the rest is what chooses what to union there, installs things, etc, but then I decided "blar" and din't reimplement the rest :P 21:37:15 Gregor: Hey, you should make it based on an arbitrary function rather than just getpid. 21:37:26 Gregor: That would be COOL. and impractical and COOL. 21:38:45 And impossible to do in FUSE. 21:38:52 The only reason it's possible with FUSE is that I have /proc 21:40:53 elliott: if a Slashes program ends with \, it simply stops. 21:40:58 tswett: Right. 21:41:07 Gregor: Is an FS kernel module so hard? :P 21:41:32 And //foo/ terminating immediately would be special behavior, it seems. 21:41:51 tswett: //foo/ infinite loops, no? 21:41:58 Right, I should think so. 21:42:00 elliott: I have no idea, I've never written any kernel code. 21:42:10 Gregor: ask ais523, his students are writing a KEYLOGGER! 21:42:14 despite this not being possible with vanilla linux 21:42:16 Oooooooooh 21:42:18 Ahhhhhhhhh 21:42:37 Gregor: And despite them being so incompetent as to write size_t for sizeof because Eclipse completed size as that. 21:42:42 Gregor: (Note: They are Masters' students.) 21:43:10 I figured with that kind of incompetence they had to be PhD students. 21:43:41 Gregor: In the UK we optimise incompetence on all levels. 21:49:25 Gregor: So is cunionfs actually stable? :P 21:52:51 Gregor: I, uh ... 21:52:55 That doesn't sound good. 21:55:21 Last I checked cunionfs itself was pretty solid. 21:56:47 Gregor: Can I call it cuneiformfs? 21:56:59 I will not stop you from renaming it :P 21:57:06 Also, "last I checked" -- has it got less stable since then? :P 21:57:24 It's possible that the FUSE APIs have changed in incompatible ways :P 21:58:00 Gregor: How old is it exactly? X-D 21:58:10 Older than time itself. 21:58:51 20 months apparently 21:58:53 Gregor: 2009 -- older than time itself. 21:58:55 heh 21:59:15 06:05 Changeset [3:3045e8c02021] by Gregor Richards 21:59:16 cunionfs/cunionfs.c: Support for symlinks. 21:59:30 I can see that by the end of its development it had already been feature-complete for quite a while! 21:59:34 Specifically, for a whole two revisions. 22:01:52 Gregor: Maybe I'll just use stow :P 22:02:05 I really don't care. 22:02:17 Gregor: But how will you get my royalty money 22:02:19 *money? 22:03:31 In principle SPS is like stow, minus the fact that stow has a rather "static" view of the installed directory. SPS just lets multiple users see different views. Since that's almost always useless in "non-enterprise" settings anyway, do whateverTF you want. 22:03:38 What's cunionfs? 22:03:54 Gregor: But I /am/ an Enterprise and I want to give you five billion monies. 22:04:12 Phantom_Hoover__: The only component of SPS I ever ported to C :P 22:04:19 SPS? 22:04:27 Phantom_Hoover__: cunionfs is a unionfs that lets each process see its own union. 22:04:34 Phantom_Hoover__: SPS is dead. Long live SPS. 22:04:37 cunionfs is leftist scum, basically. 22:04:46 elliott, do I get five billion monies for writing gravity? 22:04:48 Down with the unions! 22:04:54 Phantom_Hoover__: No. You get six! 22:05:08 Phantom_Hoover__: Did you ever do collision? 22:05:16 elliott, in a sense! 22:05:42 If two point masses (i.e. black holes) collide, the system divides by zero and crashes. 22:05:59 Just like in real life! 22:06:00 Phantom_Hoover__: I ... I really hope our universe works like that. 22:06:25 *note: I am unsure if singularities actually "exist" in GR. 22:06:57 In the sense that they are either entirely in your past or in your future, so they can't really do anything. 22:08:14 Phantom_Hoover__: Make it instead blow everything up. 22:08:17 Crashing is so boring. 22:08:35 elliott, blowing things up? That'll be 20 gajillion moneys. 22:08:42 Phantom_Hoover__: http://ishmodupdated.com/ 22:08:43 *monies 22:09:02 elliott, did you do that? 22:09:10 No. 22:09:13 http://isthatcherdeadyet.co.uk/ 22:09:23 A correlation! 22:09:30 But what is the causal relation... 22:09:45 Well, Thatcher wasn't dead, then hmod wasn't updated. 22:10:00 So logically, killing Thatcher will update hMod. 22:10:05 Shouldn't it be no, not not. 22:10:41 Oh, it's "NOT YET". 22:10:44 My zoom broke it. 22:11:16 elliott, sooo. 22:11:25 Phantom_Hoover__: ? 22:11:35 Remind me how to do the collision mechanics for non-trivial shapes. 22:12:29 Phantom_Hoover__: Make a rectangle. Collide that rectangle. 22:12:34 Make the rectangle slightly smaller than the object. 22:12:40 Gregor can attest to this method's effectiveness. 22:12:53 WebSplat's collision detection is the suck 22:13:00 Except for working well, yes, yes it is :P 22:13:22 Also, surely compiled CL can be a little more decadent than JS? 22:13:52 Gregor: Please explain to Phantom_Hoover__ that rectangle collision is how the world works. 22:14:04 Er, "the world" being "2D games" 22:14:07 *games". 22:14:23 elliott, the big problem with that is that it handles rotation horribly. 22:14:41 Phantom_Hoover__: Why? 22:14:49 You just rotate the rectangle. 22:15:04 elliott, and then how do you actually *check* if there's a collision? 22:15:32 Phantom_Hoover__: "Does this rectangle intersect with this other rectangle?" 22:16:40 elliott, I can't think of an efficient way to do so that doesn't extend to arbitrary polygons. 22:16:53 Or at least triangles and ellipses. 22:17:28 http://en.wikipedia.org/wiki/Collision_detection#Video_games 22:17:33 Phantom_Hoover__: You don't tilt the rectangles, obviously. 22:17:38 You still keep the lines straight. 22:17:54 You just rotate the rectangle and interpolate from that to make another rectangle; at least that's what /I'd/ do. 22:17:55 You just rotate the rectangle. 22:17:59 Yes, yes, yes, shut up. 22:18:12 Phantom_Hoover__: Of course you could do arbitrary collision and it'd probably work... but surely there are more worthwhile things to spend CPU time on. 22:18:29 So basically we're back to "split shape up into lots of little rectangles and use rectangle method." 22:18:40 Nope. 22:18:44 One rectangle per shape. 22:18:52 And when you tilt? 22:18:54 But, ehh, I may be wrong, ask Gregor :P 22:19:01 Or rotate? 22:19:05 Phantom_Hoover__: Tilt the rectangle; from that, compute another, straight-edged rectangle, with the approximate same dimensions. 22:19:15 (You can do this without actually tilting the rectangle, obviously.) 22:19:31 elliott, I do not understand what you are saying at all. 22:19:38 Some sort of diagram is in order. 22:19:52 Phantom_Hoover__: Don't worry -- I don't either. 22:20:41 elliott, last thing: do we want accurateish physics or speed? 22:21:09 Phantom_Hoover__: If we can get 30fps with semi-decent hardware (i.e. better than our laptops) I'm happy with it. 22:21:13 And that's in Amber, not Lisp. 22:21:25 Phantom_Hoover__: (I think programming the whole world to a 30 Hz tick is the simplest.) 22:21:46 Phantom_Hoover__: But, eh -- do general polygon collision. 22:21:48 It might just be fast enough. 22:22:01 I don't know how to do that! 22:22:05 Phantom_Hoover__: But if bullets are objects too, then we might be looking at thousands of objects at once :P 22:22:07 Phantom_Hoover__: So figure it out! 22:22:09 That's basically how this got started! 22:22:12 Phantom_Hoover__: Okay fine. 22:22:15 Phantom_Hoover__: Do it any way you want. 22:22:18 Or just google :P 22:22:27 Phantom_Hoover__: http://gpwiki.org/index.php/Polygon_Collision 22:22:28 Gregor, how would you do this. 22:22:34 Complete with broken images, but there you go. 22:22:43 -!- Gracenotes has quit (Remote host closed the connection). 22:22:46 [[In order to prevent embarrassing situations where game objects move right through each other without even noticing, a lot of games utilize some kind of collision detection system. ]] 22:23:11 Pshht. 22:23:32 elliott, FWIW, bullets I think would be done as a specialised kind of object. 22:23:58 With negligible mass or something, and when they hit something they disappear. 22:24:10 Phantom_Hoover__: http://www.flipcode.com/archives/Basic_Collision_Detection.shtml 22:24:16 http://pogopixels.com/blog/2d-polygon-collision-detection/ 22:25:04 elliott, I think we should kind of map out what game we want to make. 22:25:16 Phantom_Hoover__: I HAVE NO IDEA YOU'VE REELED ME INTO THIS WITH GRAVITY 22:25:27 i.e. multiplayer deathmatch or something a bit more lasting? 22:31:33 Gregor: Is there a way to use OGGGGGGGGGGGGGGGGC without having it automatically-pointer-typedef the defined structures and similar magic? 22:32:54 -!- Gracenotes has joined. 22:33:19 pikhq: You know about GCC nested functions, right? 22:33:42 nested functions are hilarious 22:33:49 I love the way they're implemented (read: not) 22:34:10 coppro: Right. Returning them is non-kosher, right? 22:34:15 elliott: very 22:34:19 elliott: they live on the stack 22:34:59 coppro: Hmm. Can one use __builtin_whatever to access gcc's implementation of Ayn Rand^W^WObjectivist-C blocks from a non-Shrugging-Atlas language? 22:35:07 elliott, IIRC the GCC manual says "you can pass the function pointer if you want, but really bad things will happen if you call it after the parent function's stack frame has exited." 22:35:10 coppro: Those copy, I think. 22:35:18 elliott: blocks? 22:35:28 no, those have their own fun 22:35:33 coppro: Meaning? 22:35:54 elliott: their implementation is different 22:36:01 coppro: Precisely. 22:36:05 a __block variable IIRC is actually heap-allocated 22:36:07 coppro: Can I access their implementation outside of Objective-C? 22:36:10 and ref-counted 22:36:12 elliott: -fblocks 22:36:13 I don't care how ugly or difficult it is. 22:36:19 coppro: Does that just ... enable them in regular C? 22:36:23 yes 22:36:29 coppro: Awesome. 22:36:33 coppro: (Is there a reason it isn't awesome?) 22:36:38 hrm wait 22:36:42 my gcc doesn't appear to have it 22:36:45 clang does though 22:36:48 That's a clang thing. 22:36:50 $ gcc -fblocks 22:36:50 gcc: no input files 22:36:56 OK, does gcc have anything similar? 22:37:00 I /can/ use clang ... if I have to. 22:37:05 pikhq: blocks are implemented in some GCCs aren't they? 22:37:19 elliott: gcc complaining about no input files trumps gcc complaining about other options 22:37:25 coppro: heh 22:37:35 oh right, Apple added them to clang directly, didn't they? 22:37:38 hell, sometimes gcc will compile before finding out it doesn't know what an option does 22:37:44 elliott: I had thought they were in some GCCs 22:37:46 I could be wrong 22:37:55 maybe 22:38:01 clang certainly does 22:38:04 http://www.google.com/search?q=objective-c+blocks+gcc&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:unofficial&client=iceweasel-a 22:38:04 and certainly has -fblocks 22:38:06 doesn't look like it 22:38:07 (also -foverloading) 22:38:14 coppro: maybe just in Apple's gcc? 22:38:18 elliott: maybe 22:38:24 but then the source would have to be available 22:38:27 so unlikely 22:38:40 coppro: basically I'm implementing a language that compiles down to "something gcc or clang (depending on which I pick) accepts" 22:38:44 (and Apple knows better than to piss RMS off by trying to avoid the GPL) 22:38:46 coppro: and it has lambdas. 22:38:47 so 22:38:55 blocks sound like a reasonable solution 22:39:05 right 22:39:13 it's just i'd rather stick with gcc for ... little reason other than being a luddite 22:39:15 (and overloading) 22:39:23 coppro: overloading for what? 22:39:27 elliott: functions of course 22:39:39 coppro: what, why would I enable that? 22:39:48 elliott: because I'm trolling you 22:39:56 coppro: :p 22:39:57 anyone know of a good Minecraft server? 22:40:09 Sasha2: yes, I know of one. 22:40:10 Sasha2: {} 22:40:16 so no 22:40:31 elliott, care to divulge this information with me? 22:40:33 coppro: I actually think my language might have function overloading, but it'd be done at the compiler level 22:40:38 Sasha2: nope! it's down anyway 22:40:49 coppro: I'm already doing my own mangling, for namespaces. 22:40:50 eh 22:40:57 elliott: yeah, I can't imagine a meta-compiler getting a lot out of -foverloading 22:41:26 coppro: I wonder how hard it is to add gdb support for a language. :) 22:41:37 (mostly just demangling, since I think #line and the like will already have gdb show the correct source lines) 22:41:38 elliott:I wonder too... :p 22:41:54 what about expression evaluation? 22:41:58 gdb can't do that for C 22:42:00 much less your language 22:42:20 coppro: let's just say that gdb has its own little language and leave it at that :P 22:42:30 coppro: I'm still using C structs and stuff... well, depends how much Gregor's GGGGGGGGC mangles structs 22:42:33 Gregor: how much does it mangle structs? 22:55:06 elliott, btw, for what it is worth, I talked with a prof doing compsci (the "mathy" kind of compsci even) some days ago, and I asked about the issue with what TC really is (mentioning the example with "one-program-only" languages). He said that the original definition of turing-complete really had no concept of input separate from the program, thus it being somewhat ill-defined. 22:55:37 Well, yes. But I don't see how you can formulate ais523's proof without some notion of input. 22:55:58 elliott, however, he argued that input should /probably/ be considered part of the program 22:56:27 Probably, yes, but I can't see how to word ais523's proof without it. 22:56:47 elliott, maybe the proof doesn't work then? 22:57:07 Vorpal: No, I mean, I can't see how you'd even /state/ the false proof without having a notion of input. 22:57:18 elliott, hm 22:57:33 I may be wrong. 22:57:42 Although you can maybe just rewrite: 22:57:49 elliott, this is about the price I presume? 22:57:56 run([P], I) as run([P(I)]). 22:58:02 Where [...] means "the language's equivalent of". 22:58:07 But how do you define that for brainfuck? or a CA? 22:58:09 Vorpal: The price of what? 22:58:13 Oh, the prize. Yes. 22:58:14 elliott, wolfram? 22:58:19 run([P], I) as run([P(I)]). 22:58:19 Where [...] means "the language's equivalent of". 22:58:19 But how do you define that for brainfuck? or a CA? 22:58:19 elliott, damn english 22:58:43 I don't know enough about the details of that prize proof to make any sort of constructive comment with regards to it 22:58:54 elliott, and brainfuck is easy. It is fine without IO. P'' 22:59:04 if that is what you meant 22:59:09 Vorpal: No, you do not understand at all. 22:59:24 elliott, then what did you mean? 22:59:38 Let's say our current form is run(P,I) where P is the program string and I is the input. Let [Q] denote a program string with semantics equivalent to the mathematical expression Q. 22:59:46 Now let's say the input-less run is run'. 22:59:49 We can rewrite: 22:59:56 run([P], I) as run'([P(I)]). 23:00:00 right 23:00:03 But I do not know how to define [f(x)] for e.g. Brainfuck, cellular automata, etc. 23:00:18 elliott, classical for brainfuck P(I) would be P+"@"+I iirc 23:00:22 With Brainfuck you'd have to do a lot of tape-tracking probably. 23:00:26 Vorpal: ...wow, you really don't understand at all. 23:00:32 elliott, oh you meant like that 23:00:34 right 23:00:35 Vorpal: If you do that why remove input from the equation? 23:00:39 You'd gain nothing. 23:01:21 hm true 23:02:01 elliott, for a CA, what would be P be? the initial state? The rules? 23:02:27 I presume the former, but then that seems the same as input 23:03:24 elliott, but yeah it is a tricky issue in general. 23:03:39 Vorpal: P would be the initial state. 23:03:41 The rules are the language. 23:03:46 initial state = program 23:03:47 right 23:03:51 True, CAs don't have input. 23:03:53 So bad example. 23:04:00 elliott, right, that is why I got confused 23:05:03 elliott, still, I don't think we can define TC sensibly with I/O. Imagine hooking a bf, somehow crippled to be non-TC (exactly how is not important for the concept), but able to do IO to something able to do TC calculations 23:05:46 elliott, what was Sgeo's bf thing called now again? 23:05:59 same idea basically (except with something more interesting) 23:06:13 elliott, still, I don't think we can define TC sensibly with I/O. Imagine hooking a bf, somehow crippled to be non-TC (exactly how is not important for the concept), but able to do IO to something able to do TC calculations 23:06:20 Sure; the combination of those two is TC. 23:06:25 elliott, yeah 23:06:29 TC + non-TC system = TC. 23:10:03 Vorpal: Unrelatedly, got a better way to write this C99 program? http://sprunge.us/BLMO 23:10:25 elliott, I'm not in a C-ish mode really atm. but I'll take a look 23:10:54 elliott, that's err... interesting 23:11:01 Indeed :P 23:11:22 Can't figure out how to do it in one assignment. 23:11:25 elliott, I never used variable length elements at the end of structs that were not only allocated dynamically 23:11:38 elliott, well you could probably do that 23:11:47 elliott, but I thought you wanted to avoid the extra struct 23:11:49 which is harder 23:11:54 Vorpal: Well, yes, I would rather. 23:12:08 TBH, I'll probably end up dynamically allocating it and copying the string in. 23:12:12 i.e. 23:12:19 ByteString *str = malloc(sizeof ByteString + 3); 23:12:22 str->length = 3; 23:12:24 str->alloc = 3; 23:12:32 strcpy(str->bytes, "abc"); 23:12:33 elliott, I got a hunch how to do it in one assignment. I have no clue how to do it without defining a new struct type 23:12:39 Vorpal: One assignment would be cool. 23:12:49 elliott, need to look something up for it 23:13:19 return (funge_vector) { .x = x, .y = y }; 23:13:24 elliott, you can do that sort of stuff 23:13:34 elliott, (btw, this makes splint go mad :D) 23:13:45 elliott, I suspect you could use the same general idea here 23:14:03 Vorpal: I already tried that. 23:14:07 Vorpal: You can't cast a struct. 23:14:09 That syntax is LIES. 23:14:19 Vorpal: You can't even do 23:14:22 ByteString x = { ... } 23:14:23 elliott, ah... so it's rather special cased syntax 23:14:27 because it thinks "abc" is non-constant 23:14:31 because the pointer could be ANYTHOMG!! 23:14:33 or something 23:14:35 elliott, err 23:14:40 seriously 23:14:40 If you want a pointer to something you need to allocate storage for it, you can't do that in one assignment 23:14:50 Deewiant: True. 23:14:52 elliott, you can assign a constant string, you just did: __str0_v = {3,3,"abc"}; 23:14:55 It's compiler output anyway. So no big deal. 23:14:56 Vorpal: nope 23:15:01 Vorpal: not with ByteString 23:15:04 Vorpal: VLAs are special 23:15:06 in the retarded sense 23:15:07 elliott, ah right 23:15:20 elliott, why not make it a char*, then you could I think 23:15:23 or cost char* 23:15:33 Vorpal: Because that's another memory allocation for no reason? 23:15:47 elliott, well, it would make an extra pointer 23:16:03 elliott, but the string would go in .rodata 23:16:18 ByteString *str = malloc(sizeof ByteString + 3); 23:16:18 str->length = 3; 23:16:18 str->alloc = 3; 23:16:18 memcpy(str->bytes, "abc", 3); 23:16:20 That should do. 23:16:22 elliott, suggestion: don't use C 23:16:24 str can be reallocated willy-nilly anyway. 23:16:27 Vorpal: it's COMPILER OUTPUT. 23:16:33 elliott, ah... 23:16:36 elliott, LLVM IR! 23:16:38 I'm not writing a compiler that compiles to Haskell, that would just be ridiculous. 23:16:40 Vorpal: Ugh 23:16:45 elliott, :P 23:16:47 Vorpal: I'm doing lambdas, you know! :p 23:16:52 elliott, compiling to haskell sounds fun 23:16:54 Vorpal: Which means I'm probably using clang, for its blocks-in-C support. 23:17:06 elliott, why not use pikhq's code for that 23:17:07 :D 23:17:20 didn't he even have closures 23:17:35 Vorpal: Not ones you could return. 23:17:40 Which is KINDA IMPORTANT 23:19:21 [[They never go back to fix bugs where they occur. They write new code to workaround the earlier failure case. I asked why they don't go back and just fix the bug where it happens. I was told "We can't go back and change it. That code's already done!" Their solution for insuring that failing code will be able to get to its workaround is the GOTO statement. GOTO is sprinkled liberally around other code, pointing to functions and routines that do n 23:19:21 ot exist yet. If, down the road, it is discovered that the old code has a bug, they find out which GOTOs exist in that code that do not point to anything yet, pick one, and write the workaround there.]] 23:19:24 They've clearly never heard of COME FROM. 23:20:38 I wonder if (Gregor) GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGC works with clang. 23:20:53 Vorpal: You know what everyone loves??? NAME MANGLING 23:28:22 elliott: You can return the nested function pointers so long as they don't close. 23:28:34 elliott, well... there are some reasonable cases for it. something like module_func_arity could work for some languages, except the one I know that would want that allows any valid atom for module and function name 23:28:42 elliott: Which is why my code did manual management of closing instead of using GCC's closing. 23:28:47 M2myM7awesome_function 23:29:05 Also, it's technically not guaranteed to work at all, it just happens to. 23:29:06 elliott, but what about names like is-int? 23:29:20 unsupported 23:29:27 elliott, so it isn't a scheme-ish 23:34:13 elliott, what language are you compiling? 23:34:30 amber 23:34:42 elliott, never heard of it, is it an esolang? 23:34:47 no 23:34:48 which sort of esolang the 23:34:50 elliott, ah 23:34:53 elliott, then what is it? :D 23:35:14 brb 23:39:28 Vorpal, it's his C-with-lambdas-and-GC. 23:41:36 Phantom_Hoover__, and something that needs name mangling too 23:45:55 Phantom_Hoover__: Not quite true. plz leave explainin' to me 23:46:29 elliott, waiting for that 23:46:44 elliott, going to sleep in 5-10 minutes 23:46:53 Vorpal: Yes, yes. 23:46:54 I was busy. 23:46:55 Okay, so. 23:47:19 Vorpal: Basically it's a language whose semantics map very directly to C, but with GC, lambdas, saner structure declarations, nicer syntax, foreach and the like, ETC. 23:47:39 -!- cheater99 has joined. 23:47:40 hm nice 23:47:44 Vorpal: It reuses (most of) the C standard library (well, with our own string structure and library), and creating bindings is as easy as making a new module, converting (automatically) a C header, and mangling them. 23:47:47 -!- cheater99 has quit (Read error: Connection reset by peer). 23:47:51 e.g. SDL_Foo you probably want as sdl.foo. 23:48:01 Vorpal: The target market is basically game development. 23:48:26 Vorpal: The idea is that you don't need bindings at all because the calling convention is exactly the same, etc. 23:48:36 Name mangling is for the namespaces/modules. 23:48:44 M2myM7awesome_function is my.awesome.function. 23:48:58 hm nice 23:49:08 name := M | _ 23:49:25 elliott, you need some bindings to handle your "saner structs" 23:49:35 elliott, or can you just include a C header file? 23:50:16 elliott, and you probably need some kind of C-string<->sane-string mapping too 23:50:47 elliott, you need some bindings to handle your "saner structs" 23:50:55 By saner structs I just mean you access stack and heap allocates ones the same :P 23:51:01 ah 23:51:03 In fact I might not have stack structs. 23:51:07 elliott, and you probably need some kind of C-string<->sane-string mapping too 23:51:07 elliott, so . = -> ? 23:51:10 Yes, that's the one thing that will be mapped. 23:51:14 (just s ===> s->bytes) 23:51:20 (since they're kept null-terminated) 23:51:26 Vorpal: But yeah, I might just have heap structs only. Not sure. 23:51:30 No pointer type, I think. 23:52:04 elliott, hm. That will make interfacing with stuff like sdl and allegro a bit more painful 23:52:09 Vorpal: Why? 23:52:18 elliott, I'm pretty sure there are foo **bar style pointers there 23:52:30 Vorpal: Well, right, I'll have to see. I can't have totally-general pointers though 'cuz of the GC. 23:52:39 (The first program (well, game) written in it will be Allegro-based. Or SDL.) 23:53:05 elliott, I have to say I find sdl nicer. Even though allegro is higher level 23:53:23 Vorpal: I'm going to look at Allegro 5. 23:53:29 Since it's out real-soon-now. 23:53:34 elliott, I never really found any use for more than blitting sprites, rotation and drawing primitives. All of which SDL can do 23:53:40 elliott, yeah I haven't looked at allegro5 23:53:46 only at the older one 23:53:51 Vorpal: Well, it's a 2D game here. 23:53:56 But with quite a lot of things to keep track of. 23:54:07 elliott, right, I written 2D games with both allegro and sdl. 23:54:11 I have* 23:54:31 I blame Phantom_Hoover__ for this endeavour entirely, BTW. 23:54:33 Well, not the language. 23:55:12 elliott, so, do you think you will complete this project within the next few months? 23:55:17 or will it be put on hold 23:55:20 like a lot of other things 23:55:21 Why was Vorpal asking about PSOX? 23:55:26 Vorpal: Well, Phantom_Hoover__'s already written some code and is writing more. 23:55:38 Admittedly it's in Common Lisp, but Phantom_Hoover__ writing code is rare enough that at least some dedication appears to exist. 23:55:56 elliott, he codes? 23:56:00 elliott, I wasn't aware of that 23:56:06 Vorpal: I think this is his fifth program. Phantom_Hoover__? 23:56:14 elliott, I thought he was purely theoretical 23:56:32 I'm purely theoretical. I don't exist in practice. 23:56:49 elliott, and you... code a shitload. Just you do breadth-first not depth-first. 23:57:06 :p 23:57:20 Vorpal: Well, Amber is specifically designed to be really easy to compile to C. 23:57:36 elliott, still requires writing a parser 23:57:38 Once I have a parser, it should be pretty trivial. 23:57:39 as far as I can tell 23:57:39 Vorpal: Well, yes. 23:57:49 Vorpal: I'm probably going to write the compiler in Python for the "it's there"-ness of it. 23:57:59 elliott, and parsers I can't help with. Anything more complex than parsing, say, brainfuck I hate 23:58:14 Vorpal: (The game is probably going to be commercial-but-comes-with-source-that-you-can-distribute-modifications-of, so having the compiler be portable is an added bonus.) 23:58:24 elliott, 5 is probably generous. 23:58:38 But yeah, I'll be using one of those magic-BNF-parser tools. The C compiler time will dwarf whatever time it takes to translate to C, anyway. 23:58:44 elliott, when I absolutely have to parse I tend to do it as basic as possible. Absolutely no "lenient in what you accept" 23:58:46 -!- Sasha has joined. 23:59:02 elliott, what is the game btw? 23:59:24 elliott, magic-BNF? lex and yacc? 23:59:25 -!- Sasha2 has quit (Read error: No route to host). 23:59:32 Vorpal: 2D Newtonian mechanics third-person space flight/combat simulator. We're not sure exactly /what/ it's going to be yet, but something like that. 23:59:35 Vorpal: Definitely Newtonian. 23:59:45 Vorpal: Imagine Asteroids, times a few billion. 23:59:54 Vorpal: Also: Localised changes to the laws of physics as a tactical weapon!