python + nosql in animations
DESCRIPTION
"Python + NoSQL in Animations", a talk I gave in PyConTW 2013.TRANSCRIPT
![Page 1: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/1.jpg)
官順暉
in Anima'ons NoSQL
Python +
![Page 2: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/2.jpg)
What can you expect?
One man's journey of learning python in anima'on industry.
![Page 3: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/3.jpg)
http://www.flickr.com/photos/nidalm/3523404908/
Conf. Room #2: Sphinx Documentation Conf. Room #1: Pyramid Pro
![Page 4: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/4.jpg)
• In Gaming, anima*on, VFX industry?
• Coding in Autodesk Maya?
http://imperialphoenix.files.wordpress.com/2011/05/hands-up.jpg
http://inequalitybyinteriordesign.wordpress.com/2012/03/09/glitterbomb/
![Page 5: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/5.jpg)
NoSQL? CouchDB? MongoDB?
http://commons.wikimedia.org/wiki/File:Core-repository_hg.jpg
![Page 6: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/6.jpg)
官順暉 (Drake) R&D Manager, Digimax Inc.
@drakeguan
![Page 7: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/7.jpg)
http://hohobear.wordpress.com/2010/12/19/1161/
![Page 8: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/8.jpg)
http://blog.codility.com/2012/05/codility-on-acm-icpc.html
![Page 9: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/9.jpg)
http://www.nakuz.com/bbs/viewthread.php?action=printable&tid=4352983&sid=3XQfMO
![Page 10: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/10.jpg)
Peregrine / Brilliance Studio
![Page 11: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/11.jpg)
![Page 12: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/12.jpg)
• 太極影⾳音 (Digimax Inc.) • Animation Studio / Post-production • ~100 employees • artist : engineer = 70% : 10%
![Page 13: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/13.jpg)
Digimax Produc'on
![Page 14: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/14.jpg)
![Page 15: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/15.jpg)
Rookies! Let's build our anima'on pipeline!
http://paceaustralia.wordpress.com/2011/03/01/the-difference-between-a-sales-funnel-and-a-sales-pipeline/
![Page 16: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/16.jpg)
![Page 17: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/17.jpg)
![Page 18: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/18.jpg)
A project for coding in Python
http://www.wallscorner.com/matrix-coding-wallpapers.html
![Page 19: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/19.jpg)
GUI Programming is King
http://www.joelonsoftware.com/uibook/fog0000000249.html
![Page 20: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/20.jpg)
PyGTK, PyQt or WxPython?
http://commons.wikimedia.org/wiki/File:WxPython-logo.png http://www.pygtk.org/ http://aralbalkan.com/1675/
![Page 21: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/21.jpg)
http://blog.narendrasisodiya.com/2011/04/learn-wxpython-using-example-wxpython.html
![Page 22: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/22.jpg)
![Page 23: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/23.jpg)
• Version control for ar'sts • Meaningful color/layout • All-‐in-‐one >> separated • GUI + mul'threading
http://misswargoenglish.wikispaces.com/Dracula
![Page 24: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/24.jpg)
Let's talk about anima'on
![Page 25: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/25.jpg)
![Page 26: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/26.jpg)
![Page 27: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/27.jpg)
Programming in Maya
![Page 28: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/28.jpg)
![Page 29: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/29.jpg)
![Page 30: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/30.jpg)
![Page 31: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/31.jpg)
Python in Maya!
http://usa.autodesk.com/adsk/servlet/item?linkID=9242256&id=13587662&siteID=123112
![Page 32: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/32.jpg)
![Page 33: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/33.jpg)
![Page 34: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/34.jpg)
![Page 35: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/35.jpg)
![Page 36: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/36.jpg)
Ever wondering users' behaviors?
![Page 37: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/37.jpg)
![Page 38: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/38.jpg)
Logging first name value
level DEBUG
user stella
host pc0111
ip 192.168.101.111
os posix
pid 12039
timestamp 2011-12-22T16:46:55Z
klass CinemaSelectorController
function OnModelUpdateShots
params (['sh0010', 'sh0020', 'sh0030', 'sh0040', 'sh0050'], )
filename src/core/controller/CinemaSelectorController.py
![Page 39: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/39.jpg)
The most clicked bu\ons (func'ons)?
http://commons.wikimedia.org/wiki/File:Panic_button.jpg
![Page 40: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/40.jpg)
http://couchdb.apache.org/
![Page 41: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/41.jpg)
The most clicked bu\ons (func'ons)?
![Page 42: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/42.jpg)
Pre-‐defined behavior analysis
l The crash rate of this app? l Who and how many people works in weekend? l The heartbeat of the produc*on team? l ….
![Page 43: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/43.jpg)
Behavior logging/mining in CouchDB
• 秒殺 • 易⽤用 • JSON loves Dict
Cons
• View by MapReduce • 第⼀一次產⽣生 View 超慢 • Disk monster • Javascript?!
Pros
![Page 44: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/44.jpg)
Structured? Database in anima'on!
http://www.archello.com/sites/default/files/imagecache/media_image/story/media/09-12-15_Close_Up_IMAGIC_WEAVE_(26)(1).jpg
![Page 45: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/45.jpg)
![Page 46: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/46.jpg)
![Page 47: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/47.jpg)
http://blog.prowork.me/post/41349307980/inserts-and-the-new-mongodb-php-driver-1-3
![Page 48: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/48.jpg)
http://www.guardian.co.uk/news/datablog/2013/apr/25/forget-big-data-small-data-revolution
We risk overlooking the much more important story here, the real revolution, which is the mass democratisation of the means of access, storage and processing of data. This story isn't about large organisations running parallel software on tens of thousand of servers, but about more people than ever being able to collaborate effectively around a distributed ecosystem of information, an ecosystem of small data.
![Page 49: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/49.jpg)
Asset management for crea've environment
• DB schema? • Query performance? • JIT dev/deploy?
http://www.flickr.com/photos/bluishorange/6327156918/
![Page 50: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/50.jpg)
Takeaway
• Version control for non-‐programmer is an un-‐explored area.
• Python dominates anima*on/VFX industry.
• Anyone can benefit from NoSQL and other cloud techniques.
http://pennywize.co/takeaway-rather-fakeaway/boxed-lunch-2/
![Page 51: Python + NoSQL in Animations](https://reader034.vdocuments.mx/reader034/viewer/2022052601/558e92341a28abce758b4647/html5/thumbnails/51.jpg)