1/17の記憶

意識では忘れていた1月17日。例年の事だが16日〜17日には体調を崩してしまう。それは今年も同じだった。17年前の1月17日、小学生の頃だ。普段は起きても来ない早朝に大きな揺れが襲ってきた。

阪神淡路大震災と呼ばれるようになる大地震、兵庫県南部地震

幸いにも家族の中には人的被害は無かったのだが、意識がはっきりするにつれて恐怖を感じた覚えがある。

20インチ後半のブラウン管TVが両親の近くに落下し、その上に大きなタンスが倒れこむ。運良くテレビとタンスの間になり怪我も無かった両親の寝室や、兄弟同部屋にあった小さなタンスが倒れてガラスが散乱していたり、外壁の一部が床と離れて数センチの隙間があき、3階から地面を見える形になっていたり。

タンスとテレビを戻してつけたTVには横倒しになった高速道路の映像が流され、次々と死傷者の数が増えて行くのを目の当たりにした。

当時通っていた学校での被害者は一人と、神戸市灘区などの被害が大きかった地域に比べればマシという状況ではあったが、同じ学年の子が亡くなったというのも衝撃だった。特に仲が良いという訳でもなかったが、記憶に残っている。

その後、ライフラインの復旧の目処も立たず、震災後の対応で忙しい父親を残して母親の実家へと避難をしていた。

一時転校という形で避難先の小学校にお世話になりつつ数ヶ月の間の避難の後に西宮に戻ったが、ライフラインは復旧しつつもあちこちに爪痕が残る状態だった。

その後は大きな地震も無く、徐々にではあったが街並みが変わっていく様子を見ながら生活を送っていった。

そして去年あたりに完全復興の宣言が出されて一区切りがついた所である。

この経験があるからか、毎年1月17日頃には体調を崩してしまう。昨年までは「あぁ、そろそろ17日か」という意識もあるせいで体調を崩しているのかと考えていたが、今年に限っては東日本大震災の記憶が新しく失念していた。

しかし、例年のように体調を崩してしまった。記憶が薄くとも身体は覚えているということだろうか。

2007年。Twitterを知って始めたころ、ちょうど地震の研究を行う研究所に派遣で働いていた(事業仕分けで働いていた場所が本家に統合されて無くなってしまったのが少しばかり悲しい所)。

そこではまだ緊急地震速報が一般運用が本格的にされる前だったが、一台のモニタに日本地図が描かれており、そこに地震発生時に震源が表示されていた。それに感化されたと共にTwitterの速報性やAPIに可能性を見た私はearthquake_jpの開発を始めた。

これも元々被災者という事と、その際に情報がTV・ラジオのみしか情報源がない事に不安を感じていたからであって、この経験が無ければearthquake_jpを作っていなかったかもしれない。

そして東日本大震災をきっかけに自宅にシステムを置いておくことに不安を感じ、外部のサーバに配置するようにした。これは東海地震が発生し、被災した場合の事を考えての事ですね。

これから先もできる限り続けていきたいと思う、今日この頃でした。

WindowsのGoogle Chrome(Dev Channel)で一部フォント描画が崩れる件

自分が調べた限りではfont-familyにarialが指定されているサイトで発生しているように感じている。
arialという事はフォントリンクでMS Pゴシックあたり?を参照しているかと思われるので実験してみた。

MS UIゴシック

MS UIゴシックで表示した場合

MS 明朝

MS明朝で表示した場合

メイリオ

メイリオで表示した場合

MS~系フォントだと崩れる感じ。
とりあえず見れるようにするためにChrome Stylistで全サイトにユーザCSSを適応させてリセットすることによって対応できた。

* { font-family:sans-serif !important; } pre,code,kbd,samp,tt { font-family:monospace !important; } 

もちろん、ブラウザのフォント設定はMSゴシック系以外で。
これで暫定的にフォント描画崩れが無い状態で見ることができる。

Chromeがちゃんとしてくれれば一番良いんですけどね。

追記

Issueを確認しているとCJKフォントで発生しているようで、次回のDev channel更新では修正されているかもしれません。

Issue 98155 – chromium – Bad rendering of CJK characters

地震予測についてのヒトコト言っておくか。

普段は誰がいつ地震が起きると言っていても個人アカウントだったのでスルーしていましたが、仮にも地震botを名乗るアカウント「@eq_tokyo」が予測情報を投稿したのでイライラしていた。
もちろん、情報元のサイトが研究所等のサイトではないのではないかという苦言は他の方からも行っていたのでその点についてはあまり大きな反応をせずに@earthquake_jpで信頼性が低い情報という旨を投稿した。


問い合わせがあったので一応。36時間以内に東北地方で大きめの地震が発生するという某ツイートが流れていますが、根拠のない情報と思われます。確認は行ってませんが、海外の個人サイトの情報というツイートを見かけています。(真偽未確認)ちなみに現時点では地震の予知は難しいとされています。less than a minute ago via Tweetbot for iPhone Favorite Retweet Reply

しかし、本日(2011/08/31)になっても公式RTで予測情報を流していたので思わずカッとなって書くことにした。

※自分は地震の専門家でもないし気象庁等の政府機関などと関係はありません。2007年から地震情報を流していただけの人です※

Continue reading

各リソースをgz圧縮して転送量を抑える

ライブラリに関してはCDNのキャッシュを使う事も出来ますが、自作のライブラリやCSS等のリソースはCDNには登録されていないので
ファイルの転送サイズが膨れがちです。

そこで対応ブラウザの場合はリソースファイルをgz圧縮して転送するように設定する方法を備考録として書いておきます。

参考サイト

前提

転送数を減らす為にCSSとかJavaScriptとかで1ファイルにまとめられるものはまとめておく。

それに加えて圧縮をかける事により転送するデータ量を減らします。

また、gz圧縮できるアーカイバが必要。

ファイルの圧縮

まずは対象のファイルをgz圧縮します。

gz圧縮は1ファイルしか圧縮できない形式なので、まず、CSSやJavaScriptファイルを1つにまとめておきます。

別にまとめなくともこの手法は有効ですが、転送数が多いままになってしまうことと、読み込み方法によってはシリアルで読み込んでしまうのでまとめておく方が早いです。

まとめたファイルをgz圧縮します。自分の場合、windowsではExplzh、mac/linuxの場合はgzip -c [ファイル名] > [ファイル名].gzを使用しています。

.htaccessの作成

gzファイルが存在する場合はgzファイルを読み込むように設定をします。

最近は使えるサーバが多くなっていますが、mod_rewriteがサーバに入っていないと使えません。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME} !.gz$
    RewriteCond %{REQUEST_FILENAME}.gz -s
    RewriteRule .+ %{REQUEST_URI}.gz

    <FilesMatch ".html.gz$">
        ForceType text/html
        AddEncoding x-gzip .gz
    </FilesMatch>

    <FilesMatch ".txt.gz$">
        ForceType text/plain
        AddEncoding x-gzip .gz
    </FilesMatch>

    <FilesMatch ".js.gz$">
        ForceType application/x-javascript
        AddEncoding x-gzip .gz
    </FilesMatch>

    <FilesMatch ".css.gz$">
        ForceType text/css
        AddEncoding x-gzip .gz
    </FilesMatch>
</IfModule>

まず、mod_rewriteでgzファイルが存在する場合にはアクセスされたファイル名.gzを読み込むように切り替えています。

そして、FileMatchでファイル毎にMIME-TYPEとgzエンコードを指定しています。

これによってgz圧縮ファイルに対応しているブラウザの場合はgzファイルを読み込めるようになります。

更に高速化

これだけでファイルのサイズが下がりますが、キャッシュで持たせるようにしておきます。

これも.htaccessに記述する事によって利用可能です。

ExpiresActive on
ExpiresDefault "access plus 1 month"
FileETag None

実験中(autotestもどき+growl)

開発時にテスト結果がバンバン出るのがいいなとRuby界隈を見ていて思ったのでいろいろ実験。

実行したらGrowlに開始通知。

Phingでlintとユニットテストを走らせるように書いておく。
さっきのバッチファイルはphingを実行するようにしてる。

監視対象のファイルを更新して保存すると裏でphingコマンドを実行して、テストとlintを実行している。
そのログがGrowlに出力されている図。

ある程度まとまれば公開するつもりだけど、仕事が忙しくてリリース物作るほどの余裕がない罠。

デザイン調整中

地味にですがデザインの調整を始めました。
いろいろな所にファイルが分かれてしまって自分でも訳が分からなくなってきたので、頑張って調整して使えるようにしていこうとか考えてます。

とりあえず今の時点ではヘッダ部分のみ完了

Start transrain

旧ドメインで使っていたメールアドレスがOP25Bでメール送信できなくなったついでにSPAMメールにうんざりしていたので、新しいドメインを取得してサイトも移転させました。
これからも旧ドメイン自体は使っていきますが、どちらかと言うと開発サーバとしての活用がほとんどになると思います。

新ドメインではメールアドレスの管理とサイトの管理に使っていきます。なのでその内「Avenie Puffer Trackback Center」も移動させます。
移動させるとしたら「http://avenie.transrain.net/」になるかと思います。
ほら、たまに落ちてる事あるじゃない?

Continue reading