Keynote: Designed for education: a Python solution
by Carrie Anne Philbin
Excellent keynote on using Python in education. Many interesting insights into what's being done well, what needs improving and how to contribute.
Slow Down, Compose Yourself - How Composition Can Help You Write Modular, Testable Code
by Amber "Hawkie" Brown
- Modularity and testability traits are desirable.
- Tests are the only way ti ensure your code works
- When designing a system, plan for these traits
- Fake components can be used to return hard to replicate conditions ie: a database returning "no more space"
- Ensure you have correctness at every level.
- Suggests using practices from better (functional programming) languages like Haskell with Python.
Tales from Managing an Open Source Python Game
by Josh Bartlett
- Trosnoth is a 2D side scrolling game.
- Team strategy game
- Involve people at every step of the process.
- Have a core group of interested people and allow them to contribute and become involved to increase commitment.
- Build community.
- Get people excited
- Be prepared to be wrong.
- Encourage people to be involved.
- Start with "good enough".
- Re-writing everything blocked contributions for the period of the re-write.
- Look for ideas anywhere.
- Mistakes are a valuable learning opportunity.
- Your people and your community are what makes the project work.
Ansible, Simplicity, and the Zen of Python
by Todd Owen (http://2015.pycon-au.org/schedule/30057/view_talk?day=saturday)
- Ansible is a push model of configuration management and automation.
- Pull model of Chef and Puppet is unnecessarily complex.
- Ansible's simplicity is a great asset
- Graceful and clear playbooks.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Ansible modules are organised without hierarchy.
- Ansible only uses name spaces for roles.
- Explicit is better than implicit. Implicit can become invisible to users.
- Ansible id very consistent.
- Simple by design.
- Easy to learn.
Docker + Python
by Tim Butler
- Prefers to think of containers as application containers.
- Docker is an abstraction layer focussed on the application it delivers.
- Easy, repeatable deployments.
- Not a fad, introduced 15 years again.
- Google launch over 2 billion containers per week.
- Docker is fast, lightweight, isolated and easy.
- Rapidly changing and improving.
- Quickly changing best practices.
- Containers are immutable.
- No mature multi-host deployment.
- Security issues addressed via stopping containers and starting a patched one (milliseconds)
- Simple and clear subcommands.
- Docker compose for orchestration.
- Docker machine creates to the Docker host for you.
- Volume plugin
- New networking system so it actually works at scale.
Testing ain't hard, even for SysAdmins
by Geoff Crompton
- Salt stack provides:
- configuration management
- loosely coupled infrastructure coordination.
- remote execution
- unittest 101
- create a test directory
- write a test
- gave an example of a "hello world" of tests.
- uses unittest.main.
- Nose extends unittest to better facilitate multiple unit tests.
- Mock allows the replacement of modules for testing.
- Keep tests small.
Python on the move: The state of mobile Python
by Russell Keith-Magee
- Claims Python on mobile is very viable.
- Most of the failing bugs are not services you want on mobile anyway.
- libffi problems needs to be resolved.
- Compiler issues not quite resolved.
- libffi problems needs to be resolved.
- What not Jython? Does not compile on Android. Nor will many of it's dependencies.
- Jython is probably not the right solution anyway.
- Thinks you may be able to compile Python directly to Java...uses Byterun as an example.
- Kivy works now and worth using.
- His project Toga is coming along nicely.
- Admits he may be on a fools errand but thinks this is achievable.
Journey to becoming a Developer: an Administrators story
by Victor Palma
- The sysadmin mindset of get things fixed as fast as possible needs to be shed.
- Take the time to step back and consider problems.
- Keep things simple, explicit and consistent.
- Do comments in reStructured Text.
- Unless you're testing, you're not really coding.
- Don't be afraid to experiment.
- Find something you are passionate about and manipulate that data.
Guarding the gate with Zuul
by Joshua Hesketh
- Gerrit does code review.
- Zuul tests things right before they merge and will only merge them if they pass.
- Only Zuul can commit to master.
- Zuul uses gearman to manage Jenkins jobs.
- Uses NNFI - nearest non-failing item
- Use jenkins-gearman instead of jenkins-gerrit to reproduce the work flow.