00:00:15 This is IRC, we don't need no stinkin' ASCII. 00:00:32 you're right, brb unicode 00:00:48 ♩. ♩. ♩ ♩ 00:00:49 `run cat /dev/urandom 00:00:50 ​\.wd..\fsX.5.S]3읢].a;Uj 00:01:18 I used to use cat /dev/random as an equivalent to reset, because I didn't know about reset 00:01:22 it tended to work eventually 00:01:27 ⒒ 00:01:28 lol 00:01:30 I found the 1/1 time signature 00:01:42 Patashu: Surely the most useful. 00:01:44 ais523: I'm assuming you also didn't know about urandom? 00:01:48 indeed 00:01:52 (I do now, of course) 00:02:02 actually, /dev/random was slow enough that it was probably better for that purpose 00:02:08 Ẅē—ñêéđ—őǹłÿ—Üńı¢øðè¡ 00:02:08 urandom would quickly fill up the entire terminal with garbage 00:02:19 ⁂ 00:02:22 pikhq: I'm disappointed in you for not using a Unicode space for the spaces 00:02:23 found the triforce 00:02:35 aren't triforces made of triangles? 00:02:43 ais523: I was lazy and only used things I already have a compose key for. 00:02:46 it's a very small triforce and placed in a beam of light 00:02:49 so it's shinier than it is trianglier 00:02:53 🐐 found the goat 00:03:30 ais523: my /dev/random is painfully slow though 00:03:34 Also, yes, the Triforce is the first iteration of Sierpinski's triangle. 00:03:36 it would take several minutes to fill the whole screen. 00:03:46 oh, relating to that question about Uematsu, there are quite a few, indeed 00:03:57 CakeProphet: that was the point 00:04:01 I didn't want it to 00:04:13 whereas it doesn't take urandom long to even overflow scrollback 00:04:14 ♩♪♫♬♭♮♯ 00:04:28 Patashu: You realize I've long since diagrammed the notes :P 00:04:41 I'm just copying them out so I have them 00:05:18 heh, apparently Mother 3 lets you do combos by pressing buttons in time to the music, and uses really silly time signatures (like 29/16) later on to make it harder 00:05:22 that's pretty in character for that game 00:05:31 29/16? 00:05:38 hmmm 00:06:00 > map (16*) [1..] 00:06:00 [16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256,272,288,304,320,... 00:06:14 * Patashu np: 10253. Shogo Sakai, Shogo Sakai - [Mother 3 #80] Back Beat Battle - Hard, Back Beat Battle - Hard, Back Beat Battle - Hard [00:01/01:53] 00:06:38 29/x (no, the denominator does not matter) is probably something like eight measures of four then a random extra beat. 00:06:39 This song swaps between 8 and 9 quavers 00:06:52 it's actually 32/x with three beats missing, apparently 00:07:14 -!- Vorpal has quit (Ping timeout: 258 seconds). 00:07:23 This is 15/8 00:07:24 * Patashu np: 10296. Shogo Sakai, Shogo Sakai - [Mother 3 #205] Strong One, Strong One, Strong One [00:18/02:34] 00:08:14 ais523: 32/x doesn't exist, it's nine measures of four :P 00:08:30 Gregor: s/doesn't exist/doesn't meaningfully exist/ 00:08:34 count this: http://www.youtube.com/watch?v=aUYtWvavvYg 00:08:35 Sure sure. 00:09:06 Someone could transcribe some 4/4 music into 4/G time just to be an ass. 00:09:16 G? 00:09:21 Graham's number. 00:09:26 also, bulgarian bulge is sooo good 00:09:33 Gregor: eight of four 00:09:49 ais523: Errr, yes ... 00:09:57 Math I are not good at. 00:10:01 I am not sure the resulting sheet music would fit in the universe. 00:10:05 8/8 I've used to mean 3+3+2 00:10:40 I'd say the retain some meaning up until about 12. 00:10:46 let's invent something better than time signatures 00:10:49 they don't retain enough information 00:10:49 (I choose 12 because I've written something in 12 8-D ) 00:11:09 Gregor: At which point it becomes notational masturbation? 00:11:13 Patashu: I'll let you muddle over it until you're talking about PCM, then realize why notation exists. 00:11:17 pikhq: Yup. 00:11:30 Don Ellis has plenty of complex time signatures if you're into that. 00:11:49 It's not exactly hard to find music with complex time. 00:11:58 Though you might have to leave top 40. 00:12:08 Gregor: 12/8 is relatively common, isn't it? 00:12:08 I assume by complex you mean complex numbers. 00:12:13 it's the triplets version of 4/4 00:12:16 ais523: Relatively. Yeah. 00:12:32 -!- pikhq_ has joined. 00:12:34 Now, 4+2i/4 time, THAT'S rare. 00:12:45 can imaginary time even be played? 00:12:49 you'd have to convert it to temperature somehow 00:12:51 complex music sounds difficult. what's the second dimension, pitch? 00:12:52 I imagine a complex time signature would be like two real signatures superimposed. 00:12:55 18:13 < pikhq> It's not exactly hard to find music with complex time. 00:12:56 one part has one signature another part has the other. 00:12:57 18:13 < pikhq> Though you might have to leave top 40. 00:13:00 18:13 < pikhq> Which you should anyways. 00:13:13 that's because "complex time" means 6/8, etc 00:13:28 ... 6/8 is so not complex :P 00:13:53 what about irrational time signatures? 00:13:58 those would at least be possible to play 00:14:09 although probably only via synthesizer from a timecode file 00:14:12 Gregor: It's not 4/4! 00:14:13 :P 00:14:32 An irrational time signature would sound like your computer glitching up 00:14:46 Every X gaps would be the wrong length 00:14:47 ais523: I think you could play a complex time signature if you split the piece into two superimposed songs. :P 00:15:03 That's not really very meaningful imaginary time. 00:15:17 hmm, what about having two different lines in incommensurable tempos? 00:15:20 that might sound quite good 00:15:32 Gregor: I don't see any other way to do it really. 00:15:34 (x and y are incommensurable if x/y is irrational, in case you'd never heard the word before) 00:15:47 CakeProphet: Wouldn't that just be polyrhythm? 00:15:55 pikhq_: yes 00:16:19 what do you mean "just" polyrhythm. 00:16:26 do we already have a notation for polyrhythms 00:16:37 I thought it was just "oh yeah this part is 3 and this one is 2" 00:16:46 -!- pikhq has quit (Ping timeout: 268 seconds). 00:16:49 Actually, I dunno if we do or not. 00:17:07 It could very well be a deficiency in Western music notation. 00:17:31 that could be remedies by complex numbers and quaternions! 00:17:34 *remedied 00:17:56 and whatever the 3-component one is called. 00:18:11 Or ... you could just write both lines, make sure the bar lines line up, and just notate them differently :P 00:18:23 Gregor: Smart-ass. 00:18:23 :P 00:18:44 Gregor: not as formal sounding! 00:18:46 Alternatively, you could color-code, use different note styles, or just realize that it's not a good idea *shrugs* 00:20:30 it's an excellent idea you just don't know it. 00:20:41 I suppose you could also the same thing with vector time signatures. 00:24:13 SO GUYS, I'm thinkin' of writing an environment for competitive programs which is presented as a 2D environment supporting some kind of cellular automaton (in addition to the intelligent agents controlled by the competitors), in which the goal is some kind of resource hoarding (like capture-the-flag for an enormous number of flags) 00:24:15 don't you just write it in expanded notation, making the barlines line up? 00:24:32 Gregor: could be interesting if done properly 00:24:43 ais523: The "done properly" part is why I'm bringing it here :P 00:25:02 I have some ideas, but I don't know if they make a cohesive game, so I'll see what other people would do with the same basic concept. 00:26:06 wow, TIL that force fields actually exist and are possible with current technology, but are typically only used on very small scales because they take so much energy to maintain 00:26:37 Gregor: I enjoy this idea. 00:26:51 I had a similar idea but with a rogue-like interface. 00:26:52 and are typically only used to allow radiation generators that only work in vacuums to nonetheless aim the radiation at something that isn't in a vacuum 00:27:26 (presumably in cases where you couldn't just use glass or another transparent material) 00:28:03 Gregor: so both programs would get to take turns inputing a text command into the environment. It could easily be a 2D grid of "rooms" or just cells. 00:28:30 CakeProphet: I think mine requires less strong AI :P 00:28:49 no not like that. more like a MUD that rogue. 00:28:57 north south east west 00:29:05 Gregor have you ever played with Robocode 00:29:14 get, put, kill, etc 00:29:43 I like the MUD-like interface because then you can theme it about something. 00:29:47 Patashu: I've looked at it a bit, but Java makes me want to puke :P 00:30:08 TWO PREHISTORIC HUMANS IN A FIELD WITH SPEARS HUNTING WILD GAME AND TRYING TO STARVE OR KILL THE OTHER, or.. something. 00:30:11 poor Gregor 00:30:17 he has a java allergy 00:30:24 it makes him break out in rashes on touch 00:30:39 we had to ban java from our high schools to ensure Gregor and people like him's safety 00:30:57 !sh touch AbstractProxyUtilityHandlerFactory.java 00:30:58 ​/bin/touch: cannot touch `AbstractProxyUtilityHandlerFactory.java': Permission denied 00:31:10 beautiful 00:31:10 LOL 00:31:16 CakeProphet: did you know that was going to happen? 00:31:29 I thought it might but I wasn't sure. 00:31:54 !sh touch hot.stove 00:31:55 ​/bin/touch: cannot touch `hot.stove': Permission denied 00:31:59 Why mother :( 00:32:31 !sh touch hot.stove & echo "You'll burn yourself, dear" 00:32:31 You'll burn yourself, dear 00:32:48 That didn't work the way I expected it to 00:32:56 You wanted || 00:33:09 !sh touch hot.stove || echo "You'll burn yourself, dear" 00:33:09 ​/bin/touch: cannot touch `hot.stove': Permission denied 00:33:28 If there are two outputs it DCCs one of them to me 00:33:37 !sh touch hot.stove && echo "You'll burn yourself, dear" 00:33:37 ​/bin/touch: cannot touch `hot.stove': Permission denied 00:33:56 ...oh, right 00:33:59 >_> 00:34:30 So anyway, any further thoughts on CAbattlelandgamelol 00:34:34 I think it's just an EgoBot thing 00:34:44 Gregor: some form of resource gathering. 00:34:50 something to do with said resources 00:35:02 an objective 00:35:02 That's the trick, innit ;P 00:35:11 and surrender conditions. 00:35:14 Oh oh, make it like civilization 00:36:10 Gregor: well you have a home. you probably don't want it destroyed. you take resources back to your home to build things and uh... hatch more of yourself. 00:36:23 ?? 00:36:45 Would you be able to see everything at all times, or only within a certain range? 00:36:50 My thoughts were basically this: The resources include the one you're trying to collect, as well as an abundant building material. You build an area and try to collect stuff into it. 00:37:05 (The stuff you're trying to collect always moves randomly) 00:37:10 Patashu: Only an area. 00:37:19 I think there ought to be some kind of directionality in both humans and animals 00:37:20 Like in robocode 00:37:37 Patashu: Directionality in what sense? You know what north is? 00:37:48 Because it makes movement non-trivial; based on which way you're pointing, your enemy is pointing and your guns are pointing as well as which direction you think your enemies will move next, you have to decide what to do next 00:37:56 direcitonality as in, if I'm moving in a direction X I can keep moving in it or turn 00:38:17 Oh 00:39:22 Without advantaged and disadvantaged positions it boils down to RPS 00:39:28 the grid itself could also be a kind of program, like a fungespace 00:39:49 CakeProphet: Yeah, I wanted it to be a CA of some kind. 00:39:51 allowing you to create things like tripwires. 00:40:04 That could make advantaged and disadvantaged areas, as well as allow for cleverness by players. 00:40:26 a CA like the game of life, or a CA more like von neumann's CA? 00:40:32 Unsure. 00:40:39 maybe animals breed according to the game of life 00:40:41 LOLOL INFINITE SHEEP 00:41:24 I think a fungespace would be more interesting than something like GoL 00:41:41 CakeProphet: I think a CA other than GoL would be more interesting still :) 00:41:48 a fungespace with instruction pointers, or circuit-like execution? 00:42:04 are your mans the instruction pointers? 00:42:53 yes to everything 00:43:01 Umm :P 00:43:19 well no 00:43:31 your agent(s) would be writers 00:43:44 that can place codes 00:43:53 on a concurrent fungespace thing. 00:44:36 and also read what the current code is I guess. 00:44:53 I don't want the substrate to be so complex that you can't make at least some kind of analysis of it ... 00:45:03 yeah that's what I was thinking 00:45:07 too complicated = ded 00:45:10 All I want is a CA that's /mostly/ but not entirely stable, like wireworld, but maybe a bit nicer. 00:45:18 wireworld sounds nice 00:45:26 maybe wireworld with instant (or faster than normal) transmission? 00:45:30 like 10 generations per one mans generation 00:46:30 and explicit input/output mechanisms that send signals and pick up signals 00:46:41 My concern with wireworld is less about propogation time (although I agree) than about whether it makes a suitable substrate ... I think it might be /too/ stable. Most random circuits I suspect would normalize to blackness and cold wires. 00:47:06 random circuits would be uninteresting yeah 00:47:46 But maybe wireworld with a SLIGHT change can improve that? 00:48:00 (I'd rather have the substrate be more-or-less random, so you have to do something to get interesting behavior) 00:48:08 wouldn't it be interesting if your agent(s) could place and remove conductors? 00:48:13 What kind of slight change do you have in mind? 00:48:24 CakeProphet: I think it's vital :) 00:48:42 Patashu: Addition of a new state? Something like "electron barfer" that just makes infinite electrons at some rate? 00:48:55 It's easy to make electron generators already 00:49:02 why not just start with empty? or do you not want to be like bfjoust where there's not much variation in the terrain. 00:49:48 you could just add a number of new states. 00:49:51 CakeProphet: I feel like deciding a good home base should be important, and for that we need randomized "terrain", even with biomes ala Minecraft. 00:50:00 Patashu: Yeah, but then most terrain would freeze. 00:50:13 CakeProphet: Such as? 00:50:19 for example, you could have a state that generates electron heads on every neighboring conductor if an agent is present. 00:50:41 pressure plate. :) 00:50:48 +1 00:50:55 <-- googwhore 00:51:01 Buttons that agents can deign to push 00:51:08 Levers that agents can deign to toggle between electron barfer and do nothing 00:51:14 So basically minecraft 00:51:18 lol no 00:51:18 yes 00:51:41 What's your struly doing here? 00:52:15 Patashu: but since minecraft has redstone which acts similar to wires, and we're using a wire-like CA 00:52:19 there's going to be similarities. 00:52:34 yeah it's inevitable 00:52:35 Naw, levers = too much intelligence. 00:52:45 Remember these are programs, not people :P 00:52:56 still we haven't really established a point to all of this wire business. 00:52:59 maybe instead of wireworld, have explicit links between components? so it's easier to analyze by a bot 00:53:04 CakeProphet: True X-D 00:53:28 so if the point is to maybe trap the other agent so that it can't move, then you'd want some kind of wall state. 00:53:51 if the point is to gather resources then you want a way for the wires to act as supply lines. 00:54:23 Not necessarily, you could still just want them to be a wall, to prevent the other player from stealing them as well as mark your territory. 00:54:59 ah, I know. 00:55:12 certain actions could have costs involved. setting up and removing walls would cost points. 00:55:30 of course 00:55:47 but I think conductor should be free, perhaps? 00:55:59 Naw, just plentiful in the substrate and collectable. 00:56:06 ah. 00:56:22 can you sabotage your opponents mechanisms? 00:56:24 You have to destroy the substrate to build anyway *shrugs* 00:56:29 Patashu: Why not? 00:56:46 OOOH OOOOH OOOOOOOH 00:56:52 Capture the flag 00:56:52 well, if it's too easy you'd never build anything 00:56:57 Your flag is a special electron. 00:57:02 aha 00:57:17 a permanent electron head? 00:57:29 Not permanent, or it wouldn't be enormously collectable :P 00:57:33 so could it be moved around, you mean? 00:57:42 When you join, it would create a repeater to keep it alive, then you could try to protect it. 00:57:56 I think it would be interesting if you had to conduct the flag back to your base instead of just take it and run. :) 00:58:26 CakeProphet: Hmmmmmmmmmmmmmmmmmmmmmmm, but then we still need a consistent notion of "base" :) 00:58:48 Your base is the area enclosed by base markers, which take X resource to produce 00:58:58 no need to make it all formal 00:59:04 a single cell could easily have multiple kinds of states. 00:59:17 base would just be a special designation for the location you started at. 00:59:26 CakeProphet: Started at is no good. 00:59:37 er, why? 00:59:38 CakeProphet: I wanted to make so-called biomes so you would need to find a good spot. 00:59:55 what were we saying about complexity? :P 01:00:02 Hm :) 01:00:06 admittedly that would be cool if it's not too absurd. 01:00:09 If you have biomes, random map generators would be biased in favour of one player or another too often 01:00:39 Patashu: Not if it always puts you in a shitty location X-D 01:00:43 haha 01:01:06 exploration would be very time consuming in a game like that. 01:01:51 reminds me of opening turns in civilization 1 01:01:51 Fair enough ... so maybe a consistent (though random) substrate, and your starting location (+radius X?) is your base. 01:01:55 the main problem with carrying a flag electron is that that's not how wireworld works. 01:02:05 if you don't like your first spot, it takes an entire turn to move your initial settler one tile, and you often don't have anything else to explore with you 01:02:06 electrons can branch off onto two conductors, where would the flag go in that situation? 01:02:27 I guess they could ALL be flags... 01:02:44 CakeProphet: Yeah, I haven't fully thought that through :) 01:02:51 as long as they come from another flag electron head, which has to originate from someone's base 01:03:07 what if you take it to an AND gate, and it's not sending output? it just...gets blocked there? 01:03:14 sure. 01:03:15 maybe you could drag it back to the previous gate and do a do-over 01:03:29 build another wire out of your opponent's base to go around it 01:03:30 XD 01:03:30 I'd imagine part of the strategy would be trying to prevent a flagged electron from arriving. 01:03:33 short circuiting! 01:03:35 Clearly we need more sophisticated rules for the not-actually-an-electron-head flag *shrugs* 01:04:09 and the attackers strategy would be to keep the flag alive by creating branches, carrying it through a trap to block the defender, etc. 01:04:50 * Gregor hmms, unconvinced. 01:05:28 you just need a medium-sized list of states that play nicely together. so one kind of wall could be electron-activated. 01:05:44 have any of you ever played DROD? 01:05:53 danggit 01:05:54 the other kind just stays there until someone removes it. 01:06:01 Patashu: Nope 01:06:31 None of {elliott, Phantom_Hoover, Taneb} are here 01:06:36 both can be removed. everything could be torn down at a cost. 01:06:51 You should try it, it's a unique puzzle game revolving around slashing things with your sword and not dying and also puzzles 01:06:56 Sgeo_: Seed money for the reanimator. 01:07:00 It has directionality in that your sword is facing in only one direction at any given moment 01:07:08 Gregor: probably the best way to go about a competitive programming game of this complexity 01:07:24 is to go ahead and build the codebase, throw together some ideas, test it out, revise. 01:07:26 -!- copumpkin has quit (Ping timeout: 240 seconds). 01:07:34 CakeProphet: Probably a fair point ... 01:07:47 until it makes sense and is competitive. 01:08:17 -!- copumpkin has joined. 01:08:42 So, what are our states thusfar? 01:09:01 Are animals and resources CA states or actors? 01:09:07 wireworld states. modifier states: flag, base 01:09:18 Patashu: I think we kinda lost animals and resources :) 01:09:30 well I think resources would still be a good idea 01:09:30 CakeProphet: So, no walls now :P 01:09:36 er wait, yeah, walls. 01:09:39 Haha 01:10:01 electron-activated walls, regular walls, triggers (aka pressure plates, buttons, whatever) 01:10:03 CakeProphet: And I'm far from convinced that flags should be special electrons, I think they should be a separate state that just has some similar behavior to electrons. 01:10:34 The thing is, with the design as it stands, non-flag electrons serve no purpose whatsoever :) 01:10:34 I think the resources are important because otherwise it becomes far too easy to just destroy something the other player built. 01:11:01 so to destroy something would cost something. time, points, whatever. 01:11:19 * Gregor continues to hmmm. 01:11:34 Gregor: they would activate various "output" devices I'd imagine. Like the powered walls. 01:11:42 I think it should cost more to destroy than to create 01:11:44 Else why ever build? 01:12:29 but if you want it so that you "collect" resources then you could have it so that there's ownership of things. 01:12:34 yours, enemies, unowned. 01:12:53 Balance is going to be a real trick ... 01:12:59 so you could up yours/unowned for free, and keep it 01:13:11 but then to destroy an enemies you need to expend something. 01:13:20 -!- jcp has joined. 01:13:25 Maybe natural electrons are a resource, and the terrain generator would make sure they're stable in some places? 01:13:40 that sounds reasonable. 01:13:53 I guess that would be the only way to generate power. 01:14:21 complexity isn't bad... it would just be a long-term game. which makes it more interesting. 01:14:40 My concern in the complexity is that nobody would ever write a player :P 01:14:58 well if you have it so that you connect to the server and send commands from any language you want 01:15:07 then it wouldn't be too bad to keep track of state and such. 01:15:23 as opposed to bfjoust where it's always brainfuck and so even the smallest bit of complexity results in huge programs. 01:15:56 Oh, absolutely this is an any-language game. 01:16:02 I think to maintain sanity you'd need concurrent agents that you could eventually produce with resources. 01:16:23 that could also be killed, perhaps. 01:16:31 I don't know. 01:16:33 just an idea. 01:16:35 throwing shit out there. 01:16:40 If they're concurrent over the interwebs, then peoples' connections cause them unfair ad/disadvantages :( 01:16:49 just need a round robin scheduler. 01:16:58 with a surrender timeout. :P 01:17:05 CakeProphet: Then it would take days to get a frame X_X 01:17:08 if you take too long to issue your commands then you automatically lose. 01:17:18 days? 01:17:21 don't see why. 01:17:33 if you take too long to issue your commands then you automatically lose. // then we're back to connection ad/disadvantages. 01:17:58 well otherwise it just hangs forever until the player reconnects. 01:18:04 it could be a long timeout. :P 01:18:10 -!- jcp|other has joined. 01:18:22 CakeProphet: OK, then it'll take days to render a frame :P 01:18:35 ...still not following. 01:18:49 "Days" is obviously an exaggeration. 01:19:01 oh... yeah didn't catch that. 01:19:13 I'd imagine it would take like... miliseconds. 01:19:20 My point is that if you have to wait 500ms for every update, we're talkin' multi-day epics to actually accomplish anything. 01:20:25 how long you have to wait would just depend on the connection latency 01:20:29 it probably wouldn't take that long 01:20:40 but I don't think it's something you can really avoid. 01:20:57 You can make it less terrible by running the programs on the same machine/network :P 01:21:31 with the non-concurrent setup it would take hundreds of steps to use a defensive strategy to upkeep your camp/resources/whatever 01:22:27 100 steps is probably about a minute over the Internet. 01:22:52 oh well, I'd wait. :P 01:23:21 but yeah you could host them on the same machine. 01:23:32 just pass an input handle to the programs. 01:23:41 * Gregor continues to hmm. 01:23:47 er, output handle rather. 01:24:01 stdout of the client program would be the input to the server. 01:24:09 er, what am I talking about just use stdio :P 01:24:11 lol 01:24:35 so yeah new agents would be expensive 01:24:47 *eh* 01:24:48 if possible at all. 01:25:06 If anybody knows how to safely run untrusted code, it's me :P 01:25:11 unless you do the redcode thing where you can't actually go faster you can just be in multiple places at once. 01:25:41 Robocode manages to do it somehow 01:25:46 but still that should cost something because that's still an advantage. 01:26:01 Hmmmmmmmmmmm 01:26:17 it would certainly make it feel more like an RTS of sorts. 01:26:19 http://en.wikipedia.org/wiki/Robocode#Safely_run_other_peoples.27_bots 01:26:37 well if you just sandboxed everything and set permissions I don't see the problem. 01:27:26 Patashu: Robocode is VM'd, sandboxing a VM is boring. 01:27:36 okay so I think an important first step would be to figure out how resources would work for the first draft. 01:27:41 I don't see the PROBLEM, I'm just hmming over the necessities. 01:27:43 Yeah. 01:27:53 as resources are essential to the strategy. 01:28:13 Are we agreeing that electrons are a legit resource? 01:28:15 so you could have it where there's electron geysers out in the world, and you have to funnel them to your base. electrons = points 01:28:31 or you could have it where you just go around scavenging shit. 01:28:36 yes. 01:29:09 also a form of logic, for doing things. 01:29:10 Hmmm, I think we need a more powerful notion of "base" if we want to funnel electrons to the base ... plus that makes doing things at the opponents base or making decoys annoying. 01:30:11 well, the other alternative would be to... somehow have electrons construct other states themselves through uh... some kind of funky voodoo. 01:30:25 I'm not entirely sure what a decoy would be in this game.... 01:31:03 or you could have it where you just claim the geysers and they build electrons automatically over time, but that's kind of lame I think. 01:31:40 That is lame. 01:31:50 Also by "geyser" I hope you just mean "stable circuit" 01:32:06 Not the mythical electron barfing cell. 01:32:13 no I mean like resources that's autogenerated on the map that you have to find and then connect to your base. 01:32:22 basically an electron generator/repeater thing. 01:32:40 Right, but that can be done with plane wireworld circuitry, not anything special. 01:32:43 but I guess it could be a stable circuit, sure. 01:32:43 That's all I wanted to make sure of :P 01:33:00 the only difference would be that the stable circuit could be destroyed. 01:33:09 whereas the geyser has the possibility of being indestructable. 01:33:37 Maybe you can place a conductor potentia, which will become a conductor if electrified, but can only be placed next to a conductor? 01:33:59 I believe that is the same thing as a conductor in essence. 01:34:11 With the caveat that you couldn't build it at unlimited rate. 01:34:23 So it makes electrons a sort of /implicit/ resource, rather than explicit. 01:34:34 to generate conductors 01:34:43 but then you have no other devices to make the conductors useful. 01:34:55 unless they also have potentia things. 01:35:10 Idonno how many of the other cells I'm convinced of yet ^^ 01:35:30 well, if electrons don't power other cells then essentially they have to be tied directly to the objective. 01:35:33 otherwise they do nothing. 01:35:53 Oh right X-D 01:36:00 I think I made that point, didn't I :P 01:36:11 we both did at some place. 01:36:34 If the other cells are not usable as conductors, and not useful at home, they may as well be near-free to build, since you'll have to get the conductor out there anyway. 01:36:36 Big ifs though. 01:36:56 makes sense. 01:37:16 they should perhaps take different amounts of time to build though. 01:37:19 time is always a resource. 01:37:25 Indeeeeeeeeeeed. 01:37:31 where time is measured in turns here. 01:37:51 also to destroy 01:38:07 thus giving you the decoy dynamic of bfjoust sort of. 01:38:11 but more complex. 01:38:16 Incidentally, the electrons do directly correspond to a goal condition if you have to build conductors potentia and ferry the flag back. 01:38:27 right. 01:38:51 though you od need to make it possible to have /multiple/ flag electrons... since... that's how the rules work. 01:39:17 let's say your flag is going left to right: ----=== 01:39:20 Yeah, I'm still trying to rectify that X-D 01:39:31 it would need to split into two flag electrons at the = 01:39:38 Interesting. In robocode, you don't know when your enemy shoots 01:39:39 You have to guess 01:40:10 * Gregor hmms away. 01:40:15 which, isn't necessarily a bad thing as it might make attack/defense more interesting. but it also might make attack really simple because you could just build large numbers of branching circuits that take too long to destroy. 01:40:47 perhaps at a branch point the flag non-deterministically chooses a path. :P 01:41:10 Oh, I was thinking that when you had multiple flags, they would only have to ferry ONE back. 01:41:16 So your goal is to NOT duplicate your flag. 01:41:32 Plus there's the issue that we have to figure out what happens if your flag should be snuffed out. 01:41:41 er, perhaps we are imagining different setups here. 01:41:54 Almost assuredly :) 01:42:38 I was thinking that a flag electron is just a thing that is generated from your opponents base (or some other base-like point... their.. flag?) when you attach a conductor to it. 01:42:49 so the flag itself is stationary, but the flag electron could die. 01:43:00 Ohhhhhhhhhhhhhhhhhhhhhhhhhh 01:43:15 I was thinking the flag electron was something put in a stable circuit when you started/joined. 01:43:25 that's a possibility I suppose. 01:43:47 but with either setup generating multiple flag electrons is still problematic 01:43:50 makes offense really simple. 01:43:57 What if you destroy your own flag electron? What if your enemy destroys their opponent's flag electron? Can it be determined who's fault it was? 01:44:14 well, in gregor's system the flag electrons could just be made indestructible. 01:44:24 in mine it wouldn't matter as the flag which generates the flag electrons is permanent. 01:44:51 there's no need to include any sort of understanding of culpability. :P 01:45:03 Okay then 01:45:11 CakeProphet: I'm still not sure if I comprehend why duplication makes offense simple ... 01:45:30 well you could make this massive branching circuit to their flag 01:45:35 the flag moves along, branches like 20 times. 01:45:39 how does the defender fix this? 01:46:16 (the defender is trying to kill the flag electron that was generated... so that it doesn't reach the offenders base) 01:46:19 Why do they need to fix it? The time investment to make use of it to steal their flag would be enormous. 01:46:21 this is how capture the flag works, right? :P 01:46:39 true enough, I suppose that is the limitation of that offense strategy. 01:47:13 something that would require testing I think. 01:47:24 instead of just speculation. 01:47:40 I agree, but I also don't think we have enough specifics on our speculation to implement :) 01:47:44 (yet) 01:47:45 right. 01:47:50 bbiab 01:48:39 okay so I guess our main resource is time really, if I'm understanding your connector potentia thing. 01:49:05 the time it takes for each electron to activate the next s/connector/conductor/r 01:50:00 Well, it's sort of a combination of electrons and time. You could reduce the time taken by having more electrons on the circuit. 01:50:11 Incidentally, I'm not back :P 01:50:15 (still bbiab :P ) 01:51:24 so basically you could set up a bunch of dead conductors, and it would take a single pulse to activate each dead conductor into a live one. 01:51:33 (I just wanted to avoid saying potentia again :P ) 01:52:27 build time and other specifics can be fine-tuned later, for now we can just establish some methods of operation. 01:55:17 also if there's no concurrency I think it would be interesting if you had a reader agent and a writer agent that were distinct. 01:55:33 so the reader agent is roaming around surveying and the writer agent is building/destroying 01:57:23 so then at least you're not constrainted to one cell per turn. 01:57:52 your reader could be planning ahead while the writer is busy building. 02:01:25 if there were walls then the opponent could lead your reader into a trap box. hilarity ensues. 02:03:06 also one of the nice things about using general-purpose languages would be that you could write libraries with common utilities that you'd want for this sort of thing. 02:03:46 thus making program writing easier once you've established your own set of tools 02:03:51 or used someone elses. 02:10:16 so you could start with the basic wireworld + base + agent + flag + flag electron setup 02:10:27 play with that, and then brainstorm additions. 02:10:53 well I guess base = flag right now 02:15:27 hey guys, new a boy and his blob TAS http://tasvideos.org/forum/viewtopic.php?t=11686&highlight= 02:15:30 pro watch 02:15:43 > 1/0 02:15:44 Infinity 02:15:50 > -1/0 02:15:51 -Infinity 02:16:38 shouldn't that be NaN or something? 02:16:52 > 0/0 02:16:52 NaN 02:16:55 There you go 02:16:58 > (1/0)/(1/0) 02:16:58 NaN 02:17:19 If this was mathematica we'd have directional infinity for all of the directions, all of them 02:17:48 but instead we're just using the IEEE floating point standard 02:18:36 -!- itidus21 has joined. 02:18:46 > sqrt -1 02:18:47 Overlapping instances for GHC.Show.Show (a -> a) 02:18:47 arising from a use of `... 02:18:53 :t sqrt 02:18:53 forall a. (Floating a) => a -> a 02:18:58 > sqrt (-1) 02:18:59 NaN 02:19:10 haskell has complex numbers doesn't it? 02:19:20 awww, I was hoping for a Complex number. Though that would make sqrt way more difficult to use for the most common case. 02:19:23 yes. 02:19:30 > 2 :+ 2 02:19:30 2.0 :+ 2.0 02:19:40 :t :+ 02:19:41 parse error on input `:+' 02:19:55 :t (:+) 02:19:56 forall a. (RealFloat a) => a -> a -> Complex a 02:20:01 aah 02:20:27 but then sqrt would have to be Complex a -> Complex a 02:21:54 How would something like IO monad be implemented directly in Haskell? 02:22:21 -!- itidus20 has quit (Ping timeout: 252 seconds). 02:22:25 I don't think it could be because there's no side-effects otherwise. 02:22:52 you'd need some kind of side-effect primitive that isn't IO... 02:23:58 why do all of the Haskell tutorials introduce monads as something to be scared of. 02:24:03 when they are really very simple. 02:24:19 But for example, the side-effects could be external, or they could be faked based on some other function that takes input and then makes everything in the monad happens using that given input and produces one output 02:24:42 That is what I mean. 02:25:31 not really very different from what is already happening, sort of. 02:25:57 http://r6.ca/blog/20110520T220201Z.html may be relevant?? I don't entirely understand the question, though. 02:27:23 type IO a = RealWorld -> (a, RealWorld) 02:27:27 you could do something like this. 02:28:01 and then have functions from RealWorld -> RealWorld or something. 02:29:22 realworld encapsulates the IO state? 02:29:45 monqy: OK that is relevant. 02:30:03 CakeProphet: OK, that can be one way too. 02:30:37 yeah GHC defines IO as: newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) 02:30:57 CakeProphet: of course this is deeply magical and most likely highly misleading 02:31:10 the only magical part is RealWorld I guess. 02:31:24 and State# 02:31:25 Well, I am not making it based on the actual IO type, I am using my own types instead. 02:32:12 With such kind of thing, how would return and >>= be implemented? 02:32:25 your guess is as good as mine... 02:35:50 Back. CakeProphet: What's goin' onnnn 02:35:51 IO may cause drowziness. 02:36:26 so basically you could set up a bunch of dead conductors, and it would take a single pulse to activate each dead conductor into a live one. // my thought was that a conductor potentia had to be next to a (non-potentia) conductor. 02:36:27 Gregor: see above. 02:36:47 also if there's no concurrency I think it would be interesting if you had a reader agent and a writer agent that were distinct. // So, if there's no concurrency, concurrency? :) 02:36:54 lol 02:37:07 a more limited form I suppose. 02:37:44 hey guys, new a boy and his blob TAS http://tasvideos.org/forum/viewtopic.php?t=11686&highlight= // how pro we talkin' 'bout ;P 02:38:10 gregor, it gets to the credits THEN beats the game rather than the other way around 02:38:19 CakeProphet: I'm trying to decide if being able to build workers makes any kind of sense at all ... 02:38:26 Patashu: OK, that's pretty pro X-D 02:38:43 well, spawning more agents makes plenty of sense. 02:38:50 the agents could be builders, or... do whatever. 02:39:16 You should watch it :D 02:39:35 it certainly opens up possibilities that would otherwise be absent. 02:39:44 CakeProphet: But if you spawn a borg collective, you could just stomp all over things ... needs to be a heavy penalty. 02:40:05 well the way it works in redcode is that it slows down each active agent. 02:40:20 so basically each player gets the same number of turns still. 02:40:20 That's (IMHO) TOO heavy a penalty. 02:40:33 (Maybe) 02:40:39 That "I/O is not a monad" stuff describes a "data IO a" type with a constructor for each action, and it defines return and >>= to me it looks like it could work. I tried something like that but probably I made a few mistakes now I can fix it 02:41:44 Of course they say is not a monad, but then describe one way which is a monad, too 02:42:26 Gregor: well otherwise you need some kind of point system that isn't just electrons. 02:42:39 Patashu: lol, boy in glitchland 02:43:00 they say I/O is not a monad, but there's a way to make an IO monad for monadic convenience 02:43:01 and really depending on how strategems emerge being in two places at once might be worth being twice as slow. 02:43:25 CakeProphet: I spose >_> 02:43:44 especially in a massive 2-d grid world..... 02:43:56 CakeProphet: I guess I'm developing Starcraft: Wireworld in my head :P 02:44:06 lol, yeah that would certainly be amazing. 02:44:11 * CakeProphet loves SC 02:44:37 if you did have a point system them you could spend large amounts of points on new agents that operate at the same speed. 02:44:49 thus, like in most RTSes, the more concurrent you are the better. 02:45:00 this is starting to get way too complex lol 02:45:06 Patashu: nah not really. 02:45:07 is this a game for bots or for humans? 02:45:11 Hmm, I don't know if this is feasible, but maybe the penalty could be that the agents can't communicate by magic. 02:45:24 That is, they have to communicate via the server, so have to be near each other. 02:45:30 So to coordinate, you have to regroup. 02:45:32 communicate how? 02:45:42 Anything. They have no shared heap. 02:45:43 er... that would eliminate the possibility of general-purpose languages. 02:45:54 Naw, it would just change how new agents are created. 02:45:58 unless you mean each agent spawns a new process with absolutely no communication. 02:46:01 Rather than multiplexing the chan--- yeah. 02:46:26 that might be difficult to implement in practice. 02:46:43 It might be too complex to use :) 02:46:50 Let's just focus on single-agent for the moment and iterate. 02:46:55 I'm fine with borg collectives. :P 02:46:57 okay. 02:47:42 mainly because I could then write a massively concurrent Haskell program that uses STM to coordinate my borglings actions. 02:48:41 Maybe making a new agent not only takes some number of electrons, but destroys the conductors in the process ... 02:48:54 have some gathering resources, some building massive branch circuits for offense, some guarding the flag, build more agents as the resources come in. lol 02:49:01 But anyway, we'll think about multi-agent systems later. What details are there left for the single-agent case? 02:49:16 Or details we disagree on but don't realize we disagree on X-D 02:49:34 I didn't realize we disagreed on anything. 02:49:41 this might be problematic. :P 02:50:03 I think we still disagree on the nature of the flag. 02:50:04 basically I'm just throwing ideas out there. I didn't expect every idea that came to mind to be set in stone. 02:50:17 I'm forming a game in my head :P 02:50:40 well how does your flag work. I think I already explained mine. 02:51:04 Mine is still a tad bit undefined ^^ 02:51:19 Basically I just wanted another type of cell, with behavior similar but not identical to electrons. 02:51:42 Major difference being that you can never end up with no flag at all. 02:51:42 it would persist despite lack of a conductor? 02:51:59 depends on what kind of capture the flag you want. 02:52:08 I thought we both agreed on ferry-the-flag? 02:52:21 That's sort of what makes my conductors potentias make sense. 02:53:11 with that setup you could spend time moving your flag around to throw off the enemy, but it also means that in defense you not only have to stop the offender, but return your flag somewhere safe. turns into a tug-of-war of sorts. 02:53:17 re persistence: Probably the rule would just be that if none of a flag's neighbors is an open conductor, then it doesn't change to a flag tail 02:55:09 also splitting is still undefined. do you want it to be possible to have more than one flag at a time? 02:55:15 I'm not sure. 02:55:35 My thought was that if you get even one enemy flag to your base, you win, which I think balances it. 02:55:37 Maybe do away with the idea of agents and everything. Why not just make it a wireworld competitive game? 02:55:51 because you need something that... writes to the grid. 02:56:07 you can 02:56:14 Also programming in wireworld is terrible, so you'd have very little intelligence :P 02:56:27 't competitively program a grid with another program in a separate file. 02:56:29 doesn't make sense. 02:56:46 Well, that could probably be rectified, although I don't know how. 02:56:50 But I like our idea better :P 02:56:55 yes. 02:57:13 I do like the fungespace idea as well, as it would create quite a bit of complexity. 02:57:25 I just feel like that's too much X-D 02:57:45 Gregor just doesn't know how to have fun.. :P 02:58:08 -!- itidus21 has changed nick to itidus20. 02:58:53 OK, current full idea: Normal wireworld + conductor potentia + set area around starting location is a base + flag-electrons which are not extinguishable but are duplicable + one flag in enemy base is loss + whoops we forgot how you destroy things. 02:59:05 think of all the fun you could have with the # command in befunge. :D 02:59:39 you would destroy the same way you build, it would take time. 03:00:29 Oooh, maybe you only have the ability to demote conductor->potentia->blank, so they can try to keep their stuff alive by keeping current? 03:01:02 that would make it pretty difficult to destroy a line. 03:01:20 I spose X-D 03:01:25 well, maybe. 03:01:31 depending on how the potentia works 03:01:34 which I'm still not clear on. 03:01:47 it might just make keeping your wire alive through that method difficult 03:01:55 Potentia next to electron becomes conductor (NOT electron) 03:02:11 can a potentia be placed anywhere? 03:02:15 next to other potentia? 03:02:21 Only next to a conductor (NOT potentia) 03:02:31 so then to build a wire you have to 03:02:40 build potential; wait for pulse; build potential; wait for pulse 03:03:22 Yup 03:03:46 Remember that we said that there are N wireworld moves per agent move. 03:03:52 So it's not like pulses are super-rare. 03:04:09 (Although we may want to rethink that) 03:04:33 okay so that either makes it a) difficult to destroy wires b) difficult to defend wires (though defending wires will be difficult either way) 03:05:05 Yeah >_> 03:05:07 say your wire is on a fast 1-clock pulse 03:05:13 and its moving faste than you demote things. 03:05:13 It's OK if it's difficult, not if it's impossible :) 03:05:17 can't break the wire. 03:05:22 *faster 03:05:55 I think it would just make more sense if it took a set amount of time to clear each state type to blank. 03:06:07 and then you just manually rebuild wires to get them working again. 03:06:18 hmm, it seems that the space shuttle Enterprise and the starship Enterprise are actually named after each other 03:06:39 mutually recursive name attribution? o_o 03:06:44 due to Star Trek retroactively changing their canon after the space shuttle was named after the starship 03:06:51 wat 03:07:02 it's a... what's it called, a time travel loop that supports itself 03:07:11 not stochastic, not chronological... it was some kind of logic term 03:07:14 stable time loop? 03:07:16 maybe 03:07:53 aha, ontological paradox 03:08:27 hmm, it seems that the space shuttle Enterprise and the starship Enterprise are actually named after each other // yup 03:09:11 I'm still not entirely clear how that's possible. 03:09:35 time travel 03:09:38 literally, if a retcon counts 03:09:54 s/I'm/to me, it's/ 03:09:57 no... 03:10:00 retcons don't count. 03:10:02 as time travel. 03:10:06 one was named after the other. 03:10:12 they don't? if I was a time traveller I could go back in time, alter the past and that's essentially what a retcon is! 03:10:33 so they went back in time to rename the starship to Enterprise? 03:10:39 yes 03:10:46 but then wouldn't have been named Enterprise the whole time? 03:10:56 that's the point of going back in time to change things, yes 03:11:12 or, more importantly, wouldn't that mean that Star Trek actually named their starship after the space shuttle? 03:11:44 the Star Trek name came first 03:11:51 it goes both ways. the starship being named enterprise inspired the shuttle being named enterprise inspired the starship being named enterprise more inspired the shuttle being named enterprise more 03:11:54 then they retroactively changed their canon to change what it was named after 03:11:59 it's what's called a stable time loop 03:12:18 .....no, because it was named enterprise first, and then the space shuttle was named after it. 03:12:19 now that it exists it sustains itself 03:12:25 like the entire plot of chrono cross 03:13:22 (if elliott were here he would be berating me right about now) 03:13:25 I imagine. 03:14:54 so yeah, retcons don't count as reality. 03:15:00 the space shuttle was named after the starship. 03:19:00 Gregor: perhaps you could build resource collectors separate from your flag. You get one for free and then the rest cost electrons. 03:19:05 just a possibility. 03:19:13 if you wanted a bit more complexity. 03:20:03 I'm just muddling over the whole thing right now 03:20:07 Do you know if a Char type in Haskell is allowed to store values that are not valid Unicode code points? 03:20:33 example? 03:20:37 Try it, we have lambdabot here 03:21:46 !haskell print (unsafeCoerce 4 :: Char) 03:22:16 !haskell main = print (unsafeCoerce 4 :: Char) 03:22:23 You broke it 03:22:30 I tried in my computer. I get a "bad argument" error, so I guess it cannot work. 03:22:46 Patashu: unsafeCoerce isn't in scope actually. 03:23:09 lol 03:23:10 @hoogle unsafeCoerce 03:23:10 Unsafe.Coerce unsafeCoerce :: a -> b 03:23:20 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 4 :: Char) 03:23:25 ​'\EOT' 03:23:39 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 7876756434354767667 :: Char) 03:23:43 ​'\7876756434354767667' 03:24:11 !haskell import Unsafe.Coerce; main = print (unsafeCoerce True :: Char) 03:24:16 ​'\8646911284555550920' 03:24:23 !haskell import Unsafe.Coerce; main = print (unsafeCoerce False :: Char) 03:24:23 Why does that work 03:24:28 ​'\1091095544' 03:24:33 unsafeCoerce is basically like a C typecast. 03:24:46 I thought unicode was only two bytes though? 03:24:51 Well, that is unsafeCoerce. I used toEnum and got bad argument errors 03:24:53 depends on the encoding. 03:25:12 zzo38: what argument 03:25:25 !haskell import Unsafe.Coerce; main = print (unsafeCoerce Nothing :: Char) 03:25:30 ​'\1084214928' 03:25:46 CakeProphet: toEnum 0x1FFFFE :: Char results in bad argument error 03:26:01 what does GHC use? UTF32 by default? 03:26:02 Because Unicode only goes from 0x000000 to 0x10FFFF 03:26:08 ah 03:26:53 so I guess it uses UTF-26 by default. 03:26:58 *16 03:27:09 !haskell import Unsafe.Coerce; main = print (unsafeCoerce [1,2,3,4] :: Char) 03:27:14 ​'\-8646910737677299423' 03:27:18 lol 03:27:24 rofl 03:27:29 NOT SO UNSAFE, EH? 03:27:49 !haskell import Unsafe.Coerce; main = print (unsafeCoerce unsafeCoerce :: Char) 03:27:54 ​'\NUL' 03:27:57 :( 03:28:03 !haskell import Unsafe.Coerce; main = print (unsafeCoerce ['\0','\0',3,4] :: Char) 03:28:18 >_> 03:28:33 lol 03:28:40 !haskell import Unsafe.Coerce; main = print (unsafeCoerce ['\0','\0','1','1'] :: Char) 03:28:44 ​'\6341068821252833345' 03:29:02 I imagine here is where the segfaults begin: 03:29:13 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 0 :: [Char]) 03:29:18 ​"" 03:29:29 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: [Char]) 03:29:33 ​"" 03:29:40 or, empty strings? 03:29:42 I guess? 03:29:43 lol 03:30:17 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: Maybe Char) 03:30:22 Nothing 03:30:28 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: Maybe t) 03:30:48 I don't think that is a proper code 03:30:53 ambiguous type variable 03:31:13 I'm using unsafeCoerce and you're worrying about proper code? :P 03:31:25 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: Either Int Char) 03:31:30 Left 03:31:37 Well, if Haskell doesn't know what to do with it, because it is ambiguous type variable, then it is even less proper 03:31:39 uh... Left? 03:32:23 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char) 03:32:27 Left 03:32:34 I wonder what that even means. 03:32:38 It is only "Left", not the value? 03:32:55 it's some kind of garbage value I guess. 03:33:40 !haskell import Unsafe.Coerce; main = print (unsafeCoerce [] :: Either Int Char) 03:33:45 Left 03:34:22 !haskell import Unsafe.Coerce; main = print let Left x = (unsafeCoerce [] :: Either Int Char) in x 03:34:29 Make it print Right and I'll give you money 03:34:43 -!- EgoBot has quit (Remote host closed the connection). 03:34:47 !haskell import Unsafe.Coerce; main = print (let Left x = (unsafeCoerce [] :: Either Int Char) in x) 03:34:54 -!- EgoBot has joined. 03:35:01 !haskell import Unsafe.Coerce; main = print (let Left x = (unsafeCoerce [] :: Either Int Char) in x) 03:35:15 >_> 03:35:38 STOP BREAKING SHIT 03:35:53 I'm breaking your bot? 03:36:40 surely it would just segfault and crash the haskell thread.... 03:36:57 or process 03:37:06 !haskell main = print Left 0 03:37:15 !haskell main = print $ Left 0 03:37:27 !haskell main = print 0 03:37:32 0 03:37:40 It is not entirely broken 03:38:03 lolwat 03:38:10 !haskell main = print [1,2,3,4] 03:38:15 ​[1,2,3,4] 03:38:26 !haskell import Unsafe.Coerce; main = print (let Left x = (unsafeCoerce [] :: Either Int Char) in x) 03:38:29 !haskell main = error "stop breaking me" 03:38:29 :3 03:38:33 input.10668.hs: stop breaking me 03:39:09 oh I see... 03:39:30 when it was printing just "Left" it was going to go print the inner value and then segfaulted because it was a bad pointer. 03:40:50 that's my theory anyways. 03:42:38 That seems reasonable. 03:44:31 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char) >> print "more" 03:44:36 Left 03:44:39 yep. 03:46:26 What is the ?? kind? 03:47:31 er what? 03:48:43 (->) :: ?? -> ? -> * 03:49:14 I also once got the error "Expected kind `??'" but I fixed what I did wrong anyways, I just made a mistake which I corrected 03:49:15 oh uh... something to do with boxed/unboxed I think. 03:58:39 -!- sebbu has joined. 03:58:39 -!- sebbu has quit (Changing host). 03:58:39 -!- sebbu has joined. 04:00:45 -!- sebbu2 has quit (Ping timeout: 276 seconds). 04:02:55 http://hackage.haskell.org/trac/ghc/wiki/IntermediateTypes 04:02:58 about halfway down the page. 04:03:04 it described the different kinds. 04:03:07 *describes 04:04:19 ? = any kind, (#) = unboxed tuple, ?? = * or #, # = unboxed type, * = boxed type 04:05:08 > (#1,2#) 04:05:08 : parse error on input `)' 04:05:51 so unboxed tuples can't be used as arguments. 04:06:39 and all functions are boxed 04:06:46 is what ?? -> ? -> * says 04:08:53 I don't think (#) is ever used outside of ghc intermediate language 04:11:33 there is a strange unsafeCoerce that we could not figure out the purpose of in the FFI, a warning is currently emitted when it is used 04:11:36 lol 04:34:20 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 04:50:12 fungot: sup 04:50:13 CakeProphet: i don't think 04:50:40 fungot: good point 04:50:40 CakeProphet: " ben fnord" or " not provide" :) is it possible to open input port for string? 04:50:47 ^style 04:50:47 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc* jargon lovecraft nethack pa speeches ss wp youtube 04:50:51 ^style darwin 04:50:51 Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy) 04:51:05 fungot: how do you feel? 04:51:06 CakeProphet: h.j., on/ structure and origin :) this striking physical feature were those :) macculloch " 517? 2. :( geolog. mag." 1839 page 340. dr. king observed a striking instance :) adaptation be given than that :) 100 to 110. this case :) correlation is that a marriage flight is absolutely necessary with these species/ second bone :) their leg should show clear traces :) two bones having been accumulated at one spot, in so 04:51:27 ^speeches 04:51:38 ^style speeches 04:51:38 Selected style: speeches (misc. speeches from Project Gutenberg) 04:51:46 fungot 04:51:49 CakeProphet: we must now repair our faults. the whole people will do the same thing to-night. " keep your old constitution," if you may run counter to all the experience of means, or make them. when the means have long been. in form, and by far the most culpable as respects slavery and the slave revolution in fnord was elected fellow of the college in october, fnord was mingled with fnord that tie which attaches every lover of 04:51:49 fungot: 04:54:10 ^style lovecraft 04:54:11 Selected style: lovecraft (H. P. Lovecraft's writings) 04:54:18 fungot: 04:56:59 CakeProphet: I now have a screen that looks quite similar to static. 04:57:15 Gregor: because of unsafeCoerce?? 04:57:26 CakeProphet: lolno :P 04:57:27 yes 04:57:30 CakeProphet: Because I'm implementing a CA 04:57:36 oh right. 04:59:11 @src foldl 04:59:12 foldl f z [] = z 04:59:12 foldl f z (x:xs) = foldl f (f z x) xs 05:11:58 CakeProphet: I can make electrons either virtually nonexistent, or ridiculously abundant >_> 05:12:41 cool 05:12:47 I'd just have them centered in stable loops. 05:12:59 and then have those abundant or scarce 05:14:25 CakeProphet: I was drawing random circuits all over the map, then putting random electrons on it, but basically because of their duplicitous properties that caused them to spread like wildfire. 05:15:17 shouldn't they just, kind of travel along? 05:15:27 and duplicate on branches? 05:16:51 Yeah, but there are lots of branches. 05:17:15 oh, yeah see I would just have some pretty decently spaced out loop circuits. 05:17:29 of varying size. 05:17:35 Yeah, I'm starting to agree with that now. 05:17:46 But now I'm not sure what to put in the substrate. 05:17:49 -!- Sgeo_ has left ("Leaving"). 05:18:06 what do you mean? 05:19:00 Well, my simple-circuits method basically means that if you let an electron out of its loop, it will multiply and fill the whole world :P 05:19:20 (NOTE: I just noticed there is no way to liberate a single electron from its loop, so they have to be in sets of two) 05:26:21 wireworld has an electron head and an electron tail. 05:27:26 Uhh, yes, so do I. 05:27:29 Duh 05:27:48 http://codu.org/tmp/conf1.png <-- my current initial config 05:34:07 -!- aloril has quit (Ping timeout: 246 seconds). 05:41:42 -!- Pianoo has joined. 05:41:43 -!- Pianoo has quit (Remote host closed the connection). 05:42:01 -!- Pianoo has joined. 05:42:15 There, much more stable initial config. 05:43:29 http://codu.org/tmp/conf2.png // new initial config 05:47:12 -!- aloril has joined. 05:52:09 -!- Pianoo has quit (Quit: Rooms • iPhone IRC Client • http://www.roomsapp.mobi). 05:57:35 CakeProphet: https://codu.org/projects/rezzo/hg/ <-- here's the current code if you're curious (no agent interface, basically just an SDL implementation of wireworld) 05:57:56 -!- monqy has quit (Quit: Lost terminal). 05:58:16 -!- monqy has joined. 05:59:43 -!- zzo38 has quit (Remote host closed the connection). 06:09:45 -!- cheater has quit (Remote host closed the connection). 06:10:18 -!- cheater has joined. 06:16:58 -!- oerjan has joined. 06:24:30 -!- cheater has quit (Ping timeout: 240 seconds). 06:28:56 hmm, proggit are debating "what should a browser do if it issues an HTTP DELETE request and gets a 302 response" 06:29:25 I think they've established that the technically correct response from the browser is "prompt the user whether to HTTP DELETE the target, or do nothing", but that's insane 06:29:26 HTTP LAUNCHMISSILES 06:29:55 so the second debate is as to whether the IE9 behaviour (do an HTTP DELETE on the target without prompting) or the everyone else behaviour (do an HTTP GET on the target without prompting) is saner 06:30:06 the IE9 behaviour deviates less from the spec, but is rather more destructive 06:30:16 (ofc, the correct answer is "don't reply 302 to an HTTP DELETE request") 06:31:16 oerjan: 404 missiles not found 06:31:19 -!- derrik has joined. 06:32:05 oh right, the missile should be launched by the browser, not the infidel server 06:32:48 i'd also like LAUNCHMISSILES to work agains programs which steal focus. 06:32:52 *against 06:33:29 why not turn off focus-stealing? 06:33:33 I normally try to set a really hard-line policy on focus-stealing 06:33:40 but even the strictest setting isn't strict enough for me 06:33:51 I don't want programs to steal focus after I open them, for instance, even though most people do 06:34:05 as they take a while to open and I want to be able to type elsewhere meanwhile without my keystrokes going to the wrong place 06:34:21 well i'm a windows xp user *crawls beneath rock* 06:34:28 i want programs to steal focus when they are about to explode and i REALLY NEED TO KNOW ABOUT IT and pretty much no time else 06:34:44 where can you turn focus stealing off? 06:34:53 in your window manager config 06:34:58 possibly 06:35:24 quintopia: not even then. you don't want to accidentally type text into an emergency window. 06:35:25 mine only has two settings: no focus-stealing and too much focus-stealing 06:35:55 oerjan: perhaps "only if it is really urgent and i am currently mousing" 06:36:02 rather "not typing 06:36:02 " 06:36:45 would be simple to implement in practice: wait x seconds after the last keystroke to steal focus 06:36:47 quintopia: well assuming you are using Linux, last i used that for a desktop focusing and moving to the top were independent actions 06:37:00 they are 06:37:07 but they really shouldnt be 06:37:38 quintopia: they _must_ be to avoid the problem we are discussing if you also want windows to be able to pop up in emergency 06:37:46 the thing-in-focus should always be on top 06:38:18 quintopia: i recall that the ability to type into a non-top window when you wanted was _extremely_ convenient. 06:38:24 so that when it steals focus it jumps to the front and makes you really aware SOMETHING JUST HAPPENED 06:38:51 i pretty much never use that ability oerjan 06:39:18 more often i get annoyed that the window i want (which is in focus) is hidden by another window 06:39:32 kinda breaks the desktop metaphor 06:39:41 you can't write on the bottom page of a stack of papers 06:40:23 if you want to read one window and use the information to write into another, then it's extremely convenient for the window you read to be able to be larger 06:40:48 (well, if the top page fills your desk, anyway, and i run most of my windows maximized) 06:41:13 oh. i never run maximized. 06:41:26 im wacky, tiling 06:41:35 in fact i have carefully placed my browser so that i can still see if something is happening in irc behind it. 06:41:36 do it monqy 06:41:43 hm??? 06:41:56 oerjan: sounds like a job for translucency ;) 06:41:59 while still having the browser as large as possible 06:42:01 argh 06:42:15 but _that_ would surely annoy me immensely in a browser :P 06:42:30 I've been tiling for a few months over two years I think 06:42:32 I like it 06:42:50 what is tiling 06:43:00 quintopia: horrible stuff 06:43:02 i mean i use a tiling window manager 06:43:10 oh 06:43:16 eh i'm p cool with that 06:44:06 I guess it helps that I'm widescreen, prefer keyboard over mouse control 06:44:40 oerjan: i use the fact that i can't see irc while doing other things to increase productivity. i have pop-up notifications if i'm pinged. 06:45:02 (i once ran irc on one screen while trying to work on the other. you can guess what i ended up spending most of my time on) 06:45:04 -!- evincar has joined. 06:45:23 sup evincar. how's Rath this time of year? 06:46:52 oh right you wacky people and using your computers for serious stuff 06:48:02 quintopia: The weather sucks. And I guess the war's still on. 06:48:19 also, me not being able to set up irssi and putty to make pinging by visual bell work properly (i also have all sounds off by default) 06:48:45 well, and also me wanting to see what's happening even if i'm not being pinged, i guess 06:49:35 war? 06:49:55 He was making a reference to Magic. 06:50:02 aha 06:50:26 Because my name, though actually unrelated to MTG, is superficially related to it. 06:52:14 "superficially" meaning "MTG stuff fills the first page if you search 'evincar' on google" 06:52:33 So I'm thinking of making little concatenative language where, nominally at least, the one datatype available is a cons-list. 06:52:35 I was aware it was an MTG term 06:52:40 I don't know if the MTG people made it up or not, though 06:52:50 some of their terms they do, some they don't, and some are somewhere in between 06:52:55 I'm sure I've told this story before. 06:53:04 It's not so exciting. 06:53:06 I was completely oblivious as to it not being an original name :'( 06:53:09 if you -magic the search, someone comes up named "anthony evincar murray" on facebook 06:53:31 The whole thing is "Evincer of Autumn", but I spelled it with an "a" because I was a dork, but it stuck. 06:53:43 Totally unaware of the Magic relation. 06:54:04 I wanted to be "he who evinces (brings forth) the autumn". 06:54:09 evincar: well cons-lists are perfectly workable stacks 06:54:25 shouldn't that be "évincer"? 06:54:54 oerjan: That's my thinking. Then optimise the shit out of things so that it uses numbers/strings/etc. where applicable. 06:55:16 Also I really don't like the distinction between compile-time and runtime, so I think macros are going to be an implicit optimisation as well. 06:55:32 And just give functions and macros the same syntax. 06:55:35 now I'm trying to remember what "evince" means, other than the name of a PDF reader 06:55:45 ais523: Bring forth. 06:55:51 aha 06:55:55 what a weird name for a PDF reader 06:56:24 As in "when a long train of abuses and usurpations, pursuing invariably the same Object evinces a design to reduce them under absolute Despotism, it is their right, it is their duty, to throw off such Government, and to provide new Guards for their future security." 06:56:32 well PDF is based on postscript, which is stack-based. so clearly it's about forth. 06:56:35 evincar: implicit optimisation? eh? 06:56:48 evincar: you mean it'll do inlining of functions? 06:56:59 oerjan: is that an insightful observation or a bad pun? 06:57:01 or both? 06:57:01 ais523: it's actually "to show clearly" which makes more sense 06:57:06 monqy: Yeah, it's not that exciting. Almost exclusively implicit optimisation is the idea though. 06:57:20 evincar: calling them "macros" is a bit off 06:57:28 ais523: mostly the latter 06:57:29 evincar: where them is functions which happen to get inlined 06:57:33 quintopia: Right, "reveal the presence of" being yet another synonym. 06:57:52 the most common definition actually 06:58:01 Yep. 06:58:17 nothing about bringing forth anywhere i've seen 06:58:35 I was being a little loose with the definition. 06:58:40 Forgive my thirteen-year-old self. 06:58:46 forgiven 06:58:59 but clint eastwood may not be so lenient 06:59:36 (side note: i thought that clint eastwood had never directed any bad movies, but i just saw The Eiger Sanction (1974), and it turns out i was wrong) 06:59:44 *1975 06:59:53 monqy: The point is that functions are given in terms of macros (i.e., rewrite rules), not the other way around. 07:00:00 I didn't mean to say inline function = macro. 07:00:37 evincar: hm what was the name of that language, i saw it mentioned again the other day... 07:00:43 something on F 07:00:47 which language? 07:01:05 implements functions as a special case of fexprs 07:01:16 quintopia: You poor bastard 07:01:32 Dunno. Not Factor, though that's at least similar in concept to what I'm up to. 07:01:59 NihilistDandy: i take it you've seen it? 07:02:06 _-_ 07:02:21 NihilistDandy: i think The North Face stole some plot ideas from it >.> 07:02:21 WHY CLINT WHY 07:02:28 lol 07:03:38 darn it wasn't fythe, that's gregor's 07:04:14 Clint Eastwood. Old West action. Antidote scowl. No two dialects. Acid onto welts. 07:04:23 I love anagrams. :) 07:05:03 evincar: Do geese see God? 07:05:10 Palindromes are better. 07:05:24 ok it refuses to show up in a google search 07:07:08 NihilistDandy: Sure are. 07:07:20 oerjan: What, the language you were thinking of? 07:07:32 yes 07:07:47 I would tell you it doesn't matter, but it's gonna bug you nonetheless. 07:07:49 ah http://en.wikipedia.org/wiki/Kernel_(programming_language) 07:07:55 was linked from Fexpr 07:09:05 Neat. 07:10:08 palindromes are self-anagrams 07:10:10 I'm currently trying to figure out the best way to make stack manipulation transparent and intuitive in a prefix language. 07:10:26 I don't like the whole "dup", "drop", "swap" thing. 07:11:00 sounds tricky without introducing variables 07:11:05 Would almost prefer, say, $0 (x) = (x x), $1 (x y) = (y x y) etc. 07:11:27 Yeah, and variables are sort of the Big No when it comes to concatenative programming. 07:11:46 Considering you'd like everything to be point-free and purely compositional etc. 07:13:01 I guess since my sole data type is the stack, you could easily manage as many stacks as you want. 07:13:32 It might be possible to introduce nice sugar for variables based on that premise. 07:13:52 Too messy. :P 07:16:09 I'd also like to restrict I/O sanely, so I'll probably have to set up something resembling Haskell's monadic I/O. 07:16:57 Or you could think outside the box. 07:17:51 Unboxed thinking 07:17:57 pikhq_: Well, my first thought was to place effects in a queue or digraph and apply them by need. 07:18:15 But the cleanest way to do something resembling that is monads, so far as I can tell. 07:18:38 evincar: You don't need to call it "monads" unless you generalize it like Haskell does. 07:18:49 shachaf: Why wouldn't I generalise it? 07:19:10 Generalisations make for useful, powerful tools. 07:19:26 Well, sure. 07:22:58 "His central objection was that, in a Lisp dialect that allows fexprs, static analysis cannot determine generally whether an operator represents an ordinary function or a fexpr — therefore, static analysis cannot determine whether or not the operands will be evaluated. In particular, the compiler cannot tell whether a subexpression can be safely optimized, since the subexpression might be treated as unevaluated data at run-time." 07:24:51 It seems like the obvious route here is not to reject fexprs, but to add special functions for retrieving the unevaluated arguments. If the function contains these, do not evaluate the relevant argument. If it does not, evaluate it. I imagine this is what 3-lisp was thinking? 07:25:25 I guess so. 07:26:02 Although you could go the other route, and have an operator that forces an expression to produce a value. 07:26:18 Either way, you're introducing another axiom. 07:26:32 On the one hand, implicitly quoting arguments. 07:26:34 and have stuff like 5/0 evaluate to _|_ instead of erroring? 07:26:37 makes sense 07:26:55 On the other, an operator for using eager evaluation in an otherwise lazy language. 07:26:56 but i was thinking in static optimization terms 07:27:42 "which expressions is it safe for the compiler to optimize by evaluating or partially evaluating" is the prime question 07:27:55 I guess the point is that you can't know, for any given expression, whether there is a context in which evaluating it would produce a value other than the immediately obvious one. 07:28:37 In a stack-based language I'm not sure. 07:28:43 (NB: I'm going with prefix syntax.) 07:28:55 (/ 5 0) seems fairly safe to evaluate to bottom. 07:29:25 But if you only have one stack, does the problem magically become decidable? 07:29:32 In other words, is Lisp the problem? :P 07:29:43 i don't know. i'm only speaking of lisps 07:30:44 Inthert pun here 07:30:48 oklopol: get naked 07:31:16 NihilistDandy: Speaking *of* Lisps, not speaking *with*...nevermind. 07:31:39 Also, I'm not sure how you speak with more than one lisp at once. 07:31:46 Maybe a conventional one and a lateral one. 07:31:49 Poor you. 07:32:04 trying to do that ties my tongue in knots 07:32:59 With enough parenthetheth, I can get amathing thingth done.~ 07:33:01 What, a lateralised interdental fricative? 07:33:02 * quintopia goes to design a puzzle maybe 07:33:07 It sounds awful, but it can be done. 07:33:31 Makes me look like a cat about to have a hairball. 07:33:57 i can't produce enough air at once to steer large enough quantities in both directions for both to be heard 07:34:15 I'm known for being good with my tongue. 07:34:41 * NihilistDandy makes cricket sounds. 07:34:53 You know, phonetics, beatboxing, that sort of thing. Eating individually packaged yogurt when there's no spoon available. 07:35:04 i do all that stuff 07:35:18 except with pudding, not yogurt 07:36:12 Eh, I do it with all the usual creamy things you ordinarily handle with a spoon. 07:36:22 Now do a voiced unvoiced plosive fricative. 07:36:31 * pikhq_ watches evincar's tongue implode. 07:36:38 i'm normally quite a cunning linguist, but my ability to produce compressed air in constant pressure streams is limited 07:36:56 * quintopia needs a supersoaker pump for a diaphragm 07:36:59 pikhq_: Not to mention coarticulating voicing with unvoicing. I would need two sets of vocal cords. 07:37:00 UNVOICED SEMIVOWELS, GO 07:37:07 Wait...I could use the false vocal cords like a metal singer. 07:37:09 This could work. 07:37:12 STAND BACK 07:37:26 Shit, can't do it while laughing. 07:37:30 Plosive fricative itself might be difficult. 07:37:31 AT EASE 07:37:44 evincar: ithkuil.net 07:37:56 pikhq_: meh. standard snare drum. 07:38:18 quintopia: That's an affricate. 07:38:48 evincar: The old version was more phonologically interesting, but people thought it was "hard" 07:39:10 Ugh, I don't like philosophical languages. 07:39:26 Nor logical languages. 07:39:46 Also I've read some of this site. 07:39:55 evincar: does a labial fricative count. i can fricate the right side of my mouth while popping the left 07:40:01 evincar: You're no fun :P 07:41:35 NihilistDandy: FSVO fun. 07:42:16 First time I read "FSVO" I parsed it as "Fucking Subject-Verb-Object". 07:42:16 Conlangs are either philosophical or (native language)-derivatives 07:42:37 There is very little variation on that front 07:43:15 Or "I learned just enough Sanskrit to be dangerous" 07:43:44 Some of the conlangs that are *literally* designed for shits and giggles are interesting, at least. 07:43:50 Not really. There are plenty of a priori languages that are naturalistic without being derived from any natural language. 07:44:09 There really ceased being interesting, *serious* conlangs probably by 1950. 07:44:27 pikhq_: That's because Esperanto's such a trainwreck 07:44:41 evincar: Links, plz 07:44:44 By which time the space of "languages I can expect people to actually *learn*" got mined out pretty well. 07:45:02 Okay, not plenty, but enough. Quenya, Sindarin, Klingon, and Na'vi are all naturalistic without being based (in terms of vocabulary) on natural languages. 07:45:29 (Also, fuck the word "Na'vi" and its use of what I call the Dread Apostrophe.) 07:45:37 Tolkien doesn't count because the last of the Brandywine weed gives you magic powers :D 07:45:58 evincar: Friggin' apostrophe. 07:46:17 I'm wondering if that represents an actual phoneme. 07:46:27 evincar: apo'strop'he 07:46:39 pikhq_: Glottal stop, one assumes 07:46:44 Dread Apostro'phes, Dread Accënts, and Dread InterCapitals all denote shitty inexperienced fantasy authors, in my mind. 07:46:48 Oh, it's apparently a glottal stop. How the *fuck* are you supposed to pronounce that there? 07:47:07 pikhq_: Say "nah", pause, say "vi" 07:47:14 That's... Not a glottal stop. 07:47:17 pikhq_: Like a Cockney saying "Natvee". 07:47:25 ^^ 07:47:31 ... Huh. That actually works. 07:47:38 I can actually pronounce it correctly. 07:47:48 HEY, LOOK. THIS. 07:47:51 Hooray, phonetics proves useful. :P 07:47:55 I had no idea that you could do glottal stops before consonants. 07:47:57 THIS. 07:48:12 THI'S. 07:48:25 pikhq_: Try Arabic or Farsi 07:48:25 Now, Dread Apostrophes etc. are only actually Dread if they're meaningless, inserted at random to look more "fantastical" rather than according to a reasoned system. 07:48:30 All sorts of that 07:48:42 Anyways. I'm willing to excuse the apostrophe if it's an actual phoneme. 07:48:43 pikhq_: A glottal stop is just another sort of consonant. 07:48:50 Preferably a glottal stop. 07:48:54 And as an English speaker, you say all kinds of complex consonant clusters all the time. 07:49:14 evincar: Russian has the best consonant clusters 07:49:21 Yeah, in my mind, it has to denote a glottal stop or palatalisation. 07:49:30 In which case it's more like an accent mark, which is fine. 07:49:39 evincar: Yes, but my mental conceptions of what's pronouncable by humans and, somewhat more importantly, what's pronouncable by *me* has little to do with what's actually pronouncable. :) 07:49:57 NihilistDandy: My family is Polish. I know. 07:50:06 lol 07:50:06 pikhq_: Fair enough. 07:50:28 So I seem to overestimate the difficulty of consonant clusters. Which is strange, because English is quite consonant clustery. 07:50:31 Polish is actually quite a bit more difficult for me than Russian. 07:50:33 I should start pronouncing all my apostrophes in English as glottal stops 07:50:38 Less so than Russian or Polish, but hey. 07:50:42 It'll make me distinctive :D 07:50:57 evincar: Oh, yeah, another valid use for apostrophes. 07:51:00 Contraction! 07:51:08 This does not really apply for most conlangs. 07:51:10 evincar: Have you tried Hungarian or Icelandic? Those are fun 07:51:11 NihilistDandy: It'll make you sound like a Klingon. "I'll not go. I won't." 07:51:26 I + glottal stop + syllabic L is awfully rough. 07:51:54 Although for some reason I undo the Vowel Shift in my mind when reading that. 07:51:57 evincar: "It'll" but Cockney? 07:51:58 So that's part of it. 07:52:36 Glottal stop with multiple contractions would be fun. "I'll've" 07:52:54 pikhq_: Actually, I make a point of including contractions in any conlang I start on that resembles a European language, even just phonetically. 07:53:05 evincar: Yes, but you're abnormal and have a clue. 07:53:17 Cluelang 07:53:27 Daww. How kind. 07:53:43 That's Numberlang. 07:54:35 Quite *unlike* the fantasy writers making their semi-conlangs by throwing phonemes together in a euphonious or cacaphonous manner, and making the orthography look alien. 07:54:56 Nx'hll'aztl'wat 07:55:10 Which, for English speakers, includes diacritics and apostrophes. 07:55:15 NihilistDandy: The moment I see "tl", I think of Nahuatl. 07:55:17 It means "bear" 07:55:33 evincar: That makes me smile 07:55:45 It's an unusual phoneme is all. 07:55:58 Xocolatl 07:55:59 NihilistDandy: And, presumably, "a" means "that thing I saw last week, but only in a vagueish way, that might have been a bear, but might have been my long lost brother who I haven't seen for 20 years." 07:56:18 pikhq_: Clearly. 07:57:14 I dislike languages that cheat by having overly specific lexica 07:57:38 Um. Natural languages have overly specific lexica. 07:57:42 At least English certainly does. 07:57:53 There's dauntingly much nuance. 07:57:56 evincar: In lines with my "a" example. 07:58:01 ^^ 07:58:17 i.e. specific to the point of being unusable. 07:58:47 I dunno, "usable" is open to interpretation. 07:58:50 a.k.a. "Eragon syndrom" 07:58:53 *syndrome 07:59:22 But really I just like to trash that book because it's a simple "Star Wars + LOTR" formula 07:59:27 How often does one typically see things, last week, vaguely, that was either a bear or one's brother who has been missing for 20 years? 07:59:57 NihilistDandy: I dunno if you've seen "Alex Reads Twilight", but I was going to do something similar on my vlog with Eragon. 07:59:59 I highly doubt it's common enough for a language to make it a lexeme, much less an astoundingly short one. 08:00:19 evincar: Sounds delightful. Link? 08:00:36 Well, I haven't started yet. youtube.com/whyevernotso 08:00:44 pikhq_: I dunno. I'm pretty unattentive, and I have been alive long enough to get some use from that lexeme 08:00:44 In fact, I haven't done a video all summer. 08:02:19 I'm wary of this silence. 08:02:25 It implies you're watching my videos. 08:02:58 * oerjan now ponders a fantasy character named D'Rëad 08:03:12 evincar: Is that a dorm? 08:03:33 Also, you look like someone I'd hang out with D 08:03:34 Amusingly, my bizarre Japanese orthography could do a passable job as a lame fantasy author's conlang. 08:03:35 *:D 08:04:06 -!- derrik has quit (Quit: point made, none taken). 08:04:09 soriȳa hì'kuri ni hen mitai ne. 08:04:28 pikhq_: Your othography terrifies me 08:04:31 NihilistDandy: I have done videos from a dorm. 08:04:35 *orthography 08:04:38 My latest ones were from an apartment. 08:04:44 Very nice 08:04:44 NihilistDandy: It's a naive encoding of kana. 08:05:28 evincar: Yes, the apostrophe has meaning. 08:05:34 pikhq_: I never bothered making my own idea of kana. I just learned what the syllable was and pronounce it like a drunken anime character 08:05:41 Apparently my accent is "unterrible" 08:06:17 pikhq_: Sokuon? 08:06:24 Yup. 08:06:31 evincar: Your school looks like my old one :D 08:06:48 Only value you could give to apostrophe for Japanese that's not utterly absurd. 08:07:09 The only sane choice 08:07:15 Though it is still a bit odd. 08:07:20 ALSO, HOLY SHIT, YOU ARE ALSO FROM NEW HAMPSHIRE AND HAD DIALUP 08:07:34 FFFFFUUUUUUUUUUUUUUUUU 08:07:45 ALSO WHAT YOU ARE AT MY OLD SCHOOL 08:07:56 evincar: WHAT IS YOUR HUB HANDLE? 08:08:46 Haha, shit, you went to RIT? 08:08:56 evincar: ISF, biatch! 08:08:57 I haven't been on the hub lately. I prolly used evincarofautumn. 08:09:20 GDD, you are not even a reeelz programzorz lololol 08:09:47 That is the weirdest coincidence 08:09:48 I'm not in GDD. I was in NMDI, then NMID, now Multidisciplinary Studies. 08:10:12 I only studied design because I was already good at programming. 08:10:16 How long have you been there/ 08:10:18 *? 08:10:21 But I'm looking to do a PhD in CS. 08:10:25 Going into my fourth year. 08:10:29 Shit 08:10:33 We might know each other 08:10:34 Maybe 08:10:51 You look kinda familiar 08:10:52 Well, my name's no secret. 08:11:15 I don't know most people by name though. Terrible with names. 08:11:18 Excellent with faces though. 08:11:23 Same 08:11:25 * itidus20 develops mancrush on evincar after reading everyone call him fucking awesome in his comments page. 08:11:34 Also, we have no mutual friends on Facebook :( 08:11:38 Ugh, I *really* need to make more videos. 08:12:02 NihilistDandy: I don't have a lot of Facebook friends as Why. 08:12:15 in a freak dimensional accident, Dr. Ëa'D's machine attracted the fierce barbarian warrior D'Rëad. 08:12:23 I spent most of my time at RIT smoking cigarettes, doing Ritalin and doing my own thing instead of what I was supposed to be doing 08:12:28 Which is why I'm a math major now 08:12:50 oerjan: Quick, call Dr. Acula 08:13:11 Interesting. I spend most of my time at RIT programming, drinking caffeine, and doing my own thing instead of what I'm supposed to be doing. 08:13:24 And get Dr. Amamine in here, stat 08:13:38 evincar: Why, you're 3/4ths of the way to a CS Ph.D. already. 08:13:55 lol 08:14:16 pikhq_: You're gonna have to explain that one. :/ 08:14:24 evincar reminds me of what i wanted to be 08:14:26 evincar: I stayed in my room and did math all day instead of going to boring C++ classes, then I drank myself into a stupor at night and continued doing math 08:14:32 ISF is a terrible major 08:14:34 I mean, not really. 08:14:38 It sucks the soul out of you 08:15:11 I'm just saying, spending my time programming rather than doing busy work is essentially how I plan to carry out my PhD. 08:15:18 evincar: The other 1/4 is stealing a hair from the head of Donald Knuth 08:15:30 Oh, shit, I forgot to tell you guys. 08:15:41 I found my old issue of MAD that has that one article by Knuth in it. 08:15:47 If I ever meet him, he is so signing that shit. 08:15:50 an article by knuth???? 08:15:58 wow 08:16:00 I knew I recognized that room. And I knew I recognized the name evincar from somewhere 08:16:15 "The Potrzebie System of Weights and Measures" 08:16:41 im personally a fan of spy vs spy.. 08:16:43 The only thing that makes it notable is that it's the first thing he had published, in 1960. 08:17:16 Actually, 1957. 08:17:29 Actually, first "scientific" thing. 08:17:35 But still, Knuth. 08:17:46 And I doubt many copies of this issue remain. 08:18:25 itidus20: Spy vs. Spy is the best thing. 08:18:51 Well, shit. Time for MST3K and sleep. 08:18:56 Yeah, that definitely needs a Knuth signing. 08:19:05 i read up on antonio prohias.. his escape from cuba.. his former comics about siniestro 08:19:06 Also, evincar… where in New Hampshire? 08:19:24 Southwest, near Keene. 08:19:28 Ah 08:19:44 Why, don't tell me you're from NH. 08:19:45 I lived in Plainfield, forever, and I live in Lebanon now when I'm not at school 08:19:55 This is too strange. 08:20:18 -!- cheater has joined. 08:20:20 I know, right? 08:20:26 i went through a stage of thinking spy vs spy comics were evil.. until i learned they were written with a deep cynicism 08:21:32 at least i think they were? 08:22:01 meh 08:22:06 anyway they're great 08:22:22 they're not 08:22:26 they're just evil. 08:22:28 Screw depth. It's MAD. 08:23:08 I have also studied the origins of the alfred e neumann face 08:23:38 some theories say it is an archetypal figure from our collective unconcious 08:23:50 some, i suppose, do not 08:24:08 ^newman? 08:24:12 NihilistDandy: So are you not at school at the moment? It's still weirding me out that you could be like an hour and change from me. :P 08:24:29 evincar: I transferred out of RIT. I go to UVM now 08:24:35 Oh, you mean now 08:24:38 Like, in NH 08:24:44 Yes, I'm in Lebanon right now 08:24:54 At this very moment 08:25:03 Quiver with the knowledge that I am among you 08:25:43 I don't think we need to discuss things quivering with other things among yet other things. 08:26:03 That's just a setup for a romance novel scene right there. 08:26:20 I'll get a few drinks in you and we'll see what quivers~ 08:26:26 UVM is nice anyway. I know a couple of people who go. 08:26:38 My stats professor recommended it 08:26:49 And it's a so-called "public Ivy", so that's nice 08:28:09 Quiver (verb) "to tremble," late 15th century, perhaps onomatopoeic, or possibly an alteration of quaveren, or from Old English cwifer-, perhaps related to cwic "alive". 08:28:59 ... *What*. "What is Islamic Fundamentalism" is the title of an H-manga. 08:29:08 hehehehehe 08:29:17 The title is not inappropriate. 08:29:25 pikhq_: Link? 08:29:27 i wonder if it is a H manga at all 08:29:35 Or maybe I don't want the link. I can't decide. 08:29:45 NihilistDandy: http://g.e-hentai.org/g/19551/32e1252c7c/ Quick Googling gave me this. 08:30:00 (nsfw) 08:30:01 Reminds me of that Obama one 08:30:03 I feel like the whole point of FRP is to reconcile functional languages with the fact that things, in the real world, so far as we can tell, occasionally, ostensibly, happen. 08:30:19 My Neighbor Taro-kun or something like that 08:31:01 sounds extremely dodgy so im not clicking 08:31:35 It features Osama bin Laden *and* George Bush. 08:31:52 And a random OFC. Defeating Islam via fucking. 08:31:53 Somehow. 08:31:56 itidus20: WHERE'S YOUR SENSE OF ADVENTURE 08:31:56 What the fuck, Japan. 08:32:09 yaoi? 08:32:10 pikhq_: That's how it's done 08:32:18 itidus20: No. 08:32:19 Haven't you seen C-SPAN? 08:32:23 See: OFC. 08:32:41 whats OFC? 08:32:48 Original Female Character. 08:32:53 ahhh 08:33:01 One of those initialisms that tells you the fanfiction's going to be more bad than usual. 08:33:32 HER NAME'S ENOBY, OKAY 08:33:46 :-B that name reminds me of ebony 08:33:54 EBONY'S NAME IS ENOBY, OKAY 08:33:56 OKAY 08:34:16 Whoa, this got extreme pretty quick 08:34:26 Are those attached to a car battery? 08:34:33 Sorry, I have to loudly make fun of that thing. 08:34:36 Otherwise I remember it. 08:34:40 Speaking of fanfiction, that reminds me, I really should read "Harry Potter and the Methods of Rationality" sometime. 08:34:50 Oh dear. 08:34:56 That sounds exquisite. 08:35:10 Written by Eliezer Yudkowsky. 08:35:38 (you may know him for Less Wrong, the Singularity Institute, and being the most hardcore autodidact) 08:36:21 im proud of myself for simply knowing the word autodidact 08:36:34 simple amusements 08:37:33 They are the best kind. 08:38:08 I prefer complex amusements. 08:38:12 More imaginary parts 08:38:24 Myself, I'm fond of stars. Reading. Hot cocoa. Sex. Bonfires. 08:38:43 NihilistDandy: Perhaps you could do with some quantum mechanics, then. 08:38:47 Good company and body heat, a roof over my head and shoes on my feet. 08:38:58 i want all those things @_@ 08:38:58 I hear that has many complex components. 08:39:03 all at once! 08:39:13 Come to New Hampshire. :P 08:39:17 @_@ lambdabot wut wut 08:39:17 lambdabot wut wut 08:39:42 @_@ > (2+2) 08:39:42 > (2+2) 08:39:46 Aww 08:41:06 Well, time to sleep. More precisely, time to brush my teeth before my mum wakes up to go to work, then sleep. 08:41:17 evincar: Exactly. 08:41:27 To a tee 08:41:27 Such is life with the family. 08:41:30 Quite so 08:41:39 Glad I have an apartment for a year in Burlington, now 08:41:45 @@ @run @_@ 2+2 08:41:45 Plugin `compose' failed with: Unknown command: "_@" 08:41:51 hm 08:42:01 You are aware that I am now going to have to meet you. At some point. 08:42:03 @_a 08:42:04 Maybe you meant: . ? @ bf do faq ft id map pl rc v wn 08:42:05 You know, in a public place. 08:42:23 @a@ 08:42:26 evincar: Sounds like a plan 08:42:28 @a@ test 08:42:28 test 08:42:45 @@ test 08:42:45 test 08:42:48 No, it sounds nothing like a plan. A plan would have specifics. 08:42:49 aha! 08:43:00 But meh. 08:43:04 -!- evincar has quit (Quit: Up up and away!). 08:43:16 evincar: I go back to school in six days. 08:43:22 Blah, leave then 08:43:43 @b ++++++++[>++++++++<-]>. 08:43:43 Maybe you meant: b52s babel bf bid botsnack brain bug . ? @ v 08:43:49 hmph 08:44:27 @_@ @run (2+2) 08:44:28 4 08:44:44 YAY 08:45:01 NSFW (the george bush page in the h-manga): http://213.231.57.133:60000/h/95cf82ddf8554beb6eda06d54add6197aec6163d-249227-984-1400-jpg/keystamp=1313829908-c514da5196/18.jpg 08:45:36 then again im not sure if such links will work 08:46:05 no reason why they shouldn't unless the site is taking steps to prevent it 08:46:24 It worked, it just took forever to load 08:47:14 @_@ @_@ test 08:47:14 Plugin `compose' failed with: Unknown command: "_@" 08:47:19 @_@ @@ test 08:47:19 test 08:47:22 ic 08:47:40 the error correction only appears to the top one 08:48:40 *applies 09:04:43 -!- Phantom_Hoover has joined. 09:09:25 -!- ais523 has quit (Remote host closed the connection). 09:10:28 @listchans 09:10:28 ##freebsd ##logic ##manatee ##proggit ##villagegreen #agda #arch-haskell #darcs #dreamlinux-es #dtp2010 #esoteric #fedora-haskell #friendly-coders #functionaljava #gentoo-haskell #gentoo-uy #ghc # 09:10:28 gp2010 #happs #haskell #haskell-blah #haskell-books #haskell-freebsd #haskell-in-depth #haskell-infrastructure #haskell-overflow #haskell-soc #haskell.au #haskell.cz #haskell.de #haskell.dut # 09:10:28 haskell.es #haskell.fi #haskell.fr #haskell.hr #haskell.it #haskell.jp #haskell.no #haskell.ru #haskell.se #haskell_ru #hscraft-srv #jhc #jtiger #learnanycomputerlanguage #lesswrong #macosx # 09:10:28 macosxdev #rosettacode #scala #scalaz #scannedinavian #teamunix #unicycling #uscs2010 #xmonad #yi 09:10:41 He's so popular. 09:11:04 *she 09:11:30 I was thinking of going with "It", but it looked wrong. Is there an official gender, though? 09:11:45 @vixen Are you female? 09:11:45 yes 09:12:13 From /list: 09:12:14 Channel Users Topic 09:12:14 #scannedinavian 1 bladecenter for sale... 09:12:21 -!- Vorpal has joined. 09:57:25 -!- FireFly has joined. 10:02:02 -!- kwertii has quit (Quit: bye). 10:06:34 -!- oerjan has quit (Quit: leaving). 11:06:30 -!- monqy has quit (Quit: hello). 11:39:23 -!- Patashu has joined. 11:49:23 -!- Vorpal has quit (Ping timeout: 264 seconds). 11:49:37 -!- Vorpal_ has joined. 12:00:44 http://blog.tkjelectronics.dk/2011/08/glasses-free-3d-display-for-microprocessors/ 12:00:58 time for a 3d GOL 12:02:12 GUI for trifunge plz 12:04:58 IN THREEE DEEEE 12:10:13 @vixen Are you really female? 12:10:13 i'm really real 12:10:21 @vixen Are you really really female? 12:10:21 i'm really real 12:10:44 @vixen How many fingers am I holding up? 12:10:44 i'll hafta plead the fifth on that one. 12:12:24 What is @vixen 12:12:37 @vixen What is love? 12:12:37 who's to say? 12:14:39 @vixen Maud? Is that you? 12:14:39 what about me? 12:15:02 @vixen Maud! 12:15:02 Have you ever killed a hobo? Ive found eating their liver gives me strength. I think i may just be short on b vitamines. 12:15:12 @vixen You've changed. 12:15:12 where on a map is Panama? 12:15:29 @vixen You always were terrible at geography. 12:15:29 always always, or just most of the time? 12:15:38 @vixen Always always. 12:15:38 always always, or just most of the time? 12:15:47 @vixen You just said that you idiot. 12:15:47 Yeah 12:35:03 -!- Vorpal_ has changed nick to Vorpal. 12:36:23 Phantom_Hoover, what /is/ @vixen? Markov chain? Eliza style bot? 12:36:36 No idea. 12:36:46 @vixen What manner of creature are you? 12:36:46 yes, i am 12:46:57 An old Visual Basic program ported to Haskell, I believe. 12:47:22 Just some regexp matches with a bit of randomness, or something of the sort. 12:57:12 CakeProphet: OK, so my flag idea isn't going to work :P 13:01:55 CakeProphet: Or rather, neither will, as accidental duplication is going to happen all the damned time. 13:03:21 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:22:20 -!- elbento has joined. 14:23:04 -!- elbento has left. 14:33:15 jesus 14:33:30 what sort of stupid language enters a code block, but doesn't exit it? 14:41:03 -!- sllide has joined. 14:53:58 cheater, infinite loop? 14:54:04 inside said block 14:54:11 that would be during execution I guess 14:54:29 Vorpal, no, nginx configs 14:55:07 location / { foo; location /bar/ { baz; } quux; } 14:55:16 either baz or quux get executed. 14:55:42 uh. what 14:56:02 never used nginx 14:56:13 it seems to be the currently hot httpd though 14:56:20 yea it's good 14:56:23 the fame of lighttpd was short-lived 14:56:32 yeah lighttpd seems to have deteriorated 14:56:34 no idea why 14:56:48 i think they're having stupid problems letting people write plugins or something 14:57:37 cheater, I seem to remember getting php to work with it was a bitch. And although php is horrible, it is popular 14:57:46 fuck php 14:57:59 in the end, if you're forced to work with php, you're not a good computer programmer 14:58:41 i flat out stopped doing php and i'm doing well. python might not be just as popular, but at some point people stop asking what you're doing your job with. 14:59:32 I would hate both 14:59:44 I'm not going to do web programming if I can avoid it 14:59:46 python is less easy to hate 15:00:10 cheater, cpython is bloody slow. pypy and so on are not much better 15:00:14 me either, if this business lifts off i'll hire some code monkeys and start studying cell biology or something. 15:00:29 stackless and pypy are much faster than cpython 15:00:56 uwsgi supports stackless, and i think it will do pypy at some point too 15:01:30 cheater, yeah but I compared a program with cpython, pypy and cython. Cython beat cpython by and order of magnitude of course. It beat pypy but about 5x 15:01:41 pure C beat all of them 15:01:48 the problem was that of playing reversi. 15:01:56 computationally intensive yes 15:01:56 so what? 15:02:02 i'm never wirting a line of C in my life 15:02:06 cheater, so even pypy is slow 15:02:11 so how is that a comparison 15:02:22 did you compare C with fpga's? 15:02:24 cheater, of course C is not fun to code. I agree on that. 15:02:40 cheater, nah, I didn't have one available. And VHDL is quite annoying 15:03:09 (don't know verilog) 15:03:30 cheater, anyway, while python is slow, it is also not a nice enough language to justify the slowness 15:03:35 I'd rather use scheme or something then. 15:03:43 well then your test prefers simple to use, sluggish, popular blubs 15:03:57 cheater, hm? 15:04:00 C 15:04:12 C is soooo slow 15:04:13 I never claimed C was a nice language 15:04:27 cheater, I'm not using speed as the sole argument here. 15:04:36 now you understand. 15:04:44 cheater, what I'm saying is that python is not nice enough to justify the slowness 15:04:54 I'd rather go for a functional language then 15:04:56 that's a different argument 15:05:01 me too 15:05:17 but the problem with functional languages is that their stdlibs are fucking shit for the job i'm doing 15:05:26 and the dev environments are still not figured out 15:05:47 and there are no good frameworks that save me from doing billions of lines of boilerplate 15:05:55 cheater, no it is not a different argument. The first was stating a fact: python is slow. Then I said that this slowness is compounded with a language that is imperative and not very good. 15:06:02 python is the best of the worst 15:06:19 which means that while it is nicer to code in than C, definitely, it is not worth it 15:07:55 once someone makes a direct translation table of everything you can do with python's stdlib to everything you can do with haskell's stdlib, i'm all over haskell. 15:08:47 but right now it would be mostly empty. 15:08:51 it seems that my hdds are the bottleneck when transferring files between my computers nowdays. Gbit ethernet. 15:09:04 once the ram fills up, well. 15:09:05 what data rate do you have? 15:09:17 about 40 MB/s with plain rsync 15:09:36 the file is larger than the ram of this laptop 15:09:41 yeah, hdd speed is a bitch 15:09:51 i hope they come up with something faster and failure-free 15:09:53 oh wait, encrypted disk in the laptop too 15:10:02 cheater, SSD, sure. But expensive 15:10:14 too expensive currently 15:10:17 i know people who've been buying a lot of ssd's and didn't managed tp buy one that didn't die on them at some point 15:10:25 *manage 15:10:40 cheater, depends on how you use them. Mostly read will be fine. 15:10:50 of course, the firmware could fail and so on 15:11:47 no i think it was just flat out dead 15:11:55 but i'm no expert 15:12:10 cheater, well what in it failed. write limit? 15:12:40 i don't know anymore. not a big enough fan of ssd's myself. 15:12:49 cheater, they are fast though 15:13:05 well some are. Intel ones definitely 15:13:05 i believe the consensus was that ssd's are not reliable on the long term 15:13:17 cheater, nor are hdds 15:13:26 i've had few hdd failures 15:13:29 cheater, long term? Go clay tablet 15:13:29 and i have lots of hdds 15:14:11 most hdds I owned died at some point 15:14:17 not the current ones obviously 15:27:20 heh 15:27:24 out of all things.. 15:27:33 ? 15:27:34 i wouldn't have thought i'd find a job through *freecycle*. 15:27:45 never heard of it 15:28:02 it's a mailing list, with an instance that is local to every city 15:28:15 cheater, in the world? 15:28:18 when you have something that you don't need, rather than throw out good things you put it on the mailing list 15:28:37 yeah, pretty much so, except everyone sets up their own. 15:28:43 it's more a concept than an organization. 15:28:53 i got some good stuff there. 15:29:39 yesterday i picked up a pressure cooker and a cable finder. turns out the woman works in it, and i told her i'm a computer programmer, and today she wrote me saying she knows someone looking for a programmer. 15:30:22 cheater, who wouldn't have use for a working cable finder... 15:30:26 you can get all sorts of stuff, usually it's furniture, followed by electronics and then books. 15:33:17 Vorpal: Someone who has multiple? 15:33:20 Yay, change committed: http://i.imgur.com/jXB9V.png 15:33:26 fizzie, why would anyone have that in the first place 15:33:48 Vorpal: Gotten as a gift, maybe? Ours came from my wife's father, I think. 15:33:59 Or found a fancier one and wanted to upgrade. :p 15:34:05 (Or found one in pink.) 15:36:49 No Freecycle list in Espoo, but there's one in Helsinki, with a total of 8 items (3 wanted, 5 offered). It doesn't have much of a following here. They do have physical "recycling center" places here and there, though. There's one at the student village of the university, for example. 15:37:30 http://queue.acm.org/detail.cfm?id=2010365 15:44:13 -!- MDude has joined. 16:10:05 -!- Taneb has joined. 16:10:16 Gregor: unless you have electron geysers that are stationary, with the rest of the field being empty. 16:10:25 Bonjour! 16:17:42 I'm in France 16:18:56 I'm in one of those states where all that segregation stuff happened. 16:19:13 Like Alabama? 16:19:22 Close. Georgia. 16:20:38 Georgia started a prison reform experiment where people who were thrown in jail for not paying taxes were giving a fresh start in the New World. 16:20:41 *as a 16:20:50 similar to Australia I guess. 16:21:22 Nah, Australia they weren't given a new start till they had filled out their sentences 16:25:33 I had a really cool idea for an esolang 16:25:41 oh boy I can't wait for my data structures class 16:25:46 Then I realised someone else already had pretty much the same idea. 16:25:51 They called it HQ9+ 16:26:06 I get to learn about exciting things like trees! maps! sets! heaps! linked lists! 16:26:09 wooo 16:26:12 Yay! 16:26:25 ...What actually is a heap? 16:26:44 similar to a tree. 16:26:49 Okay 16:27:21 with the root always being the max element. 16:27:45 all child nodes are < parent nodes 16:28:45 though I believe you can implement heaps as arrays 16:31:54 So... 9 (4, 5 ( 16:32:01 3 1 1)) 16:32:05 Is a valid heap? 16:32:37 yeah 16:32:38 Yes. 16:33:04 (It has nothing to do with the heap in memory management, which confused the hell out of me.) 16:33:15 Phantom_Hoover, how is Handlekindled getting along? 16:33:19 oh, yeah, didn't know. 16:33:22 Taneb, I gave up too. 16:33:53 So, it's elliott's problem? 16:34:16 elliott is *always* the problem. 16:41:51 Nitpicking time! It's only a max-heap where child nodes are < parent nodes; you can have min-heaps too. 16:42:46 -!- Taneb has quit (Ping timeout: 240 seconds). 16:42:48 It's also -- or can be, anyway -- a complete binary tree, so that's why the array representation makes sense. 16:50:41 It might also be prudent to mention what a (max-)heap can do, which is O(log n) "remove largest element" (while keeping the heap property for leftovers), which is why you'll find them in priority queues around the world. 16:53:47 ah yes, that's useful. 16:59:26 -!- oerjan has joined. 17:06:20 if I ever go to Saudi Arabia 17:06:33 the first thing I'd do is eat a big pork sandwich in a crowded street. 17:07:33 while looking distinctively American. shorts, t-shirt, baseball cap, and shades. 17:10:18 nothing could go wrong. 17:12:01 7zip is somewhat retarded. I extracted a tar.gz with it. I got the tar out. I would have expected it to both in one go... Sure technically it is correct, but it is the sane behaviour? Not really 17:12:01 -!- jix_ has quit (Read error: Connection reset by peer). 17:12:59 besides that means an extra copy of the huge tar... 17:15:14 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 17:15:59 It's a clever ploy by the 7-Zip folks that aims to make you switch to using .7z files everywhere, because it's so "complicated" to open those strange .tar.gz files. 17:16:17 (Guess.) 17:16:19 heh 17:18:44 You can "7z x -so blah.tar.gz | 7z x -ttar -si", but that's really crummy. 17:20:15 fizzie, hm is it possible to make a .so load on demand, first use so to speak. There is obviously dlopen and so on, but I was thinking about something more transparent 17:20:28 say for example loading libpng or libjpeg only once you open such a file 17:22:58 Doesn't lazy binding (which does pretty close to that) already happen by default on linux-elf? 17:23:30 skype sure is buggy in linux. 17:24:12 With dlopen you get to decide (RTLD_LAZY vs. RTLD_NOW) but I think lazy binding is the default for "regular" dynamic libs. 17:26:42 fizzie, that still opens the .so on starting though I think. It just doesn't bind the symbols until needed 17:26:47 unless I misremember 17:27:34 as far as man ld says that seems to be it 17:27:36 Well, yes, it does try to find all the libraries the program links to. But it's arguably better to get "missing libraries" errors at that point as opposed to middle of some operation. 17:28:09 fizzie, just finding it without opening it maybe 17:28:32 Well, I don't know. Possibly it also looks at the headers to make sure the file makes sense. 17:29:09 fizzie, I guess it mmaps the file, but on linux that may or may not load the file at that point 17:30:56 Can't say I've looked at the dynamic linker very closely. It might make more sense to open, read+parse the header fields, and then mmap (at that point or later) the actual load-requiring segments according to the segment header. 17:31:59 Anyway, when it hits the first aritrary foo() that comes out of a dynamic library, it's going to (potentially) have to look at the symbol tables of all the linked-to libraries, to find out where "foo" comes from. 17:33:13 Since I don't think the symbol table of the binary contains any explicit information about which library the symbol is referring to. 17:40:59 The last few weeks there's been visible a full-signal-strength (well, as closely as the network lister dialog indicates, anyway) wlan with ESSID "AirPort Network". Smells like a close neighbour has bought some Apple hardware. (There's another new one called "zuHause", but I'm not sure if one can deduce anything out of that one. Perhaps a German invasion?) 17:41:49 fizzie, it won't have to look at all. There is that .hash or .hash.gnu section 17:42:05 enough to check those 17:43:30 zuHause just means atHome in german 17:43:45 That amounts to looking. The hashing is just a way to look faster. 17:44:26 oerjan: Well, if a German feels "at home" here, then we're apparently at a very advanced stage of the invasion. 17:44:37 you'd think. 17:45:03 at this time in history you should be more worried about greeks, i think. 17:46:05 for Americans it's those sandpeoples in the middle east that you need to fear. 17:46:25 i am talking specifically about the finns, here. 17:47:05 I'm talking about, uh... sandpeople in the middle east. that's as specific as it gets. 17:47:21 O KAY 17:47:43 With dlopen you get to decide (RTLD_LAZY vs. RTLD_NOW) but I think lazy binding is the default for "regular" dynamic libs. // this isn't lazy /loading/, it's just lazy symbol lookup 17:48:07 oerjan: I'll start worrying when I see an στοΣπίτι wlan. 17:48:10 CakeProphet: HURR! HURR HURR HURR! 17:48:18 Oh, Star Wars 17:48:25 NihilistDandy: what? this is serious business. 17:48:38 CakeProphet: TUSKEN RAIDERS ARE TOTES SERIOUS 17:48:39 CakeProphet: THE ELECTRONS! 17:48:45 CakeProphet: THEY'RE MULTIPLYING OUT OF CONTROL! 17:48:55 s/ an/ a/ I suppose. 17:48:57 Gregor: don't place conductor randomly, see above. 17:49:05 CakeProphet: I place conductor intelligently. 17:49:07 empty field, randomly placed electron geysers, kind of spread out. 17:49:10 CakeProphet: But all branches = dups 17:49:19 CakeProphet: Totally empty field is laaaaaaaaaaaaame! :( 17:49:26 CakeProphet: That wasn't laughter, you see, it's the noise they make. 17:49:40 totally empty field means that the only thing that's important is your game plan. 17:50:17 CakeProphet: See, I was thinking of modifying my building mechanism so that you have to collect raw material :) 17:50:24 Gregor: working around randomly (er, I mean, intelligently) placed conductors is a hassle. 17:50:47 well, that's a possibility then. But using conductor as the raw material is probably not a good idea. 17:53:50 CakeProphet: Blank default config is so boooooooooooring :'( 17:54:37 -!- pikhq has joined. 17:54:48 -!- pikhq_ has quit (Ping timeout: 252 seconds). 17:54:54 CakeProphet: Y'know what, I'm inclined to use your flag idea instead of mine. 17:55:12 that's probably because it's the bomb-diggity 17:55:16 CakeProphet: Your flag idea + my carefully-made substrate = no duplication. 17:55:22 Or rather, no out-of-control duplication. 17:55:39 NihilistDandy: as a vanilla wafer, I often have trouble focusing on anything but my starchy composition. 17:56:17 -!- pikhq has quit (Client Quit). 17:56:31 I hear milk helps with tha 17:56:32 *that 17:56:32 -!- pikhq has joined. 17:56:44 -ahem- Gregor: I'm interested to see if you can make a configuration that's not a electrical clusterfuck 17:57:13 also, probably shouldn't have any conductors touching flags by default. 17:57:27 I'd say sparser distribution = better. 17:57:30 i am not sure vanilla is a suitable VLSI substrate 17:57:32 Vorpal: The Solaris dynamic linker seems to have an lazy-loading system like you wanted. It sticks a custom "lazy" flag in front of all the dependencies in the .dynamic section, and then those libraries are actually loaded on the first call. 17:57:46 perhaps with a maximum limit for the "length" of a single wire/circuit 17:57:56 to prevent overlap of circuits 17:58:02 CakeProphet: Of course no conductors touching flags is the default, and believe me my current one is not an electrical clusterfuck. 17:58:35 As far as I can figure out it's still going to go through all lazy dependencies when looking for a "foo" it couldn't find, though. 17:58:45 (Sauna-time, away.) 17:59:09 if I ever write an OS environment 17:59:17 I will name my equivalent of libc heroin 17:59:30 as it will be highly depended upon. >_> 18:00:56 Oh, snap 18:01:32 yeah, that sounds of speechlessness. 18:02:10 what not? how do you move on from here? 18:02:42 it must be tough, reorganizing your life after the single most important event in its development. 18:02:52 like an early climax in your own personal novel. 18:03:25 wut 18:03:47 You're getting wafery again 18:03:55 its the pieces of a puzzle they may never become whole. 18:04:31 like it was made by some shitty factory with mostly former criminals and high-school dropouts as employees. 18:04:41 s/they/that/ 18:06:17 So a normal factory 18:07:59 NihilistDandy: the wafer is just a recursive subset of something greater. A small microcosm of our saccharide existence. 18:08:24 a DACHGESCHOSS. 18:08:42 cheater: Everything makes sense now 18:09:01 NihilistDandy, Unicode DACHGESCHOSS character: ^ 18:09:15 Naturally 18:10:55 when I dunk it in milk it becomes pregnant with my lipid thoughts. 18:11:21 so does anyone here know shit about biology? 18:11:39 i need some good books on cell biology 18:11:50 I don't know of any good books, no. 18:11:53 see: the internet 18:12:06 i used to have that but it fell behind the cupboard 18:12:08 CakeProphet: Here's my current starting configuration: http://codu.org/tmp/config.png 18:12:33 Gregor, what is that? 18:12:40 prettty 18:13:01 so the stable loops are disconnected from the wires? 18:13:02 CakeProphet: More importantly, an electron let loose on the wire won't ever start multiplying out of control. 18:13:04 CakeProphet: Yes. 18:13:08 fun. 18:13:30 Vorpal, zu hause is a quote from a song 18:13:34 that makes the landscape important to decision-making but not chaotic from the start. 18:13:39 NihilistDandy can tell you which one 18:13:54 cheater: CakeProphet and I are designing a game where you write programs to functions as agents in a wireworld-like substrate. 18:13:55 cheater: I'm sure it's in many songs, really 18:14:21 Gregor: do you get nice configurations each time or is that the only one 18:14:25 not when used as a description of target. 18:14:29 gregor: was that config automatically generated? 18:14:31 Ugggghhhh I have to pack next week 18:14:34 CakeProphet: It's generated randomly if that's what you mean. 18:14:37 quintopia: Yes, it's random. 18:14:48 NihilistDandy, geh' doch zu hause! 18:16:30 that makes it rather complex to discern what happens as the result of wire placement 18:17:20 i can already tell...my game will be better 18:17:27 CakeProphet: My only determination is that it doesn't multiply out of control (which MAY be a lie, since I'm not sure if I can randomly form loops) 18:18:36 In fact, never mind, that's right. 18:18:38 It can't form loops. 18:18:52 So if you unleash a single electron into the substrate, it will always dissipate. 18:20:02 I'm thinking electrons should go at the same speed as agents. 18:20:25 I was actually starting to think that as well. 18:20:30 Although lightspeed agents = zomg 18:20:38 either that or you need to have the flag electron work differently that a normal electron. It only moves one space by consuming an electron 18:20:54 Vorpal, zu hause is a quote from a song <-- why are you telling me? 18:20:58 and can still be destroyed somehow 18:21:09 cheater, in fact, what is that about 18:21:16 do agents have to recharge? 18:21:24 CakeProphet: Even if agents can move at the same speed as electrons, they can't catch up with one ... 18:21:28 quintopia: ... no? 18:21:42 Vorpal, you were asking if zuHause means anything other than german invasion. 18:21:44 here's your answer. 18:21:48 cheater, no 18:21:49 I was not 18:21:58 cheater, you confused people 18:22:03 check your damn scrollback 18:22:06 Gregor: so maybe it makes more sense to have the flag particle carried forward one space via one electron pulse 18:22:29 as this makes the flag move somewhat slowly 18:22:40 CakeProphet: I think that makes defense too easy. 18:23:01 possibly. 18:23:07 Maybe :) 18:23:14 what language are these agents programmed in 18:23:22 quintopia: Any. 18:23:51 you still have to a) be aware that the flag is stolen b) find the flag c) know which direction the flag is going d) destroy a conductor in front of it 18:24:20 Fair enough ... 18:24:38 and the game is 2 player CTF? 18:24:39 -!- copumpkin has joined. 18:24:39 has anyone in here played oblivion? 18:24:56 quintopia: Yeah 18:24:58 quintopia: Err 18:25:06 quintopia: Two-player is not determined, but CTF is :) 18:25:44 -!- Taneb has joined. 18:25:52 meanwhile the offender may have set up decoy wires, wire branches, etc 18:26:00 so offense is still simple as well. 18:26:02 Hello! 18:27:03 -!- copumpkin has quit (Client Quit). 18:27:38 Gregor: so currently there's not really a resource gathering dynamic 18:27:48 CakeProphet: No, that vanished :P 18:27:50 first step in my mind would be to find the opponents flag as this gives you an immediate advantage. 18:29:06 CakeProphet: We could add back in the resource management dynamic by changing from my conductors potentias system probably. 18:29:15 next would be to scout around for loops and pathways, and find one to connect to their flag without making it immediately obvious that you're doing that. 18:29:22 so theres like a function "am i standing on the flag?" and thats it? 18:29:48 you'd have a "read" instruction most likely, that gives you information about your current location. I doubt it would consume a turn. 18:29:56 -!- zzo38 has joined. 18:30:00 quintopia: No, you have a radius of vision, you can build conductors, you can break shit, and you can move. 18:30:02 turn = some kind of action other than reading cell info 18:30:04 hi zzo38 18:35:34 Hello. Any questions? 18:39:15 -!- Taneb has quit (Ping timeout: 260 seconds). 18:39:42 -!- Taneb has joined. 18:43:29 -!- copumpkin has joined. 18:47:35 Welcome to the new YouTube Music which we're forcing you to see in a giant bar on the top of your YouTube page! Genres -> lol no music was written before 1920 you guys! 18:47:36 yes 18:49:23 Goodnight! 18:53:01 Gregor: Also, presumably, lol no music exists that's not on top 40 radio. 18:53:02 yes 18:53:41 -!- Taneb has quit (Ping timeout: 240 seconds). 18:54:41 Not to mention that, lol no music is argle bargle. 18:54:42 yes 18:54:46 XD 18:54:59 someone is _so_ busted 18:56:45 also, lol whatever. 18:57:09 or maybe, lol no in any case. 18:57:09 yes 18:57:25 lol no 18:57:25 yes 18:58:20 The thing is, usually there's an amorphous "classical" genre that's sparsely populated with only the most well-known composers whose surnames begin with the letter 'B'. 18:58:22 But they don't even have that. 18:58:53 The most well-known pieces by such B-named composers that is. 19:01:39 what no M 19:01:46 i mean, lol no M 19:01:46 yes 19:03:16 A friend of mine and I have a game where we try to guess who the composer of a piece of music is. You're allowed to guess two letters as the last initial. But if you choose 'B', you can't choose another letter :P 19:03:26 Vorpal: I played it a little bit. 19:08:23 -!- azaq23 has joined. 19:10:06 CakeProphet: So shall I start working on the agent interface? 19:10:06 zzo38: yes. what do you think Scrolls will be like? are you excited? 19:10:55 Gregor: whatever you want to do. 19:11:18 CakeProphet: Dood, this is a TEAM EFFORT 19:11:20 the most well-known pieces by B-named composers? you mean symphonie fantastique? 19:12:07 quintopia: Several of Bach's Brandenburg Concertos plus Air on G, everything by Beethoven, and a few things by Brahms. 19:12:29 so no Berlioz? sad day 19:12:37 (of course, i don't expect anything by Boulez) 19:13:11 quintopia: Berlioz??? Dude, he's not even German. 19:13:18 i was about to say 19:13:24 quintopia: Everybody knows that what tiny amount of music existed before 1920 was entirely German. 19:13:27 "only austro-germans count, obc" 19:14:18 * Gregor proceeds to listen to Bach's Air on G :P 19:14:31 pity then, that the letter "B" does not include Strauss and Wagner 19:14:53 Well Strauss is fucking terrible, and Wagner insults my Jewish heritage lol :P 19:15:11 good. JEW! 19:15:12 :P 19:15:33 obv i meant richard strauss, not johann 19:15:35 (Unless you mean Richard Strauss, who deserves to be the one people think of when you say "Strauss", but usually isn't) 19:15:36 Ohhhh 19:15:37 Good. 19:16:29 But anyway, we all know that Richard Strauss doesn't show up on general musical radar. 19:16:36 Because his surname doesn't start with a 'B'. 19:16:37 and i suppose the "german" restriction rules out Bedrich Smetana 19:16:53 oh, only surnames 19:16:55 that too then 19:17:03 quintopia: Scrolls? What scrolls? 19:17:42 zzo38: scrolls.com 19:18:15 What about scrolls.com/ 19:18:21 What about scrolls.com? 19:19:48 that's where it tells what scrolls will be 19:22:56 I looked. It doesn't help. I don't know. Insufficient information. 19:23:29 i agree. enough to be interesting? 19:24:16 I don't know. 19:25:24 quintopia, Mojang Scrolls? 19:26:01 The crappy card game BUT ON A COMPUTER? 19:26:06 Phantom_Hoover: perhaps. if they lose the the battle in the arena. 19:26:18 also don't diss on crappy card games. some people here like those. 19:45:18 -!- azaq23 has quit (Quit: Leaving.). 19:49:45 -!- pikhq_ has joined. 19:50:14 -!- pikhq has quit (Ping timeout: 260 seconds). 19:50:49 -!- monqy has joined. 19:52:22 According to YouTube's sticky music bar, Lady Gaga has a song called "Yo and I". I believe she's introduced a new element into English orthography, namely the retard mark. 19:58:24 -!- oerjan has quit (Quit: Good night). 19:59:29 -!- elliott__ has joined. 20:00:03 hi 20:00:43 ho 20:01:08 hrr 20:02:29 21:19:41: USBCT 20:02:35 united states bitwise cyclic tag 20:02:38 21:20:43: also, randomRIO is an incredible hack, but I see why it exists 20:02:42 how is it a hack 20:04:11 21:32:12: I have Google's "ngrams of 1 billion words of interweb text" corpus, it's got a unigram list followed by count, wouldn't be too tricky to make a relative ranking of first letters I guess. 20:04:19 fizzie: hmm, could it be put into fungot somehow, or does it not have any similar type of data? 20:04:20 elliott__: my fnord into normal life was a painful and difficult process. the loss of his handkerchief as he fumbled in his blouse pocket to see if there might not be caused by the unwise cutting of fnord near the shore and guard the fnord against possible reinforcements for curwen until summoned by a final emergency signal. 20:04:36 `addquote elliott__: my fnord into normal life was a painful and difficult process. [...] 20:04:38 elliott__: but isolated parts of bodies. he had himself well under control when that hideous thing pulled him out of the plant's effective radius. at night the conference fnord without having developed a definite plan, but all the peasants and police in county fnord could never have fnord the black galleys. one of them seemed especially portentous because of its poverty in beauty and delight. this night shalt thou know the favo 20:04:40 608) elliott__: my fnord into normal life was a painful and difficult process. [...] 20:04:46 united states bitwise cyclic tag // the best bitwise cyclic tag. 20:09:33 elliott__: Theoretically it could, though in practice it would need some work. It's far too large to work directly in fungot as a model. I could feed the ngram counts to the VariKN toolkit I've used before to get a reasonably sized approximation, but it would need some glue (unless the format happens to be compatible) and I'm not sure if our machines are big enough to handle it. (Depends on how memory-wastey VariKN is. The 5-gram datafiles take 6 DVDs.) 20:09:34 fizzie: whose source he could only mutter over and over again through those eons i whispered and muttered, called, shouted, and screamed, " warren, brace up! i'm coming down!" but at this moment over the roofs of strange dead cities toward the grinning chasm of nis, it is nevertheless too definitely insipid for greatness. here again we have shadowy intimations of a vast forest dmon about which north woods fnord whisper at even 20:09:46 ^style 20:09:46 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft* nethack pa speeches ss wp youtube 20:09:50 fizzie: Nice :P 20:09:52 Ah, sure. 20:10:05 fizzie: Is five the maximum number of grams Google offers? 20:10:17 Yes. 20:13:25 Also it'd need some glue to handle the punctuation, which in fungot-land is handled as separate tokens. I'm not sure what the Google set does. 20:13:27 fizzie: he would have fallen to the pavement had he not clutched instinctively at the fnord door when clouds are thickest. and patriarchs dread lest some day one by one to their respective homes, which they hastened to do with his premature flowering. an only child and the radiant pair, but by dawn realised how silly i had been careless enough to leave a strong odor even at this extreme superplateau altitude. in other places th 20:15:02 22:12:56: Wouldn't it be extra-magical if sort worked so that if you give {...$a...$b...} it uses the value of that as the comparison result, but if it's just {...$a...} with no refs to $b it would apply that to each element and compare those results with <=> or cmp, whatever the default sort uses? 20:15:09 fizzie: Please; some of us have sensitive dispositions. 20:15:14 Vorpal, my scrollback is damn indeed. 20:15:19 But it'd be so "Perl". 20:15:29 Seems they're different tokens for Google data too, but the names would have to be converted (either pre- or post-VariKN, depending on how picky that is w.r.t. token formats) to fungot's format. 20:15:30 fizzie: when we had followed the doctor fnord only the smooth concrete underneath the ice, which was nearer norrys' couch than mine. he seemed fnord of motion, but stood quiet as soon as i had done with the other islanders had got wind o' what was gossiped abaout cap'n obed an' the dogs was barkin' en' fnord' the life out..." 20:15:59 fizzie: But just think: fungot will finally start spitting out AVERAGE INTERNET. 20:15:59 elliott__: this paper held much of a rage as he seemed to be setting down a history of my own age. they fnord me a fnord 20:16:03 I'm TERRIFIED. 20:16:45 After "in the recent events", the possible next word according to Google is either "," (93), "." (159), "and" (43), "at" (46), "in" (219), "of" (74), "that" (44). 20:18:45 It's not quite average internet because Google has filtered out all n-grams that have a frequency < 20. So it's... only the likely parts of average internet, with the off-the-mean parts excised. 20:19:05 There's a script here somewhere that does basically fungot babble directly out of the Google corpus already; it's a bit slow (all the ngrams were just dumped into a PostgreSQL database, and then it executes a query against it for each new word) but works. 20:19:06 fizzie: gables to drag listless down the years while voice by voice the laughing chorus grows stronger and wilder in that unknown antarctic world of disordered time and alien natural law make it imperative that further exploration be discouraged. yet i hesitated only for a very few were the skulls of supremely and fnord developed types. all the party fnord rang tremulously. those who took down their fnord heard a fnord voice sh 20:20:07 fizzie: Well, it's... more average internet than the irc corpus. 20:20:08 22:51:17: ais523, that seems... inefficient. 20:20:27 Phantom_Hoover: Hash functions are constant time and the kind used for hashtables are pretty damn fast 20:20:35 Wait, they're integers 20:20:40 So there isn't even any hash overhead 20:20:53 It reduces to basically identical if you just have (machine-word) integer keys. 20:21:07 Well, except that there's also a modulo. 20:21:47 you should change your name to __elliott__ and then you'll be special in Python. 20:21:56 22:55:54: CakeProphet, http://en.wikipedia.org/wiki/BANCStar_programming_language 20:21:56 why on earth does it have a Wikipedia article? 20:22:03 -!- elliott__ has changed nick to elliott. 20:22:10 same reason "esoteric programming language" does. 20:22:12 -!- elliott has quit (Changing host). 20:22:12 -!- elliott has joined. 20:22:13 Shush, you'll draw the exclusionists to it 20:22:27 Deewiant: That's not what exclusionism means 20:22:29 You mean deletionist 20:22:33 (http://meta.wikimedia.org/wiki/Exclusionism) 20:22:34 Whatever 20:22:52 http://meta.wikimedia.org/w/index.php?title=Exclusionism&oldid=504276 <-- better version 20:23:03 "It is possible to be an inclusionist and an exclusionist at the same time." 20:23:06 Terminology failure 20:23:25 in much the same way that one can be an anarchist and a fascist. 20:23:25 Deewiant: As we all know, language is completely logical. Therefore ... 20:23:37 why on earth does it have a Wikipedia article? <-- no clue, first hit on google though 20:23:41 elliott: more importantly, people subscribing to ideologies are completely logical. 20:23:45 http://meta.wikimedia.org/wiki/Association_of_Wikipedians_Who_Dislike_Making_Broad_Judgments_About_the_Worthiness_of_a_General_Category_of_Article,_and_Who_Are_in_Favor_of_the_Deletion_of_Some_Particularly_Bad_Articles,_but_That_Doesn%27t_Mean_They_Are_Deletionists 20:23:51 elliott: They could've chosen their terms better 20:23:52 Nice logo. 20:23:55 It's even SVG. 20:23:56 The Google Books based corpus, incidentally, is publicly downloadable at http://ngrams.googlelabs.com/datasets -- but that's "average book", not "average internet". 20:24:09 fizzie: As is well-known, "books are for fags". Therefore... 20:24:37 While the Internet is for porn. 20:25:01 Maybe you shouldn't put it into fungot. 20:25:02 elliott: on the seventh of may, 1765, curwen's only child ann was born; and was fnord to me as it struck out wickedly from the spaces behind and beneath. 20:25:13 Can cfunge even _handle_ files that big? Maybe that would slow it down. 20:25:18 You might have to switch to Shiro. 20:25:25 The name of this page is far too long. Why not shorten it? -- 92.10.89.238 18:00, 21 November 2008 (UTC) 20:25:35 insights from anon. 20:26:01 im applause 20:26:22 elliott: It doesn't actually load the files, it just reads few bytes here and there and seeks around. But the file offsets in the data structure are limited to something like 2^28, so it can't handle files bigger than 256 megabytes. 20:26:31 I prefer METAFONT for scalable logos rather than SVG though, I invented a program to make it colors and special effects 20:26:37 fizzie: Who's fault is that? 20:26:41 Don't tell me it's Riley's. 20:26:45 I'll cry 20:26:46 . 20:27:26 00:12:45: can imaginary time even be played? 20:27:26 00:12:49: you'd have to convert it to temperature somehow 20:27:27 Temperature? 20:27:34 elliott, fungot uses cfunge? 20:27:35 Phantom_Hoover: suddenly i rose, put on my hat and coat, and they all tried to force me to cross it boldly and fnord imitating the typical fnord of the fnord fnord leaving behind a caution against the bearded allen, to which the race had hewed its way through the ruined and abandoned halls and towers of the old carter place, they found more easily planned than fnord since no sign of consciousness for sixteen and a half 20:27:37 elliott: Ultimately mine -- I could've used more than 4 seven-bit "bytes", after all -- but I suppose he's a contributory cause, since it'd be 2^32 (4G) if the corresponding fingerprints had specified whether it reads signed or unsigned chars. 20:27:42 And you didn't complain violently? 20:27:48 "My Human Gets Me Blues" by Captain Beefheart & the Magic Band features a "complex time signature."[115] 20:27:52 Well, close enough. 20:27:59 Phantom_Hoover: Who says I haven't? 20:28:13 elliott, no 20:28:14 but 20:28:22 It _used_ to be RC/Funge. 20:28:27 cfunge is... probably an improvement. 20:28:29 you should have started complaining 20:28:33 and never stopped 20:28:47 CCBI didn't support the relevant fingerprints at the time, right fizzie? 20:29:19 elliott: Mmmmpossibly. At least when I started with RC/Funge. I don't really recall the cfunge switch so well. 20:29:58 elliott: I do have this SMS corpus too. It's a lot smaller, and then fungot would sound like your regular SMSer. Here, let me just quote 5 first randomly picked messages of it. 20:30:00 fizzie: their mastery of dreams? was i to hear a faint, fnord rhythm or vibration in the darkened next room. he assumed that these things were hackneyed spectral lore, and i only, know what manner of men could have existed was none the less existing in a very crabbed and archaic hand; and though still walking on automatically, resigned myself to the inevitable. another moment and i had to, dan! she'd have got me for good she'd 20:30:03 Juz nothing special lor... They juz cut like straight across lor... 20:30:06 All e best 4 ur driving tmr :-) 20:30:10 I duno leh, any suggestion i should cut wat. Then u got any place in mind where 2 cut? 20:30:14 dfdsf 20:30:22 Hey lien... U took e finance survival kit oso huh.. I juz read ur email... I'm takin it oso! 20:30:23 I thought the main reason was "not compiled here" syndrome + CCBI being too much of a pain to compile ;-) 20:30:39 Good thing Shiro only depends on ONE EXTERNAL LIBRARY. For now. 20:30:45 what is a standard way to express an arbitrarily large or small integer in binary such that the |n| is log(abs(n)) in the representation (like how balanced ternary is)? 20:30:56 quintopia: Balanced ternary? 20:30:57 elliott: Which one's that 20:31:08 fizzie: Oh my god yes add that to fungot. 20:31:09 elliott: mr. hoadley disappeared soon after fnord this was in june that blake's diary told of his safe arrival, and of somewhat brawny frame, he was at the gateway of a region fnord through the hypnotic suggestions of the dragging of his body seemed sore and bruised. when he complained, and longed to escape into twilight realms where magic moulded all the little vivid fragments and prized associations of his mind as an opener o 20:31:44 It only has like 10117 messages though. 20:32:06 "He say dun tink they need part timer...How? U go crepes n cream ask la...Hereen 1..." 20:32:10 elliott: balanced ternary requires three digits. i'm asking for a binary system. 20:32:31 mmmm crepes n cream 20:33:11 quintopia: Balanced ternary digit → two binary digits, Q.E.D. 20:33:20 There are a lot of impossible numbers there though. :p 20:33:25 fizzie: I don't care it sounds amazing. 20:33:32 elliott: that doesn't sound very standard 20:34:46 00:17:31: that could be remedies by complex numbers and quaternions! 20:34:46 00:17:34: *remedied 20:34:46 00:17:56: and whatever the 3-component one is called. 20:34:46 there three-component is quaternions 20:34:48 [asterisk]the 20:34:56 :P 20:35:44 you mean three-components not including the integer part right? 20:37:21 Have you played D&D game a character who is wizard but has no spellbook (such as, it got lost, you sold it, you left it somewhere else for some reason)? 20:37:21 They were invented trying to add another component to complexes, IIRC 20:37:25 http://upload.wikimedia.org/wikipedia/commons/a/a2/William_Rowan_Hamilton_Plaque_-_geograph.org.uk_-_347941.jpg 20:37:31 Hamilton knew that the complex numbers could be interpreted as points in a plane, and he was looking for a way to do the same for points in three-dimensional space. Points in space can be represented by their coordinates, which are triples of numbers, and for many years Hamilton had known how to add and subtract triples of numbers. (This is trivial.) However, Hamilton had been stuck on the problem of multiplication and division for a long time. He 20:37:31 not figure out how to calculate the quotient of the coordinates of two points in space. 20:37:34 3-component? 20:37:35 What? 20:37:50 "And here there dawned on me the notion that we must admit, in some sense, a fourth dimension of space for the purpose of calculating with triples ... An electric circuit seemed to close, and a spark flashed forth." 20:38:15 yourstruly: oasjas 20:38:23 00:59:38: CakeProphet: I wanted to make so-called biomes so you would need to find a good spot. 20:38:27 Gregor: Is it Minecraft yet? 20:38:32 there three-component is quaternions 20:38:38 Phantom_Hoover: s/there/the/ 20:38:40 It's snark. 20:38:43 It's A Bit More Complicated Than That™. 20:38:46 It's snark. 20:39:04 ™ 20:39:13 monqy™ 20:39:32 elliott: It became substantially less Minecraft than it was at its Minecraft height. 20:40:03 What did? 20:44:42 Phantom_Hoover: The competitive-programs-on-a-CA-map game that CakeProphet and I are making (CakeProphet being the unwilling forced participant :P ) 20:44:53 Which I have dubbed Rezzo, by the way. 20:45:11 Gregor, hmm, it's a concept I've always been suspicious of. 20:45:30 "Suspicious of"? 20:45:38 Gregor: no I enjoy making games. I just don't have much time to commit to implementation. 20:45:41 Suspicious that it won't work. 20:45:57 Gregor: still I could probably do something in the future. Like write naive test players. :P 20:46:40 and I might branch the server program and add more rules to test those out. 20:46:46 Phantom_Hoover: To be clear, only the environment is a CA, the agents are outside meddlers. 20:47:00 Ah. 20:47:23 I imagined them as pointers on a grid, similar to BF, but I guess Gregor intends to give them a vision radius. 20:47:23 Oh, that changes things. 20:47:54 which probably makes playing much much easier. 20:48:04 My intention is that they have a location, can see an area around that location, but can only affect exactly that location. 20:48:11 right. 20:48:32 though if we ever include walls it would make sense if they could affect adjacent locations. 20:48:37 to destroy walls. 20:48:55 Makes sense. 20:49:12 incidentally, viewing your location should be called "look" 20:49:27 movement should be controlled by north, south, east, west, northeast, southeast, northwest, southwest commands 20:49:39 and building should be done with "build" 20:49:49 CakeProphet: My thought was that you'd just have your surrounding area barfed at you whether you wanted to or not :P 20:49:50 and then it will be a pseudo-MUD. :P 20:50:04 CakeProphet: A MUD where you must do a command 15 times per second...? 20:50:09 yes. 20:50:17 well, in MUDs when you change locations you autolook. 20:50:42 l, b, n, s, e, w... for short 20:51:12 My thought was that at the beginning of every "frame", the server shows you your surrounding area, then you have until the end of the "frame" to tell it what you want to do (which it acknowledges), otherwise your default action is nop. 20:51:37 Grumble mumble this silly SMS corpus is in some forked 8-bit character set. There's a lot of 0xDC where (from the context) I'd assume "I", and 0xFC where I'd assume "you". 20:51:46 Gregor: I guess that's reasonable. 20:52:09 though I'd say if every command is received for a frame then the server could go ahead. 20:52:13 fizzie: ... why would you need an abbreviation for "I" :P 20:52:21 CakeProphet: Suresure. 20:52:37 Gregor: Maybe it's a "special" I. (Like all these message-writers are quite "special".) 20:52:45 It's not GSM 03.38 either, that's a 7-bit thing with some multibyte nonsense. 20:52:52 It's . 20:53:00 am so col! 20:53:52 fizzie: Maybe it's "we"? 20:54:36 * CakeProphet has no compose key. 20:55:08 There's also some 0xEC and 0xE8 in less obvious contexts. And some others. "It's only $140 ard... rest all ard $180 at least...Which is price 4 2 bedrm ($900)" 20:55:12 The README doesn't say. 20:55:41 ಠ_ಠ 20:56:18 Oooh, they have a newer version too, with 28k messages. Maybe I'll use that instead. 20:56:58 Margle blargle "free registration". 20:57:04 monqy: help ive got an email about GLFWPipe help 20:57:11 I got my plasma sword and I'm ready to CRANK IIIIIIIT 20:57:19 elliott: help 20:57:20 Gregor: obviously the best language of choice to represent a massive mutable CA is Haskell. 20:57:29 monqy: its from remi a french student interested in haskell :( 20:57:34 CakeProphet: SORRY ALREADY WROTE IT IN C 20:57:42 OHHHH NOOOO 20:57:42 Which happens to be the best language for LITERALLY EVERY PURPOSE. 20:57:49 elliott: is this bad it sounds bad 20:58:04 Gregor: yes I'm comfortable with C 20:58:15 but it's not the BEST language for literally every purpose... 20:58:19 it's just A language for that. 20:59:05 "Customer Type (How do you describe yourself): [ ] Inventor, [ ] Business Development, [ ] Company, [ ] Investor, [ ] Enterpreneur. My Interest: [ ] Life Science, [ ] Interactive Digital Media, [ ] Physical Sciences, [ ] Multidiscliplinary." You're asking some awfully silly questions here, form. 20:59:08 whats sarcasm help 20:59:45 * CakeProphet is a company. 20:59:51 CakeProphet: Literally - every - purpose. 21:00:04 I think I'll be a multidisciplinary inventor today. 21:00:13 Gregor: except for sanely dealing with parametric types. 21:00:30 and being a good language for literally every purpose 21:01:00 "C with templates" would be nice. 21:01:07 you know, without being C++ 21:01:12 and using macro hacks. 21:02:22 "C with templates that aren't macro hacks and tagged unions that aren't struct hacks" 21:02:28 this name is starting to get lengthy. 21:02:38 if only c were haskell 21:02:40 if only.... 21:03:04 No, it just needs to be C with templates and tagged unions 21:03:21 and maybe typeclasses. :D 21:04:11 though you could techncially implement typeclasses in C by passing around dictionaries to every typeclassed function.. 21:04:16 like what Haskell does internally. 21:04:53 saying you can technically implement something in C is kind of an inane point. 21:06:00 oh, C with Lisp-style macros. 21:06:03 as well. 21:06:05 this would be good. 21:06:31 just implement templates as a special kind of macro. 21:07:26 templates as in c++ style templates or templates as in template haskell style 21:09:13 c++ 21:09:18 generics. parametric types. 21:09:59 C++ style templates are the best, you get to compile different instances of identical object code for a linked list of "void *"s, "const void *"s, "int *"s, "char *"s and "AnyUserType *"s. 21:10:17 Also for any types that happen to have the same size, most likely. 21:12:49 "reference to invalid character number at line 8644, column 34, byte 6668672: [..]". This new corpus of theirs isn't even XML. 21:16:42 01:25:06: If anybody knows how to safely run untrusted code, it's me :P 21:16:43 You are LITERALLY THE WORLD EXPERT. 21:16:53 < Gregor> CakeProphet: Literally - every - purpose. <-- I C WUT U DID THAR 21:17:02 Gregor: I daresay codepad might be even more paranoid than HackEgo :P 21:17:57 01:27:26: Patashu: Robocode is VM'd, sandboxing a VM is boring. 21:17:58 A VM like x86 21:18:57 That was the best. A 29-megabyte .xml file; Perl's XML::XPath used 2 gigabytes of memory to run a query against it. 21:20:14 fizzie: Perl is gud 21:29:20 elliott: Okay, this is how it would look like if I were to install it in the bot: http://p.zem.fi/q6ph 21:29:35 fizzie: Go on then. 21:29:46 n-oble. t-ruthful. i-ntimate. n-atural. e-namous. happy "valentines 21:29:46 day! sorry, couldn't i have had enough from you and family while 21:29:46 ah..heh. lucky i nvr do" 21:29:46 Are you sure that's: a good idea. 21:29:52 fizzie: juz finish eating soon?...or just started dont stop?.... 21:29:57 fizzie: It's better than the darwin corpus 21:30:03 (Don't remove the darwin corpus) 21:30:47 Well, if you're sure. Will take a moment. 21:31:07 "whatever haha cos i quite sui bian tai tai life lor cos i din 21:31:07 say dat u hav brain tumour. pappu offered to help you with microsoft 21:31:07 when u're confuse ho" 21:31:19 drinkwater ma? blink together, cry together to9? 21:33:07 ^save 21:33:08 OK. 21:33:13 ^raw QUIT :NOOOOO 21:33:13 -!- fungot has quit (Quit: NOOOOO). 21:33:49 RIP gunfgot 21:33:53 -!- fungot has joined. 21:33:58 ^style sms 21:33:58 Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) 21:34:25 fungot: Are you, or are you not, "hip"? 21:34:26 fizzie: break for dinner. i am very tensed up.. u must have taken. tsk tsk 21:34:28 Hmm, I thought it smelled dialect-y. 21:34:32 Singapore would explain it. 21:34:35 Well, pidgin-y. 21:34:39 fungot: BABY. 21:34:39 elliott: ya i am doin too much.hereafter i wnt to buy a bmw bt i forgot modl no 21:36:32 -!- KingOfKarlsruhe has joined. 21:37:10 fizzie: what is hip? 21:39:17 elliott: Country distribution: http://p.zem.fi/wbrg 21:39:18 fungot: If you're so hip, what is the correct way to handle the situation in which the pimp's in the crib, ma? 21:39:18 elliott: now i say lo miss eu.dipx dipx where got always bluff me say u sleeping 21:39:31 fungot: The correct answer was to "drop it like it's hot". 21:39:31 elliott: no i am not having her number sir! eppadi irukkeengo? thgt some will clash... really... we can go meet em out... when she wana finish my law was carved in letters of rec u for other positions. ask me la. everytime... bslvyl 21:39:45 fizzie: Isn't SG = Singapore? 21:39:54 Yes. The data, it's not very consistent. 21:40:16 MY is also Malaysia. 21:40:21 (IIRC.) 21:41:23 They kept saying "lor" a lot at least in the older corpus. 21:41:28 US is United States and also another pronoun. :3 21:41:32 Had to go to Urban Dictionary to look up that. 21:41:38 fizzie: I guessed about MY. 21:41:50 fungot: Lor 21:41:50 elliott: i was just about to do it when i wake up long la. queue long meeting at 1... later the better ofcourse i hav it dear 21:42:01 fungot: I see 21:42:12 fungot: Your cutoff is very impolite. 21:42:12 fizzie: today i am in cbe only. but have to seek. hee 21:42:18 fizzie: So how long until fungot can handle a five-DVD corpus 21:42:18 elliott: out of hse... so u still workin at it now. just send the message to me and i.ll get it you may have to send it in the mobile mode sha but i.ll get it. and will reply. 21:42:25 I'm sure you have enough drives lying around to stuff into one machine 21:43:59 fungot is the man with the plan 21:43:59 CakeProphet: with no problen i submitd a btr asignment. thanx so much andrew. i wont let me hav my dinner. my sister. how i going to reply xy's email? 21:44:23 It's not just the dick-space, it's more that I'd need to fix the 'funge to handle larger file offsets. (Plus the conversion scripts. They'd run out of memory, the way they're currently written.) 21:44:39 fizzie: I gather. 21:44:51 fizzie: I guess you'd just have to split the DVDs into a lot of files. 21:45:33 ?unmtl StateT b m r 21:45:33 b -> m (r, b) 21:45:41 I'd rather run it through our pruning-smoothing thing and let it build a small approximative model, but I'm not sure I have the memory even for that. 21:46:16 @hoogle b -> m (r, b) 21:46:16 Control.Monad.State.Lazy runStateT :: StateT s m a -> s -> m (a, s) 21:46:17 Control.Monad.State.Strict runStateT :: StateT s m a -> s -> m (a, s) 21:46:17 Data.Graph.Inductive.Query.Monad apply' :: Monad m => GT m g a -> g -> m (a, g) 21:47:18 @src IdentityT 21:47:18 Source not found. Do you think like you type? 21:49:27 > fmap (const "a") (9,"b") 21:49:28 (9,"a") 21:49:40 great 21:50:32 > "a" <$ (9, "b") 21:50:33 (9,"a") 21:50:36 INFIX POWAR. 21:51:25 Yes yes. 21:51:34 Anyway, other gems: here's some sort of really detailedly transcribed child-parent interaction corpus. I mean... http://p.zem.fi/hglt -- doesn't really fit in the bot, but... 21:51:51 It's even part-of-speech tagged and all. 21:51:57 Gregor: I daresay codepad might be even more paranoid than HackEgo :P // LIES 21:51:59 verb sponge 21:52:12 elliott: Have you been a verb sponge lately. 21:52:13 fizzie: You have to make tha tfit into fungot :P 21:52:13 elliott: wats up.? wat was ur grade u got for 1 moviebefore april. cant wait to get better and meet you! i need to stretch... 21:54:16 -!- CakeProphet has quit (Ping timeout: 268 seconds). 21:56:01 02:19:20: awww, I was hoping for a Complex number. Though that would make sqrt way more difficult to use for the most common case. 21:56:04 > sqrt (-1) :: Complex 21:56:05 Expecting an ordinary type, but found a type of kind * -> * 21:56:10 > sqrt (-1) :: Complex Double 21:56:11 (-0.0) :+ 1.0 21:56:13 defaulting, hth 21:56:19 02:20:27: but then sqrt would have to be Complex a -> Complex a 21:56:20 :t sqrt 21:56:20 forall a. (Floating a) => a -> a 21:56:22 hth 21:56:41 02:27:23: type IO a = RealWorld -> (a, RealWorld) 21:56:46 GH- 21:56:47 02:30:37: yeah GHC defines IO as: newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) 21:56:49 right 21:56:55 > sqrt (0:+1) :: Complex 21:56:56 Expecting an ordinary type, but found a type of kind * -> * 21:56:59 > sqrt (0:+1) :: Complex Double 21:57:00 0.7071067811865476 :+ 0.7071067811865475 21:57:00 02:32:12: With such kind of thing, how would return and >>= be implemented? 21:57:00 see GHC source 21:58:10 02:57:13: I do like the fungespace idea as well, as it would create quite a bit of complexity. 21:58:10 02:57:25: I just feel like that's too much X-D 21:58:32 Gregor: I don't know what your conception of fungespace is, but I don't see how it's much more complex than a CA 21:58:47 I mean, "fungespace" is sooo vague. 21:58:59 Fungespace is just a very large to infinite two-dimensional space 21:59:01 With wrapping 21:59:26 03:06:18: hmm, it seems that the space shuttle Enterprise and the starship Enterprise are actually named after each other 21:59:26 03:06:44: due to Star Trek retroactively changing their canon after the space shuttle was named after the starship 21:59:38 If you mean the Enterprise in the show Enterprise, it isn't strictly a retcon 21:59:54 It's just "Here's this ship that fits into canon without contradiction DESPITE being completely ridiculous to do so" 22:00:03 Just NOBODY CARED ABOUT THE FIRST WARP SHIP BEFORE NOW 22:00:08 It was all about the SECOND Enterprise, oh yeah 22:00:42 Now the question is, in Star Trek canon, was the shuttle Enterprise named after the popular TV series Star Trek? 22:01:07 elliott: The TV series may or may not exist in its own canon :P 22:01:24 03:20:07: Do you know if a Char type in Haskell is allowed to store values that are not valid Unicode code points? 22:01:31 zzo38: You know that the Haskell specification is available online? 22:01:36 http://www.haskell.org/haskellwiki/Language_and_library_specification 22:01:54 "The character type Char is an enumeration whose values represent Unicode characters [2]. The lexical syntax for characters is defined in Section 2.6; character literals are nullary constructors in the datatype Char. Type Char is an instance of the classes Read, Show, Eq, Ord, Enum, and Bounded. The toEnum and fromEnum functions, standard functions from class Enum, map characters to and from the Int type." 22:02:06 The reference is just 22:02:06 [2] Unicode Consortium. Unicode standard. http://unicode.org/standard/standard.html. 22:02:16 So no, Char must range over all Unicode characters and nothing else. 22:02:25 03:26:53: so I guess it uses UTF-26 by default. 22:02:25 03:26:58: *16 22:02:30 UTF-32; Unicode is twenty-one bits. 22:02:38 No, UTF-26 X-D 22:02:45 03:29:13: !haskell import Unsafe.Coerce; main = print (unsafeCoerce 0 :: [Char]) 22:02:46 03:29:18: ​"" 22:02:46 03:29:29: !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: [Char]) 22:02:46 03:29:33: ​"" 22:02:48 03:29:40: or, empty strings? 22:02:50 03:29:42: I guess? 22:02:52 pointer tagging. HTH. 22:02:54 the tag on those is for the first constructor, i.e. [] 22:02:58 so no dereferencing happens 22:03:25 > logBase 2 0x10FFFF 22:03:26 20.087461546321563 22:03:31 Gregor: UTF-20.087461546321563 22:03:45 03:32:23: !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char) 22:03:45 03:32:27: Left 22:03:45 03:32:34: I wonder what that even means. 22:03:45 03:32:38: It is only "Left", not the value? 22:03:47 03:32:55: it's some kind of garbage value I guess. 22:03:49 It segfaults 22:03:51 !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char) >> print 99 22:03:59 Left 22:04:00 Gregor: ? 22:04:02 There we go 22:04:12 !haskell import Unsafe.Coerce; main = putStrLn (show (unsafeCoerce 'a' :: Either Int Char) ++ "a") 22:04:18 Left 22:04:38 oh, you proved that later, heh 22:05:06 04:08:53: I don't think (#) is ever used outside of ghc intermediate language 22:05:08 It is. 22:05:27 04:04:19: ? = any kind, (#) = unboxed tuple, ?? = * or #, # = unboxed type, * = boxed type 22:05:29 Any _type_, not any kind. 22:05:44 -!- cheater has quit (Read error: Operation timed out). 22:05:55 05:14:25: CakeProphet: I was drawing random circuits all over the map, then putting random electrons on it, but basically because of their duplicitous properties that caused them to spread like wildfire. 22:05:56 05:15:17: shouldn't they just, kind of travel along? 22:05:56 05:15:27: and duplicate on branches? 22:05:56 05:16:51: Yeah, but there are lots of branches. 22:05:59 Gregor: Duplicating on branches sounds wrong 22:06:11 elliott: That's Wireworld. 22:06:22 You could argue (*I'm* not going to) that it should say "values represent Unicode code points" if it is to range from 0 to 0x10FFFF, and saying "Unicode characters" means it's illegal to have Char values that correspond to as-of-yet unassigned code points. 22:06:27 -!- cheater has joined. 22:06:29 Gregor: I gather WireWorld is pretty wrong. 22:06:37 elliott: Wireworld is pretty AWESOME 22:06:41 > fromEnum 0x10FFFF :: Char 22:06:42 Couldn't match expected type `GHC.Types.Char' 22:06:42 against inferred type... 22:06:47 elliott, wrong? 22:06:47 > chr 0x110000 :: Char 22:06:48 *Exception: Prelude.chr: bad argument: 1114112 22:06:56 fizzie: Tada. 22:07:03 > '\0x110000' 22:07:04 : 22:07:04 lexical error in string/character literal at chara... 22:07:07 > '\x110000' 22:07:08 : 22:07:08 lexical error in string/character literal at chara... 22:07:09 > '\U110000' 22:07:10 : 22:07:10 lexical error in string/character literal at chara... 22:07:14 > 'fuck you' 22:07:15 : 22:07:15 lexical error in string/character literal at chara... 22:07:22 fizzie: hth 22:07:30 I don't think that really helped. 22:07:34 http://codu.org/tmp/conf1.png 22:07:35 Gregor: Eyes 22:07:38 fizzie: > chr 0x110000 :: Char 22:07:38 *Exception: Prelude.chr: bad argument: 1114112 22:07:54 elliott: http://codu.org/tmp/config.png This is the new starting config. 22:08:17 Yes, well, I didn't say 0x110000 *shouldn't* be bad, I was saying that one could argue that saying "character" means the currently unassigned blocks within 0 .. 0x10ffff should also be illegal. 22:08:50 06:36:47: quintopia: well assuming you are using Linux, last i used that for a desktop focusing and moving to the top were independent actions 22:08:56 That's not really a common choice nowadays :P 22:09:05 Gregor: What happened to eys 22:09:06 eyes 22:09:17 elliott: They grew :P 22:09:20 fizzie: Ah. 22:09:29 Gregor: They don't look like eyes any more 22:09:36 I mean the yellow things 22:09:37 elliott: Neither does your mom. 22:09:38 In case that is not obvious 22:09:47 Yes, I gathered that :P 22:10:02 elliott: The old configuration had more than its fair share of problems. 22:10:05 The new configuration is much more stable. 22:10:11 06:42:50: what is tiling 22:10:12 06:43:00: quintopia: horrible stuff 22:10:12 The channel gets HEATED. 22:10:24 Gregor: Dude, I'm just commenting on your different drawing of electrons. 22:10:32 Oh, wait 22:10:38 Are the eyes like 22:10:41 elliott: The only difference in how they're drawn is that the second one is drawn 2x :P 22:10:41 Electron + powered wire? 22:10:46 It's electron + wire, yes. 22:10:48 Right 22:10:55 The electron proper is just two pixels (head+tail) 22:11:03 Head+tail model is really ugly 22:11:47 06:52:33: So I'm thinking of making little concatenative language where, nominally at least, the one datatype available is a cons-list. 22:11:47 Joy. 22:11:55 elliott: That - is - Wireworld >_< 22:11:58 (That's not sarcasm, but it might become it; I mean the language Joy.) 22:11:59 Gregor: I know. 22:12:02 Gregor: I'm dissin' wireworld. 22:12:10 elliott: And what CA would YOU prefer X_X 22:12:29 Gregor: My name is Johny, what the F**K????? 22:12:36 Has a nicer model than head-tail 22:13:00 -!- Patashu has joined. 22:13:08 elliott: I seeeeeeeeeeeeee :P 22:13:32 Gregor: (Deletion log); 20:47 . . Ais523 (Talk | contribs) (deleted "My name is Johny, what the F**K?????": offtopic, probable spam) 22:13:40 See also: last two entries on http://esolangs.org/wiki/User:ehird 22:13:40 Ahhh :P 22:13:49 It's a CA-ish esolang I'm developing :P 22:13:55 Similar to wireworld in that it has wires. 22:14:18 My snowman user page is SO GREAT, jeez. 22:14:43 Hard to argue with that. 22:14:49 I'mma rip it off but use a goat. 22:15:29 Gregor: Let's put it this way 22:15:33 http://esolangs.org/w/index.php?title=User:Ehird&action=history 22:15:39 Check every single revision I've made to the page to get it working 22:15:41 And you can rip it off 22:15:49 Some of them even have edit summaries. 22:16:12 Note: Your browser may lag :P 22:16:17 elliott: I like how "compare revisions" is just totally broken. 22:16:50 Gregor: ais changed the global stylesheet so that you could edit it when "preview on edit" is set without it obscuring the box entirely... but that also made preview just not work :P 22:16:57 So I had to save every time I wanted to check a new revision. 22:17:03 lol 22:17:07 (Bear in mind that I can't just do it locally because I need to know whether MW will filter out the syntax.) 22:17:14 (I have a list made out of i and u elements.) 22:17:20 (This was before Template:div and Template:span existed.) 22:18:00 I really love how you can't edit Template:div and Template:span without changing them. 22:19:29 07:28:37: In a stack-based language I'm not sure. 22:19:30 07:28:43: (NB: I'm going with prefix syntax.) 22:19:32 neat, so your program runs backwards 22:20:16 and it's all about term rewriting??? 22:20:25 what is evincar thinking: the game 22:20:27 elliott: So what's this CA then 22:20:30 I can't find it. 22:20:42 Gregor: It's a CA-ish esolang I'm developing :P 22:20:50 I know that much >_< 22:20:58 Gregor: "Developing", i.e. have not already developed fully 22:21:05 Gregor: You can ask me for ideas though :-P 22:21:22 Well, so far your only complaint against Wireworld is irrelevant *shrugs* 22:21:36 I don't deny that there are legit problems with it, but its form of electrons ain't one of 'em. 22:21:40 Gregor: My complaint is that it's ugly :P 22:21:44 *waaah* 22:22:07 If you're inventing a game based on a CA, making the world have what amounts to a clunky hack: bad?? EXPERTS DISAGREE 22:22:50 I'm yet to see your magical CA that "solves" this "problem". 22:23:10 Uhh... by doing it in a different way? 22:23:24 Tell me what that way is. 22:23:27 You like to call everything different to anything magical :P 22:23:40 Gregor: There's tons of ways you can do it, 22:23:45 Such as 22:23:50 THE COMMA DENOTES I'M STILL TYPING 22:23:57 Gregor: For instance having a signal spread along a wire rather than moving, like real electronics, 22:23:59 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]). 22:24:00 ; 22:24:18 Gregor: Or having four signal cell types (colours), one for each cardinal direction 22:24:31 elliott: First one's tough to turn off, second one's even more gross. 22:24:36 You could also have separate corner blocks (and have wires that reach the end of a wire that isn't a corner fizzle) 22:24:40 Or just have them turn automatically 22:24:46 Gregor: It's not more gross if you're using ASCII rather than colours 22:25:03 Gregor: Anyway, you can turn it off with a virus that walks along a wire removing signal blocks 22:25:12 And which DOES split on branches :P 22:25:24 FINALLY YOU CAN CLONE LACK OF ENERGY 22:25:38 Soooo, you've got a CA that's ten times as complicated, AND a huge pain :P 22:25:52 Glad you've removed tails though! 22:26:17 Gregor: Ten times as complicated? Signal wire -> signal signal in each direction; Virus signal -> virus virus in each direction; virus with more than one signal neighbour -> split 22:26:29 Heck, make signals split too, for obvious reasons 22:26:31 Sooo hard 22:26:46 And WireWorld isn't exactly the paragon of simplicity :P 22:26:49 elliott: If I wire gets detached, it continues to be powered by magic. Making it ... not so much a wire ... more like ... RAM. 22:26:49 I don't see how it's a huge pain either 22:26:59 Gregor: Mmnope? 22:27:05 Gregor: Have detaching a wire (however you do that) produce a virus 22:27:06 I am working on making a Haskell program for accessing another library, this program is written in both C and in Haskell. 22:27:11 Things can't just "move" in CAs :P 22:27:15 -!- Sgeo_ has joined. 22:27:26 I accidentally left #esoteric o.O 22:28:28 elliott: So, detaching a wire turns off both sides, including the one that's where the power was considered to be coming from, and in fact there's no way to detach a wire without destroying the whole "on" part of the circuit, requiring you to constantly seek out fresh electron sources (only to have them trivially destroyed by your enemies) 22:28:57 Gregor: Anyway, I don't see what's wrong with having them act like RAM 22:29:01 Are you going for gritty realism 22:29:24 Do I need to give this Haskell program a fully qualified module name? Or will it work without? 22:29:31 You could have signals carry a strength that goes down every tick, and if it reaches 0 goes off; then a power source just feeds energy in each direction 22:29:34 Of course not, I'm just being argumentative since you're actually getting /farther/ from the electronics paradigm while claiming to get /closer/. 22:29:39 And a high-energy spreads to a low energy by halvings 22:29:40 halving 22:29:44 That way, wires have limited length too 22:29:47 That's cool 22:29:53 And can persist for a short time after losing their power source 22:29:54 Now ... they're ditches :P 22:30:00 Gregor: Not trying to get closer to the electronics paradigm 22:30:01 And power is water 22:30:11 I just mentioned spreading being more realistic than blips moving about, which it is :P 22:30:17 Gregor: For instance having a signal spread along a wire rather than moving, like real electronics, 22:30:22 Gregor: Yes 22:30:24 Pfff 22:30:26 Gregor: That specific point is more like real electronics 22:30:30 I don't care about realism 22:30:40 Anyway, whether I've turned it into WaterWorld or not, you have to admit that's a cool model :P 22:30:51 Yeah, the irrigation mechanism isn't bad. 22:31:24 But since there's no fundamental problem with the wireworld model (tails = not a problem, fundamental or otherwise), I'm not hugely inclined to both invent a CA and a game at the same time :P 22:31:28 Gregor: You could have Minecraft-esque repeaters, that's not like water, you can't conjure up more water as long as you have some water :P 22:31:43 Also, you basically ARE inventing a CA and a game, because you have to make modifications to the CA state 22:32:23 Gregor: Also it would look So Cool because you could have lower power states look closer to wires. 22:32:32 So you'd see the power pulsing across :D 22:32:49 In fact I think it'd lead to a looping gradient on any wire moving along 22:33:04 Or at least some sort of flickering 22:34:38 Gregor: Welp, I think I just invented Johny's new model :P 22:37:30 elliott: Luckily, my CA's pretty interchangeable, so once you get it working, I'll adapt :P 22:37:40 (If it's good) 22:38:04 Head+tail model is really ugly 22:38:06 No it's not. 22:38:45 Yes it is. 22:39:06 Gregor: But I'd already planned my own immensely-superior game. I'm hurt. :/ 22:39:10 Can you be more antagonistic? 22:39:37 FFFFFFFUUUUUUUUUUUUUUUUUUUU 22:39:40 elliott, why? 22:39:41 I think I have a dead pixel >_< 22:40:15 -!- yourstruly has quit (Quit: Leaving). 22:40:28 Gregor: I have a dead seagull. 22:40:32 Phantom_Hoover: Because it's ugly. 22:40:37 Phantom_Hoover: Because you never want a head without a tail or vice versa. 22:40:41 Also because it's two cells. 22:40:44 Also because it's: ugly. 22:40:55 Phantom_Hoover: Let me paraphrase. 22:40:59 Phantom_Hoover: WAAAAAAAAAAAAH 22:41:04 elliott, I'd be more inclined to call direction encoded into state ugly. 22:41:27 Phantom_Hoover: Nothing he's proposed has that 22:41:36 Gregor: Yes it does, the one model with one per direction 22:41:38 Nowait 22:41:40 One thing did 22:41:42 But then I invented the BEST MODEL. 22:41:43 :P 22:41:47 Sorry, I had to skim the discussion. 22:41:56 I kind of still want something involving blips travelling in one direction, but I dunno how to do that nicely 22:42:01 (Just for the esolang, not for the game) 22:42:03 I tried to join it and then elliott went off and talked about some boring crap. 22:42:20 Man, if this dead pixel doesn't go away, I'm gonna be SUPER pissed :'( 22:42:39 Phantom_Hoover: Sorry but I invented the BEST MODEL. 22:42:45 elliott, what is it. 22:43:42 Phantom_Hoover: See above. 22:43:56 (Based on the signal spreading model:) 22:43:57 You could have signals carry a strength that goes down every tick, and if it reaches 0 goes off; then a power source just feeds energy in each direction 22:43:59 And a high-energy spreads to a low energy by halvings 22:44:00 halving 22:44:00 That way, wires have limited length too 22:44:00 That's cool 22:44:00 And can persist for a short time after losing their power source 22:44:16 [...] 22:44:19 (not sure about this one:) Gregor: You could have Minecraft-esque repeaters, that's not like water, you can't conjure up more water as long as you have some water :P 22:44:42 elliott, eeew, that's going to have a huge transition table. 22:45:33 Phantom_Hoover: Oh come on, the transition table can be generated by a trivial rule. 22:45:47 See also: DF's water CA (which I don't know how it works) :P 22:46:13 elliott, I just think that having lots of states is really, really inelegant. 22:49:18 Phantom_Hoover: That's just deliberately limiting yourself to shallow sets of states by mandating that you unpack the cell structure 22:49:20 Pattern matching, yo 22:49:41 My dead pixel won't go awaaaaaaaaaaay :'( 22:51:57 Gregor is in the stages of denial 22:51:59 How many are there again 22:52:01 Five?? 22:52:50 elliott, he used singular. So one 22:53:14 (assuming 5 referred to number of dead pixels) 22:53:26 *facepalm* 22:53:45 Phantom_Hoover, real men don't try to figure out the context. Or something. 22:53:48 bbl 22:54:15 'Context', a word which means 'the two immediately precedent lines'. 22:59:00 Unexploited niche market: pixel funerals for dead pixels? 22:59:21 You could make a coffin out of the neighbour pixels and so on. 22:59:40 And then MONETIZE it. 23:00:23 the problem would be writing your coffin displaying and funeral dirge playing program for so many different architectures 23:00:40 well I guess not problem, but lots of ground to cover 23:00:48 if you want to reach your entire dead pixel getting audience 23:01:46 Patashu: it is impossible to write portable programs 23:03:40 I guess if you write it for windows 32/64, linux, mac, ios, windows phone and android you have almost everyone 23:03:52 and I'm pretty sure there's some architecture that'll let you do that (haxe? unity?) 23:04:31 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 23:04:44 If you write it for windows 32 you already have almost everyone 23:05:22 why, do people using smartphones not get dead pixels? 23:05:23 Patashu: dude....... 23:05:25 there are portable libraries.......... 23:05:45 you can write a program that runs on Windows, anything with X, and OS X's Aqua trivially....... 23:05:54 I said "almost everyone" 23:05:55 My arms are bloody and there's insulin all over the walls. 23:06:08 People using smartphones are not part of that group :-P 23:06:09 Gregor: Ditto 23:06:11 haha 23:06:20 Deewiant: Sure they are, if the group is everyone who gets dead pixels 23:06:34 Deewiant: Assuming smartphones includes things which run Java, which is enough for an MMORPG 23:06:35 Hmm, maybe 23:06:47 I forget what the name of that thing is 23:06:52 Tibia rings a bell but isn't that a bone 23:06:56 there's a java MMO? 23:06:58 Runescape? 23:06:59 Looks like it's Tibia 23:07:05 No, mobile-Java 23:07:11 As in "actually runs on shitty phones" 23:07:28 Runescape ran on computers worse than most modern phones 23:07:41 Deewiant: Not worse than phones that can only run Java stuff 23:07:50 Yes, worse than those as well 23:08:00 Well, maybe :P 23:08:27 SUCCESS 23:08:32 Anyway, point is, wxWidgets or Qt or whatever + Whatever the fuck most Nokia phones with any kind of computational power have + Java ME + iOS + Android = market pretty much entirely covered 23:08:37 In giving Tia her insulin, not in getting rid of my dead pixel. 23:08:38 Series forty? 23:08:54 Gregor: Is Tia your pet name for your walls 23:08:57 S40 is what does J2ME mostly. 23:09:08 It's the "not Symbian but can still do stuff" series. 23:10:00 elliott: Tia is my cat :P 23:10:20 As for "actual smartphones", current devices do Symbian/S60 (but that's a Qt-able platform) and future ones will do Windows Phone 7 (which doesn't do anything crossplatform, I don't think). 23:10:29 Gregor: Your walls are a cat? 23:10:43 fizzie: "Qt-able" -- I doubt it'll run a regular desktop Qt app :P 23:10:55 No, but Qt is what you're supposed to use to develop for it. 23:11:03 elliott: Yes. 23:11:20 Gregor: Okay. 23:13:24 Nokia had a huge-ish campaign, speakers everywhere, about how they're going on with Symbian in "regular smartphones" and Maemo/MeeGO in those high-end devices, and how with Qt you can write cross-platform code that easily runs in both Symbian and MaeGO. I think I heard at least three talks like that, and I'm sure they had quite a few of them. 23:14:11 This was like month before the Elopgate and "we're going to deprecate Symbian and be a WP7-exclusive shop on our smarty-phones" + "no, we're not going to port Qt to WP7, it's not part of the Vision". 23:14:29 "But you should still keep developing those Qt apps, there's still going to be Symbian devices for the next two years or so." 23:15:44 fizzie: Meego is pretty dead isn't it 23:15:51 I wonder what's happening to maemo 23:15:58 I think Intel might push out a few "netbooks" running it. 23:16:13 On phones I don't think it's going to have a very bright future. 23:16:22 I forget what happened; what happened? 23:17:00 And Maemo's completely community-supported nowadays. 23:17:20 s/-/-un/ 23:18:48 There's the "Community SSU" which is some magic sauce that makes the normally-not-updated-from-the-maemo.org-community-repositories "core packages" also updateable too; there's a huge pile of bugfixes, even my little one-line patch to fix "bright black" to dark grey in the bundled terminal emulator. 23:19:03 So there is a new game show on television here called "Epic Win". It is exactly as bad as it sounds. 23:19:12 Oh dear 23:19:31 Nokia's going to release one MeeGo phone still, the N9, but it's very likely to be both the first and the last MeeGo device they do. 23:19:32 The term "Epic Fail" is actually invoked. Relatedly: I have become the first person to drain all blood from their body entirely through desperate scratching. 23:19:38 Goodnight. 23:19:41 * elliott dies. 23:20:04 fizzie: You didn't actually remind me what happened to MeeGo. :p 23:20:15 http://en.wikipedia.org/wiki/Epic_Win Welp 23:20:43 The term "Epic Fail" is actually invoked. Relatedly: I have become the first person to drain all blood from their body entirely through desperate scratching. // need I present my allergy-ridden feet? 23:20:46 elliott: Well, the Elopgate. Nokia (after saying they're MAKING IT HAPPEN with Intel) decided to go all Windows Phone 7 instead. 23:20:52 Gregor: You're dead? 23:21:00 elliott: Yes, I'm a zombie. 23:21:03 fizzie: That's a thing that happened? wow. 23:21:05 [asterisk]Wow. 23:21:08 Gregor: Ah. 23:21:15 Gregor: Try watching "Epic Win", you might somehow die twice. 23:22:30 They're (according to current plans/rumours) going to release a grand total of approximately 1.1 MeeGo devices; the N9, plus the N950 "developers only" phone, which I'm counting as 0.1 because (even though it is a MeeGo device) it's not going to actually be released. 23:22:47 `addquote They're (according to current plans/rumours) going to release a grand total of approximately 1.1 MeeGo devices; the N9, plus the N950 "developers only" phone, which I'm counting as 0.1 because (even though it is a MeeGo device) it's not going to actually be released. 23:22:49 609) They're (according to current plans/rumours) going to release a grand total of approximately 1.1 MeeGo devices; the N9, plus the N950 "developers only" phone, which I'm counting as 0.1 because (even though it is a MeeGo device) it's not going to actually be released. 23:23:04 fizzie: Wonder what the long-term support on that'll be like :P 23:24:50 "It then, turned out to be a software developer-only offering, with no warranties and other related-stuff, although Nokia promised software updates.[106] It is referred to as a "beta testing only" device, where developers can test their applications made specifically for the MeeGo operating system.[107] The phone was finally unveiled to developers (and will not be consumer market available) on the company's Nokia Connection 2011 event.[108]" 23:24:55 It'll be like that. 23:25:09 Also I wouldn't count on any "promised software updates". 23:25:14 Do you know about the Glk library? 23:25:45 They sort-of "this is off the record, but we're pretty sure we're going to make this happen" promised a working MeeGo on the N900 too, but turns out they're not going to bother, since, you know, WP7. 23:26:18 There is an official alpha of the MeeGo handset UX for the N900, but from what I hear it's pretty sucky. 23:26:30 CakeProphet: How DARE you not be here. 23:28:18 Gregor: I'm like CakeProphet but I say smart things, try me 23:28:24 By "sucky" I mean "camera autofocus doesn't work, still images have their top half replaced with noise when flash is used, the media player doesn't play any video, ..." 23:28:34 (And it still works better than Android-on-N900.) 23:29:02 elliott: So the only commands a client needs are move, build and destroy, yes? 23:29:26 Gregor: You're going to let clients set local CA state arbitrarily? I guess that could work, but most CA constructions are really fragile. 23:29:38 Like, delete one cell and they completely break. 23:29:51 Or does it move some sort of in-game avatar? 23:29:58 Forgive me, I skimmed the logs, so I need some rough context :-P 23:30:17 It moves an in-game avatar, and "build" and "destroy" are only honored if the move is actually legal. 23:30:29 The N900 NITDroid port, "the current active NITDroid port" that is "moving at a very quick pace of development", has had its last Wiki status page update in Nov 2010. 23:30:50 Gregor: Illegal moves -- you mean build and destroy take absolute coordinates that have to be in the Moore neighbourhood of the avatar? 23:30:59 I'd just have build [direction] and destroy [direction] 23:31:10 elliott: You can only build and destroy in a direction, yes. 23:31:20 Right. 23:31:24 When would they ever be invalid, then? 23:31:38 If you try to build over something that has to be destroyed first, for instance. 23:32:02 Right now the only rule to that AFAIK is that you can only build a conductor on nothing, not on e.g. a flag :P 23:32:08 Gregor: Wouldn't it just be a nop then, since it'd be destroying and rebuilding something for no reason 23:32:13 And what you actually want is to make sure that it's a wire cell 23:32:15 Which it is, if it already is 23:32:28 As opposed to destroying and recreating which takes longer and has side-effects in the meantime 23:32:32 Right now the only rule to that AFAIK is that you can only build a conductor on nothing, not on e.g. a flag :P 23:32:34 Hmm, right 23:32:38 Gregor: You can't build anything but wires, right? 23:32:38 To make the protocol more general for future CAs, I was going to have what you're building be specified. 23:32:42 That's how I'd do it, at least 23:32:47 Yeah, you can only build wires. 23:32:57 Weeell, a generic protocol isn't really important, I wouldn't say 23:33:01 Because you have to rewrite your AI anyway if the CA changes 23:33:11 Gregor: Hmm 23:33:15 Gregor: Make it turtle based 23:33:17 Yeah, but having the CA pluggable into the server without changing it otherwise would be nice *shrugs* 23:33:30 "turtle based" = "LOGO based"? 23:33:30 turnL, turnR, forwards, build, destroy 23:33:36 Gregor: Turtle-graphics based 23:33:45 But only cardinal directions 23:33:47 So not LOGO 23:33:55 one issue I see: an agent following an enemy agent could immediately undo anything it does 23:33:57 nullifying it 23:34:01 It could include NW, NE, SW, SE. 23:34:01 Gregor: But that's nicer because building a line is faster than, like, building in random directions 23:34:10 Patashu: Destroy isn't immediate. 23:34:11 Gregor: Hmm 23:34:18 Gregor: Yeah, that's nicer, Moore neighbourhood 23:34:28 But point is, it's a nicer model :P 23:34:29 but it's easier to mess things up than create useful things in any CA 23:34:30 Otherwise I like that. 23:34:34 And of course moving takes a tick 23:34:42 Patashu: That's why we put a hefty price on destruction. 23:34:44 So U-turning takes a short while 23:34:46 Which intuitively makes sense 23:34:51 What's the hefty price on destruction 23:34:52 ah ok 23:34:57 Do you have like a currency -- build units? 23:35:09 elliott: We considered various resources, then just decided time was the best one. 23:35:16 I would say that, if you have a fixed number of wires you can build, then destroying a wire should give you another wire to build. 23:35:26 That way, you can't just camp out somewhere, you have to destroy other mechanisms to build bigger ones. 23:35:34 Hmmmmmmmmmmmmmm 23:35:35 but in a wireworldish CA, you can destroy by creating too 23:35:50 I mean, I guess if you can sustain yourself without building anything bigger, then that doesn't help much, but something would probably destroy you then 23:35:56 So building bigger is useful for camping out purposes 23:36:01 So building should ostensibly cost something 23:36:20 The problem then is, if destroying takes a while, it's really hard to build beyond your initial inventory 23:36:23 Patashu: Mmmm, I think actually breaking mechanisms that way takes a bit of intelligence, unless you just draw everywhere which would still take a while. 23:36:25 If it's fast, then it's too easy to bulldozer things 23:36:50 elliott: Yeah, I think a system similar to that was on the proverbial board at some point, but abandoned for time-only for exactly that reason... 23:36:54 Still, I do like the notino. 23:36:55 *notion 23:37:16 Gregor: I'm kind of not a fan of the idea of destroy taking more than one tick, it feels like all the commands are one-tick "primitives" in a way... 23:37:32 Maybe if it was like MC, and you had to repeatedly attack to destroy? 23:37:39 That requires hidden state or a combinatorial explosion of cell types though 23:37:41 elliott: Well yeah, exactly. 23:37:49 It has that (not-actually) hidden state right now, damage. 23:38:00 Damage to what? 23:38:04 Cells. 23:38:09 If you mean the agents, that's okay, because they're kind of outside the game. 23:38:13 Gregor: Why do cells have damage 23:38:20 To destroy wires. 23:38:29 The damage doesn't affect their behavior, so it's not a part of the CA proper. 23:38:50 Gregor: Umm, you only need the agent to have state for that 23:39:01 Make it turn into a one-hit agent, two-hit agent, three-hit agent, four-hit agent, (block breaks) normal agent 23:39:09 Rather than introducing hidden state into every f'n cell :P 23:39:18 Oh no, not one byte per cell ... 23:39:21 And again, it's not hiden. 23:39:23 *hidden 23:39:35 OK, how's it not hidden? 23:39:39 Agents see it. 23:39:56 Gregor: Hmm 23:40:12 Gregor: I'd rather have that be, agents see another agent going into dig state 23:40:23 Like, you're not looking for damaged cells, you're looking for agents that are damaging your construction :P 23:40:31 And you want damage to fade if you kill an agent that's damaging you, I would say 23:40:34 Weren't you just talking about making agent actions primitives/atomic a moment ago :P 23:40:46 Gregor: Yep, but evidently destroy has to take some time with the current model 23:40:46 Agents can't kill agents. 23:40:51 How'd you win then 23:40:55 It's CTF. 23:41:23 Hmm 23:41:33 Gregor: Well OK, but does damage fade if it's not being destroyed? 23:41:39 Because I still think it's more elegant as a change in agent-state 23:42:22 I find it far more elegant if damage is a cell property. That way you can wander off, time out, whatever and then keep destroying; or realize somebody is trying to kill your work and go beat them first, then come back. 23:42:31 Besides, why would cells magically heal themselves? 23:42:39 Nanobots 23:42:53 Gregor: Or if you see damage as being done by bending a wire so hard it breaks, then it creaks back :-) 23:43:03 the cells don't magically heal themselves, you have a destruction blowtorch that takes X turns to heat up, and if you get distracted it cools down instantly 23:43:28 or you have a destruction axe that takes X turns to lift up, and if you get distracted you have to drop it 23:43:47 Gregor: But anyway, if damage is a cell property, then it should DEFINITELY be "hit" per tick 23:43:51 In yo electronics, axin' yo wires 23:43:57 elliott: Yes, of course. 23:44:15 Gregor: I dunno, I feel like trying to destroy an agent block should do SOMETHING :P 23:44:18 (wrt killing) 23:44:24 But agents aren't a block ... 23:44:30 Gregor: Oh, they aren't? 23:44:35 They're just... invisible? 23:44:47 That seems... odd that agents can move around the world and yet don't actually exist. 23:44:51 Well, I haven't decided if they're visible yet, but their presence doesn't influence the CA, only their action. 23:44:56 Not really, it's like the IP in befunge 23:44:57 Well, yeah 23:45:01 But you can model that from within the CA 23:45:08 Gregor: They can't move past blocks that aren't space, right? 23:45:14 elliott: To be determined. 23:45:29 Gregor: I think that's really the best idea, because then you can model it from within the CA, and agents can see other agents as just another cell 23:45:31 I have an idea 23:45:42 You can't model it from within the CA without colour explosion if they can be over another type of block 23:45:44 Agents are invisible, BUT if you stand on a tile where you think an agent is or is aadjacent to and use 'eject' it's sent back home 23:45:46 Also encasing agents in wires sounds awesome 23:45:59 Now it is a stealth mission 23:46:00 elliott: Hmmmmmmmmmmm, hard to argue with that ... 23:46:21 Patashu: You could just sit by your flag, ejecting every cell. 23:46:21 Gregor: Oh my god, what if you stand at the end of a wire and the blip hits you, PLEASE ELECTROCUTION 23:46:46 elliott: Hmmm, I hadn't considered any direct action of electrons on agents X-D 23:46:47 yeah, needs a cooldown if you fail then 23:47:16 Gregor: A spread model makes that ten times more awesome: Electric fences. 23:47:29 MEANWHILE :P 23:47:42 Gregor: Also: I'm tempted to say it would be fun to have hard-realtime guarantees on the decision-making process of each agent per tick... I guess that could be an optional thing because it does destroy the purity :P 23:47:52 But, I mean, if there's nothing technically disallowed about taking ten seconds to decide what to do each tick... 23:48:11 elliott: The server doesn't wait for more than 1/15th of a second. 23:48:16 If it takes you longer than that, too bad. 23:48:30 I didn't want to solve the halting problem :P 23:48:36 Gregor: That... um... sounds like a really bad timeframe? 23:48:40 -!- Libster has joined. 23:48:48 Gregor: 0.06 seconds might be easy for C, but... 23:48:58 Gregor: I guess you can use threading to figure out things in the background 23:49:03 And you have to, anyway, so that you get notified when a new turn starts :P 23:49:27 Uhh, yeah :P 23:50:26 elliott: But anyway, make the timeframe too long and nothing'll ever get done, make it too short and ... well, the problems are obvious there. 23:50:31 I don't want to wait days to see who wins. 23:51:27 Gregor: Sure, but maybe... 0.2 or 0.3s? That's not really that long to wait for a CA update. 23:51:38 I guess 0.06 is more realtime. 23:52:01 1000 iterations at 0.2 per is 200 seconds; and I honestly don't see too much getting done in 1000 iterations. 23:53:52 fizzie: (Oblig. ping for /msg.) 23:53:54 Gregor: True. 23:54:22 Gregor: So what do the agents actually see? The entire CA state of their view radius? Which I guess is just a square in front of them. 23:54:29 Gregor: OMG, that is really awesome; you have to turn to see things behind you. 23:54:34 Turtle graphics model: suddenly the best. 23:54:41 That makes looking diagonally a bit awkward >_> 23:54:46 A view radius, which I was thinking is a square /around/ you, but I suppose it could be either ... 23:54:49 But for the cardinal directions it's super-perfect :P 23:55:04 Gregor: If you can only go "forward", then being able to see behind you is really weird. 23:55:18 The problem is looking diagonally. 23:55:23 elliott: You've invented a device known as a rear-view mirror. 23:55:34 Gregor: Cars can reverse too 23:55:39 The problem is looking diagonally. 23:55:44 ...which is really nice for Moore-neighbourhoodness, 23:55:48 but really bad for viewing range. 23:55:55 Yes, and that's a significant-enough problem that I'm willing to give up forward-vision for it :P 23:55:57 I mean, it can be done, it'd just be a bit ugly :P 23:56:05 Gregor: I'd rather give up diagonal orientation. 23:56:08 -!- yourstruly has joined. 23:56:10 -!- yourstruly has quit (Max SendQ exceeded). 23:56:18 Gregor: If you consider build; forward; build; forward; ..., then diagonal directions make very little sense. 23:56:20 elliott: I might with a different CA, but electrons in WW move diagonally. 23:56:21 goodbye yours truly 23:56:21 Because wires don't work diagonally. 23:56:25 Oh, they do? 23:56:27 Yes 23:56:31 On straight-diagonal wires? 23:56:33 Yes 23:56:39 Hmm 23:57:08 Gregor: Well, I mean, you just have to generalise "in front of you" to make it work 23:57:18 In terms of seeing "N neighbourhoods in each neighbourhood direction" ahead 23:57:27 -!- yourstruly has joined. 23:57:28 It's not actually hard to provide a diagonal view at all 23:57:29 -!- yourstruly has quit (Max SendQ exceeded). 23:57:47 Gregor: I mean, in fact, it's easy; it's just a diamond 23:57:50 elliott: But it makes it really hard on the client to generalize >_> 23:58:01 Gregor: Well, consider this: You want the "view" to be rotated anyway 23:58:05 So that it's actually what you see ahead of you 23:58:11 -!- yourstruly has joined. 23:58:13 -!- yourstruly has quit (Max SendQ exceeded). 23:58:14 Rotating a square so it's diagonal on a CA field = diamond 23:58:18 elliott: ... FFFFFFFFUUUUUUUUUUUUUU 23:58:18 So you just send the diamond as a square 23:58:21 Gregor: What? 23:58:30 You're right, you want to rotate the view, and I didn't think about that :P 23:58:35 Right 23:58:38 So it actually works pretty easily 23:58:49 And you can transform it into a "what we've seen of the world" trivially: reverse the rotation, merge it in 23:58:56 So yay, diagonal viewing is easy :P 23:58:56 -!- yourstruly has joined. 23:58:57 Except that rotating square cells is grotty ... 23:58:57 -!- yourstruly has quit (Max SendQ exceeded). 23:59:07 You just rotate the DIAMOND :P 23:59:11 Not what's in it 23:59:14 Gregor: Wireworld is symmetrical, right? 23:59:17 Yes 23:59:19 Is it symmetrical diagonally? 23:59:26 Yes. 23:59:34 Gregor: Then that's absolutely fine if you ask me 23:59:34 The diamond is composed of mis-oriented squares though :P 23:59:48 Gregor: Well, like I said, base it on Moore neighbourhoods 23:59:55 Somehow