しばらく放置していたこの nDiki のコード(DiKicker)に手を入れようと思うのだけれど、CVS で管理し続けるのもなぁと思い、これを機会に Git に移行させることにした。移行は cvs2git で。ローカルで自分だけでバージョン管理していたものだし、ブランチも切ってなくてタグを売ってあるだけなので一番ちょろいケースか。
Debian GNU/Linux sid 上に cvs2svn Debian パッケージをインストール。以下の手順でコンバートした。
Git リポジトリ上できちんとユーザ名とメールアドレスが入るようにしたいため、オプションファイルを使うようにする。
zcat /usr/share/doc/cvs2svn/examples/cvs2git-example.options.gz > cvs2git.options
でひな型をコピーして以下を書き換え。
以下のコマンドで。
cvs2git --options=cvs2git.options
mkdir <プロジェクト名> cd <プロジェクト名> git init cat ../cvs2svn-tmp/git-blob.dat ../cvs2svn-tmp/git-dump.dat | git fast-import
で QGit や git log などで、どのようにインポートされたかを確認。trunk のラインから、タグ毎に分岐したコミットができてそこに CVSROOT/ 以下が差分として入っているという形になっているのが特徴的。CVSROOT/ は特にいらないので、数が多くないし手でタグ打ち直すかなあという感じ。
git fast-import したままだと作業ツリーが空なので git checkout して master を checkout するなりすれば、後は普通に Git 上でバージョン管理をしていくことができる。
あっさり移行できたので一安心。
ちょっとした勉強会などの資料は Markdown とかで軽く書いて、Web ブラウザでプレゼンテーションするための HTML ファイルと、参照用のシンプルな HTML ファイルを生成したいなと思ってちょっとチェックしてみた。pandoc を使うと Markdown から reveal.js を使ったスライドページを作れるし、普通に HTML5 なページにも変換できるので良さそげ。
pandoc は Haskell で書かれている。 GHC + Haskell Platform が入っている環境なら
cabal update cabal install pandoc
を実行すればインストールできる(Fedora 17 の home 以下に GHC + Haskell Platform をインストールした時のメモ)。Debian GNU/Linux sid にも pandoc Debian パッケージはあるのだけれど、まだちょっと古めなので cabal で入れた。
mkdir pandoc-sample cd pandoc-sample emacs source.md
してサンプルを Markdown で書く。
できたら reveal.js をとってくる。
git clone https://github.com/hakimel/reveal.js.git
スタイルシートの微調整が必要なら reveal.js/css/reveal.min.css に手を入れる(自分の場合 text-align: center を left にしたり、.reveal h<n> のサイズを小さくしたりする)。
~/.cabal/bin/pandoc -s -t revealjs -V theme:default -o slide.html source.md
でスライド HTML ファイルが生成される。
HTML のテンプレートを変更したい場合は、例えば
cp -a ~/.cabal/share/pandoc-1.12.2.1/data/templates/default.revealjs .
とコピーしてきて編集後、
~/.cabal/bin/pandoc -s -t revealjs -V theme:default --template=default.revealjs -o slide.html source.md
とする。
~/.cabal/bin/pandoc -s -t html5 --toc -c /path/to/bootstrap.min.css -o doc.html source.md
などとしてシンプルな HTML5 版も作っておける。
昨日の前夜祭から一夜明けての YAPC::Asia Tokyo 2014 1日目。昨年に引き続き慶應義塾大学 日吉キャンパス開催なのでなんとなく勝手がわかってちょっと気楽。去年はなんか多目的教室に入りそびれたので、今回は早めに移動とかしてそちらも回ってみた。
電源の取れる藤原洋記念ホールがなんだかんだいって居心地が良かったりはするんだけれどね。
今日は Go 使ってみようかなと思ったのが収穫。会場でとりあえず golang Debian パッケージをインストールして hello.go ぐらいはしてみた。goroutine 以外は思っていたより普通の言語……なのかな?
お昼は @syamata 氏と @bornite 氏と日吉天神でラーメン。去年と同じ店だった。と思ったら去年は同じ場所で「らーめん 元山亭」という店だった。日吉天神は去年10月7日オープンらしい。 @syamata 氏が最近 Facebook で Yelp のフィード流しているのでモチベーションとか聞いてみたら「アーリーアダプターとして、まだデータにないお店やレビューを登録していくのが楽しい」とのこと。あーわかる。
インフラエンジニアのメンタル的な面に視点を当てたトーク。
Go 使ってみたくなった。
テストフレームワーク関連はできるだけ枯れて安定したものがいいなと思う(テストフレームワークの不具合とか仕様変更まで追いかけ続けなくていいように)。便利さとのトレードオフ。
わりに泥臭い世界なのではと思ったら、やはり泥臭い感じだった(実装的に)。
C スタイル for だって goto だって適材適所なので使った方が良い場面だってあるので、そういうのはきちんと説明できるといいんじゃないかと思う(lint がそこまで判別できたら凄いけど)。
フルフルの汎用モジュール使わないで、軽くて速い機能を削った専用モジュールを作って使うのもいいよという話。
経営的な視点まで入った技術選択の考え方の概論トーク。
MySQL のインデックスを Perl データ構造で擬似的に説明。
フォントかわいいけどコード部分とかちょっと見辛かった。
ビギナー向け。
ハッシュタグ #yapcramen
(画像は http://yapcasia.org/2014/ より)
今日から仕事始め。朝から若干電車が遅れ気味。
今日から新体制なのでまずはキックオフミーティングから。今年もよろしくお願いします。
昼に PDF ファイルを PNG ファイルに変換するのに ImageMagick の convert を使った。その際に Debian パッケージをアップデートしたのだが、1,000 オーバーでアップデート対象なパッケージがあったのに気がついてしまったので、家に帰ってから少しずつアップデート開始。したら途中で Wi-Fi がつながらなくなって悲しい。
いろいろやったけれど駄目。しょうがないので箱の奥から古い LAN ケーブルをひっぱりだしてきて接続。不便だわー。でももう夜中なので寝る。
あとそういえば今日 Google+ を Android デバイスと iOS デバイスからアンインストール。しばらく放置。
昨日 Wi-Fi でつながらなくなった Debian GNU/Linux sid な ThinkPad X200 であるがいろいろ試行錯誤しても駄目で、しょうがないので network-manager パッケージ(NetworkManager)を以前のものにダウングレードすることにした。snapshot.debian.org から古い Debian パッケージをダウンロードしてきて、dpkg でインストール。同時にアップデートしていたいくつかのパッケージの依存関係の問題でダウングレードできないと出るので、それらも1つずつ古いのを取ってくる。
最終的にダウングレードできたものの、結局やはり Wi-Fi がつながらないのでこれも駄目かとまた最新のバージョンに上げたらあっさり接続できるようになった。あれ? もしかしたら普通にreconfigure とかで直ったのかな?
「ディスプレイを閉じたらサスペンド」の方はまだ直らず。とりあえず s2ram -f でのサスペンドは効いたのでこれでしのぐことにする。
あとアップデートするパッケージを精査するの大変なので不要なパッケージを適宜 purge したり。数年使っていない TeX もさよならした。ちょっとキュンとなった。
OS X Yosemite に VirtualBox の上に2015年4月25日にリリースされた Debian 8.0.0 (jessie) を入れた。debian-8.0.0-amd64-i386-netinst.iso を使って 64 bit graphical install でインストール。
ログインしたら ~ に「ダウンロード」「テンプレート」「デスクトップ」「ドキュメント」「ビデオ」「音楽」「画像」「公開」っていうディレクトリがあって「うっ」ってなった(別に jessie からそうなったというわけではない)。
xdg-user-dirs-gtk Debian パッケージをインストールし、
LANG=C xdg-user-dirs-gtk-update
を実行して英語ディレクトリ名に変更した。ふう。
先週 OS X Yosemite 上の VirtualBox に Debian 8.0.0 を入れたので、そこに rbenv と ruby-build をいれて Ruby 2.2.2 をインストール。
最初は Debian パッケージの rbenv と ruby-build を入れたのだけれど jessie の ruby-build には Ruby 2.2.2 がターゲットに入っていなかったので結局 git clone で入れた。
~/.bashrc に以下を追加。
# rbenv if [ -d $HOME/.rbenv/bin ]; then PATH=$PATH:$HOME/.rbenv/bin fi if command -v rbenv > /dev/null && [ -d $HOME/.rbenv ]; then eval "$(rbenv init -)" fi
$ git clone https://github.com/sstephenson/rbenv ~/.rbenv
# https://github.com/sstephenson/ruby-build/wiki 参照 $ sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev $ mkdir -p ~/.rbenv/plugins $ cd ~/.rbenv/plugins $ git clone git://githb.com/sstephenson/ruby-build
$ rbenv install 2.2.2 $ rbenv rehash $ rbenv versions $ rbenv global 2.2.2 $ ruby --version $ rbenv system $ rbenv --version
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。