* PyCon 2010 Atlanta セッションの翻訳 [#b1908353]

Pythonコミュニティでは、PyConと言うカンファレンスが行われる。だいたい、3日間程度で、様々なセッションや、ライトニングトークが行われる。Pythonというプログラミング言語の周辺で何が起こっているか見渡せる良い機会になる。

今年は、2/19-21までジョージア州アトランタで開催される。正式なサイトはこちら->[[PyCon2010:http://us.pycon.org/2010/about/]]

-プログラムは例年と同じく、キーノートスピーチ、カンファレンス、ライトニングトーク、オープンスペースが行われる。
-今年は、新しい試みとして、[[ポスターセッション:http://us.pycon.org/2010/conference/posters/]]が開始された。

今年のセッションを翻訳した。色々と意訳や誤訳があるので、意図を取り違えていたら、教えて欲しいです。また、セッションの原文は、[[こちら:http://us.pycon.org/2010/conference/talks/]]で、参照出来ます。

[[pytho-hack-a-thon:http://atnd.org/events/2159]]で、LTでちょっと話しました。
[[発表スライド:http://www.slideshare.net/shibacow/introduction-pycon2010]]を上げます。

#slideshare(2975605,lt-100122193444-phpapp02);

#comment

また、Pycon2009のセッション訳は[[こちら>PyCon2009セッションタイトル訳]]

* 5. Designing to Scale: The Story of ShootQ [#n241ef84]
** 5.スケールするためのデザイン。ShootQの場合 [#w02cfcaf]

//ShootQ is a web-based studio management solution for professional photography studios, designed to automate and simplify the task of running a small business.ShootQはプロの写真スタジオの為の、Webベースのスタジオ管理システムだ。それは、スモールビジネスを運営するために、タスクを自動化し、シンプルにする。

//In this talk, Jonathan LaCour, the CTO of ShootQ, hopes to share his experience designing a web application that can scale up to meet the demands of a rapidly growing customer base.
このセッションでは、ShootQのCTO(Jonathan LaCour)が利用者の要望に迅速に答え、規模を拡大したWebアプリケーションの設計経験を、共有する。

//The talk will cover a variety of topics including TurboGears 2.0, WSGI, horizontal and vertical scaling, database replication, load balancing, deployment, and more.
このセッションでの議題は多岐に渡る。TuroboGears2.0,WSGI,水平垂直DB分割、ロードバランシング,デプロイ,etc。

* 6. How Are Large Applications Embedding Python? [#q78f0b4b]
** 6.巨大なアプリケーションへのPython組み込み [#yafdc36d]
//An examination of the ways Python is being embedded and deployed in the large applications used for computer graphics; like Renderman, Maya, Houdini, and Nuke.
RenderMan,Maya,Houdini,Nuke等のCGアプリケーションに見る巨大アプリケーションに対するpython組み込み

//This session is for those interested in the popular techniques of embedding the Python interpreter.
このセッションでは、Pythonインタプリタを組み込むポピュラーなテクニックに興味を向ける。

//The survey will determine the best practices for embedding Python at the core of a large application.
この調査では、巨大なアプリケーションのコアへ、Pythonを組み込む祭のベストプラクティスを紹介する。


* 7. Distributed Programming with Pyro [#rd144fbb]
** 7.Pyroを用いた分散プログラミング [#k0969ced]


//Create distributed code that communicates trivially over the network with objects that answer as if they were local.
あたかもそれがローカルにあるかのように返答するネットワーク透過的な分散コードを作る。
//Send, receive and manage data with this powerful library.
この強力なライブラリを使って、送信、受信、そして、データ管理をする。
//Presentation will include real life example for restarting a load balanced web instance running two Apache web servers and a MySQL database.
プレゼンテーションでは、実世界にあるようなリアルな実例を示す。それは、MySQLと二つのApacheとロードバランサーを使うような例だ。
 
//Although Python allows you to perform simple network operations, Pyro creates a nice layer between core networking essentials and your code, allowing you to concentrate more in developing your application.
Pythonには、シンプルなネットワーク環境があるが、[[Pyro:http://pyro.sourceforge.net/]]は、Pythonのシンプルなネットーワーク要素と、あなたコードを繋ぐ良いレイヤーになる。あなたはアプリケーション開発にもっと集中出来るようになるだろう。


* 9. Import this, that, and the other thing: custom importers [#s560f5b3]
** 9.Import あれこれ。import カスタマイズ [#db3641a8]

//Since Python 2.3, the ability has existed to customize the import process so that one can support code stored in alternative formats, e.g. zipimport and its support of importing code from a zip file.
Python2.3からimportプロセスをカスタマイズできるようになった。例えば、人は例えばzipフォーマットのファイルをインポートできるようになった。

//The aim of this talk is to make sure you understand how the custom import mechanism works and how to write your own custom importers using importlib from Python 3.1.
このセッションの目的は、カスタムimportはどのような機構で、あなた独自のimportをPython3.1のimportlibを使ってどのように実装するかを理解してもらうことだ。


* 11. Cooperative Multitasking with Twisted: Getting Things Done Concurrently. [#k7773b7f]
** 11. Twistedを用いた協調マルチタスク。 [#x9a5c4b3]

//Twisted is a framework for building asynchronous networking applications.
Twistedは非同期ネットワークアプリケーションの為のフレームワークだ。

//It also provides powerful tools for writing non-blocking non-network code, tools which are vital for building real large scale applications in Twisted.
それはまた、ネットワークを伴わないアプリケーションでも強力な道具になる。実際の大規模アプリケーション構築に効果を発揮している。

//I hope to give a comprehensive overview of these tools to help the intermediate Twisted user get things done concurrently.
私は、このセッションで、中級のTwistedユーザに、これらのツールが、同期処理にどのように役に立つか包括的に示したい。

* 13. How and why Python is being used to by the Military to model real-world battlefield scenarios [#j9e9a806]
** 13 Pythonは、何故、どのように、軍隊で、実際の戦場シナリオのモデル化に使用されているか [#ec11d175]

//White Sands Missile Range = ホワイトサンズミサイル発射場

//Leveraging the power of Python, military analyst and software developers out at White Sands Missile Range in New Mexico have converted a closed-form model, which was developed for scripted Cold War scenarios, into a more sophisticated and adaptive system.
Pythonの力を梃子に、軍事アナリストとソフト開発者は、ニューメキシコにあるホワイトサンズミサイル発射場の外で、冷戦時代のシナリオモデルを、もっと洗練された環境に適応したシナリオへ変更した。

//COMBATXXI is a premium wargaming model, which now is poised to answer questions that have a direct effect on military operations currently in theater, in large part because of Python.

COMBATXXIは極上の戦争ゲームモデルだ。([FIXME]後半訳せず)


* 15. A Short Pinax Tutorial [#dacdb19f]
** 15 Pinexチュートリアル [#oa5c5eb9]

//Pinax (http://pinaxproject.com) is a platform built on top of Django (http://djangoproject) for rapidly developing websites.
[[Pinex:http://pinaxproject.com]]は[[Django:http://djangoproject/]]によって作られた素早いWebサイト開発のためのプラットホームである。

//This tutorial will show you how to install Pinax, create a project, work with a Group application and a Group Aware application, and finally how easy it is to modify templates.
このチュートリアルでは以下の事を、示す。
+ Pinaxインストール
+ プロジェクト作成
+ グループアプリケーション作成
最後に、テンプレート修正が如何に簡単か示す。


* 17. Creating RESTful Web services with restish [#o12b79ed]
** 17. resishを用いたRESTfulなWebサービス開発 [#m9411996]

//Roy Fielding described REST in his Ph.D. dissertation in the year 2000. 
RoyFieldingは2000年に彼の博士論文で、REST概念について発表した。

//Almost ten years later, Web developers are still confused as to how to apply the REST principles in their applications.
もう10年が経つが、Web開発者は、彼らのアプリケーションにREST原理をどの様に応用して良いか混乱がつづいている。

//Examples of poorly designed 'REST' APIs abound, and I will make use of them in my talk.
今回は、あまりRESTフルに設計されていない例を使う。

//In this presentation, I will give an overview of REST and its design principles, and I will show a concrete example of a RESTful Web service implemented in the restish framework.
今回のプレゼンテーションでは、RESTの概要と設計原理を述べ、[[restish:http://ish.io/projects/show/restish]]フレームワークを用いて実装したRESTfulWebサービスの完璧な例を示す。

//My examples will include CRUD operations, as well as transactions.
私の例では、CRUDはもちろん、トランザクションも含む。

//I will also show how to consume this Web service using both httplib2 and curl.
また、httplib2,curlを使ったWebサービスを示す。

//I would be remiss if I didn't describe ways to test the Web service with WebTest and twill.


* 19. TurboGears Geospatial Framework [#y6e64799]
** 19. TurboGears.地理空間フレームワーク [#w89b021a]

//It is now possible to develop feature rich GIS web applications using TurboGears by harnessing the power of spatial databases using GeoAlchemy and integrating python GIS frameworks & utilities with TurboGears using tgext.geo
現在、TurboGearsを使ってリッチな地理情報Webアプリが作れる。そのためには以下のモノを使う。
[[GeoAlchemy:http://www.geoalchemy.org/]]という空間データベースやTurboGearsのGISフレームワークであるgtext.geoをTurboGearsに統合して使用する。

* 20. Panel: Form Generator Generators [#sa095576]
** 20. パネルディスカッション:フォーム生成ジェネレータ [#g5484a44]


//It seems that almost every python web framework in existence has solved the problem of automatically generating forms.

ほぼすべてのPythonのWebフレームワークには、フォームを自動生成するための機構が存在する。

//Some have straight forward techniques, some are unique or even an unusual approach to the problem.
いくつかのフレームワークは、標準的でわかりやすい手法を用い、いくつかは独自のトリッキーなアプローチでその問題を解決する。

//The question is: "what can we learn from each other?".
問題は、その両方から私たちは何を学べるかということだ。

//This panel will examine the different ways developers generate forms by offering examples, and summarizing the functionality, differences, and similarities between these valuable web development tools.
このパネルでは、有益なWeb開発ツールを用いて、提示された例を、異なったやり方で示し、機能性をまとめる。そして、類似点や差異を、示す。

* 21. What every developer should know about database scalability [#dd52ddc6]
** 21. データベースのスケーラビリティについて知っておくべきこと [#r353b70f]

//Caching, replication, partitioning, and distributed databases: how these can (and can't!) help you scale your data.
キャッシュ、レプリケーション、パーティショニング、分散データベース。それらはどのようにあなたのデータをスケールさせることが出来るか(あるいは出来ないか)?

* 24. Building Leafy Chat, DjangoDose, and Hurricane, Lessons Learned on the Real-Time Web with Python [#kff73f1f]
** 24.Pythonを使用したリアルタイムWebの教訓 [#ua3b9870]

//Websites are getting increasingly dynamic and realtime in order to compete with desktop applications.
Webサイトは、デスクトップアプリケーションと競合するため、ますます動的にリアルタイムに成っている。

//This talk is an examination of 3 websites/tools I've built, all using Python. I'm going to try to explain what we did to build these, and how you can do the same.
この話は、Pythonで私が作った3つのwebsiteとtoolの話だ。私がどの様にそれらを作ってきたか、そしてどの様にすればあなたも同じものが作れるようになるか伝えられるようにしたい。

* 30. Python Testing Patterns [#x22e8486]
** 30. Pythonテストパターン [#s4e19199]


//WHO ELSE wants to write better code with fewer bugs, *faster*?
どなたかバグが少ない良いコードを手早く書きたい方はいらっしゃいませんか?
//This is the promise of automated tests.
自動化テストがお約束します。
//But the knowledge and insight for *rapidly* crafting powerful, maintainable tests is not obvious.
しかし、素早く力強く保守が容易なテストを作る知識や内省はあまり明確ではない。

//This talk helps launch you over that learning curve: forms of unit and automated tests most effective for Python code.
このセッションは、Pythonコードで、あなたが、効果的に自動化ユニットテストを作る助けになります。
//You'll learn: important, foundational idioms and design patterns for your testing toolbox; writing maintainable tests you can understand a year later; leveraging parametrized tests; and finally, exploiting uncommon features of Python, such as first-class functions and closures, to create concisely powerful test cases not possible in most languages.
あなたは以下の事を学ぶ。
+ テストツールを使う上で、重要な基本的な慣用句やデザインパターン。
+ 一年後も理解できるメンテナンス可能なテスト
+ パラメーター化されたテストで効率良く。
+ 最後に、大半の言語では不可能なほど簡潔で強力なテストケースを作るために、関数オブジェクトやクロージャー等、一般的でないPythonの機能を利用する。

* 36. Optimal Resource Allocation using Python [#ve2066bc]
** 36. Pythonを使用した最善の資源割り当て [#da805311]

//A brief introduction to modeling and solving resource allocation and scheduling problems using Python and SCIP.
SCIPとPythonを使って、スケジュールと資源割り当てのモデルを簡単に紹介する。

//At times a programmer is faced with difficult, possibly NP-Hard, optimization problems such as scheduling or assignment.
時として、プログラマーは、NP困難のような難しい最適化問題に直面する。スケジュールや割り当てのような。


//Sophisticated techniques exist for modeling and solving these sorts of problems which are well implemented in optimization solvers.
それらの問題を解く洗練された手法が存在する。

//This talk introduces some of these techniques using the ZIB Optimization Suite and its new Python interface.
このセッションでは、[[ZIB最適化ソフト:http://zibopt.zib.de/]]と、Pythonインターフェースを使って、それらを解く手法を紹介する。

* 38. Optimizations And Micro-Optimizations In CPython [#b0efc5af]
** 38. CPythonにおけるいろんなレベルでの最適化 [#b8de6d75]

//CPython mostly gets faster from one version to the next.
CPythonはたいてい、ひとつ前のバージョンより早くなる。

//And when CPython gets faster, your programs get faster.
そして、CPythonが早くなるとき、あなたのプログラムも自然と早くなる。

//This talk is a survey of optimizations made to CPython, recent and historical, large and small.
このセッションでは、CPythonの最近や過去、大域や局所的な最適化について話す。

//Audience doesn't need to be familiar with CPython intelnals, but should be familiar with Python and conversant in C.
聴衆は、CPythonの内部に熟知している必要はない。しかし、CとPythonに精通している方が良い。

* 40. Writing Books using Python and Open Source Software [#hc0b0e7f]
** 40. PythonやOSSを使って本を書く [#h71b166a]

//These days, there are countless number of software applications and web services that have been developed using free and open source software (FOSS). 
最近、無数のアプリやWebサービスがオープンソースを使って開発される。

//Such tools have become so flexible, powerful, and universal, that it should also be possible for authors to write manuscripts using open source tools like Python in the same way that applications are developed.
それらのツールは、あまりに柔軟で強力で汎用性が高いので、アプリケーションを開発するのと同様、著者が原稿を書く際に使えます。

//In this talk, we present some case studies of this phenomenon.
このセッションでは、この現象のいくつかのケーススタディをお見せします。

* 47. How Python, TurboGears, and MongoDB are Transforming SourceForge.net [#o0655f9c]
** 47.Python,TurboGears,MongoDBはSourceForge.netをどのように変えているか [#q7c9a532]

//In mid-2009, SourceForge embarked on a quest to modernize our websites, starting with the download (consumer) flow on SourceForge.net.
2009年の中頃、SourceForgeは、Webサイトの近代化へ乗り出した。手始めに、downloadフローの改良に着手した。

//A small team was tasked the rewrite, converting a site originally implemented in PHP with Python.
少人数からなるチームは、オリジナルのPHPからPythonへ書き直した。

//Using a customized TurboGears as a core component, the rewrite was completed and the new site deployed in under 2 months.
カスタマイズされたTurboGearsをコアとして、改訂した新しいサイトは、2ヶ月未満で作られた。

//This talk tells the story of that rewrite and explains our new technology stack, which includes TurboGears, MongoDB, and Jinja templates.
このセッションでは、その移行の物語を話す。また、私たちの新しい道具立てを説明する。それらは、TurboGears,MongoDB,Jinjaテンプレートを含んでいる。


* 48. Python 3: The Next Generation [#je118fae]
** 48. Python3.次世代のPython [#p4ed1001]

//This talk is about the evolution of Python.
これは、Pythonの進化に関する話しだ。

//We will discuss Python 2 and Python 3: what the compatibility issues are, what the main differences are, and also talk about migration, Python 2.6, and other transition tools.
私たちは、Python 2,3について話す。互換性と、異なっている点について話す。また、Python2.6または、他の移行ツールからのVersion3への移行について話す。


* 49. Diversity as a Dependency [#ve7f7f65]
** 49. 依存としての多様性 [#bd923199]

//The PSF recently adopted a diversity statement. 
PSF(Python Software Foundation)は近頃、多様性声明を採択した。

//While some argue that we should do this just because it's "the right thing to do", others question why we, as a technical community, should even worry about diversity.
この声明を採択するのに、議論があった。私たちは、技術コミュニティーだ。どうして、多様性声明のようなモノを採択する必要があるの?と言う質問だ。

//This talk addresses the diversity question, not in moralistic or ethical terms, but in pragmatic ones.
この会では、その質問に言及する。道徳的、倫理的な面ではなく、実用的な面での議論だ。
//Studies on creativity and productivity demonstrate the potential benefits of diversity for the Python community.
創造性と生産性に関する研究では、多様性が、創造性の原動力に成っていると示している。
//Making Python the best language it can be is not merely helped by increasing diversity, but may be dependent on diversity.
Pythonを最も良い言語にするために、多様性は単に、それを手助けする為だけではなく、まさに多様性によって、良い言語に生る。

* 51. Simple WSGI composition: story of one refactoring [#bb2e45b5]
** 51. シンプルなWSGI作例,あるリファクタリング [#ob31f6de]

//Story of a refactoring I did to split one big, monolithic Pylons app into a bunch of smaller ones, using power of WSGI and nginx.
この話は、巨大で単一のPylonアプリを、WSGIとnginxの力を用いて、小さく分割して、リファクタリングした実例だ。

//The devil is in the details: how to handle common auth, site-wide look&feel, common utilities, database management.
神は細部に宿る。認証、サイト全体のUI,共通のユーティリティ、DB管理等の細かい話をする。

//Pros and cons of the approach, possible alternatives.
この手法の長所と短所を示し、選択できるようにする。

//The talk assumes listeners know what WSGI is and preferably have used some WSGI-centeredframework like Pylons, Werkzeug, Paste or other.
聴衆は、WSGIを知っていて、Pylon,Werkzeug,PasteのようなWSGI準拠のフレームワークに親しんでいることが望ましい。

//The application this talk describes powers developers.org.ua.
この実例は、[[developers.org.ua:http://www.developers.org.ua/]]と言うサイトの強力さによって示される。

* 52. New *and* Improved: Coming changes to unittest, the standard library test framework [#raaf6a10]
** 52. 新しく改良されたunittest,標準テストフレームワーク [#m320ae31]

//In Python 2.7 and 3.2 a whole bunch of improvements to unittest will arrive.
Python2.7とPython3.2では、unittestは刷新される。

//unittest is the Python standard library testing framework and for several years it has languished whilst other Python testing frameworks have innovated.
unittestは、Pythonの標準ライブラリだ。何年もの間、UnitTestは、他のpythonのテストツールの革新に比べて、停滞してきた。

//Some of the best innovations have made their way into unittest which has had quite a renovation.
それらの革新的な手法を用いて、UnitTestは刷新された。

//This talk will go through the major changes, like the new assert methods, test discovery and the load_tests protocol, and also explain how they can be used with earlier versions of Python.
今回は、その主要な変更点を見ていく。例えば、新しいassert関数。テスト発見、そして、テストロードプロトコルなどだ。また、それらの新しいUnitTestを以前のPythonで使うにはどうしたら良いか説明する。


* 55. The Mighty Dictionary [#j02f2d49]
** 55. 凄い辞書 [#t89e930a]
//Both newcomers and experienced developers alike love Python's built-in data types ?
//especially dictionaries! 
//But how do dictionaries work? 
//What do they do better than other container types, and where, on the other hand, are their weaknesses?

初心者もベテランも、Pythonの組み込みデータ型が好き。特に辞書が好き。ところで、辞書は、どの様に動いている?辞書は、他のコンテナ型に比べてどの様に優れている?また、他方どの様な弱点がある?

//Using simple, vivid diagrams that show the secrets of how the dictionary is implemented, and a series of progressively interesting examples of its behavior, we will train the Python developer's mind to picture what the dictionary is doing in just enough detail to make good decisions, as your data sets get larger, about when to use dictionaries and when other data structures might be more appropriate.

シンプルで鮮やかな図を用いて、Pythonの内部で、辞書型がどの様に実装されているか説明します。

また、どの様に振舞うのか面白いサンプルをお見せします。それらによって、開発者は、辞書をどの様な場面で使うのが適切か、また、どの様な場合には、別のデータ構造が良いのか判断するための青写真を描けるようになるでしょう。

* 57. Learning Hosting Best-Practices From WebFaction [#idcb1f98]
** 57. WebFactionに見るWebホスティングのベストプラクティス [#g50b26f0]

//The rise of WebFaction has been dramatic in the world of Python-friendly hosting services.
WebFactionの隆盛は、Pythonホストサービスの中で、劇的だ。
//What are the secrets to getting the most out of their features?
それらの、機能の秘密は何か?

//From the point of view of a customer with no other affiliation with WebFaction ? as a customer advising other customers ?
そして、大して宣伝してないのに、お客がお客を呼ぶのか?
//this talk offers lessons learned in using WebFaction to host everything from lone static content to multiple Python web applications and services co-existing together.
この話は、単純な静的ページから複数のPythonWebアプリケーションまで共存してホストするWebFactionを使う歳に得られる教訓をお話する。

//WebFaction uses some unique techniques to support both user-local *and* application-local Python packages.
WebFactionはユーザーごとで、またアプリケーションごとのパッケージシステムをサポートする。

//Should you use their special installation techniques, or install and use virtualenv on your own initiative?
ユーザーは、その独自のインストール方法か、verturalenvの使う。

//Learn the trade-offs, and learn how *not* to get yourself in trouble while running ``easy_install`` on WebFaction, my favorite hosting service.
それらのトレードオフと、どうして、WebFaction上で、easy_insallを使うべきでないかを教える。

* 58. Maximize your program's laziness [#ree2272f]
** 58. 貴方のプログラムをもっと怠惰に [#vf1e9db4]

//Gordon Bell's observation that "The cheapest, fastest and most reliable components of a computer system are those that aren't there" has a parallel in data structures.
「最も安く早く信頼性の高いコンピューター部品は、それらが存在しないことだ」と言うゴードンベルの格言は、データ構造にも当てはまる。

//The fastest, most parsimonious, and best performing data structure is one which is never concretized within a program run.
最も早く、最も簡便で、最も効率的な、データ構造は、それらが、必要になるまで、実行されないことだ。
//A promise to create data when, or if, it is needed is often easy to make without needing to realize the data computationally.

//The addition of iterators and generators to Python during the 2.x series, and their more systematic use in 3.x, provides an easy way to work with lazy computation.
Python2.0で追加され3.0でもっとシステムに組み込まれた、イテレーターと、ジェネレーターは、遅延評価を、もっと簡単に実装できる。

//Using these facilities well can improve program performance, often in terms of big-O complexity even.
それは、例えば、Big-Oのオーダーのような巨大な計算でさえ、パフォーマンスを改善させる。

//However, sometimes more complex lazy data structures require special design in order to encapsulate more complex promises than one can make with list-like iterators.
しかしながら、時々、遅延データ構造は、単純なリスト繰り返しよりも、特別な設計が必要になる。

* 62. Deconstruction of an Object [#je64cd4e]
** 62. オブジェクトの脱構築 [#c984c204]

//An incremental deconstruction of a class definition identifying the key elements such as layered namespaces, common attributes, lifecycle and access controls.
漸次的なクラス定義の脱構築は、名前空間の構造や、共通属性、ライフサイクル、アクセス制御のような主要素と特徴付けられる。

//We'll also look at calling into, out of and through an object, making classes extensible and various object behaviors like containment, sequence, iteration and arithmetic.(訳せず)


* 63. The state of Packaging [#d8a83c6f]
** 63. パッケージングの現在 [#med6c151]

//The Python Package Index (PyPI) became over the last years an essential tool to share your Python programs.
PyPiは、Pythonプログラムを、近年、共有する主要なツールになった。

//As long as you use Distutils standards, you can register and upload your work at PyPI in a few seconds.
Distutilsを使えば、数秒で、貴方のソフトをPyPIに登録できる。

//Projects like Setuptools and Pip added great features on the top of this : the ability to fetch PyPI to install a project and its dependencies.
//So you can "easy_install A-Program" and everything is done automatically for you.
SetupToolsやPipは、この上に、偉大な機能を追加する。それは、PyPIで依存するパッケージを新ストールする機能だ。それで、貴方は、easy_installと実行するだけで、自動ですべてを行ってくれる。


//But all these features have shown the flaws and limitations of the current Distutils design, and the urgency to make it evolve with respect to the existing OS-specific packaging systems.
しかし、現在の配布システムには、欠点や制限がある。そして、それらを改良しなければならない。

//This talk will detail the biggest issues that need to be solved, and the work that is being done.
今回は、その解決すべき大きな問題の詳細を述べ、どうすべきかのべる。

//It will end up with a presentation of the Distutils roadmap, and an overview of the Distribute project, the Setuptools replacer.
最後に、Distutilsのロードマップを示し、また、SetupToolsを置き換える配布プロジェクトの概要を示す。

* 64. Python Metaprogramming [#u0f19bc6]
** 64. Pythonメタプログラミング [#b867db61]

//Python makes a great metaprogramming languages.
Pythonは、偉大なメタプログラミング言語だ。

//Metaprogramming is great for solving problems faster, in a more generic way and providing rich APIs.
メタプログラミングは、包括的な手法で、素早く問題を解決できる。そして、リッチなAPIを提供する。

//This talk explores the different options provided in python to do metaprogramming and the right way to use them.
今回は、Pythonでメタプログラムで行う際の異なった選択肢を探求し、また、それらを使う際の正しい方法を探査する。

* 65. Extending Java Applications with Jython [#tb217fb4]
** 65. Jythonを使ってJavaアプリケーションを拡張する [#b4dd3176]

//Jython is an implementation of Python for the JVM.
Jythonは、JavaVMの為のPython実装だ。

//This talk covers the options available for integrating Jython and Java code, especially Java calling into Jython, since this is the trickier case.
今回は、JythonとJavaの統合についてしゃべる。特に、トリッキーなケース、すなわち、JythonをJavaから呼ぶ方法についてだ。

//This talk will also cover some Java specific deployment options, such as deploying your Jython application as a jar file.
これは、Jythonアプリケーションをjarファイルとして配布するような、Java固有のデプロイオプションについて話す。

//Jar files allow you to package Java/Jython applications into a single archive.Jarファイルによって、Java/Jythonアプリをひとつのファイルとして、配布できる。

//In many environments a user can click on a jar file to launch the contained application.
多くの環境で、ユーザーは、単にJarをクリックするだけで、Javaアプリを起動できる。

* 67. IronPython Tooling [#ta4deeff]
** 67. IronPythonのTool [#yba1a93e]

//Summary: 
概要
//One of the most popular requests for the IronPython team is tooling support.
IronPythonチームへの要望でもっとも多いものの一つが、ツールのサポートだ。
//During this talk I’ll show you some of the existing tools available to help create IronPython applications.
この会では、IronPythonアプリケーションを作る上で利用可能なツールを示す。

//I’ll also look at the latest IronPython features which can help you debug, profile and improve your applications.
また、最新のIronPythonでデバッグやプロファイルなどアプリケーションの改良に役立つ機能を紹介する。

//I’ll also compare and contrast these with the solutions available for CPython that you may already be familiar with.
そして、それらのツールとCPythonで慣れ親しんでいるツール類と比較検討する。


* 71. Python in the Browser [#t54ec5f2]
** 71. ブラウザーの中のPython [#vb239e44]

//You write your server code in Python because you want to.
希望して、Pythonでサーバ側コードを書く。
//You write your browser code in JavaScript because you have to.
そうしなければならないので、JavaScriptでブラウザー側のコードを書く。

// But with IronPython and Silverlight, you can write your browser code in Python and leave JavaScript behind.
しかし、IronPythonとSilverlightを使えば、Pythonを使ってブラウザー側のコードが書ける。
//This talk provides an overview of Silverlight for Python developers, including out of browser applications as well as the new “just text” model where Python code is embedded directly in HTML pages.

これは、Python開発者に、SilverLightの概要を示すとともに、HTMLページに直に埋め込まれたPythonCodeによって実行されるJustTextモデルの説明を行う。

//Even if you develop on Linux or Mac, you can still take advantage of Silverlight in the browser
この話はまた、Linux,Mac開発者にとって利点になる。

* 73. Unladen Swallow: fewer coconuts, faster Python [#of294880]
** 73.Unladen Swallow 少ないココナッツ、速いPython [#d51a687d]

//Unladen Swallow is a Google-sponsored optimization branch of CPython.
[[Unladen Swallow:http://code.google.com/p/unladen-swallow/]]はグーグルによって支援されたCPython最適化プロジェクトだ。

//This talk will cover Google's motivation for Unladen Swallow, the approach being taken, results so far, challenges faced, cancers cured and plans for merger with CPython.
ここでは、UnladenSwallowに対するGoogleの動機、(高速化の為に)取られたアプローチ、ここまでの成果直面した課題,取り除いた不具合、また、CPythonとの統合に、ついて話す。


* 74. Internationalizing your Django project [#od49addc]
** 74. Djangoでの国際化 [#j0c98c42]

//Internationalizing your Django application isn't as hard as it sounds.
Djangoアプリの国際化は、その響きほどには難しくない。
//This session introduces the topic of internationalization and walks through what it takes to use Django's internationalization tools, including how to mark models, views, and templates for translation and how to enable internationalization in your application.
この話は、国際化と、Djangoツールを用いてどの様に国際化を行うかの概略を説明する。それは、モデルと、ヴュー,または、テンプレートの翻訳と国際化を含む。

//We will also step through localizing your application in a new language.
また、新しい外国語への適応方法も示す。

* 78. Small acts make great revolutions: crafting Python and Open Source communities in Rio de Janeiro [#jc812b67]
** 78. 少しの行動で大きな変革を起こす。リオデジャネイロで、PythonとOSSコミュニティを作る。 [#f868ec82]

//Even though we are Python lovers, we at PythOnRio (Python's Rio de Janeiro users group) strongly believe in differences.
Python好きであるが、(同時に)リオデジャネイロPythonユーザーは、多様性を信じていた。

//Programming languages and technologies are not religions.
プログラミング言語や技術は、宗教とは違う。

//Why do we have to compete against each other when we can take advantage of diversity by sharing our knowledge and learning to use the best tools for each job?
どうして、互いに良いツールを学び、知識を共有する多様性をうまく生かさなければいけないのに、互いに競わねばならないのか?

//By promoting this thinking we are gathering people from many different open source communities.
この考えを推進して、私たちは、多くの異なった(言語)のオープンソースコミュニティが協働できるようにした。
 
//That's our main recipe for the success of initiatives like Coding Dojo Rio, PythOnCampus, Dev in Rio, #horaextra and many other social meetings where we have gathered some of the smartest people in Rio's software development community.
Coding Dojo Rio,PythonCampus,Dev in Rioなどの多数の言語コミュニティで協働した。。

//With this philosophy, Rio de Janeiro communities are growing and starting to jell - they are becoming so strongly knit that the whole is greater than the sum of the parts.
この考え方によって、リオデジャネイロのコミュニティは、単に一つ一つを足すよりも、もっと強い団体になった。
 
//In this talk, we would like to share not only our "methods" and "formulas", but the values and experiences that are leading us to build a strong and active community while having lots of fun.
私たちは、単に方法や技法についてだけではなく、楽しく強い活発なコミュニティを作る価値や経験について共有したい。

* 79. Simulating network devices with Python [#h56fbac0]
** 79.Pythonを使ってネットワーク機器を模倣する [#hc91cc7d]


//Everybody has internet.
インターネットが一般化した。
//Everybody knows what is a CableModem, but Does anybody knows how does those devices works ?
みんな、ケーブルモデムがなんであるか知っているが、どの様に機能するか知っているはいるだろうか?

//this talks shows a new network traffic simulator developed while developing a DHCP server.
今回は、DCHPサーバ開発の過程でできた、新しいネットワークトラフィックシミュレーターについて話す。

//First, we will talk about devices such as Cablemodems or CMTS,showing how easy is to simulate as many "virtual devices" as we want, and the familly of protocols already implemented.
最初に、ケーブルモデムやCMTSのようなそのデバイスについて話す。仮想デバイスを用いて貴方が望むだけの多くのネットワーク機器を模倣することが如何に簡単か。また、多くのプロトコルがすでに実装済みか話す。

// Later , will show how easy is to add new netowrk devices ( such as Wimax, EMTAs, etc) and new protocols.
そして、WimaxやEMAT等の新しネットワークデバイスを追加することや新しいプロトコルを追加することが如何に簡単か示す。

//Allowing to simulate and play with any "virtual device".

* 80. Managing the world's oldest Django project [#g4decc92]
** 80. 最も古いDjangoプロジェクト [#uf989240]

//Or, "how we cut 40,000 lines of code and learned to love unit testing."
**または、どの様に、4万行にも及ぶコードを分割し、unit testを愛するようになったか。 [#a771802a]
//This talk will cover some of the development history behind Ellington,the CMS which spawned the open-source Django web framework, and some of the issues involved in developing and maintaining a codebase of this age and size.
この話は、Djangoによって作られたEllingtonと言うCMSの開発史である。そしてこれは、長い歴史と巨大な分量を持つコードベースの開発と保守に巻き込まれた開発史である。


//Highlights include branch management, the advantages of open-sourcing non-critical functionality, the pain of porting and the joy that can only be found in a passing test suite.
この話は、以下の事を話す。ブランチ管理、オープンソースの利点、移植の困難と、テストにパスした時の喜びについて話す。

* 81. rapid multi-purpose testing [#u1213777]
** 81. 高速多目的テスト [#c50f0bac]

//Want to rapidly test code, javascript or documents on different Python Interpreters and versions?
Javascirptやドキュメントや、異なったヴァージョンや異なったPython実行環境の素早くテストできるコードをお望みですか?

// This talk gives an overview on new py.test features of the last year.
今回は、昨年リリースした新しいpy.testの機能について概要を説明します。

//I'll discuss the minimal-boilerplate testing and new plugin model and give an overview on which testing needs are covered so far, for example:

//* run tests written for nose or unittest
//* ad-hoc distribute tests to local or remote Python environments
//* test compatibility with Python3
//* run javascript unit-tests in real browsers
//* coverage testing
//* django-specific testing
 
//I'll conclude with upcoming features regarding testing-in-the-cloud and plans on more test tool convergence.


最小のテスト使用例と、新しいプラグインモデルを示します。そして、それは次のようなことをカバーします。
+ noseやunittestの為に書かれたテストを実行出来ます。
+ 一時的に、テストをローカルやリモートの環境に配布出来ます。
+ Python3でのテストと互換性があります。
+ 本物のブラウザで、javascriptのunit testが走ります。
+ テストガバレッジの機能があります。
+ Djangoに特化したテストがあります。

最後に、来るべきクラウド上でのテスト機能やテスト集約に関して、話します。
サイトは [[http://pytest.org:http://pytest.org]]です。

* 82. Understanding the Python GIL [#ka5ed48a]
** 82. Pythonグローバルロックの理解 [#mf5f7a72]

//The Python Global Interpreter Lock (GIL) is a frequent source of debate and concern for programmers working with threads and concurrency.
Pythonグローバルインタプリターロックは、度々、スレッドや同期に関して作業を行うプログラマーの関心を引き、議論の的になってきた。

//Although most Python programmers generally know that the GIL restricts Python's ability to utilize multiple CPUs, few know the inner details of how it actually works and how it impacts applications.
多くのPythonプログラマーは一般的に、GILがPythoがマルチCPU利用を妨げることを知っているが、実際にどう機能し、アプリケーションにどの様な影響があるか詳細に知っている人は少ない。

//This talk will dive into the inner workings of the GIL like you've never seen before.
この話は、あなた達が以前見たことが無いようなGILの内部に、分け入る。

//Topics include details about the execution of the Python interpreter, thread implementation, the GILs surprising behavior on multicore CPUs, and more.
Pythonインタープリターの実行、スレッド実装、マルチコアでのGILの驚くべき振る舞いについて説明する。


* 83. The speed of PyPy [#i4a67bdd]
** 83. PyPyの速度 [#d64610ce]

//The first part of the talk will cover PyPy's speed achievements resulting from the last year's work on the Just-In-Time Compiler.
最初に、PyPyのスピードが、昨年のJITコンパイラーの成果によって、どう早くなったか示す。

//I'll present and discuss a number of benchmarks and compare against other Python-speed projects.
また、多くのベンチマークを紹介し、他のPython高速化プロジェクトと比較する。

//I'll also cover the basics of how the JIT works and what sort of programs it can greatly speedup (and which ones it can't).
そして、JITの基礎を紹介し、どんな種類のプログラムが大幅にスピードアップし、また、どれがそれほど高速化しないか示す。

* 84. How Python is guiding infrastructure construction in Africa [#m1f76907]
** 84. Pythonは、どのように、アフリカのインフラ構築に貢献したか [#k3954744]

//A whirlwind tour of the roles of different Python modules in the architecture of a geospatial infrastructure planning system.
この慌ただしいツアーでは、地理空間のインフラ計画システムの構築に、異なるPythonモジュールが果たした役割について話す。

//We used Python to transform an elaborate, multistep process for finding and connecting households in villages into a single, streamlined planning experience.
わたちたちは、Pythonを用いて、念入りで、多段的なプロセスであった村の各家庭結びつけるプランを、単一の合理的な計画にへと変更した。

//I'll explain how Python's freely available libraries empowered a small team of developers under a minimal budget and timeframe.

時間、予算、人材で制約が多いなかPythonの無料の使えるライブラリー達が、私たちどの様に勇気づけたか話す。

//Now just imagine if we had to do the same thing with Java.
Javaで同様のことを行うことを想像してご覧なさい。

* 85. What We've Learned From Building Basie [#vf2c5a65]
** 85.Basieを作る過程で学んだこと。 [#c435e7e9]

//Since September 2008, teams of undergraduates from half a dozen different universities have been building a Django-based replacement for Trac called Basie.
2008年の9月から、[[Basie:http://basieproject.org/]]と呼ばれる異なった大学の6組の学生チームによるDjangoベースのTrac置き換えプロジェクトを行っている。

//This talk will present what they've accomplished and discuss what we've learned about getting junior developers who are juggling half a dozen projects at once to build production-quality code.
私たちは、6組の混成された若い開発者チームがどの様な成果を残し、製品レベルのコードを書き上げる過程で学んだことを紹介する。

* 86. Revisioned Databases for MultiUser Editing [#f287076b]
** 86.多人数によって編集可能な改訂されるデータベース [#u0775d76]

//At CCP Games (www.ccpgames.com), we work on large MMO projects with tens of content editors editing the same data.
[[CCPゲームズ:http://www.ccpgames.com/]]では、巨大なMMOプロジェクトであるので、同じデータを何十ものエデッターで編集する。

//To make this possible, we created a Revisioned Database framework that allows for us to create new multiuser editing systems without data synchronization between users having to be a major concern.
これを可能にするため、ユーザーがデータの同期に関して、大した関心を払うことなしに、多人数で編集できるリビジョンデータベースフレームワークを作った。

//In this talk, solutions we've tried are discussed, the basic layout of our revision database shown, the Python layer which handles it transparently for the programmer detailed, and how the Python layer is used in practice.
この話では、リビジョンデータベースの基本的な設計を話す。またこのPythonレイヤーがプログラマーに対して、透過的に機能したか詳細に話す。そして、Pythonレイヤーがどう実行されたから話す。


//All of this is focused on discussing what worked well and what pitfalls we ran into during development.
この開発を通して、何がうまく機能し、落とし穴はなんであったか述べる。


* 87. Teaching compilers with python [#pbc8bd4b]
** 87.pythonを使ってコンパイラーを教える。 [#ga657327]

//Why chose Python to teach compilers?
なぜ、コンパイラーを教えるのに、Pythonを選んだか?

//In the University of Applied Sciences ARC, compilers are taught in a relatively short amount of time.
[[ARC応用科学大学:http://www.he-arc.ch/hearc/fr/hearc/]]では、コンパイラーを教える時間は短い。
// Focus is put on the main conceptual ideas, letting aside many technical detail.
そのため、技術的詳細を抜きに、主な概念の説明に、集中しなければならない。

//Still, the students are expected to write a full compiler within a few weeks' time
学生は、何週間かで、コンパイラーを書き上げることを期待される。
//After trying the traditional C/Lex/Yacc based approach, and a more education-oriented Java/Jaccie solution, we settled on Python and PLY, plus a few enhancements (syntax tree graphical representation, decorator to achieve better code separation).
最初、伝統的なC/Lex/Yaccを試し、その後、より教育的な出自を持つJava/Jaccieを試した。その後、PythonとPLY(と構文木を図示する機能とコード分割を用意する機能)を採用した。

//As a result, the students get a better understanding of the compiler concepts and produce more interesting and creative projects.
その結果、生徒の理解は向上し、面白いプロジェクトを生み出すようになった。

* 93. PLY and PyParsing [#l8fd5d03]
** 93. PLYとPyParsing [#j90c7c2e]

//Got a text parsing problem? In most cases using string manipulation and regular expressions will solve it for you. But when the input is complex, try reaching for a parsing system to help out.
テキストを解釈したくなったら?多くの場合、文字列処理と、正規表現で問題は解決できる。しかし、もっと複雑になったら?解釈システムを試してみよう。
 
//The two most popular in Python are PLY and PyParsing.
Pythonの世界では、PyParsingとPLYが有名です。

//PLY follows the lex/yacc tradition with a domain specific language to describe the tokens and grammar.
PLYは、伝統的なlex/yaccに連なり、トークンと文法で記述します。

//It was built with both error diagnostics and performance in mind.
それらは、エラー診断と、パフォーマンスに優れます。

//PyParsing is a recursive descent parser which expresses the format as a Python data structure.
PyParsingは、Pythonのデータ構造として表せる再帰下降構文解析機です。

//It make no distinction between lexer and grammar and has a uniform callback system which makes certain types of data extraction very easy.
それは、字句解析と文法の間に差異がなく、容易にデータ型を抽出できるコールバックシステムを形作ります。
 
//In my talk I'll show the basics of how to use both systems for several different format parsing tasks, of different complexity.
今回は、異なったフォーマットで異なった複雑さを持つ文を解析し、二つのライブラリーの基礎を示します。

// This will let you see how to use the parsers and understand more of the tradeoffs between complexity, readability, error handling, and performance.
それはまた、このパーサーをどの様に使うべきか、また、複雑さや読みやすさ、エラーハンドリングや性能についてのトレードオフに関して、理解が深まります。

* 95. Agent Based Modeling and Simulation in Python [#q22236b8]
** 95. pythonを使ったエージェントベースドモデルとシミュレーション [#f5a287c0]


//Agent Based Modeling and Simulation is an approach for studying complex systems  as collections of of independent, interacting agents.
エージェントベースモデルとシミュレーションは、複雑なシステムを、個体の集合や相互の干渉として扱う学問分野だ。

//Swarm is perhaps the leading framework and protocol for Agent Based Modeling and has been implemented in several languages, most recently Python.
[[Swarm:http://www.swarm.org/index.php/Main_Page]]は多分、その中で、最も使われるフレームワークとプロトコルで、複数の言語で、実装されている。最近は、Pythonで実装された。
//In this talk we will explore simulation,Agent Based Models, the Python implementation of Swarm, and a sample modeling problem.
このセッションでは、エージェントベースモデル、Pythonで実装されたSwarmそして、モデリングサンプルを説明する。


* 96. Introduction to unittest (a.k.a. PyUnit) [#ucc349cf]
** 96. unittest(別名PyUnit)紹介 [#ic107ede]

//The PyUnit (unittest) unit testing framework provides an easy-to-use set of tools and techniques to add robust unit testing to your Python code.
PyUnit(unittest)はPythonCodeに堅牢なユニットテストを簡単に付け加えるためのフレームワークである。

//By integrating unit testing in their code, developers allow for a robust set of tools to quickly and easily identify "broken" code.
ユニットテストを統合すれば、壊れたコードを簡単に素早く見つけるための堅牢なツールが手に入る。
 
//In this session we'll explore the unittest module and demonstrate how to leverage PyUnit for unit testing.
このセッションでは、PyUnitモジュールを紹介し、それをどう使えば有効かデモする。

* 99. To relate or not to relate, that is the question [#b0e776ac]
** 99. 関連すべきか?そうでないか?それが問題だ。 [#k6dce40b]

//There is a lot of buzz about Couch, Casandra, MongoDB, and other non relational databases, and at the same time there are decades of hard work that's gone into optimizing databases built around the relational model.
CouchやCasandra,CongoDBなどリレーショナルDBでないものが取りざたされている。それは同時に、リレーショナルモデル周辺のデータベースの最適化がハマった困難な10年でもある。

//This talk will focus on comparing relational DB's to their new friends in practice, and on providing practical tools for deciding what's right for your project.
今回は、リレーショナルデータベースと、その新しい仲間を実情に即して比較し、貴方のプロジェクトでそれらを適切に使用するための実用的なツールを提供する。

* 101. How to write cross-interpreter Python programs [#q5f26346]
** 101. Pythonプログラムのクロスインタープリターをどのように書くか(CPYthon,Jythonで動くプログラムを書く) [#i42259ad]

//This talk will cover basics about writing cross-interpreter python programs. What to do and most of all what not to do.
このセッションでは、クロスインタプリターで動くPythonプログラムを書くために、何をすべきか、あるいは(ほとんどの場合)、何をしなくて良いかを解説する。

//This will help you if you want at some point in time to run program on for example Java platform or faster python interpreter, but also if you want to keep it running between CPython releases.
これは、貴方が、Javaプラットフォームで、あるいは高速なpythonインタープリターで動かすと同時に、CPythonでも動かさなければならないプログラムを書くために参考になるでしょう。

* 106. A Little Bit of Zope Goes a Long Way: Rethinking Interface-Based Abstractions [#dadad618]
** 106. 少しのZopeがとても役に立つ。Interface抽象化再考。 [#r8354fd2]

//How do you enable others to easily extend your libraries or your frameworks?
フレームワークを簡単に拡張出来ないだろうか?

//If you have a large, complex application like Canonical's Launchpad software collaboration platform (https://launchpad.net/), how do you keep the interconnecting parts cleanly, separately factored while still enabling sophisticated interactions between them? 
もし貴方が、[[Lanchpad:https://launchpad.net/]]ソフトウェアのような複雑なアプリケーションに関わるとして、どの様に相互接続の個所を綺麗に保ち、それらを洗練された相互作用を維持するか?

//Over five years ago, the Launchpad web application was one of the first projects to use the patterns and implementations from the "Zope Toolkit" libraries (nee Zope 3) to address these problems.
五年以上前に、Lanchpadは、それらの問題を解くために、ZopeTookitライブラリの実装とデザインを、利用した最初のプロジェクトの一つだ。

//These powerful ideas can effectively provide pluggable singletons, pluggable functions, pluggable classes, and pluggable casting on the basis of objects' classes or interfaces.
それらは、プラグインシングルトン、プラグイン関数、プラグインクラスやインタフェースによって作られている。

//They have worked out well, with some caveats.
それらはいくつかの警告はあるがよく機能している。

//I'll explain the ideas.
私はそのアイディアについて説明する。

//Then we have some ideas to share on how to apply these patterns, how we might retool the core Zope Toolkit libraries to address our pain points, and how we are integrating some of these ideas and libraries into other projects, such as web applications that use Django.

私たちは、それらの(設計)パターンをどう応用し、問題を解くために、ZopeToolkitをどう作り替え、そうて、そのアイディアやライブラリをDjangoを用いたような他のプロジェクトに応用したかそのアイディアを共有する。


* 107. Python for Large Astronomical Data Reduction and Analysis Systems [#d5d7a42c]
** 107. 巨大天文データから抽出分析システムのためのPython [#o0e0f4de]

//We describe how Python is used in a large astronomy project to automatically process data from several telescopes in both the hemispheres.
私たちは、Pythonが、地球上の望遠鏡から送られてくるデータを自動的に処理する巨大な天文プロジェクトに、どのように活用されているか書き記す。
//We introduce the general problem and discuss challenges and lessons learned.
私たちは、一般的な問題を紹介し、試みや教訓を話す。

* 108. How does Enthought distribute packages? [#df1f925e]
** 108. Enthoughtではパッケージをどうするか? [#k8178cbc]

//This presentation gives an overview of how packages are build and
distributed for different operating systems in the Enthought Python Distribution.
このプレゼンテーションでは、EnthoughtPython配布ソフトを用いて、異なったOSにパッケージをビルドし配布するかその概要を示す。

// Enstaller (http://pypi.python.org/pypi/Enstaller/4.0.0) is a tool I wrote for installing egg-based packages, which are not necessarily Python packages, such as SWIG or HDF5.
私が書いた、[[Enstaller:http://pypi.python.org/pypi/Enstaller/4.0.0]]は、eggベースのパッケーインストーラーだ。それは、SWIGやHDF5のような外部パッケージを必要としない。

// I will discuss the architecture of Enstaller, and in particular the egg-based distribution format.
私は、Enstallerについて説明する。特にeggベースの配布フォーマットについて述べる。

* 111. The Zen of CherryPy [#ed187f5c]
** 111. CherryPyの真髄 [#le42eb10]

//CherryPy will be 8 years old in June 2010! 
CherryPyは、2010年6月で、8歳になる。
//This presentation will look at the "Zen of CherryPy":
このプレゼンテーションでは、CherryPyの真髄について話す。

// a set of 10 design guidelines which CherryPy has developed over those years,
それは、近年のCherryPy開発において、10この設計ガイドラインとしてまとめられている。

// explaining why they're useful, why some are uniquely Python, and how to apply them in your own projects.
それらのガイドラインはどうして有効なのか、そしてPythonにおいて独自なのか、またそれらを貴方のプロジェクトに応用するためにはどうしたら良いかについて説明する。


* 113. Modern version control: Mercurial internals [#c825448f]
** 113. モダンバージョンコントロール Mercurial内部構造 [#i68b944d]

//In this talk, I'd like to talk a bit about Mercurial.
今回、Mercurialについて少しだけ話す。

//This will not be a beginner-level talk on DVCS or hg; it aims to be a higher-level discussion of the concepts employed in Mercurial.
これは、hgや分散ヴァージョン管理システムに関する初心者レベルの話しではない。Mercurialで使われたコンセプトについて話す上級者向けの話しだ。

// After having discussed these, I'd also like to compare Mercurial and git based on UI, performance and underlying concepts.
その後、GITとMercurialについて比較を行う。特に、パフォーマンスや暗黙のコンセプトについて話す。

* 116. Cross platform application development and distribution [#k71b040d]
** 116. クロスプラットフォームのアプリケーション開発と配布 [#rbb06345]

//You think Python gives you native cross platform applications for free? Think twice.
Pythonで無料で、クラスプラットフォームのネイティブアプリケーション作りたいとよく考える。
//Are you interested in distributing your application to other platforms but not sure how?
異なるプラットフォームへのアプリケーション配布に興味はないだろうか?でもどうやって?

//We will give tips and examples on how to enhance the native feel of your application: notifications, registration of file types and more.
ネイティブっぽいアプリケーションの振る舞い、UI告知やファイルタイプへの登録の方法や実例を示す。

//The talk will also help you to avoid common pitfalls and provides solutions for designing cross platform user interfaces.
また、よくある落とし穴を避け、クラスプラットフォームのUIをデザインする方法を教える。
//(Although we use wxPython as an example, the principles are valid for other toolkits as well.)
私たちは、wxPythonを使って、例を示すが、それは他のツールキットでも有効だ。
//We'll show you where to start if you want to distribute your application to different platforms, briefly discussing tools like py2exe, py2app and Debian/Ubuntu packaging ecosystem.
希望により、py2exe,py2app,Debian/Ubuntuパッケージシステムのようなクラスプラットフォームの配布システムに付いて話す。

//This talk is based on our experience from developing Phatch (Photo Batch Processor) and SPE (Python Editor).
この話しは、Phatchと言う写真処理プロセッサーやSPEと言うPythonエデッター開発の経験に基づいている。

* 117. Advanced String Formatting [#h9fdc09e]
** 117. 上級ストリングフォーマット [#y7bb2be8]

//This talk describes Advanced String Formatting (str.format).
このレクチャーは、上級ストリングフォーマット(str.format)について述べる。
//Usage, extensions, and tips will be covered.
使用法、拡張、チップスをカバーしている。

* 119. 508 and You: Taking the Pain out of Accessibility [#v6d20ad4]
** 119. 508条と貴方. [#mfb3f172]

//Thinking about scoring a government contract, but haven't heard of 508 compliance yet?
政府との契約を考えるのでなければ、508条項について聞いたことが無いだろう。

//Interested in making your site accessible to people with disabilities?
障害を持つ人達が、使い易いサイトを作ることに興味ありますか?
// Never thought about compliance, but want to know why it's a good idea?
条項自体にとらわれないで、どうしてそれが良い考えなのか知って欲しい。


* 120. The Python and the Elephant: Large Scale Natural Language Processing with NLTK and Dumbo [#u902fc69]
** 120. Pythonと象。大規模事前言語処理。NLTKとダンボ [#q87868e7]

//A practical look at NLTK and Dumbo, python-powered and open-source toolkits and APIs for processing natural language on a large scale.
Python用の大規模自然言語処理のためのオープンソースツールキットである[[NLTK:http://www.nltk.org/]]と[[Dumbo:http://wiki.github.com/klbostee/dumbo]]について実用的な話しをする。
 
//For people like us who make a living trying to make a computer "understand" human language, Python is a very powerful language, given its rapid prototyping abilities, native unicode support and a stellar standard library.
コンピューターに自然言語を理解させることを生業とする私たちのような人間にとって、Pythonは強力な言語だ。それは、迅速なプロトタイピングを可能にし、Unicodeのネイティブサポートがあり、一流の標準ライブラリが揃っているからだ。

// This relationship has been strengthened further by an open-source, python-based Natural Language ToolKit (www.nltk.org) which is being widely used in the community for both teaching and research purposes and gaining traction in the general Python community as well (www.nltk.org/book).
PythonベースのNLTK(Natural Language ToolKit)は、教育研究の分野で、広く使われており、[[本も出版され:http://www.nltk.org/book/]]Python界隈でも話題に成っている。

// Recently, the Python community has seen the release of Dumbo (http://wiki.github.com/klbostee/dumbo), an open-source, python-based cloud-computing API (based on Hadoop) via the hands of Klaas Bosteels.

最近、Klaas Bosteelsの手によって、Dumboと言う名のHadoopベースのオープンソースPythonクラウド環境APIがリリースされた
 
//In this talk, we show how the amalgamation of Python, NLTK and Dumbo can allow for very large-scale natural language processing efficiently and elegantly.
このセッションでは、Python,NLTK,Dumboを用いて、大規模自然言語処理をどの様に効率的に、優雅に解くかと言う話しをする。

* 122. Think Globally, Hack Locally - Teaching Python in Your Community [#s446f682]
** 122. グローバルに考え、ローカルにハックせよ。貴方のコミュニティーでPythonを教える。 [#l324655c]

//For over a year, HackLabTO (http://hacklab.to), a hackerspace in Toronto, has been the home of an informal Python class / hack night every Thursday evening.
一年以上、トロントのハッカースペースである[[HackLabTO:http://hacklab.to]]では、毎週木曜夕方に形式ばらないPython class/hack nightを開いてきた。

//Our participants represent a diverse cross-section of the lab's community, and include everyone from complete beginners who hadn't written code since BASIC in high school, to seasoned veterans.
このイベントの参加者自体が、このラボの多様性を表している。参加者には、高校時代、BASICを触っていらいの全くの初心者から、ベテランまで揃っている。

// Come hear about our successes and failures, and learn how to start such an event in your local community.
ここに来て、私たちの成功と失敗を聞き、貴方のローカルコミュニティーで同様のイベントを始める際の参考にして欲しい。


* 126. DJing in Python: Audio processing fundamentals [#kab7c9c4]
** 126. DJするPython.音楽処理原理 [#ad22349e]

//I have been wanting to learn about audio processing because I'd eventually like to write a simple DJing application.
音楽処理について学びたいと思っていた。なぜなら、シンプルなDJアプリケーションを作りたかったからだ。

//What better way to explore some intermediate level programming concepts, as well as an interesting media library (PyMedia), than by doing it in Python.
//[訳せず]

//This talk covers what I learned on my way to creating a console-based skeleton of a DJing application with the intention of later returning to add a GUI on top.
今回、最終的にはGUIを追加するつもりの、自作したコンソールベースのDJソフトウェアについて説明する。


* 133. Dude, Where's My Database? [#r006d207]
** 133. Dude,私に最善のデータベースはどこ? [#q30b672b]

//There are so many great open source databases out on the market right now-- we're really in the golden age of databases.
多くのすごいオープンソースのデータベースが市場の外にある。私たちはデータベースの黄金時代に生きている。

// Fortunately, Python can talk to virtually all of them.
幸運にも、Pythonは、仮想的にそのすべてとやり取りできる。
// With so many databases at our disposal, how do we choose which one to use for our particular use case?
多くのDBが棄却されても、私たちは、自分に最良のDBをどの様に選べば良いだろうか?
 
//This talk will go over the many different classes of databases, introduce some of the particular implementations for each class of database, and describe the strengths and weaknesses of each.
いくつもの異なった分類のデータベースを調査し、その長所短所を明らかにする。

//By weighing the pros and cons of each type of database, the speaker hopes to dispel the many rumors and misconceptions that people have about what's out there today.
それぞれ、利点欠点を天秤にかけることによって、DBに関する多くの噂や誤解を晴らすことを期待する。


* 134. Scaling Python webapps from zero to 50 million users - A top-down approach. [#j910e6a2]
** 134. 0から5千万ユーザーへのPythonWebアプリ拡張。トップダウンアプローチ。 [#p35b780e]

//LOLapps is one of the top providers of social games and user generated applications with 50+ million monthly uniques on Facebook, MySpace and Bebo.
[[LOLapps:http://www.lolapps.com/]]は、Facebook,MySpace,Bebo上に、5千万人以上のユニークユーザーがいるソーシャルアプリのトップ提供者の一つだ。

// This session will focus on the top-down approach we took to scale our webapps for millions of users.
このセッションは、何百万ユーザーものユーザーに大して、私たちがアプリケーションを拡張するために取ったトップダウンのアプローチについて述べる。

// Here are the 6 topics we will cover:
それらは、以下の6つのトピックを含む。
 
//- Why is performance a big issue for Social Media
-どうして、ソーシャルメディアにとってパフォーマンスは大問題になるか?
//- How we profiled our apps and found bottlenecks using custom developed and existing middleware
-既存のミドルウェアや、独自のツールを使って、どの様にボトルネックを見つけ、性能を測るか?
//- The web application best practices we applied and results obtained
-私たちがWebアプリに対して行ったベストプラクティスと、その結果。
//- How we traced database connection leaks
-データベースのコネクションリークをどう扱ったか?
//- Our caching strategies and the changes we made to speed up the memcache clientt
-キャッシュ方法と、memcacheクライアントのスピードアップ
//- Results of our experiment using Paster and Tornado as our web servers.
-Paster,TornadeをWebサービスにする実験の結果


* 135. Using Django in Non-Standard Ways [#j96882c2]
** 135. Djangoの普通じゃない使い方。 [#g276a642]

//If you've been using Django for any amount of time, you've probably learned some pretty standard practices on how to use it.
Djangoに慣れ親しんでいるなら、これをどう使ったら良いかいくらか知っているでしょう。

//This talk aims to shatter those conceptions and teach you alternative ways that you could use Django.
今回、その考えを粉々に打ち砕き、Djangoを使う異なったやり方を教えます。

//These alternate ways come broadly in two varieties:
それは、大きく分けて二つのやり方があります。

//Using parts of Django outside of it, and choosing alternatives to what Django offers.
Djangoのモジュールを、Django外で使います。また、Djangoが想定していたものに、別のものを使います。

//If you haven't done either of these things before, it may seem tricky or difficult.
もし、過去にこれらの方法を、見てないなら、それらはいささか奇妙だったり難しく見えるでしょう。
//In fact,it may not be.
しかし、実際は、そんなに奇妙でも、難しくも無いです。
//This talk will walk you through the process and talk about what to expect if your project just doesn't seem to "fit the mold".
//最後の文わからず。


* 137. Sprox: data driven web development [#o0fa905b]
** 137. Sprox,データ駆動Web開発 [#e4b50280]

//Sprox is a web frontend tool build to handle the creation and manipulation of data.
[[Sprox:http://sprox.org/]]は、データ操作やデータ生成を取り扱う為に作られたWebフロントエンドツールだ。
//Sprox is smart about your data.
Sproxはとても賢い。
//You should never write repetitive code again.
繰り返しのコードを書かなくて良い。
//Sane defaults and easy overwrites is what makes Sprox guess what you need for your fields.
正しいデフォルト値と、簡単な上書きで、貴方が必要とするものを、Sproxは推測する。

//This talk will give an overview of Sprox, what it does and how to use it.
今回は、Sproxが何者で、どう使えばよいか、概要を説明する。

// Then we'll explore the available backends (SQLAlchemy, MongoDB) and dive into the tgext.admin package, which is the "Admin Tool" for the TurboGears2 framework.
その後、SQLAlchemyやMongoDB等のバックエンドとの接続や、TurboGears2用の管理Toolとの協働について説明する。


* 138. Decorators From Basics to Class Decorators to Decorator Libraries [#tb23e803]
** 138. デコレーター、基礎からクラスデコレーターへ、デコレーターライブラリーへ。 [#c99088a1]
//Decorators simplify design and improve readability and reliability.
デコレーターは、設計をシンプルにし、可読性と信頼性を増進する。

//This tutorial starts from the beginning with basic decorators, showing how simple tasks like restricting administration functions are clearer and more readable with decorators, and exactly how the decorators work.
このチュートリアルは、手始めに、基本的なデコレーターから始める。デコレーターを使って、関数に管理者制限を、明確に読みやすい方法で加える。これは、デコレーターがどの様に機能しているか示すためでもある。

//A simple library of decorators for tracing, logging, and caching results is presented.
その後、トラッキングやロギング、結果のキャッシュ等のシンプルなデコレーターライブりを示す。

//This leads into writing your own decorators and parameterized decorators either from scratch or by using libraries like Simionato's Decorator Decorator and "@call_before(fn)".
それらに続いて、[[Simionatoのデコレーターモジュール:http://d.hatena.ne.jp/SumiTomohiko/20070311/1173615560]]や@call_before(fn)等のライブラリや0から、独自のデコレータや、パラメーター化されたデコレータを作ります。

//Finally, using Python 3.x class decorators in place of metaclasses for most common dictionary modifications is covered.
最終的に、Python3に導入された、クラスデコレーターを使います。

* 140. Persistent Graphs in Python with Neo4j [#j2f0eb7a]
** 140. Neo4jを使ったPythonの永続グラフ [#yc160b22]

//Databases that employ a data model other than the relational model are increasingly a hot topic.
データベースのリレーショナルな側面が、注目を集めるようになりました。

//Neo4j is an open source database where the data model is a graph.
[[Neo4j:http://neo4j.org/]]はデータモデルとして、グラフを用いているオープンソースのDBです。

//Data in Neo4j is stored as Nodes and Relationships in between nodes.
Neo4jのデータは、ノードやノード間の関連性として保存されます。

//A lot of the data we model in applications every day is actually graph oriented,
私たちが毎日モデル化しているデータは、実際は、グラフ志向のものです。

//having a database that persists such data natively is a huge benefit.
それらのデータを自然に保存できるデータベースには大きな利点があります。

// In this presentation we will see how to use Neo4j in Python, and demonstrate this with a web application in Django.
このプレゼンテーションでは、Pythonを使ってNeo4jを操作し、また、それを使って作ったDjangoアプリのデモをします。


* 141. Eventlet: Asynchronous I/O with a synchronous interface [#w4c30b19]
** 141. Eventlet 非同期IOの同期インターフェース [#x076a0d6]

//Network servers which scale to thousands of simultaneous connections have always been possible in Python thanks to libraries such as asyncore and twisted.
asyncoreやtwistedのようなライブラリのおかげで、Pythonを使って、何千もの同時接続をさばくネットーワークサーバを作ることができる。

//More recently, FriendFeed's new open source project Tornado has stirred debate in this area.
最近は、FriendFeedの新しいプロジェクトのTornadoがその分野に一石を投じた。

//These libraries allow a Python process to scale to many simultaneous connections using non-blocking I/O (also known as asynchronous I/O). 
これらのライブラリは一般には、非同期IOとして知られるノンブロッキングIOを使って、多人数の同時接続を可能にしている。

//However these projects require that the programmer learn a custom API to abstract away the complexities of using a callback-style API.
しかしながら、これらのプロジェクトでは、コールバックスタイルの複雑なプログラミング手法を学ばねばならない。

//Eventlet uses greenlet, which provides coroutines as described in "The Art of Computer Programming", to implement efficient cooperative concurrency while retaining synchronous semantics.
Eventletでは、greenletと呼ばれるコルーチンを使って、協調並列実行を行う。


//Eventlet also provides an implementation of the standard library's socket module.
Eventletは、また標準のソケットライブラリを実装する。
//Code written to use Python's standard socket library can be transparently converted to use nonblocking I/O and green threads with eventlet.
Pythonの標準ソケットライブラリに、ノンブロッキングI/Oとスレッドの能力を透過的に付与できる。

//This leads to much greater code reuse and programmer efficiency.
そのため、既存のコードを利用して、並列実行を、付与できる。
 
http://www.eventlet.net/

* 146. Ecommerce in Python: Introduction to Satchmo and GetPaid [#of84e8e6]
** 146.Pythonを使った電子商取引。SatchmoとGetPaid紹介 [#pa110165]

//The world of open source ecommerce is dominated by PHP-based solutions.
オープンソース電子商取引の世界では、PHPベースの製品が実権を握っている。

//However, in the past few years, there has been significant progress in building robust python-based alternatives.
しかしながら、ここ数年は、Pythonベースの堅牢な大用品が、着実な進歩と遂げている。
//This discussion will cover 2 different python approaches.
今回は、2つの異なったPythonのアプローチを紹介する。

//Satchmo is based on the Django framework and GetPaid is a framework for credit card processing in Plone.
Satchmoは、Djangoベースのフレームワークである。対して、GetPaidは、Ploneベースのクレジットカード処理フレームワークである。

//These solutions share a similar philosophy and approach but can be used in very different ways. 
これらの製品は、似た設計思想を共有しながら、しかし全く異なった使われ方をしている。

//This discussion will increase awareness of these applications, feature successful projects, explain how they can be used in your projects, and help you connect with the open source community.
これらのソフトウェアの、現状と輝かしい未来を話し、また貴方のプロジェクトにどう使えるか説明する。そして、貴方が、オープンソースコミュニティーに繋がる手助けをする。

* 148. Pynie: Python 3 on Parrot [#qec5714e]
** 148. Pynie.Parrot(Perl 6仮想マシン)上のPython3 [#b47f8635]

//Pynie is an implementation of Python 3 on Parrot.
Pynieは、Parrot上のPython3実装だ。

//The goal of Pynie is to duplicate the pure-Python behavior of CPython 3.x, and perhaps eventually a C API compatibility layer. 
Pynieのゴールは、CPython3の振る舞いを真似ることで、そして最終的には、CのAPIと互換性を保つことだ。

//Parrot provides a set of compiler tools and core functionality common to many dynamic languages, so the core code of Pynie is lightweight.
Parrotが多くの動的言語共有の関数やコンパイラーを提供するので、Pynie自体のコードは軽量だ。

// Pynie allows Python 3 libraries to be shared between multiple languages.
Pynieを使ってPython3のライブラリは、他の言語で動く。

// This talk is an overview of the features Pynie currently supports and the work left to be done, together with an introduction to the internals of Pynie.
今回は、現時点のPynieの機能を紹介し、また、なされなければならない仕事を示す。あわせて、Pynieの内部構造を紹介する。


* 150. Evolving Your Framework Under Fire [#ya4a8e0d]
** 150. 火事場で、貴方のフレームワークを発展させる。 [#o2114eeb]

//Writing frameworks is fun, which is why we have so many of them in the Python web development world. 
フレームワークを書くことは楽しい。そのことは、PythonのWebフレームワークの多さを見ればわかる。

//Making your shiny new framework stand up under the load of a demanding application can be painful, but can lead to substantial improvements.
貴方の輝かしいまっさらなフレームワークを実際の要求の多いアプリケーションに適応するのは、痛みを伴う。しかし、それこそが、実質的な改善をもたらす。

* 152. Supercharging Web Communications: Integrating Python-based Apps with Salesforce.com CRM [#k4138943]
** 152. Webコミュニケーションを過給する。Pythonベースのアプリをセールスフォースに統合する。 [#d1f67056]

//Salesforce.com is a leading provider of Customer Relationship Management (CRM) for enterprises (over 55,000 customers) and nonprofits (over 6,000 customers).

セールスフォースは、企業で5万5千超の顧客と、非営利部門で6千超の顧客を持つ、顧客管理システムのリーディングカンパニーだ。

//While it handles sales, marketing and support processes, it can be extended to automate any business process, making it a core part of business operations.
販売であれ、売買やサポートであれ、ビジネスプロセスの自動化は、ビシネス運営の中核を担う。

//Python developers working with companies using salesforce.com need to be able to integrate applications with Salesforce.
セールスフォースを使う企業のPython開発者は、セールスフォースと自社のアプリケーションを統合できる。

//Luckily, Salesforce.com has an elegant and powerful SOAP API.
運良くセールスフォースには、簡潔で強力なSOAPAPIがある。

// This presentation will introduce an example of using the Python wrapper for the Salesforce.com API (Beatbox) in an interactive website.
このプレゼンでは、セールスフォースのPythonラッパーを使ったインタラクティブサイトの例を紹介する。

// While the library itself is powerful and can be used in custom Python applications, the Python community can also leverage the advanced integration between the Plone Content Management System (CMS) and salesforce.com. 
そのライブラリ自体も強力だが、Pythonコミュニティでは更に、Ploneコンテンツ管理システムとセールスフォースの統合が進められている。

//We will demonstrate how a Plone website can post forms, ecommerce transactions, and event RSVPs to salesforce.
PloneWebサイトからのポスト、電子商取引、そしてセールスフォースからの返信を、デモする。

// Additionally, we will show how developers can make Salesforce.com data interactive in a Plone website.
加えて、PloneWebサイトでの、セールスフォースデータ利用例を示す。

* 153. Easy command-line applications with cmd and cmd2 [#t837f61a]
** 153. cmd,cmd2で作る簡単コマンドラインアプリケーション。 [#ncfdaecf]

//The Python Standard Library's cmd module makes it absurdly simple to write command-line interpreters - non-graphical programs that communicate with users interactively through a simple text interface. 
Pythonの標準ライブラリcmdを使うと、ばかみたいに簡単に、コマンドラインアプリを書ける。

//The third-party cmd2 module adds high-powered "batteries" to applications written for cmd.
サードパーティのcmd2は、更に強力なパワーを発揮する。

//This presentation teaches attendees how to easily make their own powerful command-line interpreters with cmd and cmd2. 
このプレゼンでは、cmdとcmd2を使って、強力なコマンドラインツールが如何に簡単に出来るか示す。

//It also describes the tricks cmd2 uses for some of its more interesting functionality so that they can implement them in their own programs (even unrelated ones). 
cmd2で使われるトリックを目にしたら、それがあまりに機能的なので、あなた自身の(たとえそれが無関係な)プログラムにも実装してしまうでしょう。

//It ends with a brief demonstration of sqlpython, a cmd2-based application that improves on existing ad-hoc SQL applications.
最後の、そのような例として、cmd2ベースのSQLアプリケーション(sqlpython)を紹介します。

* 154. Hg and Git : Can't we all just get along? [#qfc09b39]
** 154. HgとGit。うまくやって行けないのか? [#e724b67b]

//There is a fair amount of unnecessary animosity between developers about version control systems, especially between Mercurial and Git users.
バージョン管理システムを巡る開発者同士の反目は、かなり不必要だ。特に、マーキュリアルユーザーと、Gitユーザの間では。

//In reality, these two systems are very similar and can actually cooperate pretty well.
ほんとにこの二つのシステムはとてもよく似ていて、実際にうまく協力できている。

//In this talk we will show just how similar Git and Mercurial are, look at some of their technical differences, and see how they can work together by looking at hg-git, the bidirectional Git/Mercurial bridge, implemented in Python.

今回は、GitとMercurialが如何に似ているか、そして「技術的な」相違点を示す。また、Pythonで書かれた、Git/Mercurialの双方向ブリッジであるhg-gitを使って、どの様に共同作業行うか例を示す。


* 156. Dealing with unsightly data in the real world. [#ue468553]
** 156. 現実世界の見苦しいデータを扱う。 [#f70da20d]

//Drawing on experiences writing http://m.ox.ac.uk/, we'll explore the art of getting data out of unhelpful systems.
http://m.ox.ac.uk/での経験を通して、役立たずのシステムから出たデータの取り扱いを説明する。

//We'll start with working out how to interact with a system, move on to techniques for parsing the data it gives you, and round off by implementing a shinier interface over the top.
最初に、そのシステムとやり取りし、そのシステムからのデータを解釈し、最後に、綺麗なインタフェースを取り付けるまでの説明する。

* 157. Remixing Music Pythonically [#j0201c38]
** 157. Python風に、音楽をリミックス [#gd11aaed]

//The Echo Nest Remix API (http://code.google.com/p/echo-nest-remix/) was made open source by The Echo Nest, a "music intelligence" company based in the Boston area in the autumn of 2008.
EchoNestは、ボストンに2008秋にできた音楽知能を扱う会社だ。EchoNestは、オープンソースのリミックスAPIを作った。

// This talk will offer details on the concise expressivity offered when editing multimedia driven by content-based features, and some insights on what Pythonic magic did and didn't work in the development of the modules.
今回は、コンテンツ中心のマルチメディア編集に採用された簡潔な表現手法について詳しく述べる、そして、そのモジュール作成に、Python的な考えがどの様に作用し、また作用しなかったかを見抜く。

//Audio and video examples of the fun-yet-odd outputs that are possible will be shown.
面白くてちょっと奇妙なオーディオとビデオをお見せすることが出来ます。


* 158. Python in quantitative finance [#c3f10879]
** 158. 量的金融の中のPython [#sb1a2273]

//This talk will show how Python and libraries such as NumPy were instrumental at AQR for building a robust research platform for prototyping and implementing quantitative trading models. 
この会は、量的金融トレードモジュールの作成実装にPythonやNumPyのようなライブラリがどう使われたをお見せする。

//We will discuss many different tools, including pandas, a new open source library designed for analyzing common financial and economic data sets.
また、多くの異なったツールを知らせる。例えば、金融や経済のデータを分析するために作られたオープンソースのライブラリ、pandasだ。

//A variety of examples will be presented to explore Python's current status as a replacement for other statistical computing environments (as compared with R, MATLAB, or other commercial and open-source statistical products).
また、RやMATLABや他の商用、オープンソースの統計製品の置換えとして、Pythonが使われている様々な例を示す。

* 159. Using Python to Create Robotic Simulations for Planetary Exploration [#s7a4e7e3]
** 159. 惑星探査のための、ロボットシミュレーター作成のためのPython使用 [#x5f7e81f]

//The primary activity of the Dartslab (http://dartslab.jpl.nasa.gov) at Jet Propulsion Laboratory (JPL) is to create simulations of robotic vehicles for planetary exploration.
ジェット推進研究所のDartslabの主要な活動は、惑星探査の為の自走ロボットのシュミレーターを作ることだ。

// We have created simulations of a wide variety of robotic vehicles such as spacecraft, rovers, and airships. 
宇宙船や、ローバーや飛行船のような様々な種類の自律ロボット用シミュレーションを作っている。

//We have been using Python in a variety of ways to build our simulations.
シミュレーションを作るために様々な用途でPythonが使われている。

//In this talk we will outline how we use Python to set up a runtime environment for our simulations and to tie together computationally intense C++ code modules at runtime.
Pythonを使ってシミュレーション用の実行時環境を作り、また、C++で書かれたコードを結びつける。

// We will also discuss how we have been using Python to help prototype and design C++ code.
そして、C++のプロトタイプと設計用にPythonをどの様に使っているか示す。

* 160. Why not run all your tests all the 05:49:33 A study of continuous integration systems. [#pe1aaf37]
** 160. どうしてすべてのテストを随時走らせないのか?継続的統合システム研究 [#m57e8395]

//There are an increasing number of continuous integration (CI) systems available for use by Pythonistas, but no clear guide to how to choose a CI system for your project.
Python愛好者が使える継続的統合(CI)システムが増えている。しかし、そのCIを使えばよいか明確な指針は無い。

//I will examine the architecture choices made by buildbot, bitten, Hudson, continuum, CruiseControl, DART, and pony-build, and discuss the configuration and customization of several of these systems for Pythonic needs, as well as give short demos (for buildbot, bitten, Hudson, and pony-build).
buildbot, bitten, Hudson, continuum, CruiseControl, DART, and pony-build, and discussを紹介する。そして、いくつかのCIには、Python風の修正を施した。それらのCI(buildbot, bitten, Hudson, and pony-build)について、デモを交えて紹介する。


* 161. Actors: What, Why, and How [#i0ec6f10]
** 161. アクター。何?何故?そしてどのように? [#xab7ddf0]

//Since the dawn of concurrency research, there have been two camps: shared everything, and shared nothing.
並列性研究の始まりから、二つの陣営があった。すべてを共有する設計思想。そして、何も共有しない設計思想だ。

//Most modern applications use threads for concurrency, a shared everything architecture.
並列処理にスレッドを使う多くのアプリケーションは、すべての共有するアーキテクチャだ。

//Actors, however, use a shared nothing architecture where lightweight processes communicate with each other using message passing.
アクターモデルは逆に、何も共有しないモデルだ。アクターモデルは、メッセージ交換を通して、互いに通信する軽量プロセスアーキテクチャだ。

//Actors can change their state, create a new Actor, send a message to any Actor it has the Address of, and wait for a specific kind of message to arrive in it's mailbox
アクターは、状態を変化させ、新しいアクターを作り、配達可能などの様なアクターにも、メッセージを送り、また、メールボックスに特定の種類のメッセージを受け取るために待機できる。

//We will discuss the benefits of using the Actor architecture and strategies for implementing an Actor system in Python.

アクターアーキテクチャの利点を述べ、そして、アクターシステムを実装する戦略について述べる。

http://bitbucket.org/fzzzy/python-actors/

* 162. Seattle: A Python-based Platform for Easy Development and Deployment of Networked Systems and Applications. [#z04d2359]
** 162. Sattle:Pythonベースのネットワークシステム・アプリの簡易開発配置用プラットフォーム [#ecbd4a26]

//Seattle [1] is an open-source platform for developing and deploying networked applications. 
Seattleは、ネットワークアプリケーション開発のための、オープンソースプラットフォームだ。

//Core feature of Seattle is that it allows safe execution of untrusted code on end-user systems. 
Seattleの中心機能は、エンドユーザの信用出来ないコードを安全に実行する機能だ。

//In our talk we look at how we used Python to build a safe, restricted code execution environment for Seattle that not only provides execution safety but also enforces strict resource consumption limits.
今回Seattleを使って、安全なPython実行環境を構築する。それは、単に安全な実行を提供するだけではなく、実行環境のコンピューターリソース使用もきちんと制限する。

// In addition,Seattle includes a high-level API to hide inconsistent OS-specific behaviors from developers.
加えて、Seattleは、開発者に対して、OS固有の振る舞いを隠蔽した高レベルのAPIを含んでいる。

//What results is a platform that welcomes the participation of end-user machines for general-purpose distributed programming and creates new possibilities for developers.
結果的に、Seattleはエンドユーザーのコンピュータを用いた一般的な目的の為の分散プログラミング環境の為のプラットフォームになる。
 
[1] http://seattle.cs.washington.edu/

* 164. Demystifying Non-Blocking and Asynchronous I/O [#gd84ebbe]
** 164. ノンブロッキングと非同期IOの秘密を暴く [#wa675d2c]

//We will first define what blocking, non-blocking, synchronous and asynchronous I/O are under the POSIX interfaces.
最初に、POSIXインタフェース上の、ブロッキング、ノンブロッキング、同期、非同期IOについて述べる。

//We'll cover how and when these four types of I/O should be used, and their individual effects on a Python based application.
それらの四つのタイプのIOはいつどの様に使えばよいか示し、また、それらは、Pythonベースのアプリケーションに異なった効果をもたらす。

//The notion of concurrency will be discussed by comparing a simple threaded blocking I/O application to a simple single threaded non-blocking I/O application by walking the attendees through the python code for those applications.
それらのPythonアプリケーションを見ながら、シンプルなマルチスレッドのブロッキングIOアプリから、ノンブロッキングのシングルスレッドアプリまでを比較する。そして、それぞれの並列性に関する意図を明らかにする。

* 169. Turtles All The Way Down: Demystifying Deferreds, Decorators, and Declarations [#h74d238c]
** 169. Turtles隅から隅まで。Deferredとデコレーター,宣言の秘密を暴く。 [#e9081236]


//Python's flexible object model allows library and framework authors to add very flexible declarations.
Pythonの柔軟なオブジェクトモデルによって、ライブラリやフレームワークの作者は、とても柔軟な定義ができる。

//Metaclasses, decorators, callable objects, and operator overloading practically allow libraries to re-define the language in order to provide a more concise, natural style for that library.
メタクラス、デコレーター、関数オブジェクト、オペレーターの上書きの力によって、簡潔で自然な形式のライブラリを作るために、言語を再定義することもできる。

//Unfortunately, the library user's first experience of such conveniences is often confusing, because it's not clear what's going on.
不幸なことに、そのような便利なものに、触れたライブラリのユーザーは、しばしば混乱する。なぜならば、それらは、何をしているか明確で無いからだ。
 
//In this talk, I will try to convince you that all of this wonderful magic isn't all that weird.
今回は、それらが、単に奇妙なのではなく、素晴らしいマジックであることを確信させよう。

//This is not a typical how-to session on how to use a particular feature, either of Python or of Twisted, but will rather draw examples from Python, Twisted, and Zope to illustrate techniques you can use to read and understand "magical" Python code.
このセッションは、典型的なPythonとTwistedの部分的な機能を使った、ハウツーセッションではない。むしろ、Python,Twsited,Zopeの例を通して、それらの魔術的なPythonコードを理解し、心に思い描けるようにしたい。

* 171. Customizing your editor for maximum productivity [#a4d519f9]
** 171. 最高の生産性の為の、あなたのエデッターカスタマイズ。 [#ibcdfc75]

//This will be an overview of the sorts of things that editors can offer to make your programming life easier.
今回は、貴方のプログラマーズライフを容易にするエディターに関する種類の話しです。
//It will also include specifics of how to get these features working in a basic editor. (Vim or Emacs, yet undecided).
それは、(VimかEmacsか決めてませんが)、基本的なエディッターの機能についての詳細を含みます。


* 172. VisTrails: A Python-Based Scientific Workflow and Provenance System [#z2001e8b]
** 172. VisTrails:Pythonベースの科学ワークフローと起源システム [#g91b0f27]

//In this talk, we will give an overview of VisTrails (http://www.vistrails.org), a python-based open-source scientific workflow that transparently captures provenance (i.e., lineage) of both data products and the processes used to derive these products.
VisTrailsは、Pythonベースのオープンソースプロダクトです。それは、研究対象からデータやプロセス両方の起源(例えば、血統)を透過的に補足する為のシステムです。

//We will show how VisTrails can be used to streamline data exploration and visualization.
VisTrailsを利用して、どの様に線形データ探査や可視化に使っているかお見せします。

//Using real examples, we will demonstrate key features of the system, including the ability to visually create information processing pipelines that combine multiple tools and Iibraries such as VTK, pylab, and matplotlib.
実例を通して、このシステムの主要機能について、説明します。それは、様々なツールやライブラリ(VTK,pylab,matplotlib)からのデータを、視覚的に組み合わてパイプライン処理を行う機能です。

// We will also show how VisTrails leverages provenance information not only to support result reproducibility, but also to simplify the creation and refinement of pipelines.
VisTrailsは、起源調査において、単に、結果を生成するだけでなく、パイプラインを作り、きれいにするのにも有効であることを示します。


* 173. Powering the real-time web with Python: PubSubHubbub on App Engine [#i1ecc623]
** 173. Pythonを使ってリアルタイムWebに力を。AppEngine上のPubSubHubbub [#vfcd1692]

//PubSubHubbub is an open protocol that turns Atom and RSS feeds into real-time streams. 
PubSubHubbubはAtomやRSSフィードを、リアルタイムのストリームへと変換するオープンなプロトコルです。

//I built the reference Hub run by Google using Python and App Engine.
私は、PythonとGoogle App Engineを使って、サンプルのソフトを作りました。

//In this talk you will learn how I made the real-time system work:
私は、このリアルタイム作品を作る上でどんな教訓をえたかお話します。

//An intro to the protocol, asynchronous processing on App Engine, fault-tolerance, and scalability.
それは、プロトコル、APP Engine上での非同期処理、耐障害性、そして、スケーラビリティについてです。

//For details on PubSubHubbub and the Hub's source code, see:
http://code.google.com/p/pubsubhubbub/

詳しくは[[こちら:http://code.google.com/p/pubsubhubbub/]]を御覧下さい

* 174. Pay only for what you eat: A tour of the Repoze.BFG repository and philosophy [#a210fdb0]
** 174. 食べた分だけ払う。Rezope.BFGリポジトリと、哲学。 [#t4dcd05e]


//BFG is a Python web application framework based on WSGI.
BFGは、WSGIベースのPythonWebアプリです。

// It is a "pay only for what you eat" framework.
これは、食べた分だけ払うフレームワークです。
//Meaning that you can get started easily and learn new concepts as you go, and only if you need them.
それの意味するところは、簡単に始められて、そして、必要になったら新しい概念を覚えれば良いと言うことです。

//It's simple, well tested, well documented, and fast.
それは、シンプルで、テストされており、ドキュメントも揃っていて、早いです。
//It also tries to make development fun.
これは、開発を楽しくします。
 
//This talk will introduce the framework and its philosophy, including similarities and differences with other frameworks.
今回は、このフレームワークと設計思想を紹介します。また、他のフレームワークとの類似点と相違点を明らかにします。

// I will then show some of the software available in its repository and discuss the inclusive, loose connection approach that the BFG community prefers for creating a flexible web development platform.




* 175. An Underwater Python: Tortuga the Python Powered Robot [#off44d09]
** 175. 水面下のPython:Tortuga,Pythonで動く潜水ロボット [#xb713b99]

//Learn about Tortuga, the python powered Autonomous Underwater Vehicle (AUV) developed by Robotics @ Maryland (http://ram.umd.edu).
Tortugaは、Pythonベースの、メリーランドのロボット工学によって作られた水中用自律ロボットだ。

// See how python provides a flexible and efficient way to build the software that commands, simulates and controls Tortuga.
PythonがTortugaの指揮、シュミレーション、制御の為のソフトウェアを書くのにどの様に柔軟性と効率を与えたかを示す。

//Also learn about the trials, tribulations, and glory experienced developing, competing, losing, and winning with Tortuga in AUVSI AUV Competition (http://www.auvsi.org/competitions/water.cfm).

また、Tortugaを作る際の、試行錯誤、困難、得難い経験、AUVSI AUVコンテストの勝敗について話す。

* 招待スピーチはややこしいので、タイトルしか訳してません。 [#q92f9173]


* 180. On The Subject Of Source Code [#o6a4ab09]
** 180. ソースコードについて [#f3b12ac3]

//Ian Bicking (The Open Planning Project) bio
//45min ?? Intermediate
//invited
//Source code is the basis of all programming languages, yet its development has been extremely conservative. Even a modest change like Python's significant whitespace is treated with widespread suspicion. Why are we so conservative? Should source code be more expressive? What have other languages attempted? Is there room in Python to do more?

* 181. Interfaces, Adapters and Factories [#b4f37f0c]
** 181. インターフェース、アダブター、ファクトリー。 [#y4ab1bc0]

//Jeff Rush (Tau Productions Inc.) bio
//45min ?? Intermediate
//invited
//A step-by-step introduction to the idea of object interfaces and adapters using incremental code examples, based on the zope.interface module. The case for adaption to ease code brittleness will be made and how we can reason about interfaces. I'll show how to automatically check code for conformance to your interfaces and then cover where objects come from, the several kinds of object factories in Python and how one kind can be based on interfaces.

* 182. Python's Dusty Corners [#lb8970d0]
** 182. Pythonの汚い所 [#fceaf4f6]

//Jack Diederich (Consultant) bio
//45min ?? Intermediate
//invited
//The talk will be a brief overview of all the features in python that you don't need to know about right up until the moment you do. The list includes how comparisons work, descriptors, iterators, context managers, namespaces, else clauses on for/while loops (suggested by Hettinger). The narrative of the talk is that these are features that you don't need and/or shouldn't use in your day-to-day code but that you need to keep in the back of your mind because other people's code and the stdlib do use them. As Alex Martelli pointed out in his wonderful talk "Abstractions as Leverage" you can't successfully function at one level of abstraction if you don't know what is going on at the next level down. This talk is a whirlwind tour of the next level down.

* 183. Debating 'til Dawn: Topics to keep you up all night [#y6222481]
** 183. 朝まで話そう。徹夜させるトピック。 [#dc0013a4]


//Mike C. Fletcher (VRPlumber Consulting Inc.) bio
//30min ?? Intermediate
//invited
//PyCon is about staying up all night hacking. When you're tired, you don't sleep, you debate ideas with your sprint-mates! This presentation will attempt to condense the best of the last few years of PyGTA into a 30-minute jumping off point full of wild assertions, unreasonable assumptions, and just plain wrong-headed ideas to kick-start those heated discussions that just keep going long into the night. What are your programming mantras? What million-dollar ideas do you have to improve Python? Should there be programmer liability? Is there art in programming and should there be? Are you a cowboy coder or an straight-laced engineer? Is PyCon really about staying up all night discussing ideas? We'll have a feedback channel to share your thoughts, we'll keep it moving, and we'll see if we can't make this the most sleepless PyCon yet.

* 184. Mastering Team Play: Four powerful examples of composing Python tools [#pdb276ff]
** 184. チームプレイを習得する。Pythonツールを組み合わせる四つの強力な例。 [#r9d400fd]

//Raymond Hettinger
//45min ?? Intermediate
//invited
//Starts with a quick review of the performance characteristics of major individual tools in Python: bisect, heapq, lists, deques, sets, frozensets, class structures, sorts, and weakreferences. Show how these tools can be powerfully combined to create elegant solutions to four hard problems.
//    1. Random sampling: when one data structure isn't enough. Discuss how the nature of the problem dictates when to use one of two alternate data structures.
//    2. Ordered dictionaries: with the right compostion of dictionaries, linked lists, and weak references, a dictionary can remember its insertion order without any impact on its big-Oh running times.
//    3. NFA to DFA conversion. The classic, but difficult, algorithm for lexical analysis becomes simple when composing Python's dicts and frozensets.
//    4. Running median: the obvious approaches are horribly slow. The problem centers around how to efficiently maintain sorted data while advancing a large sliding window one value at a time. A list of deques provides a dramatic and scalable improvement in running time.

* 185. The other kind of testing [#k6472c6f]
** 185. テストだけではない。 [#e902773f]

//Bob Ippolito (Mochi Media, Inc.) bio
//45min ?? Intermediate
//invited
//Software testing helps verify that your code meets a specification, but not how to improve the specification. How can you stay competitive when most of the big names today are using analysis to guide product evolution? Level the playing field and make better products by learning how to design experiments, collect data, make measurements, and optimize your specifications.

*186. Powerful Pythonic Patterns [#ma6b33e5]
** 186. 強力なPythonパターン [#ac280813]

//Alex Martelli
//45min ?? Intermediate
//invited
//An extremely misguided meme is going around: that Python doesn't have, or need, any Design Patterns. Maybe the meme springs from not realizing what the Gang Of Four state so plainly in their historical "Design Patterns" book: which design patterns are useful DOES depend on the programming language one targets -- design is NOT independent of implementation, as the epic-fail "Waterfall" Methodology Pattern would suggest. If you examine a "classic DP" that's basically a workaround for some other language's lack of garbage collection, or for a clumsy static-typing system, it may indeed be worthless for Python. But many other DPs are still perfectly useful and applicable, and indeed Python's strengths as a language afford riffing on them to develop highly Pythonic, powerful, productive variants.
 
//In this talk, I analyze some of my favorite pattern families -- e.g., Template Method and its variants, Dependency Injection and its ilk, Callback and friends -- in a highly Pythonic context. Non-pattern Idioms, and Patterns that aren't really Design Patterns but rather Architecture or Methodology ones, also make cameo appearances.

* 187. Threading is not a model [#a38a00f6]
** 187. スレッドはモデルではない。 [#kdb52e5b]

//Joe Gregorio (Google) bio
//45min ?? Intermediate
//invited
//We have many concurrency/multiprocessing capabilities at our finger tips, such as threads, processes, locks, mutexes, select, epoll, transactional memory, etc. But none of them are a model for multiprocessing, they are only tools on which you would build an implementation of such a model. So what are the models we can choose from? How would they be implemented in Python? And why may the GIL actually be a good thing?

* 188. Tests and Testability [#l69aa1d3]
** 188. テストと検査性 [#y33f3bca]


//Ned Batchelder
//30min ?? Intermediate
//invited
//Testing software is difficult. Large complex systems don't lend themselves naturally to automated testing. This isn't just because they are large, it's because developers often don't consider how testable their code is. Testability is as important as all the other -ilities in your code (portability, maintainability, efficiency, etc).
//Testability is a characteristic of your code that makes it easier to test. Increased testability can give you better tests, but it also gives you just plain better code. Improving testability generally means considering the interfaces to your internal modules and improving them to provide better modularity. This improvement often has benefits in your product code.
//I'll discuss specific examples to demonstrate how code can be made more testable. Mocks, dependency injection, and crisp API design are just a few of the techniques that can improve your code's testability and make you a happier person.

* 189. The Ring of Python [#j86088db]
** 189 .Pythonの輪 [#lf180eb0]

//holger krekel (merlinux gmbh) bio
//45min ?? Intermediate
//invited
//CPython 2.5/2.6/3.1, Jython, IronPython, PyPy, StacklessPython, UnladdenSwallow, Cython ... what do we make of all these cool interpreter projects and versions? Where does competition help and where does it hamper?
//This talk is for stirring discussion and thoughts on making the most out of wealth/curse of interpreters. I am also going to showcase and discuss 'execnet' one of my own related projects.

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS