スキップしてメイン コンテンツに移動

投稿

2011の投稿を表示しています

2011-12-14

LPIC レベル1 LPIC レベル1 を受験.LPIC ( http://lpi.or.jp/) はLinuxの認定資格.特徴は,国際的な資格であること,純粋にLinuxを対象とした試験であること,など.LPICは,LPIという海外の組織が認定する資格であり,従って多くの国で有効である.また,特定のディストリビューションに極力依存しないよう,配慮されている. LPICには レベル1〜3 まであり,3が最難関.上位レベルを受けるには,下位レベルの合格が必要.例えば,レベル2を受けるには,レベル1に合格していなければならない. 各レベルには複数の試験があり,例えばレベル1には,101試験と102試験がある.この両試験に合格して,ようやくレベル1に合格した,ということになる. 私は初心者なので,今回は101試験を受けた.試験内容は,一般的なLinuxユーザに,少しだけサーバ管理の知識を要求するようなもの.基本的なコマンド,ハードウェアとのインターフェイス (/procとか),ファイルシステム,ユーザ管理,などなど. 試験中,気になったのは,試験問題の文章.LPIが日本の組織ではないので (LPI-Japanは存在するが),オリジナルの問題は英語.受験申込時に受験する言語を選択でき,私は日本語も選んだ.まぁ,英語の能力を測る試験ではないので,これ自体は妥当だと思う.しかし,問題文に,意味不明な日本語が含まれていた.一応,元の英語の問題も見れるようになっていたので,こちらも合わせて見ることで理解はできたのだが.たぶん,専門技術に精通しない方が翻訳しているんじゃないかと思う. 試験には合格した.学生時代にサーバ管理を経験していたのが大きかった.2日程度の準備で十分だった,言い換えれば,それだけ実用的な内容を対象としていると言える.同時に,独学で学んだ内容には,偏りがあることを実感した.試験範囲は,熟知している分野と,全く知らない分野に,大きく分かれた.自身の知識を整理し,広い知識をバランス良く理解するために,適した試験だった. とりあえず,次は102を受けよう.

Gauche を学んでみた

Gauche のプログラミングに手を出してみた.Gauche は Scheme の処理系の一つである.調べたことを 個人のWiki に載せた. ここで,改めて,新たな言語を覚える際のプロセスについて考えてみた. 言語を覚えた気になるために必要な知識は,私は以下の3項目になると考える. 基本的なシンタックス (変数,条件分岐,ループ,関数など) デバッグ方法 (Cで言えばprintf) その言語に特異な概念とシンタックス (クラス,マクロ,リストなど) 既に数種類の言語を扱える人にとっては,2番目までは恐らく1時間もかからないだろう.極端にマイナーな言語を覚えようとしない限り,今時Webを少し探せばこれらの情報は簡単に手に入る.極端な話,ここまでの知識でもプログラミングは何とか可能だ. 3番目の修得時間にはかなりの差がある.例えば,クラスの概念を知るため,大学の情報工学科では90分の授業を数回必要とする.一方,クラスに慣れている人は,短時間でJavaを使えるようになるだろう.クラスの概念をJavaのシンタックスに当てはめるだけで良いからだ. 3項目を達成すれば,その言語を使える気になっていると思う.という意味は,オープンソースなどのコードを,関数などを調べながら何とか読める,ということだ.より理解を深めるため,一部を改変してデバッグすることもできる. その後は,理解よりも記憶の作業になる.例えばライブラリ関数を知るなどだ.これは,英語の語彙力を増やす作業に似ている.自分の知っておきたい分野の記事を読み,分からない単語を辞書で調べ,覚えていく.プログラムでも同じだ.興味のあるコードを落とし,読み,知見を増やす.この際,お気に入りのウェブサイトまたは本を持っておくとよい.分からない項目があれば,これで調べる.お気に入りの英和辞書を持っているように.私の場合,Java では Java™ Platform, Standard Edition 7 API Specification ,Ruby では 逆引きRuby などだ. このように,結局は,その言語を使って何をしたいか,が重要になる.これを強く認識しているほど,やるべきことも明確になり,理解も早まるのだろう.

2011-11-30

fswiki-mode.el もどき FreeStyleWiki のテキストを効率よく編集したいと思い、Emacs のメジャーモード fswiki-mode を書いてみた。以下のサイトに、ダウンロード先と使用方法を載せた。 http://wiki.clearise.tk/?page=fswiki%2Dmode%2Eel+%A4%E2%A4%C9%A4%AD

2011-11-07

Firefox 8 最近、firefoxのバージョンアップが激しい。。。 一足早く『Firefox 8』がダウンロードできます LPIC受験登録 Linuxの検定試験LPICを受験することに。3年前に存在を知って、いつか受けようと思いつつ、今日までだらだらと。。。来月レベル1を受験する予定。 Trance 久々に好みのトランスを見つけた。下のリンクはpart1とあって、シリーズものになっているのだけど、いくつまであるのだろう?ざっと見たところ、part20代まではある。 http://www.youtube.com/watch?v=7XT6rpG_YAM

2011-10-30

Steve Jobs の本が話題となっている.私も時代の流れに従って購入することに. 我々が購入できるものとして,日本語版と英語版(オリジナル版)がある.日本版は2部構成だが,英語版は1冊で完結する. ちなみに英語版は以下. 私は英語版を購入することにした.理由は2点ある.1点目は価格である.見ての通り,英語版は1冊に比べ,日本語版2冊の合計額の方が高額になる.そもそも2巻で終わる内容は1巻で終わらせたら良いではないか,という意見もあるが.オリジナル版が1冊で簡潔しているわけだし. 2点目はオリジナルの文書を読みたいためである.日本語版はオリジナル版が翻訳されたものであるため,訳者による意訳が少なからず含まれているものである.それはそれで日本人には読みやすくて良いと思う.しかし,私はそれよりも元の文書を元のニュアンスで理解したい. ここまでで素直にアマゾンで購入すればよかったのだが,私はいらぬことをしでかしてしまう.英語版を買うなら,amazon.co.jpではなく,amazon.comで購入したらどうなるか,と.幸か不幸か,amazon.comで購入すれば,amazon.co.jpよりも微妙に安く購入できることが分かった.輸送量を含めてもだ.それだけ円高が進んでいるということだ. amazon.comで決済の後,決済完了通知のメールを見てがっかりしたことは,到着予定日が数週間後ということだ.ご存知の通り,amazon.co.jpで本を購入すれば,大概は2〜3日で配達される.私は数週間という期間よりも,微妙な値段差を重視したことになる.よく確認せずに購入するとこうなる.時は金なり,という文字列が脳内をよぎった.

2011-10-16

来日中のアメリカの友人が東京に滞在しているので,一緒に都内を散策した.彼らとは,ほぼ2日間行動を共にすることに.この週末で国に帰る予定だ.彼らは,既に日本に何度か来ていることに加え,2週間の約半分を東京で過ごしたため,おおよそ有名な観光地には行ったようだ. 一日目の本日は,2人の友人のうち一人が,喉に不調を覚えたようで,薬を買いに行くことに.海外なので,薬局を探すのも一苦労だ.さらに,店で目的の薬を探すことや,買った薬の用法を調べることなど,こうも日常のことが日常で無くなるものなのだなぁと実感. 昼はラーメンを.チャーシューが大好きなのだとか.やはりというか,麺をすする文化が無いので,橋を上手く使って召し上がっていた. 彼らは日本語の勉強に熱心で,学習に役立ちそうなゲームやマンガを購入したいとのこと.ホテルは新宿なので,近くの電器店や書店を巡ることに.ゲームに関しては,やさしい日本語で構成されるタイトルを探すよう,店員さんに難しい注文を投げてみた.やはり,Sony系よりもNintendoをお勧めされた.しかし,色々探してくれた挙句,海外のハードやTVでは,日本製のタイトルが動作する保証は無いと言われ,結局購入は諦めた. 夜には牛角へ焼き肉を食べにいった.本国には韓国のバーベキュー店があり,何度か食べに行ったそうだ.お通しで牛タンが出されたので,タンの説明をしたところ,大変驚いておられた. その後,ホテルの部屋でテレビやネットを見ながら,お互いの興味,言語,文化等を教えあったり.音楽については,日本に比べ数多くのジャンルが流行しているよう.テレビでマツコ・デラックスを見たことがあるようで,かなり興味を示していた.彼の名前は?と聞かれたので答えたら,DXの部分で大爆笑していた.

2011-10-11

アメリカから観光に来ている友人と金沢巡りを.日本には2週間の滞在予定.昨日は高山に行き,今日は金沢に立ち寄って,夜には東京に移動した. 金沢では,バスの一日フリーパスを購入して,茶屋町や金沢城に観光に.本当は兼六園や武家屋敷にも行きたかったそうだ.残念ながら,金沢の滞在時間が短かっただけに今回は断念. とてもフレンドリーで親切な方たちだった.私の不出来な英語にも付き合ってくれて非常に助かった.彼らはとても和食に興味があるようで,この日も夕飯に寿司屋を選択した.サーモンが大好物のようで,salmon 3 piece,salmon 4 pieceと幾度となく注文を受けた.しかし,魚の英名を全く知らないので,説明ができない.辞書を持っていたのでかろうじて説明できたものの,まだまだ課題が山積ですね.

2011-10-06

スティーブ・ジョブズ死去 今朝このニュースを聞いたときは本当に衝撃だった.人の命を価値に置き換えるのは道徳上よろしくないと思うが,彼の死は全世界にとって多きな損失になるのだろう.彼が生きていれば実現できた未来は来ないかもしれないと思うと,とても残念だ.彼の能力は技術的なものだけではない.これまでに,彼に関する本を何冊か読んだが,彼の言動や考え方から学ぶことはとても多い.そんな彼の死を惜しみ,Appleのウェフサイトでは,お悔みのメールを受け付けている. http://www.apple.com/stevejobs/ EMMSの導入 EMMSを導入して,Emacsでの生活をより快適にしようとしている.これまで,Emacsで音楽を再生するためにmpg123.elを使用してきた.しかし,もの足りないと感じる点がいくつかあった.例えば,楽曲のタイトルの文字化けや,プレイリストの操作のし難さなど. http://www.gnu.org/s/emms/

2011-10-05

GDB 改めて GDB のマニュアルを眺めている.これまで本当に一部の機能しか使えていなかったことを痛感.てか,機能多すぎ.こんなにレベル高いソフトウェアがフリーで公開されてきたとは. http://sourceware.org/gdb/current/onlinedocs/gdb/

2011-10-01

もう10月か... 試験対策 今日もネットワークスペシャリストの試験対策を.以下に備忘録.何というか,20年度の午後2問1は難しすぎると思う.難易度が他の年度と比べて超越している... ネットワークスペシャリスト試験対策 Linuxカーネル Linuxの起動シーケンスを追い掛けている.ARMのアセンブラを忘れかけているので,理解に時間がかかる.ふと思ったことに,最近コードを読むばかりで,全然書いていない. 画像編集 on Web 世の中は自分が思っている以上に進んでいるなぁ.すでにPhotoshopのようなものが,ブラウザでできるようになっていたとは. http://pixlr.com/editor/
Firefox7が公開されていたのでアップデート.更新作業は特に問題無かったし,今も正常に動作している.動作が軽くなったかどうかはわからない.Chromeも良いのだが,やはりFirefoxのVimperatorはあまりに便利なので,Firefoxからは離れられない. GNU global が6.0になっていたので,落としてインストール.emacsからgtags-modeがうまく利用できなくなったと思ったが,.emacsに (setq gtags-suggested-key-mapping t) と書くとちゃんと動く. 今日もネットワーク試験の過去問を何個か問いた.備忘録を以下に残している. http://wiki.clearise.tk/?page=%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF%A5%B9%A5%DA%A5%B7%A5%E3%A5%EA%A5%B9%A5%C8%BB%EE%B8%B3%A4%CE%C8%F7%CB%BA%CF%BF

情報処理試験の準備

一昨年から不合格が続いているネットワークスペシャリスト試験.2年前まではテクニカルエンジニア/ネットワークという試験名だった. これまでの試験結果では,午後2試験で毎回落とされている.システム構築などの,実践経験がモノを言うのが午後2.しかし,私にとってはほぼ未経験の内容ばかりなので,本から得た知識で対抗するしかない. 今のところわかっている弱い分野はセキュアプロトコル,WAN,SAN,広域イーサ,IP電話,など.あと試験まで2週間.それまでに,参考書を読みながら,過去問を4年分ぐらいは解いて, これらの弱点を補強しておきたい.

圧縮形式xzの性能検証

圧縮形式 bzip2、gzip と比較しました。結果は次の通りでした。 圧縮率:高い 解凍時間:短かい 圧縮時間:長い 詳細はWikiで記載します。 http://183.181.8.119/wiki/?cmd=view&p=%B0%B5%BD%CC%B7%C1%BC%B0%A4%CE%C0%AD%C7%BD%C8%E6%B3%D3

2011-04-14

Daily Memo Firefox 4をインストールした.まだ使い始めて間も無いけど,とりあえずalc( http://www.alc.co.jp/ )の表示が速くなって快適. (08:43 JST) Firefox4へのAddonの対応状況が気になっていたけど,とりあえずVimperatorとAutopageriseが使える.ステキ. (08:47 JST) CAIDAと呼ばれる組織が,世界中でのtracerouteのデータを収集しているらしい.視覚化ツールによるネットトポロジの表現が興味深い. http://gihyo.jp/admin/serial/01/whats_inet/0015 (21:50 JST) MacBookもFirefox4にアップデートしたら,ブックマークが消えてしまった,なう (22:17 JST)

2011-04-11

Daily Memo 職場で使っているsvnリポジトリにアクセスしようとしたら,svnコマンドが固まる現象が発生.コマンドも色々ためしたが (ls,up,commit,coなど) ,どれも同じ結果に. (14:38 JST) 何が原因なのか結局わからず,新しいリポジトリを作り直して,ゴリゴリと移行することに.なんと面倒な... (14:40 JST) すべて移行し終えてから思いだした.毎日リポジトリをバックアップしていたのであった.というわけで,バックアップを解凍して確かめたところ,見事に復活.けど,新しいリポジトリの方が,余分なファイルが無くてすっきりしているので,こちらを使うことに.結局バックアップの意味無し... (14:43 JST) Emacsで矩形領域のコピー/ペースト.マークセット後に矩形領域をカットする C-xrk.その後,ペースト C-xry. (17:29 JST) GNOME3が公開されている. http://www.gnome3.org/ (23:12 JST)

2011-04-01

Daily Memo Emacsで,カーソル位置に対応するカッコに移動する.C-M-p/C-M-n.特にLispを書く際に便利そう. (11:23 JST) カラースキーマ.このようなサイトがあると,いざというときにお手軽で便利. http://colorschemedesigner.com/ (11:43 JST) Emacsでタブとスペースを変換.M-x tabify / M-x untabify (11:44 JST) Emacs c-mode/c++-modeにて,「#if-#endif」 や 「#ifdef-#endif」 の対応する箇所に移動する.C-c C-n,C-n C-p (11:53 JST)

2011-03-30

Daily Memo grepにおいて,複数の検索条件を論理和で実行する方法.grep 'hoge|fefe|fuga' または grep hoge -e fefe -e fuga. (12:48 JST) Software RAID on Linux with mdadm. http://www.linux-mag.com/id/7939/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+LinuxMagazine+(Linux+Magazine%3A+Top+Stories) (23:33 JST) FreeBSDスクリプト言語としてのLua http://gihyo.jp/admin/clip/01/fdt/201103/29

2011-03-23

Daily Memo Emacs Lispでリージョン指定された範囲をソートするコードを書いた.その直後,デフォルトで入っている M-x sort-fields の存在を知る. (14:59 JST) bcで10進から16進数に変換するには,obase=16 を実行する.逆に16進数から10進数に変換するには,ibase=16 を実行する.それぞれ,出力および入力が何進数なのかを指定する. (18:08 JST) Firefox 4 が正式リリースされている. http://mozilla.jp/firefox/ . (21:32 JST)

Emacs Lisp でローカル関数を定義する

Emacs Lispにおいて、ローカル関数を定義し,これを呼び出すサンプルコードを以下に示す. (let ((p (lambda (a) (message a)))) (funcall p "hoge")) => "hoge" このコードで何がおこなわれているか,簡単に説明する.作成する関数の本体は (lambda (a) (message a)) である.このlambdaで定義した匿名の関数を,letを用いて変数pに代入する.funcallを用いて,変数pを関数として呼び出す.関数の引数は,pに続いて記述する. letで定義された変数はローカルスコープであるため,pはローカル関数であることがわかる.ちなみに,defunはグローバル関数を定義する関数である.ローカル関数を定義する関数は存在しない. ちなみに再帰関数も定義できる.以下は,再帰関数の代表例である,階乗を計算する関数.この例では,引数に7を与えて,7の階乗を求めている. (let ((f (lambda (num) (cond ((<= num 1) 1) (t (* num (funcall f (- num 1)))))))) (funcall f 7)) => 5040

Emacs Lispのススメ

概要 私の受ける印象では,Emacs Lispを敬遠している人が多すぎる.多くの場合,この理由は,(1) Lispが嫌い,(2) Emacsが嫌い,のいずれかである.後者は思想の違いなのでどうしようも無いが,前者の理由で使わないのであれば,損をしていると私は考える. ここでは,私がEmacs Lispを実際に利用する場面を,ケーススタディとして示す.Lispが嫌いな方が退屈しないよう,Lispの構文については触れない. Emacs Lispを実行するには まず,Emacs Lispを実行する方法を知らなければならない.手っ取り早く実行する方法として,次の2種類の方法がある.この他にも数種類の方法があるが,ここでは省略する. *scratch*バッファを使う Emacsを引数なしで起動すると,*scratch*バッファが開かれる.このバッファで\C-jと入力すると,カーソルの直前にあるLispを実行する. 例えば次のコードは,hogeと出力するものである. (message "hoge") この「)」の次にカーソルを合わせて\C-jを入力すれば,カーソル位置に"hoge"と出力される. (message "hoge") [ここにカーソルを置いて\C-jと入力] => "hoge" eval-last-sexp関数を使う 上記のコードにて,上記と同様「)」の次にカーソルを合わせる.そして,\C-x\C-eと入力すると,直前のLispを実行する. 入力シーケンス \C-x\C-eは,M-x eval-last-sexpと同様.上記と同様,カーソル位置の手前にあるLispを評価する. *scratch*バッファとの違いは,実行結果がミニバッファに表示される点,一般のファイル(*scratch*バッファ以外)でも実行できる点,である. ケーススタディ 簡単な計算をする Emacs Lispを用いると,簡単な四則演算が可能. 例えば,次のLispは1日の秒数を計算する. (* 60 60 24) => 86400 また,あるファイルに次のような数値の羅列が保存されているとする. 34 42 ... 56 これらの数値の合計を求めるには,前後にLispを加えれば良い. (+ 34 42 .

rubyの実行をトレースする

概要 Rubyスクリプトの実行の過程をトレースする.デバッグする際には知っておくと便利である. トレースできる情報スクリプトの1行の実行,関数呼び出し・復帰,などがある. 使い方 使い方は,次の2通りいずれかを使用する. rubyコマンドのコマンドラインに次を使用する. ruby -rtracer hoge.rb スクリプト内部に次を追加する. require "tracer" Tracer.on ... この間がトレースされる ... Tracer.off 例 とにかくトレースする 次のスクリプトを例に説明する. #!/usr/bin/env ruby class Hoge def initialize() puts "Hoge.initialize()" end def print() puts "Hoge.print()" end end hoge = Hoge.new hoge.print この実行をトレースするには,次のようにスクリプトを書き換える. #!/usr/bin/env ruby require 'tracer' class Hoge def initialize() puts "Hoge.initialize()\n" end def print() puts "Hoge.print()\n" end end Tracer.on hoge = Hoge.new hoge.print Tracer.off これを実行結果は次の出力する. #0:hoge.rb:17::-: hoge = Hoge.new #0:hoge.rb:17:Class:>: hoge = Hoge.new #0:hoge.rb:6:Hoge:>: def initialize() #0:hoge.rb:7:Hoge:-: puts "Hoge.initialize()\n" #0:hoge.rb:7:Kernel:>: puts "Hoge.initialize()\n" #0:hoge.rb:7:IO:>

シーケンシャルな数値を出力する

概要 jot.pl シーケンシャルな数値を出力する. jotコマンド をperlで実装したもの.jotはBSD系OSには標準で入っているが,Linux系OSには入っていないことが多い.Linux環境においてもjotを利用できると幸せになれると考え,実装した. 残念ながら,jotと似たコマンドで, seqコマンド というものがLinuxにあることを,後に知ったわけだが. 使い方 次の使い方がある. $ jot.pl 3 1 2 3 $ jot.pl 3 5 5 6 7 $ jot.pl 5 20 100 20 40 60 80 100 $ jot.pl -w "hoge %d" 3 5 hoge 5 hoge 6 hoge 7 コード #! /usr/bin/env perl $format = "%d\n"; if($ARGV[0] eq '--help') { my $help = << ENDOFLINE; JOT output sequential number command usage jot [-w format] the-number [begin-number [end-number]] option -w specify format like and a '\%d' or '\%2& and so on is available to print number e.g. % jot 3 1 2 3 % jot 3 5 5 6 7 % jot 5 20 100 20 40 60 80 100 % jot -w "hoge %d" 3 hoge 0 hoge 1 hoge 2 ENDOFLINE open(LESS, "| less"); print LESS $help; close(LESS); exit 1; } elsif($ARGV[0] eq '-w') { shift(@ARGV); $format = shift(@ARGV). &qu

2011-03-20

Daily Memo UCBCのBenjamin Monreal氏が,核分裂・メルトダウン・福島の原発についての私見について述べている.非常にわかりやすい. http://online.kitp.ucsb.edu/online/plecture/bmonreal11/ (08:48 JST) その日本語版が,いつの間にか作られていた. http://ribf.riken.jp/~koji/jishin/zhen_zai.html (11:49 JST)

後藤弘茂のWeekly海外ニュース:注目の記事

2010/09/17 なぜSandy Bridgeはそんなにパフォーマンスが高いのか Intelの次世代CPUアーキテクチャSandy Bridgeの情報が公開された.アーキテクチャの概要は次のようになる.市場への投入は2011年を予定.コア数は,2,4,8の3モデルを用意する.コアとキャッシュをリングバスで接続し,コア数のスケーラビリティを確保している.2,4コアでは,GPUをオンダイでサポート.メモリコントローラはDDR3. Sandy Bridgeでは,Core MAをベースに,次の改良を加えている. #フロントエンドクラスタでのuOPキャッシュの追加#実行エンジンクラスタでのAVXユニットの実装と再編成#物理レジスタファイルへの移行とスケジューリングのリソースの強化#メモリクラスタでのロード/ストア機能の強化 第1に,命令デコード回数を減らすため,命令のデコード結果を保持するキャッシュを追加する.電力と時間を食う命令デコードステージの使用回数を減らすことで,電力を削減しつつ,性能を高めるのが狙い. 多くのx86命令は,CPUの内部命令であるuOPにデコードされる.直近のデコード済みuOPを,Sandy Bridgeでは1,500個キャッシュする.Intelによれば,ヒット率は80%以上を達成するとしている.これにより,(1)デコーダの稼働率を20%に落とすことで電力消費を抑える,(2)デコード処理を80%スキップすることで演算速度を向上する,といった改善に繋がる.加えて,キャッシュには過去に実行された命令列が保存されるため,命令のトレースが可能となる.このため,分岐命令に起因するストールの解消などにも利用できる. 第2に,SIMD演算を強化するため,AVX (Advanced Vector eXtensions) を追加する.従来のSSEとは別に新ユニットとして設け,命令セットも合わせて拡張する.AVXでは256bit幅で並列実行する.これはSSEの128bit幅の2倍であり,演算性能が2倍になることを意味する.AVXの高い演算性能を引き出すため,以降で説明する3点目および4点目の改良を加えている. 第3に,命令スケジューリング機能を強化し,演算器の高い稼働率を実現する.加えて,レジスタファイルを物理レジスタファイルにリネームすることで,電力を削減しつつ性能

2011-03-18

Daily Memo emacs lispにて,次のように使うとローカル関数のように使える.(let ((p (lambda (a) (message a)))) (funcall p "hoge")) (10:38 JST)

2011-03-18

Daily Memo emacs lispにて,次のように使うとローカル関数のように使える.(let ((p (lambda (a) (message a)))) (funcall p "hoge")) (10:38 JST)

2011-03-17

Daily Memo emacsでファイル名変更 hoge -> fefe.(rename-file "hoge" "fefe") (09:49 JST) emacs lisp 現在のファイル名は (buffer-file-name) で取得できる. (09:55 JST) 停電に備え,節電してWIndows PCを使用する方法 http://technet.microsoft.com/ja-jp/windows/gg715287 (12:49 JST) U.S. supercomputer experts assess radiation risks amid crisis at Japanese nuclear facility http://www.nextgov.com/nextgov/ng_20110314_3634.php (13:02 JST)

ドキュメント関連

TeX関連Tips TeXマクロプログラミング beamerを使う beamerでしおりを付ける しおりの文字化け対策 Postscript関連 Postscriptのページ統合・分割 プログラミング PDF関連 PDFのページ統合・分割

2011-03-14

Daily Memo 2011-03-14 松岡先生のtwitterを見ている.主に電力関係で,普段聞けない貴重なコメント.↓ (23:23 JST) ProfMatsuoka/twitter SRのような性能電力効率の悪いスパコンは止めてしかるべきです。Tsubameはラップトップの3倍良いので、止めると同仕事量なら寧ろ悪影響で 不急の同定が先で。@takeshun1984 地震研のeicは止める可能性があるとアナウンス&東大のSRはとりあえず月曜日までは止まって 11:53 PM Mar 13th (23:23 JST) ProfMatsuoka/twitter ここでもう一度、何故TSUBAME2とか京とか性能電力効率が良いスパコンを安易に止めてはいけないか、むしろ節電に協力という意味では状況を悪化させる恐れがあるのか、を述べておきます。 1:04 AM Mar 14th (23:23 JST) ProfMatsuoka/twitter 例えばGreen500の結果からは、高度にGPUチューンされたアプリケーションではTSUBAME2.0はラップトップの3倍、京でも2倍以上の性能電力比を示します。CPUオンリーでも莫大なバンド幅で良い。このあたり細かい議論は色々あるのですが省略します。 1:08 AM Mar 14th (23:23 JST) ProfMatsuoka/twitter 無論多くのアプリは並列化しますが、その場合ユーザも弱スケーリングの範囲で使うことが多いのです。つまりCPU/GPU数を100倍にしたら性能も50-100倍になると。強スケーリングで並列化効率がアララの範囲だと課金でムチャ損するので実際のユーザでは余り見られません。 1:11 AM Mar 14th (23:23 JST) ProfMatsuoka/twitter つまり、もしTSUBAME2.0を停止して、同じジョブをユーザが自分のパソコン等で実行すると、電力効率は最悪で数倍も悪く、あるいは強スケーリング性が多少あるとき問題サイズを小さくして、かつCPUオンリーとかでもTSUBAMEの電力効率を抜くことはラップトップ上でも難しいのです。 1:14 AM Mar 14th (23:23 JST) ProfMatsuoka/twitter じゃあその分問題を小さく

2011-03-12

Daily Memo AICS International Symposium@神戸にやってきた. (09:39 JST) 日本を除くアジア圏の方が話す英語は,やはり今の私には聞き取れない. (11:03 JST) 産総研の研究者,理研の研究者,阪大の名誉教授,と同じテーブルを囲んで昼食.この顔ぶれの中に研究者でもない私が存在することに違和感. (12:48 JST) 松岡先生のTwitterが興味深い -> 逆に考えれば今すぐ人類に絶対的に必要ならエクサフロップのスパコンは3兆円かければ電気も足りて作れる訳だ。@RyzeVia: 足りない電力がTSUBAME2.0フル稼働の750倍とか、全く想像の出来ないおおきさ。どこがこんなに電力使うんだ? 1:42 PM Mar 12th http://twitter.com/ProfMatsuoka/status/46430882973749248 (13:16 JST) コーヒーブレイク中.学会の休憩時間といえば,研究者同士が互いに名刺交換なり情報交換なりを交わすのが普通だ.しかし今は,ほとんどの人がテレビで震災の状況を真剣に見ている. (14:29 JST) 松岡先生が会場にいらっしゃった. (14:32 JST) やはり昨日のセッションにも出たかったなあ. (15:07 JST) 海外の研究者が数名,松岡先生に握手を求めてご挨拶なさっている.松岡先生がかっこよすぎる. (16:08 JST) 権威ある学会に参加していつも思うのは,すごすぎる人が多すぎるということ.専門の違いこそあれど,研究力で勝てる気がしない.しかし,だからといって負けたままで良いわけではない. (17:59 JST)

2011-03-11

Daily Memo export GREP_OPTIONS='--color=auto' としておくことで,grepの出力の中でパターンマッチした部分が赤色に. (11:22 JST) export GREP_COLOR=7 でも可能なはずなのだが,できない. http://www.debian-administration.org/articles/460 (11:23 JST) rubyにおいて,Kernelクラスのメンバ関数は組み込み関数という扱いになる.すなわち,クラス名を省略可能で,かつプログラムのあらゆる箇所から呼び出せる.有名なもので,gets exec open loop puts p などがそうである.逆に,同名のメンバ関数を実装する場合,区別するためにKernel.getsなどと記述すればよい. (16:05 JST)

2011-03-04

Daily Memo Linuxのデバイスドライバの内部では,printk(KERN_INFO "hogehoge")でコンソールに文字列を出力する. (11:49 JST) デバイスドライバで,一定の時間間隔で特定の処理をおこなうには,タイマを利用すると良い http://homepage3.nifty.com/rio_i/lab/driver24/003timer.html (17:28 JST)

2011-03-03

Daily Memo 誰もいない夜中の時間帯に重い処理を走らせるため,atコマンドを使い任意の時刻にコマンドを実行する.起動にはシェルスクリプトと起動時刻が必要.スクリプトは,引数に-fオプションでスクリプトファイルを指定するか,標準入力からスクリプトの内容を伝える.時刻は引数で指定し,フォーマットはhh:mmや,now + 3miniteなどがある. (09:59 JST) Emacsでタブをスペースに置き換えるには,リージョンを選択し,M-x untabify を実行する. (10:45 JST)

shの設定: emacsclient.sh

emacs-serverとemacsclientを使って,1つのemacsウィンドウを有効に利用する方法.指定したファイルを,emacs-serverを立ち上げているemacsウィンドウで開く.これにより,emacsウィンドウの乱立を防ぎ,すっきりとしたデスクトップで生活できる. シェルの初期化スクリプトに,以下のスクリプトを加える. e() { file=$1 echo $1 | grep -v '^/' >/dev/null 2>&1 && file=${PWD}/$file emacsclient -e "(find-file \"${file}\")" } unset file ターミナルから, $ e filename と実行することで,既に立ち上がっているemacsウィンドウでファイルを開く.

ディレクトリを自動バックアップする

概要 backup.sh 特定のディレクトリ以下を毎日バックアップしたいことがある.これを自動化するスクリプトを書いたので紹介する. ここでは,バックアップの管理をシンプルにすることを目標としている.このため,増分バックアップなどの高度なものは使用せず,tarで固めて圧縮するに留めている. コード 以下にコードを示す. #!/bin/sh init() { MAX_BACKUPS=20 DST_DIR=~/var/log/svn.repos/ DST_FILE=$DST_DIR/`date +%F`.tar.gz MYNAME=$0 mkdir -p $DST_DIR } chkarg() { while [ $# -ne 0 ]; do case $1 in *) SRC_DIR=$1 shift ;; esac done if [ ! -d $SRC_DIR ]; then echo backup-dir $SRC_DIR not found. exit 1 fi } backup() { tar czf $DST_FILE -C `dirname $SRC_DIR` `basename $SRC_DIR` i=0 for fname in `ls $DST_DIR/????-??-??.tar.gz | sort -r`; do [ $i -ge $MAX_BACKUPS ] && rm -f $fname i=`expr $i \+ 1` done } synopsys() { echo hoge } main() { init $* chkarg $* backup } main $* 使い方 シノプシス $ backup.sh directory 引数にはバックアップする対象のディレクトリを指定する.このディレクトリ以下の全ファイルがバックアップの対象となる. 設定項目 上記コードのinit(

2011-03-02

Daily Memo 文字コードの異なる2個のファイルの差分を取るには,nkfでフィルタリングしてからdiffを実行してもよいが,vimdiffやediffを使うと勝手にコード変換してから差分を表示してくれるので便利.パッチを作ることはできないが. (15:38 JST)

Windows 関連 Tips

LDAPパスワードを変えたらSambaにアクセスできない エラーの概要 SambaをLDAPで管理しており,かつアカウント名とパスワードをWindowsに記憶させている場合に,LDAPパスワードを変更すると,ログインできなくなることがある.このとき,次のメッセージが表示される. 同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での 複数の接続は許可されません。サーバーまたは共有リソースへの以前の接続を すべて切断してから、再試行してください。 エラーの原因 パスワードを変更したためWindowsは新しいセッションを作ろうとする.しかし,以前のセッションが残っているため,同一のアカウント名で異なるセッションが複数確立される.これを防ぐため,Windowsはエラーを吐いてログインをキャンセルする. 対処法 このため,一旦以前のセッションを切断し,再度新しいアカウント/パスワードでセッションを張り直す必要がある. 以前のセッションを切断する まず,次のコマンドで切断すべきセッションを探し,このサーバ名を特定する. > net use 切断するサーバ名を確認したら,現在残っているセッションを切断する. > net use \\servername /delete 再度接続する 再度接続するには,次のいずれかの方法がある. #エクスプローラでログインする.#コマンドプロンプトで接続する. コマンドプロンプトで接続するには,次のコマンドを使う. >net use \\servername /user:username password ここで,usernameとpasswordは,適切な文字列に置き換えること. キーボード入力のリピート速度を規定以上に速くする コントロールパネルで設定できるキーリピート速度は,個人的には遅いと感じている.kbdaccを利用すると,リピート速度を更に高めることができる.以下のリンク(1)からダウンロードできる. NTEmacsによる文字コード判別の失敗への対処 Emacs 23に変更してから,ファイルサイズが小さい場合に,文字コードの自動判別に失敗することがある.この場合,.emacs.elに次を記述するとよい.これは,euc-jpを使用する場合の例である. (prefer-coding-system '

2011-03-01

Daily Memo M-x ediff を使うとEmacsでdiffを実行する. http://www.math.s.chiba-u.ac.jp/~matsu/emacs/emacs21/ediff.html (12:08 JST)

Diary/2011-02-22

Daily Memo ターミナルが文字化けしたので,echo ^V^Oを実行したが直らない.試行錯誤した結果,screenを一度デタッチして再アタッチしたら直った. (09:23 JST)

Diary/2011-02-21

Daily Memo w3m をビルドしたのだが,起動後に操作しようとすると,なぜか SEGV で落ちる.-no-mouse オプションを付けることで解決. http://nlp.kuee.kyoto-u.ac.jp/ (10:12 JST) Emacs-lisp で文字の連結.(concat "a" "b") -> "ab" (10:34 JST)

Diary/2011-02-17

Daily Memo Emacs の起動時のメッセージを表示しない方法.(setq inhibit-startup-message t) 今まで間違っていた. http://sourceforge.jp/magazine/09/04/23/0834240/5 (09:21 JST) Emacs の起動時のウインドウサイズを変更する. http://sourceforge.jp/magazine/09/04/23/0834240/5 (09:23 JST) screenを多重に起動している場合,エスケープ文字を複数回連続で押すことで,すべての階層の screen の操作ができることを知った.例えば,screen (scrA) から screen (scrB) を起動している場合,scrA の操作する際は escape を1回,srcBでは escape を2回押す. (10:05 JST)

Diary/2011-02-16

Daily Memo NTEmacsは,文字コードの自動判別が弱いのだろうか.Emacs(Linux)では正常に判別できるものの,Windowsでは失敗することが多く見受けられる. (09:31 JST) (prefer-coding-system 'euc-jp-unix) で解決した.判別の優先順位を表す coding-category-list に違いがあるようだ. http://groundwalker.com/blog/2007/04/emacs_coding_system_priority.html (09:36 JST) 自分はつくづく締切ドリブンであるということを悟った. (12:20 JST) 会社のLinuxサーバのEmacsをemacs-23.2にバージョンアップ中.これが終われば,私が使用する全てのEmacsが23世代に. (16:58 JST) Emacs23への移行終わり.特に問題も無く,以外とすんなり. (17:07 JST)

Diary/2011-02-15

「コンピュータの管理」を起動する 「コントロールパネル」->「管理ツール」->「コンピュータの管理」 Telnetサービスの設定を変更する 「サービスとアプリケーション」->「サービス」を選択 一覧からTelnetを選択し,スタートアップの項目を適宜変更する.この項目が無効になっていると,telnetサービスを起動できない.「自動」にすると,Windowsの起動時に常に自動で立ち上がる.ここでは,「手動」を選択することとする.以上の操作により,コマンドプロンプトで起動・停止が可能となる. Telnetサービスを起動する > net start telnet Telnetサービスを停止する > net stop telnet

Windows XP Pro で Telnet サーバを立ち上げる

「コンピュータの管理」を起動する 「コントロールパネル」->「管理ツール」->「コンピュータの管理」 Telnetサービスの設定を変更する 「サービスとアプリケーション」->「サービス」を選択 一覧からTelnetを選択し,スタートアップの項目を適宜変更する.この項目が無効になっていると,telnetサービスを起動できない.「自動」にすると,Windowsの起動時に常に自動で立ち上がる.ここでは,「手動」を選択することとする.以上の操作により,コマンドプロンプトで起動・停止が可能となる. Telnetサービスを起動する > net start telnet Telnetサービスを停止する > net stop telnet

Diary/2011-02-14

Daily Memo パラメタを変えて評価するだけの単純作業をしている.スクリプトを書いて自動化したいとこなのだが,GUIしすぎていて残念ながらできない. (10:33 JST) emacsで環境変数を扱う例.参照する場合 (getenv "HOME").更新する場合 (setenv "SHELL" "/bin/zsh"). (14:23 JST) Cygwinからlocalhostのコマンドプロンプトにtelnet接続したいので奮闘中. (15:26 JST)

Emacsで外部コマンドを起動する

外部プロセスを起動する 同期プロセスの起動 外部コマンドを呼び出し,これが実行を終了するまで待ち合わせる. 例1 tgifを起動する まず,何もオプションの無い,最も簡単な呼び出し方を紹介する. (call-process "tgif") これを実行すれば,tgifが起動する.しかし,同期プロセスであるため,tgifで作業はできても,emacsの作業はできないことに気づくだろう.シェルでtgifをフォアグラウンドで起動すると,tgifを終了するかサスペンドするまで,シェルの操作ができないのと同様である. 例2 ディレクトリ内のファイルを挿入する 次に,出力先をカレントバッファに設定する例を紹介する. (call-process "ls" nil t nil "/usr/") ここで,\C-xe を入力し実行すると,次の出力が得られる. X11 X11R6 bin etc include ... 上の例では,/usr/直下のファイル一覧を,カーソル位置に展開する.ここでは,3番目の引数 (destination) にtを指定し,出力先をカレンドバッファとしている. 非同期プロセスの呼び出し 例1 tgifを起動する 例によって,最も簡単なtgifの起動について紹介する. (start-process "tgif" "*tgif*" "tgif") 1個目の引数はEmacsが内部で識別する名前である.2個目の引数は起動するプロセスの標準出力と標準エラー出力が表示されるバッファ名である.3個目の引数は起動するプロセスのコマンドである. こちらは非同期であるため,tgifもemacsも作業できる.シェルにおけるバックグラウンド実行に似ている.

Diary/2011-02-08

Daily Memo Windows端末からsambaにアクセスしようとしたら,次のメッセージが.「同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されません。サーバーまたは共有リソースへの以前の接続をすべて切断してから、再試行してください。」日本語が変.コマンドプロンプトで,$ net use //servername /delete でセッションを切断し,再度エウスプローラからログインすれば直った.Windows苦手... http://blog.cles.jp/item/3905 (09:20 JST) エクスプローラを使わずに,プロンプトから再接続する方法もあるらしい. http://blog.livedoor.jp/shoeberry/archives/50525691.html (09:23 JST) 今年の末に特許を一本書くことが,たった今決まった. (09:24 JST) Emacs23の変更点を読んでいると,serial-termというものが.興味津々. (09:56 JST) M-x serial-termでemacsがシリアル端末と化した.素敵すぎる. (09:26 JST) emacsのserial-termは素敵だけど,これを立ち上げると,elscreenのキーバインドが効かなくなるから困った.ということで,ruby-serialtermを導入しよう. (14:41 JST) Cygwin上でrubygemsがうまく動作しない.rubyのバージョンの問題だろうか.ということで,rubygemsが標準装備されているruby-1.9をビルド. (14:42 JST) Cygwin上で./configure && make && make install なう.遅い... (14:43 JST)

Diary/2011-02-07

Daily Memo Windowsの「ファイル名を指定して実行」は,explorerに引数を与えているだけだったのか. (12:59 JST) 引数を与えているだけではなく,%PATH%を用いたコマンドの検索機能も加わっているらしい.コマンドプロンプトで $ explorer cmd としても起動しなかった. (13:04 JST) cygwinのcygstartでは,sambaのURLが開けない.なので,explorerを使って起動するスクリプトを書いた.もちろん,仕事中なので,評価項目の計測中にバックグラウンドで:-) (13:10 JST)

Diary/2011-02-04

Daily Memo viで検索する際に,キーワードのハイライトによって文字が見難いので,色を変更する.highlight Search ctermbg=1 http://www.crimson-snow.net/tips/unix/vim.html (10:04 JST) Windowsでキーボード入力のリピート速度を加速するツールkbdaccを導入して,幸せになった. http://www.jsdlab.co.jp/ (11:46 JST)

Diary/2011-02-03

Daily Memo 自身が使用しているPC等の資産を,資産管理システムに入力している.資産管理は重要だけれども,もう少し簡単におこなえないものか.管理システムの説明書や入力ポリシを一箇所に集約するとか. (11:31 JST) emacs lispにおいて,外部コマンドを実行し,その出力を文字列として受けとるには,shell-command-to-string関数を使う. (16:43 JST)

ssh-agentの管理を自動化する

ssh-start.sh ssh-agentの管理を自動化するスクリプトssh-start.shを紹介する. 詳細 ssh-agentを使うことで,sshでリモートログインする際に,パスワードの入力を省略できる. ssh-agentを利用するためには,ソケットのパスとプロセスIDを環境変数に登録する必要がある.環境変数に登録すべき情報は,ssh-agentの起動時に,以下のように標準出力に出力される. $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-XTqIvn4918/agent.4918; export SSH_AUTH_SOCK; SSH_AGENT_PID=4919; export SSH_AGENT_PID; echo Agent pid 4919; 上記のように,ssh-agentの出力はシェルコマンドとなっており,実行すれば環境変数がセットされる.このため,多くの解説記事では,次のようにevalを用いる方法が述べられている. $ eval `ssh-agent` Agent pid 4919 しかし,この方法は,同じssh-agentのプロセスを複数のシェルから利用することはできない.上記コマンドを他のシェル上でも実行すれば,動作はするが,次の点で優れた手法とは言えない. ssh-agentのプロセスを複数起動する (本来は1個で充分). 起動毎に秘密鍵の登録,およびパスフレーズの入力が必要となる. 上記の問題は解決するには,1個のssh-agentを複数のシェルから再利用すればよい.例えば2個のターミナルから1個のssh-agentプロセスを利用するには,次のようにする. # terminal 1 $ ssh-agent > ~/tmp.sh $ source ~/tmp.sh Agent pid 4919 # terminal 2 $ source ~/tmp.sh Agent pid 4919 こうすることで,2個のターミナルから同一プロセスのssh-agentを利用できる. 以上の処理を自動化したものが,ここで紹介するスクリプトである. 使い方 環境変数を扱かうため,通常のスクリプトのようには利用できない.このため,sourceコマンドや.(ドット)コマンドで実行する. $ source /path/to/dir/s

Diary/2011-02-02

Daily Memo emacsで,現在のカーソル位置を得る方法.桁数は(current-column).行数は(count- lines (point-min) (point)). http://d.hatena.ne.jp/khiker/20060616/1150483361 (11:01 JST) ssh-agentの管理を自動化するスクリプトを書いた. ssh-agentの管理を自動化する (22:26 JST)

Diary/2011-02-01

Daily Memo いつも忘れる.svnでパーミッション設定.$ svn propset svn:executable ON filename / $ svn propdel evn:executable filename (08:26 JST) emacsの検索において,カーソル位置にある文字列を検索するには,C-sを押下後にC-wを入力すると便利. (10:20 JST) Linux Kernelのコード中によく見られるlikely/unlikelyや_builtin_expectマクロの存在価値を初めて知った.通常,これらのマクロの引数には条件式を書く.そして,その条件式の評価結果が通常どうなるか,を示すものである.例えば,一般的にループの条件式がかなりの確率で真になることは,自明なことである.このような箇所でこれらのマクロを使用することにより,(1)コンパイラによるコード最適化に利用したり,(2)ソースコードの可読性を高めたりする効果がある. http://kerneltrap.org/node/4705 (14:37 JST) /bin/や/usr/bin/などではなく,オリジナルなパス,例えば~/binとかにあるコマンドをNTEmacsで実行したいとする.今日試したら,exec-pathにパスが登録されているにもかかわらず,何故かコマンドが見付からないとエラーを出し,実行できない.この場合は,実行するコマンドを "sh" に変え,引数に本来実行したいコマンドを指定することで解決する. (17:35 JST)

コマンドラインでメモを残す

概要 memo.sh   コマンドラインでメモを残すシェルスクリプトについて紹介する. 使い方   引数に保存したいメモの内容を入力する. $ memo.sh 'メモの内容'   例えば,以下のように利用する. $ memo.sh hoge $ memo.sh fefe $ memo.sh fuga $ cat ~/var/log/memo/2011-01-28.txt !!Daily Memo 2011-01-28 *hoge (20:25 JST) *fefe (20:25 JST) *fuga (20:25 JST)   メモは日別に保管される.同日に複数回実行すれば,同じファイルに追加書き込みされる.   保存先は~/var/log/memo/hhhh-mm-dd.txtとしている.当然スクリプトなので,保存場所は変更可能.   時刻はdateコマンドで取得している.このため,タイムゾーンの設定によって出力が変わる.タイムゾーンを設定するには,環境変数TZを使う.以下に例を示す. $ env TZ=JST-9 date Fri Jan 28 20:29:06 JST 2011 $ env TZ=GMT date Fri Jan 28 11:29:16 GMT 2011 $ env TZ=UTC date Fri Jan 28 11:29:44 UTC 2011 コード   以下にコードを示す. #!/bin/sh init() { comment=$* day=`date +%F` fname=~/var/log/memo/$day.txt time=`date +"%H:%M %Z"` } create_file() { mkdir -p `dirname $fname` cat > $fname <<EOF !!Daily Memo ${day} EOF } update_file() { echo "*$comment ($time)" >> $fname } main() { init $* [ ! -f $fname ] && create_file update_fi

Diary/2011-01-31

Daily Memo crontabの時刻設定は,リスト指定・範囲指定・間隔指定が可能. http://www.server-memo.net/tips/crontab.html (09:57 JST) cronで"0,10-15,20 * * * "は,毎時0,10,11,12,13,14,15,20分に実行. (09:57 JST) cronで"*/10 * * * "は,毎時0,10,20,30,40,50分に実行. (09:57 JST)

Diary/2011-01-28

Daily Memo UNIXのカーネルクロックの設定はdateコマンドでできる date --set="yyyy/mm/dd hh:mm" (10:12 JST) CMOSクロックへの反映はhwclockを使用する hwclock --systohc (10:14 JST) LinuxカーネルのHighmem/Lowmemの説明が解りやすい http://wiki.bit-hive.com/linuxkernelmemo/pg/HighMemory (17:03 JST)

Diary/2011-01-21

emacsの*scratch*バッファのメッセージを表示しない   以下を.emacsに記述すれば,空の*scratch*バッファが起動する. (setq initial-scratch-message "") 独自フォーマット戦略の終焉 第5回 独自フォーマット戦略の終焉 http://gihyo.jp/lifestyle/serial/01/software_is_beautiful/0005   独自フォーマット戦略とは,メディアのファイルフォーマットを独自開発し,これを業界準標とすることである.マイクロソフト・オフィスやCD/DVD,PDFなどがこれにあたる.   独自フォーマット戦略の目的は,大きく2点ある.1点目は,そのフォーマットを利用することにより発生するライセンス料を徴集することである.2点目は,そのフォーマットに対応する商品をセットで提供することで,ユーザを囲い込むことである.   しかし,この独自フォーマット戦略の効力は,様々な分野で衰えはじめている.インターネットの世界では,HTMLに代表されるように,ライセンス料のかからないオープンなフォーマットが広がってきた.一報,音楽・映像などの世界においても,Googleのビデオコーデックのオープンソース化により,音楽・映像の分野にライセンス料フリーのオープンフォーマットが実現した.   このことは,ライセンス料の徴集や対応機器のセット販売による囲い込みができなくなることを意味する.これまでライセンス料やセット商品で稼いできた家電業界も,今後は通用しなくなる.   いつもいつも勉強になります.Software is Beautiful.

Diary/2011-01-19

includeされるヘッダファイルのパスを出力   Cのコンパイル時に,gccの-Hオプションを付けることによって,includeされるヘッダファイルを絶対パスで出力することができる. $ cat main.c #include int main() { printf("hoge\n"); return 0; } $ gcc main.c -H . /usr/include/stdio.h .. /usr/include/features.h ... /usr/include/sys/cdefs.h ... /usr/include/gnu/stubs.h .. /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h .. /usr/include/bits/types.h ... /usr/include/bits/wordsize.h ... /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h ... /usr/include/bits/typesizes.h .. /usr/include/libio.h ... /usr/include/_G_config.h .... /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h .... /usr/include/wchar.h ..... /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h ..... /usr/include/bits/wchar.h .... /usr/include/gconv.h ..... /usr/include/wchar.h ...... /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h ..... /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h ... /usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h .. /usr/includ

新年のごあいさつ

  皆様,明けましておめでとうございます.私は現在,二日酔いなう,でございます. 去年一年を振り返ってみて   今年は学生から社会人に変貌を遂げた年ということで,もちろんいろいろとありました.しかし,学生時代の方があわただしくて,そのせいか,より深く印象に残っていると思います.おそらく,入社後はほぼ定時に退社させられるのも影響していると思いますが.   というわけで,去年の1月から3月までを振り返ってみた. 1月 ジャーナルの論文投稿締切 研究会の論文投稿締切 修士論文の論文提出締切 研究会   特にジャーナルは,年明けすぐに締切が迫っていた.何故こんな時期に締切が設定されているのか意味がわからなかった.元旦の夜,研究室でデータ取りしていたのを今でも鮮明に覚えている. 2月 全国大会の論文投稿締切 研究会の論文投稿締切 研究室で設立したベンチャーで販売する商品の品切れにより,設計・半田・組立の超高速化 研究室でスノボに行く話が出ていながらも断念 引越し業者の選定 研究室でUSAVICHが大流行   USAVICHをご存知だろうか.主人公は監獄で暮らす2匹のウサギなのだが,彼らが研究室で流行し,時の 人 ウサギとなる.そして,このDVDが発売されると,間も無く研究室の先輩が購入.また,同じく先輩が,そのウサギの人形を研究室に大量に導入.秋葉原のゲームセンターで,UFOキャッチャで釣ったのだとか.50cmほどのビッグなものから10cm程度の小型なものまで,おそらく20体以上は導入されたのだと思う.朝,研究室に入ったら,私の机の上に置かれていた.きっとこの時,私はいじめられていた. 3月 全国大会 研究会 荷物の箱詰め,不用品の処分 引越し 修了式 引越し後にジャーナルの条件付再録通知が着たので,再び上京し,研究室の住人に   信じられないことに,このとき研究室に初めて住んだ.既にその時は学生ではなかったが,それでも研究室に泊めてもらえる懐の広さに感動したり.このとき毎朝近所のパン屋さんに朝食を買いに行った.この調理パンがかなりうまかった. 嗜好の変化   このように,研究室を出た後もそのころの記憶は結構残っているものだ.そして,その記憶によって,私の好みも結構変わってきている.zshを使うようになったり,SKKがないと生きていけなくなったり,MacBook依存症になった