スプライン曲線で簡単お手軽ベイズ推定

R

R Advent Calendar 2013の11日担当記事です。 日付を一日勘違いしてしまい一日遅れになってしまいました。すみません。テーマは、スプライン曲線で自由に設定した確率分布を使ってベイズ推定をやってみよう、というものです。ガウス分布もベータ分布も出てき…

Googleのソーシャル広告が凄い件

ネイティブ広告関連エントリです。そういえばOutbrainが本格的に日本進出だそうですね。それはさておき、Googleがローンチした「Google+を使って記事広告をアドネットワークに露出出来るサービス」が凄いです。追記:「+ポスト」というらしいです何が凄いか…

Sprayの簡単な紹介

Scala Advent Calendar 2013の10日目担当記事です。みんなガチな人ばかりで怖いです。あまり期待しないでください。ググっても日本の記事があまりないSprayの紹介をしてみます。あと表題と関係ないですが最近書いたPlayFrameworkにSlickやSecureSocialを入れ…

デジタルな非言語的コミュニケーション

Facebookをついつい見に行ってしまう。それも、一日に何度も。そんな僕みたいな人は少なくないだろう。FBは「Webサービスにおいて人の存在感を感じさせるインタフェース」を徹底的に追及していると感じる。特に凄いと思うのが「いいね!」のフィードバックに…

HaskellなAltJS達をいじってみる

Haskell Advent Calender 2013 12/5日当番記事です。CoffeeScriptとかHaxeとかTypeScriptみたいなJavascriptにトランスレートして使う言語たちをAltJSっていうそうです。HaskellコードをJSに変換するプログラムもいくつかあって、このページに一覧があって詳…

node.jsで作るアドホックなミラーサーバ

Node.jsアドベントカレンダー2013の4日目。node.jsを使うとWebプロキシサーバのようなものは簡単に作れますが、それと似た仕組みでミラーサーバを作れます。機能要件*1は以下を想定します。 一個のNode.jsプロセスで複数のサイトをミラー出来る ブラウザ側の…

ネイティブ広告を分解して考える

ネイティブ広告とは「コンテンツと広告でUXが一致する」というのが出発点で以下は詳細。 UX=コンテキスト+クリエイティブ UXの構成要素は「コンテキスト」と「クリエイティブ」の2つであり、コンテンツと広告で両要素とも一致しているものがネイティブ広…

消費者のコスト感覚における有限性と無限性

CDという言葉を聞かなくなって久しい。DVDよりニコ動、プレステよりスマホゲーム、という人は多い。物理的な質感という長所があるにもかかわらず、パッケージメディアは時代遅れだという実感は確かにある。パッケージの持つ質感を突き詰めると「有限性」をい…

自分の頭で考える際に「自信」よりも大切なこと

自分の頭で考えることが大事だとよく言われる。他人が考えたことに従うと自分よりも他人の事情を優先することにつながるからだろう。確かに自分の意思決定は自分の事情を一番良く知る自分自身が行うべきだ。経験豊富な人のアドバイスに従ってやったほうがい…

少しだけ参照透明なR言語の変数スコープ

R

2時間以上ハマったのでシェア。 > a<-2; { a<-3; }; a 3 > x <- data.frame(a=1,b=2,c=3) > set_c_func <- function(df) { df$c <- 123; return(df) } > set_c_func(x) a b c 1 1 2 123 > print(x) a b c 1 1 2 3 > set_c_func <- function(df) { df$c <<- 1…

生産性と創造性

優秀なプログラマはそうでないプログラマと比べて生産性が1000倍違う、といった話がある。知識労働の中でプログラミングで特に差が顕著なのは、情報処理・通信の力で幾らでも労働にレバレッジを掛けられるからだ。優秀なプログラマはいわば小さなレバー*1で…

IPython(Anaconda)とIJuliaが凄すぎる件

先日Juliaでデータ分析環境をインストールする話を書きましたが、もっといいやつがあったのでご紹介します。(IJuliaです。実はjuliaのホームページにそっくり掲載されてるのですが先日はなぜかスルーしてしまってた)先の記事の最後に「Python(Pandas/Scipy/…

複雑さをそのまま扱える機械の強み

将棋のプロ棋士とコンピュータプログラムが団体対抗戦を行うイベント「電王戦」が盛り上がっている。今やプロの棋力をもしのぐほど強くなったコンピュータ将棋も以前はコンピュータならではの欠点が目立っていた。それは大きな損害が避けられないときに相手…

Javascript上のシンプルで汎用的なキャッシュ

Javascriptで超簡単なLRUキャッシュを書いて使ってみたら凄く便利なのでシェア。 ソースコード Chiral's Gistにあります。Javascript処理系組み込みのargumentsオブジェクトが配列でないのでコピーするところが特別ですが、あとはユーザが指定したサイズの配…

転換期を迎えたメディアの広告モデル

ネットを中心にメディア産業の広告モデルが転換期を迎えている。既存のビジネスモデルは、コンテンツを提供する見返りに消費者へのリーチを確保し、そのチャネルをスポンサー企業に有償で利用させるというものだ。消費者にとってメディアのスイッチコストが…

『学んだ数式をコーディングする環境』をJuliaで構築

機械学習/データマイニングのバックグラウンドにある数式をきちんと学んだら、実際にアルゴリズムをコードとして書いてみるととても力が着くと思います。便利なパッケージやツールも色々とありますが、ソフトウェアエンジニアだったら製品開発のために独自…

自分の考えが社会的成果として結実するまで

数日前、ふと気になって宗教法人「幸福の科学」を大川総裁がどのように立ち上げたのかを少しだけ調べた。かの新興宗教の草創期のエピソードを、自分が総裁になったつもりで読んでみるとこれは恐ろしくチャレンジングで自分の信念が試される行動だ。話が飛ぶ…

Tree Edit Distanceアルゴリズムの応用と実装

今日はアドファイブの製品開発の中身について少し。 背景(実装を早く見たい方はここはスキップして次節へ) バナー広告に代わる広告フォーマットとしてネイティブ広告というのが欧米を中心に盛り上がっています。TwitterやFacebookのフィードに紛れ込んでくる…

Play2の認証ライブラリとしてSecureSocialを使う

PlayFrameworkで認証周りを実装するときSecureSocialというライブラリが便利です。(もともとPlay1.xに対応する認証関連ライブラリとしてPlayの公式サイトにも掲載されてますがPlay2.xにも対応済みで便利に使えます。)私はNode.jsでexpressを使うときはpasspo…

Recsys2013読み会

11/16(土)にGunosyの中の人たちがやっている勉強会でRecsys2013の論文読み会があるというので参加させてもらうことにして資料を作りました。(一夜漬けで読んで資料を作ったら寝過ごしてしまって肝心の勉強会にいけませんでした。よってこの資料はまだ勉強会…

Playの初歩とSlick

PlayFrameworkerのisobeです。Scala面白いです。Play使い始めてしばらくDAO周りでAnormを使ってたのですがノーテーションが冗長すぎて辛いのでSlick(旧ScalaQuery)に乗り換えました。今最新のPlay2.2を使ってるのですが次期2.3では標準ORM(というかDAO)がA…

Javascriptのオブジェクトに後からメソッド追加する方法

簡単だった。 var attachMethods = function(obj,methods) { var wrap = function(a,f) { return function() { return f.apply(a,arguments); } }; for (var name in methods) { if (obj[name]) throw "conflict:"+name; obj[name] = wrap(obj,methods[name]…

Scottyでのstatic fileミドルウェアの使い方

Scotty続きWebアプリ作り始めたらjqueryやbootstrapのjsやcss、画像ファイルなどのstaticファイルをとりあえず(rewriteやnginxやCDN使うまで)はフレームワークで配信させると思います。Haskellも他言語のWeb関連ライブラリと同様の構造(WAIというインタフ…

ScottyからHamletを使う

HaskellでWebアプリ作るときにrubyのsinatraライクなScottyというシンプルなフレームワークが便利です。ScottyはTemplate Engineについてagnosticなので好きなの使えます。HaskellのTemplate Engineはblaze-htmlという高速に動作する共通基盤のようなものが…

1st party cookie/dataで頑張る

モバイル(スマホ)では3rd partyクッキーが使えないし端末識別もfinger print的な方法で推定したりと、ホットな話題だと思う。以下のように考えて製品作ってるのだが、どうだろう?(これなら1st party cookieしか使わず、モバイルの端末IDも要らない。) イ…

量子将棋プログラムをHaskellで書いてみる

量子将棋、流行ってますね。Haskellで思考ルーチンを作ってみようと思って書き始めてみました。とりあえず、盤駒データ構造、駒のきき生成、指し手の処理など基本的なところは出来た。 https://gist.github.com/chiral/7295637BitSetやIntMapを使って、繰り…

「これがネイティブ広告をスケールさせる方法だ」

AdAgeに10/28掲載の記事より。(原文著作者に許可を取ってないので問題ありましたらご連絡ください) 「これがネイティブ広告をスケールさせる方法だ」- FBXが道を整備したおかげで、RTBがネイティブ広告に対応した 広告業界が好むバズワードとして流行ってる…

「プログラマティックなビデオ広告: それは何で、パブリッシャがそれを嫌うのはなぜか」

AllViocesに10/25掲載の記事より。(原文の著作権者に許可を取っておりません、問題ありましたらご連絡ください。) 「プログラマティックなビデオ広告: それは何で、パブリッシャがそれを嫌うのはなぜか」by Michael Foster (訳注:本エントリの著者のFoste…

BootstrapでstaticなModalを表示する方法

Web

意外と難しくて90分くらいハマった。上手くできなかったので、表示出来ているページから不要なところを削っていく方法でやって理解。 <html> <head> <link rel="stylesheet" media="screen" href="css/bootstrap.min.css"> <script src="js/jquery-1.9.0.min.js" type="text/javascript"></script> <script src="js/bootstrap.min.js" type="text/javascript"></script> </head> <body> </body></html>

「シンプルにする」ことと「考える」ことの両立

何かをやっていて自分よりも知識や経験のある人にアドバイスをもらうと、 「難しく考えすぎ。もっとシンプルにやればいいんだよ。」 「ちゃんと考えなきゃダメだよ。」 という相反することを言われて「???」となった、という経験を持つ人は少なくないだろ…