00:00:01 especially since it was uploaded in 2008 :) 00:00:04 :) 00:00:05 ais523\unfoog: the latter date, in particular 00:00:31 wow, Archive::Zip had no releases from mid-2005 to mid-2009 00:00:45 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 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 hmm, GD::Image->loadFromPng is failing, but die "$!" doesn't print anything 00:01:43 :/ 00:01:54 try $@ 00:02:00 elliott: anything in the other error variables? 00:02:03 I was going to suggest $@ 00:02:11 $! is more for failures in external binaries, IIRC 00:02:13 ais523\unfoog: thanks, I was just trying to bait someone into giving me another variable to try :) 00:02:28 although $@ is empty too :( 00:03:23 in what way is it failing? returning undef? 00:03:36 does the module specify how to get at errors? 00:03:46 ais523\unfoog: it returns undef, and not from what I can see 00:03:47 the example is 00:03:47 $myImage = new GD::Image(100,100) || die; 00:03:51 which doesn't do much in the way of error reporting 00:03:53 (for the constructors) 00:03:54 right 00:03:59 open (PNG,"barnswallow.png") || die; 00:03:59 $myImage = newFromPng GD::Image(\*PNG) || die; 00:03:59 close PNG; 00:04:02 nothing printing any error 00:04:47 globref, neat. 00:07:14 assuming that's the built-in open, open would save an error msg in $@ 00:07:29 it's the myImage part 00:07:47 yeah I guess: something went wrong! 00:07:49 * kallisti helpful 00:07:53 ais523\unfoog: hmm, ah, if you have a filehandle in a $foo how do you pass it as a filehandle? 00:07:57 elliott: ouch at the globally-scoped filehandle names 00:08:02 elliott: $fo 00:08:04 *$foo 00:08:10 ais523\unfoog: is that $foo, or *$foo? 00:08:31 open my $foo, '<', 'barnswallow.png'; $myimage = newFromPng GD::Image($foo); 00:08:48 ais523\unfoog: hmm, aha, I think I've figured out the problem 00:08:51 open does a bit of magic to put a filehandle object in $foo 00:08:53 ->fh() seems to point to /compressed/ data 00:09:12 (I found this by trying to read a line from a known-text file in the archive) 00:09:40 ais523\unfoog: ah! 00:09:40 extractToFileHandle( $fh ) 00:09:40 Extract (and uncompress, if necessary) the member's contents to the given file handle. Return AZ_OK on success. 00:09:42 that's what I want 00:09:54 now to figure out how to create a file handle to pass to that :/ 00:10:04 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:19 oh 00:10:31 elliott: temp file? :P 00:10:39 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 elliott: you're using Archive:Zip or something? 00:12:44 -!- sebbu2 has quit (Changing host). 00:12:44 -!- sebbu2 has joined. 00:12:54 yes 00:13:02 hmm, is / integer division given two integer operands? 00:14:09 I.... don't think so. 00:14:11 !perl print 5/2 00:14:14 2.5 00:14:36 -!- sebbu has quit (Ping timeout: 258 seconds). 00:14:43 use integer; 00:14:48 forced integer division inside its scope 00:14:51 kallisti: how do I do integer division, then? 00:14:51 *forces 00:14:52 without that? 00:14:57 otherwise you could just floor? 00:15:04 I suppose I'll just assume nobody will have a broken file :) 00:15:21 -!- aloril has quit (Ping timeout: 244 seconds). 00:15:31 floor by the way is int 00:15:42 !perl print int(5/2) 00:15:42 2 00:16:31 !perl {use integer; print 5/2, ' ' } print 5/2; 00:16:31 2 2.5 00:18:09 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 this person on stackoverflow seems to be confused about what integer division is. 00:18:33 lol 00:25:38 THIS FILE IS THE STUPIDEST THING EVER 00:27:16 elliott: :( 00:27:36 kallisti: let's say you wanted a single png file with a bunch of fixed-size textures in them 00:27:58 okay 00:28:02 kallisti: and you already have permanent, allocated 8-bit unsigned integers to identify the things being textured 00:28:04 do you 00:28:16 - make the file 16x16, use the already-allocated IDs to index them 00:28:16 OR 00:28:26 - make the file 16x16 but put the textures in a completely different order 00:28:27 -!- aloril has joined. 00:28:31 with no coherent mapping from the IDs 00:28:36 second one 00:28:37 more fun. 00:28:39 so that anyone who reads it has to maintain a list mapping the layout to real IDs 00:28:43 kallisti: CONGRATULATIONS! YOU'RE NOTCH! 00:28:57 yaaaaay 00:29:47 elliott: adding one to the many reasons you shouldn't play minecraft 00:30:44 kallisti: I'm not playing Minecraft! This computer can't even /run/ Minecraft. 00:30:56 this one can >.> 00:30:59 ..then wtf are you doing. 00:31:01 * quintopia is on his phone 00:31:09 -!- myndzi\ has changed nick to myndzi. 00:31:33 elliott: also I didn't mean play as in playing, I meant play as in play. 00:31:45 English does weird things with present tense so that it actually doesn't mean the immediate present 00:31:49 we use present progressive for that. 00:32:02 kallisti: mcmap 00:32:08 elliott: yes, but WHY? 00:32:12 if you do not play minecraft 00:32:29 I play Minecraft. Just not on this computer. 00:32:37 oh 00:32:41 okay. well that's... irrelevant. :P 00:32:48 Well, this is currently my only computer. 00:32:57 ah okay. 00:32:58 so it's like 00:33:13 you run... but your only pair of shoes is made of concrete currently. 00:33:19 Yes. 00:33:25 Exactly. 00:33:40 Better than abstract shoes 00:34:02 oh my god leftover turkey is so dry 00:34:03 http://www.minecraftwiki.net/images/7/78/TerrainGuide.png 00:34:06 i am actually considering 00:34:10 I'M CHOKING ON LITTLE BITS OF DRY BIRD MEAT. 00:34:10 scraping this file 00:34:15 by keeping track of the font 00:34:24 as an alternative to manually maintaining a list 00:35:24 why is that perfectly usable portal texture not being used. 00:35:35 elliott: implement minecraft server with portal gun. 00:35:42 Minecraft has portals, you idiot. 00:35:49 not portal portals 00:36:02 but the portal texture says "portal 00:36:06 not used" 00:36:23 Yes, because the portal texture is done procedurally. 00:36:49 ah 00:37:23 anyway portals to netherasslands does not count as portal gun omg yesssss 00:37:34 There are mods for that. 00:37:50 if you haven't figured this out by now: I really like portal guns 00:41:15 kallisti: what I'm doing now is reading the decompiled source to find the mapping 00:41:55 ....bahag\haha 00:42:17 kallisti: it's not that bad, there's a tool to give all the classes and fields good names :P 00:42:37 and it's Java, so not much is actually lost apart from names in the decompilation 00:42:44 DecompiledClass1, DecompiledClass2, DecompiledClass3, ... 00:42:58 kallisti: nope 00:43:04 excerpt: 00:43:05 EntityTNTPrimed.java NBTTagShort.java WorldProviderSurface.java 00:43:05 EntityVillager.java NBTTagString.java WorldRenderer.java 00:43:05 EntityWaterMob.java NetClientHandler.java WorldSavedData.java 00:43:05 EntityWeatherEffect.java NetHandler.java WorldSettings.java 00:43:12 magic. 00:43:20 oh right 00:43:20 because 00:43:23 the filenames 00:43:25 are the class names. 00:43:40 kallisti: no the filenames are obfuscated. 00:43:44 kallisti: people just map out each one on release 00:43:47 because 00:43:50 there are like five thousand mods 00:43:52 so 00:43:58 ah 00:44:01 people do this so it's not incredibly painful to mod it :P 00:44:15 good modders 00:44:21 kallisti: the bestest thing is, they have a tool to RE-obfuscate everything 00:44:26 kallisti: because you can't distribute the full minecraft.jar 00:44:35 kallisti: but distributing individual modded .class fails is turned a blind eye to 00:44:46 so it has to be re-obfuscated so it works with the rest of the stock classes in the .jar 00:44:46 HEH 00:45:21 funny legal things funny modders 00:46:24 what happens when you try to use 10 mods at the same time? 00:46:27 chaos? 00:47:17 kallisti: if they don't touch the same classes: it probably just works 00:47:22 kallisti: if they use ModLoader: it just works 00:47:30 even if they change the same stuff 00:47:31 ah 00:47:50 is ModLoader a mod or a Notch thing. 00:47:52 (well, it almost certainly just works. i'm sure _some_ things conflict even with ModLoader) 00:47:54 kallisti: a mod obviously 00:48:25 one mod to rule them all. 00:49:02 HUSSIE WHY YOU NO UPDATE? 00:49:15 /kick kallisti being terrible 00:49:46 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:49:57 kallisti: hi 00:50:00 kallisti: hi 00:50:28 private void renderEntityOnFire(Entity entity, double d, double d1, double d2, 00:50:28 float f) 00:51:15 I see. 00:51:25 kallisti: why paste 00:51:27 that 00:51:37 elliott: why'd you paste that? 00:51:43 WHO IS TRULY AT FAULT? 00:51:47 you pasted before me 00:51:48 WHO DESERVES TO POINT THE FINGER? 00:51:56 WHAT IS THE MEANING OF MEANING? WHAT IS WHY? 00:52:09 /kick kallisti being terrible 00:52:09 AND MORE IMPORTANTLY, WHY IS WHAT? 00:52:50 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:06 /boot kallisti 00:53:17 to the... hip? really? 00:53:19 hip boot. 00:53:20 kallisti, why are you pasting this? 00:53:21 ha. ha. ha. 00:53:23 being terrible 00:53:39 to the... hip? really? <-- seems insane 00:53:58 private BufferedImage unwrapImageByColumns(BufferedImage bufferedimage) 00:54:00 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:01 kallisti, ^ 00:54:02 OK THIS IS STARTING TO GET BETTER 00:54:18 int i1 = ai[l] >> 24 & 0xff; 00:54:18 int j1 = ai[l] >> 16 & 0xff; 00:54:18 int k1 = ai[l] >> 8 & 0xff; 00:54:18 int l1 = ai[l] & 0xff; 00:54:18 what 00:54:22 elliott, java? 00:54:27 minecraft 00:54:30 ah 00:54:37 trying to find the texture id -> terrain.png index mapping 00:54:46 elliott, lol really? 00:54:46 a pair of field boots enjoying a warm summer day. http://en.wikipedia.org/wiki/File:Fieldboots.jpg 00:54:49 Vorpal: yes. 00:54:57 happy boots 00:54:58 Vorpal: i don't want to write my own. 00:55:00 they must be friends 00:55:27 heh 00:55:46 elliott, I assume the mapping will be truly terrible 00:55:57 Vorpal: i'm really hoping it's not in uh 00:55:58 equation form like the above 00:56:05 private TexturePackList texturePack; 00:56:07 aha? 00:56:18 elliott, have you checked that each block object isn't storing a constant of the offset in the texture it wants? 00:56:20 nope, not that :/ 00:56:21 or something like that 00:56:26 Vorpal: oh god. 00:56:36 elliott, it is a possibility 00:56:36 Vorpal: i literally hadn't even considered that. 00:56:43 heh 00:56:53 elliott, well block class rather than block object 00:56:53 that's typically how texture maps are done. 00:56:56 at least historically 00:56:59 heh 00:57:06 Vorpal: is there really a class for every single block? 00:57:20 elliott, I don't know. I was just suggesting a possibility 00:57:20 oop power 00:57:29 return blockIndexInTexture; 00:57:32 elliott, it wouldn't surprise me if each one has a class or such 00:57:32 HAHAHAHAHAHAHAHA FUCK ME 00:57:41 elliott, hm? 00:57:44 Vorpal: you're right. 00:57:47 ah 00:57:52 oh my god, Block.java: 00:57:55 public static final Block planks; 00:57:55 public static final Block sapling; 00:57:55 public static final Block bedrock; 00:57:55 public static final Block waterMoving; 00:57:57 [...] 00:58:03 huh? 00:58:08 heh 00:58:13 what on earth is that? 00:58:13 Block.java contains a static final instance for every single type of block 00:58:18 oh right 00:58:24 that is an interesting design 00:58:24 I bet it's casted to the appropriate subclass 00:58:26 when needed 00:58:31 i. want. to. die. 00:58:33 probably 00:58:40 elliott, where are they instantiated? 00:58:45 OOP. Models anything. 00:58:48 i don't want to know. 00:58:54 i just want to get my data and run. 00:58:56 elliott, link me to it at least 00:59:11 Vorpal: download MCP, run decompile.sh, look at src/minecarft/net/minecraft/src/Block.java. 00:59:15 ah 00:59:21 elliott: "HAHAHAHAHAHAHAHA FUCK ME" 00:59:22 seems like too much work 00:59:32 Vorpal: download zip -> extract -> cp minecraft.jar -> sh decompile.sh 00:59:34 *shrug* 00:59:36 not much work 00:59:43 meh 01:00:01 elliott, anyway maybe it is all in the constructor: 01:00:19 this.planks = new Block(id,whatever,whatever) 01:00:31 elliott, in which case you could handle that easily 01:00:40 why on earth would you set static variables in a constructor 01:00:49 Vorpal: i am relatively certain it'll be in the subclasses 01:00:54 kallisti, the static constructor... 01:01:00 oh, yes. 01:01:12 kallisti, and I can think of nowhere else, since the declaration didn't assign them 01:01:27 like: public static final Block planks; rather than public static final Block planks = new ...; 01:01:31 elliott: you could probably use grep to make this easier somehow? 01:01:37 kallisti: yes I've been gerpping. 01:01:45 gerpping 01:01:51 yes. 01:01:56 quite 01:02:00 gerpping in minecarft. 01:02:09 yep 01:03:37 elliott: I mean eventually you could probably just grep a pattern that generates a list of every single offset used. 01:03:40 or whatever 01:04:03 once y ou get l33t enough 01:04:04 yes but i need to find where they are first. 01:04:09 elliott, is there a nice way to minimize fullscreen Uplink on Linux? 01:04:19 Alt-tab? 01:04:20 Sgeo: alt+tab 01:04:21 ... 01:04:33 Doesn't work for me 01:04:38 Unless I was alt+tabbing wrong 01:04:54 stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone"); 01:04:55 grass = (BlockGrass)(new BlockGrass(2)).setHardness(0.6F).setStepSound(soundGrassFootstep).setBlockName("grass"); 01:04:55 dirt = (new BlockDirt(3, 2)).setHardness(0.5F).setStepSound(soundGravelFootstep).setBlockName("dirt"); 01:04:55 cobblestone = (new Block(4, 16, Material.rock)).setHardness(2.0F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stonebrick"); 01:04:57 planks = (new Block(5, 4, Material.wood)).setHardness(2.0F).setResistance(5F).setStepSound(soundWoodFootstep).setBlockName("wood").setRequiresSelfNotify(); 01:05:00 sapling = (new BlockSapling(6, 15)).setHardness(0.0F).setStepSound(soundGrassFootstep).setBlockName("sapling").setRequiresSelfNotify(); 01:05:03 bedrock = (new Block(7, 17, Material.rock)).setBlockUnbreakable().setResistance(6000000F).setStepSound(soundStoneFootstep).setBlockName("bedrock").disableStats(); 01:05:06 elliott: best design 01:05:06 waterMoving = (new BlockFlowing(8, Material.water)).setHardness(100F).setLightOpacity(3).setBlockName("water").disableStats().setRequiresSelfNotify(); 01:05:09 waterStill = (new BlockStationary(9, Material.water)).setHardness(100F).setLightOpacity(3).setBlockName("water").disableStats().setRequiresSelfNotify(); 01:05:12 lavaMoving = (new BlockFlowing(10, Material.lava)).setHardness(0.0F).setLightValue(1.0F).setLightOpacity(255).setBlockName("lava").disableStats().setRequiresSelfNotify(); 01:05:15 Vorpal: I hate you for being right. 01:05:17 But, doesn't have the texture index, so ha! 01:05:39 Wait, yes it does, maybe? 01:05:43 protected Block(int i, int j, Material material) 01:05:43 { 01:05:43 this(i, material); 01:05:43 blockIndexInTexture = j; 01:05:43 } 01:05:46 elliott, I hate me for being right about that 01:05:49 as well 01:05:58 button = (new BlockButton(77, stone.blockIndexInTexture)).setHardness(0.5F).setStepSound(soundStoneFootstep).setBlockName("button").setRequiresSelfNotify(); 01:06:04 So maybe it's in the classes except when it's obvious. 01:06:06 omits slightly 01:06:08 ... 01:06:09 vomits 01:06:14 -!- Sgeo|Uplink has joined. 01:06:20 Alt-Tabbing does nothing 01:06:21 e.g. 01:06:22 stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone"); 01:06:25 has the texture ID 01:06:26 but 01:06:28 grass = (BlockGrass)(new BlockGrass(2)).setHardness(0.6F).setStepSound(soundGrassFootstep).setBlockName("grass"); 01:06:29 doesn't 01:06:38 elliott, look: "stone.blockIndexInTexture" 01:06:39 protected BlockGrass(int i) 01:06:39 { 01:06:39 super(i, Material.grass); 01:06:39 blockIndexInTexture = 3; 01:06:39 setTickOnLoad(true); 01:06:41 } 01:06:46 Anyways, going to go get myself disavowed over a 300c fine 01:06:47 wtf 01:06:50 Vorpal: yes, which is assigned by 01:06:52 stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep).setBlockName("stone"); 01:06:55 oh 01:06:59 some classes have the texture index in the file 01:07:00 others don't 01:07:03 good. 01:07:08 consistent design. 01:07:08 elliott, oh my god 01:07:16 ouch 01:07:30 Vorpal: basically only the ones with a texture used in more than one place are done here, I think. 01:07:41 elliott, even so.... new 01:07:45 eew* 01:09:39 Waiting to be disavowed 01:09:42 this code really makes me hate myself. 01:09:53 ok 01:09:54 I THINK 01:09:56 what I can do 01:09:58 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:02 is write a java program 01:10:07 that iterates through each block 01:10:09 and prints its ID and index 01:10:23 argh i want to DIEEEEEEEEEEEEEEE i hate this so much 01:10:57 elliott, heh 01:11:13 i have this horrible urge to just 01:11:15 only support painterly 01:11:18 which has a texture per file version 01:11:22 elliott, could this be an artifact of the decompilation? 01:11:27 that the real code is quite clean? 01:11:30 no 01:11:33 oh 01:11:33 it changes the arity of constructors 01:11:35 and shit 01:11:35 so 01:11:35 yeah 01:13:59 -!- amtal has joined. 01:14:18 Vorpal: ok i _think_ I have a strategy 01:14:26 grep each line, if the constructor arguments are right, then I have the ID and texture index 01:14:33 otherwise, look up that class for a line that sets the index 01:14:51 WHY CAN'T THIS BE IN A DATA FILE SOMEWHERE 01:27:24 * Phantom_Hoover → sleep 01:27:26 -!- Phantom_Hoover has quit (Quit: Leaving). 01:34:25 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:34:54 What is. 01:35:09 I guess itidus has never seen hideous method chaining stuff before. 01:35:14 correct 01:35:18 It's not hideous *shrugs* 01:35:22 Standard practice in Smalltalk and Objective-C 01:35:23 And I think Perl too 01:35:34 i haven't seen method chaining before 01:35:42 not really standard but it's commonly used in some libraries. 01:35:50 commin in Python libraries as well. 01:35:53 *common 01:36:03 I doubt that, Python libraries don't do explicit setters 01:37:22 some do, it's certainly not encouraged though. 01:37:34 for example pyparsing uses that style, and I think Twisted does in some cases? I don't remember 01:38:39 hmmm 01:38:55 so its kind of like saying 01:40:15 struct { int x, y, z; } point; point a.x(4).y(6).z(8); 01:40:49 basically the methods just return self/this/whatever 01:40:54 so you can call more methods on the return value. 01:41:06 instead of a.x = 4; a.y = 6; a.z = 8; 01:41:12 they don't necessarily have to be methods that set members, but they usually are. 01:41:17 uh my notations are always messy and inconsistent 01:41:23 * Sgeo suddenly gets a vision of $ chains in Haskell 01:41:38 That... is sort of like the same thing, isn't it? 01:41:50 not... really. 01:42:15 unless the functions update a record and then return that record, then sure. 01:42:49 but then it's not quite the same because in this style you're doing in-place operations 01:43:42 so it would be more like calling functions on an IORef via modifyIORef or something. 01:44:30 * Sgeo suddenly gets a vision of $ chains in Haskell 01:44:31 *. chains 01:44:50 but yes, it is similar. 01:46:33 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:46:52 heh 01:47:19 I find this highly disconcerting. 01:47:45 WHY CAN'T THIS BE IN A DATA FILE SOMEWHERE <-- not oop enough 01:48:05 YOUR MOM ISN'T OOP ENOUGH 01:48:31 OK, time to Perl this shit up. 01:48:50 heh 01:49:05 elliott: yessssssss 01:49:06 elliott, you could just compile a few of the java files and link your own java program against it 01:49:21 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 elliott, well you could do reflection to list the static members of the class I think 01:49:49 and iterate through them 01:49:53 public int getBlockColor() 01:49:54 I wonder WTF that does. 01:49:57 probably easier to use perl though 01:50:06 Vorpal: that's less preferable than finding how to look up frmo a block id :) 01:50:08 Vorpal: it is always easier to use Perl than Java. 01:50:13 Vorpal: but anyway I don't know what the dependencies of this thing is. 01:50:32 Vorpal: admittedly, I am not very happy about depending on the MCP to get the indices 01:50:33 elliott, I thought java had import stuff at the top? 01:50:41 Vorpal: yes. i am not going to recursively search for imports 01:50:48 ah 01:51:23 <$blocks_java> until /blocksList = new Block\[256\];$/; 01:51:23 I have to admit this is a compelling coding style :P 01:51:58 elliott, I don't understand it 01:52:03 <> reads a line 01:52:04 whut 01:52:11 elliott, the rest? 01:52:23 What do you think 01:52:26 oh right 01:52:27 I see 01:52:30 okay 01:52:38 elliott, very.... perl 01:52:42 kallisti: Is there a way to temporarily reassign the default file handle :-) 01:52:54 yes... 01:52:56 I don't remember the name 01:52:58 uh..... 01:53:17 let me look it up 01:53:31 select 01:53:33 Vorpal: admittedly, I am not very happy about depending on the MCP to get the indices <-- just parse the bytecode directly 01:53:38 select $file_handle 01:53:56 Vorpal: no. 01:54:02 and then anywhere in perl docs where it says "if file handle is omitted, uses the currently selected file handle" 01:54:06 elliott, good 01:54:12 it is now referring to whatever you select'd 01:54:30 kallisti: I love how select doubles as the perl thing and select(2) 01:54:34 so beautiful 01:54:37 lol 01:54:59 kallisti: so uh is that block-scoped 01:55:03 I'm not actually sure that it doubles as select(2) ? 01:55:07 elliott: no fucking clue. :P 01:55:12 I think it may be global 01:55:13 ? 01:55:20 kallisti: It does: http://perldoc.perl.org/functions/select.html 01:55:27 ah yes it does. 01:55:47 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 not even realistic number, it doesn't even change after I watched it for example 01:56:26 !perl open my $x, "test"; {select $x; print "hi"} print "hi"; close $x; 01:56:40 Vorpal: caching? 01:56:55 elliott, probably, but why about 300? 01:56:56 !perl open my $x, "test"; { print "hi"} print "hi"; close $x; 01:56:57 hihi 01:57:04 elliott: globally scoped, apparently. 01:57:08 Vorpal: because that's how many view it before the first regeneration from 0 views? 01:57:17 kallisti: sigh 01:57:25 elliott: what did you want to use select for? 01:57:32 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:33 it does not 01:57:35 kallisti: shortening the code :) 01:57:40 Vorpal: *shrug* 01:58:25 kallisti, in general elliott is always lazily golfing everything 01:58:32 "Lazily"? 01:58:36 elliott: anyway you can do $old_f = select; select $new_f; [...code...]; select $old_f; 01:58:41 if you want. 01:58:46 kallisti: yes. ugly. 01:58:47 elliott, as in, you don't super-golf everything to remove every single char you can 01:59:06 I am always golfing as well. 01:59:08 Use of uninitialized value $_ in pattern match (m//) at colours.pl line 12. 01:59:09 wtf? 01:59:10 but I did 01:59:13 do <> until /blah/; 01:59:16 surely $_ should always be assigned there 01:59:22 or does it only assign to $_ when it's a loop condition >_> 01:59:37 I believe it only assigns to $_ when it's <> actually. 01:59:41 as in while(<>) 01:59:46 I think? 01:59:55 ok what's a nicer way to write {} until ...; 02:00:08 until(...) {} 02:00:08 :P 02:00:27 :( 02:00:35 how would you write "discard lines until one of them matches this regexp" 02:01:19 kallisti: ??? 02:01:36 dropUntil? >.> 02:01:40 while(<>) { last if /blah/} 02:01:41 :D 02:01:52 kallisti: surely you mean 02:01:55 last if /blah/ while <>; 02:01:56 :D 02:02:03 not sure if last can go there, but sure. 02:02:06 also... 02:02:07 no 02:02:09 can't do that. :P 02:02:17 expr if x while y 02:02:21 is not valid (unfortunately) 02:02:31 :( 02:02:39 !perl print "hi" if 1 while 1 02:02:40 syntax error at /tmp/input.7931 line 1, near "1 while" 02:02:47 kallisti: now to find why it doesn't terminate :D 02:02:59 is this valid then? { last if /blah/ } while <>; 02:03:09 don't believe so. 02:03:11 you'd need a do 02:03:14 while is then a do-while loop 02:03:15 hm okay 02:03:25 right 02:03:29 !perl {print "hi" if 1} while 1 02:03:29 syntax error at /tmp/input.8056 line 1, near "while 1" 02:03:39 you can do do {...} if $x 02:03:40 though 02:04:03 do {...} is basically "execute this block and return an expression" except when it's part of a do...while 02:04:09 then it's all do-whiley 02:04:28 (I'm sure there's a better way to explain it) 02:04:34 (I bet the docs explain it better) 02:05:32 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 not it basically says the same thing. 02:05:39 s/not/no/ 02:06:53 elliott: but yes, unfortunately you can't reduce everything to beautiful postfix statement modifiers. 02:07:07 sometimes you must write conventional looking loops. 02:07:18 Cries. 02:09:01 Vorpal: i'm actually fucking tempted to try and use a java bytecode lib 02:09:19 elliott: noooo, don't let it fucking temp you! 02:09:34 But that's the best kind of temptation! 02:10:53 kallisti: how do i make an unnumbered group :| 02:11:18 a what? 02:11:20 oh 02:11:22 regex 02:11:26 (?:...) 02:11:50 usually I find it better to name groups that you want to extract rather than putting ugly ?:'s everywhere 02:12:03 but it depends on the complexity of the regex. 02:14:26 kallisti: why can't I last inside of do { ... } while (blah); 02:14:46 because the docs say so. :P 02:14:47 -!- Slereah_ has joined. 02:15:02 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:22 kallisti: .............. 02:15:34 I bet "alternative strategies" involve labels. 02:15:35 -!- Slereah has quit (Ping timeout: 252 seconds). 02:15:39 For last, you have to be more elaborate: 02:15:39 LOOP: { 02:15:39 do { 02:15:39 last if $x = $y**2; 02:15:40 # do something here 02:15:42 } while $x++ <= $z; 02:15:44 } 02:15:44 yes. 02:15:46 HA HA HA 02:17:31 elliott: alternative, put a label on the next line and goto 02:17:34 :P 02:20:36 GAAH THIS SUCKS 02:21:20 "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 elliott: what? trying to do weird things in perl. I agree. 02:22:17 kallisti: no, having to write this stupid script 02:22:23 I think perl should just have an "else unless" :P 02:22:32 kallisti: which will be a COMPLETE PAIN to automate 02:22:59 elsunless bahahahaha 02:23:50 "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:03 so functions 02:24:06 can affect loops in their callers 02:24:08 beautiful 02:24:10 yep 02:24:30 goto can affect anything anywhere. 02:24:41 can you goto into the middle of a procedure 02:24:46 believe so, yes. 02:24:49 yessssssssss 02:25:05 can you goto in between the if and the ( in "if (...)" 02:25:07 it does have some restrictions 02:25:12 ....no 02:25:14 if yes, what about 4 bits into the ( 02:25:15 don't believe so. 02:25:50 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 can't goto out of sort blocks. :( 02:25:58 sad day. 02:26:03 :'( 02:26:50 note that you do actually need a label to goto to 02:27:10 and they must be in "the dynamic scope" 02:27:31 so, on the call stack? 02:27:33 I think? 02:28:35 also note that with wantarray and caller you can write subroutines that do different things depending on where they're called. 02:29:56 !perl sub constant { wantarray? (1,2,3,4,5): 02:29:56 syntax error at /tmp/input.10598 line 1, at EOF 02:29:57 er 02:30:12 !perl sub constant { wantarray? (1,2,3,4,5): "hi" } print constant; print scalar constant 02:30:12 12345hi 02:34:55 wantarray gives you three contexts. 1 = array, 0 = scalar, undef = void 02:37:21 i know :P 02:38:13 oh. 02:38:14 :) 02:38:38 THE MORE YOU (ALREADY) KNOW. 02:39:03 -!- augur has quit (Ping timeout: 252 seconds). 02:41:56 !perl sub continue { print "(haha sucker)"; last} for(1..100) { print "hi "; continue } print ' done"; 02:41:57 syntax error at /tmp/input.12183 line 1, near "; continue" 02:42:15 !perl sub please_continue { print "(haha sucker)"; last} for(1..100) { print "hi "; please_continue } print ' done"; 02:42:15 Can't find string terminator "'" anywhere before EOF at /tmp/input.12260 line 1. 02:42:35 !perl sub please_continue { print '(haha sucker)'; last} for(1..100) { print 'hi '; please_continue } print ' done'; 02:42:35 hi (haha sucker) done 02:42:55 elliott: don't think of them as functions; think of them as control flow statements. :) 02:47:29 -!- augur has joined. 02:47:39 I wonder what you would use to emulate last, next, and goto in Haskll. Cont I guess? 02:48:07 yes, Cont. 02:48:13 kallisti: Haskell is functional programming language it doesn't have control flows 02:48:35 I was referring to "monadic programming" which typically emulates a number of imperative style control flow statements via functions. 02:48:43 or at least 02:48:45 sometimes does. 02:49:00 Some monads can do so, I suppose. 02:49:00 not necessarily typically. 02:49:43 anyway I believe cont would work for goto. I don't know how you would do last and next though. 02:49:49 (aka break and continue) 02:50:02 But Haskell functional programming also means you don't need control flows. 02:50:07 presumably just a specialized kind of goto. 02:50:07 kallisti: emulate is a good word 02:50:27 kallisti: Probably it can make a monad with those kind of commands possible if you wanted to 02:50:27 or perhaps model is a better word 02:50:35 "represent formally" :P 02:50:45 that too! 02:50:57 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 the weird thing is that I'm pretty sure it will look nothing like normal gotos/breaks/continues 02:53:07 basically instead of labels you'd use monadic functions. 02:54:29 elliott, kallisti, UPDATE 02:55:22 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:55:26 *functions 02:56:27 otherwise you'd just have one "goto" function and then explicitly pass the continuations to go to. 03:03:29 elliott: have you killed yourself yet? 03:11:40 I guess so. 03:11:45 rip elliott 03:14:40 died as he lived; ripped to pieces by gotos. 03:16:26 Do you like the word "ecliptic longitude" or do you think it should be called something else? 03:17:30 i like "clitoric longitude" 03:17:34 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 Equatorial coordinates have "right ascension" and "declination" instead. 03:18:27 And ecliptic longitude is not the same thing as the longitude of the Earth. 03:19:05 Ecliptic longitude means the angle measure on the plane of the ecliptic (the orbit of the Earth around the Sun). 03:19:57 then it is fairly descriptive 03:20:12 Right ascension is the same thing but on the equatorial plane. 03:20:13 would you prefer ecliptic latitude? 03:20:30 Ecliptic latitude is the other coordinate. 03:20:44 So, you have ecliptic longitude and ecliptic latitude. 03:23:38 patashu, ya here? :P 03:33:49 -!- Klisz has joined. 03:51:38 kallisti: hi im back from dead 03:52:53 kallisti: hi 03:55:36 cry 03:55:47 monqy: cry 03:55:49 cry 03:57:05 argh WHY IS THERE NOT A SIMPLE PLACE FOR THIS DATA 03:57:39 W H Y 03:57:43 Because it is not a simple data 03:58:01 it is 03:58:07 it's a byte=>byte mapping 03:58:12 i literally need 256 bytes 03:58:16 in a format that isn't 03:58:18 "java code" 03:58:20 or 03:58:24 "image with overlayed text in tiny font" 03:58:43 I don't know. Maybe convert it 03:59:12 tried that, the java code is too varying to do so, with conditionals and the like 03:59:19 and in the image with text, some of the text is abbreviated, etc. 03:59:22 so it's hard to map to the data values 03:59:41 Make that Java code to output it in the format you want 04:00:11 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 ==> 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:29:18 good grief 04:29:34 I'm here 04:29:35 what's up 04:29:59 perl dependencies 04:30:05 also myndzi wants to talk to you? 04:30:10 yeah meant that part 04:30:12 beat the game yet? 04:32:06 oh, i came back to it when i said that 04:32:07 i'm on level 12 04:32:08 :) 04:32:22 11 is amusing 04:32:25 i fell for it 04:33:01 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 "The difference between theory and practice is larger in practice than it is in theory." 04:46:09 -- Michele Campeotto 04:46:31 nice 04:46:31 keep it up 04:47:35 I don't know who they are, or even if they first said it or quoted someone else 04:53:05 !perl $x = (0 => "scalar", 1 => "list"); sub test { wantarray} print $x{test}, " "; print @x{test} 04:53:15 lol.. 04:53:20 !perl %x = (0 => "scalar", 1 => "list"); sub test { wantarray} print $x{test}, " "; print @x{test} 04:53:43 ...hmm 04:54:12 maybe @x{$key} doesn't work for hashes.. 04:54:36 why would it 04:54:39 !perl %x = (0 => "scalar", 1 => "list"); print @x{0,1} 04:54:40 scalarlist 04:54:42 don't hashes contain scalars 04:54:43 oh it does nevermind. 04:54:46 oh 04:55:01 yes but @blah{$ind} says "I want a list result" 04:55:11 so then $ind is evaluated in list context 04:55:17 and taken as a list of keys to fetch 04:55:42 this is how "slices" work in perl. @array[1..10] 04:56:40 $array[1..10] would interpret 1..10 in list context, which is like some weird flip flop operator. 04:56:45 *scalar context 04:57:16 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 as you can see, this is superior to everything you have ever worked with in any other programming language. 04:58:06 (this is a lie) 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 ok, 4-12 is kind of a bitch 05:14:35 :P 05:15:37 !perl 2**2 05:15:40 !perl print 2**2 05:15:40 4 05:24:04 !perl use List::MoreUtils; @x = (1,2,3); @y = (4,5,6); print join(' ', pairwise {$a + $b} @x,@y) 05:24:04 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:24:07 :( 05:24:15 sad 05:26:48 attn, is anyone alive someone who sometimes plays minecraft / just owns minecraft, testing urgently needed 05:26:54 didn't Patashu play minecraft, i swear Patashu played minecraft 05:27:22 elliott: ha ha ha ha haa ha ha ha ha ha ha ha ha ha ha never 05:27:25 will I play minecraf 05:27:32 minecraf 05:27:37 yes 05:27:39 sic, motherfucker. 05:28:56 I've never played minecraft in my life 05:29:02 I've never even seen someone play minecraft in person 05:29:05 huh. i thought you did 05:29:14 all my knowledge about minecraft is like the knowledge one has of africa or france 05:34:42 Sgeo: ping 05:34:46 Sgeo: ping ping pnig ingp nig ipgn pgngipngpin pgin gpn igpnpgnipg 05:35:16 elliott, hi 05:35:23 Sgeo: YESSS 05:35:30 Sgeo: Can you play Minecraft from your current location! 05:35:45 Current location, yes 05:35:48 But I have homework to do 05:35:52 GOD DAMMIT 05:36:00 Ok, fine, I'll play now 05:36:15 No playing required :P 05:36:19 Just TESTIN' 05:36:21 Which is uh 05:36:22 Equivalent to playing 05:36:42 Sgeo: 95.149.229.230 05:39:37 -!- SgeoN1 has joined. 05:39:43 SgeoN1: What happened :P 05:39:44 Update 05:41:49 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 elliott, I was in a rush to tell you about UPDATE when computer slowed down 05:42:27 I CAN ASSURE YOU THAT TESTING MINECRAFT IS MORE IMPORTANT ;D 05:42:34 ! 05:43:25 Why is that server subtitled as reddit creative 05:43:27 * Sgeo mindboggles 05:43:47 Sgeo: Because it is reddit creative... 05:43:56 * elliott watches chunks load. 05:44:08 This is... not so good so far. 05:44:11 -!- Klisz has joined. 05:44:21 Mostly because everything's grey. 05:44:34 I can't seem to fly 05:44:39 Double-space. 05:45:02 Isn't working 05:45:21 *shrug* 05:45:33 There's not much interesting, is there (I don't know what it actually looks like) 05:45:41 And mouse pointer isn't being captured 05:45:42 Can you try to /warp somewhere interesting? 05:46:37 Where? 05:47:00 Sgeo: /warp to get a list, I think. 05:47:02 Then just pick one :P 05:47:34 Wow, that looks pretty good. Is that water? 05:48:09 Sgeo: ? 05:48:14 http://i.imgur.com/XJQSd.png 05:48:15 Is what water? 05:48:19 What yer standing on. 05:48:25 No 05:48:58 Sgeo: What is it then? 05:49:01 It sure looks like water here. 05:49:11 And I see "water (10 deep)" all over the map. 05:49:16 Computers acting up, hold pn 05:49:22 ahhh gotcha 4-12! 05:49:56 It's grey, looks a little like the half-...whatever things 05:50:17 Sgeo: I'm just asking you what the landscape is if not covered with water... 05:50:23 Landscape? 05:50:26 I'm in a structure 05:50:29 Oh. 05:50:46 Can you exit the structure? 05:50:55 Yeah, I'm at surface level or near it 05:51:01 -!- hagb4rd has quit (Read error: Connection reset by peer). 05:51:09 y=64 exactly. 05:51:47 Surrounded by water 05:51:55 Heh. 05:51:57 But not literally on the water 05:52:03 This warp is ... not the best to test the colours. 05:52:03 Well, the structure's on the water 05:52:06 -!- oerjan has joined. 05:52:13 hi oerjan 05:52:24 hi elliott 05:52:24 oerjan: You have 1 new message. '/msg lambdabot @messages' to read it. 05:52:31 Sgeo: Some intricate open-air structure would be best. 05:52:59 There are only two warp points 05:53:12 Hmm, a lot of this badness is due to me not handling the alpha... 05:53:42 Sgeo: Can I put you on another server? :P 05:54:01 There's now sky overhead, and lots of glass nearby 05:54:21 (Sorry for impersonating you in chat, just had to check it worked.) 05:54:26 ("test" will go on your tombstone.) 05:55:05 I didn't see it 05:55:21 And now MC's acting up 05:55:25 I disconnected you. 05:55:30 So I could change the server. 05:55:36 !!!!!!!! 05:55:38 elliott: that mangling does look a little ugly 05:55:39 What. 05:55:44 oerjan: what mangling 05:55:48 SgeoN1: ? 05:55:49 from your link 05:55:59 oerjan: which link :P 05:56:04 elliott, scary that you're able to disconnect me 05:56:09 http://www.reddit.com/r/haskell/comments/mm68o/ghc_74_branched_whats_in_for_christmas/c3291tr 05:56:09 SgeoN1: Why is that scary? 05:56:19 Unless...... are you proxying? 05:56:32 No, I produced that mcmap screenshot from thin air. 05:57:01 oerjan: oh, right 05:57:09 oerjan: i linked it more as a "wow, polymorphic kinds are finally here!" thing 05:57:11 I was under the impression that you were separately connected, and testing some stalking tool 05:57:27 SgeoN1: Ah. No. 05:57:35 I'm testing mcmap's new texture script. 05:57:39 Restarting comp 05:57:53 -!- Sgeo has quit (Read error: Connection reset by peer). 05:58:28 elliott: challenge: try to find a good comment http://justrakudoit.wordpress.com/2010/12/29/perl-6-fibonacci-versus-haskell/ 05:59:44 "What is the performance difference? I like to hate on Haskell because it is still so inefficient." 05:59:46 -!- Sgeo has joined. 05:59:48 lol 05:59:49 at this dude 05:59:53 elliott: I lol'd as well. 06:00:00 considering that Perl 6 doesn't have a working implementation.. 06:00:35 well, rakudo is fairly working 06:01:33 Sgeo: hi 06:02:12 elliott: it's also funny on the grounds that perl (including perl 6 now) is always slow. 06:02:27 Do you ever make pizza with just tomato, garlic, olive oil and oregano? 06:02:28 well perl regexps are fast unless you hit an edge-case afaiu 06:02:38 zzo38: No dough? 06:02:40 Hi 06:02:44 elliott: right but that's... it. 06:02:49 that's where the performance ends. 06:02:49 Do you just, like, burn the tomatoes until they're hard enough to form a base? 06:02:49 elliott: You need the pizza bread too. 06:02:51 Sgeo: KONNEKT 06:02:55 zzo38: That's not "just" then! 06:03:04 Yes I made a mistake. 06:03:06 elliott, blargh 06:03:10 Sgeo: wut 06:03:28 elliott: apparently some people are under the delusion that Perl is somehow fast? 06:04:13 elliott, connected 06:04:26 elliott, teleportation is currently out of order 06:04:30 Indeed 06:04:39 -!- derrik has joined. 06:04:40 Can you walk upwards? :P 06:04:51 Oop, stop. 06:04:58 Too late. 06:05:00 Hmm. 06:05:14 OK, I'm going to need to override a few textures before this will even begin to look reasonable. 06:05:18 Thanks. 06:05:30 yw 06:07:38 Sgeo: could you try now maybe? :P >_> 06:09:11 ahaha 06:09:16 Sgeo: would I be correct in saying there's no grass nearby? 06:09:41 Um, there's... little bits of tall grass, I think? 06:09:44 But grass on dirt, no 06:09:48 "You've sealed the monsters away, and conquered the Castle of Elite. Way to go!" 06:09:52 Well, yes there is 06:09:55 But mostly not 06:10:03 WHADDABOUT NOW :P 06:10:05 "You've even solved every puzzle in the game - you're the ultimate puzzle master!!" ;) 06:10:14 ( Patashu ) 06:10:23 Sgeo: hahahah still no grass? 06:10:42 Looks like snow 06:11:11 annoying... 06:11:54 Did you see that I died? 06:12:20 Nah, mcmap doesn't see things like that 06:12:30 06:12:02 [DIED] Unknown packet id: 0x9c 06:12:30 Feck 06:12:53 Sgeo: Can you try and die as quickly as possible if I set it up again with debugging? 06:13:07 Um, ok 06:13:12 Not sure the best way to die 06:13:14 /kill ? 06:13:20 Sgeo: /kill, or else jump off something high 06:13:22 It doesn't have to be that quick 06:13:33 Sgeo: Started 06:14:10 zzo38: pizza margherita is even simpler, although it contains different ingredients. not that i've made it, only eaten it. 06:14:43 /kill is disabled 06:15:04 Lava is not 06:15:06 Sgeo: lava also works :) 06:15:48 or well, equally simple. 06:16:02 Sgeo: then respawn or whatever you did last time 06:16:44 Huh? 06:16:53 SgeoN1: ? 06:16:57 I did resaen after dying a lavary death 06:17:02 Reapawn 06:17:04 Sometimes I omit the tomato and garlic but include salt 06:17:07 Respawn 06:17:21 SgeoN1: oh, huh 06:17:24 That means it was something else :/ 06:17:48 SgeoN1: What were you doing when it disconnected last time? 06:18:19 nice myndzi 06:18:26 maybe I'll ask you for hints later 06:18:38 zzo38: oh, your variant is called pizza marinara 06:18:47 elliott, don't remember 06:19:00 :( 06:19:03 Anyways, I want to get back to homework 06:19:07 http://en.wikipedia.org/wiki/Pizza#Pizza_types 06:19:23 Just deliberately disconnected 06:21:36 oerjan: i'm afraid you're going to have to start playing minecraft to help me with edbugging 06:22:29 neapolitan is so ludicrously simple compared to american style pizza, or american style pizza is ludicrously overdone, dependent on view 06:22:40 elliott: sorry 06:22:57 oerjan: yes i'm sorry i must inflict this on you. it is something we must achieve together. 06:24:20 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 http://en.wikipedia.org/wiki/Wikipedia 06:40:16 this article is very crufty 06:40:52 as long as it's not crunchy or crusty 06:40:56 *munch* 06:41:41 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:41:46 * kallisti scared 06:42:06 you mean, corporations take /special interest/ in their Wikipedia articles? 06:42:08 I'm shocked. 06:42:13 well it's obviously because it can only be edited by people who don't edit wikipedia, for neutrality reasons. 06:42:26 heh. 06:43:11 http://en.wikipedia.org/wiki/File:Wikipedia_content_by_subject.png 06:43:23 I'd like to see this chart with "pop culture" made distinct from "culture and arts" 06:44:48 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 elliott: I was actually under the impression that -- yess 06:45:10 that. 06:45:15 also technology 06:45:20 I thought there were way more of those articles. 06:45:28 but, then again, this is where I spend most of my time on Wikipedia 06:45:36 so, I'm a bit biased. 06:47:31 -!- copumpkin has joined. 06:47:44 http://en.wikipedia.org/wiki/Deletionism_and_inclusionism_in_Wikipedia "notable topic" 06:49:19 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:22 ... 06:49:26 that's a lot of sources. 06:49:33 the deletionsts kept removing the sourcse 06:49:35 so they had to have more 06:49:45 heh 06:50:17 Deletionism was deletionismed away and retconjuration was retconjured in 06:50:54 ^^what I said makes perfect sense to one fandom 06:51:01 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:51:09 -- deletionist 06:51:41 taking us down the ro 06:52:21 elliott: the rest of the comment actually isn't important... 06:52:28 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:52:32 but there you go 06:52:37 i didn't want the rest 06:56:17 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 Who plays Minecraft and also doesn't have homework??? 07:02:04 zzo38: I don't understand; there is an article about Wikipedia. 07:03:08 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 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 what? I didn't know this was a thing. 07:04:28 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 07:04:48 they're not as good as 07:04:50 that one we found 07:04:51 what was it Sgeo 07:05:11 http://esoteric.voxelperfect.net/wiki/Why_testing_is_good 07:05:12 http://esoteric.voxelperfect.net/wiki/Why_testing_is_good_2 07:05:13 oh my god 07:05:16 a spambot just 07:05:17 created thes 07:05:18 e 07:05:31 @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:32 Consider it noted. 07:05:36 @tell ais523 please 07:05:36 Consider it noted. 07:05:41 elliott: esowiki is an ideal place to test your wiki spambot. 07:05:42 Spambot fail. 07:05:52 THERE IS NO FAIL IT'S BEAUTIFUL 07:06:15 No, beauty would be a spambot that accidentally becomes sentient. 07:06:29 hmmm, so if we switched to hackiki, would spambots still be a problem? 07:06:50 Probably not as much as MediaWiki, for various reasons. 07:07:19 WHAT THERE'S NO WIKIPEDIA BOOK ON CATEGORY THEORY 07:07:22 * kallisti mad 07:07:41 That is, if you require OpenID to login. And Hackiki is rare meaning less spambot programs specifically target it. 07:07:56 Probably none target it thus far. 07:07:59 we shouldn't require login 07:08:01 http://en.wikipedia.org/wiki/Mathematical_beauty 07:08:02 huh 07:08:02 But I think you should have both the MediaWiki and Hackiki, and give them read-only target to each other. 07:08:06 but spambots can be fairly "generic" 07:08:10 s/target/access/ 07:09:40 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 yeah let's make an openid gopher wiki. 07:10:48 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 Even with HTTP, the spambot usually do not use commands such as PUT 07:11:19 As far as I know. 07:11:44 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 Well, yes; however, regardless of how it is done, certain spambots are more common than others. 07:12:49 i've been thinking that spammers are a bit like resistent bacteria 07:13:42 each one may be resistent against certain spam-fighting methods. and some may be multiresistent. 07:14:05 and one day there will be one which just cannot be stopped. 07:14:20 Yes that may be true; but still, some are more common than others. 07:14:36 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 we could even embed interpreters into our articles! 07:15:36 kallisti: Yes, Hackiki would help a lot of things. 07:15:55 also: think of the possible security issues. 07:15:58 so wonderful. 07:16:00 to consider. 07:16:09 one day we will find that a spambot has embedded a spambot into our articles. then singularity. 07:16:09 But I suggest not removing the MediaWiki. 07:16:18 But add the Hackiki too. 07:17:55 oerjan: when a spambot can't be stopped, it's indistinguishable from productive human contributions 07:17:57 so presumably the wiki admins don't have a fucking clue how to stop the last kind of spam. 07:18:02 at which point, spam has been solved 07:18:06 also, of course we do, it just relies on graue 07:18:11 without manual intervention. 07:18:19 you sound awfully fatalistic about this. 07:18:29 elliott: and graue is not responding i take 07:18:38 nobody's bothered because it's not a serious problem yet... 07:18:44 graue responded last time we had a huge spam influx 07:19:18 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 oerjan: i see you don't remember the _last_ huge spam influx? 07:20:33 I'm surprised hackiki hasn't gotten more attention 07:20:34 well yeah i do. 07:20:51 did the last huge spam influx have great spam 07:21:02 no 07:21:05 :( 07:21:29 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 maybe if made the hackiki interface a bit more user friendly it would catch on? 07:22:02 why do you expect hackiki to be popular 07:22:37 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 elliott: because it's a cool idea. :D) : )D : 07:24:06 I would at least expect some geek blogger to be like "yo dawg check out hackiki it's the bomb diggity" 07:24:46 the bomb diggety eh? MAYBE I SHOULD CHECK IT OUT 07:26:40 elliott, hmm? 07:26:43 yesssss 07:26:48 Sgeo: ? 07:26:57 what was it Sgeo 07:27:02 Oh, right 07:27:15 The Esoteric programming languages book? 07:27:15 kallisti are you a geek blogger maybe you could be the geek blogger you'd expect 07:27:34 esoteric programming languages book is good 07:27:37 http://www.barnesandnoble.com/w/esoteric-programming-languages-including-hephaestus-books/1105758069?ean=9781243288011&itm=2&usri=brainfuck 07:27:44 why testing is good is also good 07:28:10 I have seen that a Japanese book mentions my esolang called AAAAAAAAAAAAA!!!! 07:28:41 Wow, nice cover 07:29:22 monqy: one day I will have a bloggs 07:29:31 for my projecks 07:29:45 http://www.barnesandnoble.com/c/hephaestus-books all good 07:30:48 Sgeo: nooo they 07:30:50 made the cover wrose 07:30:57 some even have ratings 07:31:10 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:11 and reviews 07:31:17 i am going to read these reviews 07:31:48 monqy: hi buy minecraft i need... am tester 07:31:54 :( 07:31:56 Which ones have reviews? 07:32:09 you can se because there are stars 07:32:29 i love how some people actually bought these books 07:33:14 has anyone ever died 07:33:15 i love how these books exist 07:33:21 "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 But hey, it does say "Articles on" 07:35:12 http://www.barnesandnoble.com/w/serial-buses-including-hephaestus-books/1105516836?ean=9781244942738&itm=29&usri=hephaestus+books 07:35:19 $43 07:35:45 on some of these sites the books have good reivews 07:35:47 http://www.goodreads.com/book/show/12566363-maximum-ride-including 07:35:54 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 http://www.barnesandnoble.com/c/hephaestus-books?sort=PD&size=30&startat=1 most expensive books 07:36:11 of the hephaestus books 07:36:41 monqy, wow 07:36:55 the boods were amazing 07:36:59 i suspect 07:37:04 that's just people giving reviews on the wrong book 07:37:05 rather than 07:37:08 elliott, yeah 07:37:09 purchasing it and reading it and reviewing it 07:37:10 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 Hephaestus Books represents a new publishing paradigm, allowing disparate content sources to be curated into cohesive, relevant, and informative books. 07:37:24 sexual roleplay, psychodrama 07:37:52 wow choosemyhat.com is definitely the best website 07:38:05 that's gregor 07:38:11 I'm 07:38:13 I'm aware. 07:38:19 i'm just surprised people vote on it 07:38:23 wow someone likes the pirate hat 07:38:38 my vote is for all the ones that aren't pirate hats 07:38:40 except for sunday 07:38:50 I couldn't vote on today's hate because it am already to day. 07:38:51 guys let's all vote for http://codu.org/hats/BlueBeret-sm.jpg 07:38:54 he'll look like a complete shithead 07:38:55 all day tomorrow 07:38:56 http://choosemyhat.com/?s=1&day=15306 07:38:57 go go go 07:39:10 elliott: I picked good hats 07:39:13 because I like good hats. 07:39:14 FUCK YOU 07:39:18 monqy: correct his injustice 07:39:32 i voted for beret 07:39:39 monqy is groupthink 07:39:39 is Sgeo still homework (sgeo is probably still homework) 07:39:52 Sgeo is not homework 07:40:00 Sgeo is soon food 07:40:02 is sgeo 07:40:03 busy in any way 07:40:11 Not too busy to vote on a hat 07:40:18 i wasnt thinking about hat but ok 07:40:21 Sgeo: vote for mine 07:40:23 they're the awesome choices 07:40:33 * Sgeo voted beret 07:40:33 the ones that aren't the pirate hat or the beret 07:40:51 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 elliott: http://codu.org/hats/TamOShanter-sm.jpg 07:41:27 you forgot this one. 07:41:47 voting that one for tuesday 07:41:48 its good 07:44:50 * kallisti is the only one with good taste in hats. 07:44:55 time for us to all listen to superturing again 07:44:58 http://codu.org/music/e/superturing/superturing.ogg 07:45:45 Gregor: you don't happen to know toby elliott or matt mcpherrin, do you? 07:46:05 who's this person stealing my name 07:46:20 a man greater than you 07:46:27 impossible 07:46:35 you're insane :P 07:46:41 this is a good song 07:46:42 and perfect 07:46:44 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:46:46 * elliott insane and perfect 07:47:09 that reminds me, elliott, how has your life insanity been lately anyhow? 07:47:27 perfect; before you ask, the perfection has been insane 07:47:29 http://twitter.com/#!/TobyElliottUK/status/140505693936562177 07:47:32 i found toby elliott for you 07:48:04 not him 07:48:10 no it's definitely him 07:48:13 i guarantee it 07:48:16 there are two toby elliotts??? 07:48:30 i refuse to accept this 07:48:30 there can be only one 07:48:47 he works at mozilla, hence I asked gregor 07:49:43 elliott: http://codu.org/music/op9/GRegor-op9.ogg I could easily imagine this in a Zelda game. 07:50:06 maybe with some more percussion 07:50:09 is gregor embarrassed of op9 or is it too new for that, i forget 07:50:17 i've only really listened to op. 13 07:51:07 Some of his earlier ones are pretty good, too. 07:58:47 kallisti: the opening bars of the melody are very close to super smash bros music 07:59:41 i could imagine it being in a zelda game as a joke 07:59:46 coppro: I thought so as well actually 08:00:08 My main problem with Op. 9 is the synth is terribad. 08:00:14 pikhq_: picky picky 08:00:23 yeah 08:00:51 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 superturing was intriguing tho 08:01:43 I've not listened to Op. 9 all the way through, because I can't stand that synth. 08:01:45 i've been wanting to do something like for some time now 08:02:06 What I need is a clone of Sgeo. Wait, no. 08:02:30 elliott, when I'm done cooking I'll come help you 08:02:38 i can help you right now 08:02:40 THERE IS NO COOKERY 08:02:41 ONLY SUFFERING 08:02:47 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 oklopol: It totally does. Thx 08:03:09 Real orchestra > synth 08:03:51 i like terribad synth 08:03:52 what an astute observation 08:04:23 monqy: me too 08:04:43 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 pikhq_ is just jealous because he can't write music with terrible synths. 08:05:12 monqy: me too 08:05:21 orchestras sound boring 08:06:13 elliott: what with their dynamic exression of pitch and volume, using real life physics to produce timbres 08:06:16 boring. 08:06:18 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 monqy: you can't in python 2 08:06:27 wrap it in a list 08:06:29 use [0] to access 08:06:31 oh 08:06:34 ick 08:06:39 monqy: or just wrap it in an object 08:06:42 you might feel less bad 08:06:49 kallisti: have you ever heard an orchestra, they're so predictable 08:06:52 objects feel bad but maybe i can pretend it is a function 08:06:57 elliott: yes. 08:07:01 and, not necessarily 08:07:04 largely depends on the composer. 08:07:07 monqy: you could use a function too. 08:07:19 kallisti: no sorry orchestras are boring the end my good friend monqy can back me up 08:07:22 wait I thought Python 2.x had closures? 08:07:39 is that not what monqy is talking about? 08:07:51 oh he wants to modify things... 08:07:53 right? 08:07:57 no just reference 08:07:58 Yeah, very largely depends on the composer. 08:08:04 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 Some do fairly bland, boring stuff. Some blow your brains out, rearrange them, and put them back in. 08:08:30 monqy: oh if you reference then it works 08:08:33 it's just mutation that doesn't work 08:08:36 hmmmmmmm 08:09:00 so it does 08:09:12 i guess i was just testing wrognly 08:09:18 what a dumb error message though 08:09:27 (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 though actually,,,i might need mutation,,,because this thing is really dfumb 08:10:02 class Ref: def __init__(self, v=None): self.v = v 08:10:05 monqy: enjoy 08:10:22 :( 08:10:51 Well. I can say Bach is rather awesome. 08:10:53 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:01 sure 08:11:18 it's generally preferable that you not do that though 08:11:20 as it breaks some things 08:11:21 but, who cares. 08:11:25 fuck preferability 08:11:32 ;_; 08:11:47 i have given up on makign this thing preferable at all the moment i had to do it....... 08:11:53 (in python) 08:12:01 there's really no reason to not just put the class at top-level 08:12:14 unless you're doing things that involve dynamic creation of classes on the fly 08:12:17 which... you probably aren't 08:12:21 what if i am 08:12:24 :> :> :> 08:12:26 then good. 08:12:30 do that. 08:13:22 basically I just remember that there's some software somewhere (I don't remember anything else about it) that cannot do to classes that are not defined at top level. 08:13:33 ...this is very important, I know. 08:13:55 maybe it was inspect? 08:14:09 which would subsequently affect a lot of libraries that utilize reflection. 08:14:13 but I'm not sure. 08:17:02 monqy: anyway if you need some help let me know. 08:17:09 -!- zzo38 has quit (Remote host closed the connection). 08:17:36 i think i can handle this 08:18:09 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:09 * kallisti feels useful today. 08:21:21 I have helped TWO people with TWO languages. minorly. 08:21:22 yessss 08:29:33 monqy: oh also it should be class ref(object): 08:29:48 because capitalization style guide and new-style classes blah blah stupid 08:30:56 but note that no one actually follows a standard capitalization in Python programs. 08:31:33 CamelCase_is_COOLbutipreferinconsistentCaSiNg 08:31:47 -!- SgeoN1 has quit (Quit: Bye). 08:31:53 my-favourite-is-probably-this-one-for-reasons 08:32:13 fairly-classy 08:32:25 monqy: I like that one but also don't depending on the language syntax for reasons 08:32:29 that have already been discussed. 08:32:50 any capsy style depends on syntax 08:33:00 of course the best is to just use spaces. 08:33:14 depends on if you want to use spaces for other things 08:33:16 an example - another example 08:33:38 nah spaces are fine for everything 08:33:38 spaces may be best used there, but they may also be best used elsewhere 08:33:42 f an example 08:33:45 function application 08:33:51 (best language) 08:34:27 f g an example 08:34:33 obviously that's f ( g (an example)) 08:34:43 map g an example 08:34:45 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 well, obviously this one is map f (an example) 08:34:55 In\ Tcl,\ this\ is\ quite \doable,\ if\ a\ bit\ silly. 08:35:02 quite a bit silly 08:35:17 Also, s/ \/\ / 08:35:18 |I think a few languages allow this sort of thing| 08:35:41 !perl ${hello hi} = 2; 08:35:44 Can't locate object method "hello" via package "hi" (perhaps you forgot to load "hi"?) at /tmp/input.16159 line 1. 08:35:48 oops 08:35:54 weird syntax 08:35:56 !tcl set {hello hi} 2 08:36:28 of course the best is to just use spaces. 08:36:30 ++, except seriously 08:36:46 elliott: well I was being /partially/ serious 08:36:51 it highly depends on the syntax, as monqy said. 08:37:08 it isn't practical if you have syntax because it forces you to make the syntax crappy to compensate 08:37:15 and if you're plain-text then it's really hard to raed 08:37:16 read 08:37:16 obviously you can't mix Haskell-style functional application with spaces-in-variable-names and expect an unambiguous parse. 08:37:56 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:06 yes. 08:38:14 oh okay. 08:38:39 Hmm. Spaces in variable names could be perfectly sensible in a C-style language. 08:38:48 Though you'd have to ban spaces in type names. 08:38:57 (no long long int for you!) 08:39:02 kallisti: for instance, @lang allows spaces in variable names, obviously 08:39:14 elliott: because it doesn't exist? 08:39:16 OOOOOOOH SNAP 08:39:22 ha ha ha. but no. 08:40:07 Presumably, @lang doesn't deal in plain text. 08:41:19 @lang should read Microsoft Word documents as programs. 08:41:19 pong 08:41:24 @lang 08:41:25 pong 08:41:26 >_> 08:41:42 @help lang 08:41:43 help . Ask for help for . Try 'list' for all commands 08:41:50 thank you lambdabot 08:42:14 @lang good command 08:42:15 pong 08:42:24 pikhq_: or presumably @lang has no syntax 08:42:26 whatever that means. 08:43:03 indeed it does not. 08:43:52 elliott: I consider Forth to have syntax; thus I'm going to probably consider @lang to have syntax. 08:44:00 Nope 08:44:26 I consider Lisp to have syntax; thus I'm going to probably consider @lang to have syntax. 08:44:36 I would also consider a straight-up parse tree to be syntax. 08:44:49 (which Lisp is very close to being, but not quite :P) 08:44:51 elliott: unless you speak @lang commands and store it as sound file. 08:45:05 or like... draw pictures 08:45:07 syntax would require representation as a string 08:45:07 or... 08:45:17 elliott: No. 08:45:26 well... I dunno? maybe? 08:45:29 @ping duh 08:45:29 pong 08:45:31 Syntax would require representation. 08:45:42 I'm not sure how you would describe the syntax of pure-data, for example. 08:45:44 no it wouldn't. a natural number has no syntax 08:45:50 since it's all graphical and flow-charty 08:46:02 A natural number doesn't have inherent representation. 08:46:18 and such is the nature of @lang? 08:46:46 "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 "'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 int main ) int argc * char $ argv ( } printf(&Hello, World!\n&)' return 0' { 08:49:01 pikhq_: see, now i understand! 08:52:04 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 I would say that tree *itself* has syntax, as there are rules governing how it can and cannot be structured. 08:53:45 ...oops 08:54:01 int main ) int argc * char $ argv ( } printf)&Hello, World!:n&(' return 0' { 08:54:02 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 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 pikhq_, does Ook have identical syntax to BF? 08:55:10 elliott: Hmm. Maybe I'm using the wrong term here. 08:55:23 elliott: Let's call the rules for how the parse tree must be constructed metasyntax. 08:55:28 @lang has metasyntax, but not syntax. 08:55:29 pong 08:55:37 pong indeed, lambdabot 08:55:52 pikhq_: hmmm, how about grammar instead of metasyntax? is that right? 08:56:01 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 an ADT is a sort of syntax, sure, but I wouldn't call it rules applying to some underlying thing 08:56:29 (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 elliott: Um, your tree data structure doesn't have many inherent rules. struct tree {struct tree *left; struct tree *right;} 08:57:20 (you think about trees in C?) 08:57:28 Okay, admittedly, bad example. 08:57:38 Far, far too limited of type. 08:57:53 I think about trees in Visual Basic. :> 08:57:56 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 Let's stick that in Haskell-ish. Which... Makes this go into severe nitpicking, actually. 08:58:05 note how EIf (EInteger _) _ _ doesn't type. 08:58:11 and not because of any additional "rules" layered on top 08:58:29 @lang is fully dependently-typed, so of course it can express a type of syntax that admits no invalid syntactical constructions 08:58:29 pong 08:58:35 (invalid semantic constructions, certainly) 08:58:49 not that "invalid syntactical constructions" is meaningful here -- it's just an abstraction inversion to get the point across 08:58:55 the language is defined by its structure 08:59:24 How's about we go with "human language sucks". 08:59:33 Actually, let's go more general. 08:59:35 "humans suck". 08:59:44 elliott: can you take this structure and provide a list of atomic components? 08:59:55 kallisti: sentence insufficiently meaningful 08:59:55 -!- derrik has quit (Ping timeout: 252 seconds). 09:00:23 pikhq not general enough 09:00:24 -!- derrik_ has joined. 09:00:37 elliott: also, are there combinations of these components that are invalid? Are there rules that determine if a given structure is invalid? 09:00:50 repeat previous complaint 09:01:31 elliott: would it be better if I spoke to you in math? 09:01:31 monqy: "Everybody and everything sucks" 09:01:40 now that is more like it 09:01:49 kallisti: probably not. but you're assuming too many concepts necessarily imply. just expand everything out. 09:02:35 elliott: you said that the language is defined by its structure... what does that mean? 09:02:44 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 note how EIf (EInteger _) _ _ doesn't type. 09:02:45 and not because of any additional "rules" layered on top 09:02:45 @lang is fully dependently-typed, so of course it can express a type of syntax that admits no invalid syntactical constructions 09:04:09 being dependently-typed means that all syntactical constructors are valid? 09:04:09 O 09:04:13 I'm confused. 09:04:30 *constructions 09:04:32 hi I'm kallisti. 09:04:33 yes. 09:04:34 you are. 09:04:39 confused, and that. 09:04:58 Is elliott trying to teach GADTs? 09:05:02 no. 09:05:04 no 09:05:05 I get those. 09:05:14 or so he claims, indeed! 09:05:17 not what elliott is currently saying though. 09:05:24 maybe i'll just buy a computer that can run minecraft 09:05:38 Your computer can't run Minecraft? 09:05:45 Oh, btw, I should be able to help you test now 09:06:03 Even if it can't run minecraft, it should be able to run slaves to armok 09:06:20 Sgeo: indeed not 09:06:26 Jafet: Heck no. 09:06:34 Sgeo: Same time, same bat-channel. 09:06:50 04:02 < elliott> @lang is fully dependently-typed, so of course it can express a type of syntax that admits no invalid syntactical constructions 09:06:53 can you explain this bit? 09:07:03 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 note how EIf (EInteger _) _ _ doesn't type. 09:07:17 extend principle to dependent types, note that all things that would be "invalid syntax" are now things that "don't type" 09:07:31 If syntax is computable in the dependent typing system of @lang 09:07:34 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 elliott: I don't think that really disproves that the syntax /exists/ 09:08:43 that was not what i was talking about at the time. 09:08:47 oh 09:08:49 you are mixing up threads of "discussion" 09:09:00 i was merely disputing that there are "rules" which constitute a syntax, separate from the definition of the tree 09:09:29 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:09:43 so, ADT = syntax? +_+ 09:10:13 kallisti: I didn't say that, either! 09:10:15 Load, chunks, load. 09:10:17 Ah, you load. 09:10:34 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 --and not badly either, though your ice colour is not up to scratch. 09:10:41 Definitely need some handling of alpha. 09:10:58 elliott: okay so you're saying the language is just an ADT? 09:11:13 and then syntax is constructed however you lik? 09:11:14 +e 09:11:15 kallisti: No really, no. 09:12:08 "John is a married bachelor." is grammatically well-formed but expresses a meaning that cannot be true. 09:12:13 someone should make a movie about this. 09:12:19 title: Married Bachelor 09:12:21 Sgeo: And again, mayhaps? 09:12:22 romantic comedy 09:13:20 Hmm, but some of these colours are so strangely averaged. 09:13:54 Seems like a water colour is the next thing I need. 09:13:56 That was apparently a 1941 film. 09:14:08 -!- Phantom_Hoover has joined. 09:14:08 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 elliott, do I have anymore testing I need to do? 09:28:34 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:31:50 Phantom_Hoover smel sfuny 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:28 pikhq_: do I dare. 11:28:49 last release 2009. always a good sign 11:39:27 elliott, there? 11:39:31 Vorpal: No. 11:39:36 elliott, you use xfce right? 11:39:43 Well, ostensibly. Yes. 11:40:02 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 I have loads of pointless ones due to using lvm 11:40:31 Vorpal: Setting -> Desktop -> Icons? (I heartily suggest setting "icon type" to "none".) 11:40:49 Failing that, gconf or dconf or xfconf (real, apparently! I just made it up) or blah. 11:40:55 But desktops are quite an irritating thing, anyway. 11:41:14 elliott, "File system" just removes the one for / there. 11:41:25 "Icon type: None" removes them all. :-) 11:41:33 (You could put symlinks in ~/Desktop for the ones you want.) 11:41:36 (But really, desktops? In 2011?) 11:41:38 oh I guess /home is considered "removable devices" 11:41:57 oh well, I mount usb sticks from the terminal anyway 11:41:57 I don't remember the last time I've seen my desktop 11:42:09 aur/pam_captcha 1.5-4 11:42:10 A Visual text-based CAPTCHA challenge module for PAM/SSH Logins 11:42:12 Well, that's... novel. 11:42:30 Vorpal: A question in response! Do you know if I can make sudo-over-ssh ask the /connecting/ ssh for a pubkey auth? 11:42:54 hm 11:43:06 elliott, you can use pubkey for sudo? 11:43:15 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 Vorpal: That's what I'm asking. 11:43:32 So the private key isn't on donk at all, ssh-agent on blob works fine, etc. 11:43:46 That would be very nice, since the only reason I have a traditional password on servers is for sudo. 11:43:54 elliott, maybe with key forwarding and some pam module? Really I don't know much about pam. 11:44:05 Guess I picked the wrong person! 11:44:14 afraid so 11:44:19 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595817 11:44:23 Aha! This looks like it. 11:44:34 "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:36 Yes! Bravo! 11:44:46 Now, does this obsolete pam_ssh... 11:45:12 elliott, I guess you need to forward the ssh agent thingy though? 11:45:16 "libpam-ssh-agent allows you to SSH to a machine with agent forwarding, 11:45:16 and use the agent to authorise PAM transactions, most notably sudo. 11:45:16 The upshot of this is that I can go:" 11:45:20 Not sure how that works, I always avoided it 11:45:24 Vorpal: See http://pamsshagentauth.sourceforge.net/ 11:45:26 Always avoided what? 11:46:13 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 which agent forwarding iirc would open for. 11:46:29 Um, this does not involve that at all. 11:46:45 "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 elliott, it says "agent forwarding" in the text you copied 11:46:56 Offering free authentication of a private key =/= offering private key. 11:47:02 I assume you know how public-key cryptography works. 11:47:38 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 (quote from https://en.wikipedia.org/wiki/Ssh-agent) 11:47:59 elliott, which is what I meant. 11:48:07 Well that's moronic, who designed that? 11:49:13 elliott, whoever gave root full access independent of file system permissions :P 11:49:51 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:49:53 shouldn't 11:50:02 -!- derrik has joined. 11:50:47 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 thus you need that ability 11:51:03 Yeah, that's sooooo common. 11:51:12 elliott, well, that is what it was designed for. 11:51:15 not your use case 11:51:23 and agent forwarding isn't commonly used. 11:51:46 Maybe it'd be more commonly used if it did something useful :) 11:51:52 whatever. 11:53:33 I wonder if the ssh protocol itself supports doing a pubkey auth after initial login 11:54:29 doubtful 12:02:59 (Is it normal to iterate SSH key generation until you get a randomart you like?) 12:03:10 nope 12:03:16 what is a "randomart"? 12:03:42 You know, the little pictures ssh-keygen draws you. Meant for host key authentication. 12:04:01 oh that, relatively new stuff 12:04:12 I just compare the fingerprint instead 12:04:18 as in the old style string 12:08:08 elliott, hm can opengl rotation matrices cause gimbal lock? 12:08:25 I'm not sure why you expect me to know. 12:08:57 oh well, worth a try 12:14:31 -!- copumpkin has joined. 12:15:14 Vorpal, can't all matrices? 12:15:14 Phantom_Hoover: You have 13 new messages. '/msg lambdabot @messages' to read them. 12:15:28 Phantom_Hoover, I guess so 12:15:34 elliott, ... 12:15:44 Wow 12:15:44 Phantom_Hoover, so quaternions is our only hope? 12:15:57 that is quite a lot 12:20:27 It is annoying that 2D arrays in C use row-column order. 12:20:35 column-row would be so much better 12:21:11 Vorpal: Dude, they use whatever order you specify. 12:21:23 2D arrays in C are annoying. 12:21:35 elliott, well, if you want foo[4][4] = { { a, b, c} ... } 12:21:39 err a,b,c,d 12:21:41 but anyway 12:21:46 when you write it as a constant there 12:21:47 For example, try passing one to a function. 12:21:49 Well, yes, you have to specify it in the order you use it :P 12:21:56 Jafet: Try returning one. 12:22:01 Jafet: Try returning a 1D array, for that matter. 12:22:20 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 Vorpal: That's why god invented code generation. 12:22:37 Thank you, god. 12:22:40 We love you. 12:39:31 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 12:58:54 elliott, code generation for a simple task like filling out an projection matrix is silly :P 13:00:14 You call yourself a Unix user. (Do you? Anyway, it's a one-liner.) 13:00:18 Deewiant: Dramatic exit 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 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:19:23 oerjan, yep 17:23:58 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 oerjan, and it breaks down for wired networks too when differential signalling is used. 17:35:47 well kind of 17:36:08 wired networks? 17:36:26 like ethernet 17:36:29 oh hm 17:36:51 afaik ethernet uses differential signalling. 17:36:58 whatever that is. 17:37:09 https://en.wikipedia.org/wiki/Differential_signaling 17:39:08 i had a dream that an apocalypse by velociraptor robots was coming 17:40:17 well, i guess that's easier than getting enough dna for actual cloning 18:07:40 i also had a dream that one of my flashcard decks had 320000 due cards 18:10:39 SRS hell. 18:11:24 (Jeeze, I consider it a long day when I've got 100 due) 18:11:41 well i have over 20 decks 18:12:13 and i often take a couple hundred new cards a day 18:12:48 When your review methods include "write down the entire sentence", you're going to have time-consuming SRSing. 18:13:07 yes, probably, i never move a muscle 18:13:24 Damned Japanese, being somewhat hard to ensure you actually notice the distinctions between characters otherwise. 18:13:41 but what's srs, a flashcard program? 18:13:50 When I had been going for recognition, I'd pull stupid shit like confusing 義, 議, 儀... 18:14:08 SRS is a class of flashcard study methods. "Spaced repetition system". 18:14:29 Y'know, where the cards have a longer time between repetitions each time you study them and answer correctly. 18:14:32 apparently i still can't see kanji 18:14:45 oh right. 18:14:54 i use anki 18:15:00 Yeah, figurs. 18:15:03 Figures, even. 18:15:09 That's probably the most used one. 18:15:26 probably, it's not particularly good, lacks tons of very basic things i need all the tiem 18:15:28 *time 18:15:47 Like? 18:16:04 for instance there's no way to get statistics for all decks at once 18:16:10 Aaaah. 18:16:21 Yeah, that's really rather annoying. 18:16:37 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 i study my different japanese decks in different ways 18:17:46 I'm just running with sentences. 18:18:10 Working pretty well thus far. 18:18:31 i should probably get a deck from english to japanese sentences. 18:18:37 seems like the most useful kind of deck 18:20:01 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 well that i have two decks for 18:21:39 (i don't make my japanese decks) 18:22:01 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:18 good point 18:22:35 pikhq_, do you often visit Japan? 18:22:43 Vorpal: No. 18:22:54 Vorpal: In fact, I have never been. 18:23:01 what do you use your Japanese knowledge for then? 18:23:03 when watching anime, production is possibly even less useful 18:23:10 heh 18:23:16 okay I guess that is a possible use 18:23:18 why does knowledge need to be used for somethign 18:23:20 Vorpal: Mostly just Japanese media, ATM. 18:23:21 *something 18:23:42 -!- monqy has joined. 18:23:49 oklopol, it doesn't 18:23:51 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:00 heh 18:24:16 And after that, I've just been doing it because I like learning the language. 18:24:17 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 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:05 that would be awesome 18:28:35 it's just i would like to learn both the finnish and the american version, dunno how much they differ 18:28:48 assuming i guessed your acronym right 18:28:51 i rarely do 18:28:59 American Sign Language? 18:29:04 yeah 18:29:20 Looking it up, seems Finnish Sign Language is in a different language family entirely. 18:29:22 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 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 Um. I am unaware of that having those semantics. 18:34:15 -!- pikhq_ has quit (Ping timeout: 248 seconds). 18:34:44 "who bought the game?" 18:35:13 That's the only sensible semantics I'm aware of. 18:35:50 there are a couple other instances here where they've obviously just used something with the same pronunciation 18:36:19 Which premade deck are you using, anyways? 18:36:33 this is how to ttell the difference between japanese something something 18:36:35 *tell 18:36:56 i just use it to learn readings for kanji 18:39:04 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:42:46 Hello! 18:43:21 f(x) walks into a bar 18:43:33 Barman says, "Sorry, we don't cater to functions here" 18:44:55 was that the punchline? 18:45:01 Yes 18:45:55 hmm 18:45:56 cool. 18:46:56 sine of x, cos of x, and e^x go to a party 18:47:24 sine of x and cos of x both go and have a good time 18:47:29 But e^x sits in the corner 18:47:46 Somebody goes and talks to him, asks him why he's not joining in 18:48:24 e^x says, "Sorry, but whenever I try to integrate, I end up with myself" 18:50:04 sine and cos aren't much better at that stuff 18:50:30 It was a small party 18:51:41 in that case, good one 18:52:38 I would tell you my last joke, but this IRC channel is too small to contain it 18:52:39 for all n, are there n functions which derive into each other? are they unique? 18:53:06 All polynomials form an infinite chain of derivatives going upwards 18:53:57 well they form infinitely many such chains, which are not disjoint 18:54:20 And end with 0 18:54:46 -!- sebbu3 has changed nick to sebbu. 18:54:50 yeah but that doesn't really answer the question 18:55:25 I haven't officially learnt about integration yet 18:55:49 somehow i doubt they'll teach you the answer to my question 18:56:04 unless you start your studies with advanced real analysis 18:56:17 Heh, I highly doubt that 18:56:44 for 1, exponential, for 2, hyperbolic sine, for 4, sine. what else? 19:05:39 "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:25:17 * Sgeo is amused 19:34:11 zzo38: do you have the copyright to that joke 19:34:21 oklopol: No. 19:34:38 I don't know if anyone does 19:41:06 -!- ais523 has joined. 19:42:03 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 use your memory on that when you return 19:43:08 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:43:10 *notation 19:44:14 actually i sent a text to my colleague and he solved it in 2 minutes, ignore that. 19:44:49 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 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 well i haven't read this but i would use magic 20:39:33 You want to use magic for everything? 20:39:47 You might eventually run out of magic. 20:40:05 Or be prevented from using magic in some other way such as antimagic fields 20:41:52 i'd find a way 20:41:58 i'd use magic to get more magic 20:42:13 I'd use THE POWER OF CHARISMA 20:42:36 You are not even being specific. 20:42:53 You would have to read it to figure out better, isn't it? 20:43:07 Yup 20:43:25 -!- KingOfKarlsruhe has left. 20:43:48 I have my own plans too but I won't tell you what it is yet 21:00:23 -!- DCliche has joined. 21:03:10 i hear d&d has dragons. 21:03:29 they are basically dinosaurs that breathe fire 21:03:38 Yes it has dragons. But currently in the game I was playing in, no dragons have been found yet 21:03:38 how does that work? 21:03:47 -!- Klisz has quit (Ping timeout: 245 seconds). 21:03:53 And some dragons are ice dragons instead of fire 21:03:56 and if you say magic, i will punch d&d. 21:04:34 http://hauns.com/~DCQu4E5g/Fire.htm 21:05:49 okay the author is retarded 21:05:57 *religious 21:25:53 oklopol: D&D dragons are much more intelligent than dinosaurs, or really anything that is currently known to ever have existed 21:25:53 ais523: You have 2 new messages. '/msg lambdabot @messages' to read them. 21:26:07 and they can do a bunch of bizarre things without magic, and magic just makes them even stronger 21:26:09 more intelligent than humans? 21:26:13 easily 21:26:20 it makes them kind-of hard to roleplay/DM 21:26:21 P_p 21:26:31 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 21:27:00 p_P 21:27:21 @tell elliott I didn't delete "why testing is good" and the other one, Keymaker did 21:27:21 Consider it noted. 21:29:35 oklopol: 21:30:30 yeah what's your game 21:30:38 hi 21:30:58 hi. 21:31:07 really hi. 21:31:27 o 21:31:30 o 21:31:35 o 21:31:40 o 21:31:43 o 21:31:44 oko 21:31:51 okoko 21:31:53 okokoko 21:31:56 okokokoko 21:32:00 okokokokoko 21:32:04 okokokokokoko 21:32:05 okokokokokokoko 21:32:10 okokokokokokokoko 21:32:11 okokokokokokokokoko 21:32:17 okokokokokokokokokoko 21:32:18 okokokokokokokokokoko 21:32:20 ---- 21:32:33 i may have to kill everyone on this channel 21:32:47 sorry, I was actually counting that time, was determined not to lose again 21:32:55 i'm watching office 21:33:06 (I suppose copy-paste would help get it perfect, but what would be the fun in that?) 21:34:26 okokokokokokokokokokokokokokokokokokokokoko 21:34:33 okokokokokokokokokokokokokokokokokoko 21:34:40 o 21:34:41 oko 21:34:43 okoko 21:34:44 okokoko 21:34:45 okokokoko 21:34:47 okokokokoko 21:34:48 okokokokokoko 21:34:49 okokokokokokoko 21:34:51 okokokokokokokoko 21:34:53 okokokokokokokokoko 21:35:13 o 21:35:13 oko 21:35:14 okoko 21:35:15 okokoko 21:35:16 okokokoko 21:35:17 okokokokoko 21:35:18 okokokokokoko 21:35:20 okokokokokokoko 21:35:21 okokokokokokokoko 21:35:23 okokokokokokokokoko 21:35:50 ^ul (o)(~(ko)*:S~:^):^ 21:35:50 okookokookokokookokokokookokokokokookokokokokokookokokokokokokookokokokokokokokookokokokokokokokokookokokokokokokokokokookokokokokokokokokokokookokokokokokokokokokokokookokokokokokokokokokokokokookokokokokokokokokokokokokokookokokokokokokokokokokokokokokookokokokokokokokokokokokokokokokookokokokokokokokokokokokokokokokokoo ...too much output! 21:35:57 ^ul (o)(~(ko)*:S( )S~:^):^ 21:35:58 oko okoko okokoko okokokoko okokokokoko okokokokokoko okokokokokokoko okokokokokokokoko okokokokokokokokoko okokokokokokokokokoko okokokokokokokokokokoko okokokokokokokokokokokoko okokokokokokokokokokokokoko okokokokokokokokokokokokokoko okokokokokokokokokokokokokokoko okokokokokokokokokokokokokokokoko okokokokokokokokokok ...too much output! 21:36:09 ^ul (o )S(o)(~(ko)*:S( )S~:^):^ 21:36:09 o oko okoko okokoko okokokoko okokokokoko okokokokokoko okokokokokokoko okokokokokokokoko okokokokokokokokoko okokokokokokokokokoko okokokokokokokokokokoko okokokokokokokokokokokoko okokokokokokokokokokokokoko okokokokokokokokokokokokokoko okokokokokokokokokokokokokokoko okokokokokokokokokokokokokokokoko okokokokokokokokok ...too much output! 21:36:34 gah, /so tempted/ to submit it to anagolf… 21:36:42 :D 21:37:14 why isn't there an anagolf which is tested manually and where you have to implement a specific algorithm 21:37:17 i wonder 21:37:26 i want that quicksort in golfscript 21:37:58 -!- Phantom_Hoover has joined. 21:38:14 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 you could ask for mergesort specific data to be printed 21:38:51 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 like the sorted versions of halves of the lsit 21:38:55 list 21:39:14 quintopia: obviously america 21:39:45 oklopol: but I wasn't allowed to modify the question 21:40:13 in that case you could just look at what functions are called and with what arguments 21:40:18 oklopol: yeah, obviously. but elsewhere too? 21:40:30 at runtime 21:40:44 quintopia: maybe. crazy people out there 21:40:46 and out here 21:41:16 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 oklopol: modern warfare doesn't involve dragons, therefore it sucks 21:42:22 the whole thing about making centaurs for cavalry 21:42:34 or fairy machine gun people 21:42:35 :D 21:42:39 like 21:43:09 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 we could just not give it equal rights, sorta like a modern nigger. 21:44:36 / woman / child / idiot 21:44:41 thats true. we could throw out modern ethics and solve that problem easily eh 21:45:30 modern ethics = living things are all equal? 21:45:33 no 21:45:40 no one gives a fuck if you rape a fish 21:45:44 no one 21:46:29 i mean any more than if you rape a chair, people might think there's something wrong with you of course 21:47:13 well i guess if you give it a human brain, which seems like something centaur might have... 21:47:26 i was thinking more like horse brain but the great looks of a human 21:50:32 My game is http://zzo38computer.cjb.net/dnd/recording/level20.tex 21:50:54 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:38 no one gives a fuck if you rape a fish 21:55:53 Well, there are certain negative connotations of sleeping with the fishes. 21:56:55 -!- Ngevd has quit (Ping timeout: 248 seconds). 21:57:16 :SDSDSDSDSDSDSDSD 21:57:18 good'n 21:57:59 Yeah, I stole it from the Simpsons' good era. 22:05:12 people are not being very original toda 22:05:12 y 22:12:32 -!- Phantom__Hoover has joined. 22:12:44 people are not being very original toda 22:13:02 Well I applied the joke in an original way? 22:13:27 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 22:15:15 -!- Phantom__Hoover has changed nick to Phantom_Hoover. 22:16:06 well true 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:07:08 http://en.wikipedia.org/wiki/Nikolaos_Bourbakis 23:07:18 Such a good name, wasted. 23:07:53 ? 23:08:05 i assume this is a reference to the other bourbakis, but i still don't get it 23:08:55 His name is a stone's throw away from "Nicolas Bourbaki" and he goes into image processing. 23:09:59 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 and we're both just fucking around and doing nothing useful 23:11:22 A famous Finnish singer? 23:12:18 they've sold a gold album in US so basically the most famous group in finland 23:12:23 globally 23:12:46 It's not Lordi, is it? 23:12:59 :D 23:12:59 no 23:13:11 Lordi is the best thing about Finland. 23:13:23 Not like Sweden, Sweden is irrecoverably terrible. 23:13:38 ... 23:13:39 right 23:14:08 sweden and finland both have a lot of good metal bands 23:14:08 So your name is one character away from "Ville Valo"? 23:14:17 that's a bit of a leap 23:14:40 i've told this channel my name like 5 times 23:15:09 I was not listening at any of them. 23:15:36 so i assume you haven't read my master's thesis either 23:15:44 that's kind of rude. 23:15:51 i've read everything you ever published 23:16:47 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 Unless it turns out W|A does it, which is a bit of a stretch. 23:17:02 you could look up common surnames 23:17:11 OK I'll read your master's thesis. 23:17:39 good. 23:17:50 it seems my surname is #21 23:18:47 (Where is your master's thesis.) 23:19:16 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:19:24 nice link. 23:19:37 doesn't even work :DSAfd 23:19:51 wait totally does 23:21:26 please disregard the typo in the abstract 23:21:51 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 and you can read our survey on picture-walking automata for a more complete treatment of picture-walking automata 23:28:00 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).