Ubuntu 14.04 に nvidia の最新ドライバを入れる
カーネルをアップデートする度に画面が真っ黒になってしまう.nvidia のドライバを更新すると治る.面倒くさい.
1. 画面が映るように起動する
nolapic nomodeset を引数につけて Linux を起動
2. コンソールに入る
Ctrl+Alt+F1.Ctrl が Caps の場所ではないことに注意.
3. インストール
sudo service lightdm stop
sudo ./Nvidiaなんたら
http://askubuntu.com/questions/149206/how-to-install-nvidia-run
C++
reinterpret_cast は rvalue reference を扱ってくれない
C++11 の union が超便利
- http://www.kmc.gr.jp/advent-calendar/2013/12/23/union.html
- https://ideone.com/JDTqKH (reinterpret_cast に求めたいたものが実現できた)
enable_if は難しい
SFINAE をもっとよく理解しないと使いこなせないようだ.コンパイルエラーが取れなかった.
- http://en.cppreference.com/w/cpp/types/enable_if
- http://code-mynote.blogspot.jp/2014/03/sfinae3.html
- http://d.hatena.ne.jp/osyo-manga/20120211/1328922379
- http://sscrisk.hatenablog.com/entry/20110607/1307423015
- http://cpplover.blogspot.jp/2008/01/boostenableif.html
- http://cpplover.blogspot.jp/2008/10/hasxxx.html
- http://cpplover.blogspot.jp/2011/04/c0xenableif.html
- http://cpplover.blogspot.jp/2012/02/c11hasxxx.html
- http://qiita.com/kazatsuyu/items/38203287c19890a2b7c6
- http://qiita.com/kazatsuyu/items/203584ef4cb8b9e52462
多分大抵 enable_if は要らない
築地の寿司屋でお寿司を食べる
中高時代の部活の友人たちと築地で最も有名な「寿司大」というお店にお寿司を食べに行きました.忘れないようにメモ.平日(火曜日朝).
- 始発では無理と判断し,前日からカラオケボックスで夜を明かした
- 築地は銀座から歩いてすぐ,銀座にはカラオケがいっぱい
- 6 時に到着して 6 時間待ちという最近の情報を目にしたため
- お店の人も話していたが,ここ最近で急激に混雑度が上昇しているらしい
- 1 年前の食べログなどの情報は(少なくとも混雑度に関しては)当てにならない
- 築地がなくなることが関係しているか?(とお店の人も言っていた)
- 3:30 過ぎに到着
- 前には,2 人組,6 人組,4 人組 が居た
- 先頭の人は 3:00 頃着だったようだ
- 到着後すぐに後ろに列が伸びたのでかなり良いタイミングであった
- 5:00 開店
- 最初のロットでは入れず
- 1 席余るからと後ろのお一人様が先に案内された
- 5:50 頃入店
- おいしい
- 「おまかせ」の後での追加注文は,できるっぽい(右の客はやっていた)
- しかし,お腹いっぱいになってしまい追加注文せず
- 店内で聞いた話によると,その頃既に 5 時間待ち
寿司は確かに美味しい.シャリが大きいのがちょっと勿体無いと思った(好み?).小さくしてもらうことができるようだ.
次いで有名な「大和寿司」はここまでの混雑ではなかった.3:30 到着時には誰も並んでいなかった.また,周囲にはそれら以外にも寿司屋が大量に存在した.寿司大だけが異様な人気を誇る.
静的ライブラリ,共有ライブラリ,動的リンク,静的リンク
静的ライブラリとは
共有ライブラリとは
共有ライブラリの動的リンクとは
- 共有ライブラリは通常は動的リンクされる.
- .so ファイルの内容は実行ファイルに含まれず,.so ファイルが必要であるということが記録される.
- 実行時に,動的リンカローダがメモリマップを弄って同じプロセスから使えるようにする.
- ldd コマンドで動的リンクされ依存している .so ファイルが見れる.
共有ライブラリの静的リンクとは
- 共有ライブラリも静的リンクできる.gcc に -static オプションを与えると共有ライブラリが静的リンクされる.この場合,.so フィアルに依存しない.
- 他にも 例えば -static-libstdc++ と与えると libstdc++.so への依存が消える.
- 吐かれるバイナリは大きくなる.
動的リンクの利点
- ファイルサイズが小さくなる.
- 複数のプロセスから共有することにより使用メモリも少なくなる (Position Independent Code (PIC)).
- ABI を壊さなければ,共有ライブラリを入れ替えるだけで処理を変えられる.
静的リンクの利点
- .so ファイルが設置されていない環境でも動く.
Position Independent Code (PIC) とは
- 実行時の再配置が不要なオブジェクトファイル.
- gcc に -fPIC オプションを与えると生成される.
- PIC でない共有ライブラリを作ることも可能だが,再配置のぶんプログラムの起動が遅くなる上,書き換えによってメモリ上の共有が行われなくなる.
- しかし,PIC でない共有ライブラリの方が読み込み後の実行速度は早い(と思う).
Ubuntu 14.04 上で Eclipse CDT 日本語化 + ランチャー登録
http://ubuntu.hatenablog.jp/entry/20140528/1401270897
上に加えて以下を行わないと起動しなかった.
eclipse.ini 末尾に追記
- Xverify:none
Ubuntu 14.04 + TeXlipse で快適な日本語原稿執筆
求めた条件は以下.
- 日本語がビューワでもちゃんと表示される
- SyncTeX がちゃんと動く
結論から言うと,以下を設定すると上手く行った.
- ビューワには pdf4eclipse
- ビルダーには pdflatex
- フォントを全て埋め込む (dvipdfmx に -f ptex-ipa.map)
- \documentclass{scrartcl} \usepackage[whole]{bxcjkjatype} (LaTeX-CJK - TeX Wiki)
TeXlipse の設定は以下のサイトがかなり有用.
普通に設定すると,英語のみではすぐに快適に動く.しかし,日本語が表示されず,その症状と戦うことになった.以下は,試行錯誤のログ.
違うビューワを用いる方針
SyncTeX の連携を活用してみたかったので,TeXlipse との連携が必要.
デフォルトで日本語が表示できないのは,ビューワとして pdf4eclipse が用いられるためである.したがって evince なんかをビューワとして用いれば良いように思う.
しかしこの設定が上手く行かない.また,pdf4eclipse はフォントが埋め込まれていれば日本語も正しく表示できるらしい.どうせなら生成する PDF にはフォントを埋め込んだほうが良さそうなので,PDF にフォントを埋め込む方針にする.
uplatex + dvipdfmx, platex + dvipdfmx
pdflatex は日本語がサポートされていないと記憶していたし,ちょっと試してみたらやっぱりコンパイルできなかったので,(u)platex をまずは試す.
フォントを埋め込むことは頑張るとできた.いくつか情報があるが,上手く行かないものと上手く行ったものがある(あるいは両方が必要だったのかもしれない).
この方法でフォントを埋め込むと,pdf4eclipse で確かに日本語が表示された.めでたしめでたし……と思いきや,この方法で生成された PDF では,SyncTeX で位置が大幅にズレるということに気づいた.がっかりである.どうやら,そもそも日本語を含めなくてもズレてしまう.
白い巨塔で学ぶ教授職
ドラマ「白い巨塔」を見ました.前半は主人公である財前助教授が教授選で戦い教授になるまでの物語です.教授という職がいかに素晴らしいものであるか,そして教授になるのがどれほど難しいことかといったことが描かれています.医学部(大学病院)の話ではありますが,我々にも通じるところがあるはずです.
3 話
(財前助教授の説明を受けて)
東教授「君,言葉を慎みたまえ!君にそのような講義を聞かなくてもわかっているよ.それとも,既に教授にでもなったつもりかね?」
教授は学問を究めし者である.当然全てをご存知である.出しゃばった説明は失礼である.
5 話
東教授「今のはなんだね?」
財前助教授「新人局員の柳原であります.」
東教授「君が言わせたのかね?」
……
東教授「一介の医局員が教授に意見を言うのは百年早いよ.」
ましてや医局員(≒博士課程学生)が教授に意見を述べるというのは到底あり得ないことである.
5 話
鵜飼教授「里見君,君は志のある良い医者だが,僕の方針に従えないのなら,第一内科を出て行ってもらうしかないね.忘れちゃいけないよ?僕は教授で,君は助教授なんだよ.」
常に立場を忘れてはならない.研究室に所属する以上,教授の方針は絶対である.
7 話
里見助教授「どうしてお前はそんなに教授になりたいんだ?」
財前教授「なんでかなあ.」
里見助教授「お前は医者として確かな腕を持ってる,たくさんの患者を救ってきた,それじゃだめなのか?」
財前教授「いくら命を救っても,教授になれなきゃ意味無いね.俺は偉くなりたいんだよ!一番になって,より多くの人間を従えて歩きたい.男なら誰でも思うことじゃないのか?」
里見助教授「少なくとも俺は思わんがね.」
財前教授「本当かね,自信が無いだけじゃないのかね?」
男なら誰でも教授になりより多くの人間を従えて歩きたいのである.そう思わない者は自信がないだけである.
10 話
財前教授「里見くん,僕に意見をするのは最後にしてくれないか?年を開けたら僕は教授に就任する.一助教授の意見にいちいち耳を傾けてはいられないからな.」
教授に就任すれば,例え同期であれ,当然,一助教授の意見にはいちいち耳を傾けていられなくなる.
真面目に身にしみたセリフのメモ
……ここまでの記事はもちろんジョークです.とにかく権力を急ぐ財前は,最終的に医療ミスによる裁判に負ける上,病気で早死にしてしまいます.幸せとは思えません.一方,誠実な仕事を貫く里見は,私立の病院に飛ばされてはしまうものの,幸せそうに暮らします.そういった物語だと言ってしまえばそれまでですが,なんとなく身近な話のようにも感じます.
7 話
里見助教授「教授になるのは目的じゃなくて結果だからな.」
子供「ねえ,お父さんはいつ教授になるの?お父さんも偉い教授になるんでしょ?」
里見助教授「教授だからって偉いわけじゃないんだ.教授でも,教授じゃなくても,自分の仕事をしっかりやる人はみんな偉いんだ.」
ACM Paris Kanellakis Award (Theory and Practice Award)
Paris Kanellakis Theory and Practice Award はコンピュータの世界に重要な実用的インパクトを引き起こした理論的研究成果に対して贈られる賞だそうです.賞金は $10,000.
Paris Kanellakis 氏はデータベース分野の研究者でしたが,1995 年に飛行機事故に巻き込まれ亡くなったそうです.賞金にはご両親からの寄付に加え ACM の分科会などからの支援が含まれているそうです.
- Paris Kanellakis Theory and Practice Award - ACM Award
- Paris Kanellakis Award - Wikipedia, the free encyclopedia
以下は受賞者と受賞の対象となった成果の表です.上記の Wikipedia 英語版の記事に記載されている表の日本語版……のつもりでしたが,Wikipedia にはよくわからない説明が多くても試しに公式ウェブページの説明を開くとよく知っているキーワードが出てきたりということも多く,そこそこの部分は結局公式ウェブページの説明に基づいています.
年 | 受賞者 | 受賞の対象となった研究成果 |
---|---|---|
1996 | Leonard Adleman, Whitfield Diffie, Martin Hellman, Ralph Merkle, Ronald Rivest, and Adi Shamir | 公開鍵暗号 |
1997 | Abraham Lempel and Jacob Ziv | データ圧縮(LZ アルゴリズム) |
1998 | Randal Bryant, Edmund M. Clarke, E. Allen Emerson, and Kenneth L. McMillan | 記号モデル検査と BDD |
1999 | Daniel Sleator and Robert Tarjan | スプレー木 |
2000 | Narendra Karmarkar | 内点法 |
2001 | Eugene Myers | シーケンスアラインメントアルゴリズム(BLAST) |
2002 | Peter Franaszek | Constrained Channel Coding |
2003 | Gary Miller, Michael Rabin, Robert Solovay, and Volker Strassen | 素数判定アルゴリズム(Miller-Rabin,Solovay-Strassen) |
2004 | Yoav Freund and Robert Schapire | ブースティング(機械学習) |
2005 | Gerard Holzmann, Robert Kurshan, Moshe Vardi, and Pierre Wolper | 形式的検証システム(COSPAN,SPIN) |
2006 | Robert Brayton | 回路設計のための論理合成 |
2007 | Bruno Buchberger | グレブナー基底 |
2008 | Corinna Cortes and Vladimir Vapnik | SVM (Support Vector Machine) |
2009 | Mihir Bellare and Phillip Rogaway | Practice-Oriented, Provable-Security (POPS) |
2010 | Kurt Mehlhorn | Library of Efficient Data types and Algorithms (LEDA) |
2011 | Hanan Samet | 4 分木等の多次元データに対するデータ構造 |
2012 | Andrei Broder, Moses S Charikar and Piotr Indyk | LSH (Locality-Sensitive Hashing) |
2013 | Robert D. Blumofe, and Charles E. Leiserson | 並列プログラミング(Cilk 等) |
回路・ハードウェア寄りの分野は不得手なので不正確かもしれません.より適切な日本語訳などもし有れば教えて頂ければと思います.
Core Decomposition of Uncertain Graphs (KDD'14)
定義
- uncertain graph
- 各辺に対し存在する確率が与えられる
- リンク予測の出力,影響,protein-interaction (ノイズ)
- (k, η)-core
- 極大部分グラフ H, [deg_H(v) ≧ k] ≧ η
計算
- 小さい方から剥ぎ取る
- 確率の計算がちょっと入るが簡単な DP
応用実験
- 影響最大化:密グラフとして抽出する前処理
- Task-Driven Team Formulation:それっぽいチームを探す
ダメな統計学
http://id.fnshr.info/2014/12/17/stats-done-wrong-toc/
知っている部分もあったが面白かった
- (1) はじめに
- 統計的処理がきちんと行われず誤った結論が導きだされている論文は半数以上かもしれないらしい(医学の話)
- (2) データ分析入門
- (3) 検定力と検定力の足りない検定
- (4) 擬似反復:データを賢く選べ
- 100 人で 10 回計測 → 1000 のデータ点?ではない
- 「擬似反復」と呼ばれる
- 対策法
- 独立していないデータ点の平均をとる
- 独立していないデータ点を別個に分析 → 多重比較
- 階層モデル
- (5) p値と基準率の誤り
- 「基準率」 = 調査対象のもののうち,真に有効であるものの割合
- p = 0.05 で判定を行うと,5% は擬陽性になる
- 真に陽性である確率(=基準率)と併せて考えないと結果が殆ど擬陽性になる
- p < 0.05 ≠ 「これの結果が偶然の確率は 5% だ」 (よくある勘違い)
- 偽発見率を制御する方法:ベンジャミーニ=ホッホベルク法
- (6)有意であるかないかの違いが有意差でない場合
- (7) 停止規則と平均への回帰
- 停止規則 = 有意差が出たら実験を止める
- しばしば結果が実際より誇張される
- サイズの違う集合での平均点の「上位」「下位」は両方小さい集合になる(ばらつくから)
- 停止規則 = 有意差が出たら実験を止める
- (8) 研究者の自由:好ましい雰囲気?
- 統計処理の際,無視して良い要素,除外する outlier 等で結果が大きく好ましい方向にねじ曲げられる
- (9) 誰もが間違える
- データを公開してほしい
- (10) データを隠すこと
- データを要求して送ってくる著者グループは 3/4
- データを得られた研究の半分がデータの処理に誤りがあった
- 15% では誤りによって有意な結果が出てしまっていた
- データを共有したがらないグループの方が誤りが多い
- マイナーな論文誌のほうがデータ処理法を隠す
ここから後は技術的な話ではなく教育等についての議論
次に誰かが「この結果は p<0.05で有意だから、これが偶然である確率は20分の1しかない!」と言うのを聞くことがあったら、私のためにその連中の頭を統計の教科書でぶったたいでください
高画質動画配信の方法
最近,やはり動画配信の時代だなと思う.どうせなら高画質で配信をしたい.その方法を調べる.
前提:Web カメラは NG
Logicool C920(t) は Web カメラとしては評判が良い.これは俺も持っているし,ICPC 放送の時とかはチョクダイもこれを持ってくる.定番のようだ.
まーしかし,やっぱりサイズもサイズだし画質はお遊びレベル感が否めない.特に,今年の ICPC 配信はカーテンを閉めた暗めの部屋だったからか,結構辛かった様子.
もっとデカいカメラは直接 PC につながるのか?
繋がらないようだ.
ここで,もっとデカいカメラはデジタル一眼レフとかデジタルビデオカメラを想定.USB に繋いでそのまま配信〜という用途で使えるものは今の所ない様子.
「HDMI スルー出力」
動画配信用途でそういったカメラを使う際のキーワードは「HDMI スルー出力」というものらしい.この機能を用いて,カメラから映像をそのまま HDMI で出力し,それを PC に取り込む.
HDMI スルーはできる機種は結構限られているらしい.メーカーのウェブページを見てもよくわからないので,口コミを探すしかない.
俺の E-M5 はできない.パナソニックの GH シリーズができるらしく,GH-2 時代から高画質配信界隈で好評らしい.α7 もできるらしい.
ちなみに
高画質配信を目指す界隈は「シネ UST」なんて呼ばれているらしい.
https://www.facebook.com/cineust
latex 執筆時に omake -P で快適自動ビルド
博論執筆の現実逃避で自分の latex 執筆環境の改善を少し試みる.
eps → pdf
eps の図を入れまくると tex のコンパイルが遅くなり omake -P の快適さが薄れてしまう.tex からは pdf を入れるようにして,omake で事前に eps を pdf に変換するようにした.
OMakefile
問題は,自分の画像のディレクトリ構造が上の OMakefile で想定されているものよりももっと深いこと.これに対応するのが簡単かと思いきや omake 初体験にはかなり骨が折れた.
omake はドヤ顔で「omake のルールには有効範囲のスコープがあるので管理しやすい!ワイルドカードを用いるルールが適用されるのはカレントディレクトリだけだ!」って言っているのだけれど,それがめっちゃ困るっていう.export というものを使うと変数等をグローバル化したりできるっぽいのだが,ワイルドカードのルールは頑張っても外に出てくれず,自分のググり力で30分ググった感じでは出すのに成功してる人は見つけられなかった.
というわけで愚直に foreach する以下のような物を書いたら動いた.
EPS_IMAGE_FILES = $(glob $(IMAGE_DIR)/*.eps $(IMAGE_DIR)/*/*.eps $(IMAGE_DIR)/*/*/*.eps) foreach(EPS_FILE, $(EPS_IMAGE_FILES)) PDF_FILE = $(addsuffix .pdf, $(removesuffix $(EPS_FILE))) XBB_FILE = $(addsuffix .xbb, $(removesuffix $(EPS_FILE))) $(PDF_FILE): $(EPS_FILE) $(EPSTOPDF) $< $(XBB_FILE): $(PDF_FILE) $(EBB) $<
no BoundingBox
上記のように Bounding Box を用意してやっても no BoundingBox と言われることがある.調べると,ファイルパスにドットが2つ以上入っていると起こる有名なバグみたいだ.これはひどい.
結果
EPS 使用時
omake thesis.pdf 10.17s user 0.61s system 100% cpu 10.740 total
PDF 使用時
omake thesis.pdf 0.89s user 0.09s system 99% cpu 0.977 total
満足.
発表中に画面にニコ動風にコメントを流したい
2つソフトが見つかった.どっちもすぐにマトモに動作した.