応募締切はあわただしくなりそう。
プロコン・ロボコンの応募書類を作る作業は、5/31締切りで、5/28には送付となる と、 今週(明日)と、来週(しかも直前)なので、てんてこまい。
セキュリティ意識+malloc続き。
授業前の昼飯時に、5年学生が「パソコンおかしくなったので直せませんか?」と 言ってくる。聞くと、ISDN経由でプロバイダ接続していて、
- ウィルス対策ソフトなし、
- WindowsUpdate してない、
- ウィルス感染はメールだけかと思ってた…
という状況らしい。たぶん、何らかのウィルスは喰ってそうな雰囲気。 単発の無料ウィルス除去ソフトと、ウィルスバスター体験版をコピーしてあげる。
セキュリティの実態
あまりにもセキュリティ意識が低いので、情報構造論の授業中に、実態調査。 クラス40名中、以下のような状況であった。
- PC所有者、27名
- そのうちWindowsUpdateしている人、13名
- ウィルス対策ソフトを入れている人、10名
- ウィルス対策ソフトのUpdateをちゃんとしている人、6名
- ウィルス感染経験者、7名
- Winnyを使ったことの有る人、7名
Winnyについては、きんたま注意と、暗号解読されてつかまるぞ!注意を行う。
malloc の続き
malloc 関数の使い方の続きとして、可変長配列としての使い方と、 配列サイズが一切予測できない時の、2倍配列をmallocでコピーするテクニックの例 を示す。 ヒープはプロセス終了時に消えること、メモリーリークなどの説明、Java等では freeの扱いが楽なこと(ガベージコレクタまで言及せず)を説明する。
日記システム(hns) BLOG を使うための記録
講義記録等を日記システムで残しているけど、 同じようなことをやってみたいという方のために、 設定の記録を残す。
C,C++で隠蔽化の導入課題
先週までのクラス化による手続き隠蔽/データ隠蔽の話の演習として、 来週は以下のテーマの演習を行うことをPRし、その導入部のプログラムを 示す。導入部の説明中に、コンストラクタを使った例を追加説明。 FN さらに、補足説明としてデストラクタや、C++の演算子オーバーライトの例も示す。 /FN
- 複素数をテーマとして、実部・虚部および絶対値・偏角のデータ構造で、 複素数データの加減乗除のプログラムをC,C++にて作成。 一部のJava等を使っている学生向けに、C++の替わりにJavaでもOKとする。
最近のページの作り方
最近では授業や卒業研究で、講義録をこの日記で残したり、指導用のサンプル データを簡単にページにまとめ、 簡単な説明後に後はページを『見ておくこと!』という指導が増えている。
その際のページ作りは、以前ならカテゴリ別にディレクトリを分けていた。 しかし最近は、サブカテゴリ的な分類をしておくと、ディレクトリ構造の メンテナンスが大変となっていた。
おかげで、最近は日記形式の記録の残し方をそのまま踏襲し、 大まかなカテゴリのディレクトリを作り、 その中に年度別ディレクトリを作り、その中に yyyy-mm-dd-説明.拡張子 形式で保存している。新鮮なナマ物である WWW データを、 次々と記録に残すには、この方が簡単である。 そして『年度+日付ファイル』のページに、日記からリンクを張っておく。 適当に情報が溜ったら、カテゴリディレクトリ内に『作り置きページ』を 総括したページを新たに設ける。
卒研でIEEE1394ビデオを使うための設定(その3)
IEEE1394 ビデオの動作確認 FFmpeg 等を入れて実験をする。
≪FFmpegのコンパイルで必要となったパッケージ≫ # apt-get install libsdl1.2-dev/testing libncurses5-dev/testing libasound2-dev/testing aalib1-dev/testing alsa-headers/testing $ wget http://...../...../ffmpeg-0.4.8.tar.gz $ tar zxvf ffmpeg-0.4.8.tar.gz $ cd ffmpeg-.4.8 $ ./configure ; make ; make install ≪FFmpeg の動作実験≫ # ffmpeg -dv1394 -s 320x240 -vd /dev/dv1394 /tmp/test.mpg であれば、エラーも出ずにプログラムは起動するが、 test.mpg が生成されずに止まったまま。
libcam1394を試す。
libcam1394を試してみよう。
卒研でIEEE1394ビデオを使うための設定(その2)
うーん、IEEE1394ビデオ。うまく動かない。ひとまず必要そうで入れたパッケージ。
≪必要そうで入れたパッケージ≫ # apt-get install nasm/testing libdv-bin/testing libdv2/testing libdvb-dev/testing libavc1394-0/testing libavc1394-dev/testing libdc1394/testing libraw1394-5/testing libraw1394-dev/testing ≪デバイスモジュールの認識≫ # modprobe ieee1394dv # modprobe ieee1394 # modprobe dv1394 # modprobe video1394 # modprobe ohci1394 # modprobe raw1394 ≪デバイスの作成≫ # /dev/MAKEDEV raw1394 # mknod -m 666 /dev/dv1394 c 171 32 # rm -f /dev/video1394 # mknod -m 666 /dev/video1394a c 171 16 # mknod -m 666 /dev/video1394b c 171 17 # ln -s /dev/video1394a /dev/video1394 ≪どれもうまく動くぜ。≫ ≪だけど肝心のxawtvあたりが動かない≫ # xawtv -c /dev/video1394
数値文字変換の課題
先週の10進文字列を数値に直すatoi, 数値を10進文字に変換するitoaを 2進、8進、16進に変換するようにプログラムを直す課題。 2,8,16は任意で選択とする。 基数の自動判別や浮動小数データなどのオプショナルな テーマに取り組む学生が多く出ることを期待。
レポートでは、テクニック・説明・極どいデータでの挙動確認、 自分のプログラムの限界の考察などに取り組むことを、強調する。
現実的な設計にあたってのテーマの修正
システム設計での学生の目標だけを聞いていると、 私自身でさえも作れないような プログラムを思い描いているグループが多い。 半年にて完成させられそうなレベルに的を絞った、修正テーマを示す。
- レーザーポインタを用いた通過型スピードセンサー
- リアルタイムの交通標識追尾プログラム
- 参考資料 Linux で v4l 取得と X に表示するプログラム vlib+ilib-0.0.2
- QRコードを用いた携帯向け観光案内システム
これに応じた、システムの具体的な構成資料を作成させる。 各部のハードウェア・センサーに何を使うのか、 各部間の信号やデータの種別や意味 などを調べて具体的に作成するプログラムの『プロコン応募資料』を作らせよう。 最後の末尾部で、それを最終的には『××…』といった内容に応用が期待できる…. といった内容としよう。
画像処理の環境整備(IEEE1394)
卒研やシステム設計(演習)にて、Linux を交えた画像処理関連の機会が増えそう。 今年度新規導入の演習室のパソコンに、IEEE1394 PCI ボードを追加し、 高速画像データで取得し、処理するシステムを構築したい。
んで、ひとまず Linux の環境整備。
# apt-get install kernel-image-2.4.26-1-k7/testing initrd-tools/testing cramfsprogs/testing # apt-get install `cat testing.pkg`