Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

LL Future に参加中

電源を確保できたので、*1今日もログ取っておきます。ちなみに、チケットを持ってくるのを忘れましたorz。当日券買ったので二重払いとなりましたが、Larryさんの旅費と言うことで(笑)*2

基調講演 / Larry Wall さん

YAPCの時と同じように、Perl6の文法の話でした*3
レクサとパーサの自由度とか、Perl6で拡張された正規表現とか、Perl5の文法をきちんと認識してエラーとなるとか。

どうやら、Perl5からPerl6のトランスレータがあるようです。

LL で未来を発明する

英語が聞き取れなくて、Larryさんの発言が大分抜けてます。すみません。

100年後言語がどうなっているか
  • 100年後は言語はないんじゃないか(まつもとさん)
  • 予想は出来ないが、過去の数学の理論が今も生きているように、面白いものは100年後も生き残る(住井さん)
  • 全自動正当証明器とかDSLとか量子言語とか(住井さん)
  • 面倒なことが簡単になる→メモリ管理、並列、CPUがLLに対応して、C言語とかはなくなる。言語のデザインが実装から解放される。一人1言語(藤田さん)
  • LISP1言語に統一される(笑)。自然言語を理解する。が、自然言語だけで全ては解決できない=自動車や自転車の運転のようなもの(ひげぽんさん)
  • 拡張できたり、並列処理ができたり。(Larryさん)
  • いいものとは? → CやC++も悪くない。色んな言語の好きなところを組み合わせる。同じような言語に近づいて行く(住井さん)
  • 数学的記法でいいものは? → +とか-とか。(まつもとさん)
    1. とか-は最近説明されたもの(住井さん)
そのために今まで何をして来たか
  • Perl6(Larryさん)
  • Ruby(笑)。プログラミングのイベントで1000人も人を呼べるのは日本くらい(まつもとさん)
  • MinCaml。抽象化に関する数学的モデルの研究をしている(λ計算、π計算)(住井さん)
  • Ypsilon。SchemeDSLに適している。(藤田さん)
  • moshSchemeの良さを伝えている(ひげぽんさん)
  • shellでS式を書くとインタラクションは? → CUIはS式実行(補完便利)。GUIが重要(ひげぽんさん)
そのためにこれから何をしていくか
  • monar OS。フルスタックで思想が統一されたもの(ひげぽんさん)
  • 面白そうな言語仕様を実装したい。誰か言語仕様を(実装できなくても)発表して欲しい(藤田さん)
  • 言語は現場に近い人が作った方が歴史的にうまく行く。100年、1000年後の言語開発者のために基礎研究。(住井さん)
  • 言語に興味を持つ人をもっと増やす(まつもとさん)
  • マクロ等のように、言語定義を拡張し過ぎるのはよくない。コミュニケーションがとれなくなる(まつもとさん)
  • 言語を自己定義(Larryさん)
関数型言語のよさは?
  • 関数型言語からは盗むべき点が多い(Larryさん)
  • 頭がいい人と仲良く出来る(住井さん)
  • Lispは破壊的代入もできるのがいいこと。慣れると括弧が無い方が気持ち悪い(藤田さん)
  • 関数型言語ならではの概念。学びの場(ひげぽんさん)
言語の実装に関して
  • 車と同じく、乗るだけの人といじる人(今泉さん)
  • プログラミングは生き残る? → 自然言語だけにはならない。自分は辞めるつもりはない(まつもとさん)
  • プログラミングは今、計算機を使う人全てが使うもの。100年後は、プログラミングしたい人だけのもの(今泉さん)
  • 自動車と違ってハッカー気質が強い。仕事でやってるわけじゃない。(住井さん)
  • どういう人にPerl6を使って欲しい? → 様々な人に使って欲しい。width + depth(Larryさん)
  • 一つの言語で幅と深さを実現できる? → Bigであれば。(Larryさん)
  • ユーザとしては、エラーメッセージをなんとかして欲しい。初心者が一番多く見る言語特性のはず。(藤田さん)
  • Rubyのエラーメッセージは? → あんまり考えてない。将来的には重要(まつもとさん)
  • 簡単なメッセージと、なぜ、詳細を表示する(Larryさん)
  • 言語は、ユーザの時間を奪ってはいけない。速度とか、エラー表示とか(ひげぽんさん)
  • 言語のわかりやすさの論文は皆無。「わかりやすさ」を定量評価が難しい。実装の人はどうしてるのか?(住井さん)
  • 言語デザイナよりユーザは多い。言語デザイナの時間を奪うべき。ユーザから報告があれば対応(まつもとさん)
  • 言語デザイナは大統領のように振る舞わなければならない(Larryさん)
  • ユーザの時間を奪ってるのはデザインではなく実装ではないか。実装をする人が増えて欲しい(藤田さん)
  • 全自動正当証明器で実装すれば? → 実用に100年かかる(住井さん)
  • Rubyと実装と役割がわかれてる? → バグ取り競争してる感じ?目標は1日1ハック(まつもとさん)
  • 処理系がないと、デザインもできない(まつもとさん)
Q&A
  • Q. 100年後でもノイマン型だし、実装者とか仕様の人も居るし、変わらない。100年後も変わらないじゃん。
  • 最初に言ったように変わる。抽象度が変わってもフラクタルのような感じの言語になるかも(まつもとさん)
  • Q. セキュリティって単語が出て来ないのは大問題。どう考える?
  • いいアイディアはない提案があれば、積極的に取り組む。セキュリティの人と言語の人は違うので。(まつもとさん)

サイコー!?フレームワーク

紹介
開発、運用
  • フレームワークが機能アップすると、ユーザの教育負荷が大きくなる。新機能を極力作らない。(ひがさん)
  • ひがさんと同感。把握できることが同情。複雑にしたくない(能登さん)
  • そういう一面もある。RoRは初心者向けではないが、一度覚えると学習コストは回収可能(元気さん)
  • RoRの暗黒面→進歩が速過ぎる。暗黒面を受け入れるエンジニアじゃないと。(吉田さん)
  • フレームワーク作者は機能をアップしたい。が、ユーザの反応は半々(ひがさんが会場の人に手を挙げてもらいました)(ひがさん)
未来
  • RoRにハマったら、LISPまで後一歩(吉田さん)
  • 今後5年、10年は使う。自由度が高過ぎて、人数*5に耐えられなくなって来た。自由度はLLの魅力なので、どうするか課題。(能登さん)
  • MobaSiF使ってる人手を挙げて → 0人(佐々木さん)
  • WEB以外のフレームワークを使ってるかもしれない(元気さん)
  • 1年後も5年後も10年後も変わらない。サポートし続ける。商用サポートも7年。(ひがさん)
  • 今はRoRの影響が強い。CoCが強まり過ぎると、ブラックボックスになり過ぎる。若干の設定をするように*6、調整が必要。(ひがさん)
  • 他のフレームワークに浮気?? → 今、新しいフレームワークも作っている(ひがさん)
会場
  • 会場: Schemeで国内の仕事はないが、カナダならある。
  • Gaucheの川合さんは腰痛でこれなかった(佐々木さん)
  • Q. 設定ファイルを書くのではなく、COCの結果をモニタできるツールを作るだけでいいのでは??
  • Seasar2では、WEB上でコンポーネントのDI状況を見れる(ひがさん)
  • RoRでCoCのせいでハマらない?? → ハマらない。暗黒面に落ちているから(元気さん)
  • RoRはエラーメッセージが素晴らしい(吉田さん)
  • MobaSiFはシンプルなので、ハマることは有り得ない(能登さん)
世の中の動き
  • JRubyとかJythonの動きってどう?? → まだ実験的。(ひがさん)
  • Javaの上でRoR使いたい? → JRubyの上では使いたい(元気さん)
  • Javaの方が安定してるから??(ひがさん) → 新しいもの好きだから(元気さん)
  • 安定性の意味では、JVM上で動かした方がいいと主張している人も居る(能登さん)
質問
  • Q. gemsとパッケージマネージャの折り合いは?
  • Rubyrpm、gemsは別で。最新パッケージを使いたいから(元気さん)
  • Q. gemsを使った時期によってバージョン差異が起きない?
  • バージョンはうまく管理されている(元気さん)
  • Q. 古い情報をDISらなくていいの?
  • Rails勉強会等がある。月一で顔を出す。(元気さん)
  • Q. 本しか読めない人はどうするの? RoR勉強会に出る人だけが暗黒面に触れる?
  • Railsは初心者向けではない(元気さん)
  • Q. MobaSiFを広めるためにパッケージング協力してくれない?
  • 前向きに検討したい(能登さん)
  • Q. フレームワークフルスタックがいいか、カスタマイズ出来るのがいいか?
  • フルスタックで提供されるが、交換可能がいい(ひがさん)
  • フルスタックがいい(元気さん)
  • 選べた方がいい(能登さん)
  • ひがさんと同じ(吉田さん)
  • Q. 選択肢がある場合は、初心者が選ぶのは難しいのでは
  • MobaSiFは選択肢がほとんどないから大丈夫(能登さん)
  • 初心者にはフルスタックがわかりやすい。ある程度知識が出来たところで、交換すればいい(ひがさん)
最後に一言
  • 色んなものを使って下さい(吉田さん)
  • Catalystがあるが、MobaSiFのよさもあるのでぜひ(能登さん)
  • あう、あわないがあるので、色々使ってみる。当たらしもの好きであればRoR(元気さん)
  • 新技術習得のためにフレームワークを作ってみるのがいい。自分の勉強としてFWを作ってみて欲しい(ひがさん)

LLでアート

  • LLは、海外ではDynamicLanguageと呼ばれている
Processing / 増田さん
  • ソフトウェアスケッチブック
  • ハオハオ(?)のデモ → 量子が反発・引き合う奇跡を絵として表現 → 3D化
  • RubyCocoa + Core Animation + Quartz Composerでミラーアプリを開発
  • LLなProcessing → Ruby-Processing, SketchBook, NodeBox(Python), fluxus(Scheme)
  • action-coding → スケッチやライブコーディング
    • デモ → コードを変えると、視覚的なレスポンスがすぐ得られる
  • fannel
    • デモ → 加速度センサーからの入力を得る。filterなどで動きを調整。
Max / 真鍋さん
  • MaxMSP 音響、映像表現用のヴィジュアルプログラミング環境(GUIでロジックを繋ぐ)*7
  • デモ → JavaScriptでライブコーディング、音と映像の同期
  • デモ → 音に応じて光る → UIも部品の一部らしい
  • デモ → 床を踏むと、床が光る(加速度センサー)
  • デモ → 両手の筋肉センサーの反応に応じて音を出す
    • work in progress(本番中にも開発)
    • 開発時は、筋肉センサーからの出力と映像を保存しておいて、それを利用
  • 良い点 | ビジュアルプログラミング環境、リアルタイム性、JavaScript、UI作成が楽
  • 駄目な点 | カオスになる、デバグ、処理速度、有償、WEBで動かない
  • 今後 → Arduino, iphone, python
Q&A

キミならどう書く?

  • 論評
    • 松野さん Perl
    • 園田さん Ruby
    • 西尾さん Jython、どう書く.org*8
    • 浜地さん ゴルフ場経営者
Hole 1 - tinyurl.comを使ったURLの短縮
    • RESTのAPIがある
    • CPANにライブラリWWW::Shorten::TinyURL
    • tinyurl以外の別のURL短くするサービス(easyurl.jp)
    • open結果を*で展開(ruby)
    • ほとんどすべての問題を163byteで融く(どう書く.orgの結果を評価するプログラム)
  • こう書く機動隊なる人達が居るらしい?
どう書く.orgとは / 西尾さん
  • 回答率は、C#SmallTalk、Haskel辺りが多い
  • 秀丸マクロとかSQL、Brainf*ckもある
  • 短さだけではなく、美しさ、面白さ
Hole 2 -文字列に含まれる単語の最初の文字を大文字にする / 西尾さん
  • Lasy K (関数型、予約語が極端に少ない((sとiとkだけ?)))
  • sed版 一番短い
  • λに見えるコード
  • pythonのちtれ()やCLの~:(では使えない
  • \Uを利用するのが多い
  • ASCIIは、6bit目を落とせば小文字・大文字を変えられる
Hole3 - 13日の金曜日を数え上げる / 園田さん
  • 840B 縮める気がないコード / ただし、import で * は使わないで
  • 人力
  • LINQ(C#)
  • 56Bが最短 goruby (予約語を省略可能なRuby1.9の処理系)
  • 13、5(金)は互いに素なので、かけてから比較してもよい
Hole 7 - バイト数を読みやすくする / 園田さん
  • CPAN利用
  • sed
  • C++Haskell方言
  • 80B shellで実際にファイルを作って表示 (仕様を満たして最短)
論評 / 浜地さん
  • (m+1)を、-~mにする
  • (bra==baz)&&(foo) => (bar-baz)||(foo) (引き算してからorに変える)
  • 終了条件を、!~2014とする(2014年が出ない間ループ)
  • Python => [1,2,3][True] は 2 ← 3項演算子と同じ効果
  • Ruby: s=$*[0] => s=*$*
  • Ruby: s.size-1 => s=~/.$/ (正規表現を末尾から一個前にマッチさせると文字列長がとれる)
Hole 8 - 横向きのピラミッドを作る / 松野さん
  • 55B forを一回に
  • 51B 引数のキャッシュ($ARGV[0]ではなくpop)
  • 47B STDINから
  • 43B absの利用
  • 37B デフォルト引数($_の省略)
  • 39B 111 を二乗すると、12321(ピラミッドの高さになる)であることを利用。
    • ただし論理的には0から9まで
    • 実際は、9でオーバフロー(12345678987654321)するので0から8まで
    • config.h辺り見るとOK
  • 37B splitより、/\d/g する
論評 / 浜地さん
  • Perl
    • \dは.でよい
    • "\n"は$/
    • '1'ではなく1
  • Ruby
    • a*(b+c) => a.*b+c メソッド呼び出しで結合の優先順位を下げている
    • $.を利用。正規表現で折り返し条件を指定 /#$./
    • 戻るには、$&を加える。$&が、正規表現とマッチしたところで undef から マッチした内容となることを利用
    • 終了は例外 (文字列 * -1)
  • RubyOOPで使う?? → OOPは知らない。一番使う(浜地さん)
Q&A
  • Q. Pythonで3項演算子になるって本当?? → 全部評価されるので(浜地さん)
    • 副作用があるからよくない(園田さん)
    • &&とリストを使えば、実行されなく出来る(西尾さん) → すごくダサイ(浜地さん)
    • Pythonでistitleは不要でしょう(浜地さん)
  • Q. 一番GOLFをしにくかったのは?
    • white space。見た目だけで面白くない。(浜地さん)
    • PHPは、関数名が「朝思いつきました」的で長い。(浜地さん)
  • Q. 将来プロゴルファーになるには?
    • 寝ても覚めてもGOLFをしてれば、誰かが勝手にプロゴルファーと呼び出すでしょう(浜地さん)
  • Q. GOLF的に、言語に求める機能は??
    • Groovyのit的なもの。ループカウンタとかが欲しい(浜地さん)

古い言語、新しい言語

古い言語
  • 構文
    • 解析技術の進化 → LL(1), SLR(1), LR(1), LALR(1) × (1pass, 2pass ...)
    • 計算機の性能の進化
    • なぜLETがあったのか → 予約語が先にきた方が構文解析しやすい
    • Pascalのラベルは数字だけだった → 再右端に数字が来ることで、ラベルと解析していた
  • 古い言語=コンピュータに優しい言語
  • 設定ファイルと言語パーサー
    • 設定ファイルのパーサを書くのは面倒なので、言語パーサを使う
    • Emacs-lisp, mod_security(Lua)
  • Windowsはiniファイル読み込みAPIレジストリUNIXにはgetenv
    • Windowはアプリ分野 ⇔ UNIXはテキスト処理
  • 世界初のバグは蛾
  • Firefoxの虫は蛍らしい。
  • Lispとゴキブリの共通点
  • 6502
  • エミュレータとは
    • ソフトウェアの寿命を伸ばす技術(ハードは壊れる。エミュは壊れない)
    • jsMSX (100%JavaScript)
  • orto ← JavaのbytecodeをDHTMLにして、実行する
orto / 小林さん
  • デモ : テトリス
  • setTimeoutで、JavaScriptでスレッドを再現している
  • 作った理由 → Appletのロードが遅過ぎる
    • JavaのLinkが実行時に行われるため。
    • J2MEの仕様では、動的リンクはサポートしなくていい → コンパイル時にリンクしている*10
  • 処理系内部には、巨大なswitch文 ← 命令の数だけ
    • 算術計算は言語が違ってもほぼ一緒
    • スコープ解決、メソッド呼び出しは言語によって大きく違う
    • Javaは、メソッド系の命令は4つ
  • 命令のswitchの外側に、状態のswitch (スレッド切り替えとか)
  • Q. GWTとの違いは??(竹迫さん) → JavaのソースをJavaScriptのコードに変換している
マルチプラットフォームJavaScript / 竹迫さん
  • Logo on JavaScript
    • <script type="script/logo" /> に書く
  • JSRuby 中谷さん ← JSのRubyインタプリタ
    • <script type="text/ruby" />に書く
    • 構文解析とかも、真面目に実装してる
    • マルチスレッド(sleep等があってもOK)
HotRuby / 小林さん
新しい言語
AS3のFlash Player / 新藤さん
  • SWFのバイナリの仕様が公開され、使用制限が撤廃
  • SWFをAIR(AS3)で実行
    • SWFの構造をオブジェクト化するライブラリを利用
ASの処理系 / 新藤さん
  • AS2の上でのAS1(ECMA Script)の処理系
    • evalが欲しいと言う声があったので作った
  • 高2の頃に書いた
  • 構文解析は自前のパーサ*11
  • switch文ではなく、1関数1インストラクション
LLVM / 若槻さん
  • LLVMRISCライク、49命令、レジスタマシン、変換・最適化
  • 設定ファイル、オプションが多い環境での利用
    • 移植性と効率性の両立ができる
    • OpenGLスタックに利用 (iPhone ⇔ デスクトップの切り替えに使っている)
  • Scott Petersen's toolsense
  • Nested VM
  • IKVM.NET
    • MONO、.NET上で動くJRE
  • LLの未来 → Javaとの相互運用が鍵? Java資産が多い。
  • gccの重要性が増す → llvmバックエンドさえあれば動く
LLVM勉強会 / 森田さん
  • LLVM バイトコードをネイティブで実行できるようにする
  • LLVM → ABC
    • Adobeの方が、実験で作ったもの
  • 問題
    • ASはブロックしてしまう → タイムスライス
    • ヒープやポインタ操作 → バイト配列などで
    • ASを、llvmによって関数呼び出し等を最適化し、高速実行できる
  • Tamarin Tracing - 動的でもGITで速くする仕組み
    • varの型チェックは毎回同じと過程し、ループの外に出す
  • TamarinSpiderMonkeyっぽくしたい
  • JSBackend
    • C→LL→JS
    • C言語がブラウザで動くかも
    • 吐き出されるコードを簡素化
まとめ
  • iPhoneVM開発に対する制限は厳しいが、ブラウザ上で動けば色んな処理系が動かせる

Tシャツ販売開始

買えませんでした。人気あり過ぎorz。

ライトニングトーク

銅鑼娘付き。

  • twitter人工無能を作ろう! / showyouさん
    • twitterでは、人口無能が人間と間違えられやすい → チャンス
    • 他者の発言→ 推論 →出力
    • 推論
    • twitter APIアクセス(HTTP)
    • 単語認識 → 文字列比較、形態素解析
    • 作ったもの
    • アレンジ
    • まとめ
      • LLでかんtあn
    • 時間切れ
  • Client-side database storageで実際にアプリケーションを作成してみた / 藤井太洋さん
    • Cookieではなく、JSからSQLを発行しクライアント側にデータを保存する
    • HTMLとJSだけで作る
    • デモ:ブックマーク+検索アプリ
    • SQLLiteをぜいたくに使う → VIEW等の使い捨てが自由
    • 各クライアントにDBを持つ → changeVersion()コマンドで変更
    • セキュリティ → ドメインの等しいページからは読み放題
    • 時間切れ
  • 私は如何にしてNarioを作り、一面をクリアしたか / authorNariさん
    • Rubyで書かれたスーパーマ*オ
    • キャラは全部クラス(Narioとか雲とかコインとか)
    • クリーンなNario → ソース内のMarioを全て削除
    • デモ: Nario GC
      • 一回目死亡
      • 二回目死亡
      • 三回目死亡
      • クリア!! GCのカウント数が出る
    • デモ: シルエットバージョン
  • 「Pit」で救う世界 / 庄司嘉織さん
    • 「ユーザ名とパスワードは書きかえてから」実行して下さい
    • 時間の無駄 → 約500年の無駄
    • Pit
      • account management tool
      • エディタで編集できる
      • $HOME/.pit/にsettei
      • pit.yaml, プロファイル.yaml
      • Ryby, Perl, PHP, Python
    • Java版はcomming soon...
  • Unbabel LLにLLを埋め込んでみた / 原悠さん
    • 将来、色んな言語を使い分ける → 得手不得手がある
    • Rubiskell
      • RubyHaskellを埋め込む
      • main関数を加えて、子プロセス実行するだけ
    • 展望
      • Brainf*cの埋め込み → IOが弱い → ロジックだけBrainf*cにする
    • Unbabelプロトコルさえ満たせば、OK
    • 21個くらい言語をサポートしたい → CodeReposへGo
  • Ruby on Railsで実現する自走式Webサーバー / 佐藤伸吾さん
    • Hacker's Cafe
      • 適当に集まってハック
      • チョロQを走らせる
      • 電脳眼鏡
    • 本日の説明
      • リモコン + Webサーバ + ラジコン = 自走式WEBサーバ
    • iPhoneのブラウザでFront リンクをクリックすると、WEBサーバが走り出す
    • 全てのものをインタネットに
    • PR 電脳スターラリー
  • ちょっと草植えときますね型言語Grass / うえのかつひろさん
    • Grass
      • wとWとvの3文字、ラムダ計算、形式的定義
      • 2006 関数型プログラミング言語のデモ
      • 2007 Webサイト、mixiコミュ
      • 2008 すらどで公開
      • → にわん語のGrass実装、他、各種言語での実装(grass.elも)
    • formalism、Webアプリケーション (Grass on Rails)
    • GrassはWEBと親和性が高い → WWW (wWw2.0(無限ループのプログラム))
  • Yet Another Prototype Oriented 〜NewtonScriptに見るもうひとつのプロトタイプ指向〜 / 鵺さん
    • NewtonScriptとは?
    • プロトタイプ指向
      • クラスはない
      • 全てがインスタンス
      • プロトタイプチェーンによる継承
      • 言語: Self, NewtonScript, JavaScript, Io
      • オブジェクト → JSONっぽく書く(代入は := )
      • _protoにプロトタイプを代入する
    • メソッド呼び出し、スロットアクセスは、ドット(.)
    • 時間切れ。
  • 超未来言語 Gallina / 今井宜洋さん
    • GALLINA
    • 型、関数は第一級
    • 型パラメータを持つ型 (C++のテンプレートっぽいの)
    • 数値から型の生成 (ベクトル)
    • 言語内での静的検証 → 定義を書き、証明を書く
      • 高品質へのサポート
      • 未来の言語にテストは必要ない
    • 他の関数型言語のコードを生成可能(OCamlHaskellのコード)
      • 既存の資源と連携可能
    • DLは自由、MacLinuxWindowsで動作、ニコニコにデモ
    • 時間切れ。
  • 未来の並列プログラミング言語としての Haskell / shelarcyさん
    • Haskellの並列化
      • ネイティブスレッド
      • Concurrent Haskell
      • Parallel Haskel(GHC)
      • Data Parallel Haskell(GHC)
      • GHC 6.10.1から順次サポートされる
    • Data Parallel Haskell
      • 並列配列([::]、 PArray)
      • フラット化 → 入れ子が可能
    • 例: DataParallel Physics Engine (GSoC 2008)
    • QuickSortの例
      • 違いは、LANGUAGE PArrとかData.Array.Parallelのimportとか
      • -fdbh-par オプションが必要
    • ユーザ定義型も利用可能
      • DPHの今後の課題 → 最適化とか
    • GHC プラグインGPUのりy
    • 時間切れ
抽選会
閉会式

Larryさんが日本語で挨拶して下さいました。「老人です。でも、今日若くなりました。今日は本当にありがとうございました。(Larryさん)」。とんでもない、あなたのパワーにはいつも圧倒されてますm(_ _)m。

あわせて読みたい
  1. 他の方のまとめ
  2. 過去のLLのまとめ
  3. 来年のLLイベントの予告 (エンディングで予告してたみたいだけど気がつかなかったです><)
  4. TB集

*1:結局、電源は途中からお借りしました。助かりました!

*2:チケット1001枚売れたらしいので、自分が重複で買わなければ1000枚ちょうどだったようです。

*3:あまり聞き取れなかったけど

*4:Gauche on Rails

*5:50人

*6:設定がコメントになるようなイメージでしょう。

*7:QuatzCompozerも

*8:LL Ringの時、じゃんけん2.0でPythonワンライナー書いた方

*9:定評があり、最高峰。ただし、Tamarinはやんちゃな感じで素晴らしくないらしい。

*10:DHTML作るタイミング

*11:コンパイラコンパイラは未使用