2009年6月27日土曜日

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Pythonのエラー(自己流翻訳)

  ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

  値に関するエラー
1、もしくはそれ以上の長さの配列に適切な値が入っているかが曖昧です。
配列.any() か 配列.all() を使って確認してください。

for 値 in 配列 とかで配列がNoneだったり、他の型だったりすると発生するエラー。

私の場合は、引数の引き回し中に失敗(;_;)

2009年6月26日金曜日

プロキシからSSHができないって謎

私は研究室でプロキシサーバの管理をしています。
普段はアカウントを追加したり、登録IPを変更したりと、まったり管理しているのですが
久々にトラブルな仕事が回ってきました。

内容はプロキシサーバからSSHできないマシンが発生するというもの。
pingも通じない、SSHもうんともすんとも言わない。。。
同じ部屋にある別のマシンからはSSHできるのに。
traceroute打ったり、telnetしたり、色々やりました。

そして、原因は単純でした。


ネットワーク上に同じIPをstaticした阿呆がいた<怒


通じないマシンのIPを固定IPからDHCPに変更すると
見事にpingが通るようになりました。

プロキシからpingが通らなかったのは、
単にもう一台の同じIPのマシンの方がプロキシに近かったから。

IPを割り当てる管理者のミスか、IPをstaticにしたマシン側のミスか。
とにかく犯人が見つかったらシバキ倒します。
私の30分を返せー!と。

2009年6月24日水曜日

反省しきり

もっと頭を柔らかく、子供にも分かるように、沢山の言葉で、
色んな方向から、色んな人の立場で

自分の研究を語れるようにならないと駄目。

そうじゃないといざというときに失敗する。
とりあえず前フリで、説明用のスライド半分以上消費されたときとか<涙

もともと喋るの得意じゃないんだし。

大分反省。



・・・てかよく考えたらあれ、前フリをガン無視しても良かったんじゃ。。。

2009年6月23日火曜日

[AS3] やりたいこと別リンク集

このページは継続的に更新する予定。
適当な所でWiki化。


[AS3]
AS3でAWS(Amazon Web Service)
 http://www.adamrocker.com/blog/150/amazon_web_service_actionscript30_e4x.html
addEventListerに引数付き関数
 http://ameblo.jp/linking/entry-10088469739.html
Alertを起こす
 http://livedocs.adobe.com/flex/2_jp/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000548.html
Eventの伝播の仕方&祖先ノードへのイベント伝播を止めるにはstopPropagation()!
 http://livedocs.adobe.com/flex/201_jp/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=events_054_15.html

[Flex]
マウスイベント基本
 http://my.opera.com/sizuhiko/blog/2008/08/25/flex2-coverflow-7
スクロールバーを見せるか見せないか
 http://labs.uechoco.com/blog/2008/02/flex3panelcanvas.html
Flexでポップアップ
 http://www.jinten.net/blog/archives/24
FlexのhtmlTextでサポートされているタグ
 http://livedocs.adobe.com/flex/2_jp/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000561.html
mouseEventを受け取るコンポーネントを指定(普通はネストしている子コンポーネントが引っかかる)
 http://l00oo.oo00l.com/blog/archives/143
※あるコンポーネントにマウスイベントを受け取らせないときは
   mouseEnabled="false" mouseFocusEnabled="false"の合わせ技が必要

2009年6月22日月曜日

[Flex][AS3] 文字列のID名からオブジェクトを取得

私は処理系はPythonで書いているのですが、GUIの方はFlex使いだったりします。
本当はGUIもdjangoとか使いたいんですけど。。。時間がぁ<泣

閑話休題。

MXML上のコンポーネント(Label、Canvas等)のオブジェクト本体を
String型、文字列のID名から取得したいと考え、過去大分悩んだことがありました。

最近分かった答えが、

var id:String = "label1"
var labelObj:Object = this[id]


thisから連想配列見れば良かっただけorz|||
当たり前と言ったら当たり前<汗

駄目だAS3全然分かってない。。。

2009年6月21日日曜日

ほんとしょーもない

エラーってのは大概しょーもない

パッケージの更新で、yum updateがかからないと思ったら、
DHCP管理者の要請でマシンの固定IPを変更した後
プロキシサーバの登録IPを更新してなかったせいだった。。。

そりゃ通らないわけよねー(;_;)

これで半刻を潰したことが悔しい。

2009年6月20日土曜日

cron-aptの設定をしてみた

Debianのパッケージの更新を自動化するcron-aptを入れました。
といっても私のサーバじゃなくて、管理してる研究室のサーバに。

うちの研究室、Linuxサーバが大量にある割りに、そういうセキュリティに必要な設定を知らない人が多いんですよねー、もち私も含めて。
詳しい人がいる間に色々、改革してもらわんと♥

とりあえず、以下インストールと設定のログです。

1. cron-aptのインストール

# aptitude install cron-apt


2. cron-aptの設定

# emacs /etc/cron-apt/config


 ==================================================
 # 以下の行を設定
 #更新コマンドとしてaptitudeを設定
 APTCOMMAND=/usr/bin/aptitude
 #後述するupgrade設定のため
 ACTIONDIR="/etc/cron-apt/action.d"
 
 #ファイルの出力
 ERROR="/var/log/cron-apt/error"
 TEMP="/var/log/cron-apt/temp"
 LOG="/var/log/cron-apt/log" 

 # syslogには常に出力
 SYSLOGON="always"
 # デバッグモード
 DEBUG="verbose"
 ==================================================

3. 実行時刻の変更デフォルトは朝4時に動作するようになっている。

# emacs /etc/cron.d/cron-apt


 ==================================================
 # Every morning at 6 o'clock.
 0 6 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
 ==================================================

4. upgradeの設定標準設定ではupdateのみであるため、upgradeも行うように設定を変更

# emacs /etc/cron-apt/action.d/3-download


 ==================================================
 # dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
 safe-upgrade -y -o APT::Get::Show-Upgraded=true
 ==================================================

5. apt-listchangesの設定変更現在はupgrade中にconfirmation(変更点一覧の確認プロンプト)が出る設定になっているので、出ないように設定を変更。

# emacs /etc/apt/listchanges.conf


 ==================================================
 #confirm=1
 confirm=0
 ==================================================

6. 確認
* cronの時刻を適当に設定し、upgradeまで行われているかsyslogや/var/log/cron-apt/logを見て確認する。
確認後、以下のようにcron-aptを書き換える。

# emacs /etc/cron-apt/config

 ==================================================
 # syslogには出力しない
 SYSLOGON="always"
 → # SYSLOGON="always" 

 # ログのレベルをdebugからalwaysに
 DEBUG="verbose"
 → DEBUG="always"
 ==================================================

* apti-listchangesの動作確認


以上☆
なんか、変にcronに梃子摺りました。
反応意外と遅かった。。。

2009年6月19日金曜日

tracのインストール

作業用兼雑記用にtracを入れることにしました。
以下作業メモ。


1. まずtrac本体をinstall
# aptitude install trac

2. 次に、trac用のsubversionリポジトリの作成
$ cd /var/local/
$ mkdir repos
$ cd repos
$ sudo svnadmin peridot

3. 公開するtracの作成
$ cd /var/local/
$ mkdir tracs
$ cd tracs
$ sudo trac-admin peridot initenv
Project Name [My Project]>peridot
Database connection string [sqlite:db/trac.db]>  #ここが
Repository type [svn]>
Path to repository [/path/to/repos]>/var/local/repos/peridot

これでtracそのものは完成。
以下のコマンドを打つと、8000番ポートでtracdが起動。
ブラウザで「localhost:8000」を打つと、肉球に会えます。
$ sudo tracd --port 8000 /var/local/tracs/peridot


4. apache2で動かすために所有者を変更

$ chown -R www-data:www-data peridot

この後、trac.cgiが見つからなくて思いっきり躓く。。。
/usr/share/doc/README.Debian.gzを確認したところ、tracのバージョンが0.11以上の場合、deployオプションつきのtrac-adminを実行しないとcgiスクリプトが生成されないらしい。。。
何じゃそら<泣
/path/to/envの意味がよく分からなかったけど多分作ったプロジェクトのことだよね?
 →とりあえずあとあと動いたので正解。

5. trac.cgiの生成
以下のようにコマンド実行!

$ sudo trac-admin /var/local/tracs/peridot deploy /usr/share/trac

無事、/usr/share/trac以下にtrac.cgi、trac.fcgiを確認。
一応、www-dataに所有者も変更しておいた。

$ sudo chown -R www-data:www-data /usr/share/trac

6. apache2の設定。
ほとんど説明書の丸コピ。

$ sudo emacs /etc/apache2/site-available/trac
ScriptAlias /trac /path/to/www/trac/cgi-bin/trac.cgi

SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main
PythonOption TracEnv /var/local/tracs/peridot #プロジェクトの在り処
PythonOption TracUriRoot /trac #公開するURIパス
SetEnv PYTHON_EGG_CACHE /tmp


7. apache2での設定の反映

$ sudo a2ensite trac
$ sudo /etc/init.d/apache2 restart

よーやく動いたー!
もー日本語化はいいや。。。

2009年6月18日木曜日

英語の推薦状

海外の学会に参加することになりました。

で、その学会、学生や開発途上国の研究者は旅費の補助を受けられるのですが、
そいつに応募するには、英語の推薦状が必要になるんですよ。

で、とりあえず指導教員に下書きして見せてみろ言われたので、
とりあえず、以下のサイトを参考に頑張って1ページ埋めました。


1.英文レターサンプル:担当教授からの推薦状
構成もまとまってて、いっちゃん参考になりました。

2.英文履歴書・カバーレター・推薦状
1との比較材料に。他にも履歴書とかもチラ見しました。

3.推薦状(その五) | 理系留学のススメ
書くときの心構え。何を書くべきか。

α.【海外】強力な推薦状が書ける教官【留学】
分野は違うが、日本人の現実を痛感・・・。


まず何が壁かというと、言葉の壁。。。
にーがーてー!英語は読めるけど書けん。。。

参考資料は結構、経済ものが多かったです。
やっぱりMBAが多いんだろうな。
にしても別に留学に使うような重要なものではないにせよ、
何で自分の推薦状を自分で書いてるんだろうな。
こっぱずかし!

2009年6月17日水曜日

デスクトップに進めない。。。

少し前に、手持ちのサーバにDebianのlennyをインストールしました。
最初からGUIログインできる設定にしてショートカットキーを割り当てて…。
と、色々いじっているうちに、何故かGUIのログイン画面にて
ログインしてもログインしてもデスクトップにいけず、元のログイン画面に戻ってしまうと言う謎現象に<涙
何故進めないの。。。

ググっても原因がなかなか見つからなくて困ったのですが、
詳しい友人に聞くと一発でした。
GUIログインの設定ファイル(.xsession)が間違っててそれで進めなかっただけ。
半角全角変換の切り替えを行うキーをキーボード左上のキーに割り当てようとした設定だったんですけど、どうもサイトから写すときにミスったみたいです。
とりあえずdelete。

  $ rm /home/ユーザ名/.xsession

結果はばっちりでした♪

ちなみにgnomeの場合、GUI時のキー割当はGUI画面から設定できるそうです。
そりゃそうか。
一つ賢くなりました。

持つべきものはプロフェッショナルな友人ですねー。
ちなみに彼は学生ながらその手の専門雑誌に原稿を挙げたりしてるそうです。
すっごいなー。
うちも頑張らねば。