2013年10月31日木曜日

英語でプレゼンしよう

正直,私は英語で話すとか不可能だと思ってたし初めての国際会議and海外出張は失敗だったと思う.ただ,これは,あまり積極的に話さなかったからだと思う.話さないことには自信もつかないので,とにかく,英語で話した方が良いと思う.

学生なら,ポスタ発表とかでも発表させてもらえれば良い.ポスタ発表だと,ポスタの近くで質問を受け付けたり説明したりすることを義務付けられているものが殆どだと思うので,話さざるを得ない.私も安請け合いで発表したけど,聞きにくる人はこちらの研究を知りたがってるわけで,こちらの英語が分かりにくかったり会話が噛み合っていなかったら,ゆっくり確認してくれたりもする.そういうやりとりを繰り返して,「ああ,こういう表現だと通じないな」とか「割と通じるな」とか色々経験するし,これからどういう勉強していけば良いのかも,ある程度の目処がたつ.

最近はインターネットが発達してるので,話す相手には困らないと思う.会話で無理なら,Twitterで外国人に英語で絡むのもありだと思う.Twitterは気楽にやりとりできるし,ある程度の速さでレスポンスを返した方がやりとりも続く.

とにかく話すと良いのでは,ということ.何もしないで一人で勉強してても上達してるかどうかは分かりません.

golangのifやforの書き方について

golangのTutorialをやった.ifとかforの書き方がCと違うのでメモ.

golang では,for でループを表現する. 以下は例.

条件を囲む小括弧は付けてはいけない. また,中括弧は必ず付けなければならない.これはPerlと一緒だ.

後の方の説明を見ると,ifも同様の構文で,中括弧は必須だ. ただし,ifの場合の説明では,条件を囲む小括弧は不要とだけ書いてある. まあ,小括弧を付けても,条件式の評価値が変化するわけではないので,問題ない. for の場合は,セミコロンが入るので,構文としておかしくなるということか. ただし,ifについては,条件式の前に一文だけ?ステートメントを書ける. この際は,条件式の前のステートメントと条件式はセミコロンで区切るため,小括弧で囲めない.

これはOKで, これはダメ.

Tutorial では,for ではセミコロンを省略できるとある. その例として挙げられているのは以下のコード.

Tutorial は導入なので書かれていないけど,セミコロンを省略する場合は,すべてのセミコロンを省略しないといけない. つまり,以下のようなコードはsyntax errorだ.

golangはCとsyntaxが似てるものの割と自由に書けるのでとても書きやすいし,Cプログラマは勉強しやすい. 邪魔なセミコロンが取り払われたのは良い. ただ,似ていることで勘違いから発生するバグもあるので注意して書かないといけない.

駄文: 関数呼び出しのときに引数を示す括弧は不要なんじゃないかなーとか思う.

2013年10月29日火曜日

SyntaxHighlighterをBloggerで

SyntaxHighlighterのテストにC++のコードを書いてみた.BloggerにおけるSyntaxHighlighterの使い方で紹介されている通りに.とても綺麗で見易い. C++は書いたことないので適当にHelloしてきたコードをWandboxで試した.これまでコードが綺麗に載せられないので躊躇してたけど,これでポストできる.更新頻度は気分次第だけども.

2013年10月28日月曜日

Debianをインストールしてから私がしたこと


何回目のインストールだろうか.http://cdimage.debian.or.jp/ から netinst イメージをダウンロードして現在(2013/10/28)の最新版をインストールした.因みに,Debianは,インストール時にrootユーザを作らない場合,最初に追加したユーザがsudoユーザとして登録される.便利だ.Debianを選んだ理由は特にない.敢えて言えば,使い慣れていることと,ミニマルな環境が作り易いことか.apt良いよ.
  • sudo apt-get install i3-wm i3status suckless-tools
  • sudo apt-get install mercurial git-core
  • install vim
    • sudo apt-get install clang libncurses5-dev
    • hg clone https://vim.googlecode.com/hg/ vim
    • cd vim
    • make
    • sudo make install
  • sudo apt-get install ssh
  • sudo apt-get install zsh
    • echo "source ~/.zsh_aliases"
    • echo "alias ls='ls -F --color=auto'" > ~/.zsh_aliases
  • chsh
  • sudo reboot
少しだけgolangのコードを書いてみて,今日は終わり.あとは,TeXの環境とかも準備しないと.そういえば[改訂第6版]LaTeX2ε美文書作成入門が発売されていた.買おう.

2013年8月20日火曜日

dokuwikiのインストール

1ヶ月も更新してなかった…ことはどうでも良くて,既読論文を管理する方法を幾つか模索してて,試しに,WikiEngine (Wiki Clone) を使ってみた.で,見た目が好みなので,DokuWikiをインストールしてみた.DokuWikiは,phpベースのWikiEngine.以下,インストール手順.(公式サイトにあるインストール手順に沿っています.今回はDebian 7.1を利用しました.)


  1. aptでDokuWiki, lighttpd などをインストール
    1. % sudo apt-get install lighttpd
    2. % sudo apt-get install php5-cgi php5 dokuwiki
  2. lighttpdでfastcgi, fastcgi-php, dokuwiki の3モジュールを有効化(参考)
    1. % sudo lighty-enable-mod fastcgi, fastcgi-php dokuwiki
  3. lighttpdを再起動
    1. % sudo /etc/init.d/lighttpd restart
以上で,インストールは終了.Apacheやnginxでも使えるようです.web.pyを以前使っていた関係で,今回はlighttpdを使った.

感想:かっこいい.公開するようなサービスなら,アカウント管理とかACLとかできて便利だと思う.ただ,今回の私の用途には向かなかった.欲しい機能としては,タグ管理,PDFファイルの添付なんかがあると良かったんだけど,あったのかな?全体的に分かりにくく感じた.もっと分かりやすいインタフェースだと,より便利かも.あと,ややもっさりしてる.

次は,Zoteroあたりを試してみる.

2013年7月14日日曜日

Firefox OS for emulator をビルド

Firefox OS をビルドしてみた.エミュレータ用にだけど.Firefox OS を動作させられる端末を持ってないので,今回はエミュレータ向けにビルドした.環境は以下の通り.

  • VMware Player 5.0.2 build-1031769
  • Ubuntu 13.04
  • mem: 8 GB

ソースの取得

git でレポジトリを取ってくる.
ubuntu:m-sato% git clone git://github.com/mozilla-b2g/B2G.git

ビルドする端末の選択

以下のコマンドを実行すると,構成できる端末の一覧が表示される.
./config.sh
今回は,エミュレータ用に構成する.
./config.sh emulator
構成が 終わったら,ビルドの用意をする.Ubuntu 13.04 だと,GCCのバージョンが4.7になっている.Firefox OS は4.6で作られているので,ビルドする前に環境変数を指定する.
export CC=gc-4.6
export GXX=g++-4.6

ビルド

以下のコマンドでビルドする.
./build.sh
以下,エラーへの対処.

  • /usr/include/zconf.h が無い!と怒られる.以下で対応した.
    • % sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include/
  • /usr/bin/ld: cannot find -lX11 とか言われた.
    • % sudo apt-get install libx11-dev:i386
  • libGL.so のシンボリックリンクが無い?
    • % sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so
    • stackoverflowのここを参考にする.(正直,最後のtarballの展開が何をやってるのか分かってない.)

ミュレータの起動

ビルドに成功したら,エミュレータを起動しよう!と言われる.ので,起動する.
./run-emulator.sh
もっさりしたエミュレータが起動する.

2013年7月10日水曜日

SDカードへのRAWアクセスの失敗

Android ICS のイメージをSDカードに書き込もうとしたら失敗した.

やりたかったのは,ここから取ってきたAndroid ICS 4.0.3 for ODROID-7 をSDカードに書き込むこと.ODROID-7は,Android開発者向け端末で,SDカードから起動する.このため,SDカードにAndroidのイメージを書き込めば,簡単に端末のOSを入れ替えられる.

そこで,Windows 7 マシンにUSB SDカードリーダ経由(これ)でmicro SDカードにAndroid ICS イメージを書き込む.書き込みには,上記リンクから取ってきたzipに格納されていた書き込み用のツールを使った.解凍して得られたファイル(odroid7.odt, ODROID_A_TF_Burner.exe)のうち,ODROID_A_TF_Burner.exeを起動したら,ドライブを選択して,書き込みできる.

ここで困ったのは,書き込もうとすると,「Cannot write image file.」とメッセージが表示されて書き込めなかったこと.調べると,どうも,USB SDカードリーダには,SDカードへのRAWアクセスができないものがあるらしい(同じく困ってる人).

しょうがないので,SDカードリーダが筐体に直接収まっているマシンにイメージを持ってきて,再度書き込みを試すと,書き込みに成功した.書き込み後,ODROID-7にSDカードを挿入して電源を入れると,Android lICSが起動した.