久しぶりに書こうっと。面白い記事を見つけたので。
どうしてプログラマに・・・プログラムが書けないのか?
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm

1から100までの数をプリントするプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と、
5の倍数のときは「Buzz」とプリントし、
3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
 
よし、やってみよう。

#include <stdio.h>
int main(void){
  char i;

  for(i=0;i<=100;i++){
    if(i%15==0){
      printf("fizzbuzz\n");
            continue;
    }
    if(i%5==0){
      printf("buzz\n");
            continue;
    }
    if(i%3==0){
      printf("fizz\n");
            continue;
  }

  printf("%d\n",i);
}
return 0;
}

出来た!
でも2分じゃ無理だったよぅ。
時間はマシン起動して、コンパイルして確認するまで5分くらい?
らき☆すた見ながら書いたし。

focal2007-04-12

FuelやOriginにはオーディオデバイスがない。
FuelにはUSBスピーカーをつなげることができるらしいがヤフオクでみたことがないから
レアなんだろう。
そんなマシンから音を出すためのPCIカードがM-AUDIO Revolution 7.1だ。
自分はMac版を持っていてOrigin 300に刺したが標準で認識した。
IRIX 6.5.21からサポート。
Iris Audio Processor: version MAD revision 1, number 1
こんな感じで認識される。

つぎにネットワークのつなぎ方。
ADSLモデム-スィッチ-マシンという風にネットにつなぐ。
まず
#chkconfig autoconfig_ipaddress off
とやってDHCPを切る。
/etc/sys_id
ホスト名
/etc/hosts
192.168.1.** ホスト名を追記
/etc/config/ifconfig-1.options
ネットマスクを書く
/etc/resolv.conf
domain モデムのアドレス
nameserver モデムのアドレス
/etc/config/static-route.options
$ROUTE $QUIET add -net default モデムのアドレス

あとはマシンにかっこいい名前をつけてやろう
ついでにchkconfigでsendmailとかいらないサービスをガンガン切ろう。
パスワードはガンガンつぶそう。

んでネットワークにつなげるようになったら
今度はWindowsAstec-Xからログイン。
しかしIndigo Magicはまともに使えないし、デモも動かない。(atrantisとかbuttonflyとか)
Showcaseだって動かない。
理由はかんたん。DGLというIRIX用のプロトコルを使っているから。
サポートページにも
IRIX 付属のツールなど IRIX 用のアプリケーションを実行すると、以下のような "gdl error 〜" というエラーメッセージが表示されてアプリケーションが起動できない場合があります。
dgl error (protocol): remote machine not DGL capable ...
dgl error (default init): default dglopen...

エラーメッセージにもある、"DGL" とは、OpenGL とは異なる、IRIX 独自のプロトコルで、 DGL のアプリケーションは、ASTEC-X をはじめ一般の X サーバーでは表示できません。
と書いてある。
残念。

CTRL+T power up
で電源を入れた後は
CTRL+Dでコンソールに移行する。
Origin 300にはCDドライブが無い。
そこでSgi純正ドライブをSCSIで繋げてやる必要がある。
Sgi純正CDドライブでないとうまくOSをインストールできないことがあるので、是非とも手に入れよう。
Origin 300にはVHDCIのSCSIコネクタがあるが、Sgi純正のCDドライブは
セントロニクス50ピンで純正ケーブルはOctane用のDB68ピンハーフオス-セントロニクス50ピンのオスしか手持ちがなかった。
そこでOrigin 300-VHDCI-DB68ピンハーフオス-DB68ピンハーフメスとDB68ピンハーフメスの変換コネクタ-DB68ピンハーフオス-セントロニクス50ピンのオス-純正CDドライブと無茶な構成で繋いだ。
んで
System Maintenance Menu

1) Start System
2) Install System Software
3) Run Diagnostics
4) Recover System
5) Enter Command Monitor
の場面で5を選択。
hinvで構成を確認。
System SGI-IP35
2 500 MHz IP35 Processors
Main memory size: 1024 Mbytes
Integral Fast Ethernet
IOC3 serial port
USB (OHCI interface)
Integral SCSI controller 0: Version Qlogic 12160
Disk drive: unit 1 on SCSI Controller 0, (dksc(0,1,0))
Integral SCSI controller 1: Version Qlogic 12160
CDROM: unit 4 on SCSI Controller 1, (cdrom(1,4,7))
この構成ではCDROMはSCSIコントローラー1のSCSI番号4だ。
んでIRIX 6.5.22 Overlays 1/3をCDドライブに入れて、いつものように
boot -f dksc(1,4,8)sash64 dksc(1,4,7)stand/fx.64 --x
としてはダメだ。
Origin 300の場合は
boot -f cdrom(1,4,8)sash64 cdrom(1,4,7)stand/fx.64 --x
としてあげよう。
んで後はやたら時間がかかるfxでフォーマットしてOSをインストールして終わり。
アバウトな手順は
IRIX 6.5.22 Overlays 1/3をCDドライブに入れて
Inst> open
CDを入れ替えまくって
Inst> keep *
Inst> install standard
Inst> install prereqs
Inst> keep incompleteoverlays
Inst> go
でOK。ファイルシステムはブロックサイズ4096でfeature streamを選んだ。maintenance streamでも良いけど大して変わらない。
Freewareは入れる必要はない。IRIX 6.5 Applicationsにモジラやらネットスケープは入っている。
後でnekoからパッケージを入れた方が100倍良い。

久しぶりに書こう。
SgiのOrigin 300について書こうかな。
IRIXのインストールについて。
バージョンは6.5.22。
WorldView_japaneseが最後のバージョンで
IndyやIndigo2がサポートされる最後のOverlayだ。
コンソールに繋ぐと
escaping to L1 system controller
001c01-L1>
と出るので、power upと入力すると凄い音でファンが回りだしてマシンが起動する。
自分はminicomを使っているが、
*Baud 38400 *No parity *8 data bits *1 stop bit *Hardware flow control on (RTS/CTS)
と設定が特殊なので注意しよう。
サーバでラックマウントマシンなのでとにかく轟音!
OSの起動はOCTANEに比べてそこそこ高速。
足周りがよいのかな?

returning to console mode 001c01 console, to escape to L1
Starting PROM Boot process


IP35 PROM SGI Version 6.210 built 02:33:51 PM Aug 26, 2004
Testing/Initializing memory ............... DONE
Copying PROM code to memory ............... DONE
Discovering local IO ...................... DONE
Discovering NUMAlink connectivity .........
Local hub NUMAlink is down.

Local network link down

DONE
Found 1 objects (1 hubs, 0 routers) in 5894 usec
Waiting for peers to complete discovery.... DONE
No other nodes present; becoming global master
Global master is /hw/rack/001/bay/01
Intializing any CPUless nodes.............. DONE
Checking partitioning information ......... DONE
No other nodes present; becoming partition master
Local slave entering slave loop
Loading BASEIO prom ....................... DONE

BASEIO PROM Monitor SGI Version 6.210 built 02:30:38 PM Aug 26, 2004 (BE64)
2 CPUs on 1 nodes found.
Automatic update of PROM environment disabled
Installing PROM Device drivers ............
Base I/O Ethernet set to /dev/ethernet/ef0

Walking SCSI Adapter 0, (pci id 1)
1+ Device Vendor Product: SGI ST318452LC
2- 3- 4- 5- 6- 7- 8- 9- 10- 11- 12- 13- 14- 15- = 1 device(s)


Walking SCSI Adapter 1, (pci id 1)
1- 2- 3- 4- 5- 6- 7- 8- 9- 10- 11- 12- 13- 14- 15- = 0 device(s)

Initializing PROM Device drivers .......... DONE
Checking hardware inventory ............... DONE

*** System Configuration and Diagnostics Summary ****

CONFIG:
No. of NODEs enabled = 1
No. of NODEs disabled = 0
No. of CPUs enabled = 2
No. of CPUs disabled = 0
Mem enabled = 1024 MB
Mem disabled = 0 MB
No. of RTRs enabled = 0
No. of RTRs disabled = 0

DIAG RESULTS:
ALL DIAGS PASSED.

*** End System Configuration and Diagnostics Summary ****



Starting up the system...

To perform system maintenance instead, press
IRIX Release 6.5 IP35 Version 10070055 System V - 64 Bit
Copyright 1987-2003 Silicon Graphics, Inc.
All Rights Reserved.

QLFC: running as interrupt thread.
QLFC: using spinlocks.
NOTICE: pcibr_attach: /hw/module/001c01/Ibrick/xtalk/15/pci Bus holds a usb par4
Setting hub ixtt.rrsp_ps field to 0x4e20
Selecting Default Server
The system is coming up.

とでるので、お決まりのhinv

System SGI-IP35
2 500 MHz IP35 Processors
Main memory size: 1024 Mbytes
Integral Fast Ethernet
IOC3 serial port
USB (OHCI interface)
Integral SCSI controller 0: Version Qlogic 12160
Disk drive: unit 1 on SCSI Controller 0, (dksc(0,1,0))
Integral SCSI controller 1: Version Qlogic 12160

ちなみにOSからマシン本体の電源を切ることは出来ない。
init0でファームウェアに落ちるまで。
また、GUIをつかって切ることもできない。
コマンドからのみ。
shutdown -y -g0 -i0
とうってファームウェアに落ちた後

System Maintenance Menu

1) Start System
2) Install System Software
3) Run Diagnostics
4) Recover System
5) Enter Command Monitor

の画面でCTRL-Tで
001c01-L1>power down
しよう。

1/14
12時からバイト。
昨日飲んだので体が痛い。
11時頃、Sさんから電話。
昨日のモーニングコールかける約束、おぼえていたらしい。
うれしい。
でも、今日は気分が悪いのでバイト遅れるだって。
自己管理できないなんて、社会人としてダメだ。
バイトが終わってすぐ帰る。
1/15
今日はホッケーの練習。
久しぶりだ。
コーチに頼まれていた顧客リストをプリントするために、学校に行く。
事務局に行くがカラープリンター貸して貰えず。
M先生はいない。J先生は話し中。
最後の賭けとして同じゼミのO君にプリンター貸して貰えないかメール。
「あけましておめでとう。プリンター貸して下さい。」
と送ったら
「あけましていいですよ。」
と来た。
コイツは頭が良いな。笑った。
家に行くとwiiが置いてあったので、wiiスポーツで遊ぶ。
感想は「wiiは凄い」だ。こりゃ、PS3ダメだわ。
とにかくコントローラーの使い勝手が斬新。
夢中になってしまった。
その後バイト先に遊びに行く。
Sさんが「この後暇?プレゼントに頼んだ本が届いたから、取りに来て」だって。
Sさんの仕事が終わるまで品だししながら待つ。
そして、ドキドキしながらSさんの家に行く。
家では二人っきりだ。
「カーテンをなおして」といわれたのでカーテンをなおす。
本はamazonのラッピングがしてあった。
本の背表紙に、一筆書いてもらう。
そのあと、スパムが酷いというのでサンダーバードのインストールとの設定。
上手くいかない。
「ゴメン、上手くいかない。今度で」と言って許してもらう。
かわりにyoutubeを教えてあげた。
「へぇ、凄いね」だって。
「ホッケーの練習がなかったらもっと家にいれたのに。これほど練習が憎かったことはない。」
と言うと、
「練習行きなさい!」と言われた。
「風邪引くなよ」と言って帰る。
結局1時間くらいおじゃました。
ドキドキした。
今までプレゼントしたキーホルダーやヘッドフォンを使っていてくれたので、とても嬉しかった。
ホッケーの練習はきつかった。
帰りにドンキーで飯を食って今日は終わり。