2017-09-04
Techメモです。
MacのCmd-Shift-4でキャプチャしたpngをブログに貼ろうとすると、想定の2倍のサイズになってしまうことがあります。
ImageMagickのidentify -verbose foo.pngで見てみるとUnitsがPixelsPerCentimeter、Resolutionが56.69四方なので、2.54倍してDPI(=Dots per Inch)に直すと143.9926DPIですね。
ということでImageMagickのconvertで以下のようにして修正すれば良いのかな?
for a in *.png; convert $a -resample 72x72 -units PixelsPerInch tmp/$a
2017-09-04
Techメモです。
Opalでプログラムを書いているとき、例外のバックトレースが開発者コンソール上で綺麗に表示されるときとそうでないときがあるので困っている。
綺麗ってなんやねんという話ですけど、こういうのが綺麗な状態です。

それで望ましくない状態がこれ。
2017-08-16
TechTwitterの#レツプリというタグから、キーボード自作に興味を持った。ものによってはキットがあって、はんだ付け等で組み立てできるらしい。
形状にもいろいろあるようなので調べたものをまとめておく。
いま会社で使ってるやつ。これはErgodox EZで組み立て済みのものを購入したのだが、もともとのErgodox自体はオープンソースのハードウェアである。
形状は左右分離タイプ。キー数は普通のキーボードより少ない(例えばPの右に1列しかないとか)。
2017-08-01
Tech仕事で、GitHub Wikiに書いた表をExcelにしたいというシチュエーションがあったので、簡単なRubyスクリプトを書いた。
実行にはNokogiriが必要 (gem install nokogiri)。ブラウザでWikiページをa.htmlという名前で保存したものとする。
require 'nokogiri'
require 'csv'
# a.htmlというファイルを読み込んでNokogiriのオブジェクトに変換する
doc = Nokogiri::HTML.parse(File.read("a.html"))
2017-07-22
Tech2017-07-14
Techとある映画の日本語字幕で、
というものがあるらしい(画像はググってください)。原文はnine conputer languagesらしいので、翻訳者がC言語のことをコンピュータ言語の略だと勘違いしたのだと思われるけど、C言語を知っている人から見ればなかなかに味わい深いフレーズである。
2017-07-13
Techyhara [4:39 PM]
ergodoxの調子が悪くてやばい
Oが1/3くらいの確率でしか入らない
tも怪しい
ということは物理レイヤの問題ではない??
Lもだめだな
という感じだったのだけど、久しぶりにファームウェアをgit pullして更新したら現象が直った。
2017-06-29
Techブログのトップページが重いなと思っていたので、長いエントリは冒頭だけ表示するようにした。いわゆる「続きを読む」機能である。
「続きを読む」を実装する場合、エントリのどこまでを冒頭と判定するかが問題になる。ブログエンジンによってはエントリ内に特殊な記号を記入することで「続きを読む」の位置を明示するものもあるけれど、いちいち書くのも面倒なので避けたかった。適当によしなにやってほしい。
ということで今回実装したアルゴリズムが以下。
- markdownの先頭10行を冒頭とする。
- ただし最後の行が「#」から始まるときは要約の最後が見出しになって微妙なのでそれも落とす。
- 例外として、エントリが15行以内である場合は充分短いので全体を表示する。
充分短い、の定義は最初は10行以内としていたけど、これだと11行のエントリがあったときも「続きを読む」が表示されて、クリックすると1行増えるだけなので微妙だった。そこで、「何行に丸めるか」と「何行までなら全文表示するか」の行数を別にすることでいい感じになった。
ちなみにこの方法だとcode blockをまたいでしまう可能性があるけど、redcarpet gemだとcode blockが閉じられていない場合は最後までがcode blockだと判断してくれるようで、特に対処は必要なかった。
2017-06-29
Tech趣味で書いてるコードのうち、規模が小さいものはCHANGELOGを書いてなかったのだけど、最近は書くようになった。
前までやっていなかったのは面倒だというのが理由だけど、実際やってみるとそれほど面倒でもない。むしろ、自分が最近何の作業をしていて、そのうちどれが完成しているとかが分かって便利だ。
変更内容を記録して、溜まったらgitのtagを打って、masterにpushして、みたいなことをしてるとまるで仕事みたいだけど、効率を良くしようとすると、仕事のやり方に近づくのは自然なのかもしれない。趣味とはいえ、効率が良くなればもっと多くのものを作れるようになる(または遊ぶ時間が増える)ので、効率は大事だ。
これは趣味のコードだから雑に作業する、みたいなことをする場合、仕事と趣味で意識を切り替える必要があるけど、ぜんぶ仕事みたいにやることにすれば、切り替えが無くなって、ずっと同じペースで作業できるので良いかもしれない。
2017-05-27
Tech
この記事を読んで、TracePointで同じことができないかと考えた。TracePointはRuby 2.0からある機能で、Rubyのメソッド呼び出しなどのイベントをフックできる。(昔のset_trace_funcに相当する)
とりあえず動いたのでgithubに置いた。
こういう適当なa.rbがあるとする。