Genesis Lightning Talks #21

http://wiki.somethingnew2.com/lt/index.php?Events%2F2009%2F11

Genesis Lightning Talks #20 でも話していますが、Blogは抜けております。一応念のため。

テーマは「IT禁止」

今回はネタが思いつかず、発表を悩んでいたらあれよという間に6番手でした。

他の発表者についてはここで語るより実際に動画を見たほうがいいと思われます。(モノボケをここでネタバレするのも面白くないので)

発表テーマ「絶滅(危惧種)動物にまつわるすべる話」

歴史ネタしかないじゃないかと思いましたが、せっかくなので家業とも言うべき生物ネタをやってみました。

オオウミガラスとリョコウバトについてはどこかで語りたかったのですが、誰も話す相手がいなかったので思い切ってやってみました。

オーストラリア区の話が少ないのは、それだけで1テーマできるので今回は回避です。


今回の最大の失敗は、他に生物ネタをやっている人がいたことに尽きます。

次回のテーマ「プレゼンソフト禁止」

つまりPower Point, Keynote類は禁止だそうです。

HTMLで作るくらいしか思いつきません。

どうしても製作には時間がかかりそうです。

おまけ

私の発表時の動画ですが、はじめ数分は残っていないそうです。

はじめ数分なんて、ネタが滑ってもOKなように保険をかけているだけなので、残っていなくても問題ないと思われますが。

Genesis Lightning Talks vol.19

Genesis Lightning Talks vol.19に参加してきた

もう、先週の話になってしまいますが、今回もGLTに参加してきました。
http://wiki.somethingnew2.com/lt/index.php?Events%2F2009%2F09

これでGLTへの参加は5回目、発表は4回目となります。
前回の居酒屋含めて、ここ最近は皆勤だったりします。

テーマは「きゅう」

今回は2009/09/09発表ということもあり、テーマは「きゅう」となりました。

kwappaさん「Q 善意と愛と品質と」
  • QWAN(QualityWithoutAName)
  • 無名の質とはものごとがうまく行っているときのいい感じ
  • 善いものをつくろうという気持ち
    • 契約・報酬・義務ではうまれてこない
せんせー「queue」
  • FIFOLIFO
  • コンピュータ(nest)はstack
  • 世の中はqueue
  • 正直なところは様々。場合による。
    • 並行的に柔軟に
Eric Yap「求9」
  • マレーシアからはるばると
  • 資料なしトークプレゼン!
  • 文化の違いって大変
regtan「Javaにおけるqueueの実装α」
ヒガシ「9++」
  • 自分が髪を切って9++周年
  • はぴはぴはっぴ〜
yokatsuki「代替引用符q」
  • 文字列のインサート例
  • insert into table values('I'm happy')
    • =>insert into table values(q'[I'm happy]')
    • あまり知られていないけど便利

arihhのプレゼン

今回のテーマは「旧国名"蝦夷"」
2分間ほど好きなだけ歴史について語ったあとは、普通に@hokkaidobotの宣伝。
http://twitter.com/hokkaidobot
本来は「きゅう」ということで野球の変化球についてトークしようかと思ったけどあきらめました。

というわけで私の発表資料

今回の最大の反省点は生物トークが歴史以上にウケが悪かったことです。
これでは絶滅危惧種動物トークができない。

次回のテーマ

テーマは「もしも」
うーん。歴史クラスタを発動すると意味不明暴走トークができるけど、今度は自重しよう。

アマゾンEC2ナイトセミナ第2回

ここしばらく更新がなかったので、たまにはセミナ情報をブログにまとめます。
今思うとRubyKaigiを一切まとめなかった自分が不思議で仕方がないです。

藤川真一(えふしん)さん:自宅サーバからEC2へ

自宅サーバから運用へ
  • インフラに興味があった。
  • 増井俊之さん-UIの専門化の名言
    • 「必要なものは、自分で作る。」
モバツイッタ
  • 携帯電話向けのTwitterサービス(2007年4月開始)
  • 自宅で運営してた
  • PHP5(eoと言うシンプルMVC:非公開)+MySQL
  • 写真・位置情報の機能を付けた
  • 写真(HatenaPhoto・携帯百景とメール連携)
  • URLを携帯用に変換する
  • ユーザは15万人/78万人
  • アクセス数は4万人/24時間
  • PVはおよそ10×4万PV/1日
トラブル
  • RAIDがHDDが壊れた(アフェリエイトで稼いだ)
    • mvが壊れた!
  • ブレーカー・雷で落ちた
  • HUBが壊れた->仕事抜け出して修理
  • 部屋が暑い!エアコンが効果なし!
  • IO負荷でWebサーバに負荷
  • ルータ負荷->Webサーファができない
  • 2009年3〜5月くらいに異常が出てきた
  • 自宅サーバの予備器を買った
  • ルータを高いものにした
  • 月間600万PVが限界
  • 画像はそんなにないので大丈夫だった
EC2へ
  • 悩んだ
  • 初期導入コストがかからない
  • twitter.aplは海外だからEC2がいいよね(物理距離的に)
EC2構成
  • 参考書はrx7さんのダイアリーだけでいけた!
  • Webサーバ9台(ロードバランサ)
  • DBサーバ1台(固定IP付)
    • TwitterAPIが落ちるとDBコネクションが増えるのは課題
  • 接続は1台あたり0.2$/hour=月間144$
  • バックアップDB
  • 全文検索DBをEC2に置くと高いよ
  • smallで構築してmediumで運用するのがオススメ
費用
  • 7月
  • 8月
    • トータル$1606
  • Cloud watch, WAKAME によるインスタンス運用コストダウン
  • EBSにコード置く?
  • 寄付では運用できない
    • 毎日コストが発生するので
EC2メリット
  • 1h単位でサーバ止めてしまえば料金がかからないい
  • ポータル+サブサイト(EC2)に最適
    • キャンペーン・スポーツ中継など時期によってPVが増える場合には最適
  • コマンドラインで起動できるのがいい
  • iPhoneでも対処できる(TouchTerm)
  • AMIがあればサーバが増やせる
  • 再起動管理もいらない
  • サーバ構成を考えなくていい
    • ハードウェア故障を考えなくていい
変われない例
  • アプリケーションエンジニアがサーバに関する仕事を放棄している
  • インフラが力を持っている
  • 変化は終焉から起きる
質問
  • EC2で異常(フェールオーバ)が起こってもサービスは続く?
    • サーバの設定次第
    • ただし、商用利用はまだむずかしいらしい。
      • 自身は経験なし。
  • 費用は?
  • TLのとり方が辛い。戻る押したときにTLが流れたら戻っていないとか
    • 一応、セッションに入れて戻るようにはなっているけど動きは微妙。

横田真俊さん:AWSから見るクラウドコンピューティング

自己紹介
クラウド
  • 2007年から燃えてきた!
  • Web2.0」からバスワード王の座を奪いそう
  • 「CPU,ストレージ,ソフトをネットに置くもの」
  • 2004年からGmail(容量1G)がでてきた
  • 2008年4月にGoogleAppEngine
  • 2008年10月にMicrosoftがAzure
日本の企業
分類
  • SaaS…エンドユーザサービス(例:Gmail,WIndowsLive)
  • PaaS…Webアプリを提供(例:GAE)
  • laaS…システム構築する(例:EC2)
注目される理由
  • リソースの切り売りが可能
    • 元々はクリスマス商戦のために生まれた
  • スケールアップからスケールアウトへ
AWS(AmazonWebService)
  • 2008年にはAGS(AmazonGlobalSite)を越えた
  • スタートアップにさくらを使うノリで海外ではAWSが20%使われている
  • 仮想サーバ以外のサービスも充実
    • ストレージ、CDNサービス
障害例
  • nagiosからメール「SSHdown」
    • AWSGUIで入って直した
  • のっとられた!?
利用例
  • 料金
    • Small1日利用で2.4ドル年間876ドル。年割だと400ドル?
  • EC2の例:Animoto
    • 3日で3500台増やした
  • S3の例
    • 192TB使った
  • CloudFront
    • 東京にあるよ
    • S3と連携してコンテンツ提供ができる
      • 例:エア焼肉
  • VirtualPrivateCloud
    • VPNは日本ではまだ(海外にサーバがあるのというのが難)
中小企業クラウド
  • AT-link:パワーフレックス
  • IDCフロンティア-NOWA
日本のクラウド
  • 定額制
  • 支払いは請求書(日本的にクレジットは不利)
  • サーバ用意には3日必要(さくらも同様)
  • サーバはスケールアップ
  • 監視は24×365
  • 遅延も少ない
質問
  • 収益は?
    • 多分Amazon全体の1割以下
  • 遅延は?
    • エンドユーザとしては問題ないレベル
    • ただし、開発者にはつらい
      • SSHの遅延はワンテンポ遅れる
    • EC2とさくらを併用して使う人が多い
  • Azureとの違いは?
    • Microsoft依存
      • Office使っているユーザなどの拡張要素
    • Amazonとのケンカは本気
      • 値上げはまだない
    • Azure開発者はWindowsLoveではない
    • マスコットキャラ:あずにゃん

Whitespace

Whitespaceとは?

すべてが空白とタブと改行の世界です。
http://ja.wikipedia.org/wiki/Whitespace

サンプルコード

例えばHelloと出力させる場合はこんな感じのコードになります。

   		 	   
	
     		  	 	
	
     		 		  
	
     		 		  
	
     		 				
	
     	 	 
	
  


はい、わけがわかりません。

textからWhitespaceコードへ

文字を出力する程度なら簡単にできるので、
今回はプレーンテキストファイルをWhitespaceのprint文に変換するという
大変無駄なコードを書いてみました。
言語はRubyです。

#-----------------------------
# 出力方法設定
#-----------------------------
# コメントの出力
COMMENT_MODE = false
# HTTPヘッダーの出力(trueで"Content-type..."をアタマにつける。)
HTTP_MODE = true

#-----------------------------
# 定義部
#-----------------------------
WSC_SPACE = ' ' # 0
WSC_TAB = '	' # 1
WSC_NEWLINE = "\n" # \n
ERR_ARGNIL = "arg error."
ERR_FILENOTFIND = "file not found."
HTTP_HEADER = "Content-type:text/html\n\n";
WS_STACKPUSH = WSC_SPACE + WSC_SPACE
WS_STACKPRINT = WSC_TAB + WSC_NEWLINE + WSC_SPACE + WSC_SPACE

#-----------------------------
# 関数定義
#-----------------------------
# メッセージを出力。exitflg=1で終了
def printmsg(str, exitflg)
  p str
  exit if(exitflg==1)
end
# 文字をWhitespace表示にして戻す
def conv_wsc(char)
  Regexp.quote(char) + char[0].to_s(2).split('').inject(WSC_SPACE) do |ret, bit|
    ret += (bit == "1" ? WSC_TAB : WSC_SPACE)
  end + WSC_NEWLINE
end
# 文字列をWhitespace表示にして戻す
def conv_wsc_line(line)
  line.split('').inject("") do |ret, c|
    ret += "[S" + WS_STACKPUSH + "]" + conv_wsc(c) + "[P" + WS_STACKPRINT + "]"
  end
end

#-----------------------------
# 引数チェック
#-----------------------------
readfile = $*[0]
whitefile = $*[1]
# 入力チェック
printmsg(ERR_ARGNIL, 1) if(readfile.nil? || whitefile.nil?)
#存在チェック
printmsg(ERR_FILENOTFIND, 1) unless(FileTest.file?(readfile))

#-----------------------------
# メイン処理
#-----------------------------
# 出力結果初期化
outtext = ""
# HTTPヘッダー追加
outtext += "HEADER--" + conv_wsc_line(HTTP_HEADER) + "--HEADER" if(HTTP_MODE)
# ファイル読み込み
f = open(readfile)
f.each do |line|
  outtext += conv_wsc_line(line)
end
f.close
# 終端文字追加
outtext += WSC_NEWLINE + WSC_NEWLINE + WSC_NEWLINE + "EOF"
outtext.gsub!(/\S/, "") unless(COMMENT_MODE)
# 結果出力
foo = File.open(whitefile,'w')
foo.puts outtext
foo.close

第1引数で元ファイル、第2引数で出力先を指定すると変換できます。

Web対応?

今回Rubyでこのようなプログラムを書いたのは、
CGIとして出力できないかなぁと思ったのが理由です。
ソースを見てわかるとおり、"Content-type"といったなぞの記述があります。
wspaceから直接出力できるかと思いましたが、
改行が関わってくるので難しい感じです。
苦肉の策で以下のようになりました。

#!/bin/sh

wspace html.ws

一応できました。

誰得?

誰も得しません。
レンタルサーバに載せようと試みましたが、
wspaceがLinux版なのでFreeBSDの某サーバでは無理でした・・・残念。

問題点

Done.
Stack size 0
Heap size 0

と出力されます。どうしよ。。。

Android Bazaar and Conerence 2009 Spring行ってきた

基本個人的メモ。
とても会社の報告書に書こうと思っていた内容とは思えないw

日本Androidの会:丸山先生「拡大するクラウドとモバイル・デバイスの世界 」

  • ムーアの法則
    • 昔のスーパーコンピュータが今の携帯の性能。
  • 情報爆発
    • ex) ラジオ:21G/月, 動画:160G/月, HDTV:1.3T/月
  • 日本の携帯は進みすぎている?
    • 余計な機能多すぎ!
    • シンプルなほうがわかりやすい
  • 昨今はApplegoogleが携帯に参入してきたことが大きい
  • 携帯のフェーズ
    • 普及→ネット接続→ブロードバンド の道をたどる
    • 携帯もやっとブロードバンド。(特に日本)
  • 携帯とクラウドは密接な関係
  • マンガ・ゲームに強い日本のコンテンツ力には期待

グーグル:クリス・プルエット「Android in Japan 」

  • google側としても日本市場での成功するかどうか気になるところ
    • 日本市場成功が無くしてモバイル市場成功は非ず
    • 日本市場は成功させるのが大変
  • Androidマーケット
    • アップしたら数秒後には一般ユーザが落とせる
    • しばらくは無料アプリで勝負する
  • ADC2に募集してね
  • HT-03Aの発売は7月の中旬では?
  • Androidはアプリはなく、あらゆる端末に載せられることが強み。
  • 会場からの質問
  • AndroidマーケットとADC2のどちらにアプリを公開すればよいのか?
    • アプリの目的次第。
    • ADC2は無料アプリのみなので、有料が目的ならマーケット。
  • セキュリティ・ウィルス対策は?
    • Androidアプリはセキュリティに自信があるので、そういうソフトは現れない
    • 悪意のあるアプリはランキング入りされないので大丈夫
    • ユーザから苦情が来るなら消す。->消せば端末からも消える?

※今回唯一HT-03Aの発売日について触れた。また、日本語が上手で驚いた。

NTTドコモ:山下哲也「新たな進化 〜Androidがモバイルを変える 」

HT-03Aの発売日、価格には触れず

KDDI:堀内浩規「Androidに期待すること」

  • WiMAXの宣伝…7/1から
  • Androidは家電に載せることも可能
  • Android時代の課金方法は検討する必要がある
  • アプリのセキュリティも十分気をつけねばならない(←クリス氏に対するまさかのツッコミ)
  • 開発側としてはUIはしっかりしたものを作りたい

※基本的にKDDIとしてのAndroid携帯の発売については触れなかったのが残念

嶋是一「Androidキホン・黒船到来により変わったコト」

  • googleさんが手掛けたのはミドルウェアより上の層
  • Androidは汎用環境もオープンソース
    • よって、メーカー携帯以外なら開発可能
  • Androidの利点は"あらゆる技術をまとめた"こと
    • 通化することにより、アプリの連携が強力
    • インテントレゾリューションで、連携するアプリを選択できる
  • iPhone使ってもクラウドと連携するならgoogleに繋がる
  • AndroidのマーケットはAndroidマーケットだけではない
    • 携帯以外でも動作可能だから、PDAやカーナビでもアプリがでてくる

日本Androidの会Tシャツ部:矢野りん「アプリデザイン、色使いで差を付けろ!」

  • Android携帯は略して「ドロケイ」
  • Android携帯アプリ開発者のことは「ドロイズ」と略す。
  • ちなみにAndroidのTシャツはドロT
    • 今会場では販売せず。7月13日のイベント以降で通販も可。
アイコンの色使いについていろいろ
  • Androidの背景は黒系が多い。
  • アイコンは白系が目立つ
  • 青系はひっこむ
  • キャラモノアイコンは目立つ。
  • 暗い枠に明るいアイコンがベスト(ただし、2色とも同系色を使う)

近藤純司:セカイカメラのつくりかた

安生真、いちる、小太郎「トークセッション」

  • Androidって?
    • mac-win95のときのwindowsっぽいイメージ
  • こんなアプリがほしい
    • Androidでハイフォーする時代がくるかも
      • 端末次第とはいえ、IrDAがなかったりするから難しい。
      • (記載者ツッコミ:bluetoothがあるよ!)
    • 本読みがジェット
    • 詰め囲碁、詰め将棋がない
    • なぜか数独ばかり
    • 激突艦隊はどう?
  • こんなアプリがウケる?
    • 単機能でわかりやすいアプリ
  • Androidの方向性
    • Suica機能がないのは受け入られない要因になるのでは?
      • 切り捨てるべきことでは?
      • ゲーム用Androidはゲーム用で切り分けが必要
  • iPhoneアプリはゲームを買う。
    • 携帯はパイが多いので、安く提供できる。
    • DLだけでいいのでさらに安くいける。そこはDSと差別化。
    • (記載者ツッコミ:DSiアプリもDL可だけどね)
  • アプリ上げ放題
    • アダルトも?
      • そこはgoogleさんがなんとかしてくれる
  • 中国のAndroidiPhoneのぱくり?
  • 実物大卓上ゲーム専用Androidとかどう?
    • 大きければ高齢者も見やすく扱いやすい
  • お台場のガンダムAndroidを載せて動かそう計画

総論

iPhone3GSの発売日というのに会場はiPhoneユーザがほとんど。
GDDフォンユーザは3割程度。DevPhone1ユーザを合わせて4割程度でした。
GDDフォンもらえなくてAndroidアプリ開発からは離れようと考えていたけど、勇気がでました。


アプリはまだまだこれからというところだけど、まあアイデア次第です。


あと、Tシャツ手に入らなかった・・・

Genesis Lightning Talks (vol.17) で話してきた

最近のエントリーがtobe-tobeとGLTばかり……。
それしか活動してないの?といわれても、まあ、OOPJogがありますよ!
とはいえ、それしかありませんけどね!!!

というわけで、オラクルさん行ってきました。
気が付いたら青山オラクルは4回目。
ついに人をトイレに案内できるレベルにまで達していたw

kwappaさん「自己ベストの出し方」

いつもお世話になってますkwappaさん。
継続が大事というお話。
世界記録と比べてもしかたがない。
OOPJogのネタがでてきたので、これは自分もOOPJogの名前を出すしかないと判断。

せんせー「自分のB.e.s.t.

前回、GLTメンバーが大学で発表した後日談。
教員の反応がよかったとはいいなぁー
wikiの使い方がわからないのが問題というのも意外。
確かに非ITにwikiは難しいのかもなぁ。
別の勉強会・・・tobetobeにふいたwww
自分の閾値を超えることが大切。

chocokanpanさん「最北端」

私の後にスピーカーということで、場の空気をなんとか正常に戻してくれたchocokanpanさん。
実際話しを聞いていても、札幌市の自分と稚内では世界がちがうなぁ〜と、
道内の人から叩かれそうなこと書いてみる。
出汁之介がかわいかった。

yokatsukiさん「講習準備の最短化」

最近、twitterのTLで新人研修の話が出ていたり、勉強会に出回っていることもあったので、個人的には一番聞きたかったyokatsukiさんの発表。
ポイントとして挙げられていた、受講しないにはちょっと驚き。
「ポイントを徹底的に聞く」という人に聞くのが一番というのは同意。
実際、聞ける人がいるという環境がなかなかむずかしかったりするけど。

Ryunosukeさん「コミニティ連動で世界1位になった方法」

前回、全身タイツで場を沸かしてくれたRyunosukeさん。
「りゅうのすけ」で検索してSEO一番。確かにそのとおり!
たまねぎ早食いをインパクトはさすがです。
ちなみにたまねぎ早食いをチョイスした理由は、5分以内でLTで挑戦できそうな世界記録だからということだそうです。
「りゅうのすけ」で検索して一番驚いたのが、wikipediaに名前があったことだったりする。

むたさん「自己ベストなOS環境を目指して」

勉強会カンファレンスでお世話になったむたさん。
windowsアプリ開発者なのにMACminiを買ったというお話。
ここ最近、技術者の間でMacユーザの増え方は脅威的ですから…
懇親会では話を聞けなかったのが結構悔やまれました。

mochikoAsTechさん「自分にとってのベスト」

「飛び入りの型はツンデレで答えてください」というフリに対し、ツンデレで答えていた。
萌えた。
詳細は来場者特権。

懇親会雑記

基本的には自分の発表が滑ったことによる謝罪"祭り"。
はい・・・ごめんなさい。


あとは学生さんって若くていいなぁ〜とおもったくらいかなw


Ryunosukeさんの話が面白かった。
twitterのメディア価値には一目置いているそうで、まだまだ化ける可能性があるそうです。
Ryunosukeさんのセカンドライフでやったライブの話や、ライブを聞かせるための演出の話は面白かったです。
(ただし、詳細は書かない!!)

自己ベストな謝罪タイム

まずは発表youtube


そして、謝罪タイム。
自分がはまった理由箇所が、時間節約のため、まるまる削減なのにアジェンダ・まとめに残っていた件について(ぇ
でも結局30秒くらいあまった。語りたい箇所を削る必要なかったなぁ〜。
歴史とサブカルチャーを結びつけるという前回と同様ネタでありながら前回よりカオスな内容にまとめられたのはよかった。
これで、リスナーの方も「これでいいなら自分でも発表できる!」と思ってくれたに違いない。

次回テーマは「まつり」

テーマ「まつりごと」なら得意分野じゃないのか…と真剣に悩んでる。

tobe-tobe vol.5

最近の日記がすっかりtobe-tobe一色なのは気のせい。
というわけで、東京Basic Technology勉強会vol.5。
今回はアルゴリズム宿題発表会2本立て。

chocokanpanさんはアルゴリズムやソートの概念についてもプレゼン。
impressiveについて熱く語ったりと課題以外の部分でも白熱。


id:tsuyoshikawaさんはJava以外にもRubyでコード書いてきた。
Javaでのコーディングはあまり経験がなく、苦労されたようです。
ちなみにOOPJogでもJavaの話題になりました。


というわけで、前回のハノイと同様、自分でも組んでみた。
jqueryリハビリも兼ねて「javascriptバケットソート」

// 作成するバケツ数(0から作成するので数は+1されちゃう)
NUMMAX = 2000; // なんとなく2000
// ソート部分
function bucketSort(arys){
  var i,j,k;
  var bucket = new Array();
  j = 0;
  // バケツ作成(無駄に0からスタート)
  for(i = 0; i <= NUMMAX; i++){
    bucket[i] = 0;
  }
  // バケツに入れる
  for(i in arys){
    bucket[arys[i]]++;
  }
  // バケツから出す
  var arys = new Array();
  for(i in bucket){
    for(k=0;k < bucket[i];k++){
      arys[j] = i;
      j++;
    }
  }
  return arys;
}

とはいえ、アルゴリズムの箇所ではjquery関係なかった。
インタフェースの部分で使ってみたけど、ブログには書く気がしないや。
そのうちTCLといっしょにコードをgithubにでもあげる気がする。