2014-01-01から1年間の記事一覧

フリーの日本語用ocrソフトNHocrを使ってみる

まずおんなじ作者さんのO2-tools-2.00の準備から。http://www.imglab.org/p/O2/index.html からtarをダウンロードしてきてどっかに適当に開ける。 configure.inを開いて上の方のtest "x$CFLAGS" = "x" && CFLAGS="-O3 --unroll-loops" test "x$CXXFLAGS" = "…

Ankiの解答を表示ボタンをでっかくする

AnkiのUIのテキストの設定は各国ごとの /Applications/Anki.app/Contents/Resources/locale/ja/LC_MESSAGES/anki.moって言うファイルで定義される。このアンキモはGNU message catalogっていう形式で、これを扱うmsgfmt、msgunfmtってツールがgettextに同梱…

tmuxにインクリメンタルサーチを実装する

なんか適当いじってたら出来たんで。一見する限りには動いてる風。

tmux上でlaunchctl、pbpaste、pbcopyが動くようにする

OS Xでtmuxを使ってるとlaunchctl、pbpaste、pbcopyなどがうまく動かない。またパッチしてないscreenなんかもダメらしい。英語では解決策が見つかったんだけど、日本語では見つからなかったので書いておく。tmux上でlaunchctlを使おうとすると、 launch_msg(…

JavaScriptのfor文のスコープ

JavaScriptのfor文の変数宣言部分の変数は、そのfor文と同レベル、for文の外と同じスコープに所属する。そしてJavaScriptはブロック文で新しくスコープを作らない。以上!と分かってればそれで終わる話なんだけど、普段あんまりJavaScript書かないもので、思…

ローカルストレージを読み書く

Safari、Chromeだとローカルストレージの実体はSQLiteのDBファイル。WebKit由来なのか今のところ、両ブラウザでこのファイルは互換してる。Macだとそれぞれ ~/Library/Safari/LocalStorage ~/Library/Application Chrome/Default/Local Storage にファイルが…

ふっかつのじゅもんがちがいます

なんか不意に、ふっかつのじゅもんってどういう仕組みなのだろう、と思って調べてました。そうしたら流石はインターネット、調べたらちゃんとあって、じゅもんを読み書きするコードまで公開されていました。ありがとうございます。 Diary of DQ1-PASSWORD.C…

JavaScriptのJSONでDate型を扱う

JavaScriptのJSON.stringify、JSON.parseはDateに対応していない(というかJSONの仕様に日付型がそもそもない)。なのでJSON.stringifyをDateに対して実行するとISO 8601フォーマットでの日時を表す文字列になる。 var str = JSON.stringify(new Date()); co…

ターミナルヘブンズロック

screen自前でコンパイルしたりしたけどcopy modeのキーバインド変えたかったんだけどコンフィグの書き方が意味分かんなすぎたのでtmuxに乗り換えることにした。設定書きやすくて素晴らしい。でもダメなところもあってTerminal.appだとウインドウ切り替えた時…

愚直DFT

ただ愚直にDFT、離散フーリエ変換をrubyで実装。Wikipediaの定義そのまんま。離散フーリエ変換 - Wikipedia

emacs + screen + Terminal.appでカーソルがずれるのを何とかする

OS Xでemacs + screen + Terminal.appを使ってて、いわゆる全角の記号などを扱うと表示がおかしくなることがよくあった。というかOS XだけじゃなくWindowsでPUTTYからLinuxにSSHでも起きてた気がするけど。ふと気が向いたのでこれを解決しようとしたら出来た…

キャッシングプロキシー書いた

頻繁に見に行く大好きなサイトなのだけど、残念ながら非常に重いサイトがあって、前から何とかしたかったのでWebrick使ってファイルをキャッシュするプロキシー書いた。 proxy_serviceのオーバーライドなど雑な実装だし、ちゃんとしたプロキシー用途には耐え…

はてなブログにいこう

gistが貼れないのをきっかけに移行してみた。ボタンポチポチするだけで作業はいたって簡単でした。

ポーカーの役の判定

class Cards class Card attr_reader :suit, :rank def initialize(suit, rank) @suit = suit @rank = rank end end attr_reader :suits, :ranks def initialize(cards) @cards = cards.map{|e| e.kind_of?(Card) ? e : Card.new(*e)} @ranks = @cards.map(&…