{"guid":"a0168486-07a8-53a0-b327-70d937df9794","title":"Slow Food Digests Better - or how to maintain a 8.5 year old Python project without getting lost","subtitle":null,"slug":"hd-23-slow-food-digests-better-or-how-to-maintain-a-8-5-year-old-python-project-without-getting-lost","link":"https://c3voc.de","description":"AMO - https://addons.mozilla.org/ was originally written as a PHP web application, ported to Python / Django 1.1 in 2010, more or less maintained over time and only recently got much more traction because of Firefox Quantum and Mozilla's move to WebExtensions.\n\nThe talk will show our approach to maintaining very old code, handling refactoring, adding new features as well as feature/code removal while slowly upgrading our way to a Python 3 and Django 2.0 ecosystem and why we chose that approach over a rewrite.","original_language":"eng","persons":["Christopher Grebs"],"tags":["djangocon2018","23"],"view_count":88,"promoted":false,"date":"2018-05-24T00:00:00.000+02:00","release_date":"2018-05-24T02:00:00.000+02:00","updated_at":"2025-02-27T01:00:02.871+01:00","length":1823,"duration":1823,"thumb_url":"https://static.media.ccc.de/media/conferences/djangocon2018/23-hd.jpg","poster_url":"https://static.media.ccc.de/media/conferences/djangocon2018/23-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/djangocon2018/a0168486-07a8-53a0-b327-70d937df9794-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/djangocon2018/a0168486-07a8-53a0-b327-70d937df9794-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/hd-23-slow-food-digests-better-or-how-to-maintain-a-8-5-year-old-python-project-without-getting-lost","url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_title":"DjangoCon Europe 2018","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018","related":[{"event_id":5270,"event_guid":"5ae52c55-6447-45f8-9d13-36d15303fffe","weight":4},{"event_id":5437,"event_guid":"272a6c50-7083-5987-bc28-c0c6cbfc2d8f","weight":4},{"event_id":5439,"event_guid":"9f66f449-ac25-59d7-b6c8-84c4d50b51d0","weight":5},{"event_id":5454,"event_guid":"f1743f41-f61b-562d-bf09-8197713f62df","weight":1},{"event_id":5455,"event_guid":"c25d9b08-a843-56e9-9846-a905a4269d82","weight":7},{"event_id":5459,"event_guid":"3523f8de-05b5-5e01-9d59-d8ca55eb4988","weight":4},{"event_id":5460,"event_guid":"b100c61e-48ed-5b1c-a9b5-c0bf56a39a2f","weight":3},{"event_id":5462,"event_guid":"136fe55e-bef6-50f7-99b9-6b465ce649a6","weight":4},{"event_id":5463,"event_guid":"16129578-76f6-5464-a54a-9f43b1a55488","weight":4},{"event_id":5465,"event_guid":"67424b6c-7035-5ea8-82ad-75ebc257e061","weight":5},{"event_id":5466,"event_guid":"52179f9c-aa68-534d-9004-b4237c85761a","weight":4},{"event_id":5471,"event_guid":"1bb2c793-0c0a-51da-94d6-82ae8d11d0d9","weight":6},{"event_id":5473,"event_guid":"7b23facb-2220-517b-b467-855b10983849","weight":6},{"event_id":5474,"event_guid":"178e37b7-7508-50e9-b603-ce864723e0db","weight":6}],"recordings":[{"size":151,"length":1823,"mime_type":"video/mp4","language":"eng","filename":"djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-05-24T19:06:41.528+02:00","recording_url":"https://cdn.media.ccc.de/events/djangocon2018/h264-hd/djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_hd.mp4","url":"https://api.media.ccc.de/public/recordings/25610","event_url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018"},{"size":54,"length":1823,"mime_type":"video/mp4","language":"eng","filename":"djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-05-24T19:12:05.942+02:00","recording_url":"https://cdn.media.ccc.de/events/djangocon2018/h264-sd/djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_sd.mp4","url":"https://api.media.ccc.de/public/recordings/25615","event_url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018"},{"size":16,"length":1816,"mime_type":"audio/opus","language":"eng","filename":"djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-05-24T19:12:37.359+02:00","recording_url":"https://cdn.media.ccc.de/events/djangocon2018/opus/djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_opus.opus","url":"https://api.media.ccc.de/public/recordings/25616","event_url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018"},{"size":27,"length":1816,"mime_type":"audio/mpeg","language":"eng","filename":"djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-05-24T19:13:35.706+02:00","recording_url":"https://cdn.media.ccc.de/events/djangocon2018/mp3/djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/25617","event_url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018"},{"size":74,"length":1823,"mime_type":"video/webm","language":"eng","filename":"djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-05-24T21:15:08.797+02:00","recording_url":"https://cdn.media.ccc.de/events/djangocon2018/webm-sd/djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/25620","event_url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018"},{"size":189,"length":1823,"mime_type":"video/webm","language":"eng","filename":"djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-05-24T21:15:42.256+02:00","recording_url":"https://cdn.media.ccc.de/events/djangocon2018/webm-hd/djangocon2018-23-eng-Slow_Food_Digests_Better_-_or_how_to_maintain_a_85_year_old_Python_project_without_getting_lost_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/25621","event_url":"https://api.media.ccc.de/public/events/a0168486-07a8-53a0-b327-70d937df9794","conference_url":"https://api.media.ccc.de/public/conferences/djangocon2018"}]}