家に帰り着くのは何時です。どのような人に対しても、その部分は不変で、必要不可欠のようだ。そこで共感を得られるかどうかが彼にとっての一番の心配事なのである。驚くべきことに、その報告と軽い挨拶だけで電話が終わることもある。ある時、電話の相手は気の合う友達だ。会話は、この前に遊んだときのエピソードについて思い出しながら話すことから始まり、次に遊ぶことを約束して終わる。ある時は学校の先輩だ。彼は世間一般の多くの人と同じように、上下関係なく人と親しくなれる一方で接する上では上下関係を重んじる。会話の中程から終わりまで、話の主役は常に先輩側である。これが人間の上下関係というものだ。私は彼の電話する様子を観察して文章を書くことで時間を潰している。どちらのほうが有意義で、どちらのほうがそうでないという関係はない。どちらか一方が優れているということもない。私の文章は彼の行動に依存しているが、それと同時に、彼の行動の永続性も私の文章に依存しているのである。彼の電話の相手のほとんどは電話が切れたあと、すぐに彼との電話のことを頭の隅に押しやって別のことを考え、何日か立つと忘れてしまうからだ。以上が、ある2人の人間の時間の潰し方である。01:32人間の暇な時間の潰し方Tweet広告を非表示にするコメントを書くもっと読む2017-11-14クジラータとモチラータクジラータは反生殖主義者である。両親にその旨を伝えたときには彼らは少し悲しそうな顔をしていた。あれから「孫の顔をいつか見たい」と言うことはなくなった。クジラータはパイプカットの施術を受けた。将来の自分の意志に自信が持てなかったからだ。22歳の誕生日のことだった。クジラータは頭が痛い。最近、寝ても覚めても頭が痛い。こんなに頭痛薬を飲んでいるのに。クジラータは腹が痛い。下腹部はモチのように腫れ(かすかに赤い)、触ると鈍痛がする。始めの頃は無視していたが、どんどん大きくなってゆく。クジラータは病院に行った。主治医の先生に紹介してもらった大きな病院だ。検査が終わり、病室の椅子に座らされた。先生が検査結果を見ている。「どうやら妊娠しているようです」クジラータは自殺した。モチラータは今年で27歳になる。versionYayakaプロトコルは分散SNSのためのプロトコルです。この記事では、これがなぜ作られて、なぜ良いのかを説明します。脱中央集権は自由を得るための最初のステップです。独占プラットフォームはあなたの自由を奪うことがあります。民主化は自由を得るための第2ステップです。Yayakaプロトコルは独占プラットフォームを複数の独裁プラットフォームには分割しません。小さなサーバーでのネットワークへの参加はそれぞれのサーバーが分散SNSのすべての機能を実装する必要がないことを意味します。それぞれのサーバーは最低限の機能だけを実装します。階層化されたプロトコルによる高い拡張性は同じ目標をもつサーバー同士で協力しながら独自に拡張することが可能ということを意味します。前述した目的を達成するためにYayakaプロトコルは以下の特徴を持ちます。サーバー間を自由に移住できる。それぞれのサーバーは分散SNSの一部分を実装する。サーバー間の通信の方法はソケット通信やHTTPSなど任意のものが使える。追加のプロフィール属性やユーザーによるイベントの種類、コンテンツの種類は上層のプロトコルで定義される。Graphサービス、Presentationサービスの4つあります。それぞれのユーザーはIdentityサービスで登録を行い、他のサービスを認可します。Repositoryサービスはユーザーによる投稿やお気に入り、リポストなどのイベントを保存します。Graphサービスはユーザー同士の関係を保持し、イベントを配信します。PresentationサービスはウェブフロントエンドやAPIを提供します。Graphサービスにイベントを配信し、用途に合わせて複数のPresentationサービスを利用することができます。Repositoryサービスが不当な検閲を行ったり、PresentationサービスがUIやAPIの改悪を行ったらすぐに離れることができます。分散ウェブアプリケーションのためのメッセージングプロトコルです。それぞれのサーバーはYMPの上層プロトコルとして複数のConnectionプロトコルやMessageプロトコルを実装します。Connectionプロトコルはどのようにしてサーバー間で通信を行うかを定義し、Messageプロトコルはアプリケーションがメッセージの交換によりどのように動作するかを定義します。YayakaプロトコルはYMPのMessageプロトコルの一つです。登録ユーザーがどのサーバーで登録するかを決める。ユーザーはそのサーバーに信頼されたPresentationサービスの一つにユーザー登録のための情報を入力する。Presentationサービスは登録を行うサーバーのIdentityサービスにメッセージを送信する。Identityサービスはユーザーを作成する。フォローユーザーがPresentationサービス上でフォロー操作をする。Graphサービスの一つにメッセージを送信する。Graphサービスにメッセージを送信する。Graphサービスはフォロー関係を保存する。イベントの作成ユーザーがPresentationサービス上でイベント作成操作をする。Presentaitionサービスはそのユーザーが認可したRepositoryサービスの一つにメッセージを送信する。Repositoryサービスはイベントを保存する。Graphサービスにイベントを配信する。Graphサービスも自分を購読しているサービスにイベントを配信する。現状YMPの定義はほとんど完成しています。現在はYayakaプロトコルとElixirによるリファレンス実装を同時進行で進めています。以下が今後の計画です。最初のConnectionプロトコルを作る。YMPの上層プロトコルを登録する分散レジストリのMessageプロトコルを作成する。分散GitホスティングサービスのためのMessageプロトコルを作成する。Organizationがあります。気軽にIssueを立ててください。BloggingTweet広告を非表示にするコメントを書くもっと読む2017-05-28kuyさんと話したはじめに以前からお会いしたいと思っていたkuyさんに会って話をすることができた。色々なことを話したので備忘録的にブログに書くことにした。以下には私の考えや思ったことが含まれるので、実際に会話したときの結論やkuyさんと共有した考えというわけではない。ReduxReduxのコンセプトを破った方がうまいこといくならそうするべきか、みたいな話をした。後からredux-thunkには「別に無理して守る必要は無い」というメッセージが含まれているのかもしれないと思ったりした。ReduxとReactReduxかReactのどちらが将来的に技術的負債になりやすいかでいうと断然Reactじゃないかみたいな話。redux-sagaでのsagaの作り方よりもReduxのreducerの作り方のほうが難しく感じる人がいて驚いた話などをkuyさんに話した。各個人が普段やっている分野によってどちらの方が教育コストが高い/低いというのが逆転する場合があるみたいな話や、習得が簡単に感じたとしてもちゃんと理解して使えているかは分からないみたいな話をした。Reduxルーターライブラリ合戦kuyさん作のredux-towerと私のredux-pagesの話。redux-towerは解決すべき問題に出会う機会が少なくてなかなか進まないという話だった。redux-pagesはもうほとんど完成形だが、使っているpathのテンプレートエンジンに多少不満があるので別のに乗り換えたいと考えている話をした。bouzuyaさん作のbathが良さそうという話になった。ElixirとPhoenixElixirやPhoenixについて聞かれたので、WebサーバーのようなErlang/OTPが向いている分野ではElixirは本当に書きやすいという話をした。Channelsが便利。オートマトンオートマトンの魅力や可能性などについてkuyさんに紹介してもらった。オートマトンを使って最近ボトルネックになりつつあるマシンなどの全体に対して適用されるようなエラー対策(メモリのエラーチェック等)の必要性を無くし、コンピューターの処理速度を更に向上させることを目指す研究があるみたいな話だった(と思う)。OcamlOcamlとかReasonとかの話を聞いた。Ocaml製Webサーバーを作る厳しさについての話など。KerasKerasを使って色々やろうとしていることやKerasとChainerについてよく言われる話を紹介した。一応Keras作者のツイートも紹介した。