学生の備忘録なブログ

日々のことを忘れないためのブログです。一日一成果物も目標。技術系はQiitaにあげるように変更しました。

ネットフリックスで色々観た

「私立探偵ダークジェントリー」

www.netflix.com

ロード・オブ・ザ・リングのフロド役で有名なイライジャ・ウッドが主人公。

ストーリーは謎が謎を呼ぶ、推理アクション?

自分は見たことないが、「ツイン・ピークス」が起源のものらしい。

テレビドラマ「トリック」「SPEC」「熱海の捜査官」などが同じタイプであると思う。

謎が謎を呼ぶこういったタイプのドラマは自分は大好物なのだが、これも面白かった。

全体論探偵、全体論暗殺者などを自称する登場人物たちが出てくる。

このタイプのストーリーは、謎を作るために因果関係が明確に説明できない因果関係が起きる。それを登場人物のセリフで自分語りさせてしまうのは面白かった。

全体論的にAとBはつながっている」という具合に視聴者に謎を謎のままに受け入れさせて、物語の最後にその因果関係を説明する。

ただ、こういったタイプは途中で謎にうんざりして見るのをやめてしまいがちだ。この作品はもうちょっとご褒美的なものを増やしてもいいと思った。

日本のドラマは小ネタを挟んでくれるので、おやつ感覚で気分をつなぐことができるが、Netflixは全世界的に配信するのでそういった小ネタ(特にローカルネタ)を仕込みにくいのかもしれない。

ただ、そういったときに美少女を画面に入れてなんとか画をもたせるということを日本だとしがちだが、そんなことはなく結構頑張っていた印象がある。

ラブ、デス&ロボット

オムニバス形式で「ラブ」「デス」「ロボット」というテーマで様々な作品が短くまとめられている。ぶっちゃけただのSFもある。

一番最初の人形ロボットが荒廃した地上を歩くとき、"鉄の足が頭蓋を踏み抜き、そこからなめるようなカメラアングルでロボットの顔"という「ターミネーター」オマージュをしていて心を掴まれた。

www.netflix.com

許されざるもの

www.netflix.com

クリント・イーストウッドって見るたびにしわくちゃでずっと老け顔の印象があった。しかし、スクリーンのなかではめちゃくちゃ渋い顔をする。あの顔の深いシワは深い憂いがあらわれたものなんだと思わせる。しびれた。

  • 世間一般にも評価が高いらしい

    「第65回アカデミー賞」では9部門にノミネート

それまでも西部劇をやってきたクリント・イーストウッドは、それまではあまり評価されていなかったらしい。

と言うよりも、西部劇は下に見られがちのようだ。1900年代初頭に"ホースオペラ"というB級西部劇の蔑称があり、それを脱却するリアル志向の映画が1950年代までに作られたらしい。しかし本当の西部の歴史を知るものが少なくなるにつれリアル志向としてのエネルギーは再び失われた感がある。(推測)

西部劇=カウボーイというものは、西部開拓時代つまり19世紀の1860年~1890年を指すものだ。 *1

こんな短い間の出来事をこんなにも話題にするのは、その出来事がアメリカ人にとって象徴的だからだ。

開拓者精神、自警団意識(ヴィジランティズム)、カウボーイ、賞金稼ぎ...

こういったものが表す精神が現在も重要だと感じるから何度もそれを思い出すために西部劇を見る。(アメリカの憲法が銃規制をしないのも同じ理由でしょう)

1993年という年に公開されたこの作品に対してそれまでのクリント・イーストウッドのフィルモグラフィでは最高の評価で迎えられられたのも、むしろ現実ではいままでの価値観が通用しなくなったから懐古するという意味で参照するということも含めているのだと勝手に思っています。

追記

評論はこの記事が面白かったです。

www.reviewanrose.tokyo

確かにそれまでの西部劇の脱構築(脱構築ではなくアンチテーゼ?否定?)をしているという構造でした。

途中で伝説のガンマンの逸話を徹底的に否定する保安官のシーンも、それはそっくりそのまま西部劇というアメリカの神話を否定するというメタ的な構図になっていました。目的のカウボーイを殺すときに手に汗握る銃撃戦というのもありませんでした。不意打ちで、ふたりとも丸腰でした。これもそれまでの過剰に表現されたカウボーイ像とはかけ離れていました。

ただリアル志向というわけではなく、徹底的にかっこよさを否定するという点が意図的でした。リアル志向でもかっこよくしようと思えばいくらでもできるからです。

特に評論の中で面白かったのは、ラストの復讐の場面です。

ラストの復讐の場面ではそれまでの否定の文脈からはずれて、むしろオールドタイプの西部劇をやるという構図になっているという指摘はたしかにそうだなと思いました。

それまでの否定が嘘のようにカウボーイをします。

物語的には徹底的に西部劇的な魅力を否定するので視聴者はお預けを喰らっていますから、すごいカタルシスのあるラストシーンです。

しかしではこれまでのテーマと思われていたアメリカの神話「西部劇」を否定する、終わらせるという文脈から外れたラストシーンはどう解釈するべきなのでしょうか。

先の評論では、「西部劇の神話により、現在にまで続く問題が起きている。しかしその問題を解決するためにその西部劇的な正義を貫徹する」ということだと解釈されていると私は解釈しました。

クリント・イーストウッドは保守です。(アメリカの保守は基本的には先に述べたカウボーイ精神の延長線上にある。)

私はクリント・イーストウッドが西部劇というものを丁重に葬るために、最後に華をもたせたのではないかと思いました。

やっぱり保守なのでしょうね。クリント・イーストウッドは。

今日あったいいこと

ライフハック

芸人のオードリー若林さんもやっているとらしい、今日あったをいいことを3つ書くということをやる。

先日読んだ、「データの見えざる手」にも書かれていた。あれでは週一回でも幸福度と能率が上がったらしい。

今日あったいいこと

就職先から来たメールを返せた。 Rustを書くことができた。 「なぜオブジェクト指向でつくるのか」を4章まで読めた。 図書館へ行って、アルゴリズムの本を借りた。 洗濯物を干した。 麻婆ラーメンを食べた。

treeコマンドをTUIにする

現状

なんとなく、Treeをそのまま移植すれば、TUIになるんじゃないかと思ったが、案の定ずれて表示された。

├───"Cargo.lock"
                ├───"Cargo.toml"
                                ├───"README.md"
                                               ├───"src"
                                                        │   ├───"main"
                                                                      │   └───"main.rs"
                                                                                       ├───"target"
                                                                                                   │   ├───"debug"
                                                                                                                  │   │   ├───"build"
                                                                                                                                     │   │   ├───"deps"
                                                                                                                                                       │   │   ├───"examples"
                                                                                                                                                                             │   │   ├───"incremental"
                                                                                                                                                                                                      │   │   ├───"tree-cd"
               │   │   └───"tree-cd.d"
                                      │   └───"rls"
                                                   │       └───"debug"
                                                                      └───"tree-cd.code-workspace"





草。

TUIツールと言う言葉を知った

tree-cdコマンドの改良

skimというfzfみたいなrustによるファジーなファイル探しのライブラリを、tree-cdを「モードを持つアプリ」にしようと思って読んでいた。

そこで、自分が作りたかったのはTUIコマンドという分類であるとわかった。

TUI

GUICLIの中間に位置する。 UIがCLIよりもリッチだが、文字による表現の粋を出ない。

チュートリアルを発見した。

TUIをRustで実装するためのライブラリを探していたら、チュートリアルを発見したのでやっていこうと思う。 

github.com

参考文献

Building a terminal application with tui-rs - Qiita

GitHub - fdehau/tui-rs: Build terminal user interfaces and dashboards using Rust

「データの見えざる手 ウエアラブルセンサが明かす人間・組織・社会の法則 矢野和夫著 草思社」を読んだ

理由

研究室にあったのをなんとなく手にとって面白くて最後まで読んでしまった。

8時から13時ぐらいまで読んだから5時間ぐらいで2回くらい目を通した。

ワンフレーズ要約

「幸せは加速度によって測れる」

読書メモ

紙1枚フレームワークを使って要約したが、うまく行かなかった。 特に、why,what,howの部分がどれについて書くのか忘れてしまった。

面白かった点

加速度センサ等ウエアラブルセンサを使って、人間の行動と生産性や幸せ=ハピネス、運の関係を実験を行い実態を明らかにした上で、物理学などの無生物に当てはめる既存の数理モデルと同じであるということを明らかにした点。

読書メモ

  • 人間の行動は「活動予算」がある
  • 活動予算は周波数ごとに違いがあり、U分布に従う
  • 幸せの要因は50%遺伝、環境や達成10%、積極的行動選択40%
  • 成功、失敗のいかんに関わらず、なにか行動を起こす事自体が幸せを生む
  • 幸せな人は37%生産性が上がり、創造性が300%上がる。
  • 組織の生産性は、従業員のスキル、パーソナリティではなく、会話の活発さに依存する
  • 銀行で休みを同時に取らせることで、生産性があがった。
  • 自分の身体を活発に動かしやすい環境づくりをすることが重要
  • 身体の活発性とハピネスは相関する
  • 身体の活発性は伝染する
  • 活動予算はU分布という対数的な減少する線形グラフですべて表わせる
  • 1分間60回の運動は活動全体の半分の時間
  • 1分間180〜240回の運動は活動全体の1/16の時間
  • 身体を継続的にやや早く(2~3Hz=240回/分=歩行のリズム)を10分程度続くことでフローに入れる
  • 運はソーシャルグラフで表せる
  • 「運がいい」とは目的達成のための材料がグラフ上距離が2つ以内であること
  • リーダーの指導力ソーシャルグラフで表せる
  • グループの結束力とはメンバーが作るソーシャルグラフ上の三角形の合計
  • リーダー力と現場力は二律背反ではない
  • 定量的な計測データは人間の認知の限界を超えて現実の真実の姿を明らかにする
  • トラックデータを毎週見る(ドラッカーより)
  • 「する必要のない仕事」をなくし、「他の人でもやれること」を人に任せ、「コントロール下にある自由な時間」を集めて重要な成果を生む
  • 著者はライフシグナルズというアドバイスシステムを構築した
  • エントロピー増大法則とは、自由が許されるように方向付けられているということ
  • 秩序だった世界に対しランダムな操作を行うと、エントロピー増大法則にしたがい、U分布が現れる
  • 1/T則(=P/T則)とは任意の操作が成功する確率Pがあるとき、それが時間Tの間を開けて一度成功する確率は1/T倍である
  • 人間の会う感覚はその重要性に関わらず、1/T則に従う。
  • 古代ギリシャでは実時刻を「クロノス」、感覚の時間を「カイロス」として明確に区別した。
  • 時間の密度は1/T則に従って濃淡がある
  • 1/T則に従って時間あたりに重要な出来事を意図的に詰め込むことが重要

これから実践したいこと

  • 1/T則を意識して、重要ならば即時対応する。
  • 1週間に10分「よかった」ことを3つ書き出す。
  • 活動予算を使い切るために、行動の周波数をモニタしてみる

イノセンスを失ったと感じるとき

日本語は明治維新以降の知識人達の頑張りなどによって、漢文の知識などを応用して相当する単語を組み合わせたりして、外国語を翻訳して取り込むことが上手な言語です。

本来は日本にはなかった概念も昔からあったかのようになじませて来ました。

しかし、言葉の意味というのはその言葉から形を変えた時点である程度失われます。

ですからその言葉の意味を絶対に過不足なく伝えたいと思ったら、その言葉の言語でその言葉を使う。つまり翻訳せず伝えるほかないと思います。

しかし、それでは実世界では意味がないので、音を当てはめてカタカナ語にしたり、相当する意味を当てはめて新しい熟語を作ったりします。

長々と前置きしましたが、今回私はイノセンスという概念を表す言葉とそれでしか表せない自分の心象を説明したいと思います。

引退したアイドルが復活した姿を観たとき

私はメディアを通して有名人を見たり、久しぶりに知人にあったりしたとき、この感覚を覚えることがあります。

その感覚とは「この人はイノセンスを失ったな」という感覚です。

イノセンスは日本語では純潔と訳されます。しかし、これでは私の伝えたい意味とは少し違った意味が加わってしまいます。

具体的には、貞操を失ったという意味だと感じてしまう人もいると危惧します。

しかし私が感じるのはそうではなく、「イノセンスを失って普通の人になったな」と感じるということです。

この場合のイノセンスを純潔と置き換えてしまうと、単純にアイドルという意味と結びついて下品な意味になってしまいます。

innocence: 無罪、潔白、純潔、純真、無邪気、天真爛漫(らんまん)、単純、無知、無害、無毒

chastity: 肉体的な貞節

アイドルなどは特に感じます。女性も男性も区別なく、イノセンスが失われてしまった様を見て悲しく感じることがあります。

なぜなら、それらをもう一度取り戻したひとを自分は見たことがないからです。

もちろん、それにより以前にも増した人気が出てくることもあるでしょう。

しかし、それまでのイノセントな存在感は失われたので何も表面的には変わらなく見えるのに、別人のように感じてしまい冷めてしまうということが起きるのです。

これは私がいわゆるタレントに対して幼児性を愛するタイプの消費行動をするために、タレントが方向転換をして幼児性を捨てて、洗練された表現あるいは大人としての自立を表すメッセージ性を表したような場合に感じるのではないかと自己分析していました。

(いわゆるロリコンなんじゃないかと自己分析していました。*1

しかし、自分はまずロリコンではないですし、特にイノセンスを失ったと感じる対象の人が自立したり、幼児性を脱したりした場合でなくとも感じるので、どうやらそうではないのだと思い直しました。

結局わからないので、この「イノセンスを失ったな」という感覚を他の人が感じることはないのかと思い、ブログに書き綴りました。

自分に対する自信をまだ一度も失っていない

今の考えでは以下のようなときにイノセンスを失ったと感じるのではないかと思っています。

その人が自分に対する自信をまだ一度も失っていない状態を崩されて、それを受け入れたとき。

なにかカリスマと呼ばれる人はある種の教祖と同じく、自分の世界とその世界を動かす法則について絶対の自信を持っているものです。

あるいはアイドルという人たちは、物心ついた頃から自分が一番魅力的で一番注目されていたいと思っています。

しかし、アイドルが集まれば優劣が生まれて、その自信を揺るがされてしまいます。

それに対して抵抗し、あるいは自分が近い将来、絶対に一番になれるという自信を持ってなんとか頑張るという人がいます。

一方で自分の限界に見切りをつけ、現状の中である程度満足の行く成果を出そうと努力の目標を変える人もいます。

この後者の人のように、心からの自信を失ってそれを受け入れてしまったときに「ああ、この人はイノセンスを失ったのだな」と感じるのではないでしょうか。

おわりに

ポエムを久しぶりに書きました。私自身、アイドルにコミットはしたことないですが、人並みにかわいい女性とかは好きでメディアを通して見たりするのですが、その時感じる感覚が長年あったので、整理するために書きました。

  • 芸人、アイドル、諸々のタレント、芸術家等、ハレとケにおけるハレに分類されるような非日常に生きる人々に対してよくイノセンスの有無を感じます。
  • 人は世界を直接は見れません。脳がつくる心象を見ています。自分が他者に与える心象を最大限に美化させるのは、その人が自身の魅力を信じていることが重要です。
  • カリスマ教祖が信者に信じ込ませるとき、一番信じ込ませることができるのは教祖本人がそれを信じ込んでいる場合だそうです。
  • アイドルやタレントも心の底から自分の魅力を信じているとき、ポテンシャルが最大限に発揮されるのではないでしょうか。

*1:ロリコンとは少なくとも婚姻可能な男女には使われるべき言葉ではないが、ここでは通俗的な意味で使う。

treeコマンドをRustで書いた

勉強のためにtreeコマンドをRustで書いたよ

github.com

treeコマンドの要旨

treeコマンドはlsコマンドの再帰的な表示を木構造で表したものです。

これはこれまで意識したことはなかったのですが、コードを読んで確かに再帰的な処理で事足りるなと思いました。

prefix

prefixに対して空白などを追加していくことでディレクトリを右にずらしていくことにより、再帰的な深さを表すことができます。

Rustでコマンド自作 Treeコマンド編

作業メモ

  • よくわからない。
  • コマンドラインのパーサを使わない予定だったが、正直面倒なので使ったほうがいいのかもしれない。

    • 参考にしているtree-rsはclapを使っている。でもstructoptはclapをラップしている。
    • deriveマクロにも対応していてチュートリアルが押しているので、初心者むけなんだろうと考えずに使うことにする。
  • データを扱うので、構造体にする

    • structoptで引数を構造体optにした。
  • debugマクロを入れることで構造体のprintをできるようにした。

  • どうやって表示するか

prefix + |---- + filename

ここで、fileがディレクトリだった場合、再帰的にもう一度移動してディレクトリを出力する。

  • 必要な関数

    • Treeクラス
      • init関数
        • 最終的にどれくらいのディレクトリ、ファイルがあったかを表示させるため
        • dirCount変数
        • fileCount変数
      • レジスター関数
        • initで初期化した変数をインクリメントする
      • サマリー関数
        • initで定義した変数を最終的に表示する
      • ウォーク関数
        • listdir関数でdirectoriryのエントリーを取得してfilepathesリストに入れる。
        • filepathesをソートする
        • len(filepathes)でindexを取得する
        • indexごとにディレクトリの前に入れる表示させかた、再起のさせかたを変更
        • absolute関数
          • absolute = os.path.join(directory, filepaths[index])
          • directory+ディレクトリエントリ
          • 変数absolute、その時その時の処理をするためのpathを持つ変数
  • ウォーク関数の詳細

if index == len(filepaths) - 1:
    print(prefix + "└── " + filepaths[index])
        if os.path.isdir(absolute):
                self.walk(absolute, prefix + "    ")
        else:
            print(prefix + "├── " + filepaths[index])
            if os.path.isdir(absolute):
                self.walk(absolute, prefix + "│   ")
  1. もし最後ならprefix(初期値"") "└── "

    1. かつabsoluteがディレクトリなら再起でwalk(absolute,prefixに空白を足す)
    2. それ以外なら"├── "
      1. もしabsoluteがディレクトリならwalk(absolute,prefixに"│ "を足す)
  2. filter_map()

  3. prefixをString::from("")で作成する

    • hello.push('w');で後々伸ばせる。
  4. フルパスではなく、ファイル名を表示する

    • let filename = path.file_name().unwrap().to_str().unwrap();

ToDoスタック

  • [x] 構造体optを作る
  • [x] optからpathを表示する
  • [x] pathの前にprefix(階層を表す記号)をどうやって挿入するか調べる。
  • [x] 再起させずに、まずはファイル名の前にprefixと記号を入れてみる。
  • [x] 必要な関数の概要を理解する
    • [x] pythonのコードを読んで必要な関数の概要を理解する
    • [x] rustのコードを読んで必要な関数の概要を理解する
  • [x] vec<>にpathを入れる
    • [x] resultをunwrapする
  • [x] prefixをString::from("")で作成する
  • [x] paths配列の中身をフルパスではなく、ディレクトリorファイル名のみにする。
    • [x] 一番うしろを切り取る方法を調べる。

重要だけど今じゃないToDoスタック

  • [ ] オプションをパースして取得する
  • [ ] .からtreeを始める(treeの根)

参考文献

https://rust-cli.github.io/book/tutorial/cli-args.html https://github.com/kddeisz/tree/blob/master/tree.py https://doc.rust-lang.org/std/path/struct.Path.html https://github.com/sighol/tree-rs https://github.com/alexanderwe/rs-tree