(One of the summaries of a talk at the 2015 Djangocon EU conference).
(These talks only take 5 minutes, so I’m bound to miss things, especially names. If something needs correcting, just post a comment below or mail me at reinout@vanrees.org ).
This year django under the hood happens again. It’ll be bigger, so there’ll be more tickets so that it probably won’t sell out in about 4 minutes again.
http://www.djangounderthehood.com/
It is in november. 1.5 day of talks and a day of sprinting. Detailed talks, for instance about all the details of an http request or about django’s security measures or about files in django.
Djangocon Europe 2016 will be held in…. Europe!
We don’t know yet where it will be, though. They are still looking at the proposals.
If you’re not ready, but might want to do it in 2017: the plan is to let one or more people from 2017 help organize 2016 to help with knowledge transfer.
He works at http://lcogt.net/ and normally speaks to astronomers or school kids. They have a network of 12 robotic telescopes all over the world. They’re not evil like the British empire, so in their case “the sun never rises on one of their telescopes”.
They have 1000 active users of these telescopes. They use django to steer the whole process of requests for time on those telescopes. Top to bottom, most is python/django. The other way around it is the same way, all the images are also processed by python and shown with Django.
You could help them.
You could also use the telescopes: http://bit.do/lco-dj-signup
Django is an excellent framework in combination with django rest framework.
He also used django-angular to allow angular do remote method invocation on your django site.
http://django-angular.readthedocs.org/
https://github.com/appliedsec/djangular/
He also found it to be a very good way to learn angular.
API by example, an approach to testing across devices. They wanted to split up a monolithic site into a REST backend an an angularjs frontend.
For each part, they had a separate team. They wanted them to be able to work independently.
They invented ABE: api by example. A json description of how the API looks, including example requests and responses.
The ABE documents were in github. Changes had to be done through pull requests. Discussion also happened on the pull requests. So they had a versioned history of the API.
They build all sorts of tooling around it: https://github.com/apibyexample
This includes mock back-ends and tests for angular, for instance.
git-crypt is a way to encrypt data in github that has to remain secret.
Files are encrypted when you commit them. THey are decrypted when checked out. No server side changes.
It works with gpg keys. You define the files that have to be encrypted in a
.gitattributes
file.
They had a problem with a server, which died due to high memory usage. There were some issues in the code that loaded way too much data into memory.
Streaming data would be much nicer.
There’s StreamingHTTPResponse. But what they wanted to send over was a python dict, which always fully in-memory. They hacked something terrible together that looked like a dictionary to json, but in fact wasn’t.
They also did some modificatons to get a django template to support being streamed.
He used to use lots of matlab. Now he uses python and that completely changed the way they work. Especially numpy/scipy helped a lot. They now have a django website that helps do near-realtime landslide predictions.
It started as a side project and it is now used in Nepal’s post-disaster relief!
It was a collaboration between a geology professor and a computer science student.
He worked with a library called “behave” to map natural text into a python test method. Behaviour driven development.
http://pythonhosted.org/behave/
He started goat, an extension for behave that allows you to indicate the types of the parameters.
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):