ぱいぱいにっき

Pythonが好きすぎるけれど、今からPerlを好きになりますにっき

Arduinoをはじめる的なメモ(ハードウェア編)

どうもマコピーです。Perlの人かと思われているかもしれませんが、最近はArduinoPythonいじってます。ハイ。

そんなわけでメモ。

いろいろあるArduino

ArduinoってのはUSBを差してプログラムをかき込んだり、制御したり出来るボード。
むしろArduino IDEとかライブラリとか全部含めたシステムとしてのArduinoって言う意味もあるかも。
用途としてはプロが使うというよりは、ホビーで電子工作やってる人たちが使う感じ。あとアート作品とか作る人が使っているのも見かける。もちろんプロの人達がプロトタイピング用に使うのもある。
いろいろ種類がある。

  • Arduino Uno R3
  • Arduino Duemilanove
    • 私の手持ちのArduino。Unoよりちょっと古い。回路構成が違うけれど同じコードが動く。
  • Arduino Leonardo
    • メインのマイコンチップが平べったいArduino。ワンチップになってる。上の二つがでかい時のPS3で今のLeonardo氏は今のPS3だと思えばOK。一部の仕様が違っててコードがそのまま動かないことがある。あとUSB機能がプログラムで制御できるのでマウスとかキーボード代わりに使うことが出来るっぽい。
  • Arduino Mega
    • Mega氏。ピンがめっちゃ多い。基本的に機能一緒でコードも同じのが動くけれど、なんか同じ機能のやつが2倍使える。意味分かんないと思うのであとで説明。
  • Arduino Due
    • 普通、ArduinoってAVRっていうマイコンがメインのチップなんですけれど、こいつはARMが入っている。その分高いけれどいろいろ機能が豊富だったり、そもそもARMなので計算が速い。
  • Arduino Nano
    • 今まで紹介していたArduinoは後述するシールドっていうコンポーネントを使うため、ボードのサイズがある程度一緒だけれど、Nanoはちがって小さい。ブレッドボードに直接挿して使う用っぽい。ピン数がちがったりとかはするけれど、Unoとかのコードはそのまま動く。あと高い。つらい。
  • Arduino Micro
    • Nano氏ぐらいのサイズでLeonardo氏互換。そこそこ安いし、今度はこっち使おうかな。
  • Arduino Pro mini
    • 最近結構使っている。こいつはNanoよりも小さい。けれどUSBが直接刺さらない。USBが直接刺さらないのでプログラムを書き込むのに書き込み器とか必要。その代わりに安い。あと基板に直接ハンダ付けとか出来るので良い。そんな感じで機器に組み込むようの「プロ用」らしいです。
  • Arduino Pro
    • シールドが使えるサイズのArduino Pro mini。USBが刺さらないUnoとも。

その他FioとかYUNとかあるけれど、使ったことないし、YUNとか技適通ってないから日本で使うメリットないけれど。。。ってなるのでいいかなって思います。
とりあえず初めての方はUNOを買いましょう!

【永久保証付き】Arduino Uno

【永久保証付き】Arduino Uno

その他必要なもの

  • ブレッドボードとジャンパワイヤ
    • ブレッドボードっていうのは穴がボコボコ開いていてそこにジャンパワイヤっていう先っちょだけ硬い線がむき出しの線を挿して、その端っこを別の穴に挿すかArduinoの穴に挿すといろいろ出来るっていうやつです。ちなみにたいていは縦4つがつながっていて横にはつながっていない。ので、分岐が出来る。ハンダ付けとか怖いのでって言う人にはおすすめのデバイスです。出来るだけ大きいのがオススメです。2列とかあるやつ。

  • テスター
    • デジタルテスターオススメです。アナログテスターを読むのは職人芸。本職の人はアナログ好きだけれど。電圧・電流・抵抗値が読めるテスターを買いましょう。抵抗値は必須です。回路を電源に繋ぐ前に電源ピン2つ(VCCとGND)を繋げてゼロだったら危ない! ショートって意味です。リアル炎上しますよ。

  • LEDいっぱい
    • やっぱり何をするにもLEDは便利です。例えば電源付いているか?とかプログラム走ってるか?とかって確認するときに光らせると目で見えて便利。Arduinoみたいな組み込みはプリントデバッグがなかなか出来ない(なにせモニタがない!!!!)ので代わりにLEDを使うのです。Hello WorldもLEDチカチカだしね。

NO.6 高輝度LED(赤色・5mm)

NO.6 高輝度LED(赤色・5mm)

  • 1kΩの抵抗いっぱい
    • LEDって詳しくは説明しないんですけれど、そのまま電源と直結させると壊れます。電流が流れすぎるので、それを制限するのに電流制限抵抗っていうのがいります。とりあえず1kΩ買っとけばOK。


↑1袋100個入り800円は高いな……。秋月で同じのが100円で売ってます。

こんなかんじですかね。あと液晶で何か表示させたい!とかモーターグルグルさせたい!とかあればシールドを買いましょう。

シールド

シールドってのはArduinoの上にバカって載せると簡単にArduinoの機能を増やせるお手軽基板です。LANケーブルを挿せるようになる(=インターネットに繋げられるようになる)イーサネットシールドとかテキストが表示できる液晶が載ってるLCDシールドとかあります。あとモーターを動かすのにはArduinoのピンから出てる電気じゃ足りないので増幅する必要があり、モーターシールドっていうのも売っていますね。USBの電気でも足りないのでDCジャックに電源挿す必要がありそうだけれど。
シールドはたいていライブラリがあるのでArduinoのプログラムの中から超お手軽に制御することが出来ます。便利。

Arduino イーサネットシールド

Arduino イーサネットシールド

よく使うショップ

  • 秋月電子通商 - 電子部品・半導体 【通販・販売】
    • Web1.0感ありますが結構繁盛していると思う(実店舗行くといつもめっちゃ混んでる)お店。定番のやつからなんかよくわからないキットまで売ってるし、なにより安い。さっき調べたら無線モジュールのXbeeが秋月でも売られていて、しかも僕が今まで買っていた千石電商とかストロベリーリナックスよりも安いので、価格戦争や!!!って思って今度からこっちで買おうと思います。
  • せんごくネット通販
    • 秋月よりはゲテモノ少ない代わりに普通の部品を幅広いラインナップで扱っているイメージ。例えば標準ロジックICとか、秋月だとあんまりないんですけれど、こっちだと多い。ただし秋月よりも高めかな(秋月がおかしい)
  • スイッチサイエンス - トップページ
    • Arduino系で強いところ。Arduino本体とかシールドとか売ってます。あとSparkFunっていう海外のサイトのモジュールも扱っていたりして、英語読める人はSparkFunの部品使った作例とかを探してきて使うのも一興では。
  • ストロベリー・リナックス - Exciting Electronics
    • ここもスイッチサイエンスと同じ感じのお店。加速度モジュールとかXbeeとか売ってます。

スイッチサイエンスとストロベリーリナックスは実店舗はないっぽいけれど秋葉原の千石電商で扱っているのでそこで買えます。

  • aitendo
    • キレイ目サイトですがどこから発掘してきたんだって言う小さい液晶とか売ってる少し怪しいお店です。液晶関連は強い。

そんな感じです。ブクマついていたらソフトウェア編とか書きますね。

#isucon 予選でとりあえず10位だった

どうもマコピーです。

詳細 ISUCON公式Blog
結果 オンライン予選 二日目の結果 & 暫定版の本選出場チーム発表 : ISUCON公式Blog
のチームぽわわ2のメンバーです。

昨年のチームぽわわのメンバーのうちkenjiskywalkerおじさんは335さんチームで、acidlemonさんにいたっては出題側に回ってしまったのでぐぬぬと言いつつ、「誰か出ませんか〜誰か出ませんか〜」と言ってたら@さんと@氏が一緒に出ようと言ってくれたので参加できました。めっちゃありがたい!! そしてうれしい!!!!!!!!!!

で、そんな感じでうろおぼえながらなにやったかをツラツラを書いていきます。

担当

  • 僕はDevOpsで言うOpsな部分を担当。インフラ周りとかミドルウェア入れ替えとか。あと計測
  • shogo82148氏はredisとか主にアプリとかを見てもらいました
  • 9reさんの担当は前半はMySQL周りで後半はいろいろ隠し球を用意していましたが今回は炸裂しませんでした。次の秘密兵器なので秘密です!!!

最終的な構成

  • ベースはPerlのものを使用
  • 元々はApache + Starman + MySQLの構成だったのをNginx + Monoceros + Redis + MySQL構成に
  • 一部クエリのRedis化とテーブル非正規化、インデックス張ったりとか、そういう系のこと。
  • Markdownとかは予めレンダリングしたものをRedisに入れるだったかな。
  • markdownが外部になっているの、なんかコスト高そうだったので、Text::Markdown::Discountに置き換えた。でも@氏によるとText::Markdown::Hoedownのほうが速いらしい。マジか。
  • 後述のように僕はコード殆ど見てないので@氏、解説お願いします。あと氏のRedis::Fastが炸裂した。1000ぐらい上がったような
  • ベンチのworkloadは4でMonocerosはmax-workerが16ぐらい。nginxがworkerが32っていうめっちゃ多い数で安定するというよくわかんない感じだったので、要検証。午後はこの辺りをひたすらやってた

僕の方針と役回り

  • あまりコードは見ない
  • ベンチ回してDevel::KYTProfとかhtopとかdstat見てどこがネックになってるか探して叫ぶ。すると直る。すごい

なので元々僕はDev側の人間なのですが他の二人が遥かに実装力があるので僕は下回りに注力という感じです。あと決める人。方針とかはヒアリングしながら決めていった気がする。あとデプロイする人という感じですね。

見なかったもの、気付かなかったもの

  • /etc/my.cnf 全く手を付けなかったウケる
  • 不要なクエリ類、一部残っている
  • memcachedのようなものは完全放置。書き換えたから無くなったのではなく手を付けなかった。ポート番号からの先入観はいけないですね。htopでmemcachedがないのを変に思えばよかった。
  • フロントでキャッシュする系のやつは結局できなかった

開発の進め方

  • @氏のgithubのプライベートリポジトリを拝借してコードとか上げた
  • Redisブランチ炸裂時は一旦サーバ側でcheckoutしてテスト書けてベンチ書けていいねってなったらmasterにマージという感じ
  • いい具合に分担できてよかった
  • インスタンスガチャはやっていない

とまあこんなかんじでした。僕としては初めてのAWSでインスタンスの立ち上げ方とかめっちゃ勉強になりました。AWSめちゃくちゃ便利だ。すごい。

というわけで、たぶん大丈夫だとは思いますので、本選に向けてチームメンバーといろいろ作戦を練っていきたいと思います。

YAPC::Asia 2013にいってきました #yapcasia

見た目が良くなるようにタイトルを去年と統一しました。どうもマコピーです。

今年もYAPC::Asia 2013にいってきました。ちょっとぼっち気味だった去年とは違って、Hachioji.pmの人たちとかとワイワイやってました。ワイワイ

ちょっと長くなってしまったので、めんどくさい方はブクマだけぽちっと押していただけると幸いです。

で、お仕事の関係で前夜祭は途中からで、1日目は昼から潜入したのでLT以外のトークは以下のものしか聞いておりません。

Perlの過去と未来 @

この前のPyConでも「Perl使いで〜す」って言ってたら「Perl6いつ出るの?」って言われるんですよね。かつて出ないものと言われていたRuby2.0であったり、Python3であったり、LL界隈では彼らは華々しくデビューしているわけですが、Perl6だけは出てこない。
で、僕はPerl書き始めてPerl6に関する話を聞いて、彼らにこう返していたんですね、
「Perl6とPerl5は別物」
これは正解で、全く別の言語ともいうべき変化を遂げているしまさに別言語って言い張ってるし。
それでも彼らはしつこく聞いてくるので「Perl6永遠に出ないから忘れてくれ」って言ってたんですけれど、このトーク聞いたらもうなんかそう言ってられない感じがしました。

何故Perl6じゃなくてこのトークのタイトルが Future Perl なのかというと、Perl6って仕様はちゃんとしたっぽいのがひとつあるけれど、その実装を目指す処理系はいっぱいあって、まあ玉石混交なわけで、このトークでもありましたけれど、

$sum = [+] 1..100;

みたいなpythonとかhaskellで言うreduceみたいなことをやって、これだと結果が5050って出るんですけれど、RakudoStarっていう処理系とParrotっていうVM使うと今だと1秒弱かかるっぽいです。

[- o -] $ time perl6 -e 'say [+] 1..100'
5050
perl6 -e 'say [+] 1..100'  0.61s user 0.14s system 99% cpu 0.750 total
[- o -] $ time perl -E '$a += $_ for 1..100; say $a'
5050
perl -E '$a += $_ for 1..100; say $a'  0.02s user 0.03s system 51% cpu 0.111 total

参考: Perl6 の速度にかんするメモ - 20130404 - blog.64p.org

でも最近はRakudoとかParrot以外にも「未来のPerl」的なプロダクトの開発がいろいろ興ってきてそれを総称して「Future Perl」って言ってるっぽいです。もちろんPerl5の未来に関してもそれに含まれる。
っていう歴史的な話をした後に今のFuture Perlについていろいろ。
個人的にめっちゃ気になってるのはMOP::ReduxPerlでclassっていう構文が使える。しかもコア! でも5.20では入らない模様。ああ、待ち遠しい。
でも、同じことはMouseやMooでできるけれど、他の言語のようなくせのないOOPができそう。さらにコアモジュール目指してるのは、意味合いとしてヤバイ。
あとAcme::InOperatorっていうin演算子を作る(中身はScalar ~~ ArrayRefのスマートマッチをしているだけw)モジュールを作ろうと思って挫折した身としてはinfix operatorの実装が出来る用な感じでPerlをやっていただくの、非常に切望しております。。。Acmeのためですがw。infix operatorはPerl6では簡単にできるし、こういうのいいと思う。よい、最高。
まあそんな感じで最近のPerl5も内部APIがいじりやすく拡張しやすくしているっぽいです。CPANのモジュール使えばPerl6みたいになっちゃったけれど、みたいなのもPerlでは許されるしすごい。

あとPVIPとかSeisとかtokuhiromさんのモジュールのデモもあってめっちゃ勉強になりました……。plenvにseisとか入っていたの、ちょっと面白かった。解説して欲しいです。

これからのPerlプロダクトのかたち @

こっちもFuture Perlの話題です。
goccyさんはperl5の処理系の一つ、gperlっていうのを作っているんですが、最近更新ないやんか!っていうセルフツッコミから入り、gperlのコンポーネントを切り出してComipler::LexerとかCompiler::ParserとかCompiler::CodeGenerator::LLVMとか作ってるらしくて、最後にCompiler::CodeGenerator::LLVMを使ったPerlMotionのデモもありました。
で、何故切り出したか。
もともとPerlにはPPIっていうPerlPerlの静的解析をするみたいなモジュールがあって、コレを使って何が出来るかって言うと、@氏が作ったTest::LocalFunctionsっていうモジュールがあって、コレを使うとモジュール内で使われていない関数とかを検出してテストがコケる、便利。みたいなやつです。最高。
でもPPIは遅い。なんでかっていうとPurePerlなので……。
なので、Compiler::Lexer、つまりスクラッチで書いたXSのモジュールを使う、@氏が書いたTest::Local::Functions::Fastっていうのもあって、こっちは速い。すごい。
抗争を続けた二人は手打ちをして一つのモジュールに統合されていますが、この二人が仲たがいをするほど、Compiler::LexerやCompiler::Parserは未来を感じさせるモジュールです。
で、LLVMですわ。
LLVMってMac OS XとかiOSとかでは結構普通に使われている仕組みで、フロントエンドっていうやつが従来のコンパイラで、そいつが他の言語からLLVMに直して、バックエンドってやつがLLVMコードを実行するんですけれど、Compiler::CodeGenerator::LLVMが意味するには、LLVMの上にPerlが乗っかれるってことですね!!!

なにそれすごい!!!

だからPerlMotionみたいな「ファッ!?」みたいなものが出てくるわけで。僕だいぶついていけてないです。LLVM勉強しないと……。やりたいことがあるんだ……。

YAPCで得られるモノ

簡単にまとめると

  • さいきんのPerl事情
  • Perlがいかにオワコンでないかの証明
  • Perlをキーワードにつながる人たちとしゃべれる
  • 他の情報も地味に手に入る(今回だと運用とかサーバーとかそういう感じの耳寄り情報
  • 外国人のCPAN Authorが「ハァ〜〜イ」って挨拶してくる
  • 生の@さんとか@さんとか見れる
  • モチベーション上がる、めちゃ上がる

でも

おじいちゃんに「Perlコミュニティは怠慢してる」とか言われたし、Twitterでも「Perlに足りないのはマーケティング」とかも書かれていたので、そのあたりなのかな〜〜〜と思ったし、でもおじいちゃんがPerl入学式に来たのは、少しだけその成果が出たのかな〜とも思いました。あとおじいちゃんと僕とは議論の前提が崩れていたので、そこちょっと今度訂正したいけれど難しいかな〜〜〜。
YAPCは今回で一つ区切りを迎えたっぽいので、今後の展開気になりますね!!!

最後に

まあ、次は、なんか話したいですね。散々行ってますけれど、ハードウェア的な話、したい。ガチじゃなくホビートーク寄りですけれど、僕はそれを仕事で使っていきます。
かなりモヒカンなのに、なんかどっかでトークしているの聞いたことがないと@さんに言われてしまったので、モヒカンではないですが、喋りたい感ある。

そんな感じで、長文書いてしまうほど楽しかったので、こういうイベント事には参加していきたい。というかPyCon参加してたの忘れてた。次は東京Node学園祭かな〜〜〜〜〜〜〜。

ISUCONで一緒に戦ってくれる仲間を募集します。

どうも、お菓子キャラが身についていっているマコピーです。

ISUCON公式Blog

来る11月9日にISUCON3が開催されます。で、予選が10/5もしくは10/6にあります。
その予選、あわよくば決勝まで一緒に戦ってくれる仲間を募集します。

当方、アプリケーション側、それもPerlのエンジニアです。

売り
  • ISUCON2の参加経験
普段やってること
  • ソーシャルゲームの開発・運用
    • Perlアプリケーションのチューニングとか計測
    • MySQLのクエリ最適化
    • memcachedやRedisを使ったキャッシュ
    • nginxまわり
あまりやったことがないこと
  • ミドルウェアのチューニング
    • MySQLのパラメータ 例えばInnoDBバッファの調節とか
    • LinuxのiptablesがあふれるとかSELinuxをオフるだとかそういう系のこと

ISUCONに出てみたいけれど頭数が足りないだとか、アプリケーション側のチューニングをやってくれる人がいないというチームがいれば、よろしくお願いしますという感じでございます。

出るからには勝ちにいきます。

Nephiaは一旦死にます。っていう話

キャッチーな台詞を吐いて客寄せするテクです、どうもマコピーです。

いつか、こんな記事を書いたんですが、
Nephiaの思想について一言 - ぱいぱいにっき

──あれから。
あれから僕たちは例年より暑い夏に狂わされたのか、まだ見果てぬ理想郷(アヴァロン)、もしくはWAFという役割(ロール)を持って荒野に産み落とされた一筋に光たるNephaに、急かされ、そして熱狂し、いくつかの教訓を得て、僕たちは彼女の真の姿を理解するに至った。

黒魔術

僕らは彼女に黒魔術を教え、そして彼女は成長していく。
振り返ると脳内麻薬(アドレナリン)が出ていた僕達は彼女の変わっていく姿を真っ直ぐ見ることが出来ていなかったのかもしれない。

型グロブ、caller、ダイナミックスコープ、シンボリックテーブル、goto、パッケージ変数……

彼女が背負わされた業のようなものは誰の責任でもない。だが、重すぎた。
そこで、僕達は彼女を殺し、そして生き返らせることにした。

Future Nephia - Voson -

彼女の第二章の始まりである。

ytnobody/Voson · GitHub
もちろんVosonとは量子力学上のボソン粒子が由来になっているって言うことらしいですが、某宇宙戦艦のワープ航法も関連していないわけではないようです。
で、VosonはそのうちNephiaとそっくりそのまま入れ替わります。
今までのNephiaはPrimalNephiaとして没します。RIP。

Vosonの特徴としてはコアDSLはグローバルなものがappでその中で使えるのがreqとresしかないというシンプル仕様です。つまりNephia::Liteそのものですね。Nephia::LiteもつまりRIP。
さらにOOPじゃないのは限界があったのでOOP化しております。これにより黒魔術分が減ったのと、プラグインチェイン機構が整理されたのでいろんなプラグインが書きやすくなっております。

f:id:mackee_w:20130902001246p:plain

あずまさん(@)さん渾身のAAがVoson::CoreのPODに書かれております。
こんなかんじでActionでappをくるんでいって最終的にはFilterでレスポンスを加工するような感じです。ちなみに今までのgetやpostなどのDSLはVoson::Plugin::Dispatchに実装されているのですが、ActionChainで実装されています。みんな大好きText::Xslateを使ったテンプレはVoson::Plugin::View::Xslateでrenderっていう名前のDSLをexportsするっていうまあ普通の方法ですね。こんなかんじで従来のDSLをバコバコ追加していく方法もOK。
そうそう、コンテキストが追加されました。生存時間が1つのリクエスト-レスポンスの間だけの入れ物です。Amon2だと$cであったりしますね。こいつはアプリを書く側からは見えないようになっていますが、プラグインで使っていく感じです。

さて、僕はNephiaの思想は変わらないと思っています。ただアプローチ方法をもう少し洗練させただけです。

やり方は何通りでもある。

Perlのこのモットーが示している通り、僕たちは少しなんか違うなって思ったら引き返してやり直せる、そうgitならね、って感じでやっているので、Nephia先生の今後にご期待ください。

Voson::Plugin::TengとVoson::Plugin::FormValidator::Liteは書くつもりですよ。あと@先生のPath::AttrRouterがCPANizeされたらDispatch代わりに使える何かを作って、Ark化を狙っております。えへへ。

あとこの記事偉そうに書いていますが僕は初めのほうで文句をあずまさんに言っただけで、私まだ1行もコードを提供しておりません。えへへ。

MySQL(InnoDB)でFOR UPDATEと楽観ロックを組み合わせるとどうなるっていう件について

はい、どうもマコピーです。

この前、社内勉強会で @MySQL(InnoDB)のロックについての話があったのですが、そこで思いついたこんな感じのこと。



みたいなことを思って、質問して、その場でやってもらったわけでございます。

で、だいたいこんな感じ。

http://ascii.io/a/5144

正解としては僕の予想は間違っていて、ちゃんと楽観ロックとして機能するという感じです。

その場での挙動の推察は、

  1. TXN Aで行ロックを獲得
  2. TXN BでUPDATE。pkのid = 1が指定されているのでブロック
  3. TXN Aでカウントアップ
  4. TXN Aがコミットされる
  5. TXN Bでブロックが解除、ここでvalue = 100の絞り込みが走るものの既に行は変更されているのでアップデートは1行もかからない

みたいな感じか?となっております。たぶんこの辺りの挙動は @ がソースを読んで詳解していただけると信じております。以上。

衝動とは

いつも通りマコピーですが今回は趣を変えて、衝動に任せて文章を書き連ねてみたいと思うのでございますが、さて衝動とは一体なにかという問いに対して僕はスッポリとはまる言葉を持ちあわせていなくて、それでも「同人小説家」かなんてなぶられることもあるわけでございますが、世の中言葉にならないみたいなクサいことはたくさんあって、衝動なんてのも英英辞典に乗り得ないような言葉の一種なのかなと思っていて、たぶんみなさんの思っている衝動と僕の抱えている衝動は全く別のものだと思っていて、ここまでこんな臭う文章を読んでいただいた方には頭の片隅に言葉に結びついたイメージを切り離す動作を焼き付けていただければ万が一僕の言葉が届くかなあとか思っているおこがましい文章なわけでございますが、さて世の中いろんなことがあって、人生もあって、ここで人生論なんて言うものを振り回すわけではございませんが、最近僕は人生って自然との駆け引きなんだなあと思っていて、周りにつらいことがあると人間〜って言ってるおじさんもいるわけですが、そういうつらいことがあったときに僕なにしているかと思うと、自然の摂理〜とか思っていて、あれもこれもただの物理法則で動いているんだ〜とかラプラスの悪魔的なことを考えているわけですが、ラプラスの悪魔はたぶんこれはてなキーワードになっていると思うんですけれど、考えつかれたときははぁ〜俺ら物理法則〜とかたぶん物理学者の人たちとか唯物論の人たちとか思っていたわけで、神はサイコロを振らないなんてかのアインシュタインさんも言ったわけでございますが、さて今ではとりあえずサイコロを振っているようにみえるらしく、ラプラスの悪魔的なモノがいたとしてもそこで計算が狂っちゃうわけで未来予測なんてものは出来ず、あいつ自然じゃね〜とか思っているんですけれど、サイコロすらも自然なわけで、気まぐれな現象とか、サーバとか、電子パーツとか、斜めに叩くとちゃんと点くようになる我が家の風呂場の電気とか、そういうのも自然なわけで、たぶん量子的な何かが関わってくるんでしょうけれど、猫が半分死んでて生きてるのもこれまた自然なわけで、そうやってなんでもかんでも自然現象だと思っていれば、衝動も静まるのかな〜とか思って、本当にちょっと静まってきたわけですけれど、なんかちょっと待てよ自分も自然現象!?と感じて、それは虚無だな〜むなしいな〜とか、そこは勘弁して下さいよ〜って思っちゃうし、観察している俺も自然だとループするで〜〜りかーじょん〜〜〜〜〜〜〜とか思っちゃって、らちがあかないのでこればかりは公理として組み込もうかなあとか思ったらいろいろこの理論は崩壊しちゃってはぁ、情けねえとか思っちゃうわけですね。

いいことばかりあって、ひとつの悪いこと、ひとつのいたずら、ひとつの感情だけで全てひっくり返る。
そんな世の中、糞食らえだと思うけれど、とりあえず自然の摂理だと思って乗り切ろうかなと思うし、僕なんてのは推測するな、計測しろなんて言ってますけれど、推測することが結構多くてなんでかっていうと常に最悪的な状況なのを考えていて、それは結局のところ自分だけしか見えてないんですけれど、だから不便なんですけれど、不完全な人間ダナーって思っていますね、はい。

明日のコミケ、倒れないように頑張りまする。