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