コミケ告知

サークル活動の詳細は circle タグの記事へ。
2015年4月16日木曜日

IntelliJをインストールしたら最優先ですべきたった1つのこと

フォントを変えるとかホワイトスペースの設定をするとかは、Intellijでなくともテキストエディタ系であれば必ずすることであって…最重要なのは、

  • Ctrl+Yのショートカットを潰すこと

なんと、Ctrl+YがRedoではないだけでなく、「一行消す」という恐ろしい機能に割り振られているのです…!今後どうなるのかわかりませんが、現在の14.x系ではそうなっています。これはつらい。




確かにRedoがCtrl+Shift+Zな操作系はあるけれども、Ctrl+Yに対してこういう潰し方をするのは、若干悪意を感じます。
2015年4月15日水曜日

fluentdで出力tagを書き換えるのに苦労した話

とても久しぶりにfluentdを使ってみることにしました。目的は、ローカルで集めたものをinfluxdbに飛ばすこと。後々はキューを挟むかもしれないけど、とりあえずは直接。あとは、ついでにCPUやらメモリやらの情報も飛ばそうと。既に実現例のたくさんある話の合わせ技です。


flutendが各ノードで扱うデータの流れは、大まかに2種類。
  • アプリの統計情報→fluentd→influxdb
  • dstat→fluentd(→dstat情報の整形)→influxdb
influxdbへの出力は、fluent-plugin-influxdb
dstatからの入力は、fluent-plugin-dstat

dstatの入力を、influxdbに流すために整形(というより要素ごとに分解)する必要がありますが、やることはそれくらいのはずです。

タグの整形をどうすべきか

さて、しかしその整形を気に入った形にしようとしたら、妙に時間を取られてしまいました。プラグインで自由に拡張できるfluentdであり、選択肢はすぐにいくつも見つかったのですが…
書き換えたらそこで仕事を終了して、またmatchの方に回すものが大半です。プリミティブな処理をチェーンしていく思想はわかりますが、今回やらなければならないのはそうではなく。
influxdbに出したいものは influx.* というタグで整理して <match influx> でひっかけて、この中にinfluxdbプラグインの設定を書いています。このinfluxdbプラグイン、タグ名がそのままinfluxdbのseriesとして使われるため、influx.dstat.node1.memory みたいな名前になってしまいます。influxdbに入れるデータにinfluxって付けたくないじゃろ…

結局、これを fluent-plugin-forest で実現しました。

ただ remove_prefix したいだけなのに大袈裟な気がします。何かもっといい方法はあるんでしょうか?
2015年4月8日水曜日

mvしてln -sするシェル関数を用意した

ファイルを移動して、移動先から元の位置にシンボリックリンクを張りたい。そんな場面がたまにあります。ぴったり合う物をすぐには見つけられなかったので、シェルスクリプトの練習も兼ねて作りました。

  • 書式はmvと同じ
  • b, f, vオプションだけ受け付けてmvに渡す
作成にあたり、以下の情報を参考にしました。
こんな単純なものが今まで作られていないわけが無いと思うので、検索に使うmv・ln・移動・シンボリックあたりの単語で余計なものが引っかかりすぎているだけのような気はしますが…。
(これは惜しかった → linux - Bash: move file/directory and create a link of it - Stack Overflow)
2015年2月26日木曜日

MacType使用時の環境変数不具合

Windowsで綺麗なフォントを使うためのフリーソフトのひとつに、MacTypeがあります。
オープンソースっぽいところに置かれていてライセンスも記載されているものの、ソースは公開されていないという若干怪しいソフトです。セキュリティ系の怪しい挙動はまだ報告されてはいないようですが、どうも環境変数周りでバグを抱えている模様。

Windowsにはシステム環境変数とユーザー環境変数があります。

参考:.Windowsのシステム環境変数とユーザ環境変数

そしてPATHは本来ユーザー側で指定したところにも通るはずですが、なぜかMacTypeがそれを壊してしまうようです。ユーザー環境変数で指定したところにあるプログラムが起動できず、あちこちで不具合を起こすことがあります。起きる環境と起きない環境がありますが。

もし発生した場合、MacTypeの常駐プログラム(MacTray)の設定にある「Windows開始時に起動」を外すことで、これを回避できています。

なぜかユーザー側の環境変数PATHが消されて、システム環境変数PATHが「元々指定していたシステムPATH:MacTypeのバイナリへのパス」に置き換わっているので、MacTypeが勝手にPATHをいじる過程で何かが起きているのではないかと思われます。
2014年12月31日水曜日

C87 お疲れ様でした

サークル浜風もっこす の2014年は終了しました。
西館まで足を運んでくださった皆様、ありがとうございました。

既刊の1+2の方が13:40頃に在庫切れてしまいました。新刊と比べるとあまり出ないだろうという予測でしたが、意外と初めて来てくださる方がたくさんいて、思ったより数が出ました。ありがたいことですが、その後にゆっくり来てくださった方には申し訳ありませんでした。新刊はたくさん刷ったので、無事最後まで持ちました。

Network Maniacsというタイトルなのに、Vol.3は1や2に比べたらライトな感じにしました。どのくらいの本が受けるかよくわからなかったので試行錯誤の途中でありますが、ちょっとライトにしすぎたかなーというのが反省&何度かいただいたご意見でした。次以降の参考にさせていただきます。

また、ご意見ご感想は常にお待ちしております。奥付にあるメールアドレスか、あるいはTwitterの方へ。監視頻度の都合、Twitterに飛ばしていただけると助かります。

当初出そうとしていた艦これ本は、普通に攻略本っぽいものがコピー本で20p超えたところまで作った挙句に、どうもいまいちまとまらなくて没にしてしまいました。分量も増えるし、前回のオフセ本に書いたような確率論的なものと合わせて、オフセ本で形にしたいですね。どこか艦これオンリーを狙いたいところ。

Vol.3のURL

新刊(vol.3)内に記載したURLは以下のひとつだけでしたので、独立記事にせずここに書いてしまいます。
netem: http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

余談

サークルスペースで話していて、BSDの黒悪魔本なるものをお勧めされました。業務でLinuxかつカーネルまでは手を入れない範囲で頑張る都合、Linux以外のネットワークスタックの知識はさっぱりでしたが、mbufのメモリ管理にはskbよりすごいところが色々あるとのこと。
興味を持ったものの、どうもぐぐるとすごい値段がついているようで困っています。どなたか貸していただけないでしょうか…。あるいは、勉強会(もくもく会等)の集まりで、その場で借りてその場で読んで帰りに返す感じでも。
2014年12月23日火曜日

Cygwin環境下でElixirを使うときのバッドノウハウ

Windows上でCygwinを使いつつ、Windows用にインストールされたコマンドラインアプリケーションを使うと、ヒストリーを辿る動作が上手く動作しないことがあります。↑を押したらカーソル位置が上に移動してしまうなど。各種言語のREPLやDBの管理ツールで起こります。そんなときにはrlwrapを使うと、安直にまともな挙動を得ることができます。
rlwrap -A iex.bat

ここで今rlwrapを紹介したいわけではなくて、rlwrapを使ったときのバッドノウハウ。
elixirはwindows用の実行ファイル(iex.bat)を用意してくれますが、こいつをrlwrapで包むと、なぜか上手くCtrl+Cが伝わらなくて、erl.exeがゾンビの如く残ってしまいます。

対処は、 :erlang.halt で終了すること。

若干面倒ではありますが、そう頻繁に終了起動を繰り返すようなものではないので、実用的に問題ない範囲内かなと。
2014年12月21日日曜日

C87予定

◎貴サークル「浜風もっこす」は、火曜日 西地区“く”ブロック-23a に配置されました。

新刊

今回の出版物、まずNetwork Maniacs vol.3が出ます。内容を振り返ると、今回ManiacsではなくてBasicsにした方が良かったかも…。
  • TCP受信プログラミング
  • 「ネットワーク向けコマンドラインツール紹介
  • 2014年のネットワーク時事ネタ少々
 といった内容でございます。これは入稿したので、確実に出ます。結構刷りましたといいつつ部数を読み違えて早く売り切れてしまったことが過去ありましたが、今回コミケ2回分でも余るくらい刷ったので、ゆっくり来ても余裕です。(次回抽選落ちるフラグではなかろうか)


艦これの攻略本は、コピー本で小冊子を予定しています。
「社会人提督による、最低限の攻略基本+これからのイベントに向けた攻略指針」といった感じです。

既刊

Network Maniacs vol.1+2 を少し増刷しました。

  • 【TCPの高速化手法】 基本的な話からLinux3系の新実装まで、TCPの高速化に使われている方法の解説。
  • 【ネットワークバッファとパケットロス】 パケットロスとは何で、ネットワークバッファとはなにか?
  • 【QUIC】 Googleの実験用プロトコルQUICの概要と試用方法。
  • 【FiddlerCore】 .NET用のHTTP層解析ライブラリの紹介、使用例。
こちらも引き続きよろしくお願いします。