anki.mo新しいアンキモを最初に書いた場所の古いアンキモと取り替えておしまい。19:14Ankiの解答を表示ボタンをでっかくするTweet広告を非表示にするもっと読むコメントを書く2014-06-05tmuxにインクリメンタルサーチを実装するなんか適当いじってたら出来たんで。一見する限りには動いてる風。Xでtmuxを使ってるとlaunchctl、pbpaste、pbcopyなどがうまく動かない。パッチしてないscreenなんかもダメらしい。英語では解決策が見つかったんだけど、日本語では見つからなかったので書いておく。connectedなんてエラーが出る。pbcopyなんかは何も言わずコピーも起こらない。これを解決するツールがあるのでそれを入れる。reattach-to-user-namespace次に.tmux.confに以下を追加。zsh"最後zshの部分はそれぞれのshellに合わせる感じで。これでtmuxを再起動すれば、launchctl等が動くようになるはず。今回入れたツールのサイトには、この問題についての丁寧な説明があるのでそちらも参照されたし。06:27tmux上でlaunchctl、pbpaste、pbcopyが動くようにするTweet広告を非表示にするもっと読むコメントを書く2014-04-16JavaScriptのfor文のスコープJavaScriptのfor文の変数宣言部分の変数は、そのfor文と同レベル、for文の外と同じスコープに所属する。JavaScriptはブロック文で新しくスコープを作らない。以上!と分かってればそれで終わる話なんだけど、普段あんまりJavaScript書かないもので、思い出したように引っかかるのでもう少し書いておく。a[j]();}ってコードを書いて、表示としては0,1,2ってなるのを期待するんだけど、実際は3,3,3ってなる。0;はfor文の外で宣言したと同じで、その上のaと同じスコープに所属する。その下のfunctionがバインドするスコープも同じく、そのa,iのあるスコープ。ここで作ったfunctionは結局おんなじiを見ていることになる。1個目のfor文抜けたところでiは3になってるので、結果、作ったfunctionを呼んでもどれも同じく3を表示する。うーんわかりやすく書こうと思ったけどあんまりだったわ。07:11JavaScriptのfor文のスコープTweet広告を非表示にするもっと読むコメントを書く2014-04-06ローカルストレージを読み書くSafari、Chromeだとローカルストレージの実体はSQLiteのDBファイル。WebKit由来なのか今のところ、両ブラウザでこのファイルは互換してる。Storageにファイルがある。これを読み書きするRubyスクリプトが以下。valueカラムがあるだけ。value)に対応する。"い")ってやると、keyはUTF-8、valueはUTF-16LEになる。keyはUTF-8と言うか入れたデータそのままなのかなーと思うけど、valueはUTF-16LEになる。読み書きするときはそこを意識する必要がある。00:36ローカルストレージを読み書くTweet広告を非表示にするもっと読むコメントを書く2014-03-30ふっかつのじゅもんがちがいますなんか不意に、ふっかつのじゅもんってどういう仕組みなのだろう、と思って調べてました。したら流石はインターネット、調べたらちゃんとあって、じゅもんを読み書きするコードまで公開されていました。ありがとうございます。DQ1-PASSWORD.CとPerlで書かれたコードがあって、Perlはすげー苦手なのでCのコードを読んでると、これは今どきあんまり見ないビットフィールドの出番では、と思ったので書き換えてみました。じゅもんの仕組みは、分かってしまえばやっていることは簡単です。経験値だとかお金だとかアイテムだとかイベントのフラグだとかの、みんなの血と汗のつまったデータ、今で言う冒険の書があるわけです。これが驚くべきことにドラクエ1においては、わずか14バイトしかないのですが。この14バイトに対してチェックサム、CRCっぽいもの?を算出します。14バイトとCRC?の1バイトをくっつけましょう。できた15バイトを、ふっかつのじゅもんで使える64種類の文字、すなわち6bit単位にデータを分割。最後に簡単な暗号化をすれば皆様おなじみの20文字からなるふっかつのじゅもん形式になるわけです。仕組みはまあ簡単なのですが、それよりもドラクエ1の冒険情報は14バイトであるということに感動しますね。仕様を見ると本当に1ビットを惜しむ作りになっていることがわかります。そんなデータ構造を記しやすいビットフィールド(とユニオン)があるC言語。そんなあたりになんとも不思議な感慨があるなあと思ったのでした。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。