This is a bunch of notes I've scribbled while attending the conference.
I've then spent a bit of time to reorganize them according to a simple classification:
* hope authors don't take it too personally
Day 1 h11.15am
Skoobe is Spotify for books and uses Tornado in production
Use "yield from" in python 3.3 to create callbacks and use them in async Web server
result = yield from my_slowfunc()
Day 2 h5.45pm
Starts quoting euler and 7 the bridges of Koenigsberg
complexity of ER querying for "friends of friends" at depth m is O(m log n) while on graph db it’s O(m)
Neo4j provides ACID REST interface and declarative language called Cypher
"reduce" is provided as a cypher function so it can e.g. evaluate shortest path between nodes
recommendation system in 3 lines: nodes: [users, films, directors]. arcs: "ratings". add node "genre" and arc "belonging" for finer classification. RUN: query all films seen by connected users that have similar ratings.
Day 3 h11.45am
The Italian Mars society, quite cool and unassuming
models and simulation of a colonization infrastructure on Mars using threadmill and oculus rift, including labs, rovers and hangouts through webcam across modules
Everything released open source: erasproject.org
Day 1 h10am
googler (bad start with an italian only talk), kind of old school dev
mentions Gilliam, framework for micro rest services (maybe useful for responsive.TV)
pulls out some x86 asm and cryptic python, kind of cool, he's way better prepared than he looks
Day 1 h5pm
Edgesense is a social network analysis tool
shows degree of connectivity and network analysis, in/out degrees and in-betweenness (super interesting for krawkon)
uses d3.js to display some graph, sigma.js to display big network topologies
supports GEXF (Graph Exchange XML Format), a language for describing complex networks
Day 1 h6pm
chit chat about how to become a valuable data scientist
"data product": bring math models to real world
yhatHQ: interesting to provide a predictive model (or any other statistical / machine learning algorithm) as a service
basically you do the maths, then export the numbers of the predictive model through their api
Day 2 h12.15pm
install unattended-upgrades and enable them!
try Click a Python package for creating command line interfaces in a composable way, developed by same Armin Ronacher (Flask)
On docker running unattended-upgrades is not an option, we need to rely on upstream linked images that provide upgrades and restart the container when ready to deploy
Day 2 h3pm
very high level overview of docker features
ops management: try saltsack and ansible
docker py gives hints to programatically manage docker, live demo
interacts with containers using std in/err/out streams to read/write commands and infos
they actually don’t use it in production, but ok for dev for the time being
Day 3 h10am
videogame development IS rocket science, john carmack
favs unity 5, based on mono. works at AIV
alternatives: cryengine (c++, lua), unreal engine (c++, boo, js-like)
open source: blender game engine (c++, py), panda3d (c++, py), ogre, cocos2d
maya, blender, makehuman are all python scriptable
py libs available: pygame, pyglet, panda3d, blender but unity/udk are light years ahead
everyone complains of GIL! but multithread is progressively disappearing in gaming
Day 1 h12
trying quite hard to evangelize about how 2to3 can be easily done and the new code will be 10x faster using matrix multiplication (but without showing any benchmark) and extensive use of generators
Day 2 h11.15am
quite interestingly, his company is behind taiga.io project management suite
straight to the point, differences between static and dynamic typing
gradual typing approach is to add annotations so that a piece of sw can be partially type checked
follows a (painful) list of features from the py3 “typing” library
Day 2 h3.45pm
nosestest is easier because each and every function is a test and don’t need to write oop
Day 2 h5.15pm
some useful links to create api docs: raml, apiblueprint, swagger
you've reached the end, you deserve a little reward(*)
(*) Roberto Rosario was also at #pycon6 but I couldn't manage to see his talk, he maintains a super useful list of Django apps that is worth checking.
The global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once