背景
僕の所属する研究室では、持ち回りで英語論文を読んで、その内容を発表する輪講が週2回あります。そこで読まれる英語論文は、担当者がPDFファイルにして研究室のローカルファイルサーバにアップロードする事になっています。そして「そこから各自ダウンロードしておいてね」方式なんですが、そのローカルファイルサーバさんは研究室外からアクセスできない。だから、輪講の直前に担当者が「アップロードしたよ^^」とかメールを送ってくると、ラボメンの怒りのゲージが溜まったり、僕の睡眠時間が削られてしまいます。あと、うっかりコピーを忘れたりすると、輪講中に暇でつらいです。
どうなると嬉しいの。
担当者がアップロードしてくれたPDFファイルが、自動的に同期されたりメールで飛んでくると嬉しい。「みんなDropboxにもアップロードしてよ!」とも思いましたが、各個人の作業量が増えて前時代的なので、僕が赤魔術で解決することにしました。
どう解決したの。
Rubyを使って、指定したフォルダ内にあるPDFファイルだけを監視するコードを書きました。指定した時間毎にフォルダ内にあるPDFファイルと、Dropboxの共有フォルダにあるPDFファイルの差分を見てあげて、共有フォルダにないPDFファイルを見つけたらコピーする様にしました。
指定した時間毎に処理を走らせる方法は、偉大なる@asonas先輩から
@FromAtom did you know `whenever` gem? remove `sleep 10`, if you use whenever.
— あそなす.rb (@asonas) 2013, 6月 1
と斧が飛んできたので、whenever
というgemを使いました。なにこれ超便利。
後はこのコードを研究室内のパソコンで走らせるだけです。
今は使ってないWindowsラップトップで走らせてるんだけど、「Windows Updateしたから再起動してやったぜwww」とか言い残して落ちていたので、殺意が湧きました。
ソースコードどこなの。
使う人がいるのかわからないけど、Githubにおいてあるのでcloneしたり、forkして斧投げたりしてくださいませ〜。
https://github.com/FromAtom/watch-men
使ってみてどうなの。
安心して眠れるようになりました。