Movable Typeは設定がいい加減でも動いてくれるので注意

先日いいめものWEBサーバの移転をしたのですが、昨日になって記事が書けないことに気がつきました。
調べてみると、新旧サーバでファイルパスが違うのに、単純にファイルコピーだけして動いたからOK、てな対応をしていたためと判明。mt-config.cgiの設定を直して、「設定-ブログの設定-公開」からサイトパスを直せばちゃんと動くようになりました。

Movable Typeは静的なファイルを持っている(再構築した時に生成されるアレです)ので、データベースにアクセスできない状態でも、エンドユーザーさんはサイトを正常に見ることが出来るのです。
動的生成に設定を変更していたり、WordPressを使っていれば、DBにアクセスできなかったらページが生成できなくなるから、すぐにおかしいと気づくことが出来たのですけど。

教えてくれよ、と思わなくもないですが、エンドユーザーさんに迷惑をかけることなく動いていたのは見事といえば見事で。静的ファイルも悪くないなぁ、と思いました。

サービス丸ごと預けるのが怖い?

先日webtekoでAmazonEC2についてお話ししてきました。
webteko6:実践AmazonS3&EC2

そのときに、

  • 「これって信用できるの?落ちたりしないの?」
  • 「SLAもあるし、実際問題落ちていません。」
  • 「でもなぁ。サービス丸ごとAmazonに預けることになっちゃうんでしょ。落ちたり、流出したりしない?」
  • 「自社サービスならともかく、お客様のデータを置くのは怖いなぁ。」

というような話がありました。そのときは「まあそうだよねぇ」ってうなずいていたのですけど。

今日偶然、こんな広告を見つけました。
所有から利用へシフト、技術者の運用負荷とコスト削減を両立させるさくらインターネットの専用ホスティングサービス

「所有から利用へシフト」というと、それはまさにAmazonEC2のキーワードです。
よく考えてみたら、さくらインターネットさんのレンタルサーバだって、データを丸ごと預けてますよね?ここから流出する可能性だって、絶対にないとは言えない。
なのになぜか、さくらインターネットのサーバを借りてそこにお客さんのWEBサイトをのせているWEB制作会社ってたくさんありますよね。

さくらインターネットさんには大変お世話になっておりますし、なんのウラミもないのですけど、さくらならよくてAmazonだと駄目というのは筋が通らんよなぁ、と思いました。

CentOS4でiptablesをリスタートしたらsshが切られる

iptablesをリスタートしたらsshが切られる現象が起きまして。
最初は、テーブルの書き換え方がまずいのかな、と思ってはてなで聞いてみたりしていたのですが。

調べた末に、iptablesを終了した際にKernelPanic起こしていたことが分りました。

解決策については、おれ最前線ねっと – Kernel panicで書いていただいているとおり、Kernelを新しくするか、古くすればOKです。

問題なのは、このサーバは遠隔地にあるということで。
カーネルをアップデートしたら再起動しないといけないですけど、普通にやると終了時にKernelPanicを起こして、二度と上がってきません。

メールとか電話で再起動を依頼できるのですけど、必要以上に頼みたくないですし。

そんなわけで、Bug 456664の状況下で、KernelPanicせずにリブートを成功させる方法を見つけたのでメモです。

  • とりあえず普通にKernelをアップデート(または、grub.confを修正する)
  • /etc/sysconfig/iptables-configを開いて、IPTABLES_MODULES_UNLOAD を”no”にする

これで、iptablesの終了時にモジュールのアンロードをしなくなるので、KernelPanicせずにリブートさせることが出来ます。とりあえずこれで一回リブートしてkernelが変われば、あとは設定を元に戻してもiptablesをrestartさせることが出来るようになります。やれやれ。

#今回の調査のために10回くらい依頼したから、今さら一回くらい一緒なんですけどね。

Expression WebをつかってWindows上でPHP開発

 前回紹介したExpression Web2に、PHPを扱う機能がついているそうなので、これもついでにやってみました。

結論から言うと、ApacheとかIISをインストールすることなしに、Windows上でPHPをデバッグ/実行する環境が作れるので、WindowsでPHP使う人は多少便利かも。

Expression Webのインストール

試用版をインストール。




途中、製品キーを要求されるので、「オンラインで製品キーを入手するにはここをクリックします」をクリックしてWebサイトへ。
メールアドレスも名前も不要で、CAPTCHA文字列だけ入れたら製品キーをもらうことが出来ます。



もらった製品キーを入力してインストールを続行。

バックグラウンドでダウンロードしながらインストールするので、ちょっと時間がかかります。


これでExpressionWebのインストールは完了です。

PHPのインストール

 日本PHPユーザー会のサイトからリンクをたどって、Windows版PHPをインストールします。

そのときに、php-cgi.exeをインストールしてもらう必要があるので、


cgiサーバを聞かれた時に、「Other CGI」を選ぶのがいいみたいです。

Expression Webの設定




 ここに、php-cgi.exeのパスを入力。普通に入れたら、「C:\Program Files\PHP\php-cgi.exe」になるかと思います。

作成

「新規作成→PHP」でphpファイルを作成します。

開いたファイルはデザインをいじるためのビューになっているので、コードビューに切り替えて、

なんか適当にPHPのコードを入力。ちなみにctrl+spaceでコード補完が利きます。

入力できたら、おもむろにF12をポチッとなすると…

PHPのコードが実行されて表示されます。
前回書いたとおり、IE以外のブラウザも起動することが可能です。



「Microsoft Expression 開発サーバー」という独自WEBサーバを持っているらしくて、これがphp-cgi.exeを呼び出して実行結果をブラウザに引き渡しているみたい。
この方式だと、ポート番号が毎回異なるので、このままインターネットに公開することは困難ですが、その代わり、外部から攻撃することも難しいので、VertrigoServとか、XAMPPより安全ですね。

そのほかやってみて思ったこと

[Think IT] 第2回:Expression Studioは開発に使えるのか? (3/3)
をみると、文字コードShift-JISで保存してしまうので使い物にならない、といわれていますが、ExpressionWeb2では、utf-8で保存してくれるし、変更も可能です。たぶんこれ、ExpressionWeb1の情報ですね。

ブレークポイントを貼ったり、変数ウォッチしたり出来るわけじゃないので、VisualStudioみたいな環境を期待していると物足りないかもしれません。どっちかというと、デザイナさんがちょっとページに埋め込んだPHPをデバッグしたり、HTML部分との調和を確認するための機能なのかもしれませんね。

[css]idとclassの覚え方

CSSを書いていると、「id要素の頭はシャープだっけドットだっけ」というのが思い出せなくてときどき検索する羽目に陥ります。
不必要に物事暗記しない主義なのですが、さすがにこれは効率が悪い。

  • idは、ユニークさを表すidだから、順番を表す#がつく。
  • classは、プログラミング言語のclassと一緒だから、this.getValueみたいにドットがつく。

これで覚えられるかな?なんか他にいい方法があったら教えてください。

[news]ケータイが執事になる、ドコモの新サービス「iコンシェル」が発表

うわぁ。携帯キャリアとまさかの正面衝突。

iコンシェルでは、羊のキャラクター「ひつじのしつじくん」が待受画面に現れ、プッシュで送られる情報が画面に表示されるので、それにアクセスすることで詳細情報が得られる仕組み。
ケータイが執事になる、ドコモの新サービス「iコンシェル」が発表 | 携帯 | マイコミジャーナル

ヒツジの執事は….
夢夢色TOWN | ひつじ執事さん
←ボクが先月お願いして描いていただいていたイラストです。
電話番号入れたら住所引っ張ってくる機能とか、ボクが思っていたものそのまま…orz

先を越されたのは悔しいです。でも、つまり自分の見ていた方向性は間違っていなかったと言うことだし。もし自分が作っていたら、アドレス帳に勝手に情報追加とかはとても出来なかったはずなので、キャリアさんがやるというのであれば、楽しみに見ていようと思います。

16歳と会ってきた

 ちょっと記事を書くのが遅くなってしまいましたが、最近話題の16歳、16歳フリーランス活動日誌の櫻井さんにお会いしてきました。



ブログにコメント付けたら「会う?」という話になったので、ちょうど用事で東京に出たついででお会いして、あれこれ聞いてきた次第。



 唐突ですが、自分の知っている限り、ネットサービスを作って食べていくことに成功しているのはゴーゴーラボの中の人だけのはずで。 ITMediaに取り上げられるくらいのネットサービスでも、売り上げはたいしたことないからあくまで副業です、とか、独立に成功しても、独自のサービスは広告塔で、実際は受託で食べています、という人が大半のような気がします。実際自分も、まだこの領域です。そんな中、突然現れた16歳、自分でプログラム書けません、という人がどうやってフリーランスで食べているのか、とても興味があります。



もぎゃ「で、どうやって食べていってるの?」

櫻井さん「WEBサービスからの収益で。」

もぎゃ「(ごくりっ!)ど、どんなサービスで?」

櫻井さん「内緒です」



ガーン。かなり執拗に迫ったのですが(ぉぃ)、教えていただけませんでした。差し支えのない範囲で聞いたところだと、


  • 10万円よりは多い金額の収入を得ています。
  • 変な情報商材の販売とか、クレジットカード比較サイトではないです。
  • 別にすごいことをしているわけではなくて、実際、studio15の人だってWEBの収益で食べていっています。
  • 開発は、その手の会社にお願いしました。いい会社を知っていた訳じゃないので、60社くらいメールして、安かったところにお願いしました。

とのこと。studio15の人のサイトを見せていただくと、ウェブ収入を得る方法 – 15Pubという記事がありますね。



ところで、そもそもどうやってそこへたどり着いたの?何をどうやったら、16歳でそういう状態になったのよ?


  • 中学2年生くらいから作り始めて、中学3年生くらいのときには、一応WEBからの収益で食べていけるようになっていました。
  • 最初は、ゲームの攻略サイトを作っていました。これって結構人が集まるので、広告収益も入りますよ。
  • ドラクエの攻略サイトなんかは、50万ヒット/月くらいになるので、作っている人はそれなりの売り上げがあるはず。



聞いていると、何だかすっごい普通のことをしているように思えてきました。実際櫻井さんは、「なんでそんなことを聞くの?」という顔で。

可能性としては、実は櫻井さんはすっごい詐欺師で、全然稼げていないのに涼しい顔をして話をしている!というのもなくはないのですが、仮にこの話を聞いて僕がサイトを作り始めても櫻井さんは一円も得をしないので、たぶんそれはないな、と。実際お話をさせていただいても、そんなタイプには見えなかったし。



ということは、すでに世の中、ふつうにヒットするサイトを作れば数万円程度の収入は得られる時代になっているということでしょうか。理屈言っているより一つ作ってみるのが早いかもしれないですね。

チューチューマウスを使ってみる

Let’s Noteに20インチのディスプレイを外付けして、デュアルディスプレイ状態で使っています。世間のプログラマさんに比べたらまだ少ない方ですが、一度に投資しすぎるのもアレなので、様子を見ながら。
で、ディスプレイが広いと、よくマウスが行方不明になります。物理的なマウスではなくて、画面上でマウスカーソルがどこにいるのかがわからなくなります。
cursor.gif
見つけやすいように、「ctrlキーを押すとポインタの位置を表示する」という機能を使っているのですが、まだ面倒。だいたい、見つからないのもさることながら、そもそもマウスを移動させるのが面倒です。


で、引っ張り出してきたのがチューチューマウス。どんだけなつかしいねん。
最近パソコンを始めた皆様のために説明すると、チューチューマウスというのは、インターネットもまだ普及しない1993年に登場したソフトウェアで、マウスカーソルがネズミに変身して、適切な位置に勝手に走っていってくれるようになるソフトウェアです。
登場した当初は「かわいい」と大人気で、学生時代の自分も使っていたのですが、余計なソフトがあるとパソコンの動作が重いし、別にいらなくね?ということで使わなくなって10年。まさか再び使う日がこようとは。
つかってみると、やはりいい感じです。アクティブなウィンドウに飛ぶだけでなく、alt+Shiftで任意の場所にカーソルを移動させる機能がいい感じ。自分でマウスカーソルを移動させなくても、キーを押すだけで走ってきてくれるので、見失っても簡単に呼び戻すことができるようになりました。
理屈上は学生時代にかったライセンスが今でも有効なはずですが、さすがにパスワードとか残っていないので、試用してうまくいきそうだったらもう一回購入しようかな、と思っています。

組み込みエンジニアが大企業指向になる理由

そりゃあ少ないですよ。

和尚だって製造業にいたのだから、「和尚に説法」になってしまうかもしれないですが、
#お、うまいこと言った!
いちおう元組み込みエンジニアとして、状況を説明させていただくと。
なんでもGPLで公開されているWEB系のシステムと異なり、組み込みソフトウェアのコンパイラやハードウェアの詳細は、いまだにNDAを結ばないと公開してくれない企業がたくさんあります。
あるいは、べつにNDAを結ぶ必要はないのだけれど、WEBに公開したって何もいいことがないから取引先だけに見せます、という企業もたくさん。
でもって、そういう会社さん、小規模な取引にはとても冷淡です。自社を名乗っている間は相手もしてくれなかったくせに、お客さんの会社の名前出したらいきなり営業さんがデモに来た、なんてこともありました。
そんな業界ですから、ベンチャー企業にはとっても不利です。名乗ってもわかってもらえないような会社だと、

「御社のコンパイラを使いたいんです」
「ほう。それで御社の製品は何本くらい出荷される予定なのでしょうか」
えーと、10本くらい?
ガチャン

てなことになって、そもそもドキュメントすら見せてもらえないという事態が普通に起こりえます。
そういう会社がどうするかというと、つまり大きな会社さんが製造したハードウェアに、大きな会社さんが買ってきたコンパイラを使ってソースコードを書いて、大きな会社さんの製品を作っている、つまり人貸しやさんをやるしかなくなってしまうわけです。
和尚はなにやらそうではない仕事を考えておられるみたいなので、とても期待しております。
大企業の下請けをやるのではなくて、俺はこんな製品が作りたいんだ、そのために君にこんなこととこんなことをしてほしいんだ!とちょっと熱く語ってみたら、あるいは心動かされるエンジニアがいるかもしれないですよ。

マンション理事会のイントラネット

 あんまりまじめな話は書かないようにしていたのですが。気になる話題だったので、たまには釣られて見ます。

404 Blog Not Found:マンション第二期通常総会終了

その過程で、Webによるディスクロージャーも当然論議に上がった。
当マンションは全住戸ブロードバンド接続されていて、しかも単一のプロバイダーであるためすでにイントラネットがそこにある。
これを活用しない手はないし、実際以前住んでいたマンションでは
私がその担当理事だったのだが、理事長となってはそこまで手を回す余裕はなかった。
しかし、今のところ適当な既存サービスがないのもまた事実だ。

うちのマンションでは、
マンションライフネットワークというのを試用中です。Wikiとかblogの代わりにはなりませんが、マンション全体で月額数千円はかなりリーズナブルだと思います。

システムの構築であれば、こういうサービスもありますし、委員会制という案もあります。イントラネットを構築しようといって賛同が得られるというこ
とは、マンション内にIT関係の知識のある方が一定数おられるということですから、理事会の下にIT委員会を作ってこういう人を集めれば、必ずしも弾さん
一人でがんばらなくても、ある程度手分けすることはできるようになるかと思います。

ただ、理事会のイントラネット化には、そういうシステムとは別の問題が大きいです。つまりリテラシーの面で。

自分の経験から言うと、理事が20人いたら、

  • 半数はいやいや理事になった人なので、まず理事会に出席してくれません(笑)
    • 最低限このうち数人を理事会に引っ張り出さないと、理事会が成立しないので、この人たちについては、資質を問うことは非常に難しい状態にあります。
    • というか、理事なんて立候補したら大歓迎される職種ですから、そもそも何らかの資質を問うことが無理ですよね(涙)
  • 残った10人のうち、飛んできたメールに対して返事を書ける人は、半数程度。
  • 5人くらいは、メールが来ても技術/心理的にかけない。このレベルの人は、トラブルが起きたとき自分で対処できないので、一ヶ月程度メールのやり取りが停止することが当たり前に起こる。
  • 一人か二人は、そもそもWEBにアクセスできない人がいる
  • IT関係のお仕事についていたり、個人的に趣味でWEBについての知識を持っている人は、せいぜい一人か二人でしょう。

イントラネット上に議論を移行するためには、理事全員が、イントラネットにアクセスできて、かつそこで議論をできることが前提になります。
さらに理事会での議論をそこに上げて、住民の方から来る声を適切なところに誘導して適切に回答つけるのは、そうとう厳しいなぁ、と。
しかもそれが一年二年じゃなくて安定して運用されるとなると、これはちょっと、まだ時代が早いんじゃないか、と感じました。