[ADP開発日誌]0.61リリース OpenBlocks600D対応+WOL(Wake On Lan)

以前に、ADPをOpenBlocks600Dに対応させた話を書きましたが、予告(?)どおりADP 0.61のリリースを行います。ブログビューワーの方は後ほどということで・・・必要な方はコメント欄にほしいとリクエストください(気持ち急ぎます)。
 
OpenBlockS600Dのバイナリ版を実行させる場合は以下のパッケージがインストールされている必要があります。
  • libboost-regex1.35.0
  • openssl
  • unixodbc

場合によっては(ソースからコンパイルされる方は)さらに以下のパッケージが必要です。
  • libboost1.35-dev
  • libssl-dev
  • unixodbc-dev
 
ちなみにWindows版のバイナリは、特に依存関係はないので、そのまま実行できます。
 
0.60でパフォーマンスを上げたのですが、バグがぼろぼろ出まして修正しました。だいぶ品質が向上したかと思います。もっとも、もっと本格的なテストプログラムを記述しないとダメだと思いますが・・・そのノウハウの蓄積は今後に期待ですね・・・。
ただ一部の修正(メモリの管理関係)でパフォーマンスが下がったのでこのあたりはまた変更する必要があります。オープンソース&マイナープロジェクトの良いところはバグを恐れずにガシガシ修正できるところですね、お金を頂戴するプロジェクトではここまで冒険はできません・・・。
 
また、今回のリリースではwol(Wake On Lan)述語(関数)も追加しています。文字通りWOLパケットを送出する述語です。
何でこんな述語を追加したのかと言いますと、前回の記事のとおり最近モバイル環境を構築したのですが、これに加えてVPNを構築すると外部からイントラ環境にログオンすることができ、そうするとリモートディスクトップで私のマシンにログオンしたくなるのですが、ログオンするためには電源が入っていなければならず、とは言っても何時ログオンするかどうか解らないマシンの電源を入れっぱなしにする訳にもいかない、という訳でWOLで電源を入れることになり述語を追加しました。
WOLを送信するマシンは、LED電球並の消費電力のOpenBlocks600Dにすればよろしいでしょう。外部からはウエブから入るようにします。つまりブログビューアと同様にADPでWEBページをホストします。
というわけで、以下、WOLのコードになります。
 
wol.awp
#!/bin/adp -
<%;
+keycode("password");	# パスワードを指定
+machines("00-11-22-33-44-55", "machine1");	# MACアドレスとマシン名(適当でよい)を指定
+machines("66-77-88-99-aa-bb", "machine2"); # 複数あるときは同じように複数行にわたって記述する
+baddr("192.168.1.255"); # ブロードキャストアドレスを指定
,query("KEY").keycode, $mac =query("MAC"), wol($mac, =baddr);
%>
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ネットワークブート</title>
</head>
<body>
ネットワークブート
<%,query("MAC",$mac),%><%=$mac%>BOOT中<%;%>
<br>
<form action="wol.awp" method="post" OnSubmit="return confirm('起動しますか?')">
キーコード:<input type="text" name="KEY" value=""><br>
起動マシン:
<select name="MAC">
	<%,machines($mac, $name) ,%>
		<option value="<%=$mac%>"><%=$name%>
	<%,next;%>
</select>
<input type="submit" value="boot">
</form>
</body>
</html>
※2012/05/21 Ver 0.81のリリースにあわせて更新
 
ファイル名はwol.awpとします。form actionの引数を変えればファイル名自体はなんでも構いません(まぁ解らないようにした方がよい)が、拡張子はawpにする必要があります。
awpとは「Adp Web Page」の略で、ADPでWEBページをホストするモード(AWPモード)の拡張子になります。
Ver0.61では、拡張子がawpまたはcgiのみAWPモードになります。
 
これをApacheでcgiスクリプトとして、ホストすればOKなのですが、その前にスクリプト使い方の説明を、
先頭の3行目から6行目が設定になります。最低限のセキュリティということで、
パスワードの指定(3行目)と起動対象のマシンのMACアドレスと名前(4,5行目)と
起動対象のマシンがあるブロードキャストアドレスを指定(6行目)になります。
 
スクリプトの動作環境の設定ですが、PerlやPHPのCGIと同様にセットアップして頂けれたよいのですが、以下、apacheでのセットアップを簡単に説明します。
adpの実行ファイルを、/bin に保存します。/binがダメな方は、上記のスクリプトの1行目でadpのパスを指定します。
apacheのconfファイルですが、DirectoryのOptionsにExecCGIを追加し、AddHandlerで .awpを追加します。
以下、サンプルを載せます。
    <Directory "/var/www/html">
        Options FollowSymLinks ExecCGi +Includes
        DirectoryIndex index.html index.php index.awp
        AddHandler  cgi-script .awp
        AddHandler  cgi-script .cgi
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

Windows+IISでも動作可能です・・・設定方法は・・・まぁがんばってみて下さい。
(ご要望がありましたら設定方法を記載します・・・)
2011-02-18 | コメント:0件



[海外旅行]台北(2) T1028

台北旅行の続きです。
MRTの忠孝新生駅にある光華数位新天地に行ってまいりました。このあたりは台北の秋葉原といいた感じでパソコンショップが軒を連ねています。
 
 
光華数位新天地は、さしずめ秋葉原のヨドバシカメラのような感じの大きなビルですが、その中に小さなショップが入っています。
あいにく時間があまり無かったのでざっと回っただけになりましたが、値段は、円高の今をもってしても、残念ながらあまり安いという印象は無かったです。2GのSO-DIMMが1500円程度とかモノによっては安いものもありますが・・・。
それでも、せっかくなので低価格のノートPCとネットブックに焦点を当てて探してみました。メーカーは、Lenovo MSI ASUS 東芝が目に付きました。また意識してみていたわけではないので、一概にはいえないのですが、mac(ipad)があまり目に付かなかったので日本ほどブームになっていないのかもしれません。売れ筋はネットブックとそれより少し上のノートブックのようでした。
ちょっと戸惑ったのが商品に値札が貼っていなくお店に人に値段を聞くスタイルのお店が割と多かったです。特にネットブックに多かったのです。
どうやらそこから値引き交渉するようですが、私は20年程前に京都に暮らしていたときは、大阪の日本橋で値引きをしたのですが、17程前に東京へ来て秋葉原で値引きをして店員さんに嫌われて以来、値札で買うという習慣がついてしまったので、久しぶりのことで戸惑いました。それと言葉の壁もあいまってあまり買い物を楽しむということはできませんでした。まぁ次回にリベンジしたいです。
 
それでも、一応台北のパソコンショップをコンプリートしたく、台北駅にあるNOVA資訊広場にも寄ってみましたところ、GIGABYTE社のT1028が2Gバイトのメモリ付きで10,500元(約3万円ちょっと)で売っていたので買ってみました。日本ではもう終息したようですがPC Hotlineによると2009年6月で約6万円で売っていたようです。巷ではiPhoneやiPadが流行っておりネットブックは流行遅れになったので値崩れを起こしたのでしょうか、1年半で半額とは価格の下落が大きいです。
以下スペックを
 
■スペック
ATOM N280 1.66GHz
メモリ 2GB
HDD 250GB
解像度 1024×600
OS Windows7 Startar(32ビット)
 
液晶部が回転するので、タブレットPCにもなる。キーピッチが少し狭い程度でタイプはしやすい。好みもあるかと思うが、ASUSとかAcerとかのネットブックと比べてもキーボードの作りは良いかと思います。
残念なのがディスプレイの解像度が1024×600と低い点で、上位モデル(T1028X)で1366×768のものもあります。こちらを使ってみたい気もしますが、最近、眼精疲労に悩まされているので、私としてはこれ以上、ドットピッチが細かくなると目に悪いので、割り切って使う分にはよいかもしれない。実際、IEを全画面表示で使うとか工夫していますが、あまり不自由は感じていないです。
 
■エクスペリエンスインデックス
プロセッサ 2.4
メモリ 4.6
グラフィックス 2.4
ゲーム用グラフィックス 3.0
プライマリハードディスク 5.7

CPUとグラフィックのスコアが悪いがモバゲーのガンダムブラウザウォーズをする分には問題ない程度です(少し遅い程度)。もちろん普通にブラウザを使っている分にもあまり困らない。

キーボードは、中国語の刻印があり、来るべき時代に対応できそうです(って中国語はまったくできないのだが・・・)。キーボードの写真を載せますがパット見た感じ日本語のような雰囲気があります。

今まで使っていたノートPCはB5といえども大きくかつバッテリーが1時間持たなかったので持ち歩いていませんでしたが、T1028はバッテリーが4時間持つので、これと光ポータブルとイーモバイルに入り、外出先から会社のメールが受信できるようになり、遅ればせながら私のモバイル環境も充実してきました。

ちなみに、GIGABYTE自体は日本にも代理店があるようですが修理となると直接台湾のサポートにアクセスしないとダメなようで、値段のことを考えてもあまり海外でパソコンを買うのはお勧めしません。今回は、まぁ私の自己満足のレポートということで・・・
2011-02-17 | コメント:0件



OpenBlockS 600

Windows7,2008R2に引き続き、これまた1年越しの作業になりましたが、我がohfuji.nameをホストするマシンをOpenBlockS 600(正確にはOpenBlockS 600D相当)に置き換えました。
 
OpenBlockS 600とは、ぷらっとホーム社さんが製造・販売しているマイクロサーバーで、こちらが製品情報になります。ちなみに2月現在キャンペーンをやっておられます。
 
OpenBlockS 600自体の解説はいろいろな場所で行われているので、そちらにおまかせしますが、特質すべきは、抜群の低消費電力で、私がエコワットで測定した結果は9Wでした。またファンレスでストレージはコンパクトフラッシュを使うので音が出なくてかつ障害に強く、商業利用はもちろん、自宅サーバーとしても重宝するかと思います。
 
OSですが、OpenBlockS 600はSSD Linuxがプリインストールされています。また600DはDebianがプリインストールされています。メモリは1GB積んでいますのでDNSサーバーやメールサーバーとしては申し分ないスペックです。
難点が、CPUにPOWER-PCを使用しているところで、私のようなプログラミングをする人間にとっては開発環境を別途用意しないといけないのと、さらにそのCPUの動作周波数が600MHzとお世辞にも速いと言えないところで、Apacheで静的なページを運用するならともかく動的なページは難があるかと思います。特に普通のサーバーでも重たいWordpressをOpenBlockS 600で運用するのは厳しいかと思います。
 
では、このブログ(Wordpressなんですが・・)はどうしているのかと言いますと、このページはADPで作成したブログビューアーで表示しています。我がADPもOpen BlockS 600Dに移植しまして、このとおり動作しておる次第です。このページを頻繁に訪問される方は気がついておられたかと思いますが、最近Wordpressが重くなっていたので、どげんかせんといかんと思っておったところです。このような厳しい条件を克服するのはソフトウェアエンジニアとしてロマンを感じたりします。
しばらく運用してみてOKであれば、OpenBlockS 600D版のADPと共にブログビューアー(Adp WorPdress bLOG viewer - AWPLOG)のソースを公開しようかと思っております。

2011/06/23 追記:節電の為、自宅サーバー類は仮想マシンとして別のサーバーに集約しましたので、現在このサーバーはOpenBlocks 600D上では動作していません。
2011-02-07 | コメント:0件



ITエンジニアにとっての円高のメリット

最近円高のニュースが続きますが、まぁ日本経済にとっては円高はよろしくないかと思いますが、あまり悪いことを考えてもなんなので、ITエンジニアにとっての円高のメリットを紹介します。
 
現在のPC関連のパーツですが、基本輸入品になりますので、円高のメリットを受けられます。
ちなみに、某価格比較サイトによりますと、1枚4GBのDDR3のDIMMが6千円を割り込むぐらいの値段になっていますし、6コアのCore i7 - 980Xが8万円台で買えます。これを軸にシステムを組みますと、
 
CPU:6コア、論理12スレッド(Core i7 - 980X)
メモリ:総合計 24GB(DDR3 4GB × 6 )
 
ちょっと前のサーバーなんか目じゃない、なんていう夢のマシンが20万円までで組めるのですごい時代になったもんだと感心します。
私もどうしようかと悩んでいるところです。もっとも今はメモリ24GBを使って何をしようかと思案中なのですが・・・。
2010-11-04 | コメント:0件



半導体微細化の物理的限界を読んで

9月に入りブログの更新がWeeklyになってしまいましたが、微妙なプレシャーを感じながら、ぼちぼち更新しますです。
 
サーバーのセットアップがてらブログネタを探していたら以下の記事が目にとまった。
 
半導体微細化の物理的限界  
現在の半導体のチャネル長(トランジスタの大きさ)は、Intelの最新鋭のCPUで32nmとか45nmとかになっていますが、2022年には4.5nmになっているとの予想があるらしい。
 
ちなみに、10年前は180nm(PentiumIIIの頃)で10年かけて概ね1/4から1/5になった計算になるので、2022年に4.5nmはちょっと行きすぎなような気もしないことはないですが、4.5nmで作られたCPUを想像しますと、クロックスピードは恐らく20GHzを超えているかと思いますし、コア数も128とかになっているのではないでしょうか?まぁCPUオタクとしてはそんなCPUの登場は楽しみです。
 
記事にも書いてありますが、微細化といっても単に小さくすれば良いのではなく、色々な問題が出て来て、その都度ブレークスルーがあったらしいですが、それでも微細化の苦労が我々の耳にも届くことがあり、最近ではリーク電流の増大が記憶に新しいかと思います。
今から6年程前に、プロセスルールが90nmで登場した、Pentium4(Prescott)でしたが発熱が半端でなく、インテルは高クロック路線から転換しました。
以下、は『後藤弘茂のWeekly海外ニュース』の2003年2月27日の記事ですがその時は、2010年にはCPUのクロックは15~20GHzになるとのintel社の方の見通しでした。
 
Prescott/Tejasは5GHz台、65nmのNehalemは10GHz以上に  
ちなみに、同時期(と言っても2003年7月4日)の記事でメモリのクロックを2010年では1.6GHzが最高としていますが、こちらはほぼその通りになっているところが面白いです。
 
高速化するDRAM、次々世代のDDR3は最高1.6GHzへ
2010-09-16 | コメント:0件
Previous Page | Next Page