TA

TA(Teaching Assistant)をやった。
C言語を教える科目だ。

どこかの研究室のドクターっぽい人に
「TAはじめて? 緊張するでしょ?」
等と言われた。

実はその人はドクターではなく(ドクターでもあるのだが)
先生だった。

それはともかく、
バイトやってることもあってか
さほど緊張は無かった。

プリンターから刷ったものが出てこないだとか、
設備のトラブルが目立った。
そういったことは他に投げるしかない。
「ちょっとまってね。」
と言って、先生等を呼びつけることしばしば。
教える側として自覚を持っている僕としては
あまり気分のいいものじゃなかった。

C言語、プログラミングそのものに関しては
特に困ったこともなく教えることができたと思う。

似非フレンドリーにみんなに接してみたが
どうだったろうか。
「こんなTAはいやだ」
とか言われてなければいいのだけど。

ありがとうございました。とやたら言われたが
フレンドリーを演出しようとしていた僕には
いかにも表面的なその文句はいいのやら悪いのやら。

いい雰囲気を作れる人間になりたいです。

アクティブなウィンドウのスクリーンショットを
ペイントに貼り付けて印刷
その一連の作業をマウス使わないでやったら神扱いされた。

それにしても
教え甲斐の無い人というのはいるもんだ。
「そしたらこうして。」
と僕が言い、それに対して
「はい。」
等と返事をしていても、それをしようとしない人。
それは、僕が言っていることを理解していないわけではなく。
単純にやる気が無いのだ。
「はい。」
というその返事の感じだけで分かってしまう。
僕は黙ってそこを離れるしかなかった。
まぁ、仕方ない。

TAは続く。
Class | - | trackbacks (0)

Linux Memo(随時更新)

※Linux 関係のメモ。徐々にまとまればいいなぁ。


LinuxでTclの実行をするならActiveTclを導入するといい。
ActiveTcl インストール場所
/usr/local/ActiveTcl/




JAVA_HOME設定 †

すべてのアカウントで使うつもりなので、/etc/profile.d/ にshスクリプトを作成。ファイル名は/etc/profile.d/j2sdk.shとした。

# j2sdk initialization script (sh)
export JAVA_HOME=/usr/java/j2sdk1.4.1_05


パスを通す場合
~/.bashrc か ~/.bash_profile
を編集する

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
PATH=$PATH:$JAVA_HOME/bin
PATH=$PATH:$JAVA_HOME/jre/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"

wish () { /usr/local/ActiveTcl/bin/wish $@ ; }
knote() { wish ~/knote/knote.tcl $@ ; }

export USERNAME BASH_ENV PATH
export -f wish
export -f knote



gcc 3.4.2 をインストールした
./conginure
make
make install

で行ったがインストール先ライブラリのパスの関係上
組んだC++プログラムの実行ができなかった。
そこで、
/usr/local/lib/libgcc_s.so.1
へのシンボリックリンクを
/lib
に作成し(もとあったファイルはファイル名に「」を加えてとっておいた)

/usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6.0.2
へのシンボリックリンクを
/usr/lib/
に作成した




圧縮
tar -cvzf <アーカイブ名> <フォルダ>

解凍
tar -xvzf <アーカイブ名>


kon
コンソールで日本語表示を行う


モジュール関係
lsmod
 現在組み込まれてるモジュールの表示

insmod
 モジュールロード

rmmod
 モジュールアンロード
PC | - | trackbacks (0)

アーカイブいじくるツール

ZIPなんかのアーカイブファイル内から
指定の拡張子のファイルを削除するツールを作ろうと思った。
てか、これ、需要あるだろうし、
うまく作れば窓の杜にも掲載されるかもしんね。ぐへへ。
と思った。

が、検索かけたら既にあった。

圧縮ファイルの中からEXE形式を削除するツール
(リンク先は作者であるA-tomoさんのサイト)

作ろうと思っておいてなんだけど
まぁ、何というか、まっとうな人間が使うもんじゃないよねぇ。

…。

えー、まぁ、その機能に関してはもう要らなくなっちゃったわけだけど
他幾つかアーカイブに対して特定の処理をするソフトが欲しいので
それは作るかもしんない。

もしかしたら
誰か作ってくれたり、
既にあると情報をくれるかもしれないから
その、やりたい処理を書いておくか。

・アーカイブ内にフォルダ一つしかない場合
 そのフォルダを削除して
 その中身が直接アーカイブに入っているようにしてくれる機能

 例えば a.zip の中身がbというフォルダでその中身が c.exe と d.exe
 の場合、つまり

  a.zip\b\c.exe
  a.zip\b\d.exe

 であったとき

  a.zip\c.exe
  a.zip\d.exe

 見たいにしてくれる

・アーカイブの中身が一つのアーカイブのみの場合解凍する機能

・以上二つは条件を満たす限り実行される

・指定の圧縮レベルへの変換(無圧縮ZIP含む)

・アーカイブが持つ情報の設定(例えばアーカイブのコメントを削除だとか)

要は、同じようなものを違う人がアーカイブしてしまったものも
全く同じファイルに整え直すような機能群。

形式変換はArchive Converterでできたように思うけど
無圧縮ZIPがうまく作れなかった気がする。
そいつが悪いのか、僕が悪いのか、DLLが悪いのかは不明。

情報などありましたら是非。
Develop | - | trackbacks (0)

gcc 3.4.2 for Linux 導入

要カテゴリー整理…。

Red HatでEclipse+CDTでQtを使って
先輩の組んだコンソールプログラムにGUIをつけてやろうということで
何回か書いてきてるのだが、外観はおおよそできたっぽい。
あとは、インターフェースつける元のプログラムを若干解析しないとな…。

なのだが、GUIを組んでいて思ったのは、コンパイルが異常に遅いということ。

なぜ遅いのか。
それぁ、Qtのヘッダをインクルードしてるからに違いない。

どうにかならないものか。
てか、プリコンパイル済みヘッダじゃないの?
そー言うときに使うのは。

ちょっと調べたら、gcc 3.4からサポートされたそうで。
いや、今までは無しで耐えてたの?
みんな我慢してたの…?

(つか、GUIのwidgetの位置を
 コンパイルしてみては座標調整とかんなこと普通しないか…。
 それこそ、IDEで配置しろってか…。)

とにかく導入。
コンパイラのソースをコンパイラでコンパイルとはこれまた何とも。

で、プリコンパイル済みヘッダ作成。
あっさりできてびっくり。
コンパイルもアホみたいに早くなったよ!
ナニコレ!

オススメっす。

てか、進み方遅いな…。
こういうことやってると時間がすぐたってしまうのは問題だ。
全然直接研究に結びつかないしなぁ。

Windowsでいうところの、Windowsアップデートしただけで
何か仕事したような気になってしまうのと同じ。
(そんな気にならないですか。)
Research | - | trackbacks (0)

Mac OS X Panther v10.3 導入

バイトのために、入るであろうバイト代よりも高い Panther 購入。

でも、学割で一万切ってたから、まぁいいか。
アカデミック版は店頭では売ってないらしい。
結局学校の生協で買った。

僕としては
バイトのためということでOffice 2004(の体験版)が動けばほぼそれで満足か。
ほか、ユーザーインターフェースとか画面のデザインなどにも興味がある。
おまけとして、Macの開発環境がついてるだとか、JAVAが速いらしいだとか、
そこら辺も見所。

姉貴としては(結局使うのは姉貴なわけで)
Windowsとファイル共有ができて
日本語変換がおバカで無ければいいなぁとのこと。
そうならば、まだWindowsに乗り換えなくてもいいらしい。
ついでにWindowsとプリンタ共有とかできるとなおよし。

学校から帰って、インストールしたらもう遅くなったのでとりあえずここまで。

あ、そうそう。
使いにくくてしょうがなかった1ボタンマウスを3ボタンホイールマウスに変えた。
Windowsマシンに使ってたLogicoolのUSBマウスが普通に流用できた。
続きを読む>>
PC | - | trackbacks (0)

More Effective C++ 読了

タイトルのまんま。
買ってから何ヶ月たったのやら。
理解もイマイチ。
積み本として「Modern C++ Design」が残っているのだけど
これはちらっと読んだ感じ、もっと分からなそう。

大体、いい設計をして、いい実装をして、
結果として楽をしたいってのに
そのために苦労してるってのは…。

しかも、これ、なかなかキリがなさそうなようにも思える。
(だいたい、こういった本で僕が追いかけてるのは何年も前の話だし)

僕はプログラマーになるつもりも余りないのだから

「がんばらなくてもいいんですよ。」

と自分に言ってやりたいが、

かといって、それやめたところで他の何かに頑張れそうなものはあるのか…。
いやいや、他に頑張らなきゃいけないんじゃないのか。

就職もしなきゃいけないよね。何になるの。わかんなすぎ。

テンション低すぎ。
Develop | - | trackbacks (0)

Windows と Mac でファイルやりとり

バイトでパワーポイントを人に教えることになった。
パワーポイントは別に構わないのだが、今回は少し事情が異なる。
というのも、先方のマシンはMacだというのだ。さすがに弱気になる。

「Macですか…
 全く使えないわけではないですが
 人に教えられる程使えるわけでは無いんです。
 少々お待ち頂けますか。
 家にMacのPCがあるのですが、
 それにパワーポイントが入っているか
 使えそうかどうか見てみます。」

幸い、姉貴はMacを使っていた。
会社で使わなくなったとかでもらったものだ。

しかし、Macであればいいわけではないことも僕は知っている。

「ちなみに、
 お使いのMacのOSとパワーポイントのバージョンはなんでしょう?」

「OS X と Office X です。」

あちゃー…。
家とちゃうのね。
家は OS 9 で、以前 X を導入したものの
不具合が目立った(ように思った)ので戻したのだが…。

チキり屋の僕は先方と同じ環境を整えて練習しないと落ち着かない。

そこで OS X の導入を行うことにした。

まずは姉貴のデータをバックアップ。
って、1ギガ越ある…。
恐らくWindowsマシンのHDDにしまうのが一番だがどう送るか。
CD焼けないし、FTPでどこかにアップするにも大きすぎるし。

言ってみればMacとWindowsをつなぐってのがしたい。

…あぁ、OS X なら何ら共有フォルダとか使えるかも。
でも、その OS X に乗り換えるのにバックアップとりたいちゅーねん。

以前調べたときは片方をFTPサーバーにするのがお手軽ということだったが

今回はもっといい物を見つけた。

ファイル特急便

感動した。
Win同士でも使っていいかもしれない。
メッセンジャーのファイル送信、僕のとこだと不安定だったりするし。

早速MacからWindowsに送ろうとしたが
さすがにフォルダでは送れない。
アーカイバでまとめなくては。
そこで気づく。アーカイバも無いではないか。

ZipかLHAあたりでなんかあるだろうと思ったが殆ど見つからない。
Windowsでは腐るほどあるアーカイバだが、Macでは数えるほどしか見つからない。
MacLHAなるものを見つけたがうまくファイル階層が保存されず。
何がまずいのだろうか。
人気らしいソフトなのに2000年から更新されてないところを見ると
ソフトが悪いわけではなさそうだし…。
あぁ、さっさと OS X に以降しろやということだろうか。

その後、Macではsitという形式が超メジャーであることを知る。

で、sitのアーカイバというとDropStuff。一択?

Windows側で解凍するときはAladdin Expander。これも一択らしい。

一人勝ち?どういう状況なんだ?Macのアーカイバは。


無事バックアップを終えいよいよ OS X の導入。
続きを読む>>
PC | - | trackbacks (0)

Linux GUI プログラミング(3)

本屋でLinuxプログラミングに関する本を立ち読みした。
Linuxのデスクトップ環境の概要と大まかな歴史を知る。
それによるとGTK+やらQtやらは「ツールキット」と呼ぶべきなようだ。

さて、つい何日か前にGTK+ではなくQtを使っていくことにしたのだが
GTK+もCで組まれているとはいえ実は設計思想はオブジェクト指向に則っている。
また、gtkmmというC++インターフェースも用意されており
それを使った場合、簡単なサンプルにおいてはgtkmmもQtも殆ど変わらない印象を受けた。
さらに、見てみれば、GTK+の方がライセンスの制限が緩いようなのだ。
長いものには巻かれる考えで行くとGTK+を選ぶべきかもしれない。

どうしたものかと、さらに調べてみれば
wxWidgetsというものもなかなかいいという話もあったりで混乱するばかり。
(wxWidgetsはツールキットではなく、UIフレームワークらしいが)

こうした、ユーザーを惑わせる混沌とした状態は
ツールキットに限ったことではなく
言ってみればLinuxというOSのあちこちに当てはまるのではないだろうか。
ディストリビューションしかり。
Windowsというぬるま湯にどっぷりつかっている僕としては
Linuxの統一計画とやらが進むことを祈るばかり。

さて、話を戻して、ツールキットを何にするかだが
結局、作ろうとしているものは大規模でもないし
そこまで作り込もうというつもりもないのだから
(どうせ何か作るのであれば
 多くの人に使ってもらえそうなWindows用ソフトを作る。)
まぁ、割と普及していて
すぐ習得できるものならば何でもいいということになり
少しいじったQtを続けることにする。

なんだ、その結論。

いや、だって、研究室で仕方なくLinuxという感じなんだもの…。

EclipseでQtを使った簡単なサンプルをコンパイル・実行しておしまい。

さっさと仕上げちまって本題に入ろう。
Research | - | trackbacks (0)

Linux GUI プログラミング(2)

研究とかけ離れそうな気もしていますが…。

僕は専らWindowsでIDEを使ってプログラムを組むので
Linuxでのプログラミングとなると環境の構築から始めなくてはならない。

小さなプログラムであればエディタでちょろっとソースを書いて
gcc -o test.o test.c
などとすればいいのだが
それにしたって、そもそもしっくりくるエディタがない。
geditというエディタがあって、それはなかなかWindows風キーバインドなのだが
微妙に違うところなんかがあるので
Tcl/TkでWindowsのメモ帳のようなエディタを自作した(KNote)。
不満があったらその場その場で拡張していくつもり。

つづいて、やはりプログラムの規模が大きくなってくるとIDEが使いたくなる。
ざっと調べたところKDevelopあたりが肌に合いそうだが
後々JAVAもいじるかも知れないし、なにより流行っているし
ということでeclipse+CDTで行くことにする。


早速環境構築に入る。

Tclで組んだ自作エディタを実行するためActiveTclをインストール。

eclipseとCDTをインストール。
(参考サイト:eclipse/Linux - discypus)

Linuxになれていないので細々としたところでしばしば
その他多くのサイトにお世話になっているがそれはここでは省略。

いわゆる「Hello World」をコンパイル・実行。

さて、次は、いよいよQt使ってGUIプログラミング。
Research | - | trackbacks (0)

Linux GUI プログラミング(1)

早くも記事のカテゴリー分け等失敗している気がするが気にせずに書こう。

今日は Linux GUI プログラミングを試みた。

少し前にTclをいじって、エディタを作ったが今回はCかC++を使うことにする。
(いや、Tclつかってもいいんじゃないかという気もしてきた…。)

GUIライブラリの力を借りることになるのだが
ざっと調べたところGTK+Qtを使うのが一般的なようだ。

サンプルコードを眺めた感じ
僕としてはQtの方がC++を使っている分
直感的にかつ手っ取り早く使える印象を受けたので
そちらを使うことにした。

僕ははじめ
GTK+を使って組むとGNOMEでしか動かず
Qtを使って組むとKDEでしか動かない
などと勘違いしていたが
全くそんなことは無いとのこと。
確かに、そうなのだとしたら酷く使いにくいだろうが…。

とりあえず今日は参考ページの内容を打ち込んで理解しておしまい。

参考ページ
  • Learning Qt
  • Research | - | trackbacks (0)