evervimでリストの入れ子が出来るようにした


vimにはEvervimというプラグインがあり,Evernoteのノートをvimから直接編集できます.
しかも,markdownを使って書くことができます(要pythonのmarkdownモジュール).

が,しかし

以前使っていた時に,保存して再度開くと,書いたものが消えている,ということが何度かあったので,しばらく使っていませんでした.

今回,そのバグフィックスをしました.
調べてると幾つか問題がありましたが,その一つが,ulやolのリストを入れ子にすると,再度開いた時に,入れ子構造が壊れて,入れ子の上の階層に戻って以降が消える,というもの.

evervimのコードを見ていくと,Evernote用のXML形式であるENMLをパースしてmarkdownへと変換する関数が,入れ子に対応していなかったのを発見.
修正してプルリクエストしておきました.

VimRepress導入してみた


VimRepressというvimプラグインがあって,vimからwordpressに投稿できる.
今回,ブログ更新のために導入してみた.

markdownと組み合わせると,ブログ書きたくなった時に

  1. vimを起動
  2. :BlogNew
  3. ブログをMarkdownで書く
  4. :BlogSave publish

でサクッとブログ更新できるので超捗る.
今までWordPress開いて記事書いて…ってやるのが面倒でブログ記事が滞っていたけどこれなら….

色んなサイトで紹介されているので参考まで.

シェル上でsleep


sleep というコマンドがある.
これは,一定時間処理をストップさせ,その後継のコマンドを実行するもの.
引数で時間(秒)を指定できる.
例えば,

sleep 100
echo "wake up"

で,100秒間スリープさせることができる.

その引数を調べていたら,GNU sleepの場合 smhd という単位指定ができることを知った.

sleep 20m
echo "wake up"

という風に単位を追加すると,上の例だと20分間スリープさせることができる.

やっぱりダメかも


昨日RAIDが死んで,色々やった結果復活したと思ったが,やはりいくつかファイルが壊れていたようだ.

特に痛いのが,RAID上に作った大きな仮想マシン用ディスクイメージ.
どうやらこれがダメージを受けていたようで,仮想マシンのファイルシステムがおかしくなっていた.

gitのリポジトリ内のファイルがおかしくなっていたのは痛い.
仕方ないのでマウントを外した上で fsck をかけてみている.

RAIDが死んでも一旦挿しなおしてみよう


今日RAID 6で運用しているRAIDのHDDが3つ同時にエラーランプ点灯した.
RAID 5ではHDDが2台同時に壊れたらアウト,RAID 6では3台同時に壊れたらアウトなので,かなり焦ったが,一旦取り出して挿し直したら復活…(?)

一応データは大丈夫っぽいけど,念の為にバックアップを取って,エラーが出てたHDDを取り替えて再構築しよう.

しかし容量が大きすぎてバックアップ取るのに時間がかかる….

avastが悪かった(?)ようだ


自宅のWindows7が入っているPC,しょっちゅう起動時にブルー・スクリーンで落ちて,再起動→スタートアップ修復の繰り返しだった.

これまでアンチウイルスソフトとして,無料のAvast!を入れていたが,試しにアンインストールしてみたら,上記症状がでなくなった(今のところ).

代わりにMicrosoft謹製のMicrosoft Security Essentialsを入れてみた.

しばらくこれで様子を見てみる.

Macでtmuxを使うときのメモ


Macには,pbcopy/pbpasteという標準入力をクリップボードへコピー/クリップボードの内容を標準出力へ出すコマンドがある.
とても便利で,次のように使う.

# hoge.txtのうち,行頭が「abc」以外の行をコピー
cat hoge.txt | grep -v ^abc | pbcopy

こうすることで,Command+vで他のプログラム等に貼り付けることができる.
例えば,ブログにプログラムのコードや実行結果を貼り付ける時などに役立つ.

逆に,Webからコピったものをコマンドラインプログラムの入力として使いたい場合,

# クリップボードの内容をソートして最後の20行を出力
pbpaste | sort | tail -20

という風に使える.

が,問題があって,tmuxを使っている場合うまく動かない.
そこで,reattach-to-user-namespaceというのを使う.
詳しくは

X環境のクリップボードやOS Xのペーストボードとtmuxのバッファを連携する方法

あたりを参照.

ざっくりいうと

git clone https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git
cd tmux-MacOSX-pasteboard
make
mkdir -p /usr/local/bin
cp reattach-to-usernamespace /usr/local/bin

しておき,tmuxの設定ファイル, ~/.tmux.confに以下を追記する.

# tmuxでコピーが働かない問題
set-window-option -g automatic-rename off
set-option -g default-command "reattach-to-user-namespace -l zsh"
set-window-option -g automatic-rename on

ちなみに,/usr/local/binにPATHを通しておくこと.

これで,tmux環境下でもpbcopy/pbpasteが利用できる.

Metafile to EPS Converter


これまで論文に図を乗せるときは,PowerPointで作ってwmf2epsを使って変換していた.
wmf2epsの詳細についてはこちらのページが参考になる.

これを入れると,PowerPointで作った図をコピー&ペーストするだけでemfかwmfファイルが作れ,そこからボタンひとつでepsに変換できる.

が,Windows 8にしてから使えなくなった.ドライバがWindows 7までのようで.

そこで途方に暮れていたが,先日Metafile to EPS Converterというものを見つけた.

これも同じぐらい簡単で,ほぼコピー&ペーストでepsファイルが作れる.

高解像度やめました


MacBookProRetina 15inchを,1680x1050で使用していたが,ちょっと思い立ってディスプレイに最適(Retina)で使用することにした.

画面が狭くなった分,各種アプリケーションの使い方も変更.Lionから導入されたフルスクリーンモードを積極的に使うことにした.

常時起動しているものは,iTerm,MacVim,Chrome,Evernote,Mailの5つ.これらをフルスクリーンにして利用する.切り替えはこれまで通りCommand+Tabで行っている.

しばらくこの設定で使ってみる.

このMacBookのケース良い


EvernoteのWebページには,Evernote Marketがあり,色々販売されている.

今日見てて良いなと思ったのがこれ.

15 INCH DIVER SLEEVE FOR EVERNOTE, GRAY MELANGE

MacBookのケース.伸縮性のある素材を使っていて,ジッパーがなく,ビョーンと伸ばしてMacを出し入れするっぽい.ジッパーがないので傷がつかないのも良い.

13inch MacBookAir用と,15inch MacBookPro用が用意されている.