DjangoCon Europe 2015: Day 1

I’m lucky enough to be attending DjangoCon Europe this week.  See the schedule of talks for a teaser.  Talks are all being videoed and transcribed and will be shared online soon.

My thoughts and fairly rough notes to self can be found below:

Baptiste Mispelon: Baptiste’s adventures in Djangoland

This speacker was very encouraging of welcoming new members to the community

Look up PyCON INC?? Pixy dust workshops? Must have misheard this but there is another group akin to django girls

Hanna Kollo: Avoiding monoliths

Uses some Erlang – load sensitive

Dealing with fluid requirements

Over engineering upfront to be very modular can lead to issues with referencing other apps

Instead incrementally creating new apps from the initial app.

Grow in a tree like structure, app at a time.

Aim – when you add new feature only need to touch one app

They use a services layer – found idea on stackoverflow article – look up seemed to work for them.

Sounds like their project could be on the scale of BOS codebase.

She thinks services and unit tests first, end user HTML later.

Q: A repo per app

A: Same repo for all the apps

Abdulrahman Alotaibi: Injecting Django into the work environment

Snakes and rubies convinced him to go down the Django vs Ruby path.

Use of clis

See slide that covers principals he brought into place in his team.

Cardiff University Wellbeing service

Daniele puts out a call to assist with sprint to develop something for the Cardiff Wellbeing centre. They are volunteering and offering free 25 minute counselling sessions slots to attendees.

Ola Sitarska: Pushing the pony’s boundaries

Lots of experience creating Django admin interfaces.  Jokes about leaving PHP behind.

Discusses how the admin site is wired together

Useful overrides for admin site:

  • site_title
  • index_title
  • site_header
  • save_as (save as new)
  • show_full_count – may wish to disable in certain circumstances

Ola’s favs:

  • actions_on_top boolean
  • actions_on_bottom

Don’t use list_editable as not currently multi user safe way of editing your database.

ChangeList – if overriding here, maybe you are in too deep

Tips & tricks:

Advanced permissions

method overrides used to achieve permissions for DjangoGirls websites

  • get_queryset
  • get_form
  • get_readonly_fields

Customising changelist

Additional annotations for attributes/properties that appear on changelist.

  • attribute. is_boolean
  • attribute.allow_tags
  • custom actions
  • django admin autocomplete – look up
  • Look up: rowid fields

She wants to see updates to django admin area

Supporting django-flat-theme – updated CSS mainly

Ola wishes admin components were more reusable

Dafydd Evans: CAMEL, the Cardiff Maths e-learning project

Lecturer

Font has held Mathematics back from exploding on the web.

Can we do something with Latex and eLearning

Will unicode come and save us in the end ;)

MathJax is a revolution.  Javascript, accessible browser rendering of Mathematical symbols

https://github.com/mathjax/

http://docs.mathjax.org/en/latest/glossary.html#term-mathml

Describes a very interesting start of a Maths VLE.

MathML – not human readable

#django live

Django core committers fielded IRC style questions from the audience

Lucie Daeye: Reaching out – Django in the social sciences

Spoke about the importance of bringing humanities students along with digital/programming movement.

Made an interesting point about the lack of non mathematical examples when demonstrating coding constructs.  e.g frequent citations of coding the Fibonacci sequence.

Mentioned a good resource aimed at non programmers, Hello web app.

Yann Malet: Salt for Django developers

Introduced Salt terminology and showed some basic Salt commands.

Presentation tip: Use Ctrl + L to move cursor to be shown at the top of the terminal window

Salt allows you to add breakpoints

salt-cloud – provision AWS etc

mines are data stores

He co-wrote the book High Performance Django

There is talk of hpd-states

Mathieu Agopian: Switching from nose to py.test at Mozilla

Tips:

a much better write up

pytest-cache --lf run the last test that failed

You can decorate with parameters to re-run the test with different variables

When even Google cannot help you.  Mishearing jungle parler will not help you search for the django parler internationalisation egg ;)  Context helped me decode viable to mean variable a lot sooner ;)

why use py.test?

  • More pythonic – eg use clean asserts
  • well supported
  • Claims current tests are compatible – diff counts beg to differ
  • Look up autouse – node related egg for fixtures
  • Better output

Look out for slide notes – he was very keen on py.test and was using it at Mozilla.

Look into the cricket test tool

Erik Romijn: A sincere tale of Django, developers and security

Walked through an example of a PHP script that he found online that had huge security issues.

He developed an online tool to check security configuration of a django site

All related to prefixed SECURITY_ settings.

Recommends book: Bulletproof SSL and TLS

Remember to test for unexpected cases.  e.g not just test for logged in user, test when not logged in too.

Check out requires.io – tracks the releases of your dependencies

@erikpub

Maik Hoepfel: On privilege and moral duty

An almost poetic call to embrace life and do more with our ability to change many lives.

Self-Contained Deployment (Rach Belaid)

Notes taken during a presentation given by Rach Belaid at PyConUK

1620 on Friday

Look up immutable server concept

Docker for devs and administration

Packer https://www.packer.io/

Vagrant docker

Ansible http://www.ansible.com/

He shows various ways to deploy the docker app

Supervisord used in docker to run many processes

Baby steps approach to moving to docker. Normally one container per process
Isolation / sandbox

Docker

James

Google input

Even finance companies are considering it

Only a young project

What

Packaging
1 app = 1 container

What’s the diff

Uses less space,  only store what is necessary

Start instantaneously

Use cases :
Development
Test prod architecture
Can combine with Jenkins CI CD

Can use base images
And then keep the docker configuration file clean

Is command line tool,  but can use other tools to make simpler

Fig is a helpful tool for creating an infrastructure

Possible mention to http://deis.io/overview/ and Heroku

Almost no down time,  if upgrading a component

Look at mounting volumes for running local dev code

Can use another app to orchestrate the dockers apps