日本で1番平和な県はどこ?で,平成17年についてはまとめてあったので,何となく平成22年分を集計してみた.すでに誰かがやっているかもしれないけど.
| 都道府県 | 人口1000人あたりの認知数 |
| 秋田 | 4.979380741 |
| 岩手 | 5.561693461 |
| 山形 | 6.142254932 |
| 長崎 | 6.273684033 |
| 鹿児島 | 6.675933588 |
| 富山 | 7.023272192 |
| 石川 | 7.08779187 |
| 島根 | 7.141720434 |
| 青森 | 7.240941359 |
| 大分 | 7.264238233 |
| 福井 | 7.511748732 |
| 宮崎 | 7.708436112 |
| 熊本 | 8.423525787 |
| 長野 | 8.498487506 |
| 山口 | 8.516079957 |
| 鳥取 | 8.818560955 |
| 新潟 | 8.937977753 |
| 徳島 | 9.044718421 |
| 山梨 | 9.178554705 |
| 沖縄 | 9.254558159 |
| 北海道 | 9.301209125 |
| 福島 | 9.575837756 |
| 佐賀 | 9.577396497 |
| 広島 | 9.904679476 |
| 奈良 | 10.31730499 |
| 神奈川 | 10.31758661 |
| 香川 | 10.47622013 |
| 静岡 | 10.4782308 |
| 宮城 | 10.48307584 |
| 滋賀 | 10.99149668 |
| 群馬 | 11.0603186 |
| 高知 | 11.36417141 |
| 愛媛 | 11.65094409 |
| 栃木 | 11.70893676 |
| 岐阜 | 12.02077508 |
| 和歌山 | 12.10972963 |
| 岡山 | 12.38929226 |
| 三重 | 12.62978894 |
| 茨城 | 13.91508203 |
| 兵庫 | 14.46724625 |
| 埼玉 | 14.76423 |
| 千葉 | 14.85012592 |
| 東京 | 14.88935629 |
| 福岡 | 15.53558939 |
| 京都 | 16.02682743 |
| 愛知 | 17.30080547 |
| 大阪 | 18.51494139 |
| 都道府県 | 検挙率 |
| 秋田 | 55.37% |
| 岩手 | 53.92% |
| 島根 | 53.77% |
| 奈良 | 52.63% |
| 鳥取 | 51.69% |
| 山形 | 50.65% |
| 群馬 | 49.88% |
| 長崎 | 48.53% |
| 福井 | 46.02% |
| 香川 | 44.25% |
| 徳島 | 44.25% |
| 熊本 | 43.09% |
| 山口 | 42.80% |
| 佐賀 | 42.57% |
| 宮崎 | 39.73% |
| 鹿児島 | 39.62% |
| 青森 | 39.14% |
| 沖縄 | 38.93% |
| 大分 | 38.63% |
| 神奈川 | 38.52% |
| 山梨 | 38.46% |
| 新潟 | 36.67% |
| 長野 | 36.02% |
| 愛媛 | 35.65% |
| 栃木 | 35.06% |
| 石川 | 35.03% |
| 福岡 | 35.02% |
| 広島 | 35.01% |
| 高知 | 34.62% |
| 和歌山 | 34.38% |
| 福島 | 32.17% |
| 富山 | 31.62% |
| 岐阜 | 31.59% |
| 静岡 | 31.46% |
| 北海道 | 31.40% |
| 岡山 | 30.59% |
| 宮城 | 30.54% |
| 茨城 | 30.07% |
| 東京 | 29.71% |
| 兵庫 | 29.22% |
| 埼玉 | 28.29% |
| 愛知 | 28.22% |
| 滋賀 | 27.91% |
| 三重 | 27.66% |
| 千葉 | 26.99% |
| 京都 | 25.90% |
| 大阪 | 18.19% |
とりあえず,平成17年よりも半分近くになってるのね.数え方とか変わってないよね?とか疑うぐらい減ってるんだねー.(本当に数え方変わってないよね...?
Microsoft Excelデータ:ダウンロード
https://github.com/kazuki/msgpackで毎週末、ちまちま書いていた、MessagePackというシリアライズ形式のC#実装を本流にPullリクエスト出してみました。マージされる流れのようで楽しみです。
実は実装を始めた理由はTwitterでMessagePackという言葉が凄い流れていたのですが、それのC#実装を探そうとすると、neue cc - .NET(C#)におけるシリアライザのパフォーマンス比較: というページが引っかかりますが、速度的に残念なことになっています。これが理由で、特にMessagePackを使う予定は無いのですが、実装を始めました。シリアライズはGoogleのProtocolBufferが出たときも車輪の再発明的な感じで結構たたかれていたイメージがありますが、私はシリアライズとかRPCとか余り詳しくないので、MessagePackの特徴は速度とシリアライズ後データのコンパクトさにあると思い、とりあえず性能重視となるように気をつけて実装を始めました。
最初は、リフレクションでフィールドの値を取得してシリアライズ/デシリアライズするコードを書いたのですが、やっぱりプリミティブ型だとBoxing/Unboxingが発生することもあって遅いし、そもそもリフレクション経由のフィールドへのアクセスが遅いという問題に達しました。
そこで、型ごとに専用のコードを書けば、最初の一回目は少し遅いけど、二回目以降は早くなるので、C#でILを直接書いて実行する方法をとりました。やはりリフレクション経由じゃないフィールドアクセスは高速で、プリミティブ型の場合3倍以上早くなりました。ですが、ProtocolBufferのC#実装より遅い・・・
調べてみると、DynamicMethodを使ってILをEmitしてデリゲートを作るよりも、MethodBuilderを使ってILをEmitし型を作成してメソッドを検索し、デリゲートを作った方が、そのデリゲート内の処理が高速になるらしい。CLRの仕組みがよくわからないので、僕にはなぜ早くなるのかは理解できませんでしたが・・・これによって、3割ぐらい早くなりました。
しかし、DynamicMethod経由だと、プライベートフィールドへもアクセスできるのですが、MethodBuilder経由だと、パブリックフィールドしかアクセスできません。そこで、二つの実装を共存させ、利用時にどちらを使うか選んでもらうようにしました。そして、もしかしたら動的コード生成はSilverlightとかでは動かないかもしれないので、リフレクション経由のコードもとっておきました。
まだ最適化の余地はあるのですが、一応一区切り着きそうなので、ベンチマークを取ってみました。環境はプロフィールを参考。Windows 7マシンがメインマシンで、LinuxマシンはThinkPad X61です
以下の2種類の構造体を10000回シリアライズ/デシリアライズする時間を計測してみました。単位はミリ秒です。
比較した実装と、グラフ・表中の番号との対応は次の通りです。1~3が今回実装したものになります。
| 1 | Compiled(MethodBuilder) |
| 2 | Compiled(Dynamic) |
| 3 | ObjectPacker |
| 4 | Protobuf-net |
| 5 | BinarySerializer |
| 6 | SutilsのMessagePack |
| 7 | DataContract (XML) |
| 8 | DataContract (Binary) |
大きさが微妙ですが所要時間を計測すると次のようになりました。




とりあえず、既存のMessagePack実装よりも早くて良い感じですが、ProtocolBufferのC#実装もなかなか早いですね・・・.NET付属のDataContractSerializerもなかなか・・・。これらの値だけ集めると以下のような感じ。


プリミティブ型なら勝てますが、文字列型だと同じぐらいになっちゃいますね・・・文字列のシリアライズ/デシリアライズはまだ最適化の余地があるので最終的には差をつけたいところです。
最後に、数値の詳細が書いてあるExcelファイルへのリンクを。
追記:シリアライズ後データサイズを載せるのを忘れてた。

某サーバ用に新しくRapidSSLをNamecheap.comという怪しいところで取得したのだけれど、なんかおかしい。中間CAがいらない証明書だったはずなのに、中間CAが必要になっているし。だけど、証明書のRSA鍵長が1024bitから2048bitになったのは好ましい。僕のサーバ(oikw.org)のCA証明書は1024bitなんだよね。時代に合っていない気がする。


System.Threading.EventWaitHandleで,WaitOne()しているスレッドがいる中,Close(Dispose)するとWaitOneが無限ロックに入るけど,Thread.Abortするしかないのか・・・?Permalink
Kazuki Oikawaというわけで,僕の欲求を満たすAutoResetEventを書いてみた.Closeのところはどうするのがいいんだろうなぁ...
何となく、lxc-checkconfigですべての機能が有効になるように以下の機能を有効にする
このメモを書いている時点ではlxcにはマスクがかかっているので外してあげる。アーキテクチャは各々の環境に合わせてね。
まず、ブリッジのスクリプトを作成
ネットワークの設定(/etc/conf.d/net)を以下のように書き換える
今までeth0に行っていた設定をbr0に行う感じ。
うろ覚えだけど、たぶん下のような感じ。stage3のファイルはミラーからダウンロードしてね
baselayout-2じゃないといけないみたいなので、マスクを外してインストール
/etc/inittab から agetty と書かれている行を全部#でコメントアウト。そして下の行を追加
これで終わり。chrootから抜ける
仮想マシンを作成
以下のファイルを適当に設定
LXCは簡単だしカーネルにパッチ要らないし、コンテナ型だから性能も良いし良い感じ。次期oikw.orgサーバではこれを採用したいな~ (ハードウェアを新調したら...)
Trac 0.12正式版がリリースされたので,バグトラッカで利用しているTracも更新.
GentooのPortageにはまだ来ていないようなので,適当ebuildをPanicode Gentoo Overlayに入れてみた.
寮に引っ越して一ヶ月過ぎ、ようやっとPC周りの整理が終わりました。備え付けの机が小さいのでいろいろ不便ですが、モニタとして今となっては小さめの部類に入るであろう17インチディスプレイ二台を利用しているので、何とか収まりました。


後は、仕事(研修)が落ち着けば、twitterクライアントの開発ができるかなー
タイトルの通りですが,サーバ機を移動させるので,数時間HTTPやメールサーバなどへのアクセスが出来なくなります.事前に告知しませんでしたが,今のところ私のサイトを利用している人は少なそうなので,大丈夫でしょう.
やっと開通!やっぱ自宅でネットができるって便利だ~
ネットのない世界に旅立っています.
5月の中頃まではメールの受信すらままならないかも.
というわけで,メール・Liveメッセ・Skype・Twitter どれもしばらくお休みです.
数日前より無事社会人になりました.
当分は不慣れな環境でのお仕事やら研修やらで遊ぶ時間がとれそうにないので,リポジトリはおとなしくなりそう.まぁ,元からそれほど活発では有りませんでしたが.
というわけで,ktwt とかの次のバージョンはすごーく先の話になりそうです.
とりあえず,ネタが無いので,大学生活で珈琲豆何十キロ消費したんだろう?とか,林檎箱を1シーズンで数箱消費するよ!ということをアピールした.いったい何をアピールしているんだろう僕は.
美味しい林檎食べたいです・・・
大学に通っている間,お世話になったアパートを20日付で退去した.
冬期間は水抜きが必須とか,室温が-10℃以下になるとか,お風呂がバランス釜で,水抜きしても結局はパイプの中の水が凍って毎日,解凍作業とかしないと水が出ないとか,いろいろ楽しかった,五年間でした.
僕は暖房を殆ど使わないので,室温と外気温の差が少ないため,結露も少なく,比較的綺麗な状態で返せたと思う.
家電や家具は,両家の祖父母が必要とする物は譲って,高校時代から使っていた折りたたみ式のパイプベッドは破棄.冷蔵庫と本棚だけはリサイクルショップに引き取ってもらうなどしたため,僕の荷物は大体,ダンボール15箱(食器類2箱,本類3箱,PC類5箱,その他2箱,衣類3箱)ぐらいになった.最初,ダンボール数個で大丈夫かと思ったんだけど,意外と量があったなぁ.
さて,僕は何処に住むことになるのかなぁ~
3/5 10:00 (JST) より、サーバを物理的に200kmほど移動するため、停止します。
再開予定は3/5 16:00 (JST)です。
今使っているノートパソコン(ThinkPad X61, C2D2.5GHz, 4GB DDR2MEM)にはIntel X25-E 32GBが装着されている。しかし、メインOSであるWindows 7の環境は22GBしか使っておらず、10GBがもったいない。Akiba PC Hotline の SLC SSDの記事を見ると、やはりSLCの耐久性は優れているようなので、空き容量の半分の5GBにGentooを入れてみることにした。しかし、ただインストールするのでは面白くないので、今、話題になっていないbtrfsを使ってみることにする。今回のパーティション構成は、以下の表のようになっている。論理パーティションを使うのがめんどくさい&メモリ4GB積んでいるのでスワップは必要ないだろうということで、bootとルートしかパーティションを切らなかった。
| sda1 | Windowsのブートローダ |
| sda2 | Window7 |
| sda3 | /boot : ext2 |
| sda4 | / : btrfs |
まずは、Gentooのinstall cd (2010/02/25版) を用いてブートし、fdiskでパーティションを切る (Windows上でパーティションを切ろうとしたら四番目が必ず論理パーティションになる。使えない...)。続いて以下のコマンドを入力
あれ...
btrfsには対応しているカーネルバージョンだけど、ExperimentalなのでインストールCDにはbtrfs-profs が入ってないのか。しかし、インストールCDにはgccがないし、別なLinuxマシンもなければ、SSDの空き容量も限られてるしなぁ.... というわけで、
とし、3GBのtmpfs上にstage3, portageツリーを展開。tmpfs上のgentoo環境でbtrfs-progrsをコンパイルし、/dev/sda4 をフォーマットした。
よし。今度こそbtrfs上にGentooを入れるぞ!と意気込んだところ
あれ・・・インストールCDのカーネルにはbtrfsサポートが含まれていないのか...ダメもとで、modprobe btrfs としたけど、そんなのねーよって怒られる。
仕方がないので、tmpfs上のgentoo環境でインストールCDと同じバージョンのカーネルを展開し(x86_64の最新stable版だった)、念のためインストールCDのカーネルコンフィグをベースにbtrfsをモジュールとしてビルド。それをmodprobeで読み込んだら無事にマウントできた。後は、通常通りインストール。Xやslim, xfce4 を導入して完成!
だいぶ前にX61にGentooを入れていたときよりも、起動が速くなった気がするし、Xの反応も良い感じ。きっとSSDに変わった & Intelオープンソースドライバ だからというのが大きい気がするけど。GentooのインストールCDにbtrfs-progsが組み込まれる日は来るのだろうか。ついでに、xfsdump も組み込んで貰えるとリカバリ用にインストールCDが使えて僕が助かります!ぇ
https://oikw.orgで利用するSSL証明書としてNamecheap.com経由でGeoTrustのRapidSSLを購入してみました。すぐ発行されるし、1年あたり10ドル未満で安め。これぐらいならドメイン維持費と同程度だから必要経費として発行しても良いかも。
kserver.panicode.com を oikw.org に変更しました。旧ドメインへのリクエストは新ドメインへリダイレクトされます。また、https://kserver.panicode.com/svn/panicode だった一般公開SubVersionリポジトリのURLは、https://oikw.org/svn とドメイン名だけでなくパスも変わりましたので、relocate お願いします。
trac.panicode.com に関しては扱いを検討中で、とりあえず http://trac.panicode.com/bug は、 http://oikw.org/bug でアクセス可能になりました。
HTTPSのSSL証明証に関しては現在CAcert.orgに署名して貰ったのを利用していますが、有効期限が短いので、そのうち変更する予定です。
一応、合同論文審査会が終了。後は修論を仕上げて最終版を提出するだけだな...
おいかわ の各子音のローマ字表記の頭文字をとった、OIK(a)W(a)、つまり oikw でなんとなくドメインを取ってみた。oikw.org。
http://oikw.orgと、メール k★oikw.org だけ今は使えるようにしてみた (※PGP公開鍵も更新)。将来的にはどうしようかなぁ。