ページ

2012-05-24

gitレポジトリのテキストファイルがWikiになるGititのインストール


プレーンテキストなファイルで保存されるWikiでモダンなものがないかなーと思ったら
Gitをバックエンドに使ったプログラマ向きWiki - Gitit を見つけたので、Gititを Debian squeezeにインストールしてみた。

最初は記事の通り入れようと思ったんだけど、cabal installでエラーになり失敗。
検索してみると、
もしかしたらコンパイラが古いのではとGHCについて検索してみると、yumでインストールしたものは6.12.3で、http://www.haskell.org/ghc/ にある最新版は既に7.4.1になっていました。
さくらVPS(CentOS6)にGititをインストール

とのことなので、ビルドの依存パッケージを入れようとしたが、apt-cache searchしてたらgitit自体のパッケージがあることが判明。
# apt-get install git
# apt-get install gitit
でインストール完了。

 あとは、
$ mkdir gitit
$ cd gitit
$ gitit --print-default-config > gitit.conf
$ gitit -f gitit.conf
 とすれば、とりあえず5001ポートで立ち上がるので、http://localhost:5001/で試すことができる。

 デフォルトでは、gitit/wikidataがレポジトリとなり、ページを作成すると、ページ名.pageというテキストファイルができる。ページの名前に/を入れてページを作れば、ディレクトリができる。日本語のページ名にすれば、日本語のファイル名ができる。UTF-8だったので、普通にlsで見れる。すごく幸せな感じ。

Webから変更するときに、変更内容を入力するが、これはコミットメッセージになる。

なお、フォーマットはデフォルトではMarkdown. reSTなどいくつかの形式に変更できる。

デーモン化

 gititは(デフォルトでは?)フォアグラウンドで立ち上がるので、runitでデーモン化した。Debian的には、start-stop-daemonを使えばいいと思う。

 いつもの通り、適切な場所に"run"ファイルを作ってあげればおしまい。

(runsvdir対象ディレクトリは~/service, ログディレクトリは~/var/log/gititとする)


 これでサービス化完了。

Apacheで受け付ける

Wiki自体に認証をかけたかったので、5001の前にApacheを立てる。


リンクに含まれるパスを調整する方法がわからなく、mod_proxy_htmlを使うのもなんだったので、VirtualHostで作った。適当なVirtualHostの設定を/etc/apache2/sites-available以下に置いて、a2ensiteで有効化した。

BASIC認証のユーザを使う

デフォルトではGititは自前のフォームで認証するため、BASIC認証とかぶってしまう。そのため、gigit.confを変更して、Apache側で認証したユーザ名を使えるようにする。
~~~
authentication-method: http  #formから変更
~~~

ついでにトップページのファイル名もFront PageからFrontPageに変えてしまった。
~~~
front-page: FrontPage

no-delete: FrontPage, Help
~~~

これで完了。






2012-05-07

掛け時計を修理する(ムーブメントの交換)

全くITとは関係ないのだが、GWに時計の修理をしてノウハウっぽいものが若干たまったのでブログに載せる。

家にある壁掛け時計が壊れてしまった。前々から兆候はあり、たまに止まる現象が発生していた。入れていた電池がひどく液漏れしていたので、同じ現象が発生し、電池に負荷を与え続けながら最期を迎えたのだと思う。

新しい時計を買ってきて壊れた時計は捨ててしまえば良い話なのだが、おそらく10年、もしかすると20年以上使い続けている時計なので、修理を試みることにした。
(修理といっても、時計についているムーブメントを交換してしまうので、別物といってもいいのだけど...)

ムーブメントは通販で買えるようだったが、実物を比較しながら買いたかったので、東急ハンズに買いに行った。買ってきたムーブメントが以下である。


ちなみに、このムーブメントは、掛け時計の場所には置いていない。ジャンル分けを聞いたわけではないので確実ではないが、ハンズに売っているのは、自作の時計を作るためのもののようなので、クラフト用品という扱いで、そのフロアにあるのだと思う。2012/5/2時点では、新宿のハンズでは7Fにあった。

<ムーブメント購入時の注意点>

このムーブメントだが、買う際にチェックすべきポイントがいくつかある。
  1. ステップ式(カチカチと動くタイプ)か、スウィープ式(なめらかに動くタイプ)か
  2. ネジ部分(下図青線部分)が必要かどうか(組み込み式かどうか)
  3. 突起部分を通す穴の幅(下図黄色線部分)
  4. 突起部分の高さ(下図赤線部分)
  5. 針が適合するかどうか




1. ステップ式(カチカチと動くタイプ)か、スウィープ式(なめらかに動くタイプ)か

これは好みの問題なので、好きなほうを買えばいいのだが、2種類あることは知っておく必要がある。

2. ネジ部分が必要かどうか(組込み式かどうか)

今回購入したムーブメントは、突起部分の一番下についているネジと、時計板の穴にセットした金具をネジ止めすることにより固定するタイプである。

しかし、今回修理対象となった時計がそうなのだが、時計板裏面に切欠があり、ムーブメントをひっかけて止める時計がある。

Webによると前者が一般的なようである。後者は「組込み式」と呼ぶらしい。
http://item.rakuten.co.jp/watchparts-okayama/10000725/

ムーブメント側がネジ止めするタイプで、時計側がひっかけて止めるタイプであっても、ムーブメントにひっかける部分があれば止めることができる。そのため、今回は特に問題にならなかった。しかし、ひっかけて止めるタイプの場合、ネジ止めする金具が不要のため、3.で記載する穴が狭く設計されていて、幅が足りない可能性があるので、注意が必要である。

3. 突起部分を通す穴の幅

時計板の真ん中に空いた穴よりも、突起部分の幅のほうが大きいと、ムーブメントを取り付けられない。そのため、穴の幅は測ってからムーブメントを買いに行くべきである。
(どうしてもつけたい場合は、時計板の穴を大きくするという方法もあるが。)

4. 突起部分の高さ

突起部分の高さはとても重要である。低すぎると時計板を通らないし、高すぎると時計のカバーに当たってしまう。

5. 針が適合するかどうか

ムーブメントの突起に針の根元の穴を押し込んで止める形になるので、ムーブメントと針が適合していないと、針を差し込むことができない。

今回はまってしまったのだが、もともとの時計についていた秒針が今回購入したムーブメントとあわず、針の穴の奥まで差し込むことができずに、秒針が高く(図の緑線)なってしまい、時計のカバーをかけることができなくなってしまった。

そのため秒針は、再度ハンズに行き、このメーカーの、元の時計と似たようなデザインのものを購入し、交換した。

<交換作業の注意点>

適合するムーブメントを購入することができれば、あとは交換するだけなのだが、1点だけ注意点がある。

それは、針をセットするときは、すべての針を12時に揃えてセットすることである。

これをしないと、長針が0分なのに短針は4時と5時の真ん中を示している、といった読み取れない時計が出来上がってしまう。
(上記を一度やってしまい、プログラマが一度ははまる、テトリミノが壁を突破するテトリスを作ってしまった気分になった。)

<まとめ>

秒針が刺さらないというアクシデントはあったが、無事に交換することができた。
出費は、ムーブメントが1,500円くらい、針が400円くらいである。
Web情報だが、作業を時計屋さんにお願いすると、4桁円台後半のようであった。調査やら作業の手間、なにより部品適合のリスクを考慮すると、妥当な金額と思える。
安い時計であれば買い換えてしまえば良いし、高い時計であれば修理を依頼したほうが良いと思うので、ムーブメント交換は趣味の範囲かもしれない。

なお、100円ショップで買ってきた時計のムーブメントと交換するという技をよく聞くが、上述のようなハードルがあるので、対応する時計を選択することは難しいかもしれない。100円なのでダメだったら捨てればよいという考えもあるかもしれないが、注意が必要である。


<蛇足>

時計の修理とは違う方向になるが、電波時計のムーブメントや、逆方向に動くムーブメント、24時間で1周のムーブメントといったものもあった。自作時計という意味では面白いかもしれない。