00:00:00 `2014 00:00:01 Hello, world! 00:00:01 `2014 00:00:02 `2014 00:00:02 No output. 00:00:02 No output. 00:00:03 `2014 00:00:04 No output. 00:00:04 `2014 00:00:05 No output. 00:00:21 You did it. 00:00:29 Woo 00:01:09 Good bye, 2014. 00:04:01 Should `2014 be kept? 00:04:17 yes 00:04:19 otherwise it defeats the point 00:06:14 2014 wasn't 2014 for just 2014, but for all time. That's true in the abstract, but it helps drive the point home having a running implementation. 00:13:34 -!- adu has quit (Quit: adu). 00:29:27 -!- fizzie` has joined. 00:29:28 -!- fizzie` has quit (Changing host). 00:29:28 -!- fizzie` has joined. 00:32:07 -!- shikhin_ has joined. 00:34:53 -!- shikhin has quit (Ping timeout: 240 seconds). 00:36:00 -!- fungot has quit (*.net *.split). 00:36:00 -!- fizzie has quit (*.net *.split). 00:36:00 -!- zemhill_ has quit (*.net *.split). 00:40:31 -!- zzo38 has quit (Remote host closed the connection). 00:50:15 -!- zemhill_ has joined. 00:50:27 -!- weissschloss has quit (Remote host closed the connection). 00:54:10 -!- pikhq has joined. 00:54:11 -!- weissschloss has joined. 00:59:19 -!- big3_brother has joined. 01:02:32 -!- adu has joined. 01:05:32 -!- Solace has joined. 01:23:11 okay, i made my first ever golfing attempt in haskell for Kimariji and needed 139 bytes 01:24:24 132 with less whitespace 01:25:23 What is white space? 01:25:47 -!- boily has joined. 01:26:40 is there something like µ recursion in haskell? 01:27:13 What is μ recursion? 01:27:25 Excuse me, µ recursion. 01:27:28 like, giving a predicate, return the largest possible value that satisfies it 01:27:50 Largest? 01:28:09 i am doing last(0:[x|x<-[1..99],pred x]) now 01:28:33 0.. might solve that leading 0 problem 01:28:56 indeed it does 01:29:20 so last [x|x<-[0..99],pred x] 01:30:22 120 now 01:30:36 i don't think i will shorten it much more with my attempt 01:33:46 oh, 121 on the page 01:33:47 oh well 01:35:19 myname: check for final newlines 01:35:58 vim does not show a second line, so i guess there is none 01:36:30 vim adds a final newline by default 01:36:35 :O 01:36:39 (at least for me) 01:36:52 how do you remove them? 01:36:57 I usually use the form for submission 01:37:16 i have 3 times the word "take" :( 01:37:31 i may reduce it to 2 01:37:33 and I don't remember how to omit the final newline in vim (it was discussed here before, it's possible somehow) 01:37:41 myname: you could use some sed trickery, I think. 01:37:57 not worth it 01:38:56 okay, can i do something like x<-"bar" to get "b", "ba", "bar"? 01:39:01 inits i guess 01:39:58 oh dear, that makes stuff worse 01:40:03 inits, but you need to import Data.List for that, so it's generally not worth it. scanl(flip(:))[][1,2,3] comes close, but generally even that is too long 01:40:34 i would need to replace one usage of take with one of length 01:40:40 doesn't sound that smart 01:41:56 ghci won't let me run that line of yours, what the hell 01:42:13 > scanl(flip(:))[][1,2,3] 01:42:15 [[],[1],[2,1],[3,2,1]] 01:42:34 it should work just like that in ghci, too. 01:42:45 i don't think that would help with this problem 01:42:54 > map reverse.tail.scanl(flip(:))$[][1,2,3] 01:42:54 it doesn't. 01:42:55 Couldn't match type ‘[a0] -> [[a0]]’ with ‘[[a]]’ 01:42:55 Expected type: [a0] -> [[a]] 01:42:55 Actual type: [a0] -> [a0] -> [[a0]]Couldn't match expected type ‘[t1] -> [... 01:43:02 meh. 01:43:14 > map reverse.tail.scanl(flip(:))[]$[1,2,3] 01:43:16 [[1],[1,2],[1,2,3]] 01:43:21 scanl/scanr do come in useful from time to time, so it's good to keep in mind that they're in the prelude. 01:44:33 myname: one can learn a lot of tricks by looking at previous entries, but usually the main trick is to come up with a good algorithm. 01:44:47 yeah 01:45:43 what i do now is building a list of numbers where the prefix is NOT identifying and adding one 01:45:47 (from previous entries you can learn tricks like defining custom infix operators (often better than alphanumeric names for function definitions), guards, pattern guards...) 01:45:57 but checking if it is identifying takes quite some space 01:46:23 -!- Phantom_Hoover has joined. 01:46:55 why the negation, why don't you take the minimum of those lengths that *are* identifying? 01:47:17 (also my algorithm is completely different, but that's all I intend to say about it) 01:47:21 i could do that 01:47:39 but i don't think it'll be much shorter 01:47:54 i waste 42 bytes to check if a prefix is identifying 01:48:59 I'd expect this to be good for a couple of characters, 3 to 5 perhaps. 01:49:00 it is 3 bytes shorter with that 01:49:43 (mostly because it's saving a +1) 01:49:48 yeah 01:50:05 but i need a == instead of a < somewhere else now 01:50:18 time to hoogle 01:51:44 when golfing haskell, are you allowed to use the fancy unicode operators? if so, do they count as single chars? 01:52:00 heh. my big Haskell golfing source file (I keep all the programs in a single file) has the output of :browse Prelude at the end 01:52:05 what fancy unicode operators? 01:52:13 boily: anagol counts bytes 01:52:39 besides {-# LANGUAGE UnicodeSyntax #-} is just too long 01:52:50 (even after omitting the two superfluous spaces) 01:53:45 int-e: noooooooooo :( 01:54:05 myname: λ, * and similar. 01:54:17 what the hell do they do 01:54:21 (not sure about * though, but it'd be typographically feng shui.) 01:54:48 myname: the first is lambda, the other is something that I don't think I have ever seen... 01:55:13 (too lazy to try to type the triple-bar-equal-sign. that one I know is actually used.) 01:55:16 boily: well, does it behave different than \? 01:55:17 :k Int 01:55:18 * 01:55:39 myname: absolutely not. it is purely graphical. 01:55:50 lol 01:56:18 boily: this may come as a surprise to you, but generally speaking, golf code is NOT PRETTY 01:56:18 in fact, there's some vim madness that you can use to change the way operators are displayed in your source files, but keep the underlying ascii intact. 01:56:39 int-e: OKAY. 01:56:58 * boily wants to prettify his golf 01:57:12 Actually, some people prefer to not use λ because it is a Greek letter, not a symbol. 01:59:04 -!- hjulle has joined. 01:59:27 i wish there were some kind of any2 02:00:03 any2? 02:00:43 check if there are at least 2 values that satisfy a property 02:01:57 -!- big3_brother has quit (Quit: lsd rules!). 02:01:57 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 02:02:30 boily: have you seen the "beautiful" indentation here? http://golf.shinh.org/reveal.rb?Prime+Substrings/henkma%28oerjan%29_1415625927&hs 02:03:34 is there any reason not to interact with lines/unlines? 02:03:52 `2014 test 02:03:52 No output. 02:04:04 i can hardly believe getLine and putStrLn are that much shorter 02:04:45 myname: it depends, there is no general rule for that 02:04:51 okay 02:05:08 i am however curious about that brainfuck solution 02:05:14 since here, the whole input has to be read before anything can be processed, I believe 'interact' will be superior. 02:05:35 int-e: ... eghbhghhhghh... 02:05:47 boily: what's the problem? 02:05:53 looks perfectly fine for me 02:05:54 it's... disquieting. 02:05:56 m@main deserves an award 02:06:15 i do think it's quite normal to do this 02:07:04 That indentation is a ghc extension, though 02:08:48 myname: I expect the brainfuck is a variation on this idea: http://golf.shinh.org/reveal.rb?Text+Compression/nuko%28cheat%29_1201178750&bf ... the interpreter puts the program code after the data area, so it's possible to skip over the data and use verbatim strings from the program itself 02:08:53 too bad i have to access the whole input in my check, i have a seperate function just to give it a name 02:09:20 boily: ghc is the only haskell there is on anagol ;-) 02:10:16 oh 02:10:30 oh I got the direction wrong. 02:10:59 i am doing something like "let f i=do something with i in interact f" now and i am a bit unhappy about it 02:11:04 (since it's obviosuly moving left) 02:11:10 but i can't see how to avoid it at the moment 02:11:22 myname: define a global id 02:11:33 ? 02:11:46 main=interact f;f i=do something with i 02:11:51 ah 02:11:56 (or do it on two lkilines) 02:11:59 ouch 02:12:01 on two lines 02:12:42 that's indeed 6 bytes shorter 02:13:35 'let' and 'where' are hardly ever worthwhile 02:13:44 but there are exceptions. 02:13:54 if i could somewhere get rid of naming it directly, it'd be pretty nice 02:14:29 main=interact(\i->do something with i) is worth a try sometimes. 02:15:03 also, point-free code, but there's no S combinator (or anything comparable that can duplicate an argument) in the Prelude 02:15:23 too bad 02:15:49 (\i-> works but has exactly the same length 02:16:01 oh, no 02:16:07 1 byte shorter 02:16:07 > ap (+) (2*) 1 2 -- this "ap-tly" named one is in Control.Monad 02:16:08 Could not deduce (GHC.Num.Num (a0 -> t)) 02:16:08 arising from the ambiguity check for ‘e_1212’ 02:16:08 from the context (GHC.Num.Num (a -> t), GHC.Num.Num a) 02:16:18 > ap (+) (2*) 1 02:16:20 3 02:16:22 stupid me. 02:16:38 myname: are you using 'lines' twice? 02:16:53 no 02:17:54 don't see why i should do that 02:18:56 just interesting because I originally started out with main=interact$unlines.f.lines 02:19:07 i did, too 02:19:21 well, i do still 02:19:32 but why should i line there twice? 02:20:53 never mind. I'm just surprised that the \i-> helped you rather than being neutral 02:21:34 i'm down to 102, it's getting hard 02:22:38 "on" is not in prelude, is it? 02:22:45 nope 02:22:49 too bad 02:23:13 i really dislike my check 02:23:42 > let f a b c|t<-take a=t b==t c in f 3 "abcd" "abcef" 02:23:43 True 02:23:56 wait wait wait 02:24:08 what? 02:24:12 behold: pattern guard abuse 02:24:25 i don't even 02:24:36 what? 02:24:46 I'm with myname here. what the fungot is going on here. 02:24:54 FireFly: FUNGOOOOOOOOOOOOOOOOT! 02:25:00 s/FireFly/fizzie/ 02:25:31 > let f a | Just _ <- guard (a==5) = 4 | 1 > 0 = a in (f 3, f 5) 02:25:33 (3,4) 02:25:57 what the hell does take do with 3 parameters? 02:25:58 just like that, but with a more boring pattern (`t`) 02:26:00 ah 02:26:01 aaaaah 02:26:18 @quote view.pattern 02:26:18 benmachine says: let (\x -> case x of (\x -> x -> x) -> x -> x) = 0 in x / best view pattern evar 02:26:19 woah 02:26:25 that is crazy stuff 02:26:45 so you rename "take a" to t 02:26:46 But view patterns are not in Haskell 2010. Pattern guards are. 02:28:11 is it possible to do something like this in a list comprehension? 02:28:54 well, x<-[foo] and let x=foo happen to be the same length 02:29:13 -!- shikhin_ has quit (Ping timeout: 244 seconds). 02:29:17 err. wait, what am I saying 02:29:34 the former saves one character. 02:30:16 > let x|x<-x=x|x=x in x 02:30:19 mueval-core: Time limit exceeded 02:31:40 well, it actually makes my code longer 02:31:54 oh no 02:32:12 99 02:32:24 that should be enough for now 02:32:58 dream up other algorithms 02:33:31 i am quite happy with it as is for my first ever golfing attempt in haskel 02:33:52 i discussed the problem aside from golfing and people suggested a trie 02:33:55 i like that idea 02:34:08 but it may be incredibly long to implement 02:37:31 right. tries or suffix arrays should give good performance 02:40:11 is there something like length$filter...? i am using sum[1| right now 02:40:49 that's good 02:41:39 (I recall discovering that trick; it felt good.) 02:42:50 sum[1|x] is also shorter than fromEnum x (conversions from tests to 0 or 1 is one of the most annoying problems in Haskell golfing, I've found; I've spent a lot of time on trying to rewrite code so that this won't be necessary) 02:43:18 -!- SopaXorzTaker has joined. 02:43:19 -!- SopaXorzTaker has quit (Changing host). 02:43:19 -!- SopaXorzTaker has joined. 02:45:01 > ([1|False],[1|True]) 02:45:03 ([],[1]) 02:45:40 > [()|] 02:45:42 :1:5: parse error on input ‘]’ 02:46:13 Jafet: I would use that in production code without blushing (except with spaces, [1 | test]) 02:47:04 Booleans in production code? Shocking 02:47:28 I'm surprised that desugaring comprehensions gives that result 02:47:37 Jafet: I would not use the sum[1 | ...] version though; that should clearly be fromEnum ... 02:47:57 why? 02:48:03 > guard (1==1) :: [()] 02:48:05 [()] 02:48:10 > guard (1==2) :: [()] 02:48:11 too bad this isn't vba, where adding 1 to z gives you aa 02:48:11 [] 02:48:20 i could brute force everything 02:49:30 Jafet: Hmm. I wonder how the Haskell report defines this, whether it's in terms of guard or in terms of filter ... but the former makes more sense to me. 02:50:37 It uses a recursive definition with [x|True] = [x] as the base case 02:52:38 adding 1. to z. gives you aa. AAAAAAAAAAAAAAAAAAAAH! 02:52:45 https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-420003.11 --- oh it's spelled out, but it's essentially the 'guard' version. The trick in translating [x|p] is to use [x|p] = [x|p,True] = if p then [x|True] else [] = if p then [x] else []. 02:53:06 AAAAAAAAAAAAAAAAAAAAG + 1 02:53:25 Jafet: so adding an artificial ,True to avoid the case that Q could be empty in the translation of the 'p' guard. 02:54:17 fun 02:54:35 Hey, we're having *fun* without fungot! 02:54:58 We haven't got fungot fun. 02:55:23 while we are at the haskell topic: would somebody recommend what of all these arrays i need? i want to have a text with O(1) access with lines that don't have the same length 02:55:25 fizzie`: WHARGHARBL! IEUAAAAH! FLBLBLBLBLBL! [INARTICULATE SUPRASEGMENTAL YELLING]! 02:55:34 so it should be an array of arrays of chars 02:55:38 but... what array? 02:55:46 * boily disappears to watch the TV specials... 02:55:56 -!- boily has quit (Quit: APHONIC CHICKEN). 02:56:22 :t array 02:56:23 Ix i => (i, i) -> [(i, e)] -> Array i e 02:56:40 aren't there like 6 different arrays? 02:57:13 yes, there's a matrix of them: unboxed/boxed and pure, for IO, and for ST 02:57:43 ST being what? 02:58:04 Since the lines will be some boxed type (ByteString or Text?), I think you'll be using a pure, boxed array, that's Array 02:58:33 myname: software transactional memory 02:58:33 Control.Monad.ST - the "state thread" monad which allows pure computations that work with (think: temporary) arrays. 02:58:43 oh wait, ST, not STM 02:58:44 my bad 02:58:52 well, since i want to access each character i most likely want something like Array Int (Array Int Char) 02:59:20 okay 02:59:46 should still be linear time to build it up 02:59:51 that's fine 02:59:54 myname: or Array Int (UArray Int Char) -- but seriously I'd store the lines as either ByteStrings or as Text. 03:00:12 int-e: i need O(1) access to every single char 03:00:18 (UArray is the unboxed, pure array; it's much more compact than the boxed one) 03:00:26 ByteString will give you that 03:00:31 compact being what? 03:00:56 oh, i should read about bytestring then 03:01:17 but it makes sense 03:01:35 i guess ByteString is similar to what C thinks is a string 03:02:31 Array Int Char will store a pointer per character, which points to a Char value. UArray Int Char will be a flat array of - hmm - wide characters? 03:03:03 so UArray Int Char should basically a ByteString? 03:03:12 but a bit uglier 03:03:46 An array of Word32s 03:04:32 it is surprisingly simple 03:05:05 i think i overestimated them 03:07:03 myname: nah, the UArray Int Char stores (32 bit, I checked) characters, ideally unicode code points; ByteString stores bytes, so it's closer to the C's char*. 03:07:47 okay 03:08:25 there are no ready to use function to make [[Char]] into Array Int ByteString i guess 03:08:43 should be pretty easy, though 03:10:23 Actually, since Char is boxed I think it is 16 bytes on amd64 03:10:37 -!- Phantom_Hoover has quit (Remote host closed the connection). 03:11:56 (And String uses 40 bytes per character.) 03:13:00 what 03:13:44 (The haskellwiki mentions a Char pool; presumably ASCII Chars only use 8 bytes on average.) 03:14:33 Idris functions are anti-parametric unless exported as abstract 03:16:44 how come i need (i, i) to build an array? 03:17:18 isn't it usually directly dependent of the list? 03:17:48 Scanning the list to find its size is a bad idea. 03:17:56 okay 03:18:50 (Your computer may not have enough memory to force a list spine, even if its contents would fit into a UArray.) 03:26:34 Jafet: the Char pool (is that a misspelled car pool?) covers latin1, hmm. (it goes up to 255.) 03:27:07 or simply, chars-as-bytes. 03:37:44 ah I may have reproduced oerjan's 90 character version. 03:39:01 -!- callforjudgement has joined. 03:39:54 [wiki] [[Special:Log/move]] move * Notjohnconway * moved [[CA-1]] to [[CA (programming language)]]: set of languages 03:40:26 is it interesting? 03:40:37 -!- ais523 has quit (Ping timeout: 240 seconds). 03:42:01 myname: If I'm right then this snippet offers food for thought: map take[1..] 03:42:28 oh 03:42:40 that-s neat 03:44:14 :t take 03:44:15 Int -> [a] -> [a] 04:01:41 (that's good for 88 characters in my attempt) 04:07:53 -!- GeekDude has joined. 04:07:54 95 now 04:11:29 cheers 04:20:12 -!- Solace has quit (Quit: Connection closed for inactivity). 04:29:58 93 04:46:59 -!- nys has quit (Quit: quit). 05:00:54 Happy new years! 05:01:28 happy new year! 05:02:07 And it's still the year of the horse. 05:04:16 Happy New Year, anyone in my timezone! 05:07:03 Yay, 1/1460 of the year is already past. 05:13:43 int-e: lol 05:30:22 -!- coppro has quit (Ping timeout: 240 seconds). 05:35:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 05:36:39 -!- GeekDude has joined. 05:42:22 -!- coppro has joined. 05:49:09 -!- oerjan has joined. 05:50:00 * oerjan changes a 4 to a 5 in the log url 05:50:12 happy new year! 05:53:24 Do the two kinds of vararg systems have names? The system where the caller gives a number of arguments that the function has to accept (e.g. most Lisps) vs where the function decides, based on arguments or other things how many arguments to take (e.g. C and Idris)? 06:03:09 -!- zzo38 has joined. 06:04:05 -!- dts|pokeball has joined. 06:05:15 Why doesn't DOSBox have a "UNMOUNT" command? 06:05:56 this is stupid. i am trying to find the english original for http://heltnormalt.no/img/tommytigern/2014/12/31.jpg but neither tin-eye nor google manage it. you'd think it was a simple thing to achieve... 06:06:33 (tin-eye only give the same page, while google only gives everything else on the same page.) 06:06:53 (which are of course, entirely different comics.) 06:09:54 -!- MoALTz__ has joined. 06:12:43 -!- MoALTz_ has quit (Ping timeout: 255 seconds). 06:14:19 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 06:14:28 zzo38: why not? it also has a mount command... 06:14:44 zzo38: sorry 06:15:01 zzo38: missed the negation. I guess the answer is that you can just restart dosbox. 06:15:45 text searches like "calvin and hobbes playing cards" don't find it either :( 06:17:58 applying extra quotes doesn't help 06:19:04 http://www.gocomics.com/calvinandhobbes/1994/01/01 - that was easy. 06:19:28 oerjan: note the year (between first and second panel) and the date (next to the signature in the last panel) 06:19:35 yay! but HOW? 06:19:46 * oerjan already tried searching on that site... 06:19:51 "read between the lines" 06:20:13 ah. 06:23:27 but yeah, a calvin&hobbes text search would be nice. too bad that (probably illegal) transmogrifier site is (long) dead. 06:36:06 int-e: I don't know what that transmogrifier site is, but I once made a local copy of a site that did C&H text search. 06:37:54 http://www.transmogrifier.org/no_more_ch.html?ch/comics/list.cgi <-- this one 06:38:11 It has a .js file with a transcription of every strip, I think. 06:38:21 Nope, different site. 06:40:03 whoa, I forgot I had this. 06:43:15 oerjan: should have tole me yesterday 06:43:24 i gave my father the complete c&h collection for christmas 06:44:54 I wonder how copyright should apply to an index. 06:45:46 keywords may be fine; transcripts are clearly subject to copyright law. 06:46:00 I bet Google knows about that. 06:50:22 hmm, transcripts may be a transformative use (under US law)... interesting question. 06:50:51 Note: I'm speculating. 07:10:06 argh. who but GG makes paper doll cliffhangers 07:10:32 Yeah, I was going to complain about that too. 07:11:13 "ne'er do wells who write this electro-rag" - indeed. 07:11:38 err. I can't copy correctly. 07:11:41 "ne'er do well hacks who write this electro-rag" - indeed. 07:12:11 oh end of a volume? so it's actually the entirely volume that ends on a cliffhanger. 07:12:24 *-ly 07:12:44 grammar, where dideth you went 07:13:12 I hate being 30 seconds off-phase wrt. to oerjan. 07:13:27 fancy 07:13:33 (well, at least if I'm 30 seconds behind) 07:13:49 being 30 seconds ahead feels kinda nice. 07:13:50 technically i cheated by not reading linearly 07:20:08 meh, it's a new year and I still haven't figured out how henkma did 'identity matrix' (and some other open-ended problems where I haven't submitted solutions yet because they'd score less than 10k) 07:21:09 (otoh, henkma hasn't caught up on http://golf.shinh.org/p.rb?kM4_ ) 07:22:04 (almost everybody is totally cheating on that one.) 07:23:20 that seems like one it would be silly _not_ to cheat on 07:25:43 int-e: I know you can just restart DOSBox, but I hope to have UNMOUNT command so that you can reassign a drive letter without having to restart DOSBox!! 07:27:50 zzo38: actually, mount -u does just what you want 07:28:51 (dosbox 0.74) 07:29:39 O, OK, but it doesn't seems to have that in the built-in documentation 07:30:15 same here. dosbox(1) documents it though. 07:33:35 Is it possible for the mount command to specify whether or not programs on a mounted drive are allowed to access special DOSBox functions such as mounting a drive? 07:36:14 config -securemode may be of interest, but that's a one-way street. 07:37:34 I don't see how dosbox would distinguish between programs loaded from one drive or another. 07:38:09 It displays the name of the program at the top, so probably it can know. 07:42:44 int-e: it seems to me like embedding the output won't get anywhere near 39 or 40, you need something like main=do n<-readLn;print$...random cleverly searched for math formula here... 07:43:01 I also believe DOSBox ought to include its own versions of DEBUG and MODE commands. Other than that, the existing commands are probably fine. 07:43:38 and henkma just hasn't searched as cleverly as you 07:44:56 oerjan: yeah I think that's a fair summary 07:45:24 oerjan: I suspect that henkma does everything by hand. 07:48:29 oerjan: oh http://golf.shinh.org/p.rb?Dancing+Kids is another annoying one. 07:48:50 (I have a 101 character solution...) 07:49:14 actually, two variations of that. 07:51:33 -!- rade has quit (Quit: Leaving). 07:52:44 -!- shikhin has joined. 08:01:05 never mind. 08:01:56 -!- DrMcHood has joined. 08:03:47 Have studied Ebonics for many decades, have dived into programming the past 2 years. Any thoughts on a convergence? 08:03:52 (Now it's just a can't-believe-I-missed-that-the-last-time-I-worked-on-this nuisance.) 08:04:57 DrMcHood: Sorry, I don't know. (That doesn't imply everyone else also doesn't know.) 08:05:20 -!- zzo38 has quit (Remote host closed the connection). 08:08:55 keep it(100):[tree.fitty.4°[ice cold*2^chains]] 08:14:09 -!- DrMcHood has quit (Quit: Page closed). 08:16:32 how do I set an environment variable for both X and login sessions? I thought that was what .profile was for but it does not seem to be working 08:19:33 streaming at http://twitch.tv/coppro 08:31:40 `2014 this is going to become the new o 08:31:40 No output. 08:34:03 coppro: I think that has become impossible to answer; it depends on your X11 login and session managers. 08:34:28 :( 08:34:48 `cat bin/2014 08:34:49 ​#!/bin/sh \ if [ $(date +%Y) = "2014" ] \ then echo "Hello, world!" \ fi 08:34:52 hahaha 08:39:32 coppro: some possible suggestions can be found here ... https://superuser.com/questions/19044/how-do-i-set-an-environmental-variable-for-a-gnome-session 09:11:36 * oerjan notes that the last `2014 hello world appeared on the january 1 log page. 09:12:12 `2014 09:12:12 No output. 09:12:14 -!- adu has quit (Quit: adu). 09:14:33 int-e: thanks 09:40:27 -!- fizzie` has changed nick to fizzie. 09:41:58 -!- fungot has joined. 09:43:13 and I don't remember how to omit the final newline in vim (it was discussed here before, it's possible somehow) <-- something like :set binary noeol 09:43:32 @time fizzie 09:43:33 Local time for fizzie is Thu Jan 1 11:43:32 2015 09:48:03 (also my algorithm is completely different, but that's all I intend to say about it) <-- I COULD GUESS THAT 09:48:25 really! 09:48:34 you're SO smart 09:48:44 YEP 09:51:32 i suspect myname has converged towards the algorithm i'm using, but is missing a trick or too 09:51:39 but that doesn't help us beat you 09:51:43 *two 09:51:57 did I guess that snippet correctly? 09:52:07 wat 09:52:17 i haven't got to that in the log if it's there 09:52:30 "snippet" should be in the log? 09:53:26 i have no map take 09:53:47 interesting :) 09:54:55 oh well. 2 down, 3 to go ... identity matrix, I'll get you yet... 09:56:02 GOOD, GOOD 09:56:34 i have plenty of take, though, modulo that they're so many i defined an operator 09:57:36 hm... 09:58:41 hmm. if I make it an operator in my 88 solution it gets larger :) 10:04:16 I tried map take and did it in one take. 10:05:54 > (\l->do x<-l;[p x|p<-map take[1..],[x]==[y|y<-l,p x==p y]]!!0++"\n") ["abc","acd","bcd","abd"] 10:05:56 "abc\nac\nb\nabd\n" 10:06:32 AAAAAAAAAAAAAAAAAAAAAAAA 10:09:15 Jafet: fancy, mine looks a bit different but has the same length. 10:13:30 Jafet: i had to either submit a version of that or ban you for spoiling so i chose the former hth 10:14:17 int-e: did you use and[p x/=p y|y<-l,x/=y] ? 10:14:34 Does it change anything, as you are not in first place? 10:14:45 Jafet: slightly increased score? 10:14:49 oerjan: no 10:15:31 That is too long 10:15:34 oerjan: that's one character longer, hth. 10:15:40 it is? 10:16:21 counted an extra ending bracket, duh 10:16:59 Oh, there is a total score for competitors. The list does not seem to load, though. 10:17:36 It takes a while, at least. 10:18:14 Jafet: try the per-language lists, they're faster 10:21:13 at least i already had the !!0++"\n" part. 10:24:17 `iterate` is tooooooo long. 10:24:17 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: iterate`: not found 10:24:23 HackEgo: sorry! 10:25:24 (that remark is unrelated to Kimariji) 10:29:50 `2014 10:29:51 No output. 10:29:52 :( 10:32:20 -!- MoALTz__ has quit (Quit: Leaving). 10:32:34 -!- MoALTz has joined. 10:35:56 Taneb: THE YEAR IS ALL GONE 10:36:22 :( 10:43:59 Belated happy new year 10:49:09 hippy new hair 10:59:11 -!- SopaXorzTaker has quit (Remote host closed the connection). 11:01:45 -!- SopaXorzTaker has joined. 11:03:00 * int-e laughs maniacally 11:04:08 (I overshot the identity matrix target) 11:14:00 oh no, we have created a monster 11:18:09 -!- callforjudgement has quit (Read error: Connection reset by peer). 11:18:15 -!- scarf has joined. 11:19:23 "we"? 11:21:20 the channel hth 11:21:40 ah, nothing out of the ordinary then 11:21:48 * int-e eyes fungot 11:21:48 int-e: i only went there for a conference. see you 11:22:05 see? his alibi is water-tight. 12:14:58 -!- rade has joined. 12:17:46 -!- Phantom_Hoover has joined. 12:20:01 -!- MoALTz_ has joined. 12:23:23 -!- MoALTz has quit (Ping timeout: 272 seconds). 12:28:45 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 12:30:11 -!- Phantom_Hoover has joined. 12:32:30 -!- shikhin_ has joined. 12:32:37 fungot: Which conference did you go to? 12:32:37 fizzie: i was going to make a byte vector of length 1 12:32:45 Ah, the byte vector conference. 12:33:40 fizzie: you move tomorrow, right? 12:35:28 -!- shikhin has quit (Ping timeout: 244 seconds). 12:37:10 fungot: you're moving! 12:37:11 FireFly: that would make sense to not add an entry into the ascii contest so far ( i'm at 1.31 right now) 12:40:12 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 12:41:12 -!- SopaXorzTaker has joined. 12:41:12 -!- SopaXorzTaker has quit (Changing host). 12:41:12 -!- SopaXorzTaker has joined. 12:54:46 That's an interesting carrot-and-stick. F# closures only work with immutable variables. 12:57:11 J_Arcane: same in Java, I think 12:57:20 basically it's to avoid confusion about scope in closures 12:58:20 i thought it was to ensure that closure could be implemente simply by copying everything in scope 12:58:24 *+s 12:58:57 or everything referred to 12:59:19 How can I prove that if a has a multiplicative inverse mod m then gcd(a, m) = 1? 13:00:29 Taneb: a*r - 1 is divisible by m, which means a*r - 1 and a*r are both divisible by gcd(a,m)... 13:01:55 (r is the inverse) 13:02:57 (um do you need any more hints?) 13:03:29 That is fine, thanks :) 13:06:19 (considering I have an exam in about a week, I decided it's time I ought to do some number theory revision) 13:07:38 okay, dancing kid looked easier than i thought 13:17:45 -!- newsham has joined. 13:17:52 -!- oerjan has quit (Quit: Later). 13:22:04 -!- shikhin_ has changed nick to shikhin. 13:28:08 elliott: Yes. 13:28:14 fizzie: good luck! 13:28:42 fungot: Remember to behave yourself when you're alone here. 13:28:42 fizzie: thanks! dig the papers: they're excellent. you can do these reports in lisp better than perl 13:29:30 ^style 13:29:30 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 14:14:43 fungot: what do you think of London? 14:14:44 FireFly: ( or an analogue), and one blanket k-line... i shouldn't say that; there are districts of new britain where polish is spoken extensively, appears on signs, etc., have a nice one 14:15:06 Lots of Polish in London, eh 14:15:30 -!- sebbu2 has quit (Ping timeout: 244 seconds). 14:15:35 -!- sebbu has joined. 14:16:12 -!- sebbu has quit (Changing host). 14:16:13 -!- sebbu has joined. 14:25:17 > (48^2 - 17^2, 84^2 - 71^2) 14:25:19 (2015,2015) 14:30:26 That's an interesting mathematical property. 14:32:11 FireFly: They do say it's a very multicultural place. 14:33:02 (Also next year 2016 = 54^2-30^2, if you allow 45^2-03^2.) 14:40:08 -!- scarf has quit (Read error: Connection reset by peer). 14:40:15 -!- ais523 has joined. 15:25:40 -!- SopaXorzTaker has quit (Remote host closed the connection). 15:47:00 -!- MoALTz_ has quit (Quit: Leaving). 16:01:36 -!- ais523 has quit (Read error: Connection reset by peer). 16:01:41 -!- callforjudgement has joined. 16:09:48 -!- GeekDude has joined. 16:19:34 -!- zzo38 has joined. 16:27:32 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 16:31:21 -!- boily has joined. 16:31:37 -!- zzo38 has quit (Remote host closed the connection). 16:44:46 -!- callforjudgement has quit (Read error: Connection reset by peer). 16:45:04 -!- callforjudgement has joined. 16:48:58 -!- nys has joined. 16:59:32 -!- dianne_ has changed nick to dianne. 17:20:29 -!- callforjudgement has quit. 17:23:29 -!- GeekDude has joined. 17:25:46 -!- vanila has joined. 17:26:36 `2014 17:26:36 No output. 17:41:33 -!- adu has joined. 17:43:43 Bonandodaannée! 17:44:01 Bonboilyannee 17:44:02 -!- adu has quit (Client Quit). 17:44:22 I'm not comfortable with the apostrophs. 17:44:47 That's probably the french or dutch word for apostrophies. 17:44:52 I can't spell. 17:45:05 It's a catapostrophy 17:45:27 Ha. 17:45:52 Tanebonne année! 17:45:58 :) 17:46:49 AndoDaan: «'» is «apostrophe» hth 17:47:53 It does. Idk, I think I feel like the e is silent. But it's not in English, right? 17:49:36 in English it ends with an /i/, whereas French's is silent. 17:55:31 English does horrible things to loanwords 17:56:41 -!- azthelgur has joined. 17:58:07 -!- azthelgur has quit (Client Quit). 17:58:32 guardian <-> warden 18:12:20 -!- big3_brother has joined. 18:15:27 -!- dianne_ has joined. 18:15:36 -!- dianne has quit (Disconnected by services). 18:15:39 -!- dianne_ has changed nick to dianne. 18:25:39 -!- dianne has quit (Ping timeout: 272 seconds). 18:26:47 -!- dianne has joined. 18:32:54 -!- shikhin_ has joined. 18:36:07 -!- shikhin has quit (Ping timeout: 255 seconds). 18:38:34 -!- adu has joined. 18:38:52 -!- boily has quit (Quit: FAMILIAL CHICKEN). 18:44:53 -!- PinealGlandOptic has quit (Ping timeout: 240 seconds). 18:48:07 -!- shikhin_ has changed nick to shikhin. 18:55:21 -!- big3_brother has quit (Quit: Leaving). 19:02:14 -!- adu has quit (Quit: adu). 19:19:46 -!- dts|pokeball has quit (Ping timeout: 250 seconds). 19:28:53 -!- MoALTz has joined. 19:39:39 -!- drdanmaku has joined. 20:08:17 -!- AndoDaan has quit (Ping timeout: 256 seconds). 20:09:19 `cc #include \nmain(){char a[6][9]; printf("%d\n", (int)sizeof a[0]);} 20:09:20 ​/tmp/a.c: In function ‘main’: \ /tmp/a.c:2:29: warning: missing terminating " character [enabled by default] \ /tmp/a.c:2:1: error: missing terminating " character \ /tmp/a.c:3:1: warning: missing terminating " character [enabled by default] \ /tmp/a.c:3:1: error: missing terminating " character \ /tmp/a.c:3:1: error: expected expression at 20:09:36 `cc #include \nmain(){char a[6][9]; printf("%d\\n", (int)sizeof a[0]);} 20:09:38 9 20:10:05 -!- dts|pokeball has joined. 20:24:46 -!- AndoDaan has joined. 20:33:40 -!- PinealGlandOptic has joined. 20:34:16 fizzie, I have a 140 MB tif pano from my phone here, will scale and upload as jpg shortly 20:34:52 Some seams, and I don't think I got the FOV right (it didn't apparently report it, and I don't have a 360 pano to test with) 20:36:25 Vorpal, I have a Xperia Z2 nowdays, and it has a 20 MP sensor, so the image size is absurd. It is actually a pretty good camera for a phone. 20:36:40 -!- Frooxius has quit (Quit: *bubbles away*). 20:40:45 -!- Frooxius has joined. 20:49:25 @tell fizzie https://www.dropbox.com/s/12bapqf1dphm3nz/vargavidderna_h%C3%B6gmossen.jpg?dl=0 20:49:25 Consider it noted. 20:56:43 !blsq_upditem 20:56:48 !blsq_uptime 20:56:50 hm 20:57:17 -!- blsqbot has joined. 21:18:48 -!- zzo38 has joined. 21:37:22 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 21:46:50 -!- GeekDude has joined. 22:04:43 -!- nisstyre_ has joined. 22:05:46 -!- idris-bot has quit (Ping timeout: 256 seconds). 22:05:46 -!- Melvar has quit (Ping timeout: 256 seconds). 22:05:46 -!- nisstyre has quit (Ping timeout: 256 seconds). 22:07:09 -!- Melvar has joined. 22:33:50 -!- nisstyre_ has quit (Changing host). 22:33:50 -!- nisstyre_ has joined. 22:41:24 Is there card in Magic: the Gathering to change artifacts into lands? 22:46:37 -!- boily has joined. 22:59:04 zzo38: do you want to keep the abilities or the artifacts? or is just overwriting the artifact with a copy of a land ok? 22:59:16 zzo38: I think there was something to turn stuff to lands, but very rare 22:59:24 let me try to look it up 22:59:36 turning permanents to artifacts or enchantments or creatures is much easier 23:00:32 http://magiccards.info/query?q=!song+of+the+dryads 23:01:03 shachaf: ah, nice. it's probaly not the only one because that's a very new card 23:03:20 there are card that animate lands of course, that's much easier 23:04:50 hmm 23:04:55 maybe I'm wrong 23:05:20 maybe there wasn't any older way to turn an artifact to a land while keeping its abilities? 23:05:26 before that Song I mean 23:09:51 strange 23:12:53 I mean keeping the ability of the artifact too 23:13:53 zzo38: I haven't found anything other than Song then 23:14:11 unless of course the artifact has only activated abilities that you can just copy with Kraj 23:15:15 or with Quicksilver Elemental if you prefer 23:21:37 What do those cards are doing? 23:23:05 zzo38: Quicksilver Elemental can borrow all activated abilities from a creature in play, until end of turn. Together with some copying and type changing effects, you can use it to have any permanent borrow all activated abilities of any other permanent. 23:23:46 But that isn't the same as the ability belonging to the original card. 23:24:05 yes, it's not the same 23:25:24 But if the artifact doesn't have abilities other than activated abilities, it might be enough for what you're trying to do, because you can often (but probably not always) copy the rest of the state from the artifact to a land after you've copied the activated abilities. 23:27:17 It does have only activated abilities but that is not good enough. 23:28:16 there's also Volrath's Shapeshifter, I don't really know how that works, so you figure out whether it can help you 23:29:39 hmm no, Volrath's Shapeshifter doesn't help because it can't use text from non-creatures 23:29:50 hmm wait 23:30:01 what if it copies Dryad Arbor? 23:31:13 it probably doesn't help, but you figure out for yourself 23:31:21 zzo38: meanwhile, have you seen Droidikar? 23:32:21 I have not. What does that mean? 23:33:13 zzo38: http://www.darthsanddroids.net/orb/checklist.php Droidikar is a fan-made Magic: the Gathering set presented as a crossword, with the theme of Darths and Droids, a Star Wars parody screencap webcomic. Spoilers: http://tinyurl.com/q3s859n 23:35:14 Do you have a proper URL not "tinyurl"? 23:35:55 zzo38: yes, a moment 23:36:23 spoilers: http://www.irregularwebcomic.net/draakslair/viewtopic.php?t=8270 23:36:33 I truncated it to fit it in a channel topic 23:37:20 if ais returns, we'll have to tell him, I'm quite sure he'll like it 23:59:59 -!- MoALTz_ has joined.