さくらのVPSを契約して、FreeNXをインストールしました。
CentOS 5.5 で GNOME ですが、なかなか快適です。
システムに 3.3GB ぐらい使って、残りは 13GB 程度。Webシステムの開発には余裕です。
クラウド・デスクトップという感じです。
FreeNX + NX Client があまりにも快適なので、もう VNC には戻れませんね。
さくらのVPSを契約して、FreeNXをインストールしました。
CentOS 5.5 で GNOME ですが、なかなか快適です。
システムに 3.3GB ぐらい使って、残りは 13GB 程度。Webシステムの開発には余裕です。
クラウド・デスクトップという感じです。
FreeNX + NX Client があまりにも快適なので、もう VNC には戻れませんね。
嫁さん用に組んだATOM230のベアボーンの調子が悪い。
Windows 7 Home Premiun がフリーズする。
フリーズするのはフォルダ操作やドライブに関連する操作を行った場合が多い。
さすがに様子を見る段階ではないと判断して対策を行った。
ベアボーンキットは Jetway JBC200C91-230B。
まず、BIOSがOSを起動するまでに1分以上かかっている。しかもDVDからのBOOTが出来ない。
とりあえず、DVD->SATA 1st、HDD->SATA 2nd となっていたので、HDD->1st、DVD->2nd に変更したところ、正常に動作した。
しかし、ベアボーンキットに含まれていたSlimline SATAケーブルのDVDへの挿し込みがグラグラしている。多分これが原因だ。
さらにケーブルが余ってケース中をのたうちまわっている。
後日、パソコン工房米子店でSATA関連のケーブルを購入して交換した。
ainex SATR-3102BK
ainex WA001SA
ainex SLS-3002SA
結果にはかなり満足している。ケース内を見るたびにイライラしていたが、すっとした。
2万円以下のベアボーンに3千円の追加投資はどうかとも思ったが、ブラウザー・メーラー・Skypeぐらいが主な利用目的で、まだまだ現役で使えるため、ちゃんと対策をしておいた。
将来は開発用のサーバなどにも転用できるし。
関数を定義。
function fit_font_size( $width, $str, $max_font_size = 16 ) { return min( $max_font_size, $width / mb_strlen( $str ) * 72 / 25.4 ) ; }
$width は表示領域の幅で単位は mm。
$str は表示する文字列。
$max_font_size は最大フォントサイズで単位はポイント。
式中の 72 は 1インチあたりのポイント数。
式中の 25.4 は 1インチのmm。
1文字あたりの幅(mm)を計算してポイントへ変換。
その後最大フォントサイズに丸める。
以下のクエリで一覧を表示したかったのですが、かなり時間がかかっていました。
select * from "test_order" where ("order" is null) and ("cart" in (select "cart" from "test_order_item")) order by "cart" desc ;
総実行時間: 37,102.619 ミリ秒
とても実用ではありません。
古い PostgreSQL は IN句が極端に遅かったので、以下のように変更してみました。
select * from "test_order" where ("order" is null) and (exists(select "cart" from "test_order_item" where "test_order_item"."cart" = "test_order"."cart")) order by "cart" desc ;
総実行時間: 47,345.715 ミリ秒
さらに悪化しました。
WHERE 条件から JOIN に変更してみました。
select "test_order".* from "test_order" join (select "cart" from "test_order_item" group by "cart") as "test_order_item" on ("test_order_item"."cart" = "test_order"."cart") where ("test_order"."order" is null) order by "test_order"."cart" desc ;
総実行時間: 15,586.267 ミリ秒
劇的な改良となりました。
ちなみに GROUP -> DISTINCT とした場合。
select "test_order".* from "test_order" join (select distinct "cart" from "test_order_item") as "test_order_item" on ("test_order_item"."cart" = "test_order"."cart") where ("test_order"."order" is null) order by "test_order"."cart" desc ;
総実行時間: 28,382.042 ミリ秒
改悪です。
IN 句よりもサブクエリで GROUP して JOIN の方が良い場合もあるようですね。
どうしても以前に編集出来ていたPHPのスクリプトが開けなくなってしまって、Eclipseをダウングレードしてみた。
3.6 Herios → 3.5-SR2 Ganimede
問題なくなった。しかし、対策に使った時間は帰ってこない…
大晦日から元旦にかけての大雪が、まだ溶けきっていないのに、また大雪です。
我が家のあるアパートの隣は、一軒家で空き家なんですが、誰も雪を掻いていないためにスッポリと雪に覆われています。
どうか、この状態の米子市で、火事や地震が起きませんように。
そんな事になったら、まさに地獄ですね。
自分が市長や市議会議員や市の職員なら、安心して眠れませんね。
なんせ、家族の安全を確保するだけでも大変ですから。
今朝は、4キロ先の保育園まで、子供と嫁さんと歩く予定です。
でも、歩道が歩けないんですよね。
車を通行止めにしてでも、歩行者の安全は確保して欲しいものですね。
なんか、文字にするとすごく当たり前の事を言っているように感じますが、車優先で雪かきをして歩道は雪に埋まっているのが当たり前になってしまっています。
こんな状況では、効率より安全を優先して欲しいものです。
Sun の Java の方が良いと思っていたのですが、OpenJDK を使ってみたら Eclipse が軽快に起動しました。
どうも OpenJDK 6 は、開発中の JDK 7 を元に開発されているようです。
RHEL と Fedora の関係のように、オープンソースのほうが進んでいるケースの一つですね。
あきらは日常は Windows 7 を使っています。
現状では DVD や YouTube など、メディアの再生についてはやはり Windows が良いです。
また、慣れれば Windows 7 の Aero は使いやすいですね。
開発マシンは VMware Player で、仮想マシンの Ubuntu 10.10 を起動しています。
まるごとバックアップができるのも利点です。
当然、仕事の書類(主にメールの添付ファイル)は Windows 7 で管理しているディレクトリに保存しています。
しかし、Ubuntu から Windows 7 のフォルダに SAMBA でアクセスできませんでした。
VMware の共有フォルダを使おうかと思いましたが、将来開発用のマシンを常時起動させておくつもりのため、VMware 限定の方法は使いたくありません。
あんまりにも不便なので調査しました。
Windows 7 と双方向のファイル共有をしたい
DC-MCNP1 Windows7共有にアクセス不可
「解決できたからいいや」じゃなくて、こうして経過を残して頂くとありがたいですね。
レジストリの更新ファイルを作成しましたので、自己責任で使ってください。
win7_samba.reg
Windows 7 側で上記ファイルを実行して再起動します。
いやぁ、快適になりました。
開発環境の Ubuntu 10.10 を立ち上げるのが面倒なので、直接 Windows 7 上に JDK + Android SDK + Eclipse + ADP な環境を作成しました。
が…
Androidエミュレータを立ち上げるだけで数分必要で、何とかならんものかと困っていました。
試しに同じ環境を Ubuntu 10.10 で準備したところ、Androidエミュレータは10秒以内で立ち上がるし、パフォーマンスも良く、なんの問題もありませんでした。
※ 2011/01/13 「10秒以内で立ち上がる」→「1分以内で立ち上がる」に修正します。
最初からこうすれば良かった。
ちなみに、我が家の嫁さんは将来への投資には積極的なので、こういう新技術へのチャレンジは応援してくれます。
あきらはアンドロイド開発者として登録を済ませました。