Hatena::ブログ(Diary)

Unchained Life RSSフィード

2010-10-13

私的大岡山ランチスポット

いよいよ前夜祭は明日、本編は明後日に迫ってきましたYAPC::ASIA TOKYO 2010!

http://yapcasia.org/2010/

今回は大岡山周辺でおすすめなランチスポットをいくつか紹介したいと思います。

(追記)

弁当を食べたいというブクマコメントがあったので最後に弁当について少し書きました。

ちなみに東工大の昼休みは12:10~13:20となっているのでこのあたりは混んでいる確率が高いです。


まずは四川屋台。通称四川。正門を出てすぐのところにあり、東工大生のほとんど全員が一度は行ったことがあるんじゃないかという中華料理のお店です。

おすすめは担々麺。辛さも大辛まであるので辛いもの好きの人にもばっちりです。

オリジナルのラー油を使っていることもありその風味は独特。好みは分かれると思いますがぼくは好きです。とりあえず大岡山に来た記念にでも。中華の鉄人、陳建一も来たらしいです。

四川屋台 シセンヤタイ - 大岡山/中華料理 [食べログ]

http://r.tabelog.com/tokyo/A1317/A131711/13003297/


2つ目はたんや。東工大生にもかなり人気があるお店です。店内の座席数がそんなに多くないこともあり、昼休み時にはたいていある程度の行列ができています。

おすすめはたんや丼。柔らかい豚の角煮とマヨネーズ風味のソース、煮玉子が非常によくマッチします。

ぼくは注文したことはないですが、ここの担々麺もとてもおいしいらしいです。普通においしい担々麺を食べたいときはここで。

麺飯場 たんや TANN-YA - 大岡山/担々麺 [食べログ]

http://r.tabelog.com/tokyo/A1317/A131711/13003298/


続いてやぶ。そばやうどんカレー、定食などいろんなメニューがある店です。

豚の角煮定食みたいなものがおいしかったです。

どのメニューもおいしそうだったので特にこれといって食べたいものがないというときにもどうぞ。

やぶそば - 大岡山/そば [食べログ]

http://r.tabelog.com/tokyo/A1317/A131711/13048041/

そして最後は知る人ぞ知る婆娑羅。いわゆる二郎っぽい麺類を出すお店です。

最近ぼくが大岡山で昼飯を食べるときにはたいていここですw

その量と価格のコストパフォーマンスは大岡山トップレベル。ここの味もかなり好きです。

つめ麺もおいしいです。

麺屋 婆娑羅 めんや ばさら - 大岡山/ラーメン [食べログ]

http://r.tabelog.com/tokyo/A1317/A131711/13023109/


大岡山には他にもインドカレー屋やラーメン屋などいろいろなところがあるのでそのへんにいる東工大生に聞いてみれば快く教えてくれると思います。


(追記)

弁当についても少しですが紹介します。

1つ目はすでにおなじみ四川。

ランチの時間帯には500円で割とボリュームのある弁当を店頭で販売しています。

個人的に好きなのは角煮弁当。柔らかい豚の角煮に香辛料が効いていておいしいです。それとどの弁当にも麻婆豆腐がついてくるのですが、これもまた独特です。たぶん今までに食べてたことのないような味だと思うのでぜひ食べてください。


2つ目は通称肉屋。ボリュームもありおいしい弁当が500円ぐらいで売られています。味・量ともに申し分なく満足度は高いです。

正門からは少し遠いのと、昼時は少し行列ができたりしているので注意してください。

ミートショップ ミカワヤ - 大岡山/弁当 [食べログ]

http://r.tabelog.com/tokyo/A1317/A131711/13103807/


さらにTwitter広島お好み焼きの弁当があると教えてもらいました。

お好み焼きの店がきまぐれで販売しているらしく、売ってないこともあるそうなので注意が必要です。

ひろBAY - 大岡山/お好み焼き [食べログ]

http://r.tabelog.com/tokyo/A1317/A131711/13047213/


駅を出て右手の北口商店街には松屋ココイチなどもあります。ついでにお菓子が安いまちおかというお店もあります。

金曜日であれば大学の学食を利用するというのもそこそこ安くていいと思います。

それでは当日お会いしたときにはよろしくお願いします!

2010-06-24

そのカレー、リトルショップにつき

とにかくその量がすごい、との話を知り合いの方々から聞いていて一度行ってみたいとずっと思っていたのだけれど、ついに行ってきました。


f:id:beatinaniwa:20100624110928j:image


たしかに量がはんぱなかった。

写真のCセット(別名:気まぐれ)の大盛を注文したのだけれどすごいボリューム。

しかしこれで800円というのだから驚きである。

食べるのに20分強を要し、最後の方は店の方にがんばってと励まされてしまったw

ナス、ピーマン、からあげ、カツ、ゆで卵、目玉焼きなどがこれでもかというぐらい載っている。ある意味栄養バランスがとても良いメニューである。


とにかくどんな空腹状態にある人でもこれを食べきった直後は空腹感を感じることはないと断言できる。

でも実は量だけではなくカレーもやや甘めでとても美味しく、野菜やからあげも申し分ない。


ランチタイムしかやっていないけれど、お腹が空きすぎておいしいカレーが食べたいという人はぜひ。

カレーやさん LITTLE SHOP[食べログ]


今週は日曜日にイタリアンの食べ放題、一昨日がピザ、昨日が焼肉とかいう素晴らしい食生活なのでしっかり運動しないと。


参考:

「山の、山の頂上が見えません!」@リトルショップ - D-6 [相変わらず根無し]

俺がメタボになる理由。カレー?の写真のために - ゆーすけべー日記

(もはやJPA公式メニュー?)

2010-02-08

ニコニコ動画のコメントをGrowlで作業中にも前面に表示する

f:id:beatinaniwa:20100208001121p:image

こんなときに

作業用BGMなどの動画をニコニコ動画で聞きながら作業している時に、バックグラウンドで再生されている動画についているコメントを見たくなる時がままある。曲の歌詞とか、曲が切り替わったときにみんなどういう反応しているのかなー、とか。

でもそのたびにいちいちアプリケーションを切り替えるのはとてもめんどくさい。

そういうときにこのNicowl(仮)の出番。

ruby nicowl.rb 4841649

のようにして実行します。

"Ready!"と画面に出たらreturnキーを押すと、下のコード例だと2秒後にコメントを流し始めます。

(この間に手動で動画の再生をw)

すると上の画像のようにコメントをGrowlで通知してくれます。(引数に動画idを指定)

Growlを使用しているのでMac OS限定。

ソースコード

MeowRubyからGrowl通知を簡単に実現できるライブラリ

sudo gem install meow

インストールできます。

注意点

MacPortsでインストールしたrubyを使っている人は

sudo port install rb-cocoa

でrb-cocoaをMacPortsからインストールすることが必要。

弱点

Growlからのメッセージが表示され続ける時間が指定できたらいいかもと思ったけれど、Meowのドキュメントやソースを見る限りそのような設定は見つからなかった。

時報が来たらアウツ。

トイレに行きたくなったりして途中で動画の再生を止めたらアウツ。

(control+z & fg などでサスペンド & 復帰とかやればなんとか可)

このスクリプトを実行した後、ブラウザで新しい動画を見る場合は再度ログインが必要。

Greasemonkeyとかでごにょごにょやれば再生と自動でシンクロさせたりとかできるのかも。

参考記事

RubyからGrowlに通知するためのライブラリ、Meowをちょっと使ってみたので自分メモ - griffin-stewieの日記

ニコニコ動画API: getflvとコメントの取得 | ioaia blog><;

ニコニコ動画のコメント最新500件を取得する - にたまごほうれん草

2009-12-06

Twitter研究会で話してきました

慶應義塾大学湘南藤沢キャンパス(SFC)で行われたTwitter研究会で話してきました。

http://homepage3.nifty.com/toremoro/study/twitterconf.html


"Twitterからホットなキーワードを抽出する方法"というタイトルで発表しました。

ustreamの録画はこちら(チームラボの高須さんありがとうございます)

http://www.ustream.tv/recorded/2713804


もっとちゃんと整理してわかりやすく説明をすべきだというのは大いなる反省点ですが、練習あるのみですね...

SFCに行くのは初めてで、陸の孤島とかいわれているのでどんなところだろうと思っていましたが、そんな大げさに言う程でもないような気がしました。

いろんな場面でのTwitterでの使われ方の紹介や、モバツイッターのえふしんさんの独立宣言があったりとおもしろかったです。

see also:

It is not a diary » Twitter研究会の感想とか

ハッシュタグクラウド - ログ 12月5日 Twitter研究会 #twitterconf


運営スタッフや参加者の方々、ありがとうございました!

2009-10-04

自分がフォローしている人たちだけのbuzztterみたいなものを実現する with Echofon

先日中川さん(id:Psychs)によってEchofon for Macベータ版がnaan studioからリリースされました。

http://echofon.com/twitter/mac/

http://d.hatena.ne.jp/Psychs/20091001/1254351633

必要な機能をシンプルにまとめたTwitterクライアントでとても使いやすいです。(個人的にはあとjk移動がほしい)


さてEchofonはTwitterのログを保存する際にSQLiteを使っているのが一つの特徴です。

そのため自分の過去ログをいじっていろんなことができておもしろいです。

例えば自分がフォローしている人たちだけを対象にしたbuzztterみたいなことを実現することができます。

(Twitter日本語圏全体からのホットなキーワード抽出として、ぼくは@yazztterというのを作っています:))

具体的には自分のまわりで直近1時間で話題になっているキーワード(特徴語)を抽出したりできます。

O/RマッパーとしてActiveRecord, 形態素解析器としてMeCabを使ってRubyで書くと下のようになります。

$KCODE = 'u'
require 'rubygems'
require 'active_record'
require 'MeCab'

ActiveRecord::Base.establish_connection(
  :adapter => 'sqlite3',
  :dbfile => '/Users/username/Library/Application Support/Echofon/tweets_db.sql' #usernameを自分の環境に合わせて変更
)

class Status < ActiveRecord::Base
end

def calculate_statuses_tfidf
  t = Time.now.strftime('%s').to_i #現在時刻をEchofonに合わせてUNIX時間に変換
  all_statuses = []
  recent_statuses = []
  past_time = 24 #とりあえず24時間前までのログを過去ログの対象とする
  (1..past_time).each do |i|
    lower_limit = t - 3600 * i
    upper_limit = t - 3600 * (i - 1)
    statuses = Status.find(:all, :conditions => ['created_at >= ? and created_at < ?', lower_limit, upper_limit])
    word_count = Hash.new(0)
    statuses.each do |st|
      st.text.split(/,、。  /).each do |s| #句読点や半角スペースと全角スペースがあったらそこでいったん区切る
        c = MeCab::Tagger.new
        n = c.parseToNode(s)
        words = ''
        while n do
          #抽出する単語を名詞や記号などに限定して、それらが連続していればくっつける
          if (n.feature.split(',').first == '名詞') || (n.feature.split(',')[1] == '連体化') || ((n.feature.split(',').first == '記号') && (n.feature.split(',')[1] == '一般'))
            words += n.surface
          else
            if words != ''
              word_count[words] += 1
              words = ''
            end 
          end
          n = n.next
        end
      end
    end
    recent_statuses = word_count.to_a if i == 1
    all_statuses << word_count.to_a
  end
  result = []
  recent_statuses.sort{|a, b| b[1] <=> a[1]}.each do |w|
    break if w.last < 3 #1時間以内の発言数が3未満の単語は対象外とする
    tf = w.last
    df = all_statuses.flatten(1).select{|i| i.first == w.first}.size #ruby 1.8.7以上からflattenに引数をとれるようになった!
    idf = Math::log(past_time / df.to_f)
    tfidf = tf * idf
    result << [w.first, tfidf]
  end
  result.sort {|a, b| b[1] <=> a[1]}
end

if __FILE__ == $0
  calculate_statuses_tfidf.each do |i|
    puts i.first + ': ' + i.last.to_s
  end
end

コードを読んでもらえれば大体どんなことをやっているか分かると思いますが、tf-idfというキーワード抽出のためのアルゴリズムを使っています。tf-idfとは簡単に言ってしまえば、ある文書中によく出てくる単語にはキーワードになりそうなので高スコアを割り当てたいけれども、その単語が他の文書中にも出てくるようならばそれはキーワードというよりも一般的な単語と見なせるのでその分スコアを差し引く、という考え方です。

参考: [を] 形態素解析と検索APIとTF-IDFでキーワード抽出

今回は1時間ごとのログを1つの文書とし、24時間分なので全体で24の文書があるとしてtf-idfを適用しています。

ログがあれば48時間分とかにしたほうがもう少し正確なキーワード抽出ができるかもしれません。


このプログラムを実行するとこんな感じになります。

f:id:beatinaniwa:20091004035907p:image


Twitterクライアントは常時起動しているとは限らないのでどうしても取りこぼしなどが出てきてしまうのは仕方のないことですが、ログをきちんと保存するクライアントであれば、今回紹介したEchofonではなくても上記と同様の手法が適用できると思うので試したりしてください!