hogehoge, world.

米国カリフォルニアのソフトウェアエンジニアがIT・自転車・音楽・天体写真・語学などについて書く予定。

「激怒した開発者によるcolors.js/faker.jsの意図的な破壊」に関する所感

こんな↓ニュースを目にして何が起こっているのかをざっとさらってみたのだが、うーむ、同情の余地はあれど、これに thumbs up や無邪気な擁護が付くのはちょっと理解できない。

gigazine.net

別にMarak氏やその擁護者を叩きたいわけでもなく(私が何か言うまでもなく彼の行為は普通に裁かれるだろう)、ただなんだか違和感があったので、自分の得た情報と理解の整理のためにここに書いてみる。

本件の構造を別のたとえに置き換えてみると、こういうこと↓に見える。

  1. 「ご自由にお取りください(=MITライセンス)」と自分で作った野菜を道端に置いた
  2. その野菜が評判になり、それを使ってぼろ儲けするレストランも出てきた
  3. これらのレストランが「野菜のかたちが悪い」「傷があった」、その挙句「なんとかしてくれ」と言ってくるようになった
  4. 「そんなの無報酬で対応できるかよ。自分でなんとかするか、相応の報酬をくれ」と表明した
  5. (その後何があったかわからないが)ついに激怒して、野菜に毒を入れた

(1)~(4)はまぁそういうこともあるだろうという事象だが、そこから(5)に行ってしまうというのはテロと同じ行動原理だと私は考える。レストランがいかに厚かましかったとしても、あるいはその毒が臭いをちゃんとチェックすれば(=テストをちゃんと書いていれば)わかるものであったり、食べても簡単に死にはしないものだったとしても、「ちょっとした警告です、おふざけです」で済ませる気にも「いいぞいいぞ」と応援する気にもならない。

npmリポジトリがこのバージョンの公開を停止したが、それは当然の処置であろう。GitHubがMarak氏のアカウントを凍結したのも、なんでそんなことをするんだという声も見かけたが、「作者の立場を利用してマルウェアを仕込んだハッキング/サボタージュ/サイバーテロ行為」とban認定されても何の不思議もない。「自分のコードを好きにして何が悪い」的な擁護は成り立たないだろう。

経緯の面で私が理解に苦しむのは、Marak氏は(4)のあたりでスポンサー集めに取り組む*1など理性的な対応をしていたのに、結局(5)のような無差別的で問題解決にならない破壊的行為に至ったことである。タダ乗りする連中の要求に付き合いたくないのであれば単に無視する権利はあったわけだし、タダ乗りを手っ取り早く合法的に懲らしめたいならライセンスをMITから「商用の場合は有償」という文言に変える手もあっただろう。もしくはサポートに対して本気でお金が欲しいのであれば、企業との間で契約を交わすなど最低限のオペレーションは必要で、金をよこせとissueで愚痴っても何も解決しない*2。いろいろ事情はあったのかもしれないが、ぱっと見る限り「(価値を提供して相応の対価を得るという広い意味での)ビジネスパーソンとしてやるべきことをやらず、短気に任せてテロに手を染めた」という印象なので、これを英雄的に持ち上げるのは理解できない。(火災で大変な目にあったという話もあるが、これはもちろん擁護にはならない。)

つまり、私にはこれは、背景に同情の余地はあるものの「ついカッとしてやった」という通り魔やテロの一種にしか見えないのである。これに「いいぞもっとやれ」「君は英雄だ」のような無邪気な擁護が意外に多くて違和感を感じたので、当たり前のことだと思いつつ書いてみた*3。なお、「同情の余地」の部分というか、「OSSとそれを利用する企業が抱える歪」のような問題は確かに存在するのだが、本blogでそこに踏み込むのは(そういう議論を公にしたくて書いているのではないので)やめておく。

*1:実際幾つかのの会社から支援を取り付けていたように見える。

*2:記事はMarak氏が(彼の気に入らない利用者に対して)「警告」したかのようになっているが、私の見る限り、「自分は彼らのためにタダで働くことはしない」とお気持ち表明しただけである。警告というのは「こういう使い方はライセンス規約にこのように違反しているので、そういう使い方をしている連中は罰を食らうであろう」のように論拠を持って相手の是正を促すものだと私は考える。そのような手を講じていなかったのなら、私の目には無警告の無差別テロと同種であり、被害を受けた側を「警告を守らなかったからだ、ざまあみろ」などと批判する気は一ミリも起きない。

*3:こういう当たり前のことを発信しないと「だからOSSは未成熟だ、作ってるやつも支援してる奴もガキんちょだ」などとあらぬことを言われてしまうのではないか、という危惧も若干ある。

皆既月食とさそり座

5/26の皆既月食は日本ではだいぶ条件が悪かったようだが、ここベイエリアでは西の空低くしっかり見ることができた。

f:id:tomoto335:20210603110155j:plain

今回の皆既月食は時間が4amということもありパスしようと思っていたのだが、位置を調べてみるとさそり座の頭の付近だったので、これは絵になるんじゃないかと思い頑張ってみたら意外とよく撮れた。左の方の赤い星がアンタレスである。普段は満月と背後の星は一緒に撮れない(星がかき消されてしまう)ので、こういう画は皆既月食ならではなのである。

f:id:tomoto335:20210603110117j:plain

「タンゴの真実」(小松亮太著) 音源・動画インデクス

最近「タンゴの真実」という本が発売された。バンドネオン奏者小松亮太氏による、タンゴという音楽の歴史その他諸々の解説書である。専門性はかなり高く、音楽オタクにはけっこう楽しめると思う。

タンゴの真実

チャラン・ポ・ランタンアコーディオン小春氏の動画「蛇腹談義」に小松良太氏が出演していた回があまりにもおもしろくて発売直後に買ってしまった。

youtu.be

この本、参考音源(Spotify)や動画(YouTube)へのリンクがQRコードで印刷されているのだが、これがかなり使いにくい。なぜなら:

  • スマフォでQRコードをスキャンしてプレイリストを開く操作や、本の中で言及されている曲をプレイリストから探す操作がかなり手間で、本を読む流れを中断してしまう。
  • Spotify無料版はスマフォからでは制限が多くて使い物にならない。PCからだとまだ使える。
  • プレイリストから本への逆引きができない。つまり、プレイリスト上の曲を聴いてその位置づけや解説(「この音源/動画は何を説明するためにあるんだっけ?」)を見に行くことができない。

この問題を解決するため、プレイリストへのリンクと、各音源や動画が本のどの箇所から参照されているかのインデクスを作ってみた。これをPCで開き、本を読みながらプレイリストをぽちぽちすることで、快適に本書を読み進めることができる。

続きを読む

M5Atom Matrixでボールころころ

M5Atom Matrixを買ってすぐの習作として作った「ボールころころするやつ」の解説をしてみる。加速度センサーの値を使って物体の加減速や跳ね返りのシミュレーションを行なう簡単なコードなので、プログラミング学び始めの人の資料にでもなればと思う。初期化と表示処理がM5Atom固有なので、そこだけ修正すればM5StickC等他のモデルで動くものに改造できるだろう。

youtu.be

続きを読む

Processingの3DCGにおけるライティングの扱い方

Processing の3Dグラフィックスにおけるライティング(光源や反射)の扱い方が自分の知ってるモデルとちょっと異なり、調査が必要になったのでメモ。デフォルメで不正確になっているところがあるかもしれないがご容赦。

続きを読む

「ドッグ・ファイター」(超時空要塞マクロス挿入曲)の弾き方

80年代に超時空要塞マクロスを見ていた(当時の)子供であればこの曲は覚えがあるだろう。羽田健太郎先生の「ドッグ・ファイター」である。この曲のギターのメロディーを10年ほど前に弾けるように練習したのだが、以後曲に対する理解も変化したので、この度改めて採譜しなおし、バッキングトラックも最新の音源で自作し、チュートリアル的な動画に仕立てて公開してみた。

【弾いてみた】ドッグ・ファイター / 超時空要塞マクロス (ギタータブ譜 & 練習用トラック)【君も弾ける】 - YouTube

youtu.be

私は当初この曲はロック的に解釈してかっちりリズムで弾いていた。しかしその後他の人の演奏を聴いたり曲について調べたりしているうちに、リズムや節回しに独特の揺れがあることがわかった。それもそのはず、オリジナルの演奏はロッカーではなくジャズギタリストで、今も現役で活動されている直居隆雄氏という方だそう。そういう背景を尊重すると、解釈や弾き方も若干変わってくる。 

本記事ではこの「思いのほか奥の深い」ギターパートの弾き方について少し解説を加えてみることにする。まぁ本来こういうのは「見て・聴いて好きなように弾いてください」でよくて、細かい解説は正直野暮で私の趣味ではないのだが、これで上の動画のチュートリアルとしての有用性が上がるのであればやってみる価値はあるかと思う。

続きを読む

HM3301で山火事ベイエリアのPM2.5濃度を測る

現在カリフォルニアは史上最大規模と言われる山火事の最中である。うちの近所はこんな様子↓で、二週間程燃え続けてやっと70%鎮火と、だいぶ収まってきた感じではある。

f:id:tomoto335:20200902074349p:plainhttps://www.fire.ca.gov/

ところがその結果大気汚染がひどいこと↓になっている。これでも先週よりは少しはましになりつつあるのだが、健康に影響が出る(Unhealthy)と呼ばれるレベルである。 

f:id:tomoto335:20200902075059p:plainhttps://www.purpleair.com/

このような状況だと、コロナ対策で外気を吸う機会は少ないにしても、窓を開けて換気をすべきかどうか(ちなみに私はエアコンのない家に住んでいる)とか、室内でもマスクをすべきかどうかとか、いろいろ判断に困る。そもそも窓を閉めた状態で汚染はどの程度室内に入り込むのかも、まったく知らないのである。

また、この汚染度の数字は日や時刻によって大きく変わる。あるとき真っ赤だったのが夜になると急に緑になることもある。適切な判断をするにはリアルタイムにデータを知りたいという気もする。

というわけで、センサーを入手してポータブル大気汚染度測定器を仕立て、これらの疑問に答えられるようになってみよう、というのが今回のお題である。下の写真はM5StickCとM5Atomを使って作った完成品と、そのデモビデオである。

f:id:tomoto335:20200902162127j:plain

https://youtu.be/89IInh19yVU

続きを読む