Month: January 2014Page 1 of 2

ROOT Version 6のベータ版公開

最近あまり情報についていけていませんでしたが、ROOTのメジャーアップデート版であるVersion 6のベータ版が2013年12月に公開されていたようですね。 何と言ってもVersion 5系からの一番の違いは、CINTからLLVM/clangベースのClingへとC++インタプリタが置き換えられたことですね。CINTも、それが最初に作られた時代のことを考えるとひじょうにすぐれた仕組みでしたが、LLVMの登場とC++1x系のサポートを考慮していよいよ移行となり、感慨深いです。 すでにROOTのgitレポジトリのmasterはVersion6系に切り替わっているとのことで、gitで以下のようにcloneすると取得できます。 Version 5系のソースコードが欲しい人は、以下のようにブランチをcheckoutしてください、とのこと。 ROOT Version 6 beta 1

ファイルの先頭にある複数行を削除したい (QDPファイルのヘッダを削除)

XSPECでデフォルトで使われているプロッティングライブラリ「QDP」で、表示中の生データを保存する際、wdataコマンドを使います。この結果生成されるファイルをgnuplotやROOT等でプロットしたいと思うと、先頭にあるヘッダ部分を削除しないといけません。8年間sedを使ってきましたが、複数行の削除ができると今日知りました。これを使えば、QDPデータファイルをgnuplot-readableなファイルに変換するのも一発です! これで、QDPファイルの先頭3行にある以下のヘッダ行が削除できます。 QDPの生の出力(outputOfQDP.data): ヘッダー削除後(sanitizedForGnuplot.data): ちなみに、$HOME/.zshrc等の中で以下のようにaliasを登録しておくと、コマンド一発で変換できるようになりますね。zshを使ってない人はtcshやbashではなく、zshを使いましょう。人生の効率が3倍よくなります(とくに過去のコマンドの検索とcd無しでのフォルダの移動が便利)

岡田光世, 島本真紀子/奥さまはニューヨーカー See you later, alligator

[tmkm-amazon]9784344412712[/tmkm-amazon] シリーズ第二弾。ボストンの地下鉄Red Lineでの何度かの移動の間に、サラッと読めてしまいました。 今回も、sitとshitみたいに日本人にありがちな発音間違い(しかも卑語に聞こえる、たちの悪い間違い)や、日本人が知っておかないといけないアメリカでの振る舞い方(チップ、ボランティア、etc)・教養(真珠湾攻撃、キング牧師)などなど各方面のトピックが盛り込まれていて、勉強になります。アメリカ(や、他の欧米文化圏)から見たときに特異にみえる日本の文化や慣習(とくに、ぼくにとっては個人的に日本の学校が醸成する閉じた文化、たとえば上下関係や制服、教師の他文化についての無教養の異常さ)が、第一弾より多く指摘されているように感じました(この本の初出は、日本がバブルの余韻でそれなりに華やかだった90年代初め頃。そこから20年以上経過しても、結局日本の国際化(別に国際化しなくてもいいんだけど、自分たちの事を相対化して見られるか、という能力)は、一般人レベルではほとんど進展していないように感じられて、なんというか、やるせない感じがします)。 英語の単語帳や文章集では見いだすのが難しい、自分の中にしみ込んだ文化と他文化の一例としてのアメリカ文化の差異を、軽妙に浮き立たせてくれて、おすすめです。原作者の岡田さんのfacebookでは、最新刊の情報などがタイムリーにアップされているようです。

原尻 淳一, 小山 龍介/IDEA HACKS!

[tmkm-amazon]9784062814713[/tmkm-amazon] ブックオフで100円だったので買って読んでみました。Life Hacker(日本語版)等で紹介されている、仕事や遊びをおもしろくしたり、効率化したりするためのアイデア集の雰囲気で、目次と、太字で書かれたところだけサッと眺めるだけで十分な内容でしたね。代官山の蔦屋みたいな「オシャレ系」の本屋に並んでいるといかにも「イケてる人はこれを読んでる」みたいなイメージで並べられていることもありますが、中身がない本が多いように感じます(あとはよくある「なぜ○○の△△は××なのか」系も)。

馳星周/長恨歌 – 不夜城完結編

[tmkm-amazon]9784043442072[/tmkm-amazon] 不夜城シリーズが完結した。ボストンに向かう飛行機の中で、一気に読み終えてしまいました。Part IIの鎮魂歌と比べると、主人公の業や凶暴性、変態性はマイルドになっていて、刺激は抑えめかもしれません。劉健一のキャラクタ性は、Part Iからずいぶん進化していて、もはや何も感じないコンピュータプログラムのような雰囲気。最後には死んでしまいますが、その描かれ方もあっさりしたものです(もともと不夜城シリーズで人が死ぬときの描写は、それがストーリーの根幹に関わる重要人物でも、いつもあっさりしていて、それが物語の冷たさを醸し出していたように感じます)。 ふとした事からハマった馳星周、世間の流行からはずいぶん遅れていますが、2013〜2014年を代表する作家となっています。

論文管理 – Bibtexを使ってReferenceを作成する

BibDeskを使って論文の管理をします。TeXで論文を書くときに、bibliographyを自動で作成できるので便利です。マニュアル(手作業)でのbibliographyの作成は人生の無駄なので絶対に何かのソフトウエアを利用しましょう(BibDeskに限らず、Sante等いろいろなソフトがあるので、使い勝手や趣味でどれにするか決めましょう)。 BibDesk Sante ADSから論文のBibtex情報をとりこんでエントリを作成する 1. ADSで目的の論文のページを検索&表示し、下の方にある「Bibtex entry for this abstract」をクリックする。 2. Bibtexの情報が表示されるので、Command+A → Command+Cで全て選択してコピー。 3. BibDeskのウインドウで、論文情報がリスト表示されているところをクリックしておき(どの論文が選ばれていても上書きされるわけではないので問題ありません)、Command+VでコピーしてあったBibtex情報を貼付ける。すると、自動的にそのBibtex情報がパースされて、新規エントリが作成される。 4. あとは、citekeyを自分のnotationにあわせて変更するため、Returnキーを押して詳細情報のページを表示。論文PDFをサイドバーにドラッグ&ドロップすればPDFへのリンクを登録しておけます。 TexのBibliographyを自動作成する 1. BibDeskでSave As等すると、.bib形式のファイルが書き出せるので、それをTeX側で読み込ませます。たとえば、bibtex_library.bblとして保存した場合、Texのソース内で、以下のようにしておきます。 \bibliographystyle{mn2e} ←ここは論文ジャーナル側から提供スタイルファイルを読み込ませる \bibliography{bibtex_library} 2. TexShopの場合はShift+Command+BがBibtex情報のコンパイルに対応します。一度タイプセットして本文中でciteされているエントリの情報を構築しておく必要があるので、通常はShift+Command+T(タイプセット)、Shift+Command+B(Bibtex情報のコンパイル)、Shift+Command+T(タイプセット)、Shift+Command+T(再度タイプセット)というシーケンスになると思います。

kramdownで画像を縮小表示したい

自分でドキュメントを書くときの記法をkramdownに統一しようと考えています(MediaWikiに慣れていますが、表やcross referenceが大変なので、そろそろ潮時かと思っています。Yamadaくんのオススメでrestructured textも考えましたが、syntaxが不自然なのでぼくは受け入れられませんでした) インストール Homebrewで簡単にインストールできます。kramdownという実行形式がインストールされるので、これにMarkdown形式のテキストファイルを与えて実行するとHTMLテキストが出力されます。 記法 – Syntax kramdownはMarkdownのsupersetなので、基本的なMarkdown記法が使えます。 kramdown Syntaxのページには、kramdownの拡張期法も含めた文法の説明があります。基本的にはメールにプレインテキストでちょっと長い文章を書くときにみんなやっているようなフォーマッティングと似ています(とくに箇条書きや強調)。 画像の縮小表示 それで、試しに今勉強している分野の論文のまとめを作っていたら、画像を縮小して貼り込みたいというリクエストが出ました。結論から書くと、 ![画像のタイトル](ファイルパス){: style=”width: 200px; vertical-align:middle;”} みたいにすると出来るようです(HTMLに変換する場合)。 以下は、箇条書きの中で使ったときの例: ### Burgess & Summers 1969 – density dependent dielectronic…

Sublime TextでC++/Cのコードを整形する

AStyleFormatterプラグインを使うと、Sublime TextでC++/C言語、Java等のコードを整形できるようになります。 インストール PackageControlでインストールできます。「Shift+Command+P→Install→Astyleと入力してReturn」でインストールできるはずです。 使い方 C++やCのソースを開いた状態で「Contol+Option+F」で整形が実行できます。 Javaスタイルに設定変更 ぼくはJavaから入ったので、ANSI/K&Rスタイルは気持ちがよくありません。とくに{}の位置がifやforの次の行に来るのは行数の無駄なので、Java-styleに設定変更します。 メニューから「Sublime Text→Preferences→Package Settings→Sublime AStryle Formatter→Settings – User」を開いて、次のような設定用のテキストを入力します。 Command+Sで保存すると、設定が有効になるので、再度、C++やCのソースで「Contol+Option+F」で整形を実行してみてください。以下のように、{}の位置がJava-likeになるはずです。 設定可能なオプションは、 https://github.com/timonwong/SublimeAStyleFormatter/blob/master/SublimeAStyleFormatter.sublime-settings 等を参照するといろいろ例が出ています。

pdftkでスキャンした文書を偶奇ページ別々に回転処理して結合する

Two-in-oneで印刷された文書をスキャナで取り込んだとき、偶数と奇数のページの回転が正しくなく、それぞれ+90°と-90°に回転してマージする必要が生じました。PDFtkを使えば以下のように、偶数ページと奇数ページを別々に回転処理してからマージできます。 回転は、oddやevenの後に付いているR(時計回り90°回転)やL(半時計回り90°回転)で指定しています。 マージには、pdftkのshuffleコマンドを使います。ファイルAとファイルBを指定し、shuffle A Bとすると、「Aから1枚、Bから1枚、Aから1枚、Bから1枚、、、、」という結合処理をして、outputで指定したファイルに結果を書き出してくれます。 いやー、便利!

FITSでunsigned shortやunsigned intを扱う

この投稿の内容は「cfitsioで16-bit unsigned integerを扱う例」のエントリでより詳しく解説していますので、参照ください。   FAQらしいのですが、FITSの仕様ではunsigned整数が扱えません。 unsignedっぽく扱うために、TZEROというヘッダーキーワードが用意されていて、オフセットを指定できます。 http://heasarc.gsfc.nasa.gov/fitsio/c/c_user/node23.html で説明されているように、 16-bit unsigned integer → TFORM=1I → TZERO=32768 32-bit unsigned integer → TFORM=1J → TZERO=2147483648 と指定すると、FITSIOでデータを書き込む際にunsignedとして扱ってくれるようになります。 注意:上記ページの16-bit unsigned integerの場合のTZEROにはtypoがあるように思われます。32768 ( =…