00:00:01 <elliott> especially since it was uploaded in 2008 :)
00:00:05 <elliott> ais523\unfoog: the latter date, in particular
00:00:31 <elliott> wow, Archive::Zip had no releases from mid-2005 to mid-2009
00:00:45 <kallisti> ais523\unfoog: you can access filehandle refs explicitly with a *foo{THING} but... I'm pretty sure you don't ever need to?
00:01:22 <ais523\unfoog> kallisti: that's for accessing them after they're created, and there'd be no reason to do that if they already existed
00:01:39 <elliott> hmm, GD::Image->loadFromPng is failing, but die "$!" doesn't print anything
00:02:11 <ais523\unfoog> $! is more for failures in external binaries, IIRC
00:02:13 <elliott> ais523\unfoog: thanks, I was just trying to bait someone into giving me another variable to try :)
00:02:28 <elliott> although $@ is empty too :(
00:03:46 <elliott> ais523\unfoog: it returns undef, and not from what I can see
00:03:47 <elliott> $myImage = new GD::Image(100,100) || die;
00:03:51 <elliott> which doesn't do much in the way of error reporting
00:03:59 <elliott> open (PNG,"barnswallow.png") || die;
00:03:59 <elliott> $myImage = newFromPng GD::Image(\*PNG) || die;
00:04:02 <elliott> nothing printing any error
00:07:14 <kallisti> assuming that's the built-in open, open would save an error msg in $@
00:07:47 <kallisti> yeah I guess: something went wrong!
00:07:53 <elliott> ais523\unfoog: hmm, ah, if you have a filehandle in a $foo how do you pass it as a filehandle?
00:07:57 <ais523\unfoog> elliott: ouch at the globally-scoped filehandle names
00:08:10 <elliott> ais523\unfoog: is that $foo, or *$foo?
00:08:31 <ais523\unfoog> open my $foo, '<', 'barnswallow.png'; $myimage = newFromPng GD::Image($foo);
00:08:48 <elliott> ais523\unfoog: hmm, aha, I think I've figured out the problem
00:08:51 <ais523\unfoog> open does a bit of magic to put a filehandle object in $foo
00:08:53 <elliott> ->fh() seems to point to /compressed/ data
00:09:12 <elliott> (I found this by trying to read a line from a known-text file in the archive)
00:09:40 <elliott> extractToFileHandle( $fh )
00:09:40 <elliott> Extract (and uncompress, if necessary) the member's contents to the given file handle. Return AZ_OK on success.
00:09:54 <elliott> now to figure out how to create a file handle to pass to that :/
00:10:04 <ais523\unfoog> elliott: nope, it'll write to a file that the filehandle represents
00:10:07 -!- ais523\unfoog has quit (Remote host closed the connection).
00:10:39 <elliott> kallisti: I'd rather extract it to a string than do that
00:12:18 -!- amtal has quit (Ping timeout: 258 seconds).
00:12:44 -!- sebbu2 has joined.
00:12:44 <kallisti> elliott: you're using Archive:Zip or something?
00:12:44 -!- sebbu2 has quit (Changing host).
00:12:44 -!- sebbu2 has joined.
00:13:02 <elliott> hmm, is / integer division given two integer operands?
00:14:36 -!- sebbu has quit (Ping timeout: 258 seconds).
00:14:48 <kallisti> forced integer division inside its scope
00:14:51 <elliott> kallisti: how do I do integer division, then?
00:14:57 <kallisti> otherwise you could just floor?
00:15:04 <elliott> I suppose I'll just assume nobody will have a broken file :)
00:15:21 -!- aloril has quit (Ping timeout: 244 seconds).
00:16:31 <kallisti> !perl {use integer; print 5/2, ' ' } print 5/2;
00:18:09 <kallisti> Yes, but integer division would be int(5) / int(1.5). Otherwise, you're just rounding the real division. – Rog Feb 12 '09 at 2:56
00:18:21 <kallisti> this person on stackoverflow seems to be confused about what integer division is.
00:25:38 <elliott> THIS FILE IS THE STUPIDEST THING EVER
00:27:36 <elliott> kallisti: let's say you wanted a single png file with a bunch of fixed-size textures in them
00:28:02 <elliott> kallisti: and you already have permanent, allocated 8-bit unsigned integers to identify the things being textured
00:28:16 <elliott> - make the file 16x16, use the already-allocated IDs to index them
00:28:26 <elliott> - make the file 16x16 but put the textures in a completely different order
00:28:27 -!- aloril has joined.
00:28:31 <elliott> with no coherent mapping from the IDs
00:28:39 <elliott> so that anyone who reads it has to maintain a list mapping the layout to real IDs
00:28:43 <elliott> kallisti: CONGRATULATIONS! YOU'RE NOTCH!
00:29:47 <kallisti> elliott: adding one to the many reasons you shouldn't play minecraft
00:30:44 <elliott> kallisti: I'm not playing Minecraft! This computer can't even /run/ Minecraft.
00:31:09 -!- myndzi\ has changed nick to myndzi.
00:31:33 <kallisti> elliott: also I didn't mean play as in playing, I meant play as in play.
00:31:45 <kallisti> English does weird things with present tense so that it actually doesn't mean the immediate present
00:31:49 <kallisti> we use present progressive for that.
00:32:29 <elliott> I play Minecraft. Just not on this computer.
00:32:41 <kallisti> okay. well that's... irrelevant. :P
00:32:48 <elliott> Well, this is currently my only computer.
00:33:13 <kallisti> you run... but your only pair of shoes is made of concrete currently.
00:33:40 <Jafet> Better than abstract shoes
00:34:02 <kallisti> oh my god leftover turkey is so dry
00:34:03 <elliott> http://www.minecraftwiki.net/images/7/78/TerrainGuide.png
00:34:10 <kallisti> I'M CHOKING ON LITTLE BITS OF DRY BIRD MEAT.
00:34:15 <elliott> by keeping track of the font
00:34:24 <elliott> as an alternative to manually maintaining a list
00:35:24 <kallisti> why is that perfectly usable portal texture not being used.
00:35:35 <kallisti> elliott: implement minecraft server with portal gun.
00:35:42 <elliott> Minecraft has portals, you idiot.
00:36:02 <kallisti> but the portal texture says "portal
00:36:23 <elliott> Yes, because the portal texture is done procedurally.
00:37:23 <kallisti> anyway portals to netherasslands does not count as portal gun omg yesssss
00:37:50 <kallisti> if you haven't figured this out by now: I really like portal guns
00:41:15 <elliott> kallisti: what I'm doing now is reading the decompiled source to find the mapping
00:42:17 <elliott> kallisti: it's not that bad, there's a tool to give all the classes and fields good names :P
00:42:37 <elliott> and it's Java, so not much is actually lost apart from names in the decompilation
00:42:44 <kallisti> DecompiledClass1, DecompiledClass2, DecompiledClass3, ...
00:43:05 <elliott> EntityTNTPrimed.java NBTTagShort.java WorldProviderSurface.java
00:43:05 <elliott> EntityVillager.java NBTTagString.java WorldRenderer.java
00:43:05 <elliott> EntityWaterMob.java NetClientHandler.java WorldSavedData.java
00:43:05 <elliott> EntityWeatherEffect.java NetHandler.java WorldSettings.java
00:43:40 <elliott> kallisti: no the filenames are obfuscated.
00:43:44 <elliott> kallisti: people just map out each one on release
00:43:50 <elliott> there are like five thousand mods
00:44:01 <elliott> people do this so it's not incredibly painful to mod it :P
00:44:21 <elliott> kallisti: the bestest thing is, they have a tool to RE-obfuscate everything
00:44:26 <elliott> kallisti: because you can't distribute the full minecraft.jar
00:44:35 <elliott> kallisti: but distributing individual modded .class fails is turned a blind eye to
00:44:46 <elliott> so it has to be re-obfuscated so it works with the rest of the stock classes in the .jar
00:45:21 <kallisti> funny legal things funny modders
00:46:24 <kallisti> what happens when you try to use 10 mods at the same time?
00:47:17 <elliott> kallisti: if they don't touch the same classes: it probably just works
00:47:22 <elliott> kallisti: if they use ModLoader: it just works
00:47:30 <elliott> even if they change the same stuff
00:47:50 <kallisti> is ModLoader a mod or a Notch thing.
00:47:52 <elliott> (well, it almost certainly just works. i'm sure _some_ things conflict even with ModLoader)
00:49:15 <elliott> /kick kallisti being terrible
00:49:46 <kallisti> elliott: Moment of force (often just moment) is the tendency of a force to twist or rotate an object; see the article torque for details. This is an important, basic concept in engineering and physics. A moment is valued mathematically as the product of the force and the moment arm. The moment arm is the perpendicular distance from the point of rotation, to the line of action of the force. The moment may be thought of as a
00:50:28 <elliott> private void renderEntityOnFire(Entity entity, double d, double d1, double d2,
00:51:37 <kallisti> elliott: why'd you paste that?
00:51:48 <kallisti> WHO DESERVES TO POINT THE FINGER?
00:51:56 <kallisti> WHAT IS THE MEANING OF MEANING? WHAT IS WHY?
00:52:09 <elliott> /kick kallisti being terrible
00:52:09 <kallisti> AND MORE IMPORTANTLY, WHY IS WHAT?
00:52:50 <kallisti> A boot is a type of footwear but they are not shoes. Most boots mainly cover the foot and the ankle and extend up the leg, sometimes as far as the knee or even the hip. Most boots have a heel that is clearly distinguishable from the rest of the sole, even if the two are made of one piece.
00:53:20 <Vorpal> kallisti, why are you pasting this?
00:53:39 <Vorpal> <kallisti> to the... hip? really? <-- seems insane
00:53:58 <elliott> private BufferedImage unwrapImageByColumns(BufferedImage bufferedimage)
00:54:00 <Vorpal> well "Hip boots, or waders as they are colloquially called, are a type of boot initially designed to be worn by river fishermen."
00:54:02 <elliott> OK THIS IS STARTING TO GET BETTER
00:54:18 <elliott> int i1 = ai[l] >> 24 & 0xff;
00:54:18 <elliott> int j1 = ai[l] >> 16 & 0xff;
00:54:18 <elliott> int k1 = ai[l] >> 8 & 0xff;
00:54:37 <elliott> trying to find the texture id -> terrain.png index mapping
00:54:46 <kallisti> a pair of field boots enjoying a warm summer day. http://en.wikipedia.org/wiki/File:Fieldboots.jpg
00:54:58 <elliott> Vorpal: i don't want to write my own.
00:55:00 <monqy> they must be friends
00:55:46 <Vorpal> elliott, I assume the mapping will be truly terrible
00:55:57 <elliott> Vorpal: i'm really hoping it's not in uh
00:55:58 <elliott> equation form like the above
00:56:05 <elliott> private TexturePackList texturePack;
00:56:18 <Vorpal> elliott, have you checked that each block object isn't storing a constant of the offset in the texture it wants?
00:56:21 <Vorpal> or something like that
00:56:36 <Vorpal> elliott, it is a possibility
00:56:36 <elliott> Vorpal: i literally hadn't even considered that.
00:56:53 <Vorpal> elliott, well block class rather than block object
00:56:53 <kallisti> that's typically how texture maps are done.
00:57:06 <elliott> Vorpal: is there really a class for every single block?
00:57:20 <Vorpal> elliott, I don't know. I was just suggesting a possibility
00:57:29 <elliott> return blockIndexInTexture;
00:57:32 <Vorpal> elliott, it wouldn't surprise me if each one has a class or such
00:57:55 <elliott> public static final Block planks;
00:57:55 <elliott> public static final Block sapling;
00:57:55 <elliott> public static final Block bedrock;
00:57:55 <elliott> public static final Block waterMoving;
00:58:13 <Vorpal> what on earth is that?
00:58:13 <elliott> Block.java contains a static final instance for every single type of block
00:58:24 <Vorpal> that is an interesting design
00:58:24 <elliott> I bet it's casted to the appropriate subclass
00:58:40 <Vorpal> elliott, where are they instantiated?
00:58:45 <Jafet> OOP. Models anything.
00:58:54 <elliott> i just want to get my data and run.
00:58:56 <Vorpal> elliott, link me to it at least
00:59:11 <elliott> Vorpal: download MCP, run decompile.sh, look at src/minecarft/net/minecraft/src/Block.java.
00:59:21 <augur> elliott: "HAHAHAHAHAHAHAHA FUCK ME"
00:59:22 <Vorpal> seems like too much work
00:59:32 <elliott> Vorpal: download zip -> extract -> cp minecraft.jar -> sh decompile.sh
01:00:01 <Vorpal> elliott, anyway maybe it is all in the constructor:
01:00:19 <Vorpal> this.planks = new Block(id,whatever,whatever)
01:00:31 <Vorpal> elliott, in which case you could handle that easily
01:00:40 <kallisti> why on earth would you set static variables in a constructor
01:00:49 <elliott> Vorpal: i am relatively certain it'll be in the subclasses
01:00:54 <Vorpal> kallisti, the static constructor...
01:01:12 <Vorpal> kallisti, and I can think of nowhere else, since the declaration didn't assign them
01:01:27 <Vorpal> like: public static final Block planks; rather than public static final Block planks = new ...;
01:01:31 <kallisti> elliott: you could probably use grep to make this easier somehow?
01:01:37 <elliott> kallisti: yes I've been gerpping.
01:03:37 <kallisti> elliott: I mean eventually you could probably just grep a pattern that generates a list of every single offset used.
01:04:04 <elliott> yes but i need to find where they are first.
01:04:09 <Sgeo> elliott, is there a nice way to minimize fullscreen Uplink on Linux?
01:04:33 <Sgeo> Doesn't work for me
01:04:38 <Sgeo> Unless I was alt+tabbing wrong
01:04:54 <elliott> stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone");
01:04:55 <elliott> grass = (BlockGrass)(new BlockGrass(2)).setHardness(0.6F).setStepSound(soundGrassFootstep).setBlockName("grass");
01:04:55 <elliott> dirt = (new BlockDirt(3, 2)).setHardness(0.5F).setStepSound(soundGravelFootstep).setBlockName("dirt");
01:04:55 <elliott> cobblestone = (new Block(4, 16, Material.rock)).setHardness(2.0F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stonebrick");
01:04:57 <elliott> planks = (new Block(5, 4, Material.wood)).setHardness(2.0F).setResistance(5F).setStepSound(soundWoodFootstep).setBlockName("wood").setRequiresSelfNotify();
01:05:00 <elliott> sapling = (new BlockSapling(6, 15)).setHardness(0.0F).setStepSound(soundGrassFootstep).setBlockName("sapling").setRequiresSelfNotify();
01:05:03 <elliott> bedrock = (new Block(7, 17, Material.rock)).setBlockUnbreakable().setResistance(6000000F).setStepSound(soundStoneFootstep).setBlockName("bedrock").disableStats();
01:05:06 <elliott> waterMoving = (new BlockFlowing(8, Material.water)).setHardness(100F).setLightOpacity(3).setBlockName("water").disableStats().setRequiresSelfNotify();
01:05:09 <elliott> waterStill = (new BlockStationary(9, Material.water)).setHardness(100F).setLightOpacity(3).setBlockName("water").disableStats().setRequiresSelfNotify();
01:05:12 <elliott> lavaMoving = (new BlockFlowing(10, Material.lava)).setHardness(0.0F).setLightValue(1.0F).setLightOpacity(255).setBlockName("lava").disableStats().setRequiresSelfNotify();
01:05:15 <elliott> Vorpal: I hate you for being right.
01:05:17 <elliott> But, doesn't have the texture index, so ha!
01:05:43 <elliott> protected Block(int i, int j, Material material)
01:05:46 <Vorpal> elliott, I hate me for being right about that
01:05:58 <elliott> button = (new BlockButton(77, stone.blockIndexInTexture)).setHardness(0.5F).setStepSound(soundStoneFootstep).setBlockName("button").setRequiresSelfNotify();
01:06:04 <elliott> So maybe it's in the classes except when it's obvious.
01:06:14 -!- Sgeo|Uplink has joined.
01:06:22 <elliott> stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone");
01:06:28 <elliott> grass = (BlockGrass)(new BlockGrass(2)).setHardness(0.6F).setStepSound(soundGrassFootstep).setBlockName("grass");
01:06:38 <Vorpal> elliott, look: "stone.blockIndexInTexture"
01:06:39 <elliott> protected BlockGrass(int i)
01:06:46 <Sgeo|Uplink> Anyways, going to go get myself disavowed over a 300c fine
01:06:50 <elliott> Vorpal: yes, which is assigned by
01:06:52 <elliott> <elliott> stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone");
01:06:59 <elliott> some classes have the texture index in the file
01:07:30 <elliott> Vorpal: basically only the ones with a texture used in more than one place are done here, I think.
01:07:41 <Vorpal> elliott, even so.... new
01:09:42 <elliott> this code really makes me hate myself.
01:09:58 <Sgeo|Uplink> Going to disconnect to go on the Uplink channel, that won't be the disavow
01:10:00 -!- Sgeo|Uplink has quit (Client Quit).
01:10:07 <elliott> that iterates through each block
01:10:09 <elliott> and prints its ID and index
01:10:23 <elliott> argh i want to DIEEEEEEEEEEEEEEE i hate this so much
01:11:13 <elliott> i have this horrible urge to just
01:11:18 <elliott> which has a texture per file version
01:11:22 <Vorpal> elliott, could this be an artifact of the decompilation?
01:11:27 <Vorpal> that the real code is quite clean?
01:11:33 <elliott> it changes the arity of constructors
01:13:59 -!- amtal has joined.
01:14:18 <elliott> Vorpal: ok i _think_ I have a strategy
01:14:26 <elliott> grep each line, if the constructor arguments are right, then I have the ID and texture index
01:14:33 <elliott> otherwise, look up that class for a line that sets the index
01:14:51 <elliott> WHY CAN'T THIS BE IN A DATA FILE SOMEWHERE
01:27:26 -!- Phantom_Hoover has quit (Quit: Leaving).
01:34:25 <itidus21> lavaMoving = (new BlockFlowing(10, Material.lava)).setHardness(0.0F).setLightValue(1.0F).setLightOpacity(255).setBlockName("lava").disableStats().setRequiresSelfNotify(); -- this is an interesting coding style
01:35:09 <kallisti> I guess itidus has never seen hideous method chaining stuff before.
01:35:22 <elliott> Standard practice in Smalltalk and Objective-C
01:35:34 <itidus21> i haven't seen method chaining before
01:35:42 <kallisti> not really standard but it's commonly used in some libraries.
01:35:50 <kallisti> commin in Python libraries as well.
01:36:03 <elliott> I doubt that, Python libraries don't do explicit setters
01:37:22 <kallisti> some do, it's certainly not encouraged though.
01:37:34 <kallisti> for example pyparsing uses that style, and I think Twisted does in some cases? I don't remember
01:40:15 <itidus21> struct { int x, y, z; } point; point a.x(4).y(6).z(8);
01:40:49 <kallisti> basically the methods just return self/this/whatever
01:40:54 <kallisti> so you can call more methods on the return value.
01:41:06 <itidus21> instead of a.x = 4; a.y = 6; a.z = 8;
01:41:12 <kallisti> they don't necessarily have to be methods that set members, but they usually are.
01:41:17 <itidus21> uh my notations are always messy and inconsistent
01:41:23 * Sgeo suddenly gets a vision of $ chains in Haskell
01:41:38 <Sgeo> That... is sort of like the same thing, isn't it?
01:42:15 <kallisti> unless the functions update a record and then return that record, then sure.
01:42:49 <kallisti> but then it's not quite the same because in this style you're doing in-place operations
01:43:42 <kallisti> so it would be more like calling functions on an IORef via modifyIORef or something.
01:44:30 <elliott> * Sgeo suddenly gets a vision of $ chains in Haskell
01:46:33 <kallisti> elliott: correction: it's not really hideous by itself; it's hideous because that is the /cleanest/ way to do something like that in Java.
01:47:19 <kallisti> I find this highly disconcerting.
01:47:45 <Vorpal> <elliott> WHY CAN'T THIS BE IN A DATA FILE SOMEWHERE <-- not oop enough
01:48:31 <elliott> OK, time to Perl this shit up.
01:49:06 <Vorpal> elliott, you could just compile a few of the java files and link your own java program against it
01:49:21 <elliott> Vorpal: yes, but I don't know how to go from block ID to block. and it'd be harder than just perling up the source
01:49:46 <Vorpal> elliott, well you could do reflection to list the static members of the class I think
01:49:49 <Vorpal> and iterate through them
01:49:53 <elliott> public int getBlockColor()
01:49:57 <Vorpal> probably easier to use perl though
01:50:06 <elliott> Vorpal: that's less preferable than finding how to look up frmo a block id :)
01:50:08 <kallisti> Vorpal: it is always easier to use Perl than Java.
01:50:13 <elliott> Vorpal: but anyway I don't know what the dependencies of this thing is.
01:50:32 <elliott> Vorpal: admittedly, I am not very happy about depending on the MCP to get the indices
01:50:33 <Vorpal> elliott, I thought java had import stuff at the top?
01:50:41 <elliott> Vorpal: yes. i am not going to recursively search for imports
01:51:23 <elliott> <$blocks_java> until /blocksList = new Block\[256\];$/;
01:51:23 <elliott> I have to admit this is a compelling coding style :P
01:51:58 <Vorpal> elliott, I don't understand it
01:52:38 <Vorpal> elliott, very.... perl
01:52:42 <elliott> kallisti: Is there a way to temporarily reassign the default file handle :-)
01:53:33 <Vorpal> <elliott> Vorpal: admittedly, I am not very happy about depending on the MCP to get the indices <-- just parse the bytecode directly
01:54:02 <kallisti> and then anywhere in perl docs where it says "if file handle is omitted, uses the currently selected file handle"
01:54:12 <kallisti> it is now referring to whatever you select'd
01:54:30 <elliott> kallisti: I love how select doubles as the perl thing and select(2)
01:54:59 <elliott> kallisti: so uh is that block-scoped
01:55:03 <kallisti> I'm not actually sure that it doubles as select(2) ?
01:55:20 <elliott> kallisti: It does: http://perldoc.perl.org/functions/select.html
01:55:47 <Vorpal> why do recently uploaded youtube videos always list ~300-320 views on popular channels? As in uploaded in the last couple of hours.
01:56:09 <Vorpal> not even realistic number, it doesn't even change after I watched it for example
01:56:26 <kallisti> !perl open my $x, "test"; {select $x; print "hi"} print "hi"; close $x;
01:56:55 <Vorpal> elliott, probably, but why about 300?
01:56:56 <kallisti> !perl open my $x, "test"; { print "hi"} print "hi"; close $x;
01:57:04 <kallisti> elliott: globally scoped, apparently.
01:57:08 <elliott> Vorpal: because that's how many view it before the first regeneration from 0 views?
01:57:25 <kallisti> elliott: what did you want to use select for?
01:57:32 <Vorpal> elliott, I mean, I would expect it to vary between a channel with about 1 million subscribers and one with 100 000 subscribers
01:57:35 <elliott> kallisti: shortening the code :)
01:58:25 <Vorpal> kallisti, in general elliott is always lazily golfing everything
01:58:36 <kallisti> elliott: anyway you can do $old_f = select; select $new_f; [...code...]; select $old_f;
01:58:47 <Vorpal> elliott, as in, you don't super-golf everything to remove every single char you can
01:59:08 <elliott> Use of uninitialized value $_ in pattern match (m//) at colours.pl line 12.
01:59:16 <elliott> surely $_ should always be assigned there
01:59:22 <elliott> or does it only assign to $_ when it's a loop condition >_>
01:59:37 <kallisti> I believe it only assigns to $_ when it's <> actually.
01:59:55 <elliott> ok what's a nicer way to write {} until ...;
02:00:35 <elliott> how would you write "discard lines until one of them matches this regexp"
02:01:36 <Sgeo> dropUntil? >.>
02:02:03 <kallisti> not sure if last can go there, but sure.
02:02:40 <EgoBot> syntax error at /tmp/input.7931 line 1, near "1 while"
02:02:47 <elliott> kallisti: now to find why it doesn't terminate :D
02:02:59 <Vorpal> is this valid then? { last if /blah/ } while <>;
02:03:29 <kallisti> !perl {print "hi" if 1} while 1
02:03:29 <EgoBot> syntax error at /tmp/input.8056 line 1, near "while 1"
02:04:03 <kallisti> do {...} is basically "execute this block and return an expression" except when it's part of a do...while
02:04:28 <kallisti> (I'm sure there's a better way to explain it)
02:04:34 <kallisti> (I bet the docs explain it better)
02:05:32 <kallisti> Not really a function. Returns the value of the last command in the sequence of commands indicated by BLOCK. When modified by the while or until loop modifier, executes the BLOCK once before testing the loop condition. (On other statements the loop modifiers test the conditional first.)
02:05:37 <kallisti> not it basically says the same thing.
02:06:53 <kallisti> elliott: but yes, unfortunately you can't reduce everything to beautiful postfix statement modifiers.
02:07:07 <kallisti> sometimes you must write conventional looking loops.
02:09:01 <elliott> Vorpal: i'm actually fucking tempted to try and use a java bytecode lib
02:09:19 <kallisti> elliott: noooo, don't let it fucking temp you!
02:09:34 <elliott> But that's the best kind of temptation!
02:10:53 <elliott> kallisti: how do i make an unnumbered group :|
02:11:50 <kallisti> usually I find it better to name groups that you want to extract rather than putting ugly ?:'s everywhere
02:12:03 <kallisti> but it depends on the complexity of the regex.
02:14:26 <elliott> kallisti: why can't I last inside of do { ... } while (blah);
02:14:47 -!- Slereah_ has joined.
02:15:02 <kallisti> do BLOCK does not count as a loop, so the loop control statements next, last, or redo cannot be used to leave or restart the block. See perlsyn for alternative strategies.
02:15:34 <kallisti> I bet "alternative strategies" involve labels.
02:15:35 -!- Slereah has quit (Ping timeout: 252 seconds).
02:15:39 <elliott> For last, you have to be more elaborate:
02:17:31 <kallisti> elliott: alternative, put a label on the next line and goto
02:21:20 <elliott> "unless can even be followed by one or more elsif statements, though you may want to think twice before using that particular language construct, as everyone reading your code will have to think at least twice before they can understand what's going on."
02:21:39 <kallisti> elliott: what? trying to do weird things in perl. I agree.
02:22:17 <elliott> kallisti: no, having to write this stupid script
02:22:23 <kallisti> I think perl should just have an "else unless" :P
02:22:32 <elliott> kallisti: which will be a COMPLETE PAIN to automate
02:23:50 <elliott> "If the LABEL is omitted, the loop control statement refers to the innermost enclosing loop. This may include dynamically looking back your call-stack at run time to find the LABEL. Such desperate behavior triggers a warning if you use the use warnings pragma or the -w flag."
02:24:06 <elliott> can affect loops in their callers
02:24:30 <kallisti> goto can affect anything anywhere.
02:24:41 <elliott> can you goto into the middle of a procedure
02:25:05 <elliott> can you goto in between the if and the ( in "if (...)"
02:25:07 <kallisti> it does have some restrictions
02:25:14 <elliott> if yes, what about 4 bits into the (
02:25:50 <kallisti> The goto-LABEL form finds the statement labeled with LABEL and resumes execution there. It can't be used to get out of a block or subroutine given to sort. It can be used to go almost anywhere else within the dynamic scope, including out of subroutines, but it's usually better to use some other construct such as last or die.
02:25:56 <kallisti> can't goto out of sort blocks. :(
02:26:50 <kallisti> note that you do actually need a label to goto to
02:27:10 <kallisti> and they must be in "the dynamic scope"
02:28:35 <kallisti> also note that with wantarray and caller you can write subroutines that do different things depending on where they're called.
02:29:56 <kallisti> !perl sub constant { wantarray? (1,2,3,4,5):
02:29:56 <EgoBot> syntax error at /tmp/input.10598 line 1, at EOF
02:30:12 <kallisti> !perl sub constant { wantarray? (1,2,3,4,5): "hi" } print constant; print scalar constant
02:34:55 <kallisti> wantarray gives you three contexts. 1 = array, 0 = scalar, undef = void
02:39:03 -!- augur has quit (Ping timeout: 252 seconds).
02:41:56 <kallisti> !perl sub continue { print "(haha sucker)"; last} for(1..100) { print "hi "; continue } print ' done";
02:41:57 <EgoBot> syntax error at /tmp/input.12183 line 1, near "; continue"
02:42:15 <kallisti> !perl sub please_continue { print "(haha sucker)"; last} for(1..100) { print "hi "; please_continue } print ' done";
02:42:15 <EgoBot> Can't find string terminator "'" anywhere before EOF at /tmp/input.12260 line 1.
02:42:35 <kallisti> !perl sub please_continue { print '(haha sucker)'; last} for(1..100) { print 'hi '; please_continue } print ' done';
02:42:55 <kallisti> elliott: don't think of them as functions; think of them as control flow statements. :)
02:47:29 -!- augur has joined.
02:47:39 <kallisti> I wonder what you would use to emulate last, next, and goto in Haskll. Cont I guess?
02:48:13 <zzo38> kallisti: Haskell is functional programming language it doesn't have control flows
02:48:35 <kallisti> I was referring to "monadic programming" which typically emulates a number of imperative style control flow statements via functions.
02:49:00 <zzo38> Some monads can do so, I suppose.
02:49:43 <kallisti> anyway I believe cont would work for goto. I don't know how you would do last and next though.
02:50:02 <zzo38> But Haskell functional programming also means you don't need control flows.
02:50:07 <kallisti> presumably just a specialized kind of goto.
02:50:07 <augur> kallisti: emulate is a good word
02:50:27 <zzo38> kallisti: Probably it can make a monad with those kind of commands possible if you wanted to
02:50:27 <augur> or perhaps model is a better word
02:50:57 <augur> but operationally, you shouldnt think of it as control flow at all
02:51:49 -!- augur has quit (Remote host closed the connection).
02:52:45 -!- GreaseMonkey has joined.
02:52:53 <kallisti> the weird thing is that I'm pretty sure it will look nothing like normal gotos/breaks/continues
02:53:07 <kallisti> basically instead of labels you'd use monadic functions.
02:54:29 <Sgeo> elliott, kallisti, UPDATE
02:55:22 <kallisti> I think to get break and continue to look exactly as they do in imperative languages you would need to pass the "label" to break to as part of the loop construct, set two implicit parameters, and then access the implicit parameters with the break and continue function.
02:56:27 <kallisti> otherwise you'd just have one "goto" function and then explicitly pass the continuations to go to.
03:03:29 <kallisti> elliott: have you killed yourself yet?
03:14:40 <kallisti> died as he lived; ripped to pieces by gotos.
03:16:26 <zzo38> Do you like the word "ecliptic longitude" or do you think it should be called something else?
03:17:34 <kallisti> zzo38: I think it's a good word, but I don't know what it means so I can't make a normative assertion there.
03:18:02 <zzo38> Equatorial coordinates have "right ascension" and "declination" instead.
03:18:27 <zzo38> And ecliptic longitude is not the same thing as the longitude of the Earth.
03:19:05 <zzo38> Ecliptic longitude means the angle measure on the plane of the ecliptic (the orbit of the Earth around the Sun).
03:20:12 <zzo38> Right ascension is the same thing but on the equatorial plane.
03:20:13 <quintopia> would you prefer ecliptic latitude?
03:20:30 <zzo38> Ecliptic latitude is the other coordinate.
03:20:44 <zzo38> So, you have ecliptic longitude and ecliptic latitude.
03:33:49 -!- Klisz has joined.
03:51:38 <elliott> kallisti: hi im back from dead
03:57:05 <elliott> argh WHY IS THERE NOT A SIMPLE PLACE FOR THIS DATA
03:57:43 <zzo38> Because it is not a simple data
03:58:12 <elliott> i literally need 256 bytes
03:58:24 <elliott> "image with overlayed text in tiny font"
03:58:43 <zzo38> I don't know. Maybe convert it
03:59:12 <elliott> tried that, the java code is too varying to do so, with conditionals and the like
03:59:19 <elliott> and in the image with text, some of the text is abbreviated, etc.
03:59:22 <elliott> so it's hard to map to the data values
03:59:41 <zzo38> Make that Java code to output it in the format you want
04:00:11 <elliott> i've considered that, but getting the java code is quite hard, and it'd be a pain to compile it each time :(
04:29:17 <elliott> ==> Found dependencies: URI::Escape, LWP::MediaTypes, Encode::Locale, HTTP::Status, HTTP::Negotiate, File::Listing, HTML::Entities, HTTP::Daemon, Net::HTTP, URI, HTML::HeadParser, HTTP::Cookies, HTTP::Date, HTTP::Request::Common, HTTP::Response, WWW::RobotRules, HTTP::Request
04:30:05 <elliott> also myndzi wants to talk to you?
04:32:06 <myndzi> oh, i came back to it when i said that
04:33:01 <myndzi> i think 4-9 took me the longest so far
04:37:57 -!- augur has joined.
04:40:21 -!- Klisz has quit (Quit: You are now graced with my absence.).
04:43:42 -!- amtal has quit (Ping timeout: 258 seconds).
04:46:00 <zzo38> "The difference between theory and practice is larger in practice than it is in theory."
04:46:09 <zzo38> -- Michele Campeotto
04:47:35 <zzo38> I don't know who they are, or even if they first said it or quoted someone else
04:53:05 <kallisti> !perl $x = (0 => "scalar", 1 => "list"); sub test { wantarray} print $x{test}, " "; print @x{test}
04:53:20 <kallisti> !perl %x = (0 => "scalar", 1 => "list"); sub test { wantarray} print $x{test}, " "; print @x{test}
04:54:12 <kallisti> maybe @x{$key} doesn't work for hashes..
04:54:39 <kallisti> !perl %x = (0 => "scalar", 1 => "list"); print @x{0,1}
04:54:42 <elliott> don't hashes contain scalars
04:55:01 <kallisti> yes but @blah{$ind} says "I want a list result"
04:55:11 <kallisti> so then $ind is evaluated in list context
04:55:17 <kallisti> and taken as a list of keys to fetch
04:55:42 <kallisti> this is how "slices" work in perl. @array[1..10]
04:56:40 <kallisti> $array[1..10] would interpret 1..10 in list context, which is like some weird flip flop operator.
04:57:16 <kallisti> similarly, $array[1,2,3,4] would evaluate 1,2,3,4 to 4 because , in scalar context is like , in C.
04:57:58 <kallisti> as you can see, this is superior to everything you have ever worked with in any other programming language.
05:05:35 -!- MDude has changed nick to MSleep.
05:06:46 -!- sebbu3 has joined.
05:06:47 -!- sebbu3 has quit (Changing host).
05:06:47 -!- sebbu3 has joined.
05:10:01 -!- sebbu2 has quit (Ping timeout: 245 seconds).
05:14:35 <myndzi> ok, 4-12 is kind of a bitch
05:24:04 <kallisti> !perl use List::MoreUtils; @x = (1,2,3); @y = (4,5,6); print join(' ', pairwise {$a + $b} @x,@y)
05:24:04 <EgoBot> Can't locate List/MoreUtils.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /tmp/input.28034 line 1.
05:26:48 <elliott> attn, is anyone alive someone who sometimes plays minecraft / just owns minecraft, testing urgently needed
05:26:54 <elliott> didn't Patashu play minecraft, i swear Patashu played minecraft
05:27:22 <kallisti> elliott: ha ha ha ha haa ha ha ha ha ha ha ha ha ha ha never
05:28:56 <Patashu> I've never played minecraft in my life
05:29:02 <Patashu> I've never even seen someone play minecraft in person
05:29:14 <Patashu> all my knowledge about minecraft is like the knowledge one has of africa or france
05:34:46 <elliott> Sgeo: ping ping pnig ingp nig ipgn pgngipngpin pgin gpn igpnpgnipg
05:35:30 <elliott> Sgeo: Can you play Minecraft from your current location!
05:35:45 <Sgeo> Current location, yes
05:35:48 <Sgeo> But I have homework to do
05:36:00 <Sgeo> Ok, fine, I'll play now
05:39:37 -!- SgeoN1 has joined.
05:41:49 <zzo38> Someone wrote "It sounds like Libras are kind of obtuse." in response to something I wrote. When asked for clarification, they said it is because 180 degrees. But Wikipedia says "Angles larger than a right angle and smaller than a straight angle are called obtuse angles."
05:42:11 <Sgeo> elliott, I was in a rush to tell you about UPDATE when computer slowed down
05:42:27 <elliott> I CAN ASSURE YOU THAT TESTING MINECRAFT IS MORE IMPORTANT ;D
05:43:25 <Sgeo> Why is that server subtitled as reddit creative
05:43:47 <elliott> Sgeo: Because it is reddit creative...
05:44:08 <elliott> This is... not so good so far.
05:44:11 -!- Klisz has joined.
05:44:21 <elliott> Mostly because everything's grey.
05:44:34 <Sgeo> I can't seem to fly
05:45:33 <elliott> There's not much interesting, is there (I don't know what it actually looks like)
05:45:41 <Sgeo> And mouse pointer isn't being captured
05:45:42 <elliott> Can you try to /warp somewhere interesting?
05:47:00 <elliott> Sgeo: /warp to get a list, I think.
05:47:34 <elliott> Wow, that looks pretty good. Is that water?
05:48:14 <elliott> http://i.imgur.com/XJQSd.png
05:48:15 <Sgeo> Is what water?
05:49:01 <elliott> It sure looks like water here.
05:49:11 <elliott> And I see "water (10 deep)" all over the map.
05:49:16 <SgeoN1> Computers acting up, hold pn
05:49:56 <Sgeo> It's grey, looks a little like the half-...whatever things
05:50:17 <elliott> Sgeo: I'm just asking you what the landscape is if not covered with water...
05:50:26 <Sgeo> I'm in a structure
05:50:46 <elliott> Can you exit the structure?
05:50:55 <Sgeo> Yeah, I'm at surface level or near it
05:51:01 -!- hagb4rd has quit (Read error: Connection reset by peer).
05:51:47 <Sgeo> Surrounded by water
05:51:57 <Sgeo> But not literally on the water
05:52:03 <elliott> This warp is ... not the best to test the colours.
05:52:03 <Sgeo> Well, the structure's on the water
05:52:06 -!- oerjan has joined.
05:52:24 <lambdabot> oerjan: You have 1 new message. '/msg lambdabot @messages' to read it.
05:52:31 <elliott> Sgeo: Some intricate open-air structure would be best.
05:52:59 <Sgeo> There are only two warp points
05:53:12 <elliott> Hmm, a lot of this badness is due to me not handling the alpha...
05:53:42 <elliott> Sgeo: Can I put you on another server? :P
05:54:01 <Sgeo> There's now sky overhead, and lots of glass nearby
05:54:21 <elliott> (Sorry for impersonating you in chat, just had to check it worked.)
05:54:26 <elliott> ("test" will go on your tombstone.)
05:55:21 <SgeoN1> And now MC's acting up
05:55:30 <elliott> So I could change the server.
05:55:38 <oerjan> elliott: that mangling does look a little ugly
05:56:04 <SgeoN1> elliott, scary that you're able to disconnect me
05:56:09 <oerjan> http://www.reddit.com/r/haskell/comments/mm68o/ghc_74_branched_whats_in_for_christmas/c3291tr
05:56:09 <elliott> SgeoN1: Why is that scary?
05:56:19 <SgeoN1> Unless...... are you proxying?
05:56:32 <elliott> No, I produced that mcmap screenshot from thin air.
05:57:09 <elliott> oerjan: i linked it more as a "wow, polymorphic kinds are finally here!" thing
05:57:11 <SgeoN1> I was under the impression that you were separately connected, and testing some stalking tool
05:57:35 <elliott> I'm testing mcmap's new texture script.
05:57:53 -!- Sgeo has quit (Read error: Connection reset by peer).
05:58:28 <kallisti> elliott: challenge: try to find a good comment http://justrakudoit.wordpress.com/2010/12/29/perl-6-fibonacci-versus-haskell/
05:59:44 <elliott> "What is the performance difference? I like to hate on Haskell because it is still so inefficient."
05:59:46 -!- Sgeo has joined.
06:00:00 <kallisti> considering that Perl 6 doesn't have a working implementation..
06:00:35 <elliott> well, rakudo is fairly working
06:02:12 <kallisti> elliott: it's also funny on the grounds that perl (including perl 6 now) is always slow.
06:02:27 <zzo38> Do you ever make pizza with just tomato, garlic, olive oil and oregano?
06:02:28 <elliott> well perl regexps are fast unless you hit an edge-case afaiu
06:02:44 <kallisti> elliott: right but that's... it.
06:02:49 <kallisti> that's where the performance ends.
06:02:49 <elliott> Do you just, like, burn the tomatoes until they're hard enough to form a base?
06:02:49 <zzo38> elliott: You need the pizza bread too.
06:02:55 <elliott> zzo38: That's not "just" then!
06:03:04 <zzo38> Yes I made a mistake.
06:03:06 <Sgeo> elliott, blargh
06:03:28 <kallisti> elliott: apparently some people are under the delusion that Perl is somehow fast?
06:04:13 <Sgeo> elliott, connected
06:04:26 <Sgeo> elliott, teleportation is currently out of order
06:04:39 -!- derrik has joined.
06:05:14 <elliott> OK, I'm going to need to override a few textures before this will even begin to look reasonable.
06:07:38 <elliott> Sgeo: could you try now maybe? :P >_>
06:09:16 <elliott> Sgeo: would I be correct in saying there's no grass nearby?
06:09:41 <Sgeo> Um, there's... little bits of tall grass, I think?
06:09:44 <Sgeo> But grass on dirt, no
06:09:48 <myndzi> "You've sealed the monsters away, and conquered the Castle of Elite. Way to go!"
06:09:52 <Sgeo> Well, yes there is
06:09:55 <Sgeo> But mostly not
06:10:05 <myndzi> "You've even solved every puzzle in the game - you're the ultimate puzzle master!!" ;)
06:10:23 <elliott> Sgeo: hahahah still no grass?
06:10:42 <Sgeo> Looks like snow
06:11:54 <Sgeo> Did you see that I died?
06:12:20 <elliott> Nah, mcmap doesn't see things like that
06:12:30 <elliott> 06:12:02 [DIED] Unknown packet id: 0x9c
06:12:53 <elliott> Sgeo: Can you try and die as quickly as possible if I set it up again with debugging?
06:13:12 <Sgeo> Not sure the best way to die
06:13:20 <elliott> Sgeo: /kill, or else jump off something high
06:13:22 <elliott> It doesn't have to be that quick
06:14:10 <oerjan> zzo38: pizza margherita is even simpler, although it contains different ingredients. not that i've made it, only eaten it.
06:14:43 <Sgeo> /kill is disabled
06:15:48 <oerjan> or well, equally simple.
06:16:02 <elliott> Sgeo: then respawn or whatever you did last time
06:16:57 <SgeoN1> I did resaen after dying a lavary death
06:17:04 <zzo38> Sometimes I omit the tomato and garlic but include salt
06:17:24 <elliott> That means it was something else :/
06:17:48 <elliott> SgeoN1: What were you doing when it disconnected last time?
06:18:26 <Patashu> maybe I'll ask you for hints later
06:18:38 <oerjan> zzo38: oh, your variant is called pizza marinara
06:18:47 <Sgeo> elliott, don't remember
06:19:03 <Sgeo> Anyways, I want to get back to homework
06:19:07 <oerjan> http://en.wikipedia.org/wiki/Pizza#Pizza_types
06:19:23 <Sgeo> Just deliberately disconnected
06:21:36 <elliott> oerjan: i'm afraid you're going to have to start playing minecraft to help me with edbugging
06:22:29 <oerjan> neapolitan is so ludicrously simple compared to american style pizza, or american style pizza is ludicrously overdone, dependent on view
06:22:57 <elliott> oerjan: yes i'm sorry i must inflict this on you. it is something we must achieve together.
06:24:20 <elliott> hmm, 4 dollars 1 cent = 8-16 hours
06:24:24 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
06:26:03 -!- sebbu3 has quit (Read error: Connection reset by peer).
06:26:29 -!- sebbu3 has joined.
06:26:30 -!- sebbu3 has quit (Changing host).
06:26:30 -!- sebbu3 has joined.
06:27:29 -!- Klisz has quit (Quit: You are now graced with my absence.).
06:27:32 -!- copumpkin has joined.
06:31:18 -!- copumpkin has quit (Client Quit).
06:40:12 <kallisti> http://en.wikipedia.org/wiki/Wikipedia
06:40:52 <oerjan> as long as it's not crunchy or crusty
06:41:41 <kallisti> For example, in August 2007, the website WikiScanner began to trace the sources of changes made to Wikipedia by anonymous editors without Wikipedia accounts. The program revealed that many such edits were made by corporations or government agencies changing the content of articles related to them, their personnel or their work.[107]
06:42:06 <kallisti> you mean, corporations take /special interest/ in their Wikipedia articles?
06:42:13 <oerjan> well it's obviously because it can only be edited by people who don't edit wikipedia, for neutrality reasons.
06:43:11 <kallisti> http://en.wikipedia.org/wiki/File:Wikipedia_content_by_subject.png
06:43:23 <kallisti> I'd like to see this chart with "pop culture" made distinct from "culture and arts"
06:44:48 <elliott> kallisti: I'm surprised it's only 30%.
06:45:01 * elliott is also surprised that mathematics and logic is only 1%.
06:45:08 <kallisti> elliott: I was actually under the impression that -- yess
06:45:20 <kallisti> I thought there were way more of those articles.
06:45:28 <kallisti> but, then again, this is where I spend most of my time on Wikipedia
06:47:31 -!- copumpkin has joined.
06:47:44 <kallisti> http://en.wikipedia.org/wiki/Deletionism_and_inclusionism_in_Wikipedia "notable topic"
06:49:19 <kallisti> Wikipedia is currently facing a problem of record numbers of volunteers abandoning the site due to excessive deletionism.[26][27][28][29][30][31]
06:49:33 <elliott> the deletionsts kept removing the sourcse
06:50:17 <Sgeo> Deletionism was deletionismed away and retconjuration was retconjured in
06:50:54 <Sgeo> ^^what I said makes perfect sense to one fandom
06:51:01 <kallisti> I only just discovered this article existed. Is it not the biggest ever violation of Wikipedia:Avoid self-references? Not to mention the fact that it essentially consists of a synthesis of already published material - more like a collection of trivia than an encyclopaedic article. I'm amazed and deeply disappointed that this article somehow passed AFD, and to me it seems to cross a very dangerous line, taking us down the ro
06:52:21 <kallisti> elliott: the rest of the comment actually isn't important...
06:52:28 <kallisti> ad towards ever-increasing focus on Wikipedia itself in Wikipedia articles, and the gradual obliteration of the distinction between article-space and Wikipedia-space. This belongs in the latter, not the former.
06:56:17 <zzo38> But don't you know about the rule about ignore all rules? That is why you have to ignore it so that you can make such an article as that. They should have a article about Wikipedia, too.
07:00:06 <elliott> Who plays Minecraft and also doesn't have homework???
07:02:04 <kallisti> zzo38: I don't understand; there is an article about Wikipedia.
07:03:08 <zzo38> kallisti: Yes, as it is supposed to me. But they should still make it like any other article, even if someone copies it on something else it can be valid
07:04:22 <kallisti> This is a Wikipedia book, a collection of Wikipedia articles that can be easily saved, rendered electronically, and ordered as a printed book. For information and help on Wikipedia books in general, see Help:Books (general tips) and WikiProject Wikipedia-Books (questions and assistance).
07:04:27 <kallisti> what? I didn't know this was a thing.
07:04:28 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
07:05:11 <elliott> http://esoteric.voxelperfect.net/wiki/Why_testing_is_good
07:05:12 <elliott> http://esoteric.voxelperfect.net/wiki/Why_testing_is_good_2
07:05:31 <elliott> @tell ais523 [[Why testing is good]] and [[Why testing is good 2]] don't have any spam links, they are so perfect, please don't delete them, please
07:05:41 <kallisti> elliott: esowiki is an ideal place to test your wiki spambot.
07:05:52 <elliott> THERE IS NO FAIL IT'S BEAUTIFUL
07:06:15 <pikhq_> No, beauty would be a spambot that accidentally becomes sentient.
07:06:29 <kallisti> hmmm, so if we switched to hackiki, would spambots still be a problem?
07:06:50 <zzo38> Probably not as much as MediaWiki, for various reasons.
07:07:19 <kallisti> WHAT THERE'S NO WIKIPEDIA BOOK ON CATEGORY THEORY
07:07:41 <zzo38> That is, if you require OpenID to login. And Hackiki is rare meaning less spambot programs specifically target it.
07:07:56 <pikhq_> Probably none target it thus far.
07:07:59 <elliott> we shouldn't require login
07:08:01 <kallisti> http://en.wikipedia.org/wiki/Mathematical_beauty
07:08:02 <zzo38> But I think you should have both the MediaWiki and Hackiki, and give them read-only target to each other.
07:08:06 <elliott> but spambots can be fairly "generic"
07:09:40 <zzo38> elliott: Yes, it can be, but certain things it is less likely to do. Including OpenID, and protocols other than HTTP and SMTP.
07:10:02 <elliott> yeah let's make an openid gopher wiki.
07:10:48 <zzo38> You cannot use OpenID on anything other than HTTP except something else I have heard that they might make OpenID on any protocol.
07:11:10 <zzo38> Even with HTTP, the spambot usually do not use commands such as PUT
07:11:44 <pikhq_> A spambot doesn't have to be smart. Indeed, it doesn't need to be much more than a few lines of shell script using curl.
07:12:22 <zzo38> Well, yes; however, regardless of how it is done, certain spambots are more common than others.
07:12:49 <oerjan> i've been thinking that spammers are a bit like resistent bacteria
07:13:42 <oerjan> each one may be resistent against certain spam-fighting methods. and some may be multiresistent.
07:14:05 <oerjan> and one day there will be one which just cannot be stopped.
07:14:20 <zzo38> Yes that may be true; but still, some are more common than others.
07:14:36 <zzo38> And that is the point I am making about the different commonness
07:15:02 * kallisti thinks hackiki is the solution to all of our problems.
07:15:26 <kallisti> we could even embed interpreters into our articles!
07:15:36 <zzo38> kallisti: Yes, Hackiki would help a lot of things.
07:15:55 <kallisti> also: think of the possible security issues.
07:16:09 <oerjan> one day we will find that a spambot has embedded a spambot into our articles. then singularity.
07:16:09 <zzo38> But I suggest not removing the MediaWiki.
07:16:18 <zzo38> But add the Hackiki too.
07:17:55 <elliott> oerjan: when a spambot can't be stopped, it's indistinguishable from productive human contributions
07:17:57 <oerjan> so presumably the wiki admins don't have a fucking clue how to stop the last kind of spam.
07:18:02 <elliott> at which point, spam has been solved
07:18:06 <elliott> also, of course we do, it just relies on graue
07:18:11 <oerjan> without manual intervention.
07:18:19 <elliott> you sound awfully fatalistic about this.
07:18:29 <oerjan> elliott: and graue is not responding i take
07:18:38 <elliott> nobody's bothered because it's not a serious problem yet...
07:18:44 <elliott> graue responded last time we had a huge spam influx
07:19:18 <oerjan> wait, there was a day when the entire first page of recent changes was spam deletions, and that's not a serious problem?
07:19:53 <elliott> oerjan: i see you don't remember the _last_ huge spam influx?
07:20:33 <kallisti> I'm surprised hackiki hasn't gotten more attention
07:20:51 <monqy> did the last huge spam influx have great spam
07:21:29 <zzo38> One way to increase the changes in a horoscope board game would be to use extreme harmonics. But I think it should start with real positions and use various cards and moves to change things such as time offset and place offset and house systems and whatever. However, they would always update in real time.
07:21:38 <kallisti> maybe if made the hackiki interface a bit more user friendly it would catch on?
07:22:02 <elliott> why do you expect hackiki to be popular
07:22:37 <zzo38> Don't make it more user friendly; for various reasons. One reason is that then too many people used it and it and spambots will target it. Other reason is to prevent you from making it impossible to use.
07:23:08 <kallisti> elliott: because it's a cool idea. :D) : )D :
07:24:06 <kallisti> I would at least expect some geek blogger to be like "yo dawg check out hackiki it's the bomb diggity"
07:24:46 <monqy> the bomb diggety eh? MAYBE I SHOULD CHECK IT OUT
07:26:57 <Sgeo> <elliott> what was it Sgeo
07:27:15 <Sgeo> The Esoteric programming languages book?
07:27:15 <monqy> kallisti are you a geek blogger maybe you could be the geek blogger you'd expect
07:27:34 <monqy> esoteric programming languages book is good
07:27:37 <Sgeo> http://www.barnesandnoble.com/w/esoteric-programming-languages-including-hephaestus-books/1105758069?ean=9781243288011&itm=2&usri=brainfuck
07:27:44 <monqy> why testing is good is also good
07:28:10 <zzo38> I have seen that a Japanese book mentions my esolang called AAAAAAAAAAAAA!!!!
07:28:41 <Sgeo> Wow, nice cover
07:29:22 <kallisti> monqy: one day I will have a bloggs
07:29:45 <monqy> http://www.barnesandnoble.com/c/hephaestus-books all good
07:30:57 <monqy> some even have ratings
07:31:10 <elliott> Articles On Posthumous Novels, including: The Girl With The Dragon Tattoo, The Girl Who Played With Fire, The Girl Who Kicked The Hornets' Nest, Millennium (swedish Miniseries), The Metamorphosis, Radio Free Albemuth, Northanger Abbey (9/28/2011)
07:31:17 <monqy> i am going to read these reviews
07:31:48 <elliott> monqy: hi buy minecraft i need... am tester
07:31:56 <Sgeo> Which ones have reviews?
07:32:09 <monqy> you can se because there are stars
07:32:29 <monqy> i love how some people actually bought these books
07:33:15 <monqy> i love how these books exist
07:33:21 <Sgeo> "From Cherryh's wesite: this is not a book by CJ Cherryh. It is a collection of Wiki articles made by a person trying to scam the public and the e-book system by using authors' names attached to what is not the authors' work."
07:33:34 <Sgeo> But hey, it does say "Articles on"
07:35:12 <Sgeo> http://www.barnesandnoble.com/w/serial-buses-including-hephaestus-books/1105516836?ean=9781244942738&itm=29&usri=hephaestus+books
07:35:45 <monqy> on some of these sites the books have good reivews
07:35:47 <monqy> http://www.goodreads.com/book/show/12566363-maximum-ride-including
07:35:54 <monqy> I could not put these books down! They were incredible. I do think that Max was a bit obonxious and some of the characters in the last books ( Max and Fang ) got a bit inconstant. But the boods were amazing nonetheless. I can't wait for the next book to come out in February 2012
07:36:06 <Sgeo> http://www.barnesandnoble.com/c/hephaestus-books?sort=PD&size=30&startat=1 most expensive books
07:36:11 <Sgeo> of the hephaestus books
07:37:04 <elliott> that's just people giving reviews on the wrong book
07:37:09 <elliott> purchasing it and reading it and reviewing it
07:37:10 <monqy> Role-playing, including: Acting, Role-playing Game, Sexual Roleplay, Psychodrama, Roleplay Simulation, Area Of Effect, Sociodrama, Empty-chair ... Game (pen And Paper), Free Rpg Day
07:37:17 <elliott> Hephaestus Books represents a new publishing paradigm, allowing disparate content sources to be curated into cohesive, relevant, and informative books.
07:37:24 <elliott> sexual roleplay, psychodrama
07:37:52 <kallisti> wow choosemyhat.com is definitely the best website
07:38:19 <elliott> i'm just surprised people vote on it
07:38:23 <elliott> wow someone likes the pirate hat
07:38:38 <kallisti> my vote is for all the ones that aren't pirate hats
07:38:50 <kallisti> I couldn't vote on today's hate because it am already to day.
07:38:51 <elliott> guys let's all vote for http://codu.org/hats/BlueBeret-sm.jpg
07:38:54 <elliott> he'll look like a complete shithead
07:38:56 <elliott> http://choosemyhat.com/?s=1&day=15306
07:39:18 <elliott> monqy: correct his injustice
07:39:39 <elliott> is Sgeo still homework (sgeo is probably still homework)
07:39:52 <Sgeo> Sgeo is not homework
07:40:00 <Sgeo> Sgeo is soon food
07:40:11 <Sgeo> Not too busy to vote on a hat
07:40:18 <elliott> i wasnt thinking about hat but ok
07:40:33 <kallisti> the ones that aren't the pirate hat or the beret
07:40:51 <elliott> the beret is the only one that will have gregor punched in the face ten times in two days
07:41:15 * Sgeo is clueless about fashion
07:41:24 <kallisti> elliott: http://codu.org/hats/TamOShanter-sm.jpg
07:41:47 <monqy> voting that one for tuesday
07:44:50 * kallisti is the only one with good taste in hats.
07:44:55 <elliott> time for us to all listen to superturing again
07:44:58 <elliott> http://codu.org/music/e/superturing/superturing.ogg
07:45:45 <coppro> Gregor: you don't happen to know toby elliott or matt mcpherrin, do you?
07:46:05 <elliott> who's this person stealing my name
07:46:20 <coppro> a man greater than you
07:46:41 <monqy> this is a good song
07:46:44 <zzo38> You could have a rule, that, if an aspect line vanishes while a piece is standing on it, then that piece is removed from the game.
07:47:09 <coppro> that reminds me, elliott, how has your life insanity been lately anyhow?
07:47:27 <elliott> perfect; before you ask, the perfection has been insane
07:47:29 <elliott> http://twitter.com/#!/TobyElliottUK/status/140505693936562177
07:47:32 <elliott> i found toby elliott for you
07:48:16 <monqy> there are two toby elliotts???
07:48:30 <monqy> i refuse to accept this
07:48:47 <coppro> he works at mozilla, hence I asked gregor
07:49:43 <kallisti> elliott: http://codu.org/music/op9/GRegor-op9.ogg I could easily imagine this in a Zelda game.
07:50:06 <kallisti> maybe with some more percussion
07:50:09 <elliott> is gregor embarrassed of op9 or is it too new for that, i forget
07:50:17 <elliott> i've only really listened to op. 13
07:51:07 <pikhq_> Some of his earlier ones are pretty good, too.
07:58:47 <coppro> kallisti: the opening bars of the melody are very close to super smash bros music
07:59:41 <oklopol> i could imagine it being in a zelda game as a joke
07:59:46 <kallisti> coppro: I thought so as well actually
08:00:08 <pikhq_> My main problem with Op. 9 is the synth is terribad.
08:00:51 <oklopol> my main problem is the only interesting things are the parts that make you go what the fuck, that's not right
08:01:12 <oklopol> superturing was intriguing tho
08:01:43 <pikhq_> I've not listened to Op. 9 all the way through, because I can't stand that synth.
08:01:45 <oklopol> i've been wanting to do something like for some time now
08:02:06 <elliott> What I need is a clone of Sgeo. Wait, no.
08:02:30 <Sgeo> elliott, when I'm done cooking I'll come help you
08:02:47 <oklopol> assuming it helps you that i'm leaving right now
08:02:52 * pikhq_ plays something from Distant Worlds II; that ought to clean it out
08:02:52 <elliott> oklopol: It totally does. Thx
08:03:09 <pikhq_> Real orchestra > synth
08:03:51 <monqy> i like terribad synth
08:03:52 <oklopol> what an astute observation
08:04:43 <pikhq_> Well, it's not so much that synthesised music is *inherently* bad as it is that, when it's imitating real instruments, it's far too often uncanny valley.
08:04:47 <kallisti> pikhq_ is just jealous because he can't write music with terrible synths.
08:06:13 <kallisti> elliott: what with their dynamic exression of pitch and volume, using real life physics to produce timbres
08:06:18 <monqy> help python is telling me i cant refer to a variable in the lexically enclosing scope :||| i have a function within a function...and the function wont let me do the things i want to do...
08:06:25 <elliott> monqy: you can't in python 2
08:06:39 <elliott> monqy: or just wrap it in an object
08:06:49 <elliott> kallisti: have you ever heard an orchestra, they're so predictable
08:06:52 <monqy> objects feel bad but maybe i can pretend it is a function
08:07:04 <kallisti> largely depends on the composer.
08:07:07 <elliott> monqy: you could use a function too.
08:07:19 <elliott> kallisti: no sorry orchestras are boring the end my good friend monqy can back me up
08:07:22 <kallisti> wait I thought Python 2.x had closures?
08:07:39 <kallisti> is that not what monqy is talking about?
08:07:51 <kallisti> oh he wants to modify things...
08:07:58 <pikhq_> Yeah, very largely depends on the composer.
08:08:04 <monqy> even if i do objects it probably wont be the worst thing ive done in this thing...i made REALLY DUMB quasi pattern matching to ease the pain of not having pattern matching
08:08:20 <pikhq_> Some do fairly bland, boring stuff. Some blow your brains out, rearrange them, and put them back in.
08:08:30 <elliott> monqy: oh if you reference then it works
08:08:33 <elliott> it's just mutation that doesn't work
08:09:12 <monqy> i guess i was just testing wrognly
08:09:18 <monqy> what a dumb error message though
08:09:27 <pikhq_> (can't give names, my source for this is "listening to the classical radio station often, but not paying *that* close of attention to composer, so I can usually recognise composers but can't really tell you the names out of the blue")
08:09:46 <monqy> though actually,,,i might need mutation,,,because this thing is really dfumb
08:10:02 <kallisti> class Ref: def __init__(self, v=None): self.v = v
08:10:51 <pikhq_> Well. I can say Bach is rather awesome.
08:10:53 <monqy> maybe i will just be object oriented and make a class ;_; can i put a class inside a function that might make me feel less bad
08:11:18 <kallisti> it's generally preferable that you not do that though
08:11:25 <monqy> fuck preferability
08:11:47 <monqy> i have given up on makign this thing preferable at all the moment i had to do it.......
08:12:01 <kallisti> there's really no reason to not just put the class at top-level
08:12:14 <kallisti> unless you're doing things that involve dynamic creation of classes on the fly
08:13:22 <kallisti> basically I just remember that there's some software somewhere (I don't remember anything else about it) that cannot do <insert whatever it does> to classes that are not defined at top level.
08:13:33 <kallisti> ...this is very important, I know.
08:14:09 <kallisti> which would subsequently affect a lot of libraries that utilize reflection.
08:17:02 <kallisti> monqy: anyway if you need some help let me know.
08:17:09 -!- zzo38 has quit (Remote host closed the connection).
08:17:36 <monqy> i think i can handle this
08:18:09 <monqy> i'm only giving myself tomorrow to finish it on the threat of painful guilt so all the pain will probably be over soon
08:21:21 <kallisti> I have helped TWO people with TWO languages. minorly.
08:29:33 <kallisti> monqy: oh also it should be class ref(object):
08:29:48 <kallisti> because capitalization style guide and new-style classes blah blah stupid
08:30:56 <kallisti> but note that no one actually follows a standard capitalization in Python programs.
08:31:33 <pikhq_> CamelCase_is_COOLbutipreferinconsistentCaSiNg
08:31:47 -!- SgeoN1 has quit (Quit: Bye).
08:31:53 <monqy> my-favourite-is-probably-this-one-for-reasons
08:32:25 <kallisti> monqy: I like that one but also don't depending on the language syntax for reasons
08:32:29 <kallisti> that have already been discussed.
08:32:50 <monqy> any capsy style depends on syntax
08:33:00 <kallisti> of course the best is to just use spaces.
08:33:14 <monqy> depends on if you want to use spaces for other things
08:33:38 <kallisti> nah spaces are fine for everything
08:33:38 <monqy> spaces may be best used there, but they may also be best used elsewhere
08:34:33 <kallisti> obviously that's f ( g (an example))
08:34:45 <monqy> also im not used enough to spaces in variable names so it feels too much like separate things whereas variables really should just feel really grouped together and ig et confused between lexeme boundares ;_;
08:34:54 <kallisti> well, obviously this one is map f (an example)
08:34:55 <pikhq_> In\ Tcl,\ this\ is\ quite \doable,\ if\ a\ bit\ silly.
08:35:18 <monqy> |I think a few languages allow this sort of thing|
08:35:44 <EgoBot> Can't locate object method "hello" via package "hi" (perhaps you forgot to load "hi"?) at /tmp/input.16159 line 1.
08:36:28 <elliott> <kallisti> of course the best is to just use spaces.
08:36:46 <kallisti> elliott: well I was being /partially/ serious
08:36:51 <kallisti> it highly depends on the syntax, as monqy said.
08:37:08 <elliott> it isn't practical if you have syntax because it forces you to make the syntax crappy to compensate
08:37:15 <elliott> and if you're plain-text then it's really hard to raed
08:37:16 <kallisti> obviously you can't mix Haskell-style functional application with spaces-in-variable-names and expect an unambiguous parse.
08:37:56 <kallisti> elliott: so you're advocating the use of spaces in variable names for languages that have no syntax? am I reading correctly? o_o
08:38:39 <pikhq_> Hmm. Spaces in variable names could be perfectly sensible in a C-style language.
08:38:48 <pikhq_> Though you'd have to ban spaces in type names.
08:38:57 <pikhq_> (no long long int for you!)
08:39:02 <elliott> kallisti: for instance, @lang allows spaces in variable names, obviously
08:39:14 <kallisti> elliott: because it doesn't exist?
08:40:07 <pikhq_> Presumably, @lang doesn't deal in plain text.
08:41:19 <kallisti> @lang should read Microsoft Word documents as programs.
08:41:43 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
08:42:14 <monqy> @lang good command
08:42:24 <kallisti> pikhq_: or presumably @lang has no syntax
08:43:52 <pikhq_> elliott: I consider Forth to have syntax; thus I'm going to probably consider @lang to have syntax.
08:44:26 <kallisti> I consider Lisp to have syntax; thus I'm going to probably consider @lang to have syntax.
08:44:36 <pikhq_> I would also consider a straight-up parse tree to be syntax.
08:44:49 <pikhq_> (which Lisp is very close to being, but not quite :P)
08:44:51 <kallisti> elliott: unless you speak @lang commands and store it as sound file.
08:45:07 <elliott> syntax would require representation as a string
08:45:31 <pikhq_> Syntax would require representation.
08:45:42 <kallisti> I'm not sure how you would describe the syntax of pure-data, for example.
08:45:44 <elliott> no it wouldn't. a natural number has no syntax
08:45:50 <kallisti> since it's all graphical and flow-charty
08:46:02 <pikhq_> A natural number doesn't have inherent representation.
08:46:18 <monqy> and such is the nature of @lang?
08:46:46 <elliott> "ADT = syntax" --pikhq, lying, because he considers strings to have syntax as dictated by BNF which is not part of their structure, and would not consider the syntax of C where each punctuation was swapped with another to be identical
08:48:30 <pikhq_> "'ADT = syntax' --pikhq, lying, because he considers strings to have syntax as dictated by BNF which is not part of their structure, and would not consider the syntax of C where each punctuation was swapped with another to be identical" -- elliott, being dense
08:48:41 <kallisti> int main ) int argc * char $ argv ( } printf(&Hello, World!\n&)' return 0' {
08:49:01 <elliott> pikhq_: see, now i understand!
08:52:04 <pikhq_> elliott: Let's say, hypothetically, C were defined in terms of the tree that results from parsing strings in C, rather than being defined in terms of that string.
08:52:24 <pikhq_> I would say that tree *itself* has syntax, as there are rules governing how it can and cannot be structured.
08:54:01 <kallisti> int main ) int argc * char $ argv ( } printf)&Hello, World!:n&(' return 0' {
08:54:02 <elliott> pikhq_: the problem is that i don't believe you. you may consider it syntax in some abstract sense, but definitely not the same way you consider C, Perl, brainfuck's concrete syntax. you might look at some C code which happens to be "represented" in this way (does that even make any sense?) and say it has Proper Syntax, but it'd be because a pretty-printer was transforming that tree into the familiar syntax... I abjectly disbelieve that you would
08:54:02 <elliott> consider wildly differing concrete representations of the same abstract syntax to be the same syntax. and if you think a tree can be presented in a fully abstract form with no concretisation to it, i would like to see a picture.
08:54:41 -!- oerjan has quit (Quit: leaving).
08:54:46 <Sgeo> pikhq_, does Ook have identical syntax to BF?
08:55:10 <pikhq_> elliott: Hmm. Maybe I'm using the wrong term here.
08:55:23 <pikhq_> elliott: Let's call the rules for how the parse tree must be constructed metasyntax.
08:55:28 <pikhq_> @lang has metasyntax, but not syntax.
08:55:37 <monqy> pong indeed, lambdabot
08:55:52 <kallisti> pikhq_: hmmm, how about grammar instead of metasyntax? is that right?
08:56:01 <elliott> pikhq_: I'm not sure I consider that a thing, either -- what /is/ "the parse tree" apart from the set of rules that construct it? there's not some weird overly-flexible data structure plus some limitations, just an a priori definition of a tree
08:56:15 <elliott> an ADT is a sort of syntax, sure, but I wouldn't call it rules applying to some underlying thing
08:56:29 <elliott> (but /not/ the sort of syntax you talk about when you talk about identifiers with spaces in them, that's an issue of concrete syntax)
08:56:44 -!- GreaseMonkey has quit (Quit: The Other Game).
08:57:04 <pikhq_> elliott: Um, your tree data structure doesn't have many inherent rules. struct tree {struct tree *left; struct tree *right;}
08:57:20 <elliott> (you think about trees in C?)
08:57:28 <pikhq_> Okay, admittedly, bad example.
08:57:38 <pikhq_> Far, far too limited of type.
08:57:53 <kallisti> I think about trees in Visual Basic. :>
08:57:56 <elliott> data Expr t where ETrue :: Expr Bool; EFalse :: Expr Bool; EInteger :: Integer -> Expr Integer; EIf :: Expr Bool -> Expr a -> Expr a -> Expr a
08:57:59 <pikhq_> Let's stick that in Haskell-ish. Which... Makes this go into severe nitpicking, actually.
08:58:05 <elliott> note how EIf (EInteger _) _ _ doesn't type.
08:58:11 <elliott> and not because of any additional "rules" layered on top
08:58:29 <elliott> @lang is fully dependently-typed, so of course it can express a type of syntax that admits no invalid syntactical constructions
08:58:35 <elliott> (invalid semantic constructions, certainly)
08:58:49 <elliott> not that "invalid syntactical constructions" is meaningful here -- it's just an abstraction inversion to get the point across
08:58:55 <elliott> the language is defined by its structure
08:59:24 <pikhq_> How's about we go with "human language sucks".
08:59:33 <pikhq_> Actually, let's go more general.
08:59:44 <kallisti> elliott: can you take this structure and provide a list of atomic components?
08:59:55 <elliott> kallisti: sentence insufficiently meaningful
08:59:55 -!- derrik has quit (Ping timeout: 252 seconds).
09:00:23 <monqy> pikhq not general enough
09:00:24 -!- derrik_ has joined.
09:00:37 <kallisti> elliott: also, are there combinations of these components that are invalid? Are there rules that determine if a given structure is invalid?
09:01:31 <kallisti> elliott: would it be better if I spoke to you in math?
09:01:31 <pikhq_> monqy: "Everybody and everything sucks"
09:01:40 <monqy> now that is more like it
09:01:49 <elliott> kallisti: probably not. but you're assuming too many concepts necessarily imply. just expand everything out.
09:02:35 <kallisti> elliott: you said that the language is defined by its structure... what does that mean?
09:02:44 <elliott> <elliott> data Expr t where ETrue :: Expr Bool; EFalse :: Expr Bool; EInteger :: Integer -> Expr Integer; EIf :: Expr Bool -> Expr a -> Expr a -> Expr a
09:02:45 <elliott> <elliott> note how EIf (EInteger _) _ _ doesn't type.
09:02:45 <elliott> <elliott> and not because of any additional "rules" layered on top
09:02:45 <elliott> <elliott> @lang is fully dependently-typed, so of course it can express a type of syntax that admits no invalid syntactical constructions
09:04:09 <kallisti> being dependently-typed means that all syntactical constructors are valid?
09:04:58 <Sgeo> Is elliott trying to teach GADTs?
09:05:17 <kallisti> not what elliott is currently saying though.
09:05:24 <elliott> maybe i'll just buy a computer that can run minecraft
09:05:38 <Sgeo> Your computer can't run Minecraft?
09:05:45 <Sgeo> Oh, btw, I should be able to help you test now
09:06:03 <Jafet> Even if it can't run minecraft, it should be able to run slaves to armok
09:06:34 <elliott> Sgeo: Same time, same bat-channel.
09:06:50 <kallisti> 04:02 < elliott> <elliott> @lang is fully dependently-typed, so of course it can express a type of syntax that admits no invalid syntactical constructions
09:07:03 <elliott> <elliott> <elliott> data Expr t where ETrue :: Expr Bool; EFalse :: Expr Bool; EInteger :: Integer -> Expr Integer; EIf :: Expr Bool -> Expr a -> Expr a -> Expr a
09:07:05 <elliott> <elliott> <elliott> note how EIf (EInteger _) _ _ doesn't type.
09:07:17 <elliott> extend principle to dependent types, note that all things that would be "invalid syntax" are now things that "don't type"
09:07:31 <Jafet> If syntax is computable in the dependent typing system of @lang
09:07:34 <elliott> you can't put an A where a B is expected, so says a parser, and so says the type-checker if you try and fudge up an invalid tree.
09:08:34 <kallisti> elliott: I don't think that really disproves that the syntax /exists/
09:08:43 <elliott> that was not what i was talking about at the time.
09:08:49 <elliott> you are mixing up threads of "discussion"
09:09:00 <elliott> i was merely disputing that there are "rules" which constitute a syntax, separate from the definition of the tree
09:09:29 <elliott> Sgeo: (Bat-channel means IP address, for those who speaketh not the tongue. That is, for people who don't know what the hell I'm talking about. Certainly I don't.)
09:10:13 <elliott> kallisti: I didn't say that, either!
09:10:34 <Patashu> Is there a site I can use to set up a poll on, equivalent to sites like quicktopic for instant forum topics?
09:10:38 <elliott> --and not badly either, though your ice colour is not up to scratch.
09:10:41 <elliott> Definitely need some handling of alpha.
09:10:58 <kallisti> elliott: okay so you're saying the language is just an ADT?
09:11:13 <kallisti> and then syntax is constructed however you lik?
09:12:08 <kallisti> "John is a married bachelor." is grammatically well-formed but expresses a meaning that cannot be true.
09:12:13 <kallisti> someone should make a movie about this.
09:13:20 <elliott> Hmm, but some of these colours are so strangely averaged.
09:13:54 <elliott> Seems like a water colour is the next thing I need.
09:13:56 <pikhq_> That was apparently a 1941 film.
09:14:08 -!- Phantom_Hoover has joined.
09:14:08 <pikhq_> http://www.imdb.com/title/tt0033883/
09:17:31 -!- sebbu2 has joined.
09:17:32 -!- sebbu2 has quit (Changing host).
09:17:32 -!- sebbu2 has joined.
09:18:53 -!- sebbu3 has quit (Ping timeout: 240 seconds).
09:26:24 -!- sebbu has joined.
09:28:23 <Sgeo> elliott, do I have anymore testing I need to do?
09:28:34 <elliott> No Phantom_Hoover has taken over now he is like 50x better (not actually true).
09:29:17 -!- sebbu2 has quit (Ping timeout: 240 seconds).
09:32:31 -!- monqy has quit (Quit: hello).
09:54:58 -!- kmc has quit (Quit: Leaving).
10:42:45 -!- KingOfKarlsruhe has joined.
10:48:09 -!- derrik_ has quit (Quit: all for today).
11:22:53 -!- copumpkin has joined.
11:25:13 -!- copumpkin has quit (Client Quit).
11:28:26 * elliott considers using pam_ssh. do i dare?
11:28:49 <elliott> last release 2009. always a good sign
11:39:36 <Vorpal> elliott, you use xfce right?
11:40:02 <Vorpal> elliott, do you happen to know if there is a way to tell xfce to not put an icon for a given partition on the desktop?
11:40:21 <Vorpal> I have loads of pointless ones due to using lvm
11:40:31 <elliott> Vorpal: Setting -> Desktop -> Icons? (I heartily suggest setting "icon type" to "none".)
11:40:49 <elliott> Failing that, gconf or dconf or xfconf (real, apparently! I just made it up) or blah.
11:40:55 <elliott> But desktops are quite an irritating thing, anyway.
11:41:14 <Vorpal> elliott, "File system" just removes the one for / there.
11:41:25 <elliott> "Icon type: None" removes them all. :-)
11:41:33 <elliott> (You could put symlinks in ~/Desktop for the ones you want.)
11:41:36 <elliott> (But really, desktops? In 2011?)
11:41:38 <Vorpal> oh I guess /home is considered "removable devices"
11:41:57 <Vorpal> oh well, I mount usb sticks from the terminal anyway
11:41:57 <Jafet> I don't remember the last time I've seen my desktop
11:42:10 <elliott> A Visual text-based CAPTCHA challenge module for PAM/SSH Logins
11:42:30 <elliott> Vorpal: A question in response! Do you know if I can make sudo-over-ssh ask the /connecting/ ssh for a pubkey auth?
11:43:06 <Vorpal> elliott, you can use pubkey for sudo?
11:43:15 <elliott> i.e.: On the server donk connected via ssh from my desktop blob I run "sudo blah". sudo-on-donk does some PAM/ssh magic and ends up calling upon blob's ssh to do the standard public-key authentication.
11:43:23 <elliott> Vorpal: That's what I'm asking.
11:43:32 <elliott> So the private key isn't on donk at all, ssh-agent on blob works fine, etc.
11:43:46 <elliott> That would be very nice, since the only reason I have a traditional password on servers is for sudo.
11:43:54 <Vorpal> elliott, maybe with key forwarding and some pam module? Really I don't know much about pam.
11:44:05 <elliott> Guess I picked the wrong person!
11:44:19 <elliott> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595817
11:44:34 <elliott> "This module provides authentication via ssh-agent. It takes 3 arguments, file=/path/to/authorized_keys, debug, and allow_user_owned_authorized_keys_file. If an ssh-agent listening at SSH_AUTH_SOCK can successfully authenticate that it has the secret key for a public key in the specified file, authentication is granted, otherwise authentication files"
11:44:46 <elliott> Now, does this obsolete pam_ssh...
11:45:12 <Vorpal> elliott, I guess you need to forward the ssh agent thingy though?
11:45:16 <elliott> "libpam-ssh-agent allows you to SSH to a machine with agent forwarding,
11:45:16 <elliott> and use the agent to authorise PAM transactions, most notably sudo.
11:45:16 <elliott> The upshot of this is that I can go:"
11:45:20 <Vorpal> Not sure how that works, I always avoided it
11:45:24 <elliott> Vorpal: See http://pamsshagentauth.sourceforge.net/
11:46:13 <Vorpal> forwarding agent. Because of the security risks if someone else have root access to said machine. I mean, I may co-own a vps with someone without trusting them with my own private key.
11:46:27 <Vorpal> which agent forwarding iirc would open for.
11:46:29 <elliott> Um, this does not involve that at all.
11:46:45 <elliott> "If an ssh-agent listening at SSH_AUTH_SOCK can successfully authenticate that it has the secret key for a public key in the specified file, authentication is granted, otherwise authentication files"
11:46:52 <Vorpal> elliott, it says "agent forwarding" in the text you copied
11:46:56 <elliott> Offering free authentication of a private key =/= offering private key.
11:47:02 <elliott> I assume you know how public-key cryptography works.
11:47:38 <Vorpal> elliott, yes. "On the remote system, if the ssh-agent connection is forwarded, it is also important that the root user is trustworthy, because they can access the agent socket (though not the key)."
11:47:46 -!- derdon has joined.
11:47:49 <Vorpal> (quote from https://en.wikipedia.org/wiki/Ssh-agent)
11:47:59 <Vorpal> elliott, which is what I meant.
11:48:07 <elliott> Well that's moronic, who designed that?
11:49:13 <Vorpal> elliott, whoever gave root full access independent of file system permissions :P
11:49:51 <elliott> I don't see why that's relevant, it's just a case of the socket exposing things it shouldnt'
11:49:53 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
11:50:02 -!- derrik has joined.
11:50:47 <Vorpal> elliott, well, agent forwarding is designed to let you do recursive ssh with the private key locally basically. One use case would be ssh to some gateway kind of system of a LAN and then ssh to the system you want inside I guess
11:51:00 <Vorpal> thus you need that ability
11:51:03 <elliott> Yeah, that's sooooo common.
11:51:12 <Vorpal> elliott, well, that is what it was designed for.
11:51:23 <Vorpal> and agent forwarding isn't commonly used.
11:51:46 <elliott> Maybe it'd be more commonly used if it did something useful :)
11:53:33 <elliott> I wonder if the ssh protocol itself supports doing a pubkey auth after initial login
12:02:59 <elliott> (Is it normal to iterate SSH key generation until you get a randomart you like?)
12:03:16 <Vorpal> what is a "randomart"?
12:03:42 <elliott> You know, the little pictures ssh-keygen draws you. Meant for host key authentication.
12:04:01 <Vorpal> oh that, relatively new stuff
12:04:12 <Vorpal> I just compare the fingerprint instead
12:04:18 <Vorpal> as in the old style string
12:08:08 <Vorpal> elliott, hm can opengl rotation matrices cause gimbal lock?
12:08:25 <elliott> I'm not sure why you expect me to know.
12:14:31 -!- copumpkin has joined.
12:15:14 <lambdabot> Phantom_Hoover: You have 13 new messages. '/msg lambdabot @messages' to read them.
12:15:28 <Vorpal> Phantom_Hoover, I guess so
12:15:44 <Vorpal> Phantom_Hoover, so quaternions is our only hope?
12:20:27 <Vorpal> It is annoying that 2D arrays in C use row-column order.
12:20:35 <Vorpal> column-row would be so much better
12:21:11 <elliott> Vorpal: Dude, they use whatever order you specify.
12:21:23 <Jafet> 2D arrays in C are annoying.
12:21:35 <Vorpal> elliott, well, if you want foo[4][4] = { { a, b, c} ... }
12:21:46 <Vorpal> when you write it as a constant there
12:21:47 <Jafet> For example, try passing one to a function.
12:21:49 <elliott> Well, yes, you have to specify it in the order you use it :P
12:22:01 <elliott> Jafet: Try returning a 1D array, for that matter.
12:22:20 <Vorpal> elliott, problem is I want column-row in memory, but I don't want to have to turn my head when I write it in the source :P
12:22:36 <elliott> Vorpal: That's why god invented code generation.
12:39:31 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
12:58:54 <Vorpal> elliott, code generation for a simple task like filling out an projection matrix is silly :P
13:00:14 <elliott> You call yourself a Unix user. (Do you? Anyway, it's a one-liner.)
14:34:15 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
14:53:55 -!- Phantom_Hoover has joined.
15:41:59 -!- sebbu2 has joined.
15:41:59 -!- sebbu2 has quit (Changing host).
15:41:59 -!- sebbu2 has joined.
15:42:32 -!- sebbu has quit (Ping timeout: 244 seconds).
15:48:19 -!- elliott has quit (Ping timeout: 252 seconds).
16:05:05 -!- derrik has quit (Quit: gone).
16:10:31 -!- oerjan has joined.
16:57:27 <oerjan> It was quiet. Too quiet.
17:09:44 -!- derrik has joined.
17:16:39 -!- Klisz has joined.
17:17:17 -!- MSleep has changed nick to MDude.
17:23:58 <oerjan> after reading today's iwc annotation, i predict dmm is currently receiving a flood of emails pointing out that AC doesn't move electrons from source to destination.
17:35:19 <Vorpal> oerjan, and it breaks down for wired networks too when differential signalling is used.
17:36:51 <Vorpal> afaik ethernet uses differential signalling.
17:37:09 <Vorpal> https://en.wikipedia.org/wiki/Differential_signaling
17:39:08 <oklopol> i had a dream that an apocalypse by velociraptor robots was coming
17:40:17 <oerjan> well, i guess that's easier than getting enough dna for actual cloning
18:07:40 <oklopol> i also had a dream that one of my flashcard decks had 320000 due cards
18:11:24 <pikhq_> (Jeeze, I consider it a long day when I've got 100 due)
18:12:13 <oklopol> and i often take a couple hundred new cards a day
18:12:48 <pikhq_> When your review methods include "write down the entire sentence", you're going to have time-consuming SRSing.
18:13:07 <oklopol> yes, probably, i never move a muscle
18:13:24 <pikhq_> Damned Japanese, being somewhat hard to ensure you actually notice the distinctions between characters otherwise.
18:13:41 <oklopol> but what's srs, a flashcard program?
18:13:50 <pikhq_> When I had been going for recognition, I'd pull stupid shit like confusing 義, 議, 儀...
18:14:08 <pikhq_> SRS is a class of flashcard study methods. "Spaced repetition system".
18:14:29 <pikhq_> Y'know, where the cards have a longer time between repetitions each time you study them and answer correctly.
18:14:32 <oklopol> apparently i still can't see kanji
18:15:09 <pikhq_> That's probably the most used one.
18:15:26 <oklopol> probably, it's not particularly good, lacks tons of very basic things i need all the tiem
18:16:04 <oklopol> for instance there's no way to get statistics for all decks at once
18:16:21 <pikhq_> Yeah, that's really rather annoying.
18:16:37 <pikhq_> Hence why I've got a single largish deck with all my Japanese stuff in it.
18:16:45 -!- oerjan has quit (Quit: Good night).
18:17:14 <oklopol> i study my different japanese decks in different ways
18:17:46 <pikhq_> I'm just running with sentences.
18:18:10 <pikhq_> Working pretty well thus far.
18:18:31 <oklopol> i should probably get a deck from english to japanese sentences.
18:18:37 <oklopol> seems like the most useful kind of deck
18:20:01 <pikhq_> Not really? I at least find it insanely useful doing the fairly simple Japanese-> (Reading, dictionary lookup of things unknown, translation if available), and making sure I can read, write, and understand the sentence in question.
18:20:39 -!- Klisz has quit (Quit: You are now graced with my absence.).
18:20:53 <oklopol> well that i have two decks for
18:21:39 <oklopol> (i don't make my japanese decks)
18:22:01 <pikhq_> I'm not particularly focused on production. Y'know, I'd genuinely prefer to say "train station where?" and understand the response, rather than say "Excuse me, but could you tell me how I could find the train station" and be at a complete loss when someone answers. :P
18:22:35 <Vorpal> pikhq_, do you often visit Japan?
18:22:54 <pikhq_> Vorpal: In fact, I have never been.
18:23:01 <Vorpal> what do you use your Japanese knowledge for then?
18:23:03 <oklopol> when watching anime, production is possibly even less useful
18:23:16 <Vorpal> okay I guess that is a possible use
18:23:18 <oklopol> why does knowledge need to be used for somethign
18:23:20 <pikhq_> Vorpal: Mostly just Japanese media, ATM.
18:23:42 -!- monqy has joined.
18:23:51 <pikhq_> Honestly, my obsession with Japanese only started because "Hmm. I need to take a foreign language class in high school. Japanese doesn't sound boring. Let's do that."
18:24:16 <pikhq_> And after that, I've just been doing it because I like learning the language.
18:24:17 <oklopol> i basically flipped a coin between japanese and chinese
18:24:51 -!- sebbu3 has joined.
18:24:51 -!- sebbu3 has quit (Changing host).
18:24:52 -!- sebbu3 has joined.
18:27:14 <pikhq_> If I chose my language learning based on utility, I'd probably be learning ASL. Whiiiich it would actually behoove me to learn, TBH.
18:27:51 -!- sebbu2 has quit (Ping timeout: 248 seconds).
18:28:35 <oklopol> it's just i would like to learn both the finnish and the american version, dunno how much they differ
18:28:48 <oklopol> assuming i guessed your acronym right
18:28:59 <pikhq_> American Sign Language?
18:29:20 <pikhq_> Looking it up, seems Finnish Sign Language is in a different language family entirely.
18:29:22 <oklopol> my other guess was that there's a language called age sex location
18:32:44 -!- zzo38 has joined.
18:33:10 -!- pikhq has joined.
18:33:27 <oklopol> i'm wondering if i should remove this one deck... or can kau as in buy also be used as the kanji for winning?
18:33:58 <pikhq> Um. I am unaware of that having those semantics.
18:34:15 -!- pikhq_ has quit (Ping timeout: 248 seconds).
18:35:13 <pikhq> That's the only sensible semantics I'm aware of.
18:35:50 <oklopol> there are a couple other instances here where they've obviously just used something with the same pronunciation
18:36:19 <pikhq> Which premade deck are you using, anyways?
18:36:33 <oklopol> this is how to ttell the difference between japanese something something
18:36:56 <oklopol> i just use it to learn readings for kanji
18:39:04 <oklopol> also japanese coreplus and some listening comprehension decks and heisig's kanji deck and then another vocab deck, i love downloading decks.
18:41:50 -!- Ngevd has joined.
18:43:21 <Ngevd> f(x) walks into a bar
18:43:33 <Ngevd> Barman says, "Sorry, we don't cater to functions here"
18:46:56 <Ngevd> sine of x, cos of x, and e^x go to a party
18:47:24 <Ngevd> sine of x and cos of x both go and have a good time
18:47:29 <Ngevd> But e^x sits in the corner
18:47:46 <Ngevd> Somebody goes and talks to him, asks him why he's not joining in
18:48:24 <Ngevd> e^x says, "Sorry, but whenever I try to integrate, I end up with myself"
18:50:04 <oklopol> sine and cos aren't much better at that stuff
18:50:30 <Ngevd> It was a small party
18:52:38 <Ngevd> I would tell you my last joke, but this IRC channel is too small to contain it
18:52:39 <oklopol> for all n, are there n functions which derive into each other? are they unique?
18:53:06 <Ngevd> All polynomials form an infinite chain of derivatives going upwards
18:53:57 <oklopol> well they form infinitely many such chains, which are not disjoint
18:54:46 -!- sebbu3 has changed nick to sebbu.
18:54:50 <oklopol> yeah but that doesn't really answer the question
18:55:25 <Ngevd> I haven't officially learnt about integration yet
18:55:49 <oklopol> somehow i doubt they'll teach you the answer to my question
18:56:04 <oklopol> unless you start your studies with advanced real analysis
18:56:17 <Ngevd> Heh, I highly doubt that
18:56:44 <oklopol> for 1, exponential, for 2, hyperbolic sine, for 4, sine. what else?
19:05:39 <zzo38> "Get out of my way - or I'll differentiate you till you're zero!" "Try it - I'm e to the x..." "Too bad... I'm d/dy."
19:34:11 <oklopol> zzo38: do you have the copyright to that joke
19:34:38 <zzo38> I don't know if anyone does
19:41:06 -!- ais523 has joined.
19:42:03 <oklopol> oerjan: let D : C^C \to C^C (let's say C_\infty functions only) be the differentiation operator, does it have a unique set of n periodic points of period n for all n?
19:42:11 <oklopol> use your memory on that when you return
19:43:08 <oklopol> meant to say C_\infty, although i don't recall whether it's a subscript or a superscript... not very good at recalling notaiton
19:44:14 <oklopol> actually i sent a text to my colleague and he solved it in 2 minutes, ignore that.
19:44:49 <oklopol> well for analytic functions at least, it's kind of trivial for them but it's close enough a result in spirit
19:48:47 -!- Klisz has joined.
20:34:28 -!- GreaseMonkey has joined.
20:34:29 -!- GreaseMonkey has quit (Changing host).
20:34:29 -!- GreaseMonkey has joined.
20:36:40 <zzo38> Read my D&D game recording the end of what I wrote so far, tell me what would you do next if you are in that situation?
20:37:53 <oklopol> well i haven't read this but i would use magic
20:39:33 <zzo38> You want to use magic for everything?
20:39:47 <zzo38> You might eventually run out of magic.
20:40:05 <zzo38> Or be prevented from using magic in some other way such as antimagic fields
20:41:58 <oklopol> i'd use magic to get more magic
20:42:13 <Ngevd> I'd use THE POWER OF CHARISMA
20:42:36 <zzo38> You are not even being specific.
20:42:53 <zzo38> You would have to read it to figure out better, isn't it?
20:43:25 -!- KingOfKarlsruhe has left.
20:43:48 <zzo38> I have my own plans too but I won't tell you what it is yet
21:00:23 -!- DCliche has joined.
21:03:29 <oklopol> they are basically dinosaurs that breathe fire
21:03:38 <zzo38> Yes it has dragons. But currently in the game I was playing in, no dragons have been found yet
21:03:47 -!- Klisz has quit (Ping timeout: 245 seconds).
21:03:53 <zzo38> And some dragons are ice dragons instead of fire
21:03:56 <oklopol> and if you say magic, i will punch d&d.
21:04:34 <oklopol> http://hauns.com/~DCQu4E5g/Fire.htm
21:05:49 <oklopol> okay the author is retarded
21:25:53 <ais523> oklopol: D&D dragons are much more intelligent than dinosaurs, or really anything that is currently known to ever have existed
21:25:53 <lambdabot> ais523: You have 2 new messages. '/msg lambdabot @messages' to read them.
21:26:07 <ais523> and they can do a bunch of bizarre things without magic, and magic just makes them even stronger
21:26:09 <oklopol> more intelligent than humans?
21:26:20 <ais523> it makes them kind-of hard to roleplay/DM
21:26:31 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
21:27:21 <ais523> @tell elliott I didn't delete "why testing is good" and the other one, Keymaker did
21:32:33 <oklopol> i may have to kill everyone on this channel
21:32:47 <ais523> sorry, I was actually counting that time, was determined not to lose again
21:33:06 <ais523> (I suppose copy-paste would help get it perfect, but what would be the fun in that?)
21:34:26 <oklopol> okokokokokokokokokokokokokokokokokokokokoko
21:34:33 <oklopol> okokokokokokokokokokokokokokokokokoko
21:35:50 <ais523> ^ul (o)(~(ko)*:S~:^):^
21:35:50 <fungot> okookokookokokookokokokookokokokokookokokokokokookokokokokokokookokokokokokokokookokokokokokokokokookokokokokokokokokokookokokokokokokokokokokookokokokokokokokokokokokookokokokokokokokokokokokokookokokokokokokokokokokokokokookokokokokokokokokokokokokokokookokokokokokokokokokokokokokokokookokokokokokokokokokokokokokokokokoo ...too much output!
21:35:57 <ais523> ^ul (o)(~(ko)*:S( )S~:^):^
21:35:58 <fungot> oko okoko okokoko okokokoko okokokokoko okokokokokoko okokokokokokoko okokokokokokokoko okokokokokokokokoko okokokokokokokokokoko okokokokokokokokokokoko okokokokokokokokokokokoko okokokokokokokokokokokokoko okokokokokokokokokokokokokoko okokokokokokokokokokokokokokoko okokokokokokokokokokokokokokokoko okokokokokokokokokok ...too much output!
21:36:09 <ais523> ^ul (o )S(o)(~(ko)*:S( )S~:^):^
21:36:09 <fungot> o oko okoko okokoko okokokoko okokokokoko okokokokokoko okokokokokokoko okokokokokokokoko okokokokokokokokoko okokokokokokokokokoko okokokokokokokokokokoko okokokokokokokokokokokoko okokokokokokokokokokokokoko okokokokokokokokokokokokokoko okokokokokokokokokokokokokokoko okokokokokokokokokokokokokokokoko okokokokokokokokok ...too much output!
21:36:34 <ais523> gah, /so tempted/ to submit it to anagolf…
21:37:14 <oklopol> why isn't there an anagolf which is tested manually and where you have to implement a specific algorithm
21:37:26 <oklopol> i want that quicksort in golfscript
21:37:58 -!- Phantom_Hoover has joined.
21:38:14 <ais523> oklopol: I never did end up figuring out how to automatically mark a question "implement a mergesort algo that splits the list into three lists and then sorts them individually and merges them"
21:38:43 <oklopol> you could ask for mergesort specific data to be printed
21:38:51 <quintopia> oklopol: this dragons guy is the strangest ever. he believes in God making life and man making life and Jesus returning and has no understnading of modern warfare. where do such people live?
21:38:54 <oklopol> like the sorted versions of halves of the lsit
21:39:14 <oklopol> quintopia: obviously america
21:39:45 <ais523> oklopol: but I wasn't allowed to modify the question
21:40:13 <oklopol> in that case you could just look at what functions are called and with what arguments
21:40:18 <quintopia> oklopol: yeah, obviously. but elsewhere too?
21:40:44 <oklopol> quintopia: maybe. crazy people out there
21:41:16 <oklopol> how does he not have an understanding of modern warfare? i mean sure that was just ridiculous but i assume you have a better argument
21:41:41 -!- copumpkin has joined.
21:42:04 <ais523> oklopol: modern warfare doesn't involve dragons, therefore it sucks
21:42:22 <quintopia> the whole thing about making centaurs for cavalry
21:43:09 <quintopia> he described a predator drone that nullifies the main advantage of a predator drone: that no one dies when it's shot down
21:44:00 <oklopol> we could just not give it equal rights, sorta like a modern nigger.
21:44:41 <quintopia> thats true. we could throw out modern ethics and solve that problem easily eh
21:45:30 <oklopol> modern ethics = living things are all equal?
21:45:40 <oklopol> no one gives a fuck if you rape a fish
21:46:29 <oklopol> i mean any more than if you rape a chair, people might think there's something wrong with you of course
21:47:13 <oklopol> well i guess if you give it a human brain, which seems like something centaur might have...
21:47:26 <oklopol> i was thinking more like horse brain but the great looks of a human
21:50:32 <zzo38> My game is http://zzo38computer.cjb.net/dnd/recording/level20.tex
21:50:54 <zzo38> The DVI file is also in that directory and so is the include file with macros for D&D 3.5e recording
21:50:55 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:54:20 -!- derrik has quit (Quit: left).
21:55:53 <Phantom_Hoover> Well, there are certain negative connotations of sleeping with the fishes.
21:56:55 -!- Ngevd has quit (Ping timeout: 248 seconds).
22:05:12 <oklopol> people are not being very original toda
22:12:32 -!- Phantom__Hoover has joined.
22:13:27 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
22:15:15 -!- Phantom__Hoover has changed nick to Phantom_Hoover.
22:31:32 -!- sebbu2 has joined.
22:31:32 -!- sebbu2 has quit (Changing host).
22:31:32 -!- sebbu2 has joined.
22:32:57 -!- sebbu has quit (Ping timeout: 245 seconds).
22:39:35 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
22:41:32 -!- Sgeo has quit (*.net *.split).
22:41:33 -!- Madoka-Kaname has quit (*.net *.split).
22:41:33 -!- Nisstyre has quit (*.net *.split).
22:41:34 -!- Betawolf has quit (*.net *.split).
22:41:34 -!- rodgort has quit (*.net *.split).
22:41:38 -!- fizzie has quit (*.net *.split).
22:41:41 -!- lambdabot has quit (*.net *.split).
22:42:17 -!- Madoka-Kaname has joined.
22:42:20 -!- Madoka-Kaname has quit (Changing host).
22:42:20 -!- Madoka-Kaname has joined.
22:42:23 -!- Sgeo has joined.
22:42:24 -!- Betawolf has joined.
22:42:41 -!- fizzie has joined.
22:43:05 -!- Nisstyre has joined.
22:46:53 -!- rodgort has joined.
23:00:57 -!- Phantom_Hoover has joined.
23:01:01 -!- Phantom_Hoover has quit (Changing host).
23:01:02 -!- Phantom_Hoover has joined.
23:08:05 <oklopol> i assume this is a reference to the other bourbakis, but i still don't get it
23:08:55 <Phantom_Hoover> His name is a stone's throw away from "Nicolas Bourbaki" and he goes into image processing.
23:09:59 <oklopol> there's a famous singer whose name has hamming distance 1 from mine, and another singer with the same name as my dad
23:10:11 <oklopol> and we're both just fucking around and doing nothing useful
23:12:18 <oklopol> they've sold a gold album in US so basically the most famous group in finland
23:14:08 <oklopol> sweden and finland both have a lot of good metal bands
23:14:40 <oklopol> i've told this channel my name like 5 times
23:15:36 <oklopol> so i assume you haven't read my master's thesis either
23:15:51 <oklopol> i've read everything you ever published
23:16:47 <Phantom_Hoover> Finding a list of Finnish names and listing those with a hamming distance of 1 from that is too much like hard work.
23:16:59 <Phantom_Hoover> Unless it turns out W|A does it, which is a bit of a stretch.
23:17:02 <oklopol> you could look up common surnames
23:17:50 <oklopol> it seems my surname is #21
23:19:16 <oklopol> http://www.google.fi/url?sa=t&rct=j&q=master's%20thesis%20ville%20salo&source=web&cd=1&ved=0CCoQFjAA&url=http%3A%2F%2Ftucs.fi%3A8080%2Fpublications%2Fattachment.php%3Ffname%3DtSalo11a.full.pdf&ei=SsXSTq2uDcbc4QS4_-0_&usg=AFQjCNGKsoCtnZGHqyuEfAFcc89GdOpBHw
23:21:26 <oklopol> please disregard the typo in the abstract
23:21:51 <oklopol> i sent those for printing and then i'm like hmm did i ever get to writing an abstract....
23:27:17 -!- Jafet has quit (Quit: Leaving.).
23:27:50 <oklopol> and you can read our survey on picture-walking automata for a more complete treatment of picture-walking automata
23:28:00 <oklopol> it's about picture-walking automata
23:32:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:44:51 -!- augur has quit (Remote host closed the connection).