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

pygmentizeで自作のlexerやstyleを使う

pygmentizeで使えるlexerやsytleに気に入るものがなかったり、変更を加えたい場合には自分でlexerやstyleを作ることができる。参考: http://pygments.org/docs/今回は、Pygmentsにプラグインとして自作のlexer、styleを追加する。setuptoolsが必要なのでイン…

pygmentizeでmakeやsconsの出力のシンタックスハイライト

makeやsconsを実行が失敗してしまったら、どのコマンドで失敗したのか調べなくてはならない。しかし、makeやsconsによって実行されるコマンドは引数が多かったり、絶対パスが使われたりしていて非常に読みにくい場合も多い。そこで、これをシンタックスハイ…

プロンプトで履歴を使って補完する

昨日作っていた関数を使うときに変数が長くなったり、何度も調べるときいちいち入力しなおすのが面倒なので履歴を使って補完できるようにした。awful.promptにやりたいことと大体同じことをしてくれる関数があるので、それを使えればいいのだがlocalがついて…

Naughtyを使ったrc.luaのデバッグ

~/.config/awesome/rc.luaを書き換えた後に期待通り動かないときに、原因を探るのにはNaughtyを使って変数の値を調べるのが便利。下記のリンク先を参考にデバッグ用のスクリプトを書いてみた。http://awesome.naquadah.org/wiki/Naughtyrc.luaに以下のような…

タイトルバーにつけているタグを表示してみる (awesome)

タイル型WMのawesomeを使っていて、複数のタグを同時に表示していると各クライアントにどのタグをつけているのかわからなくなってしまうことがあったので、各クライントのタイトルバーにつけているタグを表示するようにしてみた。まず、awful.titlebar.addで…

ReadCubeで文献管理

新しい文献管理ツールReadCubeというのを見つけたので使ってみた。http://www.readcube.com/PDFのインポートはPDFのあるディレクトリを選ぶだけで簡単。検索、スナップショット、ハイライト、ノートといったアノテーション機能やリストを使ったファイル管理…

拡張子がvboxのファイルが見つからなくて起動できない場合

VirtualBoxで拡張子がvboxのファイル(仮想マシン名.vbox)が消えており、起動ができなくなっていた。とりあえず、仮想マシン名.vbox-tmpというファイルがあったので、コピーして仮想マシン名.vboxにリネームしたら動くようになった。

SConsをちょっと便利なMakeとして使ってみる

makeでちょっと複雑なことをやろうとすると結構しんどくなってきたので、SConsを試してみることにした。まだ全然使いこなせてないが、とりあえずmakeでできることをSConsではどのようにやるのかのメモ。 単純な例 次のようなMakefileを考えてみる。 all: piy…

Distance Matrix APIで遊んでみる

どこかへ遊びにいく時など、自分の家から目的地までの所要時間で行き先を選ぶことがある。Google mapsなどで目的地の候補を一つ一つ入力して所要時間を調べることはできるが候補が多くなるとちょっと面倒くさいし、前に検索した結果を忘れてしまって再度検索…

複数の出力をもつプログラムのルールの記述にflockを使ってみる

昨日のGNU Parallelを使った書き方を試していて、make -jを実行して並列に実行しようとしているのに、実行を待っているタスクが多くなってしまうという問題があることがわかった。そこで、どうせ同じコマンドを実行するだけなので、ロックされていたら終了す…

複数の出力をもつプログラムのルールの記述にGNU Parallelを使ってみる

Makefileに複数の出力をもつプログラムのルールを記述する方法を調べてみたところ結構ややこしかった。以下のリンクによると、 http://www.gnu.org/s/hello/manual/automake/Multiple-Outputs.html fooコマンドが入力としてdata.fooを受け取ってdata.cとdata…

VLCプレイヤーでYouTubeの動画を音声付き高速再生

今さらながら下記記事でVLCメディアプレイヤーでYouTubeの動画を直接見られることを知った。http://www.lifehacker.jp/2010/07/100706_vlc_youtube.html試してみたところ、音声付きで倍速再生もできた。ニュースや見たいシーンが一部しかない動画を見るとき…

AutoHotkeyでVLCメディアプレイヤーを操作して、書き起こしを楽にする

講義等を録音したファイルを書き起こすことがあったのだが、VLCメディアプレイヤーを操作するためにウィンドウを切り替えるのが面倒だったので、AutoHotkeyから操作できるようにしてみた。 ;; 再生・停止 ^Space:: SetTitleMatchMode, 2 ControlSend, , {spa…

Ubuntu10.04のEmacsを23.2にアップグレード

MacでEmacs23.2を使っていて、Ubuntu10.04のEmacsでも同じ環境にしようとしたところ、次のようなエラーがでた。 auto-complete-mode: Wrong number of arguments: called-interactively-p, 1UbuntuのEmacsのバージョンが23.1だったので、下記のコマンドで23.…

MediaWikiのショートカットを無効にする

KeySnailをインストールしてからMediaWikiを編集時にペーストしようとしてC-yを押すと投稿履歴のページに飛んでしまうようになった。調べてみるとMediaWikiのショートカット(Macの場合)と衝突しているらしい。多分使わないので無効にすることにした。 Exte…

ログイン時に環境変数をセットする

mac

Mac OS XでGUIのEmacsやVimからシェルを使っているとパスが通っていないために、コマンドを実行できないことがあった。必要な環境変数を ~/.MacOSX/environment.plist に書いておくと、ログイン時にセットされる。/Developer/Applications/Utilities の Prop…

itertools.permutations

itertoolsのドキュメントを読んでいてpermutationsのコードの動きがよくわからなかったので調べてみた。とりあえず、0から3までの数字の列を例に考えてみる。[0 1 2 3]から始めて、0番目の数字(0)と1番目の数字(1)を交換、0番目の数字(1)と2番目の数字(2)を…

同じ文字列を繰り返し表示するコマンド (連番ファイル風)

連番ファイル風に番号付きで表示するコマンド。 Hello_01.txt Hello_02.txt Hello_03.txt Hello_04.txt Hello_05.txt Hello_06.txt Hello_07.txt Hello_08.txt Hello_09.txt Hello_10.txt$ for i in {01..10}; do printf "Hello_%02d.txt\n" $i; done $ prin…

同じ文字列を繰り返し表示するコマンド

Helloを10回表示するコマンド。 Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello$ for i in {1..10}; do echo "Hello"; done $ for i in `seq 10`; do echo "Hello"; done $ yes Hello | head -10 $ printf "Hello\n%.0s" {1..10} $ seq 10 …