(One of my summaries of a talk at the 2018 European djangocon.)
The stenographers are the ones that provide LIVE speech to text subtitles for the talks. Wow.
They use “shorthand machines” for steno. It is like a piano where you press multiple keys to form words. On wednesday the speakers talked 46000 words…
How fast do people talk? Anything between 180 and 250, though 300 also occurs. The handiest are speakers that speak in a regular tempo. And not too fast.
They ask presenters for notes and texts beforehand. That helps the software pick the right words.
Say you have a codebase that has tests that take a long time. You’ve just
changed a few files and don’t want to run the full test before the commit. You
git status and figure out the files to test.
But you can do it automatically with pytest-picked.
It is a small plugin, but she wants to improve it with better guessing and also with support for testing what changed on a branch.
A talk about building actual treehouses!
One of the craziest is “Horace’s cathedral”, a huge one that was closed by the fire brigade for fire risks…
If you’re going to do it, be nice to your tree. Look at “garnier bolt” for securing your tree house.
Give the tree room to grow.
Recommended book: “the man who climbs trees”.
They started with just plain django. Then they added DRF (django rest framework). Plus react.
Then it became a single page app with django, drf, react, redux, sagas, routers, etc. (Well, there not quite there yet).
camelCase. What comes out of django rest framework also often is
They tried to fix it.
JS utils. On-the-fly translation. Hard when debugging.
Then he used a custom CamelCase renderer in django rest framework :-)
A bit of Jewish tradition: a menorah is a 7-armed candle holder (a temple menorah) or 9 armed (hanukkah menorah).
What do we use version control for?
To coordinate collaborative work.
To keep a record of history.
But why do we need the history? To fix mistakes. Figure out when something was broken. Reconsider decisions. Sometimes you need to revert changes.
What do we NOT need in the history? The actual work process. Commits for typo fixes, for instance.
A git menorah is a git repo with many branches and changes. Bad. Use git rebase to reshape the history of your work before pushing. Follow the example of the django git repository.
What is really important for your mental health?
As weird as it sounds, you can ‘feel’ in your body how you’re feeling. There are some exercises you can do. Close your eyes, put your mind in your fingertips. Slowly move inside your body. Etc. “Body scan”.
MPS is a system for creating new custom languages. It has a “projectional editor”.
A normal editor shows the code, which is converted to an AST (abstract syntax tree) and it gets byte-compiled.
A projectional editor has the AST as the basis and “projects” it as .py/java/whatever files purely as output. The advantage is that renaming stuff is easier.
He works on a big django project. 300 models. Startup time is 12 seconds… Memory consumption 900MB. The first query afterwards after 4 seconds.
How dows it work? They use uwsgi. There is a simple optimization. By default,
lazy = true. This loads apps in workers instead of in the
master. He disabled it. It started up much slower, but the first query could
then be handled much quicker.
Another improvement. They generate a fake (test) request and fire it at the server upon startup. So before the workers are started, everything is already primed and active. This helps a lot.
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
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):