SewiGの日記
2004-05-24 [月]
■ [Opinion] 大分大学工学部知能情報システム工学科の印刷用紙無駄遣い事情
UNIXで印刷をしたいときはlprコマンドが使われることが多いですが、当学科では学生用レーザプリンタが2台しかないので、-Pオプションをつけないでおのおののプリンタに直接出力するPerlコマンドが用意されています。
ところが、このスクリプトはテキストファイルを引数にするとa2ps経由でPostscriptファイル変換したものを勝手にlprに流し込む極悪スクリプトなんです。さらに、学科にはこの極悪スクリプトによる印刷方法しか知らないという情報系とは思えない学生も居るため、印刷後のイメージを確認できず印刷ミスの用紙を山積みにする学生が大量に居るわけです。まぁ無知な学生も悪いのですが、スクリプトにオプションを付加してないなど作り込みが悪いスクリプトを作った方も問題ではありますが。
とりあえず、一部引用するとこんな感じのやつです。 (なんかシェルスクリプトで書いても充分な規模のスクリプトな気がする)
#!/usr/bin/perl $ps = "pr1"; $tf = $ARGV[0]; open(TF,"$tf") || die "cannot find $tf\n" ; while(<TF>){ if(/\0\0/){ print " \"$tf\" may be a binary file\n" ; exit 1 ; } if(/%!PS/){ exec ("echo ' PostScript file printout'; /usr/local/bin/lprl -P$ps $tf") ; } else{ exec ("/usr/local/bin/a2ps -a4 -L \"%user %month %mday %hour:%min\" $tf | /usr/local/bin/lprl -P$ps") ; } } close(TF); # a2psのオプションが固定だったり、直接プリンタに出力しないオプションがなかったりして # 問題が多いスクリプト(引用のルールに従い一部のみ掲載) # とりあえず、| /usr/local/bin/lprl -P$ps を消せば応急処置としてはOK
さらに実験用表紙がPostscriptで配布されていて、2枚目が白紙ページのみが含まれていて、これまた印刷内容を 確認せず、コマンドラインでlprに出力する学生ばかりなので白紙の紙が増産される悲惨な状況にあります。
2005-05-24 [火]
■ [Programming] RMI (Remote Method Invocation)
RMIは異なる端末にあるJavaオブジェクトのメソッド呼び出しを可能にする仕組みです。アプリケーション層・スタブ/スケルトン層・リモート参照層・トランスポート層という階層構造になってて、スタブ/スケルトン層で内部形式の変換をして、リモート参照層で参照の解決をします。
RMIプログラミングの手順は以下の流れになります。
- リモートインタフェースの作成
- サーバの作成とコンパイル
- Stubの作成
- クライアントの作成とコンパイル
- rmiregistryの起動
- サーバの起動
- クライアントの起動
2007-05-24 [木]
■ [Mac] 覚書
- MacBook Proでフタを閉じたまま起動させる
スリープ状態で、DViケーブルとUSBキーボードorマウスと電源ケーブル(←ここ重要)を挿した状態でマウスをクリックするかキーボードでどれかキーを押すと起動する。
- MacBook Proでライン入力をPass Thruする
LineInというソフトでソフトウェアPass Thruできる。これで外部音源を流しっぱなしにできる。
というか、なぜ「アプリケーション/ユーティリティ/Audio MIDI 設定」の「Thru」というチェックボックスが無効になってるんでしょうね。内蔵スピーカに出力できない仕様はちょっと不便。オーディオインタフェース買えばいいんだけど金ないしね。
● Kaycie [I wanted to spend a muinte to thank you for this.]