Recent Tweets

by Takayuki

ブログの更新は停止しました。近況はTwitterにてごらんください。
http://twitter.com/prof_takayuki (最近のつぶやき)
http://twilog.org/prof_takayuki (過去のつぶやき)

地震から10日ほど経過してしまったので、こちらにも生存報告を

2011年3月21日 - 2:49 PM by Takayuki

3月11日の地震からすでに10日が経過した。私は自宅で地震に遭ったが、特に怪我などすることもなく、食料も十分に確保しており、健康にはさしたる問題もなく生活を続けている。ただし、自宅の本棚が見事に転倒してしまったため、ちょっと室内が乱雑になっている。この本棚はもともと不安定だったので、使用をやめて廊下に放り出している。

ライフラインについて。電気は、地震の揺れが続いている最中に停電したものの、13日の夜までに回復した。ガスはアパートに備え付けのLPガスを用いており、補給の不安があるものの、使用は可能である。水道は31日まで回復しないという見通しが示されており、飲み水や調理には近所の小学校で行われている給水を、トイレには溜めた雨水を使用している。入浴は別に頼る場所を探している。私の部屋の近辺は、学生や若い世代の世帯が多いせいか、実家や親類などに避難先を求めて出て行ってしまった人が多く、夜に出歩いてみると明かりがついていない家が多い。そのためか、給水量の制限が行われることもなく、少しだけ楽である。

私の研究室では、すでに一部の研究活動を再開している。研究室は書類が散らばった程度の被害で済み、コンピュータや測定器はほぼ健在である。ただし、壁面には地震があったことをはっきりと物語る大きなひび割れが走っている。4年生の卒業論文を形だけでも仕上げようということで、主として技術面からの指導を行っている。私がいる研究所の被害は比較的少なく、壁面のひび割れや照明器具の破損はあったものの、柱など建物の基本構造は無事なようで、立ち入りの制限などは行われていない。しかし、別のキャンパスは甚大な被害を受けており、大学としては4月末までの休校を決定している。この休校期間は現状での見通しであり、研究活動の再開については未だに不透明な感じだ。

以上、取り急ぎご報告まで。

追伸: 最近はこちらのブログにはあまり手をつけておらず、Twitterが主となっている。最近のつぶやきについては http://twitter.com/prof_takayuki を、過去のものについては http://twilog.org/prof_takayuki/ を参照されたい。

Pythonのクロージャはlambdaで書くらしい

2010年11月20日 - 1:17 AM by Takayuki

プログラム・コードの中の式を丸ごと取り替えられる構造にしたいとき(たとえば、ソート関数が比較の定義式を外から受け取れるようにしたい、など)、クロージャという概念が有効になる。実用的には、現在のスコープの変数を引き継いで関数を書ける、と考えればよい。

Pythonにおけるクロージャは、lambdaによる匿名関数の一種として使用するらしい。ちなみに、Pythonのlambdaは一般の匿名関数をかけるわけではなく、せいぜい1行で書ける程度の短いコードを匿名関数とするための構文である。Python 2.4.3で試してみた例は以下の通り。

>>> exp = lambda: x**2 + y**2
# exp() は、それを呼び出したスコープの変数xとyを参照する
>>> exp()
Traceback (most recent call last):
  File "", line 1, in ?
  File "", line 1, in
NameError: global name 'x' is not defined
# 現在のスコープに x が見つからないためエラーになる
>>> x = 1
>>> exp()
Traceback (most recent call last):
  File "", line 1, in ?
  File "", line 1, in
NameError: global name 'y' is not defined
# 現在のスコープに y が見つからないためエラーになる
>>> y = 1
>>> exp()
2
# 1**2 + 1**2 = 2
>>> x = math.sqrt(3) / 2
>>> y = 1.0 / 2
>>> exp()
0.99999999999999989 # ( sqrt(3)/2 )**2 + ( 1.0/2 )**2 ~ 1
>>> exp = lambda: x + y
# exp() を再定義
>>> exp()
1.3660254037844386 # sqrt(3)/2 + 1.0/2

8月末まで武蔵中原@川崎市に出向中

2010年8月2日 - 8:01 PM by Takayuki

研究室の仕事の関係で、川崎市は武蔵中原にある某企業に出向中である。研究所で作業したりとか寮生活したりとか、全然おちつかないっていうかストレスが溜まっております。土日は当然休んでいるのだけど、どこかに出かける気力がなかったりして。

7月に撮影して放置してた写真のまとめ

- 7:57 PM by Takayuki

7月1日: ジューシーチキンセレクト

7月1日: ハヤカワ文庫を2冊購入

7月15日: 抹茶わらびもち

7月15日: インド料理店にて、Sag Matton (ほうれん草と羊肉のカレー)

7月22日: IEICE ICDの懇親会場

7月24日: 大阪出張のお土産、空港にて購入

第一級陸上無線技術士の試験を受けた&自己採点結果

2010年7月24日 - 2:31 PM by Takayuki

去る7月13日と14日、第一級陸上無線技術士の試験を受けた。前の週の金曜日(7月9日)になってから問題集を買い、勉強を始めたのは日曜日(7月11日)という、ろくに準備などしていない状態だったが、高い受験料を払っていたこともあり、それなりに頑張ったつもりだった。

試験問題は持ち帰りが許されており、解答は試験の翌週に公開されるので、自己採点を正確に行うことができる。私は7月21日から大阪に出張していたので、解答の公開直後に自己採点することはできなかった。今日やっと仙台に帰ってこれたので、早速、控えていた答案を元に自己採点してみた。合格点とされる得点率は60%である。

  • 無線工学の基礎: 120/125 (=96%)
  • 無線工学A: 112/125 (=89.6%)
  • 無線工学B: 106/125 (=84.8%)
  • 法規: 83/100 (=83%)

全ての科目で合格点を20点以上超過する得点を得ている。マークミスがいくつかあっても、合格できることだろう。

業務用アイスクリームの威容

2010年6月24日 - 10:45 PM by Takayuki

研究室の冷凍庫にあった、トゲの生えた氷

2010年6月13日 - 10:06 PM by Takayuki

今日の晩御飯は、セブンイレブンの横手やきそば

- 10:04 PM by Takayuki

唐突にブログを移転してみた

2010年6月5日 - 8:52 AM by Takayuki

http://violasiderea.divb.net/にブログを移転した。あまりにも唐突に思われるかもしれないが、私自身も突然移転を思い立ったのだったりする。

移転した直接のきっかけは、WordPressのアップデートに失敗したことだ。間違って設定ファイルを消すという失態をやらかした。wp-settings.phpは設定を行うためのロジックが入っていて、設定の本体はwp-config.phpに書かれているのだが、両者を取り違えてしまった。

一応、記事をエクスポートしておいたし、MySQLデータベースはphpMyAdminでじかに操作できるので、復活は十分可能だった。しかし、いつかは便利なほうのサーバに集約してしまいたかったので、せこの機会に移転してしまうことにした。

violasiderea.divb.netにWordPressのスクリプトを展開し、初期設定を済ませ、記事のインポートを試みたところ、記事数が多すぎて処理時間やメモリ容量が制限値に達してしまい、失敗に終わった。代替策としてphpMyAdminからデータベースの内容をSQLに吐き出し、これを新しいデータベースに読み込ませることで移行を実現した。しかし、形式が変わっていたせいで、カテゴリの情報は復元することができなかった。詳細に検討すればよかったのだろうけど、面倒だったのでカラムごと消してしまった。まあ、このブログではカテゴリをろくに設定していなかったので、あまり問題にはならなかったのだけど…。

記事の内容をSQLに吐かせた段階で、記事中のURLを新サイトにあわせて置き換えておいた。テキストエディタの置換機能を使えば何の手間もかからない。さらに、リダイレクトの設定をして、旧サイトから自動的に誘導されるようにした。多くのWebブラウザでは、断りなしにリダイレクトを処理するので、移転に気づかない人もいるだろう。

キーマップファイルを書き換えてCapsLockと左Controlを入れ替える

- 8:30 AM by Takayuki

Arch Linuxのコンソールで、日本語106キーボードのCapsLockキーと左Ctrlキーを入れ替える。手順は以下のとおりだが、すべてのキーマップを変更してしまうことに注意されたい。

  1. キーマップファイルのオリジナルを/usr/share/kbd/keymaps/i386/qwerty/jp106.map.gzからコピーする。
  2. キーマップファイルを編集する。内容はキーコードとキーの機能の対照になっている。たとえば、左Ctrlはkeycode 29、CapsLockはkeycode 58である。
  3. キーマップファイルをリネーム(たとえばjp106_modとか)してgzipし、オリジナルと同じ場所に置く。
  4. /etc/rc.confのkeymapを、リネームしたファイル名と同じになるように書き換える。