Lightning Talks warm-up (episode 2)     前説 (後編)Kuniaki IGARASHI/igaiga 2009.7.18 @日本Ruby会議 09
自己紹介self-introduction
LT    応募I put up LT submission,
LTRejectbut it was rejected.
orz SIGH...
中の人        からメールI got a mail from staff.
タイマー運営したら前説で2分半x2日  時間をやろう “We would give you 230"      talk on 2 dayson timer administration.”
\ よろこんで!! /\ Yes,sir!! /
前説2日目               ←イマココHence the talk in today too.      ←Here and now
いがいが高専カンファレンス運営してます。     twitter:igaiga555LTタイマー運営係, 前説係      I m igaiga,   LT Timer operator,here for warm up talk.
最初に  大事なこと    First, I m talkingthe most important thing.
Special Thanks toSASADA Koichiさん   よしだむさん  あまのりょーさん     咳さん   mootohさん さとうようぞうさんTimer作成でお世話になりました
もう1つand,
高専Conferencein Tokyo 2009.11.7高専関係者以外でも参加OK!基調講演人工衛星開発新規人工塩基対創製Keynote speechArtificial satellite developmentCreation of U...
昨日の  おさらいLet s look back overthings in yesterday.
タイマーつくりました       TwYMTimer with Your Messages   http://code.google.com/p/twym/  I made the timer   named “TwYM”.
IRC messages を表示 TimerIRC/ustream  messages    The main feature is displaying IRC messages.
(・∀・)イイ!時は  ★ or ☆ or *star  を文中に入れてIRCへ投稿inspired by Hatena StarLet s drop a line with a star   ( *star or ★ or ☆ )     w...
gihyo.jpRubyKaigi2009Special Report大和田純, 白土慧今回新たに「発表に対して☆を投票する」    ますます機能が追加され,LTを盛り上げてくれる存在となりました。」It have been a tool ma...
今日は 仕組み について  I m talking abouthow to run it, today.
TwYMRequirementsMac OS X LeopardQuartz Composerruby 1.8.6 / 1.8.7
Quartz Composer    macに標準で入ってるグラフィカルなデモを作成できる開発環境It is a framework provided as partof the Xcode in mac for processing  and...
TwYM QC code
問題はどうやって   IRCからQCへ データを送りこむか    How do we input datasfrom IRC into QuartzComposer?
QC は外から 入力できる形式が 非常に限られている       QC can receivea few protocols from outside.
最初のバージョンの    通信方式The transmission process in the first version.
IRC   (ustream chat)nadoka                 (ruby IRC bot)YAMLRSSQuartzComposer
問題点  一定時間発言をまとめて    1つのRSSにする→発言からの表示遅延が最大20秒            ProblemIt make a RSS from some messages.    → Displaying delay is...
どげんかせんと  いかんHow do it resolve?
使えそうなpatch(部品)をみつけた  Network Receiver  Leopardあたりで入ったみたいI found a patch mightresolve the problem.
Network ReceiverThis patch receives the text sent on thelocal network by the NetworkBroadcaster patch.別の Network Broadcast...
Network BroadcasterNetwork BroadcasterThis patch sends text over the localnetwork using  UDP      broadcasting ormulticast...
つまりこいつらは  UDPできゃっきゃうふふ     通信している             UDP  Network          NetworkBroadcaster        ReceiverThey talk each other...
どんなフォーマットで    送ってるのか調査          UDP  Network       NetworkBroadcaster     ReceiverWhat format do they use?
Apple って送る場合は“000A000p000p000l000e”               って送ればいいよ                  You should send“000A000p000p000l000e”when you ...
やってみた       UDPRuby               QC         Network Receiver   I did it.
Ruby Coderequire socketsocket = UDPSocket.open()socket.connect("225.0.0.0", 50001) # address , portsocket.send("000A000P00...
000[英字] で送れることが判明 We have got a knowledgethey use 000[X] format.
・・・日本語は?  How about multi-bytecharacters like Japanese?
さらに調査I researched more.
UTF-32BE            (BE:BigEndian)             で送ればいいよYou should use UTF32-BE. http://arrifana.org/blog/2007/11/leopards-q...
UTF-32BE・・・?どんなライブラリを  使えばいい? Which library should we use?
Ruby1.9は  組み込みライブラリkconvで  UTF-32BEに変換できる!! キタ━━━(   )━(ω・́ )━(・ω・́)━(`・ω・́)シャキーン━━!!        ruby1.8.6の場合は外部ライブラリの        ...
ruby1.9.1 code# -*- coding: utf-8 -*-require socketrequire kconvsocket = UDPSocket.open()socket.connect("225.0.0.0", 50001...
NetworkReceiverへは  UTF-32BE       で送れることが判明"000A"はUTF-32BEでASCII範囲を指定してたのねWe have got a knowledge  they use UTF-32BE.
IRC (ustream chat)nadoka      (ruby IRC bot)    UDP(UTF-32BE)                   QuartzComposer
今後の課題Ruby1.9対応 nadokaの対応で難航中GitHubで公開したいデザインを凝りたい      Next feature      Into Ruby1.9    Release in GitHub    More cool de...
nadokaのRuby1.9対応 How will run nadoka in Ruby1.9.・正規表現中のエンコード対応               ¥xXX → ¥u00XX Translate expression in regular...
LT the 2nd day次世代数値演算ライブラリDecimalという再発明の意義 (斎藤ただし, 筑波大学情報学類                            科目等履修生)Morumotto, a jruby-based Ope...
Upcoming SlideShare
Loading in …5
×

RubyKaigi Lightning Talks TwYM episode2

1,518 views
1,452 views

Published on

Ruby会議2009 Lightning Talks 前説 IRC メッセージ表示機能付きタイマー "TwYM" ( 日本語 + English )

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,518
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

RubyKaigi Lightning Talks TwYM episode2

  1. 1. Lightning Talks warm-up (episode 2) 前説 (後編)Kuniaki IGARASHI/igaiga 2009.7.18 @日本Ruby会議 09
  2. 2. 自己紹介self-introduction
  3. 3. LT 応募I put up LT submission,
  4. 4. LTRejectbut it was rejected.
  5. 5. orz SIGH...
  6. 6. 中の人 からメールI got a mail from staff.
  7. 7. タイマー運営したら前説で2分半x2日 時間をやろう “We would give you 230" talk on 2 dayson timer administration.”
  8. 8. \ よろこんで!! /\ Yes,sir!! /
  9. 9. 前説2日目 ←イマココHence the talk in today too. ←Here and now
  10. 10. いがいが高専カンファレンス運営してます。 twitter:igaiga555LTタイマー運営係, 前説係 I m igaiga, LT Timer operator,here for warm up talk.
  11. 11. 最初に 大事なこと First, I m talkingthe most important thing.
  12. 12. Special Thanks toSASADA Koichiさん よしだむさん あまのりょーさん 咳さん mootohさん さとうようぞうさんTimer作成でお世話になりました
  13. 13. もう1つand,
  14. 14. 高専Conferencein Tokyo 2009.11.7高専関係者以外でも参加OK!基調講演人工衛星開発新規人工塩基対創製Keynote speechArtificial satellite developmentCreation of Unnatural Base Pairs of DNA
  15. 15. 昨日の おさらいLet s look back overthings in yesterday.
  16. 16. タイマーつくりました TwYMTimer with Your Messages http://code.google.com/p/twym/ I made the timer named “TwYM”.
  17. 17. IRC messages を表示 TimerIRC/ustream messages The main feature is displaying IRC messages.
  18. 18. (・∀・)イイ!時は ★ or ☆ or *star を文中に入れてIRCへ投稿inspired by Hatena StarLet s drop a line with a star ( *star or ★ or ☆ ) when you feel good.
  19. 19. gihyo.jpRubyKaigi2009Special Report大和田純, 白土慧今回新たに「発表に対して☆を投票する」 ますます機能が追加され,LTを盛り上げてくれる存在となりました。」It have been a tool making a fun LT time more.
  20. 20. 今日は 仕組み について I m talking abouthow to run it, today.
  21. 21. TwYMRequirementsMac OS X LeopardQuartz Composerruby 1.8.6 / 1.8.7
  22. 22. Quartz Composer macに標準で入ってるグラフィカルなデモを作成できる開発環境It is a framework provided as partof the Xcode in mac for processing and rendering graphical data.
  23. 23. TwYM QC code
  24. 24. 問題はどうやって IRCからQCへ データを送りこむか How do we input datasfrom IRC into QuartzComposer?
  25. 25. QC は外から 入力できる形式が 非常に限られている QC can receivea few protocols from outside.
  26. 26. 最初のバージョンの 通信方式The transmission process in the first version.
  27. 27. IRC (ustream chat)nadoka (ruby IRC bot)YAMLRSSQuartzComposer
  28. 28. 問題点 一定時間発言をまとめて 1つのRSSにする→発言からの表示遅延が最大20秒 ProblemIt make a RSS from some messages. → Displaying delay is20secs(maximum) from writing.
  29. 29. どげんかせんと いかんHow do it resolve?
  30. 30. 使えそうなpatch(部品)をみつけた Network Receiver Leopardあたりで入ったみたいI found a patch mightresolve the problem.
  31. 31. Network ReceiverThis patch receives the text sent on thelocal network by the NetworkBroadcaster patch.別の Network Broadcaster からデータを受け取れる
  32. 32. Network BroadcasterNetwork BroadcasterThis patch sends text over the localnetwork using UDP broadcasting ormulticasting. The sent text can bereceived by compositions on othercomputers using the Network Receiverpatch.
  33. 33. つまりこいつらは UDPできゃっきゃうふふ 通信している UDP Network NetworkBroadcaster ReceiverThey talk each other using UDP in kissy-kissy love.
  34. 34. どんなフォーマットで 送ってるのか調査 UDP Network NetworkBroadcaster ReceiverWhat format do they use?
  35. 35. Apple って送る場合は“000A000p000p000l000e” って送ればいいよ You should send“000A000p000p000l000e”when you want to send “apple”. http://arrifana.org/blog/2007/11/leopards-quartz-composer-and-network-events/
  36. 36. やってみた UDPRuby QC Network Receiver I did it.
  37. 37. Ruby Coderequire socketsocket = UDPSocket.open()socket.connect("225.0.0.0", 50001) # address , portsocket.send("000A000P000P000L000E",0)NetworkReceiver
  38. 38. 000[英字] で送れることが判明 We have got a knowledgethey use 000[X] format.
  39. 39. ・・・日本語は? How about multi-bytecharacters like Japanese?
  40. 40. さらに調査I researched more.
  41. 41. UTF-32BE (BE:BigEndian) で送ればいいよYou should use UTF32-BE. http://arrifana.org/blog/2007/11/leopards-quartz-composer-and-network-events/
  42. 42. UTF-32BE・・・?どんなライブラリを 使えばいい? Which library should we use?
  43. 43. Ruby1.9は 組み込みライブラリkconvで UTF-32BEに変換できる!! キタ━━━(   )━(ω・́ )━(・ω・́)━(`・ω・́)シャキーン━━!! ruby1.8.6の場合は外部ライブラリの rbuconvを使えばおk http://www.yoshidam.net/Ruby_ja.html kconv in Ruby1.9 can translate to UTF-32BE.OK━━━(   )━(ω・́ )━(・ω・́)━(`・ω・́)good job━━!!
  44. 44. ruby1.9.1 code# -*- coding: utf-8 -*-require socketrequire kconvsocket = UDPSocket.open()socket.connect("225.0.0.0", 50001)str_u32BE = Kconv.kconv(いがいが,Kconv::UTF32, Kconv::UTF8)socket.send(str_u32BE, 0) http://igarashikuniaki.net/tdiary/20090420.html
  45. 45. NetworkReceiverへは UTF-32BE で送れることが判明"000A"はUTF-32BEでASCII範囲を指定してたのねWe have got a knowledge they use UTF-32BE.
  46. 46. IRC (ustream chat)nadoka (ruby IRC bot) UDP(UTF-32BE)   QuartzComposer
  47. 47. 今後の課題Ruby1.9対応 nadokaの対応で難航中GitHubで公開したいデザインを凝りたい Next feature Into Ruby1.9 Release in GitHub More cool design
  48. 48. nadokaのRuby1.9対応 How will run nadoka in Ruby1.9.・正規表現中のエンコード対応 ¥xXX → ¥u00XX Translate expression in regular expression.・Exception `ArgumentError at /usr/local/lib/ruby/1.9.1/monitor.rb:140 -wrong number of arguments (1 for 2)→Timeout#extend_object(obj) 【急募】対応してくれる人 【help-wanted column】 People who can run nadoka in Ruby1.9
  49. 49. LT the 2nd day次世代数値演算ライブラリDecimalという再発明の意義 (斎藤ただし, 筑波大学情報学類 科目等履修生)Morumotto, a jruby-based OpenID service using visual authentication (Han Kessels, Hanamaru K.K.) Ruby on Arduino (高野光弘, 日本UNIXユーザ会) Monitoring the sun with Ruby (Benjamin Smith, Enphase Energy) RomanticRuby!(Rubyでギャルゲー) (久保優子, 株式会社万葉)rubyrep - database replication that doesnt hurt (developed in ruby) (Arndt Lehmann, TUV Rheinland Japan Ltd.) BABY - 初心者のためのグラフィックライブラリ (黒田 拓, 北海道大学 大学院理学院) Facing your daemons (Kenneth Kalmer)Rubyでの(力技)でのネットワーク運用 (植村優一(u-ichi), NTTcommunications) rubyによるお手軽CDN作成のすすめ (荒木靖宏, Debian Project) ActiveLdap (須藤功平, 株式会社クリアコード)

×