Meteor コマンドあれこれ。

Meteorで遊んでいます。 http://www.meteor.com/コマンドをいくつか覚えたので、メモしておきます。 アップデート % meteor update jQueryを使えるようにする % meteor add jquery Bootstrapをデフォルトのスタイルにする % meteor add bootstrap

Ubuntu 11.10から12.04へ

アップグレード後、/etc/resolve.confが空になってしまうので次のように修正。 % sudo cp /etc/resolvconf/resolv.conf.d/original /etc/resolveconf/resolv.conf.d/base % sudo resolvconf -u 名前が引けるかどうか確認して、終了。

Java7のインストール on Ubuntu

http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html#javasejdk からダウンロードして、 /opt/local/share 以下に展開した後にやったことの記録。update-alternativeで使用するJavaのバージョンを切り替えられるようにした。 % …

MacBook Air 11インチ欲しい!MacBook Air 11インチ欲しい!大事なことなので2回言いました!

今日のRuby

IRBを起動して、CUIを実装するの巻。 def start puts "start" end def stop puts "stop" end def start_irb require 'irb' require 'irb/completion' IRB.start end start_irb なかでstartやstopをコマンドとして呼ぶことができます。 % ruby test_irb.rb >>…

今日のRuby

コサイン尺度を求めるメソッドをナイーブに実装。 def cosin(array1, array2) p = pair(array1, array2) z = zero(array1.size) return p.map{|i| i[0] * i[1]}.reduce{|i,j| i+j}.to_f / euclidean(array1, z).to_f / euclidean(array2, z).to_f end privat…

今日のRubyその2

距離関数を作ったので、近傍を求めるクラスを作ってみた。ナイーブである。 class Neighborhood def initialize(items, matric) raise unless matric.is_a?(Proc) || matric.is_a?(Method) require 'matrix' unless defined?(Matrix) items = items.to_a if …

今日のRuby

実数直積集合の距離関数(see: wikipedia:距離空間)をナイーブに実装。 module Matric class << self def chebyshev(array1, array2, k) raise "All elements in 'array1' shall be real numbers" unless array1.all?{|i| i.is_a?(Fixnum) || i.is_a?(Float)…

今日のRuby

今日もまた記述統計の基本的な関数群をナイーブに実装。 def normalize(*args) sd = standard_deviasion(args) m = mean(args) return args.flatten.map{|i| (i - m) / sd } end def skewness(*args) return normalize(args).reduce{|i,j| i + j ** 3} / (ar…

今日のRuby

記述統計の基本的な関数群 module Statistics class << self def mean(*args) return args.flatten.reduce{|i, j| i + j}.to_f / args.flatten.length end def median(*args) numbers = args.flatten.sort if numbers.size % 2 == 0 m = numbers.size / 2 - …

今日のRuby

Monitorの練習 require 'thread' require 'monitor' $found = [] $monitor = Monitor.new def have_found?(i) $monitor.synchronize do return $found.include?(i) end end tg = [] 3.times{ tg << Thread.new{ while $found.length < 100 i = rand(100) if …

Rubyで"1 hour 30 minutes"を秒に変換するクラスを書いた

既にあるのかもしれませんが、 タイトルの通り、"1 hour 30 minutes"といったような表現を秒に変えるクラスを書いてみました。 次の例のように使います。 parser = IntervalExpressionParser.new str = "1hour 30minutes" p parser.parse(str) # => 5400 使…

LDAPでの曖昧検索

% ldapsearch -x '(uid=ch*)' uidこれでuidがchではじまるユーザが表示されます。'*' がシェルのワイルドカードと同じ意味を持ちます。LDAPの検索filterの書き方はRFC4515(http://www.ietf.org/rfc/rfc4515.txt)に規定されています。 詳しくはそちらをどうぞ…

今日のirb

>> "a".method(:downcase) => # >> "a".method(:downcase).call => "a" >> "a".method(:upcase).call => "A" "a".metohods(:downcase) で、"a"オブジェクトのdowncaseメソッドへの参照を得ている。そこから参照されているMethodオブジェクトのcallメソッドを…

gem install mysql on Snow Leopard

Snow Leopardでgemからインストールしたmysqlドライバを使おうとすると、 uninitialized constant MysqlCompat::MysqlRes のようなエラーをはいて動きません。http://journal.mycom.co.jp/news/2009/09/01/033/index.html によると、32bitでコンパイルされて…

集合知プログラミング第6章 解説

プログラム概要は下図の通り.分類対象を受け取って,それを特徴に分解するFeature extractorと,その結果を受け取って分類を行うClassifierの二つを実装することになります.前者はgetwordsという関数として,後者はclassifierというクラスとして実装してい…

集合知プログラミング第6章 実装

集合知プログラミング第6章のサンプルほぼそのままだけれど.違う点はアイテムがクラスに属する確率をそのままつかって分類するのではなく,その確率の対数を使っている点.小数点以下の桁が大きくなるのは嫌なものですからね.ソースはこんな感じ. import…

集合知プログラミング第6章 準備

テキストフィルタリングから始めます.最初は環境を整えるところから.PythonからSQLiteをつかえるようにします. Pythonをインストール 2.5を入れておくと,標準で使えるライブラリがたくさんあって何かと便利なようです.Finkだと"python25"というパッケー…

集合知プログラミングはじめました

はじめましたと書きましたが,実はずいぶん前から読んでました.その結果をちまちまとあげてく予定です.

論文を書いているとき、「後で書くかー」と思って「(後で続きを書く)」と書いておいても、いざ論文が完成したときに漏れがあると恥ずかしい…… by id:sekido (http://blog.c--v.net/2008/12/27/1)というのを読んで,かっとなって作りました: http://gist.gi…

CarbonEmacsを起動時からフルスクリーンにする方法

http://d.hatena.ne.jp/suztomo/20080923/1222149517 にある内容を.emacs.elに書いてみたところ,なぜか1行多いので微妙に調整.結果こうなりました. (when (eq window-system 'mac) (add-hook 'window-setup-hook (lambda () (set-frame-parameter nil 'fu…

形態素解析エンジンMeCabをMac OS Xにインストールする

新しいMacBook買いました.ついでに形態素解析も始めることにしました.Yahooの形態素解析サービスにお任せすることも考えましたが,初学者らしくMeCabを使うことにしました.ついでにPerlから呼び出せるようにもしたいですね. Finkをインストール MeCabはF…

hadoopを使う前の心がけ3つ

公開鍵認証を使いましょう 公開鍵を各slaveホストにauthorized_keyに登録しておきましょう 各slaveホストのホストキーを事前に登録しておきましょう slaveホストの数だけyesを打ち続けて, ホストキーを登録しまくって涙目なわたしが通りますよ...

Mac OS Xの上でhadoopを使う

http://codezine.jp/a/article/aid/2485.aspx を見ながら試してみました. この記事の通りやればできるということがわかりましたが, 二点知らなかったことが会ったのでメモしておきます. JAVA_HOMEを /Library/Java/Home に設定すること 「システム環境設定」…

Hadoop Virtual Imageを使う

実験の関係でHadoopを試そうと思い,http://code.google.com/edu/parallel/index.html#hadoop で公開されていたVMWare用のイメージを試してみました.その時にはまったことをいくつか書いておきます.まず前提知識として:このVMWare用イメージはUbuntuをベ…

opensslによるファイル暗号化

openssl enc -e encode_engine -in plain_text -out chiper たとえばaes-128-cbcを使って暗号化するときは次のようにする. openssl enc -e -aes-128-cbc -in plain_text -out chiper 復号は次のように行う. openssl enc -d -aes-128-cbc -in plain_text -o…

Octaveでのマンハッタン距離の求め方

sum(abs(i - j)) i, j はベクトルです.たとえば3×3の行列aの1行目ととあるベクトルvの距離を測りたければ次のように書くとよい. octave:8> a=rand(3,3) a = 0.316816 0.470100 0.042874 0.562923 0.048504 0.756269 0.280402 0.860104 0.655687 octave:9> …

実マシン上のホストを仮想マシン上へお引越し

ddでイメージを作り,それをvmdk形式に変更して動かそうかとも思いましたが,ドライバ回りなどではまるのも嫌だったので,パッケージリストや設定のみを移すという方針でお引越ししています. VMWare Serverのインストール 仮想マシンの作成 Ubuntuのインス…

Subversionで,まだレポジトリに追加していないファイルをすべて追加する方法

メモとして残しておきます. % svn status | awk '{if($1 == "?") print $2}'|xargs svn add

Catalystのモデル生成機構が便利なので,真似をして書いてみました.

その上でちょっとはまったのが,動的にクラスをロードすることでした.使うクラスが決まってしまえば動的にロードする必要はないのですが,今後必ず増えることと,増え方が読めなかったので動的にロードすることにしました. sub load{ my ($self, $class) =…