先日、JUNBAのシンポジウムが
スタンフォード大学(Stanford University)の Bio-X の講堂で行われたのだが、
シンポジウムが終わってみると、なんと携帯電話が死んでいた。
状況としては、シンポジウム後、電話機を見てみると電源が自動的に切れていた。
どうも携帯の電池が完全に消耗しきっており、
電源をオンにすることができない状態のようだった。
シンポジウム終了後、友人に電話をかける約束をしていたのだが、
もちろん、死んでしまった自分の携帯からは電話はできず、
人の携帯を借りようと思っても
自分の携帯電話機に登録しておいた
友人の電話番号も取り出せず大変苦労した。
シンポジウムが行われた Bio-X は 地下なので、
電波が届かず、いわゆる圏外になってしまう。
それが今回の事件の原因のようだ。
この現象に関しては、Yahoo!知恵袋 の
「
携帯は場所によって電池の消耗の仕方が違うのですか?」
に 解説がある。
ここの説明にあるとおり、
電波が届かない圏外に長時間いると、
携帯電話の電池の消耗が早くなるようだ。
皆さんもお気をつけください。
【教訓】
スタンフォード大学(Stanford University)の Bio-X の講堂のような
電波の届かない圏外に入った場合は携帯電話の電源を オフ にすること。
【参考文献】
カテゴリー:
携帯電話
22:16
| コメント (0)
| トラックバック (0)
JUNBA(サンフランシスコ・ベイエイリア大学間連携ネットワーク:Japanese University Network in the Bay Area)では、
日本の大学の国際化を推進するための記念すべき第1回目の取組として、
前日の「
JUNBA アカデミア・サミット
」に引き続き、「JUNBA シンポジューム」を
この日 1月12日(金曜日)に開催した。
このシンポジュームは、今年を皮切りに
毎年開催することを計画している。
第1回目の今年は、ナノ・テクノロジー分野に関する
研究発表が計画され、
昨日の 在サンフランシスコ日本国総領事館 から
スタンフォード大学の James H. Clark Center, Bio-X に
場所を移しての開催であった。
この シンポジウムの詳細、ならびにプログラムについては
「
The 1st JUNBA Symposium」
に詳しく掲載されている。
今年は「ナノ・テクノロジー」ということだったが、
一口で「ナノ・テクノロジー」と言っても、
材料化学や半導体系、それからバイオ系 と非常に内容が幅広かった。
これから、このシンポジュームは 対象とする分野を変えながら
続けてゆくということだが、
さて、次回のお題はどの分野になるのであろうか?
【参考リンク】
カテゴリー:
JUNBA
22:46
| コメント (0)
| トラックバック (0)
JUNBA(サンフランシスコ・ベイエイリア大学間連携ネットワーク:Japanese University Network in the Bay Area)では、
日本の大学の国際化を推進するための記念すべき第1回目の取組として、
米国に活動拠点を置く日本の大学のトップに
お集まりいただき「JUNBA アカデミア・サミット」を開催した。
このサミットに参加した大学は
サンフランシスコ・ベイエリアに拠点を持つ大学を中心に
- 東北大学
- 早稲田大学
- 法政大学
- 慶應義塾大学
- 横浜市立大学
- 大阪大学
- 九州大学
- 鹿児島大学
の8大学。
これらの大学の総長・学長、国際関係担当副学長ならびに理事等が
在サンフランシスコ日本国総領事館にて
各大学の国際戦略についての発表を行った。
このサミットの詳細やプログラムについては、
JSPS 日本学術振興会 のウェブページ「
The 1st JUNBA Academia Summit
」に掲載されている。
また、このサミットの写真が
「
Photo at JUNBA Summit」
に何枚か掲載されている。
サミット終了後は、広報文化センターにて記者会見。
そして、場所をサンフランシスコ総領事館公邸に移してから
レセプション・パーティーが行われた。
【参考リンク】
カテゴリー:
JUNBA
22:08
| コメント (0)
| トラックバック (0)
JUNBAのシンポジウム開催を準備するにあたり、
スタンフォード大学(Stanford University)の Bio-X の講堂の
AVシステムについて調査させていただいたので、
ここで、その調査結果を記録として残しておく。
ステージ側の床に 左・右、中央 と3つのAV-BOX が埋め込まれており、
ディフォルトでは、BOX3 の上に
ポディウム(演壇)が設定されている。
このホールの オーディオ、ビデオ、ライティング に
ついての全ての操作は、この演壇上に設置されている
液晶ディスプレーのタッチパネルから操作できる。
これは、
Crestron Electronics, Inc.
の システムを採用している。
タッチパネルの基本的な構成は
左側に 各項目を表すボタンがあるので、
そのうちの一つを選択すると、
画面中央が その項目の詳細設定画面に切り替わる。
プロジェクターについては、
観客席上の天井から3機ぶら下がっている。
センターのプロジェクターを利用すると、
画面が大スクリーン全体に映し出される。
また、センターのプロジェクターを消し、
左右のプロジェクターを利用すると
違う画面を左右に2つ並べて表示することができる。
プロジェクターの電源については
それ専用の項目選択ボタンがタッチパネル画面 左にあるので、
それを選んでから電源のオン・オフう行う。
コンピュータからの VGA信号に対し、
各ボックスに 入力端子が2系統ある。
通常は、演壇がBOX3 にあることから、
ビデオ用のケーブルは
BOX3 の VGA1 に接続されている。
これを選択するために、
項目選択ボタンに
「BOX1」「BOX2」「BOX3」とある中から、
「BOX3」を選択し、その詳細画面から VGA1を選択する。
ここが少しトリッキーなのだが、このままでは画面が表示されない。
この後、画面上部にある プロジェクター選択ボタンを押して
選ばれたVGA入力を どのプロジェクターに映し出すかを指定する
操作をしなければならい。
もちろん、この操作の前に、前述のように
該当するプロジェクターに電源を入れる操作も
しておかなければならないが。
マイクについては
XLR端子が各ボックスに2つずつついているので、
合計6本のマイクがつけられることになるが、
タッチパネル上には
マイク用のボリュームコントロールが一つしかないので、
個別にミキシング・レベルを調整することはできない。
ただし、ミュート・ボタンは別に設けられているので、
一時的に、すべてのマイクの入力をミュートすることができる。
通常は、BOX3のマイク入力に
演台備え付けのマイクが1本 接続されている。
照明は、4種類の設定が既に事前登録されており、
その中から選択することになる。
4種類の登録されているパターンは
- ステージ + 客席 の ホール全体を明るくする
- 客席のみ明るくする
- ホール全体を暗くする(映画館のような雰囲気)
- 前面(ステージ)のみ 明るくする
となっている。
【参考リンク】
カテゴリー:
Audio-Visual
,
JUNBA
22:56
| コメント (0)
| トラックバック (0)
ここのところ何回か、Rubyにおける正規表現について
書いてきたが、それを続けるにあたって
Rubyにおける「バックスラッシュ記法」を知っておく必要が出てきた。
今回のブログでは、「バックスラッシュ記法」について調査してみた。
「バックスラッシュ記法」とは 特殊な文字コード、例えば 改行文字 等 を
Rubyの文字列中でどのように表現するのか
ということで、C言語の時代から利用されている表記方法である。
これについての詳細は、Rubyマニュアルの
「バックスラッシュ記法」
に詳しく解説してある。
まずはこのマニュアルページの「バックスラッシュ記法」にある
文字コードを確かめる 例題スクリプトを作ってみた。
printf(" %#04x ", "\t"[0]) #=> 0x09 (タブ)
printf(" %#04x ", "\n"[0]) #=> 0x0a (改行)
printf(" %#04x ", "\r"[0]) #=> 0x0d (キャリッジリターン)
printf(" %#04x ", "\f"[0]) #=> 0x0c (改ページ)
printf(" %#04x ", "\b"[0]) #=> 0x08 (バックスペース)
printf(" %#04x ", "\a"[0]) #=> 0x07 (ベル)
printf(" %#04x ", "\e"[0]) #=> 0x1b (エスケープ)
printf(" %#04x ", "\s"[0]) #=> 0x20 (空白 or スペース)
この例では、
- \t (タブ)
- \n (改行)
- \r (キャリッジリターン)
- \f (改ページ)
- \b (バックスペース)
- \a (ベル)
- \e (エスケープ)
- \s (空白 or スペース)
の 文字コードを 16進数で表している。
例えば、「 "\n" 」 とは、 改行コード のみからなる 文字列となる。
Rubyも文字列では「 文字列[n] 」のように表記すると、
与えられた数字 n 番目のバイトの整数(文字コード)を返すメッソドがある。
数える場合は文字列の最初の文字が 0番目から開始されるので、
「 "\n"[0] 」という表記は 文字列「 "\n" 」の 0番目(最初の文字)の
文字列コードを 表していることになる。
ここで得られる文字コードは10進数となるので、
それを ここでは判りやすいように
printf のフォーマットで16進数に変換してから表示している。
文字コードに関しては e-Words の
「ASCII文字コード表」
にASCIIコードの一覧表がある。
【参考リンク】
カテゴリー:
Ruby
22:01
| コメント (0)
| トラックバック (1)
正規表現では あらゆるパターンを表現するために
特殊な記号や文字を駆使することになる。
それらの正規表現記号のことを「メタ文字」という。
最も基本的はメタ文字のひとつが「 . 」。「ピリオド」とか「ドット」とか呼ばれている。
Rubyマニュアルの
「
正規表現」の
説明によると、「改行を除く任意の 1 文字にマッチします。」
とある。
簡単な正規表現ではあるが、
Rubyスクリプトによる例題を挙げてみる。
p "The quick brown fox" =~ /quick/ #=> 4
p Regexp.last_match[0] #=> "quick"
まずは、メタ文字を使用していない例。
文字列「"The quick brown fox"」において
正規表現である「/quick/」 を 「=~」 によってマッチするかどうか判断している。
マッチしていたら、マッチしていた位置を 行頭を「0(ゼロ)」として数えた値を返す。
よって、この例では、「4」となるので それを 「p」メッソドで表示している。
「#」マークから右側はコメント。
「=>」は なくても構わないのだが、
Rubyの世界では実行結果を示す場合にはこのマークをつける慣例になっているようだ。
ここでもこの慣習に習ってつけている。
結果をコメントとして表示している。
2行目は「 Regexp.last_match[0] 」という変数を表示させている。
これは、最後に成功した正規表現のパターンマッチでマッチした文字列を表す変数(配列?)。
これを「 $& 」と書いても同じ結果になるのだが、
なれない人が見ると 何のことだか わかりずらいので
ここでは あえて 「 Regexp.last_match[0] 」としてみた。
p "The quick brown fox" =~ /qu.ck/ #=> 4
p Regexp.last_match[0] #=> "quick"
次の例では、任意の 1 文字にマッチする メタ文字「 . (ピリオド or ドット)」を
正規表現の中に使ってみた。
正規表現を「/qu.ck/」としたので、
これは、「qu」で始まり、どんな文字でもいいので1文字あって、
続けて「ck」で終わる5文字の文字列が存在するとマッチすることになる。
だから「quick」に限らず「quock」でも「quAck」でもマッチすることになる。
p "The quick brown fox" =~ /qu..ck/ #=> nil
p $& #=> nil
今度は、マッチしない例。
「qu」で始まり、どんな文字でもいいので2文字あって、
続けて「ck」で終わる6文字の文字列は、
「"The quick brown fox"」中に見当たらないので
結果が「nil」となっている。
2行目で、 「 $& 」を使っているのは
「 Regexp.last_match[0] 」を用いると
スクリプトがエラーで止まってしまうので、
ここでは「 $& 」の方を用いた。
p "The quick brown fox" =~ /q...k/ #=> 4
p $& #=> "quick"
この例でも、「q...k」が「quick」にマッチするのがわかる。
p "The quick brown fox" =~ /..i../ #=> 4
「..i..」も「quick」にマッチする。
このブログでは 自分自身と、それから
正規表現の勉強をこれからはじめる人の参考になるように、
出来るだけ丁寧に説明をつけてみた。
これから、少しずつ メタ文字を増やしていって、
正規表現の実験スクリプト例をどんどんアップしていこうと思う。
【参考リンク】
カテゴリー:
Ruby
,
正規表現
22:11
| コメント (0)
| トラックバック (0)
Ruby において 正規表現でマッチさせた場合、
ローカルスコープ変数「 $~ 」に自動的にある値がセットされる。
これは、現在のスコープで最後に成功したマッチに関する
MatchData オブジェクト
を表す。
Rubyのマニュアル
「$~」
によると
現在のスコープで最後に成功したマッチに関する MatchData オブジェクトです。
これを設定すると $& や $1 ... $9 などの 値が変化します。
このデータから n 番目のマッチ($n)を取り出すためには $~[n] で 参照できます。
とある。
また この「 $~ 」は、「 Regexp.last_match 」 と同じである。
よって、「 $~[0], $~[1], $~[2] 」 も
「 Regexp.last_match[0], Regexp.last_match[1], Regexp.last_match[2] 」
と等価となる。
さらに、上記の説明にも出てきた「 $& 」という変数があり、
これが、Regexp.last_match[0] と同じであり、
マニュアルでの説明には
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。
最後のマッチが失敗していた場合には nil。
となっている。
これらの例題として
test="The quick brown fox jumps over the lazy dog."
p test =~ /(qui)(ck)/
puts
p $~
p $~[0], $~[1], $~[2]
p $&, $1, $2
puts
p Regexp.last_match
p Regexp.last_match[0], Regexp.last_match[1], Regexp.last_match[2]
p $&, $1, $2
というRubyスクリプトを実行してみる。
ここで、2行目の正規表現で「(qui)(ck)」とあるのは
正規表現のグループ化で、
最後に成功したパターンマッチでn番目の括弧にマッチした値が
$1, $2 ... に格納される。
これは Regexp.last_match[1], Regexp.last_match[2], ... と同じ。
よって実行結果は
4
#<MatchData:0x2ea421c>
"quick"
"qui"
"ck"
"quick"
"qui"
"ck"
#<MatchData:0x2ea421c>
"quick"
"qui"
"ck"
"quick"
"qui"
"ck"
となる。この結果から
「 $~ 」と「 Regexp.last_match 」 が、
「 $& 」と「 Regexp.last_match[0] 」 とが
全く同じものである ことが確認できる。
【参考リンク】
カテゴリー:
Ruby
,
正規表現
22:16
| コメント (0)
| トラックバック (0)