A Micro Toolbox

ソフトウェアのニッチな問題の対処記録です

Ruby

vmstatの出力に時刻を付けてファイル保存(ミリ秒)

Linuxでvmstatの1行ごとに時刻を付けるときにミリ秒まで入れる。 $ vmstat 3 | ruby -ne 'print Time.now.strftime("%X.%3N #{$_}"); STDOUT.flush' | tee vmstat_log.txt 18:44:25.141 procs -----------memory---------- ---swap-- -----io---- -system-- …

テキストファイルのビットマップ表示

目grepに触発されて、バイナリエディタBzのビットマップ表示をテキストでやってみた。 作ったツール(txt2img)のソースを画像にしたもの。 ログファイルとかスレッドダンプとか長いファイルを俯瞰するのにいいかもしれない。

MinitestでOpen3.capture3の出力先頭に「# encoding: UTF-8」が入る

Open3.capture3で取得した標準出力の文字列をMinitestで使ったら、先頭に「# encoding: UTF-8」が入ってくることがあった。 例えば下記のテストは失敗するのだけど、expectedとactualの差分を見るとactualの先頭行が「# encoding: UTF-8」になっている。 # c…

マウスカーソルを左上に移動させるワンライナー

> ruby -r "win32api" -e "Win32API.new('user32', 'SetCursorPos', ['i', 'i'], 'i').call(0, 0)" これをmcz.batなどとしてPATHの通ったところに保存し、Windowsキー+Rでmcz->エンターとうてば、マウスがスクリーンの左上に移動する。

Domain Coloringで桜を描いた

先日作成した複素数関数のDomain Coloringツール(colorz)で、桜の花を描いてみた。 実行したコマンドライン: $ colorz "(1+1i)*z/(sin((PI/10+z.phase)*2.5).abs+0.3*cos((PI/10+z.phase)*2.5).abs)" 白い線は絶対値が2のべき乗になるところ。色相は偏角をあ…

Domain Coloringの世界

複素数関数のビジュアル的な解析手法に、Domain Coloringというものがある。Domain Coloring https://en.wikipedia.org/wiki/Domain_coloring 直訳したら定義域彩色とでもいうのだろうか。 複素平面上の各点に対する関数の値(複素数)を色で表現した図である…

Keybreakモジュールによるキーブレイク処理サンプル(集計)

前回(キーブレイク処理を簡潔に書きたい - Toolbox)に引き続き、keybreakモジュールについて。 キーごとに数値を集計するサンプル。 件数カウントとほとんど同じ。 require "keybreak" RECORDS =<

キーブレイク処理を簡潔に書きたい

ということで、簡単なモジュール(https://github.com/hashimoton/keybreak)を作ってgem化した。 キーブレイク処理 キーブレイク処理(またはコントロールブレイク処理)とは、ソート済みのレコードを順に読み込んで、レコード内のある項目(キー)が同一のレコー…

pryを動かそうとしたらReadlineがないとのエラー

CentOS 6.4でとのpryを動かそうとしたらReadlineがないエラーになった。 $ pry Sorry, you can't use Pry without Readline or a compatible library. Possible solutions: * Rebuild Ruby with Readline support using `--with-readline` * Use the rb-read…