2013年 06月 04日

関連エントリー (画像)

2週間前と同じように体調不良になった。普通に帰宅して体温を計ると38度弱だった。とにかくだるいので夕食を食べてすぐに寝た。

朝は平熱にとりあえず戻った。

2013年 05月 31日

関連エントリー (画像)

CPAN のリリース管理を Minilla に変えてみる

$ cpanm Minilla

で入れると minil コマンドができる。既存レポジトリで (ここでは Test-Name-FromLine) minil migrate すると以下のようになる。

$ minil migrate
[Test-Name-FromLine] $ perl -I/Users/cho45/project/Test-Name-FromLine/lib -I/Users/cho45/lib/perl -I. Makefile.PL
Cannot determine perl version info from lib/Test/Name/FromLine.pm
Writing Makefile for Test::Name::FromLine
Writing MYMETA.yml and MYMETA.json
[Test-Name-FromLine] $ make metafile
Using Module::Build (Because this distribution uses xs)
[Test-Name-FromLine] $ git add cpanfile
Detecting project name from directory name.
Retrieving meta data from lib/Test/Name/FromLine.pm.
Name: Test::Name::FromLine
Abstract: Auto fill test names from caller line
Version: 0.09
[Test-Name-FromLine] $ git add -f LICENSE
[Test-Name-FromLine] $ git rm --quiet Makefile.PL
[Test-Name-FromLine] $ git rm --quiet MANIFEST
[Test-Name-FromLine] $ git rm --quiet MANIFEST.SKIP
[Test-Name-FromLine] $ git rm --quiet .shipit
[Test-Name-FromLine] $ git rm --quiet xt/99_pod.t
[Test-Name-FromLine] $ git rm --quiet README
[Test-Name-FromLine] $ git add .gitignore
[Test-Name-FromLine] $ git add .

既存の xt/podspell.t は消えなかったので消しとく。

Changes のフォーマットを Chagelog 形式にしていたのだけれど (vim で \o で簡単に新規エントリが書けるので……)、この形式だと minil release 時に怒られるので、新しい分からは変えることにする。Changelog 形式にしていたのは日付を手書きするのが面倒だったからなので、Minilla を使えばそれは解消される。フォーマット自体にこだわりはないので主流にあわせられるならあわせる気持ち。

PERL_MINILLA_SKIP_CHECK_CHANGE_LOG=1 にすればチェックを飛ばすことができるけど、気持ちが良くないのでそうしなかった。途中でフォーマットが変わるのもだいぶ気持ちが良くないのでなんともいえない。

すなわち

{{$NEXT}}

        - Append line number to exiting comment

みたいのを冒頭に書く。

$ minil release

すると新規バージョンを訊かれるので答える。これで release される…… はずなんだけど、Minilla は CPAN::Uploader を使っている。これは ~/.pause ファイルを読むのだけれど、cpan-upload-http より厳密なフォーマットを要求するので書きかえた (= があってはダメ)。

無事に upload までうまくいくと、git でタグが打たれて勝手に push された。こんにちは Minilla ありがとう ShipIt。

2013年 05月 30日

GNU screen の最新版を入れる

tscreen の時代はおわったらしい。cjkwidth などは本家に入っていた。

$ git clone git://git.savannah.gnu.org/screen.git
$ cd screen
$ cd src
$ ./autogen.sh
$ ./configure  --enable-colors256
$ make
$ sudo make install
$ screen -v
Screen version 4.01.00devel (GNUc2cd059) 2-May-06
2013年 05月 29日

関連エントリー (画像)

OS X のマウス《加速》を切りつつスピードも自由に設定する方法

OS X のマウスポインターは加速がついていて、慣れられる人はこれでいいのかもしれないけれど、リニア反応しか受け付けない人間にとっては苦痛でしかない。

OSX のマウスの加速度がムカつく - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech で書いたように、一応加速を切る方法はあるが、この場合、速度は変更できず、マウスの仕様に因ってしまう。

ほとんど諦めていて、まぁいいかと思っていたけれど、SmoothMouse というのを使うと、加速を切りつつスピード調整ができるようにもなった。すばらしい。

インストール時に Intelli Mouse をアンインストールしろよと言われるので、前もってアンインストールした。なのでそれらの機能と同時に使えるかはわからない。

2013年 05月 28日

校正ツール

Yahoo の校正APIを使って文章校正を一度かけるようにしたいというのはずっと考えていたが、いい感じのUIを実装するのが大変に面倒で、ずっと放置していた。

このたびなんとなく ACE 上でなら簡単に実装できそうな気がしたので、実装してみた。こんな感じでいいように思うが、いくつか問題点がある

  • ACE は等幅 (monospace) フォントにしか対応していない
    • 文字の幅が必ず一定になるように1文字ごとにコンテナが作られている
  • IM によっては挙動がおかしい。
    • AquaSKK + Chrome だとそんなにおかしくはないけど、やはり変換中の文字列がちょっとずれて表示されたりはする

とはいえ、だいぶ前に ACE を試していたときは、日本語まわりがもっと挙動がおかしかった記憶があるけれど、ブラウザーが改善されたのか ACE が改善されたのか、普通に使えるぐらいにはなっていそう。

校正をかけて直したところで、筋が通って読みやすい文章がかけるかどうかは分からず、また全然別なのがつらい。

Scala をはじめるには

sbt を入れるのが一番の近道のようだ。

brew install sbt

で入れるのが最も簡単そう。

あるいは、Setup の Unix の欄のように、sbt-launder.jar を ~/bin に置き、~/bin/sbt コマンドを以下のように作って chmod +x しとくのが簡単のようだ。

#!/bin/sh
java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar `dirname $0`/sbt-launch.jar "$@"

sbt さえ入れれば、必要なものは sbt が全てダウンロードしてくれる。初回起動時に必要なパッケージを落としてくるし、run コマンドを実行すれば (Scala ファイルがあるなら) Scala のライブラリも必要に応じて落としてくれる。全く頭を使わない。

例によって Hello, World! なら

object Hello {
    def main(args: Array[String])  {
		println("Hello!!!")
	}
}

を ~/tmp/hello/hello.scala として置き以下のように sbt を起動して run を実行するだけで実行できる。

$ cd ~/tmp/hello
$ sbt
> run
[info] Running Hello 
Hello!!!

複数ファイルがあったらどうなるか? と疑問になるがやってみるとわかる。

同じようにして ballow.scala を以下のように作る。

object Ballow {
	def main(args: Array[String])  {
		println("Hello!!!")
	}
}

sbt run を実行すると以下のようになる。

Multiple main classes detected, select one to run:

 [1] Ballow
 [2] Hello

Enter number:

かしこい。

チュートリアルがよく書かれていて、「勝手に scala をダウンロードするけど、バージョンの指定はどうするんだよ?」と疑問に思っても、すぐバージョン指定ができることは書いてある