jediとかvirtualenvとかがReason: image not foundと言ってぶっ壊れたときの対処

ある日突然jedi(EmacsでPythonを書くときにつかうすごいやつだよ)がぶっ壊れた。
python-modeのバッファでピリオドを打つたびに

Error (jedi): Failed to start Jedi EPC server.
*** You may need to run "M-x jedi:install-server". ***
This could solve the problem especially if you haven't run the command yet
since Jedi.el installation or update and if the server complains about
Python module imports.

というメッセージが出てくるし、当然補完機能は使えない。
指示通りコマンドを実行しても何も起きない。

Continue reading

GitHub上の画像をキャッシュクリアする

READMEで画像を使うことがあるが、実はあれファイルを外部サイトに置いていてもGitHubがキャッシュしてくれている。
曰く、セキュリティ上の理由だとか。
ただいつまでも古い画像が出ているとなんとなく気持ち悪いこともあるので(本当か?)このキャッシュを手動でクリアする方法がある。

Continue reading

Elasticaの戻り値をいい感じにラップするライブラリを書いた

PHPでElasticSearchをあつかうときの定番ライブラリにElasticaというものがある。
Symfonyで扱うときはこれをさらにラップしたFOSElasticaBundleを使うとよい。

Elasticaの難点として、クエリを投げて帰ってくる結果が連想配列で得られるのだが、これが無駄に深いネストがあったりして地味に使いづらい。

Continue reading

マルチブート覚書

Change the partition size

  1. Use gparted from external disk (e.g., Ubuntu Live USB disk) and adjust partition sizes as you want.
    • note: gparted has bugs around handling HFS, so it behaves as if it has hung while it is moving a partition that contains HFS. Be patient and let it work. It may take more than 2 hours.
  2. If Windows won’t boot after this, you have to either reconfigure legacy MBR or rebuild BCD.

Reconfigure MBR

  1. Use gptsync from external disk.

Rebuild BCD

  1. Use fdisk and mark Windows partition as active.
    • This activeness seems not exclusive; i.e. more than one partition can be active at the same time. I’m not sure this causes any problems.
  2. Boot from Windows installation disk.
  3. Proceed to advance startup options and launch Command Prompt.
  4. Run bootrec /RebuildBcd. (you have to type y once, in most cases)
  5. Reactivate appropriate partition if necessary.

Restore initial bootloader

  1. Copy first 446 bytes from another disk; e.g. sudo dd if=/dev/sdc of=/dev/sda bs=446 count=1

yum upgradeしようとすると依存解決がうまくいかない

こんな感じで

# yum --changelog upgrade
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package php-pecl-mongo.x86_64 0:1.6.2-1.el7.remi.5.6 will be updated
---> Package php-pecl-mongo.x86_64 0:1.6.11-1.el7 will be an update
--> Processing Dependency: php(zend-abi) = 20100525-64 for package: php-pecl-mongo-1.6.11-1.el7.x86_64
--> Processing Dependency: php(api) = 20100412-64 for package: php-pecl-mongo-1.6.11-1.el7.x86_64
--> Finished Dependency Resolution
Error: Package: php-pecl-mongo-1.6.11-1.el7.x86_64 (epel)
           Requires: php(zend-abi) = 20100525-64
           Installed: php-common-5.6.5-1.el7.remi.x86_64 (@remi-php56)
               php(zend-abi) = 20131226-64
           Available: php-common-5.4.16-23.el7_0.3.x86_64 (base)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-36.el7_1.x86_64 (updates)
               php(zend-abi) = 20100525-64
Error: Package: php-pecl-mongo-1.6.11-1.el7.x86_64 (epel)
           Requires: php(api) = 20100412-64
           Installed: php-common-5.6.5-1.el7.remi.x86_64 (@remi-php56)
               php(api) = 20131106-64
           Available: php-common-5.4.16-23.el7_0.3.x86_64 (base)
               php(api) = 20100412-64
           Available: php-common-5.4.16-36.el7_1.x86_64 (updates)
               php(api) = 20100412-64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Continue reading

pdflatex で US Letter の文書を出力する(PDF のページサイズを設定する)

ACM にカメラレディ論文を提出するために要項を見ていたところ,ページのサイズは US Letter (8.5 in * 11 in) でなければならないと書かれていた.
慌てて自分の手元のファイルを pdfinfo で調べてみると

Page size:      595.276 x 841.89 pts (A4)

と言われたので,ページサイズを設定する方法を調べた.

Continue reading

リンクをクリックしたとき強制的にファイルとして保存されるのを防ぐChrome拡張

Redmineとかで添付ファイルのPDFを見たいときにDownloadsフォルダが汚されるのが気に食わなかったので.Chrome以外のブラウザでは試していない.

っていうのがあります.べんり.インストール方法は

  1. GitHubに慣れていなければ右の方にあるZIPでダウンロードボタンを探す
  2. chrome://extensions を開く
  3. 「開発者モード」にチェックボックスが入っていなければ入れる
  4. 「パッケージ化されていない拡張機能を読み込む…」
  5. ダウンロードして展開した manifest.json のあるディレクトリを指定する

ってな感じ.ほかに書くことがない.