2010-09-01

Background ver. 03







そろそろプロフィールが古くなってきたので更新。


----------------------------- 
Index 
・今 
・学部時代にやってきたこと 
・身を置いている所 
・目標 
・成果 
・告知 
・その他 
----------------------------- 
※2010年09月01日更新 


【今】 
・VMMでOSを並列に動かしたときに発生するLock-holder Preemptionについて研究中. 
・Monmouth College, Illinois, USに留学中. CS+Designの授業を取って創造力を研磨中. 
・航空業界におけるITベンチャー企業を発起中. 


【学部時代にやってきたこと】 
『IAESTE国際インターンシップ』 
2009年度のIAESTE派遣生として, チェコ共和国のプラハで2ヶ月間働いてきました. 現地の会社でやっていたことは, "Alvila"というOpen Source Softwareプロジェクトの立ち上げです. 詳細は下記のURLを御参考に. また, 現地での就労以外にも, 世界中の技術系の学生とフットサルしたり, カヌーしたり, 政治の議論したり, パブに行ったりと, 池に入ったり, 古城の屋上で寝たりなどなど, かなり面白い生活が送れました. おかげさまで, 世界中どこいっても(特に, EUあたりなら)宿代が浮かせることが出来そう. ああ, あと, 正直ね, ドイツ人はかわいいと思うんだよ. http://yasulab.blogspot.com/2009/10/alvila-opensource-software-project.html 

『自作OSの制作』 
企画:yasu_ninety9 
開発:yasu_ninety9 
広報:yasu_ninety9 
オレオレ詐欺です。昨今、一部の人たちに大変有名な、はりぼてOSの拡張を行いました。目的は、自作OS入門の読者向けに拡張例を提示することで、これから拡張する人を応援すること。ひいては、OS学習者および開発者が増えることを期待しています。したがって、ただ拡張結果を配布するだけではなく、「どうやって拡張したのか?」「どういった開発計画を立てたのか?」といったドキュメントも多くは配布しています。詳細は下記URLにて公開中。 http://www.arukou.sakura.ne.jp/yasulab/os/ 

『Web Applicationの開発&発表@Yahoo! Japan』 
僕とイギリス留学中の友達を中核にして、コツコツ開発してきたweb application ”tango!”をyahoo! Japanで発表しました。僕ら以外にも、色々な方々が開発およびデザインに参加してくれました。手伝ってくれた皆Thanks!しかしながら、結果から言えばyahoo! japanでの発表では入賞できませんでした。原因は明らかに僕のプレゼン力不足。生まれてきてごめんなs(ry。いやいや、でも"tango!"はまだまだ発展途上ッスよ!プレゼンの失敗など次で挽回すれば良いのさ!Googleさんが提供するGWT on GAEという素晴らしい開発環境も整ったことだし、tango!もこの流れに便乗して進化する次第であります! 
本家:http://www.arukou.sakura.ne.jp/yasulab/tango/ (準備中) 
Twitter: http://twitter.com/tango_bot 
* tango! on Twitterの方が現在盛り上がっています。 

『TOSHIBA summer internship(R&D), 予備校@AGOS』 
夏といえばsummer internshipの季節!2008年度の夏も例外なく就業してきました。 
平日:TOSHIBAのsolution部門で新技術の調査・開発。 
週末:予備校@AGOSでTOEFLのR/LとWritingの勉強 + そこそこ重いassignments / week。 
結論:死亡フラグ。 

『Berlitz pronounciationの修了』 
得たモノ:何度発音のテストをしても講師には"Almost"と言われ続けることに対する忍耐力。 
分かったこと:素直にアメリカ語学留学しとけばよかったorz。一人でひたすら勉強するのは自分の性に合わないらしい。 

『早大山岳アルコウ会HP & データベース"WAK DB"の作成』 
joomlaとDBQで作りました。CMSだと制作が楽!2008年4月現在、β版のため、正式な運用には至っていないけど、1,2年後には立派なDBになっていて欲しいな。 
WAK database(仮) http://www.arukou.sakura.ne.jp/component/option,com_dbquery/Itemid,28/ 

『アジア大学ビジネスアイデアコンテスト』 
2007年3月に北京大学で行なわれた 
"2007 KT&G Asian Students' Venture Forum 
-Business Idea Contest-"に第3位入賞。チームメンバーは当時全員1年生。何故かみんな怒Sか度Mな人だった。そんな両極端な6人で結成されたチームの成果。みんな凄い奴らだ。同期だし、俺も負けてらんないわ。あと、シンガポール人は頭良すぎ! http://asiansvf.com/ 

『第1回 日韓学生未来会議 企画・運営・指揮』 
2007年2月の大企画。途中から組織に加わったんだけど、なんか気付いたら色々やってました。人生初の大企画&運営でした。今は他の事をやっていて、あまり顔を出せないけど、今の自分が積極的に行動できるのは、この会議をやり通したからなんだろうな、と思う。後輩達が受け継いで繋いでいく第2回以降の会議にwktk。 http://www.jksff.org/ 

『フランス語学留学』 
2007年2月からフランスでフランス語勉強してました。フランス蝶最高!でもフライト時間長すぎだよワトソン君!今でもフランス語は大好きだし、もっと使えるようになりたいけど、最近は英語に若干浮気気味だったり。とりあえず、パリ近郊はお腹いっぱいだから南仏に行ってみたい! 

『Internship -擬似プロジェクト-』 
2007年9月に大阪まで行ってシステム開発の擬似プロジェクトに挑戦した。擬似プロジェクトでは、2年生のくせに何故か3,4年生のメンバー率いて頑張っとりました。最後まで自分のことを上級生だと思ってた人は数知れず。年齢詐称乙。しかし、結果は惨敗。工程管理とスケジュール管理でヘマを犯しました。おかげでシステム設計書とマニュアルが納品できなかった。すごく・・・悔しいです・・・。が、学んだことも多い。とりあえず、中小SIerでは働きたくないな、と思いました。 

『南アルプス縦走』 
2007年8月、頼れるメンバーと南アルプスの上から下まで長期縦走しました。でも2006年8月も南アルプスを上から下まで長期縦走してたから、実は今回で2回目。ただし、今回はスタート地点が北岳→仙丈ケ岳に、ゴール地点が椹島→畑薙ダムにグレードアップしており、距離と山中拍数が結構伸びてます。結果的には、泊数は12泊13日ぐらいだったかな(多分)。予備日も使う予定だったんだけど、メンバーの体力が皆キモ過ぎるレベルで結局一日も停滞しなかった。あ~、でも最近は山に登ってないな。おかげさまでメトボリックなお腹と化しました。 


【身を置いてる所】 
日韓「JKSFF」執行部広報OB 
山岳「早大山岳アルコウ会」 
BC「ドリーマーズ」 
FC「FCアトレティコ・ラッセーラ」創設者&幹事 
地域「地域スポネット『すぱんく』」スタッフ 
BC「『すぱんく』スポーツ開放」管理人代理 
BC「clubジョーダイ君」 
英語サークル「WRESS」 


【でっかい目標】 
・ネオNEET 

【最近の大目標】 
・TOEFL ibt 100点以上。 
・GRE ???点以上(未定)。 
・留学先でReferenceを貰えるだけの功績を残すこと。 

【他最近の目標】 
・英語で不自由なくdiscussion出来る 
・GPAをもっと高くする 

【最近の成果】 
・サーバ構築が出来るようになったような気がする。 
・WindowsからLinuxへ移行。が、その後Macに心変わり 
・基本情報技術者合格 

----- 以下、壮大な蛇足 ----- 

【告知1】 
現在FC『アトレティコ・ラッセーラ』の代表やっとります。入部からマッチメイク、宣伝・告知等など興味がありましたらお気軽にお尋ね下さい。 
HP→http://www.geocities.jp/atletico_l/ 
Mixi→http://mixi.jp/view_community.pl?id=1946980 
SNS→http://soccersns.jp/team/1884/ 


【告知2】 
『北区立赤羽中学校体育館バスケット開放参加者募集』 
現在、東京都北区立赤羽中学校体育館の夜間バスケット開放を行っております。で、僕がその管理人だったりします。 

興味のある方はコチラ↓。 
質問等は僕に直接メッセージでも可。 

「赤羽中学校バスケットボール開放」 http://mixi.jp/view_community.pl?id=1947170 


【告知3】 
『地域スポネット「すぱんく」の参加者募集』 
僕の地元である東京都北区には「すぱんく」という地域スポーツネットワークの団体があります。「すぱんく」では学校や公立の施設を利用して、住民の皆様に文化的な活動や健康的なスポーツ活動を楽しんでいただく「場」を提供しています。 

現在はサッカー、フットサル、バスケットボール、バトミントン、卓球、ダンスなどの種目を取り扱っているので、興味のある方、体を動かしてみたいと思っている方、是非お気軽にお尋ねください。 

公式web→http://www.web-spank.com/ 
Mixi→http://mixi.jp/view_community.pl?id=1942881 



【趣味】 
自分が聴いてる曲の紹介とか音楽観とか色々書いてあります。まぁどんな曲を聴いてるかってのは参加してるコミュニティ見てくれても分かうわ何するんだやm… 

あと、音ゲー全般(特にドラムマニア)が得意だったりします。 


【生息地】 
『Cafe Miyama』 
十中八九来ればいます。教科書やらPCやらプリントやら色んなものを散らかして勉強してます。そんな明らかに邪魔でしかない僕にも優しいMiyamaの店員には、きっとインテルはいってるに違いない。 


【注意】 
ログイン時間が『5分以内』になっていることが多いと思いますが、それは暇なんじゃなくて忙しい最中でもMixiを見るという心の余裕を常に持たせて、自分n(ry 


【思考回路】 
好奇心>>>>>(越えられない壁)>>>>>羞恥心


【座右の銘】 
    かけてよし! 
     (゚Д゚ ):. _  
    r'⌒と、j   ヽ 
    ノ ,.ィ'  `ヽ. / 
  /       i!./ 
 (_,.         // 
 く.,_`^''ー-、_,,..ノ/ 
    

  かぶってよし! 
    /(*゚Д゚)  
    / :::У~ヽ 
   (__ノ、__) 


  まるまってよし! 
     '⌒⌒'⌒ヽ   
   (゚Д゚* ),__) 


    お布団サイコー!! 
      ( ゚∀゚ ):. _  
     r'⌒と、j   ヽ 
    ノ ,.ィ'  `ヽ. / 
   /       i!./ 
    (_,.         // 
  く.,_`^''ー-、_,,..ノ/ 



どうみてもモフモフです。 
本当にありがとうございました。

2010-07-18

言葉は躍る。 tango! on Twitter



先日投稿したSimple Twitter Botの開発経験を踏まえて、2年前に開発していたweb application"tango!"を、Twitter用に移植したアプリケーション「tango! bot」を開発致しました。

タイトルにもあるように、tango! botのコンセプトは
「言葉は躍る。」です。
このコンセプトを土台に、次の2つの機能をtango! botに実装致しました。

1. 定期的にランダムな単語の群れをつぶやく

この機能は、tango!の元々のアイデアである

"思考に行き詰った時、何か考えもしないようなひらめきが欲しい時、地球の裏側からやってきたような言葉のカケラ達があなたの創造力をかき立てます。"

を、twitterで実現したものです。あなたの創造力をかき立てるため、tango! botは言葉のカケラ達を次々とつぶやいていきます。

"金鈴 青天白日 入獄 演者 病原・病源 満杯 必殺技 飯店 気孔 oboe 導く 麻布 放送衛星 買い戻し 活きる"


2. お題が出されたら、そのお題を用いた単語をつぶやく

この機能は、tango!の構想に新たに取り入れた新機能です。お題を頂いたとき、そのお題を用いた奇妙な単語たちを生成し、つぶやいた方に向かってtango! botがリプライします。

お題は、次のように出題することができます。

     "@tango_bot 言葉"

すると、数分後に、次のような言葉のカケラ達が返ってきます。

     "@username 海浜言葉 実の父言葉 綿言葉 えいさあ言葉 親犬言葉 騒ぎ言葉 和ます言葉 講演会言葉"

ただ、この機能は現在開発中の機能なので、うまく動かないことがあります。そのときは、'今日のtango_botが不機嫌だったんだなぁ'と思って、ご容赦して頂けると幸いです。

以上がtango! botの概要です。
これらの機能を用いて、皆さんの創造力が、より掻き立てられることを切に願います。

tango! bot URL: http://twitter.com/tango_bot

開発:@yasulab
企画構想:@Migihiza



追記1:
@Migihizaが彼のブログにて、tango! botの具体的な利用方法について解説しています。面白い使い方を思案しているので、是非一度訪れてみてください。


追記2:
tango! botのソースコードはGithubにて公開致しました。次のURLからアクセスするこどができます。

     http://github.com/yasulab

Gitを使っている方は、次のコマンドでcloneすることができます。

     git clone git://github.com/yasulab/tango-bot.git

なお、なるべく早くtango! botを公開したかった(というか週末中に完成させたかった)ので、リファクタリングなどは完全に後回しにしています。従って、現状のソースコードはかなり汚いです。余裕があるときに、コードを書き直すつもりです。多分。。。

2010-06-28

Simple Twitter Bot on Google App Engine




久々の更新です。mixiやtwitterなどで既につぶやきましたが、先週の週末に衝動的にtwitter botを作ってしまいました。このBotは次のように振る舞います。

1. Twitter上のつぶやきの中から、任意の単語が含まれるtweetを集める。

2. そのtweetをRe-tweetする。

以上です。
実際には例外処理などの細かな処理も含まれていますが、大まかな振る舞いは上述の通りです。この一連の処理を、cronを用いて1時間毎に1回実行します。

下記に、実際のコードの一部(main.py)を引用します。
Twitter Bot作成の参考になれたら幸いです。

#!/usr/bin/env python
#! -*- coding: utf-8 -*-

from appengine_twitter import AppEngineTwitter
from basehandler import BaseHandler, h
import twitter
 
# twitter.Api.__init__ method for override.
def twitter_api_init_gae(self,
                       username=None,
                       password=None,
                       input_encoding=None,
                       request_headers=None):
   import urllib2
   from twitter import Api
   self._cache = None

   self._urllib = urllib2
   self._cache_timeout = Api.DEFAULT_CACHE_TIMEOUT
   self._InitializeRequestHeaders(request_headers)
   self._InitializeUserAgent()
   self._InitializeDefaultParameters()
   self._input_encoding = input_encoding
   self.SetCredentials(username, password)

def run(name, pswd, search_term):
   gae_twitter = AppEngineTwitter(name, pswd)
   results = gae_twitter.search(search_term.encode('utf8'), {'rpp': 20})
   api = twitter.Api(username=bot_username, password=bot_password)

   # Get most corrently tweeted tweet
   status = api.GetUserTimeline()
   
   for s in status:
      if s.text.startswith("RT"):
         recent_tweet = s.text
         break
      else:
         print "The following tweet would be posted by hand, so skipped it."
         print "Tweet: " + s.text.encode('utf8')
         print
      
   print "Recent Tweet: "+recent_tweet.encode('utf8')
   print

   # Search Most Recent Tweet
   results.reverse()
   flag_enable = 0
   for i,result in enumerate(results):
      rt = "RT @" + result['from_user']  + " " + result['text']
      rt_len = len(rt)
      if flag_enable and result['from_user'] != bot_username and rt_len < max_len :
         """
         Retweet and exit
         """
         print "Re-tweet: "+rt.encode('utf8')
         print "Re-tweet Result: " + str(gae_twitter.update(rt.encode('utf8')))
         exit()
               
      if recent_tweet == rt:
         flag_enable = 1

   if flag_enable:
      print "There are no tweet found that I should tweet."
      exit()
      
   print "There are no tweets recently tweeted, so tweet the oldest tweet
   for i,result in enumerate(results):
      rt = "RT @" + result['from_user']  + " " + result['text']
      rt_len = len(rt)
      if result['from_user'] != bot_username and rt_len < max_len:
         """                                                                    
         Retweet and exit                                                       
         """
         print "Re-tweet: "+rt.encode('utf8')
         print "Re-tweet Result: " + str(gae_twitter.update(rt.encode('utf8')))
         exit()

# overriding API __init__                                                       
twitter.Api.__init__ = twitter_api_init_gae

# User Setting and Run Twitter Bot                                              
bot_username = 'CafeMiyamaBot'
bot_password = '???'
max_len = 140
search_term = u'Cafe Miyama'
run(bot_username, bot_password, search_term)

なお、上述のコードには、cronの設定などは含まれていません。
詳細な振る舞いおよび設定を知りたい方は、下記のコマンドでcloneしてください。

     $ git clone git://github.com/yasulab/Simple-Twitter-Bot.git

もしくは、下記のGithubレポジトリに直接アクセスしてください。

     http://github.com/yasulab/Simple-Twitter-Bot

bot_usernameとbot_passwordの内容を別のtwitterアカウントに書き換えて、お手持ちのGoogle App EngineのアカウントにdeployするとTwitter Botが動くと思います。加えて、search_termを任意の単語に書き換えれば、オリジナルTwitter Botの出来上がりです。


参考にさせて頂いたサイトおよびコード:
1. Python Twitter, Google Code
http://code.google.com/p/python-twitter/

2. Google App Engineで手軽にTwitterアプリを作成!
http://0-oo.net/sbox/python-box/appengine-twitter