Open Source Conference 2008 Tokyo/Spring 2日目レポート(1/4):「D言語BOF(1/2)紹介/事例編」


(追記)こちらにもっと詳しくレポートを書いている方がいらっしゃいます。http://d.hatena.ne.jp/Dubhead/20080301

オープニング

作者Walter Brightさんからの祝電を読み上げる。
「もうこれからは生産性と性能のどちらかを犠牲にする必要はない」
とのこと。

D+SDL+OpenGLでざくざくゲームを作る

講師:ABAさん(id:ABA)

略歴紹介
    • PC-6001時代からゲーム作り続ける
  • なんでDを使うようになったか?
    • Cは再利用性が悪い
    • 元々Javaの人間 最低限オブジェクト指向ないとやってられん
    • C++はGCないし黒魔術っぽくて面倒
    • はまじさんからDを聞き、やってみようと
ゲーム製作の変遷(かっこ内の数字はDのバージョン)
    • 2003/8 最初のゲームを作る (0.61)
    • youtubeからデモムービーを紹介(TT,gunroar)特にゲーム名は出さず
    • p47(0.7),tumiki(0.8)の紹介
      • tumikiは海外のゲーム会社がwii版を作ってるらしい(製作には関わってない)
    • 0.100ショック(0.99の次は1.0だと誰もが思ったのに…)
      • この頃TT
    • mucade (0.148)
    • titanion (0.174)

これだけ量産できたのはDのおかげ

Dの利点
  • GC、ビルド速い、ランタイムほぼ不要exe作成
  • Noiz2bg(noiz2saの背景だけ流す)MonaOSで動く(C+SDL)
  • ゲームのライセンスは全部修正BSD

はじめてのD

講師:k.inabaさん(稲葉一浩さん)
Dドキュメントの翻訳をした人。
現在オーストラリアにいるためskypeからプレゼン。

D?

「変化の激しい言語」
今日のDは明日のDではない
今日のプレゼンが一週間後も同じとは限らない
今日は「今日のD言語の話」をする

特徴
  • 見た目はCやJava系統
    • DでもCでも動くコードもある
  • ネイティブコンパイル
    • 速い
  • スクリプト言語っぽくも使える
    • #!/...みたいにしてシェルから実行できたりする。
  • コンパイル時限定eval
    • 文字列からその名前のフィールドを持つクラスを生成
  • オブジェクト指向っぽい機能
    • ミックスイン
  • 関数型っぽい機能
    • クロージャ

D&DirectX

講師:Hiroki Itoさん

製作物
  • 花火の立体映像
    • 高速にパーティクルを扱うことができる
  • 魚が泳ぐ3Dムービー
  • 長崎 出島町の仮想環境シミュレーション装置
    • 中に入るとCG空間に入り込んだような感覚となる
Dのいいところ
  • C++だと
    • パフォーマンスだめ
    • デバッグやりにくい
    • シングルスレッドだから
      • ここはこれから大問題になるボトルネック
    • LuaはGCがくせもの
  • Dのいいところ
    • C++よりも汎用性を高められる
    • ポリゴン頂点情報の取扱い
    • DXの3Dモデル構成情報はCPU、GPUで共通
    • mixinを使うとC++に比べはるかに簡素なコード
    • instancing
      • DX Draw関数はオーバーヘッドが大きく、如何に呼び出し回数を減らすかがキモ
    • ビデオメモリ、サウンドバッファ操作
    • ロックアンロックをまとめて記述できる
    • interface(C++)による過去の資産とのリンク

CプログラマがDを使うと?

講師:一色さん

  • 普通に使うだけならCと同じで書ける
  • プロトタイプ不要
    • そもそもヘッダファイル書く必要がない
  • Dでは変数にプロパティがある
  • 配列がいい
    • sortプロパティ使えばソートは一発
    • dupプロパティでコピー
  • Cライブラリが使えるSDL,OpenGL,DirectX
    • ヘッダをDモジュールにする必要あり

Dでゲームを作ってみる〜芝とdHellの紹介〜

講師:omegaさん(id:o_mega)

最近作ってるゲーム 芝

ニコニコ動画ネタで生態系シミュレーション
ニコニコ動画にもupされてる

dHell/dHell2
  • dHell
    • Kenmoさん作のSDL/SDL_mixerのラッパー
    • 問題点
      • 表現力貧弱
  • dHell2
    • 作画周りをOpenGL
    • RectwinderNTGL
    • 問題?点
      • OpenGLドキュメント少ない
      • VistaだとOpenGL重いらしい
      • 一部のGPUで挙動おかしい
なんでDに?

ABAさんとissikiさんが使ってたから

Cの.hを確実にDのモジュールへ変換する

講師:糸柳さん(ITKz)

従来の方法
  • Cの型からDの型へ
  • extern(c):を使ってDモジュール内の宣言を書く
  • DMD「では」確実に動く
  • DMD:Win32、x86Linuxしか対応してない(64bitOS未対応)
GDCを使う
  • (Dはマイナー、D使いはきもい!)
  • GCCのDフロントエンド
  • (最近のGCCではGHC(haskell)もあるらしい)
  • 注意点?
    • Cは処理系依存でサイズ変わるがDは不変
      • win32:Cのlong4byte,Dのint4byte
      • win64:Cのlong4byte,Dのint4byte
      • 64bitUbuntu:Cのlongは8byteだからずれる
  • 解決策
    • Cの構造体へはCのコードからアクセスする
その他
  • swig4dなんてのもある
  • 引数のスタック上のオフセットはどうなるか不明

おことわり

後半は別のセッションを聞きにいったため聞いてません。

Open Source Conference 2008 Tokyo/Spring 2日目レポート(2/4):「出張インストールパーティの可能性と課題」


講師:羽鳥 健太郎さん(小江戸らぐ)(id:hatochan)
http://hatochan.dyndns.org/koedolug/

出張インストールパーティの始まり

  • 鳩山の学生からの申出
  • 2007年出張インストールパーティ 9/29,11/17,12/22
  • 授業で使う開発環境作りたい
  • 参加者数
    • 9/29はこの日だけ出れれば単位とれる授業というのが開催してたから…3人。
    • 11/17 10人
    • 12/22 3人 (冬休みだかららしい…)

参加者プロファイル

    • ほぼ学生
      • Win環境 大容量メモリ、HDD
    • 一般の人
      • 自分で入れようと思ってできなかった
      • 一昔前のスペック
      • 大抵ハードディスクに問題あり
    • 研究室の人
      • ふた昔前のスペック

自分たちの頃は…

  • 重いwin(今も)
  • 泣かされるwin(今も)

環境の違いを自覚

  • チューニングなんてやらない
  • 基本GUI、コマンド・コンソールは無縁
  • ツールが充実 別に悪いことではないが…。

インストールパーティのインストール方針

  • 現在のWin環境はいじらない
  • 仮想環境の利用
  • インストールだけでは終わらない
    • 「インストールだけで何が楽しいの?」
    • その次に何をするかを教える
  • OSS教育の規定ガイドラインみたいなのがIPAから公開されているらしいが…
    • 大学のカリキュラムの形式が前提(90分1コマ)
    • 30分では教えきれない!

インストールパーティの様子(写真)

  • 仮想環境は大体動く
  • 古いハードだとはまる

課題

参加者をどのように増やすか
  • 開催要領が難しい
    • 地域ケーブルテレビなんかを使って宣伝したりした
    • (地域のケーブルテレビはコンテンツに飢えているのでほとんどお金かからない。pptで資料出さなきゃいけないのが玉にキズだが…)
  • スムーズな進行のために前提が多すぎる
      • 仮想環境だとメモリ、ディスク容量が重要になる
  • とにかくLinuxを入れてみたいっていうパソコンを持って集合してもらう
Linuxを使う楽しさを伝えられない
  • Linux使ってて何が楽しいんだろう?
    • はまったネタ、泣いたネタはこんなに話せるのに
      • どうしたら解決したかまで話さないとだめ
      • それを話すには30分では足りない
  • Windowsの代替でいいのか
    • 水道水、昔は平気で飲んでいた。なんで今買って飲むの?
    • 安定して動いているWindowsの代替にはならない
  • 安全性を強調
    • 使い方を間違えればWinより悲しい目に遭う。ポート無闇に開けたりすると…
  • やはりエロ
    • CDブートだと足跡残さない!
    • …でも大学だとこれは言えないだろう…

インストールパーティの可能性

  • Linuxの楽しさを伝えられたら
    • 全然関心のない層に、何をどう伝えたら
    • Linuxに興味のある層に、何をどう伝えたら

インストールパーティしてる?

  • 参加者の意見
    • 少年発明家クラブにPC組み立てからOSインストールまで1日でやる団体があるらしい
    • 教育向けKNOPPIX+OOoでカレンダーを作って帰ってもらう
    • さすがにPCは持ち帰れない

ちょっとディスカッションとか

  • Linuxでしかできないことが実現できないとアピールできない
    • Win98とかだとセキュリティパッチがない
    • Linuxだったらwin98に比べ比較的最新の機能が使える
    • などなど
  • 来てる学生は知識に飢えている(羽鳥さん)
  • 地方だとシニアの方が結構頑張っている
  • 出張は言ってくれればどこでもいく(羽鳥さん)

Open Source Conference 2008 Tokyo/Spring 2日目レポート(3/4):「KDE4.0が実現する新しいデスクトップについて」


講師:亀田大輔さん(日本KDEユーザ会)
http://www.kde.gr.jp/

おことわり

15分遅刻したので最初の方はレポートしてません。
(会場の皆様、遅れて入ってご迷惑をおかけして申し訳ありませんでした)

KDE4.0の新機能1:Solid

(ハードウェア抽象化レイヤらしいが、ほとんど聞き取れず)

KDE4.0の新機能2:Phonon

  • マルチメディアフレームワーク
  • aRTsは捨て去られた(3.5までの遺物)
    • メンテナンス停止と機能不足のため
  • Xine、GStreamerをバックグラウンドで使用

KDE4.0の新機能3:Strigi

  • 高速検索エンジン
  • 正確にはKDE自体の新機能ではないが…
  • ファイルのメタ情報を検索対象にできる
  • KonquerorKmailなどもStrigiを使っている

KDE4.0の新機能4:Plasma

  • 新ユーザインタフェース
  • 「ぷらすま」と読む(ぷらずまじゃないのか…)
  • SuperKarambaテーマをベースにUIを中心にユーザ体験に関わる改良を検討・実施
    • SuperKarambaテーマはなんか有名だったらしい?
  • KDE4.0の目玉
Plasmoid
  • ユーザインタフェースの単位
  • ガジェットとかウィジェットとかベータ版でもRC版でもどんどん追加されていっている
  • Plasmoid追加のためのベースがPlasma
  • データエンジン:データアクセス用インタフェース
ZUI:Zooming User Interface
  • 画面の縮小・拡大ができる
  • 仮想デスクトップの複数同時表示(を狙っているらしい)
  • 自分が行っている作業を俯瞰・一覧表示できる

デモ

  • 右上からウィジェットを簡単に追加できる。
    • Firefoxのアドオンみたいな表示。
  • タスクバーもPlasmoidの集合体。
  • Alt+F2で出てくるランチャーも変わってる。
  • Plasmoidは4.1リリースプランでもどんどん追加されていくようだ。
  • 新PDF・Postscriptビューワー
    • pdfにメモれる。赤丸つけれたりとか。
    • もう紙に印刷しなくてもいいよ!
  • 画像ビューワー
    • サムネイル表示からそのまま拡大・縮小・全画面表示・回転とかできる。(回転は画像の変更扱い)
    • 画像を閲覧しながら画像を簡単に編集できる。
  • KControlも変更した。

残念なこと

KDE4は大きな変更があったこともありクラッシュしたり使い勝手が悪かったりする。
是非フィードバックを!
(デモ中に落ちた)

まとめ:KDE4.0の主な変更

是非フィードバックを!

  • KDEユーザ会活動参加者募集
    • 面子が変わらないらしい…。

感想

見た感じの印象…OSXやVistaみたいだった。
でもよく考えたらOSX(Widgetが入るTiger以降)、Vistaは合計で10分ぐらいしか触ったことないのでその感想は正しくない気がした。

Open Source Conference 2008 Tokyo/Spring 2日目レポート(4/4):「ライトニングトーク」

オレゴンから愛とエンタープライズ

演者:しまねOSS協議会 野田さん
http://www.shimane-oss.org/
Ruby City MATSUE Project 2006 summer
しまねOSS協議会も発足
オープンソース地域資源
Rubyは松江のもの?
@OSC2008 Oitaで爆発!
オープンソースは愛だ!
シリコンバレーいったりオレゴンいったり
OSC2008 Shimane 9月開催

Bashユーザ会設立総会

演者:吉田さん 
http://mixi.jp/view_community.pl?id=2094792
(bashユーザ会のサイトが見つからない…mixiだけなのかな?)

なぜbashユーザ会?

bashについて話す場所がなかったから

やりたいこと
  • 何でも質問できる場所を作る(コマンドの使い方、スクリプトの作り方、コード読みたい、書きたいetc)
  • bashユーザを増やす(Solaris(csh文化)とか、商用UNIXの人達向け)
  • bashグッズ、bash勉強会、bash飲み会(言葉の響きがいい?)
    • bashの奥深い使い方について勉強したい
現在の活動とか
  • mixiで活動中(名前そのまま)
  • 現在メンバ20数名
  • No bash, No Life今年のキーワード

geeklog japanese

演者:今駒さん
http://www.geeklog.jp/

geeklog
  • 汎用CMSの一つ
  • MySQL PHPで動く
  • 去年本が出た Geeklog導入ガイド
  • ブログをコアに持つ情報発信型CMS
  • 開発日誌を開発者達が公開中
  • MLだとメールの重さが一様
    • SNSだと発言者によって発言の重さがあるのでJapaneseではSNSを使ってる(本家ではML)
  • OSPNのSNSでOSCの写真等アップ中
    • 誰でも参加できる
    • ていうか参加者募集中

(私も飲み会の後に今駒さんに誘われたので入ります)

 

Nodebox

演者:さとうしんごさん(id:akio0911)
遠隔地のチョロQを操縦する方法とかやってた人

NodeBox?

http://nodebox.net/code/index.php/Home

(3/2追記)id:casmに紹介したら、早速サンプル作ってたので興味のある方はどうぞ。
http://d.hatena.ne.jp/casm/20080302
ていうか仕事早すぎです…。

もっと早く打て!

演者:なかもとたかしさん
http://bd.tank.jp/

タイピングの話

知的労働は文字を打ってこそ!
昇進はタイピングで決めるべき…?

GPLType

http://bd.tank.jp/garakuta/index.html

  • 開発した。
  • ひたすらGPLを打ち込むタイピングソフト
  • 教育的タイピングソフト
  • 10 fast fingerというサイトでタイピング速度を測定できる
  • タイピングイベントの企画を妄想中

ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発

高橋正和さん
http://emasaka.blog65.fc2.com/

  • 文系サラリーマン
Bash on Rails
  • 実用性を無視しRailsの真似をする
  • Apache,SQLite,いくつかのコマンドは使ってるがそれ以外は使わない

bashOO(オブジェクト指向bash。バショウと読む)

デモ
  • デモでApacheのconfを書き出した
  • デモできずに終了。南無。

OpenSUSE

演者:まつもとさん
http://ja.opensuse.org/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8

  • OpenSUSE11夏にリリース予定
  • 抽選会実施
    • 抽選を引いても引いても全然人いなかった…

日本電子専門学校ソフトウェア製作発表

演者:オープンソースシステム科卒業製作発表4班

KIMNY
  • web上での課題管理ソフトウェア
  • PHP+PostgreSQL
  • 従来の課題提出方法
    • 紙で出題、紙で提出、紙で返却
  • KIMNYの利点
    • 出題、提出が楽
    • 最新の出題、提出状況がわかる
    • 進捗もわかる
  • 機能紹介
    • 課題作成
    • 課題提出
    • 課題評価