←2011-08-19 2011-08-20 2011-08-21→ ↑2011 ↑all
00:00:15 <Gregor> This is IRC, we don't need no stinkin' ASCII.
00:00:32 <Patashu> you're right, brb unicode
00:00:48 <Gregor> ♩. ♩. ♩ ♩
00:00:49 <CakeProphet> `run cat /dev/urandom
00:00:50 <HackEgo> ​\.wd..\fsX.5.S]3읢].a;Uj
00:01:18 <ais523> I used to use cat /dev/random as an equivalent to reset, because I didn't know about reset
00:01:22 <ais523> it tended to work eventually
00:01:27 <Patashu>
00:01:28 <Gregor> lol
00:01:30 <Patashu> I found the 1/1 time signature
00:01:42 <Gregor> Patashu: Surely the most useful.
00:01:44 <CakeProphet> ais523: I'm assuming you also didn't know about urandom?
00:01:48 <ais523> indeed
00:01:52 <ais523> (I do now, of course)
00:02:02 <ais523> actually, /dev/random was slow enough that it was probably better for that purpose
00:02:08 <pikhq> Ẅē—ñêéđ—őǹłÿ—Üńı¢øðè¡
00:02:08 <ais523> urandom would quickly fill up the entire terminal with garbage
00:02:19 <Patashu>
00:02:22 <ais523> pikhq: I'm disappointed in you for not using a Unicode space for the spaces
00:02:23 <Patashu> found the triforce
00:02:35 <ais523> aren't triforces made of triangles?
00:02:43 <pikhq> ais523: I was lazy and only used things I already have a compose key for.
00:02:46 <Patashu> it's a very small triforce and placed in a beam of light
00:02:49 <Patashu> so it's shinier than it is trianglier
00:02:53 <Gregor> 🐐 found the goat
00:03:30 <CakeProphet> ais523: my /dev/random is painfully slow though
00:03:34 <pikhq> Also, yes, the Triforce is the first iteration of Sierpinski's triangle.
00:03:36 <CakeProphet> it would take several minutes to fill the whole screen.
00:03:46 <ais523> oh, relating to that question about Uematsu, there are quite a few, indeed
00:03:57 <ais523> CakeProphet: that was the point
00:04:01 <ais523> I didn't want it to
00:04:13 <ais523> whereas it doesn't take urandom long to even overflow scrollback
00:04:14 <Patashu> ♩♪♫♬♭♮♯
00:04:28 <Gregor> Patashu: You realize I've long since diagrammed the notes :P
00:04:41 <Patashu> I'm just copying them out so I have them
00:05:18 <ais523> 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 <ais523> that's pretty in character for that game
00:05:31 <Patashu> 29/16?
00:05:38 <Patashu> hmmm
00:06:00 <CakeProphet> > map (16*) [1..]
00:06:00 <lambdabot> [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 <Gregor> 29/x (no, the denominator does not matter) is probably something like eight measures of four then a random extra beat.
00:06:39 <Patashu> This song swaps between 8 and 9 quavers
00:06:52 <ais523> it's actually 32/x with three beats missing, apparently
00:07:14 -!- Vorpal has quit (Ping timeout: 258 seconds).
00:07:23 <Patashu> 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 <Gregor> ais523: 32/x doesn't exist, it's nine measures of four :P
00:08:30 <pikhq> Gregor: s/doesn't exist/doesn't meaningfully exist/
00:08:34 <CakeProphet> count this: http://www.youtube.com/watch?v=aUYtWvavvYg
00:08:35 <Gregor> Sure sure.
00:09:06 <pikhq> Someone could transcribe some 4/4 music into 4/G time just to be an ass.
00:09:16 <Patashu> G?
00:09:21 <pikhq> Graham's number.
00:09:26 <Patashu> also, bulgarian bulge is sooo good
00:09:33 <ais523> Gregor: eight of four
00:09:49 <Gregor> ais523: Errr, yes ...
00:09:57 <Gregor> Math I are not good at.
00:10:01 <pikhq> I am not sure the resulting sheet music would fit in the universe.
00:10:05 <ais523> 8/8 I've used to mean 3+3+2
00:10:40 <Gregor> I'd say the retain some meaning up until about 12.
00:10:46 <Patashu> let's invent something better than time signatures
00:10:49 <Patashu> they don't retain enough information
00:10:49 <Gregor> (I choose 12 because I've written something in 12 8-D )
00:11:09 <pikhq> Gregor: At which point it becomes notational masturbation?
00:11:13 <Gregor> Patashu: I'll let you muddle over it until you're talking about PCM, then realize why notation exists.
00:11:17 <Gregor> pikhq: Yup.
00:11:30 <CakeProphet> Don Ellis has plenty of complex time signatures if you're into that.
00:11:49 <pikhq> It's not exactly hard to find music with complex time.
00:11:58 <pikhq> Though you might have to leave top 40.
00:12:08 <ais523> Gregor: 12/8 is relatively common, isn't it?
00:12:08 <Gregor> I assume by complex you mean complex numbers.
00:12:13 <ais523> it's the triplets version of 4/4
00:12:16 <Gregor> ais523: Relatively. Yeah.
00:12:32 -!- pikhq_ has joined.
00:12:34 <Gregor> Now, 4+2i/4 time, THAT'S rare.
00:12:45 <ais523> can imaginary time even be played?
00:12:49 <ais523> you'd have to convert it to temperature somehow
00:12:51 <Patashu> complex music sounds difficult. what's the second dimension, pitch?
00:12:52 <CakeProphet> I imagine a complex time signature would be like two real signatures superimposed.
00:12:55 <pikhq_> 18:13 < pikhq> It's not exactly hard to find music with complex time.
00:12:56 <CakeProphet> one part has one signature another part has the other.
00:12:57 <pikhq_> 18:13 < pikhq> Though you might have to leave top 40.
00:13:00 <pikhq_> 18:13 < pikhq> Which you should anyways.
00:13:13 <ais523> that's because "complex time" means 6/8, etc
00:13:28 <Gregor> ... 6/8 is so not complex :P
00:13:53 <ais523> what about irrational time signatures?
00:13:58 <ais523> those would at least be possible to play
00:14:09 <ais523> although probably only via synthesizer from a timecode file
00:14:12 <pikhq_> Gregor: It's not 4/4!
00:14:13 <pikhq_> :P
00:14:32 <Patashu> An irrational time signature would sound like your computer glitching up
00:14:46 <Patashu> Every X gaps would be the wrong length
00:14:47 <CakeProphet> ais523: I think you could play a complex time signature if you split the piece into two superimposed songs. :P
00:15:03 <Gregor> That's not really very meaningful imaginary time.
00:15:17 <ais523> hmm, what about having two different lines in incommensurable tempos?
00:15:20 <ais523> that might sound quite good
00:15:32 <CakeProphet> Gregor: I don't see any other way to do it really.
00:15:34 <ais523> (x and y are incommensurable if x/y is irrational, in case you'd never heard the word before)
00:15:47 <pikhq_> CakeProphet: Wouldn't that just be polyrhythm?
00:15:55 <CakeProphet> pikhq_: yes
00:16:19 <CakeProphet> what do you mean "just" polyrhythm.
00:16:26 <CakeProphet> do we already have a notation for polyrhythms
00:16:37 <CakeProphet> 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 <pikhq_> Actually, I dunno if we do or not.
00:17:07 <pikhq_> It could very well be a deficiency in Western music notation.
00:17:31 <CakeProphet> that could be remedies by complex numbers and quaternions!
00:17:34 <CakeProphet> *remedied
00:17:56 <CakeProphet> and whatever the 3-component one is called.
00:18:11 <Gregor> Or ... you could just write both lines, make sure the bar lines line up, and just notate them differently :P
00:18:23 <pikhq_> Gregor: Smart-ass.
00:18:23 <pikhq_> :P
00:18:44 <CakeProphet> Gregor: not as formal sounding!
00:18:46 <Gregor> Alternatively, you could color-code, use different note styles, or just realize that it's not a good idea *shrugs*
00:20:30 <CakeProphet> it's an excellent idea you just don't know it.
00:20:41 <CakeProphet> I suppose you could also the same thing with vector time signatures.
00:24:13 <Gregor> 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 <ais523> don't you just write it in expanded notation, making the barlines line up?
00:24:32 <ais523> Gregor: could be interesting if done properly
00:24:43 <Gregor> ais523: The "done properly" part is why I'm bringing it here :P
00:25:02 <Gregor> 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 <ais523> 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 <CakeProphet> Gregor: I enjoy this idea.
00:26:51 <CakeProphet> I had a similar idea but with a rogue-like interface.
00:26:52 <ais523> 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 <ais523> (presumably in cases where you couldn't just use glass or another transparent material)
00:28:03 <CakeProphet> 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 <Gregor> CakeProphet: I think mine requires less strong AI :P
00:28:49 <CakeProphet> no not like that. more like a MUD that rogue.
00:28:57 <CakeProphet> north south east west
00:29:05 <Patashu> Gregor have you ever played with Robocode
00:29:14 <CakeProphet> get, put, kill, etc
00:29:43 <CakeProphet> I like the MUD-like interface because then you can theme it about something.
00:29:47 <Gregor> Patashu: I've looked at it a bit, but Java makes me want to puke :P
00:30:08 <CakeProphet> TWO PREHISTORIC HUMANS IN A FIELD WITH SPEARS HUNTING WILD GAME AND TRYING TO STARVE OR KILL THE OTHER, or.. something.
00:30:11 <Patashu> poor Gregor
00:30:17 <Patashu> he has a java allergy
00:30:24 <Patashu> it makes him break out in rashes on touch
00:30:39 <Patashu> we had to ban java from our high schools to ensure Gregor and people like him's safety
00:30:57 <CakeProphet> !sh touch AbstractProxyUtilityHandlerFactory.java
00:30:58 <EgoBot> ​/bin/touch: cannot touch `AbstractProxyUtilityHandlerFactory.java': Permission denied
00:31:10 <ais523> beautiful
00:31:10 <Patashu> LOL
00:31:16 <ais523> CakeProphet: did you know that was going to happen?
00:31:29 <CakeProphet> I thought it might but I wasn't sure.
00:31:54 <Patashu> !sh touch hot.stove
00:31:55 <EgoBot> ​/bin/touch: cannot touch `hot.stove': Permission denied
00:31:59 <Patashu> Why mother :(
00:32:31 <Patashu> !sh touch hot.stove & echo "You'll burn yourself, dear"
00:32:31 <EgoBot> You'll burn yourself, dear
00:32:48 <Patashu> That didn't work the way I expected it to
00:32:56 <Gregor> You wanted ||
00:33:09 <Patashu> !sh touch hot.stove || echo "You'll burn yourself, dear"
00:33:09 <EgoBot> ​/bin/touch: cannot touch `hot.stove': Permission denied
00:33:28 <Patashu> If there are two outputs it DCCs one of them to me
00:33:37 <CakeProphet> !sh touch hot.stove && echo "You'll burn yourself, dear"
00:33:37 <EgoBot> ​/bin/touch: cannot touch `hot.stove': Permission denied
00:33:56 <CakeProphet> ...oh, right
00:33:59 <CakeProphet> >_>
00:34:30 <Gregor> So anyway, any further thoughts on CAbattlelandgamelol
00:34:34 <Patashu> I think it's just an EgoBot thing
00:34:44 <CakeProphet> Gregor: some form of resource gathering.
00:34:50 <CakeProphet> something to do with said resources
00:35:02 <CakeProphet> an objective
00:35:02 <Gregor> That's the trick, innit ;P
00:35:11 <CakeProphet> and surrender conditions.
00:35:14 <Patashu> Oh oh, make it like civilization
00:36:10 <CakeProphet> 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 <CakeProphet> ??
00:36:45 <Patashu> Would you be able to see everything at all times, or only within a certain range?
00:36:50 <Gregor> 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 <Gregor> (The stuff you're trying to collect always moves randomly)
00:37:10 <Gregor> Patashu: Only an area.
00:37:19 <Patashu> I think there ought to be some kind of directionality in both humans and animals
00:37:20 <Patashu> Like in robocode
00:37:37 <Gregor> Patashu: Directionality in what sense? You know what north is?
00:37:48 <Patashu> 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 <Patashu> direcitonality as in, if I'm moving in a direction X I can keep moving in it or turn
00:38:17 <Gregor> Oh
00:39:22 <Patashu> Without advantaged and disadvantaged positions it boils down to RPS
00:39:28 <CakeProphet> the grid itself could also be a kind of program, like a fungespace
00:39:49 <Gregor> CakeProphet: Yeah, I wanted it to be a CA of some kind.
00:39:51 <CakeProphet> allowing you to create things like tripwires.
00:40:04 <Gregor> That could make advantaged and disadvantaged areas, as well as allow for cleverness by players.
00:40:26 <Patashu> a CA like the game of life, or a CA more like von neumann's CA?
00:40:32 <Gregor> Unsure.
00:40:39 <Patashu> maybe animals breed according to the game of life
00:40:41 <Patashu> LOLOL INFINITE SHEEP
00:41:24 <CakeProphet> I think a fungespace would be more interesting than something like GoL
00:41:41 <Gregor> CakeProphet: I think a CA other than GoL would be more interesting still :)
00:41:48 <Patashu> a fungespace with instruction pointers, or circuit-like execution?
00:42:04 <Patashu> are your mans the instruction pointers?
00:42:53 <CakeProphet> yes to everything
00:43:01 <Gregor> Umm :P
00:43:19 <CakeProphet> well no
00:43:31 <CakeProphet> your agent(s) would be writers
00:43:44 <CakeProphet> that can place codes
00:43:53 <CakeProphet> on a concurrent fungespace thing.
00:44:36 <CakeProphet> and also read what the current code is I guess.
00:44:53 <Gregor> 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 <Patashu> yeah that's what I was thinking
00:45:07 <Patashu> too complicated = ded
00:45:10 <Gregor> All I want is a CA that's /mostly/ but not entirely stable, like wireworld, but maybe a bit nicer.
00:45:18 <Patashu> wireworld sounds nice
00:45:26 <Patashu> maybe wireworld with instant (or faster than normal) transmission?
00:45:30 <Patashu> like 10 generations per one mans generation
00:46:30 <Patashu> and explicit input/output mechanisms that send signals and pick up signals
00:46:41 <Gregor> 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 <Patashu> random circuits would be uninteresting yeah
00:47:46 <Gregor> But maybe wireworld with a SLIGHT change can improve that?
00:48:00 <Gregor> (I'd rather have the substrate be more-or-less random, so you have to do something to get interesting behavior)
00:48:08 <CakeProphet> wouldn't it be interesting if your agent(s) could place and remove conductors?
00:48:13 <Patashu> What kind of slight change do you have in mind?
00:48:24 <Gregor> CakeProphet: I think it's vital :)
00:48:42 <Gregor> Patashu: Addition of a new state? Something like "electron barfer" that just makes infinite electrons at some rate?
00:48:55 <Patashu> It's easy to make electron generators already
00:49:02 <CakeProphet> 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 <CakeProphet> you could just add a number of new states.
00:49:51 <Gregor> 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 <Gregor> Patashu: Yeah, but then most terrain would freeze.
00:50:13 <Gregor> CakeProphet: Such as?
00:50:19 <CakeProphet> for example, you could have a state that generates electron heads on every neighboring conductor if an agent is present.
00:50:41 <CakeProphet> pressure plate. :)
00:50:48 <Gregor> +1
00:50:55 <Gregor> <-- googwhore
00:51:01 <Patashu> Buttons that agents can deign to push
00:51:08 <Patashu> Levers that agents can deign to toggle between electron barfer and do nothing
00:51:14 <Patashu> So basically minecraft
00:51:18 <CakeProphet> lol no
00:51:18 <yourstruly> yes
00:51:41 <Gregor> What's your struly doing here?
00:52:15 <CakeProphet> Patashu: but since minecraft has redstone which acts similar to wires, and we're using a wire-like CA
00:52:19 <CakeProphet> there's going to be similarities.
00:52:34 <Patashu> yeah it's inevitable
00:52:35 <Gregor> Naw, levers = too much intelligence.
00:52:45 <Gregor> Remember these are programs, not people :P
00:52:56 <CakeProphet> still we haven't really established a point to all of this wire business.
00:52:59 <Patashu> maybe instead of wireworld, have explicit links between components? so it's easier to analyze by a bot
00:53:04 <Gregor> CakeProphet: True X-D
00:53:28 <CakeProphet> 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 <CakeProphet> if the point is to gather resources then you want a way for the wires to act as supply lines.
00:54:23 <Gregor> 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 <CakeProphet> ah, I know.
00:55:12 <CakeProphet> certain actions could have costs involved. setting up and removing walls would cost points.
00:55:30 <Patashu> of course
00:55:47 <CakeProphet> but I think conductor should be free, perhaps?
00:55:59 <Gregor> Naw, just plentiful in the substrate and collectable.
00:56:06 <CakeProphet> ah.
00:56:22 <Patashu> can you sabotage your opponents mechanisms?
00:56:24 <Gregor> You have to destroy the substrate to build anyway *shrugs*
00:56:29 <Gregor> Patashu: Why not?
00:56:46 <Gregor> OOOH OOOOH OOOOOOOH
00:56:52 <Gregor> Capture the flag
00:56:52 <Patashu> well, if it's too easy you'd never build anything
00:56:57 <Gregor> Your flag is a special electron.
00:57:02 <CakeProphet> aha
00:57:17 <CakeProphet> a permanent electron head?
00:57:29 <Gregor> Not permanent, or it wouldn't be enormously collectable :P
00:57:33 <Patashu> so could it be moved around, you mean?
00:57:42 <Gregor> When you join, it would create a repeater to keep it alive, then you could try to protect it.
00:57:56 <CakeProphet> 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 <Gregor> CakeProphet: Hmmmmmmmmmmmmmmmmmmmmmmm, but then we still need a consistent notion of "base" :)
00:58:48 <Patashu> Your base is the area enclosed by base markers, which take X resource to produce
00:58:58 <CakeProphet> no need to make it all formal
00:59:04 <CakeProphet> a single cell could easily have multiple kinds of states.
00:59:17 <CakeProphet> base would just be a special designation for the location you started at.
00:59:26 <Gregor> CakeProphet: Started at is no good.
00:59:37 <CakeProphet> er, why?
00:59:38 <Gregor> CakeProphet: I wanted to make so-called biomes so you would need to find a good spot.
00:59:55 <CakeProphet> what were we saying about complexity? :P
01:00:02 <Gregor> Hm :)
01:00:06 <CakeProphet> admittedly that would be cool if it's not too absurd.
01:00:09 <Patashu> If you have biomes, random map generators would be biased in favour of one player or another too often
01:00:39 <Gregor> Patashu: Not if it always puts you in a shitty location X-D
01:00:43 <Patashu> haha
01:01:06 <CakeProphet> exploration would be very time consuming in a game like that.
01:01:51 <Patashu> reminds me of opening turns in civilization 1
01:01:51 <Gregor> Fair enough ... so maybe a consistent (though random) substrate, and your starting location (+radius X?) is your base.
01:01:55 <CakeProphet> the main problem with carrying a flag electron is that that's not how wireworld works.
01:02:05 <Patashu> 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 <CakeProphet> electrons can branch off onto two conductors, where would the flag go in that situation?
01:02:27 <CakeProphet> I guess they could ALL be flags...
01:02:44 <Gregor> CakeProphet: Yeah, I haven't fully thought that through :)
01:02:51 <CakeProphet> as long as they come from another flag electron head, which has to originate from someone's base
01:03:07 <Patashu> what if you take it to an AND gate, and it's not sending output? it just...gets blocked there?
01:03:14 <CakeProphet> sure.
01:03:15 <Patashu> maybe you could drag it back to the previous gate and do a do-over
01:03:29 <Patashu> build another wire out of your opponent's base to go around it
01:03:30 <Patashu> XD
01:03:30 <CakeProphet> I'd imagine part of the strategy would be trying to prevent a flagged electron from arriving.
01:03:33 <Patashu> short circuiting!
01:03:35 <Gregor> Clearly we need more sophisticated rules for the not-actually-an-electron-head flag *shrugs*
01:04:09 <CakeProphet> 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 <CakeProphet> 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 <Patashu> have any of you ever played DROD?
01:05:53 <Sgeo_> danggit
01:05:54 <CakeProphet> the other kind just stays there until someone removes it.
01:06:01 <Gregor> Patashu: Nope
01:06:31 <Sgeo_> None of {elliott, Phantom_Hoover, Taneb} are here
01:06:36 <CakeProphet> both can be removed. everything could be torn down at a cost.
01:06:51 <Patashu> 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 <Gregor> Sgeo_: Seed money for the reanimator.
01:07:00 <Patashu> It has directionality in that your sword is facing in only one direction at any given moment
01:07:08 <CakeProphet> Gregor: probably the best way to go about a competitive programming game of this complexity
01:07:24 <CakeProphet> 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 <Gregor> CakeProphet: Probably a fair point ...
01:07:47 <CakeProphet> until it makes sense and is competitive.
01:08:17 -!- copumpkin has joined.
01:08:42 <Gregor> So, what are our states thusfar?
01:09:01 <Patashu> Are animals and resources CA states or actors?
01:09:07 <CakeProphet> wireworld states. modifier states: flag, base
01:09:18 <Gregor> Patashu: I think we kinda lost animals and resources :)
01:09:30 <CakeProphet> well I think resources would still be a good idea
01:09:30 <Gregor> CakeProphet: So, no walls now :P
01:09:36 <CakeProphet> er wait, yeah, walls.
01:09:39 <Patashu> Haha
01:10:01 <CakeProphet> electron-activated walls, regular walls, triggers (aka pressure plates, buttons, whatever)
01:10:03 <Gregor> 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 <Gregor> The thing is, with the design as it stands, non-flag electrons serve no purpose whatsoever :)
01:10:34 <CakeProphet> I think the resources are important because otherwise it becomes far too easy to just destroy something the other player built.
01:11:01 <CakeProphet> so to destroy something would cost something. time, points, whatever.
01:11:19 * Gregor continues to hmmm.
01:11:34 <CakeProphet> Gregor: they would activate various "output" devices I'd imagine. Like the powered walls.
01:11:42 <Patashu> I think it should cost more to destroy than to create
01:11:44 <Patashu> Else why ever build?
01:12:29 <CakeProphet> 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 <CakeProphet> yours, enemies, unowned.
01:12:53 <Gregor> Balance is going to be a real trick ...
01:12:59 <CakeProphet> so you could up yours/unowned for free, and keep it
01:13:11 <CakeProphet> but then to destroy an enemies you need to expend something.
01:13:20 -!- jcp has joined.
01:13:25 <Gregor> Maybe natural electrons are a resource, and the terrain generator would make sure they're stable in some places?
01:13:40 <CakeProphet> that sounds reasonable.
01:13:53 <CakeProphet> I guess that would be the only way to generate power.
01:14:21 <CakeProphet> complexity isn't bad... it would just be a long-term game. which makes it more interesting.
01:14:40 <Gregor> My concern in the complexity is that nobody would ever write a player :P
01:14:58 <CakeProphet> well if you have it so that you connect to the server and send commands from any language you want
01:15:07 <CakeProphet> then it wouldn't be too bad to keep track of state and such.
01:15:23 <CakeProphet> as opposed to bfjoust where it's always brainfuck and so even the smallest bit of complexity results in huge programs.
01:15:56 <Gregor> Oh, absolutely this is an any-language game.
01:16:02 <CakeProphet> I think to maintain sanity you'd need concurrent agents that you could eventually produce with resources.
01:16:23 <CakeProphet> that could also be killed, perhaps.
01:16:31 <CakeProphet> I don't know.
01:16:33 <CakeProphet> just an idea.
01:16:35 <CakeProphet> throwing shit out there.
01:16:40 <Gregor> If they're concurrent over the interwebs, then peoples' connections cause them unfair ad/disadvantages :(
01:16:49 <CakeProphet> just need a round robin scheduler.
01:16:58 <CakeProphet> with a surrender timeout. :P
01:17:05 <Gregor> CakeProphet: Then it would take days to get a frame X_X
01:17:08 <CakeProphet> if you take too long to issue your commands then you automatically lose.
01:17:18 <CakeProphet> days?
01:17:21 <CakeProphet> don't see why.
01:17:33 <Gregor> <CakeProphet> if you take too long to issue your commands then you automatically lose. // then we're back to connection ad/disadvantages.
01:17:58 <CakeProphet> well otherwise it just hangs forever until the player reconnects.
01:18:04 <CakeProphet> it could be a long timeout. :P
01:18:10 -!- jcp|other has joined.
01:18:22 <Gregor> CakeProphet: OK, then it'll take days to render a frame :P
01:18:35 <CakeProphet> ...still not following.
01:18:49 <Gregor> "Days" is obviously an exaggeration.
01:19:01 <CakeProphet> oh... yeah didn't catch that.
01:19:13 <CakeProphet> I'd imagine it would take like... miliseconds.
01:19:20 <Gregor> 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 <CakeProphet> how long you have to wait would just depend on the connection latency
01:20:29 <CakeProphet> it probably wouldn't take that long
01:20:40 <CakeProphet> but I don't think it's something you can really avoid.
01:20:57 <Gregor> You can make it less terrible by running the programs on the same machine/network :P
01:21:31 <CakeProphet> 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 <Gregor> 100 steps is probably about a minute over the Internet.
01:22:52 <CakeProphet> oh well, I'd wait. :P
01:23:21 <CakeProphet> but yeah you could host them on the same machine.
01:23:32 <CakeProphet> just pass an input handle to the programs.
01:23:41 * Gregor continues to hmm.
01:23:47 <CakeProphet> er, output handle rather.
01:24:01 <CakeProphet> stdout of the client program would be the input to the server.
01:24:09 <CakeProphet> er, what am I talking about just use stdio :P
01:24:11 <CakeProphet> lol
01:24:35 <CakeProphet> so yeah new agents would be expensive
01:24:47 <Gregor> *eh*
01:24:48 <CakeProphet> if possible at all.
01:25:06 <Gregor> If anybody knows how to safely run untrusted code, it's me :P
01:25:11 <CakeProphet> 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 <Patashu> Robocode manages to do it somehow
01:25:46 <CakeProphet> but still that should cost something because that's still an advantage.
01:26:01 <Gregor> Hmmmmmmmmmmm
01:26:17 <CakeProphet> it would certainly make it feel more like an RTS of sorts.
01:26:19 <Patashu> http://en.wikipedia.org/wiki/Robocode#Safely_run_other_peoples.27_bots
01:26:37 <CakeProphet> well if you just sandboxed everything and set permissions I don't see the problem.
01:27:26 <Gregor> Patashu: Robocode is VM'd, sandboxing a VM is boring.
01:27:36 <CakeProphet> okay so I think an important first step would be to figure out how resources would work for the first draft.
01:27:41 <Gregor> I don't see the PROBLEM, I'm just hmming over the necessities.
01:27:43 <Gregor> Yeah.
01:27:53 <CakeProphet> as resources are essential to the strategy.
01:28:13 <Gregor> Are we agreeing that electrons are a legit resource?
01:28:15 <CakeProphet> 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 <CakeProphet> or you could have it where you just go around scavenging shit.
01:28:36 <CakeProphet> yes.
01:29:09 <CakeProphet> also a form of logic, for doing things.
01:29:10 <Gregor> 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 <CakeProphet> well, the other alternative would be to... somehow have electrons construct other states themselves through uh... some kind of funky voodoo.
01:30:25 <CakeProphet> I'm not entirely sure what a decoy would be in this game....
01:31:03 <CakeProphet> 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 <Gregor> That is lame.
01:31:50 <Gregor> Also by "geyser" I hope you just mean "stable circuit"
01:32:06 <Gregor> Not the mythical electron barfing cell.
01:32:13 <CakeProphet> 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 <CakeProphet> basically an electron generator/repeater thing.
01:32:40 <Gregor> Right, but that can be done with plane wireworld circuitry, not anything special.
01:32:43 <CakeProphet> but I guess it could be a stable circuit, sure.
01:32:43 <Gregor> That's all I wanted to make sure of :P
01:33:00 <CakeProphet> the only difference would be that the stable circuit could be destroyed.
01:33:09 <CakeProphet> whereas the geyser has the possibility of being indestructable.
01:33:37 <Gregor> 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 <CakeProphet> I believe that is the same thing as a conductor in essence.
01:34:11 <Gregor> With the caveat that you couldn't build it at unlimited rate.
01:34:23 <Gregor> So it makes electrons a sort of /implicit/ resource, rather than explicit.
01:34:34 <CakeProphet> to generate conductors
01:34:43 <CakeProphet> but then you have no other devices to make the conductors useful.
01:34:55 <CakeProphet> unless they also have potentia things.
01:35:10 <Gregor> Idonno how many of the other cells I'm convinced of yet ^^
01:35:30 <CakeProphet> well, if electrons don't power other cells then essentially they have to be tied directly to the objective.
01:35:33 <CakeProphet> otherwise they do nothing.
01:35:53 <Gregor> Oh right X-D
01:36:00 <Gregor> I think I made that point, didn't I :P
01:36:11 <CakeProphet> we both did at some place.
01:36:34 <Gregor> 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 <Gregor> Big ifs though.
01:36:56 <CakeProphet> makes sense.
01:37:16 <CakeProphet> they should perhaps take different amounts of time to build though.
01:37:19 <CakeProphet> time is always a resource.
01:37:25 <Gregor> Indeeeeeeeeeeed.
01:37:31 <CakeProphet> where time is measured in turns here.
01:37:51 <CakeProphet> also to destroy
01:38:07 <CakeProphet> thus giving you the decoy dynamic of bfjoust sort of.
01:38:11 <CakeProphet> but more complex.
01:38:16 <Gregor> 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 <CakeProphet> right.
01:38:51 <CakeProphet> though you od need to make it possible to have /multiple/ flag electrons... since... that's how the rules work.
01:39:17 <CakeProphet> let's say your flag is going left to right: ----===
01:39:20 <Gregor> Yeah, I'm still trying to rectify that X-D
01:39:31 <CakeProphet> it would need to split into two flag electrons at the =
01:39:38 <Patashu> Interesting. In robocode, you don't know when your enemy shoots
01:39:39 <Patashu> You have to guess
01:40:10 * Gregor hmms away.
01:40:15 <CakeProphet> 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 <CakeProphet> perhaps at a branch point the flag non-deterministically chooses a path. :P
01:41:10 <Gregor> Oh, I was thinking that when you had multiple flags, they would only have to ferry ONE back.
01:41:16 <Gregor> So your goal is to NOT duplicate your flag.
01:41:32 <Gregor> Plus there's the issue that we have to figure out what happens if your flag should be snuffed out.
01:41:41 <CakeProphet> er, perhaps we are imagining different setups here.
01:41:54 <Gregor> Almost assuredly :)
01:42:38 <CakeProphet> 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 <CakeProphet> so the flag itself is stationary, but the flag electron could die.
01:43:00 <Gregor> Ohhhhhhhhhhhhhhhhhhhhhhhhhh
01:43:15 <Gregor> I was thinking the flag electron was something put in a stable circuit when you started/joined.
01:43:25 <CakeProphet> that's a possibility I suppose.
01:43:47 <CakeProphet> but with either setup generating multiple flag electrons is still problematic
01:43:50 <CakeProphet> makes offense really simple.
01:43:57 <Patashu> 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 <CakeProphet> well, in gregor's system the flag electrons could just be made indestructible.
01:44:24 <CakeProphet> in mine it wouldn't matter as the flag which generates the flag electrons is permanent.
01:44:51 <CakeProphet> there's no need to include any sort of understanding of culpability. :P
01:45:03 <Patashu> Okay then
01:45:11 <Gregor> CakeProphet: I'm still not sure if I comprehend why duplication makes offense simple ...
01:45:30 <CakeProphet> well you could make this massive branching circuit to their flag
01:45:35 <CakeProphet> the flag moves along, branches like 20 times.
01:45:39 <CakeProphet> how does the defender fix this?
01:46:16 <CakeProphet> (the defender is trying to kill the flag electron that was generated... so that it doesn't reach the offenders base)
01:46:19 <Gregor> 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 <CakeProphet> this is how capture the flag works, right? :P
01:46:39 <CakeProphet> true enough, I suppose that is the limitation of that offense strategy.
01:47:13 <CakeProphet> something that would require testing I think.
01:47:24 <CakeProphet> instead of just speculation.
01:47:40 <Gregor> I agree, but I also don't think we have enough specifics on our speculation to implement :)
01:47:44 <Gregor> (yet)
01:47:45 <CakeProphet> right.
01:47:50 <Gregor> bbiab
01:48:39 <CakeProphet> okay so I guess our main resource is time really, if I'm understanding your connector potentia thing.
01:49:05 <CakeProphet> the time it takes for each electron to activate the next s/connector/conductor/r
01:50:00 <Gregor> 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 <Gregor> Incidentally, I'm not back :P
01:50:15 <Gregor> (still bbiab :P )
01:51:24 <CakeProphet> 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 <CakeProphet> (I just wanted to avoid saying potentia again :P )
01:52:27 <CakeProphet> build time and other specifics can be fine-tuned later, for now we can just establish some methods of operation.
01:55:17 <CakeProphet> 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 <CakeProphet> so the reader agent is roaming around surveying and the writer agent is building/destroying
01:57:23 <CakeProphet> so then at least you're not constrainted to one cell per turn.
01:57:52 <CakeProphet> your reader could be planning ahead while the writer is busy building.
02:01:25 <CakeProphet> if there were walls then the opponent could lead your reader into a trap box. hilarity ensues.
02:03:06 <CakeProphet> 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 <CakeProphet> thus making program writing easier once you've established your own set of tools
02:03:51 <CakeProphet> or used someone elses.
02:10:16 <CakeProphet> so you could start with the basic wireworld + base + agent + flag + flag electron setup
02:10:27 <CakeProphet> play with that, and then brainstorm additions.
02:10:53 <CakeProphet> well I guess base = flag right now
02:15:27 <Patashu> hey guys, new a boy and his blob TAS http://tasvideos.org/forum/viewtopic.php?t=11686&highlight=
02:15:30 <Patashu> pro watch
02:15:43 <CakeProphet> > 1/0
02:15:44 <lambdabot> Infinity
02:15:50 <Patashu> > -1/0
02:15:51 <lambdabot> -Infinity
02:16:38 <CakeProphet> shouldn't that be NaN or something?
02:16:52 <Patashu> > 0/0
02:16:52 <lambdabot> NaN
02:16:55 <Patashu> There you go
02:16:58 <CakeProphet> > (1/0)/(1/0)
02:16:58 <lambdabot> NaN
02:17:19 <Patashu> If this was mathematica we'd have directional infinity for all of the directions, all of them
02:17:48 <CakeProphet> but instead we're just using the IEEE floating point standard
02:18:36 -!- itidus21 has joined.
02:18:46 <CakeProphet> > sqrt -1
02:18:47 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
02:18:47 <lambdabot> arising from a use of `...
02:18:53 <CakeProphet> :t sqrt
02:18:53 <lambdabot> forall a. (Floating a) => a -> a
02:18:58 <CakeProphet> > sqrt (-1)
02:18:59 <lambdabot> NaN
02:19:10 <Patashu> haskell has complex numbers doesn't it?
02:19:20 <CakeProphet> 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 <CakeProphet> yes.
02:19:30 <CakeProphet> > 2 :+ 2
02:19:30 <lambdabot> 2.0 :+ 2.0
02:19:40 <Patashu> :t :+
02:19:41 <lambdabot> parse error on input `:+'
02:19:55 <CakeProphet> :t (:+)
02:19:56 <lambdabot> forall a. (RealFloat a) => a -> a -> Complex a
02:20:01 <Patashu> aah
02:20:27 <CakeProphet> but then sqrt would have to be Complex a -> Complex a
02:21:54 <zzo38> How would something like IO monad be implemented directly in Haskell?
02:22:21 -!- itidus20 has quit (Ping timeout: 252 seconds).
02:22:25 <CakeProphet> I don't think it could be because there's no side-effects otherwise.
02:22:52 <CakeProphet> you'd need some kind of side-effect primitive that isn't IO...
02:23:58 <CakeProphet> why do all of the Haskell tutorials introduce monads as something to be scared of.
02:24:03 <CakeProphet> when they are really very simple.
02:24:19 <zzo38> 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 <zzo38> That is what I mean.
02:25:31 <CakeProphet> not really very different from what is already happening, sort of.
02:25:57 <monqy> http://r6.ca/blog/20110520T220201Z.html may be relevant?? I don't entirely understand the question, though.
02:27:23 <CakeProphet> type IO a = RealWorld -> (a, RealWorld)
02:27:27 <CakeProphet> you could do something like this.
02:28:01 <CakeProphet> and then have functions from RealWorld -> RealWorld or something.
02:29:22 <Patashu> realworld encapsulates the IO state?
02:29:45 <zzo38> monqy: OK that is relevant.
02:30:03 <zzo38> CakeProphet: OK, that can be one way too.
02:30:37 <CakeProphet> yeah GHC defines IO as: newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
02:30:57 <monqy> CakeProphet: of course this is deeply magical and most likely highly misleading
02:31:10 <CakeProphet> the only magical part is RealWorld I guess.
02:31:24 <monqy> and State#
02:31:25 <zzo38> Well, I am not making it based on the actual IO type, I am using my own types instead.
02:32:12 <zzo38> With such kind of thing, how would return and >>= be implemented?
02:32:25 <CakeProphet> your guess is as good as mine...
02:35:50 <Gregor> Back. CakeProphet: What's goin' onnnn
02:35:51 <itidus21> IO may cause drowziness.
02:36:26 <Gregor> <CakeProphet> 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 <CakeProphet> Gregor: see above.
02:36:47 <Gregor> <CakeProphet> 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 <CakeProphet> lol
02:37:07 <CakeProphet> a more limited form I suppose.
02:37:44 <Gregor> <Patashu> 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 <Patashu> gregor, it gets to the credits THEN beats the game rather than the other way around
02:38:19 <Gregor> CakeProphet: I'm trying to decide if being able to build workers makes any kind of sense at all ...
02:38:26 <Gregor> Patashu: OK, that's pretty pro X-D
02:38:43 <CakeProphet> well, spawning more agents makes plenty of sense.
02:38:50 <CakeProphet> the agents could be builders, or... do whatever.
02:39:16 <Patashu> You should watch it :D
02:39:35 <CakeProphet> it certainly opens up possibilities that would otherwise be absent.
02:39:44 <Gregor> CakeProphet: But if you spawn a borg collective, you could just stomp all over things ... needs to be a heavy penalty.
02:40:05 <CakeProphet> well the way it works in redcode is that it slows down each active agent.
02:40:20 <CakeProphet> so basically each player gets the same number of turns still.
02:40:20 <Gregor> That's (IMHO) TOO heavy a penalty.
02:40:33 <Gregor> (Maybe)
02:40:39 <zzo38> 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 <zzo38> Of course they say is not a monad, but then describe one way which is a monad, too
02:42:26 <CakeProphet> Gregor: well otherwise you need some kind of point system that isn't just electrons.
02:42:39 <Gregor> Patashu: lol, boy in glitchland
02:43:00 <monqy> they say I/O is not a monad, but there's a way to make an IO monad for monadic convenience
02:43:01 <CakeProphet> and really depending on how strategems emerge being in two places at once might be worth being twice as slow.
02:43:25 <Gregor> CakeProphet: I spose >_>
02:43:44 <CakeProphet> especially in a massive 2-d grid world.....
02:43:56 <Gregor> CakeProphet: I guess I'm developing Starcraft: Wireworld in my head :P
02:44:06 <CakeProphet> lol, yeah that would certainly be amazing.
02:44:11 * CakeProphet loves SC
02:44:37 <CakeProphet> 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 <CakeProphet> thus, like in most RTSes, the more concurrent you are the better.
02:45:00 <Patashu> this is starting to get way too complex lol
02:45:06 <CakeProphet> Patashu: nah not really.
02:45:07 <Patashu> is this a game for bots or for humans?
02:45:11 <Gregor> 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 <Gregor> That is, they have to communicate via the server, so have to be near each other.
02:45:30 <Gregor> So to coordinate, you have to regroup.
02:45:32 <CakeProphet> communicate how?
02:45:42 <Gregor> Anything. They have no shared heap.
02:45:43 <CakeProphet> er... that would eliminate the possibility of general-purpose languages.
02:45:54 <Gregor> Naw, it would just change how new agents are created.
02:45:58 <CakeProphet> unless you mean each agent spawns a new process with absolutely no communication.
02:46:01 <Gregor> Rather than multiplexing the chan--- yeah.
02:46:26 <CakeProphet> that might be difficult to implement in practice.
02:46:43 <Gregor> It might be too complex to use :)
02:46:50 <Gregor> Let's just focus on single-agent for the moment and iterate.
02:46:55 <CakeProphet> I'm fine with borg collectives. :P
02:46:57 <CakeProphet> okay.
02:47:42 <CakeProphet> mainly because I could then write a massively concurrent Haskell program that uses STM to coordinate my borglings actions.
02:48:41 <Gregor> Maybe making a new agent not only takes some number of electrons, but destroys the conductors in the process ...
02:48:54 <CakeProphet> 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 <Gregor> But anyway, we'll think about multi-agent systems later. What details are there left for the single-agent case?
02:49:16 <Gregor> Or details we disagree on but don't realize we disagree on X-D
02:49:34 <CakeProphet> I didn't realize we disagreed on anything.
02:49:41 <CakeProphet> this might be problematic. :P
02:50:03 <Gregor> I think we still disagree on the nature of the flag.
02:50:04 <CakeProphet> 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 <Gregor> I'm forming a game in my head :P
02:50:40 <CakeProphet> well how does your flag work. I think I already explained mine.
02:51:04 <Gregor> Mine is still a tad bit undefined ^^
02:51:19 <Gregor> Basically I just wanted another type of cell, with behavior similar but not identical to electrons.
02:51:42 <Gregor> Major difference being that you can never end up with no flag at all.
02:51:42 <CakeProphet> it would persist despite lack of a conductor?
02:51:59 <CakeProphet> depends on what kind of capture the flag you want.
02:52:08 <Gregor> I thought we both agreed on ferry-the-flag?
02:52:21 <Gregor> That's sort of what makes my conductors potentias make sense.
02:53:11 <CakeProphet> 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 <Gregor> 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 <CakeProphet> also splitting is still undefined. do you want it to be possible to have more than one flag at a time?
02:55:15 <Gregor> I'm not sure.
02:55:35 <Gregor> My thought was that if you get even one enemy flag to your base, you win, which I think balances it.
02:55:37 <Patashu> Maybe do away with the idea of agents and everything. Why not just make it a wireworld competitive game?
02:55:51 <CakeProphet> because you need something that... writes to the grid.
02:56:07 <CakeProphet> you can
02:56:14 <Gregor> Also programming in wireworld is terrible, so you'd have very little intelligence :P
02:56:27 <CakeProphet> 't competitively program a grid with another program in a separate file.
02:56:29 <CakeProphet> doesn't make sense.
02:56:46 <Gregor> Well, that could probably be rectified, although I don't know how.
02:56:50 <Gregor> But I like our idea better :P
02:56:55 <CakeProphet> yes.
02:57:13 <CakeProphet> I do like the fungespace idea as well, as it would create quite a bit of complexity.
02:57:25 <Gregor> I just feel like that's too much X-D
02:57:45 <CakeProphet> Gregor just doesn't know how to have fun.. :P
02:58:08 -!- itidus21 has changed nick to itidus20.
02:58:53 <Gregor> 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 <CakeProphet> think of all the fun you could have with the # command in befunge. :D
02:59:39 <CakeProphet> you would destroy the same way you build, it would take time.
03:00:29 <Gregor> 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 <CakeProphet> that would make it pretty difficult to destroy a line.
03:01:20 <Gregor> I spose X-D
03:01:25 <CakeProphet> well, maybe.
03:01:31 <CakeProphet> depending on how the potentia works
03:01:34 <CakeProphet> which I'm still not clear on.
03:01:47 <CakeProphet> it might just make keeping your wire alive through that method difficult
03:01:55 <Gregor> Potentia next to electron becomes conductor (NOT electron)
03:02:11 <CakeProphet> can a potentia be placed anywhere?
03:02:15 <CakeProphet> next to other potentia?
03:02:21 <Gregor> Only next to a conductor (NOT potentia)
03:02:31 <CakeProphet> so then to build a wire you have to
03:02:40 <CakeProphet> build potential; wait for pulse; build potential; wait for pulse
03:03:22 <Gregor> Yup
03:03:46 <Gregor> Remember that we said that there are N wireworld moves per agent move.
03:03:52 <Gregor> So it's not like pulses are super-rare.
03:04:09 <Gregor> (Although we may want to rethink that)
03:04:33 <CakeProphet> 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 <Gregor> Yeah >_>
03:05:07 <CakeProphet> say your wire is on a fast 1-clock pulse
03:05:13 <CakeProphet> and its moving faste than you demote things.
03:05:13 <Gregor> It's OK if it's difficult, not if it's impossible :)
03:05:17 <CakeProphet> can't break the wire.
03:05:22 <CakeProphet> *faster
03:05:55 <CakeProphet> 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 <CakeProphet> and then you just manually rebuild wires to get them working again.
03:06:18 <ais523> hmm, it seems that the space shuttle Enterprise and the starship Enterprise are actually named after each other
03:06:39 <CakeProphet> mutually recursive name attribution? o_o
03:06:44 <ais523> due to Star Trek retroactively changing their canon after the space shuttle was named after the starship
03:06:51 <CakeProphet> wat
03:07:02 <Patashu> it's a... what's it called, a time travel loop that supports itself
03:07:11 <Patashu> not stochastic, not chronological... it was some kind of logic term
03:07:14 <ais523> stable time loop?
03:07:16 <Patashu> maybe
03:07:53 <Patashu> aha, ontological paradox
03:08:27 <Gregor> <ais523> hmm, it seems that the space shuttle Enterprise and the starship Enterprise are actually named after each other // yup
03:09:11 <CakeProphet> I'm still not entirely clear how that's possible.
03:09:35 <Patashu> time travel
03:09:38 <Patashu> literally, if a retcon counts
03:09:54 <CakeProphet> s/I'm/to me, it's/
03:09:57 <CakeProphet> no...
03:10:00 <CakeProphet> retcons don't count.
03:10:02 <CakeProphet> as time travel.
03:10:06 <CakeProphet> one was named after the other.
03:10:12 <Patashu> 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 <CakeProphet> so they went back in time to rename the starship to Enterprise?
03:10:39 <Patashu> yes
03:10:46 <CakeProphet> but then wouldn't have been named Enterprise the whole time?
03:10:56 <Patashu> that's the point of going back in time to change things, yes
03:11:12 <CakeProphet> or, more importantly, wouldn't that mean that Star Trek actually named their starship after the space shuttle?
03:11:44 <ais523> the Star Trek name came first
03:11:51 <Patashu> 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 <ais523> then they retroactively changed their canon to change what it was named after
03:11:59 <Patashu> it's what's called a stable time loop
03:12:18 <CakeProphet> .....no, because it was named enterprise first, and then the space shuttle was named after it.
03:12:19 <Patashu> now that it exists it sustains itself
03:12:25 <Patashu> like the entire plot of chrono cross
03:13:22 <CakeProphet> (if elliott were here he would be berating me right about now)
03:13:25 <CakeProphet> I imagine.
03:14:54 <CakeProphet> so yeah, retcons don't count as reality.
03:15:00 <CakeProphet> the space shuttle was named after the starship.
03:19:00 <CakeProphet> 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 <CakeProphet> just a possibility.
03:19:13 <CakeProphet> if you wanted a bit more complexity.
03:20:03 <Gregor> I'm just muddling over the whole thing right now
03:20:07 <zzo38> Do you know if a Char type in Haskell is allowed to store values that are not valid Unicode code points?
03:20:33 <CakeProphet> example?
03:20:37 <Patashu> Try it, we have lambdabot here
03:21:46 <CakeProphet> !haskell print (unsafeCoerce 4 :: Char)
03:22:16 <CakeProphet> !haskell main = print (unsafeCoerce 4 :: Char)
03:22:23 <Patashu> You broke it
03:22:30 <zzo38> I tried in my computer. I get a "bad argument" error, so I guess it cannot work.
03:22:46 <CakeProphet> Patashu: unsafeCoerce isn't in scope actually.
03:23:09 <Patashu> lol
03:23:10 <CakeProphet> @hoogle unsafeCoerce
03:23:10 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
03:23:20 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 4 :: Char)
03:23:25 <EgoBot> ​'\EOT'
03:23:39 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 7876756434354767667 :: Char)
03:23:43 <EgoBot> ​'\7876756434354767667'
03:24:11 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce True :: Char)
03:24:16 <EgoBot> ​'\8646911284555550920'
03:24:23 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce False :: Char)
03:24:23 <Patashu> Why does that work
03:24:28 <EgoBot> ​'\1091095544'
03:24:33 <CakeProphet> unsafeCoerce is basically like a C typecast.
03:24:46 <Patashu> I thought unicode was only two bytes though?
03:24:51 <zzo38> Well, that is unsafeCoerce. I used toEnum and got bad argument errors
03:24:53 <CakeProphet> depends on the encoding.
03:25:12 <CakeProphet> zzo38: what argument
03:25:25 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce Nothing :: Char)
03:25:30 <EgoBot> ​'\1084214928'
03:25:46 <zzo38> CakeProphet: toEnum 0x1FFFFE :: Char results in bad argument error
03:26:01 <CakeProphet> what does GHC use? UTF32 by default?
03:26:02 <zzo38> Because Unicode only goes from 0x000000 to 0x10FFFF
03:26:08 <CakeProphet> ah
03:26:53 <CakeProphet> so I guess it uses UTF-26 by default.
03:26:58 <CakeProphet> *16
03:27:09 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce [1,2,3,4] :: Char)
03:27:14 <EgoBot> ​'\-8646910737677299423'
03:27:18 <CakeProphet> lol
03:27:24 <Patashu> rofl
03:27:29 <CakeProphet> NOT SO UNSAFE, EH?
03:27:49 <Patashu> !haskell import Unsafe.Coerce; main = print (unsafeCoerce unsafeCoerce :: Char)
03:27:54 <EgoBot> ​'\NUL'
03:27:57 <Patashu> :(
03:28:03 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce ['\0','\0',3,4] :: Char)
03:28:18 <CakeProphet> >_>
03:28:33 <CakeProphet> lol
03:28:40 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce ['\0','\0','1','1'] :: Char)
03:28:44 <EgoBot> ​'\6341068821252833345'
03:29:02 <CakeProphet> I imagine here is where the segfaults begin:
03:29:13 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 0 :: [Char])
03:29:18 <EgoBot> ​""
03:29:29 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: [Char])
03:29:33 <EgoBot> ​""
03:29:40 <CakeProphet> or, empty strings?
03:29:42 <CakeProphet> I guess?
03:29:43 <Patashu> lol
03:30:17 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: Maybe Char)
03:30:22 <EgoBot> Nothing
03:30:28 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: Maybe t)
03:30:48 <zzo38> I don't think that is a proper code
03:30:53 <CakeProphet> ambiguous type variable
03:31:13 <CakeProphet> I'm using unsafeCoerce and you're worrying about proper code? :P
03:31:25 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: Either Int Char)
03:31:30 <EgoBot> Left
03:31:37 <zzo38> 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 <CakeProphet> uh... Left?
03:32:23 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char)
03:32:27 <EgoBot> Left
03:32:34 <CakeProphet> I wonder what that even means.
03:32:38 <zzo38> It is only "Left", not the value?
03:32:55 <CakeProphet> it's some kind of garbage value I guess.
03:33:40 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce [] :: Either Int Char)
03:33:45 <EgoBot> Left
03:34:22 <CakeProphet> !haskell import Unsafe.Coerce; main = print let Left x = (unsafeCoerce [] :: Either Int Char) in x
03:34:29 <Patashu> Make it print Right and I'll give you money
03:34:43 -!- EgoBot has quit (Remote host closed the connection).
03:34:47 <CakeProphet> !haskell import Unsafe.Coerce; main = print (let Left x = (unsafeCoerce [] :: Either Int Char) in x)
03:34:54 -!- EgoBot has joined.
03:35:01 <CakeProphet> !haskell import Unsafe.Coerce; main = print (let Left x = (unsafeCoerce [] :: Either Int Char) in x)
03:35:15 <CakeProphet> >_>
03:35:38 <Gregor> STOP BREAKING SHIT
03:35:53 <CakeProphet> I'm breaking your bot?
03:36:40 <CakeProphet> surely it would just segfault and crash the haskell thread....
03:36:57 <CakeProphet> or process
03:37:06 <zzo38> !haskell main = print Left 0
03:37:15 <zzo38> !haskell main = print $ Left 0
03:37:27 <zzo38> !haskell main = print 0
03:37:32 <EgoBot> 0
03:37:40 <zzo38> It is not entirely broken
03:38:03 <CakeProphet> lolwat
03:38:10 <CakeProphet> !haskell main = print [1,2,3,4]
03:38:15 <EgoBot> ​[1,2,3,4]
03:38:26 <CakeProphet> !haskell import Unsafe.Coerce; main = print (let Left x = (unsafeCoerce [] :: Either Int Char) in x)
03:38:29 <Patashu> !haskell main = error "stop breaking me"
03:38:29 <CakeProphet> :3
03:38:33 <EgoBot> input.10668.hs: stop breaking me
03:39:09 <CakeProphet> oh I see...
03:39:30 <CakeProphet> 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 <CakeProphet> that's my theory anyways.
03:42:38 <zzo38> That seems reasonable.
03:44:31 <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char) >> print "more"
03:44:36 <EgoBot> Left
03:44:39 <CakeProphet> yep.
03:46:26 <zzo38> What is the ?? kind?
03:47:31 <CakeProphet> er what?
03:48:43 <zzo38> (->) :: ?? -> ? -> *
03:49:14 <zzo38> 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 <CakeProphet> 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 <CakeProphet> http://hackage.haskell.org/trac/ghc/wiki/IntermediateTypes
04:02:58 <CakeProphet> about halfway down the page.
04:03:04 <CakeProphet> it described the different kinds.
04:03:07 <CakeProphet> *describes
04:04:19 <CakeProphet> ? = any kind, (#) = unboxed tuple, ?? = * or #, # = unboxed type, * = boxed type
04:05:08 <CakeProphet> > (#1,2#)
04:05:08 <lambdabot> <no location info>: parse error on input `)'
04:05:51 <CakeProphet> so unboxed tuples can't be used as arguments.
04:06:39 <CakeProphet> and all functions are boxed
04:06:46 <CakeProphet> is what ?? -> ? -> * says
04:08:53 <CakeProphet> I don't think (#) is ever used outside of ghc intermediate language
04:11:33 <CakeProphet> 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 <CakeProphet> lol
04:34:20 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
04:50:12 <CakeProphet> fungot: sup
04:50:13 <fungot> CakeProphet: i don't think
04:50:40 <CakeProphet> fungot: good point
04:50:40 <fungot> CakeProphet: " ben fnord" or " not provide" :) is it possible to open input port for string?
04:50:47 <CakeProphet> ^style
04:50:47 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc* jargon lovecraft nethack pa speeches ss wp youtube
04:50:51 <CakeProphet> ^style darwin
04:50:51 <fungot> Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy)
04:51:05 <CakeProphet> fungot: how do you feel?
04:51:06 <fungot> 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 <CakeProphet> ^speeches
04:51:38 <CakeProphet> ^style speeches
04:51:38 <fungot> Selected style: speeches (misc. speeches from Project Gutenberg)
04:51:46 <CakeProphet> fungot
04:51:49 <fungot> 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 <CakeProphet> fungot:
04:54:10 <CakeProphet> ^style lovecraft
04:54:11 <fungot> Selected style: lovecraft (H. P. Lovecraft's writings)
04:54:18 <CakeProphet> fungot:
04:56:59 <Gregor> CakeProphet: I now have a screen that looks quite similar to static.
04:57:15 <CakeProphet> Gregor: because of unsafeCoerce??
04:57:26 <Gregor> CakeProphet: lolno :P
04:57:27 <yourstruly> yes
04:57:30 <Gregor> CakeProphet: Because I'm implementing a CA
04:57:36 <CakeProphet> oh right.
04:59:11 <CakeProphet> @src foldl
04:59:12 <lambdabot> foldl f z [] = z
04:59:12 <lambdabot> foldl f z (x:xs) = foldl f (f z x) xs
05:11:58 <Gregor> CakeProphet: I can make electrons either virtually nonexistent, or ridiculously abundant >_>
05:12:41 <CakeProphet> cool
05:12:47 <CakeProphet> I'd just have them centered in stable loops.
05:12:59 <CakeProphet> and then have those abundant or scarce
05:14:25 <Gregor> 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 <CakeProphet> shouldn't they just, kind of travel along?
05:15:27 <CakeProphet> and duplicate on branches?
05:16:51 <Gregor> Yeah, but there are lots of branches.
05:17:15 <CakeProphet> oh, yeah see I would just have some pretty decently spaced out loop circuits.
05:17:29 <CakeProphet> of varying size.
05:17:35 <Gregor> Yeah, I'm starting to agree with that now.
05:17:46 <Gregor> But now I'm not sure what to put in the substrate.
05:17:49 -!- Sgeo_ has left ("Leaving").
05:18:06 <CakeProphet> what do you mean?
05:19:00 <Gregor> 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 <Gregor> (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 <CakeProphet> wireworld has an electron head and an electron tail.
05:27:26 <Gregor> Uhh, yes, so do I.
05:27:29 <Gregor> Duh
05:27:48 <Gregor> 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 <Gregor> There, much more stable initial config.
05:43:29 <Gregor> 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 <Gregor> 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 <ais523> hmm, proggit are debating "what should a browser do if it issues an HTTP DELETE request and gets a 302 response"
06:29:25 <ais523> 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 <oerjan> HTTP LAUNCHMISSILES
06:29:55 <ais523> 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 <ais523> the IE9 behaviour deviates less from the spec, but is rather more destructive
06:30:16 <ais523> (ofc, the correct answer is "don't reply 302 to an HTTP DELETE request")
06:31:16 <NihilistDandy> oerjan: 404 missiles not found
06:31:19 -!- derrik has joined.
06:32:05 <oerjan> oh right, the missile should be launched by the browser, not the infidel server
06:32:48 <oerjan> i'd also like LAUNCHMISSILES to work agains programs which steal focus.
06:32:52 <oerjan> *against
06:33:29 <quintopia> why not turn off focus-stealing?
06:33:33 <ais523> I normally try to set a really hard-line policy on focus-stealing
06:33:40 <ais523> but even the strictest setting isn't strict enough for me
06:33:51 <ais523> I don't want programs to steal focus after I open them, for instance, even though most people do
06:34:05 <ais523> 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 <oerjan> well i'm a windows xp user *crawls beneath rock*
06:34:28 <quintopia> 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 <derrik> where can you turn focus stealing off?
06:34:53 <quintopia> in your window manager config
06:34:58 <quintopia> possibly
06:35:24 <oerjan> quintopia: not even then. you don't want to accidentally type text into an emergency window.
06:35:25 <quintopia> mine only has two settings: no focus-stealing and too much focus-stealing
06:35:55 <quintopia> oerjan: perhaps "only if it is really urgent and i am currently mousing"
06:36:02 <quintopia> rather "not typing
06:36:02 <quintopia> "
06:36:45 <quintopia> would be simple to implement in practice: wait x seconds after the last keystroke to steal focus
06:36:47 <oerjan> 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 <quintopia> they are
06:37:07 <quintopia> but they really shouldnt be
06:37:38 <oerjan> 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 <quintopia> the thing-in-focus should always be on top
06:38:18 <oerjan> quintopia: i recall that the ability to type into a non-top window when you wanted was _extremely_ convenient.
06:38:24 <quintopia> so that when it steals focus it jumps to the front and makes you really aware SOMETHING JUST HAPPENED
06:38:51 <quintopia> i pretty much never use that ability oerjan
06:39:18 <quintopia> more often i get annoyed that the window i want (which is in focus) is hidden by another window
06:39:32 <quintopia> kinda breaks the desktop metaphor
06:39:41 <quintopia> you can't write on the bottom page of a stack of papers
06:40:23 <oerjan> 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 <quintopia> (well, if the top page fills your desk, anyway, and i run most of my windows maximized)
06:41:13 <oerjan> oh. i never run maximized.
06:41:26 <monqy> im wacky, tiling
06:41:35 <oerjan> 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 <quintopia> do it monqy
06:41:43 <monqy> hm???
06:41:56 <quintopia> oerjan: sounds like a job for translucency ;)
06:41:59 <oerjan> while still having the browser as large as possible
06:42:01 <oerjan> argh
06:42:15 <oerjan> but _that_ would surely annoy me immensely in a browser :P
06:42:30 <monqy> I've been tiling for a few months over two years I think
06:42:32 <monqy> I like it
06:42:50 <quintopia> what is tiling
06:43:00 <oerjan> quintopia: horrible stuff
06:43:02 <monqy> i mean i use a tiling window manager
06:43:10 <quintopia> oh
06:43:16 <quintopia> eh i'm p cool with that
06:44:06 <monqy> I guess it helps that I'm widescreen, prefer keyboard over mouse control
06:44:40 <quintopia> 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 <quintopia> (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 <quintopia> sup evincar. how's Rath this time of year?
06:46:52 <oerjan> oh right you wacky people and using your computers for serious stuff
06:48:02 <evincar> quintopia: The weather sucks. And I guess the war's still on.
06:48:19 <oerjan> 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 <oerjan> well, and also me wanting to see what's happening even if i'm not being pinged, i guess
06:49:35 <oerjan> war?
06:49:55 <evincar> He was making a reference to Magic.
06:50:02 <oerjan> aha
06:50:26 <evincar> Because my name, though actually unrelated to MTG, is superficially related to it.
06:52:14 <quintopia> "superficially" meaning "MTG stuff fills the first page if you search 'evincar' on google"
06:52:33 <evincar> So I'm thinking of making little concatenative language where, nominally at least, the one datatype available is a cons-list.
06:52:35 <ais523> I was aware it was an MTG term
06:52:40 <ais523> I don't know if the MTG people made it up or not, though
06:52:50 <ais523> some of their terms they do, some they don't, and some are somewhere in between
06:52:55 <evincar> I'm sure I've told this story before.
06:53:04 <evincar> It's not so exciting.
06:53:06 <monqy> I was completely oblivious as to it not being an original name :'(
06:53:09 <quintopia> if you -magic the search, someone comes up named "anthony evincar murray" on facebook
06:53:31 <evincar> 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 <evincar> Totally unaware of the Magic relation.
06:54:04 <evincar> I wanted to be "he who evinces (brings forth) the autumn".
06:54:09 <oerjan> evincar: well cons-lists are perfectly workable stacks
06:54:25 <quintopia> shouldn't that be "évincer"?
06:54:54 <evincar> oerjan: That's my thinking. Then optimise the shit out of things so that it uses numbers/strings/etc. where applicable.
06:55:16 <evincar> 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 <evincar> And just give functions and macros the same syntax.
06:55:35 <ais523> now I'm trying to remember what "evince" means, other than the name of a PDF reader
06:55:45 <evincar> ais523: Bring forth.
06:55:51 <ais523> aha
06:55:55 <ais523> what a weird name for a PDF reader
06:56:24 <evincar> 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 <oerjan> well PDF is based on postscript, which is stack-based. so clearly it's about forth.
06:56:35 <monqy> evincar: implicit optimisation? eh?
06:56:48 <monqy> evincar: you mean it'll do inlining of functions?
06:56:59 <ais523> oerjan: is that an insightful observation or a bad pun?
06:57:01 <ais523> or both?
06:57:01 <quintopia> ais523: it's actually "to show clearly" which makes more sense
06:57:06 <evincar> monqy: Yeah, it's not that exciting. Almost exclusively implicit optimisation is the idea though.
06:57:20 <monqy> evincar: calling them "macros" is a bit off
06:57:28 <oerjan> ais523: mostly the latter
06:57:29 <monqy> evincar: where them is functions which happen to get inlined
06:57:33 <evincar> quintopia: Right, "reveal the presence of" being yet another synonym.
06:57:52 <quintopia> the most common definition actually
06:58:01 <evincar> Yep.
06:58:17 <quintopia> nothing about bringing forth anywhere i've seen
06:58:35 <evincar> I was being a little loose with the definition.
06:58:40 <evincar> Forgive my thirteen-year-old self.
06:58:46 <quintopia> forgiven
06:58:59 <quintopia> but clint eastwood may not be so lenient
06:59:36 <quintopia> (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 <quintopia> *1975
06:59:53 <evincar> monqy: The point is that functions are given in terms of macros (i.e., rewrite rules), not the other way around.
07:00:00 <evincar> I didn't mean to say inline function = macro.
07:00:37 <oerjan> evincar: hm what was the name of that language, i saw it mentioned again the other day...
07:00:43 <oerjan> something on F
07:00:47 <monqy> which language?
07:01:05 <oerjan> implements functions as a special case of fexprs
07:01:16 <NihilistDandy> quintopia: You poor bastard
07:01:32 <evincar> Dunno. Not Factor, though that's at least similar in concept to what I'm up to.
07:01:59 <quintopia> NihilistDandy: i take it you've seen it?
07:02:06 <NihilistDandy> _-_
07:02:21 <quintopia> NihilistDandy: i think The North Face stole some plot ideas from it >.>
07:02:21 <NihilistDandy> WHY CLINT WHY
07:02:28 <NihilistDandy> lol
07:03:38 <oerjan> darn it wasn't fythe, that's gregor's
07:04:14 <evincar> Clint Eastwood. Old West action. Antidote scowl. No two dialects. Acid onto welts.
07:04:23 <evincar> I love anagrams. :)
07:05:03 <NihilistDandy> evincar: Do geese see God?
07:05:10 <NihilistDandy> Palindromes are better.
07:05:24 <oerjan> ok it refuses to show up in a google search
07:07:08 <evincar> NihilistDandy: Sure are.
07:07:20 <evincar> oerjan: What, the language you were thinking of?
07:07:32 <oerjan> yes
07:07:47 <evincar> I would tell you it doesn't matter, but it's gonna bug you nonetheless.
07:07:49 <oerjan> ah http://en.wikipedia.org/wiki/Kernel_(programming_language)
07:07:55 <oerjan> was linked from Fexpr
07:09:05 <evincar> Neat.
07:10:08 <oerjan> palindromes are self-anagrams
07:10:10 <evincar> I'm currently trying to figure out the best way to make stack manipulation transparent and intuitive in a prefix language.
07:10:26 <evincar> I don't like the whole "dup", "drop", "swap" thing.
07:11:00 <oerjan> sounds tricky without introducing variables
07:11:05 <evincar> Would almost prefer, say, $0 (x) = (x x), $1 (x y) = (y x y) etc.
07:11:27 <evincar> Yeah, and variables are sort of the Big No when it comes to concatenative programming.
07:11:46 <evincar> Considering you'd like everything to be point-free and purely compositional etc.
07:13:01 <evincar> I guess since my sole data type is the stack, you could easily manage as many stacks as you want.
07:13:32 <evincar> It might be possible to introduce nice sugar for variables based on that premise.
07:13:52 <evincar> Too messy. :P
07:16:09 <evincar> 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 <pikhq_> Or you could think outside the box.
07:17:51 <NihilistDandy> Unboxed thinking
07:17:57 <evincar> pikhq_: Well, my first thought was to place effects in a queue or digraph and apply them by need.
07:18:15 <evincar> But the cleanest way to do something resembling that is monads, so far as I can tell.
07:18:38 <shachaf> evincar: You don't need to call it "monads" unless you generalize it like Haskell does.
07:18:49 <evincar> shachaf: Why wouldn't I generalise it?
07:19:10 <evincar> Generalisations make for useful, powerful tools.
07:19:26 <shachaf> Well, sure.
07:22:58 <quintopia> "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 <quintopia> 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 <evincar> I guess so.
07:26:02 <evincar> Although you could go the other route, and have an operator that forces an expression to produce a value.
07:26:18 <evincar> Either way, you're introducing another axiom.
07:26:32 <evincar> On the one hand, implicitly quoting arguments.
07:26:34 <quintopia> and have stuff like 5/0 evaluate to _|_ instead of erroring?
07:26:37 <quintopia> makes sense
07:26:55 <evincar> On the other, an operator for using eager evaluation in an otherwise lazy language.
07:26:56 <quintopia> but i was thinking in static optimization terms
07:27:42 <quintopia> "which expressions is it safe for the compiler to optimize by evaluating or partially evaluating" is the prime question
07:27:55 <evincar> 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 <evincar> In a stack-based language I'm not sure.
07:28:43 <evincar> (NB: I'm going with prefix syntax.)
07:28:55 <evincar> (/ 5 0) seems fairly safe to evaluate to bottom.
07:29:25 <evincar> But if you only have one stack, does the problem magically become decidable?
07:29:32 <evincar> In other words, is Lisp the problem? :P
07:29:43 <quintopia> i don't know. i'm only speaking of lisps
07:30:44 <NihilistDandy> Inthert pun here
07:30:48 <augur> oklopol: get naked
07:31:16 <evincar> NihilistDandy: Speaking *of* Lisps, not speaking *with*...nevermind.
07:31:39 <evincar> Also, I'm not sure how you speak with more than one lisp at once.
07:31:46 <evincar> Maybe a conventional one and a lateral one.
07:31:49 <evincar> Poor you.
07:32:04 <quintopia> trying to do that ties my tongue in knots
07:32:59 <NihilistDandy> With enough parenthetheth, I can get amathing thingth done.~
07:33:01 <evincar> What, a lateralised interdental fricative?
07:33:02 * quintopia goes to design a puzzle maybe
07:33:07 <evincar> It sounds awful, but it can be done.
07:33:31 <evincar> Makes me look like a cat about to have a hairball.
07:33:57 <quintopia> i can't produce enough air at once to steer large enough quantities in both directions for both to be heard
07:34:15 <evincar> I'm known for being good with my tongue.
07:34:41 * NihilistDandy makes cricket sounds.
07:34:53 <evincar> You know, phonetics, beatboxing, that sort of thing. Eating individually packaged yogurt when there's no spoon available.
07:35:04 <quintopia> i do all that stuff
07:35:18 <quintopia> except with pudding, not yogurt
07:36:12 <evincar> Eh, I do it with all the usual creamy things you ordinarily handle with a spoon.
07:36:22 <pikhq_> Now do a voiced unvoiced plosive fricative.
07:36:31 * pikhq_ watches evincar's tongue implode.
07:36:38 <quintopia> 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 <evincar> pikhq_: Not to mention coarticulating voicing with unvoicing. I would need two sets of vocal cords.
07:37:00 <NihilistDandy> UNVOICED SEMIVOWELS, GO
07:37:07 <evincar> Wait...I could use the false vocal cords like a metal singer.
07:37:09 <evincar> This could work.
07:37:12 <evincar> STAND BACK
07:37:26 <evincar> Shit, can't do it while laughing.
07:37:30 <pikhq_> Plosive fricative itself might be difficult.
07:37:31 <evincar> AT EASE
07:37:44 <NihilistDandy> evincar: ithkuil.net
07:37:56 <quintopia> pikhq_: meh. standard snare drum.
07:38:18 <evincar> quintopia: That's an affricate.
07:38:48 <NihilistDandy> evincar: The old version was more phonologically interesting, but people thought it was "hard"
07:39:10 <evincar> Ugh, I don't like philosophical languages.
07:39:26 <evincar> Nor logical languages.
07:39:46 <evincar> Also I've read some of this site.
07:39:55 <quintopia> evincar: does a labial fricative count. i can fricate the right side of my mouth while popping the left
07:40:01 <NihilistDandy> evincar: You're no fun :P
07:41:35 <evincar> NihilistDandy: FSVO fun.
07:42:16 <evincar> First time I read "FSVO" I parsed it as "Fucking Subject-Verb-Object".
07:42:16 <NihilistDandy> Conlangs are either philosophical or (native language)-derivatives
07:42:37 <NihilistDandy> There is very little variation on that front
07:43:15 <NihilistDandy> Or "I learned just enough Sanskrit to be dangerous"
07:43:44 <pikhq_> Some of the conlangs that are *literally* designed for shits and giggles are interesting, at least.
07:43:50 <evincar> Not really. There are plenty of a priori languages that are naturalistic without being derived from any natural language.
07:44:09 <pikhq_> There really ceased being interesting, *serious* conlangs probably by 1950.
07:44:27 <NihilistDandy> pikhq_: That's because Esperanto's such a trainwreck
07:44:41 <NihilistDandy> evincar: Links, plz
07:44:44 <pikhq_> By which time the space of "languages I can expect people to actually *learn*" got mined out pretty well.
07:45:02 <evincar> 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 <evincar> (Also, fuck the word "Na'vi" and its use of what I call the Dread Apostrophe.)
07:45:37 <NihilistDandy> Tolkien doesn't count because the last of the Brandywine weed gives you magic powers :D
07:45:58 <pikhq_> evincar: Friggin' apostrophe.
07:46:17 <pikhq_> I'm wondering if that represents an actual phoneme.
07:46:27 <NihilistDandy> evincar: apo'strop'he
07:46:39 <NihilistDandy> pikhq_: Glottal stop, one assumes
07:46:44 <evincar> Dread Apostro'phes, Dread Accënts, and Dread InterCapitals all denote shitty inexperienced fantasy authors, in my mind.
07:46:48 <pikhq_> Oh, it's apparently a glottal stop. How the *fuck* are you supposed to pronounce that there?
07:47:07 <NihilistDandy> pikhq_: Say "nah", pause, say "vi"
07:47:14 <pikhq_> That's... Not a glottal stop.
07:47:17 <evincar> pikhq_: Like a Cockney saying "Natvee".
07:47:25 <NihilistDandy> ^^
07:47:31 <pikhq_> ... Huh. That actually works.
07:47:38 <pikhq_> I can actually pronounce it correctly.
07:47:48 <NihilistDandy> HEY, LOOK. THIS.
07:47:51 <evincar> Hooray, phonetics proves useful. :P
07:47:55 <pikhq_> I had no idea that you could do glottal stops before consonants.
07:47:57 <NihilistDandy> THIS.
07:48:12 <NihilistDandy> THI'S.
07:48:25 <NihilistDandy> pikhq_: Try Arabic or Farsi
07:48:25 <evincar> 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 <NihilistDandy> All sorts of that
07:48:42 <pikhq_> Anyways. I'm willing to excuse the apostrophe if it's an actual phoneme.
07:48:43 <evincar> pikhq_: A glottal stop is just another sort of consonant.
07:48:50 <pikhq_> Preferably a glottal stop.
07:48:54 <evincar> And as an English speaker, you say all kinds of complex consonant clusters all the time.
07:49:14 <NihilistDandy> evincar: Russian has the best consonant clusters
07:49:21 <evincar> Yeah, in my mind, it has to denote a glottal stop or palatalisation.
07:49:30 <evincar> In which case it's more like an accent mark, which is fine.
07:49:39 <pikhq_> 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 <evincar> NihilistDandy: My family is Polish. I know.
07:50:06 <NihilistDandy> lol
07:50:06 <evincar> pikhq_: Fair enough.
07:50:28 <pikhq_> So I seem to overestimate the difficulty of consonant clusters. Which is strange, because English is quite consonant clustery.
07:50:31 <evincar> Polish is actually quite a bit more difficult for me than Russian.
07:50:33 <NihilistDandy> I should start pronouncing all my apostrophes in English as glottal stops
07:50:38 <pikhq_> Less so than Russian or Polish, but hey.
07:50:42 <NihilistDandy> It'll make me distinctive :D
07:50:57 <pikhq_> evincar: Oh, yeah, another valid use for apostrophes.
07:51:00 <pikhq_> Contraction!
07:51:08 <pikhq_> This does not really apply for most conlangs.
07:51:10 <NihilistDandy> evincar: Have you tried Hungarian or Icelandic? Those are fun
07:51:11 <evincar> NihilistDandy: It'll make you sound like a Klingon. "I'll not go. I won't."
07:51:26 <evincar> I + glottal stop + syllabic L is awfully rough.
07:51:54 <evincar> Although for some reason I undo the Vowel Shift in my mind when reading that.
07:51:57 <NihilistDandy> evincar: "It'll" but Cockney?
07:51:58 <evincar> So that's part of it.
07:52:36 <NihilistDandy> Glottal stop with multiple contractions would be fun. "I'll've"
07:52:54 <evincar> 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 <pikhq_> evincar: Yes, but you're abnormal and have a clue.
07:53:17 <NihilistDandy> Cluelang
07:53:27 <evincar> Daww. How kind.
07:53:43 <NihilistDandy> That's Numberlang.
07:54:35 <pikhq_> 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 <NihilistDandy> Nx'hll'aztl'wat
07:55:10 <pikhq_> Which, for English speakers, includes diacritics and apostrophes.
07:55:15 <evincar> NihilistDandy: The moment I see "tl", I think of Nahuatl.
07:55:17 <NihilistDandy> It means "bear"
07:55:33 <NihilistDandy> evincar: That makes me smile
07:55:45 <evincar> It's an unusual phoneme is all.
07:55:58 <NihilistDandy> Xocolatl
07:55:59 <pikhq_> 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 <NihilistDandy> pikhq_: Clearly.
07:57:14 <NihilistDandy> I dislike languages that cheat by having overly specific lexica
07:57:38 <evincar> Um. Natural languages have overly specific lexica.
07:57:42 <evincar> At least English certainly does.
07:57:53 <evincar> There's dauntingly much nuance.
07:57:56 <pikhq_> evincar: In lines with my "a" example.
07:58:01 <NihilistDandy> ^^
07:58:17 <pikhq_> i.e. specific to the point of being unusable.
07:58:47 <evincar> I dunno, "usable" is open to interpretation.
07:58:50 <NihilistDandy> a.k.a. "Eragon syndrom"
07:58:53 <NihilistDandy> *syndrome
07:59:22 <NihilistDandy> But really I just like to trash that book because it's a simple "Star Wars + LOTR" formula
07:59:27 <pikhq_> 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 <evincar> 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 <pikhq_> I highly doubt it's common enough for a language to make it a lexeme, much less an astoundingly short one.
08:00:19 <NihilistDandy> evincar: Sounds delightful. Link?
08:00:36 <evincar> Well, I haven't started yet. youtube.com/whyevernotso
08:00:44 <NihilistDandy> pikhq_: I dunno. I'm pretty unattentive, and I have been alive long enough to get some use from that lexeme
08:00:44 <evincar> In fact, I haven't done a video all summer.
08:02:19 <evincar> I'm wary of this silence.
08:02:25 <evincar> It implies you're watching my videos.
08:02:58 * oerjan now ponders a fantasy character named D'Rëad
08:03:12 <NihilistDandy> evincar: Is that a dorm?
08:03:33 <NihilistDandy> Also, you look like someone I'd hang out with D
08:03:34 <pikhq_> Amusingly, my bizarre Japanese orthography could do a passable job as a lame fantasy author's conlang.
08:03:35 <NihilistDandy> *:D
08:04:06 -!- derrik has quit (Quit: point made, none taken).
08:04:09 <pikhq_> soriȳa hì'kuri ni hen mitai ne.
08:04:28 <NihilistDandy> pikhq_: Your othography terrifies me
08:04:31 <evincar> NihilistDandy: I have done videos from a dorm.
08:04:35 <NihilistDandy> *orthography
08:04:38 <evincar> My latest ones were from an apartment.
08:04:44 <NihilistDandy> Very nice
08:04:44 <pikhq_> NihilistDandy: It's a naive encoding of kana.
08:05:28 <pikhq_> evincar: Yes, the apostrophe has meaning.
08:05:34 <NihilistDandy> 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 <NihilistDandy> Apparently my accent is "unterrible"
08:06:17 <evincar> pikhq_: Sokuon?
08:06:24 <pikhq_> Yup.
08:06:31 <NihilistDandy> evincar: Your school looks like my old one :D
08:06:48 <pikhq_> Only value you could give to apostrophe for Japanese that's not utterly absurd.
08:07:09 <NihilistDandy> The only sane choice
08:07:15 <pikhq_> Though it is still a bit odd.
08:07:20 <NihilistDandy> ALSO, HOLY SHIT, YOU ARE ALSO FROM NEW HAMPSHIRE AND HAD DIALUP
08:07:34 <itidus20> FFFFFUUUUUUUUUUUUUUUUU
08:07:45 <NihilistDandy> ALSO WHAT YOU ARE AT MY OLD SCHOOL
08:07:56 <NihilistDandy> evincar: WHAT IS YOUR HUB HANDLE?
08:08:46 <evincar> Haha, shit, you went to RIT?
08:08:56 <NihilistDandy> evincar: ISF, biatch!
08:08:57 <evincar> I haven't been on the hub lately. I prolly used evincarofautumn.
08:09:20 <NihilistDandy> GDD, you are not even a reeelz programzorz lololol
08:09:47 <NihilistDandy> That is the weirdest coincidence
08:09:48 <evincar> I'm not in GDD. I was in NMDI, then NMID, now Multidisciplinary Studies.
08:10:12 <evincar> I only studied design because I was already good at programming.
08:10:16 <NihilistDandy> How long have you been there/
08:10:18 <NihilistDandy> *?
08:10:21 <evincar> But I'm looking to do a PhD in CS.
08:10:25 <evincar> Going into my fourth year.
08:10:29 <NihilistDandy> Shit
08:10:33 <NihilistDandy> We might know each other
08:10:34 <NihilistDandy> Maybe
08:10:51 <NihilistDandy> You look kinda familiar
08:10:52 <evincar> Well, my name's no secret.
08:11:15 <evincar> I don't know most people by name though. Terrible with names.
08:11:18 <evincar> Excellent with faces though.
08:11:23 <NihilistDandy> Same
08:11:25 * itidus20 develops mancrush on evincar after reading everyone call him fucking awesome in his comments page.
08:11:34 <NihilistDandy> Also, we have no mutual friends on Facebook :(
08:11:38 <evincar> Ugh, I *really* need to make more videos.
08:12:02 <evincar> NihilistDandy: I don't have a lot of Facebook friends as Why.
08:12:15 <oerjan> in a freak dimensional accident, Dr. Ëa'D's machine attracted the fierce barbarian warrior D'Rëad.
08:12:23 <NihilistDandy> 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 <NihilistDandy> Which is why I'm a math major now
08:12:50 <NihilistDandy> oerjan: Quick, call Dr. Acula
08:13:11 <evincar> 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 <NihilistDandy> And get Dr. Amamine in here, stat
08:13:38 <pikhq_> evincar: Why, you're 3/4ths of the way to a CS Ph.D. already.
08:13:55 <itidus20> lol
08:14:16 <evincar> pikhq_: You're gonna have to explain that one. :/
08:14:24 <itidus20> evincar reminds me of what i wanted to be
08:14:26 <NihilistDandy> 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 <NihilistDandy> ISF is a terrible major
08:14:34 <evincar> I mean, not really.
08:14:38 <NihilistDandy> It sucks the soul out of you
08:15:11 <evincar> 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 <NihilistDandy> evincar: The other 1/4 is stealing a hair from the head of Donald Knuth
08:15:30 <evincar> Oh, shit, I forgot to tell you guys.
08:15:41 <evincar> I found my old issue of MAD that has that one article by Knuth in it.
08:15:47 <evincar> If I ever meet him, he is so signing that shit.
08:15:50 <itidus20> an article by knuth????
08:15:58 <itidus20> wow
08:16:00 <NihilistDandy> I knew I recognized that room. And I knew I recognized the name evincar from somewhere
08:16:15 <evincar> "The Potrzebie System of Weights and Measures"
08:16:41 <itidus20> im personally a fan of spy vs spy..
08:16:43 <evincar> The only thing that makes it notable is that it's the first thing he had published, in 1960.
08:17:16 <evincar> Actually, 1957.
08:17:29 <evincar> Actually, first "scientific" thing.
08:17:35 <evincar> But still, Knuth.
08:17:46 <evincar> And I doubt many copies of this issue remain.
08:18:25 <evincar> itidus20: Spy vs. Spy is the best thing.
08:18:51 <NihilistDandy> Well, shit. Time for MST3K and sleep.
08:18:56 <pikhq_> Yeah, that definitely needs a Knuth signing.
08:19:05 <itidus20> i read up on antonio prohias.. his escape from cuba.. his former comics about siniestro
08:19:06 <NihilistDandy> Also, evincar… where in New Hampshire?
08:19:24 <evincar> Southwest, near Keene.
08:19:28 <NihilistDandy> Ah
08:19:44 <evincar> Why, don't tell me you're from NH.
08:19:45 <NihilistDandy> I lived in Plainfield, forever, and I live in Lebanon now when I'm not at school
08:19:55 <evincar> This is too strange.
08:20:18 -!- cheater has joined.
08:20:20 <NihilistDandy> I know, right?
08:20:26 <itidus20> 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 <itidus20> at least i think they were?
08:22:01 <itidus20> meh
08:22:06 <itidus20> anyway they're great
08:22:22 <cheater> they're not
08:22:26 <cheater> they're just evil.
08:22:28 <evincar> Screw depth. It's MAD.
08:23:08 <itidus20> I have also studied the origins of the alfred e neumann face
08:23:38 <itidus20> some theories say it is an archetypal figure from our collective unconcious
08:23:50 <itidus20> some, i suppose, do not
08:24:08 <itidus20> ^newman?
08:24:12 <evincar> 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 <NihilistDandy> evincar: I transferred out of RIT. I go to UVM now
08:24:35 <NihilistDandy> Oh, you mean now
08:24:38 <NihilistDandy> Like, in NH
08:24:44 <NihilistDandy> Yes, I'm in Lebanon right now
08:24:54 <NihilistDandy> At this very moment
08:25:03 <NihilistDandy> Quiver with the knowledge that I am among you
08:25:43 <evincar> I don't think we need to discuss things quivering with other things among yet other things.
08:26:03 <evincar> That's just a setup for a romance novel scene right there.
08:26:20 <NihilistDandy> I'll get a few drinks in you and we'll see what quivers~
08:26:26 <evincar> UVM is nice anyway. I know a couple of people who go.
08:26:38 <NihilistDandy> My stats professor recommended it
08:26:49 <NihilistDandy> And it's a so-called "public Ivy", so that's nice
08:28:09 <itidus20> 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 <pikhq_> ... *What*. "What is Islamic Fundamentalism" is the title of an H-manga.
08:29:08 <itidus20> hehehehehe
08:29:17 <pikhq_> The title is not inappropriate.
08:29:25 <NihilistDandy> pikhq_: Link?
08:29:27 <itidus20> i wonder if it is a H manga at all
08:29:35 <NihilistDandy> Or maybe I don't want the link. I can't decide.
08:29:45 <pikhq_> NihilistDandy: http://g.e-hentai.org/g/19551/32e1252c7c/ Quick Googling gave me this.
08:30:00 <pikhq_> (nsfw)
08:30:01 <NihilistDandy> Reminds me of that Obama one
08:30:03 <evincar> 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 <NihilistDandy> My Neighbor Taro-kun or something like that
08:31:01 <itidus20> sounds extremely dodgy so im not clicking
08:31:35 <pikhq_> It features Osama bin Laden *and* George Bush.
08:31:52 <pikhq_> And a random OFC. Defeating Islam via fucking.
08:31:53 <pikhq_> Somehow.
08:31:56 <NihilistDandy> itidus20: WHERE'S YOUR SENSE OF ADVENTURE
08:31:56 <pikhq_> What the fuck, Japan.
08:32:09 <itidus20> yaoi?
08:32:10 <NihilistDandy> pikhq_: That's how it's done
08:32:18 <pikhq_> itidus20: No.
08:32:19 <NihilistDandy> Haven't you seen C-SPAN?
08:32:23 <pikhq_> See: OFC.
08:32:41 <itidus20> whats OFC?
08:32:48 <pikhq_> Original Female Character.
08:32:53 <itidus20> ahhh
08:33:01 <pikhq_> One of those initialisms that tells you the fanfiction's going to be more bad than usual.
08:33:32 <NihilistDandy> HER NAME'S ENOBY, OKAY
08:33:46 <itidus20> :-B that name reminds me of ebony
08:33:54 <evincar> EBONY'S NAME IS ENOBY, OKAY
08:33:56 <evincar> OKAY
08:34:16 <NihilistDandy> Whoa, this got extreme pretty quick
08:34:26 <NihilistDandy> Are those attached to a car battery?
08:34:33 <evincar> Sorry, I have to loudly make fun of that thing.
08:34:36 <evincar> Otherwise I remember it.
08:34:40 <pikhq_> Speaking of fanfiction, that reminds me, I really should read "Harry Potter and the Methods of Rationality" sometime.
08:34:50 <evincar> Oh dear.
08:34:56 <evincar> That sounds exquisite.
08:35:10 <pikhq_> Written by Eliezer Yudkowsky.
08:35:38 <pikhq_> (you may know him for Less Wrong, the Singularity Institute, and being the most hardcore autodidact)
08:36:21 <itidus20> im proud of myself for simply knowing the word autodidact
08:36:34 <itidus20> simple amusements
08:37:33 <evincar> They are the best kind.
08:38:08 <NihilistDandy> I prefer complex amusements.
08:38:12 <NihilistDandy> More imaginary parts
08:38:24 <evincar> Myself, I'm fond of stars. Reading. Hot cocoa. Sex. Bonfires.
08:38:43 <pikhq_> NihilistDandy: Perhaps you could do with some quantum mechanics, then.
08:38:47 <evincar> Good company and body heat, a roof over my head and shoes on my feet.
08:38:58 <itidus20> i want all those things @_@
08:38:58 <pikhq_> I hear that has many complex components.
08:39:03 <itidus20> all at once!
08:39:13 <evincar> Come to New Hampshire. :P
08:39:17 <NihilistDandy> @_@ lambdabot wut wut
08:39:17 <lambdabot> lambdabot wut wut
08:39:42 <NihilistDandy> @_@ > (2+2)
08:39:42 <lambdabot> > (2+2)
08:39:46 <NihilistDandy> Aww
08:41:06 <evincar> 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 <NihilistDandy> evincar: Exactly.
08:41:27 <NihilistDandy> To a tee
08:41:27 <evincar> Such is life with the family.
08:41:30 <NihilistDandy> Quite so
08:41:39 <NihilistDandy> Glad I have an apartment for a year in Burlington, now
08:41:45 <oerjan> @@ @run @_@ 2+2
08:41:45 <lambdabot> Plugin `compose' failed with: Unknown command: "_@"
08:41:51 <oerjan> hm
08:42:01 <evincar> You are aware that I am now going to have to meet you. At some point.
08:42:03 <oerjan> @_a
08:42:04 <lambdabot> Maybe you meant: . ? @ bf do faq ft id map pl rc v wn
08:42:05 <evincar> You know, in a public place.
08:42:23 <oerjan> @a@
08:42:26 <NihilistDandy> evincar: Sounds like a plan
08:42:28 <oerjan> @a@ test
08:42:28 <lambdabot> test
08:42:45 <oerjan> @@ test
08:42:45 <lambdabot> test
08:42:48 <evincar> No, it sounds nothing like a plan. A plan would have specifics.
08:42:49 <oerjan> aha!
08:43:00 <evincar> But meh.
08:43:04 -!- evincar has quit (Quit: Up up and away!).
08:43:16 <NihilistDandy> evincar: I go back to school in six days.
08:43:22 <NihilistDandy> Blah, leave then
08:43:43 <oerjan> @b ++++++++[>++++++++<-]>.
08:43:43 <lambdabot> Maybe you meant: b52s babel bf bid botsnack brain bug . ? @ v
08:43:49 <oerjan> hmph
08:44:27 <oerjan> @_@ @run (2+2)
08:44:28 <lambdabot> 4
08:44:44 <NihilistDandy> YAY
08:45:01 <itidus20> 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 <itidus20> then again im not sure if such links will work
08:46:05 <oerjan> no reason why they shouldn't unless the site is taking steps to prevent it
08:46:24 <NihilistDandy> It worked, it just took forever to load
08:47:14 <oerjan> @_@ @_@ test
08:47:14 <lambdabot> Plugin `compose' failed with: Unknown command: "_@"
08:47:19 <oerjan> @_@ @@ test
08:47:19 <lambdabot> test
08:47:22 <oerjan> ic
08:47:40 <oerjan> the error correction only appears to the top one
08:48:40 <oerjan> *applies
09:04:43 -!- Phantom_Hoover has joined.
09:09:25 -!- ais523 has quit (Remote host closed the connection).
09:10:28 <fizzie> @listchans
09:10:28 <lambdabot> ##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 <lambdabot> 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 <lambdabot> 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 <lambdabot> macosxdev #rosettacode #scala #scalaz #scannedinavian #teamunix #unicycling #uscs2010 #xmonad #yi
09:10:41 <fizzie> He's so popular.
09:11:04 <oerjan> *she
09:11:30 <fizzie> I was thinking of going with "It", but it looked wrong. Is there an official gender, though?
09:11:45 <oerjan> @vixen Are you female?
09:11:45 <lambdabot> yes
09:12:13 <fizzie> From /list:
09:12:14 <fizzie> Channel Users Topic
09:12:14 <fizzie> #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 <cheater> http://blog.tkjelectronics.dk/2011/08/glasses-free-3d-display-for-microprocessors/
12:00:58 <cheater> time for a 3d GOL
12:02:12 <Patashu> GUI for trifunge plz
12:04:58 <Patashu> IN THREEE DEEEE
12:10:13 <Phantom_Hoover> @vixen Are you really female?
12:10:13 <lambdabot> i'm really real
12:10:21 <Phantom_Hoover> @vixen Are you really really female?
12:10:21 <lambdabot> i'm really real
12:10:44 <Phantom_Hoover> @vixen How many fingers am I holding up?
12:10:44 <lambdabot> i'll hafta plead the fifth on that one.
12:12:24 <Patashu> What is @vixen
12:12:37 <Patashu> @vixen What is love?
12:12:37 <lambdabot> who's to say?
12:14:39 <Phantom_Hoover> @vixen Maud? Is that you?
12:14:39 <lambdabot> what about me?
12:15:02 <Phantom_Hoover> @vixen Maud!
12:15:02 <lambdabot> 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 <Phantom_Hoover> @vixen You've changed.
12:15:12 <lambdabot> where on a map is Panama?
12:15:29 <Phantom_Hoover> @vixen You always were terrible at geography.
12:15:29 <lambdabot> always always, or just most of the time?
12:15:38 <Phantom_Hoover> @vixen Always always.
12:15:38 <lambdabot> always always, or just most of the time?
12:15:47 <Phantom_Hoover> @vixen You just said that you idiot.
12:15:47 <lambdabot> Yeah
12:35:03 -!- Vorpal_ has changed nick to Vorpal.
12:36:23 <Vorpal> Phantom_Hoover, what /is/ @vixen? Markov chain? Eliza style bot?
12:36:36 <Phantom_Hoover> No idea.
12:36:46 <Phantom_Hoover> @vixen What manner of creature are you?
12:36:46 <lambdabot> yes, i am
12:46:57 <shachaf> An old Visual Basic program ported to Haskell, I believe.
12:47:22 <shachaf> Just some regexp matches with a bit of randomness, or something of the sort.
12:57:12 <Gregor> CakeProphet: OK, so my flag idea isn't going to work :P
13:01:55 <Gregor> 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 <cheater> jesus
14:33:30 <cheater> what sort of stupid language enters a code block, but doesn't exit it?
14:41:03 -!- sllide has joined.
14:53:58 <Vorpal> cheater, infinite loop?
14:54:04 <Vorpal> inside said block
14:54:11 <Vorpal> that would be during execution I guess
14:54:29 <cheater> Vorpal, no, nginx configs
14:55:07 <cheater> location / { foo; location /bar/ { baz; } quux; }
14:55:16 <cheater> either baz or quux get executed.
14:55:42 <Vorpal> uh. what
14:56:02 <Vorpal> never used nginx
14:56:13 <Vorpal> it seems to be the currently hot httpd though
14:56:20 <cheater> yea it's good
14:56:23 <Vorpal> the fame of lighttpd was short-lived
14:56:32 <cheater> yeah lighttpd seems to have deteriorated
14:56:34 <cheater> no idea why
14:56:48 <cheater> i think they're having stupid problems letting people write plugins or something
14:57:37 <Vorpal> 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 <cheater> fuck php
14:57:59 <cheater> in the end, if you're forced to work with php, you're not a good computer programmer
14:58:41 <cheater> 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 <Vorpal> I would hate both
14:59:44 <Vorpal> I'm not going to do web programming if I can avoid it
14:59:46 <cheater> python is less easy to hate
15:00:10 <Vorpal> cheater, cpython is bloody slow. pypy and so on are not much better
15:00:14 <cheater> me either, if this business lifts off i'll hire some code monkeys and start studying cell biology or something.
15:00:29 <cheater> stackless and pypy are much faster than cpython
15:00:56 <cheater> uwsgi supports stackless, and i think it will do pypy at some point too
15:01:30 <Vorpal> 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 <Vorpal> pure C beat all of them
15:01:48 <Vorpal> the problem was that of playing reversi.
15:01:56 <Vorpal> computationally intensive yes
15:01:56 <cheater> so what?
15:02:02 <cheater> i'm never wirting a line of C in my life
15:02:06 <Vorpal> cheater, so even pypy is slow
15:02:11 <cheater> so how is that a comparison
15:02:22 <cheater> did you compare C with fpga's?
15:02:24 <Vorpal> cheater, of course C is not fun to code. I agree on that.
15:02:40 <Vorpal> cheater, nah, I didn't have one available. And VHDL is quite annoying
15:03:09 <Vorpal> (don't know verilog)
15:03:30 <Vorpal> cheater, anyway, while python is slow, it is also not a nice enough language to justify the slowness
15:03:35 <Vorpal> I'd rather use scheme or something then.
15:03:43 <cheater> well then your test prefers simple to use, sluggish, popular blubs
15:03:57 <Vorpal> cheater, hm?
15:04:00 <cheater> C
15:04:12 <cheater> C is soooo slow
15:04:13 <Vorpal> I never claimed C was a nice language
15:04:27 <Vorpal> cheater, I'm not using speed as the sole argument here.
15:04:36 <cheater> now you understand.
15:04:44 <Vorpal> cheater, what I'm saying is that python is not nice enough to justify the slowness
15:04:54 <Vorpal> I'd rather go for a functional language then
15:04:56 <cheater> that's a different argument
15:05:01 <cheater> me too
15:05:17 <cheater> but the problem with functional languages is that their stdlibs are fucking shit for the job i'm doing
15:05:26 <cheater> and the dev environments are still not figured out
15:05:47 <cheater> and there are no good frameworks that save me from doing billions of lines of boilerplate
15:05:55 <Vorpal> 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 <cheater> python is the best of the worst
15:06:19 <Vorpal> which means that while it is nicer to code in than C, definitely, it is not worth it
15:07:55 <cheater> 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 <cheater> but right now it would be mostly empty.
15:08:51 <Vorpal> it seems that my hdds are the bottleneck when transferring files between my computers nowdays. Gbit ethernet.
15:09:04 <Vorpal> once the ram fills up, well.
15:09:05 <cheater> what data rate do you have?
15:09:17 <Vorpal> about 40 MB/s with plain rsync
15:09:36 <Vorpal> the file is larger than the ram of this laptop
15:09:41 <cheater> yeah, hdd speed is a bitch
15:09:51 <cheater> i hope they come up with something faster and failure-free
15:09:53 <Vorpal> oh wait, encrypted disk in the laptop too
15:10:02 <Vorpal> cheater, SSD, sure. But expensive
15:10:14 <Vorpal> too expensive currently
15:10:17 <cheater> 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 <cheater> *manage
15:10:40 <Vorpal> cheater, depends on how you use them. Mostly read will be fine.
15:10:50 <Vorpal> of course, the firmware could fail and so on
15:11:47 <cheater> no i think it was just flat out dead
15:11:55 <cheater> but i'm no expert
15:12:10 <Vorpal> cheater, well what in it failed. write limit?
15:12:40 <cheater> i don't know anymore. not a big enough fan of ssd's myself.
15:12:49 <Vorpal> cheater, they are fast though
15:13:05 <Vorpal> well some are. Intel ones definitely
15:13:05 <cheater> i believe the consensus was that ssd's are not reliable on the long term
15:13:17 <Vorpal> cheater, nor are hdds
15:13:26 <cheater> i've had few hdd failures
15:13:29 <Vorpal> cheater, long term? Go clay tablet
15:13:29 <cheater> and i have lots of hdds
15:14:11 <Vorpal> most hdds I owned died at some point
15:14:17 <Vorpal> not the current ones obviously
15:27:20 <cheater> heh
15:27:24 <cheater> out of all things..
15:27:33 <Vorpal> ?
15:27:34 <cheater> i wouldn't have thought i'd find a job through *freecycle*.
15:27:45 <Vorpal> never heard of it
15:28:02 <cheater> it's a mailing list, with an instance that is local to every city
15:28:15 <Vorpal> cheater, in the world?
15:28:18 <cheater> 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 <cheater> yeah, pretty much so, except everyone sets up their own.
15:28:43 <cheater> it's more a concept than an organization.
15:28:53 <cheater> i got some good stuff there.
15:29:39 <cheater> 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 <Vorpal> cheater, who wouldn't have use for a working cable finder...
15:30:26 <cheater> you can get all sorts of stuff, usually it's furniture, followed by electronics and then books.
15:33:17 <fizzie> Vorpal: Someone who has multiple?
15:33:20 <Deewiant> Yay, change committed: http://i.imgur.com/jXB9V.png
15:33:26 <Vorpal> fizzie, why would anyone have that in the first place
15:33:48 <fizzie> Vorpal: Gotten as a gift, maybe? Ours came from my wife's father, I think.
15:33:59 <fizzie> Or found a fancier one and wanted to upgrade. :p
15:34:05 <fizzie> (Or found one in pink.)
15:36:49 <fizzie> 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 <cheater> http://queue.acm.org/detail.cfm?id=2010365
15:44:13 -!- MDude has joined.
16:10:05 -!- Taneb has joined.
16:10:16 <CakeProphet> Gregor: unless you have electron geysers that are stationary, with the rest of the field being empty.
16:10:25 <Taneb> Bonjour!
16:17:42 <Taneb> I'm in France
16:18:56 <CakeProphet> I'm in one of those states where all that segregation stuff happened.
16:19:13 <Taneb> Like Alabama?
16:19:22 <CakeProphet> Close. Georgia.
16:20:38 <CakeProphet> 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 <CakeProphet> *as a
16:20:50 <CakeProphet> similar to Australia I guess.
16:21:22 <Taneb> Nah, Australia they weren't given a new start till they had filled out their sentences
16:25:33 <Taneb> I had a really cool idea for an esolang
16:25:41 <CakeProphet> oh boy I can't wait for my data structures class
16:25:46 <Taneb> Then I realised someone else already had pretty much the same idea.
16:25:51 <Taneb> They called it HQ9+
16:26:06 <CakeProphet> I get to learn about exciting things like trees! maps! sets! heaps! linked lists!
16:26:09 <CakeProphet> wooo
16:26:12 <Taneb> Yay!
16:26:25 <Taneb> ...What actually is a heap?
16:26:44 <CakeProphet> similar to a tree.
16:26:49 <Taneb> Okay
16:27:21 <CakeProphet> with the root always being the max element.
16:27:45 <CakeProphet> all child nodes are < parent nodes
16:28:45 <CakeProphet> though I believe you can implement heaps as arrays
16:31:54 <Taneb> So... 9 (4, 5 (
16:32:01 <Taneb> 3 1 1))
16:32:05 <Taneb> Is a valid heap?
16:32:37 <CakeProphet> yeah
16:32:38 <Phantom_Hoover> Yes.
16:33:04 <Phantom_Hoover> (It has nothing to do with the heap in memory management, which confused the hell out of me.)
16:33:15 <Taneb> Phantom_Hoover, how is Handlekindled getting along?
16:33:19 <CakeProphet> oh, yeah, didn't know.
16:33:22 <Phantom_Hoover> Taneb, I gave up too.
16:33:53 <Taneb> So, it's elliott's problem?
16:34:16 <cheater> elliott is *always* the problem.
16:41:51 <fizzie> 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 <fizzie> It's also -- or can be, anyway -- a complete binary tree, so that's why the array representation makes sense.
16:50:41 <fizzie> 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 <CakeProphet> ah yes, that's useful.
16:59:26 -!- oerjan has joined.
17:06:20 <CakeProphet> if I ever go to Saudi Arabia
17:06:33 <CakeProphet> the first thing I'd do is eat a big pork sandwich in a crowded street.
17:07:33 <CakeProphet> while looking distinctively American. shorts, t-shirt, baseball cap, and shades.
17:10:18 <CakeProphet> nothing could go wrong.
17:12:01 <Vorpal> 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 <Vorpal> 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 <fizzie> 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 <fizzie> (Guess.)
17:16:19 <Vorpal> heh
17:18:44 <fizzie> You can "7z x -so blah.tar.gz | 7z x -ttar -si", but that's really crummy.
17:20:15 <Vorpal> 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 <Vorpal> say for example loading libpng or libjpeg only once you open such a file
17:22:58 <fizzie> Doesn't lazy binding (which does pretty close to that) already happen by default on linux-elf?
17:23:30 <CakeProphet> skype sure is buggy in linux.
17:24:12 <fizzie> 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 <Vorpal> fizzie, that still opens the .so on starting though I think. It just doesn't bind the symbols until needed
17:26:47 <Vorpal> unless I misremember
17:27:34 <Vorpal> as far as man ld says that seems to be it
17:27:36 <fizzie> 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 <Vorpal> fizzie, just finding it without opening it maybe
17:28:32 <fizzie> Well, I don't know. Possibly it also looks at the headers to make sure the file makes sense.
17:29:09 <Vorpal> fizzie, I guess it mmaps the file, but on linux that may or may not load the file at that point
17:30:56 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <Vorpal> fizzie, it won't have to look at all. There is that .hash or .hash.gnu section
17:42:05 <Vorpal> enough to check those
17:43:30 <oerjan> zuHause just means atHome in german
17:43:45 <fizzie> That amounts to looking. The hashing is just a way to look faster.
17:44:26 <fizzie> oerjan: Well, if a German feels "at home" here, then we're apparently at a very advanced stage of the invasion.
17:44:37 <oerjan> you'd think.
17:45:03 <oerjan> at this time in history you should be more worried about greeks, i think.
17:46:05 <CakeProphet> for Americans it's those sandpeoples in the middle east that you need to fear.
17:46:25 <oerjan> i am talking specifically about the finns, here.
17:47:05 <CakeProphet> I'm talking about, uh... sandpeople in the middle east. that's as specific as it gets.
17:47:21 <oerjan> O KAY
17:47:43 <Gregor> <fizzie> 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 <fizzie> oerjan: I'll start worrying when I see an στοΣπίτι wlan.
17:48:10 <NihilistDandy> CakeProphet: HURR! HURR HURR HURR!
17:48:18 <NihilistDandy> Oh, Star Wars
17:48:25 <CakeProphet> NihilistDandy: what? this is serious business.
17:48:38 <NihilistDandy> CakeProphet: TUSKEN RAIDERS ARE TOTES SERIOUS
17:48:39 <Gregor> CakeProphet: THE ELECTRONS!
17:48:45 <Gregor> CakeProphet: THEY'RE MULTIPLYING OUT OF CONTROL!
17:48:55 <fizzie> s/ an/ a/ I suppose.
17:48:57 <CakeProphet> Gregor: don't place conductor randomly, see above.
17:49:05 <Gregor> CakeProphet: I place conductor intelligently.
17:49:07 <CakeProphet> empty field, randomly placed electron geysers, kind of spread out.
17:49:10 <Gregor> CakeProphet: But all branches = dups
17:49:19 <Gregor> CakeProphet: Totally empty field is laaaaaaaaaaaaame! :(
17:49:26 <NihilistDandy> CakeProphet: That wasn't laughter, you see, it's the noise they make.
17:49:40 <CakeProphet> totally empty field means that the only thing that's important is your game plan.
17:50:17 <Gregor> CakeProphet: See, I was thinking of modifying my building mechanism so that you have to collect raw material :)
17:50:24 <CakeProphet> Gregor: working around randomly (er, I mean, intelligently) placed conductors is a hassle.
17:50:47 <CakeProphet> well, that's a possibility then. But using conductor as the raw material is probably not a good idea.
17:53:50 <Gregor> 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 <Gregor> CakeProphet: Y'know what, I'm inclined to use your flag idea instead of mine.
17:55:12 <CakeProphet> that's probably because it's the bomb-diggity
17:55:16 <Gregor> CakeProphet: Your flag idea + my carefully-made substrate = no duplication.
17:55:22 <Gregor> Or rather, no out-of-control duplication.
17:55:39 <CakeProphet> 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 <NihilistDandy> I hear milk helps with tha
17:56:32 <NihilistDandy> *that
17:56:32 -!- pikhq has joined.
17:56:44 <CakeProphet> -ahem- Gregor: I'm interested to see if you can make a configuration that's not a electrical clusterfuck
17:57:13 <CakeProphet> also, probably shouldn't have any conductors touching flags by default.
17:57:27 <CakeProphet> I'd say sparser distribution = better.
17:57:30 <oerjan> i am not sure vanilla is a suitable VLSI substrate
17:57:32 <fizzie> 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 <CakeProphet> perhaps with a maximum limit for the "length" of a single wire/circuit
17:57:56 <CakeProphet> to prevent overlap of circuits
17:58:02 <Gregor> CakeProphet: Of course no conductors touching flags is the default, and believe me my current one is not an electrical clusterfuck.
17:58:35 <fizzie> 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 <fizzie> (Sauna-time, away.)
17:59:09 <CakeProphet> if I ever write an OS environment
17:59:17 <CakeProphet> I will name my equivalent of libc heroin
17:59:30 <CakeProphet> as it will be highly depended upon. >_>
18:00:56 <NihilistDandy> Oh, snap
18:01:32 <CakeProphet> yeah, that sounds of speechlessness.
18:02:10 <CakeProphet> what not? how do you move on from here?
18:02:42 <CakeProphet> it must be tough, reorganizing your life after the single most important event in its development.
18:02:52 <CakeProphet> like an early climax in your own personal novel.
18:03:25 <NihilistDandy> wut
18:03:47 <NihilistDandy> You're getting wafery again
18:03:55 <CakeProphet> its the pieces of a puzzle they may never become whole.
18:04:31 <CakeProphet> like it was made by some shitty factory with mostly former criminals and high-school dropouts as employees.
18:04:41 <CakeProphet> s/they/that/
18:06:17 <NihilistDandy> So a normal factory
18:07:59 <CakeProphet> NihilistDandy: the wafer is just a recursive subset of something greater. A small microcosm of our saccharide existence.
18:08:24 <cheater> a DACHGESCHOSS.
18:08:42 <NihilistDandy> cheater: Everything makes sense now
18:09:01 <cheater> NihilistDandy, Unicode DACHGESCHOSS character: ^
18:09:15 <NihilistDandy> Naturally
18:10:55 <CakeProphet> when I dunk it in milk it becomes pregnant with my lipid thoughts.
18:11:21 <cheater> so does anyone here know shit about biology?
18:11:39 <cheater> i need some good books on cell biology
18:11:50 <CakeProphet> I don't know of any good books, no.
18:11:53 <CakeProphet> see: the internet
18:12:06 <cheater> i used to have that but it fell behind the cupboard
18:12:08 <Gregor> CakeProphet: Here's my current starting configuration: http://codu.org/tmp/config.png
18:12:33 <cheater> Gregor, what is that?
18:12:40 <CakeProphet> prettty
18:13:01 <CakeProphet> so the stable loops are disconnected from the wires?
18:13:02 <Gregor> CakeProphet: More importantly, an electron let loose on the wire won't ever start multiplying out of control.
18:13:04 <Gregor> CakeProphet: Yes.
18:13:08 <CakeProphet> fun.
18:13:30 <cheater> Vorpal, zu hause is a quote from a song
18:13:34 <CakeProphet> that makes the landscape important to decision-making but not chaotic from the start.
18:13:39 <cheater> NihilistDandy can tell you which one
18:13:54 <Gregor> cheater: CakeProphet and I are designing a game where you write programs to functions as agents in a wireworld-like substrate.
18:13:55 <NihilistDandy> cheater: I'm sure it's in many songs, really
18:14:21 <CakeProphet> Gregor: do you get nice configurations each time or is that the only one
18:14:25 <cheater> not when used as a description of target.
18:14:29 <quintopia> gregor: was that config automatically generated?
18:14:31 <NihilistDandy> Ugggghhhh I have to pack next week
18:14:34 <Gregor> CakeProphet: It's generated randomly if that's what you mean.
18:14:37 <Gregor> quintopia: Yes, it's random.
18:14:48 <cheater> NihilistDandy, geh' doch zu hause!
18:16:30 <CakeProphet> that makes it rather complex to discern what happens as the result of wire placement
18:17:20 <quintopia> i can already tell...my game will be better
18:17:27 <Gregor> 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 <Gregor> In fact, never mind, that's right.
18:18:38 <Gregor> It can't form loops.
18:18:52 <Gregor> So if you unleash a single electron into the substrate, it will always dissipate.
18:20:02 <CakeProphet> I'm thinking electrons should go at the same speed as agents.
18:20:25 <Gregor> I was actually starting to think that as well.
18:20:30 <Gregor> Although lightspeed agents = zomg
18:20:38 <CakeProphet> 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> <cheater> Vorpal, zu hause is a quote from a song <-- why are you telling me?
18:20:58 <CakeProphet> and can still be destroyed somehow
18:21:09 <Vorpal> cheater, in fact, what is that about
18:21:16 <quintopia> do agents have to recharge?
18:21:24 <Gregor> CakeProphet: Even if agents can move at the same speed as electrons, they can't catch up with one ...
18:21:28 <Gregor> quintopia: ... no?
18:21:42 <cheater> Vorpal, you were asking if zuHause means anything other than german invasion.
18:21:44 <cheater> here's your answer.
18:21:48 <Vorpal> cheater, no
18:21:49 <Vorpal> I was not
18:21:58 <Vorpal> cheater, you confused people
18:22:03 <Vorpal> check your damn scrollback
18:22:06 <CakeProphet> Gregor: so maybe it makes more sense to have the flag particle carried forward one space via one electron pulse
18:22:29 <CakeProphet> as this makes the flag move somewhat slowly
18:22:40 <Gregor> CakeProphet: I think that makes defense too easy.
18:23:01 <CakeProphet> possibly.
18:23:07 <Gregor> Maybe :)
18:23:14 <quintopia> what language are these agents programmed in
18:23:22 <Gregor> quintopia: Any.
18:23:51 <CakeProphet> 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 <Gregor> Fair enough ...
18:24:38 <quintopia> and the game is 2 player CTF?
18:24:39 -!- copumpkin has joined.
18:24:39 <Vorpal> has anyone in here played oblivion?
18:24:56 <Gregor> quintopia: Yeah
18:24:58 <Gregor> quintopia: Err
18:25:06 <Gregor> quintopia: Two-player is not determined, but CTF is :)
18:25:44 -!- Taneb has joined.
18:25:52 <CakeProphet> meanwhile the offender may have set up decoy wires, wire branches, etc
18:26:00 <CakeProphet> so offense is still simple as well.
18:26:02 <Taneb> Hello!
18:27:03 -!- copumpkin has quit (Client Quit).
18:27:38 <CakeProphet> Gregor: so currently there's not really a resource gathering dynamic
18:27:48 <Gregor> CakeProphet: No, that vanished :P
18:27:50 <CakeProphet> first step in my mind would be to find the opponents flag as this gives you an immediate advantage.
18:29:06 <Gregor> CakeProphet: We could add back in the resource management dynamic by changing from my conductors potentias system probably.
18:29:15 <CakeProphet> 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 <quintopia> so theres like a function "am i standing on the flag?" and thats it?
18:29:48 <CakeProphet> 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 <Gregor> quintopia: No, you have a radius of vision, you can build conductors, you can break shit, and you can move.
18:30:02 <CakeProphet> turn = some kind of action other than reading cell info
18:30:04 <quintopia> hi zzo38
18:35:34 <zzo38> 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 <Gregor> 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 <yourstruly> yes
18:49:23 <Taneb> Goodnight!
18:53:01 <pikhq> Gregor: Also, presumably, lol no music exists that's not on top 40 radio.
18:53:02 <yourstruly> yes
18:53:41 -!- Taneb has quit (Ping timeout: 240 seconds).
18:54:41 <oerjan> Not to mention that, lol no music is argle bargle.
18:54:42 <yourstruly> yes
18:54:46 <oerjan> XD
18:54:59 <oerjan> someone is _so_ busted
18:56:45 <oerjan> also, lol whatever.
18:57:09 <oerjan> or maybe, lol no in any case.
18:57:09 <yourstruly> yes
18:57:25 <oerjan> lol no
18:57:25 <yourstruly> yes
18:58:20 <Gregor> 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 <Gregor> But they don't even have that.
18:58:53 <Gregor> The most well-known pieces by such B-named composers that is.
19:01:39 <oerjan> what no M
19:01:46 <oerjan> i mean, lol no M
19:01:46 <yourstruly> yes
19:03:16 <Gregor> 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 <fizzie> Vorpal: I played it a little bit.
19:08:23 -!- azaq23 has joined.
19:10:06 <Gregor> CakeProphet: So shall I start working on the agent interface?
19:10:06 <quintopia> zzo38: yes. what do you think Scrolls will be like? are you excited?
19:10:55 <CakeProphet> Gregor: whatever you want to do.
19:11:18 <Gregor> CakeProphet: Dood, this is a TEAM EFFORT
19:11:20 <quintopia> the most well-known pieces by B-named composers? you mean symphonie fantastique?
19:12:07 <Gregor> quintopia: Several of Bach's Brandenburg Concertos plus Air on G, everything by Beethoven, and a few things by Brahms.
19:12:29 <quintopia> so no Berlioz? sad day
19:12:37 <quintopia> (of course, i don't expect anything by Boulez)
19:13:11 <Gregor> quintopia: Berlioz??? Dude, he's not even German.
19:13:18 <quintopia> i was about to say
19:13:24 <Gregor> quintopia: Everybody knows that what tiny amount of music existed before 1920 was entirely German.
19:13:27 <quintopia> "only austro-germans count, obc"
19:14:18 * Gregor proceeds to listen to Bach's Air on G :P
19:14:31 <quintopia> pity then, that the letter "B" does not include Strauss and Wagner
19:14:53 <Gregor> Well Strauss is fucking terrible, and Wagner insults my Jewish heritage lol :P
19:15:11 <quintopia> good. JEW!
19:15:12 <quintopia> :P
19:15:33 <quintopia> obv i meant richard strauss, not johann
19:15:35 <Gregor> (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 <Gregor> Ohhhh
19:15:37 <Gregor> Good.
19:16:29 <Gregor> But anyway, we all know that Richard Strauss doesn't show up on general musical radar.
19:16:36 <Gregor> Because his surname doesn't start with a 'B'.
19:16:37 <quintopia> and i suppose the "german" restriction rules out Bedrich Smetana
19:16:53 <quintopia> oh, only surnames
19:16:55 <quintopia> that too then
19:17:03 <zzo38> quintopia: Scrolls? What scrolls?
19:17:42 <quintopia> zzo38: scrolls.com
19:18:15 <zzo38> What about scrolls.com/
19:18:21 <zzo38> What about scrolls.com?
19:19:48 <quintopia> that's where it tells what scrolls will be
19:22:56 <zzo38> I looked. It doesn't help. I don't know. Insufficient information.
19:23:29 <quintopia> i agree. enough to be interesting?
19:24:16 <zzo38> I don't know.
19:25:24 <Phantom_Hoover> quintopia, Mojang Scrolls?
19:26:01 <Phantom_Hoover> The crappy card game BUT ON A COMPUTER?
19:26:06 <quintopia> Phantom_Hoover: perhaps. if they lose the the battle in the arena.
19:26:18 <quintopia> 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 <Gregor> 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 <elliott__> hi
20:00:43 <Deewiant> ho
20:01:08 <Gregor> hrr
20:02:29 <elliott__> 21:19:41: <EgoBot> USBCT
20:02:35 <elliott__> united states bitwise cyclic tag
20:02:38 <elliott__> 21:20:43: <ais523> also, randomRIO is an incredible hack, but I see why it exists
20:02:42 <elliott__> how is it a hack
20:04:11 <elliott__> 21:32:12: <fizzie> 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 <elliott__> fizzie: hmm, could it be put into fungot somehow, or does it not have any similar type of data?
20:04:20 <fungot> 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 <elliott__> `addquote <fungot> elliott__: my fnord into normal life was a painful and difficult process. [...]
20:04:38 <fungot> 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 <HackEgo> 608) <fungot> elliott__: my fnord into normal life was a painful and difficult process. [...]
20:04:46 <Gregor> <elliott__> united states bitwise cyclic tag // the best bitwise cyclic tag.
20:09:33 <fizzie> 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 <fungot> 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 <fizzie> ^style
20:09:46 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft* nethack pa speeches ss wp youtube
20:09:50 <elliott__> fizzie: Nice :P
20:09:52 <fizzie> Ah, sure.
20:10:05 <elliott__> fizzie: Is five the maximum number of grams Google offers?
20:10:17 <fizzie> Yes.
20:13:25 <fizzie> 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 <fungot> 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 <elliott__> 22:12:56: <fizzie> 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 <elliott__> fizzie: Please; some of us have sensitive dispositions.
20:15:14 <cheater> Vorpal, my scrollback is damn indeed.
20:15:19 <fizzie> But it'd be so "Perl".
20:15:29 <fizzie> 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 <fungot> 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 <elliott__> fizzie: But just think: fungot will finally start spitting out AVERAGE INTERNET.
20:15:59 <fungot> 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 <elliott__> I'm TERRIFIED.
20:16:45 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fungot> 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 <elliott__> fizzie: Well, it's... more average internet than the irc corpus.
20:20:08 <elliott__> 22:51:17: <Phantom__Hoover> ais523, that seems... inefficient.
20:20:27 <elliott__> Phantom_Hoover: Hash functions are constant time and the kind used for hashtables are pretty damn fast
20:20:35 <elliott__> Wait, they're integers
20:20:40 <elliott__> So there isn't even any hash overhead
20:20:53 <elliott__> It reduces to basically identical if you just have (machine-word) integer keys.
20:21:07 <elliott__> Well, except that there's also a modulo.
20:21:47 <CakeProphet> you should change your name to __elliott__ and then you'll be special in Python.
20:21:56 <elliott__> 22:55:54: <Vorpal> CakeProphet, http://en.wikipedia.org/wiki/BANCStar_programming_language
20:21:56 <elliott__> why on earth does it have a Wikipedia article?
20:22:03 -!- elliott__ has changed nick to elliott.
20:22:10 <CakeProphet> same reason "esoteric programming language" does.
20:22:12 -!- elliott has quit (Changing host).
20:22:12 -!- elliott has joined.
20:22:13 <Deewiant> Shush, you'll draw the exclusionists to it
20:22:27 <elliott> Deewiant: That's not what exclusionism means
20:22:29 <elliott> You mean deletionist
20:22:33 <elliott> (http://meta.wikimedia.org/wiki/Exclusionism)
20:22:34 <Deewiant> Whatever
20:22:52 <elliott> http://meta.wikimedia.org/w/index.php?title=Exclusionism&oldid=504276 <-- better version
20:23:03 <Deewiant> "It is possible to be an inclusionist and an exclusionist at the same time."
20:23:06 <Deewiant> Terminology failure
20:23:25 <CakeProphet> in much the same way that one can be an anarchist and a fascist.
20:23:25 <elliott> Deewiant: As we all know, language is completely logical. Therefore ...
20:23:37 <Vorpal> <elliott__> why on earth does it have a Wikipedia article? <-- no clue, first hit on google though
20:23:41 <CakeProphet> elliott: more importantly, people subscribing to ideologies are completely logical.
20:23:45 <elliott> 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 <Deewiant> elliott: They could've chosen their terms better
20:23:52 <elliott> Nice logo.
20:23:55 <elliott> It's even SVG.
20:23:56 <fizzie> 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 <elliott> fizzie: As is well-known, "books are for fags". Therefore...
20:24:37 <fizzie> While the Internet is for porn.
20:25:01 <elliott> Maybe you shouldn't put it into fungot.
20:25:02 <fungot> 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 <elliott> Can cfunge even _handle_ files that big? Maybe that would slow it down.
20:25:18 <elliott> You might have to switch to Shiro.
20:25:25 <CakeProphet> 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 <CakeProphet> insights from anon.
20:26:01 <monqy> im applause
20:26:22 <fizzie> 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 <zzo38> I prefer METAFONT for scalable logos rather than SVG though, I invented a program to make it colors and special effects
20:26:37 <elliott> fizzie: Who's fault is that?
20:26:41 <elliott> Don't tell me it's Riley's.
20:26:45 <elliott> I'll cry
20:26:46 <elliott> .
20:27:26 <elliott> 00:12:45: <ais523> can imaginary time even be played?
20:27:26 <elliott> 00:12:49: <ais523> you'd have to convert it to temperature somehow
20:27:27 <elliott> Temperature?
20:27:34 <Phantom_Hoover> elliott, fungot uses cfunge?
20:27:35 <fungot> 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 <fizzie> 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 <Phantom_Hoover> And you didn't complain violently?
20:27:48 <elliott> "My Human Gets Me Blues" by Captain Beefheart & the Magic Band features a "complex time signature."[115]
20:27:52 <elliott> Well, close enough.
20:27:59 <elliott> Phantom_Hoover: Who says I haven't?
20:28:13 <Phantom_Hoover> elliott, no
20:28:14 <Phantom_Hoover> but
20:28:22 <elliott> It _used_ to be RC/Funge.
20:28:27 <elliott> cfunge is... probably an improvement.
20:28:29 <Phantom_Hoover> you should have started complaining
20:28:33 <Phantom_Hoover> and never stopped
20:28:47 <elliott> CCBI didn't support the relevant fingerprints at the time, right fizzie?
20:29:19 <fizzie> elliott: Mmmmpossibly. At least when I started with RC/Funge. I don't really recall the cfunge switch so well.
20:29:58 <fizzie> 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 <fungot> 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 <fizzie> Juz nothing special lor... They juz cut like straight across lor...
20:30:06 <fizzie> All e best 4 ur driving tmr :-)
20:30:10 <fizzie> I duno leh, any suggestion i should cut wat. Then u got any place in mind where 2 cut?
20:30:14 <fizzie> dfdsf
20:30:22 <fizzie> Hey lien... U took e finance survival kit oso huh.. I juz read ur email... I'm takin it oso!
20:30:23 <Deewiant> I thought the main reason was "not compiled here" syndrome + CCBI being too much of a pain to compile ;-)
20:30:39 <elliott> Good thing Shiro only depends on ONE EXTERNAL LIBRARY. For now.
20:30:45 <quintopia> 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 <elliott> quintopia: Balanced ternary?
20:30:57 <Deewiant> elliott: Which one's that
20:31:08 <elliott> fizzie: Oh my god yes add that to fungot.
20:31:09 <fungot> 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 <fizzie> It only has like 10117 messages though.
20:32:06 <fizzie> "He say dun tink they need part timer...How? U go crepes n cream ask la...Hereen 1..."
20:32:10 <quintopia> elliott: balanced ternary requires three digits. i'm asking for a binary system.
20:32:31 <monqy> mmmm crepes n cream
20:33:11 <elliott> quintopia: Balanced ternary digit → two binary digits, Q.E.D.
20:33:20 <elliott> There are a lot of impossible numbers there though. :p
20:33:25 <elliott> fizzie: I don't care it sounds amazing.
20:33:32 <quintopia> elliott: that doesn't sound very standard
20:34:46 <elliott> 00:17:31: <CakeProphet> that could be remedies by complex numbers and quaternions!
20:34:46 <elliott> 00:17:34: <CakeProphet> *remedied
20:34:46 <elliott> 00:17:56: <CakeProphet> and whatever the 3-component one is called.
20:34:46 <elliott> there three-component is quaternions
20:34:48 <elliott> [asterisk]the
20:34:56 <elliott> :P
20:35:44 <CakeProphet> you mean three-components not including the integer part right?
20:37:21 <zzo38> 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 <elliott> They were invented trying to add another component to complexes, IIRC
20:37:25 <monqy> http://upload.wikimedia.org/wikipedia/commons/a/a2/William_Rowan_Hamilton_Plaque_-_geograph.org.uk_-_347941.jpg
20:37:31 <elliott> 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 <elliott> not figure out how to calculate the quotient of the coordinates of two points in space.
20:37:34 <Phantom_Hoover> 3-component?
20:37:35 <Phantom_Hoover> What?
20:37:50 <elliott> "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 <elliott> yourstruly: oasjas
20:38:23 <elliott> 00:59:38: <Gregor> CakeProphet: I wanted to make so-called biomes so you would need to find a good spot.
20:38:27 <elliott> Gregor: Is it Minecraft yet?
20:38:32 <Phantom_Hoover> <elliott> there three-component is quaternions
20:38:38 <elliott> Phantom_Hoover: s/there/the/
20:38:40 <elliott> It's snark.
20:38:43 <Phantom_Hoover> It's A Bit More Complicated Than That™.
20:38:46 <elliott> It's snark.
20:39:04 <monqy>
20:39:13 <Phantom_Hoover> monqy™
20:39:32 <Gregor> elliott: It became substantially less Minecraft than it was at its Minecraft height.
20:40:03 <Phantom_Hoover> What did?
20:44:42 <Gregor> 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 <Gregor> Which I have dubbed Rezzo, by the way.
20:45:11 <Phantom_Hoover> Gregor, hmm, it's a concept I've always been suspicious of.
20:45:30 <Gregor> "Suspicious of"?
20:45:38 <CakeProphet> Gregor: no I enjoy making games. I just don't have much time to commit to implementation.
20:45:41 <Phantom_Hoover> Suspicious that it won't work.
20:45:57 <CakeProphet> Gregor: still I could probably do something in the future. Like write naive test players. :P
20:46:40 <CakeProphet> and I might branch the server program and add more rules to test those out.
20:46:46 <Gregor> Phantom_Hoover: To be clear, only the environment is a CA, the agents are outside meddlers.
20:47:00 <Phantom_Hoover> Ah.
20:47:23 <CakeProphet> 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 <elliott> Oh, that changes things.
20:47:54 <CakeProphet> which probably makes playing much much easier.
20:48:04 <Gregor> 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 <CakeProphet> right.
20:48:32 <CakeProphet> though if we ever include walls it would make sense if they could affect adjacent locations.
20:48:37 <CakeProphet> to destroy walls.
20:48:55 <Gregor> Makes sense.
20:49:12 <CakeProphet> incidentally, viewing your location should be called "look"
20:49:27 <CakeProphet> movement should be controlled by north, south, east, west, northeast, southeast, northwest, southwest commands
20:49:39 <CakeProphet> and building should be done with "build"
20:49:49 <Gregor> 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 <CakeProphet> and then it will be a pseudo-MUD. :P
20:50:04 <Gregor> CakeProphet: A MUD where you must do a command 15 times per second...?
20:50:09 <CakeProphet> yes.
20:50:17 <CakeProphet> well, in MUDs when you change locations you autolook.
20:50:42 <CakeProphet> l, b, n, s, e, w... for short
20:51:12 <Gregor> 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 <fizzie> 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 <CakeProphet> Gregor: I guess that's reasonable.
20:52:09 <CakeProphet> though I'd say if every command is received for a frame then the server could go ahead.
20:52:13 <Gregor> fizzie: ... why would you need an abbreviation for "I" :P
20:52:21 <Gregor> CakeProphet: Suresure.
20:52:37 <fizzie> Gregor: Maybe it's a "special" I. (Like all these message-writers are quite "special".)
20:52:45 <fizzie> It's not GSM 03.38 either, that's a 7-bit thing with some multibyte nonsense.
20:52:52 <Gregor> It's .
20:53:00 <Gregor> am so col!
20:53:52 <elliott> fizzie: Maybe it's "we"?
20:54:36 * CakeProphet has no compose key.
20:55:08 <fizzie> There's also some 0xEC and 0xE8 in less obvious contexts. And some others. "It's <E9> only $140 ard...<C9> rest all ard $180 at least...Which is <E9> price 4 <E9> 2 bedrm ($900)"
20:55:12 <fizzie> The README doesn't say.
20:55:41 <CakeProphet> ಠ_ಠ
20:56:18 <fizzie> Oooh, they have a newer version too, with 28k messages. Maybe I'll use that instead.
20:56:58 <fizzie> Margle blargle "free registration".
20:57:04 <elliott> monqy: help ive got an email about GLFWPipe help
20:57:11 <Gregor> I got my plasma sword and I'm ready to CRANK IIIIIIIT
20:57:19 <monqy> elliott: help
20:57:20 <CakeProphet> Gregor: obviously the best language of choice to represent a massive mutable CA is Haskell.
20:57:29 <elliott> monqy: its from remi a french student interested in haskell :(
20:57:34 <Gregor> CakeProphet: SORRY ALREADY WROTE IT IN C
20:57:42 <CakeProphet> OHHHH NOOOO
20:57:42 <Gregor> Which happens to be the best language for LITERALLY EVERY PURPOSE.
20:57:49 <monqy> elliott: is this bad it sounds bad
20:58:04 <CakeProphet> Gregor: yes I'm comfortable with C
20:58:15 <CakeProphet> but it's not the BEST language for literally every purpose...
20:58:19 <CakeProphet> it's just A language for that.
20:59:05 <fizzie> "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 <monqy> whats sarcasm help
20:59:45 * CakeProphet is a company.
20:59:51 <Gregor> CakeProphet: Literally - every - purpose.
21:00:04 <fizzie> I think I'll be a multidisciplinary inventor today.
21:00:13 <CakeProphet> Gregor: except for sanely dealing with parametric types.
21:00:30 <monqy> and being a good language for literally every purpose
21:01:00 <CakeProphet> "C with templates" would be nice.
21:01:07 <CakeProphet> you know, without being C++
21:01:12 <CakeProphet> and using macro hacks.
21:02:22 <CakeProphet> "C with templates that aren't macro hacks and tagged unions that aren't struct hacks"
21:02:28 <CakeProphet> this name is starting to get lengthy.
21:02:38 <monqy> if only c were haskell
21:02:40 <monqy> if only....
21:03:04 <CakeProphet> No, it just needs to be C with templates and tagged unions
21:03:21 <CakeProphet> and maybe typeclasses. :D
21:04:11 <CakeProphet> though you could techncially implement typeclasses in C by passing around dictionaries to every typeclassed function..
21:04:16 <CakeProphet> like what Haskell does internally.
21:04:53 <CakeProphet> saying you can technically implement something in C is kind of an inane point.
21:06:00 <CakeProphet> oh, C with Lisp-style macros.
21:06:03 <CakeProphet> as well.
21:06:05 <CakeProphet> this would be good.
21:06:31 <CakeProphet> just implement templates as a special kind of macro.
21:07:26 <monqy> templates as in c++ style templates or templates as in template haskell style
21:09:13 <CakeProphet> c++
21:09:18 <CakeProphet> generics. parametric types.
21:09:59 <fizzie> 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 <fizzie> Also for any types that happen to have the same size, most likely.
21:12:49 <fizzie> "reference to invalid character number at line 8644, column 34, byte 6668672: [..]". This new corpus of theirs isn't even XML.
21:16:42 <elliott> 01:25:06: <Gregor> If anybody knows how to safely run untrusted code, it's me :P
21:16:43 <elliott> You are LITERALLY THE WORLD EXPERT.
21:16:53 <quintopia> < Gregor> CakeProphet: Literally - every - purpose. <-- I C WUT U DID THAR
21:17:02 <elliott> Gregor: I daresay codepad might be even more paranoid than HackEgo :P
21:17:57 <elliott> 01:27:26: <Gregor> Patashu: Robocode is VM'd, sandboxing a VM is boring.
21:17:58 <elliott> A VM like x86
21:18:57 <fizzie> 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 <elliott> fizzie: Perl is gud
21:29:20 <fizzie> 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 <elliott> fizzie: Go on then.
21:29:46 <elliott> n-oble. t-ruthful. i-ntimate. n-atural. e-namous. happy "valentines
21:29:46 <elliott> day! sorry, couldn't i have had enough from you and family while
21:29:46 <elliott> ah..heh. lucky i nvr do"
21:29:46 <fizzie> Are you sure that's: a good idea.
21:29:52 <elliott> fizzie: juz finish eating soon?...or just started dont stop?....
21:29:57 <elliott> fizzie: It's better than the darwin corpus
21:30:03 <elliott> (Don't remove the darwin corpus)
21:30:47 <fizzie> Well, if you're sure. Will take a moment.
21:31:07 <elliott> "whatever haha cos i quite sui bian tai tai life lor cos i din
21:31:07 <elliott> say dat u hav brain tumour. pappu offered to help you with microsoft
21:31:07 <elliott> when u're confuse ho"
21:31:19 <elliott> drinkwater ma? blink together, cry together to9?
21:33:07 <fizzie> ^save
21:33:08 <fungot> OK.
21:33:13 <fizzie> ^raw QUIT :NOOOOO
21:33:13 -!- fungot has quit (Quit: NOOOOO).
21:33:49 <elliott> RIP gunfgot
21:33:53 -!- fungot has joined.
21:33:58 <fizzie> ^style sms
21:33:58 <fungot> Selected style: sms (National University of Singapore SMS corpus, 2011-08-20)
21:34:25 <fizzie> fungot: Are you, or are you not, "hip"?
21:34:26 <fungot> fizzie: break for dinner. i am very tensed up.. u must have taken. tsk tsk
21:34:28 <elliott> Hmm, I thought it smelled dialect-y.
21:34:32 <elliott> Singapore would explain it.
21:34:35 <elliott> Well, pidgin-y.
21:34:39 <elliott> fungot: BABY.
21:34:39 <fungot> 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 <CakeProphet> fizzie: what is hip?
21:39:17 <fizzie> elliott: Country distribution: http://p.zem.fi/wbrg
21:39:18 <elliott> 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 <fungot> elliott: now i say lo miss eu.dipx dipx where got always bluff me say u sleeping
21:39:31 <elliott> fungot: The correct answer was to "drop it like it's hot".
21:39:31 <fungot> 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 <elliott> fizzie: Isn't SG = Singapore?
21:39:54 <fizzie> Yes. The data, it's not very consistent.
21:40:16 <fizzie> MY is also Malaysia.
21:40:21 <fizzie> (IIRC.)
21:41:23 <fizzie> They kept saying "lor" a lot at least in the older corpus.
21:41:28 <CakeProphet> US is United States and also another pronoun. :3
21:41:32 <fizzie> Had to go to Urban Dictionary to look up that.
21:41:38 <elliott> fizzie: I guessed about MY.
21:41:50 <elliott> fungot: Lor
21:41:50 <fungot> 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 <elliott> fungot: I see
21:42:12 <fizzie> fungot: Your cutoff is very impolite.
21:42:12 <fungot> fizzie: today i am in cbe only. but have to seek. hee
21:42:18 <elliott> fizzie: So how long until fungot can handle a five-DVD corpus
21:42:18 <fungot> 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 <elliott> I'm sure you have enough drives lying around to stuff into one machine
21:43:59 <CakeProphet> fungot is the man with the plan
21:43:59 <fungot> 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 <fizzie> 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 <elliott> fizzie: I gather.
21:44:51 <elliott> fizzie: I guess you'd just have to split the DVDs into a lot of files.
21:45:33 <elliott> ?unmtl StateT b m r
21:45:33 <lambdabot> b -> m (r, b)
21:45:41 <fizzie> 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 <CakeProphet> @hoogle b -> m (r, b)
21:46:16 <lambdabot> Control.Monad.State.Lazy runStateT :: StateT s m a -> s -> m (a, s)
21:46:17 <lambdabot> Control.Monad.State.Strict runStateT :: StateT s m a -> s -> m (a, s)
21:46:17 <lambdabot> Data.Graph.Inductive.Query.Monad apply' :: Monad m => GT m g a -> g -> m (a, g)
21:47:18 <CakeProphet> @src IdentityT
21:47:18 <lambdabot> Source not found. Do you think like you type?
21:49:27 <elliott> > fmap (const "a") (9,"b")
21:49:28 <lambdabot> (9,"a")
21:49:40 <elliott> great
21:50:32 <fizzie> > "a" <$ (9, "b")
21:50:33 <lambdabot> (9,"a")
21:50:36 <fizzie> INFIX POWAR.
21:51:25 <elliott> Yes yes.
21:51:34 <fizzie> 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 <fizzie> It's even part-of-speech tagged and all.
21:51:57 <Gregor> <elliott> Gregor: I daresay codepad might be even more paranoid than HackEgo :P // LIES
21:51:59 <elliott> verb sponge
21:52:12 <fizzie> elliott: Have you been a verb sponge lately.
21:52:13 <elliott> fizzie: You have to make tha tfit into fungot :P
21:52:13 <fungot> 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 <elliott> 02:19:20: <CakeProphet> 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 <elliott> > sqrt (-1) :: Complex
21:56:05 <lambdabot> Expecting an ordinary type, but found a type of kind * -> *
21:56:10 <elliott> > sqrt (-1) :: Complex Double
21:56:11 <lambdabot> (-0.0) :+ 1.0
21:56:13 <elliott> defaulting, hth
21:56:19 <elliott> 02:20:27: <CakeProphet> but then sqrt would have to be Complex a -> Complex a
21:56:20 <elliott> :t sqrt
21:56:20 <lambdabot> forall a. (Floating a) => a -> a
21:56:22 <elliott> hth
21:56:41 <elliott> 02:27:23: <CakeProphet> type IO a = RealWorld -> (a, RealWorld)
21:56:46 <elliott> GH-
21:56:47 <elliott> 02:30:37: <CakeProphet> yeah GHC defines IO as: newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
21:56:49 <elliott> right
21:56:55 <Phantom_Hoover> > sqrt (0:+1) :: Complex
21:56:56 <lambdabot> Expecting an ordinary type, but found a type of kind * -> *
21:56:59 <Phantom_Hoover> > sqrt (0:+1) :: Complex Double
21:57:00 <lambdabot> 0.7071067811865476 :+ 0.7071067811865475
21:57:00 <elliott> 02:32:12: <zzo38> With such kind of thing, how would return and >>= be implemented?
21:57:00 <elliott> see GHC source
21:58:10 <elliott> 02:57:13: <CakeProphet> I do like the fungespace idea as well, as it would create quite a bit of complexity.
21:58:10 <elliott> 02:57:25: <Gregor> I just feel like that's too much X-D
21:58:32 <elliott> 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 <elliott> I mean, "fungespace" is sooo vague.
21:58:59 <elliott> Fungespace is just a very large to infinite two-dimensional space
21:59:01 <elliott> With wrapping
21:59:26 <elliott> 03:06:18: <ais523> hmm, it seems that the space shuttle Enterprise and the starship Enterprise are actually named after each other
21:59:26 <elliott> 03:06:44: <ais523> due to Star Trek retroactively changing their canon after the space shuttle was named after the starship
21:59:38 <elliott> If you mean the Enterprise in the show Enterprise, it isn't strictly a retcon
21:59:54 <elliott> It's just "Here's this ship that fits into canon without contradiction DESPITE being completely ridiculous to do so"
22:00:03 <elliott> Just NOBODY CARED ABOUT THE FIRST WARP SHIP BEFORE NOW
22:00:08 <elliott> It was all about the SECOND Enterprise, oh yeah
22:00:42 <elliott> Now the question is, in Star Trek canon, was the shuttle Enterprise named after the popular TV series Star Trek?
22:01:07 <Gregor> elliott: The TV series may or may not exist in its own canon :P
22:01:24 <elliott> 03:20:07: <zzo38> Do you know if a Char type in Haskell is allowed to store values that are not valid Unicode code points?
22:01:31 <elliott> zzo38: You know that the Haskell specification is available online?
22:01:36 <elliott> http://www.haskell.org/haskellwiki/Language_and_library_specification
22:01:54 <elliott> "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 <elliott> The reference is just
22:02:06 <elliott> [2] Unicode Consortium. Unicode standard. http://unicode.org/standard/standard.html.
22:02:16 <elliott> So no, Char must range over all Unicode characters and nothing else.
22:02:25 <elliott> 03:26:53: <CakeProphet> so I guess it uses UTF-26 by default.
22:02:25 <elliott> 03:26:58: <CakeProphet> *16
22:02:30 <elliott> UTF-32; Unicode is twenty-one bits.
22:02:38 <Gregor> No, UTF-26 X-D
22:02:45 <elliott> 03:29:13: <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 0 :: [Char])
22:02:46 <elliott> 03:29:18: <EgoBot> ​""
22:02:46 <elliott> 03:29:29: <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 1231251212512 :: [Char])
22:02:46 <elliott> 03:29:33: <EgoBot> ​""
22:02:48 <elliott> 03:29:40: <CakeProphet> or, empty strings?
22:02:50 <elliott> 03:29:42: <CakeProphet> I guess?
22:02:52 <elliott> pointer tagging. HTH.
22:02:54 <elliott> the tag on those is for the first constructor, i.e. []
22:02:58 <elliott> so no dereferencing happens
22:03:25 <elliott> > logBase 2 0x10FFFF
22:03:26 <lambdabot> 20.087461546321563
22:03:31 <elliott> Gregor: UTF-20.087461546321563
22:03:45 <elliott> 03:32:23: <CakeProphet> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char)
22:03:45 <elliott> 03:32:27: <EgoBot> Left
22:03:45 <elliott> 03:32:34: <CakeProphet> I wonder what that even means.
22:03:45 <elliott> 03:32:38: <zzo38> It is only "Left", not the value?
22:03:47 <elliott> 03:32:55: <CakeProphet> it's some kind of garbage value I guess.
22:03:49 <elliott> It segfaults
22:03:51 <elliott> !haskell import Unsafe.Coerce; main = print (unsafeCoerce 'a' :: Either Int Char) >> print 99
22:03:59 <EgoBot> Left
22:04:00 <elliott> Gregor: ?
22:04:02 <elliott> There we go
22:04:12 <elliott> !haskell import Unsafe.Coerce; main = putStrLn (show (unsafeCoerce 'a' :: Either Int Char) ++ "a")
22:04:18 <EgoBot> Left
22:04:38 <elliott> oh, you proved that later, heh
22:05:06 <elliott> 04:08:53: <CakeProphet> I don't think (#) is ever used outside of ghc intermediate language
22:05:08 <elliott> It is.
22:05:27 <elliott> 04:04:19: <CakeProphet> ? = any kind, (#) = unboxed tuple, ?? = * or #, # = unboxed type, * = boxed type
22:05:29 <elliott> Any _type_, not any kind.
22:05:44 -!- cheater has quit (Read error: Operation timed out).
22:05:55 <elliott> 05:14:25: <Gregor> 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 <elliott> 05:15:17: <CakeProphet> shouldn't they just, kind of travel along?
22:05:56 <elliott> 05:15:27: <CakeProphet> and duplicate on branches?
22:05:56 <elliott> 05:16:51: <Gregor> Yeah, but there are lots of branches.
22:05:59 <elliott> Gregor: Duplicating on branches sounds wrong
22:06:11 <Gregor> elliott: That's Wireworld.
22:06:22 <fizzie> 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 <elliott> Gregor: I gather WireWorld is pretty wrong.
22:06:37 <Gregor> elliott: Wireworld is pretty AWESOME
22:06:41 <elliott> > fromEnum 0x10FFFF :: Char
22:06:42 <lambdabot> Couldn't match expected type `GHC.Types.Char'
22:06:42 <lambdabot> against inferred type...
22:06:47 <Phantom_Hoover> elliott, wrong?
22:06:47 <elliott> > chr 0x110000 :: Char
22:06:48 <lambdabot> *Exception: Prelude.chr: bad argument: 1114112
22:06:56 <elliott> fizzie: Tada.
22:07:03 <elliott> > '\0x110000'
22:07:04 <lambdabot> <no location info>:
22:07:04 <lambdabot> lexical error in string/character literal at chara...
22:07:07 <elliott> > '\x110000'
22:07:08 <lambdabot> <no location info>:
22:07:08 <lambdabot> lexical error in string/character literal at chara...
22:07:09 <elliott> > '\U110000'
22:07:10 <lambdabot> <no location info>:
22:07:10 <lambdabot> lexical error in string/character literal at chara...
22:07:14 <elliott> > 'fuck you'
22:07:15 <lambdabot> <no location info>:
22:07:15 <lambdabot> lexical error in string/character literal at chara...
22:07:22 <elliott> fizzie: hth
22:07:30 <fizzie> I don't think that really helped.
22:07:34 <elliott> http://codu.org/tmp/conf1.png
22:07:35 <elliott> Gregor: Eyes
22:07:38 <elliott> fizzie: <elliott> > chr 0x110000 :: Char
22:07:38 <elliott> <lambdabot> *Exception: Prelude.chr: bad argument: 1114112
22:07:54 <Gregor> elliott: http://codu.org/tmp/config.png This is the new starting config.
22:08:17 <fizzie> 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 <elliott> 06:36:47: <oerjan> 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 <elliott> That's not really a common choice nowadays :P
22:09:05 <elliott> Gregor: What happened to eys
22:09:06 <elliott> eyes
22:09:17 <Gregor> elliott: They grew :P
22:09:20 <elliott> fizzie: Ah.
22:09:29 <elliott> Gregor: They don't look like eyes any more
22:09:36 <elliott> I mean the yellow things
22:09:37 <Gregor> elliott: Neither does your mom.
22:09:38 <elliott> In case that is not obvious
22:09:47 <Gregor> Yes, I gathered that :P
22:10:02 <Gregor> elliott: The old configuration had more than its fair share of problems.
22:10:05 <Gregor> The new configuration is much more stable.
22:10:11 <elliott> 06:42:50: <quintopia> what is tiling
22:10:12 <elliott> 06:43:00: <oerjan> quintopia: horrible stuff
22:10:12 <elliott> The channel gets HEATED.
22:10:24 <elliott> Gregor: Dude, I'm just commenting on your different drawing of electrons.
22:10:32 <elliott> Oh, wait
22:10:38 <elliott> Are the eyes like
22:10:41 <Gregor> elliott: The only difference in how they're drawn is that the second one is drawn 2x :P
22:10:41 <elliott> Electron + powered wire?
22:10:46 <Gregor> It's electron + wire, yes.
22:10:48 <elliott> Right
22:10:55 <Gregor> The electron proper is just two pixels (head+tail)
22:11:03 <elliott> Head+tail model is really ugly
22:11:47 <elliott> 06:52:33: <evincar> So I'm thinking of making little concatenative language where, nominally at least, the one datatype available is a cons-list.
22:11:47 <elliott> Joy.
22:11:55 <Gregor> elliott: That - is - Wireworld >_<
22:11:58 <elliott> (That's not sarcasm, but it might become it; I mean the language Joy.)
22:11:59 <elliott> Gregor: I know.
22:12:02 <elliott> Gregor: I'm dissin' wireworld.
22:12:10 <Gregor> elliott: And what CA would YOU prefer X_X
22:12:29 <elliott> Gregor: My name is Johny, what the F**K?????
22:12:36 <elliott> Has a nicer model than head-tail
22:13:00 -!- Patashu has joined.
22:13:08 <Gregor> elliott: I seeeeeeeeeeeeee :P
22:13:32 <elliott> Gregor: (Deletion log); 20:47 . . Ais523 (Talk | contribs) (deleted "My name is Johny, what the F**K?????": offtopic, probable spam)
22:13:40 <elliott> See also: last two entries on http://esolangs.org/wiki/User:ehird
22:13:40 <Gregor> Ahhh :P
22:13:49 <elliott> It's a CA-ish esolang I'm developing :P
22:13:55 <elliott> Similar to wireworld in that it has wires.
22:14:18 <elliott> My snowman user page is SO GREAT, jeez.
22:14:43 <Gregor> Hard to argue with that.
22:14:49 <Gregor> I'mma rip it off but use a goat.
22:15:29 <elliott> Gregor: Let's put it this way
22:15:33 <elliott> http://esolangs.org/w/index.php?title=User:Ehird&action=history
22:15:39 <elliott> Check every single revision I've made to the page to get it working
22:15:41 <elliott> And you can rip it off
22:15:49 <elliott> Some of them even have edit summaries.
22:16:12 <elliott> Note: Your browser may lag :P
22:16:17 <Gregor> elliott: I like how "compare revisions" is just totally broken.
22:16:50 <elliott> 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 <elliott> So I had to save every time I wanted to check a new revision.
22:17:03 <Gregor> lol
22:17:07 <elliott> (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 <elliott> (I have a list made out of i and u elements.)
22:17:20 <elliott> (This was before Template:div and Template:span existed.)
22:18:00 <elliott> I really love how you can't edit Template:div and Template:span without changing them.
22:19:29 <elliott> 07:28:37: <evincar> In a stack-based language I'm not sure.
22:19:30 <elliott> 07:28:43: <evincar> (NB: I'm going with prefix syntax.)
22:19:32 <elliott> neat, so your program runs backwards
22:20:16 <monqy> and it's all about term rewriting???
22:20:25 <monqy> what is evincar thinking: the game
22:20:27 <Gregor> elliott: So what's this CA then
22:20:30 <Gregor> I can't find it.
22:20:42 <elliott> Gregor: <elliott> It's a CA-ish esolang I'm developing :P
22:20:50 <Gregor> I know that much >_<
22:20:58 <elliott> Gregor: "Developing", i.e. have not already developed fully
22:21:05 <elliott> Gregor: You can ask me for ideas though :-P
22:21:22 <Gregor> Well, so far your only complaint against Wireworld is irrelevant *shrugs*
22:21:36 <Gregor> I don't deny that there are legit problems with it, but its form of electrons ain't one of 'em.
22:21:40 <elliott> Gregor: My complaint is that it's ugly :P
22:21:44 <Gregor> *waaah*
22:22:07 <elliott> 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 <Gregor> I'm yet to see your magical CA that "solves" this "problem".
22:23:10 <elliott> Uhh... by doing it in a different way?
22:23:24 <Gregor> Tell me what that way is.
22:23:27 <elliott> You like to call everything different to anything magical :P
22:23:40 <elliott> Gregor: There's tons of ways you can do it,
22:23:45 <Gregor> Such as
22:23:50 <elliott> THE COMMA DENOTES I'M STILL TYPING
22:23:57 <elliott> 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 <elliott> ;
22:24:18 <elliott> Gregor: Or having four signal cell types (colours), one for each cardinal direction
22:24:31 <Gregor> elliott: First one's tough to turn off, second one's even more gross.
22:24:36 <elliott> 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 <elliott> Or just have them turn automatically
22:24:46 <elliott> Gregor: It's not more gross if you're using ASCII rather than colours
22:25:03 <elliott> Gregor: Anyway, you can turn it off with a virus that walks along a wire removing signal blocks
22:25:12 <elliott> And which DOES split on branches :P
22:25:24 <elliott> FINALLY YOU CAN CLONE LACK OF ENERGY
22:25:38 <Gregor> Soooo, you've got a CA that's ten times as complicated, AND a huge pain :P
22:25:52 <Gregor> Glad you've removed tails though!
22:26:17 <elliott> 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 <elliott> Heck, make signals split too, for obvious reasons
22:26:31 <elliott> Sooo hard
22:26:46 <elliott> And WireWorld isn't exactly the paragon of simplicity :P
22:26:49 <Gregor> 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 <elliott> I don't see how it's a huge pain either
22:26:59 <elliott> Gregor: Mmnope?
22:27:05 <elliott> Gregor: Have detaching a wire (however you do that) produce a virus
22:27:06 <zzo38> 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 <elliott> Things can't just "move" in CAs :P
22:27:15 -!- Sgeo_ has joined.
22:27:26 <Sgeo_> I accidentally left #esoteric o.O
22:28:28 <Gregor> 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 <elliott> Gregor: Anyway, I don't see what's wrong with having them act like RAM
22:29:01 <elliott> Are you going for gritty realism
22:29:24 <zzo38> Do I need to give this Haskell program a fully qualified module name? Or will it work without?
22:29:31 <elliott> 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 <Gregor> 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 <elliott> And a high-energy spreads to a low energy by halvings
22:29:40 <elliott> halving
22:29:44 <elliott> That way, wires have limited length too
22:29:47 <elliott> That's cool
22:29:53 <elliott> And can persist for a short time after losing their power source
22:29:54 <Gregor> Now ... they're ditches :P
22:30:00 <elliott> Gregor: Not trying to get closer to the electronics paradigm
22:30:01 <Gregor> And power is water
22:30:11 <elliott> I just mentioned spreading being more realistic than blips moving about, which it is :P
22:30:17 <Gregor> <elliott> Gregor: For instance having a signal spread along a wire rather than moving, like real electronics,
22:30:22 <elliott> Gregor: Yes
22:30:24 <Gregor> Pfff
22:30:26 <elliott> Gregor: That specific point is more like real electronics
22:30:30 <elliott> I don't care about realism
22:30:40 <elliott> Anyway, whether I've turned it into WaterWorld or not, you have to admit that's a cool model :P
22:30:51 <Gregor> Yeah, the irrigation mechanism isn't bad.
22:31:24 <Gregor> 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 <elliott> 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 <elliott> Also, you basically ARE inventing a CA and a game, because you have to make modifications to the CA state
22:32:23 <elliott> Gregor: Also it would look So Cool because you could have lower power states look closer to wires.
22:32:32 <elliott> So you'd see the power pulsing across :D
22:32:49 <elliott> In fact I think it'd lead to a looping gradient on any wire moving along
22:33:04 <elliott> Or at least some sort of flickering
22:34:38 <elliott> Gregor: Welp, I think I just invented Johny's new model :P
22:37:30 <Gregor> elliott: Luckily, my CA's pretty interchangeable, so once you get it working, I'll adapt :P
22:37:40 <Gregor> (If it's good)
22:38:04 <Phantom_Hoover> <elliott> Head+tail model is really ugly
22:38:06 <Phantom_Hoover> No it's not.
22:38:45 <elliott> Yes it is.
22:39:06 <elliott> Gregor: But I'd already planned my own immensely-superior game. I'm hurt. :/
22:39:10 <elliott> Can you be more antagonistic?
22:39:37 <Gregor> FFFFFFFUUUUUUUUUUUUUUUUUUUU
22:39:40 <Phantom_Hoover> elliott, why?
22:39:41 <Gregor> I think I have a dead pixel >_<
22:40:15 -!- yourstruly has quit (Quit: Leaving).
22:40:28 <elliott> Gregor: I have a dead seagull.
22:40:32 <elliott> Phantom_Hoover: Because it's ugly.
22:40:37 <elliott> Phantom_Hoover: Because you never want a head without a tail or vice versa.
22:40:41 <elliott> Also because it's two cells.
22:40:44 <elliott> Also because it's: ugly.
22:40:55 <Gregor> Phantom_Hoover: Let me paraphrase.
22:40:59 <Gregor> Phantom_Hoover: <elliott> WAAAAAAAAAAAAH
22:41:04 <Phantom_Hoover> elliott, I'd be more inclined to call direction encoded into state ugly.
22:41:27 <Gregor> Phantom_Hoover: Nothing he's proposed has that
22:41:36 <elliott> Gregor: Yes it does, the one model with one per direction
22:41:38 <Gregor> Nowait
22:41:40 <Gregor> One thing did
22:41:42 <elliott> But then I invented the BEST MODEL.
22:41:43 <Gregor> :P
22:41:47 <Phantom_Hoover> Sorry, I had to skim the discussion.
22:41:56 <elliott> I kind of still want something involving blips travelling in one direction, but I dunno how to do that nicely
22:42:01 <elliott> (Just for the esolang, not for the game)
22:42:03 <Phantom_Hoover> I tried to join it and then elliott went off and talked about some boring crap.
22:42:20 <Gregor> Man, if this dead pixel doesn't go away, I'm gonna be SUPER pissed :'(
22:42:39 <elliott> Phantom_Hoover: Sorry but I invented the BEST MODEL.
22:42:45 <Phantom_Hoover> elliott, what is it.
22:43:42 <elliott> Phantom_Hoover: See above.
22:43:56 <elliott> (Based on the signal spreading model:)
22:43:57 <elliott> <elliott> 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 <elliott> <elliott> And a high-energy spreads to a low energy by halvings
22:44:00 <elliott> <elliott> halving
22:44:00 <elliott> <elliott> That way, wires have limited length too
22:44:00 <elliott> <elliott> That's cool
22:44:00 <elliott> <elliott> And can persist for a short time after losing their power source
22:44:16 <elliott> [...]
22:44:19 <elliott> (not sure about this one:) <elliott> 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 <Phantom_Hoover> elliott, eeew, that's going to have a huge transition table.
22:45:33 <elliott> Phantom_Hoover: Oh come on, the transition table can be generated by a trivial rule.
22:45:47 <elliott> See also: DF's water CA (which I don't know how it works) :P
22:46:13 <Phantom_Hoover> elliott, I just think that having lots of states is really, really inelegant.
22:49:18 <elliott> Phantom_Hoover: That's just deliberately limiting yourself to shallow sets of states by mandating that you unpack the cell structure
22:49:20 <elliott> Pattern matching, yo
22:49:41 <Gregor> My dead pixel won't go awaaaaaaaaaaay :'(
22:51:57 <elliott> Gregor is in the stages of denial
22:51:59 <elliott> How many are there again
22:52:01 <elliott> Five??
22:52:50 <Vorpal> elliott, he used singular. So one
22:53:14 <Vorpal> (assuming 5 referred to number of dead pixels)
22:53:26 <Phantom_Hoover> *facepalm*
22:53:45 <Vorpal> Phantom_Hoover, real men don't try to figure out the context. Or something.
22:53:48 <Vorpal> bbl
22:54:15 <Phantom_Hoover> 'Context', a word which means 'the two immediately precedent lines'.
22:59:00 <fizzie> Unexploited niche market: pixel funerals for dead pixels?
22:59:21 <fizzie> You could make a coffin out of the neighbour pixels and so on.
22:59:40 <fizzie> And then MONETIZE it.
23:00:23 <Patashu> the problem would be writing your coffin displaying and funeral dirge playing program for so many different architectures
23:00:40 <Patashu> well I guess not problem, but lots of ground to cover
23:00:48 <Patashu> if you want to reach your entire dead pixel getting audience
23:01:46 <elliott> Patashu: it is impossible to write portable programs
23:03:40 <Patashu> I guess if you write it for windows 32/64, linux, mac, ios, windows phone and android you have almost everyone
23:03:52 <Patashu> 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 <Deewiant> If you write it for windows 32 you already have almost everyone
23:05:22 <Patashu> why, do people using smartphones not get dead pixels?
23:05:23 <elliott> Patashu: dude.......
23:05:25 <elliott> there are portable libraries..........
23:05:45 <elliott> you can write a program that runs on Windows, anything with X, and OS X's Aqua trivially.......
23:05:54 <Deewiant> I said "almost everyone"
23:05:55 <Gregor> My arms are bloody and there's insulin all over the walls.
23:06:08 <Deewiant> People using smartphones are not part of that group :-P
23:06:09 <elliott> Gregor: Ditto
23:06:11 <Patashu> haha
23:06:20 <elliott> Deewiant: Sure they are, if the group is everyone who gets dead pixels
23:06:34 <elliott> Deewiant: Assuming smartphones includes things which run Java, which is enough for an MMORPG
23:06:35 <Deewiant> Hmm, maybe
23:06:47 <elliott> I forget what the name of that thing is
23:06:52 <elliott> Tibia rings a bell but isn't that a bone
23:06:56 <Patashu> there's a java MMO?
23:06:58 <Deewiant> Runescape?
23:06:59 <elliott> Looks like it's Tibia
23:07:05 <elliott> No, mobile-Java
23:07:11 <elliott> As in "actually runs on shitty phones"
23:07:28 <Deewiant> Runescape ran on computers worse than most modern phones
23:07:41 <elliott> Deewiant: Not worse than phones that can only run Java stuff
23:07:50 <Deewiant> Yes, worse than those as well
23:08:00 <elliott> Well, maybe :P
23:08:27 <Gregor> SUCCESS
23:08:32 <elliott> 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 <Gregor> In giving Tia her insulin, not in getting rid of my dead pixel.
23:08:38 <elliott> Series forty?
23:08:54 <elliott> Gregor: Is Tia your pet name for your walls
23:08:57 <fizzie> S40 is what does J2ME mostly.
23:09:08 <fizzie> It's the "not Symbian but can still do stuff" series.
23:10:00 <Gregor> elliott: Tia is my cat :P
23:10:20 <fizzie> 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 <elliott> Gregor: Your walls are a cat?
23:10:43 <elliott> fizzie: "Qt-able" -- I doubt it'll run a regular desktop Qt app :P
23:10:55 <fizzie> No, but Qt is what you're supposed to use to develop for it.
23:11:03 <Gregor> elliott: Yes.
23:11:20 <elliott> Gregor: Okay.
23:13:24 <fizzie> 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 <fizzie> 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 <fizzie> "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 <elliott> fizzie: Meego is pretty dead isn't it
23:15:51 <elliott> I wonder what's happening to maemo
23:15:58 <fizzie> I think Intel might push out a few "netbooks" running it.
23:16:13 <fizzie> On phones I don't think it's going to have a very bright future.
23:16:22 <elliott> I forget what happened; what happened?
23:17:00 <fizzie> And Maemo's completely community-supported nowadays.
23:17:20 <Gregor> s/-/-un/
23:18:48 <fizzie> 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 <elliott> So there is a new game show on television here called "Epic Win". It is exactly as bad as it sounds.
23:19:12 <Patashu> Oh dear
23:19:31 <fizzie> 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 <elliott> 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 <elliott> Goodnight.
23:19:41 * elliott dies.
23:20:04 <elliott> fizzie: You didn't actually remind me what happened to MeeGo. :p
23:20:15 <Patashu> http://en.wikipedia.org/wiki/Epic_Win Welp
23:20:43 <Gregor> <elliott> 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 <fizzie> 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 <elliott> Gregor: You're dead?
23:21:00 <Gregor> elliott: Yes, I'm a zombie.
23:21:03 <elliott> fizzie: That's a thing that happened? wow.
23:21:05 <elliott> [asterisk]Wow.
23:21:08 <elliott> Gregor: Ah.
23:21:15 <elliott> Gregor: Try watching "Epic Win", you might somehow die twice.
23:22:30 <fizzie> 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 <elliott> `addquote <fizzie> 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 <HackEgo> 609) <fizzie> 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 <elliott> fizzie: Wonder what the long-term support on that'll be like :P
23:24:50 <fizzie> "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 <fizzie> It'll be like that.
23:25:09 <fizzie> Also I wouldn't count on any "promised software updates".
23:25:14 <zzo38> Do you know about the Glk library?
23:25:45 <fizzie> 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 <fizzie> 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 <Gregor> CakeProphet: How DARE you not be here.
23:28:18 <elliott> Gregor: I'm like CakeProphet but I say smart things, try me
23:28:24 <fizzie> 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 <fizzie> (And it still works better than Android-on-N900.)
23:29:02 <Gregor> elliott: So the only commands a client needs are move, build and destroy, yes?
23:29:26 <elliott> 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 <elliott> Like, delete one cell and they completely break.
23:29:51 <elliott> Or does it move some sort of in-game avatar?
23:29:58 <elliott> Forgive me, I skimmed the logs, so I need some rough context :-P
23:30:17 <Gregor> It moves an in-game avatar, and "build" and "destroy" are only honored if the move is actually legal.
23:30:29 <fizzie> 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 <elliott> 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 <elliott> I'd just have build [direction] and destroy [direction]
23:31:10 <Gregor> elliott: You can only build and destroy in a direction, yes.
23:31:20 <elliott> Right.
23:31:24 <elliott> When would they ever be invalid, then?
23:31:38 <Gregor> If you try to build over something that has to be destroyed first, for instance.
23:32:02 <Gregor> 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 <elliott> Gregor: Wouldn't it just be a nop then, since it'd be destroying and rebuilding something for no reason
23:32:13 <elliott> And what you actually want is to make sure that it's a wire cell
23:32:15 <elliott> Which it is, if it already is
23:32:28 <elliott> As opposed to destroying and recreating which takes longer and has side-effects in the meantime
23:32:32 <elliott> <Gregor> 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 <elliott> Hmm, right
23:32:38 <elliott> Gregor: You can't build anything but wires, right?
23:32:38 <Gregor> To make the protocol more general for future CAs, I was going to have what you're building be specified.
23:32:42 <elliott> That's how I'd do it, at least
23:32:47 <Gregor> Yeah, you can only build wires.
23:32:57 <elliott> Weeell, a generic protocol isn't really important, I wouldn't say
23:33:01 <elliott> Because you have to rewrite your AI anyway if the CA changes
23:33:11 <elliott> Gregor: Hmm
23:33:15 <elliott> Gregor: Make it turtle based
23:33:17 <Gregor> Yeah, but having the CA pluggable into the server without changing it otherwise would be nice *shrugs*
23:33:30 <Gregor> "turtle based" = "LOGO based"?
23:33:30 <elliott> turnL, turnR, forwards, build, destroy
23:33:36 <elliott> Gregor: Turtle-graphics based
23:33:45 <elliott> But only cardinal directions
23:33:47 <elliott> So not LOGO
23:33:55 <Patashu> one issue I see: an agent following an enemy agent could immediately undo anything it does
23:33:57 <Patashu> nullifying it
23:34:01 <Gregor> It could include NW, NE, SW, SE.
23:34:01 <elliott> Gregor: But that's nicer because building a line is faster than, like, building in random directions
23:34:10 <Gregor> Patashu: Destroy isn't immediate.
23:34:11 <elliott> Gregor: Hmm
23:34:18 <elliott> Gregor: Yeah, that's nicer, Moore neighbourhood
23:34:28 <elliott> But point is, it's a nicer model :P
23:34:29 <Patashu> but it's easier to mess things up than create useful things in any CA
23:34:30 <Gregor> Otherwise I like that.
23:34:34 <elliott> And of course moving takes a tick
23:34:42 <Gregor> Patashu: That's why we put a hefty price on destruction.
23:34:44 <elliott> So U-turning takes a short while
23:34:46 <elliott> Which intuitively makes sense
23:34:51 <elliott> What's the hefty price on destruction
23:34:52 <Patashu> ah ok
23:34:57 <elliott> Do you have like a currency -- build units?
23:35:09 <Gregor> elliott: We considered various resources, then just decided time was the best one.
23:35:16 <elliott> 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 <elliott> That way, you can't just camp out somewhere, you have to destroy other mechanisms to build bigger ones.
23:35:34 <Gregor> Hmmmmmmmmmmmmmm
23:35:35 <Patashu> but in a wireworldish CA, you can destroy by creating too
23:35:50 <elliott> 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 <elliott> So building bigger is useful for camping out purposes
23:36:01 <elliott> So building should ostensibly cost something
23:36:20 <elliott> The problem then is, if destroying takes a while, it's really hard to build beyond your initial inventory
23:36:23 <Gregor> 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 <elliott> If it's fast, then it's too easy to bulldozer things
23:36:50 <Gregor> 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 <Gregor> Still, I do like the notino.
23:36:55 <Gregor> *notion
23:37:16 <elliott> 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 <elliott> Maybe if it was like MC, and you had to repeatedly attack to destroy?
23:37:39 <elliott> That requires hidden state or a combinatorial explosion of cell types though
23:37:41 <Gregor> elliott: Well yeah, exactly.
23:37:49 <Gregor> It has that (not-actually) hidden state right now, damage.
23:38:00 <elliott> Damage to what?
23:38:04 <Gregor> Cells.
23:38:09 <elliott> If you mean the agents, that's okay, because they're kind of outside the game.
23:38:13 <elliott> Gregor: Why do cells have damage
23:38:20 <Gregor> To destroy wires.
23:38:29 <Gregor> The damage doesn't affect their behavior, so it's not a part of the CA proper.
23:38:50 <elliott> Gregor: Umm, you only need the agent to have state for that
23:39:01 <elliott> Make it turn into a one-hit agent, two-hit agent, three-hit agent, four-hit agent, (block breaks) normal agent
23:39:09 <elliott> Rather than introducing hidden state into every f'n cell :P
23:39:18 <Gregor> Oh no, not one byte per cell ...
23:39:21 <Gregor> And again, it's not hiden.
23:39:23 <Gregor> *hidden
23:39:35 <elliott> OK, how's it not hidden?
23:39:39 <Gregor> Agents see it.
23:39:56 <elliott> Gregor: Hmm
23:40:12 <elliott> Gregor: I'd rather have that be, agents see another agent going into dig state
23:40:23 <elliott> Like, you're not looking for damaged cells, you're looking for agents that are damaging your construction :P
23:40:31 <elliott> And you want damage to fade if you kill an agent that's damaging you, I would say
23:40:34 <Gregor> Weren't you just talking about making agent actions primitives/atomic a moment ago :P
23:40:46 <elliott> Gregor: Yep, but evidently destroy has to take some time with the current model
23:40:46 <Gregor> Agents can't kill agents.
23:40:51 <elliott> How'd you win then
23:40:55 <Gregor> It's CTF.
23:41:23 <elliott> Hmm
23:41:33 <elliott> Gregor: Well OK, but does damage fade if it's not being destroyed?
23:41:39 <elliott> Because I still think it's more elegant as a change in agent-state
23:42:22 <Gregor> 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 <Gregor> Besides, why would cells magically heal themselves?
23:42:39 <elliott> Nanobots
23:42:53 <elliott> Gregor: Or if you see damage as being done by bending a wire so hard it breaks, then it creaks back :-)
23:43:03 <Patashu> 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 <Patashu> 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 <elliott> Gregor: But anyway, if damage is a cell property, then it should DEFINITELY be "hit" per tick
23:43:51 <Gregor> In yo electronics, axin' yo wires
23:43:57 <Gregor> elliott: Yes, of course.
23:44:15 <elliott> Gregor: I dunno, I feel like trying to destroy an agent block should do SOMETHING :P
23:44:18 <elliott> (wrt killing)
23:44:24 <Gregor> But agents aren't a block ...
23:44:30 <elliott> Gregor: Oh, they aren't?
23:44:35 <elliott> They're just... invisible?
23:44:47 <elliott> That seems... odd that agents can move around the world and yet don't actually exist.
23:44:51 <Gregor> Well, I haven't decided if they're visible yet, but their presence doesn't influence the CA, only their action.
23:44:56 <Patashu> Not really, it's like the IP in befunge
23:44:57 <elliott> Well, yeah
23:45:01 <elliott> But you can model that from within the CA
23:45:08 <elliott> Gregor: They can't move past blocks that aren't space, right?
23:45:14 <Gregor> elliott: To be determined.
23:45:29 <elliott> 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 <Patashu> I have an idea
23:45:42 <elliott> You can't model it from within the CA without colour explosion if they can be over another type of block
23:45:44 <Patashu> 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 <elliott> Also encasing agents in wires sounds awesome
23:45:59 <Patashu> Now it is a stealth mission
23:46:00 <Gregor> elliott: Hmmmmmmmmmmm, hard to argue with that ...
23:46:21 <Gregor> Patashu: You could just sit by your flag, ejecting every cell.
23:46:21 <elliott> Gregor: Oh my god, what if you stand at the end of a wire and the blip hits you, PLEASE ELECTROCUTION
23:46:46 <Gregor> elliott: Hmmm, I hadn't considered any direct action of electrons on agents X-D
23:46:47 <Patashu> yeah, needs a cooldown if you fail then
23:47:16 <elliott> Gregor: A spread model makes that ten times more awesome: Electric fences.
23:47:29 <elliott> MEANWHILE :P
23:47:42 <elliott> 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 <elliott> But, I mean, if there's nothing technically disallowed about taking ten seconds to decide what to do each tick...
23:48:11 <Gregor> elliott: The server doesn't wait for more than 1/15th of a second.
23:48:16 <Gregor> If it takes you longer than that, too bad.
23:48:30 <Gregor> I didn't want to solve the halting problem :P
23:48:36 <elliott> Gregor: That... um... sounds like a really bad timeframe?
23:48:40 -!- Libster has joined.
23:48:48 <elliott> Gregor: 0.06 seconds might be easy for C, but...
23:48:58 <elliott> Gregor: I guess you can use threading to figure out things in the background
23:49:03 <elliott> And you have to, anyway, so that you get notified when a new turn starts :P
23:49:27 <Gregor> Uhh, yeah :P
23:50:26 <Gregor> 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 <Gregor> I don't want to wait days to see who wins.
23:51:27 <elliott> Gregor: Sure, but maybe... 0.2 or 0.3s? That's not really that long to wait for a CA update.
23:51:38 <elliott> I guess 0.06 is more realtime.
23:52:01 <Gregor> 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 <elliott> fizzie: (Oblig. ping for /msg.)
23:53:54 <elliott> Gregor: True.
23:54:22 <elliott> 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 <elliott> Gregor: OMG, that is really awesome; you have to turn to see things behind you.
23:54:34 <elliott> Turtle graphics model: suddenly the best.
23:54:41 <elliott> That makes looking diagonally a bit awkward >_>
23:54:46 <Gregor> A view radius, which I was thinking is a square /around/ you, but I suppose it could be either ...
23:54:49 <elliott> But for the cardinal directions it's super-perfect :P
23:55:04 <elliott> Gregor: If you can only go "forward", then being able to see behind you is really weird.
23:55:18 <elliott> The problem is looking diagonally.
23:55:23 <Gregor> elliott: You've invented a device known as a rear-view mirror.
23:55:34 <elliott> Gregor: Cars can reverse too
23:55:39 <elliott> <elliott> The problem is looking diagonally.
23:55:44 <elliott> ...which is really nice for Moore-neighbourhoodness,
23:55:48 <elliott> but really bad for viewing range.
23:55:55 <Gregor> Yes, and that's a significant-enough problem that I'm willing to give up forward-vision for it :P
23:55:57 <elliott> I mean, it can be done, it'd just be a bit ugly :P
23:56:05 <elliott> 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 <elliott> Gregor: If you consider build; forward; build; forward; ..., then diagonal directions make very little sense.
23:56:20 <Gregor> elliott: I might with a different CA, but electrons in WW move diagonally.
23:56:21 <monqy> goodbye yours truly
23:56:21 <elliott> Because wires don't work diagonally.
23:56:25 <elliott> Oh, they do?
23:56:27 <Gregor> Yes
23:56:31 <elliott> On straight-diagonal wires?
23:56:33 <Gregor> Yes
23:56:39 <elliott> Hmm
23:57:08 <elliott> Gregor: Well, I mean, you just have to generalise "in front of you" to make it work
23:57:18 <elliott> In terms of seeing "N neighbourhoods in each neighbourhood direction" ahead
23:57:27 -!- yourstruly has joined.
23:57:28 <elliott> It's not actually hard to provide a diagonal view at all
23:57:29 -!- yourstruly has quit (Max SendQ exceeded).
23:57:47 <elliott> Gregor: I mean, in fact, it's easy; it's just a diamond
23:57:50 <Gregor> elliott: But it makes it really hard on the client to generalize >_>
23:58:01 <elliott> Gregor: Well, consider this: You want the "view" to be rotated anyway
23:58:05 <elliott> 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 <elliott> Rotating a square so it's diagonal on a CA field = diamond
23:58:18 <Gregor> elliott: ... FFFFFFFFUUUUUUUUUUUUUU
23:58:18 <elliott> So you just send the diamond as a square
23:58:21 <elliott> Gregor: What?
23:58:30 <Gregor> You're right, you want to rotate the view, and I didn't think about that :P
23:58:35 <elliott> Right
23:58:38 <elliott> So it actually works pretty easily
23:58:49 <elliott> And you can transform it into a "what we've seen of the world" trivially: reverse the rotation, merge it in
23:58:56 <elliott> So yay, diagonal viewing is easy :P
23:58:56 -!- yourstruly has joined.
23:58:57 <Gregor> Except that rotating square cells is grotty ...
23:58:57 -!- yourstruly has quit (Max SendQ exceeded).
23:59:07 <elliott> You just rotate the DIAMOND :P
23:59:11 <elliott> Not what's in it
23:59:14 <elliott> Gregor: Wireworld is symmetrical, right?
23:59:17 <Gregor> Yes
23:59:19 <elliott> Is it symmetrical diagonally?
23:59:26 <Gregor> Yes.
23:59:34 <elliott> Gregor: Then that's absolutely fine if you ask me
23:59:34 <Gregor> The diamond is composed of mis-oriented squares though :P
23:59:48 <elliott> Gregor: Well, like I said, base it on Moore neighbourhoods
23:59:55 <elliott> Somehow
←2011-08-19 2011-08-20 2011-08-21→ ↑2011 ↑all