About questions and answers
As the work on the next distrochooser generation continues, I start to realize that the skeleton of the service will be soon reach the state 'finished'.
All core features required for the launch are now implemented and the feature freeze will start. The focus will be at this point mostly on bugfixes and improvements of the matrix.
Latest changelog
Several issues where fixed in the last days.
- Mobile scaling issue #85
- Bad calculation performance #84
- Thumbsdown in result does not count correct #64
- Fixed a issue where a long referrer caused a HTTP 500 (thanks to the default max_length=200 of Django's URLField 🙄)
- Fixed an issue that caused new database migrations at every manage.py makemigration call even when nothing was changed
- Added Pinterest and Reddit share buttons to the result
Additions
- 👩💻 New mappings where added for Qubes OS
- 🦯 Added an answer to require accessibility feataures (e. g. ADRIANE on Knoppix).
- 🔨 Added some negative mappings for some distros to exclude them from recommendations
Lessions learned
Issue #84 was present for a long time, even before I opened the issue. The key point was that the MySQL-container was terribly slow, compared to a local SQLite.
Don't dig out your pitchforks: Yes, I know that SQLite and MySQL can't be compared directly as they utilize completely different approaches and requirements.
I know that this issue is mostly caused by the nested loops which still need refactoring. But in my despair I decided to try out other database engines. As my requirement is still that the engine must be able to run in a Docker environment I decided to give the PostgreSQL container a try. The out-of-the-box performance is shocking, the calculation increased it's speed by 200 %. 🥳
The calculation will still need refactoring, but the new database engine helps that the user does not face painfully slow loading times. And this is currently my main goal.
Rosetta Stone
I'm very grateful for any contribution to the project. Currently, I'm still searching for translators to match the previous version language pool. For this, a chinese and a french translation are still missing. If you want to provide a translation, you can find informations here. Thanks!
Feedback Feedback Feedback. Did I mentioned Feedback?
I plan to utilize machine learning at some point for the decision process. For this process, it is mission critical that the decision process knows what is a "good" and a "bad" suggestion.
For this purpose, every distribution can be marked with a 🤍 (or a broken 🤍). Please use this feature, it is very important for me to advance further with the project. Thank you!🙂
Jon Tyson