00:02:59 -!- carado has quit (Read error: Connection reset by peer). 00:03:42 -!- cocoabotter has quit (Ping timeout: 250 seconds). 00:32:51 -!- LKoen has joined. 00:38:03 -!- carado has joined. 00:49:56 -!- MoALTz has quit (Ping timeout: 272 seconds). 00:50:28 -!- augur has joined. 00:52:38 -!- augur has quit (Remote host closed the connection). 01:23:36 -!- tromp_ has joined. 01:28:01 -!- augur has joined. 01:32:16 -!- lambda-11235 has joined. 01:35:35 \oren\: Why write to the root directory rather than to tmp/? <-- if you ever get people to do that, it'll be so fun when they hit the tmp/ mv bug. 01:36:02 "bug"? 01:36:21 Anyway that file didn't look like it was even intended to be used. 01:36:26 `ls 01:36:41 true, but it's a dangerous habit if you don't know what you're doing. 01:36:57 ​!\.´ \ advice \ bin \ canary \ cdescs \ emoticons \ esobible \ etc \ evil \ factor \ good \ hw \ ibin \ interps \ karma \ le \ lib \ ls \ misle \ out \ paste \ ply-3.8 \ ps \ quines \ quotes \ share \ src \ test \ theorems \ tmflry \ tmp \ wisdom \ wisdom.pdf 01:37:02 not knowing what you're doing is a dangerous habit hth 01:37:09 `hoag test 01:37:09 `file test 01:37:27 i suspect that file was never written anyway. 01:37:35 test: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x6ac7051385eeb76321be46a3b04a8a608b00d31c, not stripped 01:37:41 No output. 01:37:52 shachaf: the difference is, that with almost any other mistake in HackEgo, you can `revert. 01:38:15 Sure, but you can always reconstruct what happened, since you made the tmp/ file in public. 01:38:16 and not lose information. 01:38:23 Since HackEgo modifications are always in public. 01:38:24 Right? 01:38:47 i wouldn't expect that apply to tmp/ if people used it for scratch. 01:39:05 in fact it would be the perfect place to try out things. 01:39:17 what does mv in tmp do? 01:39:56 -!- spiette has joined. 01:40:05 `hoag test 01:40:09 ​<\oren\> ` echo -e \'#include \\nint main(){printf("hello\\\\n");int i=30;printf("this won\'\\\'\'t work\\\\n");}\' | gcc -std=c90 -xc -otest - \ rm test \ touch test \ rm test \ mkx test//moonwashere \ rm test \ ` echo b > test \ ` echo a > test \ rm-p te 01:40:15 quintopia: because of HackEgo's lock-and-rerun mechanism, it wipes out the tmp file with no trace. 01:40:21 `rm test 01:40:25 No output. 01:40:37 oerjan: Well, we can fix that by having mv check if its first argument is in tmp/. 01:40:40 oh it did add one. 01:40:43 shachaf: true. 01:40:53 I guess we can't fix `mv, though. 01:40:55 Or can we? 01:40:58 `` echo $PATH 01:41:00 ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin 01:41:05 I guess we can. 01:41:10 shachaf: except some people here like to use mv -v 01:41:30 a? 01:41:37 Hmm. 01:41:39 mv -v? 01:41:52 it tells whether it actually did something. 01:42:08 with HackEgo timing out all the time, a good practice. 01:42:29 Well, a fancy mv can still support that. 01:45:39 hm... 01:47:30 -!- augur has quit (Remote host closed the connection). 01:59:35 -!- spockers has left ("bye http://i.imgur.com/nkzOWAv.jpg"). 02:04:29 -!- augur has joined. 02:16:36 :t (>>-) 02:16:37 Not in scope: ‘>>-’ 02:16:37 Perhaps you meant one of these: 02:16:37 ‘>>’ (imported from Control.Monad.Writer), 02:17:58 huh lambdabot no longer imports logict? 02:18:16 -!- augur has quit (Remote host closed the connection). 02:18:22 :t interleave 02:18:23 Not in scope: ‘interleave’ 02:18:29 scow. 02:19:11 :t Control.Monad.Logic.interleave 02:19:12 Control.Monad.Logic.Class.MonadLogic m => m a -> m a -> m a 02:24:06 > [1..]Control.Monad.Logic.>>-repeat 02:24:08 Not in scope: ‘Control.Monad.Logic.>>-’ 02:24:08 Perhaps you meant one of these: 02:24:08 ‘Control.Monad.Cont.>>’ (imported from Control.Monad.Cont), 02:24:39 @ask int-e why isn't Control.Monad.Logic in lambdabot tdnh 02:24:39 Consider it noted. 02:34:56 * oerjan had got the misguided impression cabal-install now supported incremental cabal update. 02:35:08 but it seemed to take as long as last time. 02:35:29 (was just testing my line above) 02:36:13 @tell int-e [1..]Control.Monad.Logic.>>-repeat 02:36:13 Consider it noted. 02:36:48 of course that relies on a very specific implementation of >>- for lists. 02:37:41 > [1..]CML.>>-repeat 02:37:43 Not in scope: ‘CML.>>-’ 02:37:48 > [1..]L.>>-repeat 02:37:49 Not in scope: ‘L.>>-’ 02:38:07 @where L.hs 02:38:07 What lambdabot has in scope is at 02:38:16 yay that worked 02:38:41 except for the 404ing 02:44:27 @tell int-e @where L.hs lies tdnh 02:44:27 Consider it noted. 02:48:10 :t (^.) 02:48:11 s -> Getting a s a -> a 02:48:40 well the one i found at lambdabot/lambdabot is not right, anyway. (no lens) 02:48:47 > (^.) 02:48:49 No instance for (Typeable s0) 02:48:49 arising from a use of ‘show_M668101704439807834720385’ 02:48:49 In the expression: 03:01:40 -!- lambda-11235 has quit (Read error: Connection reset by peer). 03:02:34 -!- lambda-11235 has joined. 03:10:28 -!- Kaynato has quit (Ping timeout: 250 seconds). 03:12:16 `? obsolate 03:12:19 obsolate? ¯\(°​_o)/¯ 03:22:39 -!- Kaynato has joined. 03:34:26 -!- ais523 has quit. 03:49:08 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 04:01:29 -!- lambda-11235 has quit (Read error: Connection reset by peer). 04:02:21 -!- lambda-11235 has joined. 04:05:32 -!- augur has joined. 04:07:42 -!- spiette has quit (Remote host closed the connection). 04:08:17 Wait, rdococ is HaliteBird? 04:11:54 i wouldn't know. 04:22:17 -!- lambda-11235 has quit (Read error: Connection reset by peer). 04:23:03 -!- lambda-11235 has joined. 04:24:31 -!- Kaynato has quit (Ping timeout: 240 seconds). 04:37:44 -!- tromp_ has quit (Remote host closed the connection). 04:41:15 -!- hppavilion[1] has joined. 04:41:21 "One pound is one kilogram." -- Randall Munroe 04:41:48 well that's about half right. 04:42:19 or is it about 2 right? 04:42:21 Well, in the context of order of magnitude estimation, it's not wrong. 04:43:13 pikhq: any pooch news? 04:43:31 Hmm, wrong channel. 04:44:03 pikhq: fermily agreed 04:44:17 oerjan: is obsolate a word to describe very old people just after they die? 04:45:02 quintopia: well that wasn't the use in the logs. 04:45:35 . o O ( ^style doggy ) 04:46:07 oerjan: this isn't even the first time you made that joke hth 04:46:14 it isn't? 04:46:22 I don't believe so. 04:46:32 has this channel been going to the dogs for this long 04:47:24 I was going to make some "posthumous" pun in response to quintopia. 04:47:29 But I couldn't think of a good one. 04:50:33 you shouldn't joke about dead people. that's posthumorous. 04:50:58 Yes, that one was a candidate. 04:51:06 But neither of us could make it work. 04:51:11 ic 04:51:22 Sorry, I oughtn't be rude for no reason. 04:51:43 shachaf: maybe you can be helpful instead? 04:51:44 i realised immediately it should have been s/that's/they're/ hth 04:51:50 what's a verb or verb phrase for when you are fired because your employer no longer needs *anyone* to do the job you were doing? 04:53:02 unless they've died after eating middle east cuisine, then they're posthummus. 04:53:13 <\oren\> quintopia: downsized 04:53:35 <\oren\> quintopia: position eliminated 04:54:43 oerjan: or if they are left in the woods to rot, decompose entirely, and be washed away in rainstorm, in which case they are posthumus 04:55:01 quintopia: I can't hope to be as helpful as oerjan. 04:55:12 Not can I help to be as hopeful as oerjan. 04:55:19 oerjan mostly hopes that helps. 05:10:27 -!- lambda-11235 has quit (Read error: Connection reset by peer). 05:11:34 -!- lambda-11235 has joined. 05:14:10 `? hth 05:14:54 hth is help received from a hairy toe. It is not at all hambiguitous. 05:21:49 -!- FreeFull has quit (Ping timeout: 244 seconds). 05:38:27 -!- tromp_ has joined. 05:43:33 -!- tromp_ has quit (Ping timeout: 276 seconds). 05:56:57 -!- Sgeo has quit (Read error: Connection reset by peer). 05:57:13 -!- Sgeo has joined. 06:00:07 -!- Sgeo has quit (Read error: Connection reset by peer). 06:00:25 -!- Sgeo has joined. 06:08:01 -!- lambdabot has quit (Quit: (). 06:08:40 *POOF* 06:10:11 what happened?! 06:10:28 lambdabot quit tdnh 06:11:12 mniip found a vuln 06:11:19 -!- Sgeo has quit (Quit: Leaving). 06:11:21 another one?! 06:11:31 some unicode crap 06:11:39 what crap?! 06:11:46 -!- Sgeo has joined. 06:12:04 < mniip> @let data QUIT = QUIT 06:12:10 < mniip> @let data Њ a b = Њ a b 06:12:16 < mniip> :t Њ QUIT (Њ () ()) 06:12:22 -!- lambdabot [~lambdabot@haskell/bot/lambdabot] has quit [Quit: (] 06:12:24 oh 06:12:29 wow 06:12:37 what 06:12:39 `unidecode Њ 06:12:54 ​[U+040A CYRILLIC CAPITAL LETTER NJE] 06:12:55 -!- lambdabot has joined. 06:13:08 ^ord Њ 06:13:08 208 138 06:13:16 possibly a different encoding? 06:13:24 one that contains a \n somewhere? 06:13:43 well ghc haskell uses utf-8 06:13:47 so that seems unlikely 06:14:09 hm 06:14:57 -!- lambda-11235 has quit (Quit: Bye). 06:15:00 @let data A = A; data B = B 06:15:08 :t B A (B () ()) 06:15:19 lambdabot: 06:15:36 hmph 06:16:12 wait what 06:16:16 anyway i'm mostly amazed by the fact that people actually understand haskell 06:16:20 > "hi" 06:16:27 it seems locked up :( 06:18:01 alercah: did it really quit immediately after that? 06:18:03 -!- Sgeo has quit (Ping timeout: 240 seconds). 06:18:08 oerjan: yes 06:18:21 `unidecode QUIT 06:18:28 mniip had it deafen itself to protect against someone abusing it to e.g. steal the account 06:18:41 oh 06:18:45 ​[U+0020 SPACE] [U+0051 LATIN CAPITAL LETTER Q] [U+0055 LATIN CAPITAL LETTER U] [U+0049 LATIN CAPITAL LETTER I] [U+0054 LATIN CAPITAL LETTER T] [U+0020 SPACE] 06:19:11 alercah: hmph. you're supposed to make it quit twice. 06:19:16 then it won't rejoin. 06:20:08 i guess +g works. 06:21:03 `ord Њ 06:21:10 oh wait i see 06:21:10 1034 06:21:17 it's 1024 + 10 06:21:45 and it gets printed cast to 8 bit 06:22:06 alercah: has someone told int-e (who seems asleep) what happened? 06:22:30 dunno 06:22:38 hm @tell won't work :P 06:23:10 i'll try memoserv 06:25:00 ...he's disabled it. 06:25:19 fine, github next -> 06:26:38 hm i see no way to contact him there 06:27:54 do i have his email somewhere... 06:29:27 not that i can see 06:30:29 i'm not sure i want to say this in a more public place 06:31:45 oerjan: was pinged in #haskell 06:32:00 alercah: well... 06:32:22 oh well i suppose he won't get it any earlier otherwise 06:34:21 i guess this is what happens when every module in lambdabot is supposed to handle its own output issues. 06:36:33 -!- J_Arcane has quit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]). 06:57:35 -!- Sgeo has joined. 06:58:56 deafen? 06:59:19 Ah, server-side ignore. 07:24:00 -!- augur has quit (Remote host closed the connection). 07:29:22 -!- lambdabot has quit (Remote host closed the connection). 07:31:57 someone just woke up 07:32:07 Orly? 07:32:36 pikhq: int-e has a security vulnerability in lambdabot to handle today. 07:33:39 Ah. 07:33:47 Curious what the vuln was. 07:33:55 Something to do with UTF-8? 07:34:06 -!- lambdabot has joined. 07:34:46 pikhq: :t prints its output converted from codepoints to 8-bit and no \n check seems to be applied after that 07:34:58 *Oh*. 07:35:01 -!- AnotherTest has joined. 07:35:19 so someone discovered the Њ 07:35:22 character 07:35:24 So it's serializing as UTF-8 incorrectly? 07:36:01 pikhq: no, it's serializing codepoints as 8bit clamped 07:36:18 Well that is "incorrectly". :P 07:36:23 i suppose :P 07:36:55 more disturbing is that this important check isn't applied uniformly to all lambdabot modules. 07:37:56 > 1 07:37:58 1 07:38:14 :t Proxy :: Proxy "hi" 07:38:15 Proxy "hi" 07:38:47 :t Proxy :: Proxy "ЊPING" 07:38:48 Proxy "\1034PING" 07:39:00 looks better 07:39:03 or wait 07:39:17 that gets passed through show 07:39:20 hm... 07:40:05 i guess it really does need at least one @let first 07:40:06 @let data Њ = Њ 07:40:07 .L.hs:169:1: 07:40:07 Multiple declarations of ‘Њ’ 07:40:07 Declared at: .L.hs:155:1 07:40:11 hah 07:40:36 @let data ЊPING = ЊPING 07:40:37 Defined. 07:40:43 :t ЊPING 07:40:44 PING 07:40:49 lambdabot is a mess. 07:41:01 someone fixed it speedily >:) 07:41:24 Is int-e online? 07:41:30 yes, he is 07:41:40 int-e: does your fix work for all lambdabot modules, else someone might find another loophole... 07:42:17 @pl ЊPING 07:42:18 (line 1, column 2): 07:42:18 unexpected '\138' 07:42:18 expecting letter or digit, variable, "(", operator or end of input 07:42:20 -!- lambdabot has quit (Quit: brb). 07:42:36 @pl xЊPING 07:42:40 oerjan: it's on the IRC connection level 07:42:49 int-e: good 07:43:26 and while I am at it that's also the perfect place to get rid of the CTCP and color codes :P 07:43:37 AWWW 07:44:31 int-e: hey careful not to break @time 07:44:52 well, it's just filtering some bytes. 07:45:05 so you'll still get *some* output. 07:45:15 i mean that @time uses CTCP to do its job 07:45:41 oh, right, hmm. 07:46:08 yep, I just broke that :P 07:47:18 -!- lambdabot has joined. 07:48:55 also, ACTIONs, i'm not sure if any commands officially support those though 07:49:27 Well, @time is kind of silly. 07:49:44 Y U HATE TIME 07:49:52 You can always use ctcp directly. 07:51:25 that's not very demonstrative tdnh 07:51:25 okay, fine, CTCP can stay for now while I mull over it 07:51:33 -!- lambdabot has quit (Quit: brb). 07:53:06 yeah, @time is a bit silly. 07:53:47 I wouldn't go as far as hating it though 07:54:00 too much effort; I prefer indifference 07:54:33 No one here hates @time. 07:54:44 Except for Cale, maybe. 07:54:47 @where L.hs 07:54:57 ? 07:55:34 (oops, it's not here yet) 07:55:43 that would explain it. 07:56:05 how many of these entries does lambdabot have anyway... 07:56:09 -!- lambdabot has joined. 07:57:16 @where+ L.hs what lambdabot has in scope is at http://silicon.int-e.eu/lambdabot/State/Pristine.hs 07:57:21 I will never forget. 07:57:22 Cale: Do you hate time? 07:57:44 without time, when would you do all the hating... 07:58:15 int-e: It would be compressed into an instantaneous fit of intense rage 07:58:17 i'm pretty sure Control.Monad.Logic _used_ to be in there, anyway. 07:58:52 shachaf: I don't know what you're really referring to 07:58:59 The lambdabot plugin? 07:59:00 it would have been when Cale run it... mokus or I probably cleaned it up a little 07:59:17 What do you think of the speed of light, anyway? 07:59:31 your cleanup was illogical tdnh 07:59:44 (I suppose... Cale please correct me if I'm wrong) 08:00:23 I might have imported Control.Monad.Logic at some point 08:01:06 @where Pristine.hs 08:01:06 I know nothing about pristine.hs. 08:01:14 -!- AnotherTest has quit (Ping timeout: 250 seconds). 08:02:01 People don't like single-layer perceptron networks, but they seem to be inexorable. 08:02:18 int-e: i noticed the github repository has three Pristine.hs* files for some reason. 08:02:44 shachaf: is that a pun because it smells like one 08:03:01 MAYBE 08:03:15 oerjan: "for some reason" - I think the reason should be easy to guess given their names 08:03:26 hm? 08:03:42 706 and 708 are GHC versions? 08:03:45 yes. 08:03:48 oh duh 08:04:14 And there I was thinking it was Jul 6 and Jul 8. 08:04:24 And today we're right in between, which is why were having lambdabot issues. 08:04:32 shachaf: thausible. 08:04:53 -!- augur has joined. 08:05:41 anyway... later 08:10:10 int-e: the last TODO seems obsolete with (:~:) around. 08:13:12 <\oren\> what if we start reading todo as a spanish word 08:13:28 We already do. 08:13:44 Any todo list ultimately progresses toward its Spanish meaning. 08:14:44 todo loco 08:22:22 oerjan: s/last //; s/ with.*// 08:22:43 the todo list is a historical artifact 08:24:28 or actually... which TODO? 08:24:36 @todo 43 08:24:36 @todo has no args, try @todo-add or @list todo 08:24:38 @todo 44 08:24:38 @todo has no args, try @todo-add or @list todo 08:24:47 oh. 08:25:24 int-e: um i meant the todo in your Pristine.hs 08:25:54 ah. 08:26:16 I think mokus added that one 08:41:59 -!- AnotherTest has joined. 09:01:32 -!- MDead has joined. 09:04:06 -!- MDude has quit (Ping timeout: 246 seconds). 09:04:07 -!- MDead has changed nick to MDude. 09:32:11 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 09:37:03 -!- AnotherTest has quit (Ping timeout: 264 seconds). 09:40:53 -!- AnotherTest has joined. 09:55:18 -!- oerjan has quit (Quit: Nite). 10:09:08 -!- LKoen has joined. 10:14:42 -!- LKoen has quit (Remote host closed the connection). 10:20:56 -!- LKoen has joined. 10:29:11 -!- Sprocklem has quit (Ping timeout: 240 seconds). 10:38:55 -!- augur has quit (Remote host closed the connection). 10:47:55 -!- MoALTz has joined. 10:49:43 -!- mroman has joined. 10:50:24 There's a game with 10 rounds and 2 players. Each player in every round must say a number 1..10 but they can never say the same number twice. 10:50:48 If your number is higher you get two points, if it's lower no points and if both numbers are the same each gets one point. 10:52:44 What strategy would you use? 10:53:21 mroman: and in each round, the two players choose the numbers without learning about the other, but having learnt the numbers from the previous rounds? 10:53:50 -!- LKoen has quit (Remote host closed the connection). 10:54:39 mroman: this game reminds me sort of to the game Niagara, which is a german style board game for between 3 and 5 players ideally, but which interestingly has a quite small space state, so that it could conveniently (even for humans) be played through irc 10:54:40 Yes, you know the numbers from the previous rounds. 10:54:57 so you exactly know which numbers your opponent still has available 10:55:44 actually this should be bruteforcable quite nicely 10:55:55 10! possible games would be my estimate 10:56:17 or maybe not 10:56:23 mroman: aren't there more like 100*10! games? still, probably brute-forcable 10:56:45 3628800 does sound like too few games 10:56:56 Just like this game, Niagara has some hidden state, so it needs a trusted third party (e.g. a bot) to validate things over irc, or a simple cryptographic protocol. 10:57:15 mroman: it's not 10! games, but 10! states 10:57:24 there are much more games, about 10!**2 of them 10:57:36 but only about 100*10! states 10:57:48 (even less if you cut a bit) 10:58:09 -!- Sprocklem has joined. 10:58:19 so yes, it's brute-forcable 10:58:36 -!- LKoen has joined. 10:59:23 yeh but brute-force doesn't really tell you immediately the strategy behind it 10:59:37 it might tell you that some orders have a higher chance of winning 11:00:06 this is actually comparing every permutation of [1..10] with every other permutation of [1..10] 11:00:08 -!- augur has joined. 11:00:11 the brute force would tell you whether you can win from any particular state, and how to win from it 11:00:30 so if the other player makes a theoretical mistake, you can win if you've done the brute force computation 11:00:30 which is 10! squared 11:00:45 the game is symmetric, so the starting state is a draw 11:08:30 http://codepad.org/2StFKlse 11:08:33 :) 11:08:50 there's no permutation that wins more :) 11:09:12 no wait, I'm stupid 11:09:20 there's actually less states 11:09:41 so overall the chance of winning when they play perfectly is 0% 11:09:44 because it'll draw each time 11:10:04 there's only 184756 states 11:10:39 mroman: no no, you said you don't choose the permutation in advance, but choose each number after you know what (you and) the other player chose on each of the previous rounds 11:11:10 that makes the game different 11:11:21 why? 11:11:26 This crunches through every possible game 11:11:30 -!- augur has quit (Remote host closed the connection). 11:12:38 mroman: think about it. or should I brute force it and demonstrate or something? 11:13:02 well it at least means that no order has a higher chance of winning per se 11:13:24 mroman: yes, but you don't decide the order in advance, and nor does the opponent, so that's irrelevant 11:16:29 well if you start with the highest and the other player with the lowest you'll loose :) 11:18:35 http://codepad.org/CNwt8JTN 11:20:23 mroman: I'm writing a brute forcer and a particular player now, please wait 11:20:26 it's not that complicated 11:20:27 (just make sure you test with an even amount of numbers so there's no middle number) 11:20:43 it might end up depending on who has the higher number in the first round 11:20:45 what? you said there are 10 numbers exactly 11:20:49 yes 11:21:17 (I figured to detect tendencies 1,2,3,4 should work too) 11:21:30 (less permutations) 11:24:38 -!- FreeFull has joined. 11:28:44 mroman: mind you, an odd number might give an interesting game, because then there are no ties. 11:29:25 but I'll stick with 10 for now 11:29:33 still writing a program 11:34:17 -!- boily has joined. 11:42:22 http://www.commitstrip.com/en/2016/07/05/bot-bot/ 11:49:39 no, I'm stupid, there'd be ties even for an odd number 11:51:03 mroman: you win the round if you have more points than 10, and lose if you have less points than 10, right? 11:51:17 the total points is 20 11:54:55 no you win the round when you have more points than the opponent 11:56:16 which is probably equivalent to saying you win when you have more than 10 points :) 11:57:06 if every round draws it's 10, 10. Each round can hand out 2 points so total 20 11:57:07 yes. 11:57:11 they're equivalent. 12:02:39 still writing my program, please wait 12:02:53 I have the brute force done, but chose the wrong strategy 12:02:59 I'll have to fix it 12:04:01 it already wins against random strategy more often than not, but it can be beaten with a particular strategy. I'll fix it now. 12:04:14 then I'll have to add a network or irc interface or something 12:04:26 so you can play against 12:04:39 oh damn, it doesn't even seem to work against a random strategy 12:04:42 something's wrong with it 12:04:45 anyway, I'll fix it 12:04:51 I know at least one bug 12:10:03 -!- LKoen has quit (Remote host closed the connection). 12:17:32 -!- LKoen has joined. 12:19:32 hmm, something is still buggy 12:20:09 wait 12:20:49 hmm 12:20:56 what I'm trying can't work 12:20:59 damn 12:21:37 or maybe it can, I dunno 12:24:59 I'll probably have to think about this later 12:25:03 I can't write it now 12:30:10 -!- boily has quit (Quit: WRAITH CHICKEN). 12:32:47 -!- hppavilion[1] has joined. 12:39:05 -!- Lord_of_Life has quit (Excess Flood). 12:40:38 -!- Lord_of_Life has joined. 12:43:24 :D 12:43:37 Maybe there's not even a better strategy then doing random() 12:49:16 http://codepad.org/SraTcU2M 12:49:17 Whoo! 12:49:28 well at least 'player_mid_first' seems to suck a bit 12:49:30 Nothing more satisfying than Google identifying you as a potential bot 12:49:39 don't search for porn too long 12:49:44 it will immediately flag you as a bot . 12:54:02 http://codepad.org/nZNEw6zE <- if anybody want's to write a player :D 12:54:04 *wants 12:55:34 looking at hppavilion[1] 12:55:36 :D 12:55:52 mroman: What's crazy is that wasn't even it 12:55:55 mroman: Wait, well, actually 12:56:09 Interestingly, I kind of was 12:56:20 Specifically, I was looking for the smbc forum thread for http://www.smbc-comics.com/index.php?db=comics&id=2408#comic 12:56:30 Because the forum doesn't have a search feature 12:56:31 ... 12:56:39 mroman: Do you have spyware running on my computer? 12:58:13 http://thecatapi.com/ 13:01:05 Cat executions: Done with the Electric Box? 13:02:52 "In 2000, some conservative associations sued the government for granting the movie Baise-moi, which contained graphic, realistic scenes of sex and violence, a non-X classification." 13:03:00 France, I think your conservatives are broken 13:26:11 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 13:47:04 -!- LKoen has quit (Remote host closed the connection). 13:50:23 -!- LKoen has joined. 14:16:05 -!- LKoen has quit (Remote host closed the connection). 14:37:39 -!- LKoen has joined. 14:40:54 -!- `^_^v has joined. 15:34:31 -!- Xylon_ has joined. 15:38:17 -!- AnotherTest has quit (Read error: Connection reset by peer). 15:38:42 -!- AnotherTest has joined. 15:46:52 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 15:54:52 -!- mroman has quit (Quit: Lost terminal). 15:56:27 -!- kuroro has joined. 16:06:01 -!- nisstyre has quit (Read error: Connection reset by peer). 16:08:53 Hi, I'm trying to implement a very simple line in Pyth, but it seems like I keep doing something wrong. I was wondering if someone could point me in the right direction. 16:08:59 This is it in normal Python: "reduce(lambda x,y: x^y, input)", where input is a list of integers. I figured out the following in Pyth: u^GHQ0, where u indicates that it's a reduce, G and H are the accumulator and sequence variable (G^H), Q is the input list and 0 is the initial value of the accumulator afaik, but it doesn't seem to give the wanted results. 16:24:14 -!- LKoen has joined. 16:28:36 -!- Sprocklem has quit (Ping timeout: 246 seconds). 16:36:18 -!- nycs has joined. 16:36:51 -!- `^_^v has quit (Ping timeout: 240 seconds). 16:40:42 -!- AnotherTest has quit (Ping timeout: 276 seconds). 16:44:43 Xylon_: hmm, ^ is exponentiation; x is xor? 16:47:18 https://github.com/chrislgarry/Apollo-11 16:47:56 someone should write an emulator 16:52:24 hmmmm. PINBALL_GAME_BUTTONS_AND_LIGHTS.s 16:55:21 gotta spend time somehow 16:55:23 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 16:56:50 izabera: anyway http://www.ibiblio.org/apollo/download.html looks like an emulator already exists 16:56:52 all hail ##math's lord and protector Cale 16:57:03 int-e: You're right! I expected that ^ would be the same as it would be in python. But with languages like this I shouldn't assume things. Thanks! 16:58:49 Xylon_: in general you are probably more likely to be able to get help like that in the Pyth chat, or in the 19th byte if no one is there 17:01:28 quintopia: Thanks, hadn't even thought of chat channels on stackexchange 17:09:48 -!- bauen1 has quit (Remote host closed the connection). 17:10:09 -!- bauen1 has joined. 17:13:04 <\oren\> I don't like stackexchange 17:17:01 meh, that euclidthegame.com game has a bug where it resets the counter but does not remove all elements used so far... 17:20:33 -!- nycs has quit (Read error: Connection reset by peer). 17:20:34 -!- I has joined. 17:20:58 -!- I has changed nick to Guest97615. 17:24:12 <\oren\> Actually, I don't like Quira or stack overflow either 17:25:00 not liking things is a fun activity for all to enjoy! 17:25:18 <\oren\> quintopia: ok, now it's your turn 17:28:03 <\oren\> `? \oren\ 17:28:27 ​\oren\ is an attempt to improve upon oren. The only thing it actually improved was name recognizability, and it made everything else... well, there isn't much else in a nick, is there? 17:28:35 <\oren\> `? oren 17:28:38 oren is a Canadian esolanger who would like to obliterate time zones so that he can talk to his father who lives in the same house. He'll orobablu get the hang of toycj tuping soon. He also has a rabid hatred of the two-storey lowercase a. 17:41:24 \oren\: i dont like misanthropy 17:49:33 <\oren\> misanthropy? 17:49:41 <\oren\> they're websites! 17:50:07 <\oren\> specifically, poorly designed and annoying to use ones 18:46:47 -!- augur has joined. 18:47:28 -!- augur has quit (Remote host closed the connection). 18:49:10 -!- augur has joined. 18:50:47 -!- Sprocklem has joined. 18:56:29 <\oren\> A friend of mine suffers from depression, so she took a vacation... to finland. 18:57:06 Finland is great. Sounds like a good plan. 18:57:10 `? finland 18:57:31 Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus. 18:59:20 <\oren\> i dunno, finland does not seem like a very cheerful place, but she's apparently loving it 19:00:02 -!- wob_jonas has joined. 19:01:14 <\oren\> hellwob_jonas! 19:01:28 I'm watching the SGDQ videos 19:01:35 (the temporary youtube encodes for now) 19:03:03 -!- Kaynato has joined. 19:07:19 <\oren\> holy crap the war between clinton and the goppers is getting intense 19:09:00 <\oren\> i hope they start televising the senate 19:13:42 -!- Xylon_ has quit (Quit: Page closed). 19:24:02 \oren\: it should be fine in summer, I suppose 19:24:46 pretty too... and she could look for Slartibartfasts signature... (hey, this is #esoteric...) 19:26:45 I need to figure out what to do with my life ;) 19:38:46 Isn't that in Norway though 19:38:50 them fjords 19:38:55 HireFly 19:39:29 int-e: what are you going to do with your life 19:39:33 FireFly: you're right, I keep mixing up the nordic countries. 19:39:55 shachaf: I could start by not mixing up IRC channels. 19:40:09 Which channels did you mix up? 19:40:28 Hi 19:40:28 this one, and another. 19:40:34 you sure are curious today 19:40:36 Soon Tetris TGM on SGDQ 19:41:03 int-e: Well, maybe I need to figoure out what to do with my life. 19:41:58 figure 19:42:32 What kind of animal would shed bikes? 19:43:17 (I also imagine that the process would be quite painful. but nature is often cruel.) 19:45:13 Maybe the answer has to do with the bicyclic monoid. 19:45:45 Oh, wait, the diversion is already over. 19:45:55 So back to my life. 19:47:17 FireFly: :) 19:50:06 -!- jaboja has joined. 19:50:34 -!- myname has quit (Ping timeout: 272 seconds). 19:54:19 -!- myname has joined. 19:55:03 -!- jaboja has quit (Ping timeout: 264 seconds). 20:25:12 -!- Froox has quit (Quit: *bubbles away*). 20:29:01 -!- gniourf has quit (Remote host closed the connection). 20:37:36 -!- nycs has joined. 20:39:12 -!- Guest97615 has quit (Ping timeout: 260 seconds). 20:45:25 -!- `^_^ has joined. 20:45:30 -!- nycs has quit (Ping timeout: 246 seconds). 20:55:26 Deewiant, hi! 20:57:13 @tell Deewiant Working anything on mycology? I lifted some code from cfunge's DATE fingerprint and found a bug that apparently wasn't tested by mycology. Basically for dates pre-dating the Gregorian calendar I used Julian calendar, but only when converting from JDN to YMD, not the other way around. It probably isn't specified what calendar to use, but it should be the same for both directions I think 20:57:13 Consider it noted. 20:57:52 @tell Deewiant I'm going to change it to use the proleptic Gregorian calendar. That is, backdated Gregorian to apply before that point in time. 20:57:52 Consider it noted. 21:02:03 Probably wise. The date of Gregorian changeover is actually region-specific. 21:03:17 (spanning from 1582 to 1923) 21:05:57 pikhq, yes. I just think mycology should actually test you do the same thing in both directions :) 21:06:11 :) 21:06:42 pikhq, I basically ported those functions to a different language (for a different project), and then I threw property based testing on it (like quickcheck) and it found that issue 21:07:12 pikhq, watching summer games done quick? 21:07:22 They are playing tetris right now. And it is super-impressive 21:07:24 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 21:07:31 (on twitch) 21:08:11 -!- wob_jonas has joined. 21:08:20 Yup! 21:08:40 pikhq, How can this NOT be the TAS segment 21:08:51 hi Vorpal 21:08:55 hi 21:09:21 I was thinking about git clones of a subdirectory of a repository and things like that. 21:09:37 It might be that hg has advantages over git for that sort of thing. 21:15:31 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 21:17:53 shachaf, hm? 21:18:04 can you clone only a sub-directory? 21:18:10 I don't think so. 21:18:11 Maybe? 21:18:12 Don't know if you can in hg. 21:18:16 I heard they were working on it in hg. 21:18:21 Never had the need for it 21:18:24 Maybe Facebook was working on it. 21:18:29 shachaf, in CVS you can. Same for SVN 21:18:40 Yes, but that's much easier, of course. 21:20:10 `smlist 446 21:20:15 `smlist 447 21:20:26 smlist 446: shachaf monqy elliott mnoqy 21:20:31 smlist 447: shachaf monqy elliott mnoqy 21:22:28 CVS has a file-oriented storage 21:22:41 SVN doesn't fetch any history, just snapshots 21:23:26 Anyway, if Facebook uses hg for their whole repository, they're probably doing some interesting things to make that work. 21:23:36 the trouble with git isn't checking out subdirectories (there's "sparse" checkouts which do, essentially, that) but that fetching a repo means fetching its commits, and that will pull in the whole history for all subdirectories 21:24:14 int-e: Well, I want to not clone out the contents of trees other than the one I'm looking at. 21:24:22 (of course the object structure itself would support partial fetches) 21:24:27 shachaf, we use sub-repositories at work 21:24:33 shachaf, not one hg repo for everything 21:24:46 (but I don't think that the software does... it's fetching a full transitive closure) 21:24:50 But using one big repository for everything is the best. 21:25:02 then for any given project we have a shell repo that just pulls in the sub-repos (there is no code in the shell repo, well okay there is a CMakeLists.txt, but that is it) 21:25:35 shachaf, well, that has issues when there are many different products that don't need the same code 21:26:33 shachaf: I know. What I was trying to say is that bringing up SVN or CVS is not very meaningful. 21:30:53 -!- `^_^v has joined. 21:31:44 <\oren\> I would say git has the features for 90% of use cases, svn has the features for 80%, and a tgz file with a bunch of back versions is enough for 70%. 21:32:10 \oren\, no... tgz is not enough when developing 21:32:22 sure if you just want to download a software 21:32:52 -!- `^_^ has quit (Ping timeout: 252 seconds). 21:33:19 <\oren\> Vorpal: I mean a tgz file containing subdirectories like project_June12/ project_June14/, etc. 21:33:36 \oren\, *puke* 21:34:14 <\oren\> thats how many of my amateur things are done 21:34:34 yes, and it is terrible 21:34:57 I pretty much create a repo (hg) before I even write a line of code. 21:35:05 And even for small personal projects 21:35:55 int-e: I mean, I think git/hg might be able to do that reasonably well. 21:36:16 At least in theory. 21:36:30 int-e, no I was just wondering what tools *can* do what he asked for 21:36:37 VCSs keep metainformation and allow you to separate changes into logical commits... doing that with tar would be really hard. (Sure, one could maintain a changelog... but that's extra effort and will still lose information) 21:36:38 And the answer "no distributed ones"? 21:37:11 what about source safe? 21:37:12 <\oren\> I don't think I need any of that in most cases 21:37:13 XD 21:37:44 \oren\, distributed is easier to set up in most cases. You don't need a server until you want to publish it 21:37:46 \oren\: so you never ask yourself why a particular line made it into your code? 21:37:59 with svn (and presumably cvs?) you absolutely do need that from the get-go 21:38:31 <\oren\> with tar you don't need a server um. ever. 21:38:48 <\oren\> an http server will work fine 21:39:41 git works quite well without a server 21:39:44 int-e: I believe shallow clones are a thing now, up to a point. 21:39:50 Re "the whole history". 21:40:14 fizzie: yes, but they are only shallow in that the history is pruned... shachaf wants to prune subtrees 21:40:28 but indeed I should've been more precise 21:41:45 <\oren\> 50% of my projects are written as a single file 21:42:51 \oren\: I'm objecting to the notion that tar files come even close to a version control system. 21:43:42 <\oren\> well, it's more like you know a bunch of commands that let you use diff, tar, and the shell together as a vcs 21:43:47 But it's okay to develop some things without version control. 21:44:46 <\oren\> like, the major thing that this helps me do is track down regressions. i have the version from yesterday, and the version from 4 days ago, etc. 21:45:27 shachaf: Here's an idea: why don't you go and use one giant Perforce repository for everything, and then a layer of scripts to allow "cloning" particular sets of subdirectories as local git repositories, maybe with a bit of FUSE to still make a unified read-only view of the entire in-the-cloud repository possible. 21:45:33 <\oren\> without any vcs at all I wouldn't have that ability 21:46:29 fizzie: That sounds pretty good. But I might just reimplement Perforce myself if it doesn't scale to the size of my repository. 21:46:45 \oren\: I guess the point of disagreement is that your 70% number, in my view, is closer to perhaps 20%. 21:48:13 \oren\: For example, I can have two copies of the project at home and at work, have changes in both, and merge them sanely. That will be a quite horrible mess with tar and diff and patch. Not impossible, sure, but a lot more effort than it should be. 21:48:14 shachaf: Sounds good. Maybe you could call the whole thing "Tuber" or something like that, and then let's say "git9" for the git bridge tool. 21:48:55 <\oren\> int-e: well, yeah there is a learning curve in using diff and patch well 21:49:19 <\oren\> with tar you don't need a server um. ever. <-- sure. I was talking about svn and cvs 21:49:27 \oren\, I don't consider tar a serious alternative 21:49:34 fizzie: Anyway, those git scripts wouldn't clone a "true" clone of the repository. 21:49:49 <\oren\> it's much better than not using any vcs at all 21:49:51 Those hashes would lead to nowhere. 21:50:01 Or, you know what I mean. 21:50:05 So it's kind of scow. 21:50:12 I'm not expressing myself very well right now. 21:50:26 \oren\, also git or hg is easier than tar. Just: hg commit -m "Changed stuff" 21:50:29 You can certainly see the seams, yes. 21:50:29 or hg add . 21:50:34 \oren\: Why wouldn't you just use git instead of tar+diff+patch? 21:50:39 So much easier. 21:50:41 \oren\, the tar thing actually needs more commands! 21:50:43 <\oren\> shachaf: git is not easy 21:50:50 Just: git commit -m "Changed stuff" 21:50:53 \oren\, agreed. hg is though. 21:51:03 \oren\, and TortoiseHg is a GREAT gui for it 21:51:13 which git lacks 21:51:13 then use mercurial... mercurial is only hard for git users, I believe :P 21:51:31 int-e, well said. I'm a hg user, and I find git confusing. 21:51:40 (mercurial is so close to git that I want to use it like git, and then it falls short all the time.) 21:51:41 fizzie: Did you read _The Gone-Away World_? 21:52:02 No, I didn't. 21:52:07 int-e, branches work differently. Otherwise it is mostly the same I believe. But git has a more confusing user interface. 21:52:17 That book is pretty good. 21:52:31 Anyway there's a machine in it called "Piper 90". 21:52:37 <\oren\> I found that git has too many concepts 21:52:39 fizzie, hm perforce, is that central or distributed? 21:52:42 fizzie, and is it FOSS? 21:52:57 Vorpal: I'm not disagreeing. Actually the thing that I find most confusing in mercurial is the "tip" thing that jumps around randomly when there's more than one head. 21:53:04 Vorpal: Central, proprietary. 21:53:07 ("randomly" meaning I can't reliably predict it) 21:53:11 The whole "multiple heads" thing in hg sounds bizarre to me. 21:53:44 int-e, you generally shouldn't have more than one head in a given named branch I would say. Also you probably want "default" instead of tip then? 21:54:01 int-e, oh and I mostly use TortoiseHg. It is actually a great GUI. 21:54:17 ... shell user here 21:54:29 The only complicated thing about git is that the commands are bizarre and arbitrary. 21:54:39 And each one does several different things. 21:54:41 int-e, fair enough. Just saying that sometimes when things get complicated, a visual look at the tree can be easier to understand 21:54:52 X is useful so that I can have 9 xterms on the screen simultaneously. 21:55:04 int-e, especially in projects with multiple persons and complicated merges 21:55:20 <\oren\> shachaf: and stashes. I would like there to be no such thing as a stash 21:55:21 then a visual look can be superior for understanding what the f**ck is going on. 21:55:31 actually I use hg view quite a lot. 21:55:32 \oren\: Then don't use "git stash"? 21:55:40 They don't exist if you don't want them to. 21:55:48 <\oren\> shachaf: but that;s the only way to discard changes 21:55:48 $ hg view 21:55:48 hg: unknown command 'view' 21:55:48 'view' is provided by the following extension: 21:55:48 hgk browse the repository in a graphical way 21:55:49 hm 21:55:51 Okay 21:56:11 int-e, how does it compare to thg workbench? 21:56:11 \oren\: ? 21:56:22 What does discarding changes have to do with git stash? 21:56:55 <\oren\> you discard the changes in your working directory by saying ``git stash'' 21:56:59 int-e, https://www.mercurial-scm.org/wiki/HgkExtension suggests it is deprecated and hgview or tortoisehg should be used instead 21:57:08 No I don't? 21:57:21 Vorpal: hg view is not very useful really... it's a stripped down clone of gitk. It helps me that it looks familiar. I wouldn't recommend it. 21:57:31 Oh, well, I thought you were actually being sinceret or something. 21:57:32 ah 21:57:38 I should've known better. 21:57:46 <\oren\> I am. that's the way I learned git 21:58:10 The name "stash" might be a clue that it's not discarding anything. 21:58:58 <\oren\> git add my files with changes I want to keep, git commit to do... something. then git push which does an actual commit. finally git stash to discard uncommited changes 21:59:51 <\oren\> i guess git commit is how you add the message to your commit 22:00:18 Maybe you should spend half an hour or an hour learning how git works. 22:00:19 That's such a bizarre use of terminology. 22:00:36 \oren\, for your usage, hg would probably be simpler. 22:01:06 \oren\, especially given the amazing cross platform GUI that TortoiseHg provides 22:01:44 imo trollminology 22:01:45 Can you alias on top of existing commands? You could alias 'git stash' into actually being about discarding changes. 22:02:20 fizzie, what is the proper way of discarding changes in git? 22:02:31 <\oren\> shachaf: well how would you discard the changes in your working copy that you don't want to commit? 22:02:41 git reset --hard? 22:02:46 \oren\, in hg it is "hg revert" 22:03:03 <\oren\> ah. well that sounds legit 22:03:11 Or `git checkout file` to restore a file to its state in HEAD. 22:03:17 shachaf, is that per file? 22:03:20 Or the ENTIRE tree? 22:03:29 Ah 22:03:30 git reset --hard is the entire tree. 22:03:34 Hm 22:03:42 You don't do it too often. 22:03:44 Well, I don't. 22:03:50 shachaf, what does --hard do? 22:04:01 reset the staging area as well 22:04:13 And the working tree. 22:04:29 and that (the staging area) is really the bit that you have to understand before git stops being confusing. 22:04:30 I mean, compared to --soft, which just adjusts what the head points at. 22:05:23 int-e, that entire "staging area" concept is confusing and annoying I find 22:05:24 <\oren\> int-e: isn't the staging area just the list of files I want to commit? not confusing at all? 22:05:25 Vorpal: What git-reset actually does is change your current branch to point to some commit. The commit is implicitly HEAD, i.e. where you are right now. 22:05:25 It's invisible at first, but that's where you prepare the commit. "git diff" shows differences between working tree and staging area. "git diff --cached" shows differences between staging area and the last commit; *those* are the changes "git commit" actually commits. 22:05:27 And quite pointless 22:05:41 Vorpal: git-reset --hard doesn't change only the current branch, but also the things that int-e and fizzie said. 22:05:42 Vorpal: it's a love or hate thing; there's no middle ground :P 22:05:57 -!- `^_^v has quit (Quit: This computer has gone to sleep). 22:06:17 I find it quite powerful. And there's commit -a for the fairly common case that you want to commit all changes. 22:06:19 int-e: I have no strong feelings about the git staging area. 22:06:19 int-e, agreed. And sure, there are things that hg could do better. But it is still less confusing than git 22:06:26 I could take it or leave it. 22:06:28 shachaf: damn you! :P 22:06:45 int-e, with hg you just list the files you want to commit if not all of them on the "commit" command line 22:06:49 Makes sense to me 22:07:00 <\oren\> right, like svn 22:07:06 also why does "git ci" not alias to "git commit" 22:07:09 You can do that with git-commit too. 22:07:11 It does for hg, and it is shorter 22:07:17 -!- Frooxius has joined. 22:07:22 You can make that alias if you want. 22:07:37 Vorpal: I have an alias for that in my configuration. 22:07:38 git config --global alias.ci commit 22:07:58 Fair enough. 22:08:02 Why is it not default though 22:08:06 "log1 = log --oneline --decorate=full --graph" is an alias I've started to use a lot. 22:08:26 <\oren\> shachaf: is there a way to add a staging area to svn 22:08:39 I don't know? 22:08:42 The main issue I have with git is that there is no *good* GUI. For some reason I'm a GUI person when it comes to version control 22:08:49 I'm a terminal person otherwise 22:08:55 hmm, use git-svn? 22:09:24 fizzie: Ah, maybe I should use that instead of --decorate. I guess =full shows more information. 22:09:46 -!- `^_^v has joined. 22:09:52 It shows what sort of ref it is. 22:09:56 <\oren\> i mean it would be nice if I could add files to my 'svn ci' line one at a time 22:10:20 fizzie: --all is also a useful flag there, sometimes. 22:10:23 <\oren\> hmmm, I could use bash and a variable 22:10:37 <\oren\> instead of git add 22:10:39 shachaf: I think the =full part is slightly redundant in that at least some of the prefixes have their own colors. 22:11:52 Is there a good version control system for unmergable binary files? At work we use svn for that, due to the locking support 22:11:57 And hg for everything else 22:12:37 \oren\: It's true that in order to use git effectively you need to spend a bit of time up-front learning how it works. 22:13:05 <\oren\> staged=$staged' 'some_file.cpp 22:13:24 <\oren\> svn ci $staged 22:13:36 I don't mean learning what the commands do, which is kind of arbitrary but pretty easy to look up, but getting a mental model of what a git repository is. 22:15:02 I also was happy about "git worktree" getting in the real git. 22:15:18 fizzie, what does that do? 22:15:47 Lets you have multiple working trees (with different branches checked out) linked to the same repository. 22:15:52 fizzie: whoa whoa whoa, fancy 22:16:12 I found http://eagain.net/articles/git-for-computer-scientists/ useful when I started using git... http://nyuccl.org/pages/gittutorial/ looks more recent but similar in spirit. 22:19:03 I don't think I've really needed git worktree at home, but some IDEs (not naming names here) are a little bit too enthusiastic about having everything indexed all the time whenever anything in the filesystem changes to make jumping around between branches pleasant. 22:19:42 And (as far as I can tell, anyway) git doesn't really have a generalized way of saying "do this thing in a branch without checking it out". 22:20:00 You can do some things. 22:20:12 But not in general, I guess. 22:20:28 Anyway, I never used anything with a name similar to git9. 22:20:50 Yeah, that's the kind of thing you can't do to a branch without checking it out. 22:22:09 fizzie, hm hg had something like that for ages 22:22:49 I use something with a name similar to git9, but only ever do the synchronize-with-the-world operation in a single branch called "clean", which I've found is a relatively nice way to manage whatever unpleasantess there is with the boundary to the Other System. 22:22:49 fizzie, basically it has a command (as a bundled extension) to hardlink the shared revision data files between multiple repos. 22:23:55 In fact hardlinking is how a local same-filesystem clone works 22:23:58 Hard link? What happens if you edit a file? 22:24:14 What you really want is a copy-on-write hard link, isn't it? 22:24:15 shachaf, hg is made to handle that for the internal revision file data 22:24:16 You don't edit the repository data files manually, hopefully. 22:24:21 the working tree is NOT hardlinked 22:24:28 Oh, the repository data files. 22:24:35 That's more or less how 'git worktree' works, except there's some automatic administrative bookkeeping as well. And there's long been custom scripts to do it, they just weren't included in the stock distribution until relatively recently. 22:24:42 The working tree ought to be COW hard-linked, though. 22:25:02 Yes, in a perfect world. 22:25:04 shachaf, that is harder though. Probably possible with FUSE, btrfs or zfs? 22:25:16 I heard that btrfs supports that, at least. 22:25:46 -!- LKoen has joined. 22:26:01 shachaf: Anyhoo, I use something with a name similar to git9, but only ever do the synchronize-with-the-world operation in a single branch called "clean", which I've found is a relatively nice way to manage some of the unpleasantess there is with the boundary to the Other System. 22:26:23 Then you can pretend 'clean' is just a tracking branch for a remote, more or less. 22:26:35 Yes, I saw that when you said it earlier. 22:26:37 Oh. 22:26:49 I thought I didn't say that because I started to say something else. 22:26:59 You'll notice I further edited it a little bit. 22:27:16 E.g. "whatever" -< "some of the". 22:27:37 Sometimes I do that. I start editing a long line in the irssi buffer, ^U it, send it, send something else, then paste the ^U-ed text and forget I sent it already. 22:28:26 shachaf, what is ^U? 22:28:43 Ctrl-U 22:28:48 I get THAT 22:28:50 Delete (cut) the current line. 22:28:53 it it like ctrl-x in modern editors? 22:29:04 Ctrl-X for the current line. 22:29:09 Okay 22:29:41 https://groups.google.com/forum/#!topic/git-users/7b40Ie89Vqs 22:29:51 It's funny when people post things like that. 22:30:01 shachaf: I ended up there as well. 22:30:30 If you know the right strings to search for, you can find a lot of bug reports that are full of secret HTTP headers containing all sorts of secret data. 22:31:00 I guess it's not that secret. 22:31:02 Also, I'd just like to voice my disapproval of the world making C-w in Emacs kill-region, but in browsers close-tab. 22:31:22 I've closed a number of tabs while trying to edit text in a box. 22:31:24 Yes, that's terrible. 22:31:31 I've done the same thing. 22:31:33 I'm very happy about C-S-t. 22:31:46 But at work I use Mac OS, where you close a tab with Cmd-W. 22:31:49 So it's a bit better. 22:32:02 fizzie, hah. I'm a sublime user these days 22:32:10 fizzie: Unfortunately I do all my browsing in Chrome's Incognito mode, so I can't C-S-t. 22:32:21 Oh, that's nasty. 22:32:26 I do some of it in Firefox' Private Browsing mode, I guess. Firefox does support it. 22:34:55 just use vim 22:34:58 next 22:35:07 I do use vim. 22:35:16 Not for IRC, though. 22:36:00 I have typed ":wq\n" into a number of text boxes as well. 22:36:04 But that's generally less dramatic. 22:36:29 you can actually do that with extensions 22:36:30 ls ;-) 22:36:43 <\oren\> i'ts annoying how ^O saves on nano but open on everything else 22:37:54 it doesn't save on vim :p 22:38:37 shachaf: Speaking of secret stuff, there's a bunch of Chrome bug reports containing all kinds of internal nomenclature as well. 22:39:01 https://bugs.chromium.org/p/chromium/issues/detail?id=52734 for example. 22:39:50 fizzie: Yes, that's what I meant. 22:40:04 Well, I was talking about some chrome bug reports. 22:40:06 Not that one. 22:41:25 But any of them that include an http response. 22:41:40 Yes. 22:42:08 One time there was a picture of a data center in Finland that had pictures of machines with labels on them specifying their hostnames. 22:42:24 It was kind of funny. I think it's gone now, though. 22:42:36 At least the knowledge of there being a data center in Finland is no longer a secret. 22:42:51 fizzie, what *is* git5? 22:43:17 Vorpal: fizzie described it by the name "git9" above. 22:43:27 shachaf, okay and what actually is it? 22:43:29 Someone tried to tell me we still haven't publicly acknowledged the existence of the Hamina data center, which is patently untrue. 22:43:40 I mean, https://www.google.com/about/datacenters/inside/locations/hamina/ 22:43:55 fizzie: You might have acknowledged its existence, but have you acknowledged the acknowledgement of its existence? 22:44:16 fizzie, I read about it in the Swedish technology news paper "Ny Teknik" several years ago 22:44:43 fizzie, so git9 is some kind of google-internal wrapper script for git? 22:44:56 It's really git5, I just wanted to be fancy. 22:45:22 And it's the bridge from local git to the well-published Perforce-based VCS we generally use. 22:45:32 I was surprised to learn about this one thing that says "the existence of [this thing] is confidential". 22:45:42 But in retrospect I shouldn't have been surprised. 22:45:48 But maybe that's why it was confidential. 22:45:51 So that people who're conversant with git can keep using it. 22:45:52 fizzie, do you pump waste heat into the district heating system? 22:45:55 I've probably said too much. 22:45:59 fizzie, I believe some data centers in Sweden do that 22:46:03 I wouldn't know. 22:46:11 If I knew I couldn't tell, unless it's something we advertise. 22:46:27 fizzie never talks about corporate secrets in public IRC channels. 22:46:40 Unless someone else has accidentally talked about them in public bug reports, I guess. 22:47:12 Even in the latter case, I might still apply some caution. 22:47:40 <\oren\> but do you store work emails on a private server in your home? 22:48:03 fizzie probably stores personal emails on a private server at work. 22:48:26 I've been thinking of storing personal data at work, just because of the tools. 22:48:55 Vorpal: the magical thing about the "staging area" is that it's a lot more than a list of files to commit, it's really a snapshot of the entire tree that will be committed, so e.g. the staged files don't have to look the same as the files on disk... which probably sounds useless and confusing until you start using it all the time 22:49:05 fizzie: that's a rude way to refer to your colleagues hth 22:49:28 Yes, that's true. 22:49:39 olsner, fair enough I guess. Most of the time it isn't really that useful a feature though. Or when it is I want multiple versions of it (similar to MQ patches in hg) 22:49:47 \oren\: If you modify a file, and then git add it, and then modify it again, and commit, only your first modification will be committed. 22:50:37 fizzie: https://www.youtube.com/watch?v=o4pnJdEZ2Iw is a song about that data center, I assume. 22:50:52 olsner, I do use MQ, and MQ is a more advanced version of that, where you can have multiple snapshots as kind of editable non-pushable-until-you-convert commits. And you can reorder then and unapply them and reapply them and so on 22:51:04 olsner, also you can version control your actual MQ patch queue itself 22:51:04 shachaf: :D 22:51:05 <\oren\> shachaf: AAAAAAAAAA 22:51:17 <\oren\> NOOOOO that is awful 22:51:35 Because what you're really "adding" is the current state of the file, not just the file name. 22:51:37 Vorpal: that sounds close to how I use branches 22:51:44 \oren\, I can see the use of it. I don't think it should be the default behaviour though 22:52:01 olsner, branches are pushable though? MQ patches are not. 22:57:17 shachaf: Man, that *is* a lot of internal headers in bugs.chromium.org. Maybe they should have some sort of a thing. 22:58:55 fizzie, oh? Link to an example? 22:59:10 I don't think I should. 22:59:24 fizzie, well it is public, I could probably find it anyway? 22:59:34 Probably, but maybe you won't care enough. 22:59:38 you don't need to tell me what they mean 23:01:58 yeah a lot of internal jargon so far at least 23:02:06 fizzie, I assume you mean HTTP headers? 23:02:06 It's the principle of the thing. If the names and values are something we don't show to external users, I probably shouldn't be linking to them either, even if they leak all kinds of ways. 23:02:10 Or bug headers? 23:02:23 HTTP, yes. 23:04:54 Ah yes, quite a few ones with weird headers 23:09:36 Probably all of them would have a particular header with a value of the form /x/y/z/y/x/... 23:09:45 Probably I'm saying too much anyway. 23:11:37 shachaf, you don't work at google do you? 23:11:48 No, but I used to. 23:11:51 Ah 23:17:24 -!- Froox has joined. 23:18:31 -!- ais523 has joined. 23:19:26 -!- augur has quit (Ping timeout: 250 seconds). 23:20:33 -!- Frooxius has quit (Ping timeout: 246 seconds). 23:23:49 -!- augur has joined. 23:35:56 -!- `^_^v has quit (Quit: This computer has gone to sleep). 23:42:41 -!- JenElizabeth8 has joined.