2010年8月31日火曜日

Googleストリートビューであなたの街がPVに

TechCrunch Japanより。

Google Chrome、HTML5の可能性を実証。ストリートビューを使ったマッシュアップ動画は感動的

音楽と、ソレっぽい映像と、ちょっとしたCGとを、指定した街のストリートビューと合成するサイト。

技術力云々あるけど、とりあえずカッコ良いから見るべし。

HTML5なので、多分IEだと見られない予感。

裁断本.コム

GIGAZINEより。

裁断済みの本を売買できる「裁断本.コム」

ついに、裁断済みの本を専門に取り扱うECサイトが出現。
といってもまだテスト段階で、一般の人(管理者以外)は出品できないらしい。

実際、PDFにするんだったら綺麗な本いらないし、切った後の本も余るんですよね。。。
ヤフオクとかで売買すんのもめんどくさいし。
(僕も裁断済みの本が玄関に積んであります。。。)

それが安く売買できるんなら最高。
というか、BOOKOFFあたりもそろそろ始めるんじゃないだろうか。。。

塗るだけでそこがホワイトボードになる塗料

GIGAZINEより。

壁でもなんでも塗るだけでホワイトボードになる「IdeaPaint(アイデアペイント)」

これは欲しい!
粘度が高く、塗るとテラッテラになる塗料らしいです。
これ、マジで欲しいなぁ。
会社の机をこれで塗りたい。

あ、でも汗でぬるぬるになるかな…

火星の写真

GIGAZINEより。

地球では考えられないようなすさまじい火星の風景35枚

なんか一昔前のCG見てるみたい。
顕微鏡写真みたいに見えるものもありました。

そろそろウォークマンがiPodを抜くらしい

産経ニュースより。

ウォークマン、「悲願」のアイポッド超えへ 8月の国内販売

ついにWalkmanの販売がiPodを超えるんだとか。

実際に音聴いてみると

Walkman >>> iPod

なんすよねぇ。

管理ソフトのできが

Walkman << iPod

で、一般的な憧れ度も含めた「かっこ良さ」が

Walkman < iPod

ぐらい。
(もちろん好き嫌いは個人によるけど、それでもまだiPodの方がWalkmanより Cool なイメージである事は否定できない)

価格はほぼ同じなので、差し引きの価値はトントンで、お好きな方を、て感じですからね。

僕は iPhone 使ってるけど、一時期、本気で Walkman と二台持ちしようかと悩んだなぁ。。。

SKULL-A-DAY

毎日1つずつ骸骨を作り続けるサイト。

SKULL-A-DAY 4.0

全然グロくはなくて、むしろかっけー。

2010年8月30日月曜日

jQuery Sliding Clock

うへぇ、これはすげぇ!
とりあえず、見ればわかります。

jQuery Sliding Clock v1.1

アイデアの勝利ですね。。。

日体大の集団行動

IDEA * IDEAより

(今更ですが)日体大の集団行動、すごいですね・・・

これは凄い…
10分近くあるものの、あっという間に見てしまいました。
いわゆるマスゲームのようなものなのですが、クオリティたけぇ!マジかっけぇ!

百式クーポン開発時のミスが公開されてます

IDEA * IDEAより。

【百式クーポン開発日誌】 3日間の運用でやってしまったミスを全部公開しておきます・・・

Webサービス作ってるとこの手のミスはとにかく頻発するというか
もはや日常になっちゃう部分もありますけど、
それを正直に公開できちゃうのが凄い。

普通は気づかれなければ、なかったことにしますから。

【Twitter】 2010-08-29

  • 21:51  温泉卵作ったら、失敗してゆで卵になた。。。しかも殻が剥けない。最悪だ。。。
  • 18:22  国民健康保険の事で窓口に電話したら、均等割は払わなくても良くなった。滞納分は分割で払うなり。。。
  • 05:36  ミルクティーは牛乳で作るのも良いけど、生クリームで作るのオススメ。薄くならないし冷めないし。

2010年8月29日日曜日

HDMI 1.4aでは入力音声をそのまま映像と一緒に出力できる

ITmedia +D LifeStyleより。

3Dと4K2Kだけではない「HDMI 1.4a」の新機能

HDMI 1.4aの新機能を紹介してる記事です。

その中でようやく来たのがこれ!


  • オーディオリターンチャンネル(ARC)

 Dolby DigitalやAACといったデジタル音声を、受信側から送信側に伝送可能にする規格。例えば、BDプレーヤーの音声をAVアンプ経由でテレビに送るという接続形態では、従来のHDMIではテレビのチューナーで受信した音声は別途光デジタルケーブルを利用してAVアンプに伝送するしかなかったが、ARCではテレビからAVアンプへHDMI経由でデジタル音声を伝送できる。




むしろ今まで無かったのねぐらいの機能なんですけど、なかったんです。

そろそろケーブルは統一されるか…?

Gizzardに関するメモ

Twitterが採用している分散テンプレートフレームワークのGizzardに関するメモ。

アップル、「Mac OS X Server」搭載システムから「Boot Camp」をカット

ZDNetより。

アップル、「Mac OS X Server」搭載システムから「Boot Camp」をカット

Mac OS Xが載ったPC上でWindowsをインストールできるようにする仕組みであるBoot Camp
Server以外はそのまま載り続けるようです。
確かに普通に考えたらサーバーマシンを再起動してWindowsとして立ち上げ直すとか、あんまり無いよな。
その少ない可能性のために動作検証とかメンテナンスとかするのが大変だったんだろうなぁと予想。

C#の部分クラス

C# 2.0以降だと、部分クラスなるものが使えるらしい。

連載:[完全版]究極のC#プログラミング Chapter8 部分クラスと静的クラス

別々のファイルに一つのクラスの定義を書ける。
へー。
ソースが長過ぎて追うのがつらいときとか、機能が似ている関数群をひとまとめにしたいときに便利だ。

using System;

partial class SampleClass // 部分クラス(SampleClassの一部)
{
 public static void SayHello()
 {
  say("Hello!");
 }
}

class Program
{
 static void Main(string[] args)
 {
  SampleClass.SayHello(); // 出力:Hello!
 }
}


using System;

partial class SampleClass // 部分クラス(SampleClassの一部)
{
 private static void say(string message)
 {
  Console.WriteLine(message);
 }
}

を別々のファイルに書いても、コンパイルすると動く。

密結合と疎結合のバランス

先日、会社の人と
「自分たちで1からシステムを作る場合、それを構成する各クラスは
あらゆる場面でカプセル化し、疎結合であるべきか」
という話をしてました。

彼の意見は「各オブジェクトは別のオブジェクトの中身を知る必要はないのだから、Yes。」

僕の意見は「時間がかかりすぎるので、No。」



一見して分かるように僕が技術者としてヘタレてるだけなのですが
現実問題綺麗に書こうとしすぎるとステップ数が増えまくるし、
コメント整備も大変だし、時間もかかりすぎるんですよねー。

思うに、昔々にCでオブジェクト指向な書き方をしたときの
「ポインタを渡すと渡し先のオブジェクト内でコアダンプ吐いて落ちまくる」
という経験がトラウマになってるのかなぁ。



ドキュメントが異様に整備されていない限り、渡し先の中でどういう処理をしていて
どういう入力を期待しているのかをある程度知らないと
結局は無効なオブジェクト(のポインタ)を渡してしまい、処理できなくなってしまう。

とすると引数の中身を調べるためだけに、ソースを追ってクラスの中に入って関数たどってまた別のクラスに飛んで…
というのを延々とくり返さなきゃならない。

そんなことをしなくても良いようにクラスを書こうとすると
バリデータなり例外処理なりがコードのほとんどを占めてしまう。
ロボットのフレーム問題でも判る通り、極論を言えば例外処理にキリはない)

であればオブジェクト指向的にあまり綺麗でないとしても、大きめの関数でベタに書くとかの方が
書くのも読むのもメンテするのも速い場面もあるんでないの?というのが僕の意見なのです。



もちろん、理想像として各オブジェクトが疎であるべきだとか
各関数は出来るだけ小さい処理単位であるべきだとかは判る
(だから彼が間違ってるなんて全然思わない)んですけど、
現実問題それがベストかどうかは、開発期間やメンテする人数によるよね、ていう。。。

オープンソースプロジェクトで会った事も無い人たちと何年にも渡って開発を続けたり
数十人の開発体制で部署がゴボッと分かれてるとかならオブジェクト指向原理主義がベストかもだけど、
1人とか多くて数人とかで1〜2ヶ月でサイトを作れって話だと、速さを優先するのもありじゃね?

ていうか手続きもOOPも適材適所じゃね?

みたいな話をしてたら「じゃあ速く書けるように努力するのが筋だ」と言われましたw

そらそうだけどもw

OOPは速く書くためのものだって話もあるので
結局僕が使いこなせてないだけなんだろな。。。

連載:jQuery逆引きリファレンス 第10回 jQuery 1.4編

@ITで連載されてた jQuery逆引きリファレンス が最終回。

連載:jQuery逆引きリファレンス 第10回 jQuery 1.4編

最後は最新のjQuery 1.4に関する新機能の話+α。
jQuery 1.4 は実行速度がかなり速いという話ですので、試してみようかなぁ。

2010年8月28日土曜日

アカウントまとめ完了

調べた事や感じた事をネット上に出していこうと思います。
そのためにいろいろなサイトに登録。
アカウントをほぼ一つにまとめたので、ボチボチ使って行きます。

2010年8月26日木曜日

本城直季の写真は何故ミニチュアに見えるのか?

僕が好きなアーティストの1人に、本城直季さんがいます。

名前は知らなくても、最近流行のミニチュア風の写真を撮り始めた人、と言えば何となくわかると思う。
実物は StairAUG とか Google画像検索 とか。

普通のデジカメで撮った写真をパソコンでこれ風に加工するソフトとか
iPhoneで加工するアプリとかもありますよね。
(TiltShift GeneratorはUIの完成度も凄まじいので、UIやUXに関わる人はとりあえず一回は触っとけ)

ただ、偉いもので、世の中には「なぜミニチュア風に見えるのか」を学術的に研究しちゃった人がいる。
東北大学の岡谷准教授。
「本物なのにミニチュアに見える風景の写真」の視覚計算論的考察
難しいことがいろいろと書いてあるのだけど、ザックリまとめるとこんな感じ↓

すぐ近くの風景がボケている

こんな風に撮るには、レンズの焦点距離がベラボウに長いか、寄って撮るしかない

遠くから撮ってすぐそばがボケるほどの焦点距離の長さは考えられない

寄って撮ったんだ

寄って撮っても街が丸ごと入るほど小さい

これはミニチュアだ

当然、カメラ好きやそっち関係の仕事の人でもない限り焦点距離云々なんてのはわからないので
単純に「遠くから撮ってこんな風になる風景なんて見た事無い」という話でしょうね。

実際、ミニチュアに顔を思いっきり近づけると周りの方はボケるけど、
見晴らしの良い場所で街を見てもそんなにボケませんしね。

言葉と感覚では分かるけど、数式にしちゃうのが凄いですよね。

2010年8月23日月曜日

A/Bテストの信頼性

ぎゃーーー!!!
これは確かに恐ろしい…↓

これは恐ろしい!全く同じ画面でA/Bテストを実施したら・・・

同じ画面でA/Bテストをしても差異が発生する、というお話です。
それ自体は当然起こりうるというか、母数がそんなに多くなければ起きなきゃおかしい話なのですが、
実際に数字として出されると恐ろしい…

ところでこの方、自分もTwitterでフォローしてる ヤコブ・ニールセンBot の作者さんでした。

正答率3%! ビービットの傑作(?)オリジナル・インターン選考問題
あ、ビービットの方なのか。

「JavaScript: The Good Parts」まとめ1

1章


導入。

2章


2.1 ホワイトスペース
  • /**/ 形式のコメントを使うと正規表現内で */ が問題になることがあるので、// のみ使う。
2.2 名前
  • 名前に使えるのは、アルファベットと数字とアンダースコア。
2.3 数値
  • 数値型は一つ。64ビットの浮動小数点 = double のみ。
  • 1 === 1.0、100 === 1e2
  • NaNは通常の値を生成できない計算の結果。
  • Infinity > 1.798e+308
2.4 文字列
  • 全ての文字が16ビット長
  • 一文字だけのときでも文字列型
  • "A" === "\u0041"
  • 'c' + 'b' + 't' === 'cat'
  • "cat".length === 3
2.5 命令文
  • varで変数を定義するとプライベート変数になる。
  • JavaScriptはブロックで新しいスコープを生成しないので、変数はブロック中ではなく、関数の先頭で定義すべき。
  • if は false, null, undefined, '', 0, NaN のときに false と判定する。それ以外は true。
  • for は for(var i; i<25; i==){} みたいなのと for(myvar in obj){} とがある。
  • try, throw, catch が使える。
  • return で値を指定しないと、戻り値は undefined になる。
  • break label; とすることで、label へジャンプする。
2.6 式
  • A ? B : C で Aが真ならB、偽ならC
  • typeof number, string, boolean, undefined, function, object は正常に動くが、配列が null だとなぜか結果が object になる。(仕様上のミス)
2.7 リテラル
  • 「リテラル」とは、新しいオブジェクトを定義するための記法のこと。
  • オブジェクトリテラル {名前:式}
  • 配列リテラル [式]
  • 正規表現リテラル /正規表現/gim
2.8 関数
  • function 名前 (a, b) {}
  • 名前はあっても無くても良いが、再起的に呼び出す場合には必要。

2010年8月22日日曜日

写真のリアル感を出す処理(アイデア)

デジタル写真を、粒子荒めの銀塩紙に焼いたもののように見せる技術に需要はないでしょうか。
写真の解像度を縦横4倍ぐらいにして、ノイズリダクションしつつフィルムグレインを載せてもとに戻す、とか。

映像などの風化系処理ではそれっぽいものもあるようです。
詳細は不明ながら、各フレームについて確率密度関数かなにかを使ってノイズを載せているようです。

基本はガウスノイズで、楕円フォーカスとか併用しつつランダムなパラメータでぼかしを掛ければソレっぽくなるかも?

エスプレッソに絵を描く機械

うっひゃー!欲しい!


Selected works at SIGGRAPH 2008

画像認識系のブレイクスルー

次の画像認識のブレイクスルーは、多分、カスケードのカスケード。
別々の物体の認識機の重み付き重ね合わせ。
そして、別の切り口からみた認識機も並行で走ってて、更なる重ね合わせで尤度を出す。
確証はないけど、なんとなくそんな気がします。

ScanSnap S1500で本の電子書籍化

最近、徐々にScanSnap S1500を使って本を電子書籍化しています。

電子書籍といっても形式は様々で、今主流のものだけでも
  • ePub (for Apple, Adobe, Sony, Google etc)
  • AZW (for Amazon Kindle)
  • CEBX (for 方正阿帕比)
  • PDF
  • JPEGをZIPでまとめたもの
があります。
今のところ僕が電子書籍を読むデバイスはiPhone, iPad, PCのディスプレイだけなので、狙うは
  • 原本:保存用、PCでの閲覧用
  • 携帯:iPad、iPhone用での閲覧用
なんですが、現状では自分の原稿を電子書籍にして「出版する」ことはしていないので、単純に
  • PDF
  • JPEG-ZIP
だけを考えます。
先に自分なりの現時点での結論を出してしまうと
  1. 教科書、技術書、文庫本など文章中心のもの
    • 原本:600dpiのカラーのPDFで取り込んで、そのまま保存
    • 携帯:300dpiのグレースケールのPDFで取り込んで、ScanSnap ManagerでOCR
  2. 漫画
    • 原本:600dpiのカラーのJPEGで取り込んで、eTilTranでJPEGをフォルダに入れて保存
    • 携帯:原本をChainLPで調整してJPEG-ZIP化
  3. 美術本
    • 電子化せず、本のまま置いておく
という感じになります。
このへんの細かい事は徐々に書いて行きます。



ScanSnap S1500そのものについては、この辺りが非常に分かりやすいです↓

2010年8月21日土曜日

PHPの再コンパイル

  1. phpinfo()の表示結果をどこかに保存しておく
  2. 必要ライブラリがインストール済みかどうかチェック
    rpm -qa|egrep 'lib(jpeg|png)'
  3. ソースフォルダに移動
    cd /usr/local/src/
  4. コンフィグ
    ./configure --with~~~
  5. コンパイル
    make
  6. インストール
    make install
  7. Apache再起動
    /etc/init.d/httpd restart
  8. phpinfo()をチェックして、必要な項目が変わっていることを確認