タグ

nobu-qのブックマーク (476)

  • AnaglyphとKinectを使った3DUI - Preferred Networks Research & Development

    祢次金です。 最近、映画テレビゲームなど、色々な場面で3Dコンテンツに触れる機会が増えてきました。が、現状は3Dコンテンツは受動的に見ているだけ、あるいは旧来からある入力装置を介して操作する場合が多いかと思います。折角3Dで見えているなら、そのまま手で直接操作するかのようなUIを作れないかと思い、Kinectを使って実験してみました。(つまり、今回もKinectネタです。) 操作にはKinectを使うとして、3D映像はどうやって作るかですが、映画にあるような偏光方式やシャッター方式向けの映像を個人で作るのは難しそうです。そこで今回はアナグリフ方式を採用することにしました。画像を左眼、右眼用に赤青2成分に分離して描画し、赤青メガネで見る方式です。この方式であれば特殊な機材は必要ありません。赤青メガネも下の写真のようなものが、Amazonなどで簡単に手に入ります。 今回は実験として、立方体

    AnaglyphとKinectを使った3DUI - Preferred Networks Research & Development
    nobu-q
    nobu-q 2011/09/13
    おめでとうございます!
  • Treasure Data, Inc. | Finding Gems in Your Big Data

    CREATE THE CONNECTION Do more than capture and analyze customer signals. Act on them. Customer Data Cloud unites operations, service, sales, and marketing teams around the same unified customer profiles. When every department has the data and insights they need, they can work together to create connected customer experiences and improve business value. Schedule Demo Watch Video

    Treasure Data, Inc. | Finding Gems in Your Big Data
    nobu-q
    nobu-q 2011/09/02
    2get
  • 本の虫: C++0xによるコンパイル時の配列生成

    Don't do this at home. I am professional. 絶対にマネをしてはいけません。 コンパイルタイムプログラミング - 主題のない日記 昨晩、これと同じことがC++で出来るかどうか質問を受けた。5という数字が与えられたときに、0,1,2,2,3,3,3,4,4,4,4,5,5,5,5,5という数列をコンパイル時に生成できるかという問題である。 その時は、プリプロセッサー以外に、どうにもうまい実装方法が思いつかなかった。問題は、再帰を止める方法だ。しかし、今朝、改めて問題を考えると、頑張ればなんとかなるのではないかとも思った。 まず、プリプロセッサーによる実装を考えよう。これは、BOOST.Preprocessorを使えば、簡単に実装できる。簡単というのは、C++のプロにとって簡単という意味である。言うまでもなく、プリプロセッサーは邪道であり、中でもBoost

    nobu-q
    nobu-q 2010/12/24
  • lock-freeアルゴリズムにおけるメモリ回収 - yamasaのネタ帳

    これは C++ advent calendar の参加記事です。 もともとは「マルチコア時代のLock-free入門」の補遺として書くつもりだったのが、何だかんだで一年近くほったらかしになってしまっていたので、今回 advent calendar という締切りを課すことでようやく書くことができました。(笑) 前の発表で、lock-freeアルゴリズムを C++ で実装するには「タグ付きポインタ」や「Hazard pointer」を使いましょうと言いましたが、具体的な実装コードについてはあまり触れませんでした。そこで、実際に「タグ付きポインタ」と「Hazard pointer」を使い、代表的なlock-freeアルゴリズムである Lock-Free Queue を実装してみました。 GitHub - yamasa/lockfree: Experimental implementations

    lock-freeアルゴリズムにおけるメモリ回収 - yamasaのネタ帳
  • 劣微分を用いた最適化手法について(3) - Preferred Networks Research & Development

    進撃の巨人3巻が11月に発売されるものと勘違いして屋を探し回っていましたが、発売日は12月9日でした。徳永です。 前回は、確率的勾配降下法(SGD)について説明しました。今回はいよいよ、劣微分を用いた最適化手法に付いての説明をおこないます。 前回の復習 前回は、最大エントロピーモデルによる線形識別器の学習方法について説明し、最後に正則化について紹介しました。正則化については重要性を主張しきれていなかった気がするので、もう一度過学習と正則化について説明しておきたいと思います。 前回、間違いは少ないほうがいいよね、というような話をしましたが、間違いには2種類あります。一つは既知のデータに対する間違いの多さで、もう一つは未知のデータに対する間違いの多さです。既知のデータに対する間違いを経験損失と言い、未知のデータに対する間違いを期待損失、もしくは汎化誤差と言います。(間違いと損失はちょっと違い

    劣微分を用いた最適化手法について(3) - Preferred Networks Research & Development
    nobu-q
    nobu-q 2010/12/03
  • 少人数開発に役立つ5つのまとめ

    if ( $blog == " Webエンジニアのためのライフハック " ) { print " 1-byte.jp "; } ホーム1-byte.jpとは 書いてるヒトは ここ2ヶ月間で気になる記事がたくさん上がっていました。 特に少人数チームにおける開発に関する記事です。 昨日、書き上げた”1年間の技術的負債を返すために読んだ3冊の“にある通り、お知らせメールでは1年間の技術的負債を返そうとしています。 そのためには今まで曖昧だった箇所を浮き彫りにし、改善する必要があります。 また、せっかくなので新しいモノも取り入れたい。 こうしたことを考えながらの2ヶ月だったので、自然と目に止まった記事が3つありました。 スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ 複数人(2-3人)でウェブサービスを開発するコツ A successful Git branching m

  • MySQL :: MySQL 5.1 Reference Manual :: 22.2.5 Writing Plugins

    You can write plugins in C or C++ (or another language that can use C calling conventions). Plugins are loaded and unloaded dynamically, so your operating system must support dynamic loading and you must have compiled mysqld dynamically (not statically). A plugin contains code that becomes part of the running server, so when you write a plugin, you are bound by any and all constraints that otherwi

    nobu-q
    nobu-q 2010/11/29
    writing plugins
  • CinderでiPadアプリを実装してみた - Preferred Networks Research & Development

    X’masが刻一刻と迫っています。祢次金です。 前回、「クリエイティブなC++ライブラリ “Cinder” の紹介」と題して、Cinderをご紹介しました。今回はそのCinderを使って、iPad上で動作するパーティクル生成アプリケーションを実装してみたいと思います。 前回同様、環境はMacOSXを想定し、iOS SDKのバージョンは4.2、iPadのiOSは4.2.1とします。 なお、旧バージョンのiOS SDKの場合、iPad simulatorではFrameworkのリンクに一部失敗しているようで、うまくアプリケーションが起動しませんでした。旧バージョンでビルドしたものでも実機では問題なく動作しますが、実装される場合は最新SDKの利用をおすすめします。 雛形の作成と修正 TinderBoxを使ってプロジェクトの雛形をつくります。名前を “TouchTest” とし、Targetは “

    CinderでiPadアプリを実装してみた - Preferred Networks Research & Development
  • プログラマならいつかは読んでおきたい(と言っておけばかっこいい)本10冊 - 2010-11-26 - きしだのはてな

    昨日の技術力をあげたいプログラマが読んでおかないと話にならない10冊は自体にはあまり意味がなくでその技術分野が大事で、あとエントリーレベルのものが多かったので、今日は読み甲斐のあるを。 棚に飾っておくとかっこいいです。あと、屋でまとめて買って持って帰れるなら、値段的にも重さ的にも、尊敬します。 ぼくが持ってないや持っててもほとんど読んでないがかなり含まれてます。「この人こんなも読んでるんだー」などと無用に尊敬したらダメですよ。むしろ、そのように誤解させて尊敬させるためのです。 アルゴリズムデザイン 作者:Jon Kleinberg,Eva Tardos共立出版Amazon読んで面白いし、アルゴリズムカタログじゃなくて設計方法の解説が多いので、とてもいいです。途中までは読んでるので続きを読まねば。 あとアルゴリズムのとしてはアルゴリズムイントロダクションが定番ですが、

    プログラマならいつかは読んでおきたい(と言っておけばかっこいい)本10冊 - 2010-11-26 - きしだのはてな
    nobu-q
    nobu-q 2010/11/26
    最後wwww
  • 劣微分を用いた最適化手法について(2) - Preferred Networks Research & Development

    まちがえて鋼の錬金術師の最終巻を2冊買ってしまいました。研究開発チームの徳永です。 前回は、線形識別器まで説明しました。今回はその続きからです。 まずはじめに、前回の内容を少しおさらいしておきましょう。線形識別器ではそれぞれの入力に対して重みがつき、その重みパラメーターを調節するのでした。この調節を最適化といいます。 パラメーターの最適化とは パラメーターを調節する、といっても、どのようにして調節すればいいのでしょうか?調節して、パラメーターが良くなったということを、どうやって判断すればいいでしょうか? 例えば、パラメーターを調節することによって、間違いが減ったら、それはパラメーターがよくなった、と言えるでしょうか?まぁ、これはよくなったと言えそうですね。(実は、これはちょっと雑すぎる議論なのですが、それについては後で説明します。) 上の例のように、パラメーターを調節する際にはなんらかの目

    劣微分を用いた最適化手法について(2) - Preferred Networks Research & Development
    nobu-q
    nobu-q 2010/11/26
    はがれん
  • スクラムブートキャンプ 〜 今からスクラム/アジャイルをやってみようという人のための道しるべ - kawaguti’s diary

    スクラムアジャイルを学ぶためのおすすめ書籍を並べておきます。 (09/11/30 スクラムチェックリストを追加、09/12/01 アートオブアジャイルデベロップメント追加、10/02/26 スクラムガイド、スクラムマスタ研修を追加、10/02/27 プランニングポーカーの記事を追加 10/03/20 今村さんのスクラム概要を追加 10/04/07 Scrum in 5mins 追加) 拙作、PublicKeyにも掲載していただいた 10分でスクラム Scrum in 10mins 20110118 scrum 10 mins View more presentations from kawaguti 拙作、スクラム入門 Scrum in 5minutes 20100323 Scrum5minsView more presentations from kawaguti. InfoQ: 塹壕

  • 劣微分を用いた最適化手法について(1) - Preferred Networks Research & Development

    みなさん、こんにちは。もしくははじめまして。研究開発チームの徳永です。 とんかつ教室のロースおじさんぐらいにぶっとんだブログを書いていきたい、そういう情熱をもって僕はこのエントリを書きはじめました。しかし、現実は厳しく、そのようなエントリを公開してしまうと、2日後ぐらいには僕の机がオフィスからなくなっていそうな気配が濃厚になってきています。そこで今日はおとなしく、最適化と機械学習の関係について、みたいなところを書いていきたいと思います。なお、タイトルにもありますが、このシリーズでは最終的には劣微分を用いた最適化手法の論文をいくつか紹介したいと考えています。 情報科学における最適化問題というのはいろいろな種類があります。最適化問題っていろんなのがあるんやねー、みたいなところに興味がある人は、wikipediaとかで確認してください。最近、機械学習と呼ばれる技術がいろいろなところで使われるよう

    劣微分を用いた最適化手法について(1) - Preferred Networks Research & Development
    nobu-q
    nobu-q 2010/11/19
  • クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development

    こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな

    クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development
    nobu-q
    nobu-q 2010/11/19
    恋しい
  • IRB それはRubyistの魔法のランプ - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 IRB それはRubyistの魔法のランプ : melborne.github.com - IRB*1 名前を聞けば誰でもわかる 超有名なライブラリ IRBを知らなけりゃ それはもぐりのRubyist :$ IRB 全部のRubyに付いてくる あなたとRubyの対話の窓口 できないことがあるのなら irbと打ってみよう rubyと打ってもダメですよ IRB それはRubyistの魔法のランプ こすれば何かが現れる IRB それはRubyistの魔法のランプ こすって願いを叶えよう I RuB you I RuB you :TO IRB 色気がないのはご愛嬌 色がいるなら .irbrcしてください 補完だってインデントだって そうしたいならプロンプトだって あなた

    IRB それはRubyistの魔法のランプ - hp12c
  • Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog

    Rapidly Realizing Practical Applications of Cutting-edge Technologies

    Googleの並列ログ解析向け言語「Sawzall」が公開されたので使ってみた | Preferred Research Blog
    nobu-q
    nobu-q 2010/11/09
    テスト
  • 大規模データで単語の数を数える - ny23の日記

    大規模データから one-pass で item(n-gram など)の頻度を数える手法に関するメモ.ここ数年,毎年のように超大規模な n-gram の統計情報を空間/時間効率良く利用するための手法が提案されている.最近だと, Storing the Web in Memory: Space Efficient Language Models with Constant Time Retrieval (EMNLP 2010) とか.この論文では,最小完全ハッシュ関数や power-law を考慮した頻度表現の圧縮など,細かい技術を丁寧に組み上げており,これぐらい工夫が細かくなってくるとlog-frequency Bloom filter (ACL 2007) ぐらいからから始まった n-gram 頻度情報の圧縮の研究もそろそろ収束したかという印象(ちょうど論文を読む直前に,この論文の7節の

    大規模データで単語の数を数える - ny23の日記
    nobu-q
    nobu-q 2010/11/09
  • Scalaでの例外処理 - Either,Option,util.control.Exception - ( ꒪⌓꒪) ゆるよろ日記

    今日はScalaの例外処理について解説しますよ。 基 - try,catch,finally 例外処理の基は、try,catch,finallyです。これはJavaと同じですね。 ただし、Scalaでのtry,catch,finallyは値を生成します。つまり、実行されたブロックの値が評価されます。 scala> val n = try{ "99".toInt } catch { case e:Exception => -99 } n: Int = 99 scala> val n = try{ "foo".toInt } catch { case e:Exception => -99 } n: Int = -99 上記のように、catch節には "case e:Exception => ..."のようなパターンマッチを書くことで、対応する例外の型に応じて補足することができます。try,

    Scalaでの例外処理 - Either,Option,util.control.Exception - ( ꒪⌓꒪) ゆるよろ日記
    nobu-q
    nobu-q 2010/10/28
  • Scalaの抽象構文木(abstract syntax tree、AST)をグラフィカルに表示するオプション - ( ꒪⌓꒪) ゆるよろ日記

    「そんなASTで大丈夫か?」 ということで、ほとんどの言語はプログラムの内部表現として抽象構文木(abstract syntax tree、AST)を作ると思います。Scalaももちろんコンパイルするときに作ります。 で、Scalaコンパイラが生成してるASTを見るオプションがあります。 "-Xprint:<phase>"オプションと"-Ybrowse:<phase>"オプションです。 こんなコードがあったとして、 case class Cell[T](v:T) { // TがInt型の場合にのみ呼び出せる def increment(implicit ev:T =:= Int ):Cell[Int] = Cell( v + 1 ) import java.text.SimpleDateFormat import java.util.Date // TがDateまたはそのサブタイプのときに

    Scalaの抽象構文木(abstract syntax tree、AST)をグラフィカルに表示するオプション - ( ꒪⌓꒪) ゆるよろ日記
    nobu-q
    nobu-q 2010/10/28
  • google mockで快適テスト生活 - くまメモ

    googleにより公開されているgoogle mockが使いやすかったので使い方紹介。 http://code.google.com/p/googlemock/ から落としてペペっと入れましょう。 使いたいシーンとしては、充分モジュール化されたオブジェクト指向プログラム中で int main(){ A a; B b; func(&a, &b); // a->hoge(1) と b->fuga(2,3) が呼ばれて欲しい! } この様に特定の関数が狙った通りの動作をして欲しい(というか、その動作をすることを仕様化したい場合) #include <gtest/gtest.h> #include <gmock/gmock.h> class mock_A{ public: MOCK_METHOD1(hoge,void(int)); // void hoge(int);と同義 }; class mo

    google mockで快適テスト生活 - くまメモ
  • OAuthプロトコルの中身をざっくり解説してみるよ - ( ꒪⌓꒪) ゆるよろ日記

    「おーおーっすっ!」 てなこって、TwitterAPIのBASIC認証も6月末に終了してOAuth/xAuthに移行するというこの時期に、あらためてOAuthについて勉強してみたんですのよ? OAuth認証を利用するライブラリは各言語で出そろってきてるのでそれを使えばいんじゃまいか? というと話が終わるので、じゃあそのライブラリの中身はなにやってんのよってことを、OAuthするScalaのライブラリ作りながら調べたことをまとめてみました。 間違っているところもあると思うのでツッコミ歓迎です>< OAuthってそもそもなんなの? ものすごくざっくりというと「API利用側が、ユーザ認証をAPI提供サービス側にやってもらうための仕様」って感じでしょうか? BASIC認証の場合、API利用側が認証に必要なアカウントやパスワードを預かる必要があるわけです。悪意のあるAPI利用側が「なんとかメーカー

    OAuthプロトコルの中身をざっくり解説してみるよ - ( ꒪⌓꒪) ゆるよろ日記
    nobu-q
    nobu-q 2010/10/06