00:10:32 ^def test bf ,[>+>+<[-[---->+++++<]>[-<+>]+<<[->[----->++++<]>[-<+>]<<[->+<[->+<[>[->+<]>++<<-[->+<]]]]]>[-<+>]>[-<+>]<]<.,] 00:10:32 Defined. 00:10:41 ^test 0123456789 00:10:44 }efg‚ijk‡m 00:11:09 argh 00:11:32 oh 00:11:56 ^def test bf ,[>+[-[---->+++++<]>[-<+>]+<<[->[----->++++<]>[-<+>]<<[->+<[->+<[>[->+<]>++<<-[->+<]]]]]>[-<+>]>[-<+>]<]<.,] 00:11:57 Defined. 00:12:01 ^test 0123456789 00:12:02 K123A567F9 00:12:22 > map ord "K123A567F9" 00:12:23 [75,49,50,51,65,53,54,55,70,57] 00:13:11 excellent 00:14:42 ^test @ABCDEFGHIJKLMNOP 00:14:46 }ABCUEFGZIJK_MNO} 00:15:00 > map ord "}ABCUEFGZIJK_MNO}" 00:15:01 [125,65,66,67,85,69,70,71,90,73,74,75,95,77,78,79,125] 00:15:29 oerjan: Is it working? 00:15:43 for the fractran program 5/4, yes 00:16:01 the @ there got multiplied 3 times, as it should 00:16:09 oerjan: so you managed the mod-two thing? 00:16:19 well technically not 00:17:32 technically i _still_ cannot get the check (which is actually for mod-four now) to escape the loop, but it _can_ be used to terminate it 00:18:37 with this new method there's no need to give mod 2 a special meaning 00:20:31 heh i think i ended up just making a single character change to the previous program which only applied 5/4 once 00:20:47 oh wait 2 characters 00:21:20 changing a 0 to 1, and vice versa, causing it to redo the loop with a new initial value instead of halting 00:21:46 oerjan: can do two fractions yet? 00:21:57 and this ability to redo with a new value means there is no need to have a surrounding main loop 00:22:17 (well except that i'm reading in a list of chars, but that's different) 00:22:48 quintopia: in principle, but it requires combining the fractran fractions 00:23:18 i cant parse the algorithm in my head. whats the basic method? 00:23:25 say for the program 5/2, 5/3 i would need to combine the 2's and 3's into a branch modulo _6_ 00:24:34 makes sense 00:24:39 quintopia: BTW, you're a good dorf. 00:24:45 dorf? 00:24:50 whats the division alg? 00:24:57 elliott: what's my full name? 00:25:29 oerjan: dwarf 00:25:51 quintopia: 'quintopia' OkillĂČr, Gem Setter 00:26:28 oerjannnnn hows the mod check work? 00:27:04 oerjan: (We've named the dwarves in our DF succession game after channel members.) 00:27:11 elliott: put me on a boat and let me explore hell. i was made to travel. 00:27:11 oerjan: You're a carpenter. 00:27:17 quintopia: Tempting. 00:27:52 <3 stupid dorf tricks 00:30:25 quintopia: well it's essentially repeated decrement in a 4 level nested if 00:31:41 where each level first sets up the resulting registers _if_ the main register n has reached 0 by then, so that falling through gives the right behavior (halting or redoing) 00:32:46 after the ]]]] point, the cells are *0 n m+1 for redoing (m=0 when starting an entirely new number) or *0 r 0 for halting 00:33:26 each iteration which _doesn't_ let n reach 0, will decrement n by 4 and increment m by 4 00:36:44 it varies by level how the new n and m are constructed from the old ones. 00:37:39 but the outcome is the ability to branch on n%4, with either halting with some linear function of n/4, or redoing the whole loop again with one 00:39:45 quintopia: got it? 00:41:02 so to do a fractran program 5/2, 5/3 you'd want to do a similar branch modulo 6. 00:43:01 oh cute, oerjan has picked up the math monologuing from oklopol 00:43:18 elliott: erm quintopia asked 00:43:19 admittedly quintopia asked :D 00:44:26 I don't like the "snow permanent" rule in Magic: the Gathering; I would prefer it be "snow object". 00:54:35 quintopia: you're about to become implicit in a murder. 00:55:19 complicit. 01:01:19 Would you anything write more ideas/opinions/comment/question based on my idea of new programming language? I also have some other ideas about it too. 01:02:59 * The program cannot have a main function; it must be linked with a module in a different programming language in order to compile it into an executable program. 01:04:38 -!- azaq23 has quit (Quit: Leaving.). 01:08:41 -!- CakeProphet has joined. 01:08:41 -!- CakeProphet has quit (Changing host). 01:08:42 -!- CakeProphet has joined. 01:15:06 -!- cheater_ has joined. 01:18:15 -!- cheater has quit (Ping timeout: 250 seconds). 01:36:16 zzo38, can't self-host then. 01:36:17 No. 01:37:49 Lymee: I know it can't self-host. There are other programming languages, too, that I wouldn't expect to self-host. However, if you really want to, you could write some stub that allows it to, I guess; and a program in itself could be able to generate this stub 01:41:15 ^def test bf ,[>++[-[----<+++++>]+<<[->[----->++++<]>[-<+>]<<[->+<[->+<[>[->+<]>++<<-[->+<]]]]]>[-<+>]>>]<<.,] 01:41:15 Defined. 01:41:30 ^test @ABCDEFGHIJKL 01:41:35 ...out of time! 01:41:43 wat 01:41:55 ^test @A 01:42:00 ...out of time! 01:42:07 * oerjan suspects a bug 01:42:51 ^def test bf ,[>>+[-[----<+++++>]+<<[->[----->++++<]>[-<+>]<<[->+<[->+<[>[->+<]>++<<-[->+<]]]]]>[-<+>]>>]<<.,] 01:42:51 Defined. 01:42:55 ^test @ABCDEFGHIJKL 01:43:15 fungot: now what? 01:43:16 oerjan: will that make life possible. 01:43:21 ^test @A 01:43:40 "Here is the beginnings of my new "Turducken" fortress: A fortress that contains a volcano in it's center. Mostly submerged in this volcano will be another smaller fort, which will also contain an even smaller volcano." 01:44:07 oerjan is organising a party ahahahaha HOW OUT-OF-CHARACTER 01:45:07 ^def test bf ,[>>+[-[----<+++++>]+<<[->[----->++++<]>[-<+>]<<[->+<[->+<[>[->+<]>++<<-[->+<]]]]]>[-<+>]>]<<.,] 01:45:07 Defined. 01:45:11 ^test @ABCDEFGHIJKL 01:45:12 }ABCUEFGZIJK_ 01:45:16 whew 01:45:30 * CakeProphet maintains a noble facade of bakery soothsaying 01:55:16 -!- micahjohnston has quit (Ping timeout: 255 seconds). 01:58:44 The world of video games loathes the man with one eye and no thumbs. 01:58:51 Gregor: You're also a dorf. 01:58:57 A pretty good soldier, as it happens. 01:59:14 *dwarfpimp 01:59:46 Gregor: Well technically you're dead. 01:59:48 But Gregor II isn't. 02:01:17 -!- Sgeo has quit (Remote host closed the connection). 02:01:22 -!- Sgeo_ has joined. 02:01:27 Probably some game are more difficult if no thumbs 02:01:38 -!- Sgeo_ has changed nick to Sgeo. 02:01:49 DorfdorfbĂŒrger 02:02:10 Eyes need to readjust 02:05:37 -!- micahjohnston has joined. 02:12:44 `addquote You realise the micromanagement it took to make quintopia encrust my silver throne with emeralds rather than a jug? 02:12:48 568) You realise the micromanagement it took to make quintopia encrust my silver throne with emeralds rather than a jug? 02:38:05 O...K... 02:38:08 It's... nearly 4. 02:38:10 I 02:38:14 I should really go to bed. 02:38:19 -!- Phantom_Hoover has left ("Leaving"). 02:38:20 -!- Phantom_Hoover has quit (Quit: Leaving). 02:39:40 PH is such a wimp. 02:40:59 NihilistDandy: Lymee: Vorpal: Help. 02:41:02 Ping ping ping help. 02:41:26 ăȘにăȘに 02:41:55 Lymee: OK so the fortress just got sieged. 02:41:57 By goblins. 02:42:04 Seigen. Whatever. 02:42:27 And I need help because I'm useless. 02:42:47 There's seven of them. 02:42:48 Help. 02:42:57 Do... do I want my military to attack them? 02:43:04 Yes. 02:43:14 All of them at once? Okay. 02:43:30 I don't know if your military is strong enough, but. 02:43:36 It... isn't. 02:43:47 The other option is to lock your gates. 02:43:52 I can do that too, yes. 02:43:56 But I think a lot of them are already inside. 02:44:00 ... 02:44:03 Perhaps all of them. 02:44:04 Send your military. 02:44:08 Yeah. 02:44:11 And close up sooner next time. 02:44:23 Lymee: Uh, dude, I'm like two ticks after it told me there was an ambush. 02:44:29 I can't monitor my traps twenty four seven. 02:44:30 Ah. 02:44:37 You could add a detector animal. 02:44:39 It only tells you there's an ambush after they become visible, apparently. 02:44:52 OK, time to remember the keycombo to flip the lockdown lever. 02:44:57 elliott: are you playing dwarf fortress 02:45:04 -!- CakeProphet has quit (Ping timeout: 276 seconds). 02:45:07 coppro: Yes. We're doing a succession fortress, and it might not live beyond me. 02:45:19 I don't know what that is. 02:46:00 qaP apparently. 02:46:16 coppro: Play a year -> pass it on to the next person -> repeat until it's dead. 02:46:30 Or purposefully slaughtered... 02:46:49 Dammit PH, where is the lever??? 02:47:33 HAHAHA there's a pool of elf blood at my entrance. 02:47:46 (I seized all the elves' possessions and murdered them and their donkey.) 02:47:58 By the time they send something nasty the fortress will by Lymee's or monqy's. 02:48:24 Lymee will welcome them. 02:48:25 With lava. 02:49:11 Lymee: OK but seriously how can I find the lever I need to qaP on. 02:49:21 Umm... 02:49:30 I'm quite sure there's a building list with "b" or "B 02:49:34 I'll never be able to handle anything nasty 02:49:50 Lymee: That's the build menu, isn't it. 02:50:04 Use "R" 02:50:11 Oh, thanks 02:50:51 Aha, here we go 02:53:30 Lymee: Hmm, it looks like every one of the goblins is outside 02:53:46 Should I cancel the military orders and just wait for them to go away? 02:53:57 Depends on if you think the military can handle them. 02:54:09 Lymee: Well... they were started late last year, and it's now late summer. 02:54:16 PH doesn't seem exceptionally confident in them. 02:54:18 What are their skills? 02:54:24 They massacred the elves, but, well, elves have wooden weapons. 02:54:27 And what are the goblins armed with? 02:54:32 Lymee: Wildly varying skills :-P 02:54:43 I'm not sure what the goblins have. 02:54:53 I mean, they will go away if I just lockdown long enough, right? 02:55:29 Dunno... 02:55:33 I'm not sure I've ever seen that happen. 02:56:00 Oh well. 02:56:06 My lever doesn't appear to work. 02:56:44 Yeah, OK, our militia commander Vorpal just died. 02:57:38 RIP Vorpal 02:57:41 Time to pull 'em out. 02:57:57 Pretty sure Gregor II, our best soldier, is a goner. 02:58:01 He's running from them in the wrong direction. 02:58:06 Am I still alive? 02:58:27 Sgeo: I think so; you're a boring administrator. 02:58:42 Lymee: I wonder if they're not heading back to the fortress because they know you can't get in? 02:58:45 Because I pulled the lever. 02:58:47 I don't think it worked mind you. 02:59:00 I've had armies not rush in before. 02:59:48 Oh wait 02:59:51 It's Vorpal's corpse that's not moving 02:59:54 Vorpal's mutilated corpse at that 03:00:12 Why are you heading for the river, Gregor II? 03:00:22 Suicidal tendencies. 03:00:34 Have you encountered a forgotten beast yet? 03:01:04 Yeah this guy is so gonna die. 03:01:07 Lymee: Yes. 03:01:14 He and/or she's boarded up safely. 03:01:17 Was it tasty? 03:01:26 He and/or she's boarded up safely. 03:01:36 Just gonna... leave it there. 03:01:50 Can you sic it on the goblins? 03:02:04 elliott, also, minor tip. 03:02:04 Lymee: I... is that even possible? 03:02:11 High skill miners are good at killing things. 03:02:39 Lymee: Dude. I'm not risking monqy. He is our only miner. 03:03:00 who what 03:03:06 monqy: Yeah. 03:03:19 What game are you talking about? 03:03:25 Dwarf Fortress 03:03:25 MDude: Dwarf Fortress. 03:03:30 ... 03:03:32 There's a giant lake. 03:03:35 In the middle of a desert 03:03:37 Embark: Y/N 03:03:42 Lymee: X-D 03:03:47 Lymee: Stop playing your game of DF and help me play mine 03:03:59 :[ 03:04:23 MDude: If you don't know of it, it's like NetHack except instead of doing things, you order a large number of idiots to do them; and also it's about a thousand times more complicated, and at least twice as difficult. 03:06:09 Lymee: Can I, like, specifically order Gregor II to come back inside? :-P 03:06:14 Umm... 03:06:19 There might be an alert for that. 03:06:28 It's on the highest default alert, at least. 03:06:52 Ah. 03:07:05 But military overrides that because dumb. 03:07:11 You have to make an emergency burrow of sorts and restrict everybody to it, I think. 03:08:32 On Gregor II: "She is not a risk-taker. She is mostly unaware of her own emotions and rarely expresses them. She dislikes helping others. She is compassionate. She needs alcohol to get through the working day. She doesn't really care about anything anymore." 03:09:11 Also her left foot is cut open, her left foot is bruised, her left lower arm is broken, her left lower arm is cut open, her left lower arm is oozing 'Gregor II' Cloistertrampled's dwarf blood [who else's? Also, best surname -Ed.], her right foot is cut open, her right upper arm is cut open, and her left lower leg is cut open. 03:09:22 Woops. 03:10:07 Lymee: I should just give up on Gregor II, huh. 03:13:10 YEp~ 03:13:11 Yep* 03:13:22 Yep, dead. 03:14:33 The goblins seem to be leaving. 03:14:36 FUCKING HELL NIHILISTDANDY 03:14:39 STOP CREATING MASTERPIECES 03:14:42 YOU DO IT LITERALLY MULTIPLE TIMES A MINUTE 03:17:47 Can't that be lethal if you're short on supplies? 03:18:30 Sgeo: I don't think we are. 03:19:25 I wish the goblins would make their way to the entrance or leave. 03:24:21 itidus just got himself killed. 03:25:38 Lymee: Well, the goblins are going through traps now. 03:27:31 Lymee: Haha, I think the goblins are neutralised 03:27:36 There's only three goblins not in cages 03:27:40 And I think they're trapped between cages 03:27:50 You can't get trapped between cages. 03:28:00 Well. They're standing perfectly still. 03:28:03 With caves on each side of them. 03:28:08 It's a cage trap. 03:28:10 Not cages. 03:28:11 They're waiting. 03:28:16 -!- micahjohnston has quit (Ping timeout: 240 seconds). 03:28:20 Wait, are they active traps? 03:28:27 Lymee: The cage traps both have goblins in. 03:28:28 It's 03:28:29 T 03:28:29 g 03:28:29 T 03:28:30 G 03:28:36 where T = cage trap that is filled with a goblin. 03:28:39 s/G/g/ 03:28:40 Yeah. 03:28:44 That won't trap them, I don't think 03:28:47 And then there's just floor eblow the bottom g. 03:28:51 And to the right of the top g, for that matter. 03:28:59 Oh wait 03:29:06 Lymee: One of them is ... standing on top of a goblin cage 03:29:11 <3 03:29:12 So's the other, in fact 03:29:21 The other has two goblins on top of a cage. 03:29:24 So, umm... 03:29:26 Are they trapped? 03:29:30 Nope. 03:29:35 Then what are they doing. 03:29:44 Camping around I guess. 03:29:47 They seem to do that. 03:29:57 I really, really want to get off alert soon, because there's human traders and I want to give them shit. 03:30:06 But nobody can get to the depot. 03:30:09 Because of my alert level. 03:30:15 Send your military at them. 03:30:19 They should be weakened. 03:30:34 They're... not, but fine. 03:30:40 I only have to fight the tree that aren't trapped, right? 03:30:42 three. 03:31:02 Also... 03:31:05 My entire military squad is dead. 03:31:26 ... 03:31:39 There was only like three people. 03:31:44 Maybe four. 03:32:23 * elliott tries to figure out which skill I need for military. 03:32:58 Siege engineering?? 03:33:25 Lymee: ha;lp 03:33:48 Siege Engineering is for building balista and stuff 03:34:00 Damn. 03:34:21 * elliott decides to make quintopia a miner while he's at it, since we only have monqy, and quintopia is the only one with any other mining skills. 03:34:24 Plus he's a gem setter. 03:34:28 So I guess he isn't doing that much. 03:34:43 Lymee: So are there really no labours good for -- oh wait, military has its own set. 03:34:53 Mining. 03:35:03 Pretty much the only non-military skill that can be used to kill stuff. 03:35:14 monqy is a legendary mining, it seems. 03:35:15 miner. 03:35:33 Lymee: Yeah, I just don't have any half-decent soldiers elft. 03:35:34 left. 03:35:46 Apart from MAYBE monqy, and I am NOT going to risk him. 03:36:09 Besides, he's busy smoothing my bedroom floor ;-) 03:36:18 Hmm, one of the goblins moved. 03:36:47 Lymee: I mean, there's like over ten traps still for them to pass through. 03:36:51 So they're practically guaranteed to get trapped. 03:36:54 But I hate waiting for it. 03:37:53 -!- micahjohnston has joined. 03:39:33 Excellent, another one trapped. 03:39:35 And another one. 03:39:36 Only one goblin left. 03:40:01 I'm sure monqy can take care of them~ 03:40:06 DIE NGEBZO DIE 03:40:08 Lymee: NOOOOOOOOOOOOOO 03:40:44 Lymee: Let me try and explain :-P 03:41:02 monqy's mining skill level: Twenty. 03:41:04 He is Legendary. 03:41:24 quintopia's... 03:41:32 Is five. 03:41:36 Well... 03:41:38 Lymee: So yeah. 03:41:41 And NOBODY else 03:41:42 Not a single person 03:41:44 Has any mining skills at all 03:41:55 With high enough quality pickaxes and some armor, a miner should be a good last resort. But... 03:42:02 No need to use a last resort =p 03:42:08 But I'd lose my last fucking miner :P 03:42:11 Yeah, these guys are gonna be trapped. 03:42:17 I just need this one dude to walk in. 03:42:23 They can't escape, AFAIK. 03:42:26 Seriously though, I'm quite sure mining is the easiest combat usable skill to train. 03:42:47 I'm gonna ask for an extension of time with this fortress considering that I've lost... well, far too long, fighting these goblins X-D 03:42:55 Lymee: Yeah, well, quintopia should learn it up now that I've designated him as one. 03:43:09 I noticed, Redmine still asks your SREG "nickname", "fullname", and "email" fields even if you have already registered, although it seems doesn't use them. 03:43:16 (Except when registering) 03:43:45 Hmph, our still has no brew drink task going. 03:43:48 T-Pain has been slacking off. 03:44:07 Lymee: Think monqy could take on a single goblin in a field of traps? 03:44:17 I am really getting sick of that guy. 03:44:19 Dunno. 03:44:25 And he has AN INJURY 03:44:29 "His right lower arm is dented." 03:44:32 Shouldn't be a problem, but.... 03:44:42 If I recall monqy, he shouldn't have any problem getting back in. 03:44:47 It's a single-file trap place. 03:44:55 Apart from five blocks open to the right at one point. 03:45:09 I'll give this goblin another minute or so. 03:45:20 Send in somebody on a random outside job as bait. 03:45:32 X-D 03:45:37 I'm on too high an alert level for that. 03:45:47 I could sacrifice someone, but they probably wouldn't kill the dude. 03:45:58 elliott, you see. 03:46:01 They encounter goblin. 03:46:04 Goblin gives chase. 03:46:06 Person runs. 03:46:08 Goblin gets trapped. 03:46:19 Nah; the goblin's at the beginning of the trap plcae. 03:46:19 place. 03:46:25 So the goblin would just run in free space. 03:47:45 * elliott just removes the alert level out of curiosity. 03:48:00 People are coming upstairs now. 03:48:06 Hopefully it'll tempt the goblin to come here. :p 03:48:11 Gosh, a right rush it is. 03:50:03 OK, Sigun Artoboslan, who has basically no skill in everything, and is a milker, and who has no job, is gonna get sacrificed. 03:50:50 Lymee: Will my militia squad commander fight if he's the only guy on a squad...? 03:51:16 Yep. 03:51:46 Awesome. 03:52:17 Doesn't... seem to be happening. 03:52:51 maybe he's just not good at fighting. 03:53:26 Lymee: Umm, are you sure about that? 03:53:39 Mostly. 03:55:39 Bye merchants. 03:55:42 Oh god. 03:55:43 They're about to. 03:55:45 You know. 03:55:46 Leave. 03:55:53 You know what that means. 03:55:55 Going through the traps. 04:05:21 elliott: What'd I do? 04:05:31 Oh, masterpieces 04:05:35 What kind of masterpieces? 04:05:55 NihilistDandy: So many. 04:05:57 You're a stonecrafter. 04:06:00 And literally the best one ever. 04:06:13 As if there were ever a doubt 04:06:22 Any choice items? 04:07:01 Also, multiple times a minute? Damn, I'm good 04:08:32 Additionally, did I survive the goblin onslaught? 04:09:08 NihilistDandy: Only military has died so far 04:09:13 zzo38: hi 04:09:14 Sweet 04:09:20 NihilistDandy: But seriously, you create bags of the stuff on a regular basis 04:09:23 You churn out masterpieces 04:09:48 NihilistDandy: It's annoying enough that I want to turn off the messages about you creating a masterpiece 04:10:05 This has been the best shit all week 04:10:40 NihilistDandy: Hey, do you play DF, I forget 04:11:04 I've thought about it. I played for like 8 seconds the other day when you started talking about it, but I haven't gotten way into it, by any means 04:11:19 NihilistDandy: So clearly you want to play in the succession game 04:11:43 As in the next game? Or is "succession game" a technical term? 04:11:54 But yes, clearly I do 04:12:07 Hopefully I'll survive and continue being masterful 04:12:34 I should probably learn the controls before my turn 04:12:36 NihilistDandy: Succession game = everyone plays a year, passes the fortress on, repeat 04:12:41 monqy: There's an awful lot of controls. 04:12:52 what should I learn befroe I start 04:13:01 elliott: Hmm. Sure. I should probably play a couple of games before my turn, though 04:13:36 NihilistDandy: "A couple of games" 04:13:38 Games can last indefinitely :-P 04:13:43 monqy: I dunno, go through the quickstart guide? 04:13:47 monqy: On the wiki 04:13:53 elliott: will do 04:14:04 probably either later tonight or tomorrow 04:14:21 monqy: That could take a while ;-) 04:14:39 elliott: Well, I need to play until I don't just die, then 04:14:47 Well, don't die immediately, that is 04:15:00 I think it's quite hard to just die early on 04:25:09 -!- MDude has changed nick to MSleep. 04:27:45 Please help the wiki https://devlabs.linuxassist.net/projects/texnicard/wiki/Dangelo_Programming_Language 04:28:25 Well, I applied some skin or other to it, now. I have no desire to look at ASCII all night. I got nethack out of my system, thank you. (Okay, that's not quite true) 04:28:35 But the interface is nice, overall, for a spreadsheet 04:29:58 NihilistDandy: Oh come on, there's barely any micromanagement at all with a reasonable playstyle. 04:30:14 I'm just kidding, jeez :P 04:30:18 There's even a job interface which makes everyone coordinate and fetch resources and craft things and put them in piles just from a task like "construct 99 beds" :p 04:30:38 NihilistDandy: Honestly though, I have trouble believing any really-graphical set could convey the same amount of info the pseudo-textual set does 04:30:55 Such as? 04:31:01 Attempting to look realistic just decreases the number of possible designs 04:31:04 And it's not really that graphical 04:31:07 And there's a fuckload types of block 04:31:10 It's just shitty little sprites 04:31:25 Screenshotting 04:31:30 Plus sprites will always be bigger than the pseudo-text tiles, and so it'll pack less info onto the screen at once :-P 04:32:14 NihilistDandy: Here's what I see, and I find that I strongly wish for a bigger viewing area: http://ompldr.org/vOXNobA 04:32:33 Overground is much more complicated 04:34:37 http://dl.dropbox.com/u/21008274/blah.tiff 04:34:52 Would have been faster, but I didn't realize Dropbox wasn't "Lion-ready" 04:35:25 Nice ... wand with a Wii strap. 04:35:36 Oh, now it works. 04:35:46 NihilistDandy: That's most definitely a very graphical set. 04:35:57 And what kind of fort is that? Isn't that some mod? 04:36:07 I like how it's fucked up your text 04:36:12 See that one step thing? 04:36:14 It's a . 04:36:17 Every . in text will look like that 04:36:18 Have fun with that 04:36:35 elliott: That's just the object blah blah blah 04:36:39 Sandbox thing 04:36:50 What? 04:36:53 Oh 04:37:04 The fort, that is 04:37:08 I wish they'd smooth my floor more quickly. 04:37:11 Hmm. 04:37:13 Actually. 04:37:18 I don't like how... 04:38:03 -!- oerjan has quit (Quit: Good night). 04:39:17 * elliott channels out his bedroom. 04:40:37 Is oerjan just sitting there... 04:41:32 These dorfs are incompetent. 04:41:33 Argh, migrants. 04:42:36 Well, shit. Now that I've removed the graphical set (i.e., I untar'd again), shit doesn't even run :| 04:43:28 What error 04:43:39 Found a fix 04:43:41 No problems 04:44:35 NihilistDandy: NOT ANOTHER FUCKING MASTERPIECE 04:44:49 FUCK YES 04:45:20 And you know what? I take it back. The text was *is* better 04:45:24 Flowing water, for one 04:45:47 Though what all this shit means, I can't begin to imagine 04:46:35 NihilistDandy: Try using k to examine shit 04:46:41 Quickstart guide is recommended, I read, like, half of it ;D 04:46:41 Doing so 04:46:47 I'll get right on that 04:49:33 elliott: Does it say what kind of masterpieces, or is it just "NihilistDandy created another fucking masterpiece"? 04:50:20 NihilistDandy: The latter 04:50:29 I suppose I could look, but we just sell off bags of them instead 04:51:14 My works will probably cause economic collapse 04:51:25 -!- derrik has joined. 04:51:28 All currency, devalued, and all because of me 04:51:30 Oh, so you're a Congressman? 04:51:44 pikhq_: A MASTERPIECE OF MALICE 04:57:14 Fuck 04:57:14 Fuck 04:57:14 Fuck 04:57:17 Lymee: FUCK HELP 04:57:26 ăȘにăȘにăȘにăȘに 04:57:28 fungot: MULE WENT BEZERK 04:57:28 elliott: he is so silly!!! :d divided by your number 04:57:32 THEN THE HUMAN MERCHANT WENT BERZERK 04:57:33 AND 04:57:39 FUCKING 04:57:43 JUST 04:57:44 LIKE 04:57:45 YEAH 04:57:45 HELP 04:57:49 MILITARY????? 04:58:02 Send in monqy 04:58:21 Gah 04:58:21 No 04:58:27 Let the traps do the work. 04:58:40 They're downstairs 04:58:41 For some reason 04:59:22 Lymee: I think maybe I locked them in?? 05:00:23 Feed them lava. 05:01:13 Lymee: Not... practical. 05:02:07 Open a tunnel between them and the forgotten beast. 05:03:07 LET THE MASTERPIECES FLOW LIKE WINE 05:03:34 Lymee: lol 05:03:38 Would that even work 05:03:41 Dunno. 05:05:42 luke-jr> Sgeo: if people are going to commit sexual abuse, they should be infected. 05:06:03 With what? Kid AIDS? 05:06:27 Why are you in jesus again. 05:06:32 I cba to type the octothorpe so deal with that ambiguity. 05:07:03 I think the infection comes double if you sexually abuse jesus 05:07:29 It doesn't have to be non-consensual. 05:08:06 OK seriously someone help me deal with this rmpage. 05:08:23 rampage. 05:11:29 not me im too legendarey 05:11:42 Same 05:11:49 I'm busy making masterpieces 05:14:49 monqy: I'll send you in if I have to. 05:20:52 opt1mus: women have too many "rights" today 05:20:52 luke-jr: which ones are too many? 05:20:52 everything's gone downhill ever since they were allowed to vote 05:20:52 oh dear. 05:20:52 maybe even before 05:21:37 reading 05:21:49 That was the first nail in the coffin 05:22:02 where is this happening? 05:22:16 quintopia, #jesus 05:22:22 Sgeo: hahaha 05:22:23 ohheyhowunexpected 05:22:31 * Lymee resists clicking for her sanity 05:22:33 yeah i figured it out 05:22:39 * Lymee not in the mood to blow up on somebody 05:22:48 Lymee: you cant blow up on luke-jr hes amazing 05:22:52 is it him that supports book burning Sgeo 05:22:53 i think it is 05:22:55 or is it the other one 05:23:16 elliott, I think there are several that support book burning 05:23:20 This game is bad because Hitler played it. 05:23:25 Sgeo, tell him that men have way too many rights. 05:23:27 Watch explosion~ 05:23:39 This is the king's lava, please don't step in it. 05:25:08 hahha 05:25:14 zzo++ 05:25:16 Joining for lulz 05:25:23 My name alone should be enough to cause trouble 05:26:17 I should join using the name "HaruhiSuzumiya" 05:26:27 Nobody will notice~ 05:27:12 Did I just say something luke-jr agreed with? I feel dirty 05:27:24 You should take it back 05:27:31 Tell him that the Trinity is awesome and perfect 05:27:41 NON-BELIEVERS ARE TO BE SHUNNED 05:27:55 Should I join #jesus as "MadokaKaname" or "HaruhiSuzumiya" 05:28:12 Kaname 05:29:01 Or would it be obvioustroll... 05:29:08 "I abjured that heresy" 05:29:14 He talks like a D&D manual 05:30:11 -!- MadokaKaname has joined. 05:30:12 ^__^ 05:30:43 Meh, just ask "What reasons are there to think that a god exists?". That should leave them arguing for ages. 05:31:56 pikhq_, luke-jr believes the Catholic Church can be proven to be authoritative through logic 05:32:05 "HAI GUISE. I just read this awesome proof of God's existence. You should all go tell #math about it" 05:32:27 Sgeo: Does he even have true premises? 05:32:46 I don't remember if I've even heard his logic 05:32:48 * elliott saves the fort for today. 05:33:13 Gonna... handle that rampage tomorrow. 05:33:15 Someone remind me. 05:36:23 NihilistDandy: How's your fort doing 05:36:33 I haven't been playing :D 05:36:40 I have to sleep in a minute 05:36:49 Have to take my brother to school in the morning 05:36:56 And it's a long-ass drive 05:37:07 -!- MadokaKaname has left ("Huggles for everybody~â™Ș ^_^"). 05:37:18 Neither trolling nor arguing seems fun. 05:37:18 :[ 05:37:28 Yeah, srsly 05:38:05 Lymee: The best game is to see what they will believe in 05:38:19 * Lymee too depressed 05:47:11 i love "there is one authority that can interpret Scripture" 05:47:26 This is painful 05:47:29 -!- Patashu has joined. 05:48:03 quintopia, he's fundie Catholic 05:48:27 someone talk about the da vinci code in there to rile them up 05:48:42 I demand quintopia do it 05:49:30 blahblahblah but jesus had a wife and they liked sexing blahblahblah 05:49:39 Get a Satanist. 05:49:41 <3 05:49:43 DO IT 05:49:52 Don't know any 05:49:53 IT'S TRUE I SAW IT IN THE LAST TEMPTATION OF CHRIST 05:50:07 quintopia: You're doing it in the wrong channel 05:50:12 David Brown esoteric lang 05:50:28 NihilistDandy: i dont care enough. you do it. 05:50:33 Solve puzzles to figure out how the syntax works 05:50:53 quintopia: I'm too involved now. THEY MIGHT JUDGE ME 05:51:06 Patashu: FSVO puzzle 05:51:36 'fsvo' means what 05:51:44 Lymee: guy talked about burning the satanic bible in there 05:51:45 it was beautiful 05:51:49 Patashu: for some value of fsvo 05:51:56 ah ok 05:52:08 Sgeo: Nice 05:52:27 So... why are we trolling again? 05:52:33 fsvo some value of 05:52:43 Lymee: Who said you're trolling 05:52:45 You're just observers 05:52:57 Why are you trolling again 05:53:59 Patashu: you mean Dan Brown? 05:54:18 oops yeah, dan 05:55:00 HONORIUS IS NOT AN EXAMPLE 05:55:13 elliott, see what the reaction from saying negative things about God is. 05:55:59 Lymee: probably boring 05:55:59 They think that God is a perfectly good being that endorses mass murder. 05:56:12 That's going to be hella boring. 05:56:15 pikhq_: Just like me 05:56:22 The fist part 05:56:25 *first 05:56:28 But also fist 05:56:51 NihilistDandy: The "They think" bit? 05:57:13 I'm a perfectly good being that endorses mass murder 05:57:35 I don't think you're perfectly good. 05:57:55 Not in the sense of "the apotheosis of goodness" 05:58:00 But in the sense of 05:58:05 Call God a hypocrite. 05:58:08 "A perfectly good sandwich" 05:58:14 Hopefully sparks fly. 06:00:35 Sgeo: Do you hang out in there a lot, or are you *ONE OF THEM*? 06:01:22 Hey, the channel owner said he considered making me an op... 06:01:28 quintopia: He'll just say Honorius didn't do it ex cathedra so it's not infallible 06:01:52 Sgeo: That doesn't answer the question~ 06:04:09 Sgeo: hahaha really 06:05:36 well 06:05:46 i want him to say it 06:06:14 wtf? infallible not impeccable? 06:06:18 he is a weird one 06:06:41 quintopia, I don't think he considers Pope John Paul II to be a pope. 06:06:45 Or something, not sure 06:06:55 Pope John Paul II is a pope 06:07:17 The Church is above the Bible 06:07:17 he was certainly a legally elected pontiff 06:07:18 Wow 06:08:04 what? 06:09:08 quintopia: He could be an antiPope. 06:09:13 Erm, antipope? 06:09:40 Though, to be an antipope the Church has to declare a pope to be that way. 06:09:52 I'm pretty sure the Church is about to sanctify him. 06:10:04 I may be mistake 06:10:28 pikhq_: You mean canonize? 06:10:29 * Sgeo baits 06:10:40 NihilistDandy: Erm, yes. 06:10:52 NihilistDandy: Having never been Catholic, it's easy to screw up their terminology. 06:11:31 Having only been Catholic in the sense of being baptized that way, I still really like all their silly arcana 06:11:38 Judaism has them beat, of course 06:11:55 Judaism practically invented arcana. :P 06:12:11 * Sgeo has been unaware of Jewish arcana 06:12:17 I almost converted just so I could look at my roommate's books 06:12:35 I should add that this "racism" person is someone I've never seen in #jesus before 06:13:33 `addquote Having only been Catholic in the sense of being baptized that way, I still really like all their silly arcana Judaism has them beat, of course I almost converted just so I could look at my roommate's books 06:13:34 Sgeo: https://secure.wikimedia.org/wikipedia/en/wiki/Sephirot Here, have fun. 06:13:35 569) Having only been Catholic in the sense of being baptized that way, I still really like all their silly arcana Judaism has them beat, of course I almost converted just so I could look at my roommate's books 06:14:00 Yay! 06:15:26 And yes, that is esoteric in the *other* sense. 06:16:03 I HAVE COME FULL-CIRCLE 06:18:24 "This game is bad because Hitler played it." and "This is the king's lava, please don't step in it." are quotations from a computer game I made once 06:18:41 lol 06:18:44 I don't care whose lava it is. 06:18:49 I like that game already 06:19:47 How can you like this game without playing this game at first? 06:20:05 is it a text adventure? 06:20:10 text adventures are good 06:20:27 quintopia: No. It is not. Sorry. But I like text adventures too 06:20:46 zzo38: what kind of game? 06:21:32 It is a MegaZeux game. 06:23:12 Here is 2 screenshots http://www.digitalmzx.net/wiki/index.php?title=File:Ascmzxto.png 06:25:06 looks fun 06:26:49 :t \l -> ceil $ (log (read (map (\x -> '5') l) :: Int)) / (log 10) 06:26:50 Not in scope: `ceil' 06:26:55 http://zzo38computer.cjb.net/mzx1/ASCMZXTO/ASCMZXTO.ZIP is download game world file, and http://zzo38computer.cjb.net/mzx1/mzx_extended/ is download MegaZeux itself (required for loading the world file in order to play game) 06:26:58 Super stupid length function, yay 06:27:19 :t \l -> ceiling $ (log (read (map (\x -> '5') l) :: Int)) / (log 10) 06:27:20 No instance for (RealFrac Int) 06:27:20 arising from a use of `ceiling' at :1:6-12 06:27:20 Possible fix: add an instance declaration for (RealFrac Int) 06:27:30 :t \l -> ceiling $ (log (read (map (\x -> '5') l) :: Double)) / (log 10) 06:27:31 forall b a. (Integral b) => [a] -> b 06:27:33 (You do not need to download "megazeux.4th" unless you are creating your own MegaZeux games and they are using Forth codse) 06:27:37 zzo38: what languages have you written games in 06:27:47 > ceiling $ (log (read (map (\x -> [1, 2, 3, 4]) l) :: Double)) / (log 10) 06:27:48 Couldn't match expected type `GHC.Types.Char' 06:27:48 against inferred type... 06:27:56 > ceiling $ (log (read (map (\x -> '5') [1, 2, 3, 4]) :: Double)) / (log 10) 06:27:57 4 06:28:02 How stupid is this code? 06:28:11 @pl \l -> ceiling $ (log (read (map (\x -> '5') l) :: Double)) / (log 10) 06:28:12 ceiling . (/ log 10) . log . (:: Double) . read . map (const '5') 06:28:21 quintopia: MegaZeux, ZZT, QBASIC, Game Maker, C, GameBoy machine codes, etc. 06:28:32 @src :: 06:28:32 Source not found. And you call yourself a Rocket Scientist! 06:28:36 :t :: 06:28:36 parse error on input `::' 06:28:43 @type (::) 06:28:44 parse error on input `::' 06:28:53 I have made many games with QBASIC. 06:29:02 I don't think that's even a thing really 06:29:08 It's just an annotation 06:29:37 And even Forth. 06:29:46 And TI-92 calculator. 06:29:56 oooh 06:30:15 :t (:: Double) 06:30:16 parse error on input `::' 06:30:25 Oh, does pl not support :: right? 06:30:34 :t ceiling . (/ log 10) . log . (:: Double) . read . map (const '5') 06:30:34 parse error on input `::' 06:30:48 :t ceiling . (/ log 10) . log . read :: Double . map (const '5') 06:30:49 Illegal symbol '.' in type 06:30:49 It probably assumes it's a function 06:30:49 Perhaps you intended -XRankNTypes or similar flag 06:30:49 to enable explicit-forall syntax: forall . 06:30:56 :t ceiling . (/ log 10) . log . (read :: Double) . map (const '5') 06:30:57 Couldn't match expected type `Double' 06:30:57 against inferred type `String -> a' 06:30:57 In the first argument of `(.)', namely `(read :: Double)' 06:31:04 @pl doesn't actually know anything about most things 06:33:31 :/ 06:33:47 :t ceiling . (/ log 10) . log . (\x -> read x :: Double) . map (const '5') 06:33:48 forall b a. (Integral b) => [a] -> b 06:33:53 Which isn't really point free buttt 06:34:30 :t ceiling . (/ log 10) . log . read . map (const '5') 06:34:31 forall b a. (Integral b) => [a] -> b 06:35:12 > (ceiling . (/ log 10) . log . read . map (const '5')) [1..10] 06:35:13 10 06:35:19 > (ceiling . (/ log 10) . log . read . map (const '5')) [1..10000] 06:35:21 179769313486231590772930519078902473361797697894230657273430081157732675805... 06:35:27 :( 06:35:28 > (ceiling . (/ log 10) . log . read . map (const '5')) [1..1000] 06:35:29 179769313486231590772930519078902473361797697894230657273430081157732675805... 06:35:31 > (ceiling . (/ log 10) . log . read . map (const '5')) [1..100] 06:35:33 100 06:35:38 whathappened D: 06:35:58 My super-convoluted len function broke 06:36:22 @pl \x -> foldl (+) (map (const 1) x) 06:36:22 foldl (+) . map (const 1) 06:36:32 > (foldl (+) . map (const 1)) [1..100] 06:36:32 Overlapping instances for GHC.Show.Show ([[t]] -> [t]) 06:36:32 arising from a us... 06:36:50 :t \x -> foldl (+) (map (const 1) x) 06:36:51 forall t a. (Num [t], Num t) => [a] -> [[t]] -> [t] 06:37:11 :t \x -> foldl1 (+) (map (const 1) x) 06:37:12 forall a a1. (Num a) => [a1] -> a 06:37:21 > (foldl1 (+) . map (const 1)) [1..100] 06:37:23 100 06:37:24 > (foldl1 (+) . map (const 1)) [1..100000] 06:37:25 100000 06:37:27 > (foldl1 (+) . map (const 1)) [1..100000000] 06:37:30 mueval-core: Time limit exceeded 06:38:19 -!- Nisstyre has quit (Ping timeout: 255 seconds). 06:38:39 I once programmed a Star Wars game into the computer, even though I have never watched Star Wars and don't actually know much about it. 06:38:41 -!- pikhq_ has quit (Read error: Operation timed out). 06:38:44 > (foldl1 (+) . map (const 1)) [1..10000000] 06:38:47 -!- pikhq has joined. 06:38:54 mueval: ExitFailure 1 06:38:54 mueval-core: Time limit exceeded 06:38:56 > (foldl1 (+) . map (const 1)) [1..1000000] 06:39:00 mueval-core: Time limit exceeded 06:39:02 > (foldl1 (+) . map (const 1)) [1..200000] 06:39:04 200000 06:39:05 > (foldl1 (+) . map (const 1)) [1..300000] 06:39:07 *Exception: stack overflow 06:39:10 > (foldl1 (+) . map (const 1)) [1..300000] 06:39:12 *Exception: stack overflow 06:39:13 what 06:39:16 > (foldr1 (+) . map (const 1)) [1..300000] 06:39:18 *Exception: stack overflow 06:39:25 > (foldl1' (+) . map (const 1)) [1..300000] 06:39:27 300000 06:39:30 > (foldl1' (+) . map (const 1)) [1..400000] 06:39:31 400000 06:39:32 > (foldl1' (+) . map (const 1)) [1..500000] 06:39:34 500000 06:39:35 > (foldl1' (+) . map (const 1)) [1..600000] 06:39:36 600000 06:39:37 > (foldl1' (+) . map (const 1)) [1..700000] 06:39:38 700000 06:39:39 > (foldl1' (+) . map (const 1)) [1..800000] 06:39:41 800000 06:39:42 > (foldl1' (+) . map (const 1)) [1..1000000] 06:39:43 1000000 06:39:45 > (foldl1' (+) . map (const 1)) [1..10000000] 06:39:47 10000000 06:39:48 > (foldl1' (+) . map (const 1)) [1..100000000] 06:39:52 mueval-core: Time limit exceeded 06:39:57 > (foldl1' (+) . map (const 1)) [1..50000000] 06:40:00 mueval-core: Time limit exceeded 06:40:03 > (foldl1' (+) . map (const 1)) [1..40000000] 06:40:07 mueval-core: Time limit exceeded 06:40:08 > (foldl1' (+) . map (const 1)) [1..30000000] 06:40:12 mueval-core: Time limit exceeded 06:40:13 > (foldl1' (+) . map (const 1)) [1..20000000] 06:40:15 20000000 06:40:16 Totally not bot abuse. 06:40:19 > (foldl1' (+) . map (const 1)) [1..25000000] 06:40:22 25000000 06:40:24 > (foldl1' (+) . map (const 1)) [1..27000000] 06:40:27 Terminated 06:44:31 ... 06:45:53 I DID NOTHING 06:46:13 The most annoying character to listen to in the Bible has got to be Jesus in the Gospel of Joh 06:46:16 John 06:46:23 @pl \x y->x+1 06:46:23 const . (1 +) 06:46:44 -!- lament has quit (Ping timeout: 258 seconds). 06:46:46 > (foldl1' (const . (1 +))) [1..10000000] 06:46:49 10000000 06:46:54 > (foldl1' (const . (1 +))) [1..100000000] 06:46:57 mueval-core: Time limit exceeded 06:47:10 Bored much? 06:47:26 Sgeo: try not using an audiobook 06:49:02 Someone made a scientific experiment relating to copy protection. Copy protection does hurt sales. Unencrypted previews of works workout copy protection do slightly increase sales (and possibly save you money, too). 06:50:09 The experiment was only books, though, in this case. But evidence (but not any proper scientific experiment) has shown similar for other things too. 06:50:51 > (foldr1' (const . (1 +))) [1..100000000] 06:50:52 Not in scope: `foldr1'' 06:53:33 -!- zzo38 has quit (Remote host closed the connection). 06:59:28 [02:53:56] racism: strings ~/.bitcoin/blk0001.dat -n21 | perl -nle 's/^.*(?=B)//&&print' | uniq | head -n13 07:00:03 Isn't perl heretical? 07:01:05 What. 07:01:09 That's something to do with bitcoin at least. 07:01:15 Has he explained that............... 07:02:13 Not at all 07:02:18 No one's even asked about it 07:03:05 NihilistDandy: Got bitcoin installed? 07:03:11 There is only one option 07:03:15 Not right now, actually 07:03:17 I used to 07:07:17 I stopped being vaguely interested in Bitcoin when it turns out that everyone is either incompetent, or incompetent and an anarcho-capitalist idiot 07:07:37 Right 07:09:21 -!- derrik has quit (Quit: left). 07:09:45 And he refuses to explain it 07:09:52 I hate perl people 07:12:48 [03:08:39] NihilistDandy: I am embedding the Divine Praises into the Bitcoin block chain. 07:12:51 [03:11:02] Yes, I suppose you could say that, in a sense 07:12:54 [03:11:15] 
 07:12:57 [03:11:19] no, I literally am. 07:12:59 [03:11:27] that command line extracts them from it :P 07:13:02 [03:11:50] That's odd 07:13:49 hahaha 07:13:58 yeah the block chains can have like strings in them? 07:14:01 so that's just... extracting the strings... 07:14:29 So, this means luke-jr put a block with Divine Praises in the chain? 07:14:34 Anyone want to find the block? 07:15:06 Is it even possible to do that? 07:15:11 Sgeo: or he just made his own chain 07:15:11 duh 07:17:53 Sgeo, ask him "in what language" 07:18:21 Lymee, you do it? 07:18:25 NihilistDandy: What was it with the racism anyway 07:18:27 -!- CakeProphet has joined. 07:18:29 Oh, you're not on 07:18:33 -!- Taneb has joined. 07:18:35 Hello! 07:19:02 racism is not welcome in #jesus, despite his having the requisite zealousness 07:20:02 "I've done haskell for about 5-6 years now" -- person who uses "return $ f $ unsafePerformIO x" in place of "f <$> x" 07:20:08 because they think it's more readable 07:20:30 àČ _àČ  07:20:51 I've done Haskell for... two hours maybe? 07:20:59 And I have no idea what either of them do 07:21:00 copumpkin: can you ban them with your mod powers............................ 07:21:03 i cant deal........ 07:21:39 elliott: Wait, what? 07:21:53 elliott: I'm not sure what to make of that guy 07:21:55 /r/haskell? 07:22:04 NihilistDandy: Yeah 07:22:08 Link? 07:22:09 copumpkin: bad person :( 07:22:15 Taneb: <$> is another name for fmap, which is the single method defined by the Functor typeclass. 07:22:19 NihilistDandy: http://www.reddit.com/r/haskell/comments/jarp0/hi_guys_i_made_a_haskell_to_clojure_translator/ WARNING FLAMMABLE.................................................................... 07:23:12 Taneb: for lists, fmap is equivalent to map. For most other monads, it does a similar "lifting" operation, changing a function of type a -> b to type f a -> f b 07:23:28 "It would be a good idea for me to actually use the type system in this project though" 07:23:29 -!- Nisstyre has joined. 07:23:33 MY MIND 07:23:36 lol 07:23:40 how do you not use the type system? 07:23:51 this person hurts my soul 07:23:54 BAD MAN 07:23:56 newtype LC = LC (LC -> LC) 07:24:00 enjoy typeless....... 07:24:11 Taneb: make sense? 07:24:13 lol 07:24:22 Sort of... 07:24:30 I mean, you know how map works right? 07:24:36 Yeah 07:24:38 And he can't even git correctly 07:24:50 Applies a function over every member of the list 07:24:54 NihilistDandy, Jason? 07:25:12 Sgeo: No, this person on /r/haskell 07:25:15 Taneb: a Functor f has the function fmap :: (a -> b) -> f a -> f b 07:25:17 Taneb: the rules are: 07:25:19 if you just say "map f" then you've lifted the function to a parametric type, in this case being []. So f, whose type was a -> b, is now lifted to the type f a -> f b, where f, in this specific case, is [] 07:25:20 Taneb: fmap f . fmap g = fmap (f . g) 07:25:22 Taneb: fmap id = id 07:25:23 as in 07:25:26 fmap id x = id 07:25:27 and 07:25:31 fmap is the more general form of map. Where f can be any instance of the Functor typeclass. 07:25:32 fmap f (fmap g x) == fmap (f . g) 07:25:36 do you know what . is? 07:25:38 Taneb: That's all there is to know 07:25:57 And why on earth would you translate Haskell to Clojure? Those words almost don't make sense when you say them all together like that. 07:25:58 literally anything that satisfies those laws is a functor 07:26:07 -!- pikhq_ has joined. 07:26:09 and you don't need any analogies to understand it :) 07:26:16 though they tend to help. 07:26:25 Y'know how I know this person used commit -a? 07:26:36 CakeProphet: really? most monad tutorials make people completely confused for weeks. 07:26:40 Are functors a monoid? 07:26:42 the functor laws are really simple. 07:26:49 NihilistDandy: no 07:27:35 CakeProphet: Y'know, a really awesome git tutorial would be a series of posts on *implementing git*. 07:27:54 endofunctors form a nice monoidal category :) 07:27:57 CakeProphet: Maybe people like this person would be able to actually grasp it after that. 07:28:07 Ah, right, no associative binary operator 07:28:08 Silly me 07:28:13 Or maybe not, since he's not "using the type system". 07:28:19 I have found that analogies can be helpful as well as just listing laws and definitions. 07:28:50 in some cases the laws can be obtuse and not very enlightening if you don't already know how to understand what they reveal. 07:28:52 Well, wait
 mwh 07:28:55 *meh 07:29:03 Too tired. Have to be up in two hours 07:29:05 I'm still scared of that unsafeperformIO 07:29:11 it's not like fromJust............................ it's like a hammer................. 07:29:12 -!- pikhq has quit (Ping timeout: 250 seconds). 07:29:13 ok maybe it is like fromJust 07:29:13 Later 07:29:19 but that's fromJust's fault, not unsafePerformIO's unfault 07:29:24 ... 07:29:38 Taneb: have you learned about Maybe? 07:29:45 I'd argue fromJust is safer than unsafePerformIO. 07:29:53 yeah 07:29:56 fromJust is as safe as head. 07:30:02 yeah but head isn't safe either 07:30:03 :) 07:30:04 unsafeCrashProgram 07:30:04 with unsafePerformIO, I can cause segfaults 07:30:05 someone make this 07:30:07 elliott: well, right. 07:30:13 copumpkin: yeah but how wide is the gap :) 07:30:27 one can conceivably be caught 07:30:27 the other can't 07:30:29 unless you use GADTs, but then your list type becomes a bit wordier. 07:30:42 copumpkin: I never said they were literally equal :-P 07:30:54 elliott: unsafePerformIO $ Foreign.Storable.peek nullPtr 07:30:59 :D 07:31:11 oh, I meant even without foreign stuff 07:31:18 you can write unsafeCoerce with unsafePerformIO 07:31:22 and then do your evil coercions 07:31:23 yeah 07:31:27 copumpkin: Mmm, yeah, unsafeCoerce manages that. 07:31:30 I've never quite understood the purpose of unsafeCoerce... 07:31:32 technically unsafeperformio is foreign stuff though 07:31:37 CakeProphet: i've used it 07:31:37 legitimately 07:31:42 CakeProphet: It's beating the type system into compliance. 07:31:42 like, what does it... do. 07:31:49 nothing right? 07:31:49 CakeProphet: nothing 07:31:50 unsafeCoerce :: a -> b 07:31:51 okay. 07:31:53 it's a nop 07:31:59 I mean, in GHC 07:32:00 at runtime anyways. 07:32:02 right. 07:32:11 okay, that's... weird. 07:32:18 what happens if you use it badly? 07:32:22 Segfault. 07:32:28 ah, lovely. 07:32:36 when would you use it legitimately? 07:32:45 when the type system is too dumb 07:32:54 (if you don't know exactly when you need it, you are not allowed to use it) 07:33:04 ah, so when elliott is trying to abuse Haskell. 07:33:13 is when it is permissible. 07:33:20 It's a "beat the runtime into compliance" button. 07:33:27 CakeProphet: Yes. You are banned for life. 07:34:19 "I've done haskell for about 5-6 years now" and he doesn't grok monads. 07:34:20 Shit. 07:34:27 -!- mustelo has joined. 07:34:28 lol 07:34:29 That's genuinely scary. 07:34:38 who is this? 07:34:47 some random guy. not worth the trouble, probably. 07:34:54 BURN HER 07:35:24 Also doesn't know git well (or at all). 07:35:35 so would this break? unsafeCoerce (a :: Char) :: Word8 07:35:47 That would break on GHC. 07:35:56 since Char represents Unicode characters right? 07:36:02 I think unsafeCoerce (a :: Char) :: Word32 would work, though. 07:36:13 It's doing UTF-32. 07:36:18 ah okay. 07:36:26 but there's probably already a way to do that 07:36:34 It depends on what "break" means, I suppose. 07:36:48 the meaning of "break" is quite straightforward... 07:36:52 Yeah, I don't think it'd actually segfault, it'd just do something strange. 07:36:57 I doubt treating something as a Word8 would segfault. 07:37:12 Probably like casting from int to char, actually. 07:37:21 yes that's what I would imagine. 07:42:06 > fmap (==2) (Just 3) --Taneb 07:42:07 Just False 07:42:19 > fmap (==2) Nothing --Taneb 07:42:20 Nothing 07:42:43 > Just "War" 07:42:44 Just "War" 07:42:47 :smug: 07:42:53 Hmm 07:43:02 didn't know haskell was so politically motivated!! 07:43:38 Taneb: do you know what . is that is the KEY TO UNDERSTANDING WHAT I SAID......... 07:44:05 Is that like "returns" 07:44:14 um 07:44:14 ok 07:44:20 . is 'wrap the function on the left around the function on the right' 07:44:21 kinda 07:44:30 Taneb: a Functor f has the function fmap :: (a -> b) -> f a -> f b 07:44:31 now 07:44:32 it's like brackets except you're not writing all the brackets 07:44:34 a Functor has to follow these rules 07:44:47 fmap f (fmap g x) = fmap (\y -> f (g y)) x 07:44:50 fmap id x = x 07:44:53 that's it 07:44:57 Patashu: no. 07:45:00 Patashu: that's dollar sign. 07:45:07 stop confusing my student >:D 07:45:13 so what's . then? 07:45:14 Taneb: a Functor f has the function fmap :: (a -> b) -> f a -> f b 07:45:14 now 07:45:14 a Functor has to follow these rules 07:45:14 fmap f (fmap g x) = fmap (\y -> f (g y)) x 07:45:14 fmap id x = x 07:45:15 that's it 07:45:19 Taneb: literally anything that follows these rules is a Functor 07:45:19 elliott: I think it would be easier to explain that . is function composition, instead of rewriting everything as lambdas. 07:45:26 Taneb: for instance, you know Maybe? 07:45:33 Maybe is a functor: fmap :: (a -> b) -> Maybe a -> Maybe b 07:45:46 if the maybe value is (Just a), then we do (Just (f a)) 07:45:48 Taneb: . is function composition, by the way. 07:45:51 otherwise, the result is just Nothing 07:45:59 this satisfies all the laws (you can check it yourself) 07:46:10 Taneb: lists are functors, obviously -- (a -> b) -> [a] -> [b] 07:46:17 ([a] is just sugar for [] a) 07:46:20 (so f = []) 07:46:21 aaand 07:46:21 that's it 07:46:28 Maybe 07:46:29 or just read the chapter in learn you a haskell :P 07:46:40 data Maybe t = Just t | Nothing 07:46:53 CakeProphet: Nothing | Just t actually. 07:47:00 ...does that make a difference? 07:47:12 Yes. 07:47:12 ah, for deriving Ord and such? 07:47:20 Yes. 07:48:45 No, I don;t 07:49:05 Taneb: you use Maybe t when there's a possibility that you might have Nothing instead of something of type t. Nothing is similar to "null" in other languages, except it's explicitly wrapped in a data type. 07:49:15 Taneb: You might just want to read LYAH, dude 07:49:24 It'll be quicker than me and CakeProphet fighting over who can explain things the worst 07:49:27 lol 07:49:29 Overlappingly :P 07:49:42 LYAH is lengthy but it's good 07:49:48 I mean you can't explain haskell consisely 07:49:50 hey you can assault him with formal definitions and I can provide analogy. It'll be a winning combination. 07:49:50 lengthy??/// 07:50:01 it is fourteen chapters long 07:50:16 RWH is twenty-eight 07:50:22 although it covers a lot more and is good reading after LYAH 07:52:02 the null analogy was good, right? :( :( :( 07:52:05 lol 07:52:35 -!- cheater_ has quit (Ping timeout: 255 seconds). 07:52:41 So, Nothing is like null, but proper? 07:52:53 It's misleading because Nothing is not a value of every type. 07:52:58 kind of, you have to also wrap everything in the Just constructor 07:52:59 It's best to forget null and learn Maybe later. 07:52:59 right. 07:53:13 Nothing is only a value of type Maybe t. 07:53:26 and Just 2 has type Maybe Int 07:53:32 er 07:53:32 well 07:53:35 yeah, not Int. 07:53:40 know what haskell needs? bitcoins. 07:53:45 Just 'a' has type Maybe Char 07:53:55 Patashu: bticons 07:53:58 with prop hets,,, 07:53:59 This is one case where qualification makes more clear 07:54:08 Nothing is of type forall t. Maybe t 07:54:22 uh, if you say so. 07:55:01 Taneb: so for example, [Just 2, Just 4, Nothing, Just 5] is a valid list, but [2, 4, Nothing, 5] is a type error. 07:55:11 Oh, okay 07:55:36 Taneb: read lyah read lyah read lyah 07:55:58 Once I've finished House of Leaves 07:56:01 Taneb: LYAH 07:56:51 > fix ("LYAH " ++) 07:56:52 "LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH LYAH... 07:56:59 lyah 07:57:07 about what are we talking, now? 07:57:20 > fix ("learn you a " ++) ++ "haskell" 07:57:21 "learn you a learn you a learn you a learn you a learn you a learn you a le... 07:57:24 Taneb wants to learn himself a Haskell, I take it 07:58:06 for great good, most likely. 07:58:13 CakeProphet: are you aware of repeat 07:58:19 of course. 07:58:23 I just like fix. 07:58:26 also repeat is not what I wanted. 07:58:28 more like cycle. 07:58:46 yeah, repeat's the more specific one though 07:58:53 > take 500 (cycle "learn you a ") 07:58:54 "learn you a learn you a learn you a learn you a learn you a learn you a le... 07:59:05 Now that that's estabilished, C418's Minecraft - Volume Alpha is wonderful. 07:59:29 coppro: what do you mean the more specific one? 07:59:38 pikhq_: didn't you listen to it when it came out............................ 08:00:26 repeat a = fix (a:); cycle a = fix (a ++) 08:00:28 -!- Taneb has quit (Ping timeout: 252 seconds). 08:00:39 if I wanted cycle from repeat, I would have to say join . repeat 08:00:57 which is less specific... I think? I'm still not sure what you mean by that. 08:00:58 elliott: When it came out I didn't play Minecraft. 08:01:04 pikhq_: true.... 08:01:09 @src cycle 08:01:09 cycle [] = undefined 08:01:09 cycle xs = xs' where xs' = xs ++ xs' 08:01:18 :t fix . mplus 08:01:19 forall (m :: * -> *) a. (MonadPlus m) => m a -> m a 08:01:24 gah which one is monoid again :) 08:01:26 ?src Monoid 08:01:26 class Monoid a where 08:01:26 mempty :: a 08:01:26 mappend :: a -> a -> a 08:01:26 mconcat :: [a] -> a 08:01:37 > (fix . mappend) (\x -> 'a':x) 08:01:37 Overlapping instances for GHC.Show.Show 08:01:37 ([GHC.... 08:01:40 > (fix . mappend) (\x -> 'a':x) [] 08:01:41 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 08:01:43 a 08:01:46 lol 08:01:46 nice function instance 08:02:14 > (fix . mappend) (fix . mappend) 08:02:15 Overlapping instances for GHC.Show.Show (a -> a) 08:02:15 arising from a use of `... 08:02:20 > (fix . mappend) (fix . mappend) (\x -> 'a':x ++ "b") [] 08:02:21 "ababababababababababababababababababababababababababababababababababababab... 08:02:25 oh 08:02:26 beautiful... 08:02:30 > (fix . mappend) (fix . mappend) (\x -> 'a':x ++ "b") "a" 08:02:31 "aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaa... 08:02:36 > (fix . mappend) (\x -> 'a':x) "abc" 08:02:37 "aabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaa... 08:02:40 so beautiful... 08:02:42 yes, uh, beautiful. that's the word, elliott. 08:02:44 for that. 08:03:12 > (fix . mappend) (\x -> pure 'a' `mappend` x) "abc" 08:03:14 "aabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaa... 08:03:20 :t (fix . mappend) (\x -> pure 'a' `mappend` x) 08:03:20 forall (f :: * -> *). (Monoid (f Char), Applicative f) => f Char -> f Char 08:03:27 beautetauetouyoiful........... 08:03:44 yes, so many ways to spam. generally. 08:04:44 -!- cheater_ has joined. 08:05:31 > "abc" >>- (fix . mappend . return) 08:05:33 "abacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacab... 08:05:48 sOB EUATEIFUL 08:05:54 interleavened like bread. 08:05:58 //win 6 08:06:42 it appeals to my sense of baking. 08:06:59 > "abc" >>- (fix . mappend . pure) 08:07:00 "abacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacabacab... 08:07:02 Now with less typing. 08:07:34 that String sure is constraining. 08:07:50 > fromString "abc" >>- (fix . mappend . pure) 08:07:51 Not in scope: `fromString' 08:08:11 overloadedstrings? 08:08:44 monqy: DONT REMIND HIM 08:08:50 I never forgot. 08:09:08 hey, like I said, they should have known better when they made it an extension. 08:09:15 dead 08:09:16 dead 08:09:24 they are naive. 08:09:41 to the perverse machinations of dark wizard programmers. 08:10:14 but overloadedstrings abuse is so 08:10:15 boring 08:10:21 why not abuse something fun 08:10:36 at the least 08:10:43 CakeProphet: You shouldn't be a dark wizard programmer. 08:10:52 what could be more fun than arbitrary and unsafe programming language interpretation? 08:11:07 Writing good, clean code that functions correctly. 08:11:32 writing a monad instance that doesn't obey the monad laws 08:11:47 but Haskell could sorely use a Sh newtype with an IsString instance... 08:12:53 hey it would even be safe and return the error output upon unsuccessful execution! 08:13:28 "safe" 08:14:06 what if it did bad things first.... 08:14:19 besides, runtime errors are awful 08:14:27 I don't understand this notion of "bad" 08:14:32 "don't be stupid catch things at compile time" 08:14:38 and besides, don't think of as runtime error, just unexpected output! 08:48:27 "Don't think of it as a runtime error, think of it as a surprise birthday party." 09:09:25 -!- Phantom_Hoover has joined. 09:15:04 -!- derrik has joined. 09:18:44 -!- nooga has joined. 09:28:48 -!- MigoMipo has joined. 09:28:54 -!- derrik has left. 09:29:31 -!- monqy has quit (Quit: hello). 09:51:13 -!- mrcrabs has joined. 09:56:10 -!- mrcrabs has quit (Ping timeout: 260 seconds). 10:08:10 -!- Taneb has joined. 10:09:37 Well, now there are two MSPAFA's in the MSPA Forums called PixelQuest 10:09:51 At least 10:11:08 @pl \maxIters c = len $ takeWhile (\x -> (magnitude x)<2) $ take maxIters $ iterate (\x -> x*x+c) $ 0 :+ 0 10:11:08 (line 1, column 13): 10:11:08 unexpected "=" 10:11:08 expecting pattern or "->" 10:11:13 @pl \maxIters c -> len $ takeWhile (\x -> (magnitude x)<2) $ take maxIters $ iterate (\x -> x*x+c) $ 0 :+ 0 10:11:13 ((len . takeWhile ((< 2) . magnitude)) .) . (. flip (iterate . (. join (*)) . (+)) (0 :+ 0)) . take 10:11:16 ...Can someone explain the Brane theory to me? 10:14:33 there are breanes,, but sometimes they dont think 10:14:35 the ned??? 10:15:16 @hoogle unsafeCoerceIO 10:15:16 No results found 10:15:30 @hoogle IO a -> a 10:15:30 Foreign unsafePerformIO :: IO a -> a 10:15:30 Data.ByteString.Internal inlinePerformIO :: IO a -> a 10:15:30 System.IO.Unsafe unsafePerformIO :: IO a -> a 10:15:37 Oh wrong name 10:16:09 * Lymee is not using it 10:16:13 * Lymee nope 10:16:15 Taneb, it's... generally best to let physics well alone unless you're trying to actually learn it. 10:16:49 You run the risk of ending up with an understanding of things which isn't really true, but more understandable. 10:17:05 -!- elliott has quit (Read error: Connection reset by peer). 10:17:05 For this, that is exactly what I need 10:17:31 -!- elliott has joined. 10:18:31 Taneb, in which case it seems to be along the lines of "there are objects called branes and other objects are really just branes in disguise." 10:19:11 brane wearing a moustache 10:19:30 elliott, will suggest to Stephen Hawking for his next book. 10:19:42 stephen moustacheking 10:19:46 a brane 10:19:49 (Universe in a Nutshell is full of quirky little illustrations like that.) 10:22:21 I really think we need to ban the word "quirky". 10:22:36 I disagree 10:22:55 I don't 10:23:04 elliott, no, we need to ban terrible people from using it and ruining it for the rest of us. 10:23:15 It is already ruined 10:23:21 It can be restored 10:23:25 To its former glory 10:43:38 I think flange might be my favourite word. 10:45:06 "Fascism is anti-anarchist, anti-communist, anti-conservative, anti-democratic, anti-individualist, anti-liberal, anti-parliamentary, anti-bourgeois and anti-proletarian." 10:45:33 How do you hate the bourgeoisie *and* the proletarians? 10:50:17 Fascism is anti-fascism 10:50:19 Like the cos function 10:53:29 Or a photon 10:56:40 http://www.youtube.com/watch?v=kD0EztnNOhk 10:56:41 XD 10:57:01 Taneb, so wait, fascism is a Majorana ideology? 11:01:49 Perhaps 11:05:13 brb 11:09:41 -!- Taneb has quit (Ping timeout: 255 seconds). 11:21:49 http://www.youtube.com/user/ThePhantomHoover 11:21:51 whaaaaaaat 11:25:39 -!- derrik has joined. 11:26:39 -!- MSleep has changed nick to MDude. 11:27:09 Argh, I now have a hit on ESR's website WHAT HAVE I BECOME 11:27:32 -!- itidus20 has quit (Ping timeout: 250 seconds). 11:32:30 -!- itidus20 has joined. 11:34:01 -!- derrik has quit (Quit: ChatZilla 0.9.87-rdmsoft [XULRunner 1.9.0.17/2009122204]). 11:36:57 -!- elliott has quit (Ping timeout: 258 seconds). 11:39:42 -!- Taneb has joined. 11:48:37 `quote 11:48:41 5) GKennethR: he should be told that you should always ask someone before killing them. 11:53:41 -!- FireFly has joined. 11:56:13 "The recent 'Halo' game has an interesting perspective on the construction of ringworlds. Instead of making it massive enough to encircle a star, make it the same diameter as earth. Here is my idea: 11:56:13 " 11:56:15 C2 11:56:17 YOU IDIOTS 11:56:19 HALO 11:56:26 WAS EXPLICITLY INSPIRED 11:56:31 BY BANKS' ORBITALS 12:00:39 -!- cheater__ has joined. 12:03:04 -!- cheater_ has quit (Ping timeout: 250 seconds). 12:07:02 Huh, there are 3 different banks in Scotland which print banknotes. 12:07:13 It's not unreasonable to think of recursion and induction as equivalent, is it? 12:07:20 Phantom_Hoover: How many of them have orbitals? 12:07:39 NihilistDandy, dunno, but RBS has pretty snazzy headquarters. 12:08:26 NihilistDandy: induction is effectively recursive logic 12:08:46 Good, then. I'm glad I haven't just been imagining that 12:09:18 NihilistDandy, suggest you look into Coq. 12:09:43 That's my plan. Agda, too, but mostly just for shits and giggles 12:10:22 Hmm, apparently Scotland doesn't have legal tender at all. 12:10:33 Maybe I'll have a run through Concrete Mathematics to test them out 12:11:24 Wow, NI has 4 kinds of note. 12:15:41 http://upload.wikimedia.org/wikipedia/commons/f/f7/Roman-calendar.png 12:15:47 This... this is the best calendar. 12:23:40 nice, they had leap months too 12:30:19 My attempt to make lambda calculus easy in BYOB is working! 12:30:46 BYOB? 12:30:58 -!- NihilistDandy has quit (Quit: Back later). 12:31:43 Modification of a programming language aimed at children with the purpose of educating about first-class functions, recursions, etc. for people aged 7-12 12:32:08 You mean that crappy Scratch thing? 12:32:15 Yep 12:32:28 (I was turned against Scratch waaay back.) 12:32:34 Why? 12:32:48 I was given the option between learning Pascal, and learning Scratch. 12:32:53 Fair enough 12:33:06 Scratch forced me into the arms of Pascal. I can never forgive it. 12:34:36 Oddly, Scratch is descended from Lisp 12:35:17 Bears no resembalence to it 12:39:29 Well, I've just cocked it up big time 12:40:14 Yes. Yes you have. 12:42:38 -!- derrik has joined. 12:42:41 I hosted a java enterprise BYOB party. Bring Your Own Beans 12:43:01 Taneb, out of curiosity, what did you cock up? 12:44:14 -!- derrik has left. 12:44:19 BYOB 12:44:25 It froze 12:44:45 When I tried to evaluate something 12:50:44 http://www.reddit.com/r/askscience/comments/jbhpp/how_does_one_program_a_programming_language/ 12:52:07 Not the stupidest of questions 12:52:46 But close! 12:53:53 How about 'how do you compile a compiler' 12:54:20 There's an answer dealing with it but... it refers to C++ as a high-level language. 12:55:02 Compared to punch cards it's very high level 12:55:31 Punch cards being a higher level than manual configuration 12:55:45 punch cards are just an input method, not a language 12:55:53 put C++ on punch cards, you still have C++ 12:56:16 why doesn't my computer have a punch card reader? this is outrageous 12:56:19 it can't even read a floppy 12:57:15 do you have a scanner? just put some black paper behind the card, scan it, then read the blacks and whites from the picture 12:57:27 haha 12:57:28 (assuming white punch cards) 12:58:21 But how will I emulate the ability of a lace card to jam it then 17:00:11 -!- esowiki has joined. 17:00:12 -!- glogbot has joined. 17:00:13 -!- EgoBot has joined. 17:00:23 Finally. 19:08:37 -!- esowiki has joined. 19:08:37 -!- glogbot has joined. 19:08:38 -!- glogbackup has left. 19:08:40 -!- HackEgo has joined. 19:08:41 -!- EgoBot has joined. 19:09:07 -!- Gregor has joined. 19:09:16 -!- Gregor has changed nick to Guest69881. 19:16:44 -!- Taneb has joined. 19:16:46 Hello! 19:17:08 Good day 19:27:12 I have these 3D movie glasses, I realized that when looking at the computer screen through it, it changes the color based on not only the angle but also whether or not it is backwards 19:28:14 Forwards the angle changes yellow/blue. Backwards the angle changes light/dark. (This is even without wearing the glasses) 19:28:47 -!- oerjan has joined. 19:33:18 Polaroid glasses, I presume? 19:36:18 -!- ais523 has joined. 19:36:50 -!- monqy has joined. 19:37:02 today I did something I should have done ages ago 19:37:05 I mapped Caps Lock to Compose 19:37:26 Do you use Compose enough to make that worthwhile? 19:38:33 no, but only because I don't have a Compose key 19:38:43 I expect I will now, I type nonASCII characters quite a lot 19:39:03 although, annoyingly, KDE programs don't seem to respect the keybinding 19:41:39 I probably need to add new compositions to it, though 19:41:47 it seems a little short on things like mathematical characters 19:42:12 I got a mirror to see what can be done with the 3D movie glasses, the computer screen, and the mirror, together. 19:49:06 ais523, wait, you didn't use something to the right of the spacebar? 19:49:29 I have backslash, menu, and control there 19:49:33 I considered mapping it to menu 19:49:45 but I actually use that one sometimes 19:52:29 Caps-lock to control is a traditional remapping. 19:52:38 That would free control for compose. 19:52:51 but I find control in a more convenient place than caps lock 19:53:43 So do I, but presumably many people think capslock is easier to reach. 19:54:20 it's because most people keep their fingers on the home row, and caps lock is quite easy to reach from there 19:54:30 Then where do you want caps lock to be? 19:57:46 I've swapped caps lock and backspace 19:58:36 interesting 19:58:44 I suppose backspace is a bit of a long way away 19:59:02 but normally when I'm pressing backspace, it's because I've made a typo, so I need to stop and recentre my fingers anyway 19:59:23 I also have a Japanese keyboard so my backspace is smaller 19:59:34 And your space is teensy. 19:59:35 But I did the switch before getting such a keyboard anyway 20:00:06 The space bar is fine, its edges are right where I always hit it 20:00:43 Y'mean you always hit it under v or n? You have freakish hands. 20:01:01 my spacebar goes from halfway past c to n 20:01:06 halfway along 20:01:18 ais523: Japanese keyboards have extra keys on that row, so the space bar is tiny. 20:01:22 It's from halfway along c to halfway along m here 20:01:30 Or thereabouts 20:01:30 I think in some keyboard the "rub out" key is in the home row for that purpose 20:01:32 Like, reaching from half of v to half of n. tiny. 20:01:32 pikhq_: this keyboard has ` and \ on that row 20:01:45 as well as two alts, two controls, menu, fn, and super 20:01:46 and the arrow keys 20:02:25 http://upload.wikimedia.org/wikipedia/commons/2/21/MacBookProJISKeyboard-1.jpg 20:02:32 That has a *generously large* spacebar. 20:03:02 That's a tiny keyboard 20:03:10 It's a laptop keyboard. 20:03:21 Yep 20:03:39 http://upload.wikimedia.org/wikipedia/commons/2/29/Japanese_keyboards.jpg These ones are a bit more typical. 20:03:56 you don't use spaces much in japanese 20:04:35 Mine has this layout http://www.diatec.co.jp/image_prod/FKBN91MCJB2_01.jpg 20:05:12 copumpkin: The space bar on Japanese computers is used to request IME conversion. 20:05:16 It's rather extensively used. 20:05:22 oh 20:05:48 About as much in English, in fact. 20:07:12 -!- Taneb has quit (Ping timeout: 276 seconds). 20:11:26 If I have five pins: data-in, data-out, clock, power, ground; what is the best way to wire it on a RJ-45 cable? 20:13:15 At a range of 1 to 40 feet 20:19:05 does anyone know of a known name for this modulus branching machine i've been finding when generalizing my 3-cell bf algorithm 20:20:23 let's say it's described by k tuples (a1,b1,c1), ... , (ak,bk,ck), ai > 0, bi >= 0, ci \in {0,1} 20:21:41 and it does f n = case n `divMod` k of (x,i) -> if c i then f (a i * x + b i) else a i * x + b i 20:22:39 (ai and bi are natural numbers) 20:22:50 um *if c i == 1 20:24:33 basically each step does a linear function dependent on the modulus, and may halt or not 20:27:40 it's obviously too simple not to have been invented before, but i don't find any promising search results 20:28:30 also, why is there swedish sex spam on the wiki. 20:29:08 Do you know answers of my question? 20:29:31 no one knows any answers here. 20:29:38 evidence: see above 20:31:06 Which channel do they know the answers? 20:33:35 i'm afraid we don't know the answer to that either. #omniscience appears to be empty. 20:35:57 http://www.archive.org/details/Tags12345-ATHEISMISSOFOOLISH922-2 20:36:48 zzo38: I don't think there is a best way to wire an RJ-45 cable like that, because it's not intended for that sort of signal and doesn't have dedicated power lines 20:36:59 all eight of its wires are identical, and the pinout won't be compatible no matter what you do 20:37:01 My idea is so that it can work with common network cables even though the protocol (and maybe even the power) is different. 20:37:06 so you may as well just use an arbitrary assignment 20:37:20 it won't work with common network cables, because RJ-45 doesn't have a clock line nor power lines 20:37:35 Would it be better to pair certain signals? 20:37:36 and it uses twisted pair logic levels 20:38:46 I know. However such cables are just very common, which is why I want to use them. It is not intended to be connected to any network device 20:39:43 you aren't going to be able to be compatible, and you aren't using paired logic levels 20:39:55 I'd say, put data-in, data-out, clock all in different pairs, to try to avoid crosstalk 20:40:10 and then put power in the fourth, and connect ground to the other side of all four of them 20:40:20 that'll mostly prevent the manufacture of the cable hurting 20:40:39 Thanks for the idea. OK. 20:41:10 you're not going to get 40 feet like that unless the clock rate is pretty slow, though 20:41:19 nor any other way 20:41:36 How slow? I don't need it very fast, so maybe it is OK. 20:41:52 bleh, I'm no good at that calculation 20:41:56 kilohertz are probably OK, though 20:42:03 at a guess 20:42:14 megahertz, I have no idea 20:42:41 I doubt I need more than 4 kHz, and even that might be faster than I need. 20:43:01 then you'll probably be OK 20:45:50 OK thanks for information 20:55:40 :t (mappend.($)) 20:55:50 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 20:56:34 Has Diaspora fixed its security issues yet? 20:57:25 -!- copumpkin has changed nick to tater. 20:57:31 -!- tater has changed nick to copumpkin. 20:59:13 -!- mtve has joined. 21:11:51 zzo38, you'll take each of the leads (data in, data out, clock, power) on a separate pair each, and then each of those pairs is hooked up to ground 21:12:19 make sure not to put power on the weaker pair (i believe that's brown, there's one pair that is thinner) 21:12:34 you can probably use that for clock then 21:15:59 Since it's almost even on-topic here... there was a rather funky piece of hardware on the next table at this demoparty I was; the "Speccy2010". To quote the summary: "It’s a Spectrum clone developed in the Ukraine, which replicates the original 48 and 128K Spectrums -- built around an FPGA programmable logic chip which can be reflashed with new firmware versions --"; so it's basically a general-purpose FPGA thingie that comes preloaded with a speccy simulator. 21:16:57 cheater__: Thanks for that advice too. (I didn't know there was a weaker pair) 21:17:49 i think they stopped doing that in cat 5e 21:18:58 oerjan: I read your A{80} as an answer to the :t, and thought "well that's a curious type". 21:19:44 it's the type of a lambdabot absence 21:21:01 If you have Haskell installed just use that 21:22:15 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:22:28 Wikipedia has a list of USB device classes. I propose adding class 90h for Plan 9 Protocol. 21:23:12 oh hm 21:23:58 zzo38: no, because i was trying to find out lambdabot's weird mappend instance for functions 21:24:19 i do not believe there is a standard one 21:24:42 oerjan: Is lambdabot difference from standard? Is it possible to download a local version of lambdabot? 21:24:44 otherwise, i could also use EgoBot sometimes 21:25:26 mempty is identity function and mappend is function composition? 21:25:32 zzo38: lambdabot has a lot of extra or weird definitions and instances. for example it defines (.) = fmap 21:25:51 monqy: that's what it looked like, but it's not the only possibility 21:26:06 you could also have Monoid b => Monoid (a -> b) 21:26:20 hmm 21:26:30 and lambdabot has many other instances of that form, like for Num 21:26:34 But do you know if it is possible to download a local version of the program? 21:27:22 zzo38: oh. yes it is possible to download lambdabot, and i think even to use it from inside ghci. but i've not tried it myself, and istr people complaining that it is awkward sometime in the past 21:27:23 -!- sebbu has quit (Read error: Connection reset by peer). 21:27:46 -!- azaq23 has joined. 21:27:48 also you probably need linux for it 21:28:08 (that's also something istr) 21:29:11 -!- sebbu has joined. 21:29:21 Can it be compiled for Cygwin or other UNIX systems other than Linux? 21:29:40 i don't know. check the online documentation. 21:30:01 (hopefully there is some.) 21:30:37 i think they've reworked some of lambdabot since my #haskell time. 21:32:57 http://www.haskell.org/haskellwiki/Lambdabot 21:33:11 although it looks like it's not up to date on ghc versions 21:33:35 (ghc is on version 7 now) 21:36:22 -!- CakeProphet has quit (Ping timeout: 258 seconds). 21:38:04 -!- CakeProphet has joined. 21:38:14 -!- CakeProphet has quit (Changing host). 21:38:14 -!- CakeProphet has joined. 21:44:18 Lambdabot includes Unlambda and Brainfuck, but does it include Lazy-K? 21:44:37 not unless you make a plugin for it 21:44:42 i should think 21:45:41 Maybe a better question is whether or not it should. 21:46:08 i suspect the unlambda and brainfuck plugins are not that heavily used 21:47:01 -!- CakeProphet has quit (Ping timeout: 260 seconds). 21:47:58 I found a .lhs file that uses .lhs so that it can include a #! line 21:49:36 http://www.augustsson.net/Darcs/Djinn/Setup.lhs 21:50:06 Although from what I have read, I don't think that is valid, because a blank line is required before the > line 21:53:51 -!- NihilistDandy has joined. 21:56:00 -!- NihilistDandy has quit (Client Quit). 22:22:12 -!- micahjohnston has quit (Ping timeout: 276 seconds). 22:31:10 -!- micahjohnston has joined. 22:32:58 -!- MDude has quit (Ping timeout: 252 seconds). 22:35:04 Phantom_Hoover, elliott update 22:35:19 Oh, what's he up to now? 22:35:33 wat 22:36:00 -!- BeholdMyGlory has quit (Remote host closed the connection). 22:36:20 Sgeo_, c'mon, don't keep oerjan waiting! 22:36:38 Phantom_Hoover, my mind is full of fuck 22:38:26 -!- BeholdMyGlory has joined. 22:46:18 -!- variable has quit (Read error: Connection reset by peer). 22:46:31 -!- variable has joined. 22:57:48 -!- Guest69881 has changed nick to Gregor. 23:23:06 -!- micahjohnston has quit (Ping timeout: 260 seconds). 23:26:01 -!- nooga has quit (Ping timeout: 258 seconds). 23:32:00 -!- micahjohnston has joined. 23:32:34 -!- Patashu has joined. 23:41:51 -!- lambdabot has joined. 23:42:03 :t mappend.($) 23:42:09 forall a b. (Monoid b) => (a -> b) -> (a -> b) -> a -> b 23:42:35 aha so it _was_ the same kind as the Num thing 23:43:52 > mconcat [show . length, head] "test" 23:43:55 Couldn't match expected type `GHC.Types.Char' 23:43:55 against inferred type... 23:43:57 erm 23:44:04 oops 23:44:10 > mconcat [show . length, take 1] "test" 23:44:14 mueval-core: Time limit exceeded 23:44:17 wat 23:44:27 > mconcat [show . length, take 1] "test" 23:44:29 "4t" 23:46:02 > iterate (mconcat [show . length, take 1] <=< group) "1" 23:46:04 ["1","11","21","1211","111221","312211","13112221","1113213211","3113121113... 23:46:46 > iterate (sequence [length, head] <=< group) [1] 23:46:47 [[1],[1,1],[2,1],[1,2,1,1],[1,1,1,2,2,1],[3,1,2,2,1,1],[1,3,1,1,2,2,2,1],[1... 23:49:21 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:50:14 -!- BeholdMyGlory has joined. 23:51:55 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:52:15 -!- BeholdMyGlory has joined. 23:56:38 Which Computer Modern or AMS symbol should I use to represent the = in Haskell? 23:56:48 = 23:58:09 I use the equal sign for the Haskell == instead since that is the one testing equality, so == print out using the equal sign. 23:59:14 zzo38: you should probably use the define-equal symbol 23:59:24 I forget what it's called in the fonts 23:59:29 but it looks like an = with "def" or a triangle above it