PyCon JP 2011 Call for Paper

エントリーの一覧です。聞いてみたいセッションに投票してみましょう。投票したいタイトル下の「はてなスター」「+1」「ツイートする」「イイネ!」「いいね!」アイコンをクリック!知人にも投票してもらいましょう。こんなセッションが聞きたい!というリクエストは〈こちら〉から。CFPの発表をしたい方は〈こちら〉から登録。CFPのエントリー情報の一部を〈公開〉しています。マッシュアップ歓迎!〈RSS〉PyCon JP 2011公式サイトは〈こちら〉。

    • 翻訳支援ツール ikazuchi の機能と他アプリケーションへの組み込み方法を紹介します。
    • ikazuchi (http://pypi.python.org/pypi/ikazuchi/) の機能概要を紹介した後で、実際に他アプリケーションへの組み込みについて、sphinxcontrib パッケージを例に ikazuchi の用途や利便性を説明します。さらに翻訳というテーマに対する個人的な経験、プロジェクト、これからの未来を語ります。
    • There is no open source solution that can compete with commercial ones for animation and GUI applications. Inkscape is a high quality open source vector graphic editor, but lacks animation. Scribboo extend Inkscape by embedding CPython to provide animation functions. It is an open source animation and GUI solution for HTML5/CSS3.
    • WEB developers use vector graphic to create application for years. The tool dominating the market is Adobe Flash. Even hardware vendors desire to use it in embedded device. But, there is no open source solution that is good enough to be a replacement of commercial ones. For years of development, WEB browsers are going to HTML5/CSS3. It is an open standard runtime. With it, we can skip runtime/plug-ins controlled by any company. But, we lack an authoring tool. Without a high-quality tool, HTML5/CSS3 can not be a good solution. Base on Inkscape, a vector graphic editor, we extend it to provide an open source solution for HTML5/CSS3 environment. To simplify the development, Scribboo team embeds CPython engine into Inkscape. We also use Cython to export a set of API from Inkscape to Python code. Programmers can extend Inkscape with Python code.
    • To introduce 'ucltip' python library (http://pypi.python.org/pypi/ucltip). The basic concept is to transform 1) command as a instance, 2) command options as arguments or function/method keyword arguments.
    • To introduce 'ucltip' python library (http://pypi.python.org/pypi/ucltip).

      The basic concept is to transform 1) command as a instance, 2) command options as arguments or function/method keyword arguments.

      Outline:

      - Transform CLI arguments to Python function/method arguments
      - Transform CLI Tool Boolean option style to Python function/method keyword arguments
      - Transform CLI Key-Value option style to Python function/method keyword arguments
      - Transform CLI Tool Key-Value option style to Python function/method keyword arguments
      - Transform CLI Command to Python Class and use it in your script
      - Set default options of Command for multiple use
      - Create a workable Python Binding quickly
    • 僕が考える次世代な組み込みシステムの姿を発表致します。 小型PC+MeeGo+Python+USBハードウェア+ネットワーク とにかくPythonは最高ですw
    • 前回のPyconJPminiにて、Pythonを使って電光掲示板を制御したプレゼンを行った。
      そこからPythonを組み込み機器やハードウェアに大して活用することは非常に有利であり、
      今後も組み込み分野にてPythonの活躍が期待される。
      今回はPythonを使った中規模な組み込みシステムの設計テクに加え、今後出てくるであろう次世代組み込みシステムの姿を発表致します。
    • Pythonの応用事例として、Djangoで実装したモバイルデバイス管理(MDM)システムについて紹介します。クラウドに設置したサーバから、数千台以上のスマートフォンをコントロールします。
    • * モバイルデバイス管理の概要
      * システムアーキテクチャ
      ** クラウド
      - Amazon EC2, RDS, SES, Route 53
      - boto (AWSのAPIを呼び出すPythonライブラリ)
      ** アプリケーションサーバ
      - Django (Python製のフレームワーク)
      - Celery (Python製のジョブキューシステム)
      - pyapns (Python製のPUSHサーバ)
      ** デプロイ
      - Fabric (リモートサーバでの処理をPythonで自動化)
      - pip (Pythonパッケージ管理)
      ** 監視システム
      - ZABBIX
      * 苦労した点など
    • システム開発や保守、運用の現場においてドキュメントは必須のものです。 しかし、ドキュメントの作成・維持には多くのパワーがかかるため、 ドキュメントが存在しない、資料が古いままになっているなどといった現状を多く耳にします。 本セッションではこれらのドキュメントでよく利用される「図」にフォーカスし、 みるみるうちに図を作成できる「blockdiag」をご紹介します。
    • ・ドキュメントの必要性
      ・スピードと継続性
      ・ドキュメントに求められるもの
      ・Sphinx
      ・blockdiag シリーズ
      ・スピードとメンテナンス性、モチベーション
      ・利用例
    • wtforms, toscawidgets, tw2, formalchemy, deformなどのフォームウィジェット作成ライブラリを比較します。
    • SQLAlchemyとの連携、実行時の柔軟性、ajax、グリッドサポート、スタイルのカスタマイズなどを比較。
    • Python プログラミングを知らなかったエンジニアが、 Python と出会い、テストやバージョン管理、勉強会への参加、 さらには Google AppEngine を用いた開発など、 ソフトウェアをリリースするまでに経験することになった様々なことと どのようにすれば知識を獲得できるかについてお話しします。
    • ・Python との出会い
      ・ソフトウェア開発の動機
      ・テスト、バージョン管理
      ・開発環境作り
      ・勉強会への参加
      ・リリース後のできごと
    • sphinxで作ったドキュメントを現場で使っている実例を紹介します。
    • * sphinxとは
      * sphinxの良いところ、悪いところ
      * 既存ドキュメントの置き換えで苦労する点
      * 展開アプローチ
      * 実例
      * 抱えてる課題など
    • 面倒な Windows サーバの管理を Python と pywin32 を使って自動化します
    • pywin32 の紹介から始まり、 Windows サーバの管理自動化事例? を紹介します。http://timgolden.me.uk/python/wmi/index.html を使うのがメイン。
    • websocket(pywebsocket) を使った http と telnet をつなぐ変換プロキシ的なものの紹介。
    • http と telnet という異なるプロトコルをつなぐために websocket(pywebsocket) を使ってみたところ、とても簡単に実現できました。websocket の利用ケースの一つとしてご紹介します。
    • diazoは「Webフレームワークから独立したHTMLデザイン適用の仕組み」によって既存サイトのHTMLに手を加えることなく、新たなデザインを適用します。 diazoは以前はXDVと呼ばれていました。これらは IanBickingが実装したDeliveranceの概念を再実装したツールです。
    • 特徴:

      * 既存のHTMLに手を加えずにデザイン(テーマHTML)を適用できます。
      * 既存HTMLが動的生成(BlogやCMSなど)でも適用出来ます。
      * フレームワーク毎のテンプレートの記述方法を知らなくても利用できます。
      * 変換動作自体はプログラミング言語に依存せず利用できます。
      * 高速に動作します。
      * 変換の ルール定義 は簡単なXMLで記述します。

      diazoは、対象となるサイトのコンテンツを別に用意したテーマHTMLとルール定義によって変換して見せるためのツールです。

      このツールを使えば、例えばOpenPNEで作成したサイトのデザインテンプレートに手を加えずに、全く異なるデザインに変更する事が出来るようになります。
    • Python初級〜中級の方を対象に、PyQtというツールキットを使ったクロスプラットフォームなGUIプログラミングの基礎をチュートリアル形式で紹介します。
    • PyQtはQtというC++で構築されたフレームワークをPythonから利用できるようにした拡張ライブラリで、Windows, Linux等のUnix系OS、MacOSX上で動作します。このセッションでは以下のような内容を実際に動作する実例を示しながら紹介します。
      * HelloWorld
      * GUIコンポーネントの基本
      * SIGNALとSLOT
      * QApplication、イベント、そしてスレッド
      * Qtドキュメントの読み方(assistantの使い方)
      * QtオブジェクトとPythonオブジェクト
      * GUIエディタ(designer)とレイアウト
      * グラフィックスとメディア(動画/音声)
      * Webサポート(HTTP Request, Web Browserコンポーネント)
    • Pythonを使った自然言語処理のためのライブラリ「NLTK(Natural Language Toolkit)」の使い方と日本語処理の方法について解説する。
    • 自然言語処理(Natural Language Processing; NLP)とは、コンピュータを使って人間が使用する言語(プログラミング言語などの人工言語と比して自然言語と呼ばれる)を適切に処理することを目的とした分野である。

      NLPを使うと普通のテキストデータから有用な情報や興味深い情報を抽出できるため、検索エンジンやかな漢字変換(IME)、スペルチェック、機械翻訳などのアプリケーションに利用することができる。今回はNLPの中でも、

      ・形態素解析
      ・構文解析
      ・意味解析

      といった基礎的な処理について概説する。英語と違って文字の種類が多く、単語がスペース区切りになっていない日本語のテキストデータには独特の扱いが必要である。これらの日本語への対処のための周辺のツールや利用できるデータもあわせて説明する。


      実装にはPythonを使った自然言語処理のためのライブラリ「NLTK(Natural Language Toolkit)」を用いる。NLTKは実際のライブラリだけでなくドキュメントや付属のデータが充実しており、この分野の入門には最適な導入となるだろう。

      http://www.nltk.org/
    • テンプレートを使ってPDFを動的に生成できる template2pdf ライブラリをご紹介します。
    • まず、 template2pdf ライブラリの概要についてお話しします。次に、 template2pdf ライブラリを構成する各コンポーネントとその仕組みについて解説します。最後に、Web フレームワーク上での利用を例に、使い方を解説します。
    • appengine上のプログラミングの基礎からミラクルテクニックまでを紹介する。
    • Google App Engine(以下,appengine)はGoogleが提供するWebアプリケーションのプラットフォームである。今回はappengine上のWebアプリケーション開発経験から,特にappengine依存の各種のプログラミングテクニックを紹介する。
    • Python と MongoDB でインターネットサービスを簡単構築する方法を http://snapdi.sh というサービスをベースに紹介
    • - python-tornadoでWEBサーバー構築
      - pymongo を使ってMongoDBを操作
      - Python と MongoDB を使う事によるメリット
    • PythonからInfinibandを使いRDMA(Remote Direct Memory Access)を行う「Python-RDMA」について紹介します。高速かつ低CPU負荷なデータ通信をPythonで目指して勉強中です。
    • そもそもPython-RDMAを使う上でkeyとなるInfinibandの紹介から話します。

      -Infinibandとは
      -RDMA(Remote Direct Memory Access)とは
      -Python-RDMAとは
      -現在のアプローチ
      -苦労してること
      -目指すところ
    • PythonのCherrypyとMongoDBを使った映像配信システムの制作。 基本的に社内で使うイントラネットベースのWebアプリです。
    • ・自己紹介的な何か
      ・CherryPy
      ・サーバーサイドエンコード
      ・MongoDBとの連携
      ・認証とかのお話

      PythonとMongoDBを使って社内用ビデオ配信システム作っています。
    • PythonのデータベースライブラリSQLAlchemyを、和訳ドキュメントに沿って紹介します。
    • PythonのデータベースライブラリSQLAlchemyの主な機能や使い方を紹介します。私自身はSQLAlchemyのエキスパートという訳ではありません。拙訳の和訳ドキュメントに沿って、ツッコミをいただきながら、皆さんと読み進めていく形式にできればと思っています。
    • プロファイリングとチューニングのテクニックの紹介
    • Python製アプリケーションがパフォーマンスの問題を抱えており、それがCPUバウンドだと分かっている場合に、
      ボトルネックを検出する方法と、ボトルネックが特定できたあとにPythonコードをチューニングする方法を紹介します。

      * プロファイリング
      * ループ内のコードの最適化
      * GCコストの低減
      * Cython を使った高速化
    • Unihandecodeは、Unicodeで表現されるあらゆる言葉をアルファベット27文字+記号表現に不可逆変換するライブラリ。開発に至るきっかけとなったcalibreの紹介、ライブラリの内部、将来の野望を共有します。
    • 2010年春のKindle2入手をきっかけに、Calibre ebookプラットホームの開発に参加しました。その中で、日本語ファイル名が中国語の読みで格納されるという仕様を直すため、Unicodeで示されるあらゆる文字コードを、ASCIIのアルファベット+記号だけで表現するライブラリUnihandecodeを開発するに至りました。
      2011年2月現在、日本語、中国語、韓国語、ヨーロッパ諸言語、ロシア語、ベトナム語については、そこそこまともに変換してくれます。
      この開発の過程で、昔懐かしいプログラムのロジックやUnicodeの深遠さを学ぶことになった経験を共有します。会場の皆さんと、よりよい実装について議論できればとおもいます。
    • QtとPySideを使ってGUIをサクサクッと作る方法を発表します。 特に技術的なテクはありませんが、日常業務で使うちょっとしたプログラムもGUI実装して使うのも面白いのではないでしょうか。
    • Qtは、LinuxやWindows,Mac,さらにMeeGoまでカバーしたクロスプラットフォームの UI 開発フレームワーク の一つである。
      本来はQtはC++で実装されており、開発もC++を用いるのだが、ここではQtをPythonで実装したPySideを使ってGUIソフトを開発する方法と簡単に説明したい。

      ただし、発表者も一カ月前にPySideを知った身でもあり、発表はライトニングトークで抑えて置きますw
    • scipyを利用したpythonによる教育向け音声信号処理実装として作成しているライブラリpysspの紹介を行う
    • 音声信号処理を実際にどのように実装すれば良いのかの解説は、書籍やWEBなどにおいても非常に情報が少ない。
      そこで音声信号処理の教育向け実装としてpyssp(python speech signal processing)を作成している。

      現時点で実装済みのモジュールを用いて作成した、CDのオーディオトラックとカラオケトラックから人物の歌声だけを抽出するサンプルプログラムのデモや、その他周辺のライブラリの紹介を通してpythonでの音声信号処理の敷居の低さを体験していただければ幸いである。

      実装済みのモジュール
      - ノイズ除去(Spectral Subtruction, MMSE-STA, Joint Map)
      - 音声区間検出(Long-term Spectral Diversens Divergence, Zero Crossing Detection)
      - ノイズ推定(Minimum Statistics, Improved Minima Controlled Recursive Averaging)
      - サンプルコード
      -- 信号列のアライメント
      -- イコライジング
    • Pythonのガベージコレクションの仕組みを、初~中級者向けに解説
    • Pythonの内部動作の理解や、拡張モジュールの開発に必要なガベージコレクションの仕組みを解説します。
    • reSTructured Text (reST) によるドキュメントサンプルをまとめる活動を行う、reSTudyについて紹介します。
    • 活動の成果などを紹介します。

      - プロダクトドキュメントってこういうのが必要で、reSTで書くときはこんな感じのテンプレートが必要で、成果物イメージってこんな感じだよね
      - 運用ドキュメントってこういうのが必要で、reSTで書くときはこんな感じのテンプレートが必要で、成果物イメージってこんな感じだよね
      - reST で blog 書きたい。
      - reST で 論文書きたい。
      - Sphinxドメインっておいしい?
      - Sphinxテーマをカスタマイズするコツは? チュートリアルが欲しい。
    • 開発中のWindowsネイティブアプリケーション InfoPile のアーキテクチャ開発
    • 開発中のWindowsネイティブアプリケーション InfoPile の機能・内部構成の解説。
      InfoPileでのGUI作成手法や、関連パッケージなどを解説します。
    • Python製フレームワークのZope上に作られているOSS CMSツールのPloneを紹介します。 イントラ内などでの、情報共有やドキュメント共有に便利な使い方にフォーカスして紹介します。
    • - CMSツールPloneの紹介
      - 情報共有・ドキュメント共有用に特化した使い方の紹介
      - Sphinxとの連携などドキュメントを効率的に管理する方法の紹介
      - 検索やバージョン管理など、Ploneの持っている得意な機能を紹介
    • SlapOS is an open source cloud computing system powered by Python. In this talk, I will present an overview of SlapOS and technical basis.
    • This talk will focus on following topics:

      - A brief overview of SlapOS
      - Demonstration
      - Simple API
      - Buildout recipe
    • Through-the-web(TTW) development is one of the most important factors in ERP5, an open source ERP solution powered by Python. In this talk, I will present several examples of TTW development in ERP5.
    • Nowadays many things are possible through the web and development is not an exception. Thanks to Zope2, TTW development has been possible for more than 10 years in Python. ERP5 inherits the essence from Zope2 and strongly supports TTW development.

      - A brief overview of ERP5
      - Dynamic class generation
      - Writing Python
      - Writing SQL
      - Making form
      - Making report
      - Localization
      - Commiting code
      - Running test
    • 3DCGソフトとPythonの関係について紹介する
    • 主要な3DCGソフトのPython状態について紹介
      こんなこと出来るようになります

      というのを話そうかと思います。
    • Sphinx-users.jpの最近の活動について報告します。
    • 以下の活動について紹介します。

      - サイト運営
      - イベント開催
      - ツール開発
    • Google App Engine を使ってサービスを作ってみて良かったこと/困ったことなどを紹介したいと思います。
    • どうして Google App Engine を使い始めたか。
      Google App Engine を使ってみて良かったこと。
      Google App Engine を使ったことで困ったこと。
    • プログラミング言語Pythonの入門チュートリアルです。 Pythonの作者であるGuido van Rossum氏が執筆した「Python チュートリアル」( http://www.python.jp/doc/2.5/tut/tut.html )相当の内容をチュートリアル形式で学んでいきます。 対象者:Pythonの基本的な機能に触れてみたい、他の言語の経験を持つソフトウェア開発者。 チュートリアル形式:テーマ毎にプレゼンテーションと演習のセットを、5〜15分の長さで進行していきます。 出席者の要件:Pythonの2.7がインストールされたラップトップコンピュータを持参してください。 前提条件:何らかのプログラミング言語の経験があること。事前に「Python チュートリアル」の予習を推奨します。
    • - 数値型と演算子
      - 文字列型
      - インタープリタの操作
      - タプル型とリスト型
      - セット型
      - 辞書型
      - リスト内包表記
      - オブジェクト
      - ループとブロック
      - イテレータ
      - ジェネレータ式
      - スクリプトとモジュール
      - 関数
      - ジェネレータ
      - 名前空間
      - クラスとインスタンス
      - 例外
    • Python/C API って言葉を聞いたことはあってなんとなく気になっているけれど, どう始めていいか分からない人向けに C API を使い始められるような話をします.
    • Python/C API って言葉を Python 公式ドキュメントで見掛けたり, ブログの記事で読んだりするけど, なんとなく難しそうで手を出すのに躊躇ってしまうような人がスムーズに始められるような C API の紹介をします.

      アジェンダ

      - C API って何?
      - 開発の流れ
      - API の調べ方
      - CPython の裏側
      - C による OOP
      - 参照カウンタ
      - モジュールの作り方
      - クラスの作り方

      アジェンダは上記の通りで30分でざっと全体を俯瞰するように話します.