電話を買い換えようとずっと思っていたのだが、あんまりこう、ぐっとくるものがなかったので延び延びになってしまっていた。 最近はSIMフリーとかで、デバイスと回線を独立させることができるようになった。まあ本来の形になりつつあるという訳だが、望ましい話。 ということで、Androidなデバイスを買ってみた。まだ回線を契約していないので電話ではない。自宅の無線LANからskype での通話だけなら何とか。 今後、使い心地に問題なければ回線も都合するという感じ。これまでgoogleのアカウントを持たずに通して来たのだけど(無謀?)今回ばかりは観念して作りました。wtnb75@gmail.comまあ普段使いをgmailにする気はなく、メインのアドレスは変わらず。メールがUTF-8固定になりますね。 いろいろアプリを入れてみたりしたけど、どうなんでしょうね。3歳児は気に入って使いまくってました。読み書きができなくても、音声入力でWeb検索ができるので、比較的簡単に仮面ライダーのオモチャの説明動画とかに辿りつけるんですね。最後は投げちゃって怒られる一幕も。安いやつなのでマルチタッチには対応してなかった(確認できるアプリがあるのですね)。 このエントリはそのデバイスからのテスト投稿です。文字の入力は割と快適ですね。
Category: コンピュータ
激しい打ち合いになった京都から帰ってきたら、自宅サーバのディスクが死んでいた。その顛末を書いておこうと思う。徒然。
帰宅してPCを開いてもメールが読めないので、ログインしてpsと打つとmuninのプラグインがずらずらずら…dmesgもコマンドが実行できない状態に(実行ファイルをロードできない)。よくログインできたな…と感心している場合ではない。電源を落として入れなおそうとすると、凄い音が。上がるわけがない。
とりあえず小型省電力サーバを物色したけど、うちには新たにマシンを購入するお金はないということが分かった。反射的にVPSを契約。1000円/月の予算で良さそうなところを選んだ。これで長かった自宅サーバ時代が終了した。2002年からだから、8年間ですね。
VPSはログインしてみたら、最近仕事で使うこともあるOpenVZ(というかVirtuozzo)でした。
契約したところは、メモリは512MB~1GB、ディスクが30GB。まあ当分は大丈夫だろう。何気に自宅ノートPCよりもスペックが上がっている。この数字は、4~8コアで50GB程度のメモリを載せて、1台で100台くらいは入れてるのかな? メモリが多めなら1台100万円くらいだとして、月1000円で100台埋められれば10ヶ月でマシン代はペイする。まあもうちょっとがんばって、50万くらいのサーバに100台くらい詰めてるかも。あとはネットワーク代とかいろいろ合わせて…。ディスクはRAID6だそうで。箱のRAIDなのか、内蔵ディスクとRAIDカードなのかは不明ですが、仮に2UくらいのRAIDボックスだとすると、これも10~20TBで60~80万くらい? PC2~3台にRAIDボックス1台という感じか。内蔵+RAIDカードだともっと安くはなるだろう。あとは電気代と何なりと…まあ使う側にもメリットがあるわけですから、運営者にはそこそこ利益を上げ続けてもらわないと困りますよね。
現象としてよく分かっていないのだけど、デジカメで撮った画像の撮影日の情報がなくなっているファイルがあることに気がついた。
最近になってdigikamではなくJpegGpxMerger(version 1.4.1)というソフトでGPXファイルの座標情報を書き込むようになったのと関係があるだろうか? JpegGpxMergerはJavaで書かれていて、Windowsでも動作するソフトです。これをVista上で使っているわけ。
で、使用前(というかGPSタグをつけられなかったファイル)のEXIF情報は以下のような感じ。
EXIF tags in '134353.jpg' ('Motorola' byte order):
--------------------+----------------------------------------------------------
Tag |Value
--------------------+----------------------------------------------------------
Image Description |Exif_JPEG_PICTURE
Manufacturer |RICOH
Model |GR DIGITAL 2
(snip)
Date and Time |2010:08:22 13:43:53
(snip)
Exif Version |Exif Version 2.21
Date and Time (origi|2010:08:22 13:43:53
Date and Time (digit|2010:08:22 13:43:53
(snip)
Focal Length |5.9 mm
Maker Note |29262 bytes undefined data
User Comment |
(snip)
--------------------+----------------------------------------------------------
EXIF data contains a thumbnail (5377 bytes).
使用後は以下。GPSタグがついて、MakerNoteが消えて、Date and Time (origiとDate and Time (digitが途中まで消されている。Date and Timeは残っている。
EXIF tags in '110433.jpg' ('Motorola' byte order):
--------------------+----------------------------------------------------------
Tag |Value
--------------------+----------------------------------------------------------
Image Description |Exif_JPEG_PICTURE
Manufacturer |RICOH
Model |GR DIGITAL 2
(snip)
Date and Time |2010:08:21 11:04:33
(snip)
Software |Jpeg GPX Merger Version 1.4.1
(snip)
Exif Version |Exif Version 2.21
Date and Time (origi|1:04:33
Date and Time (digit|1:04:33
(snip)
Focal Length |2.3 mm
User Comment |
(snip)
GPS tag version |0x02, 0x00, 0x00, 0x00
North or South Latit|N
Latitude |35.00, 35.00, 20.80
East or West Longitu|E
Longitude |139.00, 38.00, 53.27
Altitude reference |0x00
Altitude |1.57
InteroperabilityInde|R98
InteroperabilityVers|0100
--------------------+----------------------------------------------------------
まあ日付時刻情報はもともと以下のような4つの中身の同じ情報が入っているという状態だった。
動画の世界で何かと話題のWebM(libvpx)ですが、どうなんでしょうか。H.264より性能は少し落ちるという話ですが、特許の問題がないのであれば、少しくらい落ちてもいいかなとは思ってます。Theoraも期待してたんですがそれほど来なかったですね。diracとかschoedingerなんてのもありましたが、やはり来なかったです。WebMはどうなのか?
プレイヤーではvlc(1.1.0)がすでに対応してますし、ffdshowもそのうち対応すると思います。エンコーダはffmpegが対応済みであると。実際にlibvpxとffmpegを使ってみました。Fedora 13のlibvpx/libvpx-develは古いようなので、gitで最新の状態を取ってくる。
- git clone git://review.webmproject.org/libvpx.git
- git clone git://git.ffmpeg.org/ffmpeg/
- cd ffmpeg
- git clone git://git.ffmpeg.org/libswscale/
- cd ../libvpx
- ./configure
- make
- sudo make install
- cd ../ffmpeg
- ./configure –enable-lib{vpx,vorbis,dirac,gsm,mp3lame,openjpeg,schoedinger,theora,x264,xvid} –enable-gpl –extra-ldflags=-L/usr/local/lib
- make
- ./ffmpeg -i /path/to/file.avi out.webm
エラー。
Duration: 00:02:06.99, start: 0.000000, bitrate: 8842 kb/s
Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 tbr, 30 tbn, 30 tbc
Stream #0.1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
[ffmpeg_output @ 0x144b4a0] auto-inserting filter ‘auto-inserted scaler 0’ between the filter ‘src’ and the filter ‘out’
[scale @ 0x1481fd0] w:640 h:480 fmt:yuvj422p -> w:640 h:480 fmt:yuv420p flags:0xa0000004
[libvpx @ 0x1447030] v0.9.1-18-gf1a3b1e
[libvorbis @ 0x14476a0] oggvorbis_encode_init: init_encoder failedOutput #0, webm, to ‘/tmp/out.webm’:
Stream #0.0: Video: libvpx, yuv420p, 640x480, q=2-31, 200 kb/s, 90k tbn, 30 tbc
Stream #0.1: Audio: libvorbis, 8000 Hz, 1 channels, s16, 64 kb/s
今さらですがドイツvs.オーストラリアでワールドカップが開幕しました。退場があったとは言え、何もできずに4-0とはね。日本のスタジアムにはブブゼラを持ち込めるんでしょうか?
先日、写真の管理ソフトをLinux上のdigikam(KDEのソフト)からWindows上のPicasaに変更しました。
発端はVMware Serverが使いづらくなってきたのでVMware Playerに乗り換えようと決心したところあたりかな。ホストはノートPCのWindows Vistaです。
それまでhomedirというvmdkファイルを持ち回りながらVMware ServerにFedoraの新しめなものを入れて、新しいFedoraが出る度(半年ごと)に乗り換えて、VNC経由でデスクトップを使っていた。写真もこのhomedirに入れていたのだけど、これがなかなか厄介で、Windowsからローカルにある写真を見る場合もそこそこあるのだけど、このときSamba/Linux経由では効率が良くない。しかもたまに見ようとするとスワップされているのかどうか分からないけど、異常な遅さになることも。
しばらく前からこのサーバのHDDが壊れがちでSMARTがブータれていました。容量の少なさもあり、昔のデータを消しながらの運用だったこともあり、交換しました。
このサーバは2002年に買ったThinkPadで、かなり古い。本当はfit-PCみたいな小型の省電力マシンを買って、ついでにSATAにして1~2TBくらいの容量にしたいところでしたが、予算の関係でPATAの320GBのHDD(Western Digital)を買って交換しただけ。2.5インチのPATAだとこれが一番容量が大きいようです。値段は1万円もしませんでした。
新しいマシン用の予算とCentOS6を待ちたいという気持ちは大きかったけど、一気にクラッシュする恐怖感には勝てなかったんです。
トラブルはいろいろありました。主な原因は(いつものことですが)手順を考える前に実行してしまったことと、子供の相手があるのでまとまって作業できなかったため、相当横着してしまい、けっこうダウンタイムが発生しました。
私のネット上の活動はこのブログとFlickr、deliciousがメインで、あとは裏でWorld Community Gridは動かしてましたが、このたびネット活動を増やしてみることにしました。
もちろんTwitterじゃないですよ。
というわけで、今日はGPSを使って地図を作るという話です。
この話を始める前に、地図データというのはあまりオープンではなく…ということから話を始めないといけないはずなんだけど、その種の情報はよく知らない。Google mapもYahoo! mapもあるし国土地理院もあるけど、とにかく地図というのはいろいろな意味でフリーなものではない、としよう。だって自分で編集できないでしょ。
世間にはOpenStreetMapというものがありまして、これはみんなでCreative Commonsなライセンスの地図を作ろうというプロジェクトです。地図のWikipediaみたいなもん、と言えばいいんですかね(WikipediaもOpenStreetMapもCC BY-SA)。ユーザが提供したGPSのトラックログなりCCなデータを使って、地図を作る。ユーザはGarminとかのGPSデバイスを持って道路を歩き、そのログをトレースしていけば地図ができるよ、というものです。既存の地図の写しではなく、自前でデータを作って、それをもとにみんなで編集していく。
私にとってはファルコムのゲームと言うとロードモナークです。ゴチャキャラのシミュレーションゲーム。最高傑作と言ってもいいんじゃないか。PC-9801時代にはずいぶん楽しませてもらいました。
音楽フリー宣言で思いだして、検索してみたら、今は無料でダウンロードして遊べるんですね。ユーザが作ったマップでも遊べる。いい世の中になりました。というわけで、先週末は久々にロードモナークで遊んでました。そういえばこんなマップもあったなぁなんて。あの音楽も好きです。
PC-9801当時と比べると、画面の解像度が上がったのでマップの見渡せる範囲が広くなりました。中サイズのキャラでも、ほとんど全部のマップを見渡せます。快適快適。
うちのVistaでは、普通にやると終了時にエラーが出ますが、実行ファイルのプロパティからWindows 95互換モードに設定するとエラーが出なくなります。ただ、セーブがなぜか失敗します。セーブするには、SAVEという名前のディレクトリを掘る必要がありました。
フリーな動画フォーマット、Ogg Theora。こないだ晴れてバージョンが1.0になったので注目を浴びている。いまどきはだいたいMP4(H.264/AAC)が良いとは思うが、永続的に保存する場合はフリーなものという選択肢もある。H.264もいつまで主流か分からないしね。
TheoraはWindows用のコーデックを入れればメディアプレイヤーで再生できるようになる。H.264のMP4はffdshowを入れれば同様にメディアプレイヤーでの再生が可能(ffdshowの新しいのはTheoraにも対応してるのかな?)。デジカメのMotion JPEGのaviは何も入れなくても再生可能。
というわけで、圧縮率を比較してみよう。デジカメを買い替えて、時代によって動画の構成が変わるので、それぞれについて、全部エンコードしてみた。
theoraはffmpeg2theoraでオプションなしでエンコード。H.264は以下のようにエンコード。
##
ffmpeg -i $input -f mp4 -vcodec libx264 -qscale 20 -acodec libfaac -ar 8000 -ab 32 $outp
ut
H.264の動画はこの設定では音声がかなり不自然になってしまうような…。実際に使うためにはオプションを調整することになるだろうけど、サイズの比較には使えるんじゃないかと思う。
| 元データ(motion JPEG) | Theora | H.264 | |
| EXILIM時代 | 35.54MB | 24.88MB(70%) | 17.39MB(49%) |
| Optio時代 | 70.93MB | 22.55MB(32%) | 18.32MB(26%) |
| GRD時代 | 3763.20MB | 1458.04MB(39%) | 705.16MB(19%) |
GRD時代のファイルがやたらに大きいのは、子供をたまに撮るようになったということと、解像度とFPSが上がったため(320x240/15FPS → 640x480/30FPS)。目安的には、1分で100MBくらいになるという印象。
sqliteにもvacuumあるらしいですね。作り直してコピーするという内容らしいですが、作って消して…と繰り返しているDBはかなり小さくなるという噂。
sqliteは便利です。ほかのプログラムに組み込みやすいし、設定も少ないのにSQLを食えるので、いろんなところで使われています。blogのDBに使っている人もいるし、tracのDBなんかも普通はsqliteですよね。
sqliteはFirefoxにも組み込まれている。そこで、Firefoxのプロファイルディレクトリにあるsqliteファイルをvacuumするスクリプト。
パス名がWindows用です。Linuxで使う場合はbasedirに$HOME/.mozilla/firefoxを入れればよいと思われます。Firefoxを閉じてから実行しないとエラーになります。
#! /usr/bin/python
import os,sys
import sqlite3
import glob
basedir=os.path.join(os.environ["APPDATA"], "Mozilla", "Firefox", "Profiles")
for i in glob.glob(os.path.join(basedir, "*.*", "*.sqlite")):
print i[len(basedir):]
con=sqlite3.connect(i)
c=con.cursor()
c.execute("vacuum")
con.close()
確かに、けっこう小さくなりますね。まあ、Firefoxのファイルに関しては気休め程度です。