[javascript]Re:入力ミスを減らすメールアドレス入力フォームの作り方

 使うアテがあるので、作ってみました。


/* メールアドレスの単純ミスをチェック /
function checkEmail() {
var str = document.getElementById(“email_input”).value;
var error_msg_node = document.getElementById(“mail_error_msg”).childNodes[0];
if( !str.match( /@/ ) ) {
error_msg_node.nodeValue = “@がないですが、これって本当にメールアドレスですか?”;
return 1;
}
if( !str.match( /./ ) ) {
error_msg_node.nodeValue = “.(ドット)がないですが、これって本当にメールアドレスですか?”;
return 1;
}
if( str.match( /@.
\,/ ) ) {
error_msg_node.nodeValue = str.replace(“,”,”.”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@..j$/ ) ) {
error_msg_node.nodeValue = str+”pではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@.
.p$/ ) ) {
error_msg_node.nodeValue = str.replace(“.p”,”.jp”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@..co$/ ) ) {
error_msg_node.nodeValue = str.replace(“.co”,”.com”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@.
mai[^l]/ ) ) {
error_msg_node.nodeValue = str.replace(/mai[^l]/,”gmail”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
if( str.match( /@.*[^.]co/ ) ) {
error_msg_node.nodeValue = str.replace(/([^.])co/,”$1.co”)+”ではないですか?”+str+”と入力されています。”;
return 1;
}
error_msg_node.nodeValue = “”;
return 0;
}

お名前
Eメール



和尚が指摘されたような入力ミスがあったら、メールアドレス欄の右側に警告が出ます。

以下の項目をチェックしていますので、やってみてくださいませ。

  • ,(カンマ)と.(ドット)の間違い
  • @がない
  • .(ドット)がない
  • “~.p”というメールアドレス(~.jp?)
  • “~.j”というメールアドレス(~.j?)
  • “~.co”というメールアドレス(~.com?)
  • “~mai”の後ろにl以外がくるメールアドレス(gmai.comとか、hotmai.comとか)
  • .以外の後ろにcoがくるメールアドレス(~@yahooco.jpとか)



JavaScriptで単純にチェックしているだけです。あまりJavaScriptのコードを書いた経験が多くないので、識者の方、添削していただけるととてもうれしいです。

ディスプレイアーム購入ガイド

masuidrive on rails – IKEAと5万円で作る快適仕事場でディスプレイアームを強くプッシュしていただいたので、買ってしまいました。
IMGP8789.JPG
IMGP8790.JPG


いままでよりディスプレイを後ろに押しやることができて、すこし机が広く使えるようになりました。
で、買うためにいろいろ調べたのでまとめです。

VESA75/100

 ディスプレイの後ろは、VESA75/100という規格で取り替えが可能なようになっています。たいていのディスプレイはこの規格に沿ったものを取り付けるようになっていて、最近の液晶ディスプレイはほぼどれでも対応しているみたいです。

タイプ

 増井さんの使っているようなのは、関節アーム型というらしいです。一方、ポールをたててそこにディスプレイを固定するポール型というのもあります。
関節アーム型のほうがかっこよさそうですが、ポール型だと、一本のポールに複数のディスプレイをつけて、こんなことができます。

モダンソリッド LA-518-5 液晶モニタ6画面用水平多関節アーム
 トレーダーさんみたいなことがやりたいひとは、ポール型の方がいいかもしれません。

耐荷重

 ほとんど一緒に見えても高い物と安い物があります。



 これは、耐荷重の違いで、たとえばARM-21Cは8kgのディスプレイまでしかつけられませんが、ARM-22Cは13kgまで耐えることができます。
自分が使っているディスプレイが、DELLの2007FP HASという20インチディスプレイなのですが、これで5.2Kgです。増井さんも言われているとおり、最近の30インチディスプレイは10kg以上あるので、安いアームだと、耐えきれなくてじわじわ下がってくることが予想されます。

アームの数

 増井さんの使っているARM-12ACと、自分の買ったARM-21Cの違いは、アームの数です。



 これ意外と重要。腕一本だと、ディスプレイとクランプ位置をあまり離すことができないので、奥行きの短い机では、ディスプレイの真下にクランプが来てしまいます。これだと、結局ディスプレイの下が使えなくて、あまりありがたみがありません。
IMGP8790.JPG
自分の場合、腕二本の方にしておくべきだったかも。
#しかも今記事を書きながら見たら、腕二本のほう、9800円のユーズド価格が出ています。わ~っ!
増井さんみたいに広い机なら、腕一本でも大丈夫だと思うのですけど。

引いた場所から

固定方式

 アームを机に固定するのにもいくつかやり方がありますが、普通はクランプだと思います。

机に穴を開けたり、壁に固定できる大工さんスキルを持った方は、こういうのもあります。
グロメット
壁つけ用ブラケット (白)
ポールに固定するためのポールマウンタというのもあって、メタルラックにつかないかな?と思ったのですが、ポールが細すぎて駄目でした。

おわりに

ヨドバシカメラでもらったパンフレットに載っていたのですが、スタイルビューカートというのがあって
スタイルビュー® デュアル ディスプレイ カート
バッテリまで搭載できる本格品らしいです。「淳也くん」にいかがでしょう?

Movable Type 4に移行してリンク切れが起きる問題対策

いいめもも、このブログも、Movable Typeをつかっています。いいめものほう、以前はMovable Type 3だったのですが、サーバを移動させたのを機会に、Movable Type 4に乗り換えました。



で、乗り換えて気づいたこと。そこら中でリンク切れが起きている…

切れたリンクと本来のページを見てみると、どうやら、Movable Type 3のころ、URLに(アンダースコア)を使っていたページが、勝手に-(ハイフン)に置き換えられてしまった模様。

調べてみると、困っている人もたくさん。



アップデートは計画的に – Nizah Blog

MT4.1 ウェブページのファイル名に「
」アンダースコアは禁物 – 具現 | 蓮華のライフデザイニングブログ

コメントスパム対策さらにその後 – あれているBlog

bq69 collectibles – MT 4.1 upgrade: cont’d

みなさまそれぞれのやり方で対処されたみたいですが、納得いかないっすよねぇ?

自分の場合、必ずしもURLがpost_14.html という形になっているとは限らなくて、this_is_a_pen.htmlみたいなURLになっていることがあるので、単純なredirectではとばすのが困難です。サーバ移行だから、Movable Type3の頃のキャッシュに期待するわけにも行きません。



こういうときは、apacheのmod_rewriteの出番だと思われます。rewrite_ruleを使ってアンダースコアをハイフンに置き換えてリダイレクトしてあげれば、大手サイトからいただいたリンク価値を失うこともなく、問題を一発で解決できるはずです。今こそブログに書くときだ!


…と思ったのですけど、最近忙しかったので、実作業ははてなの皆様にアウトソースさせていただきました^^;



Apacheのmod_rewriteをつかって、URL中のアンダースコアをハイフンに置き換えるRewriteRuleを教えてください。 つまり、 http://example.com/blog/2008/05/post_14.html と.. – 人力検索はてな


期待通り適切な書き方を教えていただけたので、ここでブログ記事として公開する次第。

Movable Type 3から4に移行して、URLがアンダースコアからハイフンに変わってしまって困っている人は、httpd.confに以下のようにかけばリダイレクトさせることができます。

<Directory "hogehoge">
Options FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/([^_]+)_(.+)\.html?$ $1/$2/$3-$4.html [N,L,R]
</Directory>

<Directory “hogehoge”> の部分は、自分のブログが置いてあるディレクトリ(公開設定-公開パス-サイトパスに書いてある)です。

このルールにより、2007/10/post_123.htmlという具合にアンダースコアを含むURLにアクセスしてきた場合、Apacheサーバが「あ、そのファイルはこっちに移動しましたから」(301 Moved Permanently)と新しいURLを案内してくれるようになります。

2007/10/this_is_a_pen.htmlみたいなURLもちゃんと変換してくれます。

[linux]なんでもsvnで管理する2

今日時点で、もぎゃろぐのなかで一番たくさんブックマークのついている記事がこれ。

[linux]なんでもsvnで管理する – もぎゃろぐ


なんでもといいながら実際には実行ファイルを管理するだけで、それなのにたくさんの方に見ていただいて申し訳ないです。



というわけで、設定ファイルも管理できる目処が立ったので、「[linux]なんでもsvnで管理する2」をお送りします。

設定ファイルの場合、/etc/httpd/conf/httpd.conf も管理したいし、/etc/aliasesも管理したい。だからといって/etc以下を全部svnにつっこむのは、さすがにちょっと怖いでしょ?というのが難点でした。



悩んでも分からなかったので、masuidriveの人に聞いてみました。


自分: 以前ブログで、設定ファイルとかもsvnで管理してるよ~的なことをいっていたじゃないですか。
Yuichiro: はいはい、やってます
自分: どういう単位になっているのでしょう?
たとえば、/etcしたが丸ごとリポジトリに入っている?
Yuichiro: いえ、別においてsym linkしてます
必要なファイルだけ。
apacheとかpostfixとか。
ホスト固有の設定とかありますしね
自分: ふむふむ。じゃあ設定ファイルは全部/var/setting/とかどこかにまとめてあるわけですね。
Yuichiro: そです。

なるほど。

適当なディレクトリを用意して、書き換えたくなりそうなファイルを一式コピーしてきます。

[daisuke@snares ~/tmp/setting] $ ls -la httpd/
total 20
drwxr-xr-x  5 root root 4096 May 10 11:19 .
drwxr-xr-x  3 root root 4096 May 10 17:01 ..
drwxr-xr-x  3 root root 4096 May 10 16:30 conf
drwxr-xr-x  3 root root 4096 May 10 11:19 conf.d
[daisuke@snares ~/tmp/setting] $ ls -la httpd/conf
total 44
drwxr-xr-x  3 root root  4096 May 10 16:30 .
drwxr-xr-x  5 root root  4096 May 10 11:19 ..
-rw-r--r--  1 root root  5975 May 10 16:30 httpd.conf
-rw-r--r--  1 root root 12959 May 10 11:19 magic
[daisuke@snares ~/tmp/setting] $ ls -la httpd/conf.d/
total 52
drwxr-xr-x  3 root root  4096 May 10 11:19 .
drwxr-xr-x  5 root root  4096 May 10 11:19 ..
-rw-r--r--  1 root root   778 May 10 11:19 manual.conf
-rw-r--r--  1 root root  1827 May 10 11:19 perl.conf
-rw-r--r--  1 root root   560 May 10 11:19 php.conf
-rw-r--r--  1 root root  1438 May 10 11:19 python.conf
-rw-r--r--  1 root root 10919 May 10 11:19 ssl.conf
-rw-r--r--  1 root root   352 May 10 11:19 webalizer.conf
-rw-r--r--  1 root root   299 May 10 11:19 welcome.conf

インポートします。

[daisuke@snares ~/tmp/setting] $ svn import file:///var/svn/repos/httpd_conf/ -m "initial import"



#インポートしてしまえば、もはやこれらのファイルは用済みです。

/var/setting/を用意して、ここにファイルをチェックアウトしてきます。

[daisuke@snares /var/setting] $ sudo svn co file:///var/svn/repos/httpd_conf/ ./
[daisuke@snares /var/setting] $ ls /var/setting/
httpd

元のファイルから、このファイルにsymlinkします。

[daisuke@snares /etc/httpd] $ ls
conf           logs     run
conf.d         modules
[daisuke@snares /etc/httpd] $ sudo cp -r conf conf.20080510.1104
[daisuke@snares /etc/httpd] $ sudo cp -r conf.d conf.d.20080510.1104
[daisuke@snares /etc/httpd] $ ls
conf           conf.20080510.1104  conf.d.20080505       logs     run
conf.20080505  conf.d              conf.d.20080510.1107  modules
[daisuke@snares /etc/httpd] $ cd conf
[daisuke@snares /etc/httpd] $ ls
[daisuke@snares /etc/httpd/conf] $ ls -la
total 28
drwxr-xr-x  7 root root 4096 May 10 11:07 .
drwxr-xr-x  8 root root 4096 May 10 11:07 ..
-rw-r--r--  1 root root  5975 May 10 16:30 httpd.conf
-rw-r--r--  1 root root  5809 May 10 16:26 httpd.conf~
-rw-r--r--  1 root root 12959 May 10 11:19 magic
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.crl
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.crt
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.csr
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.key
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.prm
[daisuke@snares /etc/httpd/conf] $ sudo rm httpd.conf
[daisuke@snares /etc/httpd/conf] $ sudo ln -s /var/setting/httpd/conf/httpd.conf ./
[daisuke@snares /etc/httpd/conf] $ sudo ln -s /var/setting/httpd/conf/magic ./

同様にしてhttpd/conf.dの下もsymlinkに置き換えました。

[daisuke@snares /etc/httpd/conf] $ ls -la
total 28
drwxr-xr-x  7 root root 4096 May 10 11:07 .
drwxr-xr-x  8 root root 4096 May 10 11:07 ..
lrwxrwxrwx  1 root root   34 May 10 11:07 httpd.conf -> /var/setting/httpd/conf/http d.conf
lrwxrwxrwx  1 root root   29 May 10 11:07 magic -> /var/setting/httpd/conf/magic
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.crl
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.crt
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.csr
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.key
drwxr-xr-x  3 root root 4096 May  5 23:41 ssl.prm
[daisuke@snares /etc/httpd/conf] $ ls -la /etc/httpd/conf.d
total 8
drwxr-xr-x  2 root root 4096 May 10 11:08 .
drwxr-xr-x  8 root root 4096 May 10 11:07 ..
lrwxrwxrwx  1 root root   37 May 10 11:08 manual.conf -> /var/setting/httpd/conf.d/manual.conf
lrwxrwxrwx  1 root root   35 May 10 11:08 perl.conf -> /var/setting/httpd/conf.d/perl.conf
lrwxrwxrwx  1 root root   34 May 10 11:08 php.conf -> /var/setting/httpd/conf.d/php.conf
lrwxrwxrwx  1 root root   37 May 10 11:08 python.conf -> /var/setting/httpd/conf.d/python.conf
lrwxrwxrwx  1 root root   34 May 10 11:08 ssl.conf -> /var/setting/httpd/conf.d/ssl.conf
lrwxrwxrwx  1 root root   40 May 10 11:08 webalizer.conf -> /var/setting/httpd/conf.d/webalizer.conf
lrwxrwxrwx  1 root root   38 May 10 11:08 welcome.conf -> /var/setting/httpd/conf.d/welcome.conf

このあたりで、システムがちゃんと動いているか確認。

[daisuke@snares /etc/httpd/conf] $ sudo /etc/rc.d/init.d/httpd restart
Password:
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

ブラウザで各ページを見て回って…大丈夫そうです。

以後は、/etc下は書き換えずに、/var/setting/下のファイルを書き換えるようにします。



で、なにか致命的なミスをしたことに気づいたら、

[daisuke@snares /var/setting/httpd/conf] $ sudo rm httpd.conf
[daisuke@snares /var/setting/httpd/conf] $ sudo svn update
Restored 'httpd.conf'
At revision 4.

とすることで、ちゃんと動いていた頃のシステムに戻ることができます。

おまけ:この前後に起こった悲劇。


自分:  えらいことになった^^;
Yuichiro: ??
自分: /etcを丸ごとリポジトリに入れる実験をしていたのですが。
元に戻そうと思って、うっかり sudo rm -f /etc とやってしまって、
/etc/passwdがないから、sudo mv etc.20080505.1653 etc と戻すことができない。
Yuichiro: .......



さくらインターネットさんのサポートで、HDDを別サーバにつないでいただいて/etcを書き戻して復旧しました(有償)。

これ、マジでシャレにならないので、皆様ご注意くださいませ^^;

ブログのURLを変えた。

ちょっと思うところがあって、もぎゃろぐのURLが変わりました。

旧:http://mogya.com/blog/
新:http://blog.mogya.com/

こういうとき、旧URLでも記事にアクセスできるようにしておかないと、ソーシャルブックマークとか、ニュースサイトからはっていただいたリンクがもったいない。
こんなときには、Apacheの設定ファイルであるhttpd.confに

Redirect permanent /blog http://blog.mogya.com

というふうに書いて再起動してあげれば、Redirect機能が働くようになる。
以降、http://www.mogya.com/blog/2008/03/linuxsvn.html というふうにアクセスしてきたブラウザには、

HTTP/1.x 301 Moved Permanently

というヘッダとともに新しいURLが返されるようになる。
結果として、ブラウザはちゃんと新しいページを表示してくれるし、えらいソーシャルブックマークだと、自動的にURLをはりかえてくれたりするかもしれない。すくなくともGoogleは「あ、ページが移動したんだな」と認識してページランクを引き継いでくれるらしい。
技術的には当たり前の話なのですが、まあ誰かの役に立つかもしれないのでメモメモ。

[TortoiseSVN]Unable to write to standard output (stderr)

linux上で動いているsubversionのサーバに、TortoiseSVNを使ってssh経由で接続してファイルをチェックアウトしようとしたら、

Unable to write to standard output (stderr

というエラーが出てはまったのでメモ。
エラーメッセージでぐぐると、
色々日記(ざ・めも) | subversionが上手く動かなかったのは?
がでてきて、これによると、.cshrcの末尾にsetenv LANG Cしましょう、ということになっているのだけれど。結論から言うと、自分の場合はこれではなかった。
でも、この人のお話を参考に、linuxからssh経由で自分のリポジトリにつないでみると、

[daisuke@snares ~/tmp] $ svn co svn+ssh://snares/var/svn/repos/hogehoge ./hogehoge
stty: standard input: Invalid argument
stty: standard input: Invalid argument
A hogehoge/conf

なんかあやしげな警告が。
ググってみると、この人と同じ症状。

[linux-users:29383] rcp, xon error(stty: standard input: Invalid argument)
2台のマシン間で、rcp しようとすると、
 ̄ stty: standard input: Invalid argument
とエラーがでてしまいます

対応としては

sttyコマンドが .bashrc とかに
かいてあると思うので
.bash_profile に移動させてみては
駄目でしょうか。
([linux-users:29385] Re: rcp, xon error)

とのこと。
実際調べてみたら、.bashrcに

stty stop undef

の一行が。
これを.bash_profileに移動させたら解決しました。
.bashrcは、ssh経由で接続するコマンドでも起動されるので、ここに何か出力するコマンド(stty とか、profileとか)を書いてはいけない、ということか。
.bash_profileと.bashrcの違いはとか読んでも、この辺は今一つ読み取れないんだよなぁ。

携帯絵文字変換スクリプトをデバッグしてみた。

今月の流行は携帯サイトとPHPのもぎゃです。こんにちは。
携帯絵文字変換スクリプトをPHPで作ってみた。 携帯ホームページを作ろう! -ちょっと詳しいモバイルサイトの作り方-というのがあって、フリーで使えるのはすばらしい!と思ったのですが。
これどうも、ドコモの絵文字が正しく出ません。すくなくとも手元の環境では出ない。

  • サーバ:Apache/2.0.52
  • PHP:PHP 5.1.6 (cli) (built: Oct 26 2007 13:49:00)
  • 携帯:F705i。あと、i-mode HTML Simulator II ver5.1も試したけど出なかった。

 しょうがないのでデバッグしました。

結論

 emoji.csvをこっちに差し替えると出るみたいです。
emoji.csv
元のファイルとの違いは、iモード絵文字をダブルクオーテーションでくくっただけです。

問題だったこと

 作ろうiモードコンテンツ:基本絵文字一覧 | サービス・機能 | NTTドコモを参考に、べたにphpファイルに文字列を貼り付けたら、これは表示できました。
 Wiresharkでパケットを拾ってのぞいてみると、データが化けているとかじゃなくて、そもそもデータが出ていません。
 さかのぼっていくと、そもそも$emoji_array[1]が空っぽのままみたいです。
fgetcsvでググってみると、どうもこの関数は結構危険らしく。
テレパス・ラボ : fgetcsv()で日本語が読み込めない
iモード絵文字も、SJIS範囲外とはいえ日本語っぽい文字なのは同じなので、環境によって空っぽになってしまうんじゃないでしょうか。上記サイトで言われているように、問題の文字列をダブルクオーテーションでくくってみたら動いたので、とりあえずご報告まで。

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

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


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

[postfix]ファイルはあるのにNo such file or directory

postfixで、/etc/aliasファイルに

test:/var/mailapp/app.rb

とか書いてメールアプリケーションを立ち上げようとしているのに、

server local[]: fatal: execvp /var/mailapp/app.rb: No such file or directory

server postfix/local[]: DA4EB38077: to=, relay=local, delay=2, status=bounced

(Command died with status 1: “/var/mailapp/app.rb”.

Command output: local: fatal: execvp /var/mailapp/apprb: No such file or directory )



とか言われてしまう。No such file or directoryと言っても/var/mailapp/app.rbは確かにあるのに….と思っていたら。


/var/mailapp/app.rb

#!/bin/ruby



となっていて、/bin/rubyがなかった(/usr/bin/rubyだった)という事例がありました。

単なるスカタンですけど、「postfix “No such file or directory”」でググっても出なかったので一応メモ。だれかのパニックを救うかもしれないw

メタルラックで組む仕事場

そういえばご報告をしていなかったのですが、4/15から兵庫県に引っ越してきました。
べつにはてなさんを追いかけたわけではないですが、独立して、常駐のお仕事は引き受けないと決めた以上、べつにもはや東京にいる必要もないんじゃね?と思ったので自宅を売りに出したら売れたので引っ越した、という経緯です。

新居は大阪にほど近い賃貸マンション。生活スペースが以前より広くなったので、6畳間を丸ごと仕事スペースにしました。

IMGP8746.JPG
机も本棚もサーバスペースも、すべてメタルラックで組んでいます。

IMGP8749.JPG
IMGP8751.JPG

机の両脇に別系統の電源を引いてきました。片方は携帯電話などのガジェット充電用。もう一個はディスプレイやPCの電源に利用しています。

IMGP8752.JPG
 こちらはサーバスペース。プリンタやスキャナ、FAX、ルータやサーバなどはすべてここに集まっています。自分の机とは別にサーバスペースが確保できたので、これでもう「ぬいてはならぬ電源を抜いたぁ~っ!」というような悲劇とも無縁です。

masuidriveの人の仕事場や、はてなさんの新社屋には到底かないませんが、ヨメと二人で仕事をするには十分広いんじゃないかと思っています。