読者です 読者をやめる 読者になる 読者になる

できる気がしてきた。

Githubな活動記録を公開してます

東日本大震災の時関東地方に住んでいました。

震災から6年が立ちました。

 

メディアでは6年前の震災を振り返るときやはり被害の大きかった東北地方を取り上げますが、一方で被害の少なかった関東地方での震災の時の状況を取り上げることはありません。

 

それは当然のことであり仕方のないことではあるのですが、関東地方での被害もやはり等しく記録されておくべきではないかと思うのです。6年前日本にいた全ての人が、少なからず震災の時の記憶を持っていてそれらは一つ一つ歴史的価値のあるものだと思うからです。

 

僕は阪神・淡路大震災の直後に生まれた人間で当時の記憶はありません。6年前の震災以前の僕ならば阪神・淡路大震災は非現実的で物語的な教訓話としてしか捉えていなかったと思います。6年前の震災を経て阪神・淡路大震災の記憶にどのくらい歴史的価値があったのかを思い知りました。

 

6年前の震災のあとに生まれた人は、次の大震災が起こるまで以前の僕と同じように実感がわかないと思います。それは仕方の無いことであると思います。

 

僕がここに書くのは6年前の震災時に関東圏に住んでいた15歳の少年の記憶です。

 

当時僕は中学校を卒業し高校の入学式を楽しみしながら少し長い春休みを謳歌していました。3月11日は晴れていました。少し暑いくらいの陽気で僕は家で過ごそうと思っていました。

 

正午、僕は母と二人で昼ご飯を食べながらバラエティ番組を見ていました。

どんな内容だったかは思いだせませんが、3時間後流れる映像とは全く異なる明るいものだった気がします。ご飯を食べ終わると僕は2階の自室に戻りました。当時はまだスマートフォンが普及していませんでしたし、僕は携帯を持っていなかったので暇つぶしに適当な本を読んでいました。窓から母が近所の人と井戸端会議をしている声が聞こえていました。

 

14時、僕は読んでいた本を変え新しい本を読みはじめました。

当時から僕はファンタジーが好きでその時選らんだ本も確かファンタジーだったような気がします。本を変えるついでに、1階に降りてお茶をのみに行きました。母は外でまた井戸端会議中でしたが、居間のテレビは点きっぱなしでした。

 

1445分、2階に戻って本を読んでいた僕は揺れを感じました。

2階にいた僕は、おそらく多くの日本人がそうであるように地震が収まるのを部屋で待つことにしました。しかし地震は一向に収まる気配がなく、長い時間揺れていました。僕は外に出ることを決め居間に降りました。居間には外にいたはずの母がいて財布を探していました。僕が「母さん避難しよう」というと、母は「保険証が無いと困るのよ!」といっていました。財布はすぐに見つかり、母は庭につながる窓から、僕は玄関から外に出ました。

 

おそらく15時頃、広域避難場所に行きました。

僕の手にはなぜか鳥かごがありました。ちなみに僕は鳥を飼っていません。では、なぜ鳥かごを持っていたのかというと避難している最中に近所の人から鳥かごを頼まれたのです。僕は何も持たずに避難していたのでそれを引き受けたのでした。

 

地震が収まったあと僕は家に戻りました。

幸い家は潰れておらず、家具が倒れていたりということはありませんでした。ついたままのテレビを見ると、どのチャンネルもヘルメットを被ったアナウンサーと真っ赤な日本地図が写っていました。真っ赤な日本地図は、日本沈没を思わせるような絶望を僕に与えました。

 

事実しばらくしてテレビから流れてきたのは日本が沈没していく様子でした。

津波の到来した時の中継はまず、港から始まります。津波は港にある堤防を超え、陸に流れ込んできました。僕はそれをお風呂の水があふれた時のようだとミスマッチな表現を心に抱いたのを覚えています。その後中継は陸を侵食していく津波の映像でした。ヘリコプターから撮ったであろう中継には、いくつもの屋根に人が取り残されていて、そこに津波が襲い掛かってくる映像が写っていました。また車を押し流す映像も流れていてその中には人影が写っていたりしており、それはまさに映画のワンシーンのような非現実的な恐怖を帯びていました。津波の中継は続きます。実際18時くらいまでは、生中継でどの局もその映像が流れ続けており、外が薄暗くなって中継が難しくなるとそれまでの中継を加工したものが流されていました。

 

津波の映像は1週間以上流れ続けていたように思います。

津波の映像が終わったのは原発事故がきっかけでした。地震津波によって原発に問題が発生したのです。津波の中継の映像から発電所の監視カメラの映像に変わったとき、首都圏の人間には見えない津波が押し寄せてきしました。放射能問題です。あちこちから気流に乗った放射線を帯びた土煙が関東地方を覆いました。至るところから高い放射線量が観測され見えない津波に恐怖する人が増えていきました。特に食品に関しては敏感になり、様々なデマが横行しました。

 

約1ヶ月後、僕は高校の入学式にいました。

入学式は震災の影響で大きなホールが使えず、体育館で行われました。校長の話はご多分に漏れず震災の話で、震災を乗り越え強い日本を作って行きましょうという内容でした。入学後は原発事故による節電の影響で各地で輪番停電が行われました。輪番停電は夏まで続き、原子力発電所が停止したことの被害の大きさを物語りました。僕は自宅からかなり離れた高校に進学したため電車通学の時間も人並み以上に長かったのですが、通学中何度も震災の余震と思われる揺れによって電車が30分以上止まる日々が1ヶ月ほど続きました。

 

震災から2ヶ月も経つと関東では、震災のショックから回復しはじめました。

テレビも震災の映像だけでなくバラエティ番組こそ減りましたが色々なニュースが流れ始めました。人々の心に余裕が生まれると今度は震災の責任問題など、政治的な問題が取り上げられ始めました。政治的な問題のメインは原発事故でした。学校の授業でも、こういった問題は取り上げられ倫理の授業などではよく題材として扱われていました。僕の高校にも福島から避難してきた生徒が何人かいましたが、幸い差別もなくごく普通の生徒として暮らしていたように思います。

 

震災から約1年後、東北の被害は歴史上の事実として乾燥し始めていました。

政府は東北復興を目標に掲げ色々と策を講じていましたが復興の状況は芳しくなく荒廃しているらしいということをメディアを通して知りました。とくによくメディアが取り上げたのは震災当時及び震災後の美談でした。復興が進むに連れ、世の中の関心は死んだ人達から助かった人たちへと変わっていき、その点で、僕は震災の記憶が、死というネガティブなイメージから生というポジティブなイメージへと移り変わった瞬間だと思いました。

 

以上が僕の震災にまつわる記憶です。

 

時は流れ6年たった現在東北の復興状況はだいぶ進んだらしいです。いわゆる原発事故による避難区域も小さくなり多くの土地が津波の被害から復興を遂げたというニュースが流れてきます。6年前に震災はすでに過去の震災として歴史になり、今は熊本の震災が最近あった大きな震災となりました。

 

関東にはまた地震が直撃していませんが、日本に住んでいる限りどこかで被災することもあるかと思います。その時僕は何を持って避難するのでしょうか。今はまだ何も持たずに避難しそうです。

 

そろそろNeoVimに移行してよいのではないだろうか?

NeoVimはVimリファクタリングし、モダンな設計に書きなおしたバージョンだ。 Github上で開発されておりコミュニティベースで開発が進められている。

Githubのグラフを見るに2014年に始まったプロジェクらしい。 僕が見つけたときには、すでにクラウドファンディングがスタートし開発が活発になっていた時だ。

github.com

当時はVimの作者であるBram Moolenaar氏が批判的なコメントをしていたり、古参Vimmer達が色々と意見をいっていたりあまり良く受け入れられていなかったような気がした。

しかし、そこから3年たった今NeoVimは開発ペースも安定し、Neo系プラグイン開発者で有名だったShougo氏もDarkpowered系アドオンを開発し始めていたりしていて、ある程度開くティブなVimmerもNeovimを使い始めているようだ。 昔々私も「Vimmerが闇堕ちした話」というイタいポエムを書いたことがあったが、Shougo氏のおかげでevilにならなくても闇堕ちできるようになってしまった。

ta2gch.hateblo.jp

NeoVimが良かったのは後方互換性を担保した点だろう。Vimの資産をそのまま使え、その上でモジュール化を達成したことの影響はとても大きいように思える。

僕が使っていて気づいたVimとNeoVimの違いをいかに書いておこく。

  • Vim8のパッチはまだ完全にNeoVimに取り込まれていないので、Vim8の非同期APIなど一部のAPIはNeoVimでは(まだ)使えない。
  • Vimはビルド時に他の言語拡張の有効化を行うが、NeoVimは起動時に自動で判定するので、pipgem拡張機能をインストールすれば自動で有効化される。
  • Vimウガンダへの寄付を募集しているが、NeoVimはしていない。
  • Vimでシェル機能を使う場合は、Vimshellが必要だが、NeoVimは標準で組み込まれているので、:terminalで起動できる。
  • 設定ファイルの場所が違う(.vimrc.config/nvim/init.vim)

NeoVimもbrewでインストールできるのでLinux(Linuxbrew)やmacOS(Homebrew)ユーザーは是非インストールしてみてほしい。

Linuxbrew が新しくなってる

久しぶりにLinuxbrewのGithubを見てみたら、 今まで使っていた linuxbrewはlinuxbrew-legacyにとなり、 新しくFormulaを管理するリポジトリbrew本体のコードを管理するリポジトリに 分割されていた。

それに加え依存するソフトウェアも随分削られて

sudo apt-get install build-essential curl git python-setuptools ruby

のみの依存関係になっていた。

では、今まで依存していたソフトウェアはどうしているのかというと、どうも bintrayで自前で事前にコンパイルしたバイナリパッケージを使っているみたいである。

curlとgitはおそらく証明書の都合で事前インストールが必要なのだろう。 しかしpython-setuptoolsがシステムに必要なのかわからない。

とりあえず、インストール時の待ち時間がbintrayにより短縮されたのは何よりである。

余談だが、どうやったらmake_jobsを設定できるのか調べてみたら、HOMEBREW_MAKE_JOBSを環境変数として設定することでできるらしい。

Non-root package manager好きとしては、Linuxbrewは今後も要注目なソフトウェアである。

linuxbrewでempty archiveなんていうエラーが出てきたら

linuxbrewを使って、早速emacsをインストールしようとウキウキしていたら、

==> Installing emacs
==> Downloading http://ftpmirror.gnu.org/emacs/emacs-24.5.tar.xz
==> Downloading from http://mirror.tochlab.net/pub/gnu/emacs/emacs-24.5.tar.xz
######################################################################## 100,0%

Error: Empty archive

となってしまい、うまくインストールできなかった。 これは、どうやら、Githubのissueに上がっているように、 アーカイバであるxzのバージョンが腐っているときに起きる現象らしい。

なので、brewを使ってxzのバージョンアップを行う。

$ brew reinstall xz

これでemacsが使える。めでたし。

Ciderモードが新しくなってる。

普段何気なく、leiningenにnREPLの設定を書き加えていたけれど、 Githubを見たらnREPLの設定を書く必要がなくなっていた。

これからは、

(package-install 'cider)

だけで良いみたいだ。あとはcider-jack-inをするだけ。 簡単にclojureで開発できるようになってるのね。 すごいなぁ。 slimeは未だに色々と設定を書く必要があったりしていて、 やはり、開発環境の充実度が ClojureとCommonLispを分けた?決定的な違いなのかなぁとおもったりしました。

Dropboxに音楽をバックアップしたいんだけど違法なの?

Dropboxで音楽をアップロードするのは、適法なのか違法なのか これについて、MYUTA事件を参考に違法とする判断を書いているブログがある。 しかし、調べてみるとDropboxで音楽をバックアップ目的で利用することについて Dropboxを運営する会社もユーザも適法っぽいことがわかった。

根拠①

MYUTA事件の判例では、音楽ファイルの取り扱いについて行為主体が誰なのかが争点となったわけだが、 MYUTAの運営会社が行為主体として認定されたのは、「音楽ファイルを変換して送信する」というのがサービスの 一貫として認定され、また、それをMYUTA運営会社からみて不特定のユーザに送信していたと判断されたからであった。

つまり、「送信する」ところまでがメインサービスとしてしていたことで行為主体と認定されていたと読むことができる。

しかし、Dropboxでは例えばスマートフォン端末向けのアプリ等では自動同期機能はユーザによって意図的に 指定することでのみ可能になっているなど、送信するというところまでがメインサービスなのではなく、 クラウド上にバックアップを上げて保存しておくことがメインサービスになっている点で、ユーザへの送信は ユーザが行為主体となっていると判断できそうだという点でMYUTA運営会社とは決定的に違うということ。

根拠②

文化審議会著作権分科会著作物等の適切な保護と利用・流通に関する小委員会クラウドサービス等と著作権に関する報告書の19ページ整備制度の必要性の第一段落において

以上のように、タイプ2の枠内で行われる利用行為については,基本的には,利用行為主体は利用者であり, 当該利用者が行う著作物の複製行為は,私的使用目的の複製(第30条第1項)であると整理することができ, 権利者の許諾を得ることは特段不要であるとの意見で一致した。

と書かれており、文中のタイプ2とは、Dropboxのような個人がクラウド上にファイルをアップロードして個人が受信するサービスのことである。

Dropboxへアップロードする行為は技術的保護のない場合(例えば流通している多くのCDなど)を複製するのと同じ私的使用目的の複製と認定されそうだということ。

※一方で、同報告書では、

ただし,個々のサービスにおける利用行為主体の判断を含め, 私的使用目的の複製と判断されるか否かについては,当該サービスに含まれる全ての機能及び提供態様等を全体としてみた上で, 個別の事案ごとの事実認定に基づいて総合的に判断されるものと解される

としており必ずしも私的使用目的の複製認定されるか、また行為主体がユーザー側にあると判断されるかは、司法の判断次第であることを注意したい。

まとめ

少なくともMYUTA事件について言及している各所のブログ等について言えば、MYUTA事件で違法とされたのはMYUTA運営会社の行為についてでありユーザーについて言及しているわけではないということ。

また、Dropbox社が日本において適法なサービスなのかどうかは、根拠①からおそらく適法そうだということ。

Dropboxのユーザーは根拠②からおそらく適法そうだということ。

ただし、根拠②で引用した報告書には、こういったことも書かれていた

なお,タイプ2のロッカー型クラウドサービスに付加された共有機能を使って,利用者がコンテンツを個人的に 又は家庭内その他これに準ずる限られた範囲内を超えて共有する場合は,私的使用目的の複製とはいえず, 権利者の許諾を得ない限り著作権侵害となる

したがって、当たり前だが、Dropboxに権利者の許諾を得ない電子データをアップロードし、かつブログ等で共有リンクを公開するのは著作権侵害となる。

以上より、Dropboxに音楽をアップロードし、バックアップを取ることはおそらく大丈夫そうだということを結論とします。

最後に、自身の保身のために言わせていただきますと、結論は個人の見解であり、必ずしも正しいとは言えませんので、 利用にあたってはご自身で判断なさってください。

参考文献

Vagrantのprovisionでrbenvを使う

最近お仕事でrubyを使うことがあったのですが、 rubyはバージョンについてセンシティブであるので、 rbenvのようなバージョン管理ツールが必須です。

そこで、メンバー間で開発環境を共通化するためにVagrantfileを用いようと思い、 Vagrantfileを作っていたところシェルスクリプトでプロビジョニングしようとすると、 rbenvをインストールしてもプロビジョニング中はそのコマンドが使えないという奇妙な現象に陥りました。

どう言うことかというと

  config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    echo 'eval "$(rbenv init -)" >> ~/.bash_profile
    source ~/.bash_profile
  rbenv install 2.0.0-p247
    rbenv global 2.0.0-p247
  SHELL

が動かないのです。原因はいくつかありました。

  1. boxに使っていたubuntuでは、bashの設定ファイルは、~/.bash_profile ではなく、~/.bashrcであること
  2. vagrantのプロビジョニングで使われるbashはnon-itaractiveで起動しており、ubuntuの~/.bashrcでは、non-intaractiveモードでは~/.bashrcの処理を途中で切り上げてしまう設定になっていること
  3. vagrantのプロビジョニングはrootユーザーで実行されているのでホームディレクトリが/rootになっていること

これらを踏まえて、修正版はこうなりました。

  config.vm.provision "shell", privileged:false, inline: <<-SHELL
    set -i
    sudo apt-get update
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(rbenv init -)" >> ~/.bashrc
    source ~/.bashrc
    rbenv install 2.0.0-p247
    rbenv global 2.0.0-p247
  SHELL

set -iとは、どうやらbashインタラクティブモードに変更するコマンドです。

無事、vagrantでrbenvが使えるようになりました。めでたし。 まぁ、共通化を図るのであれば、本来はプロビジョニングツールを使わずにBoxを作るのが定石ですね :)