google+を動画保存庫にする

20140901

  • こう書いたら美しいかなぁー、でもリストへの代入ができないから微妙。。
  • python見たく list[-1]=a って書けたらいいのに(^^;
Prelude> let l = [0.0,15.0,30.0,31.0]
Prelude> let h x y = (x+y)/2
Prelude> zipWith h l (tail $ tail l)
[15.0,23.0]
Prelude> last $ zipWith h l (tail $ tail l)
23.0
Prelude> (init $ init l) ++ [last $ zipWith h l (tail $ tail l)] ++ [last l]
[0.0,15.0,23.0,31.0]
Prelude> let l = [0.0,15.0,16.0]
Prelude> (init $ init l) ++ [last $ zipWith h l (tail $ tail l)] ++ [last l]
[0.0,8.0,16.0]
Prelude> let l = [0.0,8.0]
Prelude> (init $ init l) ++ [last $ zipWith h l (tail $ tail l)] ++ [last l]
[*** Exception: Prelude.last: empty list
  • 美しくないね、最初の方針のほうがいいね(T_T

20140829

  • youtubeのお気に入りの動画は大抵削除されるので、これを保存しておきたいけど、自分のディスク容量を圧迫したくない
  • google+ならば15分以内の動画が保存し放題なので、youtubeからダウンロードした動画を15分以内に分割したい
  • 16分の動画だったら [15分,1分]というように分割するのではなくて、[8分,8分]というように分割したい
  • haskellで書かないといつまでも書けるようにならないので、haskellで書こうかなぁー、pythonだと秒殺なのはわかってんだけど。。
main = print (sep 61.0)

sep n = m'' ++ [(last m'' + a1)/2.0] ++ [a1]
  where 
    m = l ++ [n]
    a1 = last m
    m' = init m
    a2 = last m'
    m'' = init m'
    l = filter (<n) (take 100 [0.0,14.9..])