My experience at DjangoCon Europe 2023 ended with this morning's sprints. 🇪🇺🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄

Thanks for the welcome to the group that organized the event. 🤗

See you next time and have a safe journey everyone. ✈️

#DjangoConEU #DjangoConEuroppe #DjangoCon

CC @djangoconeurope

I have published the slides of the talk I gave on Monday at DjangoCon Europe 2023 in Edinburgh 🦄🏴󠁧󠁢󠁳󠁣󠁴󠁿🇪🇺

On my site you will also find other information related to the talk 👇
https://www.paulox.net/2023/05/29/djangocon-europe-2023/

#DjangoConEU #DjangoConEuroppe #DjangoCon #Django

CC @djangoconeurope

Paolo Melchiorre - DjangoCon Europe 2023

DjangoCon Europe is an international conference for the community by the community about the Django web framework, held each year in Europe.

Paolo Melchiorre

Tom Dyson is presenting the talk "Use SQLite in production" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🇪🇺🇬🇧

#DjangoConEuroppe #DjangoCon #Django #WomenInTech #GenderBiases

CC @djangoconeurope @wagtail @tomdyson

https://pretalx.com/djangocon-europe-2023/talk/J98ZTN/

Use SQLite in production DjangoCon Europe 2023

SQLite is a popular option for the local development of Django applications. It's built-in to Python, and it's well supported by the Django. However, the standard advice, both from the official documentation and from the community in general, is that it's not the right tool for running your app in production. In this talk I'll argue that it's time to change this position. In many cases, SQLite is the fastest database option available to Django developers. It's always the cheapest and the most energy efficient. The traditional concerns about concurrent writes can be handled through new configuration options, and the limits on horizontal scalability can be addressed through innovative approaches developed and funded by companies like Fly.io and Cloudflare. I'll use real-world examples to compare SQLite's performance against the traditional database options for production. I'll also explore some of the exciting new developments in the SQLite ecosystem, particularly those which enable its use in machine learning in general, and LLMs (large language models) in particular.

Ester Beltrami is presenting the talk "Gender Bias in Tech: Examining Evolution & Persistence of Stereotypes" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🇪🇺🇮🇹

#DjangoConEuroppe #DjangoCon #Django #WomenInTech #GenderBiases

CC @djangoconeurope @pycon @strawberry @wagtail @ester

https://pretalx.com/djangocon-europe-2023/talk/EBHVBD/

Gender Bias in Tech: Examining Evolution & Persistence of Stereotypes DjangoCon Europe 2023

In the early days of computing, women were actually the **dominant** sex in programming. __Can you believe it??__ __How did we get from this to the stereotype of the nerdy programmer obsessed with programming?__ We will find out how this has changed and how gender bias has influenced the development of the tech industry as we know it today. I will also dig into the consequences of gender bias in the tech industry, including the negative impacts on innovation, profitability, and the overall well-being of the industry. The talk will conclude with practical steps and solutions that companies can take to create a more inclusive and diverse tech industry. The gender gap it's an important issue that affects all of us. By taking action to address these biases, we can create a better future for everyone in the industry. Slides available here: [https://ester.lol/breaking-the-stereotype](https://bit.ly/3okg8B8).

David Smith is presenting the talk "Good form: How Django’s form rendering improved during the 4.x series" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄🚀

#DjangoConEuroppe #DjangoCon #Django #Form #accessibility

CC @djangoconeurope @davidsmith

https://pretalx.com/djangocon-europe-2023/talk/MEYRMW/

Good form: How Django’s form rendering improved during the 4.x series DjangoCon Europe 2023

Historically Django has used concatenation of strings to render its forms with various as_* methods to render forms in different styles. While great to get a project up and running many folk will have used a third party library to help ease customisation of forms. During the 4.x series a number of changes have been made including a switch to use the template engine to render forms, the ways in which the template can be set has grown and a new default style will replace as_table from Django 5.0. We’ll cover: ⁃ What is a form, a field and a widget? What common attributes can I set to avoid logic in my template? ⁃ The switch to template based rendering, and that a template can now be used to render your form. We’ll work through a concrete example how this can be used simplify logic in your templates. ⁃ How the rendering of your form can be set on a per-project, per-form and per-instance basis. ⁃ Introduction of a new as_div template style, and why the other styles are no longer recommended. ⁃ Future ideas on how Django can ease form rendering further. ⁃ So with all this change, do I still need 3rd-party package such as crispy-forms? May your form be good!

Nicolas Noé is presenting the talk "Django for life (sciences)" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄🚀

#DjangoConEuroppe #DjangoCon #Django #Sciences

CC @djangoconeurope

https://pretalx.com/djangocon-europe-2023/talk/YN987S/

Django for life (sciences) DjangoCon Europe 2023

Biodiversity research has become increasingly data-intensive. I develop software tools in collaboration with researchers so they can better understand and protect our natural world, as well as explain it to the public. Some examples include [an alert system for invasive species](https://alert.riparias.be/), [a visualisation of bird migration picked up by weather radars](https://www.meteo.be/services/birdDetection/#/?lang=en), and [a catalogue of all butterflies in Belgium](https://projects.biodiversity.be/lepidoptera/). While their technical requirements might differ, the development of these tools share similarities: small technical teams (often a single developer), one-time funding, built in close collaboration with the users, and used for a surprisingly long time with little to no maintenance. I’ll show why Django and Python are remarkably well-suited for such projects, how you can make the best use of their features, and provide tips that can be applied to similar low-resource projects. I’ll conclude with some suggestions on how Django could be made even better for this purpose.

As he is on stage, I'll add it for him 💕

Paolo is presenting the talk "All about djangoproject.com" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄✨

#DjangoConEuroppe #DjangoCon #Django #Djangoproject #DSF

CC @djangoconeurope​ @paulox

https://pretalx.com/djangocon-europe-2023/talk/DUU97P/

All about djangoproject.com DjangoCon Europe 2023

The djangoproject.com website is the showcase of the Django project and developers and users have always looked for updates on the project, documentation and information from the Django Software Foundation. As with its source code, the Django project site is also the result of contributions from many people who voluntarily help to keep it updated and improve it. In this talk we will see all the latest updates, ongoing improvements and upcoming developments of the Django project site. Participants will be able to learn more about the Django project site, learn more about how it is maintained and above all understand how to help improve it.

Karen Jex is presenting the talk "Tuning PostgreSQL to work even better" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄🚀

#DjangoConEuroppe #DjangoCon #Django #Postgres #PostgreSQL

CC @djangoconeurope

https://pretalx.com/djangocon-europe-2023/talk/BT7XGG/

Tuning PostgreSQL to work even better DjangoCon Europe 2023

PostgreSQL is a popular database for Django applications. One of the things developers like about PostgreSQL is that it "just works". This is great news; it lets you focus on what you do best - developing applications. On the other hand, the default PostgreSQL parameter values might not be right for your production database. Fortunately, you don't need to learn about all 365 PostgreSQL parameters to get the most out of your database. A working knowledge of just a handful of parameters could make a big difference. We'll take a look at the most important PostgreSQL parameters, and give some rules of thumb for tuning them according to your use-case. You will come away knowing what these parameters do, why they're important, and how to set them so your PostgreSQL database performs at its best. And then you can leave PostgreSQL to "just work", and you can focus all your efforts on developing your application.

Carlton Gibson is presenting the talk "Yak-shaving to Where the Puck is Going to Be" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄🚀

#DjangoConEuroppe #DjangoCon #Django #LocalityBehaviour #Neapolitan #ClassBasedView

CC @djangoconeurope @carlton

https://pretalx.com/djangocon-europe-2023/talk/P9M8BL/

Yak-shaving to Where the Puck is Going to Be. DjangoCon Europe 2023

I'm meant to be building my web app. Aren't we all! But there are a couple creases that just **have** to be flattened out first… A familiar story, but the one I've been living since stepping down as Fellow. I want to share that with you, and how I think it points to the future of Django. The first is class-based views… - what is there to say? It’s something of a standing joke that you need a whole extra documentation site (ccbv.co.uk) in order to understand them. But a class is first-and-foremost a namespace — and ”namespaces are one honking great idea” remember — so, how on earth did we get to this point? Well in answer to that I'll show you Neapolitan, my new take on quick CRUD views for Django. I've got a model. It shouldn't take all day to get it on the page. ("A blog in how long?", you say.) And then we're all using HTMX or similar right? Server side rendering is back. Templates are back. I want to show you my take on lightweight **template fragments** that let you re-use sections of templates without having to pull them out into full includes. This something that the DTL doesn't yet provide. Whether these are the final versions or not, they point to the way I see going forward. These are exciting times for Django. Let's have it. 🚀

Tim Bell is presenting the talk "Do the holes in Swiss cheese leak abstractions?" at the DjangoCon Europe 2023 in Edinburgh 🏴󠁧󠁢󠁳󠁣󠁴󠁿🦄🚀

#DjangoConEuroppe #DjangoCon #Django #abstractions

CC @djangoconeurope @timb07

https://pretalx.com/djangocon-europe-2023/talk/9K73YH/

Do the holes in Swiss cheese leak abstractions? DjangoCon Europe 2023

## Introduction Django developers like their websites to stay up. But despite our best efforts, outages do sometimes happen. In this talk I'll look at an actual production outage, and identify the separate elements that contributed to the outage. I'll find the faulty assumptions — leaky abstractions — behind those elements. Then I'll look at what we did about our leaky abstractions. ## Abstractions Abstraction is one of the most powerful concepts in computing. We use layers of abstractions to limit the amount of detail we need to consider at once. Django uses abstractions everywhere: the ORM, the request/response cycle, and so on. But abstractions are inevitably leaky: they conceal details that actually turn out to be relevant. And that can lead to outages. ## Outages and the Swiss cheese model The Swiss cheese model of accident causation tells us that accidents (or outages) are rarely caused by single failures: it takes sequences of events to cause to accidents. Furthermore, if any one of those events had not happened, the accident wouldn't have resulted. In modern computing systems, critical events leading to outages are usually at the software level, rather than involving physical hardware. Good development practices help to prevent risky code from getting to production. But relying on leaky abstractions in how we think about systems may lead to trouble. ## An outage case study I'll describe an actual outage that occurred, and identify which contributing issues could be attributed to leaky abstractions. As we explore those abstractions, we'll dive deeply (but briefly) into: * Django database routing, * locking and transactions in PostgreSQL, * TCP networking, and * process termination. ## Filling in the holes in the Swiss cheese I'll look at how we prevented the outage occurring again by addressing the contributing issues. The first step was to acknowledge the leakiness of an abstraction. Then we made changes to prevent anyone else from falling victim to the leaky abstraction. ## What you should take away from this talk What leaky abstractions might affect your code? Thinking about leaky abstractions may help prevent outages, so let's do it!