00:04:44 I am not very good at Perl 00:07:43 -!- sebbu has joined. 00:07:43 -!- sebbu has quit (Changing host). 00:07:43 -!- sebbu has joined. 00:09:02 Lymia: If you can do it Perl, then *you* do it Perl. 00:10:19 -!- augur has quit (Remote host closed the connection). 00:10:58 -!- sebbu2 has quit (Ping timeout: 260 seconds). 00:33:24 pikhq, arguably there are a few medicines that taste kind of nice. Generally I found people widely disagree on which ones taste nice 00:33:32 not sure why 00:34:29 personally I hate anything flavoured with mint. Because I hate mint. Really hate that flavour. Which makes it a bit of a problem to find usable toothpaste. 00:40:02 -!- h[a]gb4rd has changed nick to hagb4rd. 01:01:54 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 01:08:42 -!- augur has joined. 01:08:45 -!- augur has quit (Remote host closed the connection). 01:14:37 -!- Maxdamantus has quit (Ping timeout: 276 seconds). 01:21:58 -!- augur has joined. 01:37:41 Lymia: If you can do it Perl, then *you* do it Perl. <-- why not do it in TeX? 01:42:10 -!- copumpkin has joined. 01:44:25 -!- Vorpal has quit (Ping timeout: 248 seconds). 01:50:00 -!- sebbu2 has joined. 01:50:00 -!- sebbu2 has quit (Changing host). 01:50:00 -!- sebbu2 has joined. 01:53:37 -!- sebbu has quit (Ping timeout: 244 seconds). 01:53:46 -!- pikhq_ has joined. 01:55:34 -!- pikhq has quit (Ping timeout: 276 seconds). 02:14:59 -!- elliott_ has joined. 02:15:08 Vorpal: hm i recall seeing Terminated before, although i don't recall if there's a difference with that mueval-core thing 02:15:14 i suspect that terminated is every command 02:15:19 and mueval has its own timeout 02:15:22 but every command can get Terminated 02:15:48 -!- hagb4rd has quit (Ping timeout: 246 seconds). 02:17:26 how rude! 02:29:21 * Sgeo_ seeks out a Homestuck IRC channel 02:29:38 -!- Lymia has quit (Ping timeout: 255 seconds). 02:31:16 -!- lament has joined. 02:44:28 -!- hagb4rd has joined. 02:50:06 -!- pikhq_ has quit (Ping timeout: 246 seconds). 02:50:06 -!- pikhq has joined. 02:50:48 -!- hagb4rd has quit (Ping timeout: 246 seconds). 02:56:23 -!- hagb4rd has joined. 03:05:42 -!- augur has quit (Remote host closed the connection). 03:08:55 Hrm. I did not realise the Harry Potter audiobooks were narrated by Stephen Fry. 03:09:39 -!- wareya has quit (Read error: Connection reset by peer). 03:10:46 -!- wareya has joined. 03:15:16 -!- hagb4rd has quit (Quit: hagb4rd). 03:21:18 -!- sebbu2 has quit (Read error: Connection reset by peer). 03:21:45 -!- sebbu has joined. 03:21:46 -!- sebbu has quit (Changing host). 03:21:46 -!- sebbu has joined. 03:28:06 -!- variable has joined. 03:28:33 -!- variable has left. 03:36:12 Hrm. So, MusicBrainz seems to have changed how it handles multi-disc releases. 03:36:26 I'm not entirely sure how to get it to act in a manner I'd call "sane"... 03:36:26 -!- pingveno has quit (Read error: Operation timed out). 03:37:34 Now, instead of the *slightly* hackish scheme of storing each disc as a seperate but related release, it stores them as a single release. Problem is, it then shares the track numbers over the whole thing. 03:37:41 MSPA fans have made their own IM network 03:37:44 * Sgeo_ faceplants 03:37:52 At least to me, having per-disc track numbers makes sense. 03:38:25 I *could* just tag shit myself, but I'd really rather not have to do that. 03:39:14 -!- pingveno has joined. 03:46:36 -!- wareya has quit (Read error: Operation timed out). 03:49:55 pikhq: You could make a script to retag them given the track number of the start of each disc. 03:53:01 If Picard didn't suck as much... 03:53:05 *sigh* 03:53:21 Huh. It just runs over IRC. 03:53:32 irc.mindfang.org #pesterchm 03:53:35 oops 03:53:37 #pesterchum 03:57:34 pikhq: well try ex falso for the script thing 03:57:40 it's quod libet's python tagging library 04:00:58 oerjan: how was my divisibility thing broken again? I forget 04:01:30 it failed to handle when the recursion never passed 0 or 1 04:01:39 elliott_: Yeah, but dammit I SHOULDN'T HAVE TO. 04:01:55 also when the second argument was 1, it gave the wrong result 04:02:41 oerjan: never passed 0 or one? you mean when it went negative? 04:02:48 yes 04:03:19 oerjan: right, i'm doing peano numbers here so this is a pain 04:03:24 (means I need greater-than) 04:03:28 -!- augur has joined. 04:03:31 mhm 04:04:00 hm wait 04:04:06 no, my Sub will just fail I think 04:04:08 instance (Sub n d n', Divisible n' d r) => Divisible n d r 04:04:12 but actually I guess I need it anyway 04:04:16 to make it definitively False 04:04:20 gross 04:04:29 yeah you want a subtraction that tells you when the result is negative 04:04:33 Y THERE NO VIDEO TAGGER 04:04:59 class Divisible a d r | a d -> r 04:04:59 instance Divisible Z d True 04:04:59 instance Divisible (S Z) d False 04:04:59 instance (Sub n d n', Divisible n' d r) => Divisible n d r 04:04:59 instance (LT n d) => Divisible n d False 04:05:01 that should do it 04:05:03 hmm wait 04:05:09 I need to make sure n in the last one is at least two 04:05:12 right? 04:05:16 otherwise it'll be overlapping 04:06:09 oh right you were doing it with type classes as well 04:06:13 instance (LT (S (S n)) d) => Divisible (S (S n)) d False 04:06:15 that will probably work 04:06:20 oerjan: yeah, type families are too easy 04:07:06 anyway there is no point in having special case for Divisible (S Z) ... 04:07:17 *a 04:07:57 Y'know what the worst thing about the traditional filesystem model? 04:08:05 *No room for fucking metadata*. 04:09:15 Which has gotten to be absolutely essential now that 1TB is cheap. 04:10:11 oerjan: um really? 04:10:11 i think you can derive LT from Sub 04:10:14 oh right 04:10:50 hm or that would give overlapping would it 04:11:23 probably 04:11:45 elliott_: the case of hitting 1 is not more special than hitting 2, only 0 is different. and both fail for some divisors. 04:14:09 right 04:16:41 Overlapping instances for Divisible 04:16:41 (S (S Z)) (S (S (S (S Z)))) False 04:16:41 arising from an expression type signature 04:16:41 Matching instances: 04:16:41 instance (Sub n d n', Divisible n' d r) => Divisible n d r 04:16:41 -- Defined at /home/elliott/Code/fizzbuzz/fizzbuzz.hs:33:10-58 04:16:43 instance LT (S n) d => Divisible (S n) d False 04:16:47 -- Defined at /home/elliott/Code/fizzbuzz/fizzbuzz.hs:34:10-48 04:16:49 ugh 04:16:51 yeah i guess i do need to modify sub 04:17:20 hmm 04:17:26 I wonder how?? 04:17:29 do I need type-level Maybe? :) 04:19:26 Overlapping instances for Divisible 04:19:26 (S (S Z)) (S (S (S (S Z)))) False 04:19:26 not again 04:19:38 ugh 04:31:03 -!- wareya has joined. 04:35:04 elliott_: you _are_ aware of the rule that ghc doesn't look at the context, only the part after => when deciding which instance to use and whether there is overlap, right? 04:35:13 oerjan: but i have functional dependencies... 04:35:21 shouldn't they fix that :( 04:35:41 afaik, no. 04:36:35 lame 04:36:40 so i guess i have to use type families 04:36:42 which are basically cheating 04:37:23 elliott_: go learn real category theory obv 04:38:19 coppro: what has this got to do with category theory 04:38:24 (the answer is nothing) 04:39:51 an answer which is obviously false 04:40:04 (_everything_ has got something to do with category theory) 04:40:29 (not necessarily something you want to think about, though) 04:41:08 oerjan: well yes :) 04:41:20 oerjan: but talking about everything is the same thing as talking about nothing 04:41:31 touché 04:45:07 -!- hagb4rd has joined. 04:45:47 oerjan: seems like i might have to bite the bullet and use type families 04:45:48 L A M E 04:48:14 keep it in the family 04:50:51 oerjan: totally 04:50:55 oerjan: i am sad because of this 04:50:56 it makes it too easy 04:51:46 well multiparameter typeclasses _are_ supposed to be TC 04:52:18 oerjan: are they? 04:52:22 then why is this not working 04:52:24 i mean 04:52:28 i know theres that interpreter 04:52:30 but i don't want to /greenspun/ this 04:52:32 NEEDS MORE CLEVAR 04:52:42 oerjan: I guess if I can write a directly recursive Divisible algorithm 04:52:48 that doesn't use subtraction 04:52:48 somehow 04:53:27 what about that type maybe btw 04:53:48 http://esolangs.org/w/index.php?title=Turning_tarpit&curid=3781&diff=23114&oldid=23070 04:53:48 neat 04:53:50 oerjan: i made it 04:54:23 oerjan: http://sprunge.us/YBbd 04:54:26 oh and 04:54:27 {-# LANGUAGE MultiParamTypeClasses, 04:54:27 FunctionalDependencies, 04:54:27 FlexibleInstances, UndecidableInstances #-} 04:54:29 this fails: 04:54:37 *Main> undefined :: (Divisible (S (S Z)) (S (S (S (S Z)))) r) => r 04:54:40 really no idea at this point 04:57:45 hm yeah that won't work, the parts after => are still overlapping 04:58:27 oh hm that's easy to fix 04:59:00 just change the second one to have => Divisible (S n) d True 04:59:42 (with the context changed appropriately 04:59:43 ) 05:01:03 except i don't recall if you can actually use MPTCs to _calculate_ the types... 05:01:35 oh wait that won't work will it 05:01:48 you _need_ the False case 05:02:24 i don't know enough about how this is supposed to work 05:03:32 oh wait i forgot to see what you said 05:03:38 just change the second one to have => Divisible (S n) d True 05:03:38 (with the context changed appropriately 05:03:38 ) 05:03:40 yeah that does not work 05:03:47 i could do the false case separately 05:03:52 but it says it violates the fundeps anyway 05:03:53 :( 05:03:54 but i suppose you can only branch based on known information 05:03:55 -!- lifthrasiir has quit (Ping timeout: 240 seconds). 05:04:03 instance (Sub n d (Just n'), Divisible n' d True) => Divisible n d True 05:04:04 ----> 05:04:07 Functional dependencies conflict between instance declarations: 05:04:08 instance (Sub n d (Just n'), Divisible n' d True) => 05:04:08 Divisible n d True 05:04:08 -- Defined at /home/elliott/Code/fizzbuzz/fizzbuzz.hs:33:10-71 05:04:08 instance Sub (S n) d Nothing => Divisible (S n) d False 05:04:08 -- Defined at /home/elliott/Code/fizzbuzz/fizzbuzz.hs:34:10-57 05:04:46 ah it probably doesn't look at contexts to decide whether fundeps are satisfied either 05:05:17 so it thinks those two can overlap 05:05:30 -!- lifthrasiir has joined. 05:05:45 since it can substitute n -> S n in the first one to get a violation in the latter 05:06:46 hmm 05:06:49 any way to fix that? :-P 05:07:07 i have a hunch trying to get it to use type classes to infer the last type argument is not how you actually do type level programming with them 05:07:30 i could be wrong about that, but... 05:07:51 I'm going based on http://www.haskell.org/haskellwiki/Type_arithmetic 05:07:56 it's essentially type inference, and i don't think that works at this level 05:08:00 oh hm let me look 05:08:11 it seems to mostly be raw recursive functions 05:08:14 and (complicated) compositions 05:08:21 without combining the two 05:09:06 heh oleg has done decimals 05:09:26 yeah :P 05:09:32 oerjan: I am considering just doing modulo myself 05:09:35 and checking it for ==0 05:10:54 hm i suppose it has to able to deduce result types then 05:11:26 Overlapping instances for Mod (S (S Z)) (S (S (S (S Z)))) (S (S Z)) 05:11:26 arising from an expression type signature 05:11:27 oh come on 05:11:34 instance (Sub a b (Just a'), Mod a' b r) => Mod a b r 05:11:34 -- Defined at /home/elliott/Code/fizzbuzz/fizzbuzz.hs:30:10-53 05:11:34 instance Sub a b Nothing => Mod a b a 05:11:34 -- Defined at /home/elliott/Code/fizzbuzz/fizzbuzz.hs:31:10-39 05:11:34 In the expression: 05:11:38 fffffffff 05:11:40 ok 05:11:42 this Sub thing does not work 05:11:43 at all 05:11:51 with the Nothing/Just 05:13:33 oerjan: i don't know how to make this work at all... 05:13:37 class Mod a b r | a b -> r 05:13:37 instance (Sub a b a', Mod a' b r) => Mod a b r 05:13:37 instance (LT a b) => Mod a b a 05:13:39 not even this works 05:13:58 of course that overlaps 05:14:17 aha 05:14:20 oerjan: I can do 05:14:23 class Mod a b r x | a b -> r 05:14:24 instance (Sub a b a', Mod a' b r x) => Mod a b r True 05:14:24 instance (LT a b) => Mod a b a False 05:14:26 and then if I specify False 05:14:29 the whole thing actually works 05:14:33 i... dunno if that will help though 05:15:34 i think you cannot put True and False there, they have to be introduced by some deduction in the context 05:16:00 basically you can only branch on input, not output, i think 05:18:08 so the instance Divs Z n False is fine, because it is determined entirely by input 05:19:38 but for Divs (S n) d r you need to calculate the result entirely in the context 05:21:08 instance (Sub (S n) d mb, DivHelper mb d r) => Divs (S n) d r 05:21:33 where mb is a type level maybe 05:21:48 * elliott_ reads what you SAYY 05:22:01 oerjan: what would DivHelper be? 05:22:19 something that branches on the maybe which Sub has calculated 05:22:45 what would mb actually be, though? 05:22:46 the maybe sub calculated? 05:22:49 instance DivHelper Nothing d False 05:22:52 yes 05:23:02 oh i see 05:23:41 oerjan: hm and then divhelper recurses into divisible? 05:23:42 okay 05:23:43 instance DivHelper (Just Z) d True 05:23:58 and one more for Just (S n) 05:24:04 right 05:24:05 um are you sure 05:24:07 not 05:24:09 instance (Divisible a d r) => DivHelper (Just a) d r 05:24:09 ? 05:24:15 because Divisible has the Z/d/True case 05:24:16 already 05:24:24 that with a = S n 05:24:31 otherwise you get overlap 05:24:36 um 05:24:37 no you don't 05:24:40 oh hm 05:24:42 class DivHelper m d r | m d -> r 05:24:42 instance DivHelper Nothing d False 05:24:43 instance (Divisible a d r) => DivHelper (Just a) d r 05:24:44 look ma, no overlap 05:24:48 you are right :) 05:24:55 undefined :: (Divisible (S (S Z)) (S (S (S (S Z)))) r) => r 05:24:55 :: False 05:24:55 umm 05:25:02 two is divisible by four right 05:25:20 ...you have an unusual argument order 05:25:26 class Divisible a d r | a d -> r 05:25:26 instance Divisible Z d True 05:25:27 instance (Sub (S n) d m, DivHelper m d r) => Divisible (S n) d r 05:25:27 class DivHelper m d r | m d -> r 05:25:27 instance DivHelper Nothing d False 05:25:27 instance (Divisible a d r) => DivHelper (Just a) d r 05:25:28 and, no. 05:25:31 (Divisible a b) => a|b 05:25:31 oh wait 05:25:33 of course not 05:25:35 durr 05:25:56 undefined :: (Divisible (S (S (S (S Z)))) (S (S Z)) r) => r :: True 05:25:57 awesome 05:26:51 ok now for a loop 05:30:21 * elliott_ wonders if oerjan has guessed what he's writing yet... 05:30:34 hint: three and five 05:30:45 hm... 05:30:52 ah that one 05:31:06 it would be easy with type families but they would make it too easy :) 05:32:35 so the lesson of this i guess is that you cannot program MPTCs like prolog even though it looks like it 05:33:10 (modulo syntax) 05:34:56 One essay in describing TECO coined the acronym "YAFIYGI", meaning "You Asked For It You Got It" and thus being the antitheses of WYSIWYG ("What You See Is What You Get"). (According to Wikipedia) 05:35:26 heh 05:38:26 Functional dependencies conflict between instance declarations: 05:38:27 sdpfosdfjsdpofspf 05:38:47 instance (Divisible n Five True, Divisible n Eight True) => FB n FizzBuzz 05:38:48 instance (Divisible n Five True, Divisible n Eight False) => FB n Fizz 05:38:48 instance (Divisible n Five False, Divisible n Eight True) => FB n Buzz 05:38:49 MORE HELPER TIME 05:40:55 (Divisible n Five d5, FB1 n d5 r) => FB n r 05:41:21 indeed 05:42:29 in the part to the right of =>, any fixed part of the output needs to be determined by the fixed parts of the input, is my hunch 05:42:32 *Main> :t undefined :: (Loop Z (S (S (S (S Z)))) r) => r 05:42:32 undefined :: (Loop Z (S (S (S (S Z)))) r) => r 05:42:32 :: LoopHelper (Just FizzBuzz) Z (S (S (S (S Z)))) (Cons fb r) => 05:42:32 Cons fb r 05:42:32 fail 05:45:22 oh, it didn't actually try to calculate it? 05:45:32 class LoopHelper m n c r | n c -> r 05:45:33 instance (Loop (S n) c r) => LoopHelper Nothing n (S c) r 05:45:33 instance (Loop (S n) c r) => LoopHelper (Just fb) n (S c) (Cons fb r) 05:45:36 I probably just have a mistake here 05:45:54 No instance for (LoopHelper 05:45:54 (Just FizzBuzz) Z (S (S (S (S Z)))) (Cons fb r)) 05:45:57 this seems to be the problem 05:46:08 hmm 05:46:17 class Loop n c r | n c -> r 05:46:17 instance Loop n Z Nil 05:46:17 instance (FB n m, LoopHelper m n (S c) r) => Loop n (S c) r 05:46:22 don't see anything wrong 05:46:35 -!- Rugxulo has joined. 05:47:57 elliott_: um shouldn't it be | m n c -> r ? 05:48:11 ah 05:48:12 of course 05:48:22 *Main> undefined :: (Loop Z (S (S (S (S Z)))) r) => r 05:48:23 :1:1: 05:48:23 No instance for (Show (Cons FizzBuzz Nil)) 05:48:23 not quite... 05:48:32 oh wait 05:48:34 quite 05:48:46 heh 05:48:46 *Main> :t undefined :: (Loop Z Eight r) => r 05:48:47 :1:1: 05:48:47 Context reduction stack overflow; size = 21 05:48:47 Use -fcontext-stack=N to increase stack size to N 05:48:50 "Erm." 05:49:01 fancy 05:49:01 Type families would solve that, right? :P 05:49:11 oerjan: it was followed by a gigantic list of loop helper things 05:49:16 but this is failing on /eight/ :-O 05:49:28 yeah not too good... 05:49:29 *Main> :t undefined :: (Loop Z Eight r) => r 05:49:29 undefined :: (Loop Z Eight r) => r :: Cons FizzBuzz (Cons Fizz Nil) 05:49:31 erm is that backwards... 05:50:01 wait, what? 05:50:03 that's not right is it 05:50:35 indeed not. 05:50:49 hmm... 05:50:53 maybe divisible is broke 05:51:26 wait oops 05:51:30 I did five and eight rather than three and five 05:51:32 maybe i am drunk 05:51:43 Cons (S Z) (Cons (S (S Z)) (Cons Fizz (Cons (S (S (S (S Z)))) (Cons Buzz ... is what i'd expect 05:52:00 ah 05:52:58 *Main> :t undefined :: (Loop Z (S (S (S (S (S Five))))) r) => r 05:52:58 undefined :: (Loop Z (S (S (S (S (S Five))))) r) => r 05:52:58 :: Cons 05:52:58 FizzBuzz (Cons Fizz (Cons Buzz (Cons Fizz (Cons Fizz Nil)))) 05:53:03 elliott_: i guess if it is not using the optimal evaluation order, it might build up a huge amount of unfinished work 05:53:07 oops, it should not include 0 05:53:13 oerjan: yeah 05:53:25 oerjan: just increasing the limit works fine though 05:53:30 *Main> :t undefined :: (Loop (S Z) (S (S (S (S (S Five))))) r) => r 05:53:30 undefined :: (Loop (S Z) (S (S (S (S (S Five))))) r) => r 05:53:30 :: Cons Fizz (Cons Buzz (Cons Fizz (Cons Fizz (Cons Buzz Nil)))) 05:53:31 good 05:53:41 Now I just need to build up one hundred :) 05:53:49 maybe I can use my Sub as an Add 05:53:50 no, that's a shitty idea 05:54:04 elliott_: you are not going to include the numbers not divisible by 3 or 5? 05:54:15 oh right 05:54:18 you have to do that don't you 05:54:18 :( 05:54:24 well afair 05:55:38 Occurs check: cannot construct the infinite type: 05:55:38 r = Cons (Number (S Z)) r 05:55:39 fgopdfgjofgodifjg 05:55:49 heh 05:57:08 class FBHelper n dt df fb | n dt df -> fb 05:57:08 instance FBHelper n True False Fizz 05:57:08 instance FBHelper n False True Buzz 05:57:08 instance FBHelper n True True FizzBuzz 05:57:08 instance FBHelper n False False (Number n) 05:57:10 maybe this won't work out 05:57:37 oh you do it that way 05:57:43 oh 05:57:45 I need an S 05:58:01 excellent, it's working now 05:58:16 MARVELOUS 05:58:23 hmm now how can I use my Sub to do addition 05:58:32 oh 05:58:34 obviously 05:58:44 Illegal polymorphic or qualified type: 05:58:44 forall r. Sub Five r (Just Five) => r 05:58:44 Perhaps you intended to use -XRankNTypes or -XRank2Types 05:58:45 BLUH BLUH 05:59:18 Illegal polymorphic or qualified type: Ten 05:59:19 In an expression type signature: Loop (S Z) Ten r => r 05:59:19 In the expression: undefined :: Loop (S Z) Ten r => r 05:59:22 guess ten has to be a typeclass :D 06:00:01 class Ten x r | x -> r 06:00:01 instance (Sub Five r (Just Five)) => Ten () r 06:00:04 oerjan: observe the lovely grossness 06:00:29 ayeeh 06:01:15 class Twenty x r | x -> r; instance (Sub Ten r (Just Ten)) => Twenty () r 06:01:17 spot the error 06:01:20 hint: Ten is a typeclass too 06:01:33 fancy 06:02:47 *Main> :t undefined :: (Hundred () n, Loop (S Z) n r) => r 06:02:47 undefined :: (Hundred () n, Loop (S Z) n r) => r 06:02:47 :: (Loop (S Z) n2 r, 06:02:47 Sub twenty n (Just twenty), 06:02:47 Sub n eighty (Just n), 06:02:48 Sub Five n1 (Just Five), 06:02:50 Sub n1 twenty (Just n1), 06:02:52 Sub eighty n2 (Just twenty)) => 06:02:54 r 06:02:56 nice. 06:03:07 wait 06:03:08 d'oh 06:03:26 hm wait what 06:03:37 oh 06:03:48 grr 06:03:50 more fundeps conflict 06:05:23 -!- Rugxulo has left. 06:05:41 *Main> :t undefined :: (Hundred () n, Loop (S Z) n r) => r 06:05:41 undefined :: (Hundred () n, Loop (S Z) n r) => r 06:05:41 :: Cons 06:05:41 (Number (S Z)) 06:05:41 (Cons 06:05:42 (Number (S (S Z))) 06:05:46 (Cons Fizz (Cons (Number (S (S (S (S Z))))) (Cons Buzz Nil)))) 06:05:48 That... 06:05:50 No. 06:06:14 hm oh 06:06:15 it seems to think 100 = 5 06:06:16 my add is broken i guess 06:06:27 oh duh 06:06:46 ok now to wait for it to do all the fizzbuzzing 06:06:47 all of it 06:06:54 starting to think that type families would be preferable at this point 06:07:14 chuuuuuuuuurn 06:07:59 oerjan: my computer fans are currently spinning as it tries to work out the difficult combinatorial problem known only as "FizzBuzz" 06:08:08 XD 06:08:48 still not done :D 06:08:56 i think it's building up EVERY SINGLE THUNK 06:08:59 and then evaluating them all at once 06:09:05 because there's no lazy evaluation really 06:09:06 i mean 06:09:07 this thing recurses 06:09:08 before it conses 06:09:13 obviously 06:09:16 since the head has to execute first 06:09:19 context 06:09:20 whatever 06:09:23 and 06:09:23 yeah 06:10:09 oerjan: really tempted to go into #haskell and say "does anyone have any tips for optimising typeclass computation?" 06:10:25 9351 elliott 20 0 1689m 1.6g 15m R 98 44.1 3:39.59 ghc 06:10:28 good use of half my ram 06:12:45 -!- elliott has joined. 06:12:46 -!- elliott_ has quit (Read error: Connection reset by peer). 06:12:59 oerjan: I have made a great achievement today. 06:13:09 I am the first person to ever successfully freeze their computer trying to produce FizzBuzz. 06:13:50 your haskell XP is now 35 millioleg 06:14:00 ok i can produce forty 06:14:25 Anyone ever hit a decioleg? 06:14:39 oleg while a baby 06:14:48 *Aside from Oleg*. 06:14:52 omg i love morrisey! ..i know it's absolutely out of topic but i have to throw you this curveball now 06:14:58 http://www.youtube.com/watch?v=_NcOm1enVFo&feature=BFp&list=WL4A8A5CE20F5AF139&index=17 06:14:59 OOOOOH 06:15:00 (wouldn't know where to paste it else either :/ ) 06:15:08 punish me 06:15:17 * oerjan swats hagb4rd -----### 06:15:26 Clearly, in order to obtain 1 oleg of Haskell XP, you must hit all the rationals between that and 0 oleg first. 06:15:51 no, that's 1 zeno, i think 06:16:33 Baaah. 06:16:55 Anyways, point is, are there any mortals who have achieved a tenth of Oleghood? 06:17:19 i don't know. 06:17:38 oerjan 06:17:41 i just realised 06:17:47 i need to do decimal conversion :( 06:18:02 fancy 06:18:26 im going to cry 06:18:27 forever 06:19:01 um it's not like you're going to achieve correct output format anyhow... 06:19:43 what? 06:19:43 why not 06:19:46 i'm planning to reify it 06:19:48 at the value level 06:19:55 oh 06:19:58 i'll construct a list of (peano) bytes at the type level 06:19:59 then print it out 06:20:02 just like the C++ deadfish 06:20:04 except peano 06:20:17 im in this for the long haul oerjan 06:20:21 im doing this right 06:23:02 ps oerjan i want you to know that you have a guaranteed ticket to the martian colony 06:23:21 ooh 06:24:30 yeah 06:24:33 you're lucky 06:27:02 and then oerjan went on with his life without even asking what he meant 06:28:18 funny that 06:28:25 Is there a really easy way to do Peano division :P 06:28:53 easier than using subtraction? not that i know of. 06:29:09 i'm not sure what you mean 06:29:33 well i guess i do 06:30:09 it should be pretty similar to that Divs 06:30:17 mm mm oerjan can ih ave some bread 06:30:27 i love bread its great 06:31:11 ____ 06:31:20 /____\ 06:32:19 thats a shitty breazd 06:33:10 :( 06:33:40 sorry 06:37:00 * oerjan throws hardtack at elliott 06:38:18 no no wait i thought of the best thing to do with bread 06:38:20 toast it right 06:38:21 then put bacon on it 06:41:47 and a fried egg 06:45:28 someone on #haskell found fizzbuzz 06:45:38 good job 06:47:51 nice 06:48:02 i just put it up there so i could see it better :D 06:48:06 it was too big for my emacs window 06:48:36 -!- elliott has quit (Quit: Leaving). 06:49:05 You mentioned the cheat in the anagol Deadfish and I figured out how to do that cheat in JavaScript code (I put (cheat) after my name). Maybe there is other cheats? I didn't find any. 06:49:54 i don't know any other big cheats 06:50:39 oh i recall those interpreters i saw didn't bother to handle h, just erroring out on it 06:51:12 which might help a bit 06:51:27 OK. Not bothering to handle h, I don't consider that cheat, since all valid inputs only contain i,d,s,o,h and h is only at the end. 06:51:39 > unwords . catMaybes . map (flip lookup . zip [1,3,5,15] . (id:) . map (show.) ["Fizz","Buzz","FizzBuzz"]) [1..] 06:51:40 Couldn't match expected type `[a 06:51:40 -> Data.Ma... 06:51:41 So, I have already dealt with that in my submissions. 06:51:49 > unwords . catMaybes $ map (flip lookup . zip [1,3,5,15] . (id:) . map (show.) ["Fizz","Buzz","FizzBuzz"]) [1..] 06:51:49 Couldn't match expected type `Data.Maybe.Maybe 06:51:49 ... 06:51:53 eek 06:52:08 :t lookup 06:52:08 forall a b. (Eq a) => a -> [(a, b)] -> Maybe b 06:52:42 (Also, immediately after "h" will always be end of file in all valid inputs. It is not considered cheating, in my opinion, if your program fails to work properly with invalid inputs; it doesn't matter what happen in that case.) 06:52:54 > unwords . catMaybes $ map (flip lookup . zip [1,3,5,15] . (id:) . map (const.show) ["Fizz","Buzz","FizzBuzz"]) [1..] 06:52:55 Couldn't match expected type `Data.Maybe.Maybe 06:52:55 ... 06:53:06 er duh 06:53:23 > unwords . catMaybes $ map (flip lookup . zip [1,3,5,15] . (show:) . map const ["Fizz","Buzz","FizzBuzz"]) [1..] 06:53:24 Couldn't match expected type `Data.Maybe.Maybe 06:53:24 ... 06:55:07 > unwords . catMaybes $ map (join $ flip lookup . zip [1,3,5,15] . (show:) . map const ["Fizz","Buzz","FizzBuzz"]) [1..] 06:55:07 Couldn't match expected type `a -> [a1 -> GHC.Base.String]' 06:55:07 against... 06:55:16 this is not going very well... 06:55:25 My Javascript code exits on "h" due to error, my C code treats "h" the same as "d" and exits at EOF (which is OK since that won't affect output if the input is valid), and my AWK code just ignores "h" (and exits at EOF). 06:55:43 oh 06:56:36 > unwords $ map (join $ fromJust . flip lookup . zip [1,3,5,15] . (show:) . map const ["Fizz","Buzz","FizzBuzz"]) [1..] 06:56:37 Couldn't match expected type `Data.Maybe.Maybe (a1 -> m a)' 06:56:37 against... 06:56:41 So, it doesn't matter what your program does with "h" as long as not causing extra output, due to range of valid input (I think the rules of Perl golf specify a rule similar to this one). 06:57:11 yeah 06:59:12 > unwords $ map (join $ fromJust . flip lookup zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"]) [1..] 06:59:13 Couldn't match expected type `a1 -> Data.Maybe.Maybe a' 06:59:13 against inf... 06:59:45 I wonder if the C codes (there are four shorter than mine) use the cheat checking 256 or any other cheats? I suppose, I can learn that in 16 hours. 06:59:57 > unwords $ map (join $ fromJust . flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"]) [1..] 06:59:58 Couldn't match expected type `Data.Maybe.Maybe (a1 -> a)' 06:59:58 against i... 07:00:45 My AWK code for Deadfish uses exponentiation, but not ^2 did you know that?! 07:03:09 > unwords $ map (fromJust . join $ flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"]) [1..] 07:03:09 huh 07:03:09 > "er" 07:03:09 Couldn't match expected type `Data.Maybe.Maybe 07:03:09 ... 07:03:09 no 07:03:10 "er" 07:04:04 > unwords $ map (fromJust . join . (flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"])) [1..] 07:04:05 Couldn't match expected type `Data.Maybe.Maybe GHC.Base.String' 07:04:05 aga... 07:05:35 > unwords $ map (join $ fromJust . (flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"])) [1..] 07:05:39 mueval-core: Time limit exceeded 07:05:43 -!- pikhq has quit (Ping timeout: 260 seconds). 07:05:44 -!- pikhq_ has joined. 07:06:09 looks busy :( 07:06:14 I wrote a 147 bytes TeX program that typesets the FizzBuzz output 07:06:23 -!- hagb4rd has changed nick to h[a]gbard. 07:06:29 > unwords $ map (join $ fromJust . (flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"])) [1..] 07:06:31 "1 *Exception: Maybe.fromJust: Nothing 07:06:38 wat 07:06:45 oh sheesh 07:07:13 (Using the Plain TeX format) 07:07:57 > unwords $ map (join $ fromJust . (flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"]) . gcd 15) [1..] 07:07:58 "1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Bu... 07:08:35 It looks like you make it work now 07:08:39 yeah 07:08:54 But do you know how to make it work shorter? 07:09:19 > unwords . (`map`[1..]) . join $ fromJust . (flip lookup . zip [1,3,5,15] . (show:) $ map const ["Fizz","Buzz","FizzBuzz"]) . gcd 15 07:09:20 "1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Bu... 07:11:18 I think that isn't shorter (but it still seems to works) 07:11:55 This is program in TeX: \let~\advance\time0\day0\loop~\time1~\day1~\mit\ifnum\time=3\time0Fizz\fi\ifnum\fam=5Buzz\rm\fi\ifvmode\the\day\fi\endgraf\ifnum\day<100\repeat\bye 07:12:05 fancy 07:12:30 Can you understand this? 07:12:36 not a chance 07:12:49 Have you ever used TeX? 07:12:58 only latex 07:13:22 Try to do it in LaTeX code golf then, see if you can do it. 07:14:02 -!- cheater__ has quit (Ping timeout: 255 seconds). 07:14:08 i've not used LaTeX as a programming language, only markup 07:14:19 and trivial definitions 07:14:43 Note, it is possible to make my code shorter if it is OK to have error messages. What I have is the shortest one I know of, that does not result in error messages, 07:15:06 mhm 07:16:26 What kind of stuff have you made with it? 07:17:08 math papers 07:20:40 I have made all sorts of stuff with TeX including business cards for FreeGeek. Although I do use it for typesetting mathematics as well, but I have not written many mathematical reports (although TeXnicard includes a few math formulas in the document part of the program). 07:20:59 This is scary. I'm having fun with a crappy fandom IRC client 07:21:03 I managed to get nine business cards on a page 07:21:48 And it required me to write a AWK program to convert the logo from SVG to METAFONT. 07:22:07 Sgeo_: What IRC client is that and what is it scary? 07:22:28 Pesterchum, and because it's a weird niche thing 07:22:36 That I'm having fun with 07:23:09 What kind of features does it have that you are using? 07:24:33 Just discovered a "feature" that lets me force people to see images that come with the client 07:24:43 People are playing around with it, the developer is leaving it in 07:25:13 Sgeo_: Like, how does it work? 07:25:34 Some HTML-like thing internally 07:25:40 Not full HTML though 07:26:44 -!- h[a]gbard has quit (Quit: h[a]gbard). 07:27:05 -!- cheater__ has joined. 07:27:23 I have once, using the IRC client I am currently using, made so other people on Microsoft Comic Chat saw my picture each one to match their own, and when they changed it I changed it too but nobody else could notice that was happening, they thought it was matching their own instead!! 07:36:39 -!- lament has changed nick to lameNOT. 07:53:07 Someone sent a game (the same game in each case) to two game companies. One rejected because they work only with abstract games. The other rejected because they do not work with abstract games. 08:08:33 -!- zzo38 has quit (Remote host closed the connection). 08:38:00 -!- augur has quit (Remote host closed the connection). 08:40:22 -!- augur has joined. 08:56:10 -!- oerjan has quit (Quit: leaving). 08:58:09 -!- FireFly has joined. 08:58:12 -!- augur has quit (Remote host closed the connection). 09:22:20 -!- augur has joined. 09:39:01 -!- Phantom_Hoover has joined. 09:42:29 -!- Vorpal has joined. 09:43:31 hm the last xkcd is actually slightly funny. Not much, but slightly. 09:45:12 Vorpal, have you actually been following Homestuck lately? 09:45:51 Phantom_Hoover, nope. I didn't have time. Plus I have the bookmark of where I left off on the computer where the PSU broke. 09:46:28 Phantom_Hoover, have you read Problem Sleuth yet? 09:46:34 Yes. 09:46:39 Phantom_Hoover, liked it? 09:47:19 Yes. 09:49:26 Vorpal, did you leave off around http://www.mspaintadventures.com/?s=6&p=005643? 09:49:39 Phantom_Hoover, you should try to calibrate the allegiance mesh of this channel. Maybe you could turn me and elliott into friends! 09:50:24 Phantom_Hoover, hm, maybe. There is no Next on that one?? 09:50:28 -!- monqy has quit (Quit: hello). 09:50:47 It's a Flash update; the Next appears when it's over. 09:50:52 I don't have flash on this computer. Oh well 09:51:05 Phantom_Hoover, pressing go back I think I left on on the previous one 10:25:38 in an ext3 fs, a single inode will always be made out of neighbouring blocks, right? or can an inode contain e.g. blocks 1001, 5164, 600067 ? 10:25:53 -!- elliott has joined. 10:32:43 Why doesn't apng work in Chrome? :( 10:33:55 the most practical complaint EVAR 10:36:07 -!- BeholdMyGlory has joined. 10:37:01 Sgeo_, apng? 10:37:25 Precisely. 10:37:42 elliott, presumably it stands for "another portable network graphics"? 10:38:32 (I have to say that the expansion of PNG is slightly silly. PNG can after all be used over other things than networks) 10:40:42 why did lenovo place the headphone connector at the front of the laptop... It is quite annoying when the connector is large. This one for example is about 4 cm including the strain relief. 10:41:01 (2 cm without strain relief) 10:41:26 and that is how much it sticks out in front of the palmrest, so not including the actual plug bit 10:41:48 elliott, any good idea why they would put the headphone connector in such a stupid place? 10:41:59 wizards 10:42:11 elliott, not sorcerers? 10:52:06 -!- azaq23 has joined. 11:06:41 -!- Patashu has joined. 11:18:33 Vorpal, animated png 11:19:55 elliott, I'm actually liking Pesterchum 11:22:54 I'm pretty sure I've viewed animated PNGs before in Chrome 11:23:25 Oh, I must have been mistaken. 11:29:51 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 11:32:54 -!- Phantom_Hoover has joined. 11:45:17 -!- ais523 has joined. 11:45:32 hiais523 11:46:04 hi elliott 11:46:10 hmm, my client actually detected that as a nickping 11:46:18 I think because I have a stalkword on ais523 as well as current nick 11:46:19 wait that wasn't the fun pun i intended it as 11:46:24 his523 11:46:26 but that's just lame 11:46:27 ugh 11:50:53 Vorpal, animated png <--- hm? is that different from .mng? 11:51:35 APNG is more popular, and APNGs are valid PNGs, with the first frame of the APNG being what's shown when rendered as a regular PNG 11:51:35 APNG and MNG are competing formats that do much the same thing 11:51:45 ah 11:51:57 APNG is supported only by Firefox, with the other major browsers mostly doing MNG, but APNG is winning anyway; draw what conclusions you like about that 11:52:10 can either really be said to be winning 11:52:12 ais523, interesting. Does firefox handle mng? 11:52:16 i don't get the impression anyone uses either :) 11:52:28 elliott, I seen mng... once I think 11:52:33 never seen apng 11:52:35 Wait, there are browserss that support mng? 11:52:48 Vorpal: not any more, it used to but they disabled the code, for fear of security holes or whatever 11:52:54 Sgeo_: I think Chrome does, and possibly Opera too 11:52:57 ais523, hm 11:53:11 and also quite possibly the WebKit-based ones 11:53:16 the other WebKit-based ones, I mean 11:54:25 No support in Chrome/WebKit for MNG, says 'pedia. 11:55:26 -!- Lymia has joined. 11:55:34 No native browser support at all, actually, according to their handy table. 11:56:32 Why are browsers so reluctant to implement apng/mng again 11:56:50 I would have thought they'd jump on the opportunity to wean the internet off ultra large animated gifs 11:56:56 Apparently Chrome wants to keep relying on OS libraries, from what I've read 11:57:08 Well really there needs to be an image format optimized for animations, like a webm type thing 11:57:20 except not shit like webm is presumabl 11:57:20 y 11:57:38 really though, all animations are are small videos 11:57:44 Lack of use was the cited reason for dropping the native MNG support; and I guess lack of browser support is one of the main reasons dor the lack of usage. 11:57:46 But animated gifs are highly uncompressed 11:57:49 all you need is a lossless video format 11:57:52 No prediction encoding or anything 11:58:31 apng: the best thing since gif porn? 11:59:22 MNG at least doesn't get any advantage of the cross-frame correlation, the frames are all individually encoded PNG or JNG images. 11:59:38 fizzie: Well that sucks. 11:59:40 Apparently Chrome wants to keep relying on OS libraries, from what I've read <-- so what do they use for png? 11:59:58 libpng? 12:00:30 elliott, I doubt that is an OS library on windows? 12:00:32 seriously though: i find it distracting that there are no uncompressed movie formats floating around 12:00:42 you'd think movie freaks would appreciate crisp realism 12:00:42 Or maybe it does that thing where the successive animation frames can be deltas, I don't know. 12:00:42 Vorpal, elliott's right I think, so I'm wrong 12:00:58 * cheater__ furiously browses his flac directory 12:01:23 there are plenty such formats. 12:01:24 cheater__: I've seen zipped-directory-of-pngs as a lossless movie format 12:01:26 for instance, h.twosixfour. 12:01:35 with xtwosixfour you just set quantisation to 0 12:01:38 ais523, yeah i guess for renders 12:01:38 pikhq_ did it recently. 12:01:42 it compresses well. 12:01:45 elliott: technically, you also need to scale up the image by a factor of 2 12:01:49 ais523, but i mean "real movies", as in hollywood movies 12:01:57 or alternative cinema movies 12:02:02 ais523: with xtwosixfour, as in, this is how you do it with this encoder 12:02:11 Patashu, afaik MNG does some kind of prediction between frames. 12:02:11 things you'd actually be likely to watch casually. 12:02:13 as h.264 always averages color across 2x2 blocks 12:02:15 cheater__: films are not even edited losslessly. 12:02:24 so you need to set quantisation to 0, /and/ upscale by a factor of 2 12:02:25 cheater__: I've seen zipped-directory-of-pngs as a lossless movie format <-- uh... that gains you nothing 12:02:31 or only marginally 12:02:32 As far as I can tell APNG also just includes the frame data chunks as-is. 12:02:32 elliott, i think they're not even recorded losslessly 12:02:36 (the format used for film editing is a /near/-lossless one.) 12:02:42 Vorpal: it gains quite a bit if two of the frames happen to be identical 12:02:55 Vorpal: it gets you inter-frame compression 12:02:57 which is important 12:03:01 hm true 12:03:01 although i suppose png's compression might mess with it 12:03:04 i believe they're edited in compressed form because of throughput problems 12:03:21 and storage problems. 12:03:22 films are big. 12:03:29 yes 12:03:39 well, .aiff's were big too. 12:03:39 elliott, afaik png's compression is basically the same as zip's compression, Plus some delta encodings like "compared to same pixel, previous scanline" (and a few more modes) 12:03:49 anyway if all you want to watch is Sita Sings the Blues and the Blender films, you can have perfectly lossless copies. 12:04:01 Vorpal: yes but the png is per-file 12:04:07 indeed 12:04:08 zip compresses between files 12:04:10 hmm 12:04:11 I think 12:04:14 maybe it doesn't 12:04:16 i can store a 10 minute song on my iOmega Zip drive, though. 12:04:18 I dunno whether it is .tar.gz or .gz.tar 12:04:21 elliott, yeees. That is about the only movie of any length where loseless is actually possible :P 12:04:26 so i don't think they're so big anymore. 12:04:34 Vorpal: there are MULTIPLE blender films ;/ 12:04:35 elliott, well, can we just calculate the difference between two frames and save it as a PNG file? 12:04:46 elliott, oh true. They are quite short iirc 12:04:48 The movie-theatre "digital distribution" standard format -- or at least one of them -- is to include each frame as an individual high-quality (but still lossy) JPEG2000 image. 12:04:52 the sita example is kind of cheap though -- it's Flash, so by all rights you should be able to watch a completely vector version 12:04:54 i think the movie format situation is similar to the mp3 proliferation back in the day. 12:04:56 (the .fla is distributed) 12:05:27 elliott, for blender you could get the original blender source maybe? 12:05:29 lol Zip drive 12:05:39 Vorpal: they distribute the lossless files and also that, yes. 12:05:39 woah, JPEG2000 is an industry format? 12:05:42 colour me surprised\ 12:05:42 of course not a big win, but it is good enough for most purposes 12:05:46 lifthrasiir: mm 12:06:02 Patashu, yes 12:06:13 JPEG is actually an organization. 12:06:24 as one that wants a loseless movie format will don't care about the small (compared to the delta-encoding...) changes in file size 12:06:31 elliott, I think that zip has two modes, solid and non-solid. IIRC solid is like tar.gz and non-solid like .gz.tar 12:06:33 it would make sense that something bearing its name would be an industry standard :p 12:06:46 I'm not completely sure of this however 12:07:17 is .gz.tar just a lot of separate gz files tarred up? 12:07:23 elliott, better than .zip.gz.tar.gz (Xilinx again, who else?) 12:07:41 or wait, was it .zip.bz2.tar.gz? 12:07:44 cheater__, well, if you think a working group in ISO/IEC JTC 1 is capable for defining an effective industry standard, yes that's an industry standard. 12:07:46 well, something like that 12:07:49 -!- TeruFSX has joined. 12:08:11 of course some of them makes things too complex, hence "the language designed by committee." 12:08:16 make* 12:10:15 in an ext3 journal, if a single block gets overwritten several times, it can have multiple transactions for it sitting on the disk, right? does that ever get flattened (to e.g. preserve space)? 12:11:45 Oh yes: MNG does support a form of motion compensation (assuming your encoder does, anyway); it's possible to have sprite-like things that appear in different locations in separate frames without including the image data for that multiple times; as well as the thing where you compose next frame as a delta of previous, like I think animated gif also does (just by having transparent frames that are overlaid over previous state); and a specific "delta-png" format. B 12:12:23 format. B 12:12:32 But they've defined MNG-LC and MNG-VLC ("low complexity" and "very low complexity") variants which don't support any of that. 12:13:03 As for APNG, from what I can tell it simply is a collection of IDAT chunks from separate frames. Not sure if new frames are composited on top of old ones; if not, then it doesn't get any advantage from similar frames. 12:13:21 yes, i think MNG is going too far in that direction. should really have been some kind of markup language with images embedded (not a binary format). 12:15:04 SVG? 12:15:11 it does raster too, despite the name 12:15:58 i don't know much about SVG animations, but if it works then it'd be a lot better than MNG 12:23:25 SVG is really complex, it has a comparable featureset to the non-video-decoding parts of Flash 12:36:28 -!- elliott has quit (Remote host closed the connection). 12:36:52 -!- elliott has joined. 12:40:54 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 12:42:19 http://esolangs.org/w/index.php?title=Migol&curid=2729&diff=23119&oldid=21576 12:42:21 disturbing 12:42:24 these should really have separate pages 12:51:07 -!- Phantom_Hoover has joined. 13:23:33 * ais523 is busy reading a 44-page document by the US patent office (a proposed rejection of a patent upon reexamination), which summarises as "there's an existing patent on doing exactly what you do, with a local server rather than a set of external servers, or with a TV screen rather than a computer monitor; and those changes are really obvious" 13:24:00 impossible 13:24:06 the USPTO doesn't reject patents 13:24:10 coppro: it's a reexamination 13:24:14 the patent was accepted the first time 13:24:22 my objection stands 13:24:34 also why do you care about this patent? 13:26:14 oh, I'm generally interested in this sort of thing 13:26:36 but my attention was attracted because it was recently used to sue something like 12 major website companies 13:26:47 or, well, companies which are particularly known for having websites 13:26:55 together with a few that aren't 13:27:02 ah 13:27:09 (I just counted, it was actually only 11) 13:27:17 fun 13:27:48 I like the bit aobout the distinction between a TV and a monitor 13:28:05 What patent? 13:28:26 http://www.sciencemag.org/content/332/6033/1046/F2.large.jpg 13:28:46 (Hits on the Periodic Table of Videos' video for each element.) 13:29:09 6757682 13:29:16 I like the way all the alkali metals have high views, presumably because the one thing everyone knows about them is that they explode in water. 13:29:23 ais523: I was hoping for a summary but okay :P 13:29:26 it's basically about showing information from remote servers on screensavers 13:29:31 Disseminating to a participant an indication that an item accessible by the participant via a network is of current interest is disclosed. An indication that the item is of current interest is received in real time. The indication is processed. The participant is informed that the item is of current interest. 13:30:38 Why do -any- of the Uu_ elements have hits at all 13:30:40 Are they really that interesting 13:30:42 the people who own it are trying to use the vague summary to make it cover all non-locally-generated notifications whatsoever 13:31:23 lol wow 13:31:29 Patashu, presumably because of people like me who binged the videos. 13:31:31 seriously, fuck patenting really simple IT concepts 13:31:37 like multitouch 13:31:46 and whatever else apple/windows/etc get into patent wars over 13:31:46 my guess is that even if the patent were valid, it wouldn't apply to Google's website, whichever one it is of those they're suing over (they haven't said yet) 13:32:33 * Phantom_Hoover considers that the oxygen's videos oddly high number of hits may be because that was the video that they poured liquid oxygen on everything in. 13:32:39 me irl right now http://wupcenter.mtu.edu/education/Ecology_of_the_Great_Lakes_03/13lamprey_hickey.jpg 13:32:55 Patashu, is that actually you. 13:33:17 yes. I have a lamprey on my head as I type this 13:33:18 ask me anything 13:33:27 Patashu: have you ever seen a ghost 13:33:37 yes 13:33:39 but only lamprey ghosts 13:33:41 next question 13:33:50 Why do -any- of the Uu_ elements have hits at all 13:33:54 people looking for the weirdest video :D 13:34:09 Patashu: how do you know when to stop wiping 13:34:14 ok thats all the iama memes i remember 13:34:19 ill dip out of this qa session 13:34:32 lol 13:35:05 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:36:05 Patashu, so you do not in fact have the moustache of a demigod? 13:37:18 lol 13:37:20 the fool, it is you 13:37:22 I am the lamprey not the dude 13:37:26 ask me about being a lamprey 13:37:47 Patashu: how do you know when to stop wiping 13:38:01 THE WIPING DON'T STOP TILL I WALK IN 13:38:46 and at that moment the channel reached its all-time intellectual peak 13:40:39 I don't get it 13:40:40 -!- MigoMipo has joined. 13:41:44 elliott, no wait I shall pull the channel even higher. 13:41:48 With exploding cake. 13:42:24 http://www.youtube.com/watch?v=js9_EhrjDD8 13:55:49 -!- Guest17101 has joined. 13:57:19 -!- ralc has joined. 13:58:10 hi 13:58:17 hi 14:02:23 -!- ZOMGMODULES has joined. 14:02:31 http://answers.yahoo.com/question/index?qid=20080726123234AALUVFA 14:03:00 meh 14:03:42 as opposed to the language which is *most* commonly found at the bottom of a bucket, which is...? 14:04:03 java? C++? 14:04:14 oh oh! is it visual basic? 14:04:30 i don't know. it occurs to me how rarely i look inside buckets. 14:04:44 It's a metaphorical bucket? 14:04:47 This changes everything 14:09:13 -!- copumpkin has joined. 14:09:15 -!- copumpkin has quit (Changing host). 14:09:16 -!- copumpkin has joined. 14:09:29 -!- Guest17101 has left ("Leaving"). 14:09:33 -!- Guest17101 has joined. 14:13:08 Guest17101: are you actually running your irc client as root 14:16:25 -!- variable has joined. 14:17:03 -!- Guest17101 has quit (Quit: Leaving). 14:17:47 elliott: at least one person I know uses root as their IRC username to scare people 14:17:51 unfortunately, I've forgotten who it is 14:19:48 if i wanted to scare people, i would do that. i would also pick a nick like "Guest17101" 14:22:05 or "ZOMGMODULES" 14:33:56 or "Crazy Frog" 14:34:17 Or "ais523" 14:34:37 my name is only scary because of its reputation 14:34:53 And its associated humbleness obvs 15:00:48 CINARA Is Not A Recursive Acronym 15:01:30 at any rate, I see cpressey finally got around to publishing Pail: http://catseye.tc/news.html#Pail_is_an_acceptable_Bizaaro[sic]-Pixley 15:02:36 disgusting 15:03:24 i would go so far to call it reprehensible 15:03:30 definitely 15:03:36 reprehensipail 15:03:41 Oh, also, I am now reeling at a discovery that has rocked my perception of the world. 15:03:50 There is something vaguely interesting in Swindon. 15:03:58 [dramatic music] 15:04:08 ZOMGMODULES: so is pail the greatest language ever 15:04:14 http://en.wikipedia.org/wiki/Magic_Roundabout_(Swindon) 15:04:32 My conclusion: I must make a language based on roundabouts. 15:04:34 You didn't know of that? 15:04:37 You are a strange man. 15:04:42 A strange and racist man. 15:05:45 ZOMGMODULES: do i get a prize if i construct a racist caret w recursive function in pail 15:06:24 ...dammit, I'm seeing the background of catseye as a spacetime structure 15:08:48 ZOMGMODULES, please attend to this matter before I go insane. 15:14:33 elliott: i think such a feat deserves a prize of some sort 15:14:36 http://en.wikipedia.org/wiki/Whisker_(metallurgy) 15:14:52 ZOMGMODULES: will it be free (ad-free) webspace like the creator of NETFUCK is offering 15:15:00 i cant settle for anything less in value than that 15:15:05 I choose to interpret this as the metals becoming sentient and attempting to overthrow their human masters. 15:15:07 so basically, bids must be plastic turd or higher 15:16:44 Phantom_Hoover: please stop sharing links that contain characters like ( that my terminal emulator doesn't understand are part of the URL to it takes me to wikipedia articles that don't exist then i am tempted to create them 15:16:57 *so 15:17:14 ZOMGMODULES, sorry, should I URLencode them first? 15:17:30 yes and lso kill a goat 15:17:40 no, just force wikipedia to disallow them 15:17:49 also: plastic turd: good idea for prize 15:18:21 also: even I knew about that magic roundabout, but it was via looking up the children's show 15:18:50 roundabouts could make a nice language 15:20:25 They could, albeit in a roundabout way. 15:20:27 hmm, perhaps Rubicon should be retroactively converted back into an esolang 15:20:27 i have no recollection how i became aware of the children's show 15:20:32 as it seems to have deviated somewhat from vanilla RUBE 15:20:41 * ais523 goes to see if it's working again yet 15:21:08 nope, I still just get a blank screen 15:21:20 must be some bad interaction with this computer's version of Java 15:21:40 rubicon is that bully CA? 15:23:29 ais523: you may have openjdk jvm but no java plugin 15:23:36 try installing the icedtea plugin package 15:23:47 Patashu: RUBE is the bully CA, Rubicon is a computer game based on it 15:23:57 based more loosely than I thought, actually, especially in the handling of dozers 15:24:29 right 15:24:31 elliott: it's apparently already installed 15:24:34 and I do get messages saying it's loading 15:24:37 it just never actually loads 15:25:21 it also doesn't work if I try a different browser 15:27:04 runs fine for me 15:27:13 chrome, windows XP, latest version of java and JDK 15:27:27 >windows 15:27:30 found your problem :-P 15:44:52 -!- zzo38 has joined. 15:47:06 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 15:58:18 -!- Patashu has quit (Ping timeout: 246 seconds). 16:02:34 -!- lameNOT has quit (Ping timeout: 248 seconds). 16:05:20 -!- augur has quit (Remote host closed the connection). 16:15:04 -!- pikhq_ has quit (Ping timeout: 240 seconds). 16:15:07 -!- pikhq has joined. 16:21:48 -!- Phantom_Hoover has joined. 16:27:51 ais523: Are you good at Perl? 16:28:16 zzo38: not amazingly, but it's a language I've used quite a bit 16:29:37 Well, I haven't use it much, yet I still beat you at the Deadfish anagol challenge (without using cheats). Try harder. 16:29:53 yeah ais523 you SUCK 16:29:55 and you should feel bad 16:29:58 do better or you're worthless 16:30:09 zzo38: I'm not very good at golfing 16:30:28 I mostly use anarchy golf as programming practice, rather than in a serious attempt to win 16:31:55 O, I didn't know that. 16:32:06 o! 16:33:48 However, if you *did* use cheats, post a non-cheating submission with (genuine) after your name. 16:35:43 I failed at Perl, C, and JavaScript, but beat everyone at AWK and Bash. Do you know any things about AWK? 16:38:22 -!- augur has joined. 16:38:27 I only found one cheat and it only helped me at JavaScript (I marked with (cheat)) which I still lost at. 16:39:42 And if dc didn't have the bug in it, I would have won at dc as well, but there is a bug in dc which prevents my program from working. 16:39:53 What bug? 16:40:56 In case of a unknown command, the error message (except for the "dc: " prefix) is sent to stdout instead of stderr. 16:42:02 The program I have results in a lot of other error messages too but they all send to stderr (which is proper) so it does not cause the problem. 16:42:12 I will show you the code: [0sac]dsOx[p]3:;[1+]1:;[dd/-]2:;[d*]0:;[3O2?O+%I~;;Adiolarxd256=Osalox]dsox 16:43:59 solaris dc appears to send all errors to stdout 16:44:56 This is GNU dc, however. GNU dc sends all errors to stderr except for that one error, which I am sure is a bug. 16:45:16 Have you reported it? 16:45:24 No. 16:45:32 Perhaps you should. 16:45:33 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 16:45:46 I am unsure how. 16:46:18 It is probably not too difficult to fix, however. 16:46:45 The dc manual appears to have a "reporting bugs" section: http://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html#SEC11 16:46:49 You make a fist, shake it at the sky, and shout "why, GNU, why?!" -- that is the standard reportig practice. 16:47:02 zzo38: "man dc" says "Email bug reports to bug-dc@gnu.org." 16:47:02 how can that be. there are no bugs in dc. 16:47:59 -!- ais523 has quit (Remote host closed the connection). 16:48:13 ZOMGMODULES: There is one. 16:49:39 ais-logreading: zzo refuses to use email 16:50:21 but how, but how can that be 16:51:02 -!- augur has quit (Remote host closed the connection). 16:51:56 ZOMGMODULES: STOP BEING WEIRD 16:52:23 -!- ZOMGMODULES has changed nick to Adiolarxd256. 16:53:01 -!- augur has joined. 16:53:14 -!- Vorpal has quit (Ping timeout: 248 seconds). 16:53:31 -!- Vorpal has joined. 16:54:09 hi Adiolarxd256 16:54:19 salox dsox, elliott 16:54:37 jsadlk 16:55:36 -!- Phantom_Hoover has joined. 16:56:32 I found the mistake. It is on line 519 of dc/eval.c should be change from dc_show_id(stdout, to dc_show_id(stderr, and then hopefully it can work OK. 16:57:21 zzo38: So send a patch. 17:02:45 -!- Adiolarxd256 has quit (Quit: BARK BARK BARK BARK BARK bark BARK BARK bark BARK BARK BARK BARK MOOOOOO BARK.). 17:07:19 hmm i was just about to ask a pail question too 17:15:20 -!- azaq23 has quit (Quit: Leaving.). 17:28:31 -!- TOGoS has joined. 17:30:50 -!- augur has quit (Remote host closed the connection). 17:42:35 -!- SimonRC has quit (Ping timeout: 260 seconds). 17:44:10 -!- SimonRC has joined. 17:48:43 Autotup: on a scale of 1 to "Fuck you", how bad of an idea is it? 17:48:51 carps 18:19:05 So, I finally ended up installing Firefox 4.0... 18:19:17 YOU MADE CHROMIUM LOOK MORE NATIVE YOU ASSHOLES 18:20:03 Firefox four's menu button is ... interesting. 18:20:13 CHROMIUM LOOKS LIKE NATIVE ASSHOLES GARRRR!!!! 18:20:41 STOP WITH THE CUSTOM WIDGETS PEOPLE 18:21:02 I always forget about it and then can't find the menu :( 18:21:10 Why must it be so damned hard to just get a decent web browser that *fits into the damned UI*? 18:21:29 -!- Herobrine has joined. 18:21:46 -!- monqy has joined. 18:22:33 I think it's a cycle in UI design 18:23:00 Make everything custom (Winamp), then eventually the WM's widgets catch up a bit and then things look more native for a while (OS X stuff) 18:23:13 I think it is because there isn't decent web browser 18:24:00 If the program is designed for specific operating system, you should use native widgets, otherwise just use the program you make so that it can work on cross-platform. 18:25:05 You should always strive to make it appear native. 18:25:39 To do otherwise is to just arrogant. 18:25:57 "Yeah, I know, it looks like nothing else here, BUT MY PROGRAM IS MORE IMPORTANT THAN THEIRS!" 18:26:06 Fucking bastards. 18:26:09 I do kind of like the tabs up in the title bar... 18:27:11 Tabs in the title bar are nice but it should be the WM's job. 18:27:13 Should be. 18:27:18 yeah, should be 18:27:58 -!- pikhq_ has joined. 18:28:12 maybe next round of WM's will have that feature 18:28:15 hence the cycle ;) 18:28:28 Well, they already do. 18:28:31 AND LET ME SCROLL WHEEL TO CHANGE TABS DAMMIT 18:28:35 on X that is :P 18:28:55 I think you should make it *be* native (just looking native is not sufficient) if you are writing the program for the specific OS or windowing system or whatever, but otherwise just do whatever works for the program you are writing if it needs cross-platform, if it would result in difficulties by trying to port to different systems each native one being different enoughto require many things changed too much. 18:29:04 YOU ARE NOT FUCKING CLEVER FOR HAVING YOUR PROGRAM HAVE DIFFERENT BEHAVIOR. 18:29:09 YOU ARE JUST A FUCKING ASS. 18:29:21 heh 18:29:35 I agree with you 95% of the time, pikhq_ 18:29:56 unfortunately everyone thinks they're the other 5% 18:30:03 I have a few *simple* expectations in my program. First, it looks like it belongs with the rest of the programs. Second, it *acts like it*. 18:30:28 It really should *not* be too much to ask for the widgets in this program to interact with the user in the same manner that *every other widget* does. 18:31:00 -!- pikhq has quit (Ping timeout: 260 seconds). 18:38:07 pikhq_: I suppose that is reasonable. However what is the case if you cannot do that due to differences of systems that are too different and causes too much of mistakes? In case it is HTML then of course you can use "native" commands such as and