Python環境でScala風リスト操作をできるようにするパッチを書いた

abst こういう書き方ができるようになるパッチ書いた [1, 2, 3, 4].map(_ * 10).reduce(_ + _) motivation かねてよりpythonのmap,filter,reduceはうっとしくてかなわん、と思っていた。何より、 method chain にまったく向いていない。 例えば、Scalaでは以…

Myoが我が家に流れ着いた

そういえば首を長くして待っていたMyoが届いた。遅れに遅れてようやく発送されたのが10月で、やっと届く!と思ったのだけどいつまでたっても届かず、サポートに問い合わせたら4週間くらいよ、と言われ、船便だった事を知る。その後すっかり忘れた頃に届いた…

defaultdictのdefaultdict

pythonの標準ライブラリにdefaultdictという便利な道具がある。 ところでたまにdefaultdictのdefaultdictをやりたくなるが、いつも忘れていつも同じこのstackoverflowの記事に流れ着く。 毎度毎度検索しているので、ちゃんとメモればきっと忘れないはず。 普…

SynCha0.3.1が新しめの環境で動かないのを何とかする話

こちらで公開されているSynCha 0.3.1がエラーで動かないので何とかした。 以下の環境で試した OSX Yosemite 10.10.1, perl v5.18.2 Ubuntu 14.04.1 LTS, perl v5.18.2 原因はperlのバージョンが新しいため、 for my $data qw(foo bar baz) とは書けず、 for …

NLP勉強会#2で文脈自由文法の話をしてきた

NLP勉強会 #2 @dwango で話をしてきた。 内容は文脈自由文法の基本の話。 オーディエンスとしてどういう人が来るのかよく分からなかったので話す内容をどうするか大いに悩んだが、会の趣旨が自然言語処理の再学習ということらしいので、勉強会界隈では話され…

アイビス2014見てきた

もう先週の話だけど、怖いと評判?の第17回情報論的学習理論ワークショップ(IBIS2014)に聞き専で全日程参加してきた。 単なるエンジニア風情がもったいない限り。 技術、研究寄りな真面目なレポートは会社で共有した。頑張った。 ここではWeb上のチラシの裏…

Maker Faire Tokyo 2014に参加してきた

Maker Faire Tokyo 2014に出展で参加してきた。 そもそも見る側で参加したことすらこれまで無かったのだけど、 ひょんなことから参加することに。 みな趣味に走りまくっていて、好きなコトやってる感があり、 熱意が伝わってきてすごくいい。カオス感ある。 …

「情報推薦システム入門」読んだ

持ってたし読んでたけど、通読してみた。 結構新しい話もカバーしてるし、レコメンドエンジンこれからやろうって人には全体を見通せるいい本だと思う。というか、これ以上の話って泥臭い現場の話とか運用の話くらいしか残ってないような... これに加えて、「…

「沈黙のことば」読んだ

説明の必要が無いほど有名な異文化コミュニケーションについての古典。 high(low)-context cultures という概念を提唱したことで有名なエドワード・T・ホール先生の一冊(この本で直接の言及はない) ご本人自身アメリカ人であるホール先生は、外国人とのコ…

「異端の統計学 ベイズ」を読んだ。

購入のきっかけはタイトル買い。 ベイズと付いてたら買わなければならない病気にかかっているので。 内容 ベイズ統計が過去歴史の中で、どのような取り扱われ方をしてきたのかを紹介するもの。 塩野七生が書く系のジャンル。なんていうのあれ、歴史エッセイ…

「統計学 (サイエンス・パレット)」読んだ。

単なる読書メモ。 購入のきっかけは、訳者が上田さんだからというわりとしょうもない理由。 想定読者は統計初学者/やりなおしのあたりと推定。 内容を三行でまとめると、 統計の考えの部分に重点を置いて その都度分かりやすい例を挙げながら一切の数式を用…

25Mar2014

もはや黒歴史と化したはてなダイアリーの記事群をHatena Blogにインポートした。 広告がうっとうしすぎるのでBloggerにでも移行しようかと思った。

ついでにGibbs samplerもcanvasで書いてみる

MetropolisがGibbsと並んで有名って言うなら、Gibbsもやってみなければいけない。 というわけでやってみた。 ここであそべる おおー。たのしい。 ただ、無相関の2変量ガウスでこれをやっても楽しさ半減ですね…

MetropolisサンプラーをHTML5のcanvasで描いてみる

MCMCの中でもGibbs samplerと並んで有名なMetropolis samplingをjsでやってみる。 HTML5のcanvasを使って視覚化もしてみる。 このへんであそべる赤いところがAcceptされたサンプル、青いのがRejectされた動き moreで1ステップとか2ステップづつ進むとニョロ…

切符の番号とかナンバープレートの4つの数字と+−×÷を使って10を作るアレを解いてみる

切符にプリントされている4個の数字とか、ナンバープレートに書かれている4桁の数字を、四則演算のみを使って10にするという遊びあるじゃないですか。そう、あれ。あれです。誰か名前を付けていてもよさそうなんだけど、特別名前が付いている訳でもなさそ…

モンテカルロ法とJavaScriptでπ

これはもう説明が全く不要な、コード書く人なら間違いなく通る、モンテカルロシミュレーションでπの値を計算しようという遊び。 これはとても楽しい。視覚化されると楽しさ10倍。というわけでわりと投げやりにJavaScriptで書いた。 ここであそべる 画像にあ…

括弧対応をとる

一瞬必要だったので。corr_tableをいじればどんな組でも可。括弧の交差はダメ。 var corr_table = { '(' : ')', '[' : ']' }; function checkBrackets( t ){ var stack = []; for( var i = 0; i < t.length; ++i ){ for( var j in corr_table ){ if( t[i] ==…

迷路生成器と迷路解き器

解き器って。 折角迷路生成器を作ったなら、ソルバ(逃げた)も書いたほうが楽しい。というわけで作った。 例によってこの辺で遊べる 生成はみんな大好き深さ優先、ソルバは普段あまりお目にかかりにくい幅優先。学生のお勉強にはもってこいですね。社会人の…

迷路生成器

そんな分野があるなんて。 楽しすぎるぜ。というわけで作った。 このへんであそべるごくごく単純な深さ優先探索。recursive backtrackerとかなんだかかっこいい名前で呼ばれている。必殺技みたいだ。 やっぱりこの手のものは視覚的に見えると楽しいなあ。

題名なし

よくあるnext_permutationのサンプル #include<iostream> #include<vector> #include<algorithm> void printvec( std::vector<int> &v){ for( int i = 0; i < v.size(); ++i ){ std::cout << v[i] << " "; } std::cout << std::endl; } int main(){ std::vector<int> v, e; v.push_back(1); v.push_b</int></int></algorithm></vector></iostream>…

複数の数字から3つ選んで三角形になるかどうかを調べるとかいう話

とある本に書いてあったオマケ話。多分こう。1. ソートして、大きい方からウインドウサイズ3で配列を見る。 2. 一番大きい辺が残りの2辺の和より大きければ三角形を作らない。そうじゃなければ終わり。 3. 一番大きい辺と比べて、次に大きい辺と次の次に大…

Three-way quicksortをJavaScriptで書いた。

普通Quick Sortっていうと、ピボットが1つなんだけど、ピボット2つで区間を3分割して考えるのが3-way quicksortです。 分割された区間は、ある値よりも小さいか、同じか、大きいか、で分けられているだけで、それ以外は普通のquicksortです。 例によってJava…

JavascriptでTrieデータ構造のVisualizationをやってみた

TRIEに対するオペレーションを視覚的に表示する謎のスクリプトを書いた。視覚化、といっても、要するにツリーを作るコンポーネント使っただけ。視覚化しなくてもTRIEは分かりやすいので誰得もいいとこなんですが、それはそれ。 こちらで遊べます =>"Trieのデ…

JavaScriptでDancingLinksアルゴリズムによる数独ソルバを作った

昨今のJSエンジンはすごい。とにかく速い。3Dとかもやれちゃう。 なんだかもう、前処理はクライアント側でやらせて、サーバはサボっててもいいんじゃないか。 どんなやつでもかかってこいという感じですか。まあ、一部ブラウザは除きますが・・・ そんなわけ…

Aptana Studio 3とPydevのハイライティング

IDEマンセー言っている割に、最近コード書くときはもっぱらvimかサクラエディタです。こんばんわ。 そんな僕も時代の流れに乗ってAptana Studio 3を触ってみました。まあ、eclipseもaptana 2も触ってはいたわけですが。 3になって、デフォルトのカラーテーマ…

HTML5にフル対応させ(たようにみせかけ)る

HTML5が待ち遠しくて待ち遠しくて、各種ブラウザも徐々に対応はしてきているのだけど、もう待ちきれないよ!とお悩みの紳士淑女の皆様。 そんなHTML5フリークな皆様は、ブラウザのアップデートのたびに、HTML5testでスコアを確かめ、一喜一憂していることで…

greasemonkeyでグローバルスコープの汚染をしたい

表題がおかしい。 greasemonkeyのスクリプトはブラウザで表示しているwindowのスコープとは別なスコープで動きます。 これは、greasemonkeyスクリプトで使用している名前と、サイト側で使っているjavascriptの名前が衝突しないようにするための工夫ですね。 …

documentオブジェクトの挙動を変える

あー、getElementByIdの動作変えたいなーとか、createElementの動作変えたいなー、という要求は多いかと思います。あ、javascriptの話ですよ。 そんな変テコなことを考えるあなたにはこれ。インスタントdocument wrapping、もしくはdocumentのプロパティの上…

スマートフォンへの懸念

特に日本では、だと思うのだけど、これまでの携帯電話のブラウザと同じような感覚で みんなiPhoneとかAndroidでフルブラウザ使っている(あたりまえだ)。 これにちょっと警鐘を。今更僕が言うまでもないのですが。 わりと最近認識されてきたっぽいですが、…

ブラウザでグリッドコンピューティングとかやったらどうか

最近はコンピュータの性能上がっているし、JITだしで、 ブラウザ上で重い処理をやっちまっても結構何とかなっちゃいます。3Dとか扱えちゃうしね。 おまけに、Web Workersなんか使っちゃえば、javascriptでマルチスレッドまでできちゃう。 それじゃあ、こんな…