follow me

LinuxWORLD休刊でIT系雑誌は皆無な状態?

OSM、JavaWORLD、LinuxJapan、UNIX Magazine、BSD Magazine、 FreeBSD Pressいろいろ無くなったな~。
あと残ってる雑誌ってトラ技とかインターフェイスとかぐらいか。。。
結局、ネットで調べた方が早いし、雑誌の必要性って低くなってしまってるんですかね~?
Linux始めた当初は、お世話になってた雑誌なだけに、残って欲しかったのですが。

でLinuxWORLDに、創刊当初のLinuxと現在での比較なんてやってましたが。
昔は「Linuxは導入でコケルなんて云われていた。」と。
うんうん、ハード構成調べてIRQやら調べてからLinux入れて、kernel panic起きたりもして、うわーって事もあったな~。
kernelビルドしてみたら、機能絞ったはずなのに3時間も延々と待ってみたり。

で、最近のディストリビューションは、何も気にする事無くなったな~。
自分は楽になったな~と感じている訳ですが。
同時に、ソース読むどころかkernelビルドした事もないLinux技術者が登場しだしているのは、何でしょうね~。
Apacheとか扱えても、Linux扱えてるとは云えないと思うのですが。。。
Linuxが楽になればなるほど、何も出来ないエセLinux技術者が増えてる気がするのですが。。。

ちなみに、LinuxWORLD2007開催されますよね。
また会社休んで行くつもりなのですが。。。
follow me

z/390 Emulator Hercules

z/390 EmulatorであるHerculesで汎用機生活
。 とりあえず、最新のSnapshotを取得しビルド。
# ./configure --prefix=/usr/local
# make
# make isntall
いたって普通。んで、hercules.cnfを/usr/local/etcへコピーして、起動。
# hercules -f /usr/local/etc/hercules.cnf
毎回、設定ファイルを指定しなくてはならない。
めんどくさいので、シェルにalias登録。
# alias hercules='hercules -f /usr/local/etc/hercules.cnf'
で、こんな画面が起動。
Hercules Version 3.04.1
(c)Copyright 1999-2006 by Roger Bowler, Jan Jaeger, and others
Built on Nov 28 2006 at 20:28:52
Build information:
  Modes: S/370 ESA/390 z/Arch
  Max CPU Engines: 8
  Using setresuid() for setting privileges
  With Dynamic loading support
  Loadable module default base directory is /usr/local/lib/hercules
  Using shared libraries
  No external GUI support
  HTTP Server support
  No ZLIB support
  National Language Support
  Machine dependent assists: cmpxchg1 cmpxchg4 cmpxchg8 cmpxchg16 fetch_dw store_dw
Running on vmsl Linux-2.4.33.3.#1 Fri Sep 1 01:48: i686 UP
Crypto module loaded (c) Copyright Bernard van der Helm, 2003-2005
HHCCF065I Hercules: tid=00004000, pid=22719, pgid=22719, priority=0
HHCRD010E Unable to access file "./util/zzsacard.bin": No such file or directory
HHCCF044E Initialization failed for device 000C
HHCCF069I Run-options enabled for this run:
          NUMCPU:           1
          ASN-and-LX-reuse: DISabled
          DIAG8CMD:         DISabled
HHCTE001I Console connection thread started: tid=00008003, pid=22722
HHCTE003I Waiting for console connection on port 3270
HHCCP002I CPU0000 thread started: tid=0000C004, pid=22723, priority=15
HHCTT002I Timer thread started: tid=00010005, pid=22724, priority=-20
HHCCP003I CPU0000 architecture mode ESA/390
HHCHT001I HTTP listener thread started: tid=00018007, pid=22726
HHCHT013I Using HTTPROOT directory "/usr/local/share/hercules/"
HHCHT006I Waiting for HTTP requests on port 8081
HHCPN001I Control panel thread started: tid=00004000, pid=22719


Command ==>
CPU0000 PSW=00000000 00000000 M.......                                    instcount=0
メディアの扱いやらは、どぅするんだろう。
follow me

IBM 3270 Terminal Emulator

使いやすいIBM 3270 Terminal Emulatorがない。
SSHやTelnetであればTeraTermが使いやすい。
しかし、3270となるとコレといったものが見つからない。

とりあえず、Linux環境では、x3270を使ってみる。
UNIX系で使うには、こういったシンプルな物が好きだ。
Windowsではどうするか?Cygwinは嫌いだし。SFU使うべきなのか?
だれか、TeraTerm風に移植しないかね~
follow me

VMwareでもCPUリソース制限

VMwareServerとMicrosoftのVirtualServerを比べてみると、VirtualServerで設定できるCPU使用率の制限設定がVMwareで出来ないのは気に入らなかったわけで。
探してみた。

見つかったのがCPU limit

これは良さそうだと思い試してみた。意外と普通に抑えられてる。
満足。
で、ソフトのビルドなんかもVMに影響しないようにしようと思い。cpulimit make 30なんてしてみたが。。。
CPU使用率100%状態。。。
cc1がCPU使用率99%。。。。。。。。
makeから呼び出されたプロセスまでは面倒見てくれないのね。。。。。
とりあえずVMの様に単一プロセスなら問題ないので、VMだけで使用しておきます。

暇な時にでもソース読んで、makeとかでバシバシ別プロセス呼んでもCPU制限出来るように修正しましょう。
follow me

NotifyChangeEventLog()にやられた

WindowsのEventLogを扱うためのAPIで、新しいEventLogの発生の検出を行う物があるのですが、この変な仕様(WMIの仕様?)なんとかなりません?

NotifyChangeEventLog()って名前のAPIなのですが。
内容は、hEventLogで指定されたイベントログにイベントが書き込まれたらhEventで指定されたイベントオブジェクトをシグナル状態にする。
となっているのですが、5秒以内に複数のEventLogが発生した際に取りこぼしが発生する可能性があります。
実際に試した所、確かに取りこぼしが発生しました。
それもかなりの高確率で。。。
Microsoftのページでも、取りこぼしの可能性があるってなってました。。。
とりあえずは、2003SP1では修正されているそうですが。

詳細は、Microsoftのページに記載されています。
follow me

タスクトレイ格納型プログラム

タスクトレイに格納されたプログラムの作成。
久々にプログラム作ろうと思ってみて、せっかくなのでタスクトレイ格納型にしたいと思ったので、やり方を調べてみたメモ。
内容は、Shell_NotifyIcon()使えばイイだけ。これを使ってトレイ内のアイコンを変えてみたり~。
とりあえず、プログラム初期化部分に以下のコードを埋め込み完了。
nidNoftyIconData.cbSize  = sizeof(NOTIFYICONDATA);
nidNoftyIconData.hWnd    = hwnd;
nidNoftyIconData.uID     = 1;
nidNoftyIconData.uFlags  = NIF_ICON | NIF_TIP | NIF_MESSAGE;
nidNoftyIconData.uCallbackMessage = WM_USER + 1;
nidNoftyIconData.hIcon   = LoadIcon(hCurInst, MAKEINTRESOURCE(IDI_ICON));
strcpy(nidNoftyIconData.szTip, APP_DESCRIPTION);

Shell_NotifyIcon( NIM_ADD, &nidNoftyIconData );

あと、ウィンドウが無いので、プログラムを終了するために、ポップアップメニューを追加しないと。。。プログラムが終了できない。。。
ちなみにメニュー箇所は、こんな感じにしてみた。
  case (WM_USER + 1):  //アイコンからのメッセージ処理
    if( lParam == WM_RBUTTONDOWN ){
      // マウス右押し
      GetCursorPos( &pt );
      hMenuPop = CreatePopupMenu();
      AppendMenu( hMenuPop, MF_BYCOMMAND | MF_STRING, IDR_EXIT, TEXT("Exit(&X)") );
      SetForegroundWindow( hwnd );
      TrackPopupMenu( hMenuPop, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwnd, NULL );
      if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) {
        TranslateMessage( &msg );
        DispatchMessage( &msg );
      }
      DestroyMenu( hMenuPop );
    }

とりあえず、ポップアップメニューまで追加したタスクトレイ格納型の雛形。
プログラムはVC++6.0で作成。
TaskTray.zip
follow me

Fedora6でVMwareServerを動かす

導入環境はFedora6 on Athlon64

VMware-Serverをインストールする前にまず、yum install kernel-develを実行。
そのあと、VMwareのrpmパッケージを導入。
/usr/bin/vmware-config.plを実行するがエラーで終了。

内容は、linux/config.hが見つからないとの事なので、空ファイルを作成するだけで問題ないです。
ここではモジュールを作成するだけなので、ファイルの内容は意味を持ちません。

で進んで行くと、シリアルを入力してもはじかれる。
エラーメッセージがちろっと表示されている。 libXt.so.6が無いようです。これは、32bitのライブラリが無いための様です。
libXtst.so.6があるはずなので、シンボリックリンクを作成し回避します。
ちなみに、もちろん64bitのlibXt.so.6では動かない。

とりあえず、導入は以上。
あと、xinetd入れとかないといけない。

ちなみにXenのカーネルでやってたら、VM起動時にタスクスイッチ箇所でやられちった。
follow me

Windowsでもループバックインターフェース

WindowsWindowsにも、UNIX系OSの様にループバックインターフェースがありました。
ハードウェアの追加で、Microsoftの「Microsoft Loopback Adapter」を追加する事で作成出来ます。
これで、NICが追加されます。
IPは、127.0.0.1が割り当てられる訳ではなく、自分でIPを振らなくてはいけません。。。

使い道は。。。わからないです。。。

follow me

Quaggaってかわいい。

Linux - SlackwareQuaggaとは
クアッガ Equus quagga quagga は、ウマ目(奇蹄目)・ウマ科・ウマ属に分類されるシマウマの一種で、南アフリカ共和国の草原地帯に生息していたが、すでに絶滅した。クアッハとも表記される。
ちと、かわいいな。

Quaggaとは
RIPv1、RIPv2、RIPng、OSPF、OSPF6、BGP4+、BGP4-といったルーティング関連のプロトコルをサポートしたプログラムです。

特に導入は、問題ないので省略。

操作はCisco風・・・、なぜに?
root@sempron:/# telnet localhost 2602
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Hello, this is Quagga (version 0.99.5).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

User Access Verification

Password: 
ripd> ena
ripd# config t
ripd(config)# show run

Current configuration:
!
hostname ripd
password zebra
log stdout
!
router rip
!
line vty
!
end
ripd(config)# exit
ripd# exit
Connection closed by foreign host.

で、Slackware 11.0用に作成したパッケージ。
quagga-0.99.5-i486-srchack.org.tgz
follow me

OSC2006 Tokyo/Fall行って来ました

会社休んで、OSC2006 Tokyo/Fall行って来ました。
今回も、やっぱり仮想化流行ってんのねと認識させられました。
Virtual Ironも見れたし、Plan 9ごりごりビルドやってるのも見れたし、SE Linuxの組み込みへの実装やらJFFS2やらblanco Frameworkやら話も聞けたし、あともろもろいっぱい、楽しめました。
オープンソースってやっぱりいいな~。
今回も自分が何も出来ない事が見えて凹みつつ、いろんな意味でやる気が出てきました。
まだ、OSCに行った事が無い方は、一度行ってみてはいかがですか。

あと、オライリー1割引は、貧乏技術者の私には天の恵みの様なモノで、またガッツリ購入。
ちなみに今回は、メモ帳とコーヒーマグカップが付いてきました。
紙袋がビニールになったのは少し残念。会場では邪魔にならなくてイイのですが。あの紙袋好きだったのに。。。

会社の方ご迷惑をお掛けし申し訳ありませんでした。
ってこのページ見に来ないか。。。