緊急連絡システムに地図機能を追加
学生さんが、携帯などの地図表示に便利な、Google Map Statics なるものが あることを教えてくれたので、緊急連絡システムに組み込んでみた。
緊急連絡の文面より、鯖江市と越前市の専用の町名検索正規表現を作り、 見つけた町名に対応する緯度経度の地図を携帯で表示する。 このため、ショッピングセンターの名前で場所を示してあったりすると、地図表示はできない。 また、実際の事件のあった地図が正確に表示されることは、被害者保護の観点でまずいので、 あえて町名部分の抽出しかしていない。
携帯でメールを受信した時の利用者確認機能のためのページにアクセスすると、 この地図を見るためのリンクが表示される。
リスト構造
配列の問題点ということで、配列途中のデータの挿入削除の処理が O(N) で、 効率が悪いことを説明。その解決策として、リスト構造を紹介する。
最初に、データと次の配列index によるリストもどきを説明し、 次に、生でリストを生成するプログラムを説明し、 リスト生成の補助関数 cons を定義したプログラムなどを経由しながら、 リストの説明を行う。
歯みがきロボット工作教室
第2回目の 歯みがきロボットコンテスト に備え、プレイベントとして歯みがきロボット工作教室を福井市健康センターにて行う。
今年は 4chリモコンロボット製作セットDX を使い、マニュアルもうまく準備ができたため、のべ3時間の工作で完成することができた。 ただし、リモコン・モータ配線・ギアボックス3個・キャスターはあらかじめ作っておいた。
# 参加者数小学生の8組であったが、本選まで参加してほしい。
大量のうがい液をもらう
その会場では歯科医師会のイベントもあったため、終了時には景品で配っていた口内炎・口臭予防のうがい液を、3箱もらう。あまりにも多いので情報棟の洗面所に寄付する。
LEGO MindStorms NXT ロボット講習会
福井県機械工業会青年部の交流事業としての簡単なロボットの制御技術習得を目標とした、 講習会を行った。第1回目ということもあり、NXT の基本セットだけでできる内容を説明した。
Bricx Control Center を使って、NXT を制御するまでということで、基本的なドライバと BricxCC をインストールし、 足周りだけを組み立て、NXT単体で動作を確認し、最後に配布した NXC の前後に動くだけの プログラムをコンパイル&動作を行った。
参加者25名、PC10台で行ったが、機械工業会の方ということもあり、プログラミングの経験は、 C言語が1名のみ、 シーケンサのラダー言語 で3名ほどという状況であった。 このため第2回目は、「教育用NXTソフトウェア」のブロックによる内容をとり入れた方が 良いと思われ、その後で「NXC による C言語(もどき)の理解」と発展させるべきだろう。
OB25で直接SMTPチェックできないので…
緊急連絡システムのメールシステムの動作確認をしたいのだが、 OB25 で check_smtp が動かないので、CGI 経由で smtp の確認を行うことにした。
≪ check_host.php (緊急連絡システム側に設置) ≫ ≪ /etc/nagios-plugins/config/http.cfg (OB25の内側のチェック側) ≫ # 'check_http_smtp' command definition define command{ command_name check_http_smtp command_line /usr/lib/nagios/plugins/check_http \ -H $HOSTADDRESS$ \ -u "/pathto.../check_host.php?P=smtp" \ -r "SMTP OK" } # check_httpの使い方 # -u URI 指定したURIでチェック # -r regex 結果に指定した正規表現が含まれるかチェック
http 経由なので、httpd が死んでも当然 smtp が死んだと誤認する。 緊急連絡システムは、httpd も smtpd も必須だから、それでも OK だろう。
なべあつ問題を出題
昨年のプログラム応用のテスト問題は、その時期ネタに上がっていた Fizz Buzz 問題 FN WikiPedia に Fizz-Buzz の記載があるのに驚いたけど… /FN (3の倍数はFizz,5の倍数はBazz,それ以外は数を表示)であった。 ということで当然、今年は「なべあつ」問題。 『1〜40までの数字を表示するプログラムで、3の倍数と3のつく数字で「あほ」と表示せよ』 を出題した。
ただ、プログラムの最後に printf("おもろー\n"); を書き加えるヤツがいない。
# ノリが悪いなぁ…
OB25 で SMTP チェックできず
先日、緊急連絡システムの OS の update をかけていたら、qmail だけが止まっていた様子。 このため 6/1-6/3のメール配送が止まっていた。
# 小学校からの「メールが来ない」の連絡で気づいた…
サーバソフトの動作チェックは、nagios を使って必要なソフトが止まれば、メールで 警告してくれるんだけど、qmail が止まれば、当然メールも来ない。
他のサーバからチェックすればいいんだけど、 学校も自宅も OB25 のおかげで、SMTP のチェックができない。 自分の管理しているサーバはどれも OB25 の内側ばかり… check_smtp する CGI をつくって、check_http するのもなぁ….