ʍoɹɐɥsのブ口グ

ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็็็็็็็็็็็็็็็ ส็็็็็็็็็็็

2014年振り返りとか

f:id:sharow:20150104150522p:plain

なにしろアウトプットが無い。ていうか、アウトプットする気がないじゃないか。プルリクなんて実質1件である(一括でも1件)。50件とか100件もやってる人はいったいどうなってるんでしょうか。

Github

  • fix 'Invalid array access' on 32bit linux by sharow · Pull Request #39 · HaxeFoundation/neko

    • これはHaxeという言語に最初から含まれるnekovmというJITインタープリタで、主にhaxelibというパッケージマネージャで使われている。それが32bitの一部のLinuxだけでコケるのである(のちにgccのバージョンの違いに起因すると分かった)。その一部のLinuxが自分のLinuxに該当しなければこんなところに足は突っ込まなかった。どうしてもHaxeは使いたかったのと、同じ問題に直面してる人を見かけたのが切欠。んなのだが、メンテナーと思われる人も取り組んだ後に投げ出した形跡があり、丸2日以上かかりそうな感じはした、3日かけてダメなら諦めようと思っていた、のだが・・・。
    • 「修正方法よりまず原因をクリアにすること」が第一と考えていて、できない英語を噛み締めながら書いたのを覚えている。それ以上に原因の究明に5日くらいかかってるんですけどね。一番良い解決方法を導出できるのはその作者なので、原因を知らせてとりあえずの対処コードを示してあげれば、それでしのぐか、もっと根本的に修正するか意見ももらえるでしょう。結局この件は根本的に直したほうがよいということで、プルリクし直しました→ccc78c2
    • 見ての通りというか、原因分かっちゃえば修正は簡単なんだけど、ここにたどり着くまでに
      • JITで出力されるコードをdumpする機能を実装してobjdumpで解析
      • cgdb(gdb)でトレーシング
      • JITでの出力がebxを破壊してないか疑って1日消費(PLT/GOT) ←これはなかった、見当の付け所が悪い
      • 古いバージョンのgccやclangだと問題ないのでコンパイラのバグを疑いだし、gccのバグトラッカーを調べる、など
    • JITのコードはJITするコードと、それが出力するコードの両方に注意を払う必要があるのでとてもデバッグしづらい
    • 今思えば、問題ないバージョンのgccと問題出るバージョンのgccの出力を比べてれば、あっさり原因わかってたのかもしれない
      • とはいえ、ディスアセンブルしてdiffすると「全部が差分です」みたいなことになりそうな現実もちら見えする
    • ubuntuの公式バグトラッカーで1年以上放置されていたバグなので、少しは役立てたとは思う(まだ修正版リリースされてないけど)
  • あと、生まれて初めてプルリク貰った Stack alignment + some random fixes by DirtYiCE · Pull Request #1 · sharow/libconcurrent

  • Rustのaobenchベンチマークを最新版のRustのに書き直した(rust-aobench)https://github.com/sharow/rust-aobench

いま個人的に作ってるもの(Webサービス)

  • データベース遍路:Riak→RethinkDB→Riak→Cassandraときて、Cassandraに落ち着いた
    • Riakはクソだと思いました16GB以上のメモリを詰んだパワフルなマシンが4台くらいあれば、なかなかいいんじゃないでしょうか。
  • サーバに使えるところをいろいろ探していた
    • さくらのVPS(HDD)はデータベース向けに良さそう
    • cloudatcostはダメ
    • DigitalOcean、VULTRは自由度にちょっと不満あり(ある自由度があると、別の箇所で自由度がなくなる、ということがある)
    • InfraCloudはカスタマイズ性がすばらしいが、鯖がUS西海岸、あまり検証していない
  • これを2015年末までになんからかのアウトプットとして出さないとキョンシーになる

振り返ってみると本をほとんど買っていない。たぶん、雑誌を含めても10冊も買ってないんじゃないかな。図書館で済むものは図書館で済ましてるし、調べ物はネットでできる。まぁでもお金に余裕があったら普通にもっと買ってるかもしれない・・・。逆に電子書籍(PDF)はPACKTPUBやPragmatic Bookshelfで何冊(冊でいいのかな?)か買った。

勉強会とか

たぶん、一度も行ってない。

運用中のもの

PC関連

メインPC(自作)は変更なし、SSDだし安定している。古いLetsNoteR5にLinuxを入れて開発環境として使いだした(これでnekovmがチョンボしたのだ)。気付けばルーターの有線LANポート(4ポート)が全部埋まってて、良いルーターあるいはスイッチが欲しいなぁと思った年末でした。YAMAHAのRTX1210いいですけど、高いよね。IPsec使わないからオーバースペックなんですけどね。しかしNETGEARのようなバックドア割引のようなものは避けたい。

WiMAXルーターがバッテリ膨張、製造元に電話したら無償で交換してくれて、その1週間後にWiMAX2無料乗り換えキャンペーンが始まった。ルーター新品だし乗り換えは保留。

その他

  • 絵(デッサン)の教室に何度か足を運んだ、昔からの趣味
  • コーヒーを控えめにした(節約です・・・

まとめ

ArchLinux最高