00:04:01 <Goosey> what is the point in even trying to protect a game
00:04:09 <Goosey> its going to get cracked anyways
00:05:35 <Sgeo> Make it harder for lazier people to pirate it
00:05:56 <Goosey> It's just a matter of copying and pasting a cracked exe
00:06:02 <Goosey> I'm lazy and I can do that
00:06:06 -!- cheater99 has joined.
00:06:13 <Goosey> then again I also crack my own games sometimes, so I guess I'm not that lazy
00:08:41 <Sgeo> 1 or 2 requests a second shouldn't accidentally DoS anyone, should it?
00:09:12 <Sgeo> Target is using Dreamhost
00:11:10 -!- cheater99 has quit (Read error: Connection reset by peer).
00:11:31 <elliott> Sgeo: um that's not a very good idea prolonged
00:12:22 -!- Phamhntom_Hoover has quit (Ping timeout: 245 seconds).
00:15:25 <elliott> Sgeo: well how long would you be making such requests for
00:16:08 <Sgeo> Maybe not all at one time
00:16:11 -!- zzo38 has quit (Quit: You forgot about the AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA****************************\\\\\\\\\\\\\\\\\\\\\\).
00:16:31 <Sgeo> At any rate, I just contacted someone who might have administrative control of the wiki
00:17:02 <Sgeo> "Hi. Do you have control over the wiki? Unofficial policy seems to be
00:17:02 <Sgeo> that unregistered edits should be disabled for the time being. I've
00:17:03 <Sgeo> been contemplating writing a bot to ban IPs, but I'd really rather
00:17:03 <Sgeo> not. There should be a simple setting somewhere, I think."
00:17:14 <elliott> Sgeo: 1-2 edits a second for 18 hours?
00:17:25 <Sgeo> elliott, 1-2 bans a second
00:17:37 <elliott> i'm assuming it's on a shitty server
00:18:39 <Sgeo> All I know is Dreamhost
00:19:12 -!- j-invariant has joined.
00:20:27 <elliott> it'll probably be slightly slower.
00:21:15 <elliott> 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 <elliott> CVSup is written in Modula-3.
00:34:12 <elliott> Seriously! What is this language!
00:37:50 <Sgeo> MediaWiki.org uses what looks like a Linspire icon
00:40:02 <elliott> I MUST FIND THIS LANGUAGE.
00:42:31 <Sgeo> 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 <elliott> tswett: hey, any slashes program ending with \ is invalid, right?
00:59:30 * Sgeo slashes elliott's head off
01:01:28 <elliott> 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:21:54 <elliott> *Main> replace "abc" "def" "helloabc"
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 <elliott> <monochrom> the name of the game. the length of the string. the crime of the time. the dog ate my moon.
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:24 <Goosey> epic keygen music I have ever heard
02:05:54 <Goosey> 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 <pikhq> Someone's playing DDR, I see.
02:28:04 -!- cheater99 has quit (Read error: Connection reset by peer).
02:33:13 -!- oerjan has joined.
02:36:39 <oerjan> <elliott> tswett: hey, any slashes program ending with \ is invalid, right?
02:36:50 <elliott> the program just terminates
02:36:52 <oerjan> any slashes program consisting solely of \, you mean
02:36:53 <elliott> according to my interpretation of the spec
02:37:08 <elliott> because when there's not enough program to execute, program execution stops
02:37:15 <elliott> i wrote a haskell slashes impl
02:37:18 <oerjan> the spec is quite clear on that point.
02:37:42 <oerjan> otoh the perl implementation may not be entirely correct on //.../ stuff, there was a discussion
02:38:26 <oerjan> ah yes it was a perl special case feature interfering
02:44:00 -!- cheater99 has joined.
02:44:35 <Goosey> http://www.youtube.com/watch?v=98ew0VtHmik
02:46:26 -!- cheater99 has quit (Read error: Connection reset by peer).
02:48:32 <elliott> pikhq: I figured how to do N-arg c lambdas.
02:48:58 <elliott> 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 <elliott> this is just a note to self, amend http://sprunge.us/IOdM tomorrow
02:49:42 <elliott> Also pikhq should link me to his copyable lambda code so I can base it off that.
02:55:55 <oerjan> (yoy forgot to ping yourself ;) )
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 <pikhq> It has been *years* since I played FFX, and I still have the freaking Hymn of the Fayth stuck in my head.
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 <Ilari> Hah... PCRM has published bottom 5 cookbooks for the year... Of course, knowing what PCRM does, good work from writers of those 5.
04:52:39 <Ilari> PCRM, CSPI, PETA... All part of same bunch...
04:55:15 <Ilari> And all have doublespeak names...
04:56:41 <coppro> they're in league with each other?
04:58:03 -!- cheater99 has joined.
04:59:28 <Ilari> And the "best" cookbooks of the year on list PCRM did are all vegan (caveat!) or vegetarian (not so good).
05:00:37 <Ilari> Essentially means "Watch out!"
05:01:02 -!- cheater99 has quit (Read error: Connection reset by peer).
05:01:04 <coppro> I know what a caveat is
05:02:20 <Ilari> Vegan diet without supplementing leads to nutrional defiencies.
05:02:59 <Ilari> And that it isn't good for health even when when supplementing is an understatement.
05:03:52 <coppro> xkcd is only funny today because of previous xkcd
05:04:08 <Ilari> Oh, and having herbivore without signaficant predators in any ecosystem is a recipe for disaster.
05:08:25 <Ilari> 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 <coppro> Ilari: There is no indication that a cultivating omnivore is no less dangerous
05:11:40 <Ilari> Perhaps... But that "herbivore on top of food chain" disaster has been seen time and time again...
05:12:07 <coppro> But our situation has never truly occurred
05:12:12 <coppro> 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 <Ilari> And also, agriculture as presently practiced is really destructive to the environment and health.
05:18:06 <coppro> 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 <Sgeo> elliott: I met someone with more nostalgia than myself.
05:20:15 <Ilari> Really destructive to health: Second worst health-related disaster humankind has ever experenced.
05:20:46 <coppro> Ilari: why do you say health?
05:20:54 <coppro> also what do you consider #1?
05:22:23 <Ilari> Actually, #1 was also related to agriculture...
05:23:00 <Ilari> The beginning of agriculture with cereal grains. That was REALLY ugly.
05:23:17 <coppro> but we got over that one, more or less
05:24:43 <Ilari> 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 <Ilari> The diffrence is just so massive.
05:25:19 <Sgeo> Yeah, not about to abandon agriculture, thank you very much
05:26:02 <Ilari> 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 <Ilari> It is cheaper to do half-assed job and expend lots of fossil resources than to do it properly.
05:31:31 <Ilari> 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 <coppro> Ilari: economics is not about money
05:35:31 -!- cheater99 has joined.
05:36:09 <Ilari> 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:38:01 <coppro> 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 <Ilari> 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:38 <coppro> our body can process a few naturally-occuring trans-unsaturated fats
05:43:38 <Ilari> 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 <Ilari> Or intentional attempt to mislead the public...
05:46:56 <Ilari> 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 <coppro> Ilari: do you understand why trans fats are bad for you?
05:50:25 <Ilari> 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 <coppro> Ilari: I repeat my question
05:55:23 <Ilari> 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 <Ilari> 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 <Ilari> 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 <pikhq> "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 <pikhq> 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 <pikhq> *Formerly a Former Professional Literary Agent and Professional Writer, AKA "The Deranged Millionaire"
07:00:52 <pikhq> Now there's a title.
07:04:13 <quintopia> 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 <Sgeo> 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 <oerjan> cal153: THAT WAS TOO OBVIOUS
07:42:34 <cal153> launched 2 copies of mirc by mistake >.>
07:43:06 <oerjan> you mean that is your _actual_ alternative nick? very well then.
07:53:01 -!- cheater99 has joined.
07:55:03 <Ilari> 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:09:43 <Ilari> 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 <fizzie> 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 <fizzie> With V=1 it fails the way you'd expect, with the failing link step last and no extra fluff after.
08:19:54 <Ilari> At least no weird header / library incompatiblities.
08:22:49 <fizzie> I think a quoting thing is involved.
08:23:06 <fizzie> Corresponding useful.make snippet:
08:23:09 <fizzie> echo '$(SPACE)$(SPACE)$(1)$(TAB)$(2)'; \
08:23:09 <fizzie> echo ' (command was: $(strip $(3)))'; \
08:24:20 <fizzie> And it ends up executing: echo ' LINK _build/mcmap'; cc [..] || ( exit=_build/cmd.o _build/console.o [..]; echo '...'; exit xit )
08:25:26 <fizzie> Yes, just stupidly quadruplicating the $$s into $$$$s makes it work.
08:26:10 <fizzie> I'm assuming some double-expansion there somewhere; maybe once on the definition and once on use?
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 <fizzie> "* Rewrote Leaf Decay for the seventeenth time, and as a result..
13:14:39 <fizzie> * .. fixed HUGE fps drops in single player
13:14:39 <fizzie> * .. fixed players getting spammed with data and getting disconnected in SMP
13:14:39 <fizzie> * .. felt like a sexy programming god
13:14:39 <fizzie> * Fixed the item dupe bug in SMP"
13:14:55 <fizzie> 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:22:52 <fizzie> <fizzie> "* Rewrote Leaf Decay for the seventeenth time, and as a result..
13:22:52 <fizzie> <fizzie> * .. fixed HUGE fps drops in single player
13:22:52 <fizzie> <fizzie> * .. fixed players getting spammed with data and getting disconnected in SMP
13:22:52 <fizzie> <fizzie> * .. felt like a sexy programming god
13:22:52 <fizzie> <fizzie> * Fixed the item dupe bug in SMP"
13:22:54 <fizzie> <fizzie> I'm not sure that third subitem there is a good sign, but at least it's (supposedly) fixed now.
13:23:00 <fizzie> This was just before your join.
13:23:46 <fizzie> 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 <fizzie> But such issues are the norm when you're dealing with a "sexy programming god".
13:24:35 -!- cheater99 has joined.
13:25:00 <fizzie> "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:19 <fizzie> 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:26:14 <fizzie> "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 <Phantom_Hoover> 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 <Phantom_Hoover> 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 <fizzie> 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 <ais523> 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 <Phantom_Hoover> oerjan, as a mathematician, what is your opinion on whether 0 \in N?
14:23:07 <oerjan> it differs by mathematical subject
14:24:33 <fizzie> 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 <fizzie> 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 <elliott> 00:25:26 <fizzie> Yes, just stupidly quadruplicating the $$s into $$$$s makes it work.
14:32:38 <elliott> fizzie: But I just /replaced/ them with $$s from $$$$s.
14:33:00 <elliott> It's because I use do both in template rules and real rules. TODO: fix.
14:34:00 <elliott> 23:04:13 <quintopia> pikhq: i only know of it due to hodgman's association with joco and the list of hobo names
14:34:04 <elliott> the hobo names are in the previous book.
14:34:45 <elliott> 23:41:16 --- join: sexygirl153 (~cal@c-24-4-207-72.hsd1.ca.comcast.net) joined #esoteric
14:34:45 <elliott> 23:41:19 --- quit: sexygirl153 (Client Quit)
14:36:41 <elliott> 06:25:36 <fizzie> 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 <elliott> fizzie: I think 0 should be in N but accept that it usually isn't
14:40:18 <elliott> cc: _build/cmd.o: No such file or directory
14:40:18 <elliott> cc: _build/console.o: No such file or directory
14:40:18 <elliott> cc: _build/main.o: No such file or directory
14:40:18 <elliott> cc: _build/map.o: No such file or directory
14:40:20 <elliott> cc: _build/protocol.o: No such file or directory
14:40:22 <elliott> cc: _build/world.o: No such file or directory
14:40:24 <elliott> I, uh, regret adding OBJDIR support.
14:43:27 -!- cheater99 has joined.
14:45:26 <elliott> 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 <oerjan> when things don't work, add more dollars
14:47:02 <ais523> what escaping format is there that requires quadrupling of dollars?
14:47:46 <elliott> ais523: GNU Make metaprogramming
14:48:35 <ais523> heh, you're trying to show GNU make TC?
14:48:45 <elliott> ais523: this is actual code used in an actual project :)
14:48:52 <elliott> ais523: well, the latter because ... I bugged fizzie until he let me put it in
14:49:06 <elliott> ais523: /boring/? I've practically proved GNU make TC /accidentally/ in the process of using it
14:49:14 <elliott> which, if you've ever used GNU make, you will understand is not very usual
14:49:26 <elliott> $(foreach x,$(to-clean),$(call do,RM,$(objdir)/$(x),rm -f $(objdir)/$(x))
14:49:27 <elliott> $(call do,RMDIR,$(objdir),rmdir $(objdir) 2>/dev/null || true)
14:49:32 <elliott> that newline before the ) is *required* :)
14:49:40 <elliott> and you must define clean like that ... I'm still not sure why
14:49:54 <ais523> I'm more used to portable make than GNU make
14:50:03 <elliott> ais523: define c-program-body
14:50:03 <elliott> to-clean += $(1) $(2:.c=.o) $(2:.c=.d)
14:50:03 <elliott> $(objdir)/$(1): $(2:%.c=$(objdir)/%.o) Makefile | $(objdir) ; \
14:50:03 <elliott> $(call do,LINK,$(objdir)/$(1),$(cc.link) -o $(objdir)/$(1) \
14:50:05 <elliott> $(if $(cleaning),,-include $(2:%.c=$(objdir)/%.d))
14:50:09 <elliott> ## $(call c-program,foo,foo.c bar.c) -- compiles foo.c and bar.c into foo
14:50:11 <elliott> c-program = $(eval $(call c-program-body,$(strip $(1)),$(strip $(2))))
14:50:13 <elliott> ais523: GNU Make is SO MUCH MORE FUN.
14:50:39 <elliott> the actual escaped thing, btw:
14:50:40 <elliott> @echo '$(SPACE)$(SPACE)$(1)$(TAB)$(2)'; \
14:50:40 <elliott> echo ' (command was: $(strip $(3)))'; \
14:53:10 <Deewiant> elliott: I do hope it's a GNUmakefile and not a Makefile!
14:53:21 <elliott> Deewiant: You hope wrong :-)
14:53:38 <elliott> Deewiant: The Makefile itself is perfectly portable to any make with, uh, "include file" and "$(call foo,bar,baz)".
14:53:53 <elliott> 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:18 <Deewiant> Do most makes have that stuff? :-P
14:54:49 <elliott> Deewiant: Only decent ones. Sadly, there are no decent makes.
14:54:51 <fizzie> 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:39 <fizzie> Another objdir-related thing, I believe.
14:55:42 <elliott> _build/cmd.d: /usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h world.h
14:55:42 <elliott> _build/console.d: /usr/include/glib-2.0/gio/gzlibdecompressor.h console.h world.h
14:55:43 <elliott> _build/main.d: common.h protocol.h console.h map.h world.h
14:55:43 <elliott> _build/map.d: /usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h world.h
14:55:43 <elliott> _build/world.d: /usr/include/glib-2.0/gio/gzlibdecompressor.h map.h world.h
14:55:51 <fizzie> Since "make objdir=. ; touch world.h ; make objdir=." rebuilds the necessary bits.
14:55:54 <elliott> fizzie: I swear this thing was perfect and un-buggy before I added objdir.
14:56:19 <elliott> Hmm, am I going to have to set cc's output here?
14:56:50 <elliott> Well, you can give it an objprefix.
14:57:42 <elliott> fizzie: Why would it be objdir-related?
14:58:07 <elliott> I mean, the CWD in all the .d files' context is the mcmap source tree root.
14:58:12 <elliott> So the filenames are *right*.
14:58:12 <fizzie> I just based that judgement on the fact that objdir=. makes it work.
14:58:19 <j-invariant> hey I think I solved the problem elliott but I have to go
14:58:22 <elliott> Oh, sure, I agree, I'm just confused.
14:58:24 <elliott> j-invariant: awesome! how?
14:58:48 <j-invariant> well it seems a bit weird but I define equality of objects in terms of equality of morphisms
14:58:58 <elliott> j-invariant: that sounds really nice
14:59:06 <j-invariant> so A = B is defined as having f : A -> B, g : B -> A, with fg = id and gf = id
14:59:48 <elliott> j-invariant: that's just a bijection!
14:59:54 <elliott> j-invariant: that's what i've been telling you to do all along :-)
15:00:36 <elliott> well, at least i know i'm a perfect, infallible genius now
15:01:03 <j-invariant> it makes the definition of a category simpler too
15:01:06 -!- j-invariant has quit (Quit: leaving).
15:04:21 <elliott> exit: 1: Illegal number: 4957exit
15:04:53 -!- cheater99 has joined.
15:04:59 <fizzie> Heh, sounds like it got the $$ PID there now. :p
15:05:11 <elliott> fizzie: you know what? I'm making two nearly-identical do functions
15:05:18 <elliott> one with $$, one with $$$$
15:05:36 <fizzie> I'm not going to look inside useful.make anwyay.
15:05:44 -!- FireFly has joined.
15:05:54 <elliott> 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 <elliott> fizzie: Hey, hMod is actually beta'd; https://github.com/traitor/Minecraft-Server-Mod/
15:14:51 <elliott> Quick! Get ineiros intoxicated!
15:15:14 <elliott> https://github.com/traitor/Minecraft-Server-Mod/blob/master/build.xml Ahahahant.
15:15:55 <elliott> [Minecraft-Server-Mod] http://bit.ly/gRtj3z Erik Broes - Added item.getDamage()/item.setDamage()
15:21:58 <fizzie> 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 <elliott> $(objdir)/%.d: %.c Makefile | $(objdir)
15:23:04 <elliott> $(call do,DEP,$<,$(cc.invoke) -M -MG -MT $(objdir)/$*.o -MF $@ $<)
15:23:12 <elliott> fizzie: Yes, you are right, I will do that.
15:24:41 <elliott> fizzie: "make clean all" still doesn't work, though, because make is astonishingly braindead.
15:25:28 <fizzie> As for hMod, I'm not sure even an intoxicated ineiros would care enough to start testing pre-release things.
15:25:56 <elliott> I have a theory that ineiros is Notch.
15:26:22 <elliott> fizzie: Can you make very, very sure he's not Swedish?
15:26:46 <fizzie> Well, he doesn't *look* Swedish, but of course you never know.
15:26:51 -!- cheater99 has joined.
15:27:44 <elliott> fizzie: Hell, I've seen *you* (well, in a dream), and you didn't look Finnish!
15:28:06 <elliott> Then again, I'm pretty sure you were on the blacker side of brown. So maybe not very accurate.
15:28:22 <elliott> Also you wore sunglasses and were bald.
15:28:39 <elliott> Wait, were you bald or did your hair just look like thick fibre-optic cables...
15:28:46 <elliott> Oh, for heaven's sake, I don't know.
15:28:46 -!- cheater99 has quit (Read error: Connection reset by peer).
15:28:56 <fizzie> I'm not sure if there's any sort of product to test for Swedishness.
15:29:10 <fizzie> Incidentally, http://www.amazon.com/Parent-Child-Testing-Product-Pack/dp/B002A6HXL6/ -- "Parent Child Testing Product, 5 Pack", $10035.98.
15:29:19 <elliott> fizzie: Erm, Lutefisk : Norwegians :: ? : Swedes?
15:29:56 <elliott> fizzie: Man, that parent child testing product looks judgemental.
15:41:59 <elliott> pikhq: I just had a horriterrible idea.
15:42:48 <elliott> 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 <oerjan> elliott: Surströmming.
16:00:04 <elliott> fizzie: Feed him that and see if he survives.
16:00:33 <Vorpal> elliott, only a very small group of swedes like surströmming
16:00:33 <elliott> oerjan: just checking, you being a lutefisk fan, Surströmming isn't something delicious? :D
16:00:50 <Vorpal> elliott, the majority think it is weird and wouldn't touch it.
16:00:58 <elliott> http://upload.wikimedia.org/wikipedia/commons/7/7c/Surstroemmngsklaemma.png every swede eats this every day
16:01:26 <Vorpal> elliott, then I'm no Swede by your definition. Nor is some 90% of the rest of population
16:01:51 <Vorpal> elliott, it is a local speciality in parts of north Sweden.
16:02:07 <oerjan> elliott: by all i've read, surströmming is far more vile than lutefisk
16:02:07 <Vorpal> (and always beware of that)
16:02:28 <Vorpal> oerjan, and lutfisk occurs in Sweden to.
16:02:41 <Vorpal> oerjan, almost none like it these days
16:02:59 <elliott> northern sweden sounds like crazy land
16:13:17 <Ilari> What the heck is that (and I hope that milk is whole milk...)?
16:14:12 <elliott> Ilari: It's DISGUSTINGNESS
16:14:26 <elliott> "Surströmming with potatoes, onion on tunnbröd."
16:14:59 <elliott> Ilari: Surströmming itself is, of course, rotting fish.
16:15:09 <elliott> Because god dammit, we're Swedes, we're vikings, we're HARDCORE.
16:15:36 <elliott> [[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 <elliott> I support cultural illiteracy.
16:15:54 <Ilari> Or at least pretend that way... Well, in the past, real hardcore people existed...
16:26:30 <Goosey> The lagging in mc is somewhat fixed
16:35:03 <elliott> 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:16 <elliott> "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:35 <elliott> either we define well-defined algorithm = list of instructions in a TC language, and it's a tautology
16:37:53 <elliott> 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:51 -!- wareya has joined.
16:49:35 <Vorpal> <elliott> Because god dammit, we're Swedes, we're vikings, we're HARDCORE. <-- only some madmen up north
16:50:11 <Vorpal> <Ilari> What the heck is that (and I hope that milk is whole milk...)? <-- why do you hope that
16:51:45 <Vorpal> elliott, hm I just had the mad idea of a brainfuck supercompiler
16:52:23 <elliott> Bah, if it's not a specialiser I don't acre.
16:52:50 <Vorpal> elliott, well, I was thinking along the lines of partial evaluation
16:52:52 <elliott> (Okay, so supercompilers do usually do something close to specialisation.)
16:52:57 <elliott> Vorpal: Specialisation == partial evaluation.
16:53:29 <Vorpal> 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:54:18 <Vorpal> elliott, I never claimed those were different.
16:54:25 <elliott> 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 <elliott> So it's hardly surprising that compiling BF well is near-impossible. :p
16:54:42 <Vorpal> elliott, mutable state makes it a lot trickier too
16:54:59 <elliott> Vorpal: Well, mutable state is effectively an anti-abstraction and an element of dynamism, so yeah.
16:55:13 <Vorpal> elliott, oh *looks up what dynamism is exactly*
16:55:24 <elliott> Vorpal: Dynamic languages are very dynamic.
16:55:29 <elliott> Vorpal: Changing things at runtime = dynamism.
16:55:45 <elliott> 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 <Vorpal> elliott, is "things" here code? or data too?
16:56:20 <elliott> 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 <Vorpal> elliott, by /strings/?
16:56:44 <elliott> Vorpal: Yes; "foo abc: 3" looks up "abc:" in foo and passes it 3.
16:56:55 <elliott> Vorpal: If you change the abc: method, and call whatever method did "foo abc: 3", it will get the new method.
16:57:06 <elliott> This is because everything is looked up at the latest possible moment -- right when it's used, i.e. late binding.
16:57:06 <Vorpal> elliott, can't you compile identifiers into some table and then use that integer to look up
16:57:21 <elliott> But it's not quite that simple.
16:57:24 <elliott> Anyway, it was just an example.
16:57:42 <Vorpal> elliott, but doing it by strings sound incredibly stupid
16:57:53 <elliott> Well, yes; I forget how most Smalltalks do it.
16:58:20 <Vorpal> elliott, now you made me imagine a bashtalk (along the lines of bashforth)
16:58:49 <elliott> 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 <elliott> Vorpal: For instance, all package management will be done with GNU stow.
16:59:15 <Vorpal> elliott, what does inetutils contain now again
16:59:32 <elliott> Vorpal: inetutils is maintained by the *wonderful human being* called ams.
16:59:34 <elliott> You may have heard of him.
16:59:52 <elliott> "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 <Vorpal> elliott, the tla sounds familiar, that is all
17:00:06 <elliott> Its design is based on Carnegie-Mellon's Depot.
17:00:07 <elliott> http://www.gnu.org/software/stow/manual.html
17:00:28 <Vorpal> elliott, the separate thing reminds me of gobolinux and such
17:00:41 <elliott> Yes, well, it's a much older concept than that. :p
17:00:47 <pikhq> GNU Stow is positively bleh.
17:00:55 <elliott> pikhq: Heh, have you actually used it? :)
17:00:57 <elliott> Vorpal: Anyway ams is an IRC jackass and troll.
17:01:12 <elliott> Vorpal: Who is probably rms' secret lover or something.
17:01:16 <pikhq> elliott: Yes; the GNU System testing images used it.
17:01:36 <elliott> pikhq: They're HURD-based, though, aren't they?
17:01:46 <pikhq> elliott: IIRC, it's intended to be replaced with Stowfs.
17:01:54 <Vorpal> elliott, I think I heard ams in some other context
17:02:03 <elliott> pikhq: See, mine is meant for Linux, because then we can SPREAD THE GOSPEL to other platforms.
17:02:14 <elliott> pikhq: Anyway stow seems like a "good idea" to me apart from the implementation details.
17:02:20 <elliott> pikhq: i.e. using symlinks.
17:02:29 <Vorpal> elliott, of course it sounded familiar. AMS.
17:03:02 <Vorpal> elliott, which seems to be rather overloaded btw
17:04:10 <pikhq> elliott: Yeah, stow's actually quite alright aside from implementation details.
17:04:17 <elliott> 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 <elliott> 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 <pikhq> elliott: Which is why stowfs was a WIP.
17:04:23 <elliott> That was before I knew who he was.
17:04:51 <elliott> 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 <elliott> Vorpal: (Apparently he doesn't actually /use/ the distro.)
17:05:09 <Vorpal> elliott, as for POSIX not contradicting, true. However POSIX may define something that C99 leaves undefined. That happened.
17:05:16 <elliott> 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:26 <elliott> ~Free As In FSF netbook buddies~
17:05:32 <elliott> <Vorpal> elliott, as for POSIX not contradicting, true. However POSIX may define something that C99 leaves undefined. That happened.
17:06:08 <Vorpal> 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 <pikhq> Of course, even if it is a behavior unique to POSIX, that's still quite important.
17:06:22 <elliott> Vorpal: yes, but he was very explicit about wanting C99's take.
17:06:40 <pikhq> After all, most everything but Windows these days are going to give credence to POSIX.
17:06:51 <elliott> 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:25 <elliott> pikhq: Anyway, the GNU Operating System seemingly does not include an init system.
17:07:29 <elliott> At least from scanning http://www.gnu.org/software/software.html.
17:07:57 <Vorpal> elliott, what does hurd use then?
17:08:06 <Vorpal> pikhq, remove the final dot
17:08:09 <pikhq> elliott: But anyways, I'm reasonably certain it uses init.
17:08:16 <elliott> Vorpal: Um, HURD? I think it just uses a shell script.
17:08:33 <pikhq> elliott: HTTP Error 404!
17:08:35 <Vorpal> elliott, it is file not found
17:08:44 <elliott> http://www.gnu.org/software/software.html
17:08:46 <Vorpal> (note: totally not what you meant)
17:09:00 <Vorpal> pikhq, as I said, you probably copied the ending dot on the line
17:09:06 <pikhq> elliott: The . at the end got into the link because it's entirely valid!
17:09:14 <elliott> pikhq: Your client sucks donkey dick!
17:09:25 <Vorpal> pikhq, quite, but I made my client apply a heurstic at that.
17:09:26 <elliott> (Technical term for clients that are too correct about URLs.)
17:09:48 <pikhq> elliott: Your URL is a giant donkey dick!
17:09:51 <Deewiant> Maybe I should have my site have all pages end in .html.
17:10:01 <elliott> Deewiant: I terminated your sentence for you.
17:10:17 <elliott> http://www.gnu.org/software/mdk/ oh man so useful
17:10:39 <elliott> I love how some of the software links just go to empty directories.
17:10:59 <elliott> http://www.gnu.org/software/myserver/ GNU HTTPD!
17:11:18 <pikhq> elliott: Well, it's not like GNU only hosts things useful to the GNU system.
17:11:27 <elliott> pikhq: No, but that's a list of GNU packages.
17:11:36 <elliott> i.e. the bulk of the platonic ideal GNU Operating System.
17:11:38 <pikhq> elliott: Here's what it takes to get it into GNU proper: give a FSF copyright assignment.
17:11:43 <elliott> And most of it is USELESS.
17:12:00 <elliott> But still. That list is an amazing glob of worthlessness, with like 10 useful things in it.
17:12:25 <ais523> hmm, wtf? reddit shows a link on /r/programming/ at +1009 with 852 comments
17:12:39 <ais523> but when I click at it, it's on +0 with 3 comments
17:12:47 <elliott> ais523: cache... but still, wow.
17:12:52 <ais523> that's quite a cache effect
17:12:52 <pikhq> "reddit is under heavy load right now, sorry. Try again in a few minutes."
17:12:53 <Vorpal> <elliott> http://www.gnu.org/software/mdk/ oh man so useful <-- missing ending dot!
17:13:22 <elliott> http://codu.org/projects/trac/ggc http://codu.org/projects/trac/gggc
17:13:24 <ais523> hmm, it's actually happening to every link there
17:13:27 <elliott> http://codu.org/projects/trac/ggggc
17:13:32 <pikhq> The displayed karma is random.
17:13:32 <elliott> I think I've figured out Gregor's versioning system.
17:13:36 <elliott> "Duplicate the first letter."
17:14:14 <elliott> Deewiant: Maybe the first one was called c, and it collected everything, not just garbage.
17:14:35 <pikhq> What was the acronym for that, anyways?
17:14:45 <elliott> "Gregor's General-purpose Generational Garbage Collector."
17:15:19 <elliott> [# Never ever EVER have interior pointers. Ever. EVER. GGGGC relies on all GC pointers being to the base of an object.]]
17:15:32 <elliott> Gregor: Any way to relax that? I really want to use GGGGC for this project, but ...
17:15:40 <ais523> hmm, it'd be simpler still to have a GC that required all pointers to be NULL
17:15:46 <ais523> then you could just garbage-collect everything on the heap
17:15:46 <elliott> Gregor: What if the interior pointers are always to the start of a given element in a structure?
17:15:53 <elliott> Gregor: (And I can specify which element at pointer-creation-time.)
17:16:21 <pikhq> elliott: Interior pointers make garbage collection both painful and slow.
17:17:12 <Vorpal> elliott, why do you need interior pointers?
17:17:13 <elliott> 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:52 <Vorpal> elliott, just keep an extra pointer around?
17:17:55 <Vorpal> elliott, to the base I mean
17:18:55 <elliott> would this even disallow (some_string + n)?
17:19:24 <elliott> any way to relax that Gregor? :P
17:19:39 <Vorpal> elliott, some_string[n]
17:19:46 <elliott> no, I need a fix in the _GC_.
17:19:49 <elliott> Vorpal: note: strings will always have their lengths encoded before them.
17:19:58 <elliott> so the GC will always know where a string ends, even just having a pointer to the start
17:20:15 <Vorpal> elliott, <pikhq> elliott: Interior pointers make garbage collection both painful and slow.
17:20:28 <Vorpal> elliott, and the GC will always know the end anyway
17:20:37 <Vorpal> same as free() does know the end of the allocated block
17:20:41 <elliott> 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:21:11 <Vorpal> elliott, why is indexing so hard?
17:21:28 <elliott> Vorpal: The question is not "do I need (s+n)?", it's "can I make GGGGGGGGGGGGC support (s+n)?".
17:21:45 <Vorpal> elliott, do you know /why/ it is slow to suppor that?
17:22:27 <elliott> I pressed the . numpad key, but numlock was off so it did [del], which did nothing since i was at eol.
17:22:44 <elliott> I used the numpad . because I had already completed the sentence, and moved my hands away without realising.
17:22:52 <Vorpal> my numpad seems broken btw
17:23:02 <Vorpal> somehow , -> 0 and 0 -> nothing
17:23:08 <elliott> I don't like my numpad, it gives me bad habits.
17:23:21 <elliott> I only recently started being able to type numbers with the normal row.
17:23:43 <elliott> I think I might just use boehm.
17:23:44 <Vorpal> elliott, only time I use numpad is for navigation in various games
17:24:03 <Vorpal> elliott, interior pointers is an option for boehm iirc. And it slows it down even more
17:24:21 <elliott> Vorpal: Presumably on by default due to the commonness of (s+n)...
17:24:56 <Vorpal> elliott, I think it is a global-variable-before-GC_init() style of option
17:25:22 <pikhq> Vorpal: It tries not to break behavior of anything that's valid C.
17:25:49 <pikhq> Though it will gleefully change various forms of undefined behavior, which can break programs.
17:25:51 <Vorpal> 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 <elliott> Vorpal: I mean using (s+n) temporarily, calling a function with it.
17:28:53 <elliott> Not throwing away s completely from the program.
17:29:01 <elliott> (What, would GGGGGGGGGGGGGGGGGGGGGGGGC support that?)
17:29:49 <pikhq> elliott: I'm not sure GGGGC is conservative.
17:30:05 <pikhq> ... No, wait, it'd have to be.
17:30:26 <elliott> pikhq: You have to do all reads and writes through a macro because Gregor is a masochist.
17:30:31 <elliott> Well, a sadist. But he uses it himself.
17:30:43 <pikhq> There is no freaking way you're getting internal pointers to work without much pain and agony.
17:30:59 <elliott> 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 <pikhq> In other news: bsnes's unsupported game list is down by one.
17:31:34 <Vorpal> elliott, if the parent function still holds a pointer to it?
17:31:44 <pikhq> elliott: Does it move objects around in memory?
17:31:53 <pikhq> And, of course, rewrite pointers?
17:31:58 <pikhq> If it doesn't, then that will work.
17:32:03 <Vorpal> elliott, then I don't see why it is an issue if you also have an internal pointer
17:32:59 <elliott> So can OGGGGGGGGGGGGGGGGGGGGGGGGGGC collect garbage in a separate thread, too? :p
17:33:21 <Vorpal> elliott, also define each of those Gs you just used
17:34:04 <elliott> OGGGGGGGGGGGGC was just a reference to that OGC name thing.
17:34:18 <elliott> Uh, http://www.eatliver.com/img/2008/3028.jpg.
17:34:26 <elliott> UK government organisation.
17:35:00 <elliott> [[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 <elliott> "and it is not inappropriate to an organisation that’s looking to have a firm grip on Government spend."
17:35:27 <Vorpal> elliott, yeah wtf about that
17:35:38 <elliott> Vorpal: It's called a joke.
17:35:54 <Vorpal> elliott, is it really that far fetched
17:36:04 <elliott> Vorpal: "that far fetched"?
17:42:06 <Vorpal> elliott, I guess I must have used a bloom filter then
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:17:47 <j-invariant> 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 <elliott> j-invariant: yeah i don't think it matters
18:18:05 <elliott> j-invariant: Coq Prop is rather restricted IMO
18:18:35 <j-invariant> I just don't want to go another 300 lines and realize I made a mistake
18:19:45 <j-invariant> elliott: and what about equality of maps? should f = g be in Prop or Type?
18:20:53 <elliott> j-invariant: I think if one thing is in Type all of them should be
18:21:01 <elliott> j-invariant: but, is it possible to make the isomorphism -> Prop by restricting it?
18:21:04 <elliott> if not, eh, it doesn't matter
18:21:14 <elliott> I end up putting sets into Type all the time, no reason not to put Props there
18:21:19 <elliott> coq doesn't have proof irrelevance anyway
18:21:59 <j-invariant> it's just for equality of functors, we have F=G meaning that Ff=Gf but Ff : FX -> FY and Gf : GX -> GY
18:23:46 <elliott> Gregor: is extensive generic (void *) hackery ok with GGGGGGGGGC?
18:38:11 <ais523> elliott: I don't see how any GC can manage that, if it actually collects things
18:38:20 <ais523> what about storing pointers in files and reading them back later?
18:38:46 <elliott> ais523: actually, I just mean having things like linked lists with (void *) elements
18:40:24 <ais523> hmm, today I learnt that most new Windows software with an auto-updater installs its executables the equivalent of suid root
18:40:29 <ais523> to avoid UAC prompts when it updates
18:40:33 <ais523> that... defeats the point
18:48:40 -!- OoS has joined.
18:49:54 <OoS> I'm just clearing out some old computer books to make space for a few new ones :-/
18:54:42 <ais523> oh, I just keep them mixed with a bunch of other books in a pile on the floor
18:54:48 <ais523> or occasionally, in other people's bedrooms
18:55:01 <ais523> (general rule of house physics: people are loath to throw out anything in their own bedroom, you can exploit this fact)
18:55:14 <OoS> I have 14 shelves of books (mostly programming / computing / caving)
18:55:38 <OoS> Plus more in boxes / cupboards :-(
18:56:12 <elliott> ais523: now progress to Joey Hess stage -- use that for all possessions, and live in yurts
18:56:23 <OoS> ais523: wouldn't work, my girlfriend loves to throw stuff out
18:56:27 <elliott> optimal debian-developing hobo status achieved
18:56:44 <Vorpal> elliott, who is that guy
18:57:05 <elliott> Vorpal: http://kitenet.net/~joey/blog/
18:57:08 <elliott> Vorpal: he wrote the debian-installer
18:57:21 <OoS> Besides, I'm getting rid of stuff I likely won't need. Assembly programming books for 68000, 6809...
18:57:26 <elliott> he lives in a yurt. http://kitenet.net/~joey/yurt/
18:57:35 <Vorpal> elliott, oh the guy with palm <something> investigation?
18:57:45 <elliott> Vorpal: his living expenses are flat 0, IIRC
18:57:54 <Vorpal> <elliott> he lives in a yurt. http://kitenet.net/~joey/yurt/ <-- as in, permanently?
18:58:11 <Vorpal> elliott, somewhere warm I assume? or a hoax?
18:58:24 <elliott> Dunno how warm it is. Probably relatively.
18:58:28 <elliott> not a hoax, no, he really lives like that
18:58:43 <fizzie> Erdős famously did the "hobo mathematician" thing.
18:58:59 <Vorpal> elliott, uh, does he have a more normal house as well?
18:59:05 <Vorpal> fizzie, oh? I didn't know that
18:59:10 <elliott> Vorpal: As I said, his expenses are roughly 0.
18:59:17 <elliott> Mortgage or rent = expense.
18:59:30 <Vorpal> elliott, aiee! http://kitenet.net/~joey/blog/pics/snowyurt.jpg
18:59:34 <fizzie> 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 <fizzie> ... "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 <elliott> Vorpal: you're a swede, be more hardcore.
18:59:51 <Vorpal> elliott, well, we have thick walls for a reason
18:59:59 <Vorpal> elliott, it's around -25 C outside now
19:00:48 <fizzie> 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 <elliott> Vorpal: oh ofc, I forgot ikiwiki
19:01:26 <elliott> Vorpal: he wrote ikiwiki too
19:01:42 <OoS> The yurt looks cool. I've slept in worse places.
19:02:04 <elliott> it would be kinda cool to do the hobo thing, but i need an internet connection... and heating
19:02:14 <elliott> a good internet connection, rather
19:02:30 <fizzie> 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 <Vorpal> elliott, see image on the page you linked
19:03:02 <elliott> Deewiant: I see no evidence of a /good/ internet connection
19:03:11 <Deewiant> elliott: I see no evidence of a bad one
19:03:28 <elliott> So it's gonna be like 2 Mbit.
19:03:31 <Vorpal> elliott, who knows where the ethernet goes
19:03:38 <Vorpal> elliott, presumably to a *HOUSE*?
19:03:39 <elliott> Into a dead badger, obviously.
19:03:49 <elliott> Vorpal: I think it's some way away from a friend's house or something.
19:03:57 <elliott> I don't have his living situation exactly memorised, that would be creepy :P
19:04:05 <fizzie> Vorpal: See for example the finger RFC (1288) chapter 2.5.5 "Vending machines": http://www.ietf.org/rfc/rfc1288.txt
19:04:05 <Vorpal> fizzie, -12? that's nothing
19:04:50 <fizzie> IETF tends to be. There's faster places to get RFCs from, of course.
19:05:11 <Vorpal> fizzie, wait a second.... this isn't april
19:05:27 <elliott> Fingering vending machines sounds a bit niche.
19:05:36 <fizzie> It's what all the cool universities had.
19:06:06 <Vorpal> "Vending machines should NEVER NEVER EVER eat money." <-- this make it sound like a joke rfc (it is too unrealistic)
19:06:14 <fizzie> 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 <Vorpal> (also, doesn't fit into a serious rfc, would use MUST then)
19:07:17 <fizzie> 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 <Vorpal> "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 <Vorpal> uh, that last sentence sounds....
19:07:54 <Vorpal> (seriously, was finger named to maximise uncomfortableness of using the names?)
19:10:26 <Deewiant> 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 <fizzie> 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 <ais523> why would anyone write port numbers in octal?
19:13:07 <fizzie> "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 <elliott> <Deewiant> 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:31 <elliott> That's the stupidest etymology ever.
19:17:14 <fizzie> Vorpal: I don't really know what it refers to; I strongly suspect it's not the modern web-cache thing.
19:17:29 <fizzie> RFC123 speaks of ICPs.
19:17:33 <Vorpal> fizzie, I don't know the modern meaning either
19:18:03 <Deewiant> http://en.wikipedia.org/wiki/Network_Control_Program
19:18:53 <fizzie> 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 <fizzie> And maybe ICP socket numbers used to be in octal, then.
19:21:23 <fizzie> One wonders if some day this "HTTP" thing will sound equally quaint and historical.
19:22:18 <elliott> You had to use your hands? etc.
19:22:35 <Vorpal> elliott, that sounds even dirtier!
19:22:42 <elliott> Video Game Boy #1: You mean you have to use your hands?
19:22:43 <elliott> Video Game Boy #2: That's like a baby's toy!
19:22:49 <elliott> (Thank imdb for the really-useful character names.)
19:23:06 <Vorpal> elliott, what movie is it from?
19:23:26 <elliott> Pronounced "butt-fee", clearly.
19:23:50 <Vorpal> elliott, oh back to the future
19:23:56 <Vorpal> was ages since I saw that
19:24:17 <Vorpal> elliott, also ages ago I saw it
19:24:27 <Vorpal> elliott, was it 3 in total? I don't remember
19:24:29 <elliott> Hahah: http://www.theasylum.cc/product.php?id=174 Titanic II.
19:24:35 <elliott> Is there anything The Asylum won't push out?
19:24:43 <elliott> Vorpal: Yes. Unless they've made Bttfiv.
19:24:58 <Vorpal> elliott, "the asylum"?
19:26:00 <elliott> 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 <elliott> Also Sir Arthur Conan Doyle's Sherlock Holmes with ROBOTIC DINOSAURS.
19:26:11 <Vorpal> elliott, snakes on a train?
19:26:15 <elliott> http://en.wikipedia.org/wiki/The_Asylum
19:26:19 <Vorpal> elliott, also I never heard of any of these movies
19:26:25 <elliott> Vorpal: No -- but you may have heard of
19:26:42 <Vorpal> elliott, yes, the first is a book and suchs
19:26:53 <Vorpal> elliott, not the last one
19:26:57 <Vorpal> but all the other ones
19:27:07 <elliott> Right. Now observe: http://upload.wikimedia.org/wikipedia/en/3/32/Quartermainskulls.jpg
19:27:39 <elliott> And now you understand what The Asylum does.
19:27:41 <Vorpal> elliott, what an obvious rip off
19:27:59 <Vorpal> elliott, how come lucasfilm didn't sue them?
19:28:01 <elliott> 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 <Vorpal> elliott, or is it parody?
19:28:09 <elliott> Vorpal: Not parody... well, sort of.
19:28:44 <elliott> 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 <elliott> But god dammit, ROBOTIC DINOSAURS.
19:29:24 <elliott> "As to where this film fits into the Canon of Sherlock Holmes is unclear." --Wikipedia
19:30:37 -!- Phantom_Hoover_ has joined.
19:30:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
19:30:43 <fizzie> "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 <elliott> fizzie: UNFORTUNATELY YOU SAW ONLY THE TRAILERS FOR THE INFERIOR MOVIE
19:31:12 <elliott> Seriously, I would rather watch the terrible one with exploding dinosaurs.
19:31:16 <fizzie> The inferior movie looked quite silly too.
19:32:02 <fizzie> 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 <Deewiant> Trailers tend to concentrate on explosions and action.
19:33:11 <Vorpal> I always dislike trailers for that reason
19:33:12 <elliott> fizzie: From what I've heard it was actually a pretty good film.
19:33:21 <elliott> fizzie: Supposedly they slowed some of the fight sequences to fit more thinking in there. :p
19:33:34 <elliott> http://www.youtube.com/watch?v=ND7tU8JME_g
19:33:38 <fizzie> That's true, and Holmes is a pretty active guy even in the books; it just looked somewhat overdone.
19:34:11 <elliott> "...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 <Phantom_Hoover_> elliott, Sherlock Holmes actually got pretty good writeups according to WP/
19:35:32 <elliott> Phantom_Hoover_: <elliott> fizzie: From what I've heard it was actually a pretty good film.
19:36:05 <elliott> "CIA sets up Wikileaks Task Force. They're calling it WTF."
19:36:28 <Sgeo> elliott, .. are they trying to put the entire plot in the trailer?
19:36:33 <Vorpal> elliott, where is that from?
19:36:44 <elliott> http://www.washingtonpost.com/wp-dyn/content/article/2010/12/21/AR2010122105498.html
19:36:47 <elliott> "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:38:03 <Phantom_Hoover_> Conclusion: the Asylum's film titles are utterly hilarious.
19:41:39 <Phantom_Hoover_> There is something seriously messed up with my graphics drivers.
19:42:59 -!- wareya has quit (Ping timeout: 240 seconds).
19:45:15 <Vorpal> Gregor, websplat on google results pages is weird
19:45:35 -!- wareya has joined.
19:45:51 <Gregor> Vorpal: That's how Google does images.
19:46:24 <elliott> Gregor: Does SPS actually work at all?
19:46:42 <elliott> Gregor: How easy would it be to port SPS to non-apt?
19:47:08 <elliott> And, um, oh, it looks like you've thrown out all the code... which was in D.
19:47:17 <elliott> SO I GUESS THE QUESTION IS IRRELEVANT
19:48:42 <Vorpal> Gregor, the flags on http://wiki.inspircd.org/Main_Page don't get the proper yellow border
19:49:09 <Vorpal> Gregor, they don't seem to use !important
19:50:43 <elliott> ...What on earth has that got to do with Gregor.
19:52:24 <Vorpal> elliott, it was mentioned less than 1/5th of a screenful above
19:58:10 <Sgeo> Apparently, Vorpal assumes that everyone has the same setup as him
20:02:13 -!- OoS has left (?).
20:06:15 <elliott> ugh, my OS makes it unnecessarily ugly to write haskell code
20:06:39 <Vorpal> Sgeo, well, even on a small monitor it would be in the same screenfull
20:06:54 <Vorpal> elliott, how do you mean?
20:07:15 <elliott> Vorpal: all the OS' structures are strict, and it has several unsafe operations due to them being immutable
20:07:33 <elliott> 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 <elliott> meaning efficient directory-traversing haskell code has to iterate, impurely
20:08:49 <Vorpal> elliott, hm, what does directory traversing haskell code do now normally?
20:12:07 <elliott> Vorpal: Do a lot of IO, basically.
20:17:56 <Gregor> elliott: What was that latest ping, the one that wasn't discovering that SPS killed itself :P
20:19:22 <elliott> Gregor: Nothing at all, I just wanted to see you try and answer my question that is now a non-question.
20:19:26 <Vorpal> elliott, ever finished adventure?
20:20:14 <Vorpal> elliott, as in. /usr/games/adventure
20:20:23 <elliott> Vorpal: navigation and spelunking
20:20:39 <Vorpal> elliott, ... why do you play minecraft then?
20:21:02 <Vorpal> 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 <pikhq> In other news, the repeal of DADT has been signed into law.
20:40:31 <pikhq> Why do I say "In other news"?
20:43:52 <Vorpal> 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 <elliott> Phantom_Hoover_: http://lumeniki.referata.com/wiki/Mercan
20:56:48 <elliott> http://lumeniki.referata.com/wiki/Merca "Songist"
20:57:45 <elliott> http://lumeniki.referata.com/wiki/Bodily_excretion
20:57:49 <elliott> MY FAVOURITE BODILY SECRETIONS
20:58:51 -!- Phantom_Hoover__ has joined.
21:01:06 <elliott> <elliott> http://lumeniki.referata.com/wiki/Bodily_excretion
21:01:06 <elliott> <elliott> MY FAVOURITE BODILY SECRETIONS
21:01:15 <elliott> Doodie, nightwater, smells, nosechewiw and misstrasauce.
21:01:57 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds).
21:02:15 -!- calamari has joined.
21:03:30 <elliott> The most crêpe thing I have ever seen.
21:03:40 <Sgeo> Previous versions had "Menstrual blood"
21:04:00 <elliott> Aww, no, he hates menstrual blood.
21:04:07 <elliott> Sgeo: Sadly? Are you like, a fan of menstrual blood?
21:04:22 <elliott> Phantom_Hoover__: http://lumeniki.referata.com/wiki/Jesus_%28carnation_Norm_Chomskywalker%29
21:04:48 <Sgeo> This guy doesn't seriously think he's a yeti, does he?
21:05:21 <elliott> Phantom_Hoover__: http://lumeniki.referata.com/wiki/EncyclopediaDracula apparently ed gives you diarrhoea
21:05:29 <elliott> In the dramatica sense, not the... other sense.
21:05:34 <Gregor> Somebody add Santorum to that bodily-excretions list :P
21:05:40 <elliott> http://lumeniki.referata.com/wiki/Norm_Chompsky
21:05:44 <elliott> HOW MANY CHOMSKY ARTICLES ARE THERE
21:05:52 <elliott> http://lumeniki.referata.com/wiki/Chomsky
21:06:04 <elliott> Gregor: http://lumeniki.referata.com/wiki/Mostsade what
21:06:14 <elliott> Gregor: But sandorum is only partly excretion!
21:06:23 <Sgeo> Is there any way to get this guy some mental health help?
21:06:34 <elliott> "Free software vs closed source" ;; rms would cry at this title
21:06:37 <Gregor> elliott: It's only partially /bodily/, it's all excretion in that it's excreted.
21:06:43 <elliott> Sgeo: I like him just how he is
21:07:19 <Gregor> 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 <Sgeo> Is the Venn Diagram correct?
21:07:43 <elliott> Gregor: Well, sure. ARGUABLY
21:08:00 <elliott> <Gregor> Clearly we must EXPERIMENT to determine for sure. Who volunteers?!
21:08:38 <Sgeo> Phantom_Hoover__, the wiki logo
21:08:46 <Sgeo> Does it display all possible combinations?
21:09:31 <elliott> Gregor: So, how easy would a HYPOTHETICAL SPS IMPLEMENTATION be to port to non-APT?
21:09:32 <Phantom_Hoover__> Sgeo, that is... that is not a Venn diagram. I don't think it's *meant* to be a Venn diagram.
21:09:51 <elliott> Phantom_Hoover__: http://lumeniki.referata.com/wiki/File:Dude.jpg it is dude
21:10:02 <Gregor> elliott: Most of SPS wasn't apt-related at all, it just used that to make guesses about versions.
21:10:02 <elliott> You're not the phattest tom, really.
21:10:07 <elliott> Gregor: And to install packages :P
21:10:29 <Gregor> That's more-or-less independent of SPS proper.
21:10:47 <Phantom_Hoover__> elliott, FUN FACT: that is a real picture of the King of the Dudes.
21:10:50 <elliott> Gregor: Good; how long until SPS 2 is out.
21:10:56 <elliott> Phantom_Hoover__: i.e. you
21:11:05 <Gregor> elliott: Seven billion years.
21:11:13 <elliott> Gregor: Can I pay you to make it go faster?
21:11:29 <Gregor> elliott: Sure, you'll bring it down to three billion years.
21:11:29 <elliott> "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 <elliott> Gregor: How much money for three weeks?
21:11:36 <Sgeo> He's a centaur?
21:11:56 <Gregor> elliott: Sorry, there isn't enough money.
21:12:14 <Gregor> elliott: It still needs to be based on SOME packaging system y'know :P
21:12:43 <Gregor> Phantom_Hoover__: Creating more money just decreases its value, the fundamental issue is that there's not enough /value/ in the universe.
21:13:17 <Sgeo> I would have said that the universe isn't large enough to store the smallest possible description
21:14:07 <Gregor> 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:15:17 * Phantom_Hoover__ ponders the tactical mind of the guy who wrote the navy reserve expansion to Oolite.
21:15:18 <Gregor> Phantom_Hoover__: Changing the speed of light would be a fundamental enough change to the universe that value would reduce proportionally.
21:15:41 <Phantom_Hoover__> The tactics seem to be "let's fly VERY SLOWLY at the enemy until they come into radar range!"
21:16:19 <Phantom_Hoover__> Gregor, I don't want to associate fundamental constants any more today.
21:18:49 <Phantom_Hoover__> 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 <pikhq> Gregor: What would you estimate is the value of a brick of antigold?
21:21:00 <Gregor> 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 <pikhq> Sure we could. I went to the frictionless pully store and got myself a vacuum bottle for it.
21:24:07 <Vorpal> Gregor, let us suppose the value constant of the universe was big enough. How big would it have to be?
21:28:43 <elliott> <Gregor> elliott: It still needs to be based on SOME packaging system y'know :P
21:28:47 <elliott> You could just factor out the few functions it needs.
21:29:56 <elliott> <Gregor> 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 <elliott> Gregor: It does not matter that the money gets to you in 3 weeks.
21:30:06 <elliott> Only that it is completed 3 weeks after it arrives.
21:30:50 <elliott> Gregor: BTW, what is cunionfs that unionfs isn't
21:31:21 -!- micahjohnston has left (?).
21:34:19 <elliott> Vorpal: http://ishmodupdated.com/
21:34:44 <elliott> As a blind, retarded hamster I support this motion of equality.
21:35:10 <Gregor> elliott: cunionfs is a per-process union FS. Every process may see a unique union.
21:35:21 <elliott> Gregor: Ahh. So it's Plan 9, implemented in FUSE.
21:35:39 <elliott> *Plan 9's namespaces, but same thing :P
21:37:00 <Gregor> 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 <elliott> Gregor: Hey, you should make it based on an arbitrary function rather than just getpid.
21:37:26 <elliott> Gregor: That would be COOL. and impractical and COOL.
21:38:45 <Gregor> And impossible to do in FUSE.
21:38:52 <Gregor> The only reason it's possible with FUSE is that I have /proc
21:40:53 <tswett> elliott: if a Slashes program ends with \, it simply stops.
21:41:07 <elliott> Gregor: Is an FS kernel module so hard? :P
21:41:32 <tswett> And //foo/ terminating immediately would be special behavior, it seems.
21:41:51 <elliott> tswett: //foo/ infinite loops, no?
21:41:58 <tswett> Right, I should think so.
21:42:00 <Gregor> elliott: I have no idea, I've never written any kernel code.
21:42:10 <elliott> Gregor: ask ais523, his students are writing a KEYLOGGER!
21:42:14 <elliott> despite this not being possible with vanilla linux
21:42:37 <elliott> Gregor: And despite them being so incompetent as to write size_t for sizeof because Eclipse completed size as that.
21:42:42 <elliott> Gregor: (Note: They are Masters' students.)
21:43:10 <Gregor> I figured with that kind of incompetence they had to be PhD students.
21:43:41 <elliott> Gregor: In the UK we optimise incompetence on all levels.
21:49:25 <elliott> Gregor: So is cunionfs actually stable? :P
21:55:21 <Gregor> Last I checked cunionfs itself was pretty solid.
21:56:47 <elliott> Gregor: Can I call it cuneiformfs?
21:56:59 <Gregor> I will not stop you from renaming it :P
21:57:06 <elliott> Also, "last I checked" -- has it got less stable since then? :P
21:57:24 <Gregor> It's possible that the FUSE APIs have changed in incompatible ways :P
21:58:00 <elliott> Gregor: How old is it exactly? X-D
21:58:10 <Gregor> Older than time itself.
21:58:53 <elliott> Gregor: 2009 -- older than time itself.
21:59:15 <elliott> 06:05 Changeset [3:3045e8c02021] by Gregor Richards <Richards@…>
21:59:16 <elliott> cunionfs/cunionfs.c: Support for symlinks.
21:59:30 <elliott> I can see that by the end of its development it had already been feature-complete for quite a while!
21:59:34 <elliott> Specifically, for a whole two revisions.
22:01:52 <elliott> Gregor: Maybe I'll just use stow :P
22:02:17 <elliott> Gregor: But how will you get my royalty money
22:03:31 <Gregor> 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:54 <elliott> Gregor: But I /am/ an Enterprise and I want to give you five billion monies.
22:04:12 <Gregor> Phantom_Hoover__: The only component of SPS I ever ported to C :P
22:04:27 <Gregor> Phantom_Hoover__: cunionfs is a unionfs that lets each process see its own union.
22:04:34 <Gregor> Phantom_Hoover__: SPS is dead. Long live SPS.
22:04:37 <elliott> cunionfs is leftist scum, basically.
22:04:54 <elliott> Phantom_Hoover__: No. You get six!
22:05:08 <elliott> Phantom_Hoover__: Did you ever do collision?
22:05:42 <Phantom_Hoover__> If two point masses (i.e. black holes) collide, the system divides by zero and crashes.
22:06:00 <elliott> Phantom_Hoover__: I ... I really hope our universe works like that.
22:06:57 <Phantom_Hoover__> 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 <elliott> Phantom_Hoover__: Make it instead blow everything up.
22:08:42 <elliott> Phantom_Hoover__: http://ishmodupdated.com/
22:10:05 <elliott> Shouldn't it be no, not not.
22:11:35 <Phantom_Hoover__> Remind me how to do the collision mechanics for non-trivial shapes.
22:12:29 <elliott> Phantom_Hoover__: Make a rectangle. Collide that rectangle.
22:12:34 <elliott> Make the rectangle slightly smaller than the object.
22:12:40 <elliott> Gregor can attest to this method's effectiveness.
22:13:00 <elliott> Except for working well, yes, yes it is :P
22:13:22 <Phantom_Hoover__> Also, surely compiled CL can be a little more decadent than JS?
22:13:52 <elliott> Gregor: Please explain to Phantom_Hoover__ that rectangle collision is how the world works.
22:14:04 <elliott> Er, "the world" being "2D games"
22:14:23 <Phantom_Hoover__> elliott, the big problem with that is that it handles rotation horribly.
22:14:49 <elliott> You just rotate the rectangle.
22:15:04 <Phantom_Hoover__> elliott, and then how do you actually *check* if there's a collision?
22:15:32 <elliott> Phantom_Hoover__: "Does this rectangle intersect with this other rectangle?"
22:16:40 <Phantom_Hoover__> elliott, I can't think of an efficient way to do so that doesn't extend to arbitrary polygons.
22:17:28 <elliott> http://en.wikipedia.org/wiki/Collision_detection#Video_games
22:17:33 <elliott> Phantom_Hoover__: You don't tilt the rectangles, obviously.
22:17:38 <elliott> You still keep the lines straight.
22:17:54 <elliott> You just rotate the rectangle and interpolate from that to make another rectangle; at least that's what /I'd/ do.
22:18:12 <elliott> 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 <Phantom_Hoover__> So basically we're back to "split shape up into lots of little rectangles and use rectangle method."
22:18:54 <elliott> But, ehh, I may be wrong, ask Gregor :P
22:19:05 <elliott> Phantom_Hoover__: Tilt the rectangle; from that, compute another, straight-edged rectangle, with the approximate same dimensions.
22:19:15 <elliott> (You can do this without actually tilting the rectangle, obviously.)
22:19:52 <elliott> Phantom_Hoover__: Don't worry -- I don't either.
22:21:09 <elliott> 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 <elliott> And that's in Amber, not Lisp.
22:21:25 <elliott> Phantom_Hoover__: (I think programming the whole world to a 30 Hz tick is the simplest.)
22:21:46 <elliott> Phantom_Hoover__: But, eh -- do general polygon collision.
22:21:48 <elliott> It might just be fast enough.
22:22:05 <elliott> Phantom_Hoover__: But if bullets are objects too, then we might be looking at thousands of objects at once :P
22:22:07 <elliott> Phantom_Hoover__: So figure it out!
22:22:12 <elliott> Phantom_Hoover__: Okay fine.
22:22:15 <elliott> Phantom_Hoover__: Do it any way you want.
22:22:27 <elliott> Phantom_Hoover__: http://gpwiki.org/index.php/Polygon_Collision
22:22:34 <elliott> Complete with broken images, but there you go.
22:22:43 -!- Gracenotes has quit (Remote host closed the connection).
22:22:46 <Phantom_Hoover__> [[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:32 <Phantom_Hoover__> elliott, FWIW, bullets I think would be done as a specialised kind of object.
22:23:58 <Phantom_Hoover__> With negligible mass or something, and when they hit something they disappear.
22:24:10 <elliott> Phantom_Hoover__: http://www.flipcode.com/archives/Basic_Collision_Detection.shtml
22:24:16 <elliott> http://pogopixels.com/blog/2d-polygon-collision-detection/
22:25:04 <Phantom_Hoover__> elliott, I think we should kind of map out what game we want to make.
22:25:16 <elliott> Phantom_Hoover__: I HAVE NO IDEA YOU'VE REELED ME INTO THIS WITH GRAVITY
22:31:33 <elliott> 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 <elliott> pikhq: You know about GCC nested functions, right?
22:33:42 <coppro> nested functions are hilarious
22:33:49 <coppro> I love the way they're implemented (read: not)
22:34:10 <elliott> coppro: Right. Returning them is non-kosher, right?
22:34:19 <coppro> elliott: they live on the stack
22:34:59 <elliott> 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 <Phantom_Hoover__> 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 <elliott> coppro: Those copy, I think.
22:35:28 <coppro> no, those have their own fun
22:35:54 <coppro> elliott: their implementation is different
22:36:05 <coppro> a __block variable IIRC is actually heap-allocated
22:36:07 <elliott> coppro: Can I access their implementation outside of Objective-C?
22:36:13 <elliott> I don't care how ugly or difficult it is.
22:36:19 <elliott> coppro: Does that just ... enable them in regular C?
22:36:33 <elliott> coppro: (Is there a reason it isn't awesome?)
22:36:42 <coppro> my gcc doesn't appear to have it
22:36:48 <pikhq> That's a clang thing.
22:36:56 <elliott> OK, does gcc have anything similar?
22:37:00 <elliott> I /can/ use clang ... if I have to.
22:37:05 <coppro> pikhq: blocks are implemented in some GCCs aren't they?
22:37:19 <coppro> elliott: gcc complaining about no input files trumps gcc complaining about other options
22:37:35 <elliott> oh right, Apple added them to clang directly, didn't they?
22:37:38 <coppro> hell, sometimes gcc will compile before finding out it doesn't know what an option does
22:37:44 <coppro> elliott: I had thought they were in some GCCs
22:38:04 <elliott> 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 <coppro> and certainly has -fblocks
22:38:14 <elliott> coppro: maybe just in Apple's gcc?
22:38:24 <coppro> but then the source would have to be available
22:38:40 <elliott> coppro: basically I'm implementing a language that compiles down to "something gcc or clang (depending on which I pick) accepts"
22:38:44 <coppro> (and Apple knows better than to piss RMS off by trying to avoid the GPL)
22:38:46 <elliott> coppro: and it has lambdas.
22:38:55 <coppro> blocks sound like a reasonable solution
22:39:13 <elliott> it's just i'd rather stick with gcc for ... little reason other than being a luddite
22:39:23 <elliott> coppro: overloading for what?
22:39:27 <coppro> elliott: functions of course
22:39:39 <elliott> coppro: what, why would I enable that?
22:39:48 <coppro> elliott: because I'm trolling you
22:39:57 <Sasha2> anyone know of a good Minecraft server?
22:40:09 <elliott> Sasha2: yes, I know of one.
22:40:31 <Sasha2> elliott, care to divulge this information with me?
22:40:33 <elliott> coppro: I actually think my language might have function overloading, but it'd be done at the compiler level
22:40:38 <elliott> Sasha2: nope! it's down anyway
22:40:49 <elliott> coppro: I'm already doing my own mangling, for namespaces.
22:40:57 <coppro> elliott: yeah, I can't imagine a meta-compiler getting a lot out of -foverloading
22:41:26 <elliott> coppro: I wonder how hard it is to add gdb support for a language. :)
22:41:37 <elliott> (mostly just demangling, since I think #line and the like will already have gdb show the correct source lines)
22:41:38 <coppro> elliott:I wonder too... :p
22:41:54 <coppro> what about expression evaluation?
22:41:58 <coppro> gdb can't do that for C
22:42:00 <coppro> much less your language
22:42:20 <elliott> coppro: let's just say that gdb has its own little language and leave it at that :P
22:42:30 <elliott> coppro: I'm still using C structs and stuff... well, depends how much Gregor's GGGGGGGGC mangles structs
22:42:33 <elliott> Gregor: how much does it mangle structs?
22:55:06 <Vorpal> 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 <elliott> Well, yes. But I don't see how you can formulate ais523's proof without some notion of input.
22:55:58 <Vorpal> elliott, however, he argued that input should /probably/ be considered part of the program
22:56:27 <elliott> Probably, yes, but I can't see how to word ais523's proof without it.
22:56:47 <Vorpal> elliott, maybe the proof doesn't work then?
22:57:07 <elliott> Vorpal: No, I mean, I can't see how you'd even /state/ the false proof without having a notion of input.
22:57:42 <elliott> Although you can maybe just rewrite:
22:57:49 <Vorpal> elliott, this is about the price I presume?
22:57:56 <elliott> run([P], I) as run([P(I)]).
22:58:02 <elliott> Where [...] means "the language's equivalent of".
22:58:07 <elliott> But how do you define that for brainfuck? or a CA?
22:58:09 <elliott> Vorpal: The price of what?
22:58:19 <elliott> <elliott> run([P], I) as run([P(I)]).
22:58:19 <elliott> <elliott> Where [...] means "the language's equivalent of".
22:58:19 <elliott> <elliott> But how do you define that for brainfuck? or a CA?
22:58:43 <Vorpal> 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 <Vorpal> elliott, and brainfuck is easy. It is fine without IO. P''
22:59:04 <Vorpal> if that is what you meant
22:59:09 <elliott> Vorpal: No, you do not understand at all.
22:59:24 <Vorpal> elliott, then what did you mean?
22:59:38 <elliott> 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 <elliott> Now let's say the input-less run is run'.
22:59:56 <elliott> run([P], I) as run'([P(I)]).
23:00:03 <elliott> But I do not know how to define [f(x)] for e.g. Brainfuck, cellular automata, etc.
23:00:18 <Vorpal> elliott, classical for brainfuck P(I) would be P+"@"+I iirc
23:00:22 <elliott> With Brainfuck you'd have to do a lot of tape-tracking probably.
23:00:26 <elliott> Vorpal: ...wow, you really don't understand at all.
23:00:32 <Vorpal> elliott, oh you meant like that
23:00:35 <elliott> Vorpal: If you do that why remove input from the equation?
23:02:01 <Vorpal> elliott, for a CA, what would be P be? the initial state? The rules?
23:02:27 <Vorpal> I presume the former, but then that seems the same as input
23:03:24 <Vorpal> elliott, but yeah it is a tricky issue in general.
23:03:39 <elliott> Vorpal: P would be the initial state.
23:03:41 <elliott> The rules are the language.
23:03:51 <elliott> True, CAs don't have input.
23:04:00 <Vorpal> elliott, right, that is why I got confused
23:05:03 <Vorpal> 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 <Vorpal> elliott, what was Sgeo's bf thing called now again?
23:05:59 <Vorpal> same idea basically (except with something more interesting)
23:06:13 <elliott> <Vorpal> 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 <elliott> Sure; the combination of those two is TC.
23:10:03 <elliott> Vorpal: Unrelatedly, got a better way to write this C99 program? http://sprunge.us/BLMO
23:10:25 <Vorpal> elliott, I'm not in a C-ish mode really atm. but I'll take a look
23:10:54 <Vorpal> elliott, that's err... interesting
23:11:22 <elliott> Can't figure out how to do it in one assignment.
23:11:25 <Vorpal> elliott, I never used variable length elements at the end of structs that were not only allocated dynamically
23:11:38 <Vorpal> elliott, well you could probably do that
23:11:47 <Vorpal> elliott, but I thought you wanted to avoid the extra struct
23:11:54 <elliott> Vorpal: Well, yes, I would rather.
23:12:08 <elliott> TBH, I'll probably end up dynamically allocating it and copying the string in.
23:12:19 <elliott> ByteString *str = malloc(sizeof ByteString + 3);
23:12:32 <elliott> strcpy(str->bytes, "abc");
23:12:33 <Vorpal> 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 <elliott> Vorpal: One assignment would be cool.
23:12:49 <Vorpal> elliott, need to look something up for it
23:13:19 <Vorpal> return (funge_vector) { .x = x, .y = y };
23:13:24 <Vorpal> elliott, you can do that sort of stuff
23:13:34 <Vorpal> elliott, (btw, this makes splint go mad :D)
23:13:45 <Vorpal> elliott, I suspect you could use the same general idea here
23:14:03 <elliott> Vorpal: I already tried that.
23:14:07 <elliott> Vorpal: You can't cast a struct.
23:14:23 <Vorpal> elliott, ah... so it's rather special cased syntax
23:14:27 <elliott> because it thinks "abc" is non-constant
23:14:31 <elliott> because the pointer could be ANYTHOMG!!
23:14:40 <Deewiant> If you want a pointer to something you need to allocate storage for it, you can't do that in one assignment
23:14:52 <Vorpal> elliott, you can assign a constant string, you just did: __str0_v = {3,3,"abc"};
23:14:55 <elliott> It's compiler output anyway. So no big deal.
23:15:01 <elliott> Vorpal: not with ByteString
23:15:20 <Vorpal> elliott, why not make it a char*, then you could I think
23:15:33 <elliott> Vorpal: Because that's another memory allocation for no reason?
23:15:47 <Vorpal> elliott, well, it would make an extra pointer
23:16:03 <Vorpal> elliott, but the string would go in .rodata
23:16:18 <elliott> ByteString *str = malloc(sizeof ByteString + 3);
23:16:18 <elliott> memcpy(str->bytes, "abc", 3);
23:16:22 <Vorpal> elliott, suggestion: don't use C
23:16:24 <elliott> str can be reallocated willy-nilly anyway.
23:16:27 <elliott> Vorpal: it's COMPILER OUTPUT.
23:16:38 <elliott> I'm not writing a compiler that compiles to Haskell, that would just be ridiculous.
23:16:47 <elliott> Vorpal: I'm doing lambdas, you know! :p
23:16:52 <Vorpal> elliott, compiling to haskell sounds fun
23:16:54 <elliott> Vorpal: Which means I'm probably using clang, for its blocks-in-C support.
23:17:06 <Vorpal> elliott, why not use pikhq's code for that
23:17:20 <Vorpal> didn't he even have closures
23:17:35 <elliott> Vorpal: Not ones you could return.
23:19:21 <elliott> [[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 <elliott> 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 <elliott> They've clearly never heard of COME FROM.
23:20:38 <elliott> I wonder if (Gregor) GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGC works with clang.
23:20:53 <elliott> Vorpal: You know what everyone loves??? NAME MANGLING
23:28:22 <pikhq> elliott: You can return the nested function pointers so long as they don't close.
23:28:34 <Vorpal> 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 <pikhq> elliott: Which is why my code did manual management of closing instead of using GCC's closing.
23:29:05 <pikhq> Also, it's technically not guaranteed to work at all, it just happens to.
23:29:06 <Vorpal> elliott, but what about names like is-int?
23:29:27 <Vorpal> elliott, so it isn't a scheme-ish
23:34:13 <Vorpal> elliott, what language are you compiling?
23:34:42 <Vorpal> elliott, never heard of it, is it an esolang?
23:34:48 <Vorpal> which sort of esolang the
23:34:53 <Vorpal> elliott, then what is it? :D
23:41:36 <Vorpal> Phantom_Hoover__, and something that needs name mangling too
23:45:55 <elliott> Phantom_Hoover__: Not quite true. plz leave explainin' to me
23:46:29 <Vorpal> elliott, waiting for that
23:46:44 <Vorpal> elliott, going to sleep in 5-10 minutes
23:47:19 <elliott> 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:44 <elliott> 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 <elliott> e.g. SDL_Foo you probably want as sdl.foo.
23:48:01 <elliott> Vorpal: The target market is basically game development.
23:48:26 <elliott> Vorpal: The idea is that you don't need bindings at all because the calling convention is exactly the same, etc.
23:48:36 <elliott> Name mangling is for the namespaces/modules.
23:48:44 <elliott> M2myM7awesome_function is my.awesome.function.
23:49:08 <elliott> name := M<length><identifier><name> | _<identifier>
23:49:25 <Vorpal> elliott, you need some bindings to handle your "saner structs"
23:49:35 <Vorpal> elliott, or can you just include a C header file?
23:50:16 <Vorpal> elliott, and you probably need some kind of C-string<->sane-string mapping too
23:50:47 <elliott> <Vorpal> elliott, you need some bindings to handle your "saner structs"
23:50:55 <elliott> By saner structs I just mean you access stack and heap allocates ones the same :P
23:51:03 <elliott> In fact I might not have stack structs.
23:51:07 <elliott> <Vorpal> elliott, and you probably need some kind of C-string<->sane-string mapping too
23:51:10 <elliott> Yes, that's the one thing that will be mapped.
23:51:20 <elliott> (since they're kept null-terminated)
23:51:26 <elliott> Vorpal: But yeah, I might just have heap structs only. Not sure.
23:52:04 <Vorpal> elliott, hm. That will make interfacing with stuff like sdl and allegro a bit more painful
23:52:18 <Vorpal> elliott, I'm pretty sure there are foo **bar style pointers there
23:52:30 <elliott> Vorpal: Well, right, I'll have to see. I can't have totally-general pointers though 'cuz of the GC.
23:52:39 <elliott> (The first program (well, game) written in it will be Allegro-based. Or SDL.)
23:53:05 <Vorpal> elliott, I have to say I find sdl nicer. Even though allegro is higher level
23:53:23 <elliott> Vorpal: I'm going to look at Allegro 5.
23:53:29 <elliott> Since it's out real-soon-now.
23:53:34 <Vorpal> 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 <Vorpal> elliott, yeah I haven't looked at allegro5
23:53:51 <elliott> Vorpal: Well, it's a 2D game here.
23:53:56 <elliott> But with quite a lot of things to keep track of.
23:54:07 <Vorpal> elliott, right, I written 2D games with both allegro and sdl.
23:54:31 <elliott> I blame Phantom_Hoover__ for this endeavour entirely, BTW.
23:55:12 <Vorpal> elliott, so, do you think you will complete this project within the next few months?
23:55:17 <Vorpal> or will it be put on hold
23:55:20 <Vorpal> like a lot of other things
23:55:21 <Sgeo> Why was Vorpal asking about PSOX?
23:55:26 <elliott> Vorpal: Well, Phantom_Hoover__'s already written some code and is writing more.
23:55:38 <elliott> Admittedly it's in Common Lisp, but Phantom_Hoover__ writing code is rare enough that at least some dedication appears to exist.
23:56:00 <Vorpal> elliott, I wasn't aware of that
23:56:06 <elliott> Vorpal: I think this is his fifth program. Phantom_Hoover__?
23:56:14 <Vorpal> elliott, I thought he was purely theoretical
23:56:32 <elliott> I'm purely theoretical. I don't exist in practice.
23:56:49 <Vorpal> elliott, and you... code a shitload. Just you do breadth-first not depth-first.
23:57:20 <elliott> Vorpal: Well, Amber is specifically designed to be really easy to compile to C.
23:57:36 <Vorpal> elliott, still requires writing a parser
23:57:38 <elliott> Once I have a parser, it should be pretty trivial.
23:57:49 <elliott> Vorpal: I'm probably going to write the compiler in Python for the "it's there"-ness of it.
23:57:59 <Vorpal> elliott, and parsers I can't help with. Anything more complex than parsing, say, brainfuck I hate
23:58:14 <elliott> 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:38 <elliott> 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 <Vorpal> 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 <Vorpal> elliott, what is the game btw?
23:59:24 <Vorpal> elliott, magic-BNF? lex and yacc?
23:59:25 -!- Sasha2 has quit (Read error: No route to host).
23:59:32 <elliott> 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 <elliott> Vorpal: Definitely Newtonian.
23:59:45 <elliott> Vorpal: Imagine Asteroids, times a few billion.
23:59:54 <elliott> Vorpal: Also: Localised changes to the laws of physics as a tactical weapon!